Revision: 201007
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Mar 2010 09:27:44 +0200
changeset 35 f9ce957a272c
parent 5 c743ef5928ba
child 36 cdae8c6c3876
Revision: 201007 Kit: 201011
group/bld.inf
homescreen.pro
homescreen_plat/group/bld.inf
homescreen_plat/hs_content_control_ui/group/bld.inf
homescreen_plat/hs_content_control_ui/inc/hscontentcontrolui.h
homescreen_plat/hs_renderingplugin_api/group/bld.inf
homescreen_plat/hs_renderingplugin_api/inc/xnextrenderingpluginadapter.h
homescreen_plat/menu_settings_api/group/bld.inf
homescreen_plat/menu_settings_api/inc/mmenuinternalPSkeys.h
homescreen_plat/menu_settings_api/menu_settings_api.metaxml
homescreenapp/common.pri
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin.pro
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/helloworldwidgetplugin.pro
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/inc/helloworldwidget.h
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/inc/helloworldwidgetplugin.h
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/resource/helloworldwidgetplugin.manifest
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/resource/helloworldwidgetplugin.png
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/resource/helloworldwidgetplugin.s60xml
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/resource/helloworldwidgetplugin.xml
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/src/helloworldwidget.cpp
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/src/helloworldwidgetplugin.cpp
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugininstaller/helloworldwidgetplugininstaller.cpp
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugininstaller/helloworldwidgetplugininstaller.pro
homescreenapp/examples/helloworldwidgetplugin/sis/helloworldwidgetplugin.pkg
homescreenapp/homescreenapp.pro
homescreenapp/homescreenapp_exports_to_rom.pri
homescreenapp/hsapplication/homescreen.qm
homescreenapp/hsapplication/homescreen.ts
homescreenapp/hsapplication/hsapplication.pri
homescreenapp/hsapplication/hsapplication.pro
homescreenapp/hsapplication/hsapplication_fallbacktheme.qrc
homescreenapp/hsapplication/inc/hshomescreen.h
homescreenapp/hsapplication/installs_symbian.pri
homescreenapp/hsapplication/installs_win.pri
homescreenapp/hsapplication/loc/Homescreen_v0 5.xls
homescreenapp/hsapplication/loc/homescreen.xls
homescreenapp/hsapplication/resource_s60/bg_1.png
homescreenapp/hsapplication/resource_s60/bg_2.png
homescreenapp/hsapplication/resource_s60/bg_3.png
homescreenapp/hsapplication/resource_s60/d_landscape.png
homescreenapp/hsapplication/resource_s60/d_portrait.png
homescreenapp/hsapplication/resource_s60/homescreendb
homescreenapp/hsapplication/resource_s60/qgn_menu_appsgrid.svg
homescreenapp/hsapplication/resource_win/bg_1.png
homescreenapp/hsapplication/resource_win/bg_2.png
homescreenapp/hsapplication/resource_win/bg_3.png
homescreenapp/hsapplication/resource_win/d_landscape.png
homescreenapp/hsapplication/resource_win/d_portrait.png
homescreenapp/hsapplication/resource_win/homescreendb
homescreenapp/hsapplication/src/hshomescreen.cpp
homescreenapp/hsapplication/src/main.cpp
homescreenapp/hsapplication/themes/icons/hbdefault/pixmap/hs_applib_button.png
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/hs_shortcut_bg.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_bg.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_hour.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_min.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hs_delete_highlight.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hs_delete_normal.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hs_dialer.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hspage_highlight.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hspage_normal.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_large_applications_download.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_large_applications_user.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_large_super_new.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_mono_applications_all.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_mono_applications_collections.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_mono_ovistore.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_mono_search.svg
homescreenapp/hscontentpublishplugin/hscontentpublishplugin.pri
homescreenapp/hscontentpublishplugin/hscontentpublishplugin.pro
homescreenapp/hscontentpublishplugin/inc/hscontentpublishplugin.h
homescreenapp/hscontentpublishplugin/inc_symbian/hshomescreenclient.h
homescreenapp/hscontentpublishplugin/inc_win/hshomescreenclient.h
homescreenapp/hscontentpublishplugin/resource/hscontentpublishplugin.s60xml
homescreenapp/hscontentpublishplugin/resource/hscontentpublishplugin.xml
homescreenapp/hscontentpublishplugin/src/hscontentpublishplugin.cpp
homescreenapp/hscontentpublishplugin/src/hshomescreenclient_symbian.cpp
homescreenapp/hscontentpublishplugin/src/hshomescreenclient_win.cpp
homescreenapp/hsdomainmodel/hsdomainmodel.pri
homescreenapp/hsdomainmodel/hsdomainmodel.pro
homescreenapp/hsdomainmodel/inc/hscontentpublishhandler.h
homescreenapp/hsdomainmodel/inc/hscontentservice.h
homescreenapp/hsdomainmodel/inc/hsdatabase.h
homescreenapp/hsdomainmodel/inc/hsdomainmodel_global.h
homescreenapp/hsdomainmodel/inc/hsipcchannel.h
homescreenapp/hsdomainmodel/inc/hsipcchannelclient.h
homescreenapp/hsdomainmodel/inc/hsipcchannelhost.h
homescreenapp/hsdomainmodel/inc/hsipcconnectiondispatcher.h
homescreenapp/hsdomainmodel/inc/hsipcserver.h
homescreenapp/hsdomainmodel/inc/hspage.h
homescreenapp/hsdomainmodel/inc/hspagedata.h
homescreenapp/hsdomainmodel/inc/hsscene.h
homescreenapp/hsdomainmodel/inc/hsscene_p.h
homescreenapp/hsdomainmodel/inc/hsscenedata.h
homescreenapp/hsdomainmodel/inc/hsshortcutservice.h
homescreenapp/hsdomainmodel/inc/hsshortcutservice_p.h
homescreenapp/hsdomainmodel/inc/hswallpaper.h
homescreenapp/hsdomainmodel/inc/hswallpaper_p.h
homescreenapp/hsdomainmodel/inc/hswidgetdata.h
homescreenapp/hsdomainmodel/inc/hswidgethost.h
homescreenapp/hsdomainmodel/inc/hswidgetpresentationdata.h
homescreenapp/hsdomainmodel/src/hscontentpublishhandler.cpp
homescreenapp/hsdomainmodel/src/hscontentservice.cpp
homescreenapp/hsdomainmodel/src/hsdatabase.cpp
homescreenapp/hsdomainmodel/src/hsipcchannel.cpp
homescreenapp/hsdomainmodel/src/hsipcchannelclient.cpp
homescreenapp/hsdomainmodel/src/hsipcchannelhost.cpp
homescreenapp/hsdomainmodel/src/hsipcconnectiondispatcher.cpp
homescreenapp/hsdomainmodel/src/hsipcserver.cpp
homescreenapp/hsdomainmodel/src/hspage.cpp
homescreenapp/hsdomainmodel/src/hspagedata.cpp
homescreenapp/hsdomainmodel/src/hsscene.cpp
homescreenapp/hsdomainmodel/src/hsscenedata.cpp
homescreenapp/hsdomainmodel/src/hsshortcutservice.cpp
homescreenapp/hsdomainmodel/src/hswallpaper.cpp
homescreenapp/hsdomainmodel/src/hswidgetdata.cpp
homescreenapp/hsdomainmodel/src/hswidgethost.cpp
homescreenapp/hsdomainmodel/src/hswidgetpresentationdata.cpp
homescreenapp/hsutils/hsutils.pri
homescreenapp/hsutils/hsutils.pro
homescreenapp/hsutils/inc/hsapptranslator.h
homescreenapp/hsutils/inc/hsimagegridwidget.h
homescreenapp/hsutils/inc/hsmenuevent.h
homescreenapp/hsutils/inc/hsmenueventfactory.h
homescreenapp/hsutils/inc/hsmenueventtransition.h
homescreenapp/hsutils/inc/hspageindicator.h
homescreenapp/hsutils/inc/hstrashbinwidget.h
homescreenapp/hsutils/inc/hsutils_global.h
homescreenapp/hsutils/inc/hswidgetpositioningonorientationchange.h
homescreenapp/hsutils/inc/hswidgetpositioningonwidgetadd.h
homescreenapp/hsutils/inc/xqaiwcommon.h
homescreenapp/hsutils/inc/xqaiwgetimageclient.h
homescreenapp/hsutils/src/hsapptranslator.cpp
homescreenapp/hsutils/src/hsimagegridwidget.cpp
homescreenapp/hsutils/src/hsmenuevent.cpp
homescreenapp/hsutils/src/hsmenueventfactory.cpp
homescreenapp/hsutils/src/hsmenueventtransition.cpp
homescreenapp/hsutils/src/hspageindicator.cpp
homescreenapp/hsutils/src/hstrashbinwidget.cpp
homescreenapp/hsutils/src/hswidgetpositioningonorientationchange.cpp
homescreenapp/hsutils/src/hswidgetpositioningonwidgetadd.cpp
homescreenapp/hsutils/src/xqaiwgetimageclient.cpp
homescreenapp/inc/hsapp_defs.h
homescreenapp/inc/hsapp_defs.inl
homescreenapp/inc/hstest_global.h
homescreenapp/rom/homescreenapp_core.iby
homescreenapp/rom/homescreenapp_resources.iby
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.pri
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.pro
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/inc/hsdefaultruntime.h
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/inc/hsdefaultruntimeplugin.h
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/resource/hsdefaultruntimeplugin.s60xml
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/resource/hsdefaultruntimeplugin.xml
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/src/hsdefaultruntime.cpp
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/src/hsdefaultruntimeplugin.cpp
homescreenapp/runtimeplugins/runtimeplugins.pro
homescreenapp/serviceproviders/hsmenuserviceprovider/hsmenuserviceprovider.pro
homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenucollectionsitemmodel.h
homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuitemmodel.h
homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuservice.h
homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuservice_global.h
homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuserviceutils.h
homescreenapp/serviceproviders/hsmenuserviceprovider/resource/application.png
homescreenapp/serviceproviders/hsmenuserviceprovider/resource/folder.png
homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenucollectionsitemmodel.cpp
homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuitemmodel.cpp
homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuservice.cpp
homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuserviceutils.cpp
homescreenapp/serviceproviders/serviceproviders.pro
homescreenapp/sis/homescreenapp.pkg
homescreenapp/sis/homescreenapp_sisx.bat
homescreenapp/sis/homescreenapp_ut_applib.pkg
homescreenapp/sis/homescreenapp_ut_applib_sisx.bat
homescreenapp/sis/homescreenapp_ut_hs.pkg
homescreenapp/sis/homescreenapp_ut_hs_sisx.bat
homescreenapp/sis/rd-key.pem
homescreenapp/sis/rd.cer
homescreenapp/stateplugins/hsapplibrarystateplugin/conf/hsapplibrary.confml
homescreenapp/stateplugins/hsapplibrarystateplugin/conf/hsapplibrary_20022F97.crml
homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrary.qm
homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrary.ts
homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.pri
homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.pro
homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.qrc
homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin_exports_to_rom.pri
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallappsstate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallcollectionsstate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsapplibrarystate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsapplibrarystateplugin.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hscollectionstate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenumodetransition.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenusearch.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuview.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuviewbuilder.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsovistorehandler.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsovistorehandler_p.h
homescreenapp/stateplugins/hsapplibrarystateplugin/resource/hsapplibrarystateplugin.s60xml
homescreenapp/stateplugins/hsapplibrarystateplugin/resource/hsapplibrarystateplugin.xml
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallappsstate.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallcollectionsstate.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsapplibrarystate.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsapplibrarystateplugin.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hscollectionstate.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenumodetransition.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenusearch.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuview.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuviewbuilder.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsovistorehandler.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsovistorehandler_p.cpp
homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.pri
homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.pro
homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.qrc
homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.ts
homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsdocumentloader.h
homescreenapp/stateplugins/hshomescreenstateplugin/inc/hshomescreenstateplugin.h
homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsidlestate.h
homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsidlewidget.h
homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsloadscenestate.h
homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsselectbackgroundstate.h
homescreenapp/stateplugins/hshomescreenstateplugin/resource/hshomescreenstateplugin.s60xml
homescreenapp/stateplugins/hshomescreenstateplugin/resource/hshomescreenstateplugin.xml
homescreenapp/stateplugins/hshomescreenstateplugin/src/hsdocumentloader.cpp
homescreenapp/stateplugins/hshomescreenstateplugin/src/hshomescreenstateplugin.cpp
homescreenapp/stateplugins/hshomescreenstateplugin/src/hsidlestate.cpp
homescreenapp/stateplugins/hshomescreenstateplugin/src/hsidlewidget.cpp
homescreenapp/stateplugins/hshomescreenstateplugin/src/hsloadscenestate.cpp
homescreenapp/stateplugins/hshomescreenstateplugin/src/hsselectbackgroundstate.cpp
homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en.qm
homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en.ts
homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en_us.qm
homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en_us.ts
homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_fi.qm
homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_fi.ts
homescreenapp/stateplugins/hsmenuworkerstateplugin/hsmenuworkerstateplugin.pri
homescreenapp/stateplugins/hsmenuworkerstateplugin/hsmenuworkerstateplugin.pro
homescreenapp/stateplugins/hsmenuworkerstateplugin/hsmenuworkerstateplugin.qrc
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddappstocollectionstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddtohomescreenstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsappschecklist.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsarrangestate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hscollectionnamedialog.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hscollectionnamestate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hscollectionslistdialog.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsdeletecollectionitemstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsdeletecollectionstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenubasestate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenustates_global.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenuworkerstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenuworkerstateplugin.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hspreviewhswidgetstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/resource/hsmenuworkerstateplugin.s60xml
homescreenapp/stateplugins/hsmenuworkerstateplugin/resource/hsmenuworkerstateplugin.xml
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddappstocollectionstate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddtohomescreenstate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsappschecklist.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsarrangestate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionnamedialog.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionnamestate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionslistdialog.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsdeletecollectionitemstate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsdeletecollectionstate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsmenubasestate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsmenuworkerstate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsmenuworkerstateplugin.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hspreviewhswidgetstate.cpp
homescreenapp/stateplugins/stateplugins.pro
homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.pri
homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.pro
homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.qrc
homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin_symbian.pri
homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin_win.pri
homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsanalogclockstyleoption.h
homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsanalogclockwidget.h
homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidget.h
homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidgetdocumentloader.h
homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidgetplugin.h
homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidgettype_symbian.h
homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsdigitalclockwidget.h
homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsclockwidgetplugin.manifest
homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsclockwidgetplugin.s60xml
homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsclockwidgetplugin.xml
homescreenapp/widgetplugins/hsclockwidgetplugin/resource/tclock.png
homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsanalogclockstyleoption.cpp
homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsanalogclockwidget.cpp
homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidget.cpp
homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidgetdocumentloader.cpp
homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidgetplugin.cpp
homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidgettype_symbian.cpp
homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsdigitalclockwidget.cpp
homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.pri
homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.pro
homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.qrc
homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/inc/hsanalogclockstyleplugin.h
homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockstyleplugin.manifest
homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockwidget.css
homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockwidget.widgetml
homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/src/hsanalogclockstyleplugin.cpp
homescreenapp/widgetplugins/hsshortcutwidgetplugin/hsshortcutwidgetplugin.pri
homescreenapp/widgetplugins/hsshortcutwidgetplugin/hsshortcutwidgetplugin.pro
homescreenapp/widgetplugins/hsshortcutwidgetplugin/inc/hsshortcutwidget.h
homescreenapp/widgetplugins/hsshortcutwidgetplugin/inc/hsshortcutwidgetplugin.h
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/calculator.png
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/email.png
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/globe.png
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidgetplugin.manifest
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidgetplugin.s60xml
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidgetplugin.xml
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/note.png
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/shortcuticon.png
homescreenapp/widgetplugins/hsshortcutwidgetplugin/src/hsshortcutwidget.cpp
homescreenapp/widgetplugins/hsshortcutwidgetplugin/src/hsshortcutwidgetplugin.cpp
homescreenapp/widgetplugins/widgetplugins.pro
idlehomescreen/data/2001952b.txt
idlehomescreen/data/clean_themes.bat
idlehomescreen/data/group/bld.inf
idlehomescreen/data/group/hsps_definition.xsd
idlehomescreen/data/group/hsps_manifest.xsd
idlehomescreen/data/group/validate.cmd
idlehomescreen/data/group/validate.mk
idlehomescreen/data/qhd_tch/desktop_20026f4f/gfx/icon.mif
idlehomescreen/data/qhd_tch/desktop_20026f4f/group/bld.inf
idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/desktopconfiguration.dtd
idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/desktop_20026f4f/loc/desktopconfiguration.loc
idlehomescreen/data/qhd_tch/desktop_20026f4f/rom/desktop.iby
idlehomescreen/data/qhd_tch/desktop_20026f4f/rom/desktop_customer.iby
idlehomescreen/data/qhd_tch/desktop_20026f4f/rom/desktop_resources.iby
idlehomescreen/data/qhd_tch/desktop_20026f4f/rom/desktop_variant.iby
idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/00/desktop.css
idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/00/desktop.dat
idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/00/desktop.xml
idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/37/desktop.css
idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/50/desktop.css
idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/57/desktop.css
idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/94/desktop.css
idlehomescreen/data/qhd_tch/empty_2001f47f/group/bld.inf
idlehomescreen/data/qhd_tch/empty_2001f47f/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/empty_2001f47f/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/empty_2001f47f/rom/empty.iby
idlehomescreen/data/qhd_tch/empty_2001f47f/rom/empty_variant.iby
idlehomescreen/data/qhd_tch/empty_2001f47f/xuikon/00/empty.css
idlehomescreen/data/qhd_tch/empty_2001f47f/xuikon/00/empty.dat
idlehomescreen/data/qhd_tch/empty_2001f47f/xuikon/00/empty.xml
idlehomescreen/data/qhd_tch/group/bld.inf
idlehomescreen/data/qhd_tch/onerow_2001f480/group/bld.inf
idlehomescreen/data/qhd_tch/onerow_2001f480/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/onerow_2001f480/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/onerow_2001f480/rom/onerow.iby
idlehomescreen/data/qhd_tch/onerow_2001f480/rom/onerow_customer.iby
idlehomescreen/data/qhd_tch/onerow_2001f480/rom/onerow_resources.iby
idlehomescreen/data/qhd_tch/onerow_2001f480/rom/onerow_variant.iby
idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/00/onerow.css
idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/00/onerow.dat
idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/00/onerow.xml
idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/37/onerow.css
idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/50/onerow.css
idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/57/onerow.css
idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/94/onerow.css
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/group/bld.inf
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/loc/wideimage.loc
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/rom/posterwideimage.iby
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/rom/posterwideimage_variant.iby
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/xuikon/00/posterwideimage.css
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/xuikon/00/posterwideimage.dat
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/xuikon/00/posterwideimage.xml
idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/xuikon/00/wideimage.dtd
idlehomescreen/data/qhd_tch/profile_2001cb7c/gfx/icon.mif
idlehomescreen/data/qhd_tch/profile_2001cb7c/group/bld.inf
idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/profileconfiguration.dtd
idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/profile_2001cb7c/loc/profileconfiguration.loc
idlehomescreen/data/qhd_tch/profile_2001cb7c/loc/profilewidget.loc
idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget.iby
idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_customer.iby
idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_resources.iby
idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_variant.iby
idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profile.css
idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profile.dat
idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profile.xml
idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profilewidget.dtd
idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/37/profile.css
idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/50/profile.css
idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/57/profile.css
idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/94/profile.css
idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.confml
idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.gcfml
idlehomescreen/data/qhd_tch/root_2001f482/group/bld.inf
idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/rootconfiguration.xml
idlehomescreen/data/qhd_tch/root_2001f482/rom/root.iby
idlehomescreen/data/qhd_tch/root_2001f482/rom/root_customer.iby
idlehomescreen/data/qhd_tch/root_2001f482/rom/root_resources.iby
idlehomescreen/data/qhd_tch/root_2001f482/rom/root_variant.iby
idlehomescreen/data/qhd_tch/root_2001f482/xuikon/00/Root.css
idlehomescreen/data/qhd_tch/root_2001f482/xuikon/00/Root.dat
idlehomescreen/data/qhd_tch/root_2001f482/xuikon/00/Root.xml
idlehomescreen/data/qhd_tch/templateview_20026f50/group/bld.inf
idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/templateviewconfiguration.xml
idlehomescreen/data/qhd_tch/templateview_20026f50/loc/templateview.loc
idlehomescreen/data/qhd_tch/templateview_20026f50/rom/templateview.iby
idlehomescreen/data/qhd_tch/templateview_20026f50/rom/templateview_customer.iby
idlehomescreen/data/qhd_tch/templateview_20026f50/rom/templateview_resources.iby
idlehomescreen/data/qhd_tch/templateview_20026f50/rom/templateview_variant.iby
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.css
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.dat
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.xml
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/view.dtd
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/37/templateview.css
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/50/templateview.css
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/57/templateview.css
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/94/templateview.css
idlehomescreen/data/qhd_tch/threerows_2001f486/group/bld.inf
idlehomescreen/data/qhd_tch/threerows_2001f486/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/threerows_2001f486/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/threerows_2001f486/rom/threerows.iby
idlehomescreen/data/qhd_tch/threerows_2001f486/rom/threerows_customer.iby
idlehomescreen/data/qhd_tch/threerows_2001f486/rom/threerows_resources.iby
idlehomescreen/data/qhd_tch/threerows_2001f486/rom/threerows_variant.iby
idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/00/threerows.css
idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/00/threerows.dat
idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/00/threerows.xml
idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/37/threerows.css
idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/50/threerows.css
idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/57/threerows.css
idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/94/threerows.css
idlehomescreen/data/qhd_tch/threetextrows_2001f487/group/bld.inf
idlehomescreen/data/qhd_tch/threetextrows_2001f487/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/threetextrows_2001f487/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/threetextrows_2001f487/rom/threetextrows.iby
idlehomescreen/data/qhd_tch/threetextrows_2001f487/rom/threetextrows_customer.iby
idlehomescreen/data/qhd_tch/threetextrows_2001f487/rom/threetextrows_resources.iby
idlehomescreen/data/qhd_tch/threetextrows_2001f487/rom/threetextrows_variant.iby
idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/00/threetextrows.css
idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/00/threetextrows.dat
idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/00/threetextrows.xml
idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/37/threetextrows.css
idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/50/threetextrows.css
idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/57/threetextrows.css
idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/94/threetextrows.css
idlehomescreen/data/qhd_tch/tworows_2001f488/group/bld.inf
idlehomescreen/data/qhd_tch/tworows_2001f488/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/tworows_2001f488/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/tworows_2001f488/rom/tworows.iby
idlehomescreen/data/qhd_tch/tworows_2001f488/rom/tworows_customer.iby
idlehomescreen/data/qhd_tch/tworows_2001f488/rom/tworows_resources.iby
idlehomescreen/data/qhd_tch/tworows_2001f488/rom/tworows_variant.iby
idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/00/tworows.css
idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/00/tworows.dat
idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/00/tworows.xml
idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/37/tworows.css
idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/50/tworows.css
idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/57/tworows.css
idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/94/tworows.css
idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f486.confml
idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f486.gcfml
idlehomescreen/data/qhd_tch/view_2001f48b/group/bld.inf
idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/viewconfiguration.xml
idlehomescreen/data/qhd_tch/view_2001f48b/loc/View.loc
idlehomescreen/data/qhd_tch/view_2001f48b/rom/view.iby
idlehomescreen/data/qhd_tch/view_2001f48b/rom/view_customer.iby
idlehomescreen/data/qhd_tch/view_2001f48b/rom/view_resources.iby
idlehomescreen/data/qhd_tch/view_2001f48b/rom/view_variant.iby
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.css
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.dat
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.dtd
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.xml
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/37/View.css
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/50/View.css
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/57/View.css
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/94/View.css
idlehomescreen/data/qhd_tch/wideimage_2001f489/group/bld.inf
idlehomescreen/data/qhd_tch/wideimage_2001f489/hsps/00/manifest.dat
idlehomescreen/data/qhd_tch/wideimage_2001f489/hsps/00/widgetconfiguration.xml
idlehomescreen/data/qhd_tch/wideimage_2001f489/rom/wideimage.iby
idlehomescreen/data/qhd_tch/wideimage_2001f489/rom/wideimage_customer.iby
idlehomescreen/data/qhd_tch/wideimage_2001f489/rom/wideimage_resources.iby
idlehomescreen/data/qhd_tch/wideimage_2001f489/rom/wideimage_variant.iby
idlehomescreen/data/qhd_tch/wideimage_2001f489/xuikon/00/wideimage.css
idlehomescreen/data/qhd_tch/wideimage_2001f489/xuikon/00/wideimage.dat
idlehomescreen/data/qhd_tch/wideimage_2001f489/xuikon/00/wideimage.xml
idlehomescreen/data/vga_tch/desktop_20018eee/group/bld.inf
idlehomescreen/data/vga_tch/desktop_20018eee/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/desktop_20018eee/hsps/00/widgetconfiguration.xml
idlehomescreen/data/vga_tch/desktop_20018eee/rom/desktop.iby
idlehomescreen/data/vga_tch/desktop_20018eee/rom/desktop_customer.iby
idlehomescreen/data/vga_tch/desktop_20018eee/rom/desktop_resources.iby
idlehomescreen/data/vga_tch/desktop_20018eee/rom/desktop_variant.iby
idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/00/desktop.css
idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/00/desktop.dat
idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/00/desktop.xml
idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/37/desktop.css
idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/50/desktop.css
idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/57/desktop.css
idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/94/desktop.css
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/group/bld.inf
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/hsps/00/widgetconfiguration.xml
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/rom/double_row_icon_widget.iby
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/rom/double_row_icon_widget_customer.iby
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/rom/double_row_icon_widget_resources.iby
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/rom/double_row_icon_widget_variant.iby
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/00/double_row_icon_widget.css
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/00/double_row_icon_widget.dat
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/00/double_row_icon_widget.xml
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/37/double_row_icon_widget.css
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/50/double_row_icon_widget.css
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/57/double_row_icon_widget.css
idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/94/double_row_icon_widget.css
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/group/bld.inf
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/hsps/00/widgetconfiguration.xml
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/rom/double_row_widget.iby
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/rom/double_row_widget_customer.iby
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/rom/double_row_widget_resources.iby
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/rom/double_row_widget_variant.iby
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/00/double_row_widget.css
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/00/double_row_widget.dat
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/00/double_row_widget.xml
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/37/double_row_widget.css
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/50/double_row_widget.css
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/57/double_row_widget.css
idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/94/double_row_widget.css
idlehomescreen/data/vga_tch/group/bld.inf
idlehomescreen/data/vga_tch/root_2001f48f/group/bld.inf
idlehomescreen/data/vga_tch/root_2001f48f/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/root_2001f48f/hsps/00/rootconfiguration.dtd
idlehomescreen/data/vga_tch/root_2001f48f/hsps/00/rootconfiguration.xml
idlehomescreen/data/vga_tch/root_2001f48f/loc/rootconfiguration.loc
idlehomescreen/data/vga_tch/root_2001f48f/rom/root.iby
idlehomescreen/data/vga_tch/root_2001f48f/rom/root_customer.iby
idlehomescreen/data/vga_tch/root_2001f48f/rom/root_resources.iby
idlehomescreen/data/vga_tch/root_2001f48f/rom/root_variant.iby
idlehomescreen/data/vga_tch/root_2001f48f/xuikon/00/root.css
idlehomescreen/data/vga_tch/root_2001f48f/xuikon/00/root.dat
idlehomescreen/data/vga_tch/root_2001f48f/xuikon/00/root.xml
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/group/bld.inf
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/hsps/00/widgetconfiguration.xml
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/rom/single_row_icon_widget.iby
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/rom/single_row_icon_widget_customer.iby
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/rom/single_row_icon_widget_resources.iby
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/rom/single_row_icon_widget_variant.iby
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/00/single_row_icon_widget.css
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/00/single_row_icon_widget.dat
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/00/single_row_icon_widget.xml
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/37/single_row_icon_widget.css
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/50/single_row_icon_widget.css
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/57/single_row_icon_widget.css
idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/94/single_row_icon_widget.css
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/group/bld.inf
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/hsps/00/widgetconfiguration.xml
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/rom/single_row_widget.iby
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/rom/single_row_widget_customer.iby
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/rom/single_row_widget_resources.iby
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/rom/single_row_widget_variant.iby
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/00/single_row_widget.css
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/00/single_row_widget.dat
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/00/single_row_widget.xml
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/37/single_row_widget.css
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/50/single_row_widget.css
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/57/single_row_widget.css
idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/94/single_row_widget.css
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/group/bld.inf
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/hsps/00/widgetconfiguration.xml
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/rom/triple_row_icon_widget.iby
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/rom/triple_row_icon_widget_customer.iby
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/rom/triple_row_icon_widget_resources.iby
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/rom/triple_row_icon_widget_variant.iby
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/00/triple_row_icon_widget.css
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/00/triple_row_icon_widget.dat
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/00/triple_row_icon_widget.xml
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/37/triple_row_icon_widget.css
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/50/triple_row_icon_widget.css
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/57/triple_row_icon_widget.css
idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/94/triple_row_icon_widget.css
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/group/bld.inf
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/hsps/00/widgetconfiguration.xml
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/rom/triple_row_widget.iby
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/rom/triple_row_widget_customer.iby
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/rom/triple_row_widget_resources.iby
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/rom/triple_row_widget_variant.iby
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/00/triple_row_widget.css
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/00/triple_row_widget.dat
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/00/triple_row_widget.xml
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/37/triple_row_widget.css
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/50/triple_row_widget.css
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/57/triple_row_widget.css
idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/94/triple_row_widget.css
idlehomescreen/data/vga_tch/view1_2001fdb9/group/bld.inf
idlehomescreen/data/vga_tch/view1_2001fdb9/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/view1_2001fdb9/hsps/00/viewconfiguration.dtd
idlehomescreen/data/vga_tch/view1_2001fdb9/hsps/00/viewconfiguration.xml
idlehomescreen/data/vga_tch/view1_2001fdb9/loc/view.loc
idlehomescreen/data/vga_tch/view1_2001fdb9/loc/viewconfiguration.loc
idlehomescreen/data/vga_tch/view1_2001fdb9/rom/view.iby
idlehomescreen/data/vga_tch/view1_2001fdb9/rom/view_customer.iby
idlehomescreen/data/vga_tch/view1_2001fdb9/rom/view_resources.iby
idlehomescreen/data/vga_tch/view1_2001fdb9/rom/view_variant.iby
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.css
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.dat
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.dtd
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.xml
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/37/view.css
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/50/view.css
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/57/view.css
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/94/view.css
idlehomescreen/data/vga_tch/wideimage_10009dff/group/bld.inf
idlehomescreen/data/vga_tch/wideimage_10009dff/hsps/00/manifest.dat
idlehomescreen/data/vga_tch/wideimage_10009dff/hsps/00/widgetconfiguration.xml
idlehomescreen/data/vga_tch/wideimage_10009dff/loc/wideimage.loc
idlehomescreen/data/vga_tch/wideimage_10009dff/rom/wideimage.iby
idlehomescreen/data/vga_tch/wideimage_10009dff/rom/wideimage_customer.iby
idlehomescreen/data/vga_tch/wideimage_10009dff/rom/wideimage_resources.iby
idlehomescreen/data/vga_tch/wideimage_10009dff/rom/wideimage_variant.iby
idlehomescreen/data/vga_tch/wideimage_10009dff/xuikon/00/wideimage.css
idlehomescreen/data/vga_tch/wideimage_10009dff/xuikon/00/wideimage.dat
idlehomescreen/data/vga_tch/wideimage_10009dff/xuikon/00/wideimage.dtd
idlehomescreen/data/vga_tch/wideimage_10009dff/xuikon/00/wideimage.xml
idlehomescreen/exths/cenrep/keys_activeidle.xls
idlehomescreen/exths/conf/activeidle.confml
idlehomescreen/exths/conf/activeidle_10207467.crml
idlehomescreen/exths/data/101fd657.rss
idlehomescreen/exths/group/aicontainer.mmp
idlehomescreen/exths/group/backup_registration.xml
idlehomescreen/exths/group/bld.inf
idlehomescreen/exths/inc/plugincontainer/aicontainer.hrh
idlehomescreen/exths/inc/plugincontainer/aicontainerprivatecrkeys.h
idlehomescreen/exths/inc/plugincontainer/caiplugincontainercontrol.h
idlehomescreen/exths/inc/plugincontainer/propertyobserver.h
idlehomescreen/exths/inc/pluginif/extrstandbyscrutil.inl
idlehomescreen/exths/rom/aicontainer.iby
idlehomescreen/exths/src/plugincontainer/caiplugincontainercontrol.cpp
idlehomescreen/exths/src/plugincontainer/dllmain.cpp
idlehomescreen/exths/src/plugincontainer/propertyobserver.cpp
idlehomescreen/group/bld.inf
idlehomescreen/help/data/xhtml.zip
idlehomescreen/help/group/bld.inf
idlehomescreen/help/inc/hmsc.hlp.hrh
idlehomescreen/help/rom/idlehomescreenhelps_variant.iby
idlehomescreen/hscontentcontrol/bwins/hscontentcontrol.def
idlehomescreen/hscontentcontrol/eabi/hscontentcontrol.def
idlehomescreen/hscontentcontrol/group/bld.inf
idlehomescreen/hscontentcontrol/group/hscontentcontrol.mmp
idlehomescreen/hscontentcontrol/inc/hscontentcontrolecomlistener.h
idlehomescreen/hscontentcontrol/inc/hscontentcontrolecomobserver.h
idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h
idlehomescreen/hscontentcontrol/inc/hscontentcontroluninstallmonitor.h
idlehomescreen/hscontentcontrol/inc/hscontentcontroluninstallobserver.h
idlehomescreen/hscontentcontrol/src/hscontentcontrolecomlistener.cpp
idlehomescreen/hscontentcontrol/src/hscontentcontrolfactory.cpp
idlehomescreen/hscontentcontrol/src/hscontentcontrolui.cpp
idlehomescreen/hscontentcontrol/src/hscontentcontroluninstallmonitor.cpp
idlehomescreen/inc/ai3.hrh
idlehomescreen/inc/ai3perf.h
idlehomescreen/inc/ai3performance.h
idlehomescreen/inc/ainativeuiplugins.h
idlehomescreen/inc/c_xnutils.h
idlehomescreen/inc/extrstandbycontainerconst.h
idlehomescreen/inc/extrstandbycontainerif.h
idlehomescreen/inc/extrstandbycontainerif.inl
idlehomescreen/inc/mxncomponentinterface.h
idlehomescreen/inc/mxndomiterator.h
idlehomescreen/inc/mxndomlistitem.h
idlehomescreen/inc/mxndomvisitor.h
idlehomescreen/inc/tracer.h
idlehomescreen/inc/xnanimation.h
idlehomescreen/inc/xnapplication.h
idlehomescreen/inc/xnappuiadapter.h
idlehomescreen/inc/xnarray.h
idlehomescreen/inc/xnbitmap.h
idlehomescreen/inc/xnbreadthfirsttreeiterator.h
idlehomescreen/inc/xnchilditerator.h
idlehomescreen/inc/xnchilditeratorbuilder.h
idlehomescreen/inc/xnclock.h
idlehomescreen/inc/xncomparator.h
idlehomescreen/inc/xncomponent.h
idlehomescreen/inc/xncomponentfactory.h
idlehomescreen/inc/xncomponentnodeimpl.h
idlehomescreen/inc/xncontroladapter.h
idlehomescreen/inc/xncontroladapter.inl
idlehomescreen/inc/xndepthfirsttreeiterator.h
idlehomescreen/inc/xndocument.h
idlehomescreen/inc/xndomattribute.h
idlehomescreen/inc/xndomdepthiterator.h
idlehomescreen/inc/xndomdocument.h
idlehomescreen/inc/xndomlist.h
idlehomescreen/inc/xndomnode.h
idlehomescreen/inc/xndomproperty.h
idlehomescreen/inc/xndompropertyvalue.h
idlehomescreen/inc/xndomstringpool.h
idlehomescreen/inc/xndomstringpooloptimizer.h
idlehomescreen/inc/xnecomelementproxy.h
idlehomescreen/inc/xnecomhandler.h
idlehomescreen/inc/xneditmode.h
idlehomescreen/inc/xnlistquerydialogadapter.h
idlehomescreen/inc/xnmap.h
idlehomescreen/inc/xnmenu.h
idlehomescreen/inc/xnmenuadapter.h
idlehomescreen/inc/xnnewsticker.h
idlehomescreen/inc/xnnode.h
idlehomescreen/inc/xnnodeappif.h
idlehomescreen/inc/xnnodebreadthfirstiterator.h
idlehomescreen/inc/xnnodeimpl.h
idlehomescreen/inc/xnnodepluginif.h
idlehomescreen/inc/xnodt.h
idlehomescreen/inc/xnoomsyshandler.h
idlehomescreen/inc/xnpanic.h
idlehomescreen/inc/xnpointerarray.h
idlehomescreen/inc/xnpopup.h
idlehomescreen/inc/xnproperty.h
idlehomescreen/inc/xnpropertysubscriber.h
idlehomescreen/inc/xnresource.h
idlehomescreen/inc/xntext.h
idlehomescreen/inc/xntexteditor.h
idlehomescreen/inc/xntype.h
idlehomescreen/inc/xnuiengine.h
idlehomescreen/inc/xnuiengineappif.h
idlehomescreen/inc/xnuienginepluginif.h
idlehomescreen/inc/xnviewmanager.h
idlehomescreen/inc/xnviewmanager.inl
idlehomescreen/inc/xnviewnodeimpl.h
idlehomescreen/inc/xnvolumecontrol.h
idlehomescreen/inc/xnvolumecontrolobserver.h
idlehomescreen/loc/activeidle3.loc
idlehomescreen/nativeuicontroller/group/ainatiui.mmp
idlehomescreen/nativeuicontroller/group/bld.inf
idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h
idlehomescreen/nativeuicontroller/inc/ainativerenderer.h
idlehomescreen/nativeuicontroller/inc/ainativeui.hrh
idlehomescreen/nativeuicontroller/inc/ainativeuimodel.h
idlehomescreen/nativeuicontroller/inc/ainativeuistrings.h
idlehomescreen/nativeuicontroller/inc/ainativeuiview.h
idlehomescreen/nativeuicontroller/inc/ainavipaneanimator.h
idlehomescreen/nativeuicontroller/inc/ainavipaneanimatorcallback.h
idlehomescreen/nativeuicontroller/inc/ainavipanerenderer.h
idlehomescreen/nativeuicontroller/inc/ainotifierrenderer.h
idlehomescreen/nativeuicontroller/inc/aisecondarydisplayapi.h
idlehomescreen/nativeuicontroller/inc/aisoftkeyrenderer.h
idlehomescreen/nativeuicontroller/inc/aistatuspanel.h
idlehomescreen/nativeuicontroller/inc/aistatuspanetouchui.h
idlehomescreen/nativeuicontroller/inc/aistyluspopupmenu.h
idlehomescreen/nativeuicontroller/inc/aistyluspopupmenucontent.h
idlehomescreen/nativeuicontroller/inc/aititlepanerenderer.h
idlehomescreen/nativeuicontroller/inc/aitoolbarbutton.h
idlehomescreen/nativeuicontroller/inc/aitoolbarrenderer.h
idlehomescreen/nativeuicontroller/inc/application.h
idlehomescreen/nativeuicontroller/inc/appui.h
idlehomescreen/nativeuicontroller/inc/document.h
idlehomescreen/nativeuicontroller/inc/nativeuicontroller.h
idlehomescreen/nativeuicontroller/inc/nativeuicontroller.inl
idlehomescreen/nativeuicontroller/loc/ainativeui.loc
idlehomescreen/nativeuicontroller/rom/nativeuicontroller.iby
idlehomescreen/nativeuicontroller/rom/nativeuicontroller_resources.iby
idlehomescreen/nativeuicontroller/src/ai3natiui.rss
idlehomescreen/nativeuicontroller/src/ai3nativeui.rss
idlehomescreen/nativeuicontroller/src/aidialogrenderer.cpp
idlehomescreen/nativeuicontroller/src/ainativerenderer.cpp
idlehomescreen/nativeuicontroller/src/ainativeuimodel.cpp
idlehomescreen/nativeuicontroller/src/ainativeuiview.cpp
idlehomescreen/nativeuicontroller/src/ainavipaneanimator.cpp
idlehomescreen/nativeuicontroller/src/ainavipanerenderer.cpp
idlehomescreen/nativeuicontroller/src/ainotifierrenderer.cpp
idlehomescreen/nativeuicontroller/src/aisoftkeyrenderer.cpp
idlehomescreen/nativeuicontroller/src/aistatuspanel.cpp
idlehomescreen/nativeuicontroller/src/aistatuspanetouchui.cpp
idlehomescreen/nativeuicontroller/src/aistyluspopupmenu.cpp
idlehomescreen/nativeuicontroller/src/aistyluspopupmenucontent.cpp
idlehomescreen/nativeuicontroller/src/aititlepanerenderer.cpp
idlehomescreen/nativeuicontroller/src/aitoolbarbutton.cpp
idlehomescreen/nativeuicontroller/src/aitoolbarrenderer.cpp
idlehomescreen/nativeuicontroller/src/application.cpp
idlehomescreen/nativeuicontroller/src/appui.cpp
idlehomescreen/nativeuicontroller/src/document.cpp
idlehomescreen/nativeuicontroller/src/nativeuicontroller.cpp
idlehomescreen/sapiwrapper/cpswrapper/bwins/cpswrapper.def
idlehomescreen/sapiwrapper/cpswrapper/eabi/cpswrapper.def
idlehomescreen/sapiwrapper/cpswrapper/group/bld.inf
idlehomescreen/sapiwrapper/cpswrapper/group/cpswrapper.mmp
idlehomescreen/sapiwrapper/cpswrapper/inc/cpsconst.h
idlehomescreen/sapiwrapper/cpswrapper/inc/cpsobserver.h
idlehomescreen/sapiwrapper/cpswrapper/inc/cpssapi.h
idlehomescreen/sapiwrapper/cpswrapper/inc/cpswrapper.h
idlehomescreen/sapiwrapper/cpswrapper/inc/publisherinfo.h
idlehomescreen/sapiwrapper/cpswrapper/inc/publishermap.h
idlehomescreen/sapiwrapper/cpswrapper/src/cpsobserver.cpp
idlehomescreen/sapiwrapper/cpswrapper/src/cpswrapper.cpp
idlehomescreen/sapiwrapper/cpswrapper/src/cpswrapperdllmain.cpp
idlehomescreen/sapiwrapper/cpswrapper/src/publisherinfo.cpp
idlehomescreen/sapiwrapper/cpswrapper/src/publishermap.cpp
idlehomescreen/sapiwrapper/hspswrapper/bwins/hspswrapper.def
idlehomescreen/sapiwrapper/hspswrapper/eabi/hspswrapper.def
idlehomescreen/sapiwrapper/hspswrapper/group/bld.inf
idlehomescreen/sapiwrapper/hspswrapper/group/hspswrapper.mmp
idlehomescreen/sapiwrapper/hspswrapper/inc/hspsconfiguration.h
idlehomescreen/sapiwrapper/hspswrapper/inc/hspssapi.h
idlehomescreen/sapiwrapper/hspswrapper/inc/hspswrapper.h
idlehomescreen/sapiwrapper/hspswrapper/inc/hspswrapper.pan
idlehomescreen/sapiwrapper/hspswrapper/inc/itemmap.h
idlehomescreen/sapiwrapper/hspswrapper/inc/objectmap.h
idlehomescreen/sapiwrapper/hspswrapper/inc/plugininfo.h
idlehomescreen/sapiwrapper/hspswrapper/inc/pluginmap.h
idlehomescreen/sapiwrapper/hspswrapper/inc/propertymap.h
idlehomescreen/sapiwrapper/hspswrapper/sis/hspswrapper_eka2.pkg
idlehomescreen/sapiwrapper/hspswrapper/src/hspsconfiguration.cpp
idlehomescreen/sapiwrapper/hspswrapper/src/hspswrapper.cpp
idlehomescreen/sapiwrapper/hspswrapper/src/hspswrapperdllmain.cpp
idlehomescreen/sapiwrapper/hspswrapper/src/itemmap.cpp
idlehomescreen/sapiwrapper/hspswrapper/src/objectmap.cpp
idlehomescreen/sapiwrapper/hspswrapper/src/plugininfo.cpp
idlehomescreen/sapiwrapper/hspswrapper/src/pluginmap.cpp
idlehomescreen/sapiwrapper/hspswrapper/src/propertymap.cpp
idlehomescreen/widgetmanager/conf/widgetmanager.confml
idlehomescreen/widgetmanager/conf/widgetmanager_20026F53.crml
idlehomescreen/widgetmanager/data/20026F53.rss
idlehomescreen/widgetmanager/data/widgetmanagerview.rss
idlehomescreen/widgetmanager/gfx/add_widget_button.svg
idlehomescreen/widgetmanager/gfx/qgn_menu_hswidget.svg
idlehomescreen/widgetmanager/gfx/qgn_menu_ovistore.svg
idlehomescreen/widgetmanager/group/bld.inf
idlehomescreen/widgetmanager/group/widgetmanager.mmp
idlehomescreen/widgetmanager/group/wmicons.txt
idlehomescreen/widgetmanager/inc/widgetmanager.hrh
idlehomescreen/widgetmanager/inc/wmcommon.h
idlehomescreen/widgetmanager/inc/wmconfiguration.h
idlehomescreen/widgetmanager/inc/wmcrkeys.h
idlehomescreen/widgetmanager/inc/wmdetailsdlg.h
idlehomescreen/widgetmanager/inc/wmeffectmanager.h
idlehomescreen/widgetmanager/inc/wmimageconverter.h
idlehomescreen/widgetmanager/inc/wminstaller.h
idlehomescreen/widgetmanager/inc/wmlistbox.h
idlehomescreen/widgetmanager/inc/wmlistbox.inl
idlehomescreen/widgetmanager/inc/wmmaincontainer.h
idlehomescreen/widgetmanager/inc/wmmaincontainerview.h
idlehomescreen/widgetmanager/inc/wmpersistentwidgetorder.h
idlehomescreen/widgetmanager/inc/wmplugin.h
idlehomescreen/widgetmanager/inc/wmportalbutton.h
idlehomescreen/widgetmanager/inc/wmresourceloader.h
idlehomescreen/widgetmanager/inc/wmwidgetdata.h
idlehomescreen/widgetmanager/inc/wmwidgetdata.inl
idlehomescreen/widgetmanager/inc/wmwidgetdataobserver.h
idlehomescreen/widgetmanager/inc/wmwidgetloaderao.h
idlehomescreen/widgetmanager/loc/widgetmanagerview.loc
idlehomescreen/widgetmanager/rom/widgetmanager.iby
idlehomescreen/widgetmanager/rom/widgetmanager_resources.iby
idlehomescreen/widgetmanager/sis/Create_update_sisx.bat
idlehomescreen/widgetmanager/sis/Nokia_RnDCert_02.der
idlehomescreen/widgetmanager/sis/Nokia_RnDCert_02.key
idlehomescreen/widgetmanager/sis/backup_registration.xml
idlehomescreen/widgetmanager/sis/widgetmanager_stub.pkg
idlehomescreen/widgetmanager/sis/widgetmanager_stub.sis
idlehomescreen/widgetmanager/sis/widgetmanager_udeb.pkg
idlehomescreen/widgetmanager/sis/widgetmanager_urel.pkg
idlehomescreen/widgetmanager/src/wmconfiguration.cpp
idlehomescreen/widgetmanager/src/wmdetailsdlg.cpp
idlehomescreen/widgetmanager/src/wmeffectmanager.cpp
idlehomescreen/widgetmanager/src/wmimageconverter.cpp
idlehomescreen/widgetmanager/src/wminstaller.cpp
idlehomescreen/widgetmanager/src/wmlistbox.cpp
idlehomescreen/widgetmanager/src/wmmaincontainer.cpp
idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp
idlehomescreen/widgetmanager/src/wmpersistentwidgetorder.cpp
idlehomescreen/widgetmanager/src/wmplugin.cpp
idlehomescreen/widgetmanager/src/wmpluginproxy.cpp
idlehomescreen/widgetmanager/src/wmportalbutton.cpp
idlehomescreen/widgetmanager/src/wmresourceloader.cpp
idlehomescreen/widgetmanager/src/wmwidgetdata.cpp
idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp
idlehomescreen/widgetmanager/tsrc/wmunittest/bwins/wmunittestu.def
idlehomescreen/widgetmanager/tsrc/wmunittest/conf/ui_wmunittest.cfg
idlehomescreen/widgetmanager/tsrc/wmunittest/conf/wmunittest.bat
idlehomescreen/widgetmanager/tsrc/wmunittest/conf/wmunittest.ini
idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logo.jpg
idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logo.mif
idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logo.png
idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logo.svg
idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logocorrupt.jpg
idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logocorrupt.png
idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logocorrupt.svg
idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/test.wgz
idlehomescreen/widgetmanager/tsrc/wmunittest/eabi/wmunittestu.def
idlehomescreen/widgetmanager/tsrc/wmunittest/group/Create_sisx.bat
idlehomescreen/widgetmanager/tsrc/wmunittest/group/Nokia_RnDCert_02.der
idlehomescreen/widgetmanager/tsrc/wmunittest/group/Nokia_RnDCert_02.key
idlehomescreen/widgetmanager/tsrc/wmunittest/group/bld.inf
idlehomescreen/widgetmanager/tsrc/wmunittest/group/wmunittest.mmp
idlehomescreen/widgetmanager/tsrc/wmunittest/group/wmunittest.pkg
idlehomescreen/widgetmanager/tsrc/wmunittest/inc/wmunittest.h
idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest.cpp
idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_all.cpp
idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_converter.cpp
idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_plugin.cpp
idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_sortorder.cpp
idlehomescreen/xmluicontroller/group/aixmluimain.mmp
idlehomescreen/xmluicontroller/group/backup_registration.xml
idlehomescreen/xmluicontroller/group/bld.inf
idlehomescreen/xmluicontroller/group/icons.mk
idlehomescreen/xmluicontroller/group/icons_aif_bitmaps.mk
idlehomescreen/xmluicontroller/group/icons_aif_scalable.mk
idlehomescreen/xmluicontroller/inc/activetransactionstack.h
idlehomescreen/xmluicontroller/inc/aiapplicationeventhandler.h
idlehomescreen/xmluicontroller/inc/aieventhandler.h
idlehomescreen/xmluicontroller/inc/aipolicyelement.h
idlehomescreen/xmluicontroller/inc/aiuieventhandler.h
idlehomescreen/xmluicontroller/inc/aixmluiconstants.h
idlehomescreen/xmluicontroller/inc/aixmluiutils.h
idlehomescreen/xmluicontroller/inc/aixmluiutils.inl
idlehomescreen/xmluicontroller/inc/aixuikoneventhandler.h
idlehomescreen/xmluicontroller/inc/aixuikonmenueventhandler.h
idlehomescreen/xmluicontroller/inc/application.h
idlehomescreen/xmluicontroller/inc/appui.h
idlehomescreen/xmluicontroller/inc/contentpublisher.h
idlehomescreen/xmluicontroller/inc/contentrenderer.h
idlehomescreen/xmluicontroller/inc/csspropertymap.h
idlehomescreen/xmluicontroller/inc/databuffertransactionelement.h
idlehomescreen/xmluicontroller/inc/document.h
idlehomescreen/xmluicontroller/inc/dynamicthememodifier.h
idlehomescreen/xmluicontroller/inc/emptycontenttransactionelement.h
idlehomescreen/xmluicontroller/inc/globalqueryhandler.h
idlehomescreen/xmluicontroller/inc/imagetransactionelement.h
idlehomescreen/xmluicontroller/inc/mpscallback.h
idlehomescreen/xmluicontroller/inc/mtransaction.h
idlehomescreen/xmluicontroller/inc/mtransactionelement.h
idlehomescreen/xmluicontroller/inc/newstickercallbackhandler.h
idlehomescreen/xmluicontroller/inc/newstickertransactionelement.h
idlehomescreen/xmluicontroller/inc/onlineofflinehelper.h
idlehomescreen/xmluicontroller/inc/pmodtiterator.h
idlehomescreen/xmluicontroller/inc/policyevaluator.h
idlehomescreen/xmluicontroller/inc/psobserver.h
idlehomescreen/xmluicontroller/inc/texttransactionelement.h
idlehomescreen/xmluicontroller/inc/transaction.h
idlehomescreen/xmluicontroller/inc/transactionelement.h
idlehomescreen/xmluicontroller/inc/transactionfactory.h
idlehomescreen/xmluicontroller/inc/transactionfactoryimpl.h
idlehomescreen/xmluicontroller/inc/xmlnodeidgenerator.h
idlehomescreen/xmluicontroller/inc/xmluicontroller.h
idlehomescreen/xmluicontroller/inc/xmluicontroller.inl
idlehomescreen/xmluicontroller/inc/xmluicontrollerpanic.h
idlehomescreen/xmluicontroller/rom/ai3xmluicontroller.iby
idlehomescreen/xmluicontroller/rom/ai3xmluicontroller_resources.iby
idlehomescreen/xmluicontroller/src/activetransactionstack.cpp
idlehomescreen/xmluicontroller/src/ai3xmlui.rss
idlehomescreen/xmluicontroller/src/ai3xmluimain.rss
idlehomescreen/xmluicontroller/src/aieventhandler.cpp
idlehomescreen/xmluicontroller/src/aipolicyelement.cpp
idlehomescreen/xmluicontroller/src/aixmluiutils.cpp
idlehomescreen/xmluicontroller/src/aixmluiutils.inl
idlehomescreen/xmluicontroller/src/aixuikoneventhandler.cpp
idlehomescreen/xmluicontroller/src/aixuikonmenueventhandler.cpp
idlehomescreen/xmluicontroller/src/application.cpp
idlehomescreen/xmluicontroller/src/appui.cpp
idlehomescreen/xmluicontroller/src/contentpublisher.cpp
idlehomescreen/xmluicontroller/src/contentrenderer.cpp
idlehomescreen/xmluicontroller/src/csspropertymap.cpp
idlehomescreen/xmluicontroller/src/databuffertransactionelement.cpp
idlehomescreen/xmluicontroller/src/document.cpp
idlehomescreen/xmluicontroller/src/dynamicthememodifier.cpp
idlehomescreen/xmluicontroller/src/emptycontenttransactionelement.cpp
idlehomescreen/xmluicontroller/src/globalqueryhandler.cpp
idlehomescreen/xmluicontroller/src/imagetransactionelement.cpp
idlehomescreen/xmluicontroller/src/newstickercallbackhandler.cpp
idlehomescreen/xmluicontroller/src/newstickertransactionelement.cpp
idlehomescreen/xmluicontroller/src/onlineofflinehelper.cpp
idlehomescreen/xmluicontroller/src/pmodtiterator.cpp
idlehomescreen/xmluicontroller/src/policyevaluator.cpp
idlehomescreen/xmluicontroller/src/psobserver.cpp
idlehomescreen/xmluicontroller/src/texttransactionelement.cpp
idlehomescreen/xmluicontroller/src/transaction.cpp
idlehomescreen/xmluicontroller/src/transactionelement.cpp
idlehomescreen/xmluicontroller/src/transactionfactoryimpl.cpp
idlehomescreen/xmluicontroller/src/xmlnodeidgenerator.cpp
idlehomescreen/xmluicontroller/src/xmluicontroller.cpp
idlehomescreen/xmluicontroller/src/xmluicontrollerpanic.cpp
idlehomescreen/xmluirendering/dom/bwins/xn3domdocumentu.def
idlehomescreen/xmluirendering/dom/eabi/xn3domdocumentu.def
idlehomescreen/xmluirendering/dom/group/bld.inf
idlehomescreen/xmluirendering/dom/group/xndomdocument.mmp
idlehomescreen/xmluirendering/dom/src/xndomattribute.cpp
idlehomescreen/xmluirendering/dom/src/xndomdepthiterator.cpp
idlehomescreen/xmluirendering/dom/src/xndomdocument.cpp
idlehomescreen/xmluirendering/dom/src/xndomlist.cpp
idlehomescreen/xmluirendering/dom/src/xndomnode.cpp
idlehomescreen/xmluirendering/dom/src/xndomproperty.cpp
idlehomescreen/xmluirendering/dom/src/xndompropertyvalue.cpp
idlehomescreen/xmluirendering/dom/src/xndomstringpool.cpp
idlehomescreen/xmluirendering/dom/src/xndomstringpooloptimizer.cpp
idlehomescreen/xmluirendering/ecomelement/group/bld.inf
idlehomescreen/xmluirendering/ecomelement/xndomvisitor/group/bld.inf
idlehomescreen/xmluirendering/ecomelement/xndomvisitor/group/xndomvisitor.mmp
idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xndomvisitor.h
idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xndomvisitor.rh
idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xnliteral.h
idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/102072BE.rss
idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/xndomvisitor.cpp
idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/xndomvisitorproxy.cpp
idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/bwins/xn3ecomelementproxyu.def
idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/eabi/xn3ecomelementproxyu.def
idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/group/bld.inf
idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/group/xnecomelementproxy.mmp
idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/src/xnecomelementproxy.cpp
idlehomescreen/xmluirendering/group/bld.inf
idlehomescreen/xmluirendering/inc/xntimemon.h
idlehomescreen/xmluirendering/inc/xuikon_builds_cfg.hrh
idlehomescreen/xmluirendering/odt/bwins/xn3odtu.def
idlehomescreen/xmluirendering/odt/eabi/xn3odtu.def
idlehomescreen/xmluirendering/odt/group/bld.inf
idlehomescreen/xmluirendering/odt/group/xnodt.mmp
idlehomescreen/xmluirendering/odt/src/xnodt.cpp
idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/bwins/extrenderingplugin.def
idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/eabi/extrenderingplugin.def
idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/group/extrenderingplugin.mmp
idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/src/xnextrenderingpluginadapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/group/xnanimationfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/inc/xnanimationadapter.h
idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/inc/xnanimationfactory.h
idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xn3animationfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimation.cpp
idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationadapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/group/xnbitmapfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/inc/xnbitmapadapter.h
idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/inc/xnbitmapfactory.h
idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/src/xn3bitmapfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/src/xnbitmap.cpp
idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/src/xnbitmapadapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/src/xnbitmapfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/group/xnclockfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockadapter.h
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockcontrol.h
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockface.h
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockfactory.h
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xn3clockfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclock.cpp
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockadapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockcontrol.cpp
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockface.cpp
idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/group/xnmenufactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/inc/xnmenufactory.h
idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/src/xn3menufactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/src/xnmenu.cpp
idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/src/xnmenuadapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/src/xnmenufactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/group/xnnewstickerfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/inc/xnnewstickeradapter.h
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/inc/xnnewstickercontrol.h
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/inc/xnnewstickerfactory.h
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xn3newstickerfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewsticker.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickeradapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickercontrol.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickerfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/group/xnnppluginfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnpplugin.h
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnppluginadapter.h
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnpplugincontroladapter.h
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnppluginfactory.h
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnppluginhandler.h
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xn3nppluginfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnpplugin.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnppluginadapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnpplugincontroladapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnppluginfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnppluginhandler.cpp
idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/group/xnpopupfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/inc/xnpopupadapter.h
idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/inc/xnpopupfactory.h
idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xn3popupfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopup.cpp
idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopupadapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopupfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/group/xntexteditorfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditoradapter.h
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditorfactory.h
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditorpublisher.h
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xn3texteditorfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditor.cpp
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditorfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditorpublisher.cpp
idlehomescreen/xmluirendering/renderingplugins/xntextfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xntextfactory/group/xntextfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xntextfactory/inc/xntextadapter.h
idlehomescreen/xmluirendering/renderingplugins/xntextfactory/inc/xntextfactory.h
idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xn3textfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntext.cpp
idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntextadapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntextfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/group/xnviewfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/inc/view.h
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/inc/viewcontrol.h
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/inc/viewfactory.h
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/src/view.cpp
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/src/viewcontrol.cpp
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/src/viewfactory.cpp
idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/src/xn3viewfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/group/bld.inf
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/group/xnvolumecontrolfactory.mmp
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/inc/xnvolumecontrol.rsg
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/inc/xnvolumecontroladapter.h
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/inc/xnvolumecontrolfactory.h
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xn3volumecontrol.rss
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xn3volumecontrolfactory.rss
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xnvolumecontrol.cpp
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xnvolumecontroladapter.cpp
idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xnvolumecontrolfactory.cpp
idlehomescreen/xmluirendering/rom/ai3xmluirendering.iby
idlehomescreen/xmluirendering/rom/ai3xmluirendering_resources.iby
idlehomescreen/xmluirendering/uiengine/bwins/xn3layoutengineu.def
idlehomescreen/xmluirendering/uiengine/eabi/xn3layoutengineu.def
idlehomescreen/xmluirendering/uiengine/group/bld.inf
idlehomescreen/xmluirendering/uiengine/group/xnlayoutengine.mmp
idlehomescreen/xmluirendering/uiengine/inc/xnappuiadapterimpl.h
idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h
idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h
idlehomescreen/xmluirendering/uiengine/inc/xncomposer.h
idlehomescreen/xmluirendering/uiengine/inc/xncontroladapterimpl.h
idlehomescreen/xmluirendering/uiengine/inc/xneditor.h
idlehomescreen/xmluirendering/uiengine/inc/xneffectmanager.h
idlehomescreen/xmluirendering/uiengine/inc/xnextrenderingpluginwrapper.h
idlehomescreen/xmluirendering/uiengine/inc/xnfocuscontrol.h
idlehomescreen/xmluirendering/uiengine/inc/xngesture.h
idlehomescreen/xmluirendering/uiengine/inc/xngesture.inl
idlehomescreen/xmluirendering/uiengine/inc/xngesturedefs.h
idlehomescreen/xmluirendering/uiengine/inc/xngesturehelper.h
idlehomescreen/xmluirendering/uiengine/inc/xngesturerecogniser.h
idlehomescreen/xmluirendering/uiengine/inc/xnhittest.h
idlehomescreen/xmluirendering/uiengine/inc/xninactivitymonitor.h
idlehomescreen/xmluirendering/uiengine/inc/xnkeyeventdispatcher.h
idlehomescreen/xmluirendering/uiengine/inc/xnlayoutengine.hrh
idlehomescreen/xmluirendering/uiengine/inc/xnnodepredicate.h
idlehomescreen/xmluirendering/uiengine/inc/xnodtparser.h
idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h
idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.inl
idlehomescreen/xmluirendering/uiengine/inc/xnplugindefs.h
idlehomescreen/xmluirendering/uiengine/inc/xnpointarray.h
idlehomescreen/xmluirendering/uiengine/inc/xnpointarray.inl
idlehomescreen/xmluirendering/uiengine/inc/xnpopupcontroladapter.h
idlehomescreen/xmluirendering/uiengine/inc/xnpropertycomparator.h
idlehomescreen/xmluirendering/uiengine/inc/xnpropertylist.h
idlehomescreen/xmluirendering/uiengine/inc/xnrootdata.h
idlehomescreen/xmluirendering/uiengine/inc/xnscrollablecontroladapter.h
idlehomescreen/xmluirendering/uiengine/inc/xnuiengineimpl.h
idlehomescreen/xmluirendering/uiengine/inc/xnuistatelistener.h
idlehomescreen/xmluirendering/uiengine/inc/xnviewadapter.h
idlehomescreen/xmluirendering/uiengine/inc/xnviewdata.h
idlehomescreen/xmluirendering/uiengine/inc/xnviewdata.inl
idlehomescreen/xmluirendering/uiengine/inc/xnviewsnodeimpl.h
idlehomescreen/xmluirendering/uiengine/inc/xnwallpapercontainer.h
idlehomescreen/xmluirendering/uiengine/inc/xnwallpaperview.h
idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h
idlehomescreen/xmluirendering/uiengine/src/xnapplication.cpp
idlehomescreen/xmluirendering/uiengine/src/xnappuiadapter.cpp
idlehomescreen/xmluirendering/uiengine/src/xnappuiadapterimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp
idlehomescreen/xmluirendering/uiengine/src/xnbgcontrol.cpp
idlehomescreen/xmluirendering/uiengine/src/xncomponent.cpp
idlehomescreen/xmluirendering/uiengine/src/xncomponentfactory.cpp
idlehomescreen/xmluirendering/uiengine/src/xncomponentnodeimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp
idlehomescreen/xmluirendering/uiengine/src/xncontroladapter.cpp
idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xndocument.cpp
idlehomescreen/xmluirendering/uiengine/src/xneditmode.cpp
idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp
idlehomescreen/xmluirendering/uiengine/src/xneffectmanager.cpp
idlehomescreen/xmluirendering/uiengine/src/xnextrenderingpluginwrapper.cpp
idlehomescreen/xmluirendering/uiengine/src/xnfocuscontrol.cpp
idlehomescreen/xmluirendering/uiengine/src/xngesture.cpp
idlehomescreen/xmluirendering/uiengine/src/xngesturehelper.cpp
idlehomescreen/xmluirendering/uiengine/src/xngesturerecogniser.cpp
idlehomescreen/xmluirendering/uiengine/src/xnhittest.cpp
idlehomescreen/xmluirendering/uiengine/src/xninactivitymonitor.cpp
idlehomescreen/xmluirendering/uiengine/src/xnkeyeventdispatcher.cpp
idlehomescreen/xmluirendering/uiengine/src/xnlistquerydialogadapter.cpp
idlehomescreen/xmluirendering/uiengine/src/xnnode.cpp
idlehomescreen/xmluirendering/uiengine/src/xnnodeappif.cpp
idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xnnodepluginif.cpp
idlehomescreen/xmluirendering/uiengine/src/xnnodepredicate.cpp
idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp
idlehomescreen/xmluirendering/uiengine/src/xnoomsyshandler.cpp
idlehomescreen/xmluirendering/uiengine/src/xnpanic.cpp
idlehomescreen/xmluirendering/uiengine/src/xnplugindata.cpp
idlehomescreen/xmluirendering/uiengine/src/xnpointarray.cpp
idlehomescreen/xmluirendering/uiengine/src/xnpopupcontroladapter.cpp
idlehomescreen/xmluirendering/uiengine/src/xnproperty.cpp
idlehomescreen/xmluirendering/uiengine/src/xnpropertycomparator.cpp
idlehomescreen/xmluirendering/uiengine/src/xnpropertylist.cpp
idlehomescreen/xmluirendering/uiengine/src/xnpropertysubscriber.cpp
idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp
idlehomescreen/xmluirendering/uiengine/src/xnscrollablecontroladapter.cpp
idlehomescreen/xmluirendering/uiengine/src/xnuiengine.cpp
idlehomescreen/xmluirendering/uiengine/src/xnuiengine.rss
idlehomescreen/xmluirendering/uiengine/src/xnuiengineappif.cpp
idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xnuienginepluginif.cpp
idlehomescreen/xmluirendering/uiengine/src/xnuistatelistener.cpp
idlehomescreen/xmluirendering/uiengine/src/xnutils.cpp
idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp
idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp
idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp
idlehomescreen/xmluirendering/uiengine/src/xnviewnodeimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xnviewsnodeimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xnwallpapercontainer.cpp
idlehomescreen/xmluirendering/uiengine/src/xnwallpaperview.cpp
idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp
idlehomescreen/xmluirendering/uiresource/bwins/xn3resourceu.def
idlehomescreen/xmluirendering/uiresource/eabi/xn3resourceu.def
idlehomescreen/xmluirendering/uiresource/group/bld.inf
idlehomescreen/xmluirendering/uiresource/group/xnresource.mmp
idlehomescreen/xmluirendering/uiresource/src/xnresource.cpp
idlehomescreen/xmluirendering/utils/bwins/xn3utilsu.def
idlehomescreen/xmluirendering/utils/eabi/xn3utilsu.def
idlehomescreen/xmluirendering/utils/group/bld.inf
idlehomescreen/xmluirendering/utils/group/xnutils.mmp
idlehomescreen/xmluirendering/utils/inc/xnlibraryloader.h
idlehomescreen/xmluirendering/utils/inc/xnpathrepository.h
idlehomescreen/xmluirendering/utils/inc/xnpointerarraywithownership.h
idlehomescreen/xmluirendering/utils/src/tracer.cpp
idlehomescreen/xmluirendering/utils/src/xnarray.cpp
idlehomescreen/xmluirendering/utils/src/xncomparator.cpp
idlehomescreen/xmluirendering/utils/src/xnecomhandler.cpp
idlehomescreen/xmluirendering/utils/src/xnmap.cpp
idlehomescreen/xmluirendering/utils/src/xnpointerarray.cpp
idlehomescreen/xmluirendering/utils/src/xnpointerarraywithownership.cpp
idlehomescreen/xmluirendering/utils/src/xntype.cpp
idlehomescreen/xmluirendering/utils/src/xnutils.cpp
layers.sysdef.xml
menufw/cenrep/keys_matrix.xls
menufw/group/bld.inf
menufw/hierarchynavigator/group/bld.inf
menufw/hierarchynavigator/hnengine/bwins/hnengineu.def
menufw/hierarchynavigator/hnengine/eabi/hnengineu.def
menufw/hierarchynavigator/hnengine/group/bld.inf
menufw/hierarchynavigator/hnengine/group/hnengine.mmp
menufw/hierarchynavigator/hnengine/inc/hncontrollerinterface.h
menufw/hierarchynavigator/hnengine/inc/hndatachangenotifier.h
menufw/hierarchynavigator/hnengine/inc/hndatachangeobserver.h
menufw/hierarchynavigator/hnengine/inc/hnengine.h
menufw/hierarchynavigator/hnengine/inc/hneventgenerator.h
menufw/hierarchynavigator/hnengine/inc/hninstallnotifier.h
menufw/hierarchynavigator/hnengine/inc/hninterface.h
menufw/hierarchynavigator/hnengine/inc/hnserviceglobals.h
menufw/hierarchynavigator/hnengine/inc/menudebug.h
menufw/hierarchynavigator/hnengine/inc/mymenudebug.h
menufw/hierarchynavigator/hnengine/src/hnengine.cpp
menufw/hierarchynavigator/hnengine/src/hninstallnotifier.cpp
menufw/hierarchynavigator/hnmetadatamodel/bwins/hnmetadatamodelu.def
menufw/hierarchynavigator/hnmetadatamodel/eabi/hnmetadatamodelu.def
menufw/hierarchynavigator/hnmetadatamodel/group/bld.inf
menufw/hierarchynavigator/hnmetadatamodel/group/hnmetadatamodel.mmp
menufw/hierarchynavigator/hnmetadatamodel/inc/hnbitmapidcache.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hncomplexcondition.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnconditionfactory.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnconditioninterface.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnfilter.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnglobals.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnhelper.inl
menufw/hierarchynavigator/hnmetadatamodel/inc/hnitemid.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdaction.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdbutton.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdevent.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmapping.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmappingelement.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmditem.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdlocalization.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdlocalizationelement.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdmenuitem.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdmodel.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdnotifyrequest.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdnotifyrequests.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdqueries.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdquery.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdservice.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdservicecommand.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdsuite.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdtoolbar.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmduimapping.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmduimappingelement.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvaluebase.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvalueimage.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvaluetext.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnqueryresultcollector.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnrepositoryobserver.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimplecondition.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditiondifferent.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionequal.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditiongreater.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionhas.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionhasnot.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionsmaller.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnstringhandler.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnutils.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlmodelcache.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlmodelprovider.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlsuitefilesreg.h
menufw/hierarchynavigator/hnmetadatamodel/inc/mymenudebug.h
menufw/hierarchynavigator/hnmetadatamodel/src/hnbitmapidcache.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hncomplexcondition.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnconditionfactory.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnfilter.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnitemid.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdaction.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdbutton.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdevent.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdeventmapping.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdeventmappingelement.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmditem.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalization.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalizationelement.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdmenuitem.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdmodel.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdnotifyrequest.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdnotifyrequests.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdqueries.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdquery.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservice.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservicecommand.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdsuite.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdtoolbar.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmduimapping.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmduimappingelement.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvaluebase.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvalueimage.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvaluetext.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnqueryresultcollector.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnrepositoryobserver.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimplecondition.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditiondifferent.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionequal.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditiongreater.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionhas.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionhasnot.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionsmaller.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnstringhandler.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnutils.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlmodelcache.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlmodelprovider.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlsuitefilesreg.cpp
menufw/hierarchynavigator/hnpresentationmodel/bwins/hnpresentationmodelu.def
menufw/hierarchynavigator/hnpresentationmodel/eabi/hnpresentationmodelu.def
menufw/hierarchynavigator/hnpresentationmodel/group/bld.inf
menufw/hierarchynavigator/hnpresentationmodel/group/hnpresentationmodel.mmp
menufw/hierarchynavigator/hnpresentationmodel/inc/hnactionmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributebase.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributeimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributetext.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovappimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovemptyimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovfileimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovider.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovliwimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovsvgimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovthememif.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnbuttonmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hneventhandler.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnextbmpiconholder.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hniconholder.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemfocushandler.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemsorder.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnmenuitemmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitemodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitemodelcontainer.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuiteobserver.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitesstack.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hntoolbarmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/mymenudebug.h
menufw/hierarchynavigator/hnpresentationmodel/src/hnactionmodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattributebase.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattributeimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattributetext.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovappimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovemptyimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovfileimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovider.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovliwimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovsvgimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovthememif.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnbuttonmodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hneventhandler.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnextbmpiconholder.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hniconholder.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnitemfocushandler.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnitemmodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnitemsorder.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnmenuitemmodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitemodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitemodelcontainer.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitesstack.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hntoolbarmodel.cpp
menufw/hierarchynavigator/hnutilities/bwins/hnutilitiesu.def
menufw/hierarchynavigator/hnutilities/data/20012474.txt
menufw/hierarchynavigator/hnutilities/data/20012474_newMenuFw.txt
menufw/hierarchynavigator/hnutilities/eabi/hnutilitiesu.def
menufw/hierarchynavigator/hnutilities/group/bld.inf
menufw/hierarchynavigator/hnutilities/group/hnutilities.mmp
menufw/hierarchynavigator/hnutilities/inc/hnconvutils.h
menufw/hierarchynavigator/hnutilities/inc/hnconvutils.inl
menufw/hierarchynavigator/hnutilities/inc/hnliwutils.h
menufw/hierarchynavigator/hnutilities/inc/hnmdbasekey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdbooleankey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdinteger64key.h
menufw/hierarchynavigator/hnutilities/inc/hnmdintegerkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdkeyfactory.h
menufw/hierarchynavigator/hnutilities/inc/hnmdlistkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdmapkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdstring16key.h
menufw/hierarchynavigator/hnutilities/inc/hnmdstring8key.h
menufw/hierarchynavigator/hnutilities/inc/hnmduidkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmduintegerkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdundefkey.h
menufw/hierarchynavigator/hnutilities/inc/hnrepositorymanager.h
menufw/hierarchynavigator/hnutilities/inc/hnservicehandler.h
menufw/hierarchynavigator/hnutilities/inc/mymenudebug.h
menufw/hierarchynavigator/hnutilities/src/hnconvutils.cpp
menufw/hierarchynavigator/hnutilities/src/hnliwutils.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdbasekey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdbooleankey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdinteger64key.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdintegerkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdkeyfactory.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdlistkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdmapkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdstring16key.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdstring8key.cpp
menufw/hierarchynavigator/hnutilities/src/hnmduidkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmduintegerkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdundefkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnrepositorymanager.cpp
menufw/hierarchynavigator/hnutilities/src/hnservicehandler.cpp
menufw/hierarchynavigator/rom/hierarchynavigator.iby
menufw/menufwui/group/bld.inf
menufw/menufwui/matrixmenu/data/matrixmenu.rss
menufw/menufwui/matrixmenu/data/matrixmenu_reg.rss
menufw/menufwui/matrixmenu/group/backup_registration.xml
menufw/menufwui/matrixmenu/group/bld.inf
menufw/menufwui/matrixmenu/group/matrixmenu.mmp
menufw/menufwui/matrixmenu/help/data/xhtml.zip
menufw/menufwui/matrixmenu/help/group/bld.inf
menufw/menufwui/matrixmenu/help/inc/app.hlp.hrh
menufw/menufwui/matrixmenu/help/rom/matrixmenuhelps_variant.iby
menufw/menufwui/matrixmenu/inc/mmactionrequest.h
menufw/menufwui/matrixmenu/inc/mmappkeyhandler.h
menufw/menufwui/matrixmenu/inc/mmapplication.h
menufw/menufwui/matrixmenu/inc/mmappui.h
menufw/menufwui/matrixmenu/inc/mmdocument.h
menufw/menufwui/matrixmenu/inc/mmgui.hrh
menufw/menufwui/matrixmenu/inc/mmguiconstants.h
menufw/menufwui/matrixmenu/inc/mmguiuid.hrh
menufw/menufwui/matrixmenu/inc/mmnomemory.h
menufw/menufwui/matrixmenu/inc/mymenudebug.h
menufw/menufwui/matrixmenu/loc/matrix_menu.loc
menufw/menufwui/matrixmenu/rom/matrixmenu.iby
menufw/menufwui/matrixmenu/rom/matrixmenu_resources.iby
menufw/menufwui/matrixmenu/src/mmappkeyhandler.cpp
menufw/menufwui/matrixmenu/src/mmapplication.cpp
menufw/menufwui/matrixmenu/src/mmappui.cpp
menufw/menufwui/matrixmenu/src/mmdocument.cpp
menufw/menufwui/matrixmenu/src/mmgui.cpp
menufw/menufwui/matrixmenu/src/mmnomemory.cpp
menufw/menufwui/mmextensions/group/bld.inf
menufw/menufwui/mmextensions/mmextensionmanager/BWINS/mmextensionmanageru.def
menufw/menufwui/mmextensions/mmextensionmanager/EABI/mmextensionmanageru.def
menufw/menufwui/mmextensions/mmextensionmanager/group/bld.inf
menufw/menufwui/mmextensions/mmextensionmanager/group/mmextensionmanager.mmp
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmdialogmanager.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmecomobserver.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionmanager.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugin.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugin.inl
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugindef.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionpluginuids.hrh
menufw/menufwui/mmextensions/mmextensionmanager/inc/mymenudebug.h
menufw/menufwui/mmextensions/mmextensionmanager/src/mmecomobserver.cpp
menufw/menufwui/mmextensions/mmextensionmanager/src/mmextensionmanager.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/data/mmfolderuiextensionplugin.rss
menufw/menufwui/mmextensions/mmfolderuiextension/data/mmfolderuiextplugin.rss
menufw/menufwui/mmextensions/mmfolderuiextension/group/bld.inf
menufw/menufwui/mmextensions/mmfolderuiextension/group/mmfolderuiextensionplugin.mmp
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommand.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommandadd.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommanddelete.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommandrename.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfolderuiextplugin.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfolderuiextpluginconstants.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmmovetofoldercommand.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmpluginsharedresources.h
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommand.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommandadd.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommanddelete.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommandrename.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfolderuiextplugin.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmmovetofoldercommand.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmpluginsharedresources.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmproxy.cpp
menufw/menufwui/mmextensions/rom/mmextensions.iby
menufw/menufwui/mmextensions/rom/mmextensions_resources.iby
menufw/menufwui/mmwidgets/bwins/mmwidgetsu.def
menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_1.xml
menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_2.xml
menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_3.xml
menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_4.xml
menufw/menufwui/mmwidgets/data/grid/custom/akn_single_large_graphic_pane.xml
menufw/menufwui/mmwidgets/data/grid/lct/akn_logical_template_3.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_1.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_10.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_11.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_12.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_13.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_2.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_3.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_4.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_5.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_6.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_7.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_8.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_single_large_graphic_pane.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_list_single_hc_apps_pane.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_1.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_12.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_2.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_3.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_4.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_5.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_6.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_6a.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_7.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_8.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_single_large_graphic_pane.xml
menufw/menufwui/mmwidgets/eabi/mmwidgetsu.def
menufw/menufwui/mmwidgets/group/bld.inf
menufw/menufwui/mmwidgets/group/mmwidgets.mmp
menufw/menufwui/mmwidgets/inc/mmcacheforitem.h
menufw/menufwui/mmwidgets/inc/mmcacheforitem.inl
menufw/menufwui/mmwidgets/inc/mmdraganddropobserver.h
menufw/menufwui/mmwidgets/inc/mmdraweranimator.h
menufw/menufwui/mmwidgets/inc/mmfloatingitem.h
menufw/menufwui/mmwidgets/inc/mmgrid.h
menufw/menufwui/mmwidgets/inc/mmgridcontainer.h
menufw/menufwui/mmwidgets/inc/mmgridmodel.h
menufw/menufwui/mmwidgets/inc/mmgridview.h
menufw/menufwui/mmwidgets/inc/mmitemsdatacache.h
menufw/menufwui/mmwidgets/inc/mmkeyeventobserver.h
menufw/menufwui/mmwidgets/inc/mmlctutils.h
menufw/menufwui/mmwidgets/inc/mmlistbox.h
menufw/menufwui/mmwidgets/inc/mmlistboxcontainer.h
menufw/menufwui/mmwidgets/inc/mmlistboxitemdrawer.h
menufw/menufwui/mmwidgets/inc/mmlistboxmodel.h
menufw/menufwui/mmwidgets/inc/mmlistboxview.h
menufw/menufwui/mmwidgets/inc/mmlongtapobserver.h
menufw/menufwui/mmwidgets/inc/mmmarqueeadapter.h
menufw/menufwui/mmwidgets/inc/mmpostevaluationprocessor.h
menufw/menufwui/mmwidgets/inc/mmsubcellssetupcode.h
menufw/menufwui/mmwidgets/inc/mmsubcellssetupcode.inl
menufw/menufwui/mmwidgets/inc/mmtemplatelibrary.h
menufw/menufwui/mmwidgets/inc/mmvisibilityobserver.h
menufw/menufwui/mmwidgets/inc/mmwidgetcontainer.h
menufw/menufwui/mmwidgets/inc/mmwidgetobserver.h
menufw/menufwui/mmwidgets/inc/mmwidgetsconstants.h
menufw/menufwui/mmwidgets/rom/mmwidgets.iby
menufw/menufwui/mmwidgets/src/mmcacheforitem.cpp
menufw/menufwui/mmwidgets/src/mmdraweranimator.cpp
menufw/menufwui/mmwidgets/src/mmfloatingitem.cpp
menufw/menufwui/mmwidgets/src/mmgrid.cpp
menufw/menufwui/mmwidgets/src/mmgridcontainer.cpp
menufw/menufwui/mmwidgets/src/mmgridmodel.cpp
menufw/menufwui/mmwidgets/src/mmgridview.cpp
menufw/menufwui/mmwidgets/src/mmitemsdatacache.cpp
menufw/menufwui/mmwidgets/src/mmlctutils.cpp
menufw/menufwui/mmwidgets/src/mmlistbox.cpp
menufw/menufwui/mmwidgets/src/mmlistboxcontainer.cpp
menufw/menufwui/mmwidgets/src/mmlistboxitemdrawer.cpp
menufw/menufwui/mmwidgets/src/mmlistboxmodel.cpp
menufw/menufwui/mmwidgets/src/mmlistboxview.cpp
menufw/menufwui/mmwidgets/src/mmmarqueeadapter.cpp
menufw/menufwui/mmwidgets/src/mmpostevaluationprocessor.cpp
menufw/menufwui/mmwidgets/src/mmtemplatelibrary.cpp
menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp
menufw/menufwui/mmwidgets/src/mymenudebug.h
menufw/menusuites/data/mmenuschema.xsd
menufw/menusuites/foldersuite/bwins/dummyCu.def
menufw/menusuites/foldersuite/data/foldersuite.rss
menufw/menusuites/foldersuite/data/items_nontouch.xml
menufw/menusuites/foldersuite/data/items_touch.xml
menufw/menusuites/foldersuite/data/matrixmenudata.dtd
menufw/menusuites/foldersuite/data/matrixmenudata.xml
menufw/menusuites/foldersuite/data/matrixmenudatatestcontent.xml
menufw/menusuites/foldersuite/data/suite.xml
menufw/menusuites/foldersuite/eabi/dummyCu.def
menufw/menusuites/foldersuite/gfx/qgn_move_arrow_bottom.svg
menufw/menusuites/foldersuite/gfx/qgn_move_arrow_left.svg
menufw/menusuites/foldersuite/gfx/qgn_move_arrow_right.svg
menufw/menusuites/foldersuite/gfx/qgn_move_arrow_top.svg
menufw/menusuites/foldersuite/gfx/qgn_move_frame.svg
menufw/menusuites/foldersuite/group/bld.inf
menufw/menusuites/foldersuite/group/copyheaderfile.flm
menufw/menusuites/foldersuite/group/copyheaderfile.meta
menufw/menusuites/foldersuite/group/copyheaderfile.xml
menufw/menusuites/foldersuite/group/exportfoldersuite.mk
menufw/menusuites/foldersuite/group/exportmoveindicatoricons.mk
menufw/menusuites/foldersuite/group/foldersuite.mmp
menufw/menusuites/foldersuite/loc/matrixmenudata.loc
menufw/menusuites/foldersuite/src/dummyC.cpp
menufw/menusuites/group/bld.inf
menufw/menusuites/group/build.xml
menufw/menusuites/group/validate.mk
menufw/menusuites/group/validateNewMenuFw.mk
menufw/menusuites/rom/menusuites.iby
menufw/menusuites/rom/menusuites_resources.iby
menufw/rom/menufw_stub.iby
menufw/sis/menufw_SA_RU.pkg
menufw/sis/menufw_stub.pkg
screensaverapp/bwins/snsrutilsu.def
screensaverapp/common.pri
screensaverapp/eabi/snsrutilsu.def
screensaverapp/inc/snsrtest_global.h
screensaverapp/misc/cmt/cmtsnsr.cmd
screensaverapp/misc/cmt/collectsnsrfiles.cmd
screensaverapp/misc/cmt/snsrconf.ini
screensaverapp/misc/screensaver_uids.xls
screensaverapp/rom/screensaverapp.iby
screensaverapp/runtimeproviders/runtimeproviders.pro
screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/inc/snsrdefaultruntime.h
screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/inc/snsrdefaultruntimeprovider.h
screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/resource/snsrdefaultruntimeprovider.manifest
screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/snsrdefaultruntimeprovider.pri
screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/snsrdefaultruntimeprovider.pro
screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/src/snsrdefaultruntime.cpp
screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/src/snsrdefaultruntimeprovider.cpp
screensaverapp/screensaverapp.pro
screensaverapp/screensaverapp_exports_to_rom.pri
screensaverapp/screensaverproviders/screensaverproviders.pro
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsranalogclockcontainer.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockcontainer.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockscreensaver.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockscreensaverprovider.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrdigitalclockcontainer.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrdocumentloader.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsroledanalogclockcontainer.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsroleddigitalclockcontainer.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/resource/snsrbigclockscreensaverprovider.manifest
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/inc/snsranalogclockstyleplugin.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockstyleplugin.manifest
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockwidget.css
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockwidget.widgetml
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.pri
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.pro
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.qrc
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/src/snsranalogclockstyleplugin.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaver.qrc
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaverprovider.pri
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaverprovider.pro
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsranalogclockwidget.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsroledclockwidget.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsrstyleoptionanalogclock.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsrstyleoptionoledanalogclock.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsranalogclockwidget.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsroledclockwidget.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsrstyleoptionanalogclock.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsrstyleoptionoledanalogclock.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/inc/snsroledclockstyleplugin.h
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockstyleplugin.manifest
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockwidget.css
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockwidget.widgetml
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.pri
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.pro
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.qrc
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/src/snsroledclockstyleplugin.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsranalogclockcontainer.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockcontainer.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockscreensaver.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockscreensaverprovider.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrdigitalclockcontainer.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrdocumentloader.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsroledanalogclockcontainer.cpp
screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsroleddigitalclockcontainer.cpp
screensaverapp/serviceproviders/bwins/snsruseractivityserviceu.def
screensaverapp/serviceproviders/eabi/snsruseractivityserviceu.def
screensaverapp/serviceproviders/serviceproviders.pro
screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityservice.h
screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityservice_global.h
screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityserviceinterface.h
screensaverapp/serviceproviders/snsruseractivityservice/s60/inc/snsruseractivityservice_p.h
screensaverapp/serviceproviders/snsruseractivityservice/s60/src/snsruseractivityservice_p.cpp
screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice.pri
screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice.pro
screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice_s60.pri
screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice_stub.pri
screensaverapp/serviceproviders/snsruseractivityservice/src/snsruseractivityservice.cpp
screensaverapp/serviceproviders/snsruseractivityservice/stub/inc/snsruseractivityservice_p.h
screensaverapp/serviceproviders/snsruseractivityservice/stub/src/snsruseractivityservice_p.cpp
screensaverapp/sis/rd-key.pem
screensaverapp/sis/rd.cer
screensaverapp/sis/screensaverapp.pkg
screensaverapp/sis/screensaverapp_sisx.bat
screensaverapp/snsrapplication/inc/snsrscreensaver.h
screensaverapp/snsrapplication/installs_symbian.pri
screensaverapp/snsrapplication/installs_win.pri
screensaverapp/snsrapplication/screensaverapp_fallbacktheme.qrc
screensaverapp/snsrapplication/snsrapplication.pri
screensaverapp/snsrapplication/snsrapplication.pro
screensaverapp/snsrapplication/src/main.cpp
screensaverapp/snsrapplication/src/snsrscreensaver.cpp
screensaverapp/snsrapplication/themes/icons/hbdefault/pixmap/analog-clock-background.png
screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/analog-clock-hour-hand.svg
screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/analog-clock-minute-hand.svg
screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-background.svg
screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-date-frame.svg
screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-hour-hand.svg
screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-minute-hand.svg
screensaverapp/snsrapplication/themes/icons/theme1/analog-clock-background.png
screensaverapp/snsrapplication/themes/icons/theme1/analog-clock-hour-hand.svg
screensaverapp/snsrapplication/themes/icons/theme1/analog-clock-minute-hand.svg
screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-background.svg
screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-hour-hand.svg
screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-minute-hand.svg
screensaverapp/snsrapplication/themes/style/defaulttheme/hbcolorgroup.css
screensaverapp/snsrapplication/themes/style/theme1/hbcolorgroup.css
screensaverapp/snsrapplication/themes/style/theme2/hbcolorgroup.css
screensaverapp/snsrutils/inc/snsrlabel.h
screensaverapp/snsrutils/inc/snsrutils_global.h
screensaverapp/snsrutils/snsrutils.pri
screensaverapp/snsrutils/snsrutils.pro
screensaverapp/snsrutils/src/snsrlabel.cpp
screensaverapp/stateproviders/snsrdefaultstateprovider/inc/snsrdefaultstateprovider.h
screensaverapp/stateproviders/snsrdefaultstateprovider/inc/snsrrootstate.h
screensaverapp/stateproviders/snsrdefaultstateprovider/resource/snsrdefaultstateprovider.manifest
screensaverapp/stateproviders/snsrdefaultstateprovider/snsrdefaultstateprovider.pri
screensaverapp/stateproviders/snsrdefaultstateprovider/snsrdefaultstateprovider.pro
screensaverapp/stateproviders/snsrdefaultstateprovider/src/snsrdefaultstateprovider.cpp
screensaverapp/stateproviders/snsrdefaultstateprovider/src/snsrrootstate.cpp
screensaverapp/stateproviders/stateproviders.pro
sysdef_1_4_0.dtd
sysdef_1_5_1.dtd
taskswitcher/contextengine/group/bld.inf
taskswitcher/contextengine/rom/tscontextservices.iby
taskswitcher/contextengine/sis/stubs/createstubs.bat
taskswitcher/contextengine/sis/stubs/tsctxsrv_stub.pkg
taskswitcher/contextengine/sis/stubs/tsctxsrv_stub.sis
taskswitcher/contextengine/trace/tslogging.h
taskswitcher/contextengine/trace/tslogutils.h
taskswitcher/contextengine/tsctxutils/bwins/tscontextservicesutilsu.def
taskswitcher/contextengine/tsctxutils/eabi/tscontextservicesutilsu.def
taskswitcher/contextengine/tsctxutils/group/bld.inf
taskswitcher/contextengine/tsctxutils/group/tscontextservicesutils.mmp
taskswitcher/contextengine/tsctxutils/inc/tscenreplistener.h
taskswitcher/contextengine/tsctxutils/inc/tsproplistener.h
taskswitcher/contextengine/tsctxutils/src/tscenreplistener.cpp
taskswitcher/contextengine/tsctxutils/src/tsproplistener.cpp
taskswitcher/contextengine/tsfswpreviewprovider/bwins/tspreviewprovideru.def
taskswitcher/contextengine/tsfswpreviewprovider/eabi/tspreviewprovideru.def
taskswitcher/contextengine/tsfswpreviewprovider/group/bld.inf
taskswitcher/contextengine/tsfswpreviewprovider/group/previewprovider.mmp
taskswitcher/contextengine/tsfswpreviewprovider/inc/previewmsg.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/previewproviderlogging.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tsfastswappreviewproviderlogging.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewobserver.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewprovider.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewproviderclient.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tspropertylistener.h
taskswitcher/contextengine/tsfswpreviewprovider/rom/tsfastswappreviewprovider.iby
taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewprovider.cpp
taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewproviderclient.cpp
taskswitcher/contextengine/tsfswpreviewprovider/src/tspropertylistener.cpp
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/group/bld.inf
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/group/previewprovidercrp.mmp
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrp.h
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrplogging.h
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/20016BEC.rss
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/previewprovidercrp.cpp
taskswitcher/contextengine/tsfswserver/client/bwins/tsfswclientu.def
taskswitcher/contextengine/tsfswserver/client/eabi/tsfswclientu.def
taskswitcher/contextengine/tsfswserver/client/group/bld.inf
taskswitcher/contextengine/tsfswserver/client/group/tsfswclient.mmp
taskswitcher/contextengine/tsfswserver/client/inc/clientlogging.h
taskswitcher/contextengine/tsfswserver/client/inc/tsfswclient.h
taskswitcher/contextengine/tsfswserver/client/inc/tsfswclientimpl.h
taskswitcher/contextengine/tsfswserver/client/inc/tsfswclientobserver.h
taskswitcher/contextengine/tsfswserver/client/src/tsfswclient.cpp
taskswitcher/contextengine/tsfswserver/client/src/tsfswclientimpl.cpp
taskswitcher/contextengine/tsfswserver/engine/bwins/tsfswengineu.def
taskswitcher/contextengine/tsfswserver/engine/eabi/tsfswengineu.def
taskswitcher/contextengine/tsfswserver/engine/group/bld.inf
taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp
taskswitcher/contextengine/tsfswserver/engine/inc/enginelogging.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfsalwaysshownapplist.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfshiddenapplist.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfswiconcache.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfswobservers.h
taskswitcher/contextengine/tsfswserver/engine/src/tsfsalwaysshownapplist.cpp
taskswitcher/contextengine/tsfswserver/engine/src/tsfshiddenapplist.cpp
taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp
taskswitcher/contextengine/tsfswserver/engine/src/tsfswiconcache.cpp
taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp
taskswitcher/contextengine/tsfswserver/group/bld.inf
taskswitcher/contextengine/tsfswserver/inc/tsfswclient.h
taskswitcher/contextengine/tsfswserver/inc/tsfswclientobserver.h
taskswitcher/contextengine/tsfswserver/inc/tsfswcommon.h
taskswitcher/contextengine/tsfswserver/rom/tsfswserver.iby
taskswitcher/contextengine/tsfswserver/server/group/bld.inf
taskswitcher/contextengine/tsfswserver/server/group/tsfswserver.mmp
taskswitcher/contextengine/tsfswserver/server/inc/serverlogging.h
taskswitcher/contextengine/tsfswserver/server/inc/tsfswappui.h
taskswitcher/contextengine/tsfswserver/server/inc/tsfswserver.h
taskswitcher/contextengine/tsfswserver/server/inc/tsfswsession.h
taskswitcher/contextengine/tsfswserver/server/src/tsfswappui.cpp
taskswitcher/contextengine/tsfswserver/server/src/tsfswserver.cpp
taskswitcher/contextengine/tsfswserver/server/src/tsfswsession.cpp
taskswitcher/contextengine/tsfswserver/utils/bwins/tsfswutilsu.def
taskswitcher/contextengine/tsfswserver/utils/eabi/tsfswutilsu.def
taskswitcher/contextengine/tsfswserver/utils/group/bld.inf
taskswitcher/contextengine/tsfswserver/utils/group/tsfswutils.mmp
taskswitcher/contextengine/tsfswserver/utils/inc/tsfswentry.h
taskswitcher/contextengine/tsfswserver/utils/inc/utilslogging.h
taskswitcher/contextengine/tsfswserver/utils/src/tsfswentry.cpp
taskswitcher/group/bld.inf
taskswitcher/taskswitcherui/group/bld.inf
taskswitcher/taskswitcherui/rom/taskswitcher.iby
taskswitcher/taskswitcherui/rom/taskswitcherresources.iby
taskswitcher/taskswitcherui/sis/stubs/createstubs.bat
taskswitcher/taskswitcherui/sis/stubs/taskswitcher_stub.pkg
taskswitcher/taskswitcherui/sis/stubs/taskswitcher_stub.sis
taskswitcher/taskswitcherui/sis/taskswitcher.pkg
taskswitcher/taskswitcherui/taskswitcherapp/data/tstaskswitcher.rss
taskswitcher/taskswitcherui/taskswitcherapp/data/tstaskswitcher_reg.rss
taskswitcher/taskswitcherui/taskswitcherapp/group/backup_registration.xml
taskswitcher/taskswitcherui/taskswitcherapp/group/bld.inf
taskswitcher/taskswitcherui/taskswitcherapp/group/tsapp.mmp
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsapplication.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsapplogging.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappview.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tscommands.hrh
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdatachangeobserver.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdevicestate.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdocument.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontrolerobserver.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswapgrid.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysics.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysicsengine.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsuid.hrh
taskswitcher/taskswitcherui/taskswitcherapp/loc/taskswitcher.loc
taskswitcher/taskswitcherui/taskswitcherapp/src/tsapplication.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsdevicestate.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsdocument.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswapgrid.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysics.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysicsengine.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tstaskswitcher.cpp
taskswitcher/taskswitcherui/taskswitcherappecom/data/tsappecom.rss
taskswitcher/taskswitcherui/taskswitcherappecom/group/bld.inf
taskswitcher/taskswitcherui/taskswitcherappecom/group/tsappecom.mmp
taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecom.h
taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecomconst.hrh
taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecomlogging.h
taskswitcher/taskswitcherui/taskswitcherappecom/src/proxy.cpp
taskswitcher/taskswitcherui/taskswitcherappecom/src/tsappecom.cpp
taskswitcher/taskswitcherui/trace/tslogging.h
taskswitcher/taskswitcherui/trace/tslogutils.h
taskswitcherapp/common.pri
taskswitcherapp/rom.pri
taskswitcherapp/rom/tsapplication_core.iby
taskswitcherapp/rom/tsapplication_resources.iby
taskswitcherapp/runtimeplugins/runtimeplugins.pro
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/inc/tsdefaultruntime.h
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/inc/tsdefaultruntimeplugin.h
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/serviceinstaller.pro
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/bld.inf
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.cpp
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.pro
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.qrc
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/src/tsdefaultruntime.cpp
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/src/tsdefaultruntimeplugin.cpp
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/tsdefaultruntimeplugin.pro
taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/tsdefaultruntimeplugin.xml
taskswitcherapp/sis/buildSis.cmd
taskswitcherapp/sis/edit_pkg.pl
taskswitcherapp/sis/stubs/createstubs.bat
taskswitcherapp/sis/stubs/taskswitcher_stub.pkg
taskswitcherapp/sis/stubs/taskswitcher_stub.sis
taskswitcherapp/sis/taskswitcher.pkg
taskswitcherapp/taskswitcherapp.pro
taskswitcherapp/taskswitcherappecom/data/tsappecom.rss
taskswitcherapp/taskswitcherappecom/group/tsappecom.mmp
taskswitcherapp/taskswitcherappecom/inc/tsappecom.h
taskswitcherapp/taskswitcherappecom/inc/tsappecomconst.hrh
taskswitcherapp/taskswitcherappecom/src/proxy.cpp
taskswitcherapp/taskswitcherappecom/src/tsappecom.cpp
taskswitcherapp/taskswitcherappecom/taskswitcherappecom.pro
taskswitcherapp/tsapplication/inc/tstaskswitcher.h
taskswitcherapp/tsapplication/src/main.cpp
taskswitcherapp/tsapplication/src/tstaskswitcher.cpp
taskswitcherapp/tsapplication/tsapplication.pro
taskswitcherapp/tsapplication/tsapplication.qrc
taskswitcherapp/tsserviceplugin/inc/s60/tslongpresswatcher_p.h
taskswitcherapp/tsserviceplugin/inc/tsactivation.h
taskswitcherapp/tsserviceplugin/inc/tsactivationinterface.h
taskswitcherapp/tsserviceplugin/inc/tsclosedapplicationsfiltermodel.h
taskswitcherapp/tsserviceplugin/inc/tsdataroles.h
taskswitcherapp/tsserviceplugin/inc/tsdeactivation.h
taskswitcherapp/tsserviceplugin/inc/tsdeactivationinterface.h
taskswitcherapp/tsserviceplugin/inc/tsdocumentloader.h
taskswitcherapp/tsserviceplugin/inc/tsitemprovider.h
taskswitcherapp/tsserviceplugin/inc/tsitemproviderinterface.h
taskswitcherapp/tsserviceplugin/inc/tslongpresswatcher.h
taskswitcherapp/tsserviceplugin/inc/tspresentation.h
taskswitcherapp/tsserviceplugin/inc/tspresentationinterface.h
taskswitcherapp/tsserviceplugin/inc/tsrecentapplicationsmodel.h
taskswitcherapp/tsserviceplugin/inc/tsserviceplugin.h
taskswitcherapp/tsserviceplugin/inc/tstaskpopuphandler.h
taskswitcherapp/tsserviceplugin/inc/tstasksgrid.h
taskswitcherapp/tsserviceplugin/inc/tstasksgriditem.h
taskswitcherapp/tsserviceplugin/inc/win/tslongpresswatcher_p.h
taskswitcherapp/tsserviceplugin/resource/delete.png
taskswitcherapp/tsserviceplugin/serviceinstaller/serviceinstaller.pro
taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.cpp
taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.pro
taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.qrc
taskswitcherapp/tsserviceplugin/src/s60/tslongpresswatcher_p.cpp
taskswitcherapp/tsserviceplugin/src/tsactivation.cpp
taskswitcherapp/tsserviceplugin/src/tsclosedapplicationsfiltermodel.cpp
taskswitcherapp/tsserviceplugin/src/tsdeactivation.cpp
taskswitcherapp/tsserviceplugin/src/tsdocumentloader.cpp
taskswitcherapp/tsserviceplugin/src/tsitemprovider.cpp
taskswitcherapp/tsserviceplugin/src/tslongpresswatcher.cpp
taskswitcherapp/tsserviceplugin/src/tspresentation.cpp
taskswitcherapp/tsserviceplugin/src/tsrecentapplicationsmodel.cpp
taskswitcherapp/tsserviceplugin/src/tsserviceplugin.cpp
taskswitcherapp/tsserviceplugin/src/tstaskpopuphandler.cpp
taskswitcherapp/tsserviceplugin/src/tstasksgriditem.cpp
taskswitcherapp/tsserviceplugin/src/win/tslongpresswatcher_p.cpp
taskswitcherapp/tsserviceplugin/taskswitcher.qm
taskswitcherapp/tsserviceplugin/taskswitcher.ts
taskswitcherapp/tsserviceplugin/tspresentation.qrc
taskswitcherapp/tsserviceplugin/tsrc/t_tsitemprovider/data/castoragedb
taskswitcherapp/tsserviceplugin/tsserviceplugin.pro
taskswitcherapp/tsserviceplugin/tsserviceplugin.xml
tsrc/group/bld.inf
--- a/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build info file for Ado domain uishellservices
-*
-*/
-
-
-//  uishellservices ado
-#include "../homescreen_plat/group/bld.inf"
-#include "../idlehomescreen/group/bld.inf"
-#include "../menufw/group/bld.inf"
-#include "../taskswitcher/group/bld.inf"
-
-PRJ_PLATFORMS
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-
-
-//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreen.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  =  homescreenapp
+SUBDIRS += taskswitcherapp
+
+screensaver:SUBDIRS += screensaverapp
+
+CONFIG += ordered
--- a/homescreen_plat/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +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:  Includes all the Domain API specific bld.inf files, which 
-*                export files.
-*
-*/
-
-
-#include "../menu_settings_api/group/bld.inf"
-#include "../hs_content_control_ui/group/bld.inf"
-#include "../hs_renderingplugin_api/group/bld.inf"
\ No newline at end of file
--- a/homescreen_plat/hs_content_control_ui/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  Build information file for project hs_content_control_api
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/hscontentcontrolui.h     APP_LAYER_PLATFORM_EXPORT_PATH(hscontentcontrolui.h)
--- a/homescreen_plat/hs_content_control_ui/inc/hscontentcontrolui.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +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:  
- *
- */
-
-#ifndef HSCONTENTCONTROLUI_H
-#define HSCONTENTCONTROLUI_H
-
-// System includes
-#include <e32base.h>
-#include <ecom/ecom.h>
-
-// Forward declarations
-class MHsContentController;
-
-/**
- *  Content control UI interface
- *
- *
- *  @code
- *
- *  @endcode
- *
- *  @lib hscontentcontrol.lib
- *  @since S60 v5.0
- */
-class MHsContentControlUi
-    {
-public:
-    /**
-     *
-     */
-    virtual void Activate() = 0;
-
-    /**
-     *
-     */
-    virtual void NotifyWidgetListChanged() = 0;
-
-    /**
-     *
-     */
-    virtual void NotifyViewListChanged() = 0;
-
-    /**
-     *
-     */
-    virtual void NotifyAppListChanged() = 0;
-    
-    /**
-    *
-    */
-    virtual void SetContentController( MHsContentController* aController ) = 0;
-    };
-
-/**
- *  Content control UI base class
- *
- *
- *  @code
- *
- *  @endcode
- *
- *  @lib hscontentcontrol.lib
- *  @since S60 v5.0
- */
-class CHsContentControlUi : public CBase, public MHsContentControlUi
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aImplUid Requested implementation UID
-     */
-    IMPORT_C static CHsContentControlUi* NewL(
-        TUid aImplUid );
-
-    /**
-     * Destructor.
-     */
-    inline ~CHsContentControlUi();
-
-public:  // From MHsContentControlUi
-    /**
-     *
-     */
-    inline void Activate();
-
-    /**
-     *
-     */
-    inline void NotifyWidgetListChanged();
-
-    /**
-     *
-     */
-    inline void NotifyViewListChanged();
-
-    /**
-     *
-     */
-    inline void NotifyAppListChanged();
-    
-    /**
-     *
-     */
-    void SetContentController(
-        MHsContentController* aController );
-    
-
-public:  // New functions
-
-    /**
-     *
-     */
-    TUid ImplUid() const;
-
-    /**
-     *
-     */
-    void SetContentControlTypeL(
-        const TDesC8& aContentControlType );
-
-    /**
-     *
-     */
-    const TDesC8& ContentControlType() const;
-
-protected: // Data
-
-    /**
-     *
-     */
-    MHsContentController* iHsContentController;
-
-private: // Data
-    
-    /**
-     *
-     */
-    TUid iDestructKey;
-    
-    /**
-     *
-     */
-    TUid iImplUid;
-
-    /**
-     *
-     */
-    HBufC8* iContentControlType;
-
-    };
-
-inline CHsContentControlUi::~CHsContentControlUi()
-    {
-    delete iContentControlType;
-    REComSession::DestroyedImplementation( iDestructKey );
-    }
-
-inline void CHsContentControlUi::Activate()
-    {
-    // Default implementation of MHsContentControlUi method
-    }
-inline void CHsContentControlUi::NotifyWidgetListChanged()
-    {
-    // Default implementation of MHsContentControlUi method
-    }
-inline void CHsContentControlUi::NotifyViewListChanged()
-    {
-    // Default implementation of MHsContentControlUi method
-    }
-inline void CHsContentControlUi::NotifyAppListChanged()
-    {
-    // Default implementation of MHsContentControlUi method
-    }
-
-inline void CHsContentControlUi::SetContentController(
-    MHsContentController* aController )
-    {
-    iHsContentController = aController;
-    }
-
-#endif // HSCONTENTCONTROLUI_H
-// End of file
--- a/homescreen_plat/hs_renderingplugin_api/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  External rendering plugin API bld file
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/xnextrenderingpluginadapter.h     APP_LAYER_PLATFORM_EXPORT_PATH(xnextrenderingpluginadapter.h)
--- a/homescreen_plat/hs_renderingplugin_api/inc/xnextrenderingpluginadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +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:  External rendering plugin adapter header
-*
-*/
-
-#ifndef XNEXTRENDERINGPLUGINADAPTER_H
-#define XNEXTRENDERINGPLUGINADAPTER_H
-
-// System includes
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include <coecntrl.h>
-
-// User includes
-
-/**
- *  CXnExtRenderingPluginAdapter class
- *
- *
- *  @code
- *
- *  @endcode
- *
- *  @lib extrenderingplugin.lib
- *  @since S60 v5.0
- */
-class CXnExtRenderingPluginAdapter : public CCoeControl
-    {
-public: // Constructor and destructor
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CXnExtRenderingPluginAdapter* NewL( TUid aImplUid );
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnExtRenderingPluginAdapter();  
-
-private: // Constructors
-    /**
-     * Constructor
-     */
-    // CXnExtRenderingPluginAdapter();
-
-    /** 
-     * Second phase constructor 
-     */
-    // void ConstructL();
-
-public: // New functions,
-
-    /**
-     * Returns the implementation uid.
-     */
-    IMPORT_C TUid ImplUid() const;
-
-    /**
-     * Enters power save mode.
-     */
-    IMPORT_C virtual void EnterPowerSaveModeL();
-
-    /**
-     * Exits power save mode.
-     */    
-    IMPORT_C virtual void ExitPowerSaveModeL();
-
-    /**
-     * Informs skin change.
-     */    
-    IMPORT_C virtual void SkinChanged();
-    
-    /**
-     * Informs focuschange.
-     */
-    IMPORT_C virtual void FocusChanged( TDrawNow aDrawNow );
-    
-    /**
-     * Informs size change.
-     */
-    IMPORT_C virtual void SizeChanged();
-
-private: // Data
-
-    /**
-     * Destruct key
-     */
-    TUid iDestructKey;
-    
-    /**
-     * Implementation UID
-     */
-    TUid iImplUid;
-    };
-
-
-#endif // XNEXTRENDERINGPLUGINADAPTER_H
-
-// End of file
--- a/homescreen_plat/menu_settings_api/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Build information file for project menu_settings_api
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/mmenuinternalPSkeys.h     APP_LAYER_PLATFORM_EXPORT_PATH(mmenuinternalPSkeys.h)
-
--- a/homescreen_plat/menu_settings_api/inc/mmenuinternalPSkeys.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  Menu PS Keys
-*  Version     : 
-*
-*/
-
-#ifndef MMENUINTERNALPSKEYS_H
-#define MMENUINTERNALPSKEYS_H
-
-// Matrix Menu P&S category 
-const TUid KMMenuPSCat = {0x101F4CD2};
-// Key that stores last used - current view (it is text value)
-const TUint KMMenuLastViewKey = 0x01;
-// name of folder view
-_LIT(KMMenuFolderView, "foldersuite");
-
-#endif      // MMENUINTERNALPSKEYS_H
--- a/homescreen_plat/menu_settings_api/menu_settings_api.metaxml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<api id="3f80fb289efe39ff2107c2f067d360f6" dataversion="2.0">
-  <name>Menu Settings API</name>
-  <description>Provides infromation about Menu current state.</description>
-  <type>c++</type>
-  <collection>menufw</collection>
-  <libs/>
-  <release category="platform" sinceversion="5.0"/>
-  <attributes>
-    <htmldocprovided>no</htmldocprovided>
-    <adaptation>no</adaptation>
-  </attributes>
-</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/common.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,153 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: homescreenapp project - common QMake settings
+#
+
+CONFIG += debug_and_release
+
+# On win32 and mac, debug and release libraries are named differently.
+# We must follow the debug and release settings Qt was compiled with:
+# build debug iff Qt built debug, build release iff Qt built release.
+win32|mac {
+    !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
+        CONFIG -= debug_and_release debug release
+        contains(QT_CONFIG,debug):  CONFIG+=debug
+        contains(QT_CONFIG,release):CONFIG+=release
+    }
+}
+
+CONFIG(debug, debug|release) {
+    SUBDIRPART = debug
+} else {
+    SUBDIRPART = release
+}
+
+win32: OUTPUT_DIR = $$PWD/../../bin/$$SUBDIRPART
+symbian: OUTPUT_DIR = $$PWD/bin
+
+SOURCE_DIR = $$PWD/inc
+
+#test whether we have a unit test
+!testcase {
+    OBJECTS_DIR = $$OUTPUT_DIR/tmp/$$TARGET
+    DESTDIR = $$OUTPUT_DIR
+    MOC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/moc
+    RCC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/rcc
+    UI_DIR = $$OUTPUT_DIR/tmp/$$TARGET/ui
+} else { # test part is NOT DONE
+    QT *= testlib
+    CONFIG += console
+    CONFIG -= app_bundle
+    OBJECTS_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET
+    DESTDIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART
+    MOC_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/moc
+    RCC_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/rcc
+    UI_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/ui
+    LIBS += -L$$OUTPUT_DIR/bin/$$SUBDIRPART/bin  #link against library that we test
+}
+
+# Add the output dirs to the link path too
+LIBS += -L$$DESTDIR
+
+DEPENDPATH += . $$SOURCE_DIR
+INCLUDEPATH += . $$SOURCE_DIR
+#For some reason the default include path doesn't include MOC_DIR on symbian
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += $$MOC_DIR
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.EPOCALLOWDLLDATA=1
+}
+
+win32 {
+    # add platfrom API for windows
+    INCLUDEPATH += \                
+                $$PWD/../../homescreensrv/homescreensrv_plat/contentstorage_api \
+                $$PWD/../../homescreensrv/homescreensrv_plat/hswidgetmodel_api \               
+                $$PWD/../../homescreensrv/homescreensrv_plat/homescreen_information_api/inc
+}
+
+plugin: !isEmpty(PLUGIN_SUBDIR): DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR
+
+win32: plugin { # copy manifiers
+    manifest.path = $$DESTDIR
+    manifest.files = ./resource/*.manifest ./resource/*.xml
+    manifest.CONFIG += no_build
+
+    INSTALLS += manifest
+    PRE_TARGETDEPS += install_manifest
+
+}
+
+symbian: plugin { # copy qtstub and manifest
+
+    pluginstub.sources = $${TARGET}.dll
+    pluginstub.path = $$PLUGIN_SUBDIR
+
+    DEPLOYMENT += pluginstub
+
+    qtplugins.path = $$PLUGIN_SUBDIR
+    qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
+
+    message(Remove "contains(MOBILITY, serviceframework)" after the QtSF refactorig is done!)
+        
+    !contains(MOBILITY, serviceframework):qtplugins.sources += resource/$${TARGET}.manifest
+    contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.s60xml z:$$qtplugins.path/$${TARGET}.xml"
+    
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)"
+}
+
+defineTest(exportResources) {
+symbian {
+    for(subdirs, 1) {
+        entries = $$files($$subdirs)
+        for(entry, entries) : BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)"
+    }
+    export ( BLD_INF_RULES.prj_exports)
+}
+win32 {
+    name = $$replace(1, [/\\\\\.\*], _)
+    eval ($${name}.path = $${OUTPUT_DIR}/$${2})
+    eval ($${name}.files = $$1)
+    eval ($${name}.CONFIG += no_build)
+
+    INSTALLS += $$name
+    PRE_TARGETDEPS += install_$${name}
+
+    export ( $${name}.path )
+    export ( $${name}.files )
+    export ( $${name}.CONFIG )
+    export ( INSTALLS )
+    export ( PRE_TARGETDEPS )
+}
+}
+
+!exists($${EPOCROOT}epoc32/include/mw/XQSettingsManager) {
+	DEFINES += NO_QT_EXTENSIONS
+}
+
+# support for NFT
+nft:DEFINES += NFT
+
+release:DEFINES+=QT_NO_DEBUG_OUTPUT
+
+nft:release {
+DEFINES -=QT_NO_DEBUG_OUTPUT
+}
+
+symbian {
+SYMBIAN_PLATFORMS = WINSCW ARMV5
+# ONLY FOR DEVELOPMENT! REMOVE THIS BEFORE EACH HS_Domain RELEASE!
+MMP_RULES += EXPORTUNFROZEN
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# 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: Example of home screen widget
+#
+
+TEMPLATE = subdirs
+SUBDIRS = helloworldwidgetplugin \
+          helloworldwidgetplugininstaller
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/helloworldwidgetplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,53 @@
+#
+# 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: Example of home screen widget
+#
+
+TEMPLATE = lib
+CONFIG += plugin mobility hb
+MOBILITY = serviceframework
+
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
+
+DESTDIR = $${EPOCROOT}epoc32/data/c/private/20022F35/import/widgetregistry/20022F7E
+win32: PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F7E
+symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F7E
+include(../../../common.pri)
+
+INCLUDEPATH += ./inc               
+
+symbian: {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
+    TARGET.UID3 = 0x20022F7E
+    TARGET.EPOCALLOWDLLDATA=1
+    TARGET.CAPABILITY = ALL -TCB
+    
+    plugins.path = $${DESTDIR}
+    plugins.sources = $${TARGET}.dll
+    
+    widgetResources.path = $${DESTDIR}
+    widgetResources.sources += resource/$${TARGET}.xml    
+    widgetResources.sources += resource/$${TARGET}.manifest
+    widgetResources.sources += resource/$${TARGET}.png
+    
+    DEPLOYMENT += plugins \
+                  widgetResources
+}
+
+
+exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
+exportResources(./resource/*.png, $$PLUGIN_SUBDIR)
+exportResources(./resource/*.xml, $$PLUGIN_SUBDIR)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/inc/helloworldwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,46 @@
+/*
+* 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:  Example of home screen widget
+*
+*/
+
+#ifndef HELLOWORLDWIDGET_H
+#define HELLOWORLDWIDGET_H
+
+#include <HbWidget>
+
+class QPushButton;
+
+class HelloWorldWidget : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    HelloWorldWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
+    ~HelloWorldWidget();
+
+public:
+    QRectF boundingRect() const;
+    QPainterPath shape() const;
+    
+public slots:
+    void onShow();
+    void onHide();
+
+private:
+    Q_DISABLE_COPY(HelloWorldWidget)
+    QPushButton *mButton;
+};
+
+#endif // HELLOWORLDWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/inc/helloworldwidgetplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* 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:  Example of home screen widget
+*
+*/
+
+#ifndef HELLOWORLDWIDGETPLUGIN_H
+#define HELLOWORLDWIDGETPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+class HelloWorldWidgetPlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+};
+
+#endif // HELLOWORLDWIDGETPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/resource/helloworldwidgetplugin.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<widgetprovider>
+    <widget library="helloworldwidgetplugin"
+            uri="helloworldwidgetplugin"
+            title="HelloWorld"
+            iconuri="helloworldwidgetplugin.png"
+	    description="Helloworld example widget."/>
+</widgetprovider>
Binary file homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/resource/helloworldwidgetplugin.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/resource/helloworldwidgetplugin.s60xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>helloworldwidgetplugin</name>
+    <filepath>c:/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.qtplugin</filepath>
+    <description>Example widget</description>
+    <interface>
+        <name>com.nokia.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description>Example of home screen widget</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">helloworldwidgetplugin.png</customproperty>
+        <customproperty key="title">HelloWorld</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/resource/helloworldwidgetplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>helloworldwidgetplugin</name>
+    <filepath>helloworldwidgetplugin</filepath>
+    <description>Example widget</description>
+    <interface>
+        <name>com.nokia.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description>Example of home screen widget</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">helloworldwidgetplugin.png</customproperty>
+        <customproperty key="title">HelloWorld</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/src/helloworldwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,81 @@
+/*
+* 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:  Example of home screen widget
+*
+*/
+
+#include <QGraphicsProxyWidget>
+#include <QPushButton>
+#include "helloworldwidget.h"
+
+/*!
+    \ingroup group_helloworld_widget
+    \class HelloWorldWidget
+    \brief Example implementation for home screen widget.
+
+    HelloWorldWidget derived from the HbWidget and implements 
+    needed functions for the home screen widget. 
+*/
+
+/*!
+    Constructs a widget which is a child of \a parent, with widget flags set to \a flags.
+*/
+HelloWorldWidget::HelloWorldWidget(QGraphicsItem* parent, Qt::WindowFlags flags)
+    : HbWidget(parent, flags),
+      mButton(0)
+{
+    QGraphicsProxyWidget *proxy = new QGraphicsProxyWidget(this);
+    mButton = new QPushButton("Hello World");
+    proxy->setWidget(mButton);        
+}
+
+/*!
+    Destructor
+*/
+HelloWorldWidget::~HelloWorldWidget()
+{
+
+}
+
+/*!
+    Return bounding rect
+*/
+QRectF HelloWorldWidget::boundingRect() const
+{
+    return childrenBoundingRect();
+}
+
+/*!
+    Return shape
+*/
+QPainterPath HelloWorldWidget::shape() const
+{   
+    QPainterPath path;
+    path.addRect(boundingRect());
+    return path;
+}
+
+/*!
+    Called when widget is shown in the home screen
+*/
+void HelloWorldWidget::onShow()
+{
+}
+
+/*!
+    Called when widget is hidden from the home screen
+*/
+void HelloWorldWidget::onHide()
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/src/helloworldwidgetplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,146 @@
+/*
+* 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:  Example of home screen widget
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "helloworldwidgetplugin.h"
+#include "helloworldwidget.h"
+
+/**
+    @page page_creating_widget_plugin Creating Home Screen Widget Plugin
+
+    Widgets are exposed to the home screen through QT Service Framework.
+    Widget plugins are implemented according to
+    <a href="http://qt.nokia.com/doc/qtmobility-1.0-tp/service-frameworks.html">Qt service framework plugin model</a>.
+
+    See @ref page_nativewidgetmodel for the instructions how to create widget for the home screen.
+
+    The steps to create a widget plugin are:
+    <ol>
+    <li> Declare a plugin class that inherits from QObject and from the \c QServicePluginInterface interface.
+    
+    <li> Use the Q_INTERFACES() macro to tell Qt's meta-object system about the \c QServicePluginInterface interface.
+    
+    <li> Export the plugin using the Q_EXPORT_PLUGIN2() macro.
+    
+    <li> Build the plugin using an suitable .pro file. See @ref page_deploying_widget_plugin
+    </ol>
+    
+    An example (full example source code can be found from section @ref page_nativewidgetmodel):
+
+    Each widget plugin has a XML file that allows searching widgets through QT service framework without first loading it.
+    The XML file contains information on widgets inside the plugin:
+    
+    \li \c name             The name of the plugin binary.
+    \li \c filepath         The absolute path and name of plugin without suffix
+    \li \c interface name   Uniquely identifies the widget.
+    \li \c title            Widget's human-readable name.
+    \li \c iconuri          URI of the widget's icon image file.
+    
+    Example: XML for a widget plugin.
+    
+    @code
+    <?xml version="1.0" encoding="UTF-8"?>
+    <service>
+        <name>helloworldwidgetplugin</name>
+        <filepath>helloworldwidgetplugin</filepath>
+        <description>Example widget</description>
+        <interface>
+            <name>com.nokia.IHomeScreenWidget</name>
+            <version>1.0</version>
+            <description>Example of home screen widget</description>
+            <capabilities></capabilities>
+            <customproperty key="iconuri">helloworldwidgetplugin.png</customproperty>
+            <customproperty key="title">HelloWorld</customproperty>
+        </interface>
+    </service>
+    @endcode
+*/
+
+/**
+    @page page_deploying_widget_plugin Deploying Home Screen Widget Plugin
+    
+    Widget's binaries and xml file(s) must be deployed to correct folders on emulator and in target. 
+    Below are the needed .pro file for the \c helloworldwidgetplugin.
+    
+    For example:
+    
+    @code
+    # helloworldwidgetplugin.pro
+
+    TEMPLATE = lib
+    CONFIG += plugin mobility hb
+    MOBILITY = serviceframework
+    
+    HEADERS += ./inc/*.h
+    SOURCES += ./src/*.cpp
+    
+    DESTDIR = $${EPOCROOT}epoc32/data/c/private/20022F35/import/widgetregistry/20022F7E
+    
+    INCLUDEPATH += ./inc               
+    
+    symbian: {
+        INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+        TARGET.UID3 = 0x20022F7E
+        TARGET.EPOCALLOWDLLDATA=1
+        TARGET.CAPABILITY = ALL -TCB
+        
+        plugins.path = $${DESTDIR}
+        plugins.sources = $${TARGET}.dll
+        
+        widgetResources.path = $${DESTDIR}
+        widgetResources.sources += resource/$${TARGET}.xml    
+        widgetResources.sources += resource/$${TARGET}.manifest
+        widgetResources.sources += resource/$${TARGET}.png
+        
+        DEPLOYMENT += plugins \
+                      widgetResources
+    }
+    
+    @endcode
+    
+    For detailed information on DEPLOYMENT macro, see <a HREF="http://pepper.troll.no/s60prereleases/doc/qmake-variable-reference.html#deployment">here</a>.
+*/
+
+/*!
+    \ingroup group_helloworld_widget
+    \class HelloWorldWidgetPlugin
+    \brief Example implementation for home screen widget plugin.
+*/    
+    
+/*!
+    Initialize plugin for hello world widget. Contains necessary information about 
+    the hello world widget that it can be loaded through QT Service Framework.
+*/
+QObject *HelloWorldWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                             QServiceContext *context,
+                                             QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.IHomeScreenWidget")) {
+        return new HelloWorldWidget();
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(helloworldwidgetplugin, HelloWorldWidgetPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugininstaller/helloworldwidgetplugininstaller.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Example of home screen widget
+*
+*/
+
+#include <qservicemanager.h>
+#include <QCoreApplication>
+#include <QFile>
+
+QTM_USE_NAMESPACE
+
+const QString xml = "c:/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.xml";
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+
+    QServiceManager s;
+
+	if (QFile::exists(xml)) {
+        s.addService(xml);
+	} else {
+		s.removeService("helloworldwidgetplugin");
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugininstaller/helloworldwidgetplugininstaller.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,29 @@
+#
+# 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: Example of home screen widget
+#
+
+TEMPLATE = app
+
+QT = core
+CONFIG += no_icon
+
+CONFIG += mobility
+MOBILITY = serviceframework
+
+SOURCES += helloworldwidgetplugininstaller.cpp
+
+symbian {    
+    TARGET.CAPABILITY = ALL -TCB
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/helloworldwidgetplugin/sis/helloworldwidgetplugin.pkg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,42 @@
+;
+; 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:
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"helloworldwidgetplugin"},(0x20022F7E),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+ 
+"/epoc32/release/armv5/urel/helloworldwidgetplugin.dll"                                           - "c:/sys/bin/helloworldwidgetplugin.dll"
+"/epoc32/data/c/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.qtplugin"  - "c:/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.qtplugin"
+"/epoc32/data/c/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.manifest"  - "c:/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.manifest"
+"/epoc32/data/c/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.xml"       - "c:/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.xml"
+"/epoc32/data/c/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.png"       - "c:/private/20022F35/import/widgetregistry/20022F7E/helloworldwidgetplugin.png"
+
+"/epoc32/release/armv5/urel/helloworldwidgetplugininstaller.exe"                                  - "c:/sys/bin/helloworldwidgetplugininstaller.exe", FR, RB, RW
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/homescreenapp.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Main project file for homescreen application
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  += hsutils \
+            hsdomainmodel \
+            runtimeplugins \
+            serviceproviders \
+            stateplugins \
+            widgetplugins \
+            hsapplication \
+            hscontentpublishplugin \
+            ./../tsrc
+
+CONFIG += ordered
+
+symbian:include(homescreenapp_exports_to_rom.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/homescreenapp_exports_to_rom.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+BLD_INF_RULES.prj_exports += \
+    "$${LITERAL_HASH}include <platform_paths.hrh>"
+
+#iby exports to core
+BLD_INF_RULES.prj_exports += \
+     "rom/homescreenapp_core.iby  CORE_APP_LAYER_IBY_EXPORT_PATH(homescreenapp_core.iby)"
+
+#iby exports to language
+BLD_INF_RULES.prj_exports += \
+     "rom/homescreenapp_resources.iby  LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(homescreenapp_resources.iby)"
Binary file homescreenapp/hsapplication/homescreen.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/homescreen.ts	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message id="txt_homescreen_list_add_content">
+    <comment>Home screen canvas menu item for opening Application library</comment>        
+    <source>Add content</source>
+    <translation>Add content</translation>
+    <extra-loc-layout_id>qtl_menu_set</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>list</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_opt_add_page">
+    <comment>User adds a new page to home screen</comment>        
+    <source>Add page</source>
+    <translation>Add page</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_opt_remove_page">
+    <comment>User removes page from home screen</comment>        
+    <source>Remove page</source>
+    <translation>Remove page</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_list_change_wallpaper">
+    <comment>Home screen canvas menu item for opening picture gallery</comment>        
+    <source>Change wallpaper</source>
+    <translation>Change wallpaper</translation>
+    <extra-loc-layout_id>qtl_menu_set</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>list</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_opt_change_wallpaper">
+    <comment>Options menu item for opening picture gallery</comment>        
+    <source>Change wallpaper</source>
+    <translation>Change wallpaper</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_list_add_page">
+    <comment>Home screen canvas menu item for adding new Homescreen page next currently active one</comment>        
+    <source>Add page</source>
+    <translation>Add page</translation>
+    <extra-loc-layout_id>qtl_menu_set</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>list</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_title_offline">
+    <comment>Offline text in home screen view title</comment>        
+    <source>Offline</source>
+    <translation>Offline</translation>
+    <extra-loc-layout_id>qtl_chrome_title</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_opt_clean_up_page">
+    <comment>Options menu item for arranging home screen content automatically</comment>        
+    <source>Clean up page</source>
+    <translation>Clean up page</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_opt_home_screen_to_offline">
+    <comment>Sends request to all widgets to disable data connections</comment>        
+    <source>Home screen to offline</source>
+    <translation>Home screen to offline</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_opt_home_screen_to_online">
+    <comment>Sends request to all widgets to enable data connections</comment>        
+    <source>Home screen to online</source>
+    <translation>Home screen to online</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_opt_refresh">
+    <comment>Sends request to all running widgets to query their respective servers to refresh their displays.</comment>        
+    <source>Refresh</source>
+    <translation>Refresh</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_homescreen_opt_task_switcher">
+    <comment>Options menu item for opening Task switcher</comment>        
+    <source>Task switcher</source>
+    <translation>Task switcher</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/hsapplication.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/hsapplication.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = app
+
+include(../common.pri)
+
+LIBS += -lhsutils
+CONFIG += console
+
+QT += xml
+
+CONFIG += hb mobility
+MOBILITY = serviceframework
+
+fute:DEFINES += FUTE
+
+DEPENDPATH += . \
+              ./inc \
+              ./src
+
+INCLUDEPATH += . \
+               ./inc \
+                ../hsutils/inc
+
+TRANSLATIONS = homescreen.ts
+
+RESOURCES += hsapplication_fallbacktheme.qrc
+
+symbian: {
+    TARGET.UID3 = 0x20022F35
+    TARGET.CAPABILITY = CAP_APPLICATION AllFiles TrustedUI
+    TARGET.EPOCHEAPSIZE = 0x20000 0x1600000 // 128kB - 23MB
+    ICON = resource_s60/qgn_menu_appsgrid.svg
+
+    appkey:DEFINES += S60APP_KEY
+    LIBS += -lefsrv
+    include(installs_symbian.pri)
+}
+
+win32: {
+    include(installs_win.pri)
+}
+
+include(hsapplication.pri)
+
+exportResources(./*.qm, resource/qt/translations)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/hsapplication_fallbacktheme.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,25 @@
+<RCC>
+    <qresource prefix="/" >           
+        <file>themes/icons/hbdefault/scalable/qtg_mono_applications_all.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_mono_applications_collections.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_mono_search.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_mono_ovistore.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_large_applications_download.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_large_applications_user.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_large_super_new.svg</file>
+        
+        
+        <file>themes/icons/hbdefault/scalable/qtg_graf_hspage_normal.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_graf_hspage_highlight.svg</file>
+        <file>themes/icons/hbdefault/scalable/hs_shortcut_bg.svg</file>
+        
+        <file>themes/icons/hbdefault/scalable/qtg_graf_hs_delete_highlight.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_graf_hs_delete_normal.svg</file>
+        <file>themes/icons/hbdefault/pixmap/hs_applib_button.png</file>
+
+        <file>themes/icons/hbdefault/scalable/qtg_graf_clock_day_bg.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_graf_clock_day_hour.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_graf_clock_day_min.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_graf_hs_dialer.svg</file>
+    </qresource>    
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/inc/hshomescreen.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Homescreen application main class.
+*
+*/
+
+#ifndef HSHOMESCREEN_H
+#define HSHOMESCREEN_H
+
+#include <QObject>
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(t_hsapplication)
+
+class QStateMachine;
+
+class HsHomeScreen : public QObject
+{
+    Q_OBJECT
+
+public:
+    HsHomeScreen(QObject *parent = 0);
+    ~HsHomeScreen();
+
+signals:    
+    void exit();
+
+public slots:
+    void start();
+    void stop();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+private:
+    void registerServicePlugins();
+    void registerServicePlugins(const QString &root);
+
+private slots:
+    void onRuntimeStarted();
+    void onRuntimeStopped();    
+
+private:
+    Q_DISABLE_COPY(HsHomeScreen)
+
+private:
+    QStateMachine *mRuntime;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(t_hsapplication)
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/installs_symbian.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+deploy.path = z:
+
+exports1.path = /private/20022F35
+exports1.sources += resource_s60/homescreendb
+for(export1, exports1.sources):BLD_INF_RULES.prj_exports += "./$$export1 $$deploy.path$$exports1.path/$$basename(export1)"
+
+exports2.path = /private/20022f35/wallpapers
+exports2.sources += resource_s60/d_landscape.png
+exports2.sources += resource_s60/d_portrait.png
+for(export2, exports2.sources):BLD_INF_RULES.prj_exports += "./$$export2 $$deploy.path$$exports2.path/$$basename(export2)"
+
+exports3.path = /data/images/kqtihswallpapers
+exports3.sources += resource_s60/bg_1.png
+exports3.sources += resource_s60/bg_2.png
+exports3.sources += resource_s60/bg_3.png
+for(export3, exports3.sources):BLD_INF_RULES.prj_exports += "./$$export3 $$deploy.path$$exports3.path/$$basename(export3)"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/installs_win.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+kqtihswallpapers.CONFIG += no_build
+kqtihswallpapers.path = $$DESTDIR/resource/kqtihswallpapers
+kqtihswallpapers.files = ./resource_win/bg_1.png \
+                         ./resource_win/bg_2.png \
+                         ./resource_win/bg_3.png
+
+homescreendb.CONFIG += no_build
+homescreendb.path = $$DESTDIR
+homescreendb.files = ./resource_win/homescreendb
+
+wallpapers.CONFIG += no_build
+wallpapers.path = $$DESTDIR/wallpapers
+wallpapers.files = ./resource_win/d_landscape.png \
+                   ./resource_win/d_portrait.png
+
+themeableimagesfortheme11.path = "$$(USERPROFILE)/Application Data/hb/themes/icons/redtheme/scalable"
+themeableimagesfortheme11.files = ./themes/theme1/hs_pageindicatoritem_active.svg \
+                                  ./themes/theme1/hs_pageindicatoritem_nonactive.svg \
+                                  ./themes/theme1/hs_shortcut_bg.svg 
+                                  
+themeableimagesfortheme12.path = "$$(USERPROFILE)/Application Data/hb/themes/icons/redtheme/pixmap"
+themeableimagesfortheme12.files = ./themes/theme1/hs_trashbin_active.png \
+                                  ./themes/theme1/hs_trashbin_nonactive.png
+                                 
+themeableimagesfortheme2.path = "$$(USERPROFILE)/Application Data/hb/themes/icons/bluetheme/scalable"
+themeableimagesfortheme2.files = ./themes/theme2/hs_pageindicatoritem_active.svg \
+                                 ./themes/theme2/hs_pageindicatoritem_nonactive.svg \
+                                 ./themes/theme2/hs_shortcut_bg.svg \
+                                 ./themes/theme2/hs_trashbin_active.svg \
+                                 ./themes/theme2/hs_trashbin_nonactive.svg
+
+INSTALLS += kqtihswallpapers homescreendb wallpapers themeableimagesfortheme11 themeableimagesfortheme12 themeableimagesfortheme2
+PRE_TARGETDEPS += install_kqtihswallpapers install_homescreendb install_wallpapers
\ No newline at end of file
Binary file homescreenapp/hsapplication/loc/Homescreen_v0 5.xls has changed
Binary file homescreenapp/hsapplication/loc/homescreen.xls has changed
Binary file homescreenapp/hsapplication/resource_s60/bg_1.png has changed
Binary file homescreenapp/hsapplication/resource_s60/bg_2.png has changed
Binary file homescreenapp/hsapplication/resource_s60/bg_3.png has changed
Binary file homescreenapp/hsapplication/resource_s60/d_landscape.png has changed
Binary file homescreenapp/hsapplication/resource_s60/d_portrait.png has changed
Binary file homescreenapp/hsapplication/resource_s60/homescreendb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/resource_s60/qgn_menu_appsgrid.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,69 @@
+<?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="100%" height="100%" viewBox="0 0 88 88.002">
+<linearGradient id="_12" gradientUnits="userSpaceOnUse" x1="20.62" y1="40.48" x2="51.38" y2="63.3">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill="url(#_12)" d="M10.515,39.972c-1.14,6.467,3.667,12.14,9.753,12.989l0,0c6.414,0.896,12.521-3.419,13.612-9.616 c1.151-6.554-3.696-12.155-9.751-12.999C17.711,29.453,11.604,33.772,10.515,39.972z"/>
+<linearGradient id="_13" gradientUnits="userSpaceOnUse" x1="37.6" y1="18.04" x2="67.61" y2="40.71">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill="url(#_13)" d="M21.932,24.181c1.781,6.297,10.24,10.088,16.264,7.807c4.352-4.593,10.608-7.451,16.604-7.245 c6.381,0.22,12.303,3.534,17.125,9.586c0.43,0.537,1.279,0.177,1.248-0.47c-0.426-8.993-6.947-16.983-16.615-20.356 C39.797,7.686,26.547,18.644,21.932,24.181z"/>
+<linearGradient id="_14" gradientUnits="userSpaceOnUse" x1="56.69" y1="51.11" x2="13.94" y2="68.86">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill="url(#_14)" d="M51.254,47.311l3.391,4.157l-6.223,1.093c-5.236,5.883-12.876,8.72-20.708,7.588 c-6.251-0.903-11.604-4.274-13.637-8.589c-0.329-0.699-1.46-0.351-1.326,0.392c0.337,2.942,2.347,16.659,18.23,20.95 c11.951,3.229,25.607-1.507,34.357-12.091l-2.475-3.428l6.725-0.488l9.416-12.792l-9.875-10.125l-10.334-0.292L51.254,47.311z"/>
+<linearGradient id="_15" gradientUnits="userSpaceOnUse" x1="26.58" y1="21.38" x2="73.09" y2="24.13">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#F4F8FB" offset="0.13"/>
+<stop stop-color="#CEDFF2" offset="1"/>
+</linearGradient>
+<path fill="url(#_15)" d="M22.738,24.307c19.166-21.918,48.815-9.881,49.735,9.585 c-9.178-13.661-27.043-12.124-34.547-2.55C32.267,33.139,24.547,30.338,22.738,24.307z"/>
+<linearGradient id="_16" gradientUnits="userSpaceOnUse" x1="42.81" y1="25.63" x2="70.19" y2="34.26">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill="url(#_16)" d="M31.199,31.543c17-20.527,37.215-9.651,41.274,2.349c-11.422-14.327-26.699-11.114-34.547-2.55 C35.917,32.176,31.811,31.9,31.199,31.543z"/>
+<radialGradient id="_17" gradientUnits="userSpaceOnUse" cx="24.97" cy="37.28" r="10.14">
+<stop stop-color="#E3DFE4" offset="0"/>
+<stop stop-color="#C03A3A" offset="1"/>
+</radialGradient>
+<path fill="url(#_17)" d="M33.196,43.191c-1.031,5.857-6.793,9.917-12.864,9.07c-6.073-0.848-10.165-6.279-9.134-12.137 c1.029-5.861,6.791-9.924,12.866-9.08C30.136,31.892,34.226,37.33,33.196,43.191z"/>
+<linearGradient id="_18" gradientUnits="userSpaceOnUse" x1="54.1" y1="64.19" x2="59.35" y2="49.07">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_18)" points="48.797,53.139 54.672,62.889 64.422,60.784 57.922,51.639 "/>
+<linearGradient id="_19" gradientUnits="userSpaceOnUse" x1="49.11" y1="67.1" x2="25.24" y2="57.85">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill="url(#_19)" d="M13.582,52.281c2.325,22.06,32.715,29.482,50.84,8.503l-9.75,2.104 C54.672,62.889,20.627,71.41,13.582,52.281z"/>
+<linearGradient id="_20" gradientUnits="userSpaceOnUse" x1="50.54" y1="69.11" x2="19.1" y2="50.05">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#F4F8FB" offset="0.13"/>
+<stop stop-color="#CEDFF2" offset="1"/>
+</linearGradient>
+<path fill="url(#_20)" d="M54.672,62.889c-10.853,9.942-38.048,12.523-41.228-11.031 c4.542,9.641,23.864,14.191,35.353,1.281L54.672,62.889z"/>
+<polygon fill="#58A015" points="59.922,56.889 52.047,47.139 59.243,34.435 68.086,44.42 "/>
+<polygon fill="#17594C" points="59.922,56.889 69.241,56.229 78.04,44.174 67.723,44.188 "/>
+<linearGradient id="_21" gradientUnits="userSpaceOnUse" x1="59.54" y1="33.81" x2="77.32" y2="45.22">
+<stop stop-color="#DCE8E4" offset="0"/>
+<stop stop-color="#43910A" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_21)" points="59.172,34.389 67.723,44.188 78.004,44.15 68.813,34.644 "/>
+<linearGradient id="_22" gradientUnits="userSpaceOnUse" x1="46.42" y1="50.77" x2="62.78" y2="51.84">
+<stop stop-color="#DCE8E4" offset="0"/>
+<stop stop-color="#43910A" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_22)" points="63.815,50.22 59.922,56.889 52.047,47.139 63.807,46.668 "/>
+<rect fill="none" height="88.002" width="88"/>
+</svg>
\ No newline at end of file
Binary file homescreenapp/hsapplication/resource_win/bg_1.png has changed
Binary file homescreenapp/hsapplication/resource_win/bg_2.png has changed
Binary file homescreenapp/hsapplication/resource_win/bg_3.png has changed
Binary file homescreenapp/hsapplication/resource_win/d_landscape.png has changed
Binary file homescreenapp/hsapplication/resource_win/d_portrait.png has changed
Binary file homescreenapp/hsapplication/resource_win/homescreendb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/src/hshomescreen.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,196 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Homescreen application main class.
+*
+*/
+
+#include <QStateMachine>
+#include <QDir>
+
+#include <qservicemanager.h>
+#include <qservicefilter.h>
+#include <qserviceinterfacedescriptor.h>
+
+#include <HbInstance>
+
+#include "hshomescreen.h"
+#include "hstest_global.h"
+
+QTM_USE_NAMESPACE
+
+/*!
+    \class HsHomeScreen
+    \ingroup group_hsapplication
+    \brief Homescreen application main class.
+    Loads a runtime from a runtime provider plugin. Manages
+    the state machine execution.
+*/
+
+/*!
+    Constructor.
+    \a parent Parent object.
+*/
+HsHomeScreen::HsHomeScreen(QObject *parent)
+  : QObject(parent),
+    mRuntime(0)
+{
+    HSTEST_FUNC_ENTRY("HS::HsHomeScreen::HsHomeScreen");
+
+    registerServicePlugins();
+
+    QServiceManager manager;
+    QServiceFilter filter("com.nokia.homescreen.runtime.HsRuntime");
+    QList<QServiceInterfaceDescriptor> interfaces = manager.findInterfaces(filter);
+    QObject *interface = manager.loadInterface(interfaces.first().interfaceName());
+    mRuntime = qobject_cast<QStateMachine*>(interface);
+    if (mRuntime) {
+        mRuntime->setParent(this);
+        connect(mRuntime, SIGNAL(started()), SLOT(onRuntimeStarted()));
+        connect(mRuntime, SIGNAL(stopped()), SLOT(onRuntimeStopped()));
+        hbInstance->allMainWindows().at(0)->installEventFilter(this);
+    } else {
+        emit exit();
+    }
+    HSTEST_FUNC_EXIT("HS::HsHomeScreen::HsHomeScreen");
+}
+
+/*!
+    Destructor.
+*/
+HsHomeScreen::~HsHomeScreen()
+{
+}
+
+/*!
+    \fn void HsHomeScreen::exit()
+    Emitted when the home screen application needs to exit.
+*/
+
+/*!
+    Starts the runtime.
+*/
+void HsHomeScreen::start()
+{
+    HSTEST_FUNC_ENTRY("HS::HsHomeScreen::start");
+    if (mRuntime) {
+        mRuntime->start();
+    } else {
+        HSTEST_FUNC_EXIT("HS::HsHomeScreen::start, mRuntime not created, exit application");
+        emit exit();
+    }
+    HSTEST_FUNC_EXIT("HS::HsHomeScreen::start");
+}
+
+/*!
+    Stops the runtime.
+*/
+void HsHomeScreen::stop()
+{
+	if (mRuntime && mRuntime->isRunning()) {
+		QMetaObject::invokeMethod(mRuntime, "event_exit");
+	}
+}
+
+/*!
+    \copydoc QObject::eventFilter(QObject *watched, QEvent *event)
+*/
+bool HsHomeScreen::eventFilter(QObject *watched, QEvent *event)
+{
+    Q_UNUSED(watched);
+    if (event->type() == QEvent::Close) {
+        return true;
+    }
+    return false;
+}
+
+/*!
+    Called after the runtime has started.
+*/
+void HsHomeScreen::onRuntimeStarted()
+{
+}
+
+/*!
+    Called after the runtime has stopped.
+*/
+void HsHomeScreen::onRuntimeStopped()
+{
+    emit exit();
+}
+
+/*!
+    Registers service plugins pre-installed on the device.
+*/
+void HsHomeScreen::registerServicePlugins()
+{
+    HSTEST_FUNC_ENTRY("HS::HsHomeScreen::registerServicePlugins()");
+    QStringList pluginPaths;
+
+    pluginPaths << "hsresources/plugins";
+#ifdef Q_OS_SYMBIAN
+    pluginPaths << "private/20022F35/import/widgetregistry";
+#else
+    pluginPaths << "hsresources/import/widgetregistry";
+#endif
+
+    QFileInfoList drives = QDir::drives();
+    foreach(const QString pluginPath, pluginPaths) {
+#ifdef Q_OS_SYMBIAN
+        //Check plugin dirs from root of different drives
+        foreach(QFileInfo drive, drives) {
+            QString driveLetter = drive.absolutePath();
+            QString path = driveLetter + pluginPath;
+            if(QDir(path).exists()) {
+                registerServicePlugins(path);
+            }
+        }
+#endif
+        //Check plugin path relative to current dir
+        if(QDir(pluginPath).exists()) {
+            registerServicePlugins(pluginPath);
+        }
+    }
+    HSTEST_FUNC_EXIT("HS::HsHomeScreen::registerServicePlugins()");
+}
+
+/*!
+    Recursively registers service plugins starting from given /a root
+    directory. All directories containing plugins are added to
+    application's library paths at the same time.
+*/
+void HsHomeScreen::registerServicePlugins(const QString &root)
+{
+    HSTEST_FUNC_ENTRY("HS::HsHomeScreen::registerServicePlugins(const QString &)");
+    QDir dir = QDir(root);
+    QFileInfoList fileInfos = dir.entryInfoList(QDir::AllDirs | QDir::NoDotAndDotDot);
+
+    foreach (QFileInfo fileInfo, fileInfos) {
+        registerServicePlugins(fileInfo.absoluteFilePath());
+    }
+
+    fileInfos = dir.entryInfoList(QStringList("*.xml"));
+
+    if (!fileInfos.isEmpty()) {
+        //Plugin dll and xml are in the same directory
+        QApplication::addLibraryPath(root);
+        qDebug() << QString("HS::HsHomeScreen::registerServicePlugins - Directory added to application's library paths: ")
+                 << root;
+        QServiceManager manager;
+        foreach(QFileInfo fileInfo, fileInfos) {
+            manager.addService(fileInfo.absoluteFilePath());
+            qDebug() << QString("HS::HsHomeScreen::registerServicePlugins - Plugin registered: ") + fileInfo.fileName();
+        }
+    }
+    HSTEST_FUNC_EXIT("HS::HsHomeScreen::registerServicePlugins(const QString &)");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/src/main.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,242 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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.
+*
+*/
+#include <QTranslator>
+#include <QMessageBox>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include "hshomescreen.h"
+#include "hsapptranslator.h"
+#include "hstest_global.h"
+
+namespace
+{
+    const char TR_FILE_PATH[] = "resource/qt/translations";
+}
+
+#ifdef Q_OS_SYMBIAN
+
+#include <QFile>
+#include <QDir>
+#include <f32file.h>
+#include <eikenv.h>
+#include <e32debug.h>
+#include <apgwgnam.h>
+
+// it is temporary class used for getting notifcation about APA messages
+// it is used for processing message send by AVKON to activate Menu
+class HsMessageObserver: public MCoeMessageObserver {
+
+TMessageResponse HandleMessageL(TUint32 /*aClientHandleOfTargetWindowGroup*/,
+                                TUid /*aMessageUid*/,
+                                const TDesC8& /*aMessageParameters*/)
+    {
+    // move application to foreground
+    QApplication::topLevelAt(0,0)->raise();
+    return EMessageHandled;
+    }
+};
+
+void setHomescreenAsSystemAppL(CEikonEnv* eikonEnv)
+{
+    CApaWindowGroupName* wgName = CApaWindowGroupName::NewLC(eikonEnv->WsSession());
+    wgName->SetSystem(ETrue); // Allow only application with PowerManagement cap to shut us down
+    wgName->SetCaptionL(_L("HsApplication"));
+    wgName->SetAppUid(TUid::Uid(0x20022F35));
+    wgName->SetWindowGroupName(eikonEnv->RootWin());
+    CleanupStack::PopAndDestroy();
+}
+
+
+
+void myMessageOutput(QtMsgType type, const char *msg)
+{
+    switch (type) {
+
+    case QtDebugMsg:
+        RDebug::Printf("[HS] Debug: %s\n", msg);
+        break;
+
+    case QtWarningMsg:
+        RDebug::Printf("[HS] Warning: %s\n", msg);
+        break;
+
+    case QtCriticalMsg:
+        RDebug::Printf("[HS] Critical: %s\n", msg);
+        break;
+
+    case QtFatalMsg:
+        RDebug::Printf("[HS] Fatal: %s\n", msg);
+        abort();
+    }
+}
+
+#endif //Q_OS_SYMBIAN
+
+
+
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+int main(int argc, char *argv[])
+{
+#ifdef Q_OS_SYMBIAN
+     qInstallMsgHandler(myMessageOutput);
+#endif
+
+    HSTEST_FUNC_ENTRY("HS::main()");
+
+    HbApplication app(argc, argv);
+
+#ifdef Q_OS_SYMBIAN
+    QString currentPath = QString(argv[0]).left(2);
+    QDir::setCurrent(currentPath);
+    QString debugMsg = "HS::main() - HsApplication's current dir set to: " + currentPath;
+    HSDEBUG(debugMsg);
+#endif //Q_OS_SYMBIAN
+
+    HsAppTranslator *appTranslator = HsAppTranslator::instance();
+    appTranslator->setLanguage();
+
+    // add translator for homescreen and application library
+    QString locale = QLocale::system().name();
+
+    QTranslator hsTranslator;
+    QString hsTrFile = QString("homescreen_") + locale;
+
+    QTranslator alTranslator;
+    QString alTrFile = QString("hsapplibrary_") + locale;
+#ifdef Q_OS_SYMBIAN
+    // TRAP is must here, otherwise it crashes
+TRAP_IGNORE(
+    bool hsLoaded(false);
+    hsLoaded = hsTranslator.load(hsTrFile, QString("z:/") + TR_FILE_PATH);
+    if (!hsLoaded)
+        hsTranslator.load(hsTrFile, QString("c:/") + TR_FILE_PATH);
+
+    bool alLoaded(false);
+    alLoaded = alTranslator.load(alTrFile, QString("z:/") + TR_FILE_PATH);
+    if (!alLoaded)
+        alTranslator.load(alTrFile, QString("c:/") + TR_FILE_PATH);
+);
+#else
+    hsTranslator.load(hsTrFile, QString(TR_FILE_PATH) );
+    alTranslator.load(alTrFile, QString(TR_FILE_PATH) );
+#endif //Q_OS_SYMBIAN
+    app.installTranslator(&hsTranslator);
+    app.installTranslator(&alTranslator);
+
+#ifdef Q_OS_SYMBIAN
+    QFile file("c:/private/20022f35/homescreendb");
+    //If DB file does not exist copy default DB from z: (ROM)
+    if(!file.exists()) {
+        HSTEST("HS::main() - homescreendb not in c:");
+        file.setFileName("z:/private/20022f35/homescreendb");
+        if(!file.exists()) {
+            HSTEST("HS::main() - homescreendb not in ROM!");
+        }
+        else {
+            HSTEST("HS::main() - homescreendb found from z:");
+            //We need to first create private folder if not exists
+            QDir dir("c:/private/20022f35/");
+            if(!dir.exists()) {
+                HSTEST("HS::main() - c:/private/20022f35/ does not exist.");
+                RFs fsSession;
+                if(fsSession.Connect() != KErrNone){
+                    HSTEST("HS::main() - Homescreen private dir creation failed!");
+                }
+                fsSession.CreatePrivatePath(EDriveC);
+                HSTEST("HS::main() - c:/private/20022f35/ created.");
+                fsSession.Close();
+                if(!dir.exists()) {
+                    HSTEST("HS::main() - c:/private/20022f35/ creation failed.");
+                }
+            }
+            HSTEST("HS::main() - c:/private/20022f35/ exists.");
+            //Copy DB from z: to c:
+            if (!file.copy("c:/private/20022f35/homescreendb")) {
+                HSTEST("HS::main() - homescreendb copy from ROM to c: failed!");
+            }
+            HSTEST("HS::main() - homescreendb copied from ROM to c:!");
+            file.setFileName("c:/private/20022f35/homescreendb");
+            if(!file.setPermissions(QFile::ReadOwner | QFile::WriteOwner)) {
+                HSTEST("HS::main() - homescreendb ReadWrite permission settings on c: failed!");
+            }
+            HSTEST("HS::main() - homescreendb permission set to ReadWrite!");
+        }
+    }
+#ifdef __WINS__
+    else if(!file.setPermissions(QFile::ReadOwner | QFile::WriteOwner)) {
+        HSTEST("HS::main() - homescreendb ReadWrite permission settings on emulator's c: failed!");
+    }
+#endif
+    {
+    QDir dir("c:/private/20022f35/wallpapers");
+    if(!dir.exists()) {
+        dir.mkpath("c:/private/20022f35/wallpapers/");
+        QDir dir2("z:/private/20022f35/wallpapers");
+        dir2.setFilter(QDir::Files);
+        QStringList files = dir2.entryList();
+        foreach(QString file, files)
+        {
+            QString targetFile("c:/private/20022f35/wallpapers/" + file);
+            QFile::copy(dir2.absoluteFilePath(file), targetFile);
+            qDebug() << "image copied" << dir2.absoluteFilePath(file);
+            QFile createdFile(targetFile);
+            if(!createdFile.setPermissions(QFile::ReadOwner | QFile::WriteOwner)) {
+                qDebug() << "read write permission set failed for file" << targetFile;
+            }
+        }
+
+    }
+
+
+    }
+
+#endif //Q_OS_SYMBIAN
+
+    HbMainWindow window;
+    window.setViewSwitchingEnabled(false);
+    
+    HsHomeScreen hs;
+    QObject::connect(&app, SIGNAL(aboutToQuit()) ,&hs, SLOT(stop()));
+    QObject::connect(&hs, SIGNAL(exit()), &app, SLOT(quit()),Qt::QueuedConnection);
+    hs.start();
+
+    app.installEventFilter(appTranslator);
+
+#ifdef Q_OS_SYMBIAN
+    CEikonEnv * env = CEikonEnv::Static();
+#ifdef S60APP_KEY
+    env->RootWin().CaptureKeyUpAndDowns( EStdKeyApplication0, 0, 0 );
+#endif //S60APP_KEY
+    TRAP_IGNORE(setHomescreenAsSystemAppL(env));
+    HsMessageObserver observer;
+    TRAP_IGNORE( env->AddMessageObserverL(observer));
+#endif //Q_OS_SYMBIAN
+
+    HSTEST("HS::main() call app.exec");
+    try {
+        app.exec();
+
+    } catch(...) {
+        HSTEST("HS::main() app.exec() catch");
+    }
+    return 0;
+}
+
+
Binary file homescreenapp/hsapplication/themes/icons/hbdefault/pixmap/hs_applib_button.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/hs_shortcut_bg.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,1325 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="83px" height="83px"
+	 viewBox="0 0 83 83" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="41.4995" y1="0" x2="41.4995" y2="83.0005">
+			<stop  offset="0.0043" style="stop-color:#FFFFFF"/>
+			<stop  offset="1" style="stop-color:#B2B2B2"/>
+		</linearGradient>
+		<path fill="url(#SVGID_1_)" d="M83,78c0,2.762-2.238,5-5,5H5c-2.761,0-5-2.238-5-5V5c0-2.761,2.239-5,5-5h73c2.762,0,5,2.239,5,5
+			V78z"/>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	eJzsvWuPHclxIPqdAP9D3w8GpA/TrnzVQzAWOE9f76UtQZJ3tfAuBpSGkrjLIQecGfv6/vob74zM
+qnP6NLtlS3Z3DofNOHWy8hEZGe/4q//rF7/6avfNp9+++yrdD3evX/3VXx0+v3v7w6fPP7sj8N3f
+ffjw4/c/fEbQT37507sAj+FTu7+bv5Yn/9u7z9+///TxZ/QZf3rG7//k1+8+f/r47uPd//P2/fdv
+78Pd//zJ6Te//urX79/98Omvf/7jhx//509/eveTn+Lzv37/w4d38I0/fv/197/7+rd/+PoPn99+
+8/7dxx/u377/qQ0KXnJ8+wM8F/56/us4hOFu+Vkud7u/xyf2n378+M37j3/Yf/p/f3b3VRrpTwgL
+/sHP/+/3v3z3/UMPHT/97sdv4bW/+Pzpd+++//7w6cOnz9//7O7wr28/3v392z/AJ2/v/se7Dx8+
+/Qs8vfu78vX5/Yd3MNlv3/5wt9DUd38X4tf7H99/+OYffvz2t+9gGfIwEjx9Td394/fQD3SJvxN8
++vrvvgXQr9798AOMDN5GK/jLv937QQCU2k/+6Zfv/vCe9gNW43/9VHv+/Om7b99+/j/f83Nzgv/k
+o1+/+/a7D7BqNOUc7kv3P30MJqKrMt2XePdVzOl+mQd4qgz3JSzlLsURIPKFulTv/vn9u3/52d0/
+wF7Lquw+//Cr9/8fblTOw8D/l49++eOHd5//8eP7H2CovC4Lr8vff/rm3Qf4Ru3i/OHtH77XiYf6
+f3ni128//+HdD7Cpnz78+APh32xvgbV/8/Zf3+HeBXnJz7979/HXn/4bDfWrON+P41juwrDwL+Pd
+AgOdQ74LM70pz3fLKO8M9F4dGXaE3egLJtyuX8AO/vzz+z+8//izr3LM9zCUdPdVgd+mZZ5ln//2
+8/tv6jZP8W7m/9Gs7mf3Z9E/MnhYih9+ePdRZwModvh7hzDD/d//Ckdx+vjN4dO3uCvf05EAVPkI
+WPTh0x/k0/oP+gy6+PE7mRYBvoZN/MXn9x+x49ev/oE/m7/+xYcf4cO//fzpx+/+7uPvP71+9ROm
+Db94+8Mf7/Yf3n385ns4yQzjf97xVwD65v0/KxAO83c/faDLX/3rt7/99OH9999ahx5iv9/S1a8/
+v/0dzOPu57/93+9+9wN8WwD1t1/9+P6Hd7d09Qtc/s8ff/6RZ/z5x+//ePfrT58+2CDlAfnIJg9Y
+zN/5s3mJPbz1Avjwz7fzw9sPH97DvfDdH9//bqv/jc/tRRe+e8tr4eh9fld7on/C37/Hv29C6N/R
+rm2NuP3IXrH+xp/He3Cjfv/+4zfwFTo4deU/ffsdXqx3v/rj2+8QjE+e3ZO3jP/47vdwjzrcIOjp
+4z+/+/DpO7cBBnkLL/zvbz9/d9PR+vD249vPd/SB9U2U6Rdvgdp11IpgtdvyNVBOTxm/+ur1q3C3
+/+gp598KwwJMzD9+/Pj223ff3CkPc1egny0okP14t//m9at/ev3qb16/GvgnDHFIQx4KtHGYhnlY
+oO2G/XAYjsM5DCGEGFLIoYQxTGEOS9iFfThAO4ZTOMchhpgi3OxxjFNc4i7u4yEe4yme05BCSimn
+ksY0pTktaZ8O6ZhO6ZyHHHLKOZc85inPeZf3+ZCP+ZTPr1/9Fz9GHiWOE0eaaaQ61p2N9TicaLx1
+xKsxw0LqmHHUEcadY6FxzxsjjzL2OvpdHf+jxriXMZ5sRf2a+lU9whh1Vf0IcXyXR8jj60aYBxrj
+QMM8n8+n8/F8OO/Pu/Nyns/TeTyXcz6nczyH83A6n06n4+lw2p92p+U0n6bTeCqnfEqneAqn4Xg+
+no7H4+G4P+6OyxHYkON4LMd8TMd4DMfhcD6cDsfD4bA/7A7LYT5Mh/FQDvmQDhFwZdif96f9cX/Y
+7/e7/bKf99N+3Jd93qd91KV8GeMzjDHf/dXX+890yof7NABPnYG1i3kaCvJ4sQCIOMARPkrLxi/x
+rgD/CQwqdISM3tdP7WcP/OFgnDU2+mi4z6m+48Ln+N39sVJGpXzX+ch4hWDCr/8K1PjjOyLRDEaS
+uQmHEU2eaDpiY4TGH2Q+xnSQ5RBfJjJwiF+/okOct0kMULBoJHLOSyWRQK1DiUCZcillKnNZyq4c
+yrGcXr8CuhPGNOaxgKwxj8u4G/fjwciVJ/E8l4MjnXE1p5boH4mAnoREwdxgrXV2l8jomlDpLA9b
+MwUU5uuA50sXAs7XZoBktc5iZ6SVZgHzCDYLvQL8HHQeNAP8g9giuzSu9olngvPgWfTz6AguX2sw
+g0hzmWjXbOdWV8Yz/fzJewzajAoqpdumdZeo3XycNqgd0LvXr76M4sFRG3bn3Wl33B12+91ut+zm
+3bQbd8CO7PIu7eIu7IblvJyW43JY9suum4Gn1tfnsDULNw+YgdLtC/O4MpPNucAMeDY0nzobmwHe
+N/XGqftwaRbtXrS7AfOAm6jeP/0N1O9IP5N+V2guMAO/M25v3D0FM4EzucD5RFpT4MTi6R3oPMOr
+Btsxgp4Jjp/QguLnQAXmYXJP1efqE/QMqsaMIYJlSbA8BRZqggXbweIdYBFPpzPSEO3OPbHQM9tP
+tc8c/DPn2E8XiHYC4h3KkM+wQwfY/x2RiQnIfAYyGIFuASkBknIE0rIHIjMDwSlAeGIK8QyE9Uik
+aQdkao4Tcd4FyFcCMhaQqAFxOwKRA2KnI6R+dtTTJH1lIGWRyPOw7pN6LJu9Sr+yZZNtWwaCi1tn
+q0Kjr++tb8b3+re2b3bvbGcD79wLqozUCr2X3uo2FjDutDvDxgfAxAQYWQAzJ8DQBXB1Dzh7hF08
+A/oEwOYEWF0Au2fA9B1g/AEw/3Q4A4oFONkJzkYhDm2C07LAudnD0TjCOTqfgAE4GVe48Z5Lb5rc
+uzbexu+Cd+rbmvchyto7b33fdHF27o3HBd7p5uffeFqd2AeuD74toglEKhJpG0U4wluc7nHirHZ2
+m6s4dzJxrt7m2YlMnts6tWIT8SXKmdQbfS0+tcKTF06RI0kmnsIYhf8SfoT5rxvv9LBambo+7RrJ
+OkGPxYTIkajX4gTeHdG2g+N8qvAbhPuJtGLGAcHxqaKmckHCCWEjfo45oSKcEK/aruXo6trBEWde
+qOHqHsXlhAZXKsZUQdrWhDg/xppptR57Wg+k+CfmzZ0qINBKKP4oPwgrQURMcUjXQ/lCXAn8yd1q
+MB7RWggeDYRHxBfCiuBaTLQWyuMeWzG8/pysHaUdqNH9CuLljkRMFDJnEjRR1BxJ3ESBE0XORGxA
+ZQSUJTvSHVSZGmQImCVgUZSZAmVulC0gxgDIwGysQWXVvGh6nTVgxsAxOUCqNhg2J1A/vCLrNVls
+TaZmTeBA4rrUVXFsnq7KbetibB+syN5Yv35llI09b7J/FxhAWBFenYadvXFFLmHJRTzpVkTX5PSI
+NSEWsmILrMihYyR7ltgx94IvnilerQoK+YYztiqra2dnzByxc0QiM5GLoIKLibmTPcHPJCG7Q/fk
+6J7K8tT6yUGlBiANsJiIagWWeIIFX2AD4NrFK/N8dvLFrU/GjefWT3p+mZkuZYAyyeuRmS/ifRvu
+1zhjzzIJqwaPn+X+EG57xU/zu3JltVYcNn5n5uX2/HUhrngkbJqJN14Ix5SHPhIGIo/sOelATAez
+Hdl6mO27B/c9+5axK8awrDjyS/w4qcmA4SwRNVcpTHDbo3pLdVkD/BUjKrXslzjlEvAX1oXFu3m6
+W8J9mZw26/m6JOXZPT4ZRvyyPjrIC9Bum1kZ539ZhohatHCfSkh3ebnPaY5ufM/UIY8OLtplpD5G
++JncL2hhnmF6BX9Zcghkc3b6wZTuQ4bv1pE9Q2c8qhThGVxemhhpL2XSuNLTnBO+ZdLXTazjZK3l
+dA8YP3kN6NM721KDjvkeGRLCinJRGWpPPREbxvswEWQYYnkGZND+dFgLTh+/rbukkLpPuIXQd8Jf
+6F2+Gzeip3Z1i97YKYU7ve9dQI3wGvhcNrTWimaKYqdMXYTtVmGlVTw2SkenJO7saKg0NTVxKSMp
+ivekKD6TmjiSohgOV1UUj0cguXgPDUD5I/CyeSrTOE3TPC3TbgIpHCTKIxB1vKkGmEpE2WnOc5nH
+GR6aZ9ie3byfD/TniKQfbjRckrDEJQHy5KUs8LoFdgoacJyoG4JrHxgEZCfwoqAbEG8WlFVwKZCf
+ztQKNBgqKcbgRaRY4p89KZrg79ev6Pf97iDtKI0uEWaZ9nQ7MuePcuEz2RxXO0w2x2opjaZqXinL
+b7PpkXrZ7zcqlw9VTW77PZphYCd7fmp2nQ0EtPOvX8ne97u/sf+oT+D9Rybs0v6/fiU4IPvvMGCN
+A/jDGLCNA7T/sKeKAx4DKg54LJCdfyYbbWtF/nI7MouGGzua46P3FHfU7ym3KIYf2FnYUz7VfK71
+ZJ9kb/Vs6+7y/nY7LCdc9hj2FHcZ93mkfdaTzvvc77Tute627recetxzOvm663XfTyzO2PlXGkBU
+4C/WiOJ/gmut4qOqyrySTGgO9HgwM9clzwzvlYFYyTiJGFlvEsbFJe1JM3wSXww2M7LR7UxYl+nO
+QNMi4hmaFQtg1QLYdAQ8CoBBBTBnB/hyAkyJgBsgOMD27oHxHmD3M+z2Avt7pFOc4czOcDaPQH3D
+PoHUO8Hm7/deF/BlxvULBifSZWyZnL7QwL4H2mtGmpXJadvgBPOfYRVGwP8MZyHCuRjglJzgvOAN
+uaP1muE8jbB6Gc5ZhPM2wNk7wRk8wGncwZGZYZVh4WG1M6x5hJUfgEqfYBcOsBc72JEZPh5hd/II
+JwToQACh9gy7doS928MOLrCPE+xm6awPx87+UDoLBNkgAEt664HYDi5YDnJMT97TCyZE2NNn3dE9
+nNNtE+KX7edMHrg37edNu8l7CXzcc+zmsdpjYE9v3ku1AP1n2tN+V2FPbzulN+8qumo8767Cnj7i
+hPKurrQhIOP0/j8VhGJV4H/Wzw3wSKHrFz9+/u7Du7tfAuDth8YX58InIAynbfFLmbpiQljrI2LM
+enN1YivCO7E9YGdimQpmlcUrxuLNZgWoTJ53FzTfECKcyOhVVq86PVZxbb/B6pFfT8fsrNlXL5B4
+1nXLYdP5vYCgSd47YuvZYlu3PXZa65hjVwGH9hdZVmVYTxeETmBMr7B1wf60bFNrNfKQZDYkYKyN
+rUqOwcoCyatWXOM1LqZobi1zxX3a/qva7SbZo0k1pKJZdU6ZSkmVlio1VXoaV842lap2/M/rV6al
+P266evRWi239vFJaoLWvX60cPirFrTS3WnYq1SW6e+HG+LI7w90aZCB/Vt4OKNdFZ6Jbbo1mpiez
+06iNRuc8dRa8B+1UsKfeKlP3u7XLqB2vWvJa20zdfRipYEC1XFWXn4oJM7kOKDYIPuA6rvxZSCgs
+JOLRQVfZ9Ejy6YkEGZZO8egnlk+JAEwin6rmCaUKOBoioSaSUEeRTxcS93vtg9c9sA==
+	]]>
+	<![CDATA[
+	PLoTrcNZ9A1AnUDOLCR5LqJnYt0CS5WsT5hEg8C6ohPphth9JJObxUJuFrhA6GIR6FxEcrEozsHi
+SGt5Ppp1iSVu0aj4WWXiFFDqZrl7T3yEytyRJG6grE6nQnI2cCEqY0fiVVCqngkX9yg9I4bSvHRW
+M2lEEKNPInWhowq6jswke6EtkmZk88HZsLMIz4VdRdhNBJ1S0EGErS2JbC3efwptLIFMWmzMQlMW
+mrFO3qTZ2OhGseVN9i91C+H/198W+9diF7v+X6Vj1eJUlwD8/Wi/H8R1bC9urwd1nbA/RzagoYkL
+vYroOh3EnaL+ycQ48BXr/0wr55Sdcy04kuYI3S1O7NtEMnokXgyv4TH2F/6z/fwJeww3tLhq/irm
+qzXTxTo2mg/Pxu11bUTbR0dddIAjUelClDqTnjASvQ5kzzwT1T6RfulAtHtPXSxMwYE6TKSbKsL/
+J9JcqQzAUgDKASwJkIQnssBIpC8TFYqkKUOZADCc5AKWDFQ28DI8SwgqI7CUoHKCSgosK4i04GR6
+lRhUZiCpQdfGRh9JA1dnoHPYb84hi0xDUo3JNTB+mMmelpilmyrfpG70B9IxVimnkV69nAP3BUs6
+W7LOA9LOWopFaQeY7Kvyjq4Nc/UH9R09C1dzIp7gaF4rzOGwH4K6tiKfMBLdVHdd5hjE1dU4H9UL
+HcwWoZhasXQbQwk/Yf8UQyt+zhewMzR767GT9Um0t3BfbO2u29+19NeGYdxPS5ruhiuBGvqEWF3V
+SphhN6bkjIpoKCVLN/xS0ChOhtICo0zYz3SflpDuUrlfijdOPlOHPLo54McYA30f+EHojjpGU30O
+YRrpI7T24ivZ+kh2byBauQuLeY7eHikzdyIxGyrXQNqaF0Pli6HyxVD5Yqh8MVS+GCq/sMcXQ+WL
+ofLFUPkfxqj1Yqj8j7en/1kNldfNkA+bMR8jdL37ZitjwBYY3jE6wYtQWKMfecI8ZZ50jb7UqdfJ
+d9PnSEhi6A4WB6mxl0mCZr1TPmpJR42P2IwteYafR/Xo4lj+ncdT7TMSOaPjcah3IfJ1a93dyh9q
+CAWyRWIsLGZeVNOkGi37ZiyZ6Tp3JCR8SVAr2yWasE+y/TRhn+ug1iYuWuInLBwkWytdG7s2dW1e
+tQXTIJKmXNuua/uuHbTZeLaePDTt2LSTa2ffeEPIMD5IGGlt7U9yLXPrbWJO0FoHn7YuAz7HkArS
+5DoAPQb6D4WIGuy5LcYvq5xMnfhuWtCHr6kHUizY2ted7Pe6x4UeVwSHrCfdBb877b75HfV7Lfu/
+ihRbzPVDA0T3Ijhr4oCDNU0ocKImocfSztygx7M7pvUnut+ipU7pz0huVoHWSAKy/BryGcDf12eg
+/W3rd46P37s1qvh/oMDWrVNQ/9V+Rr+Tter00Jnp/+2anh/7NyVb6dvWT7q10VlLlY136WRWikan
+olAFxV4s1Sw2RhIcx9YxRRQRyVRMM9lrUfXAttpAaiVUNSxifT6KhZbts5Mojg6kNsC0GIEUBolU
+RKoYUip/EiqvdtqJaLxSeTinRuWRzlOAP5xqtkDXIH8N828D/ZXmLy61ANN9pfwSPSc5LTR6b3HZ
+Lzh2j+LpNHpPQhhrEONIng6zhTJCg5t5T7bgg0Sxalzrk+96T0U21Vw1bPuwUmGququYygtz1O05
+bBtxaZWIaVqrvpzyqxBbzNjllF+szgRcCoJhqPKaSUGB6q4zqbsCYVgSHNuRkutAjDvjGbLzRRRa
+qM6CrQRmnzEtkupqEm8AxDX1BWBlJGPZjmj4UdTKibBsFPWG+DewPwB5BODtwP4NC/ER6N9wJo+A
+QB4BhXxL0MdkT54niBSISXjFoRCFuANCFeASYg5+jNuNghcuGWIJ+zvh6xgnvnDn/w0VYv/WPV60
+qUOP1+zrra09mvNbWjm9mbub8ap9oo5xZZHfbnPfoMcVTG7mtu0utn3biBPaV18Avp4tSL7+HK0d
+rImx97SztlibuQGusqfVZP5Wo3hdacvWkrVozV+WxECYT15tdXD+52Bt79rOtYUb+b5xLgJtk2uj
+a6VpuWmpNvEI861lv4a2Hc5dO3UNE3odV23rZ3+x7dpGnCv9LXzsl6QJu6JogVtZVS2XlC1rFdpu
+pRJ16hYyQF5WjHq1S1W8VNXL2nsCehQFTFXBqBKG1TCqiFFVDCtjWB3DChlVyYg/Bdxxqjxl5cze
+NBasr6i5olqNBStrjnSjstZiRzctnCDRXdQMUpk4tEjSdHA8Y+U0PV+vfK/KhLNKGrbz1+SXh9LE
+bew/GezihrLtIQwwNarzoyGFG9zKXunmceCaB80aC1QFx5zD2vtH8YCVcaqOI4VcgwmslmPFHKvm
+MM0i4kLFBlbSmSq9w4ZWf6X40GAE7PzpElZQU7wYDS+ycPHRsMNJC6jGZbliJd1dv+/adoM32gM9
+pgtt/andqtDj2rV87WC+fc+OLidJaXrc/sZD9/Lm3Sy38/qzrft5o9kNvO3prL7O3tO5Zp45dp7s
+TvFOmfn6zESXk0duqd6ZKvhsO+zNVSkC+2zpbcC0gG+CIP6CTAPw/PPpj6Zoh1NvpjD2rWKaj2ed
+zzmedDzldMLtfPPZVr8+PNVM2dUrbqHTXE+ynmI9wXp6Rzm3dGb5xNpezLTiCVb5BOu7o3UtcKCD
+8B0HWElcxwJriCt4gtXb0coVWbOT0FBaLVi5DMcYaeeRqOYMFDPDoQbpldYIqSSvEFLHgegiexjO
+RA/THIgKIgVEaQZwjihgFtqndI+pHt97fOdVsyDSuZnkKVwbpnADSV20MpSWjW+41uhAhgcxO7Q+
+g2oeHM0AobRM6Bj8XTMT7kR6ZL3wLIlukYYl0RE7/bzQKkmBs+KLrrTjww16vOGpVbvyAz0+9efc
+Nujx/LwNezwPX9pMObBWjd7mB3Mh9gnQrnrBNLmZr3rCeN+maFmaW9+mo/m+RKd08n5NvVdTHwAh
+/kyiHAjm3VLMj0m9WUghRcoo9lrJ5LGkKik1PZjxgVxeqwGimiBUPaVmCK+iKmSMGA/miHt17W9a
+fVr7dWbGrSi6m9ffBaFUpZ/3K7ttB6pX4dG8jGAHyDW79SWrnoS6B6HZg8n2wBuAzARExJkVhOss
+oJd2QbOBLiuW6hKzcomNuRxB5xmgnjW6xEqlB9mtyqS1jNxtAQdbkFaFcksf1UgXtpU1F3r8YiXP
+Ro+P7uHBHm+Z+9V2nX02CnyUsBfNqelPf6uOrblYjxfU+XDSAX3xrEcSfn2kaVW44in3efAtxIxO
+Np/rUULL9iSwn+xMZ/MfXETZyv7BElJGylZW6h848MrOr/p8LpTDe08KV/LllZPrqWdHO+nE+jM7
+ihlXA8z2lCn9yAbdDRU/m3VVyb9rcgifmjR5lmLP0ldPq1R9vcr/qDe+3a/BKf/NAACMaJE2Wpus
+qVlA2861fdNMvwQ9HpzpoGumBj42PofVMzY5/9jW63nvzF69lyzQMIv5rsVXeiNu5RcYd130t9xd
+rjYA4GyQ2gDKPbj6APBH76+BfBoLKXg0flowW7A7srkKbqoid9hiRqujmBMYy5MEGk5kthIfSNiG
+QMqKTIz6RGEjeGtRiKF4xjLXMJJRYZEQwyOqSCx0Ur2bF8HzgxiwIpkW2HMSxQhUyOw0gJJuJlTb
+JDMwMI6jgu/AgYekaGRDQxLlJU4MlZ07Cv9lRSn+sDVJsToSVmvayJlCE7Exl61MK2OvYm1xOFsx
+dq7Nx2xPG228oZXt5g5LqVlsb2ppu0m+V9/iI1pYN0lneqk9min/YjHh6aLMIwSnm8Stx4h4h+si
+oeVAfUzxjK3sup1WFI7fKrPuDXrx3gXROSECMzuTg/zDmlGvHa/OiNUdUTSjpBeYmujIqiHv4wtb
+7WirJVcnRY0zXOtHvaacdQhbGtKqLTcNKRFvryOt9Q16LelVPWnVksIF02tKF9OU9jr0LV2paUpV
+n24eG5ueM66qxTaOfRGWHYAwblhfOjxb5VbwFpgVpgGGqQ2m6uCr02vFterMXC0xvS1mbY3p7TFb
++Kba+HU0LmOcusWKbYaxrsM5ts5UrXzFOsW7vcc7Kn1E2nmz1Djt/CburbGvwb/Xr1JqcLBiYcVD
+1tczHu4l4f/isFHxkTCSqo1UzKzYufaDo9zKw4DJcTFr7BIxCy78MgFvI7ll+bf7oPXFAgdNxrsY
+71H47gIun6EzjgONHEIaOHYT0y6PPpp00IS+gRP6Uh7fJd1HQC03nKf0IpmTAfNKkR4sdHTS2Q2a
+5RgOexkly/EY7xPgmE+Z/IReNKOwZjXWb8uznAFYIlknzLsb6RfMvAsdpeUeke8u5fs5hTan8PP0
+KOP7so3P430JYYSNvx+nHJ+OSX2HMjqOA4bnaCdwya08HpKPOFHWYklpLKmrYarTPcwYa+qFxQ/t
+GXp7pIP7qlxo2CwiGl7c26/8vLi3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3X/+5zUp5
+3f744t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t5+Yx/V
+SPfi3n4z+/zi3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7n6t4e
+0raDO8C70lminlGC0hoA9WKb3cU2bhiHkzhbUxp7cbquLqFSG7IxEaMEN5lbJct4UdwxB+Yy1SVb
+nEbYoUSradaSxayXUg2PaYxPvuzBA9V24eJkx4tLxim4MkFyb1mz6m7bMmT1kqwXpDdOq2vCSFVb
+8UoM1TRF1yAzXHr9SVkDMxKpgUhNRCNJTJHmdCSnE55NZjcQmgmbiWgeNIcgBjZvXtN5RDaw0Tz2
+YmCbyHAkM3FuFjgTrd6HRraA+lLUW8vFvpBOVUxJqJkR1nFPGhu6xk2/NJprccUEdc532GAOwDtx
+1V+a+qpmeiV3qF5r+ZBp+aqu73FOYDov0g6Zbt30ulVLVPVEVVNEuiLTFDW6IgsBUH0RO4Wqxmhv
+GqOjaYwG0xiJzqh1DYWzUnVFpiXq9EPsGgrytTnq3qLjr66WD1pXyDmmL43mnXl7y8plu4ro9Kk2
+5NgUwvN1kzuLigshYR2RtyddLhzm5+xnbfMGfupAzGKdu5/9pTJirX3DWzjgxDYrccnGIeuxZukC
+39V4T8LlE+lawusUbyqu4Aj3OXGdeP3jBR8rfxTbmiTP05sUNLnPynFlKp8tV6byZfrdvCDXwd/t
+6p98YQ9Pv27zhes2X6hUWZX+SojWHitrf5MNf07z0fSemK3X5cFFR5xFvTpICeihc+YHbAdSnIQM
+Mzn28UAW+ePifXzUjosyUMnWonL4FT7upsj/i5SHHqlK2ihxN5MwHCzDLK7tJNJrMet+bXv5/17+
+37eDa0c55tDE++lkjJBTqeFmdL7KtdKor1tIET6hRvfU2J62GlwyAyrPZG287glrrQ==
+	]]>
+	<![CDATA[
+	Lqokdc9mlM53HcgJaU723m/dfNYrIW2NKLP4qh9JrRzJT32UouwH81IP4qU+mulEDSfRIiEs2q2L
+dfORbmfUOFikm8a5aUl2vugeE+VG1xhdYnyB8eUV5NqSeIaNCpShO2taNbbWja0VRq2QOp0ZV5MS
+TktbabRWkz1djGiYnUHCGyMonqy5WteX66Xr9UjXzOb1uokRfbXZk8XJZLlWyajm4heSXKdcVfTg
+omSymBjQIH6iqAU2LkwWF8N1BjNhAuLBUVihSBgwo0Gb4xMkNmGiGJcjRSQk2Oe/xMLx/5Y9XjcB
+r3wczWGgvVmqN+HWbVKj7Y79bRJgjHYqkouis9jSJmLYRRKbkXBvHog7jeo1P8Sps8E4+wn06O0e
+Pp6gtRn4GAIfPTCLeGgRA0BJxiZWwMcIuMgAiwrwsQA+AsD8/huPf+/l7/361Zvf++97b33xzGdP
+fDIjV//7neh2F9LvzqTjnUjYG0nXyy2Lb2UiITaSIGsF40kHXAvG+5LxVDT+P1PFwf+IVSS/aP9u
+2MEvqex6fQ8BE1cxyzft4cVdpBrYt9Z2Xe/ixj6CCJaeXNu12Umq/3ultutKjLvjxurrXirb+lA0
+1iauqSpyUS3pWlwLKskF1vNST1O4X4Dib4qAT+3z6YJYuSCIFRTEkhfELgapWUC56prafx9qJJUe
+KmWVxC+jMtA7YqGP5JHB7DOHFM/GQB+VYbK+svh7aJDyyTyaRtFkqA7DM+PKeg1con3LiXnftV3X
+lq7NNaqOh+YoZX/KjpejaVqLsfb18Pl7iIaWdVyJrxnvsyuolHrYcBRaZ3rYaawxyGZHlQqJeQpO
+GZSbvA/Mq6vj0I549j1ftRamd0JPf4pJPgsnPwg/H0R9FEWJpI1/imuja2RqF5vjJI7MXbM8JNFF
+q/c5SfqMJCqrrXOSaFaSmaK4dqSgdNlJiPpXya3KbotIb0eT4Np4dea6qvvaTmS5gykkzyLTqUoy
+eZXkyi3NR6xXR7RNpzNal0z+EjWSf08MlUTzi+Mfu/4Vibce6c6a6fZix6g93Wcn5qOcknet5h3p
+RlxE0XsgufdAN+YZHaf4/7SeA/KCcMPivco8oqp8mZPkTADIY6oz1UH8/Ig7FX6V+VbmY5GrTeSj
+wjxuJFUw87kTc72bktYl6WKtqfJyhEoRezHjXJChRbtUnfoOksdCpWfNhTKKNmhpz2eXjWV0svMi
+p5DOn522SE582U4UhwCAHE2u6DtilJktF1GDp2ampcs80UVvnw2uyPgiOE1J+HHljDxvVLkj5XHX
+8ZDMI5nvD+B1JjIUSUXHMVE1NrZGR1a+Sam6egNp5e0zXQGoAzqab9Beomd34rlh3OWj+OGOmjs+
+yjgp4JObqEjjpjw/tcVRnV0UZI2IhZcBBe4yeDXRsJrBS82dPtqxiYGtEbDkGt2bNy0CVlfGvJt6
+T5MaB1z9m2oEaBsDqr4my4avifc2eYqvSVz5O/WeJms/k7nzehLzMDng5sb7qXpAxQ1fE8C9MDZa
+/JKXITZG/ULmBfxlKMB3rg0ST+lF/AHYXn8/qg/EKF16zjYjz4sMbWLHA3J9gDcud6mgC0TjrfA8
+HYrviz5nrg8zmzPgm+pxUNijBH1H5KPA/Df7sCz3GVgz7wnzbH0+mYNPF0wpaduUEpwqXpXxqo5n
+hfwWQ7iImraJKCN0fSimrLN3rswCg1Mr67U42ri8ocCrlEPj715QXdaMVdXKR2dc4VEXOmw06o2L
+OzRXt6YS0dEV+1PEbj660eqfxaXjquuqf1gZyH77J0uyFbzH9dM1Ro0XLfBDj9YXrbQf7Wia8VzV
+gXQ3Poyl9fBtb/12dDK+Ziw1k6GPvp5sVEX0nKrhHEyz6WOwd5KnZ7asJ8U0l8z9Dc7l5Wg6yt1z
+aRWqkxj6PiEhGar9dcpC/ogeI6mbmSCvLbhP7ejJ1Ge5kBh0WaUGlSQOzK5Uh9HtZB7VSVTZFbuq
+YXfpgobrt6p/qgJopcgTtqRIctFgKS4PwnywX9VEpin1q0KfKp9aVBNcFk0wqp4vipzOjbp1ZuVE
+E5xY6yAKSKSHszAVNeFIZBaCxn8kV2k/B50Fz8En6mxTddZknTVhZ5CUfjojTZe6dL5h6vGzSsu5
+wTJFxzbyrA4SATQTzZ9oXronsWEcURDxjONiAeaR/lhwufjCMXPYpyJVr6ehmZ1PB1tn5hORtrNj
+mivhpzP5ae9aibYJQ+1DgZdVKDDJsCSh5CYEdZ2rzttsr1tti8j7lp9002o7kUS/I/kd881ZvjCZ
+1eV5sUajDa/dmploNsi1rzhLdJ3bWSTxh+bW2aSJFjdze8TsDha0fZJMb+tZ8X7dErw9Uq6lumeX
+Ztba2vt9a7LKwuwW5zC2tXPbs/O6OmVQeuZt2fSlYLao1REgO3QWv5K0Cks3Bo7YN5+ltTJw6llR
+nbdcQgAYrndaU7s6Z59kyzrnCCTXrQ3/gugYLe9ZsKMDrexpDXiMFuY4VY8CypFbWb91CoSWYa3h
+uEPDttaZo6WoakWIkJtWJDWh+ZPXIG7OK692TufUzysJATeWVual2h5laStbOzX5Hx07bgx5DTim
+oGOYF+t89q1znvjO1D2mGT4fg/qwSWyLTe0Z1avKH2BqttQ/bCDrFUDTI019DxlrbWZkxq4zWzPg
+LQvumfDtFF+wZaLaUvOtDzXqZ3fdhPlII6bfM5jXVvCUn9um2k4M6a1Bk2ZHEbNtGFU/v6q+O/Sk
+0dKZbSvuWmOnGWLWZut5YoPn61dkC7hu9LyurPOKuhMlstO0PtXY6U2d3tDZmqt7A6eZN1f8bTbe
+6YH07UBoNjhb8f/e4G1tlbp1cqtU1+nogs6mDbXmmbKN1ICzC6aqlZn4mqF4If67Tfi3YfJ3Cf42
+Tf7EZctKwvr6NEdHJy3oem4lxNd1dSnxlf+E9b3AXZv5r4bxtUbANoyv4p+ubJtYD7CtW9u6ul+2
+vrtHrG/xsswFScytr5Nh1hJMMjfbttjD/nHrC+PGMbMcxvLXDCPlcZK0RSPk8amE5fe9O0VwFbcj
+6s+SJrNbF0DoYyhud1h75M+/RY+mqt/ON7SdbeiGiAQ4EduZnh6ISFhleLLcQnBHrM24jy8t4cQc
+uAMf63b7gPBG6ew2BZznXd15IGeCZ1zd3ewKd/wlru+Xru2FaBpY32ddXeTk1rnJnrK6R8CBm1f3
+aevr+DQKVe/b2LRJmv6QsVQMp8x/sDH1IG72kqXIMo8NZEOMxONpDrgi68wrXVdbV5zWnNedShVE
+8wj6G+JU1s3lyXb/0sQ/HGfi64NEy0uTxV+pYs9Mt7omv+egAkyCfyZsChwFKMkkPE4ZXsEqWP47
+GfO80RbXdqtGGpLxYO3k5gn7iNwF8hiSNqDm2cnk/M4hEZxZajFPLHWHR90GcTNEdTTSTPJNWTTj
+VnBh++NCbrYcps0pohba8cEFfXjBtYyIbUgJisYnyWVEKg/j2zayzHaZctRPWrOVH4Sb40QgO+Hq
+FsKDSZKFKneniRqIu/P8XcPdbSTQrolBRO5Yiqkl5rjR2jpF/Uz8DOr4ZewwZhm940v7FBNb4546
+nt9cGizpt8mvm3TDe20la+2M6jzqHGD85HZhM5DRj06qu56OpU1VLY51yk0/i9pupOI4LjCGWMfL
+NtezU9lVhZ2GwGgGrlUZD1bRwdhTV8KjFofBe/DL+TehWA+oxKoFdWnUfCeX16zmM3MqzSbL6UYJ
+qJVNus91uorFlXxlbbDQViTuVqbTTQ6CqPEiFPYwHm9eiw5DnKNma5mX1ZC18Dlfr+d99SuxEZVM
+rpd9IZhmNa7kfeX1YJ7KxeeSEzivC/FW/yFClK4HEa0d/WRfJUeDlTj7MwoXeaCsBPBIzxosMk+k
+AXHuz382a/Fg8MzrV18UeHFlPWAtmrCLW9fisauxEYbytFCiRLmSvywQZdtF/kCcrQtE6Z0vwt2w
+5Z3VgdnhAn3HSrnHwIu7Od3DFeZT0Gx9it/DrnK5m9L9kNLUvMGBxaWDX5vK/VJ8YqAWzs9mgE3D
+/YzeYCHdw0778JCtT3U0jYOJAZ7qxhE3nThi70DWxII/Q3vmHo/kNrEq7XNTO11qFufeRLi3bTOD
+c9go3pckXll/cteKa6Nrk7XK6y7W9uIKs7MIiiaGgtq5i6LwMRQb0ROkNLWYCfKgXcglZy8MQGUB
+BinzGMXa69kjtvmiBL4nUYSTdhBTIGxBoAlmYguKJO7YGbt0YLGaBE9ODl9q0g5i448S8KMMZ6bk
+rpNUjNtLzPUgkficxHhvihZOX6wJXQ94tZFqRSMXZlGqmGj9Z3UC1th6ywm4hMUniQxYNUp5FTba
+JnZvYnaH1dAj4/V8EavV+3obn1ts1lyVPRa3GDw7LGbvcMZiqqxheBwVjwFf1W9hIgPJrvouCP4G
+Skus+FvTznDq7YMoUM6adAbwtbh6mjsRl2q4WpFqh5xF4iTKwuhC4PY1/A3Vg+S3pDkkTpYzQPNH
+HEgVyIrAUmsjk2I1UYJhVvodSd0XJTk2q/lYxYfqPfROga6NWb+c0v6L2pN6XKdf9z1eTuR/W2uT
++z/4VPcMjmbrk3aMDbSZ00P/juKaLP+npPQogugTVRzZ/q0aoyQRnP0thilKnK9CzrbgM4i5rfvm
+hW/8hZq5ZIXifwhx9aXHlx6/tMdgFQkflwb8wfbMPR4v1OO8pV38sQwij6jh2eQZ8W2WmOC5yT5S
+m7PEWDaSmpGkZiWpmUmwBcoS5XKUkMC+laXkaEPmH3IMJhesRZzo2BVrArGSbUNFnM7YMStJcjB2
+SKwOWqfqpEUKAHNFU1e7HfB+ZHEqlgfbYi7NeWsdd7lsxF1GdeOi9JmnJhP7Q25Kp8ZNqUZfiqMS
+G7y2clnYCbiMA1/UntTjJtZp/diLbY2VKwxtG+Frj6k9tl7G2A2shR4Fc1usfSTe7ireAr4K5jq8
+rVibNrD23GCtx1nCWuKx1xjbuhuyQqs6HPb4mrzTITnUrWvqXqiqu6qpu+F4+PrV5ZwPIKu0uVaq
+g1fvfMiOXYMo/9mti5261PHwFM2A4apBP0v7E/Z4WblzW7MK19BjuNiGy22zig+5Cr9+tSqx0f/0
+V9S+aat62ZI761K97HWt7HWF7K4mNrnirDNrnZobs6VElYas82plid9vs2rVM38yl24953rCZ3MQ
+rudazjTlQGpvov482w3kTrJUQW4qfkgt5NevLN7f12KAU7yRIHbSBOr6y4D50wsF4c2aeX3SEGrJ
+ZR7v5nBf0lzuQrmfQLTzGYKeqUdWN1sc4KJxgJYOfrAUr/SyMU8YAF44L1G8K+Eexdgu6PB5+nuy
+0nrY1loPq8xFir96HiXrnU/H1/iYpE0fE6un9fqV9zSx9AU+zOZIvqMn8zkZLKFrtAQdyZK5jmLV
+Hy1962JhHJqcdR0w8/ifdSoSVm5spSHBU6G5nNAZjBPgBvLJTbYqU5cuiOzxWJTFLA==
+	]]>
+	<![CDATA[
+	8lFSBo1SAW9pZ+M8SpwnDHkTtf4YvT+JL1jCyTGolK4UDudCunsqMOz97Y+SFIKvO7nsxCcYIxbh
+miM1qvorF/JUDhIvipGiBWYfyIN+D6s0sc/8Vr2svg6Wr2G1nYHx5OKUNf/UTpKNa34pjVceLd9i
+jVn2Uctd3LIFbHA8+GQ3QHbBG8FofI3/XprcklvZJeu86qzanJI6I5jPhdlcn0s7E5sHmy9hNqtZ
+yC2lt5PpLhf+2Uk5WC1HKk6ArihptCxHY1cetnHCRPOvOWJWV8z5QlRozWq0csjUiFDKXfSAS2bv
+YvRnZZP4U/XYWTG+2M530drn7HyXbX2bFpJq/3MWQaASwENvWU22bSfbVpTOnkKZji9bDNd2w9Z2
+2NtaZokBXJq2s1atiRr72FkTu7xsZFUkS8yl/GzrrGxTY2FcyMFIrYzcYK+rvdHcjtjxSJ2xshQ/
+LpJWQL0Ed85qcxQXLWhaycqKpkYqnJqdc9IkBSbZWVadYtEPehBrZBTn1/HP0jbYty0cv7VdKZ4I
+PV62gHO7DcsNRQzHW6y+jMNbmOvx9kCy7GGNvVplrMPSFkN9pkBOSbGnEhWKn5r17CSJoZlPrAMv
+UtSUA6zIEm6lKwgbKZE0sy1RrIlsCR/NbXsv+cbZFs5u2Encr7mIxULOrGwNlzLdr1/R8mRxq5/F
+In6UIIRg2enVMV5vQ7WLJ8pIPktGcrj1ME+wy36oQQcactDnp+e7rc10MFE5U7nRTgPJ0xxkUAMM
+NLxAgws48p/DCk7nKz9/lhbK1WVhtrrL7SljfGw/F5/semyf33qLD3Hbgums186S7b+3ywttFhv6
+i7am/KX2yHZe3N0CVyHnMDhS2jCp4fFiJ33p8aXHf4ceu+ipvxBr7fP02CnJv9j+e9Ea7Oy/139u
+ttldtdA9yjKnenbJXHTNNtda59YWutywzsky7dbmCyw3Wd7NZletdt5yJzp9qs5dLXjeitdboM0K
+bda8aolWq14mx/PkbNLOvudsfN46fbRl3pt9wFn8xOY3ibWA7QVsMcgiYESzAFa79VnSwB/FimD2
+6z9Lm/GmDflBm/GjLcmU9/wy1m75PjxgU5bcY5cty6nD2A1sbTEV8KfF09bGfMU7orEyOzszYeSW
+h8R1Hwlvo+rszZSRfttLorU6X/GTaL0kqMaHr1nfVa3ftD97C/Sq5scDVuhban60FT+iVaDHNCOa
+ZKRP9MjJRTi1iKTAsfSOO0rbgUk7Ygh/gZbr7fYFKhzo8Ypd+8G2YdOGHh+2cNdqT9dt3KThf/3q
+qqW7tXWLtdvaprXbLB29zfua1dvs3la1RO3eZ8eptPxB64nT3tSbFvBaV0p8YByFcjfo2g6+62hQ
+S32S1AOKV/yy9hKYdYnaxIbSEJ15/eqBPPjq3xIsA/6x82/RoLaCwf+rPOZW7zujnTi3pb8XtSJT
++dMZw6him8D8S74u1X2eaGcf8/2Q8/KMlnvtUQLFcD6F69xrZSAzsVt5Vk35e1/I4n7Rbv8cvT3V
+ar9dZz1htuCprTZk2bI3ouOnpvTFdtHIplwkGWM0/eG6BrOPc27qLzcxzhrhTJHNaESg8KWu6rKp
+P3yUv89gfpYysv2c2kzrR/Ef4Hju2CTsvJRzvY9v94k7N2ZKJRFmunR3vjiqzaAt7rlbJasMNoss
+s/BzcGk48UqWSvcao9/vk0/E2VeQ1jJBrqwnpyGFGXBuA45Nt537i1VBrYR3i3Peju29GOu8Gel8
+IsH4iwsFbkf2SumUVWxvN4ObU8RvzsLNg67gJkH8I8rlbc6FsldV5zCbjc2gppJv839emkW7F+1u
+JDLyb2fK7LOAKiuwXdzG5TbtYvLd3rSuAl0muy7PueXiCU0+w0Obc889tZWVT3Lg+YpqbZKuLoWU
+ceV9mqntp/pUVE0yqn66nYTR1hTcSmNY5YuYwjp5IRCwmmizSxGoI9xIh/hwQsSy2av0K1s22bZZ
+Wnd7p6/c49PKU4JD99b2ze6d7WzgnZr0kBMruWSXPmn6l+QiW2Uiq+ZBKlRxwe1Fp7rxnluynm28
+jd9F7rL8tlXmM3vnre/byLMm72uceih/rs2vzWR3IX/QpR9vOGOTmy9S3JcpXqg2Sa3iqLUZyb+v
+yS5Tk09P5uW4LjQWjC/pSwLuN6rBtCW6a4FuTaRtOWaoqBjyX03OnRvv9BqAqCtT16ddI1mnxv9x
+JOq1SC4iTjx+cAXN24Jsmpsomp9o6x9aM5Adu1o0MbbVaNpCirJude2sxHnD1T2Ky7mUoabNU5Nl
+RRRrptV67MUr9MCrQX6hijuBVqJ6h1pONiJiikO6HsoXBqlvlbvVYDziFOZaUFJL1hUKIUct1OJc
+lY5tkvL6c7KmaontGtrVx7F6OIp3o9TN3qop45ka9WksknqlTXmubEFNwaKswXYaluusQZ8enKO1
+VgxbU0n8oRW5VFe8+n2azyf02FTacWye+XvetC7G9sGK7I3161cmNp6dPft3gQGEFdmbzsQYpxtX
+5BKWXMSTbkVqWp7b18QnW+d6SYeOkexZYsfcC754pni1Kii9G87YqqyunZ0xcw8UvhEyUVMeq9/H
+Kg3zKjFy9f/wTw4qNagD0APlPx7xZNx47mrGUmG6lAHyVWek7oznfo0z9iyTsGrkM36SO6TJEW7f
+4nc1dXs6Dhu/IxV7PH9duCKsqwerFWGZhz4SBp452sE4aa10WlO8Vs668ugd/23sSlOb5lJy2LWm
+DxjOErlKHumWhvuoxfHWiijSVpHmLk9DwQJ/83S3hPsy+VCZZ+tSahlqNcRBHx3kBahLtMCX+ovU
+0wr3qYR0l1elAp+pQ9FXorYweCWdK/c1q05vXnIIcy1KSOW+UroPeWzKkD+9Mx5VivAMLm/Ueo2x
+1msctarkpK+buIIjFyGb7jMWUKyjeobOaFRd8bUx3yNDQlhRLpZos6eeiA3jfZgIMgyxPAMyaH86
+LNYaezWuQHwlylmLVM70Lt+NG9FTu3qqQni7fGVeBXEpG1tDl1TEmTo1pQo1566iTnKJgmdShmiK
+VVUiD7HW01EF5WyMaBVnfJ0gU09SFi6roiM5tlSpPIqqde8VraZYJtXyqjRmnxh0cmz4pcrtqj52
+qlcQ0AYJOLue8HhbNa4Cmksg21V6apOAakLUk0uF6lOpH8e+CGgvvrVFODVDjRdcQiPWqRgTXeaf
+5ES9LJB1JqDiWrZynmVDOCzu0/ZfVXScmkKg9K++apLmcNQsjprHUTM5xpW+t2p8O00jG2BXOtPl
+IuO8zSK6yjyUPqLVOVb9qcv0aMJF1aGS3vFCrsovy9zpdKhdHaVHlDG9pM2mcOEnZO68WJL0clHS
+fIuoRIXi2sC4S2VJ66778L6pCe2DEwxr14fFVa1zxYTZjNTFjNNkll6pVGdL6be4hGjHNpyhC2bQ
+kBoNp+FM0kdM7IepNki3mSif9NgENBxcVQXNgt9WVdh1VRWAOr1+JUENmuefQ/s4rC+ToXuSgogS
+ykeOYhrEh5q+RQIbJIEanYtIWr7idHxWytHy7lsVAKsAwLPiHPma7X+hQI2DZsa3PNlZ6h9wArg9
+5T/VugaRjOycBm6nieCoakFws+JUcMcuGZymg9uTOMyhGjofnA3rK3kurK1kTSXqRQ+SHC4QDuZG
+hU9BGiRVsTyF0tQqSKMRE0cRJyf7l2omtdqz/rbYvxa72GtFZbgAxUKM2ihfYXlHcblVY3cwbZWr
+H21/jizDUQWnQDUIAllmU/MnE+PAV6z/M630ozun3YI/GAeNSvWohfqSRENzrPdfYv7rzTINV3Jg
+95ppq6FNF6tWzx4NJ6wsYlO6VNwyN10y08plZcs5zpKyAHWYKK7PO65UB7nqurJ2XhH3FXORkxpd
+QMFq3bPWUc4nFYo31EIQlzmgJH2VLnWdI+c5C2fW0Yvrjc2gut9szcHXGRt83TZKqLqzVDNbrn7n
+zWoIjbOfd/eD++JydTFXX6xx+xOz3HZ9MWCyr9Vvs7XZTIPlHZKrg2eTQOhRTlVbSYNap6ptDPVO
+VYcGP+cL2BmavfXYWZMHjVQpY727bn8fKl5+Py1YTPxKBXN9QgR/FVSpCnlyci3K6uxtNNwX9cCa
+uEY59DPdpyWkdbLsZ+qQRzdTTXRyd6rV0bVeesrolkUfocJBncfKReep5+jtybJy2RaWS19snQ6M
+2oLZGszHhg9OtUXr8alW4am1cbNdGK6yzVJ4q9J8rNQcVVu8qWl/hp9H9ei0+v/O46migtgRLHa8
+egNc8APYWvemBGFTdFLk1tLln+0jLjcKEdq1+9RieY0RnMSQLyjlZsrxbK10beza1LV51bQ8VG27
+ru27ZiEENp6tJ5vQmHBsmnenPvvGG0I6Gk0RVFv74wPoJWh9lQskXTHFt9orX+d6skh6NmIE+u9v
+qEiJmr6rmbfVN1nan8YN0/RMdiE/LKQ/4HBma193st/rHhd6XBEcsp50F/zutPvmd9Tvtez/ym62
+mBZSzeV7EU/UjaqGoah7lbjQuwRVmqIK6IolqKouB0GM7X3KqvUZyc0q0BqJecqvIZ+BWRI5tZjd
+/rb1O3sL7d0aVfw/kJl/6xTUf7Wf0e8kOJ0eOjP9v13T82P/JtfTvm39XEnM0jY6a/S3+GBV59ri
+tL29E7GWSfIlo1hL6p2ISUcqhbaSFdrSwnpHURsEye8wkSrkQEy/zxg/SbYjKSxJxQ0xwxGXltSs
+RkrlT0LlVWUwEY1XKg/n1Ki8ZnmYKCPoQkokpfbq9NS6PSnNX5yjFdN9pfxiSxQPP7VlLs4X8CDB
+Iye8zFm1LwbdatIdSek2m2EXGtzMe1JLHMSmr1b+J9/1nopsOqBXJ5aD6trNpUe17cXKkHHNA3Ji
+oRwlvVv6tC7g5rTvhcQrX8SNnNRZB0/ZRZKVNJ0ppwiq4M5SnyBJOcfRlaI8GZ6hQFHaHCKYc5cw
+TXOIsGIKcU3VUpxBhLFsRzT8iBsCWJYIy0bKIWKqNlZNkXIqU70CVE4txEegqu1MyqlAyqlCak5U
+d+5JCYpIMVAFg0gKU8Sd5QS8FWEOfnymWgaB8ASxhFXv+DrGiS/c+T+ZmuXfv8eL6h2qCnBZ1dOq
+fdrMIhdsL8ar9m6L40o5tN1WVTihx3VlzmWj7S62fdukXJuppVzWvpq5T/18ji6Hnyr31e9nZ/nv
+FsuCNxOuzierFurqyxZr2dpWJOAqWs/MQ1uReNv5Za/mlbXMstt5ZS/F2bWxdj7erhon4kbsXReB
+18XhWTxenwVgM+7/cVH6F/JoGx/7JUETV8xMcCuroelSkbh1mThXFG2dMVqSavqc0T5rtMsb7XKb
+b5SRNUVeLclao3dVmcfqPPWwV4Ueq/RYqcdqPVXsiWoPi0sSCh9Fwbc3jQXrK6rnfKuxYIXfkW5U
+1lrs6KaFEyS6i+pPn4lDiyRNB8czVk7T8/XK96pMOKukYTt/TX55KGhmY/9h5y0DcQ==
+	]]>
+	<![CDATA[
+	Y2p8CAMOTVk8VzqRCrtv5w2/psxdY4Gqc6OkU+0V0YoHrNRVtS4pdhtMYOUuq3dZwYtBZ4UqNCk2
+cASGYsOhw4ZWf6X40GCEZLXbxApqihej4UUWLj4adjhpIZxVMlxJd9fvu7bdYBj5wjxg60/bSkXb
+rb9j1/fs6Dw0S9Pj9jceupc372a5ndefbd3PG81u4G2ju5rdvdHdl8dsnSqc4wHFKfV+2pdD6bYc
+D5gqeN9jNixUisDmA70NmBbwTaC1BJgG4Pnn0x8tcwPnbOBTz2p+pvl41mslCzzldMLtfPPZVhMT
+nmqm7GqgWeg015Osp1hPsJ7eUc4tnVk+sbYXM614glU+wfruaF0LHOggfMcBVhLXscAa4gqeYPV2
+tHJF1uwkNJRWC1YuwzFG2nkkqjkDxcxwqEF6pTVCKskrhNRxILrIxq6Z6GGaA1HBA6WV3k2zlFbP
+QvuU7jHV43uP77yarQLp3EzyVK2aMHC1OFwZClLhG641XZH5SkxXrflKY8JGi85SWiZ0jCssSJzW
+TqRH1gvPEvaLNCyJjtjp54VWiUPwYzInbeZnaBv0eMNTq3blB3p86s+5bdDj+Xkb9ngevrSZcmCt
+Gr3khHcpdrtxwwO0q9W4m0j1K/W4D01tcledHFUBcMVv1Xa/WN3dim2ufXH27I0jyoFAiqhECoJR
+kozuJO22FuCsybZLl2jbpdmmOsvRGSCqCaJPs+1VVIWMEePBbMJX1/6m1bfCkm2c2pZD583r7/yh
+qtIvuvW/bQd4D/bqD6U7QF4CvAN+Dw7NHoRmD6Yu2TnvgZmAiDizgnAdE3lpFzQ2clmxVJeYlUts
+zGVnTs8A9azRQwlQL7NblUlrGbnbfF+2IK0K5ZY+qpFus6zixR6/WMmz0eOje3iwx1vmfrVdZ5+N
+Ah/FA0sjDP3pb9WxNTL1eEGdDycd0BfPepRSx9XpuSpcA6UTrwp983akk83nehQvxz0J7LWEMZ9o
+Verv6TRzwmbybpQSxjs9we78arGChTIa7EnheiKVK59cTz072kkn1p/ZUcy46uu4p7wRx6ZYgVfx
+s1lXlfy7JqL61AQNWcCRBfNPq8ClXuV/1Bvf7tfglP9mAABGVIttjNYma2oW0LZzbd800y9Bjwdn
+OuiaqYEt3EBMdNH8BlMTCTubg/7emb3YfFW5g0zVYPimWrr8KKeNXC+Muy4QQe4ulymFEqlxphTl
+Hly2FPij9xfidZaU5erKL5gt2B3ZXAU3VZE7bDGj1VHMCYzlSXxeJyt3fELlBJmtIhmuCmE5lzsm
+b1eS8IJwDaMUPWZv1yOqSMyLd5SbahE8P4gBK5JpIZFpAcWIhUp4iy8v3UyotklmYGAcRwXfgX1g
+SdHIhoYkysuRCiVj4vKdhWPiD1uTFKsjYbUG0c3kJbujdOYH8pVlFGbsVawtDmcrxs61bdWV8W28
+oZXt5g6Lr+NyS0vbTaJffbtWOqBvYd0kuPNSezRT/sViwtNFmUcITjeJW49KjntdJHR5EW9PJbQV
+a9xpRSnT60b09QN68T4Aw4VgADNb885d14x67Xgy7fjZKn+KZpT0Al31T9OQ966urXa01ZJrfkt1
+eV3rR72mnHUIWxrSqi03DallwfQac9Yq9FrSq3rSqiWVyiJeU7qYprTXoW/pSk1Tqvp089jY9Jxx
+OX62ceyLsOyA9ZfW1pcOz1ZhPt4Cs8I0wLDD4mt4+tp/weHa0XBt8bkNG1vM2hrT22O28K2WNesd
+wxnjglavYdsMY12Hc2ydqVr5inWKd3uPd5QIjrTzZqlx2vlN3FtjX4N/r19JXRfFwYqFFQ+PkqJ3
+b5iouOg194KRlHupYmbFzrUfHOeU1FSLyxIxJhgTQXJCRvxVczRy8DD8wv678S7GexS+O9/fZ+iM
+XZIjezMHdiPGIPTROzYPGt4cOLyZopqXdB8BtdxwntKLxJED5pUiPZgX86SzGzTmGw57GSXme4z3
+CXDMB5A/oReNr9YYb/22PMvx0OJUPWEUcqRfMA4ZOkrLPSLfXcr3cwpthPXz9Cjj+7KNz+N9CWGE
+jb8fpxyfjkl9hzI6dkmH52gn7nwqVMt/OmuAtwTyw1Sne5gxLNAUfObS5+jtqQ7uJWw6uAMYhhGd
+g3vnpnmtXcxq7NUF4oB72UFw5XortTuLRHNp9U6t4IkG6baO515ccWs5OyuvZRrIKtEVy/dkzrlA
+VDXbkeQ7kqJsqp/kPFrZtJSzFFbbiZx3MKcx1lVGYFa4gNpIF8ds5anwYjk32soi2spGX2k6DdNX
+EkM1b2gsQ6exnFqNZZM75bbWO/9uNsmr0ruBbzt/V+fe3pm1unMzq3NU1oeZIGGJPNZ4XMGlngxD
+FqvwKlhh7NhRMKNihceLSGydyvojXbtsVtobTpDRid0rqLCZYkW23Laz4MOB2IAjYoPps6rtoAg+
+mAYbMOXY6bG3gvt3zpZw4vhely3yqT/uaEKPfa3e1gW6r9rbYo66ji+CDzsJCVA3kNaRuboxn5lu
+2J4zQ6xxnYmYklF2W11ScL93VPdWnfE1mcQRmSHb4yB7XE/+6DLfqmsoGxXPUm4xErPG571ahA5i
+lTiLXkf3NhFbWKgcHZt9d7Cve3VEdnubrBhiq+MxO9F/AhfIP8ceH9aYi9XDuW3UDJA+G/WhSyGS
+ON+jJXq6XV9x+cf54Jnm7AEnw8bBsHctbBwKoUd1JvSug+tC9dUJcO9yHiyrvAdcWqTJfuAK05+a
+qNGdy8ar8aKaXdiy8lpeXpcjQ+JDR3MBTE0Jeu8E6J3AVAAd0LZqUaD7xhHQ3MCcC5g5gPkEXje2
+m3Ycelzt9UVX0pv2mAo6l85d9OEdrm6dtQiD7C/say2/cHl/dYd9TLDmWx4lGliyn1j+kKrEatUL
+rSormnuPKrP2rowC7bBFc2+pGKoya7XDX1DU5HKZEMccS4K4rvTHg+7E/f67nZcsLn7X/ane3u26
+1+1O0z6La+7GSe52ud3jrTMsJ5hs25rhplVSHizG22cKz1fO7yz5Bq458i4rR17Z27VCo2jQcdYc
+YllFXcvhlTWRW9ZkXlnFNEyP1ug0nqc/USeYxGhJxFwmuWko82y5w1zNiymBuN4GnD+9qyeLoNsJ
+yQD8OBH0QZGzEzeBpd0QNx8SNmdpm4ImCRbHTqS4QdC8LGZKdW8vVHB2sypY7DtRk2t1x5WgyTFw
+LFicV8Lm2AibwnSuxc3GQUnETRBBt1xkxl7kFCcZdVTKjaOSuskcbxRMbxJGvQjaRCDPzvu8F0FX
+AqiJnyfVwbP4aTGOjxQ/TSRZCZ9Swb4VP7MJoIwxu0YA9SqJVilRpOQIKyUaEdTElGBuFdnFs82N
+IZpruJsQSslSkhNVqijqBNHGta06tlXnKlFWPElc7QNMnWDaRLD7iFzFnlGicldiqQmlGqcg2ECu
+hQfBhUcIpaRV3xRJAX+cUAoYoDtfKYWnEiulg+15EreZTL7+kysywzt+kh0PtOO637zbo+22xTDa
+bgfb7Sxqh9GUUrzXsuOSfkvpBKfgKrLXjla8CLF/4h5vcfHy8QteYOVIgW2RtRVaa+ZLKZsU+zwE
+5EJzo2j7oCjbizdUzqEXcR4SYq+KN9CjF3BuFmAvizeuxuV1AaeKsINL8egFWGGAQbStIs4lJlgj
+mVZibMMGi5ADom0Xz9TZ7Gs8m7fW12i2pvrkjQLvbTjQKjKuC7e37HtTc5DKAcnOP0asvSjuYMLC
+tVjb7/u0Idh6i3mz75KIrRdt232/JNxu2s9ht7dFoFbA3dr5vvYo7PyNYvCDYm8v8jb4s8aPK+Ku
+YUKLB1698Shh97KoC7vdnfmNnd/a9w2FFe867HZ/3sdO4O29c/ars+7VGWdKZXlZ6N1WWvkdb/Z7
+LRyParvMJrrqL1aHMWnNxQwfDPQL597eEI6fp7+nCcdo58/PIxxbV08Wjpdt4Xj5KeWH69J163W/
+nax7Z8m66VLvdNHZ2Wp2lGRmO1G3T2pdK8bUiBqN6rDKQxfSbG8l2cax6agiZQEtNqKmumFXn/HL
+EmxbHcOLbGkYthJkbyXHrkGi9f/sL5+aPzV5tqbNrrEVxf3xv1GURZvW+ujSPc8u3fM6/nI7pbXW
+gxmOZ+HP1DeseiB677Ct8nmrSMwL6ai/JBl1Hc9MVYWfKRH1xTTSbTzrtSTS6lvqqxAtlk1i3Kgu
+Ex6TQvrhlJFXs0XedX5P8ItU6DVvE/TBQTqKMCvqMHP2xw3C/MSOnkr/xmGT/gEYZpy3yxXUYgWj
+BT0vrprquUnk71OruVqwnEs4WtU1U+vMLkbgYHWyfIo3rRrGQrtWgj2Jj8A6so2TDLG4zrFtqsqL
+pp4ZSVBnUX2nGcBfvyIr8rnJ/51drNvsMoDvhS8+mWJvkMgBjj7E6AFgliwjeM2ereoaVfixj8mR
+RQWJJg/ib8K5tZNkDs9YfHqWFOYkaowSazOJR8oszMkiEY07+W3v2m4++EaMLP3d3Stbe7+4nafb
+xd0v2YTZpg6wZpG2GNIoKh1fKU3uGl8zzt04eufszIvgYLEhwSnoxiau9CClKk7eY4h8CIqpcdlj
+aEcJQrxqTqOgKgYUEssqBhwIAw7N/kdKRYWxI7BP+ALa/dl2fyeRJDtiEpmvPnEedYor6fecpiK7
+DWS72e1Fdrrusu5uu78n1yjBWm1ki6W/V/e1v5frnarpE+Ymq7nWGWxqRKP0Icn/WLWo9CFJhSjO
+Ql5jihbzXtJ0jEdWCkqNPWqUtC6KarAIDRlFMTiJUrBVDIpKWDCLI4/YV4XUwVKZsHqsTIJv7Juk
+yuGDUJ49ORCTB4soik/sXCy4ODQmhiCOyNn82rI4KBdyVR7F72UUzJ0Ee9XvbSbFI7o3Mz1bzBuO
+XZ/30qp/3E4U0wdxkdamzvrSoEf5+0WB+MDPI+I8rXxL3y6lMbmeJswnAruW9Gu/StN56JJ0uibR
+fsdN5rJnL3sG87DJ+kafeIT8KS6xvsJwrphfZTvbkn9tkMSpUwU0du9NRUC1e+/b3OZO9Xcxu3mX
+fd/nN/cZzlklCIyw5TmveexrJvuj0OJKoXdGv2fJfz7ZbU70HmizkAK7/5PaSp0VrslAs4qvO/lG
+ef5P0+nRYsVFwaIVLcw/Yrog6rTlQKuQsa4VLqKGxD/WXU5dUMxpS7G7Uu+5fXU56/cXctZXxc9W
+RQJfk4B2j5S+tbpCsR2rO1X3hnfiKGrBgwRyMUewE94QQ7pmUR5NEmzDATfasrXkWuyas9pCj/L3
+f9kWeevu1/2/VMdJscCdfUzV58ugutPvz7+r5tTUczo4k4BgBnmy1ZREa7XgQ+rglUIYznxb8+Ba
+1YOeNhgWufocjEuMTYxPnlIwXjG1YOxi/Gqohqt/QfgGPQrWORqi+Od5uGNDVXzbtw2wU/5us1bQ
+sxqZzw4E0RwIfNwyRy5zno3BopczRTBrFSJYR4rXZ93xWSL2A+1AkjoUjOi8THuX8w==
+	]]>
+	<![CDATA[
+	xKiRVQniRKxU9YiSsGJWAE7AyvHRWdKu7iQiWusAYZy/VgDiWuxtBSCM28d4fYzSlzKfkoI3ufo/
+MHQdUVPZg4MZ+4oeyC/WFH9azWMnyY6QP42WCv9ISdd9EnxJg9/UU12s9JpLeu/i9Ou9rjd+5QO0
+3K2vULROieZyhmzkn2hzZWzn5KBcGDyijp5tUDOjZJ6KeepVadXA1bQk7vskAYUcUshhrOyfz8GF
+GtDKIYajjeiiQa0mhqz1XVxCSF/bxdV1EYePprLLVl2XdVUXw2x/Itcn9iCJr9fttN1UauvbhXxz
+zkunpwL7U9eOZmA9rOrL+NBUTgUXnHH1YEY2pqF2+9qds1VLL1DCNWQb93S3jHCnRLhLTnSHzLD5
+GU7zQLfEAgiWKdXaEVPtw+gLjAKT0e2BPhR4Wy3UHAnTEfMXOiMnkj4LnD0cNpvXM8mLe4lfSLCD
+nDuF405Ykw1yEx4bijIqpCvAspCoFzDz7EX5IBm3X/3Xd5Iu/xy40jxryhbJp3E2CVfqa6lezOqz
+Xf4pj2wkcEKPuW+Wa6pN991q/y/r/2uK7y6vlERqNXmlrA7UunqVGdU36j4FM7a1aUItOJl0L87M
+ihThIUVwSvdIx69og+sTrBIuVNsW/lalbS3brDWANH40ayhn4fJApM4t4/2Uw+g9Wp+pRx7fZEV4
+MZqWNM0au2l1pSlGU4sRFY6RpIo/CxCyu7lgSKmP/ny+PnmMo1ZJsrrWZpR0ZkoJNE3V4Zf8fGun
+ne3z+Tp9qrp9HjfV7QDufHGduc2Hznk/V68Gb/1bq9ciKaNECaXei72n62jywyyKclUp7c339VjV
+5qo8hQNM9kMj6E+sQnApN/2jfnQMtULSqWZVlcoJNec5S8XVLlVtVJpGSRMn7V1u1qocOcg3+JsT
+9VjT3exMhYJ/8zU3SV5RLDHJAtVR87haBvaTCFogZFGek/2pVoqpqZh8feTWdLuqWNOlBkvk8Uqe
+rlLh+bQ22dK+q09jaioh1xofNSXYnhTfZxItKSGY5Zi+Paf4TYVr4XJAgcpnTFmHIGwGIFzwvInK
+ItpF5zOBXK+m80AtHfZ/dn7RPmD3UpWfjeo+Ihp431sJGZURt7klJvOor7klqtd9DfuuP9XF14WO
+b8x+a+brWS/r+WrQ8trPJdHN4C+QRV1CcpnnmJswDnUIGdQRZDObxPP1Kf4umpBi0WvDsgeot0q1
+1AZNeWCV/IBjiHCDhOT9Xp6rywcuJIB8/Q+fPv7i8/uPP7z/+IevvvIXlf/k9at/+I4+S/zZL97+
+8MO7zx/hDjv88d3v/g9cVgLB+6sHYTYHpC13BdZ1KnchAGs0wGwmzBeCRcP/6usfmYUKwkT95l/5
+3/8Vfv/fAP2Xu3z393f/9L+Gu29eI/w3v8TPu36/9TDp++4NAvs3dlD5/puNPgn2kQfzc/rS3R/w
+r3T3LzCQWPjhENwIUlj3cMb/6dNl42HtoT6NuTqUaTKnLMHPtjykOG/95i0P85dP471+s+Np4vym
+Bd6yLDhiJDI85D3+b5xgeAE7KwFlEv5IoQFO2bgEns2U7/E2uQsTMMSRYXO+L4DbDWwJyMkW+jLw
+Yw0MX1OAXjF09XKC/vYSStCAc7gPQ6KeBFEQEHgIcAtwHwWWqywdbAICAYvQTAqBMSzdEPxL6pgY
+z2CH1ssI3Pl9DERgZIL0GQzsPoe5612hzUDCMMNyTc1KUq9wia+BzavaVcPEPWnBZDqhXbZhge5x
+YeAu509olYBTJiD0WJdpvMuZ8MzBZswxE4BrcEsMLP50H2Y7dPgWpK4roHt1He4Y7+cMn8QIdHiZ
+3XD7vfr24qZujGJrtIhqE66MBypG47eXkC+j+eZ52MQnmtcy3ucZ+4V5AQvm5tWdjW8vnSGCTVM7
+MvwycGI0hxKTR6YVkJGJvl7SBoblNSr2Z9XDHP7jAAC95tijPyKqjvfb1ShC80Y4PM1OGJTQbpn9
+iBNhzlSpPb4r5y3o2O1l3Q18vtyDnJ263cAFxZfC+XTbUaa2ewKm+W4k16zg9gMoLWLHEruJtECe
+B307b8wtjxvLgIL+m61hdgcIx1ru52XJ/QGqp/jKcUcgiL04tjh51JZJzHrU6AjB8AnYXAqwuDS1
+wQPHbt/0BDY7vEVsKiUrmS76MK5IA4xtmu4xfFOmtjVgnW8zNaVGBByjA8L2Yp+xtGug76ljo9sU
+PxEmpEMoZE/gO0VRbQtNFMkafNJla9Zyc9UVSGNbcouO+vL+4Dq2qT+5uoEh+JPbjaRB7XlpoDG0
+Y7FLqhnM6mXdmm5Qlp5EG3uyIuab+LWJiZsnfPOQbVLcTdq8eZXwzO7zOKCGCa8owHWaAdzdA1Fm
+msIgxx/ZjawdIpMI06DDOijnAKQ7zLkFxnwfp0UmnhwQbyzqP5f69Rh5kHMa7UXN+OrIn8B7vt1E
+mG8b6EXkXQE3EK5Hw9/7a/oGZvYiM4jAll3b5lJ/76/P9oWb/B3NZR63gdv84cYLO16h4R8exsdb
+OXhbTH/ImpO3JuLzJuxhHuz3Rqkn4+y+dbCelSRefxO4xRc2sN83jIJfwm3u4QL/ciOf7hDEcTvt
+EWiWzFOgFXCbW1qvpBInpW3feuDmJf3wzd332eGIu5y+9cDmKDe3aQ/cvNvWx7vnXxqm5vIl3wPX
+7E/PEzlEcXzmtw20uxo378ubudffG3Ue4PnIxP1bD0RODxVBDcneBOrX32z1Wd/2j69fnV6zJuj0
+8RtR8bz+UnXSzJ/tP//4/R+tLzOAhPmnr4e7HVrffvMvr1/9SP+1SqJtFREriL7KEdAmJqCEOcES
+p5xo878CuWcGtmGIDv6mg5f5fkkhMtz1cwnu+vko4/w5mazUJjeKcWnU9DOTJmeVtLI1c6uo9PA2
+XI1JEJjhUxhWY0I4iC30/ELpYTfnJkj7e/5ouS9JvwI32aSvAPgADxKc+DIBwkAFWASUF5gdg2AK
+B33jMgMB5DdOcdKRYGc68nnIk/QBd0ziPmA22nE3sN+5MY9zkWEE1FLZmOc5y5jDADwSA5dxks5j
+Aq4HgNPAwhIDZzjvB+1hyVkeDsh7y+tyHGV4eDY2x3DQ4c2AGTFM7o3fGnxIulR4qzIwTLM9DMdc
+gLJfCJTBzXKpMDSWUR7VBaVHN99vQ4O7AQ0k/NEUgq4cwAFx5CtzTIo4C+qhgwxk5I0B2BDnpM+O
+tEbzgpgr/corBTyPCkeWk/udR5A+dfXmKOOGmwR+l5elkXBjjvfEUBIQyO6sPQM8Z5lJGXPRh+k+
+JOBSe0BJjbtFevc77SHPSXuYQpKH0xhlctonrSFDhjo1gA+yYoSoAsOLSAYVtMeQir6m7iYsueL8
+VMpCz8JyDwrM2gEQjsE6wOtIOsCkVboPBXV3AhwUnUBgKAq0mQJ90EM6ARkZ9OymhfBpgp0ZgqxW
+wmBfBGY4zboGEYVr6SCzfoThOUZ5eJ5HRb9FYUtQhEajoXYAUuYYpIOhTDyEwDynHMJRT2woujQx
+5lF7QB151DOfxyIPp1CyAsNoPSxKHMch1B7GcVZiOsYsY4Bu9XXFgKXoKQmISdJDcDRwQFx4o3CS
+WbnnuVgno24nTYSBC0rE3DNG+0nP8X7Iiv2DYDl2C2dJX8eIiz1kJQ6kB7EesBamrvDIr0uAJUad
+Z6ZEsEfDZAQXhQjb5JgV00nnIpucdX2C9FpgUUYdQj0pAI+Lrs7EJwVgedKTahtf4EwrdcJODU3h
+otD5ToynzakwYprga7a0o+4wEJY0KlUv8H96tgAp1KUNjDdEOY1CT6FUygs0UYnsOBiZTUaO83yR
+9DK83hYJVo8enh3yo8uTAJdgD+ZSCWmadQpA94xAo7Kr6CymSGRkGZGf0HM9TrTiC9IDJZiE0UQG
+4UaCdw9j00McRuh2UYYhF5wwXDNAcJSMAMsvkyN4UXCK+qgRDJoGA4EB0nt0AGoh34fjAyKE9jty
+DxG1Gc35A74VkUbnhVoN6QDh0d/mzKKFcm87XDKxMMDJ3MMcS9txDGh3DY6Yc8cx42HUK2IgIh1B
+tgNsLO5hACa0xY16d4WiPSB8mLUHvL54aAkwNeihGGeiAjEVd6elEhg4OxIAfKSQfziSdCHLYs70
+bIa9zEp6Z2akYi6OpxkRL6SDCQfUcl0xo1JNCdECfCoCS2B6wD3AAZIeSnbXHT2BQDgCdovnmRcY
+WeR629nBimOCk2MLv9DRjuOIzFtgznrgISBnOw26XsugW49EfdYTu9B1B+cWuAe9EkjRiMDE+loG
+TkpcCG4DQOL+RsFYCtehGgJhvvLoPPOZAFBJ0xpzAJ5nJQ7oTqr9Ao9T7GCkhXASCWdUugWDLAJE
+J3dZMiNmCKfvyR6zoo7h46SEfq49J6Byyu/lLECURGQtkcm1nuEYzm6Nr3Q7125R5LYe4NLURYaT
+SA8DLTG2d2ZqRMCo9D/jpSs9jHAEFK0zX8YoasFtZYSjaLcj6nCE2A9T7UFJl7HwJKwZUgIpNGBS
+tIZNtFngw4NeF7C98rCyscFGFcqkh62kUr8OgpNt3GAoNcKBUjJHz8vDitYTUi55UB9DRqquTFAi
+B5uT5NFckh4V5A0ZGBKxcCPqWadYewBGNCmcKT0BiWFEIMoxCkzaw5j8/pISil6Hwq1gSAipG4NY
+4bmHSnQQIcdZpG81NAq2j1GGkTITAmQyyiKHaMarg4ELM1vYQ5ndiRvmsugwYtJTn21ogjiRLd71
+QekgOOmRpB4GxiydksqQYXlSoWgZYH1/px0Qbyxznnl1BlKyCFAIPVKtadFFx+NVqRmeO1mdKcnD
+6LvHQEJ0AeZRgcHOD4ilQCalZ8IwFFQHvd+XTNw0AodlkDWIy7TUrw9hmJT0LkloL+EA7800MUWf
+MPmOPDgXez+AQ9B9z8Moz066AkJW6Lkkz5HYK99HwTAbXAaA5GZWVUuUW6LwhgjGDLP2kBvM4w6A
+QUBXYoLltPDCRPbj4AfxDEgHwHlkRdGIi4lAuFPmqG+LcxDgEHWylQIh2DAR7mQlAPhNpty0kSPf
+rYsKbLSRvDqoG1l0DvQKuXBnJMbSQxp4IQBIzCP3IBwNAIcUvZZLephUq+JfB6QlLooNtDgF7gLF
+T8Rk+TYcdRbC8MGRlwaAISdZmmHiFUfgYIMCCUR7gEU3Fk6PdMEhZsW6KJzIzJ3JXLPxPYCNQ5Ge
+6WZ+o+zMDB+4E8HAPKnsskx8s2ZUuQxKVnJIlSEijBUCPWsPZA0TcsxLnqcq+xNMOhjJXNsQeIDl
+SoJyMpZs1gUnkUo6QIZV8ZT3Zgs0svgqCz6k+u1xUlXQMmf9fiyGjCxuAsulaiDqwbhVhE92epEl
+eaNwYXnx+colIXwe9UYJc5TOM+yxboQMIzvMCUvS804adiNErAaJaWK2jSfCohVyzFNR6YM0igfl
+pOdZcXVIqroiDtsUa9RJhc8qhciVALBoUhT1LUDlyeZJFzlFZbHdlZKC07oIFwqcfw==
+	]]>
+	<![CDATA[
+	MTXZko1CIzwpK0IMAQPHUZGaFLfypB5Vt80RD46hKSNkNC0s0fMxCzCMyogsIE/UDuTKpxXgU4zA
+0CyjAGe771HckB4muAeUbaG5IRCkF0RlATKPFRPQTbtQKqbH6JQx9AQChyrzLRMpFVBeq8qOyVRP
+BJ/LpJxT1G0PcIGkKnAx8xYyqnjkWbztviIBsyobpmL7A9LoqIzpNM0s+QKWTioqwcRVxq26zXGZ
+nDhchUnqgUc2IPE2EX5kcXSYkE7r+rB6Jg6oHJmN3Sw6Z4CXWSVtdUVheDLtLaARjXmAOWdTsc6k
+C0UgBjvJ6iwmwgMcmG2V8MSm/xUpBzIyOMxkoziCQFw54+cHnkegsmjSganGEJ6SFzWk34HVTiKT
+0oEBWJl1QwrTkmFwX0fl3kG/niYlEKTeEmBRjRBdkwyEf9smFVXILChgT1lxjfAvLDMzlPwwK7WW
+Se947VU6QO7fLpFhNIXM6NgtkpURCBtnSsppYWXvkp1IWwU8hAuTrTLBG4WTEqMiYYUnVSV43X1C
+iVrhiZVAkaXA+s5No0A1ZayU199WuGKi151Hk5s8ULewjKqzIXhR8a1Mi+nKk+lbVKW9pUD/vUo0
+Qxj1qhmCGK8IbjckSRkCXIoyNegL8NV1WUmZD+UBsYOStAPlzldDYDPVP75+tdz95Kd3v/nvq9/J
++Hn6+E1r+nzQJEpg9Ky/i71t9BGG0TlkJAdw8hFV2JKNizYPRdSsFf6mg0ekYIUvUt/PJbjr5+Oz
+WUXpBSPKIzPekCA5Zp4AHEcGJfSE4edIBzPznYv42IwOdVLC9TM88eyxU2AkGThheAgBydVp8/WC
+j7BUeONO8jw6fMvSKmM+I6cQSaUFwMCUlh9OyAggHWGiQEDyLDpwD4k9PBheYtCHU5bXlSHe8YPk
+3zGz6lGubIBnYKKHmYfARwKAgOWotaSHZ162AUSzAg/oCuVZewCuDFgfmTeSxzcKJ5HTL9IAMiMZ
+CXloJBQQMKFwyEDca+l55hMuK4HiGQFJ2GXgMGoPcR517VVu5R6QnMtWlygPT4uOIaOTIAOXMOsY
+hBwBGC0pgz6LbmoCrCtBxmoC0vXOQxiGWHtIUdcSGItJlwdxaFxk4fFm/ArTLtzD3STYhtIaATEg
+RCdHJkHuGeE4f95S5J25B9LLMxAlFAEuOrY6ObQN2UFg9haAibUVvPeLjCsjCRcsGUTRS+Aoc8DX
+8koiMOmwJjwH0oGgGZnVagdk9RP0DdrBuHAHQcQ+Ai64/AzEK0B6QB2p9sCaMgLmhTcosJTLwBk5
+dF5wZPWtB0BO3YiwKH1DCj4leSPq2+8YSBReZixrjrJckQGTzv2gPdDNxmOeB9czsbbc88IHFLV7
+SZGK1aEARG4iaA/TqEg1ifTJY0aXgDcKT+jowQQFAyEYSIoL7oRYXwKOqMrjHmKqHY/tC6XjmbU5
+dfEYmIw2EkUXIDpK8RCEDDKcZEXuOcyjjGIZdKuJx+InQ65bmm3SeM3rhoTAh3lGfCyLYibPmE34
+Oosy6oYAnLhFHnCcJnl4KoMuPFJ+Ac6TnrnR97AkpT7EPAEsseaHYeT4QECQWfRVi5EDhKPFm+Ez
+IxAAyeTS90D5XRmIKgzrgUbJR2lmqgjAJaSgCMH3wJyZENUllx5EJcpjkBsGgVnPMrme2ZMyBnIt
+sh5SsusI9ZgMHFHxLatrwCVPepjrMoiHQEM5Ziw8rdfqEnRYc9Z7eQ6GTnNhvOd+F0YnAFbyyc4T
+BATeQlc85bH2UGBo+rAg+jyi3UfvgcjUC23CaJXg1SUPFHoyhKg0EXmXg/Wgb8t8nyIIvY95EpPB
+KlWvVxbA0zLq0U5Mdma0EdjhEZI4o4vovLhRSQ8Tm5LlnISkD0c9PJjQ5+5/6MPA+SsdGKRnOIEx
+G/LOAgNKracvZ0PHmWUD6dg6KLgizdU0+yt2GsNUeyDvFplH5Neh/BeN4WHWCK3d0yTvSslwAX2L
+dAhkefwK8x2ik0m3josoXyp95B4WcaWudwADp8HOOkYrMTAPze1mPYxxlhmXvAjXS29E6YJ5hWXW
+saVl0eUZgvU8GWMT7Khgz0HxV3mCJRhTXvmoJbD5QPgoW2CAkzWIx0zKcwJOQzaKwQsMcmDIinyx
+nnd4mOyPssljlocxol/Xh7lE7CEqz0buOtIDENRsdx4e+DcKJzUdw8einSh/jdcC83gAXOwKiiUu
+tWcKe2KkQJcFBAJfPOoZYFsvAUmok3s32gonlvvq2Bg4ZV2fIvsGpHeY9W4L01w7gFOtyzON2kG9
+/UOOOq4p2f3qtgg9taOeIjRqChCuf+1hUGCcJwOOpfZQ8Z3MbW8UnqcwVdaNYeTtW5eSgZiWSFah
+lFA7Joexdofg4UnZB9jvLMAMV5OyXWGuPZDrAy+lMCCozkAPVQKOcEAJWNgVUoDG7wA8oFFCemBq
+j8AYRh0Y3zcAhDtDWb8y5dpDzossg/LFAJyTsn6TzmK8j1lXfVafNIYXXge0FMopGtnNjAeWhHCM
+rLzjd6V6ikYkoQJPpKIF4OSuEWXCAViyEroxDrYXE/soCFIyZcaHRQYMxjkiMOipmIPx/AAndoan
+jOodAaIgzd2iqwkDgVzrGNI01R6WVBQfhHtFFVlUILk0MTAuOevyGgcD8DTrOaQNEGDS4zIKK4jd
+LnpcyNnWekD7o/Q8CmleHBEneYeBlTEiT1PpYTEGhNzmUIIfBlZW0g6HZEDSKTIwql4AwXafzouY
+mwhOZkYZWdA+pqzCy8JaCISN2sEUa8fBJM4oE6CwSF7umWghfnlYFJMmY6sQHmblEwgpGEgKP0Zc
+chZkYNRTPRk1pWEZ6bXxI00atQfm3RFIhhleATXEEZz03wwXnQv2UHQFMrNA3IOhnXFQCB+D7o2g
+IwJTGRUVmF7Qk3ZfES9sPcxRCfU0i+6T4YmPCkyEHLcAiJfe5JeCgYOcn3jvFhj+geSnHisGFqy8
+yijCggkCgd7oELKocRluDHE2dRrCiRNgOFk5CDgZB2+7ER31NjMjw7Mdq1FWCO9Xw3PWVRBwyjZj
+vccIjhI/TYQIMQLRF6si6jAJUA+g4JT0kEyYCuzai0D0FF2UcmbBSrgs7ABSmI70kJ0EurB2BoHz
+NGd93cTLXljSqZRTeihsCWZ4kgEXUzzVIwiwoEhJ3ua1g0VvmxHpDwOjncN5kDOAucgUdeZ5WGoP
+5CMtaCJHrrClshJ1BpLaTi6xeg5H9kfiM0D2RAaGrJuZBH1RVa1PLnPMtYc02q2bkzyr2szI5ncE
+TuyJU+8P6WBik6PMWDByREe1Wcm0rA16JhW9BXOoHWBWH2FVWLZAYI4KnEcZF0ZojXrvqychwTH9
+piM8bxROHkByi3EfGA6VFHkTa2oHvEBUwUBfkY5n9hGQu0LwdHYcEPGuDCwiLEd2FZQeFnbb8UMI
+aIqPguiRVV8IVInf36MEX2zOy6Q9TMbocKwDATFBo2KT3mEILzHp0FBvKt2OSl+wcIiNQZlZcgB1
+Ywh2AujGoW7RIstrw3I8AYOOFmsE1x6mQfFXtCcInLNRSaFEOItJWdwyKmcW0Ig6KxOWsgw4sK8n
+k1RyISWgakQiu7FYD+TzLWMo2sOI7idyVvi0hcCitqBDsnWI7G7Ar0Pi8UbhWZjUyOoRBsZZlWyT
+mAQQaOx3Udcc7sGkkyKXLwDHRfeI4pIZOM1DctgnPaCK3/jvaPaUEO0uqycRHq4Kw8KSCAJjUm5p
+NEXBxsNvDG6oTSprBqZFqaqo0hFYBjVgFJQLrefKp+qdgcMYVRKZ5qQ9VE0m3dnWQ0y6RAtyVDIG
+u8wWlup4DHZAs+sAi3I3jC4C50E5c2GVEVhVVLOJLUBpsdqcbsi88NsAmLJdfLL5mb2NGVjsJiK4
+Xg8Li+4IzCXrw2J+Cqhgz9MaMeHqHGd/cKXbRfXNi7AKCDT+gehq7SEMS4et2MNsd8NiA4tKxauy
+D+EUMyUnKep4hYWP7LfDwGkwNjEtoXYw2gXD3lYMtFuark55VVIWflrcHFQJyF4YbwxsLCHRngqv
+t7INeDbhwC1kVT4QRtr7aJgtYYU73W5qkgsZqBrHyIoj6aHAgcpCOET4R2BVKSyInAwktx1BdGNh
+ET5WXF8WnVxVUDqsHDlxA49NDssIQ1uEK7XIH4HrBUzYYx2rfS9QdiSGOXaORSoEqrYj3ru7BNmI
+QWcnRBgYg6K3BhFNfjBGE1Iq7whwPa+i0UKQagFNOEagii7Cbtv3F9N02PLOZgqI4qBJwGXQM+FY
+JoQLHxPFZZGBUU88u+8CcDE5ILJxU3pATwlb9IW0joH8l4qci8w6YQSq8S1WDyiC6wUlak96dFS9
+yiSrGMVkJ+R/1lXAmJU02BXHrDIFsqgUnNnOhsAYVCVSD1sUU3Sz5+5ZnBfzzxFFVZN7JuNdI95T
+syA/5Q5BYDQGvAFWidsxV1Hkb1nesejDMQow8vYCjAxuvL1meqNn7TJdRN4EILmf1KPGwGkxtU6l
+3TGySGBve6NghyLIEQg8YYpl4yAWXnYEquSd+UgALE6T9jvaeUf4rM8qRY2YbcfIbODrHIE5+CvI
+eijjoj3LpQtAJS9RDdgB45dseck6LT1k9kS2q/SNgrPYlOuxiEjUlQpQsI48KdqPvmPl19HBj5n+
+WAxTo+r9EahKZeHlpIfCvvc8D93QyYx/kRXeDHQzxnMjPQBc5KHIyWtkdjN7+wuuMV2HhxcjG+xx
+RE9S0Cj3rLFC3MOo0mlifRYCKcCtHg7pIY3KT5pWAcCkvxQOhFngOHPgES8wG7MQOKHYVidhPShj
+G1nxJz2IlihKdAsBiQUUYmRyNznrxH4tF7MUIn+bBFbnYM4ECCaNuCz7ot+n3W7nsJgyV4659VDP
+ctSgcIKrddQd25kNfEz+RECIEqbA101VauEbF7UHk3uI9UxRJzPbubLushp+xaYd1GOWgDOaGA5X
+vo8BX8qyZfYNiovTB5BGyzogGxLPgpkSmq6ROZFCI4aeKEcSg6nK0LUmqpw0ZH12NDQ1zEO/PmNF
+0eZrI1hMXzkKjmCvuapbWGhB+1XSsbpLk4YwmYDMVwM5xiQ9bCKSpcFRh1xZHXIJUY44DdaDYqNY
+p+i5EPSkJrstLn0fa+XIy9jWj0A1ekW/D2R2V+qtjHrC620ObrgMjEEHNmmACsHV6BrVSkLdzkZa
+RDGYxGAi6xhcDxSWJvvOh42QezDSoh1Q2D4PweFCMGYJ/RzIXBRU4pNJTDqJkpRRj/XqJ8FTqV4Q
+DRWxwMq9yPcju7NUFJXvkyZVaYh6pQRCWRkBnweiJsoMiM0OgclpH5faqbp9RHWSQ+AiGF7YHEmg
+rLRGHcLnoB6HosfAGgyL4mAQ3V6ScNO6efbqZVH2ZGQbsn+1atCS5xWciqf5fkr6Loo/4GdFP4Oj
+iorZk9uQxB7c/HBUtURKjrUXawsCRzHBRNMHINDeVs1ABLelmURZhsCsayPUCMMrgg==
+	]]>
+	<![CDATA[
+	cr9lnpbawTyogDPX25TySOkmKrGmWAy9iLJoheFJiomX23QutedlHHXXFuOw4HnyfJDF5LsEX2fo
+rQwS9myXYahWgYTx/nqY8sBqqYT2UZv0aGMjx1CZnfExAJ/E+TCyUMbAMdQLsQhMFQ3RG0ewY5Mb
+SvaTqzKNav/pbaljCVPmSKl6qUvPxfF04gSBwDTr9rNNjR9MsqNj00EcdW6TKP8TxmvqvaNSGfZq
+WuRssg+AKwKKYZB6XZSlJFsNA4vRCY/uhVN6yTli7ScAK8ct/rCw5+wXwLONoxuDE/3H2UgQen6b
+gIzakTf2vDkFKp+HnaOLG9+JOuaRPclmVlPWywcenlQnH0XPBMBkPoWJnSgRmJO5QDiEH1EBqhfC
+GLWHOSjnFZSYjxz2YdspHUymZnI7NzleiPS5DFR9XYs8VSkfJS8DASk2SwjKkAWoZjgYQjTpP01u
+60jjKa8reu4XvRTR508FX6d0oR6Mfg1yUcwcB9se+onNEbPJI9YD5VURJsmmPFZNMnsu0sCyqTDM
+rkwPj7nTN+DDQbXZqqjHd5kBwaJ8aMBVWzvpLT47P++JJVeEBdW2LQ4bAD4Yp5eCrvqSRtPNsPyO
+ryoqfmuYKYFzsA4Wtp4m732pdrmEooAxF9U4AnB1T5IoDQFmvePYH4ZhSn2dHRE7DnoVk/7/jcIp
+zbiQnuLg6twbWW8mnYgtmxdxMbOexA/IyxZzLcZby/pcOOxi9kIZ9rmoJCu8DEpUyidG8zbF7+vS
+2DWPOXgWx97I22e9H0klWkcVlXnUyAMck6jTIjtQSq+LyUjz4uYVTTFhBB1fN5nWZ9SVIQMqnwfz
+n0e4qoiietcicI56W9l5WNzJqV4zQHd48s3FnQezBAhLwMBx0pUdq1IO4aFeS2wSwzyboy3krL3O
+o25jrIx1RovY3JH/PDh7TRY1GU5XDgnyp+rcxw+rbn0UZVLCOLdiCtoKNHOGM8Hg8pTBzBlzsTVT
+q5Oy5hL3SzBPmTBW1Fza2QOKxjWrwlRlnDzYNS56OJuEso3mo0Y9VK8KUSwiMKtXhaNMWaJJGJ4G
+3bbq0SaONLg9ldMiLwnpIXDuYr5EZ6ZjWXxM5bIcdH+WYlKl+XHhwxhjp1vB3GEWTWeD0zly1B5f
+X3bV5eju8f+fvTcBk+sqDoVteZEsW5ZtebdkX1nbaJmeuy8aSdYskix5JI01Y0m2kcc93Xdm2urp
+bvciWQ6EOLyEvI8lMSEkYTPJ4z2cAHZ4WSAkD2JIAoEvAQwhLAkmfzaDjcGGeLf5T53tntt9u/ve
+WdTdo9sGqVV9lqpz6lTVqVOnDt48EaBwPGARNaOrgkIS/Ku6yo9CVZqWAgNVhes/W2EteH42w/Oz
+QQs240h2EqZTIUNbMFizOOSTAGVZwME7UzZoPA0gbDtVMh5I4752LMw9HAzmDlNM1gDzZHoRCjrd
+IhIWcXgYiq6R83Rb9J/oKo945YG0uCRfFKoXqAFJhWSDcyRRi7q332BRkwrOg+0d7vMNL1wI1xgz
+aPRARTfI0vXZXgiIU9rZVb5uuNnOD8ZZSXyLmqwpr7qls1AcmWtafIWeB1VTxwU0YLJFyfbxUJIv
+Hc2z5nXR2sQyi151MwXbC2ecI0CEOQ+qpsvdREuUH4pzhyCUtSwWcM7vpODiPFRJtlm7XgA2OyoH
+oMloww4L3rAX3iUz2W2SI0eCGbXdoKTOAtlxRgbegsPDlE16HAKJD1R2wQjH2BMgO/qmofC0BYtf
+66IIDzG4FyVHcr0goE1iLUlhsidFMF3nJrcgI204rWcdgodqiME9psRuGA/OI6vpVScA2jq/FkBD
+rnRIVmow+nSPhSFokY2c5kUBQjIKg93CMqjjFAENfveNiVow1tiNFJtfqsMN8xgvGlEMA+T56miQ
+MACR7c9akBWhBSbEZZIs2z+a/KIJRpZGSsjkOg5vgYXvyCTBJMWBnkXJ5EI3xcFglwvxxprPNAsV
+lZnrB1Cg6kkmHmwKNBVe0HGEBvhtGXxYQvnEsCgKONsNAbIoAFl0SSG4abF4fWzjUs5UWEA89qQw
+dmWXNL1biBhuMLjQnXdLjt63wUtDZrMu4gD3vVh3LNwDAdmVOpncBKGChk4Ev5MFJXH+RI/JCBBN
+JMXKJDcWsNhQ2D0TL+AWF+bXI/GumAJNtpBxACqVXPRID0oqmiArVY1NO9PRBnkzhCCmewLUYDcm
+Vc8PhyWzrgpTPMTgKg1Ilj1ZKQI5p+vENUuAnnGF4ExPy54A1Ph9Ax8Q61ACFEwjOJNjKxNv14e4
+kiSxuOAmN7lhoRvsZgrz0+oqyXNCcNNNwWQSRkNXualL9gwqSwiDgTgdLSkpa8I2wHDY3TAWggSb
+FoW34Hj7dcu0Gbb84Au2qgYTi/gVoSFvs8tWJ2/ZIoxDpol5W7xwdJkErvOWvZXIjvUQ0BtkqqPA
+Q0EUNaDmCQhwaMhMb7AjQPCokPMhII4aY5rBTBM43rA8F61B0iSSwpANijt28G1tm+RAIW1AGhss
+I1SHxYWAr5DEM7KR5I46lffHYlbA2yizK3n4RKib+CsNJj69CxnE9aqxlmmoMAIaqkU5igVH46SP
+JqPNi8/CLlvTEeAESK/ewZEOc3LQCA/aLD81xXrNoqOgUYsd6umGyYbS4aeNxMsO4yWLB4vU2MXH
+SjKLFoFUL2QV4PNAspuAQ1oS2qQ6hJu78dmvQ44rVJIHlB/oysTEUWlqaH7YTDezQAqND4WDaVvX
+2EiorGEkjVnDnkcOTrcNNpwkoQo+B/f4hxmGcGIusxWDcwLwk3QaYIUP44iqBiBxb8JRp8MiCmzT
+pKMmSHwc16BSOE5uSoDUKlRplpFuGiuhUnJxWASPoaC3hwAOJ51DDI7pp0TTmAIA2rRltp9Q6R0n
+AhTOHMGKV9nKoOHRqiwsI5Md0MvsYh45APUiVFSLMRvbiioOcxSrNvf7QzIechdYFRKzErhl05lj
+R+44AytDQaGOeIVmqMdAnuwIwxWZtcBOKHFgkKMxTqMhTBbbUKhCcmYCl9nAK3TT6IUmVbUg65zP
+uPTDcVBsCeADh7rN4uRDDCh70UIGu6yPBo0pAsUQlA5jExzFx5ah6gXGqez8GIaBGhGKQkwlOpAk
+bJvm+iEwL9Kd34JRabLMIQbXyWV0QIwGJMg2c0kDj7BwbrDFTdqCZ4pDfLXGRBe9fQlAGgJE4goo
+DE8KwUC4BmAx/a06JMUFASKZweQLnJd04+BzxK+cmbj8BbjDVopCD9oQkIYi4pgAi0XF44M4uor5
+6HqR9cDoNBZANpiLWGBTuElAIi1UIY85uUlgsBWEzx0JEJkxFMhOpgHIZ9LwovWgZYO1bCn0corO
+7mvhWAp600NHQoDZBF5chqyTBxsomN460IlEoCxNUdDZ+TEOV+CiCDJBk1u3TJB0k4swOltWLPwH
+Lg95eHk3kh1HkAM6v/9Er2WDgiU2OL6VZTJuMrwsD/i2FoObRPFioKoyItjVWn7fC+t9U2jBJL5b
+TBy9B+nwu5E0nyIBejMh3vB12MkHVhYma4GGLwNi7BYjTaRGJawl3Huj8WcqzW5FbrIZTEPT2HUA
+0qwuKkk4xevL5NSCWRT0iic/oMBanmQwcEy2dcKY8ZuJ9HKAKAbwVVWLLRUcWE+vP5MzehxrY5Fr
+2RY7fQSgcJ/fYJe+cCQSuUEIaRhI3CO2LsglZYtf7AbRonnZTJDaIAkT8CKkaUMgUJONJMlSSPJD
+kGvOWPbzVDYWnJxwuUezmdjsihlW+zxvhUrilKFVbmrjholbGlCzSN4RizloVJbLmgBJ7BuW2w7P
+cWGSMHqiBMnxsMzy4FKCSWIFnB8a77MAqHrpTHRmEAOc3JzAQOJV9mwt3ILNJazs4YBMJeIPgBb4
+XgbDdbzfVOlpC4erMpsPntFER1KH4YyfLCNAelDBEjvRHumNPgynxg7k07FVnSlumpcD8gqRGDPo
+i18ikU2DHcdhWsj1clNnvi7VZq5eSGOET0jpCDN9A0mTqKcBC2ByVRrn5mWCy6LplYS0VVRqkBYg
+XarC8l/QbX5A4qbDNKcTpHtSBS+EqtJsUzq1aKgvxGT+DUdnN/OxVKIlNZYvQ4jjAbipMHeByVNO
+4UzVdAtG7tnU4jDA0YMDVx7lrdL3ewjc4NdiaNg99jLzMGuGHgIaLG5H9k56oQUvrpy5vz0nsRdz
+BkCThUDKXuyI7t3kVz3nFo6VYXHwDttqVxHh0afwaHyat3mawy12CMQRUYSwDZXGzMOxg8riIPBj
+tAN1Wh5ineJzIB5hBb7PaQa3eGSyZbCjIMtgIU740lY3PaJSTQbkWh7gPMKW3TzDh0ns6IyH5tWg
+MCBgR/d1LHCGY8euX/AgTvAq8MhkzaI7WbxTZgEc3l1EcizGzjbYUarDM+SQvI+BGHjImeTlB0Ih
+fTmUwhWGnCWz2AdVZ0e37IARvAI0BhMf3XIHgneiyrfIJrnTYpMYJJ3FTlQh4OEmhtQYDDHwNlns
+TFrmHgSc2JsAqb0NsT6GF2LNj1jA3cADagwWT6WTuyMEYeZC8HIhqCSf9EAQYpwP8R1K5tB26Pvh
+BG44/M4ImCj8uqSXigJ7HYbqtMO6gNQILHOaQmyvaQZnp9X8ZitO28Dj51iOCYN7SMUbwrhhkx13
+y8Qexa2a3i1C3ZYCUWAzBiljvAuG2Laf5nCH59xg+UoJ3GYuQvxtqE47QyxL46yzMWqzysZIkhYq
+nmizHM3LGKRwwSTC4fEbHAs1xJsIAIm12bt0hyAD44yfaEVEKogaTTq5rNsmwX5YrsJtLli908wf
+RuGqQpypWbYRp1fJsa2hqbVwmlodwUegq74CzxopKw4EDcCBmglnvHB+RbCDrzhhJGCM6JIx6iSV
+JCSMROO/jEh7eu0eLqRDtATXIwxus7xyoNBoZjJ2B7SbnFga2LBiwBQ/KCN3n8TCyBCuapNCaO8p
+dvSCgTIP2+Ct4UyydNvJu+bAFPNbEzx9hT2KhGZryEctjFOuwOMMLQFbKMC9YDrBKQvOy0Z5xEFj
+antJOWFsFcIJEPtBwshxDgGTiSk4ECYjBnDvOM5iFyNlelPUg9sKbcZkiFts2NglTA8iDqQANM3q
+YnZ1RS+qXcDRwLHDFBeZJfmEi/scDlswk2wd8N1B1aqByxp/PjlwaIjgmQ1Hk+mUiS8EttcQslcz
+4ooYUwtHseSYUSb3UTywje+jQLYKmY+4Tu7BQZoIGrxUO2c1w+eb4iCy6w+TB4dkxPjgfagOnWz4
+0LZMRXsewq0KpJQFsWVSyYblGf4Fhlnhw1YzqzXD5mMCP8N4XEpivWFxO+yAzCEbYFEE6HXkBdqE
+E7+fWFgjF2kxkN1EhfARciFXUUju54GqUVTp8WRD5gxmZsKETN7bjBsNuMhgECZkaXg1/IEvoAk0
+PpoqvbgEybC9bLdkj2BRaeWwaCVENby46RdVeh25xm7V+gqb5JjAhjzdNjserWbsGg==
+	]]>
+	<![CDATA[
+	tvSvgyB+qs9/AtxWSGrAoTqkD9Vkfab6a7YJj+dAaROFHUAMNfVYKjcOJw4gE9/2gRGhgaQe0C99
+Bbhisa2ikCGOcWkg66aY75FGyXqFsW+YXGn3mhWAfg3A4QLCXrMiabXjgFro9+lCEz4WXgUajnCH
+byqdAYtAYCuPanuKEFto+CjAhtcF8d04YtFZEEItYz1Nnf4IDTjOhu0itt0sk2a2BNlv0LnAJ9TU
+7wbJ7ywKZy42yNoJF/gwkOavwfkmydqxVfy2VIpZwOQCBc6nLpOcZDZze+DHUB2WcZAcjQDMMegE
+geuQ5L1QcGZTltoNB3ZgGHnEDrseSaAsfnYR0pnSBkyaQATgLJ+zQ1+vxUCe3tAiW2YMxI7ZFHPM
+ytjDDaOrWJqX9EqmQJ61CLb8JgaavqMCnTxnYCs4laTBktqQ3MQgbNitMg4ELsORZil2VEDhkLiC
+ZU7SWbJgFSwnm2XColFAqibev8SJw8jxl+blY7TJo1Y2PIzBctPycQAgDuRMMaGE7zxiON2x4uEl
+WevgqrQj++cCgPj+F22BTRyY6OTBCGGGAagxD7XCD8pkEpVB2Yk7zODSO00WyHlMxUeHjubjR1Vx
+iC+QtsCYF+BUxntsDkBDV31LAmD4GiZZEnz94Dcd8WQKKw0HkwsrEs8Cu4poObrOPLjsIREA2uyU
+DTI44JAwyzEs1gJ+wIOePoPrG1nU2OkFGctw9AICqsTXZuPXF/CKCpIKA/P+RIAxB5tSth9VTX7N
+im1FOUjB+Vs13060GkKr+d5Gn7E6S9YgSJLOOWR3L3hCqEbCUTb8Vr/F/HJw7s621iIc3l7hWUtF
+OHXuCWT5QWAXkkN0fxNw70zHUS6KTdIh8fI0cMWHoTBg2EIzsaEr4evIMGBYE+nUklCZmUtL0dHB
+WMNmj83FdBUYkrEaYogHgQOGOGavGi4OFl4mGg2GqAMX2xHgvn5FuI9larBnQzErnkHdKSx4kU0E
+ZW+wJrEnWZw4ke3FiRbJrAv3tVNvuEybPNflYwAkwQyezLtmtQkgR3hfwatcS6PnSxQXyXT91XBA
+XKY2dQnI+HVGHZuosFuFYVZhcA1uq8IhCJ4NOtyGwW46ssanq+jzD4cAd0hgSd3xqDeitV1y6mtJ
+rS86OEhExAf3yw4IuyXnxXVkih+bmYh9A6BjB/K54WImV87kJru7KRyrA/EXNIMF/Jsikx9HDu/Z
+ncmippYt7eHfpa3oX0f3Dx3Ip138fTCTKmfyuWTxVJOfeqWu+6azOfRjN0KwmBmvlN3SRmkLKthX
+LCary6SmMtl00c3hEqrUszdX9n6EP8qnCi7+sUtet1HquS2XSSHoCGo5N+kveSKZrdCi9zUuCdoQ
+FwRECG5tTtCp8ASdah1ByHgNT9LJTLo8FZ4sWrwjSJtyM5NT5fC0sfKtIq5v71hftjCVHFNCk5hJ
+o6LN6IJCraIpP36Pmyr35yu5NMKxP99EJAikTWAJiMqWS+Gn0FdpSzjC2k3AlivF8UrWzaXc0GNF
+KocdJN5Vy8gLTVjRLVWyEZYwK98q4tTQlOUq0wdT5eQJNwJ3i3Vapi0TshGayPFkyd1ddO+tIG6O
+oDurqrWK1Fx+pJwpp5poR4HcEi4+mslGmVRfpZAiqx49SiN6ghWFKHHdUVH0NEG88ay0v2jJ5Jos
+Vp8KhcKt4sORfKWYcvcUk4WpTCoCfVHIax11zfAUSMoX3GKynC+GJ8yr0eKVNZCfLuRLmXK4hTVP
+WGDjqDkCPYPuhNQb70Pbl6B4HxrvQ0/DPlSP96Fn8D50ophEm43sgXymFO9EO24nGn7tdu5ONLyf
+LN6IxhvRdpUs8UY03ojGG9EgBDpjI9qtLritaCSSOmQzqi/czWgU0jpwM9rvnnCzI1PJdP7kPB2N
+duL2jChjvFFfcKp4PFtpolvPiJ1ZqZwedE9kkoBWFDterNVic2NPslIqZZK5fjKjnWfKh5+tdARF
+mG6hJoxAUQRrJd1CcyWSuOgUGZifmCi55f7TJAlbKSMOYko7UjosSM7LgsUH0aupfDZf3HpyiuwW
+w+qsU9kIHmBavFWklgpu6mClyZLpYFsjfKhOqVKcSKbckVQy0vT5arVsAySHJxNNeCWbLO66r5DP
+ubkIU1lbs2XkRqZ2IJ8rlZMzodar2aHbpG5DlsOzR4e4ZxQ5ClGd4aDpViMRdX94ou5vuYUznM/k
+ykPU8dIyr6s7Qhf1EFXwHWlyzczv0SlHLFENkk6xKRe6oRUfHrW/5AivXI43MbHEyYGy7W8JHtci
+UKR1BEURRPrxFkr0CFzXxDPno0jvHFneOdp3YQc4ZDPl4WSm2S6wg5VwspgpT0275QhzFyvjztzW
+z8A7PoNl2srp3e8WJ10Y1460tSLLmgU9O/OKRRzINWeuwnULzVEYJTKoM9yEihLHcW3pzDiugXw+
+21903fvDnybG94oW3r0iJRE+S0Ixmc5UIowPK9/aDeTCDMqLQFE6AkUtXLzhKeq0nXA6k01GCNro
+4F3w/nyxMJXP5idPdeQ+aSELw4UnAiNc6uoQEbhwL8DGIrBDRGD3wguxjnL5s0MkX8SLN50g+sKT
+FAdWn+7JWfDJJ6IsqE6REeFN2Y6RERGs8w6zj8KHhndugpDwsxcnCIkThJzGCWsSjSXOVMQLGa29
+iRFFBXRMVNBCVNXhGbBjVHV4kjpNVfeFP8MdmErmcm52xM26qUjejNqaraL2UPhD+BlTW1uzxfps
+MFMqZJMpd9rNlfcnCx2p1KaTqLnwB6CdtFuTJfafVPNV8X0NTT7+GsH6YuU7QL52jBaMmOC0E7Rg
+eJI61Kk1AJfS9zNR03lSMgrTdco6Cu9L6Jh1FJ6kTrMmI1wfP335h9ptlU5Ei1ObyGSzkaK4sp0w
+/xPF/HQEqnDpVlEVfr2W8xGsznwLKWpiHIrnos2uQfgORist3NwlsyeTp8IThmRlOVmMJlxJhZbt
+FMITNw7vPkbwNZPirSIsvDIQSOQ4HMCEhCW1qlqrSM5mcm4y/AWjVDKb2p9PR6DTq9EqEnP5XHgt
+l0ylKtOV5mE1vqkU6rSKyKKLfSvh6UynM+XMiShU8hot3R0lc5npZGtTO3d+xsduO45HavstZ2rh
+xSNFIKlDXTdxPFL7erijLKhOkRELLx4pAkkd55YKf3TSuQFJ8du59X2NcURSKxVceKO3syKSoiiB
+jolIWojKeuFFJEUgqdOUdRyRFExtHJHUVkrtTIpIUs64iKQoKqNTtODCi0iKQFKHurU6PSIpCtN1
+yjpaeBFJEUjqNGuyLSOSOuF8rBMjq6IszejSppUz29kZO6MEccbzskCy6HTOtMwrFq3EYEGlUO3b
+OzaI8+6MRXTnhbS8OlHhRfACdliCr4WdLj9OIBULwjkQhGYsCCl94UciFoSxIIwF4UIRhLuKCBIb
+hLFB2OFy0AU+jsVgLAZnIwZjczA2B2MxGIvBM1YMiudfYxHDHRawNAw/EmfiGWi8tqKvLSteW5S+
+8CMRr614bdVZW8OZ+9zscDZ5aizi1dN2DioyZMkIHyBK5vRQlBhRoUqraIyfaIs8ZEV3Ot8s/UGn
+Zj+KkKAlTqvDd9RxWp354kdJ6VVlSTHQn7KE/t+LvqO/e9EP0oIN3c/k0u5EJpeJcKxUdAtusjwY
+ZUkKVVpFaEiVuWBSJpUKkDQpNLFxyqSgqYxTJrVnyqR2M9MW8muz49lmkr4D73BEIqrTbnHEXpbO
+kx3Rz6g6JUVCNPnRIUIxlZ8u5EvIaj5YaSIYOliONJuMhXG4OMCmsiOlR3if4fEm3lJxcqBsy/bh
+4SlqEr/lo0jrCIoiCPXjLZTpEbiuyXGqjyK9dRTNzILvFB08I3XVibr4tGTubI1juZgpT0275Qg2
+YqyUO/PQZ2YMHV86nSkW8eH8fBzOR8z52s7eovhwPj6cDxiy+HAel40P5wUbMT6cnz8JDMfzqtwb
+TRrHB/LBnBofyMdvGMUH8jPS+vGBfL7d3eLxgXx8IN8+vrv4QL6TZMeCPLBOZyYmKhFeTOoUuRGV
+rk4THeH9v3QkBvI5tAnNRSCxpmL700pmZSTa+ye+Sq2i8ZSbzeZPhiY0m5mcKqMC3SlIbR2e1up6
+Ldu3h9d8leIEMqsjzqm/VkjN124KZyH7EeO3s2M/Yhv5EYn47Z0sum6uFxl6bm8ml85M5ntPZPJZ
+t9xbdNO9+WIyNxl+OcYOxmAWbrmDMYrujL2MsZcx9jLOjJAz18uo2OHPoZL3Z6Yr5SbPcPrmh1Vo
+FQua4Ylzs+hf0XxWQpUWO6wGM3jfOwTqoqXBSINkIz5E9VZHLokF6TwrFdwU0gfFhXzZA1m+Z4xX
+Qjntbom2J5Ny+K77Csi6iuI9rK3ZMnLD6yuGdHRnaW3N2OkUO51ip1PsdGrocQEXE3E6UQ8U9j3F
+TqfY6RQ7nULQGTudYqdT7HQ6E5xOWeqFWVhRKrErrc7imi9ERug2raN9aQv7TvpMnGqxw7B9HIZx
+dpj2lyARMo90SHaYCJlHOiQ7TASK4uwwLaIocvR0x2jhhf1CUjZTHk5mmvn3O1gJx1lhOkcZx6na
+2l8Zx6na2l8Zz2zj2CkKObLK6jRdHKdoi5Vxx6doi87McXq2mWLRSgwWWnq2kalkOn9yIT2cFuct
+m+GeP06O0XEGRviUinEeidYvs/APCadPRYhBPNU6/otAURMx7KPovg4RF50iA/MTEyW3DOum6Kaj
+iflZSMRWyoqDmOIzcSMyi7le0DuSdpun03bO0jlTFG8aO2HT2K0Y60LzawSt30KlH4mkCKZZCy0z
+RZfDk3Qyk44SE0qLt4w0LQJpU27z+FGRNla+VcR5LpkFlC4/dsnELpkzxSVjxi6ZDrLC7QXnkolA
+UeySiV0ysUumred6Qe/3222eYpdMzRTFLplOcMnAprGcjBJmFG8ZF96WcaKYTJWT2QP5TISLCaR6
+2GHinbWEwNS8Ble1hqSIXp4OuNocgaRO29tHSCiVq0wfRKvxRJScLGKdVpEoJ8LnCBtPltzdRffe
+iptLRdgdV1VrFaW5/Eg5U0418Xv7/DVQfDSTjTKnvkodqlgWcGawKOw+UcxPR6ALl24dXeGfGCrn
+IxgA+dbRFCdx68QkbmdMoq8I2jDO8xWWzjjPV5znq1V5vubL9zVaKY5XskhKdLKXdKEmIYqyIe8Q
+H0Ocl+e0re0F5VWOEGXVGWF+EQjqkCA/eeEG+UUhrQOD/DwjYKxJJoz41KaR76jjT23KojW48M5s
+gLwFex4QPtaqc48D5Pg8oA65p+08IN6InoEb0UiCM96KxlvRIHsq3orGW9E23K/FW9E23YqGt/Xi
+rejC24ou+ADCBb0ZDZ+LpXM3o+FpjPei8V403ovGe9F4LxrvRec6WciC241GIqlD9qPGwt2PRiGt
+A/ejR/L59GQxGUE+x5vRhbcZXdjv0ETLadAhN78WdF6X8FvPOK9L66VHnGo3zuvSwg==
+	]]>
+	<![CDATA[
+	XB8LTrTH6Wo6SPhNZJEF3Z3KZ/PFrePZZOp4r0RA+UIylSmf2hrFkVoqn8pGcPDT4q3iU0z0glt9
+0ajq0AW3G1i0I9fbrPI7dYoPOOLK6hB1XcK5VgcWpNRojc6Offlt4stvNym5IM39yO9Ad4jsiEpX
+pwmM8Jmk6EgM5HOlcrLZK5y+rXV1xfanlczKSCoZxeL3VWoVjSenoiSYyMIZByrQHcKoEUmtrtcq
+asOH6ZUqxYlkyo04pf5aIbVeu+kbRQs/TMn7M9OVKEeAvEKrWACz4sJLHmeGz7DmZtG/ovnYhSot
+NuUGM1gpDNHD2ZZFZiBEsJYaopIttizbxbKcyaPmnWaFxVp7XrV2u+fIZCy+675CPudGsa1ra7a/
+cc1wjr6TqK0Zm2TtapLFFllskc0OkRG62jvaJFvY8fAzsc1iu7N97M74uKD9JUh4w+p4k6Li5EDZ
+VnFdeEV6vElKKB9FWkdQFEG0H2+hZI9AUZMQGh9FeusoinxC1TFaeGFHiGcz5eFkptk2sYOVcLKY
+KU9Nu1FeLYqVcfuLxQ5RxhHMiw5RxhEoipVxB22uOkchR1ZZsS6OdXEn6+JO9MHHj9F2hsl1OoRp
+58zOvGLRkfyx4JN1zewIoTMMitHoSb87zaQ4A97KjHNj1yU3zkfWWu0wnUTNhc8y0kl6QZFk+l/Q
+Nw4JTTv+GoFLWfkO0h2dohb3oNql5kFvnX/XFV843M/WaOeJl4Vsm50RFybjbDadtNy6w9uZnZLO
+pnvh5bM5XT61lhB3ME4A0znyYhaT1TmnTdGNxU5Za3A+AZM3upDT1ccxmO0vR2bEiJ24ysJfpO20
+ZaYkIlw7i039li+5ha3Vjk64xd2ZYtv4d9pt9svJ8Qgz30leW1UKfx6ER+FwRLesr1KLpdDuSi51
+qCPFz8JlwIQlydKZxYJ7YhZsLxZUzjQh2N/S4B68+YL0AKPFZK40EeYJmjZcDzO95tIpfpwZ2YWd
+ZPSSCTxdZm/szImdOYFzhEMd+7LZeO81p0s1DrudKRatxCDii3Tr+vYq8tiuXJq/TIdhBoDGDuRz
+w6gVnGKqm8L73clMTvxl2dIDBdYO/nHk1PR4PgvHhsnixmWy1LdsqSwdPblsaQW+HIQ/WFTT0VPw
+r33o2z0IdlLSpf3SncdkKY2qHT20bGm3LdtKQlM1VbJVVU6YmmJL01VwxUkolupIAFQTumxqALQS
+jiOrGKglLF1RBeAAtKAqZkI1bFuADxG4lTAc3fI1oip2wrRM29edAGS40ZY5XDcSmmnzlj24mbBV
+S5F83el2QpYdW/LhxoADhGo9oWiWWHiIwNWELSu2rxFhiFB3uiZbVUA94ViKxVquGWfUcv848GPX
+bTngnLQ0WUymM8jqlGxzo9QtJ2RFtxwVzV63g+Y0Iauq5tC5JX/2I+6AcvBBxGqoZQf12K3oqDdD
+MyT6mwmYWQ7HzE7ohq5IR6f91bWEbmpm0+oWmjYDTXh/yldd1ROmgUa/ae96QrdtTeqfWe+IP2xN
+UXDvE8De/f1sigwdjQ8aYCVh2x4je3A5YViKRnnWlE2dNGfINplPNGGKbQhAym5GAv0mgIcYf2sO
+QlhsA7hNNyxfZwKMIjbA1gEBowFRFFNYHhRsJHTVtiRfV8BpjkqWDEOLwTgLUyoYnLIwJ9lrQxgc
+rzcRSDEbqDPCDVhYNzALa7pqaQpnYc12LL0uCyOUNES946DVr2g2ogPRLHKBLTMMDAMJHVRBZGGo
+7iQQl6hNqzuIMBV1A0yEcNMSiikrzasZegIRYGDWBZISsoH+3byakrA0S2PVFBl4uWktXUXSDM1I
+1TpRlIRhg2hrUl1T0SoyOK5o7lRbbj6wiG+RCDV9vUYYWCSCVZgX3+oExYSmywC5KSccW9cUHde3
+0Ff8RQN+lBMAVSxTR+ShFhEaqiUdTeJlIVtItlmgejQdCXS2vFU0HLpuiPChariNuJDDhXbqwb12
+JshPWsJBCwZ+khMIY9a1UIXCGzTlb6ce3Gtnoqop1UrIjlZLNYPXUF0PpTpwoR3U9W3LljpS10bp
+6BH8fd0Ysi/Lfnt63RizpJBpog0je9Qt5g4hA6VULuIjvVFmVK0bU2tLQgLGYlkoI0s9/fl81l8o
+B26pPZVMmpq568bAphoTsPMMLGoW1bGUpP35SsmVBvMnc8FGE1JKiN2AAzXEgDIwuKZZSNAAgyrA
+jMCTjIkN9IvuwBfHRGyMuTS2uzrF7pqYU4vBmb3F4O9MgNVaDKJeHqoCz8ZicFptMWgbYaVpiM2J
+tYA0hW4ZSFE2sHhVA6kJtGipWtLr6lJUTgFl4telKtLgsqE0rW4heY30EjUX5NDdEd0btXw3MpAN
+NQJVvJqsguXXtBraSiCx5VVTTEO3mlZDppms2YpgxViWajevhpawVWPthx15VUVqyTH99gQyEpiI
+doj4RV+ItYBaMdEHvljwC7YoqKjGQlyLDYoWGRQdb0RUyuV8jfFQAWHWV+BWBKJbR3wN/wlsaoJp
+gS0JMHnxT7LimEpku0HRFMTPeNw1NOVoozjtB6MFY9sOrCIF2ey2LGPdridUUMqKgRaWbHqgFK5s
+Kui76ogFTVTXQV99DXpA1jmtz+FI/GvQpa9RQ0UK2TH8/TMgacFDVSjMaRJarSGfyQV2nQ/+Iytc
+QZJHJoqxaqw4XNWQlnR0aFhH5p4i482/gWwRza4aLgqkBCPpImuKv7BpgxCy/c16wKoh43AdmXEO
+GXPeKhoE2TDNmhHDQNKAh69Q2KPMa7V2FMiQKT6ui4er0XCBycJYrH8q2HxRFGOjwIV+kwVZyLoJ
+m15sDNB/MHQtkZ9BT/o3ziAoZFBxOhMibIOCTSS6ITH5FoX8KAoWhU2xDlpRxWa2JU4xhuOtBDIp
+ZAsb8IoOc0U8URpCApvZgLCuWcQ74dgyW7/gjtEcBgfnIAAd9JV4olCrCp0gBATiPRRoC7gwzA92
+ARB+MtgOB00adiuIGABMkR02wYCtTeEK4g6J0SVbtFXFUKXAQRjAQx6sn3r2J0vHuaoiymUokzvu
+pqkuObod/qwQ7QOKAP4Wl9a6MezY353Julv5v7BqOZQskQOBMaSH0CTtwR1CTCw+tj8lHT0AkDv5
+NALX4+EwpGOSqkuKAX1MNSgEIFKQ/GkLrKlLmCExTuswQoPJcnKrhNhr2dKje5eeNcPPht6BXQNb
+1/uBa7YeyLzxV976K7+QvXXAuIFBV1q3l/7nBx/5s0//2aO//xu/ODW0loCv6Uv+0vs+8ddf/+6/
+fPcbf/fn/+cdhVtWY3jX6Mnf/sQXv/Pkj5/7yQ+f+OpffvhXUzuuAPiWO978gT//yhM/+tmLz//4
+P/7xsT94+/FdqzAmoyfe8+hff/Pffvijp/7921/65Ad/ecy5EuBX77zrje/56Kf/9iuPf+Vv/98j
+7/8f7qBEOr7OOJz/pXf87ocf/v3ffecvF+9wbvDwNwduOTyVm7ptaMC+sZritfK6mQ4W+sDwI9sD
+Bh8z1M2cSxDU45EDDUwoZvQ40u7K/fefkoBp/bbOujFsgnkmz9jRzfAnqlUsV1tPe3Mn3GKZsziH
+D2QzhUIGMsv74YOZEthYrHwvRmWsFglqI82VRGtkKuEy6WVLTcGNBc3bps/Wkv2FKtQhhMoJ/fjW
+b83q5WuXrtxDe/rxwvWtSAurHhutSEOG/5FlW6cIgAzhf7YEm2DFqlq14pq1DJks2p/PxUfkzjlp
+cPZoNP60FTKnB73Z4DMfuM0VPnOI23ygNEvE5g+lGSM23yjNALHTg1IkxE4nSiERO/0oNUWsVSg1
+RqwNsWotSuTTEVi1Gh3v0+ZYtRqR6k+MVfhP22LVahTiT/yJP/Gnsz9tKEjbVuPEWIX8tKHh1+YW
+cvsg1hE7r3ZALBCltsWqhYg1QKlViDVF6fQjFhKl04lYJJROD2IzQGm+EZsxSvOH2CxRmnPc5gqf
+ucJtPvCZGYZz3fjZ6BN6GFDZRYvOQZ9Fi8JUQ6XPOfe88xcvueCCJYvPP+/ccxY1roSKn7f4gguX
+Lb/siquuuuKy5csuvGDxeahSo/JLLrr0ymuvX7MxoSiJjWuuv/bKSy9aUrfO2YvOW7Ls8pXrEub2
+waHRo0dHhwa3m4l1Ky9ftuS8wCpnn3P+hStWbbR2j9w1Vbj/gbe+9YH7C1N3jey2Nq5aceH559RW
+OfucxRdfvd7aeyz/5re/56GHH/2TP3n04Yfe8/Y354/ttdZfffHimipnn7PkkpXd/bff+9b3f+xT
+j33xK9/4p3/6xle++NinPvb+t957e3/3ykuWVFWBCquUve4D7/vE57/67e//+5NP/ehHTz3579//
+9lc//4n3PeDuVVZVVUEoXbJKHTr+to989mtPPPnMcz97/oUXX3zh+Z8998yTT3ztsx952/EhddUl
+ImJnLzr/4pXK0PSvP/KF7z75k/9+8eVXXn0NfV595eUX//snT373C4/8+vSQsvLi870RW3TehVd3
+7z3+63/05See/tlLr772+uuvA8uhv1579aWfPf3El//o14/v7b76wvMWeUSsWN/vvu2RL3//medf
+ee11kVFff+2V55/5/pcfeZvbv34FJ2XRectWWXc88JEvPPHMC1UVcJUXnnniCx954A5r1TLaCeri
+8k377n3fZ7/79POvVJXHdV55/unvfvZ99+7bdDnt5GzUhX3s1z7x+JM/e+W1oCX02is/e/LxT/za
+MRt1cjYeqMWXbbj53g98/omfvFSNEkPspZ888fkP3HvzhssWw3Cdfe7Sa9Sjb3n0az94/tXACqjK
+q8//4GuPvuWoes3Sc6HGeRdLOybf/Zl//vFLgThhvF768T9/5t2TO6SLAS2EVNe+E//rS//xsyCy
+GfE/+48v/a8T+7oQWmikLriy57ZffvTrP3yhHlKA1gs//Pqjv3xbz5UXnHP22ecsvUY/9rZPfacB
+Uhit73zqbcf0a5aiGudeeJ2detdnvvfsy3W7QJ28/Oz3PvOulH3dheeiGhet3DrxW499/7n6ZAAh
+z33/sd+a2LryIlKjd/I9n/vXZjX+9XPvmexlNaL2EZmO6GMVeT6iz/kM+GoGvBt5fURfg946/87T
+1ZKE9IDW+Xd869yTJd/7UW0VqPCj7/llCZdXH//SE0//98uvvi7Uef31V1/+76ef+NLH/fKKycR3
+PvLFf/7Bcy+8jIUi/rz26ssvPPeDf/7iI+/0y0Qid2UkqB/+3D/+249++vxLL7+CPy+/9PxPf/Rv
+//i5h5Goln1yF2T78lXyvom3PPTJL3373374zLPP/RR9nnv2mR/+27e/9MmH3jKxT161fHGVOliy
+fGX3wBtOPviRT3/x69/53r/+f+jzr9/7zte/+OmPPHjyDQPdK5fXqpzFF1/TtXV48k0P/v4jn/rM
+Y59Hn8c+86lHfv/BN00Ob+26JlCtnX/R5VJP34hbeeBt7/qt30af33rX2x6ouCN9PQ==
+	]]>
+	<![CDATA[
+	0uUXBarOReddcMk1a+Xte0ePjU9Mos/E+LHRvdvltddcckEd9bzo3PMvvPSqGzYkdHtr77ZtvVtt
+PbHhhqsuvfD8c+uZAKjO4qUXX3blNdetXIU+K6+75srLLl66+NwGtsnZxDBZeuFF+HPhUmKWNLZl
+oNI559LPOeeEMpiwNcY+AT8LoZU4sLIqrPKA//pGHBM/xzHxOk1kATfPUXcGvi+oJxxVhptZpmPU
+hsonTNnA98psuKZmiF/YT5gmRyYB52bC1hzbHzhf97rRTMK55zJ8G99xNWWIA9Xhf4Hh214hHAmq
+e/8LE76tosGdVfx2yz9T73zfBz/43nfcE6XGQ49+E9nRLz3/9Dcf/dDb3TBVfvMPv/n0S55OeukH
+//Sx32zS5dT7Hv/RK9Xq8tVnvvb+yQaVTvzNM8Gq/5nPV+pX+vuXgyv9/OevfLVetfv+oZG59OX7
+Aiud/EqDSmhcvhbU232NKwX3dqIRevV6O/H3TSuh3v7OX23qb+qOnvh55Yu+eXtfnXmq/jzzfrGr
+x8NV+vnPvyp09ps/ClvrqXd5tf6whvfqfV76Q14p882wlX7+829Ns1rvCjkW8HnuNzmCr4av9drH
+2Aj+Y/hKP//51+nafufTUWo9+XY6xc9HqfXce0mth0JxE/s8/0FS6/dCzxZ8XvzQ6a81M7qijeGz
+dAzfMaP5uucbUWo9nom8UJAQ4Evl3T8OX+uZd/P1FQHFr0/xZfmx0EvlxT/wJMC7Qy/LJx/0at3z
+9bC1/iHj1Trrd38YrtJ/vUeodFb6iyEENuKLv5wSa511sr7C8z7PfbZ0lv9T+mrzSo+Vz6r+nPqH
+Jr0991dBaq/8tSY9BWvmU19+oX6lZz9bix753PuFn9Sr9F9/WT0Q3uf4+78eyMhPf/W3p+pWQp97
+3v+Pz1Yx5cs/+PL7s43qwCf7ro9+/cnnXnjxJfR58flnn/zaR9+RaVYHf9y3v/eDH/o99PnQB9/7
+9nBV2u5zJt3dg02HGurqnVxz9U6T/DkOau/dBWzDlXgbPkfbcJJbB3bhckJ1NEPC2fhUXW+UT1Kx
+EqqBemF/e9lbMDEEZ1VNWJDRybf97oyr1JbCbknriqSrdfbivBCASEHyZ5i9uGKp5unbi4c6liRe
+tkXNDjHxOeR5559//nnnntvoPBGVWrJk6YXos/SCJYvPq+NDBK/jkqUXXbz8kksvveSS5csuumBJ
+UFFU7LwlFy675LIrrrwKfa68YsWlyy9auuS8GtfnonMXX7DskhVXXn3tdSvR57prr7nqClR0yfnn
+LqouB47Lq69bdb20Gn2kG1atvPaqFZcsu+D8c6sO/JYuv+yqa1fdsHrN2nXos3bNjdL1111zxaWo
+pNj7ovMuuPiyq667fvWadRu6NqFP14b1a2+8YeU1V14KB6Jeg+cuWXYpKnfj2g2bNnd3JxKJ7i2b
+NqxbI6265opLLlzsdX7O+UsvufLa629c17W5u0dW0Efu6d7StX6NtPLqFRdf4B3/oQZXXL1q9dqu
+zWgha5qu65oqJ7ZsWn/jDdddeelFvMlF56EGr7thzQZUTtUNyIZk6JrSs6Vr3epV13hNIpIvugw1
+uG5TNypnWjb6WKahKYnNG9agJi9hh7Wo54uvuBY1uKUHlbOdrejj2Kauyt1d66SVV6G+WcELll95
+nbS2q1vWDMvZ2os+UBI1ibBcdfVly5acS08Nl15y1UrUc0JBDYIXGvzQjqWrPZs33Hg9QlIsuGr1
++s09KjS4bduOHaikYxlqzxaE5LVXCAUvvWrVjbRgLyqHStYpWNviVlbw+mv9XdfgiMhG47MecOTE
+BFJtGZrcvQmNuEA1GscVfBwtBw2k41hoHNHUrIVxvJCNY+DMwHijYbz+2iuWLz2fn8oEzDXiis0b
+UIPQMz+MQdxz2dUrpbUbEJcpSH9omqqgcognUIOXXOidRiw6f+nyK65BfIZKJoAh5Z5ENyp34/XX
+XeVjcdQkjiNYvXZ91+Yt3eizZfOmDWgtXIf4dqm4aCCCAJVcJa1Zt74LLZqurvXr1qy+HpVbLq4E
+cpyBSl6z8obVN65di1fh6htWofUK5XwL++xzoM0rrr525fU3SOhzw/Wrrrv6yssuhnLVBzHnLbkI
+oiOuAVFx3XXXXn0lWv5La8rh3hcvXbb80hUgfK68csVll1x84ZLAQxEspkCaLb8ECbOLScxFsDiF
+ohDMsXQpEo9Lzm8SmnEuErnnnXduQ4mLizY88pjbz5lk4dbYnmEyTFRbYOpsLTBiQ1UnrrD0CAa0
+l1vXcZBlC7abQzOWwleWEE92bHwOo+gKpDcMzBmk2ZBYRyWmnmh7c7hiJwya3QcZq6ZlUDMbZ+fx
+JTliQJryx0ogg9vxFzYhXaBp+Jv1gAwHant7cBN1TE193qzq+BOPkbx0jph4zENYKCyQ7DVbOw6p
+TkobZOBUjJA2CDGcUydtEC+E0wbhguTPMLauYRhzZOpeev0aZDVt3tS1/sbrlvt/umydvfvAbUfv
+uOP2IyND/eaaS72fLpasfXdmSqd+8YEH3vzGE/n00T36qovob8s37Tycue9XH/ydDzz0oQ++991v
+e6CcGu5dfzH+bem6nUeyv/QbH3j40T/55Cf/9BMf/f3f/p+nJm/dduMF8OMV2oHJN/3GQx//5F/9
+zRe/+Lef+4v/+5Hf/bXK3fvky+DHa7Yeyf/K7/zBnz32d195/PGvfvmv/+LR33vwzZlbzavhx2u3
+3V586/s++uef//LXvvGNx//hbz/zf//3ux84Pmpfg2s6t+X+x28//Kd/9YW//+pX/+HvPv/pRz70
+G2+aGiY1VyhD6V94xwc++qf/73N//Tef/+wnH/3we361NHZzzwr48YK1Nx2+503veO///tgf/fEf
+f+LjH/ngu3/1RPrg1hvJsC/fsGN08sRb3v7u33nve3/3t37jrW8q3L3foXSeddYyydx7x2S+cuqN
+b/yFk8XjydEB5fplwrBDjqPh0dsO33brgZt3apIwtvC5ZOWNyOZFynvt6pWXzG6C4XOm6ZW5EslR
+kx45VXrEaeiIgXEl0qie26Xqlxk5XnAbs3S9kDZm5XzBTczO/bJuLFdXBfAneZCg7tsr9VXKeYkw
+duZ+4Q0bzjzp/Lg7Bix0cLzkFk+46bFb3FNjpBTLXNpT00sNoNsxNMROimzThKnkEbt8cXor+pLO
+T0slV2RaxazbdtSm5q4lRZ6zpjRlzppS1XpNkdmTeH3hhSA+vg3KhCjCR6RBGU5qgzKcBs5ye3Ol
+cjKXcsdAFo/tHUQirFBdBthy131uqgJU+2v4hZ2CauTyOUnTnCbPB8wiCW/DZP6CGxkyqvukXePU
+uqi4gZPNa3rCUpEkmK6CI5nkaJZBk+uqyF6k0svh6Txl29AFIPcy25Zm+AubTsJE3/3NekCGA0+x
+S+E46bdmSb5mDT2hGo7tx4EBeYpdirBQ2CNNaLZ2HEL6mVWZRHuBoY3/NiVIsWmoOFO3pZm1wV4a
+lNIlyDusyir/u5v9QAjSIP8fRoemLRce/omnbdbThremsgppqWUIzDNNyMZswpNTkH61etKshK3B
+Qwrw1otlWvzvbvYDJUfWdKIsHdUOSGw7D0kWYX9nmODQN+F/QUkWeRHszje9/4VIsmhqhjqjJIvh
+reKoLc85AvOH0mxwmENk5gSN2eMzt2jMGJn5QGMGyMwfGpGQmW80QiJzetBoiszpRKMBMqcfjUBk
+WoVGW2FyVjvlHWkfTM5qpyQxbYLGWe2ESfyJP/En/sSfM+HTVro4xqTq0yZmWxta1G2132kVJoF7
+wJYgUw+T04xMAzROJzJN0Tg9yIREY76RiYTG/CEzAzTmHJ/Z4DCHyMwJGrPBZ24RmAFWc9Mm5Ctj
+nybhpWcvOmfJxSsup58VFy9peFFg8fKrNmy/5eAw/hy8ZfuGq5YvXhRceNHiFet2jEw/+PCj9PPw
+g9OHtq2+KCAFyllnnXPRjQOZBz/+2Lf+8yn6+c9vPfaxd9zZfXlA8+dc1HXHg5/+1pM/eQEn6MJJ
+ul74yX997cO5gRsvOqem8Ma7Hnr8KVRUTF7z2is//Ze/fPCOrqriUPj3vvlcbZ6f11586vGH7tro
+K04K/zTopuTrrz73zd/zFW9QGJr/KSredREjddFFXQ0K4+IP3XHjYjKQZy++8Y6HGhRGxZ97/MGB
+FQSXc1YMPPj4cw1vd7761Kcz65fgrESL12U+/VTjS66vv/Dt9+zCjS9avuPBb73QID0UbvzpT2fW
+AebnXDXysSeb3Z99/YVvPbhj+aKzzl6yYfqxnzS9k/rqkx8bueqcs86+eHtzRNCw/OSx6Q1Lzl60
+4paH/7P5RV5AZfvFZy+6fPiRp0Jcjn31Px++ZcUiVPrRMKVfe+qR4csjlH60bUpTvKOMSaTxDjmX
+rz/7uRyay5B88trTf3zkmnNC8iCgPbRiUUj+pmjTtfN0k8ZhqeHVgNblrvd8u3Hjr/2UL+Ozl6xv
+sjBff/FfPnwnExFNF/2rT/1FrpuJn2YCBcTJ4OVctBFhFSAzMRpIEHqiSpDHLwY0T4SsJwa5rP/L
+f/lpVfP1BfiNA7kPE3H/OitaXzksWnx5951IlfzX088SXYKKPllf8ZxN1NTDf/w5oqeQjvr4u+or
+NawCtw8dyREdiPTfyI4GChPnG1txNdGvRLc2UsYkPxfV3Y31tlijrk3QPMlW8AVfnmerNn5muj3i
+Z9ohjihMDA/Ns6U68JqqilCwEo6uSErCdgxN6ibDjf5STNNxEoZuOuirqpkJ3dAUcu9XgeBjCLnS
+4JVU3fa+8F9sRbcRrhoEY+k6vGFv1uTdEuONgwP/uro1CG82HE0IS+zv70ulKtOH8uUkFK6OoJYT
+esP7LyQaOIiLqn6ZER+RmOfZcRJpY3a8xOKmZ8NNDSKWI0zM/Ac3Sz0H8uVDbipfTCNGx783Y+Oe
+Q24yuz+J2ryPBPkP9O3dQ1fIKITBkt+CYlvRaIyUT2XdMQ+FenGtlvhUcMWLNZXY0++KL2qfyzjd
+TMi6apB3xzVLY2+ve2CDrC0AWgl40pwsM8vkMeyyrIhAeo8KHjw3qwtrECvpa5SDSPe0MgPaqEeZ
+3JXy2oM7UbZR1TkF0gtUHqZeYYEmr9ka+sn9qbZN1WeY+E6AdEyCGEj2ZHPdQhiEC5I/Q6UHUJu9
+tP5nkALm9Wf/DL7TrC4/hu/UfnsVvtNcYk/h8s/C1x/9Oan96aef+XQjnX4m3cGZTfaSuWDQ+bvb
+1xaMukrv23Nzv7EKvqu3F37hjffeqcH3rVNvefBdv3JPL3zX7vrFd7zjzXfr8P2GnXffe+/YTRKp
+vWnbtk0xo86eUf1s1vh2V5A+qv5hJhoJtzFznUSqz0YrESJmpZdO97WuGiPDno/LMzfnp93q+zJV
+V2YScEdRgQuIsiMrDlzc0A0bDQ1hq4RpqpYOewwTSRTbDLB0ml2ysROajhPcIpvUhA==
+	]]>
+	<![CDATA[
+	CaVmkI7G3sIXBpBhp6KpGaqC61rCsJHBN8TMJkdRlEZwJWHItk3hmFNU2g6+5UzgppIwDVUT8KHl
+nYStMxs+EK4ihrQQJUPMCNM11WwEtyDfscbwtFEpxWkE97Wjo22dbSoN4H48a8d5CJtbbBdeba6S
+RYfWBb5Nj3Z5qmbTqTEg/5PuCPChKrimJiwZbTeHqtqpBxfameCzpilmTde6Sv5V3bUH93fhtVMP
+7u861H51Rmttbw42HGTLVLvkNp3uZYfYEHUB2Qs0xPC6o7O5hfRdGr3UqloG23vqaB9IgJpMUzs4
+CVmzKaPJFmorxRhWVvH9WWA0w1apttA0LFM1g1+qRZNg6gYGIpGroY0pbQGpA7QrBrhF2iJAS8GJ
+GSDxgmFqVUAnoakeDhyug69CZXIdZyZDQBVJAs2h/gvNwskhgIWASNoCok7Hm2okHmRChKEgFnIM
+WtZxmBZSiThSE6ZqO94ezNR02pli2qwwc5YoqFvegiMbIHDQ0kX7eN1rwYPza8sqkjYaJdg0ZZXq
+TM0gTO4kFCQdva2cLSt0yEzLwb4IQ0/ojqwSoO4YxBg0Eopii0DagplQHIyDWNhCilcTu/MB4f60
+Zgg5PRhcQ+NDk8XB8GkqMQZsnbYATOY4ApDzk2lomr8wzKVsUXPCUBSLcoMK99NwX7pmijk9qKWg
+JlSHOGrQV1shEycT/eIDInoNb0/rgc2E7RBnCqgZx7QIS6uKQthJJ7qkZlEgBkdzQeSQI1PuRYvC
+oTk2EppNKQN5hOU9LEzLGwZktSiqQuCUoRFIlzFaIBEsP0xFDKIaQm0KRsOpy2wFs7v1FlovlD9Q
+6yoRyhTosaOpVxfmUgQ1axuG4QcitFQwoAbqiJwsE/eIKWWYROyt0g20Cqer4UhsIHOPtq/buk6A
+lm0pFG3Mih6QE26TtSEUhkUPex8EhKcH+MAzIMJB5RkhBbiSsG3Dqho61LFBXXQwMZYI5ENn6ERf
+CoU90lT0TbWkwHEgPpFNt7F0DSG3ojNSUSNuspiaCtBOol/rtBiEso1nzEwYqBXPL2aiRUJXC8j6
+IeZwwqXI0jLpVNqqolGtr5EBR1OmG8QKUYitn+KGICRvwOwKmdVoYdvUNbaM+MrUNbqGHEdVKV/r
+QKtJGUcFj/sQO2kwHVOTaIIghWUN8sxCqIGBaEU5Js2egYQGkxoIjuxLyqdoYBVaWLMdytHYdAkc
+tIEGyYhkmt0AeEBK5acL+UouLZWmkgVXms6nXf8mJJRNpERqMmAjWhF3o5jV4K9qq5Q4zYM4hPwS
+ODZ1RrFqyAe8Nqp+GfL6DZi7oFmuZQnWei0TsdaDWK4eb1Yx8oDXRNUvQ163ASsiYOXULLKBuoOO
+267LY10yatLQDavp0UE01ql1ynjpsvrIXyC46rjZgmUPrnSoKXcFSiDmXJi5DCIOjllJIZa4plYO
+sZOq2UgitixmI4saOFCiSaPa+e8aTpanJjK5tFuURiqZsruRTvrR4bmSVvOv+FimJkVI4Ef3hYo0
+SBSVwrbXaPegm56JpDkG3aiYLNuCjUw0ttXB7oluck7oyNRut2STmUgm2uCYOt2GGSaxLU1kKVs2
+ZV/UNNlogL3PmFS2FH5mhCbfIb4IC/VhGtQawqnyiMlpq8zkZNwv7NYQF6lsJ4mNTMLnioLNLjgO
+BbsxYAhS9Kh5kGlyE3KEYJyxC4jvaTXDpnYy30kZaGBkmuhPV2lmQtgNahRDBfIA8gN7R9boaDgq
+wdBUEoaG00HDeSPbIzrEysQ7CEf3bEC0K9ZUlWJuUWenzg+L0SaRpTdRiaVLdlKGJpjwum3SvZgJ
+J+1Uyhga3VcrisNycVeNg2dFzrVBIPKoLB2ayToBYxOJPAvJt5OSKe1fFvN6HV4vxbweitdL88Pr
+twGfY9G9rJ4Bu4masYOiFQsuG4gEkROK6tAEOgkZVoFCVgQ0xozbWr5j5sdsOI9ZKTPnPYLC7BYg
+CVeZ3RKkJqdMhjiQj3mQz+w4mbU+G17mZvksuJmdn81mXdNRq78q2sNcr1o+kW33ALXRPnzbBks4
+V7V0gpTI3LDbQlp+ucZLZ173L7PZe8zYGgvctfhsNN/eRaneu8zfKdrIVJ5EUwQ6KZXTeoKmJ2wN
+ywO0IbYM1fGMVFvDnAUeZ5by3ECchdcT2hPrtoU32wbIEZMBHe72M6yEoRoinK4zZDOwZg2bA3WL
+4WDZngWGj+nwNt6WZZYH3dBkjQBlVTEYDpZOnQZ4AXEz11R0TYAz0rh3wNEdKXAcGuVB78J5IBVL
+dcLG+nbj8xdLx2dWiHbV0nTvNJjBERkUSUjQqzv0AAOPYzc+l6EnTgzIz2WQ0NSqCltIlGNxJDbr
+ASkO3KBncB3JKlmT/M16oyfg4BtqAWGhsEea0GzNOJChFg6PZ7rmCR74RBHLfAeW+jSLcNAMRxfg
+QzyKneTVh8NX8FPxs3hLlqnMNlUMHoHFuQ8tpXuWkRZ1ix38a7Z3ug/KGR+pMTipGviTxwJAKwnv
+gHHyqoAMN+hPpm6xgwSErWxhHarDSRIaFlKFrvdlZKnoCj5eRIWxAp5m56EWsuH9QzHCz8cUTBPS
+P7omW8KGjJ4dVldBrCNbeEHCKTVQx086bHLihFSqjhaXV8WEROA6VVs6pNHkw4DPCj04qVKb7zsg
+RGxeD5VGk+MBwlrxZ+XVw4td20D2Bo7nURwSBzBdBUfjbysO40YBrpHBBKBG3pfAoWcmDCgAZRJA
+7gHJ+Y7ikGhyD05aVhAz2I7ib0TRSRSArzsBSHGjLXM4o6UaZwEOtz4CH3NzlI148BxyUOLPzeq9
+3oYVDzJVLZ04dukPWLDYVnWHR6d9dZ0QdRUbQhJsqT8Fk6ghvYJYNWR3cGlEliDuAxZb4zrwwpyK
+FiepA+sTGbvN6tAACFIH/N2W3qwOhAAgMUaq6AnFNBFzNK4CYR0qYon+6KMHTKTD3qA/5b8/0zSE
+s96iqPpFWBbVv8xkYeA2ApcG+WV2i4O0EbQ86tA7RA11L2LS4A5KahCiTQBE6sigqyB/NMSpWPCU
+H7zDgxUh0GnIjo3zhNMHGAzHRNqChcTZQJZJO5YdroY8OGIBvEkaqoYjYmisjI32LxoZG5MHg9hK
+wjLJ/oUCqYywkSlBFByFU+mD2MUkM+U1osD0aY6/OwFIcaMtczijpRpnAT4RC98g4UtecYI3OiCv
+fLeDH9RAO1jNbiCJu5Eo1tDGuDtIICgqRxchYqNds18UdyNpggN0mtRGv5oK6oRIYzlsZ0TaRSze
+rcNuGXYZEWshuwVZU81qIYPWsYVaKsSvNamkmQnTUyzdigLHq3rTWshYQ9ZxlfwOO+Sqgoxy2QiQ
+4LHMDiezzfBRJtpwslx2i7lDyNoslYt44zh6qsC8LWptyV33FfLFslBG9i6BeIVycCtjTyWTdqti
+8SOavZlsTWi9b49mU0XjgOaBV4B09hwQ3BpVQSspTAfJ5KgAHIxwjlDfR6MmZDT6wYazgxo0Ce9Y
+CQXmaDoAjrqictCDIxWEtjZOENyGGSVwGUIMscegBk63ifXgDJ/q9gV4iWtxlQ2TJsOelm5pLcuE
+TTja0rIdr605qkLcOmgnsYwsVIuuE3AHy+xUMRIiDQYMmXKq5WhC+1RV1fRL9Cm8QKSAxQfvE5FX
+njAtBo7PlUFUkl28iffz3ARBFqNC/EtoWwvdT1fB/d3XQyvqvEM7CotuNH1kV+HDyLOJVQUEKozL
+ZXYUppH3rOAnOBSTqH1mMDJr2abxbAWOMoXToO06cIS2gfbcjdh1wluxeB0yB4oCtiFMkUpwhxM+
+smTpaqbEgI4gEcg1cxY4pjNYe4FrrLZf36UP8M6Aw45LI8x/OpM2hO14qea01PJBA7702qkH9+M8
+K7cEvhc4diCfGy5mcuVMbrK7e5nwqoj4y7KlBwr4N5v8NpytoD8Pjt/jpspIsJOHlPqLldKUtD+Z
+S066RelgMe0WNzb7USK/DiSz2QwyIAtTmRQtOoq0UI+kSoVyQjp4Iom+1xbdKHVDG2IFo2EFX1EN
+FyVt7M4my00rkLYDipI26vVwCM4+mjZO2rBqa6DZPZiD4xBf8YGpZDGV96jEpUgbNWWH3Vwqk5W6
+pdGpTK5xs/1J0kYuh2ZJaVYWl1J7NkoJyhyIofysMQ9sVmcEgZs8boF/KYh70H+mhJaLYsD/qIHQ
+GN8Z9q1x5iB9a+g/B/3HepbnuWfMM17Xiizj/wv/zUvnRhXZhmQwx5tzOnr2Jht6VnCv3UhSagaN
+kZ6fzq3qMbfQf5HHfK6XRtA6BfToSlXIGumR2JadlEIVJKNHYv8ZDdRdD5W4eB2x/89qgpugrNZH
+WfOjrNK9g0UtRQt2DKbEBOv8Y8wkcn2MVQ9jwKNHIkH8CXU+0fIJ/2rcFDsYpbAIzYSBHfIbSyaD
+djE9t+TyJ3P4X2C9CM7KngMITdhx9vQh++aEy8v0DNCYgt2ZLNqi4mpoAjI5iRQhYHIG0EPLbAmu
+NlJOpo43qdafLGVSvjrF/HG3cSUV/yN7sEgLQzsNc/f0kIKURilKnDTxpfQMuhNSr7RsqdQlNIV3
+7L0S7ltCdqHUM5wslgPJGsjn0pVMuR5F/soznIHqPmGMmlRpOGrcYXFbyd11ws0dTJP0EXjwvbGs
+SagW9tX6wJfqGx4vER+XMBkckwhT0Z91c+nZjEsPbsEbgPAHigLmXhv1Ua//j/knKuyERicJ1eFP
+uZIfcRN1hZUZC6tYWLWlsIpwHNOekmv+FnlHM8jsz26j89gsWaPmwW3FPzbe0+LSrmRqKpHMFJBY
+JVYn5AFjArZLfLN7NFPOhhBYfGTLrC493SBHGvxn8qY5zlK0BbsDScZEqWs6f8I9PDZcJuUVWWc/
+lFLJrHvz2LBbTKH1hn/V6UlLARnr+QwFel24E1lkQR8lDSVkw9fS4bHdyVQ5X/TXwT8NZXIuR5dU
+KUJ8oDt2CC32JCUFXiSuws3fokfPzZweFrCbq0wP5AsZl1FZjZtIZTVBtweiNuhOFl3aXmxA1DUg
+rNiAaGcDotMsAeaBglzIQVZB41zIc2EYhFEFg8V8QRqZSqbzJ2uVgfBjfU3gayGsLuCZDgvJTLGu
+fmWeJJM7wSw4XgXziZ5RklmZrSYtpbJUNCdsJjvzhWTKJ5dTpWLKL16n8sX7N1JqCGQ8Wyn6Ko1n
+c2mqErgch4yMVLbzptLJ4vEW703nb3MaVRDbsSCOBXGwIJapWAxOXz33BnQYESomaq2WoPi3XRMT
+yDarL0F3u8nyFAxbaOkJkREqkx1geVYaWHdtg7YKgdTGjNFewKanE0u8dpZ4HeiakFlAmuOoigGh
+TQ71P8BX6olQaIAXPKcAYU+xSyKUS6JbUYJdEqY1Nx4JOCmYU4cEWM5z5JDQ5fn3R7SNxjLDKqtO
+lxfzssNVFOL5hgBItMV1NAMf16HNLpI+8+L57jxZItdzbspz5NycY8/mnLk1zyQxog==
+	]]>
+	<![CDATA[
+	yu1j9IJXZd7s3lgG1spA6ufDKRcgBwhOoggJfrHlZTrGfIrC2L0X3b3neeq4g08N4eCbQ/derMZi
+NdaOaqxdtJg2j66bjlZhCZCbMkhQnV0GYqEJIFVZKILJgxPIjy3c96M2AiXcrtwJN5svuBISM9KR
+ZLFQn4/h1xmoJpzXh27oYeAYcxOMbs4XM/f7pBSBe1QGVDqczFaq5CH9gekEjOxWqQ8y2nuZhgYz
+pUI2eYr8c0HrCUUPVhSGOjd6AqLQ59p1UoPbTLVFDWoLWVno7aIsQPLZZqwvTuOWx9goeQd17R/g
+qJwec+JMOjftwLWQUEnuY4VcDWcRnTwtncx2qQrZnMaHJbPbGRpztDOcj+jNatzi6M26qtVpg1P0
+fhdtFqSR/EQ5Pkdvr3P0xugvFNUxZzdFDAUfmKkq2KsKPEoJ6ZwggZNhzaebuAUhTKGPROaFOQjZ
+BycmSm4ZbgZP1dIt/Fifbl8LYWnnR/H5iVKZ+Zex9rgnVy4wBUi1TDYzHWE6O5LpdYJkt475XZ2j
+XcMZfqmhvzI+Dm3F+rCd9OEZqemaOQwMpyVhIu0cBxDzSZBjSWvpWfqC2HXH57Hz5WKP2SNmj1h0
+1xHdptxpRwLwOsm8WfEdzSAJTVUME2w1jWQy8D8bCI99wMUDU9YcnJTaIhcPWhlkEEfB+aLguHeh
+fhRcd1AYXO09V6U6DE6e03uuC0izanN23KHNsXKtbnE2+rUatwV23NEGfp09xeQpCUcn5XNlNG57
+qIoVPT0jmelC1vP0RNTrjdIYSSR/UT0lzsXOMNJg5YZ0HEJNt4QMZU7J4DohdrPFbrYOjtfoQMOJ
+XmJVSQp/ajzJ8K/jc2cqWUaNraTU2EpqQjFrjCV42Ky5vSRW5QaTEdJeOsNV4Z0Inqxky8eaK43a
+9XQoiu1d92mTIIqV+toDJ9/dlUsLqXeb5/AdRpYUMjwJGcPjEfDuulN8h+bYRjwER++HofP/sGzp
+cCpomLqOTMHLv/TnKFsVNNlIWXkNs3voXmJjXOrQnn4JWQK8B5lGW0EFFrhOtDQvfrubzSJhwmqY
+bOvpqXJedA+yJHO8pKHAcyy4bYVdhfcohfIDp5JecZttZOEBNNWSvNHh5fsh3JuVV9lY0AdGGDZC
++f3JSWSBJHkVhbaccGzYLAs382UTfeAXiz1Rwh8kUcijMqTR7fDK0Z7tmiP1b9cNbxjZ3jv49j9q
+SK1z/R81qWoWalK1UZOaKcygxXb7Dh8Q70qBxtHzt4Vge7YjU6uqLf7GjEOfkxGaTRjs2RyFzBhv
+C/BS0J+oMVloTKNsadMZEJr1Xt5R4YUXjbdlAF6AaP92w/HGDbGcQUdJgw9tDFhBgCH+wUPIG1Nh
+wDQ8Ypo3u7SaML/emyYIWRZO6G9LwYOv6v62DL6++JQKb/Lwd4ZUgj/jDV0GIh3Ay9SEVcyeVYFn
+3/GUQlX26Ap79QceNIOho40ZePBtBbVl6d4i4W/OEBSwCiZvHMlizku6OGhbGC0dxt70xp6JkITG
+RpmPu8rfCfbeo1K9B7JZizIMmuGtAou+g+PlpAdEWeucTjIctCFN52RCHDNvKvqz3QwrE9YmmjFP
+YmFuwEuFIiUJb/ZwkWp7Dw+hpnTCr4CXqpre+NNnAgwu0PAgseeMLJKOVERH0QAd2/bGnYsIFvIq
+48UsCWJEYfJJYYUNz6kH2JmoaR0TqjPkCDPwR4koa4LUIS9keQG1GmmUrQC8AEBiKLJcw7TeyuYZ
+TjiWuseHcLUJSxO2FGRYoggRwNCbVh0tPcUW5aQMMsegzMvEEJNtBpkkvrwsJnoV3VteRBphuqzq
+PCsmvZ4l8XtZrC3DRm0B0Y4gQIj4w75ohiin2ibyTBxGgiYXJCobR0cUllzKqnTYfBqBqkj6/IRP
+IWh4SlTFU3gqf6OC/E2XGuMVzucelY6DudjGK8IjFK9C1c/Kngo0BSBddXzUQPkpmo5XqyVIS8pi
+BiPM5GKD8TZXXEzIaD7FhRY/KC6YXFtomD/oxnjOpMIuobObdxoXeXReVCKmacM2oIzXsWnUDqX3
+uhpfg5QhhcfkGIQOGR9cYCEkf/DK8eSqxueUiS6LPXIm8xmig6GzB8Ooi581bcL6VrBSslWvZSaz
+uJi32WhwgmqejVO9Z7u4isIaSpCQGluNfHS55tX4w4RU/iI1xcWpfwKBabGC9ywPNEv05iNnTr4e
++PBoXJuyKZXFcXZgLMgoe4Oss8m2GKI2m0B+IMK0GNP4/Nk52jAeZA2LZ7bIqA8LHLnJIveRMRdW
+fQdWQA2vwaqzOuwLzkZpvLaGD1vw7FX137zJgDq+RrHbM2qrgZXqDsRwpYh2jlIVdU07qVONdNM1
+MOWmjiPi6NnBRl9b5L87hYaPSYWASkyhdh1xx6WBfDYP5OQrBfDJDE8um026LyzezVp7f04tnnlS
+3rPNvg5Naw63RZGa56ysEI7Dpxh8lCX0R9ctPrNEoTBPxSZUCrI9kEZBliyoPAIyPZBBQYYHMilI
+FwwhCvJ2QAmbglQP5HBcPRBvn4KG+z3vA/cxRHs6aChTKvscMV7gaQMXf6NTDM+l7r/XUes7IX3P
+8Akk/8u40NRZGPVyOZ/byL9J+/OVkisN5k9i4GhynDyMVaR/Vf+eIXTfnJ/Gf+/NwakhdrEQuvKF
+Alzwhu9IJKWmNtY8C0kxaUAVnYHBfKoyjQZsMFlO4icoGYC8Punz5WHA0f1DB/Jpt87PvVLXfdPZ
+HCrQjWROMTNeKfOXhnv6ijBbp7GZOepFKJeaymTTRTdHS7F4e/Yz/FH2nmDuWp8rjZ1IFku9wiV9
+sewJftEfFYYfSnUKwtkTLUexKfn/2fFDlcvn3DCjlM2DSgs1TKzolrYgcDyTSyOElTBEIp4ZccsH
+MDUhCBWLzyVTzH5QlMaDEm4oMvBoeaiVEWamW84I0YXC1hPhxQKUbQ+GBzpTlVI5P90G4m9eWXRr
+KQmHRaBD0ToMz6mnY90ghNoNn4W1lEsTJ9uAvztAkpeymdTCEeO27vBj+fpzHm6+20Riq7pjyU1p
+OhWKplNtQlO3plqm2ZSok5l0eSoUYbRkJxE35WYmp0JpAV60Lcjj4Tt1KRvPo+319JA7UT5YzKDd
+bCgaayu1jSWBReRIvlJMuf0QadYepgTScG2Bx7RbTqaRjTUHyDizRmZNmjpKQvGcUJpUv3O/m85U
+pqVDbimfrdCwGt5Q315FkbgnBplMlYK0OwteXHhKfbjoQrIAYb9XszY1LhUKyTTbAvPAwWl8V9UP
+KxXy5WpYMpthK8BiazVdyCQojIWbp/I0zA2T2rdX6quU89KhZKnsFlk8u9Bq315HKiQLiJBSZrqS
+JX4tP49AkWSxPJ5PFtNSChzVtY2gEWKDKh3Poa1+vlKWJok7u1HZDBrwZNmVxiGKjOVJRF17wXLQ
++363NMVJwCgKU0WraLKvysFKuYBQaFLJNAzNqEumpCC8OJOpQjl8e6CQRCycOoXIzKTR6PGxbdro
+JI5gIoUNVVft+oVVEYOmZSM1XOTemKYIe0UV3zRi3i+ecKVR976ytCudKSfHM9lM+ZQ36bTR2hU0
+lMxNVpKTrjScL3AuqTUs/bJ+xM3enCyjllCzbnHvYAn/HKwXeNmhfCqZhfXpKy2WGIW9EHRdhfdA
+MV/oK7pJEv0d0E2Xd+SjQJoL9JFsxLyB31VNS+BTBlRPhMDHEzcMOd63gDMPW92TzY8ns4fcQiVb
+8rhZF+aQCiho8dZKEuZEGgLHO5Mg3nwrsjTBpVkRr5fuEy7cFZFQH8lcqsYCqKqDlno2k3OlEg76
+LjUpncpmCoixYIt+H2KsSYR+KUBGBHVQRlzWpPUC48j8CbdYACe7t3frESNfq3itJjJW6GLk8J7h
+yYlqHBH0aLJQNfIIODg6GICjKiFJfJDSMeIbKLlesVEfuWy2SJFq6vziddfwSJNWaJnqZpqNCVsY
+PZ5R1nNPfjyBBEWW5d0VFXZ1uQJa8Eh0TrpVGFWXKx3PFMYR7x3f2LjfImLpYskFDH1KD8smiNPd
+lx+HAxtJWNyKqPpyeY9TpEwOM2a+lOGkNDcN8Hw0Mgdq2GAAVsAAXQGHfCtAXJa4LNFfPYfJeuz3
+r0dRSZLi/PQeEiwTrdlQT5JacJgu9RVJLSzKa2qFMZGAo8IOBCndYCRqCwevHnHESLnwQ0bKRx4z
+Ui3EoM1kNRUKxQTx0zZYIlAoTU5nmWZw9ITDzczqsuI22dZV4SHr6pK+LSfkuUZUpqXxU9JgEWlA
+yIpyWy6TQhZ10AqHBgRLWw7qJFWNT/1SPlyCxgqXwqYYQ7gxfiAx/PjVNpktJqZR9YbIFdOJfHEy
+0ZgCWogdAAjXZauL4XgE3lrTgicaoY9LFbKpUw24hxRK5UoNxxYVKiNbjpvkgcw6OX08UeJ3PxoU
+QvaVm25WKIVMngZ4T+TKiXTWPzuBhUqVcU6bFtRZKZEVbKFAfEqJ8Qws3MZlcu5kUjAN65RK5XNl
+fKDaqFBWAd2TLNeKnKqCpakk0nainRVYDGyinFuqkZNisfsKiRoTL6gQ2GwNsEcl8oVUvlmJUqMR
+wCXSlcbqpsHaRvWbLO1iuohGpZJLhRMWuHgyl+Mb8WCrBhdrKrBT06JU6botMZKQSNgXsprS0hu6
+Ro4cHH7DRumE2hgp1E6hmJ/IZKs3pVWFkDXjZgT/Bg3lgT57DmfSbr5nfx7t1NwmgwpmnYtVmF+N
+13RZKmeZQsKmFLfGmgwy1KMVhNkLU6mQhgHN5sLjVUiHb55MqFdFUespzMw0MmmROJkohyxa5jLO
+sNUGOpuULgoq0NbkBpqblCfu1OYKOI9TXDZXwdXlAq3wtFvKTOZE11EQW2L7H+Z6nDpTG7aJS4qc
+3rBgsjSeKU8nGwkpKEsKFavttHqGAJLbcHsTnHGN0IWifBMxjm/I0VGw6mnWfBEszmQzHFDJCSR6
++e1T7AEILIY3Lb7W6pgkCM9sshDCdqEFG1kbWGm7OXCehFxbRM3jxSVMbZhKaPrKcM+YoSM8CVJT
+Fq142ClUWZnB6MOONIN2iM3KFYWrlU3tGHCbjSeLpUaD7JlFaI2JAiREaU+GhChc9FvRzYr7JEiw
+dILy08ni8VIV5iFKe5iHKCxiHqJ4teyrY0AWihP5XMMFjU22aZATpSazjawxt1xlaWHLLci+KdYI
+HrwdDSo6GUpGgWVGRFS51skTXJD46JpZSf41HWhhEmuK7vZLpQadY5uFeOVS06caeXSEknmSgzPA
+o9PHyksBDtuZOZqDtubCDX4RxUzueLZURvbVcRWJmVzJ83UHke6VVhLCgVbQnsQrqolFzcAVK2Ix
+UXTvrcA5RIOBFRunjBCqtCyioiSsxrhoVSOiB0posTyaGS7R9WaDUkwWRD9fk4FREslsGWlmtaH1
+Lg4kqHlhe9B4ZJRI46hg7IWxbIK8RpHXo9HKiyesJsyrVE1VUy4jHWihqFVrx6ZR4w==
+	]]>
+	<![CDATA[
+	ci2xDYcyU2oiRkRMfIUbrzs1iMUalscGX0isw5dVa5glYQaKYHEIa6az4aquHsIwvKiGXNWyb1WH
+5FzGWF3DxXwKqROeVKHZslXEXX8z1JQoqMlVdDeTxFqNJA7aBFXLBJHdmqGvzmRklWgrXI1WPKSA
+kquQaSDrU2hzGFo5+dcJZx6SpaQZ62jNHEZiV36JxnuiaUuaK5fQXWk+SdGchiqt1dgKkWt4jlOC
+s6Q0604W6Wi2IOQg0yQMU4VkWa2qeDN8lIgLVE0ExiDVa7zWfAizIrRotIZTwHIEbaNVr6LmPBDJ
+UNL8yobZ8ntzxyW4Fica8SEO5Gs6gsaGB3ePwdXDAW/PRkMeGiyK8FEJjbrF13br9hvoc48QcNHE
+LwLHt4AECXWC5HnYBbQX2QLlzESGr/E6BKgCASDcAP/hfDbT8OyIEc4if/pSxfx4sjyUPOUWG2+A
+Wc39+Vw+NVXMT7tww5Lc1ag5OQ3eGPtGvVnt2uUUNpJMVevMG+c0r++94HXtG8/zI6BAw5vVJQ8L
+7UbE9xXLJ/PF46MND7waDdktmVw6xPwOk9OCvblUtlIzwdFPWRhGXnQROeYXjgcaj17V1NUMX4il
+GhxuFG3c+0VXUaPxI2sLos1yZTqWQKt/nTRkVj+/1EYgRsL7kOARq3NCGCH4MVLXQz4/X2iJKPCp
+3nCcgMkbMEYkWVgzXw3sztpFFox91517s2gNgQsYCWohSeFcnJ9Vi1WhK4iqRA0PJAsktjLjhlFM
+fq5rLizInLNDDLaUjaYzDbfjR7zQ16AdtlcejrczvgDRkLNK8xqeEkax3gEA6220mJnenyweP9Is
+iISLNLRYjrjjhzPuyTCliTgaFeKAQ9RCdABOjXzPvtHt984QGgmpkXIyl04WG8VXsKII4ULBC/wN
+b1EJLNSo/dtKLnbTjlaFjtSfqH44eBCEi9LQehipjINYyufKh0CqhVkJoDSSZXd0qjI9nktmsmFG
+f5icScNkjQpXshquBxiwquVQp4smsa2NEGNsHTLiqY6JGHpefHoyZF+DbgkJrGQEqcfYrK/Y6BDD
+zzCZXEP/la/waL7RwTCfc6Rx9nongV2jU0gWS2htS+UpV6JRBBLiPhDHJenklJuTSskTMA7JnCQq
+B9A6UrIEYJJxGTXPrzwkJLRGoEn0p7+xU/mKVED2v4SUtUukPu6aNDcJua0zvo62SKgzXjWHKJXK
+eWgi5UoZHM6alLLJU3AVA616ZLEQQ6BUSU0Bentzg/jg3muG9JZDgwkZUPITXveZklTJHYdMvYnQ
+XJAqZgqRuE20bpruuiKbwgJf+sw3tCVFPxM7doArbMYF3gSSEnAQncdklarjgPflx6WD5CffdaD+
+DNvS9o0M7N1rG4MujB7+Vb/p4Po7N287sn1Db/Loln3a+oPd/TuLe6antk7mVu/bvXpL14aBTDJR
+WmvedvMuc83Wnbft2bFfv2nr0Bs27N9ZrKSs3bvU/fY6RdfXyHJp8J7ByS3y2p29dyU27dy2pVDa
+WbpF7UHd7OwdWl1kpfaV+ydvvnVo5zbdHRnIbN+RGkwkNkzW9DWUvh11aA3uXrfVumNPefCeY/36
+Hd1b+qbzQ6W+vSPlqc07zDWV3YP62iP992Q3HEHdDE7I+8YDW1trORPW4VvvfEPf6EDicP1exXJb
+j+3cdnz3sZ1bS4npzYNb1lV2d+1JT6Bu8HjtvhtJtcGJY0es/uzO7NGtE/1T5YEp6w7FNyJ3rx9M
+KUP37tx204YjpCGEdGngrsm78ujb+nsH96b3ru7vtu9Z2zfSvSZHkDiaTFdQN849XZtTu1LGrV0D
+U/pY77a+ddr6zf0Htty9eefAhtt2D7iVTTsO71sz1ZtKJY/Dt8zmXRNDU6RrRe5JWsXM2ru3Zu7a
+l+7PrrtpQ3dx8xsqfUMj6+8FAjbu7N03paFuzN7Dx3b25VIbpjdv39/bY02/YXvGsnpKE1pfMbVX
+2Xx8q8KbTA3uKx1GI2dtcK0jmpzemhnoSaJJVvZv7+re4vZnreFpQsPtQ+t2DuzdtubIri2OARmp
+B/feaa7ZYQ3k79q87XD6zq3q+JpjuN0duXWIpB3mpjUwLXeaR8xbczBUO/qPbzS7KYMeTg/JyrE1
++wd7ktvW7169+Y4idGPCD3fhVnAR1I08fuNeHf9j847d2+i3bUd23ULKD2zZdTdpTb1d3Ys4+Ki8
+eceOXVvUwZsmt9OGjmzf1pu+58BdeDY5xqi9g/0G6waV6t/HUTjmoaB0bT8EpVwdw4zV/YNjeLjR
+8r9JN+8w70n1jQ7es3lwoueWe3clkxvW9pvjt9267ebBsR19o1Opct/w2tT+vlFVAxbos47dvgZV
+St+x6+jdN1X4KBHm9XHrXce91uxsongzm7Tb84MTI7vSeEhRu8mNm3es6T1CZglaRt3sGlM2H+7X
+j+7bvbNYnLpN37r/yE14lmwjUzTRDG7asrk/79xVPZp+0sWhZ0NFJheaQt30bt5e6do9mFX65X3G
+VvTHHjlDGtphjud39o6Wb+wb3Veu1I5m1WwKQ89m/2hxNcBGQabdm8j0VQ9V5ZDj7u5aX9g4MGUe
+umPXuLxt06BbLG6R3eHtvRwTMiJ8OIb29I3tUzDPbeu+ezcs2VsSg3vvsZJUCpBZtUfunb6l7+Bd
+/ft3D0zss2XllvH07oH09O1YkgbMw57+rLn9iNe4WR7afkf/zaNrtlchgbpBeLgHB/ccX+eivm7d
+BsJGkye2HsnX4ltdLoW+bSnvKdw47jibe/UDVWPSu7eUnxjIlDImFp3ddw6rG9fsvdmjq9fdun4a
+relDG4HJ9m/evu+OfazXyTcgmaahX9cNbdpTHktP943cvW+wJ7O9azdpYGLDzWbf6P785M7Do3uT
+u3fZtx5F3WzbLO96Ax+Rwq4t+QPq7vXm1qNo4ivOrtTxe9ezHvBCySaJmF5/54YhJCu3b+g7lC1s
+EsvdmrwZicINunVoalOi75bbR3KoG0GiswJjO0et9QcHhu4dVXwqZNP6wYm+DXf5VMKh3bvHNq6e
+woQgAZxz0dIyxqt+ZSwABY77NI9QfRNSq3vyu7aMprajgbz1CFriR9du3rHd1PCvfSNbduYGMplb
+00DcaigyOnjLLTd37962y9iIf8XUTG7KkfKj+3eu68/ukxMwX3d6C9Wyb8ps0nceHu+xhm/ef0gZ
+v+u2Pm396rW71I1r7xpQ9gwM7YRvOxCnK9tld3zrTcqWroGbOGwH6sZfiRTFMPhnP0jIAVwT/9Mc
+GVJvhV+34+q8hwGA9ZOm+rZ177aM7sFD6tgdhV1QZBtIaCgPkEHeVz+UOuA1RLqBDv1t7OTo7+A1
+enERQGcY44SRAGpQQ30EGaCU0AxowQCNAqwXt+Z1g9uoHiVAOqhX/E82aNDkiH9AcaVe+BUTcpM3
+mqQwYEcGMjfZeysfhBE8pLybbSI13gzuaDi/oSejaiZQN1WTQSrBeHmNY0LwUPlHZDumy/snbop3
+vcdDAnXjn9AdQYzXcFoI0vgbp4v06v2Tcloge4TgDSg8xOny+KWacyk1dcdrO6EVryA2Its9qqHw
+waBxrVqyqBs+jNurKOXDstXfxk1+dAa8uvjXql7Z3HgLUOAb39Tu8JgXF4bB6AtYMr0cxWEuRgir
+Ump247HE7YYdbgGJhkyDRx1YAMaSN74jSBpi4vgajcaMeE7ooG3jPWAsD5m2svEg/kamgNNqmYcT
+E0ic36NRRej05foOTUzeggzOWwpV+qNv9PAtud07FeU46mbPuj1jaFiM/7+79+xKZun6B9+ftfgO
+kjM0OSgZmqiigIIiSTChZOaZZ82a/2efqupUHaoDcL2Z+5zbo3RTu8KunWr/arvimMVyfLDf0OND
+15O/ptpmb+WpX+N0m9+G2RiYpSB1o/D3IENDv4ExaoBW9mLOWygFHJpmMe4ENqH7lehuJa5fWnQh
+srQ1kJcgHpIXuQ+ATHLdoBIVv+8jWm7mtlGcTHG8KDyuOr1C51D/q3hbQZf46S+dT9k3nM/x6Bbc
+M4ZC/bW7LdyXim1k2bBW159oboCbCq0z8VgxCyRx/d57LCSGjcdyY+eZKDVQiNXe6oXm8wO0odm+
+9ezL6v5+sWNtwla8CFT5MMC7FgF110Ldr0AmB+dawNYSid7boln+eNh3gt/tV2BSV7YlxhiPhC2v
+6t4S0VUCZHBvSWBUODjGEe8X7unyz/O49P0TD15//Nk/genrCYFpyU4Sicf5GvbOL5hNrIXb+X0T
+moIMzbb2/y/HI+7hAwfZ8qffnWMoPESyE2DA3TtLX95BKfidzaTZ9RJPlchVWQLuD9CCtwxlGr4O
+7RpaAkA1YoVRhhbD+yyPYj0h+RyOLMPuwj5o136h4yG4B2LfAOtqarlolsCQ5l56Ms6mytVB4gN4
+7ZUwFa5Gb6XtPpjdQ4kPw3JahSM8eSh/9LxVILXpctg9rzBbEbmzUCWkGCE2unEsSfsrQY/ePFa6
+sjpOwvbUX5JjgRufLfiaTLy3GsWHdh6MZvB3xwYCjgN74eGu80SX3XPugcDzaweVWB5nbarVnG0E
+T1oanAi/LOHalL6G5rQ3Wx2POf56C4BlDDSLy1svMPzbH8LmTcOozKi4DGfMwgM+YECl53+/FNQp
+d3DCX4S4CHQKFahfmjRrQN3hm3gTePDmnqZbjkI3kb9uDizAxfwyixu/L3Sq8x+wNpldON8zp9A6
+oEXIuI7hBWS8D/QAyrTc1/6IVjr1AEQsIDOagja6+8p4E5rlr3vOABZUC8d+Ldcfx/ZPodubDgCF
+9C9FD/MR0J2an5fV0lAHjKf90usPEt+E+Fe73DbGW9O5jSOiIKT6TqbC8YKjPIsuOprbGOsJ3Maf
+kKFpd/v3mi7HXsLe7ODNI29SRzQAa7eFbeNia/yFphSuTTbeOJYDj3N/Pn33s+R1VjduoVclNpoI
+WNC/2a6/y8H+dZ6bUuci+LUYTeCU7tneVcsZVpw+Z2JQ84eLf/dZqNZE5shdtHh/jLyA6X7cV7ye
++AemwgTugwwVt1m3yXz6eft9/VGbfebTfRpvipHfjIufmsE4NNTiN75BvIYax/Q5+yrlAu784R2s
+4ct1ebG5byEbI25tRa3ws3C52b21CPQTT7+tLtB8OVtlTK3eyh/dMgwQV3zr22Mhli+8Vt7bv26J
+FcVGMz/tSyBdU5bEPnj3VOi28nA/pvzy7t+48jt/6lhoPwbf0t+j5AdY9WcPXBvM6mH0UyYI+Kbl
+AWbLsEePr7+CUqrh7PYPrPSnOb/NvS+EB3C9joXkbPMZCNWefOxnYJmhnda1bf20a51yS56FZq16
+WGiDV7mw03f+4u8f9QGYZvkSz6bvB/nrTSokHxz7Hlob8Goi+bD2EN9Cr6Tn89lW/sqLv0ylXpx0
+aRFfFrrlaaj4m7QmqbBv+51P3z/8okXDhY2Ml9DpRua9/wo2T/m28NjNb+UMYt2Xvg==
+	]]>
+	<![CDATA[
+	M7f7fJq2T+O5eL9auis95XizMc7pm8TN9/truf7+2C5Gn8MH2eqPrGagTKgH2tXItVK1IX1gDWR2
+IQOA3Zrx66at8FH+tL5FE+lNoASMpG+P0BRjDsLWPhZryHuvN26bfQyZ/KYyC75sxGY507dk12Hr
+0GOrowNG6B1WRj+HdxS2lE9p9VCZFT0uQCZ96428Frpdh1nEMrk6326LDWqxvNFiRDL355DAJTUr
+XSq8AdsxX4fRQbrs68b4MCPT39SyUOkWEqnHz1R0UvwDwyxSxFegXphCX8rtX/m6vNkG/LTuU26Z
+v8lu4DFR8XdFORTaWBSXzkOjGB1YerXMMOrUNVbW/hO14goMEZll/Q64J5U1vgHj+TXUjw0YIAUD
+jkWswIN4SQltpENJ8x3tHrQPheYgNMeoZpp38/L8L+UTnXiAvrmA0L9ffgrSmBHJ68lXDNuy/NkH
+I369d+uf8keq8Vueeb7tqdZkd0MXflcWFEOVMA1kAXggmL4rBYflZvMmyNhw4YeOn66EPlx0uvBo
+4Vb12QUUQTcYz9CFbDFu38TK9emvXSaKfttuMDtvj1CwBsrNugUGuiQ76cZ3bA/oPHUYg4VfzWiz
+xxcCfm4PfikVBjsoMgH7MZfE2o14XG7GAU10EyPu+CtvlxzhsfNwTbvqf4XU1/DOSpfbtx3avokC
+OfO8+MxHii9RYVOy1hH4TbC70EFgIdGxlgrg/7X8jT/gViYD33JUYZB5CN6qROSbzbosRF3FXsW1
+n71BmRKSzhe1972gRQA72D8gk+m0imH3R1exjZCzMYeOdbOw/rr34K6V2pZF3M87haobgI/bv6IT
+BLhe4fK0Ux1W7dW3JGCa5RF7+dCi3wAL5G3IPkFHnciGjudvy4H7rxuMebNx35r2uH1xYB1F7cDT
+yP+iM8vrRer9iT3Hizd6+FjxWEUuTF/7LIKfL+c0XJVv5h+0q1lN4SuNWPZhaIUPfgud2eaDcSjD
+cctn8c+S/MEMqHxts+W3p6BvEJnnyM00cf1w3y50jr2wXMHEduX63/ce6LHiH+jib5ye3NpTZKvg
+Pn0DA12l23nLqrzmnKGRTK2D75XZuubXeK/reH6rTCd1S/HP68B0Ns9pmE2Su+uD5f7G8gAkrWEb
+UDZWqGA+xmAha54tMMfrd7ySRsL0Z+fs047jZlGMHovAFQIOOea6o1f+XEkgTgOV3+LPTztfrs8f
+DuWGy0XD89Q6c/JU+J3+IYupcnDUzRzpBjxeVbBrW0rGLWvh7qxzyH2+woNnDHTm+18IF86N44Gq
+v1ZvJNuCGw0wW9676bvR7EhPRuE/yGkR/mz+BWeozKKIaQO445mZsFPLV6Ar+q7yh2NjjR+ahww9
+/g0ExWS+R75PsCJ7TyI98nbgiZJXujYR9yoCjITotBB1Otep0HMzWEhW9weYhwAMvfq0n9+7+5Zy
+s/G2LS9uRhZh0RiPYBIFavtjAyTJMBhPz+4der8Ov5sC3letRo8Pb34671x0C4+/6y3OjMD35uJp
+XG5A+yXRHR9XUMpmyp+xuAXoheF3PLv1VFjmod9ZdcVLJl6ccZKMVeGcM9J2eAGZTD5hKaMcBdjf
+UqIzX99UN7aRX4hmMisXnnraxV9/qFvtv/RX5Y+HQ1EIFuKL+3b8glkdTqQhkRnCnhTG49tQqgMk
+RIeGGm1aSPoDlvJH0P8MRYGrsJp97oUzVlV+cbLmDdvoU6ETG0GGBis9AIq2+3AUv/AMfOVEV5i+
+1DL/0wIj/3sWhTThNE+egWTYUPsCdXO3waKucL4yRecN9AjKnu/gO3CjmsVC0leHTTq+JRqFNPvc
+ArHbowL4u/heuG/WpvBQeSAIRegUst16sFTeB4vX6+kzsFiClR8wzNT6uzLqf/UYXYiPgXl5Eu/d
+v/4w3Ndt0UNJ48LLyJM+XK8r73F3rHjrdn8nVvUHrzxG/gBsyFvaWbXTtpeKf5D8BHZ9xI+xAL/x
+4tvmNJcZlhcuIABvQrLR8A15Mtez9DJTfvseWDF2E3YwVElAG/yFxJ3mG4g8lL7yc3+5/lt6LqwL
+Hy5xqhWrrorJQvvFt8amQBQtj8NkCGfl/Wj5hko6Vpl1KzHh6F9E+iUJrJfanPGk/Wsm8Ao+TuWf
+H7wOhWB/GuiRH19hlTO36YnrLQw3xbDcMH9QWO/Yxsej6/p97TGe7vdmYDQLmglCvk2qkOFYY61B
+fULLwg0oDP3YWONp65uuTKZYauyt3HpTYPd5fSjKhGyBbA201nNsbKle5dWW+nzegb7VotCXGjF5
+OaCX/ydr4jFk4ny7MrqJnEFdJVKi61Lx17DcXPx2a8mNEZvpir8cjnut81SFWcddhQvxwSN4x3YT
+VYLkUh35R/BqyPtVe8pfRSNpEd5OjF81KTxt7xbv3wrX+4JHqFZeV3SfAEbwb4NdxhoWvlVZva/x
+S7axJ3+zxZyBiyj3ksm7PohyuoXRwxxJdMHyZsqD164VEHzXJr7gn6TUHUztZGrgwfniHpr+Qzmf
++EfKaZTebGyS8OaeZkEq6L31AJvvEIG/haM3D+kI/+CB/w09uI7kuoci8MGqy5r1MTMFPs0gyz8N
+ezOP8S+zO1LLmP1BJzTyzN7s8sbsvntJmX1f3+DZ5CNg9h7THbPvtl82+6nbMBXMDFyIfsxccj9E
+9+H9LehdeQls2Uk2UkxGkkAQ/L2gfCa0YYWnVG28gD7YbpfNzAq+zV0j30zts8nazXOAXr9Enyq7
+4QtVfqEHXTpTyLyHPIXEiiUTsT14S37PIyDYipMGzAwpEGmlbMgylr7V2u921/suoOKrU8FohxmI
+0Ld9kj48hUfrpYOaO0KI9L3Q7u6N2t+AxpNHb7ZqdqChM2tTXgaC+2Q1mtxe/4A/q7/g64OymOpw
+93Y7fFCmWk2MYun6KKBIdWS7g2aRhLBANf7drNqVqd6YXbt9yL5TptoODaOWcNojUIVnTDzhvdN3
+6ydQjX25ps5BRZlq1D303oQ/lcdqoUfQXrH2Nr8tpeFSdLGZJ1CNW22rnTtDoDoYUfTHXUegyqQf
+84Sr5htHqDHuKlKt1sJd4gyHX7LdCaIKOHJWEa8rDPjshsdsCxJ2y5fWNYi8/obcgGp0LWOoFlVk
+qbadTgnVWOxvvBGoYgzNEB7v3r5WXQLV/DSeoG0hRaqj3OSRRBUaEraI63qoPNwb89ve+rV4VKb6
+UHJnt7a/lhJV7/VvOitQhWsjZihP7iV/r0w1OhhQdIq6U6RqoT8Ttse/8L0SVXjGRL+90YThxq32
+5eq2RKI6paq+yZMy1SpVcC5ciQGiCshIJ/lg9eVYqgO/SzLJubtohp3hynBJi6i+3FCthD8EqXok
+VAGZvaW2WMcfp/4wIJzYSNm49foyJVCNWxPLOT0iUS1Tt563FKLKBBXEw61v0/mf3d2jItXOtTNC
+pNpcdCKUElWkCKKvfqozdluUhru3NGuLu9cXt0uR6pNz9Umk2vl6mMwQVZg9Ixvua5V6am5ulKm2
+IvYenb/JKFPdNCxKVKGEhoSfxlXLgTDJr/fUc65ZVqZ6m62MRw9vb4pU3+6XdUQV6Rv5cH8GsTlN
+oDpMUm/7X78y1bufzd99KhmRUIVkEOFx3b8iTvLO3vGaCVQHPary/ddQpJq881vM+Tc/lGmAcHor
+3TzHcWLMUp1F3JLN435pTT2IatiZddXEY21RE0+6AKn6BKqQDCQM2v3Zcjogs5NS3a8dGZbqIeeV
+jNU8nL66GarFQaguFoq+3b6XNUMygHBALqHqfjRcQLV0kMnFmiXOUM2Fmn6JUPRtoneM5onY0qUm
+oorIsIRtu910toJUKQnV3a6wWHNs3DBLqO5jP2lW8+TSDwHJDFvWi0mXsWyAol1Mx3Fxt2o9x2id
+Jj4dPIT+nkhPv6jaxH4UnsoVARDEZQfh62AdHN4S17GfRULyNJ4Mjbvs0/0yKd+e8dWXpa/0AiMh
+2/X0kPg0GfY8TshPv6YjpzBp8hcKYcfLO/Fpy7vKhclPZ/cf18JT6aTFrfeW91mN8PVkzVG76e2Z
+px/ObUry3Z73mzNbP0KWtHzSerNGZ6X0AiPxyt7ljvj02T4LmslPh+V0hp80hRcm9lHCRnz6c2hv
+asSny6dw8UF4Kp+0vyWdHZG+Dvr0cB0jPm2Eo9m+yqTZ31ezTov0dYfZUR96iE8rhdvZgvi0Ec5Z
+QiqTVjCHbe404WmsRlUyHm7Uade15Km3+7DPsU9LgRvZ9qx1J1VPQXghuo/6HsU+WomaO19LrCia
+2H/h0w3rstLjGCOFiuv9HfObWKaFDzbohZbM/kZqALzQny78EYCf0WZf+bEEfzwjF4/37xhpwRKc
+PhY5KbizhJ2Ztp+V7sAPEttpWWvECb7Z+EN7BLpC2M4I3iZXTuDs9o9AzlocgODHDU/QGvzOzNxA
+UFkqu+Mk4BfJ3h2M+QmEkStEoBq3Qj/oVZlqdPBCpAp0yk9Iaqfhw0WuEJEq1IHvJKpznGq0Az1p
+jHDyrtjBqM4dDqtAFfkGPNWIZIahb8CPtforouoeMC4uTlg0yZkwkSryDQhUgcsIfIORQBWORjTc
+NyJVMMn7KJkq9A2IVAEZ6B58KQ/3xhxQo9pyEqkiQ0OgiqSAiDA0NLqipV2kOProN3Yx3KWX+Z+e
+90bHv5VIChBejVu3o0r/XvO92BfLfazcKIJRDwuc6JRt4onrD07QIxbMydLHHStnHJ28ZO8Hv61p
+n/Aju3HNu6xPD8UTGxfIbtw3G75JF2ojm6rZflA/sqnqaxkIsWkFko4IYoqln63Y2R++2zVLAVnH
+HAXB6gQ9AuPLbJi3JMEqIAOLwa9F2c7/eMStaTbGds+/XIZkqviAJ40cF4ECne61wScOaOsePdwE
+MVY9K5yxMbQd4jnkQ3Sgx1QjZrejH5AtnyVulFK3lqm6pFt4n8ZHJ+DgW1/YmaOwuJskgIhmHYrO
+t2OxqTXx8AfbfcbpVxih00wcIco95QaJfhCXkVvDjkV7Da38CD0cpykNEtq1PZX50r+Ga8SlrOOh
+c75UWgt5ij80sSnEaZpsz83Xtd8QfwnMJVbSDH9Vh1vjs6849cDkeeEY+uzZDxdfUg31qUeTRpgv
+sRRyy6XQqCKWQhGiFEIyTXVFKsP6Dp9DvtOiOXQwUkh5+kYIwsdNMqFHvoqP+cFOX2ilPH0Dv5ko
+xInbEwXwFAc3sBgfnEitofFFck/dW63prjYd7FGEYk/KXsm4RGoNG9eiHXCwLCCTqRVA5mltaEiK
+wgZwEPD4+tj88vsRZ/eJ2wF61y8Tlsq3CU1tzhrqBHtGcOLcUGTF/bX2Zjj2wRkaRYCUWwvpbU2p
+KTT1+DGRR74Bp7TeDai++6D2nFr6R9UFtYZ8vZAP/nj1YkccMt4AYtJVaSotKZw0fFXhD7CqQgRb
+ziBghLxIlDPI/QPfJ6xjzGgOVcW+ZauzPWmYeWpx6AVl1pl8WTCn8NYrX5Z5Vcs60w==
+	]]>
+	<![CDATA[
+	K4WWSRiHJmoqHdak8DKwcV4PRDUFHQ8Di1yF01IzblQpSoF5VSy1Febrdi3oYpU+HXINsva8f2R7
+pMfWA30iG3rc8jHaU8cypmzq1oamRyBaxpVd1dowsIbV9p/QFMvQZ7TWWenoGNyeuloTKxijHeMP
+i9nWBupOjpFh4tbe+ZM23l1y0sTSzWDHNpKYzSSxk3m3h+z+RMtZfH4DelRTchhJtq6izg4X+19m
+LZmGWd/K2/OQs1xuexb7W5sxd5o52ZWtZg2euLSE2UEOu/EJGlgcen0TweqUTlB2z2tqzXiDssVY
+k4gH5X2jvVTZvboXKOkJx9DyzmjIA109kVqdp02LhgDAesJ60l6CzvqswZj3qwHXnTnbFOcvCVlD
+4bf9LICFwsFvdcj7FQMUCOEPYCKa1SwbRUlC2Ch1dVuE2Te6u2U9URRIRCfce28Hu7qm1isK6oIo
+0B0XII/QqWPW2ai65sSLDAjtyIfUzMeigz91eDT4fAnWKh9Clbd9VZAR4mw7Rc+I4LqDLfAV0cul
+3KGX2nzp3+xEt4hxo8B8GdzsovniNzv6RsSWWgbFO72BRiPe7IrOuXYsCjCvRWcwRS3o0JAGcqXd
+UQvkSoMpfw2xfU9wnbUDuWBw2IbiWMBwRKUBMx1u9QZCBDdK2pnGUaypTwiEAGbYhtGQmAQY2ZLp
+Xy+JliUEiVg7jRTX+2vAc+LBWUEiODE6ooMSoUCI7cAJiutjaEyIikISG5GZnT9KzWzADOT4Iyeh
+dVjacKabUjPbyPSxdhrqkV29R3oDEZFcL+GUsAXurRlSjU2JlXzivkk/uNUHp83uTUEbCvrmhDD2
+pilVhKQhMUd4JI4HHCRWg6eIglzPHpPaaSfOzVgjvs9FoPg9SjJzwQRJNJ+WXsLNXHY0mPKD511O
+PCkEjgt8pocjiLsPZ+gS6FHAWLRcPup+R0n9SY5XdR9lgtZIUVqlEC3reJCitLA1A7tQ2aECmweQ
+OfuIA62cug4UTgo1GxI7m8a6w52wMw2duxWZVniPU2iFl9BGGjKuCIW4gEJrooNGY2pVfMroZEwO
+n0tsjJZQRuxFjidKKM2VP79R24861A9sLRwwflJIsCxg0qhH12xihml6K1ZrUum2X7pl0m2/lB4D
+6pBuysGUEpib/PZc6dYTpBvv4hqx76WtaUs3IS6gcQYFWztdugnbs/q0voB0AyunJN2MSwHQkHHp
+Jo9yMA2dL91gKxc4xUUNqRwn+You/hQoiFk2okgYrpWe1mp+Nn4CqWy4RH2PkrxO4BTJourws3OP
+cnl98+HckkWSToutBHb8/UFpV7PBe2NCF7T2ZDYkceGJB0nonphQId7VT8jjFjvsp5gtYOUkCVNE
+YaPdkD7Dn9gKE7MBDZ2fVYFaIbjd0oN87YbEZ/g6w9JKRxGotUsEuRnlCEboRSaHWD+Cj/3nWP8Y
+q04tj/vzncL+s97gFx7lIOrHZ0PWv0bkFrZ2vvU/3CopR8NqDa6c8QiYglqDDZ1j/WOt8MrxDLWG
+GlKw/pVaEVxcQkN69aO6cmSEzXB7tn4UKcex9MiZIQM+vkiqExRFillenPYUpWYJqR1E+2C8U1kW
+fDZ9eo7w+v1zgtzSMwLQ2rn7HOuYwibXyO5WmTRdljC3mogMyWUCCxrQteNVjmFLYEqfcHPwlIw9
+SZ+IbMFkDWnuM6mmKgX8MjVVCgT1+Z46NFW42J8TMwDJqXGkuADoW1jfbOrYZLP9BVN7QWvEsx8h
+NKQ3jx+0FrFdN1sXCaaASUsYszsIiY5wNccBfZFbpjXCth+oZvoybIEOixFn6OqWTraQbTJOSTOb
+WFBw2djtStHxYNcB4fb2n2b/6mFs9j2NKmZ/ITKCCL6KEpbPxFw0cz6cD1drciyfSQJaOhnOp47l
+YyT0BeB8RKoIy2ciQhcNwvnUsXwmHLp4DpxPHcsnNgfPgPOpY/lMIujiGXA+dSyfSQW6aAjOp47l
+MyHo4gXgfOrvmVjU99lwPtkOFmH5BMfjTDifOpaPsdO04XyiBGgVpFvbSStZ4iqZ92QwkiSJRkef
+lAPEZe1ccY8+0BYt9aRPTrwtSw1jhSCC7gDxa1lsARhbPvyksCzNAjl5qq49IqaVoFd5ve/SA0pb
+/CyetOItkpNCtdbUs7z0jZCJDmqB+HSPUBLoUtg3+ic+aLxPiqgI2C31QJdan5TAe2g0hvB7usRO
+RZJfgmUNGYNxHQzll7D5aYopJsbDzaRYM3Ox2dnhrYHfqj443lvTgt2JEy6NhhIZhgYLf26kmYHd
+kY59JG6UFuyO7MSqn1bgorOimmIi8l+1vJSKBEdhEgGY9bUmTvAKyU98ZuGtJhBTn/ya0oY8Y2Z7
+kpzjWYScqmkI9GpCKLxbnRhI7RgAmC+lg3HBTpPH2rRijcvkRhJRAd/tKSbonnLoVSWaY0QwGm5A
+SfFomuaYbkzhUTPz3gCmcKaJv7GKYlxkjBwZhKNuZitk3jszX1ZSt/JKmFHyGmpn3utOS5hXxVFP
+xTU06cUUJndamBw1jpCkxMPWLoZZ3QnnJkRgjJHWtBnfwKSJw7LnTpomcFX/MAXpdtqkiePF4WJ/
+4BcnUdUk6fwmBUCZPjNXFiqW+2H8nn8kxDrVoXuSNggNLC0SJa3QxiQ8CsEfE9V9XtPhDwpOoYY/
++FnT7Q+SGpBlQp7QhtY9LmCtTfz1H/pQeyet0pjSoW84Q0d5e0CwnXY0wvSfaiwbwuMIfp6M+9XQ
+epLcQZUZUbNnwJDU72fh1kafhZneyyAErvJBx6zjByskhv6pG4sFKfhSrAGlgdWTCSAyLOugqOBP
+sdPqeve+sPHJdtpP3VgsiIz4kyUnnTxVXxohCXbfuHTwgcHojahPIv8GditsJFKi0ifxrtah1lSm
+Kqq3Txop8drwPLU+yW4ZCUjixgws6hLRmwaK3pybBgesZJuO6A13UqgBELKlA45zojd4XKBxfvQG
+NOBSSxkxgIc7JXpjkkEXz4/eQDycJHojMW71YwWjhqI3ymcEDR0AIX3oIIgWBBtPB0PrSxGERUoo
+sSHdFAxplVx1PYZ0JNfzWnVwhEkdIblpXiY3Aq1N+sF5mQgQGFzapZVBrAcPd2LWvEjfQCQbORZl
+AMYmS4YwKUIXtSB+hhN0FZJhEcRPZ06gKsQPA7NKTA6DaSdN1fu1sG2MW52q6YBt+f2q8DOdmo8b
+DTHp6TLIPETmEml76sg8lVPcSyLzFNOu23+XRuadg/EwgMxTTYa9HDIPhbvP3Io6kHnCwYp2EuIZ
+yDxxqhX3JeelkXkm6V2qDDjv0sg87EBSW5mdjswTH3rpSOk8DZkn89ZI50IQU3cB4D9UeRdLvQRN
+iVMviVanntTLp7Wu1EtNKbBfRs41DUoo50JfwqV2Qz5NFtDZkB4UC7EV1k5DDV0AUCbLjVDLvNeW
+bhDnRw6gyfOrTVg1H0KKtXPrkaVYO7caiyHZjOTQUP/pnP0o4J/w8MO5+xG0pnoNjqJMI+7HwUbv
+flQz1eGcG/MpFdntQlcdo4aMbSNlFxc1dBFcZjmoU61pNkS+75h0FRgpsVt+37HmdW7iaLbkFHfi
+9slDXhAFp34jlabbzcdsPkKWU9NOsFGTbk0+JQ4NWxvrgLXqBclOLTM9sQUN2OFlQLLD7YVAsrCh
+i4BkIW7tfJAsbOUiIFnYkL6LriV+s2LuINoo5KtgDecvuf0cC4j3Y//s/SgB5RFk2qVBeQyOQDVX
+6BKgPOW1uTgo74xYp3jS1F18I77nGaA8PJ7G4PL+CShPKfzwD0B5hHiaTg9uoGYx4kLBhN8PrYa+
++iKmxeq5/V5ip5UCGn6T3jwy2FRMXxBSR+AZtka+n8+oZSO7QtnoyYQJg8oPdJ4Bqd08DAS7kg7E
+yGijrqUQvyHxAh+pruBDqgrqQtjJsJSeT4kguw6oBGj2/qv6+zQdl63zY4VO2fIjupttV/LBgxMq
+ArqbSwxQufXyS2WXL9Ti3UapGHgvlYrBJiy70Nlw+sn+K+40G58SI8KU0G/IjWKBUq9kAFzyId3G
+mUwMu7t+v7/Fg9YY1diXx35jXptIYL/ooK8Gu5sHiVQpultUBfvZ779vpySqExWqVX8KoypFhKW9
+ezxsJ4XdRftfLb5oowSKZnGpwe5CAQlVk7hO4fUfCewXt1q38eOQBLt7VUO//WmA/dbdLpGqo7X4
+mpOoLjTqFD70yVQrd69V4gzbVpHrMYkqNG5lSwu2Ljtw9BvL7mmd710rvceGH0SvRoctXU1G3W3m
+PVaZtuIKJuod70Zl6eOvVMeqxZx15PeKjVvvih2N6JSp7VhfBlykIxlWGmAh1/Ta6ugTfram0i2t
+PFit5BHWxb1keT2lkismhRtgdMSi1MrrGQvbvZZ1Z2JqgDOZGy4N5A5qVdZTzx3Uz1UalfWII5Sd
+35R1FFrRO0Id1RV0T7xWjRXpbXBnFNUzsG+qC3I9JmJqrd6qfBoB4lOAfSfGbIwC+5S8BC5sd0Fg
+n977bM4E9ilFEWX75nxgnxKqz3QqEJMM7FMK4xMS/M8B9okmht28wknhxYB9Sk2ZNC4zOQHYd6qS
+NgjsUzrnEbTnxYB9Sqg+UVzgMsA+JVSf3qwhA8A+pSg95+JeENintMJMgPiiwD4lk0eUpXoZYJ8S
+qs9EuFr/DGCfvE9fVhUD6lRgn5LZiibtssA+pTVUSrU6E9gnbUq7AvNJwD6i1XlZYJ+BSTsH2Cdp
+SnbCfiFg32mTZhjYp470uhiwj4D6vjSwT6kBSObCwD6lwxZp5v0FgH1KgkLi4l4C2Kd1sHIhYJ8O
+fXMJYJ/SdGCm+qWAfZqAsssA+5RQfcopI7WL+Ih+wUfEJu2nbuzOKXJNM3kNT4kbpRt9tdXY9qL5
+j65JJscZVfxkfTqgY6JLV/FTMTn0TdXB6zQ0VcI8iRMuIUhU09rQyQciaISJAMcmdUvSJ71CgT+N
+UumW+GzrpD6hSQPdMlSnWq1PyrkZZGGjMlUqdaoJ8hOpNbHLlAs19hKXKWJLbTQqwquH8ni1plr/
+7+zifybsji6d9vopxf+IwkZU/+/UwfHXvplIgDJ9mD5dORca+dBC/b/z1qs62Jj0lNlRDWrpKv6n
+HYSEc3N28T/OslGv/3d28T8Tg8LTqP+n7/hp07zEHV2RXC+kvpAGMB7Ni6U/bZqCOa6UzqN7cBm3
+Xi4lHxPBsn2aGY5aXAoBfdDFVg/e68L06cmghmS08I7kzBDdYEdIRiW50UCSGpwgYrBQwtD66o0B
+0lanFNIEr4IljtqkdKsV6cCo2v47EV8mTrUCrKWRg6471Qo0pZ2fpjvVCrSmM4lcPZMaCcLLADHP
+P0mBtRZVbj3nWEBnQ7pq4Cq1gieOdS6xFVErMpi9SRHArI20R63pQvsSK19I0b6dlRzt21ld8HpD
+2NpF6j4znAb6q0ew4cqMOJtdpdlUXhvc2VTL2vbIT4chKFCesq3usJOythf75WWAMQ==
+	]]>
+	<![CDATA[
+	/M3Oxs0LeVOtoy6rUw+EFDxok0+b9UuBnqHi3sQjPFiL7mwbg2lFNX3UQEOXuMaAaejcCt9MK9xm
+FLSnoWJEEvSsJoTC2GGx26uwH590QCj0Be/Prvtn4vCepNJ/J+xHhXwNbZl2kbp/ZFOdLf13Jrux
+df90gC8uUfdPR57NJer+mfgCgufvR5W6fyYxNkoPOuWUun8mtbq4sPSf8bp/uq9vhxCs89G+w61g
+/BBdXN1oX9CatvHDu1FaaN/h9kS0rwyIGTs32gTBjreKOG3RaZTOhk4QorIoB2roIgDTW0qnt6bZ
+EBmfKwFS8QYUGUsFqwgaQd8rAalEx6tQVvhk+zHt0lgMHWEwE1cLTyeWSg+QypkZSb1VXK3pwVKJ
+h6kRcBWaEtaGiKVKu3TB51W9e2F7pl16tqceIJUzs5Ia5if7nn1DQCpichKsK6mifI1ZjH0Tiyw+
+owqBxGJUuPexP2DIXAR3WwqQL0VD/o3ROn2GimGi2VSx0waXu1VrwBzhXQh3OyDeqnWCZTPbGyqG
+qVVAMHgi7hbbqHxqh0kHHFsbdwv6pB+OrYa7ZcNFcDFaCWWCnE0IsXe1TLe8DJWKwcZz2bpowOhg
+OeftdDPriTcOfqu2EdSQ7g/pediZtZQZRYQiwljMmf1NhAe8yz3iVEXIPEBmb30atPHIlrg0Xbr0
+OiAg89xkPODuOEmHJBJaAgmkPCQgYtxqSzy630h4wCGRKhyNhd5EiMOlqtaXHpGqsz4LfJJK07kF
+qiYeUCZMcjsWxqiKMXJ7Z8IhVFiMSECXblfu9VeJKiADJ1laiU8ECZxKgYj4DDdv2gSqcas9elee
+YJFbKThvrEK1aouTqVYfrC9KVE2oFl6yJoJ6Sqk+qlVYbD6RqVYqPVqcOAYI2+ALPv43FhV69GSC
+YhYgvBcpUcT3TDjek5p40gUdTXrT60NFUJxg1IOo1BzlD3u40JBYn5ZU4su85tOZnQnmNeZGx0m4
+ZVPWkaCpQ12DxjNScJV2MIUMi5InbhH7hBia3K2SHnyVNrhqb7pUYRoUB9YqTKM37lRWT9wiLh9n
+2Yi61TGS46YGAJRepHkGPE4jE5SZJ9N/+rhKcnBmdIRCuBtiAA2XoCT0SZYDJts3uifeUA4YIKPW
+LXJ82VifoOgkp4GxPZLl4UpEV2WY9YhPwisKFWNO8zRA43Ud13trRW5HlUvdRDnwm6XC5nRElGpY
+Wvcx0ahyzhW7JgEhKbv37iTYnfL5N56iqAuSeFpEWpyliiCJ596uq3TfnYmIW9PyauT33ak4SIR4
+mjgVReGwdkobKvGgImzoi3nSU1ombE49Q2ewf6QNzRx6aRf1E/VNekagHeMzoTqFxAhMdCvLSFgm
+d8aNFILDDsbVJ58xGgO0yet4nFGpTh1NZTKE9EoZuooB65MUfzOvqsWcNU11UZ8whAB39I3tX4O4
+xKVNB7bUhN/RpYJL1KoArbGG2EH+vKoNFdLNEZIy0CbFMjsGWtMqJOSUQX5VWpNomTMnTRNNpH+Y
+4hPQcydNs6SQsUlrRYeE1mQoZiWzkZu0EyGJevGIWvgbbaCaLjyiWkq8DkiiXjyiQhzaCCRRLx5R
+SIY9CZKoF4/IhLtPhiSK+EXFC5Xl3BqDJOrFI6JJOx2SKEypugQxiZFeRiGJevGIgid9EiSR0CcZ
+HlF07sn0SD6u84sVmvQXqTunWCE+mn9YrFAefvgnxQpNWkXqLlOskEWsqJst5xcrNP1nV7AXL16s
+UB62+yfFChVTFC9frNCkq77nOcUKReEH2K04sVvsLGkhlsnVDtWBMQYKHqqHJLSz7XQWPNR3q9XZ
+BQ+xwV3iVitSwUODOVCnFjxUr3aoFIQ8qeChegiJ4LAbL3iozILqt1qdUPBQB0NfouCherqJEOg6
+s+ChJqDsQnFg1WqHnL45u+Ch+uCkUY6TCx6KeiKrdiiKdZ5T8FB9SIrJsKcUPFQER6pe365/bnSj
+d7l42tkFD9XvLRNO2M8seKiq+UqMWrtAwUP1aLLJ0OVZKgUP1f1h5bTrEwoeKqE2hS14OqdJCh6q
+t6IWfjBU8FC9FXRGcImCh+rnMUL44cyCh+pgXpMUJHtqwUMFIxSrdoh7a1BqnFzwULIfKXG1Q9y4
+PQEdQ/EFD7WxuBcpeKhe7VBg6DMLHqqneGPG7XkFDwUYmRJHCsEUY5ALWcFD9TlkjNsLFDxU2XP7
+ZUTn0bd2wUP1VngD6tyCh/rrFJ5V8JBvRXEbGYaSyAoeqkAutFN7F0YLHqqb+XA0Fyl4SFLrTwoH
+kqfByHTY+vyBpNZ+1Cp4qH52LUlLOL3goXjCpQ7lKaa6YsFD9VbwPJuzCh6SWtFbfldnwcMzr5iQ
+J4AYK1EoA8meV/BQFBGXVTtkDlYuUPCQx2up1l49u+ChuvFD4jTDBQ/Vqx2azr5uii14eG50UGfB
+Qz1Y3AsUPFSvdmgyXKfwJGiwVHTKCx6eDtXHqh3iZM4qeCgPQePVDnkJfep+5AoeqmePSdXayQUP
+1ZOopBGokwseKqwNVu2QOGlGCx6eEesUT5px4BXJ9zyj4KEgxJSqHZ6eoigpeKjKFnjxk/MKHqpb
+jKyLe37BQ3WQLqekzy54KB6mtNqh3E7TfQuXuOAh2TRiLRuNW7h0FjzUZ9mcXfAQX035AZAyYuWE
+gofquoKcRG6w4KG6rmBtgaCCunhRs93ue8ppJNIbsb6Y2yGl2hN8TI4Iq+f7S0CUIpbiOU04/slm
+NjhKnwllsbRcIp0ZWAtzQwXvF3F+Su9E3moLwnx2u/D+ywzUTMPsfb2zUcH+MsG8BVFdZtttth6g
+XCtz8P11E43svhp09vct9dDzuPx/bmdxW6Rqn3cF6/ZYjJuH03kE/DbJ22PJ65rj9n77GNsuB7CO
+RyIWiL4nb+l+oBnYmWOtanRSfFz2cvPObfz5q7u4i22fXIsP23PBHS3/WLqPzWX696a/XuRcq+04
+sbXv8qv4nfn5Lue0RVzVuP3jtV53H7+sr9H1cJHmpABCm2Z73c6TOeAd5c3hz+2T9ybizFN0sVmk
+6I/3BlWNOx53u0nKtdsnn+t76yg+28dmr20e+dn1ZoL+50CklbJwALyf4G4/XMMKfCkrYw4qiBMR
+5PX6pTVOFd4fNtDt5gtkwnKbx0nI7inkWw2l+ULTAQZ8cKC1idjMxOEigKVr6ly0rU8v3axttQvS
+jnD082j9nZvnENva4OCq5qNvE72DCXG3K4SQNBfobtdO2RZzJi7QXosN+o1kG4HBtUsYfk+I0mKD
+AyJOaSaycXsJ5g6WX+hFH5UYLb1VH/vxu9Lckg8ebhr54H5+Taesy3blOR8ZgZlbZau/T/1hoRY3
+z0BDT1uuXaa+qCvkXSYgsHIwyl+3zDs0rsLfGjF0ofn8PPZWnvo1+BsYc/s3AKHEPsb9z8YGO+Ra
+UcGDC+Y3jA+MXA7GAk7ut5ALxZzBnCRW4M+EB2GRgeypb8CfGR8jbKxOoNZed+CTUoD7Jh2kK+Hb
+JGi3RnnLPvuRdtXq9ZDP+TXmutp04w9Shyn/wIs/aHnfARn+mR9/Nkos+AdB/MGm9Mk/CGEPqsUt
+hDXcefDPeq4ZeplhgTsf/uwzOucaugug0o+hmi1PQQ1hC9X8dAQ+CAGhtF6GarlH+OcD3vjs0wsn
+98HHvPJuS6SFszUgFyGTFUPv/kwIvhWE4Km/0HuuDmfugW33/aGH2oVA2xsrnHAvhDwjNWULu/1R
+6Bt0sYkJu3P5a5bMNTw+fyz+Bj49hfb7R6vcrJs7AmfyZwolsXdrFzulxbC7Rt8otQcZ+tQmH1oZ
+vsli7NC2LapvL8nPQudo+668zNsUHFcI8TDL0JPw23GUL31PgyEqOBhFOCbrRrHRl3OJd27Rnv1o
+DsPlhxJUic9BjvufQeOzN1iu7jnEWsKxZ87kWMM/IsxvYl0oPgt1iAQAvz3VBADa/XDSeAGQfrtf
+uyrPxdtG0f27g1cAxGvFChXoygWAtMCwk+FDTyGJ7o11cwNpr/kIFNBjXoZRiv3RngouLYHgt6Xt
+iNhSfweKcgX2lfflNoW2PcqbRhFG8GfUjbDDocowD/9MewHj/2ThhvbxUmUIvvFEMfumFkDGCsxH
+CSB/O1QdBaA7XQsSoic1iucSBxYIAVvWBVNEtyEftZrw25i5dA7uB1/JPuM/ZjcWsLXgPmsGcCnw
+mQmWGzdrigpmWxQVmzVzCvIAWgWf94xQyA7WAVamwdEPC/jqsxZLCXc3wDoINgbialnwTbYthEqy
+jGVRGcXAWj4eoAXyILr2oLWHn/nBZ8kj87LjPdnEzDH0mfng2vMNtCUNIO0Z9VQD0Vrhj5rbV+Xd
+LrP24Ooalb6+8d/yyrQWdqUGEcHGYjSlvWgrcw28OyQNIDLFINZGiO5XQ7xxB6cl8Ac1lQspqeB3
+tldBjBr89qWziLW5z5623GeDXfD7fuWN2G5uJvTY/QrzbICHfNcU7QI48KgbXhiRMgulmWHBbzN3
+f0XKyhbG/u3d4dYsquQLhwRsDyhi2dsaABnP6y4yA7zvpZlK0LCr8pscOHw9cxVDMX6vXOOZK4vJ
+X3txh91k8UmJbCdUwI8Z0ggfUvhTVFwbVZST9xwV95bUZuI4zXtT3nd4405ywYZfMKVgGxPOYsqE
+OWMJ2Fgz2+MQKP9oVVoduzbJHBhPWqHniCq7GAPyYuTS7YPikMQrwdlpSovBnucybaRDWBv5Z8+U
+ayPgJzfAHECBBiBDs6NXakOFI9h7/PR1gjXV5W2gu8fOGQiKi3CzaRLqsMsmVKWNXjqouCKgExts
+CwDbDZ80FX6Eoturq8leiOk+U3NeuDPm8S88EkUHoa1HkZrUs14hv60eYmlVa0WBFisFttirQF24
+uW79hLwKF62wfDgdx/E/fxYJfF5b0Yzk3HOUz+FDcn4l8D+pVRL/s+W9xv8cJTL4n5+ZLN7jliUl
+SkuA5m4af2EUwFsDBu8N/ucmjTcOTF+8cWD/4t2uxVt58doAi7iA/Tkb2VP4n5/eNGtUAU8jXByE
+6mhKdTg50ByEfs4/dnKQTAN+zj92cmAOFPRz/rGTg7lR/9LJgaOBfs4/dnJgzi30c/6xkwM57awm
+9Tk5cHvybPzvnBxGCjyHlZwcqKRjXIxtDUcYdMB1cHFexe2KZfz7hYdZFmem42G3G2AaCLXwQ4OI
+4kz1SO65MkWWGxSJkEdqLrT6UFPDE+aah6EFj4PDZf+rF203flf5EfugPQdDlH12XNWmG+UMMtuT
+Diqf2sTqFIx6PrCHf9wJIHAGoi5oGAWoucuVZqc5m0YDcYUqo/QN91kebXz2NrjHLfiEDvBi5w0M
+d7Ys/lpWNNJBnKdxH+JfGTH8wkxuNePhPKg7L7K7BL/i/2RN/yVDMeoqGY5EroKPx9/F7n73/fm9
+uvKZ/gOufLBQD4V6q/ma3i0W3cX/fSiv349/i9XhKn0VLHRK9XoyVl68r+eLK+aMLg==
+	]]>
+	<![CDATA[
+	NklgFzkwPWAPIPHQrOhkkmHR8kequqxZHzPT8gc1yGLnlsjbcEdqGbM/6IQRYBguvTHbF6Gm2ff1
+04F/0ozlxwRpFeOCE7CycY+1vNgVjxXvbetZsrOQ9xD7nVW2wFWOIce/FkvDi/K+XouTu3An0czn
+fODPdz/SFmxIThQJx6K3CtFe4CcdHGb3zV0UDuQJdhuaLmZbORk0+9z5PPy4YfY+WO7M3vfAHXyQ
+M/sLkbnZd9uvmT1bK9AD021StFnCXtYZL4WuWQaix7weaK8RUzNr09kANf2ZRb4Oq56gWw6/zrvl
+QfQn3DYu9refBZTqNTe7Y5xbeHt7zcv+mXb52R3DiGBoZbBtADvuwDn5dUpgYLAdDimO1xNu4QE+
+hmzGiz2Y2koZ7kHJj2vht3DxpZfjntWDwoOI7fqzwD2Q7A6o4sHGED7DSVdLPjyYOcKpV+sBKII9
+YCMPvchfB9vx5wgePIbQn5Fczwz+bOeFxsdsaKNNo33tAcbhooh4Dp5OJBnTpZUEmv8erG/7Pghl
+mQ9Q2NrAnz3UrodZoGD7NRK87Syhyup6MZXFuLmDlp+nOuHIIMZ/gZNWDk5vHOnPlbNH31SiP1g8
+mYk2M0KLl2acSONPSVKgi6uS0KRSe2x+qO4mufsmUZPuRvIhlazSeeeiW67PM2Z2Vw36IV4ZhZEy
+AmTYkOPv2Moy2WAa5Uc/xZlsdu9H2oI1tWa9IMv9sz4VmrXqbvDba4hVMrNROJuqh8F6zaboHAj+
+oTcUg21PnQIAbvIbVqY14I8cIwV82829sgDgRYxhbYmkgEhh/hNtyRzQ4Arzn2hLQEaiMP+JtjSJ
+r0xGcVelk0H8ODEmTb2R7jTuXAcpHW+mU5mj5EBClGu3u2k+Y2GyUncWFYXJYjXrNn685RqY2KUN
+HGftLQrn8eE/x0u4IYvoZQZ/fESvJwsJRgdtPCQYW9PSBiL1V6YB9mCzw7TB5k6AaUEmN7ML6bEz
+7P4rJiCjuoA7+ElB1nazn023HvazpcUL1zDGm6lzcTCT2QVnhCyQRS0PVI2EA0hIBkaNYFctXDgJ
+C2K5lKJs8hBbYM0FqgYvQqBKuEpVOKCZAfGjI8qGrgHVDLH5sBAbDMFAP0nhGl3uOoLTw5pM7dSz
+Yj8M5lJ1MSQrASNZouE6hdAoil7ybbzhbbzf35JW08lcACjuBBPPVumHtI2ppeo13gk8vcGJr+9J
+A2Huo1GYTWbSdA0E2B3LoEIbb5ItgM+6ZNKG0lcV5lepSWH8qjFu6Cep9VLPMF0C41G1cmfG01pJ
+bmb23rpRUIbtVrfIL8vgjRd2JWg0B1mNwt/Dq9Neh5YNq1n/pb3Oi85/a6+jSQMm+z+213GP4B/a
+6ybm7pXkP7bX0doQ7OsL2usiYfPv7HVIBksR+Ff2OuI0YLLz9npRWDdmy7IGMnDdmW8Ck5fZilNL
+A+1qL/cK2G6AaQLQgIW6fbiHT4N4QsAQfJLYoSguc1wNr6QWRXE7UXZXpV1bblfl/ejScbjnXoDR
+/MQGiRftBCs3wBZ8leBGeQTOxyg/5O1qBw+mKcG4b1Ah5Ov1ylNa/EyUlzm6HiUWeIYLaCPxVCtN
+loU5FKe/jNHst9W/+CCtm48fFWGEP8A6A9W8F5oQt5yJvIdxJZgIAqNH48pqjkeOwMd28FFncThu
+0CuxcXHx+b1qTf93sTP9F7pi/qHAP/BnInUVCievwrEY+CMGP20BC8aF3r4Kua9aMCY/DhZ2h/L3
+++F7vZru/vcqjT7r37Z69fJV+op5ewzevr5ygT5RY/A6eORGQasx7OnY9B91VYA/+v8Df97DH0wv
+wEf/C/9qgN9+wGf/cxW9ur16faOu5ibw7NH0XzJyFbv6Q/8NB8KRJOhvkgok4qEEHEAS/CiZ/oP9
+b5n+Qy8kEqhd7mUwMPgGercF/4u+TSWuuJcRAfADvAReAb+AtzgK4C/4L/sN8Ct4o8T2CbxWnME5
+dfVWq+nfYn71uZvOv2H8LuZGXfCnKNF0U1fFT9N/fipAwf9Fr/zJCPw1Bn4BfeY+TaLe9P+4NyOx
+JHghlIoGoqmU/NVwIhEIRUPxq+K7uO1wIB6NxBW+AD8PXRV1EmDeSYGJggQ+4AwWi6b/WkWWvwC7
+IQ7wo8hRPcIwXGm33uxN/x33i90csM5VED5ZreHHt9Pdcn+1XK3/Z3W1Wh+u/h8RdxzRv+CDDfwJ
+1h/MfTRFhUGf4okk7Dj8hYolwcoGUlQoFecYyfX6CCjvD7sp5NQ3N5r0/guJ16hATIHb/CnwEM4M
+mDnEUh34DfDpH/ov+JT5rGf6L3Xlcl/1n1F/wQtgzdjvMSyEvpgKM18MhVLKXwQvMF+Eb/BfBL8w
+3wS/qH2V4r5JCV9k+gp/Uews/vv/e/X9wS4aWEV2yez29vRz0d1Nv3+hyPjcT/+vxdV0BVZqelhs
+wCPA5ov9Yb1bXO2/1v8DP4Ff4r8ABNA9bfrv/wNTfmpV
+	]]>
+</i:pgf>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_bg.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,23 @@
+<?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="177.5px" version="1.1" viewBox="0 0 177.5 177.5" width="177.5px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="37.645" x2="137.7448" y1="13.752" y2="160.6519">
+<stop offset="0" style="stop-color:#B2B2B2"/>
+<stop offset="1" style="stop-color:#4D4D4D"/>
+</linearGradient>
+<path d="M88.752,1C137.218,1,176.5,40.287,176.5,88.75c0,48.467-39.281,87.75-87.748,87.75    C40.285,176.5,1,137.217,1,88.75C1,40.287,40.285,1,88.752,1z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="41.5273" x2="122.1276" y1="24.771" y2="133.9712">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#E6E6E6"/>
+</linearGradient>
+<path d="M88.752,4.352c46.615,0,84.396,37.789,84.396,84.398c0,46.613-37.781,84.398-84.396,84.398    c-46.614,0-84.4-37.785-84.4-84.398C4.352,42.141,42.138,4.352,88.752,4.352z" fill="url(#SVGID_2_)"/>
+<ellipse cx="88.75" cy="167.445" fill="#333333" rx="3.037" ry="3.105"/>
+<ellipse cx="88.75" cy="10.164" fill="#333333" rx="3.036" ry="3.102"/>
+<ellipse cx="10.253" cy="88.869" fill="#333333" rx="3.036" ry="3.104"/>
+<path d="M169.939,88.867c0,1.717-1.363,3.105-3.036,3.105c-1.676,0-3.037-1.389-3.037-3.105    c0-1.715,1.361-3.105,3.037-3.105C168.576,85.762,169.939,87.152,169.939,88.867z" fill="#333333"/>
+</g>
+<rect fill="none" height="177.5" width="177.5"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_hour.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,8 @@
+<?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="177.5px" version="1.1" viewBox="0 0 177.5 177.5" width="177.5px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<polygon fill="#333333" points="79.008,93.75 79.008,83.75 147.008,83.75 147.008,93.75 79.008,93.75  "/>
+<rect fill="none" height="177.5" width="177.5"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_min.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,8 @@
+<?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="177.5px" version="1.1" viewBox="0 0 177.5 177.5" width="177.5px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="#333333" height="85" width="4.98" x="86.26" y="16.057"/>
+<rect fill="none" height="177.5" width="177.5"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hs_delete_highlight.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,21 @@
+<?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="84px" version="1.1" viewBox="0 0 84 84" width="84px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="41.9995" x2="41.9995" y1="7.0425" y2="80.7841">
+<stop offset="0" style="stop-color:#66B8CC"/>
+<stop offset="1" style="stop-color:#3F89A9"/>
+</linearGradient>
+<path d="M16.435,18.82l17.105-3.017l-0.98-5.552l16.053-2.831l0.979,5.553l16.803-2.963l1.171,6.634   l-49.961,8.811L16.435,18.82z M36.408,15.299l10.315-1.819l-0.473-2.682l-10.315,1.819L36.408,15.299z" fill="url(#SVGID_1_)"/>
+<path d="M48.207,8l0.98,5.553l16.802-2.963l0.997,5.649L18.01,24.876l-0.997-5.65l17.105-3.017l-0.98-5.552   L48.207,8 M36.002,15.878l11.301-1.993l-0.646-3.666l-11.3,1.993L36.002,15.878 M49.018,6.842l-0.984,0.174L32.965,9.673   L31.98,9.846l0.174,0.985l0.807,4.566L16.84,18.241l-0.985,0.173l0.174,0.985l0.997,5.65l0.174,0.984l0.985-0.174l48.976-8.637   l0.984-0.173l-0.174-0.985l-0.997-5.649L66.8,9.432l-0.984,0.174l-15.817,2.789l-0.807-4.568L49.018,6.842L49.018,6.842z    M36.514,13.023l9.332-1.646l0.299,1.696l-9.332,1.646L36.514,13.023L36.514,13.023z" fill="#FFFFFF"/>
+</g>
+<g>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="43.3232" x2="43.3232" y1="6.7163" y2="77.1645">
+<stop offset="0" style="stop-color:#66B8CC"/>
+<stop offset="1" style="stop-color:#3F89A9"/>
+</linearGradient>
+<path d="M19.87,76.5V27.684h46.905V76.5H19.87z M57.169,69.76V32.509h-4.74V69.76H57.169z M45.69,69.76   V32.509h-4.739V69.76H45.69z M34.215,69.76V32.509h-4.738V69.76H34.215z" fill="url(#SVGID_2_)"/>
+<path d="M66.275,28.184V76H20.37V28.184H66.275 M51.929,70.26h5.74V32.009h-5.74V70.26 M40.452,70.26h5.739V32.009   h-5.739V70.26 M28.977,70.26h5.738V32.009h-5.738V70.26 M67.275,27.184h-1H20.37h-1v1V76v1h1h45.905h1v-1V28.184V27.184   L67.275,27.184z M52.929,33.009h3.74V69.26h-3.74V33.009L52.929,33.009z M41.452,33.009h3.739V69.26h-3.739V33.009L41.452,33.009z    M29.977,33.009h3.738V69.26h-3.738V33.009L29.977,33.009z" fill="#FFFFFF"/>
+</g>
+<rect fill="none" height="84" width="84"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hs_delete_normal.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,13 @@
+<?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="84px" version="1.1" viewBox="0 0 84 84" width="84px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<path d="M15.036,21.192v-7.106h18.484V8.085h17.285v6.001h18.158v7.106H15.036z M47.769,14.086v-2.962H36.556v2.962   H47.769z" fill="#3C3C3C"/>
+<path d="M50.306,8.585v6.001h18.158v6.106H15.536v-6.106h18.484V8.585H50.306 M36.056,14.586h12.213v-3.962H36.056   V14.586 M51.306,7.585h-1H34.021h-1v1v5.001H15.536h-1v1v6.106v1h1h52.928h1v-1v-6.106v-1h-1H51.306V8.585V7.585L51.306,7.585z    M37.056,11.624h10.213v1.962H37.056V11.624L37.056,11.624z" fill="#FFFFFF"/>
+</g>
+<g>
+<path d="M17.071,75.915V24.023h49.857v51.892H17.071z M56.769,68.806V29.095h-5.109v39.711H56.769z M44.552,68.806   V29.095h-5.107v39.711H44.552z M32.339,68.806V29.095h-5.107v39.711H32.339z" fill="#3C3C3C"/>
+<path d="M66.429,24.523v50.892H17.571V24.523H66.429 M51.159,69.306h6.109V28.595h-6.109V69.306 M38.944,69.306   h6.107V28.595h-6.107V69.306 M26.731,69.306h6.107V28.595h-6.107V69.306 M67.429,23.523h-1H17.571h-1v1v50.892v1h1h48.857h1v-1   V24.523V23.523L67.429,23.523z M52.159,29.595h4.109v38.711h-4.109V29.595L52.159,29.595z M39.944,29.595h4.107v38.711h-4.107   V29.595L39.944,29.595z M27.731,29.595h4.107v38.711h-4.107V29.595L27.731,29.595z" fill="#FFFFFF"/>
+</g>
+<rect fill="none" height="84" width="84"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hs_dialer.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,27 @@
+<?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="81px" version="1.1" viewBox="0 0 81 81" width="81px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M81,75c0,3.3-2.699,6-6,6H6c-3.3,0-6-2.7-6-6V6c0-3.3,2.7-6,6-6h69c3.301,0,6,2.7,6,6  V75z" fill="url(#SVGID_1_)" fill-opacity="0.92" stroke-opacity="0.92"/>
+<path d="M75,0.5c3.033,0,5.5,2.467,5.5,5.5v69c0,3.033-2.467,5.5-5.5,5.5H6c-3.033,0-5.5-2.467-5.5-5.5V6  c0-3.033,2.467-5.5,5.5-5.5H75 M75,0H6C2.7,0,0,2.7,0,6v69c0,3.3,2.7,6,6,6h69c3.301,0,6-2.7,6-6V6C81,2.7,78.301,0,75,0L75,0z" fill="#999999"/>
+<g>
+<g>
+<path d="M28.548,20.202c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.47,3.284,3.284V20.202z" fill="#3C3C3C"/>
+<path d="M47.343,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#3C3C3C"/>
+<path d="M66.136,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284V16.37    c0-1.814,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#3C3C3C"/>
+<path d="M28.548,35.255c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V35.255z" fill="#3C3C3C"/>
+<path d="M47.343,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#3C3C3C"/>
+<path d="M66.136,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#3C3C3C"/>
+<path d="M28.548,50.034c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V50.034z" fill="#3C3C3C"/>
+<path d="M47.343,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#3C3C3C"/>
+<path d="M47.343,64.63c0,1.815-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.469-3.284-3.284v-3.831    c0-1.813,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.471,3.285,3.284V64.63z" fill="#3C3C3C"/>
+<path d="M66.136,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#3C3C3C"/>
+</g>
+</g>
+<rect fill="none" height="81" width="81"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="40.5005" x2="40.5005" y1="81.3467" y2="41.859">
+<stop offset="0" style="stop-color:#F2F2F2"/>
+<stop offset="1" style="stop-color:#FFFFFF"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hspage_highlight.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+	 x="0px" y="0px" width="12px" height="12px" viewBox="0 0 12 12" xml:space="preserve">
+<g>
+	
+		<image width="10" height="10" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsSAAALEgHS3X78AAAA
+GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASNJREFUeNpskLtOw0AQRe96/VrH
+iREKkhWJIqJJzQ8AFQVFKGkoqCgQFS1ISIiPoOZ7aKEECsSbkNhxnOzaZnYdRApGWs1odWbunWGY
+x+HZdYV/4upin+nMFqGD/gZajQCqKDBMx7i7f8LN7YOB+S90vLeNtW4bwneAyoLrOIiaAp5rI+5t
+ntsa6m+t04cLKUtUVQXOGbhlIfA8rMbLePkcwoBNktNjs0yCMQalaru6dmyb7Pg1qJQybzpfQGNF
+WRqvJWXdYMC3rxHCQECQlJYsSV7qxplEmuWY5LMafHz+QCsUiMIGSXHjU4PpJMf7IMF3kv2dp9ft
+oLOyRJN9kiK/NGUwGuOVFjk92mFs8eBxO6LFBMkzTKVCkua4PNk1zI8AAwADfHaMbZsvFAAAAABJ
+RU5ErkJggg==" transform="matrix(1 0 0 1 1 1)">
+	</image>
+	<path fill="#808080" d="M0.499,6C0.5,2.963,2.963,0.5,6,0.499l0,0C9.035,0.5,11.498,2.963,11.5,6l0,0h-0.002
+		c0,3.038-2.463,5.499-5.499,5.5l0,0C2.963,11.498,0.5,9.037,0.499,6L0.499,6z M1.498,6C1.504,8.484,3.514,10.494,6,10.498l0,0
+		C8.482,10.494,10.494,8.484,10.5,6l0,0h-0.002C10.494,3.516,8.482,1.504,6,1.5l0,0C3.516,1.504,1.504,3.516,1.498,6L1.498,6z"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_hspage_normal.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+	 x="0px" y="0px" width="12px" height="12px" viewBox="0 0 12 12" xml:space="preserve">
+<g>
+	
+		<image width="10" height="10" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsSAAALEgHS3X78AAAA
+GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANpJREFUeNpskN1qwzAMhY9sp0vb
+7Wq0hV0U1vd/tREyJ3H8P0shK4MJZOPDJ+nIhGdU/B/0e+zQ+Xxt+SaCcwumyaLWSTizQ5fLA/f7
+A8fjCcsyYxwHHA4v7VZI6bsyiL5/x+320cBP6TYMX8g5IcaAEDysDRCQuxhjMM8TlNIopYJIQWvd
+9K5pZgNrrVhXJ+O4IIQg3Uop4oyINtD7VYxzcIecs2icMUZ5m31Da0fxxSBPYMB7Jx6B9PwepV7b
+Uid0XScCFzG0gY7o74f3zY8WT5u/1DII8yPAAIRYe4L1sftUAAAAAElFTkSuQmCC" transform="matrix(1 0 0 1 1 1)">
+	</image>
+	<path fill="#808080" d="M0.499,6C0.5,2.963,2.963,0.5,6,0.499l0,0C9.035,0.5,11.498,2.963,11.5,6l0,0h-0.002
+		c0,3.038-2.463,5.499-5.499,5.5l0,0C2.963,11.498,0.5,9.037,0.499,6L0.499,6z M1.498,6C1.504,8.484,3.514,10.494,6,10.498l0,0
+		C8.482,10.494,10.494,8.484,10.5,6l0,0h-0.002C10.494,3.516,8.482,1.504,6,1.5l0,0C3.516,1.504,1.504,3.516,1.498,6L1.498,6z"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_large_applications_download.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,169 @@
+<?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" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="98px" height="98px" viewBox="0 0 98 98">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="50.9189" y1="46.7383" x2="50.9189" y2="77.3273" gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.362 -29.0813)">
+<stop offset="0" style="stop-color:#A6A8AB"/>
+<stop offset="1" style="stop-color:#231F20"/>
+</linearGradient>
+<polygon fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_1_)" points="8.539,45.168 30.738,45.176 30.758,17.66 66.072,17.664 66.082,45.203   88.559,45.207 48.346,86.49 "/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="50.9102" y1="48.5117" x2="50.9102" y2="76.6895" gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.362 -29.0813)">
+<stop offset="0" style="stop-color:#7F8082"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<polygon fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_2_)" points="12.131,46.691 32.27,46.697 32.283,19.184 64.553,19.188 64.563,46.727   84.949,46.73 48.352,84.305 "/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="50.9697" y1="48.3413" x2="50.9697" y2="107.9882" gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.362 -29.0813)">
+<stop offset="0" style="stop-color:#45E8FF"/>
+<stop offset="0.1455" style="stop-color:#45E8FF"/>
+<stop offset="0.5576" style="stop-color:#30A4D5"/>
+<stop offset="1" style="stop-color:#1347BA"/>
+</linearGradient>
+<polygon fill="url(#SVGID_3_)" points="16.996,46.771 48.355,79.5 80.203,46.732 63.039,46.727 63.027,19.936 33.807,19.934   33.807,46.77 "/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="48.4165" y1="19.9453" x2="48.4165" y2="19.9492">
+<stop offset="0" style="stop-color:#B3FCFF"/>
+<stop offset="0.4182" style="stop-color:#B3FCFF"/>
+<stop offset="1" style="stop-color:#5FBAD8"/>
+</linearGradient>
+<line fill="url(#SVGID_4_)" x1="63.027" y1="19.949" x2="33.807" y2="19.945"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="48.4165" y1="8.1895" x2="48.4165" y2="81.0683">
+<stop offset="0" style="stop-color:#B3FCFF"/>
+<stop offset="0.4182" style="stop-color:#B3FCFF"/>
+<stop offset="1" style="stop-color:#5FBAD8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="33.807,19.184 63.029,19.188 63.027,20.709 33.805,20.707 33.807,19.184 "/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="71.5557" y1="8.1895" x2="71.5557" y2="81.0683">
+<stop offset="0" style="stop-color:#B3FCFF"/>
+<stop offset="0.4182" style="stop-color:#B3FCFF"/>
+<stop offset="1" style="stop-color:#5FBAD8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_6_)" points="62.58,46.789 80.531,46.793 79.17,48.316 62.58,48.316 62.58,46.789 "/>
+<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="24.8906" y1="8.1895" x2="24.8906" y2="81.0684">
+<stop offset="0" style="stop-color:#B3FCFF"/>
+<stop offset="0.4182" style="stop-color:#B3FCFF"/>
+<stop offset="1" style="stop-color:#5FBAD8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_7_)" points="16,46.77 33.781,46.77 33.777,48.291 17.605,48.291 16,46.77 "/>
+<polygon fill="#33AEDB" points="79.213,46.73 48.355,78.408 17.84,46.691 15.723,46.695 48.354,80.594 81.342,46.73 "/>
+<rect fill="none" width="98" height="98"/>
+<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="65.5" y1="56.4053" x2="65.5" y2="92.0204">
+<stop offset="0" style="stop-color:#A6A8AB"/>
+<stop offset="1" style="stop-color:#231F20"/>
+</linearGradient>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_8_)" d="M59,91.5c-1.103,0-2-0.897-2-2v-13c0-1.103,0.897-2,2-2h13c1.103,0,2,0.897,2,2v13  c0,1.103-0.897,2-2,2H59z"/>
+<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="65.5" y1="56.584" x2="65.5" y2="91.4017">
+<stop offset="0" style="stop-color:#A9AAAD"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_9_)" d="M59,91c-0.827,0-1.5-0.673-1.5-1.5v-13c0-0.827,0.673-1.5,1.5-1.5h13  c0.827,0,1.5,0.673,1.5,1.5v13c0,0.827-0.673,1.5-1.5,1.5H59z"/>
+<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="65.5" y1="75" x2="65.5" y2="90.3335">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.3152" style="stop-color:#BDC2C4"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_10_)" d="M72,75H59c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V76  C73,75.447,72.553,75,72,75z"/>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_11_)" d="M76,91.5c-1.103,0-2-0.897-2-2v-13c0-1.103,0.897-2,2-2h13c1.103,0,2,0.897,2,2v13  c0,1.103-0.897,2-2,2H76z"/>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_12_)" d="M76,91c-0.827,0-1.5-0.673-1.5-1.5v-13c0-0.827,0.673-1.5,1.5-1.5h13  c0.827,0,1.5,0.673,1.5,1.5v13c0,0.827-0.673,1.5-1.5,1.5H76z"/>
+<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="82.5" y1="75" x2="82.5" y2="90.3335">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.3152" style="stop-color:#BDC2C4"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_13_)" d="M89,75H76c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V76  C90,75.447,89.553,75,89,75z"/>
+<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="64.5" y1="56.4053" x2="64.5" y2="92.0204">
+<stop offset="0" style="stop-color:#A6A8AB"/>
+<stop offset="1" style="stop-color:#231F20"/>
+</linearGradient>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_14_)" d="M58,73.5c-1.103,0-2-0.898-2-2v-13c0-1.103,0.897-2,2-2h13.001  c1.102,0,1.999,0.897,1.999,2v13c0,1.102-0.897,2-1.999,2H58z"/>
+<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="64.5" y1="56.584" x2="64.5" y2="91.4017">
+<stop offset="0" style="stop-color:#A9AAAD"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_15_)" d="M58,73c-0.827,0-1.5-0.672-1.5-1.5v-13c0-0.827,0.673-1.5,1.5-1.5h13.001  c0.826,0,1.499,0.673,1.499,1.5v13c0,0.828-0.673,1.5-1.499,1.5H58z"/>
+<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="64.5" y1="57" x2="64.5" y2="72.3335">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.3152" style="stop-color:#BDC2C4"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_16_)" d="M71.001,72C71.553,72,72,71.553,72,71.001V58c0-0.552-0.447-1-0.999-1H58c-0.553,0-1,0.448-1,1  v13.001C57,71.553,57.447,72,58,72H71.001z"/>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_11_)" d="M76,74.5c-1.103,0-2-0.897-2-2v-13c0-1.103,0.897-2,2-2h13c1.103,0,2,0.897,2,2v13  c0,1.103-0.897,2-2,2H76z"/>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_12_)" d="M76,74c-0.827,0-1.5-0.672-1.5-1.5v-13c0-0.827,0.673-1.5,1.5-1.5h13  c0.827,0,1.5,0.673,1.5,1.5v13c0,0.828-0.673,1.5-1.5,1.5H76z"/>
+<path fill="url(#SVGID_19_)" d="M89,58H76c-0.553,0-1,0.448-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V59  C90,58.448,89.553,58,89,58z"/>
+<linearGradient id="SVGID_20_" gradientUnits="userSpaceOnUse" x1="65.5" y1="75" x2="65.5" y2="90">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.5394" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_20_)" d="M73,89c0,0.553-0.447,1-1,1H59c-0.553,0-1-0.447-1-1V76c0-0.553,0.447-1,1-1h13c0.553,0,1,0.447,1,1  V89z"/>
+<linearGradient id="SVGID_21_" gradientUnits="userSpaceOnUse" x1="65.5" y1="75" x2="65.5" y2="90">
+<stop offset="0" style="stop-color:#F6FDFF"/>
+<stop offset="0.3152" style="stop-color:#D1D7D9"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#B7C3C7"/>
+</linearGradient>
+<path fill="url(#SVGID_21_)" d="M72,75H59c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V76  C73,75.447,72.553,75,72,75z M72.5,89c0,0.275-0.225,0.5-0.5,0.5H59c-0.275,0-0.5-0.225-0.5-0.5V76c0-0.275,0.225-0.5,0.5-0.5h13  c0.275,0,0.5,0.225,0.5,0.5V89z"/>
+<linearGradient id="SVGID_22_" gradientUnits="userSpaceOnUse" x1="82.5" y1="75" x2="82.5" y2="90.6667">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.5394" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_22_)" d="M90,89c0,0.553-0.447,1-1,1H76c-0.553,0-1-0.447-1-1V76c0-0.553,0.447-1,1-1h13c0.553,0,1,0.447,1,1  V89z"/>
+<linearGradient id="SVGID_23_" gradientUnits="userSpaceOnUse" x1="82.5" y1="75" x2="82.5" y2="90.6667">
+<stop offset="0" style="stop-color:#F6FDFF"/>
+<stop offset="0.3152" style="stop-color:#D1D7D9"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#B7C3C7"/>
+</linearGradient>
+<path fill="url(#SVGID_23_)" d="M89,75H76c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V76  C90,75.447,89.553,75,89,75z M89.5,89c0,0.275-0.225,0.5-0.5,0.5H76c-0.275,0-0.5-0.225-0.5-0.5V76c0-0.275,0.225-0.5,0.5-0.5h13  c0.275,0,0.5,0.225,0.5,0.5V89z"/>
+<linearGradient id="SVGID_24_" gradientUnits="userSpaceOnUse" x1="64.5" y1="56.333" x2="64.5" y2="72.3331">
+<stop offset="0" style="stop-color:#AFED23"/>
+<stop offset="0.7394" style="stop-color:#358C0C"/>
+<stop offset="1" style="stop-color:#67AD1A"/>
+</linearGradient>
+<path fill="url(#SVGID_24_)" d="M72,71.001C72,71.553,71.553,72,71.001,72H58c-0.553,0-1-0.447-1-0.999V58c0-0.552,0.447-1,1-1  h13.001C71.553,57,72,57.448,72,58V71.001z"/>
+<linearGradient id="SVGID_25_" gradientUnits="userSpaceOnUse" x1="64.5" y1="56.333" x2="64.5" y2="72.3331">
+<stop offset="0" style="stop-color:#E5FFB2"/>
+<stop offset="0.3879" style="stop-color:#6AAB18"/>
+<stop offset="0.7879" style="stop-color:#247307"/>
+<stop offset="1" style="stop-color:#7ABF2B"/>
+</linearGradient>
+<path fill="url(#SVGID_25_)" d="M71.001,57H58c-0.553,0-1,0.448-1,1v13.001C57,71.553,57.447,72,58,72h13.001  C71.553,72,72,71.553,72,71.001V58C72,57.448,71.553,57,71.001,57z M71.5,71.001c0,0.274-0.225,0.499-0.499,0.499H58  c-0.275,0-0.5-0.225-0.5-0.499V58c0-0.275,0.225-0.5,0.5-0.5h13.001c0.274,0,0.499,0.225,0.499,0.5V71.001z"/>
+<path fill="url(#SVGID_19_)" d="M90,72c0,0.553-0.447,1-1,1H76c-0.553,0-1-0.447-1-1V59c0-0.552,0.447-1,1-1h13c0.553,0,1,0.448,1,1  V72z"/>
+<linearGradient id="SVGID_27_" gradientUnits="userSpaceOnUse" x1="82.5" y1="58" x2="82.5" y2="73.3335">
+<stop offset="0" style="stop-color:#F6FDFF"/>
+<stop offset="0.3152" style="stop-color:#D1D7D9"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#B7C3C7"/>
+</linearGradient>
+<path fill="url(#SVGID_27_)" d="M89,58H76c-0.553,0-1,0.448-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V59  C90,58.448,89.553,58,89,58z M89.5,72c0,0.275-0.225,0.5-0.5,0.5H76c-0.275,0-0.5-0.225-0.5-0.5V59c0-0.275,0.225-0.5,0.5-0.5h13  c0.275,0,0.5,0.225,0.5,0.5V72z"/>
+<rect x="49" y="49" fill="none" width="49" height="49"/>
+<defs>
+<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="82.5" y1="56.4053" x2="82.5" y2="92.0204">
+<stop offset="0" style="stop-color:#A6A8AB"/>
+<stop offset="1" style="stop-color:#231F20"/>
+</linearGradient>
+</defs>
+<defs>
+<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="82.5" y1="56.584" x2="82.5" y2="91.4017">
+<stop offset="0" style="stop-color:#A9AAAD"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+</defs>
+<defs>
+<linearGradient id="SVGID_19_" gradientUnits="userSpaceOnUse" x1="82.5" y1="58" x2="82.5" y2="73.3335">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.3152" style="stop-color:#BDC2C4"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_large_applications_user.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,199 @@
+<?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" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="98px" height="98px" viewBox="0 0 98 98">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="11" x2="48.9995" y2="87.1677">
+<stop offset="0" style="stop-color:#A6A8AB"/>
+<stop offset="1" style="stop-color:#231F20"/>
+</linearGradient>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_1_)" d="M10.5,87v-1.949c0-7.928,3.57-14.014,10.324-17.6  c1.77-0.939,6.408-2.703,10.498-4.26c1.463-0.559,2.809-1.068,3.891-1.49l1.854-0.813c0.68-1.561,0.375-4.135,0.012-4.703  c-0.094-0.143-1.463-2.387-1.463-2.387l-0.904-1.482h0.125c-0.404-0.758-0.799-1.533-1.17-2.32c-0.018,0-0.027,0-0.041,0  c-2.383,0-4.756-2.02-5.906-5.027c-1.229-3.209-0.715-6.434,1.189-8.025c-1.721-6.977-1.436-12.307,0.85-15.846  c1.693-2.625,4.082-3.686,5.904-4.105C38.129,13.984,41.596,11,48.33,11c7.727,0.254,13.732,2.893,17.398,7.627  c3.629,4.682,4.742,11.238,3.135,18.467c1.777,1.664,2.188,4.885,0.926,7.988c-1.104,2.727-3.24,4.617-5.422,4.863  c-0.877,1.838-1.848,3.629-2.893,5.338l-0.141,0.227c-0.141,0.238-0.273,0.457-0.412,0.68L60,55.861l0.852,0.479  c-0.477,1.115-0.438,3.623,0.209,4.807l1.398,0.563l0.525,0.199l0.438,0.178l2.471,0.916c4.264,1.586,9.564,3.555,11.27,4.441  c1.725,0.9,10.338,5.973,10.338,17.607V87H10.5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="11.9746" x2="48.9995" y2="86.1888">
+<stop offset="0" style="stop-color:#A9AAAD"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_2_)" d="M11.473,86.025v-0.975c0-7.545,3.391-13.334,9.809-16.74  c1.721-0.914,6.338-2.67,10.41-4.219c1.441-0.547,2.789-1.063,3.877-1.486l2.213-0.965c1.004-1.787,0.719-5.037,0.117-5.98  c-0.088-0.137-0.268-0.438-0.268-0.438l-1.182-1.932h0.035c-0.795-1.393-1.539-2.844-2.234-4.332  c-0.201,0.043-0.414,0.063-0.625,0.063c-1.98,0-3.99-1.77-4.996-4.398c-1.176-3.072-0.559-6.164,1.389-7.266  c-1.832-7.027-1.643-12.316,0.559-15.729c1.596-2.473,3.871-3.416,5.627-3.758c2.482-3.1,5.723-5.896,12.127-5.896  c7.404,0.246,13.145,2.752,16.631,7.248c3.447,4.449,4.494,10.727,2.947,17.676c0,0-0.043,0.207-0.129,0.578  c1.816,1.203,2.318,4.252,1.107,7.238c-1.039,2.563-3.049,4.285-5,4.285c-0.051,0-0.1,0-0.148-0.002  c-0.93,1.998-1.971,3.938-3.096,5.777L60.5,55.004c-0.127,0.219-0.264,0.438-0.398,0.656c-0.039,0.061-0.07,0.127-0.102,0.201  l-0.037,0.072c-0.594,1.406-0.611,4.551,0.445,6.002l1.688,0.68l0.541,0.205l0.418,0.168l2.5,0.93  c4.232,1.572,9.506,3.531,11.156,4.389c1.641,0.854,9.816,5.672,9.816,16.744v0.975H11.473z"/>
+<radialGradient id="SVGID_3_" cx="-71.7129" cy="-127.9443" r="81.158" gradientTransform="matrix(0.3386 0 0 0.3374 73.7966 117.8436)" gradientUnits="userSpaceOnUse">
+<stop offset="0" style="stop-color:#FFA98E"/>
+<stop offset="0.2" style="stop-color:#FFA98E"/>
+<stop offset="0.9628" style="stop-color:#D45D36"/>
+<stop offset="1" style="stop-color:#D45D36"/>
+</radialGradient>
+<path fill="url(#SVGID_3_)" d="M60.715,62.455c-2.584-1.121-2.5-6.627-1.436-8.293c0.186-0.289,0.355-0.58,0.533-0.871H38.188  c0.176,0.291,0.346,0.582,0.531,0.871c1.066,1.666,1.148,7.172-1.436,8.293c-2.584,1.125,12.02,10.906,12.02,10.906  S63.303,63.58,60.715,62.455z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="61.4395" x2="48.9995" y2="84.0762">
+<stop offset="0" style="stop-color:#FF7236"/>
+<stop offset="1" style="stop-color:#BA1212"/>
+</linearGradient>
+<path fill="url(#SVGID_4_)" d="M76.262,68.197c-2.721-1.416-16.199-6.135-16.453-6.428l-10.295,8.557l-11.063-8.887  c-0.307,0.451-13.629,5.121-16.713,6.758c-3.527,1.873-9.289,6.178-9.289,15.879h73.102C85.551,74.375,78.977,69.611,76.262,68.197z  "/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="49.0981" y1="59.9551" x2="49.0981" y2="73.1974">
+<stop offset="0" style="stop-color:#BC1C24"/>
+<stop offset="1" style="stop-color:#6B1C24"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="35.93,62.537 49.514,73.361 62.268,62.76 59.809,61.77 49.514,70.326 38.451,61.439 "/>
+<path fill="#FF7B56" d="M36.57,64.252c0,0-19.377,5.059-19.377,18.633c0,0-2.77,0.002-2.791,0  C14.402,74.537,20.918,68.045,36.57,64.252z"/>
+<path fill="#FF7B56" d="M61.176,63.936c0,0,19.377,5.061,19.377,18.637c0,0,2.77,0,2.791,0  C83.344,74.223,76.828,67.73,61.176,63.936z"/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="49.1011" y1="74.334" x2="49.1011" y2="61.8274">
+<stop offset="0" style="stop-color:#FFA98E"/>
+<stop offset="0.9628" style="stop-color:#D45D36"/>
+<stop offset="1" style="stop-color:#D45D36"/>
+</linearGradient>
+<polygon fill="url(#SVGID_6_)" points="49.514,73.361 35.93,62.537 35.139,62.883 49.514,74.334 63.063,63.068 62.273,62.752 "/>
+<radialGradient id="SVGID_7_" cx="-98.501" cy="-259.397" r="108.9636" gradientTransform="matrix(0.3386 0 0 0.3374 73.7966 117.8436)" gradientUnits="userSpaceOnUse">
+<stop offset="0" style="stop-color:#FFE2D9"/>
+<stop offset="0.5091" style="stop-color:#FFC6B3"/>
+<stop offset="0.7636" style="stop-color:#FFA98E"/>
+<stop offset="1" style="stop-color:#E88160"/>
+</radialGradient>
+<path fill="url(#SVGID_7_)" d="M66.932,37.145c-0.092-0.045-0.197-0.053-0.289-0.08c0-0.002,0-0.002,0-0.002  c-0.02-0.006-0.035-0.01-0.055-0.012c-0.143-0.039-0.285-0.07-0.432-0.08C48.1,33.83,39.818,23.83,39.195,26.48  c-0.498,2.105-5.561,6.662-8.209,8.936c0.021,0.102,0.033,0.191,0.057,0.295c0,0,0.096,0.467,0.293,1.26  c-0.207,0.023-0.416,0.066-0.615,0.15c-1.688,0.711-2.217,3.477-1.182,6.178c1.031,2.701,3.238,4.318,4.926,3.607  c0.104-0.045,0.191-0.119,0.287-0.182c0.98,2.205,2.184,4.566,3.658,6.936c2.469,2.934,6.254,6.375,10.428,6.375  c5.055,0,8.145-2.764,10.271-5.551c0.051-0.117,0.105-0.227,0.17-0.322c1.574-2.461,2.852-4.93,3.885-7.229  c1.652,0.57,3.768-0.963,4.818-3.559C69.072,40.688,68.604,37.896,66.932,37.145z"/>
+<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="42.4819" y1="61.7285" x2="58.0754" y2="46.2569">
+<stop offset="0" style="stop-color:#FFDED3"/>
+<stop offset="0.2121" style="stop-color:#FFC6B3"/>
+<stop offset="1" style="stop-color:#FFA98E"/>
+</linearGradient>
+<path fill="url(#SVGID_8_)" d="M48.096,58.623c-3.076,0-6.178-1.434-8.459-3.594c2.416,2.537,5.664,5.006,9.201,5.006  c5.055,0,8.145-2.764,10.271-5.551c0.051-0.117,0.105-0.227,0.17-0.322c1.574-2.461,2.852-4.93,3.885-7.229  C57.416,56.979,53.148,58.623,48.096,58.623z"/>
+<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="48.6909" y1="12.3115" x2="48.6909" y2="35.2794">
+<stop offset="0" style="stop-color:#8A5D3B"/>
+<stop offset="0.3758" style="stop-color:#632F00"/>
+<stop offset="1" style="stop-color:#361700"/>
+</linearGradient>
+<path fill="url(#SVGID_9_)" d="M48.33,11.975c-6.26,0-9.27,2.846-11.594,5.82c-3.779,0.582-9.77,4.047-5.537,19.223  c2.65-2.271,7.498-8.432,7.996-10.537c0.629-2.676,9.051,7.537,27.447,10.582c0.213-0.852,0.311-1.352,0.311-1.352  C69.844,22.752,63.561,12.482,48.33,11.975z"/>
+<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="56.5469" y1="34.2852" x2="35.739" y2="21.9324">
+<stop offset="0" style="stop-color:#8A5D3B"/>
+<stop offset="0.3636" style="stop-color:#632F00"/>
+<stop offset="1" style="stop-color:#361700"/>
+</linearGradient>
+<path fill="url(#SVGID_10_)" d="M39.217,25.238c0,0,9.004,11.826,27.297,11.807C66.514,37.045,57.898,35.691,39.217,25.238z"/>
+<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="33.8599" y1="19.5259" x2="34.0425" y2="32.7395">
+<stop offset="0" style="stop-color:#8A5D3B"/>
+<stop offset="0.3758" style="stop-color:#632F00"/>
+<stop offset="1" style="stop-color:#361700"/>
+</linearGradient>
+<path fill="url(#SVGID_11_)" d="M37.051,18.674c0,0-8.816,0.527-5.545,15.467C31.506,34.141,30.428,23.91,37.051,18.674z"/>
+<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="51.6084" y1="14.2803" x2="50.9608" y2="20.2678">
+<stop offset="0" style="stop-color:#A87C4F"/>
+<stop offset="1" style="stop-color:#632F00"/>
+</linearGradient>
+<path fill="url(#SVGID_12_)" d="M52.604,20.742c-4.104-0.584-11.047-4.221-13.768-2.922c0,0,8.906-10.162,24.627,1.408  C63.463,19.229,59.715,21.758,52.604,20.742z"/>
+<rect fill="none" width="98" height="98"/>
+<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="65.5" y1="56.4053" x2="65.5" y2="92.0204">
+<stop offset="0" style="stop-color:#A6A8AB"/>
+<stop offset="1" style="stop-color:#231F20"/>
+</linearGradient>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_13_)" d="M59,91.5c-1.103,0-2-0.897-2-2v-13c0-1.103,0.897-2,2-2h13c1.103,0,2,0.897,2,2v13  c0,1.103-0.897,2-2,2H59z"/>
+<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="65.5" y1="56.584" x2="65.5" y2="91.4017">
+<stop offset="0" style="stop-color:#A9AAAD"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_14_)" d="M59,91c-0.827,0-1.5-0.673-1.5-1.5v-13c0-0.827,0.673-1.5,1.5-1.5h13  c0.827,0,1.5,0.673,1.5,1.5v13c0,0.827-0.673,1.5-1.5,1.5H59z"/>
+<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="65.5" y1="75" x2="65.5" y2="90.3335">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.3152" style="stop-color:#BDC2C4"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_15_)" d="M72,75H59c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V76  C73,75.447,72.553,75,72,75z"/>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_16_)" d="M76,91.5c-1.103,0-2-0.897-2-2v-13c0-1.103,0.897-2,2-2h13c1.103,0,2,0.897,2,2v13  c0,1.103-0.897,2-2,2H76z"/>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_17_)" d="M76,91c-0.827,0-1.5-0.673-1.5-1.5v-13c0-0.827,0.673-1.5,1.5-1.5h13  c0.827,0,1.5,0.673,1.5,1.5v13c0,0.827-0.673,1.5-1.5,1.5H76z"/>
+<linearGradient id="SVGID_18_" gradientUnits="userSpaceOnUse" x1="82.5" y1="75" x2="82.5" y2="90.3335">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.3152" style="stop-color:#BDC2C4"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_18_)" d="M89,75H76c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V76  C90,75.447,89.553,75,89,75z"/>
+<linearGradient id="SVGID_19_" gradientUnits="userSpaceOnUse" x1="64.5" y1="56.4053" x2="64.5" y2="92.0204">
+<stop offset="0" style="stop-color:#A6A8AB"/>
+<stop offset="1" style="stop-color:#231F20"/>
+</linearGradient>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_19_)" d="M58,73.5c-1.103,0-2-0.897-2-2v-13c0-1.103,0.897-2,2-2h13c1.103,0,2,0.897,2,2v13  c0,1.103-0.897,2-2,2H58z"/>
+<linearGradient id="SVGID_20_" gradientUnits="userSpaceOnUse" x1="64.5" y1="56.584" x2="64.5" y2="91.4017">
+<stop offset="0" style="stop-color:#A9AAAD"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_20_)" d="M58,73c-0.827,0-1.5-0.673-1.5-1.5v-13c0-0.827,0.673-1.5,1.5-1.5h13  c0.827,0,1.5,0.673,1.5,1.5v13c0,0.827-0.673,1.5-1.5,1.5H58z"/>
+<linearGradient id="SVGID_21_" gradientUnits="userSpaceOnUse" x1="64.5" y1="57" x2="64.5" y2="72.3335">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.3152" style="stop-color:#BDC2C4"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_21_)" d="M71,72c0.553,0,1-0.447,1-1V58c0-0.553-0.447-1-1-1H58c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1  H71z"/>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="url(#SVGID_16_)" d="M76,74.5c-1.103,0-2-0.897-2-2v-13c0-1.103,0.897-2,2-2h13c1.103,0,2,0.897,2,2v13  c0,1.103-0.897,2-2,2H76z"/>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_17_)" d="M76,74c-0.827,0-1.5-0.673-1.5-1.5v-13c0-0.827,0.673-1.5,1.5-1.5h13  c0.827,0,1.5,0.673,1.5,1.5v13c0,0.827-0.673,1.5-1.5,1.5H76z"/>
+<path fill="url(#SVGID_24_)" d="M89,58H76c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V59  C90,58.447,89.553,58,89,58z"/>
+<linearGradient id="SVGID_25_" gradientUnits="userSpaceOnUse" x1="65.5" y1="75" x2="65.5" y2="90">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.5394" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_25_)" d="M73,89c0,0.553-0.447,1-1,1H59c-0.553,0-1-0.447-1-1V76c0-0.553,0.447-1,1-1h13c0.553,0,1,0.447,1,1  V89z"/>
+<linearGradient id="SVGID_26_" gradientUnits="userSpaceOnUse" x1="65.5" y1="75" x2="65.5" y2="90">
+<stop offset="0" style="stop-color:#F6FDFF"/>
+<stop offset="0.3152" style="stop-color:#D1D7D9"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#B7C3C7"/>
+</linearGradient>
+<path fill="url(#SVGID_26_)" d="M72,75H59c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V76  C73,75.447,72.553,75,72,75z M72.5,89c0,0.275-0.225,0.5-0.5,0.5H59c-0.275,0-0.5-0.225-0.5-0.5V76c0-0.275,0.225-0.5,0.5-0.5h13  c0.275,0,0.5,0.225,0.5,0.5V89z"/>
+<linearGradient id="SVGID_27_" gradientUnits="userSpaceOnUse" x1="82.5" y1="75" x2="82.5" y2="90.6667">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.5394" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+<path fill="url(#SVGID_27_)" d="M90,89c0,0.553-0.447,1-1,1H76c-0.553,0-1-0.447-1-1V76c0-0.553,0.447-1,1-1h13c0.553,0,1,0.447,1,1  V89z"/>
+<linearGradient id="SVGID_28_" gradientUnits="userSpaceOnUse" x1="82.5" y1="75" x2="82.5" y2="90.6667">
+<stop offset="0" style="stop-color:#F6FDFF"/>
+<stop offset="0.3152" style="stop-color:#D1D7D9"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#B7C3C7"/>
+</linearGradient>
+<path fill="url(#SVGID_28_)" d="M89,75H76c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V76  C90,75.447,89.553,75,89,75z M89.5,89c0,0.275-0.225,0.5-0.5,0.5H76c-0.275,0-0.5-0.225-0.5-0.5V76c0-0.275,0.225-0.5,0.5-0.5h13  c0.275,0,0.5,0.225,0.5,0.5V89z"/>
+<linearGradient id="SVGID_29_" gradientUnits="userSpaceOnUse" x1="64.5" y1="56.333" x2="64.5" y2="72.3331">
+<stop offset="0" style="stop-color:#AFED23"/>
+<stop offset="0.7394" style="stop-color:#358C0C"/>
+<stop offset="1" style="stop-color:#67AD1A"/>
+</linearGradient>
+<path fill="url(#SVGID_29_)" d="M72,71c0,0.553-0.447,1-1,1H58c-0.553,0-1-0.447-1-1V58c0-0.553,0.447-1,1-1h13c0.553,0,1,0.447,1,1  V71z"/>
+<linearGradient id="SVGID_30_" gradientUnits="userSpaceOnUse" x1="64.5" y1="56.333" x2="64.5" y2="72.3331">
+<stop offset="0" style="stop-color:#E5FFB2"/>
+<stop offset="0.3879" style="stop-color:#6AAB18"/>
+<stop offset="0.7879" style="stop-color:#247307"/>
+<stop offset="1" style="stop-color:#7ABF2B"/>
+</linearGradient>
+<path fill="url(#SVGID_30_)" d="M71,57H58c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V58  C72,57.447,71.553,57,71,57z M71.5,71c0,0.275-0.225,0.5-0.5,0.5H58c-0.275,0-0.5-0.225-0.5-0.5V58c0-0.275,0.225-0.5,0.5-0.5h13  c0.275,0,0.5,0.225,0.5,0.5V71z"/>
+<path fill="url(#SVGID_24_)" d="M90,72c0,0.553-0.447,1-1,1H76c-0.553,0-1-0.447-1-1V59c0-0.553,0.447-1,1-1h13c0.553,0,1,0.447,1,1  V72z"/>
+<linearGradient id="SVGID_32_" gradientUnits="userSpaceOnUse" x1="82.5" y1="58" x2="82.5" y2="73.3335">
+<stop offset="0" style="stop-color:#F6FDFF"/>
+<stop offset="0.3152" style="stop-color:#D1D7D9"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#B7C3C7"/>
+</linearGradient>
+<path fill="url(#SVGID_32_)" d="M89,58H76c-0.553,0-1,0.447-1,1v13c0,0.553,0.447,1,1,1h13c0.553,0,1-0.447,1-1V59  C90,58.447,89.553,58,89,58z M89.5,72c0,0.275-0.225,0.5-0.5,0.5H76c-0.275,0-0.5-0.225-0.5-0.5V59c0-0.275,0.225-0.5,0.5-0.5h13  c0.275,0,0.5,0.225,0.5,0.5V72z"/>
+<rect x="49" y="49" fill="none" width="49" height="49"/>
+<rect fill="none" width="98" height="98"/>
+<defs>
+<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="82.5" y1="56.4053" x2="82.5" y2="92.0204">
+<stop offset="0" style="stop-color:#A6A8AB"/>
+<stop offset="1" style="stop-color:#231F20"/>
+</linearGradient>
+</defs>
+<defs>
+<linearGradient id="SVGID_17_" gradientUnits="userSpaceOnUse" x1="82.5" y1="56.584" x2="82.5" y2="91.4017">
+<stop offset="0" style="stop-color:#A9AAAD"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+</defs>
+<defs>
+<linearGradient id="SVGID_24_" gradientUnits="userSpaceOnUse" x1="82.5" y1="58" x2="82.5" y2="73.3335">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.3152" style="stop-color:#BDC2C4"/>
+<stop offset="0.6727" style="stop-color:#949DA1"/>
+<stop offset="1" style="stop-color:#98A1A4"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_large_super_new.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+<?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" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="60px" height="60px" viewBox="0 0 60 60">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="21.0146" y1="7.1299" x2="21.0146" y2="39.4316" gradientTransform="matrix(0.9948 0.1014 -0.1014 0.9948 3.0857 -3.0766)">
+<stop offset="0" style="stop-color:#FFA300"/>
+<stop offset="0.0051" style="stop-color:#FFA300"/>
+<stop offset="1" style="stop-color:#F41C00"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1_)" points="26.187,38.914 24.965,38.619 11.196,35.301 9.975,35.006 10.27,33.785 16.785,6.739   17.079,5.517 18.302,5.812 32.069,9.125 33.291,9.419 32.997,10.642 26.482,37.69 26.187,38.914 "/>
+<path fill="#292929" d="M18.007,7.033l13.767,3.315l-6.516,27.046l-13.767-3.317L18.007,7.033 M16.154,4.002l-7.693,31.93  l18.652,4.494l7.69-31.933L16.154,4.002L16.154,4.002z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="39.3506" y1="15.6035" x2="39.3506" y2="49.9902" gradientTransform="matrix(0.9948 0.1014 -0.1014 0.9948 3.0857 -3.0766)">
+<stop offset="0" style="stop-color:#FFA300"/>
+<stop offset="0.0051" style="stop-color:#FFA300"/>
+<stop offset="1" style="stop-color:#F41C00"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2_)" points="35.683,50.495 34.709,49.698 23.911,40.865 22.935,40.07 23.733,39.097 41.346,17.563   42.139,16.587 43.111,17.385 53.909,26.216 54.884,27.009 54.086,27.982 36.477,49.52 35.683,50.495 "/>
+<path fill="#292929" d="M42.315,18.357l10.8,8.831l-17.61,21.536l-10.799-8.831L42.315,18.357 M41.962,14.822L21.171,40.248  L35.859,52.26l20.789-25.426L41.962,14.822L41.962,14.822z"/>
+<rect fill="none" width="60" height="60"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_mono_applications_all.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,9 @@
+<?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" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30">
+<rect fill="none" width="30" height="30"/>
+<path d="M25.121,4.314c0.725,0,1.313,0.588,1.313,1.313v7.624c0,0.724-0.588,1.311-1.313,1.311h-7.623  c-0.725,0-1.313-0.587-1.313-1.311V5.627c0-0.725,0.588-1.313,1.313-1.313H25.121 M24.875,5.872h-7.131v7.132h7.131V5.872  L24.875,5.872z"/>
+<path d="M25.121,16.753c0.725,0,1.313,0.587,1.313,1.311v7.625c0,0.724-0.588,1.312-1.313,1.312h-7.623  c-0.725,0-1.313-0.588-1.313-1.312v-7.625c0-0.724,0.588-1.311,1.313-1.311H25.121 M24.875,18.311h-7.131v7.132h7.131V18.311  L24.875,18.311z"/>
+<path d="M12.503,16.753c0.724,0,1.311,0.587,1.311,1.311v7.625c0,0.724-0.587,1.312-1.311,1.312H4.878  c-0.723,0-1.312-0.588-1.312-1.312v-7.625c0-0.724,0.589-1.311,1.312-1.311H12.503 M12.256,18.311H5.125v7.132h7.132V18.311  L12.256,18.311z"/>
+<path d="M13.814,13.251c0,0.724-0.587,1.311-1.311,1.311H4.878c-0.723,0-1.312-0.587-1.312-1.311V5.626  c0-0.724,0.589-1.312,1.312-1.312h7.625c0.724,0,1.311,0.587,1.311,1.312V13.251z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_mono_applications_collections.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,11 @@
+<?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" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30">
+<rect fill="none" width="30" height="30"/>
+<path d="M24.899,2.301H9.288c-1.438,0-2.603,1.164-2.603,2.602v2.709l1.3,0.077V4.903c0.001-0.719,0.582-1.298,1.302-1.299h15.611  c0.718,0.001,1.3,0.58,1.3,1.299v15.611c0,0.719-0.582,1.302-1.3,1.304h-2.643v1.298h2.643c1.436,0,2.601-1.163,2.601-2.602V4.903  C27.5,3.465,26.335,2.301,24.899,2.301z"/>
+<path d="M2.5,25.096V9.486c0-1.438,1.164-2.602,2.6-2.602l0,0h15.614c1.436,0,2.601,1.164,2.601,2.602l0,0v15.61  c0,1.439-1.165,2.603-2.601,2.603l0,0L5.1,27.699C3.664,27.698,2.5,26.535,2.5,25.096L2.5,25.096z M3.8,9.486v15.61  c0.002,0.722,0.583,1.3,1.3,1.302l0,0l15.614-0.002c0.719,0,1.299-0.578,1.299-1.3l0,0V9.486c0-0.718-0.583-1.301-1.299-1.303l0,0  H5.1C4.383,8.185,3.802,8.768,3.8,9.486L3.8,9.486z"/>
+<path d="M18.874,11.491c0.428,0,0.775,0.345,0.775,0.771v4.487c0,0.427-0.348,0.772-0.775,0.772h-4.488  c-0.425,0-0.771-0.346-0.771-0.772v-4.487c0-0.426,0.347-0.771,0.771-0.771H18.874 M18.732,12.408h-4.202v4.198h4.202V12.408  L18.732,12.408z"/>
+<path d="M18.874,18.814c0.428,0,0.775,0.344,0.775,0.77v4.49c0,0.427-0.348,0.771-0.775,0.771h-4.488  c-0.425,0-0.771-0.344-0.771-0.771v-4.49c0-0.426,0.347-0.77,0.771-0.77H18.874 M18.732,19.73h-4.202v4.197h4.202V19.73  L18.732,19.73z"/>
+<path d="M11.447,18.814c0.426,0,0.772,0.344,0.772,0.77v4.49c0,0.427-0.346,0.771-0.772,0.771H6.958  c-0.427,0-0.771-0.344-0.771-0.771v-4.49c0-0.426,0.344-0.77,0.771-0.77H11.447 M11.302,19.73H7.104v4.197h4.198V19.73L11.302,19.73  z"/>
+<path d="M12.219,14.799c0,0.426-0.346,0.771-0.772,0.771H6.958c-0.427,0-0.771-0.345-0.771-0.771v-4.488  c0-0.429,0.344-0.771,0.771-0.771h4.488c0.426,0,0.772,0.343,0.772,0.771V14.799z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_mono_ovistore.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,11 @@
+<?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" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30">
+<rect fill="none" width="30" height="30"/>
+<path d="M7.144,18.48c-4.202,0-5.644-2.886-5.644-6.549c0-3.618,1.96-6.159,5.687-6.159c3.857,0,5.623,2.563,5.623,6.247  C12.809,15.875,11.021,18.48,7.144,18.48z M7.144,7.753c-1.917,0-2.068,2.327-2.068,4.114c0,1.831,0.086,4.632,2.068,4.632  c1.981,0,2.09-2.5,2.09-4.632C9.234,10.209,8.975,7.753,7.144,7.753z M12.06,5.944h3.599l2.199,9.246l2.327-9.246h3.04  l-3.254,10.684c-0.36,1.1-0.896,1.853-2.409,1.853c-1.512,0-2.071-0.753-2.407-1.853L12.06,5.944z M26.363,4.648  c-1.099,0-1.896-0.56-1.896-1.595c0-1.035,0.775-1.595,1.896-1.595c1.056,0,1.896,0.582,1.896,1.595  C28.259,4.088,27.462,4.648,26.363,4.648z M24.622,16.899c0,0.313,0,0.894,0.486,1.236c0.253,0.179,0.655,0.345,1.224,0.345  c0.59,0,0.978-0.164,1.232-0.345c0.488-0.343,0.488-0.923,0.488-1.236V5.944h-3.396c0,0-0.121,0-0.231,0  c-0.332,0-0.604,0.008-0.795,0.267c-0.089,0.12-0.213,0.338-0.213,0.725c0,0.405,0.124,0.606,0.213,0.726  c0.191,0.259,0.463,0.261,0.795,0.261c0.11,0,0.197,0,0.197,0V16.899z"/>
+<path d="M3.578,28.539c-0.491,0-0.895-0.032-1.209-0.097c-0.313-0.065-0.571-0.145-0.774-0.234v-1.139  c0.219,0.123,0.491,0.231,0.82,0.323c0.327,0.093,0.679,0.139,1.055,0.139c0.336,0,0.592-0.075,0.767-0.229  c0.173-0.151,0.26-0.379,0.26-0.686c0-0.141-0.026-0.272-0.079-0.395c-0.054-0.12-0.145-0.234-0.27-0.344  c-0.127-0.107-0.378-0.257-0.754-0.447c-0.553-0.272-0.931-0.507-1.133-0.704c-0.202-0.195-0.34-0.402-0.413-0.618  c-0.073-0.218-0.11-0.477-0.11-0.777c0-0.606,0.213-1.077,0.639-1.414c0.425-0.34,0.974-0.509,1.646-0.509  c0.423,0,0.785,0.034,1.085,0.098c0.301,0.066,0.558,0.147,0.772,0.241v1.134c-0.226-0.124-0.497-0.233-0.814-0.327  c-0.316-0.096-0.602-0.143-0.86-0.143c-0.289,0-0.513,0.075-0.673,0.225c-0.16,0.151-0.241,0.349-0.241,0.594  c0,0.146,0.032,0.27,0.096,0.365s0.145,0.185,0.243,0.264c0.1,0.079,0.328,0.209,0.688,0.392c0.51,0.255,0.882,0.472,1.113,0.655  c0.231,0.185,0.399,0.399,0.507,0.644c0.108,0.246,0.16,0.561,0.16,0.944c0,0.691-0.206,1.206-0.62,1.542  C5.065,28.372,4.431,28.539,3.578,28.539z"/>
+<path d="M10.826,28.32c-0.134,0.052-0.307,0.102-0.519,0.148c-0.212,0.049-0.483,0.07-0.81,0.07c-0.662,0-1.15-0.189-1.469-0.571  s-0.478-0.931-0.478-1.652v-3.713H6.626v-1.092h0.925v-0.925l1.607-0.838v1.763h1.566v1.092H9.159v3.564  c0,0.479,0.056,0.815,0.167,1.009c0.111,0.194,0.312,0.291,0.604,0.291c0.163,0,0.324-0.023,0.483-0.069  c0.16-0.044,0.298-0.097,0.413-0.155V28.32z"/>
+<path d="M14.44,21.409c0.929,0,1.657,0.31,2.185,0.926c0.529,0.616,0.793,1.498,0.793,2.641c0,1.174-0.269,2.062-0.804,2.663  c-0.536,0.601-1.261,0.9-2.174,0.9c-0.914,0-1.641-0.3-2.181-0.9c-0.539-0.602-0.809-1.489-0.809-2.663  c0-1.163,0.263-2.049,0.792-2.655C12.771,21.712,13.503,21.409,14.44,21.409z M14.44,27.473c0.43,0,0.762-0.215,0.994-0.645  c0.231-0.428,0.346-1.046,0.346-1.853c0-0.809-0.115-1.424-0.346-1.852c-0.232-0.427-0.563-0.641-0.994-0.641  c-0.427,0-0.76,0.214-0.998,0.641c-0.237,0.428-0.355,1.043-0.355,1.852C13.087,26.641,13.538,27.473,14.44,27.473z"/>
+<path d="M22.324,22.643c-0.169-0.043-0.336-0.063-0.499-0.063c-0.556,0-0.934,0.158-1.132,0.476  c-0.197,0.318-0.298,0.844-0.298,1.577v3.813h-1.607V22.82c0-0.312-0.012-0.749-0.034-1.31h1.542c0.055,0.396,0.088,0.712,0.1,0.948  c0.107-0.33,0.279-0.59,0.517-0.773c0.237-0.185,0.508-0.276,0.813-0.276c0.206,0,0.406,0.027,0.6,0.083V22.643z"/>
+<path d="M25.926,28.541c-0.949,0-1.667-0.298-2.155-0.894c-0.485-0.596-0.729-1.47-0.729-2.625c0-1.143,0.235-2.031,0.708-2.664  s1.164-0.949,2.074-0.949c0.93,0,1.607,0.294,2.034,0.882c0.429,0.586,0.642,1.473,0.642,2.654v0.492h-3.813  c0,0.646,0.132,1.142,0.397,1.489s0.647,0.521,1.15,0.521c0.441,0,0.823-0.031,1.142-0.094c0.318-0.064,0.6-0.151,0.846-0.263v1.116  c-0.241,0.111-0.528,0.194-0.865,0.249C27.023,28.512,26.546,28.541,25.926,28.541z M26.88,24.351c0-0.535-0.1-0.982-0.302-1.337  c-0.201-0.354-0.453-0.53-0.754-0.53c-0.313,0-0.577,0.177-0.795,0.53c-0.217,0.354-0.326,0.802-0.326,1.337H26.88z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_mono_search.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,6 @@
+<?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" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30">
+<rect fill="none" width="30" height="30"/>
+<path d="M19.235,5.717c-3.733-3.733-9.785-3.733-13.518,0s-3.733,9.785,0,13.52c3.23,3.229,8.195,3.656,11.894,1.297l5.943,5.945  c0.808,0.807,2.115,0.807,2.923,0c0.807-0.807,0.807-2.115,0-2.924l-5.944-5.943C22.895,13.914,22.465,8.947,19.235,5.717z   M17.592,17.59c-2.825,2.824-7.407,2.824-10.231,0c-2.823-2.822-2.823-7.405,0-10.229c2.824-2.824,7.406-2.824,10.231,0  C20.415,10.185,20.415,14.768,17.592,17.59z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/hscontentpublishplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+
+HEADERS += ./inc/hscontentpublishplugin.h
+SOURCES += ./src/hscontentpublishplugin.cpp
+
+
+win32:{
+    HEADERS += ./inc_win/hshomescreenclient.h
+    SOURCES += ./src/hshomescreenclient_win.cpp
+    
+}
+
+symbian:{
+    HEADERS += ./inc_symbian/hshomescreenclient.h
+    SOURCES += ./src/hshomescreenclient_symbian.cpp
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/hscontentpublishplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = lib
+CONFIG += plugin hb mobility console
+MOBILITY = serviceframework
+
+PLUGIN_SUBDIR = /hsresources/plugins/contentpublish
+
+include (../common.pri)
+
+win32:{
+LIBS += -lhsdomainmodel \
+        -lhsutils
+}
+QT += xml sql network
+
+DEPENDPATH += ./inc \
+              ./inc_win \
+              ./inc_symbian \
+              ./src
+INCLUDEPATH += ./inc \
+               ./inc_win \
+              ./inc_symbian \
+             ../hsutils/inc \
+             ../hsdomainmodel/inc \
+
+symbian: {
+    TARGET.UID3 = 0x20022F72
+    LIBS += -lxqservice
+}
+
+
+include(hscontentpublishplugin.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/inc/hscontentpublishplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Default runtime provider.
+*
+*/
+
+#ifndef HSCONTENTPUBLISHPLUGIN_H
+#define HSCONTENTPUBLISHPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class HsContentPublishPlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+};
+
+#endif //HSCONTENTPUBLISHPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/inc_symbian/hshomescreenclient.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Default implementation of the home screen runtime.
+*
+*/
+
+#ifndef HSCONTENTPUBLISH_H
+#define HSCONTENTPUBLISH_H
+
+#include <QObject>
+#include <QVariant>
+
+
+class XQServiceRequest;
+
+class HsContentPublish : public QObject
+{
+    Q_OBJECT
+
+public:
+    HsContentPublish(QObject *parent = 0);
+    virtual ~HsContentPublish();
+    Q_INVOKABLE bool open();
+    Q_INVOKABLE bool close();
+public slots:
+    bool addWidgetToHomescreen(const QString &uri, const QVariantMap &preferences = QVariantMap());
+
+private:
+    XQServiceRequest* sndAsync;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/inc_win/hshomescreenclient.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Default implementation of the home screen runtime.
+*
+*/
+
+#ifndef HSCONTENTPUBLISH_H
+#define HSCONTENTPUBLISH_H
+
+#include <QObject>
+#include <QVariant>
+
+class HsIpcChannelClient;
+
+class HsContentPublish : public QObject
+{
+    Q_OBJECT
+
+public:
+    HsContentPublish(QObject *parent = 0);
+    virtual ~HsContentPublish();
+    Q_INVOKABLE bool open();
+    Q_INVOKABLE bool close();
+public slots:
+    bool addWidgetToHomescreen(const QString &uri, const QVariantMap &preferences = QVariantMap());
+
+private:
+    HsIpcChannelClient *mChannel;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/resource/hscontentpublishplugin.s60xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hscontentpublishplugin</name>
+    <filepath>z:/hsresources/plugins/contentpublish/hscontentpublishplugin.qtplugin</filepath>
+    <description>Homescreen Content Publish Plugin</description>
+    <interface>
+        <name>com.nokia.homescreen.contentpublish</name>
+        <version>1.0</version>
+        <description>Content publish api for client processes </description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/resource/hscontentpublishplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hscontentpublishplugin</name>
+    <filepath>hscontentpublishplugin</filepath>
+    <description>Homescreen Content Publish Plugin</description>
+    <interface>
+        <name>com.nokia.homescreen.contentpublish</name>
+        <version>1.0</version>
+        <description>Content publish api for client processes </description>
+        <capabilities></capabilities>
+    </interface>
+</service>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/src/hscontentpublishplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Default runtime plugin.
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hscontentpublishplugin.h"
+#include "hshomescreenclient.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+QObject *HsContentPublishPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                                QServiceContext *context,
+                                                QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.contentpublish")) {
+        return new HsContentPublish(this);
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hscontentpublishplugin, HsContentPublishPlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/src/hshomescreenclient_symbian.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Content publishing implementation
+*
+*/
+#include "hshomescreenclient.h"
+#include <xqservicerequest.h>
+
+
+
+HsContentPublish::HsContentPublish(QObject *parent)
+    :QObject(parent)
+{
+ 
+}
+HsContentPublish::~HsContentPublish()
+{
+
+}
+
+bool HsContentPublish::open()
+{
+  
+    return true;
+}
+
+bool HsContentPublish::close()
+{
+  
+    return true;
+}
+
+bool HsContentPublish::addWidgetToHomescreen(
+    const QString &uri, 
+    const QVariantMap &preferences)
+{
+    XQServiceRequest snd("com.nokia.services.hshomescreenclient",
+                        "bool addWidget(QString, QVariantMap)");
+    snd << uri;
+    snd << preferences;
+    QVariant retValue;
+    bool res=snd.send(retValue);
+    if (!res) {
+        int returnvalue = snd.latestError();
+    }
+    return res;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hscontentpublishplugin/src/hshomescreenclient_win.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Content publishing implementation
+*
+*/
+#include <QDebug>
+#include "hshomescreenclient.h"
+#include "hsipcchannelclient.h"
+
+const char SERVERNAME[] = "hs_content_publish";
+
+HsContentPublish::HsContentPublish(QObject *parent)
+    :QObject(parent),mChannel(new HsIpcChannelClient())
+{
+    mChannel->setParent(this);
+ 
+}
+HsContentPublish::~HsContentPublish()
+{
+
+}
+
+bool HsContentPublish::open()
+{
+    if(!mChannel->isConnected() && !mChannel->waitForOpenConnection(SERVERNAME)){
+        return false;
+    }
+    return true;
+}
+
+bool HsContentPublish::close()
+{
+    if( mChannel->isConnected() && !mChannel->waitForCloseConnection()){
+        qDebug()<< "HsContentPublish connection failed";
+        return false;
+    }
+    return true;
+}
+
+bool HsContentPublish::addWidgetToHomescreen(
+    const QString &uri, 
+    const QVariantMap &preferences)
+{
+    if(!open()){
+        return false;
+    }
+    // format message
+    QVariantMap message;
+    message.insert("messageType",QString("addWidget"));
+    message.insert("uri",uri);
+    message.insert("preferences",preferences);
+    if(!mChannel->waitForSendMessage(message)){
+        qDebug()<< "HsContentPublish sendMessageWait failed";
+        return false;
+    }
+    // get reply
+    QVariantMap reply;
+    if(!mChannel->waitForReadMessage(reply)){
+        qDebug()<< "HsContentPublish reply wait failed";
+        return false;
+    }
+    QString replyResult = reply.value("result").toString();
+    if( replyResult != QLatin1String("true")){
+        qDebug()<< "HsContentPublish reply result: " << replyResult;
+        return false;
+    }
+   
+    return true;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/hsdomainmodel.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+HEADERS +=  ./inc/hscontentservice.h \
+                       ./inc/hsdatabase.h  \ 
+                       ./inc/hsdomainmodel_global.h  \
+                       ./inc/hspage.h \  
+                        ./inc/hspagedata.h \  
+                        ./inc/hsscene.h \
+                        ./inc/hsscene_p.h \ 
+                        ./inc/hsscenedata.h \
+                        ./inc/hsshortcutservice.h \
+                         ./inc/hsshortcutservice_p.h \
+                         ./inc/hswallpaper.h \
+                        ./inc/hswallpaper_p.h \
+                        ./inc/hswidgetdata.h \                      
+                          ./inc/hswidgethost.h \  
+                           ./inc/hswidgetpresentationdata.h 
+                               
+SOURCES += ./src/hscontentservice.cpp   \
+                        ./src/hsdatabase.cpp  \
+                        ./src/hspage.cpp  \
+                        ./src/hspagedata.cpp  \
+                        ./src/hsscene.cpp \
+                        ./src/hsscenedata.cpp \
+                        ./src/hsshortcutservice.cpp \   
+                       ./src/hswallpaper.cpp \ 
+                       ./src/hswidgetdata.cpp \       
+                       ./src/hswidgethost.cpp \       
+                       ./src/hswidgetpresentationdata.cpp 
+                              
+win32:{
+HEADERS +=  ./inc/hscontentpublishhandler.h \
+                        ./inc/hsipcchannel.h \
+                        ./inc/hsipcchannelclient.h \
+                        ./inc/hsipcchannelhost.h \
+                        ./inc/hsipcconnectiondispatcher.h \   
+                        ./inc/hsipcserver.h     
+                      
+SOURCES +=  ./src/hscontentpublishhandler.cpp \
+                        ./src/hsipcchannel.cpp \
+                        ./src/hsipcchannelclient.cpp \
+                        ./src/hsipcchannelhost.cpp \
+                        ./src/hsipcconnectiondispatcher.cpp \   
+                        ./src/hsipcserver.cpp 
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/hsdomainmodel.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = lib
+
+CONFIG += hb mobility
+MOBILITY = serviceframework
+
+include (../common.pri)
+
+QT += sql 
+
+LIBS += -lcaclient \
+        -lhsutils 
+        
+
+DEFINES += HSDOMAINMODEL_LIB
+
+DEPENDPATH += . \
+              ./inc \ 
+              ./src 
+              
+
+INCLUDEPATH += . \
+               ./inc \
+               ../hsutils/inc \
+               ../hsapplication/inc
+
+symbian: {
+    TARGET.UID3 = 0x20022F38
+}
+win32:{
+    QT += network 
+}
+include(hsdomainmodel.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hscontentpublishhandler.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,26 @@
+#ifndef HSCONTENTPUBLISHHANDLER_H
+#define HSCONTENTPUBLISHHANDLER_H
+
+#include <QObject>
+#include <QVariant>
+#include "hsdomainmodel_global.h"
+
+class HsIpcChannelHost;
+class HSDOMAINMODEL_EXPORT HsContentPublishHandler : public QObject
+{
+    Q_OBJECT
+
+public:
+    HsContentPublishHandler(HsIpcChannelHost *channel,QObject *parent=0);
+    ~HsContentPublishHandler();
+public slots:
+     void onMessageReceived(const QVariantMap &message);
+signals:
+     void finished();
+private:
+    bool addWidget(const QString &uri, const QVariantMap &preferences);
+private:
+    HsIpcChannelHost* mChannel;
+};
+
+#endif // HSCONTENTPUBLISHHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hscontentservice.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Content service.
+*
+*/
+
+#ifndef HSCONTENTSERVICE_H
+#define HSCONTENTSERVICE_H
+
+#include <QObject>
+#include <QMetaType>
+
+#include "hsdomainmodel_global.h"
+#include <QVariant>
+
+class HsWidgetHost;
+
+
+class HSDOMAINMODEL_EXPORT HsContentService : public QObject
+{
+    Q_OBJECT
+
+public:
+    HsContentService(QObject *parent = 0);
+    ~HsContentService();
+
+    bool createWidget(const QVariantMap &params);
+    HsWidgetHost *createWidgetForPreview(const QVariantMap &params);
+
+private:
+    Q_DISABLE_COPY(HsContentService)
+
+};
+
+Q_DECLARE_METATYPE(HsContentService*)
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsdatabase.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 SQLite content store.
+*
+*/
+
+#ifndef HSDATABASE_H
+#define HSDATABASE_H
+
+#include <QScopedPointer>
+#include <QtSql>
+#include "hsdomainmodel_global.h"
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+HOMESCREEN_TEST_CLASS(HomeScreenStatePluginTest)
+
+class HsSceneData;
+class HsPageData;
+class HsWidgetData;
+class HsWidgetPresentationData;
+
+class HSDOMAINMODEL_EXPORT HsDatabase : public QObject
+{
+    Q_OBJECT
+
+public:
+    static void setDatabaseName(const QString& dbName);
+    static HsDatabase *instance();
+    ~HsDatabase();
+
+    bool transaction();
+    bool rollback();
+    bool commit();
+
+    bool scene(HsSceneData &scene);
+    bool updateScene(const HsSceneData &scene);
+    
+    bool pages(QList<HsPageData> &pages);
+    bool page(int id, HsPageData &page, bool getChildren = true);
+    bool insertPage(HsPageData &page);
+    bool updatePage(const HsPageData &page, bool updateChildren = true);
+    bool deletePage(int id);
+
+    bool widget(int id, HsWidgetData &widget, bool getChildren = true);
+    bool insertWidget(HsWidgetData &widget);
+    bool insertWidget(const HsWidgetData &widget,int &databaseId);
+    bool updateWidget(const HsWidgetData &widget, bool updateChildren = true);
+    bool deleteWidget(int id);
+    bool deleteWidgets(const QString &uri);
+
+    bool widgetPresentation(int widgetId, const QString &key, HsWidgetPresentationData &presentation);
+    bool insertWidgetPresentation(HsWidgetPresentationData &presentation);
+    bool updateWidgetPresentation(const HsWidgetPresentationData &presentation);
+    bool deleteWidgetPresentation(int id);
+
+    bool setWidgetPreferenceForKey(int widgetId, const QString &key, const QString &value);
+    bool widgetPreferenceForKey(int widgetId, const QString &key, QString &value);
+    bool setWidgetPreferences(int widgetId, const QVariantMap &preferences);
+    bool widgetPreferences(int widgetId, QVariantMap &preferences);
+    bool widgetIds(const QString &uri, QList<int>& ids);
+
+private:
+    HsDatabase();
+    bool openDatabase(const QString &databaseName);
+    Q_DISABLE_COPY(HsDatabase)
+
+    bool parsePage(const QSqlQuery &query, bool getChildren, HsPageData &page);
+    bool parseWidget(const QSqlQuery &query, bool getChildren, HsWidgetData &widget);
+    bool parseWidgetPresentation(const QSqlQuery &query, HsWidgetPresentationData &presentation);
+
+    QVariant columnValue(const QSqlQuery &query, const QString &columnName) const;
+    QSqlDatabase database() const;
+
+private:
+    static QScopedPointer<HsDatabase> mInstance;
+    static QString  mDatabaseName;
+    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+    HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
+};
+
+#endif // HSDATABASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsdomainmodel_global.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Library header.
+*
+*/
+
+
+#ifndef HSDOMAINMODEL_GLOBAL_H
+#define HSDOMAINMODEL_GLOBAL_H
+
+#include <Qt/qglobal.h>
+
+// services uri; services key names used when the service is passed as property in state
+const char CONTENT_SERVICE_KEY[]  = "http://homescreen.nokia.com/runtimeservices/contentservice";
+const char SHORTCUT_SERVICE_KEY[] = "http://homescreen.nokia.com/runtimeservices/shortcutservice";
+
+// property name used to register for required services in state
+// runtime assigs requested service based on value of the key in state, service keys should be used.
+const char HS_SERVICES_REGISTRATION_KEY[]  = "_hs_services_";
+
+#ifdef HSDOMAINMODEL_LIB
+    #define HSDOMAINMODEL_EXPORT Q_DECL_EXPORT
+#else
+    #ifdef HSDOMAINMODEL_TEST
+        #define HSDOMAINMODEL_EXPORT
+    #else
+        #define HSDOMAINMODEL_EXPORT Q_DECL_IMPORT
+    #endif
+#endif
+
+#endif // HSDOMAINMODEL_GLOBAL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsipcchannel.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,41 @@
+#ifndef HSIPCHANNEL_H
+#define HSIPCHANNEL_H
+
+#include <QLocalSocket>
+#include <QVariantMap>
+
+#include "hsdomainmodel_global.h"
+
+class QDataStream;
+
+class HSDOMAINMODEL_EXPORT HsIpcChannel : public QObject
+{
+    Q_OBJECT
+public:
+    
+    virtual ~HsIpcChannel();
+
+    bool isConnected() const;
+    bool sendMessage(const QVariantMap &message);
+    bool waitForSendMessage(const QVariantMap &message);
+    bool waitForReadMessage(QVariantMap &message);
+    virtual void closeConnection()=0;
+
+signals:
+    void connectionEstablished();
+    void connectionError();
+    void messageReceived(const QVariantMap &message);
+    void disconnected();
+private slots:
+    void onReadyRead();
+    void onError(QLocalSocket::LocalSocketError socketError);
+
+protected:
+     HsIpcChannel(QObject *parent = 0);
+     
+protected:
+    quint32 mBlockSize;
+    QLocalSocket *mSocket;
+};
+
+#endif // HsIpcChannel_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsipcchannelclient.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,22 @@
+#ifndef HSIPCCHANNELCLIENT_H
+#define HSIPCCHANNELCLIENT_H
+
+#include "hsipcchannel.h"
+
+class HSDOMAINMODEL_EXPORT HsIpcChannelClient : public HsIpcChannel
+{
+    Q_OBJECT
+public:
+    HsIpcChannelClient(QObject *parent = 0);
+    ~HsIpcChannelClient();
+
+    bool openConnection(const QString &serverName);
+    bool waitForOpenConnection(const QString &serverName);
+    void closeConnection();
+    bool waitForCloseConnection();
+
+private slots:
+    void onConnected();
+};
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsipcchannelhost.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,21 @@
+#ifndef HSIPCCHANNELHOST_H
+#define HSIPCCHANNELHOST_H
+
+#include <QObject>
+#include "hsipcchannelclient.h"
+
+
+class HSDOMAINMODEL_EXPORT HsIpcChannelHost : public HsIpcChannel
+{
+    Q_OBJECT
+
+public:
+    HsIpcChannelHost(QLocalSocket *socket,QObject *parent=0);
+    ~HsIpcChannelHost();
+
+    void closeConnection();
+private:
+    
+};
+
+#endif // HSIPCCHANNELHOST_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsipcconnectiondispatcher.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,29 @@
+#ifndef HSIPCCONNECTIONDISPATCHER_H
+#define HSIPCCONNECTIONDISPATCHER_H
+
+#include <QObject>
+#include <QVariant>
+#include "hsdomainmodel_global.h"
+
+class HsIpcServer;
+class HsContentPublishHandler;
+
+class HSDOMAINMODEL_EXPORT HsIpcConnectionDispatcher : public QObject
+{
+    Q_OBJECT
+
+public:
+    HsIpcConnectionDispatcher(const QString &connectionName,QObject *parent=0);
+    ~HsIpcConnectionDispatcher();
+
+    bool start();
+    void stop();
+private slots:
+    void onConnectionEstablished();
+
+private:
+    QString mConnectionName;
+    HsIpcServer *mIpcServer;
+};
+
+#endif // HSIPCCONNECTIONDISPATCHER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsipcserver.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,32 @@
+#ifndef HSIPCSERVER_H
+#define HSIPCSERVER_H
+
+#include <QObject>
+#include <QQueue>
+#include "hsdomainmodel_global.h"
+
+class QLocalServer;
+class HsIpcChannelHost;
+
+class HSDOMAINMODEL_EXPORT HsIpcServer: public QObject
+{
+    Q_OBJECT
+public:
+    HsIpcServer(QObject *parent = 0);
+    ~HsIpcServer();
+
+    bool startServer(const QString &serverName);
+    void stopServer();
+    
+    HsIpcChannelHost* takeConnection();
+signals:
+    void newConnection();
+private slots:
+    void onNewConnection();
+
+private:
+    QLocalServer *mServer;
+    QQueue<HsIpcChannelHost*> mConnections;
+};
+
+#endif // HSIPCSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hspage.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HSPAGE_H
+#define HSPAGE_H
+
+#include <HbWidget>
+#include <HbIconItem>
+#include "hsdomainmodel_global.h"
+#include "hstest_global.h"
+
+class HsWidgetHost;
+class HsPageData;
+
+HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+
+class HSDOMAINMODEL_EXPORT HsPage : public HbWidget
+{
+	Q_OBJECT
+
+public:
+    HsPage(QGraphicsItem *parent = 0);
+	~HsPage();
+
+    int databaseId() const;
+    void setDatabaseId(int id);
+    
+    bool load();
+
+    bool addExistingWidget(HsWidgetHost *widgetHost);
+    bool removeWidget(HsWidgetHost *widgeHost);
+
+    QList<HsWidgetHost *> newWidgets();
+    bool addNewWidget(HsWidgetHost *widgetHost);
+    void layoutNewWidgets();
+    void resetNewWidgets();    
+
+    bool deleteFromDatabase();
+
+    QList<HsWidgetHost *> widgets() const;
+        
+    bool isRemovable() const;
+    void setRemovable(bool removable);
+
+    bool updateZValues();
+    
+    void setOnline(bool online = true);
+
+    static HsPage *createInstance(const HsPageData &pageData);
+
+private:
+    void connectWidget(HsWidgetHost *widget);
+    void disconnectWidget(HsWidgetHost *widget);
+
+private slots:
+    void onWidgetFinished(HsWidgetHost *widget);
+
+private:
+    int mDatabaseId;    
+    bool mRemovable;
+    QList<HsWidgetHost*> mWidgets;
+    QList<HsWidgetHost *> mNewWidgets;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+};
+ 
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hspagedata.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Contains page metadata.
+*
+*/
+
+#ifndef HSPAGEDATA_H
+#define HSPAGEDATA_H
+
+#include <QList>
+#include <QString>
+#include "hsdomainmodel_global.h"
+#include "hswidgetdata.h"
+
+class HSDOMAINMODEL_EXPORT HsPageData
+{
+public:	
+    HsPageData();
+	~HsPageData();
+
+    void setId(int pageId);
+	int id() const;
+	
+	void setIndex(int index);
+    int index() const;
+	    
+    QList<HsWidgetData> widgets() const;
+    QList<HsWidgetData> &widgets();
+        
+private:
+    int mId;	
+    int mIndex;	    
+	QList<HsWidgetData> mWidgets;    
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsscene.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef HSSCENE_H
+#define HSSCENE_H
+
+#include <QObject>
+#include <QScopedPointer>
+#include "hsdomainmodel_global.h"
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+HOMESCREEN_TEST_CLASS(HomeScreenStatePluginTest)
+
+class HbMainWindow;
+class HsWallpaper;
+class HsPage;
+class HsWidgetHost;
+
+class HsScenePrivate;
+class HSDOMAINMODEL_EXPORT HsScene : public QObject
+{
+    Q_OBJECT
+
+public:
+    ~HsScene();
+
+    int databaseId() const;
+
+    bool load();
+
+    HsWallpaper *wallpaper() const;
+
+    QList<HsPage *> pages() const;
+
+    bool addPage(HsPage *page);
+    bool removePage(HsPage *page);
+
+    bool setActivePage(HsPage *page);
+    bool setActivePageIndex(int index);
+    HsPage *activePage() const;
+    int activePageIndex() const;
+
+    void setActiveWidget(HsWidgetHost *widget);
+    HsWidgetHost *activeWidget() const;
+
+    void setOnline(bool online = true);
+    bool isOnline() const;
+
+    static HsScene *instance();
+    static HbMainWindow *mainWindow();
+    static Qt::Orientation orientation();
+
+private:
+    HsScene(QObject *parent = 0);
+    Q_DISABLE_COPY(HsScene)
+
+private:
+    QScopedPointer<HsScenePrivate> mD;
+    static QScopedPointer<HsScene> mInstance;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+    HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
+};
+
+#endif // HSSCENE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsscene_p.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HSSCENE_P_H
+#define HSSCENE_P_H
+
+class HsWallpaper;
+class HsPage;
+class HsWidgetHost;
+#ifndef Q_OS_SYMBIAN
+class HsIpcConnectionDispatcher;
+#endif
+
+class HsScenePrivate
+{
+public:
+    HsScenePrivate();
+    ~HsScenePrivate();
+
+    int mDatabaseId;
+    bool mIsOnline;
+    HsWallpaper *mWallpaper;
+    QList<HsPage *> mPages;
+    HsPage *mActivePage;
+    HsWidgetHost *mActiveWidget;
+#ifndef Q_OS_SYMBIAN
+    HsIpcConnectionDispatcher *mIpcConnectionDispatcher;
+#endif
+    
+};
+
+#endif // HSSCENE_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsscenedata.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Contains scene metadata.
+*
+*/
+
+#ifndef HSSCENEDATA_H
+#define HSSCENEDATA_H
+
+#include <QString>
+#include "hsdomainmodel_global.h"
+#include "hspagedata.h"
+
+class HSDOMAINMODEL_EXPORT HsSceneData
+{
+
+public:
+	HsSceneData();
+	~HsSceneData();
+	
+    void setId(int id);
+	int id() const;
+
+    void setPortraitWallpaper(const QString &path);
+	QString portraitWallpaper() const;
+
+    void setLandscapeWallpaper(const QString &path);
+	QString landscapeWallpaper() const;
+
+    void setDefaultPage(const HsPageData &defaultPage);
+	HsPageData defaultPage() const;
+    
+private:
+    int mId;
+	QString mPortraitWallpaper;
+    QString mLandscapeWallpaper;
+    HsPageData mDefaultPage;
+	
+};
+
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsshortcutservice.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Entry point for shortcut widget 
+*
+*/
+
+#ifndef HSSHORTCUTSERVICE_H
+#define HSSHORTCUTSERVICE_H
+
+#include <QObject>
+#include <QIcon>
+#include <QScopedPointer>
+#include <QMetaType>
+
+#include "hsdomainmodel_global.h"
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+
+class QStateMachine;
+class HsShortcutServicePrivate;
+
+class HSDOMAINMODEL_EXPORT HsShortcutService : public QObject
+{
+	Q_OBJECT
+
+public:
+    static HsShortcutService *instance(QStateMachine *stateMachine = 0);
+    ~HsShortcutService();
+		
+	void executeCollectionAction(int shortcutId, const QString& collectionType);
+    bool isItemShortcutWidget(int itemId);
+
+private:
+    HsShortcutService(QStateMachine *stateMachine, QObject *parent = 0);
+	Q_DISABLE_COPY(HsShortcutService)
+
+private:
+	QScopedPointer<HsShortcutServicePrivate> mD; 	
+    static QScopedPointer<HsShortcutService> mInstance;    
+    
+    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+};
+
+Q_DECLARE_METATYPE(HsShortcutService*)
+
+#endif // HSSHORTCUTSERVICE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hsshortcutservice_p.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Private implementation for HsShortcutService 
+*
+*/
+
+#ifndef HSSHORTCUTSERVICE_P_H
+#define HSSHORTCUTSERVICE_P_H
+
+#include <QObject>
+
+class QStateMachine;
+
+class HsShortcutServicePrivate : public QObject
+{
+	Q_OBJECT
+
+public:
+	HsShortcutServicePrivate(QStateMachine *stateMachine, QObject *parent = 0);
+	~HsShortcutServicePrivate();
+
+	void executeCollectionAction(int shortcutId, const QString& collectionType);
+    bool isItemShortcutWidget(int itemId);
+
+public:
+	QStateMachine *mStateMachine;
+};
+
+#endif // HSSHORTCUTSERVICE_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hswallpaper.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HSWALLPAPER_H
+#define HSWALLPAPER_H
+
+#include <HbWidget>
+#include <QScopedPointer>
+#include "hsdomainmodel_global.h"
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+
+class HsWallpaperPrivate;
+class HSDOMAINMODEL_EXPORT HsWallpaper : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    HsWallpaper(QGraphicsItem *parent = 0);
+    ~HsWallpaper();
+
+    void paint(QPainter *painter,
+               const QStyleOptionGraphicsItem *option, 
+               QWidget *widget = 0);
+
+    bool setImagesById(const QString &id = "d",
+                       const QString &ext = "png");
+    bool setImagesByPaths(const QString &landscapeImagePath,
+                          const QString &portraitImagePath);
+
+    bool removeImages();
+
+    static QString wallpaperDirectory();
+    static QString wallpaperPath(Qt::Orientation orientation,
+                                 const QString &id = "d",
+                                 const QString &ext = "png");
+
+private:    
+    Q_DISABLE_COPY(HsWallpaper)
+
+private:
+    QScopedPointer<HsWallpaperPrivate> mD;
+    
+    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+};
+
+#endif // HSWALLPAPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hswallpaper_p.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef HSWALLPAPER_P_H
+#define HSWALLPAPER_P_H
+
+#include <QPixmap>
+
+class HsWallpaperPrivate
+{
+public:
+    HsWallpaperPrivate();
+    ~HsWallpaperPrivate();
+
+    QPixmap mImage;
+    QString mLImagePath;
+    QString mPImagePath;
+    Qt::Orientation mOrientation;
+};
+
+#endif // HSWALLPAPER_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hswidgetdata.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Contains widget metadata.
+*
+*/
+
+#ifndef HSWIDGETDATA_H
+#define HSWIDGETDATA_H
+
+#include <QList>
+#include <QString>
+#include "hsdomainmodel_global.h"
+#include "hswidgetpresentationdata.h"
+
+
+class HSDOMAINMODEL_EXPORT HsWidgetData
+{
+
+public:
+
+	HsWidgetData();
+	~HsWidgetData();
+
+	void setId(int id);
+ 	int id() const;
+
+    void setUri(const QString &uri);
+	QString uri() const;
+	
+    QList<HsWidgetPresentationData> presentations() const;
+    QList<HsWidgetPresentationData> &presentations();
+
+	void setPageId(int pageId);
+	int pageId() const;
+
+private:
+
+    int mId;
+	QString mUri;
+    QList<HsWidgetPresentationData> mPresentations;
+    int mPageId;
+
+};
+
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hswidgethost.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef HSWIDGETHOST_H
+#define HSWIDGETHOST_H
+
+#include <QVariantMap>
+#include <QMetaMethod>
+#include <QMetaProperty>
+
+#include <HbWidget>
+
+#include "hswidgetdata.h"
+#include "hsdomainmodel_global.h"
+#include "hstest_global.h"
+
+#include "cadefs.h"
+
+class HsPage;
+class CaEntry;
+
+HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+
+class HSDOMAINMODEL_EXPORT HsWidgetHost : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    static HsWidgetHost *createInstance(const HsWidgetData &widgetData, 
+                                        const QVariantMap &preferences = QVariantMap());
+
+    HsWidgetHost(int databaseId, QGraphicsItem *parent = 0);
+    
+    ~HsWidgetHost();
+    
+    bool load();
+    
+    bool setPage(HsPage *page);
+    HsPage *page() const;
+
+    bool isValid() const;
+
+    int databaseId() const;
+
+    bool deleteFromDatabase();
+    
+    bool setWidgetPresentation();
+    bool setWidgetPresentationData(HsWidgetPresentationData &presentationData);
+    bool widgetPresentationData(const QString &key, HsWidgetPresentationData &presentationData);
+
+    HsWidgetPresentationData widgetPresentation(Qt::Orientation orientation);
+    bool loadWidgetPresentation();
+    bool deleteWidgetPresentation(Qt::Orientation orientation);
+
+signals:
+    void widgetFinished(HsWidgetHost *widget);
+    void widgetError(HsWidgetHost *widget);
+
+public slots:
+    void initializeWidget();
+    void showWidget();
+    void hideWidget();
+    void uninitializeWidget();
+    void setOnline(bool online = true);
+
+    void startDragAnimation();
+    void startDropAnimation();
+    
+private:
+    bool setProperty(const char *name, QMetaProperty &property); 
+    bool setMethod(const char *signature, QMetaMethod &method);    
+    bool hasSignal(const char *signature);
+    bool setPreferencesToWidget();
+
+private slots:
+    void onSetPreferences(const QStringList &names);
+    void onFinished();
+    void onError();
+
+    void onEntryChanged(const CaEntry &entry, ChangeType changeType);
+    
+private:
+    Q_DISABLE_COPY(HsWidgetHost)
+    QGraphicsWidget *mWidget;
+    HsPage *mPage;
+    QMetaMethod mOnInitializeMethod;
+    QMetaMethod mOnShowMethod;
+    QMetaMethod mOnHideMethod;
+    QMetaMethod mOnUninitializeMethod;
+    QMetaProperty mIsOnlineProperty;
+    
+    int mDatabaseId;
+    QString mUri;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+};
+
+#endif // HSWIDGETHOST_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hswidgetpresentationdata.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Contains widget presentation metadata.
+*
+*/
+
+
+#ifndef HSWIDGETPRESENTATIONDATA_H
+#define HSWIDGETPRESENTATIONDATA_H
+
+#include <QString>
+#include <QPointF>
+#include <QSizeF>
+#include "hsdomainmodel_global.h"
+
+class HSDOMAINMODEL_EXPORT HsWidgetPresentationData
+{
+
+public:
+	HsWidgetPresentationData();
+	~HsWidgetPresentationData();
+
+	void setId(int id);
+	int id() const;
+
+    void setKey(const QString &key);
+    QString key() const;
+
+    void setPosition(const QPointF &position);
+    QPointF position() const;
+
+	void setZValue(qreal zValue);
+   	qreal zValue() const;
+
+    void setSize(const QSizeF &size);
+    QSizeF size() const;
+
+	void setWidgetId(int widgetId);
+	int widgetId() const;
+   	
+private:
+    int mId;
+	QString mKey;
+    QPointF mPosition;
+    QSizeF mSize;
+    int mWidgetId;
+    qreal mZValue;	
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hscontentpublishhandler.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,83 @@
+#include <QDebug>
+#include "hscontentpublishhandler.h"
+#include "hsipcchannelhost.h"
+#include "hsscene.h"
+#include "hspage.h"
+#include "hswidgetdata.h"
+#include "hswidgethost.h"
+
+HsContentPublishHandler::HsContentPublishHandler(
+    HsIpcChannelHost *channel, QObject *parent)
+    : QObject(parent),mChannel(channel)
+{
+    connect(mChannel,SIGNAL(disconnected()),SLOT(deleteLater()));
+    connect(mChannel, SIGNAL(messageReceived(const QVariantMap&)), 
+        SLOT(onMessageReceived(const QVariantMap&)),Qt::QueuedConnection);
+    qDebug() << "HsContentPublishHandler::HsContentPublishHandler" << (int)this;
+    
+}
+
+HsContentPublishHandler::~HsContentPublishHandler()
+{
+    qDebug() << "HsContentPublishHandler::~HsContentPublishHandler" << (int)this;
+    delete mChannel;
+}
+
+void HsContentPublishHandler::onMessageReceived(const QVariantMap &message)
+{
+    qDebug() << "HsContentPublishHandler message: " << message;
+
+    QString messageType = message.value("messageType").toString();
+    
+    if(messageType == "addWidget"){
+        QString uri = message.value("uri").toString();
+        QVariantMap preferences = message.value("preferences").toMap();
+
+        QString result("true");
+        if(!addWidget(uri,preferences)){
+            result = "false";
+        }
+        
+        // write response
+        QVariantMap response;
+        response.insert("messageType", "response");
+        response.insert("result", result);
+        response.insert("request", message);
+        if(!mChannel->sendMessage(response)){
+            qDebug() << "HsContentPublishHandler response failed: ";    
+        }
+        
+    }else{
+        qDebug() << "HsContentPublishHandler messageType not supported!";
+    }
+
+    
+}
+
+bool HsContentPublishHandler::addWidget(
+    const QString &uri, const QVariantMap &preferences)
+{
+    HsWidgetData widgetData;
+    widgetData.setUri(uri);
+
+    QScopedPointer<HsWidgetHost> widget(HsWidgetHost::createInstance(widgetData, preferences));
+
+    if (!widget.data()) {
+        qDebug() << "HsWidgetHost::createInstance failed";
+        return false;
+    }
+    HsPage* activePage = HsScene::instance()->activePage();
+    if (!widget->load() || !activePage->addNewWidget(widget.data())) {
+        widget->deleteFromDatabase();
+        qDebug() << "widget->load() || activePage->addNewWidget failed";
+        return false;
+    }
+    HsWidgetHost* taken = widget.take();
+    taken->initializeWidget();
+    taken->showWidget();
+    activePage->layoutNewWidgets();
+    activePage->resetNewWidgets();
+    
+    
+    return true;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hscontentservice.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Homescreen runtime content service.
+*
+*/
+
+#include "hscontentservice.h"
+#include "hsdatabase.h"
+#include "hsscene.h"
+#include "hspage.h"
+#include "hswidgetdata.h"
+#include "hswidgethost.h"
+
+
+HsContentService::HsContentService(QObject *parent)
+    : QObject(parent)
+{
+   
+}
+
+HsContentService::~HsContentService()
+{
+}
+
+
+bool HsContentService::createWidget(const QVariantMap &params)
+{
+    HsWidgetHost *widget = createWidgetForPreview(params);
+    if (!widget) {
+        return false;
+    }
+     
+    return HsScene::instance()->activePage()->addNewWidget(widget);
+}
+
+HsWidgetHost *HsContentService::createWidgetForPreview(const QVariantMap &params)
+{
+    HsWidgetData widgetData;
+    widgetData.setUri(params.value("uri").toString());
+
+
+    HsWidgetHost *widget = HsWidgetHost::createInstance(widgetData,  
+            params.value("preferences").toMap());
+
+    if (!widget) {
+        return NULL;
+    }
+    if (!widget->load()) {
+        widget->deleteFromDatabase();
+        delete widget;
+        return NULL;
+    }
+
+    return widget;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsdatabase.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,956 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 SQLlite content store.
+*
+*/
+
+#include "hsdatabase.h"
+#include "hsscenedata.h"
+#include "hspagedata.h"
+#include "hswidgetdata.h"
+#include "hswidgetpresentationdata.h"
+#include "hstest_global.h"
+
+namespace 
+{
+    const char DATABASE_CONNECTION_NAME[] = "hsdb.connection";
+}
+
+#ifdef Q_OS_SYMBIAN
+QString HsDatabase::mDatabaseName("c:\\private\\20022f35\\homescreendb");
+#else
+QString HsDatabase::mDatabaseName("homescreendb");
+#endif //Q_OS_SYMBIAN
+
+QScopedPointer<HsDatabase> HsDatabase::mInstance(0);
+
+/*!
+    Utility to create variant list from given \a list
+*/
+template<class T>
+QVariantList toVariantList(const QList<T> &list)
+{
+    QVariantList vlist;
+    foreach (T item, list) {
+        vlist << item;
+    }
+    return vlist;
+}
+
+/*!
+    Utility to insert given \a item to variant list \a count times
+*/
+template<class T>
+QVariantList toVariantList(const T &item, int count)
+{
+    QVariantList vlist;
+    for (int i = 0; i < count; ++i) {
+        vlist << item;
+    }
+    return vlist;
+}
+/*!
+    Set name of the database to use
+*/
+ void HsDatabase::setDatabaseName(const QString& dbName)
+ {
+    mDatabaseName = QDir::toNativeSeparators(dbName);
+ }
+
+/*!
+    \class HsDatabase
+    \ingroup group_hsdatamodel
+    \brief Implementation for SQLlite content store.
+
+    Home screen content store that uses an SQLite database
+    as the data store.
+
+*/
+
+/*!
+    Singleton. 
+*/
+HsDatabase *HsDatabase::instance()
+{
+    if (mInstance.isNull()) {
+        mInstance.reset(new HsDatabase());
+        if(!mInstance->openDatabase(mDatabaseName)){
+            mInstance.reset();  
+        }
+    }
+    return mInstance.data();
+}
+
+/*!
+    Closes database and removes it.
+*/
+HsDatabase::~HsDatabase()
+{
+    // Database calls must be in scope, see info from
+    // QSqlDatabase::removeDatabase() documentation.
+    {
+        QSqlDatabase db = database();
+        db.close();
+    }
+
+    QSqlDatabase::removeDatabase(DATABASE_CONNECTION_NAME);
+}
+
+bool HsDatabase::transaction()
+{
+    return database().transaction();
+}
+
+bool HsDatabase::rollback()
+{
+    return database().rollback();
+}
+
+bool HsDatabase::commit()
+{
+    return database().commit();
+}
+
+/*!
+    Returns scene data in \a scene
+*/
+bool HsDatabase::scene(HsSceneData &scene)
+{   
+    HsSceneData temp;
+
+    QSqlDatabase db = database();        
+    QSqlQuery query(db);
+
+    query.prepare("SELECT * FROM Scene");
+
+    if (!query.exec() || !query.next()) {
+        return false;
+    }
+    
+    temp.setId(columnValue(query, "Id").toInt());
+    temp.setPortraitWallpaper(columnValue(query, "PortraitWallpaper").toString());
+    temp.setLandscapeWallpaper(columnValue(query, "LandscapeWallpaper").toString());
+        
+    int defaultPageId = columnValue(query, "DefaultPageId").toInt();
+
+    query.prepare("SELECT * FROM Pages WHERE Id = ?");
+    query.addBindValue(defaultPageId);
+    
+    if (!query.exec() || !query.next()) {
+        return false;
+    }
+    
+    HsPageData page;    
+    if (!parsePage(query, true, page)) {
+        return false;
+    }
+    temp.setDefaultPage(page);
+
+    scene = temp;
+
+    return true;
+}
+
+/*!
+    Updates the scene with \a scene.
+*/
+bool HsDatabase::updateScene(const HsSceneData &scene)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "UPDATE Scene "
+                          "SET PortraitWallpaper = ?, LandscapeWallpaper = ? "
+                          "WHERE Id = ?";
+
+  
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(scene.portraitWallpaper());
+    query.addBindValue(scene.landscapeWallpaper());    
+    query.addBindValue(scene.id());
+
+    return query.exec();
+}
+
+/*!
+    Returns page data in \a pages list
+*/
+bool HsDatabase::pages(QList<HsPageData> &pages)
+{
+    QList<HsPageData> temp;
+
+    QSqlDatabase db = database();           
+    QSqlQuery query(db);
+
+    query.prepare("SELECT * FROM Pages ORDER BY PageIndex");
+    
+    if (!query.exec()) {
+        return false;
+    }
+    
+    while (query.next()) {
+        HsPageData page;
+        if (!parsePage(query, true, page)) {
+            return false;
+        }
+        temp << page;
+    }
+
+    pages = temp;
+
+    return true;
+}
+
+/*!
+    Returns a\ page data for the page with given \a id. Includes children
+    data if \a getChildren is true
+*/
+bool HsDatabase::page(int id, HsPageData &page, bool getChildren)
+{
+    QSqlDatabase db = database();           
+    QSqlQuery query(db);
+
+    QString queryString = "SELECT * FROM Pages "
+                          "WHERE Id = ?";
+
+    query.prepare(queryString);
+    query.addBindValue(id);
+    
+    if (!query.exec() || !query.next()) {
+        return false;
+    }
+    
+    return parsePage(query, getChildren, page);
+}
+
+/*!
+    Insert page based on given \a page data 
+*/
+bool HsDatabase::insertPage(HsPageData &page)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "INSERT INTO Pages "
+                          "(PageIndex) "
+                          "VALUES(?)";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);    
+    query.addBindValue(page.index());
+    
+    if (!query.exec()) {
+        return false;
+    }
+
+    page.setId(query.lastInsertId().toInt());
+
+    QList<HsWidgetData> &widgets = page.widgets();
+    for (int i = 0; i < widgets.count(); ++i) {
+        widgets[i].setPageId(page.id());
+        if (!insertWidget(widgets[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+
+/*!
+    Updates a page based on given \a page data. Includes children
+    data if \a getChildren is true
+*/
+bool HsDatabase::updatePage(const HsPageData &page, bool updateChildren)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "UPDATE Pages "
+                          "SET PageIndex = ? "
+                          "WHERE Id = ?";
+
+  
+    QSqlQuery query(db);
+
+    query.prepare(queryString);    
+    query.addBindValue(page.index());    
+    query.addBindValue(page.id());
+
+    if (!query.exec()) {
+        return false;
+    }
+
+    if (!updateChildren) {
+        return true;
+    }
+
+    QList<HsWidgetData> widgets = page.widgets();
+    for (int i = 0; i < widgets.count(); ++i) {
+        if (!updateWidget(widgets[i])) {
+            return false;
+        }
+    }
+    return true;
+}
+
+/*!
+    Deletes page with given \a id
+*/
+bool HsDatabase::deletePage(int id)
+{
+    HsPageData pageToBeDeleted;
+
+    if (!page(id, pageToBeDeleted, false)) {
+        return false;
+    }
+   
+    QSqlDatabase db = database();
+              
+    QString queryString = "DELETE FROM Pages "
+                          "WHERE Id = ?";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(id);
+    
+    if (!query.exec()) {
+        return false;
+    }
+
+    //update other indexes
+    QList<HsPageData> allPages;
+    if (!pages(allPages)) {
+        return false;    
+    }
+
+    HsPageData page;
+    foreach (page, allPages) {
+        if (page.index() > pageToBeDeleted.index()) {
+            page.setIndex(page.index() - 1);
+            if (!updatePage(page, false)) {
+                return false;   
+            }
+        }
+    }
+
+    return true;
+
+}
+
+/*!
+    Returns widget data for the widget with given id. Includes children
+    data if \a getChildren is true
+*/
+bool HsDatabase::widget(int id, HsWidgetData &widget, bool getChildren)
+{
+    QSqlDatabase db = database();
+    QSqlQuery query(db);
+
+    QString queryString = "SELECT * FROM Widgets "
+                          "WHERE Id = ?";
+    
+    query.prepare(queryString);
+    query.addBindValue(id);
+
+    if (!query.exec() || !query.next()) {
+        return false;
+    }
+    
+    return parseWidget(query, getChildren, widget);
+}
+
+/*!
+    Insert widget based on given \a widget data
+*/
+bool HsDatabase::insertWidget(HsWidgetData &widget)
+{    
+    QSqlDatabase db = database();
+
+    QString queryString = "INSERT INTO Widgets "
+                          "(Uri, PageId) "
+                          "VALUES(?, ?)";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(widget.uri());
+    query.addBindValue(widget.pageId());
+
+    if (!query.exec()) {
+        return false;
+    }
+
+    widget.setId(query.lastInsertId().toInt());
+
+    QList<HsWidgetPresentationData> &presentations = widget.presentations();
+    for (int i = 0; i < presentations.count(); ++i) {
+        presentations[i].setWidgetId(widget.id());
+        if (!insertWidgetPresentation(presentations[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+/*!
+    Insert widget based on given \a widget data. Widget \a databaseId
+    is written on return.
+*/
+bool HsDatabase::insertWidget(const HsWidgetData &widget,
+                              int &databaseId)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "INSERT INTO Widgets "
+                          "(Uri, PageId) "
+                          "VALUES(?, ?)";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(widget.uri());
+    query.addBindValue(widget.pageId());
+
+    if (!query.exec()) {
+        QSqlError err = query.lastError();
+        return false;
+    }
+
+    databaseId = query.lastInsertId().toInt();
+
+    QList<HsWidgetPresentationData> presentations = widget.presentations();
+    for (int i = 0; i < presentations.count(); ++i) {
+        presentations[i].setWidgetId(databaseId);
+        if (!insertWidgetPresentation(presentations[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+/*!
+    Updates a widget based on given \a widget data. Includes children
+    if \a getChildren is true
+*/
+bool HsDatabase::updateWidget(const HsWidgetData &widget, 
+                              bool updateChildren)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "UPDATE Widgets "
+                          "SET Uri = ?";
+
+    if (widget.pageId() != -1) {
+        queryString += ", PageId = ?";
+    }
+
+    queryString += " WHERE Id = ?";
+
+  
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(widget.uri());
+    if (widget.pageId() != -1) {
+        query.addBindValue(widget.pageId());
+    }
+    query.addBindValue(widget.id());
+
+    if (!query.exec()) {
+        return false;
+    }
+
+    if (!updateChildren) {
+        return true;
+    }
+
+    QList<HsWidgetPresentationData> presentations = widget.presentations();
+    for (int i = 0; i < presentations.count(); ++i) {
+        if (!updateWidgetPresentation(presentations[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+/*!
+    Deletes widget with given \a widget id
+*/
+bool HsDatabase::deleteWidget(int id)
+{
+    QSqlDatabase db = database();
+       
+    QString queryString = "DELETE FROM Widgets "
+                          "WHERE Id = ?";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(id);
+
+    return query.exec();
+}
+
+/*!
+    Deletes all widgets with given \a uri
+*/
+bool HsDatabase::deleteWidgets(const QString &uri)
+{
+    QSqlDatabase db = database();
+       
+    QString queryString = "DELETE FROM Widgets "
+                          "WHERE Uri = ?";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(uri);
+
+    return query.exec();
+}
+
+/*!
+    Returns widget \a presentation data for the widget with given \a widgetId. 
+    Presentations can be distinguished by given \a key.
+*/
+bool HsDatabase::widgetPresentation(int widgetId, 
+                                    const QString &key, 
+                                    HsWidgetPresentationData &presentation)
+{
+    Q_UNUSED(key);
+
+    QSqlDatabase db = database();
+    QSqlQuery query(db);
+    
+    QString queryString = "SELECT * FROM WidgetPresentations "
+                          "WHERE WidgetId = ? "
+                          "AND Key = ?";
+    
+    query.prepare(queryString);
+    query.addBindValue(widgetId);
+    query.addBindValue(key);
+    
+    if (!query.exec() || !query.next()) {
+        return false;
+    }
+
+    return parseWidgetPresentation(query, presentation);
+}
+
+/*!
+    Inserts a widget \a presentation. 
+*/
+bool HsDatabase::insertWidgetPresentation(HsWidgetPresentationData &presentation)
+{
+    QSqlDatabase db = database();
+ 
+    QString queryString = "INSERT INTO WidgetPresentations "
+                          "(Key, Height, Width, YPosition, XPosition, ZValue, WidgetId) "
+                          "VALUES(?, ?, ?, ?, ?, ?, ?)";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(presentation.key());
+    query.addBindValue(presentation.size().height());
+    query.addBindValue(presentation.size().width());
+    query.addBindValue(presentation.position().y());
+    query.addBindValue(presentation.position().x());
+    query.addBindValue(presentation.zValue()); 
+    query.addBindValue(presentation.widgetId());
+
+    if (!query.exec()) {
+        return false;
+    }
+
+    presentation.setId(query.lastInsertId().toInt());
+
+    return true;
+}
+
+/*!
+    Update a widget \a presentation. 
+*/
+bool HsDatabase::updateWidgetPresentation(const HsWidgetPresentationData &presentation)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "UPDATE WidgetPresentations "
+                          "SET Key = ?, Height = ?, Width = ?, YPosition = ?, XPosition = ?, ZValue = ?";
+    
+    if (presentation.widgetId() != -1) {
+        queryString += ", WidgetId = ?";
+    }
+     
+    queryString += " WHERE Id = ?";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(presentation.key());
+    query.addBindValue(presentation.size().height());
+    query.addBindValue(presentation.size().width());
+    query.addBindValue(presentation.position().y());
+    query.addBindValue(presentation.position().x());
+    query.addBindValue(presentation.zValue()); 
+    if (presentation.widgetId() != -1) {
+        query.addBindValue(presentation.widgetId());
+    }    
+    query.addBindValue(presentation.id());
+
+    return query.exec();
+}
+
+/*!
+    Delete widget \a presentation width given \a id. 
+*/
+bool HsDatabase::deleteWidgetPresentation(int id)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "DELETE FROM WidgetPresentations "
+                          "WHERE Id = ?";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(id);
+
+    return query.exec();
+}
+
+/*!
+    Set widget preference \a value for given \a key for widget with given \a widgetId 
+*/
+bool HsDatabase::setWidgetPreferenceForKey(int widgetId, 
+                                           const QString &key, 
+                                           const QString &value)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "SELECT COUNT() "
+                          "FROM WidgetPreferences "
+                          "WHERE WidgetId = ? "
+                          "AND Key = ?";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(widgetId);
+    query.addBindValue(key);
+
+    if (!query.exec() || !query.next()) {
+        return false;
+    }
+
+    int count = query.value(0).toInt();
+
+    if (count) {
+        queryString = "UPDATE WidgetPreferences "
+                      "SET Value = :value "
+                      "WHERE WidgetId = :widgetId "
+                      "AND Key = :key";
+    } else {
+        queryString = "INSERT INTO WidgetPreferences "
+                      "(WidgetId, Key, Value) "
+                      "VALUES(:widgetId, :key, :value)";
+    }
+
+    query.prepare(queryString);
+    query.bindValue(":widgetId", widgetId);
+    query.bindValue(":value", value);
+    query.bindValue(":key", key);
+
+    return query.exec();
+}
+
+/*!
+    Returns widget preference \a value for given \a key for widget with given \a widgetId 
+*/
+bool HsDatabase::widgetPreferenceForKey(int widgetId, 
+                                        const QString &key, 
+                                        QString &value)
+{
+    QSqlDatabase db = database();
+
+    QString queryString = "SELECT Value "
+                          "FROM WidgetPreferences "
+                          "WHERE WidgetId = ? "
+                          "AND Key = ?";
+
+    QSqlQuery query(db);
+
+    query.prepare(queryString);
+    query.addBindValue(widgetId);
+    query.addBindValue(key);
+
+    if (!query.exec() || !query.next()) {
+        return false;
+    }
+
+    value = query.value(0).toString();
+
+    return true;
+}
+
+/*!
+    Store widget \a preferences for given \a widgetId. Returns true
+    if successfull.
+*/
+bool HsDatabase::setWidgetPreferences(int widgetId, const QVariantMap &preferences)
+{
+    QSqlDatabase db = database();
+    QSqlQuery query(db);
+
+    QList<QString> deleteNames = preferences.keys(QVariant());
+    QVariantMap insertOrReplaceMap(preferences);
+    foreach (QString deleteName, deleteNames) {
+        insertOrReplaceMap.remove(deleteName);
+    }
+
+    if (!deleteNames.isEmpty()) {
+        QString queryString = "DELETE FROM WidgetPreferences "
+                              "WHERE WidgetId = ? "
+                              "AND Key = ?";
+        
+        if (query.prepare(queryString)) {
+            query.addBindValue(toVariantList(widgetId, deleteNames.count()));
+            query.addBindValue(toVariantList(deleteNames));
+            if (!query.execBatch()) {
+                return false;
+            }
+        } else {
+            return false;
+        }
+    }
+
+    if (!insertOrReplaceMap.isEmpty()) {
+        QString queryString = "REPLACE INTO WidgetPreferences "
+                              "(WidgetId, Key, Value) "
+                              "VALUES (?, ?, ?)";
+            
+        if (query.prepare(queryString)) {
+            query.addBindValue(toVariantList(widgetId, insertOrReplaceMap.count()));
+            query.addBindValue(toVariantList(insertOrReplaceMap.keys()));
+            query.addBindValue(toVariantList(insertOrReplaceMap.values()));
+            if (!query.execBatch()) {
+                return false;
+            }
+        } else {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+/*!
+    Fetch widget \a preferences based on given \a widgetId. Returns
+    true if successfull.
+*/
+bool HsDatabase::widgetPreferences(int widgetId, QVariantMap &preferences)
+{
+    QSqlDatabase db = database();
+    QSqlQuery query(db);
+    
+    QString queryString = "SELECT Key, Value "
+                          "FROM WidgetPreferences "
+                          "WHERE WidgetId = ?";
+
+    query.prepare(queryString);
+    query.addBindValue(widgetId);
+  
+    if (query.exec()) {
+        while (query.next()) {
+            preferences.insert(query.value(0).toString(), 
+                               query.value(1));
+        }
+    } else {
+        return false;
+    }
+    return true;
+}
+
+/*!
+    Returns instance \a ids of the widget identified by the given \a uri
+*/
+bool HsDatabase::widgetIds(const QString &uri, QList<int> &ids)
+{
+    QSqlDatabase db = database();
+    QSqlQuery query(db);
+
+    QString queryString = "SELECT Id "
+                          "FROM Widgets "
+                          "WHERE Uri = ?";
+    
+    query.prepare(queryString);
+    query.addBindValue(uri);
+
+    if (!query.exec() || !query.next()) {
+        return false;
+    }
+
+    ids << query.value(0).toInt();
+    while (query.next()) {
+        ids << query.value(0).toInt();        
+    }
+
+    return true;
+}
+
+/*!
+    Constructor
+*/
+HsDatabase::HsDatabase()
+    : QObject()
+{
+}
+/*!
+    Open database from given \a databaseName
+*/
+bool HsDatabase::openDatabase(const QString &databaseName)
+{
+    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", DATABASE_CONNECTION_NAME);
+    db.setDatabaseName(databaseName);
+    if (!db.open()) {
+        HSDEBUG( db.lastError().text().toLatin1() );
+        return false;
+    }
+    return true;
+}
+
+/*!
+    Parses \a page data from given \a query. Include child 
+    data when \a getChildren is set to true.
+*/
+bool HsDatabase::parsePage(const QSqlQuery &query, 
+                           bool getChildren, 
+                           HsPageData &page)
+{
+    HsPageData temp;
+
+    temp.setId(columnValue(query, "Id").toInt());    
+    temp.setIndex(columnValue(query, "PageIndex").toInt());    
+        
+    if (getChildren) {
+        QSqlDatabase db = database();
+        QSqlQuery q(db);        
+        
+        QString queryString = "SELECT * "
+                              "FROM Widgets "
+                              "WHERE PageId = ?";
+        
+        q.prepare(queryString);
+        q.addBindValue(temp.id());
+
+        if (!q.exec()) {
+            return false;
+        }
+
+        while (q.next()) {
+            HsWidgetData widget;
+            if (!parseWidget(q, true, widget)) {
+                return false;
+            }
+            temp.widgets() << widget;
+        }
+    }
+
+    page = temp;
+
+    return true;
+}
+
+/*!
+    Parses \a widget data from given \a query. Include child data 
+    when \a getChildren is set to true.
+*/
+bool HsDatabase::parseWidget(const QSqlQuery &query, 
+                             bool getChildren, 
+                             HsWidgetData &widget)
+{
+    HsWidgetData temp;
+
+    temp.setId(columnValue(query, "Id").toInt());
+    temp.setUri(columnValue(query, "Uri").toString());
+    temp.setPageId(columnValue(query, "PageId").toInt());
+
+    if (getChildren) {
+        QSqlDatabase db = database();
+        QSqlQuery q(db);
+        
+        QString queryString = "SELECT * "
+                              "FROM WidgetPresentations "
+                              "WHERE WidgetId = ?";
+
+        q.prepare(queryString);
+        q.addBindValue(temp.id());
+
+        if (!q.exec()) {
+            return false;
+        }
+
+        while (q.next()) {
+            HsWidgetPresentationData presentation;
+            if (!parseWidgetPresentation(q, presentation)) {
+                return false;
+            }
+            temp.presentations() << presentation;
+        }
+    }
+
+    widget = temp;
+
+    return true;
+}
+
+/*!
+    Parses widget \a presentation data from given SQL \a query.
+*/
+bool HsDatabase::parseWidgetPresentation(const QSqlQuery &query, 
+                                         HsWidgetPresentationData &presentation)
+{
+    presentation.setId(columnValue(query, "Id").toInt());
+    presentation.setKey(columnValue(query, "Key").toString());
+    presentation.setPosition(QPointF(columnValue(query, "XPosition").toDouble(),
+                                     columnValue(query, "YPosition").toDouble()));
+    presentation.setSize(QSizeF(columnValue(query, "Width").toDouble(),
+                                columnValue(query, "Height").toDouble()));    
+    presentation.setZValue(columnValue(query, "ZValue").toDouble());
+    presentation.setWidgetId(columnValue(query, "WidgetId").toInt());
+
+    return true;
+}
+
+/*!
+    Parses column value with given \a columnName from given SQL \a query.
+*/
+QVariant HsDatabase::columnValue(const QSqlQuery &query, 
+                                 const QString &columnName) const
+{
+    return query.value(query.record().indexOf(columnName));
+}
+
+/*!
+    Returns database connection
+*/
+QSqlDatabase HsDatabase::database() const
+{
+    return QSqlDatabase::database(DATABASE_CONNECTION_NAME);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsipcchannel.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QDataStream>
+#include <QDebug> 
+#include "hsipcchannelclient.h"
+
+/*!
+    \class HsIpcChannel
+    \ingroup group_hsutils
+    \brief Homescreen ipc transport channel.
+    
+    Responsible for reading and writing ipc messages. Uses QLocalSocket for transport 
+    mechanism. 
+
+*/
+HsIpcChannel::~HsIpcChannel()
+{
+}
+
+bool HsIpcChannel::isConnected() const
+{
+    if(!mSocket)return false;
+    return mSocket->state() == QLocalSocket::ConnectedState;
+}
+
+bool HsIpcChannel::sendMessage(const QVariantMap &message)
+{
+    if (!isConnected()) {
+        return false;
+    }
+
+    QByteArray byteArray;
+    QDataStream out(&byteArray, QIODevice::WriteOnly);
+    out.setVersion(QDataStream::Qt_4_6);
+    out << (quint32)0; //fill size placeholder
+    out << message;
+    out.device()->seek(0); // now write right value to it
+    out << (quint32)(byteArray.size() - sizeof(quint32));
+
+    mSocket->write(byteArray);
+
+    return true;
+}
+
+bool HsIpcChannel::waitForSendMessage(const QVariantMap &message)
+{
+    if (!isConnected()) {
+        return false;
+    }
+    QByteArray byteArray;
+    QDataStream out(&byteArray, QIODevice::WriteOnly);
+    out.setVersion(QDataStream::Qt_4_6);
+    out << (quint32)0; //fill size placeholder
+    out << message;
+    out.device()->seek(0); // now write right value to it
+    out << (quint32)(byteArray.size() - sizeof(quint32));
+
+    mSocket->write(byteArray);
+    bool ok = true;
+    while(mSocket->bytesToWrite() && ok){
+        ok = mSocket->waitForBytesWritten(1000);// timeout in 1sec
+    }
+    
+    return ok;  
+}
+
+bool HsIpcChannel::waitForReadMessage(QVariantMap &message)
+{
+    if (!isConnected()) {
+        return false;
+    }
+   
+    QDataStream in(mSocket);
+    in.setVersion(QDataStream::Qt_4_6);
+    quint32 blockSize = 0;
+    bool ok = mSocket->waitForReadyRead();
+    while( ok && mSocket->bytesAvailable() < (int)sizeof(quint32) ){
+        ok = mSocket->waitForReadyRead(1000);
+    }
+    if(!ok){
+        return false;
+    }
+    in >> blockSize;
+
+    while(ok && mSocket->bytesAvailable() < blockSize){
+        ok = mSocket->waitForReadyRead(1000);
+    }
+    
+    if(!ok){
+        return false;
+    }
+    
+    // now we have all data
+    message.clear();
+    in >> message;
+    return true;
+}
+
+void HsIpcChannel::onReadyRead()
+{
+    QDataStream in(mSocket);
+    in.setVersion(QDataStream::Qt_4_6);
+
+    if (mBlockSize == 0) {
+        if (mSocket->bytesAvailable() < (int)sizeof(quint32)){
+            return;
+        }
+        in >> mBlockSize;
+    } 
+
+    if (mSocket->bytesAvailable() < mBlockSize){
+        return;
+    }
+    mBlockSize = 0;
+    // now we have all data
+    QVariantMap message;
+    in >> message;
+    
+    emit messageReceived(message);
+}
+
+void HsIpcChannel::onError(QLocalSocket::LocalSocketError socketError)
+{
+    Q_UNUSED(socketError);
+    emit connectionError();
+}
+
+
+
+HsIpcChannel::HsIpcChannel(QObject *parent) 
+    : QObject(parent),mBlockSize(0),mSocket(0)
+{
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsipcchannelclient.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "hsipcchannelclient.h"
+
+/*!
+    \class HsIpcChannelClient
+    \ingroup group_hsutils
+    \brief Homescreen ipc transport channel client api.
+    
+    Client side communication channel management. 
+
+*/
+HsIpcChannelClient::HsIpcChannelClient(QObject *parent)
+: HsIpcChannel(parent)
+{
+}
+
+HsIpcChannelClient::~HsIpcChannelClient()
+{
+    delete mSocket;
+}
+
+bool HsIpcChannelClient::openConnection(const QString &serverName)
+{
+    closeConnection();
+    delete mSocket;
+    mSocket = NULL;
+    mSocket = new QLocalSocket;
+    connect(mSocket, SIGNAL(connected()), SLOT(onConnected()));
+    connect(mSocket, SIGNAL(error(QLocalSocket::LocalSocketError)), 
+            SLOT(onError(QLocalSocket::LocalSocketError)));
+
+    mSocket->connectToServer(serverName);
+    
+    return true;
+}
+bool HsIpcChannelClient::waitForOpenConnection(const QString &serverName)
+{
+    delete mSocket;
+    mSocket = NULL;
+    mSocket = new QLocalSocket;
+    connect(mSocket, SIGNAL(error(QLocalSocket::LocalSocketError)), 
+            SLOT(onError(QLocalSocket::LocalSocketError)));
+
+    mSocket->connectToServer(serverName);
+    return mSocket->waitForConnected(1000);
+}
+
+void HsIpcChannelClient::closeConnection()
+{
+    Q_ASSERT(mSocket);
+    mSocket->disconnectFromServer();
+}
+
+bool HsIpcChannelClient::waitForCloseConnection()
+{
+    Q_ASSERT(mSocket);
+    mSocket->disconnectFromServer();
+    return mSocket->waitForDisconnected(1000);
+}
+
+
+
+void HsIpcChannelClient::onConnected()
+{
+    disconnect(mSocket,SIGNAL(connected()),this, SLOT(onConnected()) );
+  
+    connect(mSocket, SIGNAL(readyRead()), SLOT(onReadyRead()));
+    connect(mSocket, SIGNAL(disconnected()), SIGNAL(disconnected()));
+    emit connectionEstablished();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsipcchannelhost.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#include <QDebug>
+#include "hsipcchannelhost.h"
+
+/*!
+    \class HsIpcChannelHost
+    \ingroup group_hsutils
+    \brief Homescreen ipc transport channel server api.
+    
+    Server side communication channel management. 
+
+*/
+
+HsIpcChannelHost::HsIpcChannelHost(QLocalSocket *socket,QObject *parent)
+    : HsIpcChannel(parent)
+{
+    Q_ASSERT(socket);
+
+    mSocket = socket;
+    connect(mSocket, SIGNAL(error(QLocalSocket::LocalSocketError)), 
+            SLOT(onError(QLocalSocket::LocalSocketError)));
+    connect(mSocket, SIGNAL(readyRead()), SLOT(onReadyRead()));
+    connect(mSocket, SIGNAL(disconnected()), SIGNAL(disconnected()));
+    qDebug()<< "HsIpcChannelHost::HsIpcChannelHost(): " << (int)this;
+}
+
+HsIpcChannelHost::~HsIpcChannelHost()
+{
+    qDebug()<< "HsIpcChannelHost::~HsIpcChannelHost(): " << (int)this;
+    delete mSocket;
+}
+
+void HsIpcChannelHost::closeConnection()
+{
+    mSocket->close();
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsipcconnectiondispatcher.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#include "hsipcconnectiondispatcher.h"
+#include "hscontentpublishhandler.h"
+#include "hsipcserver.h"
+#include "hsipcchannelhost.h"
+
+/*!
+    \class HsIpcConnectionDispatcher
+    \ingroup group_hsutils
+    \brief Dispatch ipc connections.
+    
+    Creates homescreen ipc communication server and dispatch ipc connections 
+    asynchronously for connection handlers. 
+
+*/
+
+HsIpcConnectionDispatcher::HsIpcConnectionDispatcher(
+    const QString &connectionName,QObject *parent)
+    : QObject(parent),
+    mConnectionName(connectionName),
+    mIpcServer(new HsIpcServer())
+{
+    mIpcServer->setParent(this);
+
+}
+
+HsIpcConnectionDispatcher::~HsIpcConnectionDispatcher()
+{
+   
+}
+
+bool HsIpcConnectionDispatcher::start()
+{
+    if(!mIpcServer->startServer(mConnectionName)){
+        return false;
+    }
+    connect(mIpcServer, SIGNAL(newConnection()),
+        SLOT(onConnectionEstablished()));
+    return true;
+}
+void HsIpcConnectionDispatcher::stop()
+{
+    mIpcServer->stopServer();
+}
+
+void HsIpcConnectionDispatcher::onConnectionEstablished()
+{
+    QScopedPointer<HsIpcChannelHost> newChannel(mIpcServer->takeConnection());
+    new HsContentPublishHandler(newChannel.data());
+    newChannel.take();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsipcserver.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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 <QLocalServer>
+#include <QDataStream>
+#include <QDebug>
+#include "hsipcserver.h"
+#include "hsipcchannelhost.h"
+
+/*!
+    \class HsIpcServer
+    \ingroup group_hsutils
+    \brief Homescreen ipc server api.
+    
+    Server to host ipc communication. Signals when new
+    connection arrives.
+
+*/
+
+HsIpcServer::HsIpcServer(QObject *parent)
+    : QObject(parent),
+      mServer(0)
+{
+}
+
+HsIpcServer::~HsIpcServer()
+{
+    stopServer();
+}
+
+bool HsIpcServer::startServer(const QString &serverName)
+{
+    stopServer();
+    QLocalServer::removeServer(serverName);
+    mServer = new QLocalServer;
+    connect(mServer, SIGNAL(newConnection()), SLOT(onNewConnection()));
+    if(!mServer->listen(serverName)){
+        qDebug()<< "HsIpcServer::startServer listen failed";
+        delete mServer;
+        mServer = NULL;
+        return false;
+    }
+    return true;
+}
+
+
+void HsIpcServer::stopServer()
+{
+    if (mServer) {
+        mServer->close();
+        delete mServer;
+        mServer = NULL;
+       
+    }
+    while(!mConnections.isEmpty()){
+        delete mConnections.dequeue();    
+        }
+   
+}
+HsIpcChannelHost* HsIpcServer::takeConnection()
+{
+    if(!mConnections.isEmpty()){
+        return mConnections.dequeue();
+    }
+    return 0;
+}
+
+void HsIpcServer::onNewConnection()
+{
+    QLocalSocket* socket = mServer->nextPendingConnection();
+    if (socket) {
+        qDebug() << "HsIpcServer::onNewConnection";
+        QScopedPointer<HsIpcChannelHost> channel( new HsIpcChannelHost(socket) );
+        mConnections.enqueue(channel.data());
+        channel.take();
+        emit newConnection();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hspage.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,361 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QPainter>
+#include <QGraphicsLinearLayout>
+#include <HbInstance>
+
+#include "hspage.h"
+#include "hsscene.h"
+#include "hsdatabase.h"
+#include "hswidgethost.h"
+#include "hswidgetdata.h"
+#include "hswidgetpresentationdata.h"
+#include "hspagedata.h"
+#include "hswallpaper.h"
+#include "hswidgetpositioningonwidgetadd.h"
+
+
+/*!
+    \class HsPage
+    \ingroup group_hsutils
+    \brief Represents a page in the framework.
+    HsPage is a parent for a group of widgets. HsPage can have a wallpaper.
+*/
+
+/*!
+    Constructor.
+
+    \a parent Owner.
+    \a aFlags Window flags.
+*/
+HsPage::HsPage(QGraphicsItem* parent)
+    : HbWidget(parent),
+      mDatabaseId(-1),
+      mRemovable(true)
+{
+    setFlag(QGraphicsItem::ItemHasNoContents);
+    setSizePolicy(QSizePolicy(QSizePolicy::Ignored, 
+                              QSizePolicy::Ignored));
+}
+
+/*!
+    Destructor.
+*/
+HsPage::~HsPage()
+{
+}
+
+/*!
+    Returns the database id.
+*/
+int HsPage::databaseId() const
+{
+    return mDatabaseId;
+}
+ 
+/*!
+    Sets the database id to \a id.
+*/
+void HsPage::setDatabaseId(int id)
+{
+    mDatabaseId = id;
+}
+
+/*!
+    Loads widgets.
+*/
+bool HsPage::load()
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    HsPageData pageData;
+    if (!db->page(mDatabaseId, pageData, true)) {
+        return false;
+    }
+
+    QList<HsWidgetData> widgetDatas = pageData.widgets();
+    foreach (HsWidgetData widgetData, widgetDatas) {
+        HsWidgetHost *widget = new HsWidgetHost(widgetData.id());
+        connectWidget(widget);
+        widget->load();
+
+		if (!widget->isValid()) {
+			qDebug() << "HsPage: Widget loading failed.";
+			continue;
+		}
+
+        widget->setPage(this);
+        mWidgets << widget;
+    }
+
+    foreach (HsWidgetHost *widget, mWidgets) {
+        widget->initializeWidget();
+        widget->showWidget();
+        widget->setParentItem(this);
+    }
+    
+    return true;    
+}
+
+bool HsPage::addExistingWidget(HsWidgetHost *widgetHost)
+{
+    if (!widgetHost) {
+        return false;
+    }
+    
+    if (mWidgets.contains(widgetHost)) {
+        return true;
+    }
+
+    if (!widgetHost->setPage(this)) {
+        return false;
+    }
+
+    connectWidget(widgetHost);
+    mWidgets << widgetHost;
+    widgetHost->setParentItem(this);
+    
+    return true;
+ }
+
+bool HsPage::removeWidget(HsWidgetHost *widgetHost)
+{
+    if (!widgetHost || !widgetHost->setPage(0)) {
+        return false;
+    }
+
+    disconnectWidget(widgetHost);
+    mWidgets.removeOne(widgetHost);
+    widgetHost->setParentItem(0);
+
+    return true;
+}
+
+QList<HsWidgetHost *> HsPage::newWidgets()
+{
+    return mNewWidgets;
+}
+
+/*!
+    Adds new widget into a page. Returns true if successfull. 
+*/
+bool HsPage::addNewWidget(HsWidgetHost* widgetHost)
+{
+    if (!widgetHost || mWidgets.contains(widgetHost)) {
+        return false;
+    }
+
+    if (mNewWidgets.contains(widgetHost)) {
+        return true;
+    }
+    
+    // Set presentation.
+    QString key = HsScene::orientation() == Qt::Horizontal ? 
+        "landscape" : "portrait";
+
+    HsWidgetPresentationData presentation;
+    if (!widgetHost->widgetPresentationData(key, presentation)) {
+        presentation.setKey(key);
+        presentation.setPosition(QPointF());
+        presentation.setSize(widgetHost->preferredSize());
+        presentation.setZValue(0);       
+        widgetHost->setWidgetPresentationData(presentation);
+    }
+
+    widgetHost->hide();
+    widgetHost->setGeometry(QRectF(presentation.position(), 
+                                   presentation.size()));
+    widgetHost->setZValue(presentation.zValue());   
+    
+    connectWidget(widgetHost);
+    mNewWidgets << widgetHost;
+
+    return true;
+}
+
+/*!
+    Layouts all the new widgets
+*/
+void HsPage::layoutNewWidgets()
+{
+    QList<QRectF> oldWidgetGeometries;
+
+    foreach(HsWidgetHost *widget, mNewWidgets) {
+        oldWidgetGeometries << widget->rect();
+    }
+
+    QList<QRectF> newWidgetGeometries = 
+        HsWidgetPositioningOnWidgetAdd::instance()->convert(
+        rect().adjusted(10, 10, -10, -10),
+        oldWidgetGeometries);
+
+    updateZValues();
+
+    HsWidgetHost *widget = NULL;
+    for(int i = 0; i < mNewWidgets.count(); ++i) {  
+        widget = mNewWidgets[i];
+        widget->setGeometry(newWidgetGeometries[i]);
+        widget->setWidgetPresentation();
+        widget->setPage(this);
+        widget->setParentItem(this);
+        widget->show();
+        mWidgets << widget;
+    }
+}
+
+/*!
+    Resets the new widgets list
+*/
+void HsPage::resetNewWidgets()
+{
+    mNewWidgets.clear();
+}
+
+bool HsPage::deleteFromDatabase()
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    db->transaction();
+
+    foreach (HsWidgetHost *widget, mWidgets) {
+        if (!widget->deleteFromDatabase()) {
+            db->rollback();
+            return false;
+        }
+    }
+
+    if (!db->deletePage(mDatabaseId))  {
+        db->rollback();
+        return false;
+    }
+
+    db->commit();
+    return true;
+}
+
+QList<HsWidgetHost *> HsPage::widgets() const
+{
+    return mWidgets;
+}
+
+/*!
+    Returns true if the page can be removed. Otherwise,
+    returns false.
+*/
+bool HsPage::isRemovable() const
+{
+    return mRemovable; 
+}
+
+/*!
+    Sets removable flag to \a removable.
+*/
+void HsPage::setRemovable(bool removable)
+{
+    mRemovable = removable; 
+}
+
+bool HsPage::updateZValues()
+{
+    if (mWidgets.isEmpty()) {
+        return true;
+    }
+    
+    QMultiMap<qreal, HsWidgetHost *> map;
+    foreach (HsWidgetHost *widget, mWidgets) {
+        map.insert(widget->zValue(), widget);
+    }
+    
+    QList<HsWidgetHost *> sortedWidgets = map.values();
+            
+    HsWidgetHost *activeWidget = HsScene::instance()->activeWidget();    
+    if (sortedWidgets.contains(activeWidget)) {
+        sortedWidgets.removeOne(activeWidget);
+        sortedWidgets.append(activeWidget);        
+    }
+
+    int z = 0;
+    foreach (HsWidgetHost *widget, sortedWidgets) {
+        widget->setZValue(z++);
+        widget->setWidgetPresentation();
+    }
+
+    foreach (HsWidgetHost *widget, mNewWidgets) {
+        widget->setZValue(z++);
+        widget->setWidgetPresentation();
+    }
+
+    return true;
+}
+/*!
+    Propogate online state to widgets.
+
+*/
+void HsPage::setOnline(bool online)
+{
+    foreach (HsWidgetHost *widget, mNewWidgets) {
+        widget->setOnline(online);
+    }
+    foreach (HsWidgetHost *widget, mWidgets) {
+        widget->setOnline(online);
+    }
+}
+
+HsPage *HsPage::createInstance(const HsPageData &pageData)
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+    
+    HsPageData data(pageData);    
+    if (!db->insertPage(data)) {
+        return 0;
+    }
+
+    HsPage *page = new HsPage;
+    page->setDatabaseId(data.id());
+    return page;
+}
+
+void HsPage::connectWidget(HsWidgetHost *widget)
+{
+    connect(widget, SIGNAL(widgetFinished(HsWidgetHost*)),
+            SLOT(onWidgetFinished(HsWidgetHost*)));
+}
+ 
+void HsPage::disconnectWidget(HsWidgetHost *widget)
+{
+    widget->disconnect(this);
+}
+
+void HsPage::onWidgetFinished(HsWidgetHost *widget)
+{
+    if (mNewWidgets.contains(widget)) {
+        mNewWidgets.removeOne(widget);
+    } else if (mWidgets.contains(widget)) {
+        mWidgets.removeOne(widget);        
+    } else {
+        return;
+    }
+
+    disconnectWidget(widget);
+    widget->uninitializeWidget();
+    widget->deleteFromDatabase();
+    widget->deleteLater();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hspagedata.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  HsPage meta data.
+*
+*/
+
+#include "hspagedata.h"
+
+/*!
+    \class HsPageData
+    \ingroup group_hsdatamodel
+    \brief Contains page metadata.
+
+    Used by content store and content service for
+    holding page metadata.
+*/
+
+
+/*!
+    \fn HsPageData::HsPageData()
+
+    Constructor
+*/
+HsPageData::HsPageData()
+    : mId(-1),
+      mIndex(-1)
+{
+
+}
+
+/*!
+    \fn HsPageData::~HsPageData()
+
+    Destructor
+*/
+HsPageData::~HsPageData()
+{
+
+}
+
+/*!
+    \fn void HsPageData::setId(int aId)
+
+    Set page \a pageId
+*/
+void HsPageData::setId(int pageId)
+{
+	mId = pageId;
+}
+
+/*!
+    \fn int HsPageData::id() const
+
+    Return page id
+*/
+int HsPageData::id() const
+{
+    return mId;
+}
+
+/*!
+    \fn void HsPageData::setIndex(int index)
+
+    Set page \a index i.e it's appearance order
+*/
+void HsPageData::setIndex(int index)
+{
+	mIndex = index;
+}
+
+/*!
+    \fn int HsPageData::index() const
+
+    Return page index
+*/
+int HsPageData::index() const
+{
+	return mIndex;
+}
+
+/*!
+    \fn QList<HsWidgetData> HsPageData::widgets() const
+
+    Get widgets belonging to this page
+*/
+QList<HsWidgetData> HsPageData::widgets() const
+{
+	return mWidgets; 
+}
+
+/*!
+    \fn QList<HsWidgetData> &HsPageData::widgets()
+
+    Get modifiable list of widgets belonging to this page
+*/
+QList<HsWidgetData> &HsPageData::widgets()
+{
+    return mWidgets; 
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsscene.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,234 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <HbInstance>
+#include "hsscene.h"
+#include "hsscene_p.h"
+#include "hsscenedata.h"
+#include "hspage.h"
+#include "hspagedata.h"
+#include "hswidgethost.h"
+#include "hsdatabase.h"
+#include "hswallpaper.h"
+#ifndef Q_OS_SYMBIAN
+#include "hsipcconnectiondispatcher.h"
+#endif
+
+HsScenePrivate::HsScenePrivate()
+    : mDatabaseId(-1),
+      mIsOnline(true),
+      mWallpaper(0),
+      mActivePage(0),
+      mActiveWidget(0)
+#ifndef Q_OS_SYMBIAN
+      ,mIpcConnectionDispatcher(0)
+#endif
+{
+    mWallpaper = new HsWallpaper;
+}
+ 
+HsScenePrivate::~HsScenePrivate()
+{
+    delete mWallpaper;
+    qDeleteAll(mPages);
+}
+    
+HsScene::~HsScene()
+{
+}
+
+int HsScene::databaseId() const
+{
+    return mD->mDatabaseId;
+}
+
+bool HsScene::load()
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    HsSceneData sceneData;
+    if (!db->scene(sceneData)) {
+        return false;
+    }
+
+    if (sceneData.portraitWallpaper().isEmpty()) {
+        mD->mWallpaper->setImagesById();
+    } else {
+        mD->mWallpaper->setImagesByPaths(
+            sceneData.landscapeWallpaper(), 
+            sceneData.portraitWallpaper());
+    }
+
+    QList<HsPageData> pageDatas;
+    if (!db->pages(pageDatas) || pageDatas.empty()) {
+        return false;
+    }
+    
+    HsPage *page = 0;
+    foreach (HsPageData pageData, pageDatas) {
+        page = new HsPage;
+        page->setDatabaseId(pageData.id());
+        if (page->load()) {
+            mD->mPages << page;
+        } else {
+            qDebug() << "HsScene: Page loading failed.";
+            // TODO
+        }
+    }
+
+    int defaultPageIndex = sceneData.defaultPage().index();        
+    if(defaultPageIndex > -1){
+        mD->mActivePage = mD->mPages[defaultPageIndex];
+        mD->mActivePage->setRemovable(false);
+    }
+#ifndef Q_OS_SYMBIAN
+    mD->mIpcConnectionDispatcher = new HsIpcConnectionDispatcher("hs_content_publish");
+    mD->mIpcConnectionDispatcher->setParent(this);
+    return mD->mIpcConnectionDispatcher->start();
+#endif    
+}
+
+HsWallpaper *HsScene::wallpaper() const
+{
+    return mD->mWallpaper;
+}
+
+QList<HsPage *> HsScene::pages() const
+{
+    return mD->mPages;
+}
+    
+bool HsScene::addPage(HsPage *page)
+{
+    if (!page) {
+        return false;
+    }
+   
+    if (mD->mPages.contains(page)) {
+        return true;
+    }
+
+    HsDatabase *db = HsDatabase::instance();
+
+    HsPageData pageData;
+    if (!db->page(page->databaseId(), pageData, false)) {
+        return false;
+    }
+    int index = mD->mPages.count();
+    if (pageData.index() != index) {
+        pageData.setIndex(index);
+        if (!db->updatePage(pageData, false)) {
+            return false;
+        }
+    }
+    
+    mD->mPages << page;
+    return true;
+}
+    
+bool HsScene::removePage(HsPage *page)
+{
+    if (!page) {
+        return false;
+    }
+    return mD->mPages.removeOne(page);
+}
+ 
+bool HsScene::setActivePage(HsPage *page)
+{
+    if (!page) {
+        return false;
+    }
+   
+    if (!mD->mPages.contains(page)) {
+        return false;
+    }
+
+    mD->mActivePage = page;
+    return true;
+}
+
+bool HsScene::setActivePageIndex(int index)
+{
+    if (index < 0 || mD->mPages.count() <= index) {
+        return false;
+    }
+    return setActivePage(mD->mPages[index]);
+}
+
+HsPage *HsScene::activePage() const
+{
+    return mD->mActivePage;
+}
+
+int HsScene::activePageIndex() const
+{
+    return mD->mPages.indexOf(mD->mActivePage);
+}
+
+void HsScene::setActiveWidget(HsWidgetHost *widget)
+{
+    mD->mActiveWidget = widget;
+}
+ 
+HsWidgetHost *HsScene::activeWidget() const
+{
+    return mD->mActiveWidget;
+}
+/*!
+    Toggle application online state. Defaults 
+    to true.
+*/
+void HsScene::setOnline(bool online)
+{
+    mD->mIsOnline = online;
+    foreach (HsPage *page, mD->mPages) {
+        page->setOnline(online);
+    }
+}
+
+bool HsScene::isOnline()const
+{
+    return mD->mIsOnline;
+}
+
+HsScene *HsScene::instance()
+{
+    if (mInstance.isNull()) {
+        mInstance.reset(new HsScene);
+    }
+    return mInstance.data();
+}
+
+Qt::Orientation HsScene::orientation()
+{
+    return hbInstance->orientation();
+}
+
+HbMainWindow *HsScene::mainWindow()
+{
+    return hbInstance->allMainWindows().first();
+}
+
+HsScene::HsScene(QObject *parent)
+    : QObject(parent)
+{
+    mD.reset(new HsScenePrivate);
+}
+
+QScopedPointer<HsScene> HsScene::mInstance(0);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsscenedata.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Scene meta data.
+*
+*/
+
+
+#include "hsscenedata.h"
+
+
+/*!
+    \class HsSceneData
+    \ingroup group_hsdatamodel
+    \brief Contains scene metadata.
+
+    Used by content store and content service for
+    holding scene metadata.
+*/
+
+
+/*!
+    \fn HsSceneData::HsSceneData()
+
+    Initialize scene id to -1
+*/
+HsSceneData::HsSceneData() 
+    : mId(-1)
+{
+
+}
+
+/*!
+    \fn HsSceneData::~HsSceneData()
+
+    Destructor
+*/
+HsSceneData::~HsSceneData()
+{
+
+}
+
+/*!
+    \fn void HsSceneData::setId(int id)
+
+    Set scene \a id
+*/
+void HsSceneData::setId(int id)
+{
+	mId = id;
+}
+
+/*!
+    \fn int HsSceneData::id() const
+
+    Return scene id
+*/
+int HsSceneData::id() const
+{
+    return mId;
+}
+
+/*!
+    Sets portrait wallpaper \a path.
+*/
+void HsSceneData::setPortraitWallpaper(const QString &path)
+{
+	mPortraitWallpaper = path;
+}
+
+/*!
+    Returns portrait wallpaper.
+*/
+QString HsSceneData::portraitWallpaper() const
+{
+	return mPortraitWallpaper;
+}
+
+/*!
+    Sets landscape wallpaper \a path.
+*/
+void HsSceneData::setLandscapeWallpaper(const QString &path)
+{
+	mLandscapeWallpaper = path;
+}
+
+/*!
+    Returns landscape wallpaper.
+*/
+QString HsSceneData::landscapeWallpaper() const
+{
+	return mLandscapeWallpaper;
+}
+
+/*!
+    \fn void HsSceneData::setDefaultPage(const HsPageData &defaultPage)
+
+    Set scene \a defaultPage 
+*/
+void HsSceneData::setDefaultPage(const HsPageData &defaultPage)
+{	
+    mDefaultPage = defaultPage;
+}
+
+/*!
+    \fn HsPageData HsSceneData::defaultPage() const
+
+    Return scene default page
+*/
+HsPageData HsSceneData::defaultPage() const
+{
+    return mDefaultPage;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hsshortcutservice.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Entry point for shortcut widget 
+*
+*/
+
+#include <QStateMachine>    
+#include "hsshortcutservice.h"
+#include "hsshortcutservice_p.h"
+#include "hsdatabase.h"
+#include "hswidgetdata.h"
+#include "hsmenueventfactory.h"
+
+namespace
+{
+    const char SHORTCUT_ID[] = "mcsId";
+    const char SHORTCUT_WIDGET_URI[] = "hsshortcutwidgetplugin";
+}
+
+HsShortcutServicePrivate::HsShortcutServicePrivate(QStateMachine *stateMachine, QObject *parent)
+    : QObject(parent),
+	  mStateMachine(stateMachine)
+{
+}
+
+HsShortcutServicePrivate::~HsShortcutServicePrivate()
+{
+
+}
+
+void HsShortcutServicePrivate::executeCollectionAction(
+        int shortcutId, const QString& collectionType)
+{
+	QEvent *menuEvent = HsMenuEventFactory::
+        createOpenCollectionEvent(shortcutId, collectionType);
+	mStateMachine->postEvent(menuEvent);
+}
+
+bool HsShortcutServicePrivate::isItemShortcutWidget(int itemId)
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+	QList<int> ids;
+	if (db->widgetIds(SHORTCUT_WIDGET_URI, ids)) {
+		for (int i = 0; i < ids.count(); ++i) {
+            QString id;
+            if (db->widgetPreferenceForKey(ids.at(i), SHORTCUT_ID, id) 
+				&& id.toInt() == itemId) {
+                return true;
+            }
+        }
+    }
+	return false;
+}
+
+HsShortcutService *HsShortcutService::instance(QStateMachine *stateMachine)
+{
+    if (!mInstance && stateMachine) {
+        mInstance.reset(new HsShortcutService(stateMachine));
+    }
+    return mInstance.data();
+}
+
+HsShortcutService::~HsShortcutService()
+{
+}
+
+void HsShortcutService::executeCollectionAction(
+        int shortcutId, const QString& collectionType)
+{
+    mD->executeCollectionAction(shortcutId, collectionType);
+}
+
+bool HsShortcutService::isItemShortcutWidget(int itemId)
+{
+    return mD->isItemShortcutWidget(itemId);
+}
+
+HsShortcutService::HsShortcutService(QStateMachine *stateMachine, QObject *parent)
+    : QObject(parent)
+{
+    mD.reset(new HsShortcutServicePrivate(stateMachine));
+}
+
+QScopedPointer<HsShortcutService> HsShortcutService::mInstance(0);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hswallpaper.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QDir>
+#include <QPainter>
+#include "hswallpaper.h"
+#include "hswallpaper_p.h"
+#include "hsscene.h"
+
+HsWallpaperPrivate::HsWallpaperPrivate()
+  : mOrientation(Qt::Vertical)
+{
+}
+ 
+HsWallpaperPrivate::~HsWallpaperPrivate()
+{
+}
+
+HsWallpaper::HsWallpaper(QGraphicsItem *parent)
+    : HbWidget(parent)
+{
+    mD.reset(new HsWallpaperPrivate);
+}
+
+HsWallpaper::~HsWallpaper()
+{
+}
+
+void HsWallpaper::paint(QPainter *painter,
+                        const QStyleOptionGraphicsItem *option, 
+                        QWidget *widget)
+{
+    Q_UNUSED(option);
+    Q_UNUSED(widget);
+
+    Qt::Orientation orientation = HsScene::orientation();
+    if (orientation != mD->mOrientation) {
+        mD->mOrientation = orientation;
+        mD->mImage = QPixmap();
+        if (orientation == Qt::Horizontal) {
+            mD->mImage.load(mD->mLImagePath);
+        } else {
+            mD->mImage.load(mD->mPImagePath);
+        }
+    }
+
+    if (!mD->mImage.isNull()) {
+        painter->drawPixmap(rect().toRect(), mD->mImage);
+    }
+}
+
+bool HsWallpaper::setImagesById(const QString &id,
+                                const QString &ext)
+{
+    return setImagesByPaths(
+        wallpaperPath(Qt::Horizontal, id, ext),
+        wallpaperPath(Qt::Vertical, id, ext));
+}
+
+bool HsWallpaper::setImagesByPaths(const QString &landscapeImagePath,
+                                   const QString &portraitImagePath)
+{
+    mD->mLImagePath = landscapeImagePath;
+    mD->mPImagePath = portraitImagePath;
+    mD->mOrientation = HsScene::orientation();
+    
+    if (mD->mOrientation == Qt::Horizontal) {
+        return mD->mImage.load(mD->mLImagePath);
+    } else {
+        return mD->mImage.load(mD->mPImagePath);
+    }
+}
+
+bool HsWallpaper::removeImages()
+{
+    if (mD->mLImagePath != wallpaperPath(Qt::Horizontal)) {
+        QFile::remove(mD->mLImagePath);
+        mD->mLImagePath.clear();
+    }
+    if (mD->mPImagePath != wallpaperPath(Qt::Vertical)) {
+        QFile::remove(mD->mPImagePath);
+        mD->mPImagePath.clear();
+    }    
+    return true;
+}
+
+QString HsWallpaper::wallpaperDirectory()
+{
+#ifdef Q_OS_SYMBIAN
+    static QString directory =
+        QDir::toNativeSeparators("c:/private/20022f35/wallpapers/");
+#else
+    static QString directory = 
+        QDir::toNativeSeparators(QDir::currentPath() + "/wallpapers/");
+#endif
+
+    return directory;
+}
+
+QString HsWallpaper::wallpaperPath(Qt::Orientation orientation,
+                                   const QString &id,
+                                   const QString &ext)
+{
+    QString orientationString = orientation == Qt::Horizontal ?
+        "_landscape." : "_portrait.";
+    return wallpaperDirectory() + id +
+           orientationString + ext;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hswidgetdata.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Home screen widget meta data.
+*
+*/
+
+
+#include "hswidgetdata.h"
+
+
+/*!
+    \class HsWidgetData 
+    \ingroup group_hsdatamodel
+    \brief Contains widget metadata.
+
+    Used by content store and content service for
+    holding widget metadata.
+*/
+
+
+
+/*!
+    \fn HsWidgetData::HsWidgetData()
+
+    Initialize widget and page id to -1
+*/
+HsWidgetData::HsWidgetData()
+    : mId(-1),
+      mPageId(-1)
+{
+
+}
+
+/*!
+    \fn HsWidgetData::~HsWidgetData()
+
+    Destructor
+*/
+HsWidgetData::~HsWidgetData()
+{
+
+}
+
+/*!
+    Set widget \a id
+*/
+void HsWidgetData::setId(int id)
+{
+	mId = id;
+}
+
+/*!
+    Return widget id
+*/
+int HsWidgetData::id() const
+{
+    return mId;
+}
+
+/*!
+    Set widget \a uri
+*/
+void HsWidgetData::setUri(const QString &uri)
+{
+	mUri = uri;
+}
+
+/*!
+     Return widget uri.
+*/
+QString HsWidgetData::uri() const
+{
+	return mUri;
+}
+
+
+/*!
+    Return widget presentations
+*/
+QList<HsWidgetPresentationData> HsWidgetData::presentations() const
+{
+    return mPresentations;
+}
+	
+/*!
+    Return modifiable widget presentations
+*/
+QList<HsWidgetPresentationData> &HsWidgetData::presentations()
+{
+	return mPresentations;
+}
+
+/*!
+    Set \a pageId where widget is
+*/
+void HsWidgetData::setPageId(int pageId)
+{
+	mPageId = pageId;
+}
+
+/*!
+    Return widget page id
+*/
+int HsWidgetData::pageId() const
+{
+    return mPageId;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hswidgethost.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,592 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QMetaObject>
+#include <QGraphicsLinearLayout>
+#include <QParallelAnimationGroup>
+#include <QPropertyAnimation>
+#include <QGraphicsDropShadowEffect>
+#include <qservicemanager.h>
+#include <qservicefilter.h>
+#include <qserviceinterfacedescriptor.h>
+
+#include <HbInstance>
+
+#include "hswidgethost.h"
+#include "hsdatabase.h"
+#include "hswidgetdata.h"
+#include "hspage.h"
+#include "hsapp_defs.h"
+#include "hsscene.h"
+#include "cadefs.h"
+#include "canotifier.h"
+#include "canotifierfilter.h"
+#include "caservice.h"
+#include "caquery.h"
+#include "caentry.h"
+
+QTM_USE_NAMESPACE
+
+/*!
+    \class HsWidgetHost
+    \ingroup group_hsutils
+    \brief Homescreen widget runner.
+    Is responsible of running a homescreen widget. Each 
+    homescreen widget has its own host.
+*/
+
+HsWidgetHost* HsWidgetHost::createInstance(const HsWidgetData &widgetData, 
+                                           const QVariantMap &preferences)
+{
+    HsWidgetHost *host = NULL;
+    
+    HsDatabase* db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    int databaseId = -1;
+    if (db->insertWidget(widgetData, databaseId)) {
+        db->setWidgetPreferences(databaseId, preferences);
+        host = new HsWidgetHost(databaseId);
+    }
+
+    return host;                
+}
+/*!
+    Construct a widget host for the given \a databaseId. 
+    \a parent becomes the parent item for the host.
+*/
+HsWidgetHost::HsWidgetHost(int databaseId, QGraphicsItem *parent)
+    : HbWidget(parent),
+      mWidget(0),
+      mPage(0),
+      mDatabaseId(databaseId)
+{
+    CaQuery query;
+    query.setEntryTypeNames(QStringList(widgetTypeName()));
+    CaNotifierFilter filter(query);    
+    CaNotifier *notifier = CaService::instance()->createNotifier(filter);
+    notifier->setParent(this);
+    connect(notifier,
+            SIGNAL(entryChanged(const CaEntry&, ChangeType)),
+            SLOT(onEntryChanged(const CaEntry&, ChangeType)), Qt::QueuedConnection);
+
+    /* TODO: Uncomment after the Qt bug has been fixed.
+    QGraphicsDropShadowEffect *effect = 
+        new QGraphicsDropShadowEffect(this);
+    effect->setColor(QColor(0, 0, 0, 150));
+    effect->setBlurRadius(5);
+    effect->setOffset(3);
+    setGraphicsEffect(effect);
+    */
+}
+
+/*!
+    Destructor.
+*/
+HsWidgetHost::~HsWidgetHost()
+{
+}
+/*!
+    Load hosted widget from plugin and validate it.
+    Returns true if widget construction is successfull.
+*/
+bool HsWidgetHost::load()
+{
+    if (mWidget) {
+        return false;
+    }
+
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    // Find the widget data.
+    HsWidgetData widgetData;
+    if (!db->widget(mDatabaseId, widgetData, false)) {
+        return false;
+    }
+
+    mUri = widgetData.uri();
+
+    // Create the hosted widget.
+    QServiceManager manager;
+    QServiceFilter filter("com.nokia.IHomeScreenWidget");
+    filter.setServiceName(widgetData.uri());
+    QList<QServiceInterfaceDescriptor> interfaces = manager.findInterfaces(filter);
+    if(interfaces.isEmpty()) {
+        return false;
+    }
+
+    QObject *widgetObject = manager.loadInterface(interfaces.first());
+    mWidget = qobject_cast<QGraphicsWidget *>(widgetObject);
+
+    if (!mWidget || 
+        !setMethod("onShow()", mOnShowMethod) ||
+        !setMethod("onHide()", mOnHideMethod)) {
+        mWidget = 0;
+        delete widgetObject;
+        return false;
+    }
+    
+    setProperty("isOnline", mIsOnlineProperty);
+    setMethod("onInitialize()", mOnInitializeMethod);    
+    setMethod("onUninitialize()", mOnUninitializeMethod);
+       
+    if (hasSignal("setPreferences(const QStringList&)")) {
+        connect(mWidget, SIGNAL(setPreferences(QStringList)),
+                SLOT(onSetPreferences(QStringList)));
+    }
+    if (hasSignal("finished()")) {
+        connect(mWidget, SIGNAL(finished()),
+                SLOT(onFinished()));
+    }
+    if (hasSignal("error()")) {
+        connect(mWidget, SIGNAL(error()),
+                SLOT(onError()));
+    }
+
+    loadWidgetPresentation();
+
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout;
+    layout->setContentsMargins(0, 0, 0, 0);
+    layout->addItem(mWidget);
+    setLayout(layout);
+    
+    return true;
+}
+
+bool HsWidgetHost::setPage(HsPage *page)
+{
+    HsDatabase* db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    HsWidgetData data;
+    if (db->widget(mDatabaseId, data, false)) {
+        if (!page) {
+            data.setPageId(-1);
+        } else {
+            data.setPageId(page->databaseId());
+        }
+        if (!db->updateWidget(data, false)) {
+            return false;
+        }
+    } else {
+        return false;
+    }
+
+    mPage = page;
+    return true;
+}
+ 
+HsPage *HsWidgetHost::page() const
+{
+    return mPage;
+}
+
+/*!
+    Returns true if this host has a valid widget set.
+    Otherwise, return false.
+*/
+bool HsWidgetHost::isValid() const
+{
+    return mWidget;
+}
+
+/*!
+    Returns database id
+*/
+int HsWidgetHost::databaseId() const
+{
+    return mDatabaseId; 
+}
+
+/*!
+    Returns true if this the database operation succeeds,
+    false otherwise
+*/
+bool HsWidgetHost::deleteFromDatabase()
+{
+    if (HsDatabase::instance()->deleteWidget(mDatabaseId)) {
+        mDatabaseId = -1;
+        return true;
+    }
+    return false;
+}
+
+/*!
+    Set widget presentation by using current values.
+    Return true if successfull.
+*/
+bool HsWidgetHost::setWidgetPresentation()
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    QString key = hbInstance->orientation() == Qt::Vertical ? 
+        "portrait" : "landscape";
+   
+    HsWidgetPresentationData data;
+    data.setWidgetId(databaseId());
+    data.setKey(key);
+    data.setPosition(pos());
+    data.setSize(size());
+    data.setZValue(zValue());
+    
+    HsWidgetPresentationData temp;
+    if (!db->widgetPresentation(databaseId(), key, temp)) {        
+        if (!db->insertWidgetPresentation(data)) {
+            return false;
+        }
+    } else {
+        data.setId(temp.id());
+        if (!db->updateWidgetPresentation(data)) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+/*!
+    Set widget presentation data. Return true if successfull
+
+*/
+bool HsWidgetHost::setWidgetPresentationData(HsWidgetPresentationData &presentationData)
+{
+    presentationData.setWidgetId(mDatabaseId);
+    return HsDatabase::instance()->insertWidgetPresentation(presentationData);
+}
+/*!
+    Get widget presentation data matching given \a key. 
+    Data is returned on given empty \a presentationData. Return true if successfull 
+*/
+bool HsWidgetHost::widgetPresentationData(
+    const QString &key,
+    HsWidgetPresentationData &presentationData)
+{
+    return HsDatabase::instance()->widgetPresentation(mDatabaseId,key,presentationData);
+}
+
+/*!
+    Return HsWidgetPresentationData for given \a orientation
+*/
+HsWidgetPresentationData HsWidgetHost::widgetPresentation(Qt::Orientation orientation)
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    QString key = orientation == Qt::Vertical ? 
+        "portrait" : "landscape";
+
+    HsWidgetPresentationData data;
+    if (db->widgetPresentation(databaseId(), key, data)) {
+        return data;
+    } else {
+        return HsWidgetPresentationData();
+    }
+
+}
+
+/*!
+    Load HsWidgetPresentationData for current orientation
+*/
+bool HsWidgetHost::loadWidgetPresentation()
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    QString key = hbInstance->orientation() == Qt::Vertical ? 
+        "portrait" : "landscape";
+
+    HsWidgetPresentationData data;
+    if (!db->widgetPresentation(databaseId(), key, data)) {
+        return false;
+    }
+
+    setGeometry(QRectF(data.position(), data.size()));
+    setZValue(data.zValue());
+
+    return true;
+}
+
+/*!
+    Delete HsWidgetPresentationData for given \a orientation.
+    Return true if successfull.
+*/
+bool HsWidgetHost::deleteWidgetPresentation(Qt::Orientation orientation)
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    QString key = orientation == Qt::Vertical ? 
+        "portrait" : "landscape";
+
+    HsWidgetPresentationData data;
+    if (!db->widgetPresentation(databaseId(), key, data)) {
+        return true;
+    } else {
+        if (!db->deleteWidgetPresentation(data.id())) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+/*!
+    \fn void HsWidgetHost::finished()
+    This signal is emitten after the contained widget
+    hs reported is completion.
+*/
+
+/*!
+    \fn void HsWidgetHost::error()
+    This signal is emitten after the contained widget
+    hs reported an error.
+*/
+
+/*!
+    Calls the widget's onInitialize() slot if the
+    widget defines it.
+*/
+void HsWidgetHost::initializeWidget()
+{    
+    setPreferencesToWidget();
+    setOnline(HsScene::instance()->isOnline());
+    mOnInitializeMethod.invoke(mWidget);
+}
+
+/*!
+    Calls the widget's onShow() slot if the
+    widget defines it.
+*/
+void HsWidgetHost::showWidget()
+{
+    mOnShowMethod.invoke(mWidget);
+}
+
+/*!
+    Calls the widget's onHide() slot if the
+    widget defines it.
+*/
+void HsWidgetHost::hideWidget()
+{
+    mOnHideMethod.invoke(mWidget);
+}
+
+/*!
+    Calls the widget's onUninitialize() slot if the
+    widget defines it.
+*/
+void HsWidgetHost::uninitializeWidget()
+{
+    mOnUninitializeMethod.invoke(mWidget);
+}
+
+/*!
+    Calls the widget's widgetOnlineState property if the
+    widget defines it.
+*/
+void HsWidgetHost::setOnline(bool online)
+{
+    mIsOnlineProperty.write(mWidget, online);
+}
+
+/*!
+    Starts the widget drag animation.
+*/
+void HsWidgetHost::startDragAnimation()
+{
+    /* TODO: Uncomment after the Qt bug has been fixed.
+    QGraphicsDropShadowEffect *effect = 
+        static_cast<QGraphicsDropShadowEffect *>(graphicsEffect());
+    */
+
+    setTransformOriginPoint(rect().center());
+
+    QParallelAnimationGroup *animationGroup = new QParallelAnimationGroup();
+
+    QPropertyAnimation *animation = new QPropertyAnimation(this, "scale");
+    animation->setDuration(200);
+    animation->setEndValue(1.1);
+    animationGroup->addAnimation(animation);
+
+    /* TODO: Uncomment after the Qt bug has been fixed.
+    animation = new QPropertyAnimation(effect, "offset");
+    animation->setDuration(200);
+    animation->setEndValue(QPointF(8 ,8));
+    animationGroup->addAnimation(animation);
+    */
+
+    animationGroup->start(QAbstractAnimation::DeleteWhenStopped);
+}
+ 
+/*!
+    Starts the widget drop animation.
+*/
+void HsWidgetHost::startDropAnimation()
+{
+    /* TODO: Uncomment after the Qt bug has been fixed.
+    QGraphicsDropShadowEffect *effect = 
+        static_cast<QGraphicsDropShadowEffect *>(graphicsEffect());
+    */
+
+    QParallelAnimationGroup *animationGroup = new QParallelAnimationGroup;
+
+    QPropertyAnimation *animation = new QPropertyAnimation(this, "scale");
+    animation->setDuration(200);
+    animation->setEndValue(1);
+    animationGroup->addAnimation(animation);
+
+    /* TODO: Uncomment after the Qt bug has been fixed.
+    animation = new QPropertyAnimation(effect, "offset");
+    animation->setDuration(200);
+    animation->setEndValue(QPointF(3, 3));
+    animationGroup->addAnimation(animation);
+    */
+
+    animationGroup->start(QAbstractAnimation::DeleteWhenStopped);
+}
+
+/*!
+    Checks if a property with the given \a name
+    in the contained widget. If the property exists the \a
+    metaProperty is made to reference to it. Returns true if
+    the property was found. Otherwise, returns false.
+*/
+bool HsWidgetHost::setProperty(const char *name, QMetaProperty &property)
+{
+    const QMetaObject *object = mWidget->metaObject();
+    int index = object->indexOfProperty(name);
+    property = object->property(index);
+    return index >= 0;
+}
+
+/*!
+    Checks if a slot with the given \a signature exists
+    in the contained widget. If the slot exists the \a
+    method is made to reference to it. Returns true if
+    the slot was found. Otherwise, returns false.
+*/
+bool HsWidgetHost::setMethod(const char *signature, QMetaMethod &method)
+{
+    const QMetaObject *object = mWidget->metaObject();
+    int index = object->indexOfMethod(
+        QMetaObject::normalizedSignature(signature));
+    method = object->method(index);
+    return index >= 0;
+}
+
+/*!
+    Returns true if a signal with the given \a signature
+    exists in the contained widget. Otherwise, returns 
+    false.
+*/
+bool HsWidgetHost::hasSignal(const char *signature)
+{
+    const QMetaObject *object = mWidget->metaObject();
+    int index = object->indexOfSignal(
+        QMetaObject::normalizedSignature(signature));
+    return index >= 0;
+}
+/*!
+    Returns true if fetching widget preferences from db and setting those
+    to widget is successfull
+*/
+bool HsWidgetHost::setPreferencesToWidget()
+{
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    QVariantMap preferences;
+    if (!db->widgetPreferences(mDatabaseId, preferences)) {
+        return false;
+    }
+
+    QStringList names = preferences.keys();
+    foreach(QString name, names) {
+        mWidget->setProperty(name.toLatin1(),
+                             preferences.value(name));
+    }
+
+    return true;
+}
+
+/*!
+    This slot is connected to the contained widget's
+    setPreferences() signal, if it was defined for
+    the widget. The widget emits the signal for persisting
+    its preferences named with \a names. The given
+    preferences are read, validated, and written to
+    the database.
+*/
+void HsWidgetHost::onSetPreferences(const QStringList &names)
+{
+    if (names.isEmpty()) {
+        return;
+    }
+
+    QVariantMap preferences;
+
+    foreach (QString name, names) {
+        QVariant value = mWidget->property(name.toLatin1());
+        preferences.insert(name, value);
+    }
+
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    if (!db->setWidgetPreferences(mDatabaseId, preferences)) {
+        onError();
+    }
+}
+
+/*!
+    This slot reacts to the widgets finished() signal, if 
+    it was defined for the widget. The widget emits the signal
+    when it has finished its execution and is ready for 
+    removal from the homescreen.
+*/
+void HsWidgetHost::onFinished()
+{
+    emit widgetFinished(this);
+}
+
+/*!
+    This slot reacts to the widgets error() signal, if it was 
+    defined for the widget. The widget emits the signal in 
+    failure cases.
+*/
+void HsWidgetHost::onError()
+{
+    emit widgetError(this);
+}
+
+/*!
+    This slot reacts to \a entry change that is described with 
+    \a changeType. On remove change type, onFinished() signal is
+    emitted.
+*/
+void HsWidgetHost::onEntryChanged(const CaEntry &entry, 
+                                  ChangeType changeType)
+{
+    if (changeType == RemoveChangeType) {
+        QString uri = entry.attribute(widgetUriAttributeName());
+        if (uri == mUri) {
+            onFinished();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hswidgetpresentationdata.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Home screen widget presentation data.
+*
+*/
+
+
+#include "hswidgetpresentationdata.h"
+
+/*!
+    \class HsWidgetPresentationData
+    \ingroup group_hsdatamodel
+    \brief Contains widget presentation metadata.
+
+    Used by content store and content service for
+    holding widget presentation metadata.
+ 
+*/
+
+
+
+
+/*!
+    Initialize id and widget id to -1 and z value to 0.0 
+*/
+HsWidgetPresentationData::HsWidgetPresentationData()
+    : mId(-1),
+      mWidgetId(-1),
+      mZValue(0.0)
+{
+
+}
+
+/*!
+    Destructor
+*/
+HsWidgetPresentationData::~HsWidgetPresentationData()
+{
+
+}
+
+/*!
+    Set widget \a id 
+*/
+void HsWidgetPresentationData::setId(int id)
+{
+    mId = id;
+}	
+
+/*!
+    Return widget id 
+*/ 
+int HsWidgetPresentationData::id() const
+{
+    return mId;
+}
+  
+/*!
+    Set \a key to distinguish presentations
+*/
+void HsWidgetPresentationData::setKey(const QString &key)
+{
+    mKey = key;
+}
+	    
+/*!
+    Return presentation key 
+*/ 
+QString HsWidgetPresentationData::key() const
+{
+    return mKey;
+}
+
+/*!
+    Set \a position 
+*/ 
+void HsWidgetPresentationData::setPosition(const QPointF &position)
+{
+    mPosition = position;
+}
+   
+/*!
+    Return position 
+*/ 
+QPointF HsWidgetPresentationData::position() const
+{
+    return mPosition;
+}
+
+/*!
+    Set \a zValue 
+*/  
+void HsWidgetPresentationData::setZValue(qreal zValue)
+{
+    mZValue = zValue;
+}
+
+/*!
+    Return z value 
+*/
+qreal HsWidgetPresentationData::zValue() const
+{
+    return mZValue;
+}
+
+/*!
+    Set \a size 
+*/ 
+void HsWidgetPresentationData::setSize(const QSizeF &size)
+{
+    mSize = size;
+}
+
+/*!
+    Return size 
+*/
+QSizeF HsWidgetPresentationData::size() const
+{
+    return mSize;
+}
+
+/*!
+    Set \a widgetId 
+*/
+void HsWidgetPresentationData::setWidgetId(int widgetId)
+{
+    mWidgetId = widgetId;
+}	
+
+/*!
+    Return widget id
+*/
+int HsWidgetPresentationData::widgetId() const
+{
+    return mWidgetId;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/hsutils.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+HEADERS += ./inc/*.h
+
+SOURCES += ./src/*.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/hsutils.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = lib
+
+include (../common.pri)
+
+CONFIG += hb 
+QT += sql
+
+DEFINES += HSUTILS_LIB
+DEPENDPATH += . \
+              inc \
+              src
+
+INCLUDEPATH += . \
+               inc \
+            ../serviceproviders/hsmenuserviceprovider/inc
+
+symbian: {
+    TARGET.UID3 = 0x20022F3C
+}
+
+include(hsutils.pri)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hsapptranslator.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Homescreen application translator class.
+*
+*/
+
+#ifndef HSAPPTRANSLATOR_H
+#define HSAPPTRANSLATOR_H
+
+#include <QObject>
+#include <QList>
+#include "hsutils_global.h"
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+class QEvent;
+class QTranslator;
+
+class HSUTILS_EXPORT HsAppTranslator : public QObject
+{
+    Q_OBJECT
+
+public:
+    ~HsAppTranslator();
+    static HsAppTranslator *instance();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+public:
+    void setLanguage();
+
+private:
+    void loadTranslators(const QString &locale);
+    void removeTranslators();
+
+signals:
+
+    void languageChanged();
+
+private:
+    HsAppTranslator(QObject* aParent = 0);
+    Q_DISABLE_COPY(HsAppTranslator)
+    static HsAppTranslator *mInstance;
+    QList<QTranslator *> mTranslatorList;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(t_hsUtils)
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hsimagegridwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Represents a page in the framework.
+*
+*/
+
+#ifndef HSIMAGEGRIDWIDGET_H
+#define HSIMAGEGRIDWIDGET_H
+
+#include <HbView>
+#include "hsutils_global.h"
+
+class HbGridView;
+class QStandardItemModel;
+class QModelIndex;
+
+class HSUTILS_EXPORT HsImageGridWidget : public HbView
+{
+	Q_OBJECT
+
+public:
+
+    HsImageGridWidget(const QStringList &imageFiles, QGraphicsItem *parent = 0);
+	~HsImageGridWidget();
+
+    void setContent(const QStringList &imageFiles);
+	
+signals:
+    void imageSelected(const QString &selectedImage);
+
+private slots:
+	void gridItemActivated(const QModelIndex &index);
+
+private:	
+	HbGridView *mGridView;
+	QStandardItemModel *mGridModel;
+};
+
+#endif // HSIMAGEGRIDWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hsmenuevent.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Menu Event.
+*
+*/
+
+#ifndef HSMENUEVENT_H
+#define HSMENUEVENT_H
+
+#include <QEvent>
+#include <QObject>
+#include <qeventtransition.h>
+#include <QVariant>
+
+#include "hstest_global.h"
+#include "hsutils_global.h"
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+
+
+class HSUTILS_EXPORT HsMenuEvent : public QEvent
+{
+public:
+    enum OperationType {
+        AddToHomeScreen,
+        OpenCollection,
+        RenameCollection,
+        DeleteCollection,
+        CollectionDeleted,
+        AddAppsToCollection,
+        RemoveAppFromCollection,
+        OpenApplicationLibrary,
+        OpenHomeScreen,
+        ArrangeCollection,
+        CreateCollection,
+        PreviewHSWidget,
+        Unknown
+    };
+
+    static QEvent::Type eventType();
+
+    HsMenuEvent(OperationType aOperation, const QVariantMap &aData = QVariantMap());
+
+    OperationType operation() const;
+
+    QVariantMap data() const;
+
+private:
+
+    OperationType mOperation;
+
+    QVariantMap mData;
+};
+
+
+#endif //HSMENUEVENT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hsmenueventfactory.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Menu Event Factory.
+*
+*/
+
+
+#ifndef HSMENUEVENTFACTORY_H
+#define HSMENUEVENTFACTORY_H
+
+#include <QEvent>
+#include <QObject>
+
+#include <qeventtransition.h>
+
+#include "hstest_global.h"
+#include "hsutils_global.h"
+#include "hsapp_defs.h"
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+
+class HSUTILS_EXPORT HsMenuEventFactory: public QObject
+{
+
+private:
+    HsMenuEventFactory();
+
+public:
+
+    static QEvent *createAddToHomeScreenEvent(
+        int entryId,
+        const QString &entryTypeName = QString(),
+        const QString &uri = QString(),
+        const QString &library = QString()
+    );
+
+    static QEvent *createOpenCollectionEvent(int itemId,
+            const QString &collectionType);
+
+    static QEvent *createRenameCollectionEvent(int aItemId);
+
+    static QEvent *createNewCollectionEvent();
+
+    static QEvent *createDeleteCollectionEvent(int aItemId);
+
+    static QEvent *createOpenAppLibraryEvent(
+        HsMenuMode menuMode = NormalHsMenuMode);
+
+    static QEvent *createOpenHomeScreenEvent();
+
+    static QEvent *createCollectionDeletedEvent();
+
+    static QEvent *createAddAppsFromApplicationsViewEvent(
+        HsSortAttribute aApplicationsSortOder,
+        HsSortAttribute aCollectionsSortOder,
+        int aItemId = 0);
+
+    static QEvent *createAddAppsFromCallectionViewEvent(
+        int aCollectionId,
+        int aApplicationId = 0,
+        HsSortAttribute aCollectionsSortOder = NoHsSortAttribute);
+
+    static QEvent *createRemoveAppFromCollectionEvent(int aItemId, int aCollectionId);
+
+    static QEvent *createArrangeCollectionEvent(int aTopItemId);
+
+    static QEvent *createPreviewHSWidgetEvent(
+        int entryId,
+        const QString &entryTypeName = QString(),
+        const QString &uri = QString(),
+        const QString &library = QString()
+    );
+
+    static QEvent *createUnknownEvent();
+
+};
+
+
+#endif //HSMENUEVENTFACTORY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hsmenueventtransition.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Menu Event Transition.
+*
+*/
+
+
+#ifndef HSMENUEVENTTRANSITION_H
+#define HSMENUEVENTTRANSITION_H
+
+#include <QEvent>
+#include <QObject>
+#include <qeventtransition.h>
+
+#include "hsmenuevent.h"
+
+#include "hstest_global.h"
+#include "hsutils_global.h"
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+
+
+class HSUTILS_EXPORT HsMenuEventTransition: public QEventTransition
+{
+
+public:
+
+    HsMenuEventTransition(
+        HsMenuEvent::OperationType aOperation, QState *aSourceState, QState *aTargetState);
+
+protected:
+
+    bool eventTest(QEvent *event);
+
+private:
+
+    HsMenuEvent::OperationType mOperation;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(t_hsUtils)
+
+};
+
+
+#endif //HSMENUEVENTTRANSITION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hspageindicator.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Page indicator
+*
+*/
+
+#ifndef HSPAGEINDICATOR_H
+#define HSPAGEINDICATOR_H
+
+#include <hbwidget.h>
+
+#include "hsutils_global.h"
+#include "hstest_global.h"
+
+class QGraphicsLinearLayout;
+class QParallelAnimationGroup;
+class HbIconItem;
+
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+class HSUTILS_EXPORT HsPageIndicator: public HbWidget
+{
+    Q_OBJECT
+
+public:
+    HsPageIndicator(QGraphicsItem* parent = 0);
+    ~HsPageIndicator();
+       
+signals:
+    void currentItemChangeAnimationFinished();
+
+public slots:
+    void addItem(bool setAsCurrent=false,bool animated=true);
+    void removeItem(bool animated=true);
+    void setCurrentIndex(int currentIndex,bool animated=true);
+
+public:
+    void setItemCount(int itemCount);    
+    int itemCount();
+    int currentIndex();
+    bool isAnimatingCurrentItemChange();
+    
+private slots:
+    void resetEffect();
+    
+private: 
+    void addItemInternal(bool setAsCurrent,int itemIndex,bool animated=true);
+
+    void startItemAnimation();
+
+private:
+    int mItemCount;
+    int mCurrentIndex;
+    HbIcon *mNonActiveIcon;
+    HbIcon *mActiveIcon;
+    QSizeF mItemSize;
+    QGraphicsLinearLayout *mPageIndicatorLayout;
+    QParallelAnimationGroup *mIconAnimationGroup;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(t_hsUtils)
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hstrashbinwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Trash bin widget.
+*
+*/
+
+#ifndef HSTRASHBINWIDGET_H
+#define HSTRASHBINWIDGET_H
+
+#include <hbwidget.h>
+
+#include "hsutils_global.h"
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+class HbIconItem;
+
+class HSUTILS_EXPORT HsTrashBinWidget : public HbWidget
+{
+	Q_OBJECT
+
+public:
+    HsTrashBinWidget(QGraphicsItem *parent = 0);
+	virtual ~HsTrashBinWidget();
+
+public:
+    void activate();
+    void deactivate();
+
+private:
+    HbIconItem *mIconItem;
+    HbIcon *mNormalIcon;
+    HbIcon *mHighlightIcon;
+    bool mNormalIconVisible;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(t_hsUtils)
+};
+ 
+#endif // HSTRASHBINWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hsutils_global.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HSUTILS_GLOBAL_H
+#define HSUTILS_GLOBAL_H
+
+#include <Qt/qglobal.h>
+
+
+#ifdef HSUTILS_LIB
+	#define HSUTILS_EXPORT Q_DECL_EXPORT
+#else
+    #ifdef HSUTILS_TEST
+        #define HSUTILS_EXPORT
+    #else
+        #define HSUTILS_EXPORT Q_DECL_IMPORT
+    #endif	
+#endif
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hswidgetpositioningonorientationchange.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef HSWIDGETPOSITIONINGONORIENTATIONCHANGE_H
+#define HSWIDGETPOSITIONINGONORIENTATIONCHANGE_H
+
+#include <QList>
+#include <QRectF>
+#include "hsutils_global.h"
+
+class HSUTILS_EXPORT HsWidgetPositioningOnOrientationChange
+{
+public:
+    virtual ~HsWidgetPositioningOnOrientationChange() {}
+    
+    virtual QList<QRectF> convert(const QRectF &fromRect, 
+                                  const QList<QRectF> &fromGeometries,
+                                  const QRectF &toRect) = 0;
+
+    static void setInstance(HsWidgetPositioningOnOrientationChange *instance);
+    static HsWidgetPositioningOnOrientationChange *instance();
+
+private:
+    static HsWidgetPositioningOnOrientationChange *mInstance;
+};
+
+
+class HSUTILS_EXPORT HsSimpleWidgetPositioningOnOrientationChange : public HsWidgetPositioningOnOrientationChange
+{
+public:
+    QList<QRectF> convert(const QRectF &fromRect, 
+                          const QList<QRectF> &fromGeometries,
+                          const QRectF &toRect);
+};
+
+
+class HSUTILS_EXPORT HsAdvancedWidgetPositioningOnOrientationChange : public HsWidgetPositioningOnOrientationChange
+{
+public:
+    QList<QRectF> convert(const QRectF &fromRect, 
+                          const QList<QRectF> &fromGeometries,
+                          const QRectF &toRect);
+};
+
+class HSUTILS_EXPORT HsRelativePositionWidgetPositioningOnOrientationChange : public HsWidgetPositioningOnOrientationChange
+{
+public:
+    QList<QRectF> convert(const QRectF &fromRect, 
+                          const QList<QRectF> &fromGeometries,
+                          const QRectF &toRect);
+};
+
+class HSUTILS_EXPORT HsKeepCornerPositionWidgetPositioningOnOrientationChange : public HsWidgetPositioningOnOrientationChange
+{
+public:
+    QList<QRectF> convert(const QRectF &fromRect, 
+                          const QList<QRectF> &fromGeometries,
+                          const QRectF &toRect);
+};
+
+#endif // HSWIDGETPOSITIONINGONORIENTATIONCHANGE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hswidgetpositioningonwidgetadd.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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 HSWIDGETPOSITIONINGONWIDGETADD_H
+#define HSWIDGETPOSITIONINGONWIDGETADD_H
+
+#include <QList>
+#include <QRectF>
+#include "hsutils_global.h"
+
+class HSUTILS_EXPORT HsWidgetPositioningOnWidgetAdd
+{
+public:
+    virtual ~HsWidgetPositioningOnWidgetAdd() {}
+    
+    virtual QList<QRectF> convert(const QRectF &contentArea,
+                                  const QList<QRectF> &widgets) = 0;
+
+    static void setInstance(HsWidgetPositioningOnWidgetAdd *instance);
+    static HsWidgetPositioningOnWidgetAdd *instance();
+
+private:
+    static HsWidgetPositioningOnWidgetAdd *mInstance;
+};
+
+class HSUTILS_EXPORT HsAnchorPointInBottomRight : public HsWidgetPositioningOnWidgetAdd
+{
+public:
+    QList<QRectF> convert(const QRectF &contentArea,
+                          const QList<QRectF> &widgets);
+};
+
+class HSUTILS_EXPORT HsAnchorPointInCenter : public HsWidgetPositioningOnWidgetAdd
+{
+public:
+    QList<QRectF> convert(const QRectF &contentArea,
+                          const QList<QRectF> &widgets);
+};
+
+
+#endif // HSWIDGETPOSITIONINGONWIDGETADD_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/xqaiwcommon.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#ifndef XQAIWCOMMON_H_
+#define XQAIWCOMMON_H_
+
+const QString KIAWGetImageServiceName = "com.nokia.services.mediafetcher.Image";
+
+enum XQAIWMultimediaFlags {
+    SelectionSingle,
+    SelectionMultiple
+};
+
+#endif /* XQAIWCOMMON_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/xqaiwgetimageclient.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+/*
+ * xqaiwgetimageclient.h
+ *
+ *  Created on: 2009-07-23
+ *      Author: przemysl
+ */
+
+#ifndef XQAIWGETIMAGECLIENT_H_
+#define XQAIWGETIMAGECLIENT_H_
+
+#include <QObject>
+#include <QVariant>
+#include <QPointer>
+#include <QStringList>
+#include "hsutils_global.h"
+#include "xqaiwcommon.h"
+
+
+class HbAction;
+class HsImageGridWidget;
+
+class HSUTILS_EXPORT XQAIWGetImageClient : public QObject
+{
+    Q_OBJECT
+public:
+    XQAIWGetImageClient();
+    ~XQAIWGetImageClient();
+    
+public slots:
+    void fetch( QVariantMap filter, XQAIWMultimediaFlags flag);
+    
+private slots: 
+    void imageSelected(const QString&);
+    void requestCompleted(const QVariant& val);
+    void imageSelectionCancelled();
+
+signals:
+    void fetchComplete( QStringList filesList);
+    void fetchFailed( int errorCode );
+
+private:
+    void findImages(const QString &aDir, const QStringList &aFilters, QStringList &aFoundImages);
+private:
+    QPointer<HsImageGridWidget> mImageGrid;//added
+    HbAction *mBackAction;//added
+
+};
+
+#endif /* XQAIWGETIMAGECLIENT_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hsapptranslator.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Homescreen application translator class.
+*
+*/
+
+#include <QEvent>
+#include <QFile>
+#include <QDir>
+#include <QApplication>
+#include <QTranslator>
+#include <QtGlobal>
+#include <QSettings>
+#include <hbinstance.h>
+#include <hbview.h>
+#include "hsapptranslator.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <f32file.h>
+#endif //Q_OS_SYMBIAN
+
+/*!
+    \class HsAppTranslator
+    \ingroup group_hsapplication
+    \brief Homescreen application main class.
+    Loads a runtime from a runtime provider plugin. Manages 
+    the runtime execution. 
+*/
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+    Stores the translator instance.
+*/
+HsAppTranslator *HsAppTranslator::mInstance = 0;
+
+/*!
+    Constructor.
+    \a parent Parent object.
+*/
+HsAppTranslator::HsAppTranslator(QObject *parent)
+  : QObject(parent)
+{  
+}
+
+/*!
+    Returns the hstranlator instance.
+*/
+HsAppTranslator *HsAppTranslator::instance()
+{
+    if (!mInstance) {
+        mInstance = new HsAppTranslator();
+    }
+    return mInstance;
+}
+
+/*!
+    Destructor.
+*/
+HsAppTranslator::~HsAppTranslator()
+{
+    removeTranslators();
+}
+
+/*!
+    \copydoc QObject::eventFilter(QObject *watched, QEvent *event) 
+*/
+bool HsAppTranslator::eventFilter(QObject *watched, QEvent *event) 
+{
+    Q_UNUSED(watched);    
+    if (event->type() == QEvent::LocaleChange) {
+        setLanguage();
+        emit languageChanged();
+        return true;
+    }
+
+    return false;
+}
+
+void HsAppTranslator::setLanguage()
+{
+    removeTranslators();
+
+#ifdef Q_OS_SYMBIAN    
+    QString locale = QLocale::system().name();
+#else
+    QString locale;
+    QFile file("hslocale.txt");
+    QTextStream stream(&file);
+    if (file.open(QIODevice::ReadWrite | QIODevice::Text)) {
+        QString word;
+        stream >> word;
+        if (!word.isEmpty()) {
+            locale = word;
+        } else {
+            locale = "en_US";
+            file.seek(0);
+            stream << locale;
+            file.close();
+        }
+    } else {
+        locale = QLocale::system().name();
+    }
+#endif //Q_OS_SYMBIAN 
+
+    loadTranslators(locale);
+}
+
+void HsAppTranslator::loadTranslators(const QString &locale)
+{
+    QString path = QDir::currentPath() + QString("/hsresources/loc");
+    QDir currentDir = QDir(path);
+
+    QString localeLowerCase = locale.toLower();
+    QString localeUpperCase = locale.toUpper();
+    QString language = locale.left(2);
+    QString languageUpperCase = language.toUpper();
+    QStringList nameFilters;
+    nameFilters << "*_" + locale + ".qm" 
+                << "*_" + localeLowerCase + ".qm" 
+                << "*_" + localeUpperCase + ".qm" 
+                << "*_" + language + ".qm" 
+                << "*_" + languageUpperCase + ".qm";
+
+    QStringList locFiles = currentDir.entryList(nameFilters, QDir::Files | QDir::NoSymLinks);
+ 
+    for (int i = 0; i < locFiles.size(); ++i) {
+        QString locFile = locFiles[i];
+        bool loaded = false;
+        QTranslator *translator = new QTranslator();
+#ifdef Q_OS_SYMBIAN    
+        TRAP_IGNORE(loaded = translator->load(locFile, path));
+#else
+        loaded = translator->load(locFile, path); 
+#endif //Q_OS_SYMBIAN    
+        if (!loaded) {
+            QString debugMsg = "ERROR: QTranslator::load() failed for " + locFile;
+            HSDEBUG(debugMsg);
+        }
+        qApp->installTranslator(translator);
+        mTranslatorList << translator;
+    }
+}
+
+void HsAppTranslator::removeTranslators()
+{
+    while (!mTranslatorList.isEmpty()) { 
+        QTranslator *translator = mTranslatorList.takeFirst();
+        qApp->removeTranslator(translator);
+        delete translator;
+        translator = 0;
+    }
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hsimagegridwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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 <QStandardItemModel>
+#include <QGraphicsLinearLayout>
+
+#include <HbGridView>
+#include <HbAction>
+#include <HbInstance>
+
+#include "hsimagegridwidget.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+namespace
+{
+    const int FILENAMEROLE = Qt::UserRole + 1;
+}
+
+/*!
+    \class HsImageGridWidget
+    \ingroup group_hsutils
+    \brief Widget which shows images in a grid. 
+ */
+
+/*!
+    Constructor.
+    \a imageFiles List of absolut paths to image files.
+    \a parent Parent item.
+*/
+HsImageGridWidget::HsImageGridWidget(const QStringList &imageFiles,
+                                     QGraphicsItem *parent)
+    : HbView(parent),
+      mGridModel(new QStandardItemModel(this))
+{
+    mGridView = new HbGridView();
+    mGridView->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAutoHide);
+    mGridView->setSelectionMode(HbAbstractItemView::NoSelection);
+    mGridView->setModel(mGridModel);
+
+    connect(mGridView,
+            SIGNAL(activated(QModelIndex)),
+            SLOT(gridItemActivated(QModelIndex)));
+
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout;
+    layout->addItem(mGridView);
+    setLayout(layout);
+
+    setContent(imageFiles);
+}
+
+/*!
+    Destructor
+*/
+HsImageGridWidget::~HsImageGridWidget()
+{
+}
+
+/*!
+    Sets content image files to widget.
+    \a images List of absolut paths to image files.
+*/
+void HsImageGridWidget::setContent(const QStringList &images)
+{
+    mGridModel->clear();
+    QSize targetSize(150, 150);
+    QList<QStandardItem *> items;
+    QStandardItem *standardItem = 0;
+    for (int i = 0; i < images.count(); ++i) {
+        QPixmap original(images[i]);
+        QIcon scaledIcon(original.scaled(targetSize, Qt::KeepAspectRatio));
+        standardItem = new QStandardItem();
+        standardItem->setData(HbIcon(scaledIcon), Qt::DecorationRole);
+        standardItem->setData(images[i], FILENAMEROLE);
+        items << standardItem;
+    }
+    mGridModel->appendColumn(items);
+}
+
+/*!
+    \fn void HsImageGridWidget::imageSelected(const QString& aSelectedImage)
+    Emitted when image is selected from a grid
+    \a aImageFiles List of absolut paths to image files.
+*/
+
+/*!
+    Finds item from model and emits imageSelected
+    \a index is the index of selected image
+*/
+void HsImageGridWidget::gridItemActivated(const QModelIndex &index)
+{
+    QVariant data = mGridModel->data(index, FILENAMEROLE);
+    emit imageSelected( data.toString() );
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hsmenuevent.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Menu Event.
+*
+*/
+
+#include "hsmenuevent.h"
+
+
+/*!
+    \class HsMenuEvent
+    \ingroup group_hsmenustateplugin
+    \brief Represents class of events in menu application state machine.
+
+    \sa HsMenuEventFactory
+    \sa HsMenuEventTransition
+*/
+
+/*!
+    \enum HsMenuEvent::OperationType
+
+    Enumerates specific types of events within the class.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::AddToHomeScreen
+    Adding to home screen.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::OpenCollection
+    Opening collection.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::RenameCollection
+    Renaming collection.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::DeleteCollection
+    Removing collection.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::CollectionDeleted
+    Removing collection completed.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::AddAppsToCollection
+    Adding applications to collection.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::RemoveAppFromCollection
+    Removing application from collection.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::OpenApplicationLibrary
+    Opening application library from shortcut.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::ArrangeCollection
+    Swith to arrange mode.
+*/
+/*! \var HsMenuEvent::OperationType HsMenuEvent::Unknown
+    Unknown menu event.
+*/
+/*!
+    \return Id identyfing the class of the events.
+*/
+QEvent::Type HsMenuEvent::eventType()
+{
+    return QEvent::Type(QEvent::User + 100);
+}
+
+
+/*!
+    Constructor.
+    \param aOperation Specific type of event ususally mapping to an user level operation.
+    \param aData Data associated with the event.
+*/
+HsMenuEvent::HsMenuEvent(OperationType aOperation,	const QVariantMap &aData):
+    QEvent(HsMenuEvent::eventType()),	mOperation(aOperation), mData(aData)
+{
+}
+
+/*!
+    \return Specific type of the event.
+ */
+HsMenuEvent::OperationType HsMenuEvent::operation() const
+{
+    return mOperation;
+}
+
+/*!
+    \return Data associated with the event.
+ */
+QVariantMap HsMenuEvent::data() const
+{
+    return mData;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hsmenueventfactory.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,269 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Menu Event Factory.
+*
+*/
+
+#include "hsmenuevent.h"
+#include "hsmenueventfactory.h"
+#include "hsapp_defs.h"
+
+
+/*!
+    \class HsMenuEventFactory
+    \ingroup group_hsmenustateplugin
+
+    \brief Menu event factory class.
+
+    \sa HsMenuEvent
+*/
+
+/*!
+    \fn HsMenuEvenFactory::HsMenuEventFactory()
+    Not used. Declared private and undefined to prevent creating
+    instances of the class.
+*/
+
+/*!
+    Prepares event triggered on add to home screen user request.
+    \param entryId Id of an item to be added to home screen.
+    \param entryTypeName Name of the entry type (e.g. application, widget).
+    \param uri Widget uri.
+    \param library Widget library path and name.
+    \return Event for adding the widget to homescreen.
+*/
+QEvent *HsMenuEventFactory::createAddToHomeScreenEvent(
+    int entryId,
+    const QString &entryTypeName,
+    const QString &uri,
+    const QString &library)
+{
+    // get CaEntry type, and if widget get uri and library stored as properties...
+    QVariantMap params;
+
+    params.insert(itemIdKey(), entryId);
+
+    if (entryTypeName == widgetTypeName()) {
+        params.insert(
+            widgetUriAttributeName(),
+            uri);
+
+        params.insert(
+            widgetLibraryAttributeName(),
+            library);
+
+        params.insert(entryTypeNameKey(), entryTypeName);
+    }
+
+    return new HsMenuEvent(HsMenuEvent::AddToHomeScreen, params);
+}
+
+/*!
+    Creates an HsMenuEvent::OpenCollection event.
+
+    \param itemId Item id of the collection to be opened.
+    \param collectionType type of the collection to be opened.
+    \return Open collection event.
+ */
+QEvent *HsMenuEventFactory::createOpenCollectionEvent(int itemId,
+        const QString &collectionType)
+{
+    QVariantMap params;
+    params.insert(itemIdKey(), itemId);
+    params.insert(entryTypeNameKey(), collectionType);
+    return new HsMenuEvent(HsMenuEvent::OpenCollection, params);
+}
+
+/*!
+    Creates an HsMenuEvent::RenameCollection event.
+
+    \param aItemId Item id of the collection to be renamed.
+    \return Rename collection event.
+ */
+QEvent *HsMenuEventFactory::createRenameCollectionEvent(int aItemId)
+{
+    QVariantMap params;
+    params.insert(itemIdKey(), aItemId);
+    return new HsMenuEvent(HsMenuEvent::RenameCollection, params);
+}
+
+/*!
+    Creates an HsMenuEvent::RenameCollection event.
+
+    \return Rename collection event.
+ */
+QEvent *HsMenuEventFactory::createNewCollectionEvent()
+{
+    QVariantMap params;
+    params.insert(itemIdKey(), 0);
+    return new HsMenuEvent(HsMenuEvent::CreateCollection, params);
+}
+
+/*!
+    Creates an HsMenuEvent::DeleteCollection event.
+
+    \param aItemId Item id of the collection to be deleted.
+    \return Delete collection event.
+ */
+QEvent *HsMenuEventFactory::createDeleteCollectionEvent(int aItemId)
+{
+    QVariantMap params;
+    params.insert(itemIdKey(), aItemId);
+    return new HsMenuEvent(HsMenuEvent::DeleteCollection, params);
+}
+
+
+/*!
+    Creates an HsMenuEvent::OpenApplicationLibrary event.
+
+    \return Open Applications Library event.
+ */
+QEvent *HsMenuEventFactory::createOpenAppLibraryEvent(HsMenuMode menuMode)
+{
+    QVariantMap params;
+    params.insert(menuModeType(), menuMode);
+    return new HsMenuEvent(HsMenuEvent::OpenApplicationLibrary, params);
+}
+
+/*!
+    Creates an HsMenuEvent::OpenHomeScreen event.
+
+    \return Open HomeScreen event.
+ */
+QEvent *HsMenuEventFactory::createOpenHomeScreenEvent()
+{
+    return new HsMenuEvent(HsMenuEvent::OpenHomeScreen);
+}
+
+/*!
+    Creates an HsMenuEvent::CollectionDeleted event.
+
+    \return Collection deleted event.
+ */
+QEvent *HsMenuEventFactory::createCollectionDeletedEvent()
+{
+    return new HsMenuEvent(HsMenuEvent::CollectionDeleted);
+}
+
+/*!
+    Creates an HsMenuEvent::AddAppsToCollection event.
+
+    \param aApplicationsSortOder applications sort order.
+    \param aCollectionsSortOder collections sort order.
+    \param aItemId item id.
+    \return Add applications to collection event.
+ */
+QEvent *HsMenuEventFactory::createAddAppsFromApplicationsViewEvent(
+    HsSortAttribute aApplicationsSortOder,
+    HsSortAttribute aCollectionsSortOder,
+    int aItemId)
+{
+    QVariantMap params;
+    params.insert(appSortOrderKey(), aApplicationsSortOder);
+    params.insert(collectionSortOrderKey(), aCollectionsSortOder);
+    params.insert(itemIdKey(), aItemId);
+    return  new HsMenuEvent(HsMenuEvent::AddAppsToCollection, params);
+}
+
+/*!
+    Creates an HsMenuEvent::AddAppsToCollection event.
+
+    \param aCollectionId collection id.
+    \param aApplicationId application id.
+    \param aCollectionsSortOder collections sort order.
+    \return Add applications to collection event.
+ */
+QEvent *HsMenuEventFactory::createAddAppsFromCallectionViewEvent(
+    int aCollectionId,
+    int aApplicationId,
+    HsSortAttribute aCollectionsSortOder)
+{
+    QVariantMap params;
+    params.insert(itemIdKey(), aApplicationId);
+    params.insert(collectionIdKey(), aCollectionId);
+    params.insert(collectionSortOrderKey(), aCollectionsSortOder);
+    return new HsMenuEvent(HsMenuEvent::AddAppsToCollection, params);
+}
+
+/*!
+    Creates an HsMenuEvent::RemoveAppFromCollection event.
+
+    \param aItemId Item id of the application to be removed from a collection.
+    \param aCollectionId Item id of the collection the application is to be removed from.
+    \return RemoveAppFromCollection event.
+ */
+QEvent *HsMenuEventFactory::createRemoveAppFromCollectionEvent(int aItemId,
+        int aCollectionId)
+{
+    QVariantMap params;
+    params.insert(itemIdKey(), aItemId);
+    params.insert(collectionIdKey(), aCollectionId);
+    return new HsMenuEvent(HsMenuEvent::RemoveAppFromCollection, params);
+}
+
+/*!
+    Creates an HsMenuEvent::ArrangeCollection event.
+
+    \param aTopItemId Item id to be scrolled.
+    \return ArrangeCollection event.
+ */
+QEvent *HsMenuEventFactory::createArrangeCollectionEvent(int aTopItemId)
+{
+    QVariantMap params;
+    params.insert(itemIdKey(), aTopItemId);
+    return new HsMenuEvent(HsMenuEvent::ArrangeCollection, params);
+}
+
+/*!
+    Prepares event triggered on tap on Widget.
+    \param entryId Id of an item.
+    \param entryTypeName Name of the entry type (e.g. application, widget).
+    \param uri Widget uri.
+    \param library Widget library path and name.
+    \return Event for preview the widget.
+*/
+QEvent *HsMenuEventFactory::createPreviewHSWidgetEvent(
+    int entryId,
+    const QString &entryTypeName,
+    const QString &uri,
+    const QString &library)
+{
+    // get CaEntry type, and if widget get uri and library stored as properties...
+    QVariantMap params;
+
+    params.insert(itemIdKey(), entryId);
+
+    params.insert(
+        widgetUriAttributeName(),
+        uri);
+
+    params.insert(
+        widgetLibraryAttributeName(),
+        library);
+
+    params.insert(entryTypeNameKey(), entryTypeName);
+
+    return new HsMenuEvent(HsMenuEvent::PreviewHSWidget, params);
+}
+
+/*!
+    Creates an HsMenuEvent::Unknown event.
+
+    \return Unknown event.
+ */
+QEvent *HsMenuEventFactory::createUnknownEvent()
+{
+    return new HsMenuEvent(HsMenuEvent::Unknown);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hsmenueventtransition.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Menu Event Transition.
+*
+*/
+
+#include <QState>
+#include "hsmenueventtransition.h"
+
+
+/*!
+    \class HsMenuEventTransition
+    \ingroup group_hsmenustateplugin
+    \brief Transition that happens when specifc event occurs.
+
+    \sa HsMenuEvent
+*/
+
+/*!
+    Constructor
+    \param aOperation Menu event specific type.
+    \param aSourceState Source state.
+    \param aTargetState Target state.
+*/
+HsMenuEventTransition::HsMenuEventTransition(
+    HsMenuEvent::OperationType aOperation, QState *aSourceState, QState *aTargetState) :
+    QEventTransition(aSourceState),
+    mOperation(aOperation)
+{
+    setTargetState(aTargetState);
+}
+
+/*!
+    Reimplements method from QEventTransition. Calls the base class method
+    passing \a event. Also stores \a event properties in the transition.
+    \param event Event to test.
+    \return \a true if \a event is going to trigger the transition.
+*/
+bool HsMenuEventTransition::eventTest(QEvent *event)
+{
+    if (event->type() == HsMenuEvent::eventType()) {
+        HsMenuEvent *me = static_cast<HsMenuEvent *>(event);
+        bool result = me->operation() == mOperation;
+
+        return result;
+    } else {
+        return false;
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hspageindicator.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,250 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Menu Event.
+*
+*/
+
+#include <QGraphicsLinearLayout>
+#include <QGraphicsBlurEffect>
+#include <QPropertyAnimation>
+#include <QParallelAnimationGroup>
+#include <QPointer>
+
+#include <HbIconItem>
+
+#include "hspageindicator.h"
+
+const char *KPageIndicatorActiveItemImageName = "qtg_graf_hspage_highlight";
+const char *KPageIndicatorNonActiveItemImageName = "qtg_graf_hspage_normal";
+
+/*! 
+    \class HsPageIndicator
+    \ingroup group_hsutils
+    \brief Page indicator widget.
+*/
+
+/*!
+    Constructor.
+
+    \a parent Owner. 
+*/
+HsPageIndicator::HsPageIndicator(QGraphicsItem* parent):
+    HbWidget(parent),
+    mItemCount(0),
+    mCurrentIndex(0),
+    mNonActiveIcon(0),
+    mActiveIcon(0),
+    mIconAnimationGroup(0)
+{
+    mItemSize = QSizeF(30, 15);
+
+    // perf improvement to load icons only once
+    mNonActiveIcon = new HbIcon(KPageIndicatorNonActiveItemImageName);
+    mActiveIcon = new HbIcon(KPageIndicatorActiveItemImageName);
+
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Horizontal);
+    layout->addStretch();
+
+    mPageIndicatorLayout = new QGraphicsLinearLayout(Qt::Horizontal);
+    layout->addItem(mPageIndicatorLayout);
+
+    layout->addStretch();
+    
+    setLayout(layout);
+}
+
+/*!
+    Destructor.
+*/
+HsPageIndicator::~HsPageIndicator()
+{
+}
+
+/*! 
+    \fn HsPageIndicator::currentItemChangeAnimationFinished()
+    Signaled when current item is changed and animation is finished.
+*/
+
+/*!
+   Add an item and animates if \a animated is true and sets the
+   new page as current if \a setAsCurrent is true
+*/
+void HsPageIndicator::addItem(bool setAsCurrent,bool animated)
+{
+    mItemCount++;
+    addItemInternal(setAsCurrent,mItemCount - 1,animated);
+}
+
+/*!
+   Removes on item and animates if \a animated is true.
+*/
+void HsPageIndicator::removeItem(bool animated)
+{
+    if (mItemCount < 1) {
+        return;
+    }
+
+    mItemCount--;
+
+    if(mCurrentIndex == mItemCount) {
+        setCurrentIndex(mItemCount-1,animated);
+    }
+    
+    QGraphicsLayoutItem *item = mPageIndicatorLayout->itemAt(mPageIndicatorLayout->count() - 1);
+    mPageIndicatorLayout->removeAt(mPageIndicatorLayout->count() - 1);
+
+    if (mItemCount < 2) {
+        hide();
+    }
+    
+    delete item;
+    layout()->invalidate();
+}
+
+/*!
+    Set \a currentIndex as current item and animates the change if \a animated
+    is true.
+*/
+void HsPageIndicator::setCurrentIndex(int currentIndex,bool animated)
+{
+    if( currentIndex < mPageIndicatorLayout->count() && currentIndex>=0) {
+        if ( mIconAnimationGroup ) {
+            mIconAnimationGroup->disconnect(this);
+            resetEffect();        
+        }
+        
+        QGraphicsLayoutItem *previousItem = mPageIndicatorLayout->itemAt(mCurrentIndex);
+        HbIconItem *previousIconItem = static_cast<HbIconItem*>(previousItem);
+        previousIconItem->setIcon(*mNonActiveIcon);
+        mCurrentIndex = currentIndex;
+
+        if (animated) {
+            startItemAnimation();
+        }
+    }
+}
+
+/*!
+    Sets the item count to \a itemCount. Ie. removes or adds items if 
+    necessary.
+*/
+void HsPageIndicator::setItemCount(int itemCount)
+{
+    if (mItemCount < itemCount) {
+        int count = itemCount - mItemCount;
+        for (int i = 0; i < count; ++i) {
+            addItem(false,false);
+        }
+    } else if (mItemCount > itemCount) {
+        int count = mItemCount - itemCount;
+        for (int i = 0; i < count; ++i) {
+            removeItem(false);
+        }
+    }
+}
+
+/*!
+    Returns the item count
+*/
+int HsPageIndicator::itemCount()
+{
+    return mItemCount;
+}
+
+
+/*!
+    Returns current index.
+*/
+int HsPageIndicator::currentIndex()
+{
+    return mCurrentIndex;
+}
+
+/*!
+    Returns true if current item animation is ongoing.
+*/
+bool HsPageIndicator::isAnimatingCurrentItemChange()
+{
+    return mIconAnimationGroup;
+}
+
+/*!
+    \internal
+*/
+void HsPageIndicator::resetEffect()
+{
+    QGraphicsLayoutItem *item = mPageIndicatorLayout->itemAt(mCurrentIndex);
+    HbIconItem *iconItem = static_cast<HbIconItem*>(item);
+    if ( iconItem ) {
+        QPointer<QGraphicsEffect> iconEffect = iconItem->graphicsEffect();
+        iconItem->setGraphicsEffect(0);
+        if (iconEffect) {
+            delete iconEffect;
+        }
+    }
+    mIconAnimationGroup = 0;
+    emit currentItemChangeAnimationFinished();
+}
+
+/*!
+    \internal    
+*/
+void HsPageIndicator::addItemInternal(bool setAsCurrent,int itemIndex,bool animated)
+{    
+    HbIconItem *iconItem = new HbIconItem();
+    iconItem->setIcon(*mNonActiveIcon);
+    iconItem->setPreferredSize(mItemSize);
+    iconItem->setMinimumSize(mItemSize);
+    iconItem->setMaximumSize(mItemSize);
+    
+    mPageIndicatorLayout->addItem(iconItem);
+    if (setAsCurrent) {
+        setCurrentIndex(itemIndex,animated);
+    }
+    layout()->invalidate();
+
+    if (mItemCount < 2) {
+        hide();
+    } else {
+        show();
+    }    
+}
+
+/*!
+    \internal    
+*/
+void HsPageIndicator::startItemAnimation()
+{
+    QGraphicsLayoutItem *item = mPageIndicatorLayout->itemAt(mCurrentIndex);
+    HbIconItem *iconItem = static_cast<HbIconItem*>(item);
+    iconItem->setIcon(*mActiveIcon);
+    
+    QGraphicsBlurEffect* iconBlurEffect = new QGraphicsBlurEffect();
+    iconBlurEffect->setBlurRadius(9);
+    iconItem->setGraphicsEffect(iconBlurEffect);
+    iconItem->setTransformOriginPoint(iconItem->rect().center());
+    
+    mIconAnimationGroup = new QParallelAnimationGroup();
+
+    QPropertyAnimation *animation = new QPropertyAnimation(iconItem, "scale");
+    animation->setDuration(1000);
+    animation->setKeyValueAt(0.5, 2);
+    animation->setEndValue(1.0);
+    mIconAnimationGroup->addAnimation(animation);
+
+    connect(mIconAnimationGroup, SIGNAL(finished()), SLOT(resetEffect()));
+
+    mIconAnimationGroup->start(QAbstractAnimation::DeleteWhenStopped);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hstrashbinwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Trash bin widget.
+*
+*/
+
+#include <QGraphicsLinearLayout>
+#include <HbIconItem>
+
+#include "hstrashbinwidget.h"
+
+const char* KTrashBinNormalItemImageName = "qtg_graf_hs_delete_normal";
+const char* KTrashBinHighlightItemImageName = "qtg_graf_hs_delete_highlight";
+
+/*!
+    \internal
+    \class HsTrashBinWidget
+    \ingroup group_hsutils
+    \brief Trash bin widget.
+*/
+
+/*!
+    \internal
+    Constructor.
+    
+    \a parent Owner.
+*/
+HsTrashBinWidget::HsTrashBinWidget(QGraphicsItem *parent)
+    : HbWidget(parent),
+      mIconItem(0),
+      mNormalIcon(0),
+      mHighlightIcon(0),
+      mNormalIconVisible(false)
+{
+    mIconItem = new HbIconItem(this);
+
+    mNormalIcon = new HbIcon(KTrashBinNormalItemImageName);
+    mHighlightIcon = new HbIcon(KTrashBinHighlightItemImageName);
+
+    mIconItem->setIcon(*mNormalIcon);
+    setPreferredSize(80,80); // workaround for icon updating problem when changing theme
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Horizontal);
+    layout->addItem(mIconItem);
+    setLayout(layout);
+}
+
+/*!
+    \internal
+    Destructor.    
+*/
+HsTrashBinWidget::~HsTrashBinWidget()
+{
+
+}
+
+/*!
+    \internal
+*/
+void HsTrashBinWidget::activate()
+{
+    if (mNormalIconVisible) {
+        mIconItem->setIcon(*mHighlightIcon);
+        mNormalIconVisible = false;
+    }
+}
+
+/*!
+    \internal
+*/
+void HsTrashBinWidget::deactivate()
+{
+    if (!mNormalIconVisible) {
+        mIconItem->setIcon(*mNormalIcon);
+        mNormalIconVisible = true;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hswidgetpositioningonorientationchange.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,277 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGlobal>
+#include "hswidgetpositioningonorientationchange.h"
+
+/*!
+    \class HsWidgetPositioningOnOrientationChange
+    \brief Defines widget positioning on orientation change.
+
+    Widget positioning on orientation change sets positions for
+    a set of home screen widgets from landscape to portrait
+    orientation and vice versa.
+*/
+
+/*!
+    Sets the positioning \a instance as the current one.
+    Deletes the existing instance if present.
+*/
+void HsWidgetPositioningOnOrientationChange::setInstance(
+    HsWidgetPositioningOnOrientationChange *instance)
+{
+    if (mInstance)
+        delete mInstance;
+    mInstance = instance;
+}
+
+/*!
+    Returns the current positioning instance.
+*/
+HsWidgetPositioningOnOrientationChange *HsWidgetPositioningOnOrientationChange::instance()
+{
+    return mInstance;
+}
+
+/*!
+    Stores the current positioning instance.
+*/
+HsWidgetPositioningOnOrientationChange *HsWidgetPositioningOnOrientationChange::mInstance = 0;
+
+/*!
+    \class HsSimpleWidgetPositioningOnOrientationChange
+    \brief Bounds center points of input geometries to
+           the given output rectangle.
+*/
+
+/*!
+    \class HsSimpleWidgetPositioningOnOrientationChange
+    \brief Simpe widget positioning algorithm.
+
+    Bounds center points of \a fromGeometries to the
+    \a toRect. \a fromRect is not used by the algorithm.
+    \verbatim
+    ------
+    | A  |
+    |    |
+    |    |
+    |    |
+    ------
+    \endverbatim
+    and after conversion widgets from A are moved to A':
+    \verbatim
+    |----------|
+    |A'        |
+    |----------|
+    \endverbatim
+    and vice versa.
+*/
+QList<QRectF> HsSimpleWidgetPositioningOnOrientationChange::convert(
+    const QRectF &fromRect,
+    const QList<QRectF> &fromGeometries,
+    const QRectF &toRect)
+{
+    Q_UNUSED(fromRect)
+    QList<QRectF> toGeometries;
+    foreach (QRectF g, fromGeometries) {
+        QPointF c(g.center());
+        qreal x = qBound(toRect.left(), c.x(), toRect.right());
+        qreal y = qBound(toRect.top(), c.y(), toRect.bottom());
+        g.moveCenter(QPointF(x, y));
+        toGeometries << g;
+    }
+    return toGeometries;
+}
+
+/*!
+    \class HsAdvancedWidgetPositioningOnOrientationChange
+    \brief More advanced widget positioning algorithm.
+
+    Calculates new center points of
+    \a fromGeometries when moving from \a fromRect to \a toRect.
+    Screen is divided to two pieces:
+    \verbatim
+    ------
+    | A  |
+    |    |
+    ------
+    | B  |
+    |    |
+    ------
+    \endverbatim
+    and after conversion widgets from A are moved to A' and widgets from B to B':
+    \verbatim
+    |-----|-----|
+    |A'   | B'  |
+    |-----|-----|
+    \endverbatim
+    and vice versa.
+*/
+QList<QRectF> HsAdvancedWidgetPositioningOnOrientationChange::convert(
+    const QRectF &fromRect,
+    const QList<QRectF> &fromGeometries,
+    const QRectF &toRect)
+{
+    QList<QRectF> toGeometries;
+	// check if moving from landscape to portrait
+    if ( fromRect.width() > fromRect.height() ) {
+        foreach (QRectF g, fromGeometries) {
+            QRectF leftHalf = QRectF(fromRect.x(), fromRect.y(), fromRect.width()/2, fromRect.height());
+            QPointF c(g.center());
+            qreal x = 0;
+            qreal y = 0;
+            if ( leftHalf.contains(c) ) {
+                x = qBound(toRect.left(), c.x(), toRect.right());
+                y = qBound(toRect.top(), c.y(), toRect.bottom());
+            } else {
+                QRectF lowerHalf = QRectF(toRect.x(), toRect.y()+toRect.height()/2, toRect.width(), toRect.height()/2);
+                x = qBound(toRect.left(), c.x()-leftHalf.width(), toRect.right());
+                y = qBound(lowerHalf.top(), c.y()+leftHalf.height(), lowerHalf.bottom());
+            }
+            g.moveCenter(QPointF(x, y));
+            toGeometries << g;
+        }
+    }
+    else {  // moving from portrait to landscape
+        foreach (QRectF g, fromGeometries) {
+            QRectF upperHalf = QRectF(fromRect.x(), fromRect.y(), fromRect.width(), fromRect.height()/2);
+            QPointF c(g.center());
+            qreal x = 0;
+            qreal y = 0;
+            if ( upperHalf.contains(c) ) {
+                x = qBound(toRect.left(), c.x(), toRect.right());
+                y = qBound(toRect.top(), c.y(), toRect.bottom());
+            } else {
+                QRectF rightHalf = QRectF(toRect.x()+toRect.width()/2, toRect.y(), toRect.width()/2, toRect.height());
+                x = qBound(rightHalf.left(), c.x()+rightHalf.width(), rightHalf.right());
+                y = qBound(toRect.top(), c.y()-upperHalf.height(), toRect.bottom());
+            }
+            g.moveCenter(QPointF(x, y));
+            toGeometries << g;
+        }
+    }
+
+    return toGeometries;
+}
+
+/*!
+    \class HsRelativePositionWidgetPositioningOnOrientationChange
+    \brief More advanced widget positioning algorithm.
+
+    Calculates new center points of
+    \a fromGeometries when moving from \a fromRect to \a toRect.
+    It calculates widget's relative position on the screen and then calculates new position on the target rect:
+    \verbatim
+      w
+    -------
+    | A   |
+    |(x,y)| h
+    |     |
+    |     |
+    -------
+    \endverbatim
+    \verbatim
+        w'
+    |----------|
+    |A'(x',y') | h'
+    |----------|
+    \endverbatim
+    A(x,y) -> A'(x',y') where x'=x*w'/w and y'=y*h'/h and w=width of original rect and h=height of original rect and
+    w'=width of target rect and h=height of target rect.
+*/
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+QList<QRectF> HsRelativePositionWidgetPositioningOnOrientationChange::convert(
+    const QRectF &fromRect,
+    const QList<QRectF> &fromGeometries,
+    const QRectF &toRect)
+{
+    qreal xTransformation = toRect.width()/fromRect.width();
+    qreal yTransformation= toRect.height()/fromRect.height();
+    QList<QRectF> toGeometries;
+    foreach (QRectF g, fromGeometries) {
+        QPointF c(g.center());
+        qreal x = qBound(toRect.left(), c.x()*xTransformation, toRect.right());
+        qreal y = qBound(toRect.top(), c.y()*yTransformation, toRect.bottom());
+        g.moveCenter(QPointF(x, y));
+        toGeometries << g;
+    }
+    return toGeometries;
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+
+/*!
+    \class HsKeepCornerPositionWidgetPositioningOnOrientationChange
+    \brief More advanced widget positioning algorithm.
+
+    Calculates new center points of
+    \a fromGeometries when moving from \a fromRect to \a toRect.
+    It checks if left or right edge is closer to widget's center and keeps that distance same on the target rect.
+    And same with upper and lower edges.
+    \verbatim
+      w
+    -------
+    | A   |
+    |(x,y)| h
+    |     |
+    |     |
+    -------
+    \endverbatim
+    \verbatim
+        w'
+    |----------|
+    |A'(x',y') | h'
+    |----------|
+    \endverbatim
+*/
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+QList<QRectF> HsKeepCornerPositionWidgetPositioningOnOrientationChange::convert(
+    const QRectF &fromRect,
+    const QList<QRectF> &fromGeometries,
+    const QRectF &toRect)
+{
+    QList<QRectF> toGeometries;
+    foreach (QRectF g, fromGeometries) {
+        QPointF c(g.center());
+        qreal x = 0;
+        qreal y = 0;
+        if ( c.x()-fromRect.x() < fromRect.right() - c.x() ) {
+            x = qBound(toRect.left(), c.x(), toRect.right());
+        }
+        else {
+            x = qBound(toRect.left(), toRect.right() - fromRect.right() + c.x(), toRect.right());
+        }
+        if ( c.y()-fromRect.y() < fromRect.bottom() - c.y() ) {
+            y = qBound(toRect.top(), c.y(), toRect.bottom());
+        }
+        else {
+            y = qBound(toRect.top(), toRect.bottom() - fromRect.bottom() + c.y(), toRect.bottom());
+        }
+        g.moveCenter(QPointF(x, y));
+        toGeometries << g;
+    }
+    return toGeometries;
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hswidgetpositioningonwidgetadd.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGlobal>
+#include "hswidgetpositioningonwidgetadd.h"
+#include <math.h>
+#include <QLineF>
+
+const qreal offset = 40; //TODO: Implement this as configurable parameter
+
+/*!
+    \class HsWidgetPositioningOnWidgetAdd
+    \brief Defines widget positioning on widget add.
+
+    Widget positioning on widget add sets positions for
+    a set of home screen widgets added from application library.
+*/
+
+/*!
+    Sets the positioning \a instance as the current one.
+    Deletes the existing instance if present.
+*/
+void HsWidgetPositioningOnWidgetAdd::setInstance(
+    HsWidgetPositioningOnWidgetAdd *instance)
+{
+    if (mInstance)
+        delete mInstance;
+    mInstance = instance;
+}
+ 
+/*!
+    Returns the current positioning instance.
+*/
+HsWidgetPositioningOnWidgetAdd *HsWidgetPositioningOnWidgetAdd::instance()
+{
+    return mInstance;
+}
+
+/*!
+    Stores the current positioning instance.
+*/
+HsWidgetPositioningOnWidgetAdd *HsWidgetPositioningOnWidgetAdd::mInstance = 0;
+
+/*!
+    \class HsAnchorPointInBottomRight
+    \brief Diagonal widget positioning algorithm.
+    
+    Sets widget's lower right corner to follow content area's diagonal.
+    Widgets are positioned to certain offset to each other.
+*/
+QList<QRectF> HsAnchorPointInBottomRight::convert(
+    const QRectF &contentArea,
+    const QList<QRectF> &widgets)
+{
+    QList<QRectF> toGeometries;
+
+    //Offset for widgets' bottom right position to each other
+    qreal k = contentArea.height()/contentArea.width(); //slope of the diagonal
+    qreal offset_x = offset/(sqrt(k + 1));
+    qreal offset_y = k*offset_x;
+    QPointF offsetPoint(offset_x, offset_y);
+    
+    QLineF diagonal(contentArea.topLeft(), contentArea.bottomRight());
+    QLineF widgetRight(contentArea.center().x()+ widgets.at(0).width()/2,
+                       contentArea.top(),
+                       contentArea.center().x()+ widgets.at(0).width()/2,
+                       contentArea.bottom());
+
+    QPointF anchorPoint;
+    if(QLineF::BoundedIntersection != diagonal.intersect(widgetRight, &anchorPoint)) {
+        return widgets; //Return original since undefined error.
+                        //In this case widget's must be wider than the content area.
+    }
+
+    //First widget to the center of the content area
+    foreach (QRectF g, widgets) {
+        g.moveBottomRight(anchorPoint);
+        toGeometries << g;
+        anchorPoint -= offsetPoint;
+        if(!contentArea.contains(anchorPoint)) {
+            anchorPoint = contentArea.bottomRight();
+        }
+    }
+    return toGeometries;
+}
+
+/*!
+    \class HsAnchorPointInCenter
+    \brief Diagonal widget positioning algorithm.
+    
+    Sets widget's center point to follow content area's diagonal.
+    Widgets are positioned to certain offset to each other.
+*/
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+QList<QRectF> HsAnchorPointInCenter::convert(
+    const QRectF &contentArea,
+    const QList<QRectF> &widgets)
+{
+    QList<QRectF> toGeometries;
+
+    //Offset for widgets' centers position to each other
+    qreal k = contentArea.height()/contentArea.width(); //slope of the diagonal
+    qreal offset_x = offset/(sqrt(k + 1));
+    qreal offset_y = k*offset_x;
+    QPointF offsetPoint(offset_x, offset_y);
+
+    //First widget to the center of the content area
+    QPointF anchorPoint = contentArea.center();
+    foreach (QRectF g, widgets) {
+        g.moveCenter(anchorPoint);
+        toGeometries << g;
+        anchorPoint -= offsetPoint;
+        if(!contentArea.contains(anchorPoint)) {
+            anchorPoint = contentArea.bottomRight();
+        }
+    }
+    return toGeometries;
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/xqaiwgetimageclient.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,192 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Moc impl for image fetcher api.
+*
+*/
+
+
+#include "xqaiwgetimageclient.h"
+
+#include "hsimagegridwidget.h"
+#include "hbinstance.h"
+#include <QDir>
+#include <hbaction.h>
+#include <QFileInfoList>
+#include <QFileInfo>
+
+
+
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+XQAIWGetImageClient::XQAIWGetImageClient():
+    mImageGrid(0)
+{
+    mImageGrid = new HsImageGridWidget(QStringList(),0);
+    mBackAction = new HbAction(Hb::BackAction, this);
+
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+XQAIWGetImageClient::~XQAIWGetImageClient()
+{
+    if(mImageGrid)
+        delete mImageGrid;
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void XQAIWGetImageClient::fetch( QVariantMap filter, XQAIWMultimediaFlags flag)
+{
+    Q_UNUSED(filter)
+    Q_UNUSED(flag)
+
+    QStringList imageDirNames;
+    QStringList imageDirs;
+
+#ifdef Q_OS_SYMBIAN
+    imageDirNames << "data/images/kqtihswallpapers/" << "images/kqtihswallpapers/";
+#else
+    imageDirNames << "resource/kqtihswallpapers/";
+#endif
+
+    foreach(QString imageDirName, imageDirNames)
+    {
+        //Check image dirs from root of different drives
+        QFileInfoList drives = QDir::drives();
+        for(int i=0; i < drives.count(); i++)
+        {
+            QFileInfo drive = drives.at(i);
+            QString driveLetter = drive.absolutePath();
+            QString path = QDir::toNativeSeparators(driveLetter + imageDirName);
+            if(QDir(path).exists())
+            {
+                imageDirs << path;
+            }
+        }
+
+        //Check image dir relative to current dir
+        QString isRelativeToCurrent = QDir::toNativeSeparators(QDir(imageDirName).absolutePath() + QDir::separator());
+        if(QDir(imageDirName).exists() && !imageDirs.contains(isRelativeToCurrent))
+        {
+            imageDirs << imageDirName;
+        }
+    }
+
+    QStringList filters;
+    filters << "*.png";
+    filters << "*.jpg";
+
+    QStringList images;
+
+    foreach(QString imageDir, imageDirs)
+    {
+        findImages(QDir(imageDir).absolutePath(), filters, images);
+    }
+
+    HbMainWindow *window = HbInstance::instance()->allMainWindows().at(0);
+    window->addSoftKeyAction(Hb::SecondarySoftKey, mBackAction);
+
+    mImageGrid->setContent(images);
+
+    connect(mImageGrid,SIGNAL(imageSelected(const QString&)),this,SLOT(imageSelected(const QString&)));
+
+    HbInstance::instance()->allMainWindows().at(0)->addView(mImageGrid);
+    HbInstance::instance()->allMainWindows().at(0)->setCurrentView(mImageGrid,false);
+
+    connect(mBackAction,SIGNAL(triggered()),this,SLOT(imageSelectionCancelled()));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void XQAIWGetImageClient::imageSelected(const QString& val)
+{
+    Q_UNUSED(val)
+    mImageGrid->disconnect(this);
+    QStringList list;
+
+    list << val;
+
+    HbMainWindow *window = HbInstance::instance()->allMainWindows().at(0);
+    window->removeView(mImageGrid);
+    window->removeSoftKeyAction(Hb::SecondarySoftKey, mBackAction);
+
+    emit fetchComplete(list);
+    QStringList images;
+    mImageGrid->setContent(images);
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void XQAIWGetImageClient::requestCompleted(const QVariant& val)
+{
+    Q_UNUSED(val)
+}
+
+void XQAIWGetImageClient::imageSelectionCancelled()
+{
+    mImageGrid->disconnect(this);
+
+    HbMainWindow *window = HbInstance::instance()->allMainWindows().at(0);
+    window->removeView(mImageGrid);
+    window->removeSoftKeyAction(Hb::SecondarySoftKey, mBackAction);
+
+    emit fetchFailed(-1);//KErrNotFound
+    QStringList images;
+    mImageGrid->setContent(images);
+
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void XQAIWGetImageClient::findImages(const QString &aDir, const QStringList &aFilters, QStringList &aFoundImages)
+{
+    QStringList foundFiles;
+
+    //Add image files from dir
+    QDir searchDir = QDir(aDir);
+    searchDir.setNameFilters(aFilters);
+    searchDir.setFilter(QDir::Files);
+    QStringList files = searchDir.entryList();
+    foreach(QString file, files)
+    {
+        aFoundImages << searchDir.absoluteFilePath(file);
+    }
+
+    //Go through sub directories
+    searchDir.setFilter(QDir::AllDirs | QDir::NoDotAndDotDot);
+    QStringList subdirs = searchDir.entryList();
+    foreach(QString subdir, subdirs)
+    {
+        //Recursive call
+        findImages(QString(searchDir.absolutePath() + QDir::separator() + subdir),
+                           aFilters,
+                           aFoundImages);
+    }
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/inc/hsapp_defs.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: declaration of functions providing string constants
+ *
+ */
+
+#ifndef HSAPP_DEFS_H_
+#define HSAPP_DEFS_H_
+#include <qstring.h>
+
+inline const QString widgetLibraryAttributeName();
+inline const QString widgetUriAttributeName();
+inline const QString applicationTypeName();
+inline const QString urlTypeName();
+inline const QString collectionTypeName();
+inline const QString collectionDownloadedTypeName();
+inline const QString menuCollectionsTypeName();
+inline const QString widgetTypeName();
+inline const QString openActionIdentifier();
+inline const QString removeActionIdentifier();
+inline const QString itemIdKey();
+inline const QString collectionIdKey();
+inline const QString collectionSortOrderKey();
+inline const QString appSortOrderKey();
+inline const QString entryTypeNameKey();
+inline const QString applicationUidEntryKey();
+inline const QString urlEntryKey();
+inline const QString defaultCollectionIconId();
+inline const QString menuModeType();
+
+// Sort attribute
+enum HsSortAttribute {
+    NoHsSortAttribute,
+    AscendingNameHsSortAttribute,
+    DescendingNameHsSortAttribute,
+    LatestOnTopHsSortAttribute,
+    OldestOnTopHsSortAttribute,
+    CustomHsSortAttribute
+};
+
+enum HsMenuMode {
+    NormalHsMenuMode,
+    AddHsMenuMode
+};
+
+#include "hsapp_defs.inl"
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/inc/hsapp_defs.inl	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: contains definition of constant strings
+ *
+ */
+
+#ifndef HSAPPDEFS_INL_
+#define HSAPPDEFS_INL_
+
+/*!
+\return widget library attribute name
+*/
+inline const QString widgetLibraryAttributeName()
+{
+    static const QString name("widget:library");
+    return name;
+}
+
+/*!
+\return widget uri attribute name
+*/
+inline const QString widgetUriAttributeName()
+{
+    static const QString name("widget:uri");
+    return name;
+}
+
+/*!
+\return application entry type name
+*/
+inline const QString applicationTypeName()
+{
+    static const QString name("application");
+    return name;
+}
+
+/*!
+\return url entry type name
+*/
+inline const QString urlTypeName()
+{
+    static const QString name("url");
+    return name;
+}
+
+/*!
+\return collection entry type name
+*/
+inline const QString collectionTypeName()
+{
+    static const QString name("collection");
+    return name;
+}
+
+/*!
+\return collection donwloaded entry type name
+*/
+inline const QString collectionDownloadedTypeName()
+{
+    static const QString name("collection::downloaded");
+    return name;
+}
+/*!
+\return menu collections entry type name
+*/
+inline const QString menuCollectionsTypeName()
+{
+    static const QString name("menucollections");
+    return name;
+}
+
+/*!
+\return widget entry type name
+*/
+inline const QString widgetTypeName()
+{
+    static const QString name("widget");
+    return name;
+}
+
+/*!
+\return identifier for open an item action
+*/
+inline const QString openActionIdentifier()
+{
+    static const QString name("open");
+    return name;
+}
+
+/*!
+\return identifier for remove an item action
+*/
+inline const QString removeActionIdentifier()
+{
+    static const QString name("remove");
+    return name;
+}
+
+/*!
+\return item id property key
+*/
+inline const QString itemIdKey()
+{
+    static const QString key("item_id");
+    return key;
+}
+
+/*!
+    \return collection id property key
+*/
+inline const QString collectionIdKey()
+{
+    static const QString key("collection_id");
+    return key;
+}
+
+/*!
+    \return collection sort order property key
+*/
+inline const QString collectionSortOrderKey()
+{
+    static const QString key("collection_sort_order");
+    return key;
+}
+
+/*!
+    \return application sort order property key
+*/
+inline const QString appSortOrderKey()
+{
+    static const QString key("app_sort_order");
+    return key;
+}
+
+/*!
+    \return entry type name property key
+*/
+inline const QString entryTypeNameKey()
+{
+    static const QString key("entry_type_name");
+    return key;
+}
+
+/*!
+    \return application uid entry key
+*/
+inline const QString applicationUidEntryKey()
+{
+    static const QString key("application:uid");
+    return key;
+}
+
+/*!
+    \return url entry key
+*/
+inline const QString urlEntryKey()
+{
+    static const QString name("url");
+    return name;
+}
+
+/*!
+    \return default collection icon id
+*/
+inline const QString defaultCollectionIconId()
+{
+    static const QString name("qtg_large_applications_user");
+    return name;
+}
+
+/*!
+    \return default bling icon id , used to mark unused downloaded apps
+*/
+inline const QString newIconId()
+{
+    static const QString name("qtg_large_super_new");
+    return name;
+}
+
+
+/*!
+    \return menu mode type
+*/
+inline const QString menuModeType()
+{
+    static const QString name("menu_mode_type");
+    return name;
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/inc/hstest_global.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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 dll header file.
+*
+*/
+
+
+#ifndef HSTEST_GLOBAL_H
+#define HSTEST_GLOBAL_H
+
+#include <QDebug>
+#ifdef NFT
+#ifdef Q_OS_SYMBIAN
+#include <e32hal.h>
+#endif
+#endif
+
+#ifndef HOMESCREEN_TEST
+    #define HOMESCREEN_TEST_CLASS(aClassName)
+#else
+    #define HOMESCREEN_TEST_CLASS(aClassName) class aClassName;
+#endif //HOMESCREEN_TEST
+
+#ifndef HOMESCREEN_TEST
+    #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName)
+#else
+    #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName) friend class aClassName;
+#endif //HOMESCREEN_TEST
+
+#define HSCATCHDEBUG qDebug("Catched in: %s on line: %d",__FILE__,__LINE__);
+#define HSDEBUG(a) qDebug() << a << " in: " << __FILE__ << " on line: " << __LINE__;
+
+
+#ifdef NFT
+    #define HSTEST(aText)                  qDebug() << QString(aText)
+#ifdef Q_OS_SYMBIAN
+    inline void HSTestFreeRam(const QString &aFunction)
+    {
+    TMemoryInfoV1Buf meminfo;
+    UserHal::MemoryInfo(meminfo);
+    int memSize = meminfo().iTotalRamInBytes >> 10;
+    int memFree = meminfo().iFreeRamInBytes >> 10;
+
+    RHeap& ownHeap = User::Heap();
+    TInt biggestBlock = 0;
+    int heapFree = ownHeap.Available(biggestBlock) >> 10;
+    int heapSize = ownHeap.Size() >> 10;
+    qDebug()<< aFunction << "memFree" << memFree << "kb memSize" << memSize << "kb heapFree" << heapFree << "kb heapSize" << heapSize;
+    }
+
+    #define HSTEST_FUNC_ENTRY(aFunction)   HSTestFreeRam(QString(aFunction)+" entry")
+    #define HSTEST_FUNC_EXIT(aFunction)    HSTestFreeRam(QString(aFunction)+" exit")
+#else //Q_OS_SYMBIAN
+    #define HSTEST_FUNC_ENTRY(aFunction)   qDebug()<< aFunction << " entry";
+    #define HSTEST_FUNC_EXIT(aFunction)    qDebug()<< aFunction << " exit";
+#endif //Q_OS_SYMBIAN
+#else //NFT
+    #define HSTEST(aText)                   qDebug() << QString(aText)
+    #define HSTEST_FUNC_ENTRY(aFunction)
+    #define HSTEST_FUNC_EXIT(aFunction)
+#endif //NFT
+
+#endif // HSTEST_GLOBAL_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/rom/homescreenapp_core.iby	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 __HOMESCREENAPP_CORE_IBY__
+#define __HOMESCREENAPP_CORE_IBY__
+
+
+// ---- hsapplication --------------------------------------------
+
+file=ABI_DIR\BUILD_DIR\hsapplication.exe                            PROGRAMS_DIR\hsapplication.exe
+data=ZPRIVATE\10003a3f\import\apps\hsapplication_reg.rsc            private\10003a3f\import\apps\hsapplication_reg.rsc
+data=\epoc32\data\z\resource\apps\hsapplication.rsc                 resource\apps\hsapplication.rsc
+data=\epoc32\data\z\resource\apps\hsapplication.mif                 resource\apps\hsapplication.mif
+data=ZPRIVATE\20022f35\homescreendb                                 private\20022f35\homescreendb
+data=ZPRIVATE\20022f35\wallpapers\d_portrait.png                    private\20022f35\wallpapers\d_portrait.png
+data=ZPRIVATE\20022f35\wallpapers\d_landscape.png                   private\20022f35\wallpapers\d_landscape.png
+data=\epoc32\data\z\data\images\kqtihswallpapers\bg_1.png           data\images\kqtihswallpapers\bg_1.png
+data=\epoc32\data\z\data\images\kqtihswallpapers\bg_2.png           data\images\kqtihswallpapers\bg_2.png
+data=\epoc32\data\z\data\images\kqtihswallpapers\bg_3.png           data\images\kqtihswallpapers\bg_3.png
+
+// ---- hsutils --------------------------------------------
+
+file=ABI_DIR\BUILD_DIR\hsutils.dll                                  SHARED_LIB_DIR\hsutils.dll
+
+// ---- hsdomainmodel --------------------------------------------
+
+file=ABI_DIR\BUILD_DIR\hsdomainmodel.dll                              SHARED_LIB_DIR\hsdomainmodel.dll
+
+// ---- runtimeplugins --------------------------------------------
+
+// -------- hsdefaultruntimeplugin
+file=ABI_DIR\BUILD_DIR\hsdefaultruntimeplugin.dll                 SHARED_LIB_DIR\hsdefaultruntimeplugin.dll
+data=\epoc32\data\z\hsresources\plugins\runtimeplugins\hsdefaultruntimeplugin.qtplugin    hsresources\plugins\runtimeplugins\hsdefaultruntimeplugin.qtplugin
+data=\epoc32\data\z\hsresources\plugins\runtimeplugins\hsdefaultruntimeplugin.xml    hsresources\plugins\runtimeplugins\hsdefaultruntimeplugin.xml
+
+// ---- serviceproviders --------------------------------------------
+
+// -------- hsmenuserviceprovider
+file=ABI_DIR\BUILD_DIR\hsmenuserviceprovider.dll                                        SHARED_LIB_DIR\hsmenuserviceprovider.dll
+
+// ---- stateplugins --------------------------------------------
+
+// -------- hsapplibrarystateplugin
+file=ABI_DIR\BUILD_DIR\hsapplibrarystateplugin.dll                                            SHARED_LIB_DIR\hsapplibrarystateplugin.dll
+data=\epoc32\data\z\hsresources\plugins\stateplugins\hsapplibrarystateplugin.qtplugin       hsresources\plugins\stateplugins\hsapplibrarystateplugin.qtplugin
+data=\epoc32\data\z\hsresources\plugins\stateplugins\hsapplibrarystateplugin.xml       hsresources\plugins\stateplugins\hsapplibrarystateplugin.xml
+
+// -------- hshomescreenstateplugin
+file=ABI_DIR\BUILD_DIR\hshomescreenstateplugin.dll                                                                  SHARED_LIB_DIR\hshomescreenstateplugin.dll
+data=\epoc32\data\z\hsresources\plugins\stateplugins\hshomescreenstateplugin.qtplugin    hsresources\plugins\stateplugins\hshomescreenstateplugin.qtplugin
+data=\epoc32\data\z\hsresources\plugins\stateplugins\hshomescreenstateplugin.xml            hsresources\plugins\stateplugins\hshomescreenstateplugin.xml
+
+// -------- hsmenuworkerstateplugin
+file=ABI_DIR\BUILD_DIR\hsmenuworkerstateplugin.dll                                            SHARED_LIB_DIR\hsmenuworkerstateplugin.dll
+data=\epoc32\data\z\hsresources\plugins\stateplugins\hsmenuworkerstateplugin.qtplugin       hsresources\plugins\stateplugins\hsmenuworkerstateplugin.qtplugin
+data=\epoc32\data\z\hsresources\plugins\stateplugins\hsmenuworkerstateplugin.xml       hsresources\plugins\stateplugins\hsmenuworkerstateplugin.xml
+
+// ---- widgetplugins --------------------------------------------
+
+// -------- hsshortcutwidgetplugin
+file=ABI_DIR\BUILD_DIR\hsshortcutwidgetplugin.dll                                             SHARED_LIB_DIR\hsshortcutwidgetplugin.dll
+data=ZPRIVATE\20022F35\import\widgetregistry\20022F46\hsshortcutwidgetplugin.qtplugin         private\20022f35\import\widgetregistry\20022F46\hsshortcutwidgetplugin.qtplugin
+data=ZPRIVATE\20022F35\import\widgetregistry\20022F46\hsshortcutwidgetplugin.manifest         private\20022f35\import\widgetregistry\20022F46\hsshortcutwidgetplugin.manifest
+data=ZPRIVATE\20022F35\import\widgetregistry\20022F46\hsshortcutwidgetplugin.xml              private\20022f35\import\widgetregistry\20022F46\hsshortcutwidgetplugin.xml
+
+// -------- hsclockwidgetplugin
+file=ABI_DIR\BUILD_DIR\hsclockwidgetplugin.dll                                                SHARED_LIB_DIR\hsclockwidgetplugin.dll
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F6C\hsclockwidgetplugin.qtplugin            private\20022f35\import\widgetregistry\20022F6C\hsclockwidgetplugin.qtplugin
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F6C\hsclockwidgetplugin.manifest            private\20022f35\import\widgetregistry\20022F6C\hsclockwidgetplugin.manifest
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F6C\tclock.png                              private\20022f35\import\widgetregistry\20022F6C\tclock.png
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F6C\hsclockwidgetplugin.xml                 private\20022f35\import\widgetregistry\20022F6C\hsclockwidgetplugin.xml
+
+// -------- hsdialerwidgetplugin
+file=ABI_DIR\BUILD_DIR\hsdialerwidgetplugin.dll                                               SHARED_LIB_DIR\hsdialerwidgetplugin.dll
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.qtplugin           private\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.qtplugin
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.manifest           private\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.manifest
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_graf_hs_dialer.svg                  private\20022f35\import\widgetregistry\20022F44\qtg_graf_hs_dialer.svg
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.xml                private\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.xml
+
+// ---- style plugins --------------------------------------------------
+
+// -------- hsanalogclockstyleplugin
+file=ABI_DIR\BUILD_DIR\hsanalogclockstyleplugin.dll                                           SHARED_LIB_DIR\hsanalogclockstyleplugin.dll
+data=\epoc32\data\z\hsresources\plugins\styleplugins\hsanalogclockstyleplugin.qtplugin        hsresources\plugins\styleplugins\hsanalogclockstyleplugin.qtplugin
+
+#endif //__HOMESCREENAPP_CORE_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/rom/homescreenapp_resources.iby	Fri Mar 19 09:27:44 2010 +0200
@@ -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 "Eclipse Public License v1.0"
+* which accompanies 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 __HOMESCREENAPP_LANGUAGE_IBY__
+#define __HOMESCREENAPP_LANGUAGE_IBY__
+
+#include <data_caging_paths_for_iby.hrh> 
+
+// -------- hsapplication
+data=DATAZ_\QT_TRANSLATIONS_DIR\homescreen.qm       QT_TRANSLATIONS_DIR\homescreen.qm
+
+// -------- hsapplibrarystateplugin
+data=DATAZ_\QT_TRANSLATIONS_DIR\hsapplibrary.qm     QT_TRANSLATIONS_DIR\hsapplibrary.qm
+
+#endif //__HOMESCREENAPP_LANGUAGE_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = lib
+CONFIG += plugin hb mobility
+MOBILITY = serviceframework publishsubscribe
+
+PLUGIN_SUBDIR = /hsresources/plugins/runtimeplugins
+
+include (../../common.pri)
+
+LIBS += -lhsdomainmodel \
+        -lhsutils
+
+QT += xml sql
+
+DEPENDPATH += ./inc \
+              ./src
+INCLUDEPATH += ./inc \
+             ../../hsutils/inc \
+             ../../hsdomainmodel/inc \
+
+symbian: {
+    TARGET.UID3 = 0x20022F3E
+    appkey:DEFINES += S60APP_KEY
+}
+
+
+include(hsdefaultruntimeplugin.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/inc/hsdefaultruntime.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Default implementation of the home screen runtime.
+*
+*/
+
+#ifndef HSDEFAULTRUNTIME_H
+#define HSDEFAULTRUNTIME_H
+
+#include <QStateMachine>
+
+#ifndef HSDEFAULTRUNTIMEPLUGIN_UNITTEST
+	#define TEST_CLASS_FWD
+	#define TEST_FRIEND
+#else
+	#define TEST_CLASS_FWD class DefaultRuntimePluginTest;
+    #define TEST_FRIEND friend class DefaultRuntimePluginTest;
+#endif
+
+class HsContentService;
+
+TEST_CLASS_FWD
+
+class HsDefaultRuntime : public QStateMachine
+{
+    Q_OBJECT
+
+public:
+    HsDefaultRuntime(QObject *parent = 0);
+    ~HsDefaultRuntime();
+
+signals:
+    void event_exit();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+private:
+    Q_DISABLE_COPY(HsDefaultRuntime)
+
+    void createContentServiceParts();
+    void createStates();
+    void assignServices();
+	void updatePSKeys();
+
+private slots:
+	void onIdleStateEntered();
+	void onIdleStateExited();
+
+private:
+    HsContentService *mContentService;	
+	
+	bool mHomeScreenActive;
+	bool mIdleStateActive;
+    
+    TEST_FRIEND
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/inc/hsdefaultruntimeplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Default runtime provider.
+*
+*/
+
+#ifndef HSDEFAULTRUNTIMEPLUGIN_H
+#define HSDEFAULTRUNTIMEPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class HsDefaultRuntimePlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+};
+
+#endif //HSDEFAULTRUNTIMEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/resource/hsdefaultruntimeplugin.s60xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsdefaultruntimeplugin</name>
+    <filepath>z:/hsresources/plugins/runtimeplugins/hsdefaultruntimeplugin.qtplugin</filepath>
+    <description>Homescreen Runtime Plugin</description>
+    <interface>
+        <name>com.nokia.homescreen.runtime.HsRuntime</name>
+        <version>1.0</version>
+        <description>Default implementation for homescreen runtime</description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/resource/hsdefaultruntimeplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsdefaultruntimeplugin</name>
+    <filepath>hsdefaultruntimeplugin</filepath>
+    <description>Homescreen Runtime Plugin</description>
+    <interface>
+        <name>com.nokia.homescreen.runtime.HsRuntime</name>
+        <version>1.0</version>
+        <description>Default implementation for homescreen runtime</description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/src/hsdefaultruntime.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,305 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Default implementation of the home screen runtime.
+*
+*/
+
+#include <QState>
+#include <QFinalState>
+#include <QSignalTransition>
+#include <QKeyEventTransition>
+
+#include <qvaluespacepublisher.h>
+#include <qservicemanager.h>
+#include <qservicefilter.h>
+#include <qserviceinterfacedescriptor.h>
+
+#include <HbInstance>
+
+#include "homescreendomainpskeys.h"
+#include "hsdefaultruntime.h"
+#include "hscontentservice.h"
+#include "hsshortcutservice.h"
+#include "hsmenueventtransition.h"
+#include "hswidgetpositioningonorientationchange.h"
+#include "hswidgetpositioningonwidgetadd.h"
+#include "hstest_global.h"
+
+QTM_USE_NAMESPACE
+
+#ifdef S60APP_KEY
+int applicationKey = Qt::Key_Launch0;
+#else
+int applicationKey = Qt::Key_Any;
+#endif
+
+/*!
+    \class HsDefaultRuntime
+    \ingroup group_hsdefaultruntimeplugin
+    \brief Default implementation of the home screen runtime.
+    Creates an execution context (EC) and populates it with
+    runtime services. States are loaded from state plugins.
+    Each state is given an access to the EC. States
+    are added to a state machine. Finally, the state machine
+    is started.
+*/
+
+/*!
+    Constructs runtime with \a parent as the parent object.
+*/
+HsDefaultRuntime::HsDefaultRuntime(QObject *parent)
+    : QStateMachine(parent),
+      mContentService(0),	  
+	  mHomeScreenActive(false),
+	  mIdleStateActive(false)
+{
+    HSTEST_FUNC_ENTRY("HS::HsDefaultRuntime::HsDefaultRuntime");
+
+    HsWidgetPositioningOnOrientationChange::setInstance(
+        new HsAdvancedWidgetPositioningOnOrientationChange);
+
+    HsWidgetPositioningOnWidgetAdd::setInstance(
+        new HsAnchorPointInBottomRight);
+
+    createContentServiceParts();
+    createStates();
+    assignServices();
+    
+	QCoreApplication::instance()->installEventFilter(this);
+    HSTEST_FUNC_EXIT("HS::HsDefaultRuntime::HsDefaultRuntime");
+}
+
+/*!
+    Destructor.
+*/
+HsDefaultRuntime::~HsDefaultRuntime()
+{
+    HsWidgetPositioningOnOrientationChange::setInstance(0);
+}
+
+/*!
+    \fn void HsDefaultRuntime::stopStateMachine()
+    Emission of this signal initiates a transition to the final state.
+*/
+
+/*!
+    \copydoc QObject::eventFilter(QObject *watched, QEvent *event)
+*/
+bool HsDefaultRuntime::eventFilter(QObject *watched, QEvent *event)
+{
+    Q_UNUSED(watched);
+
+    switch (event->type()) {
+		case QEvent::ApplicationActivate:
+		{			
+			qDebug() << "HsDefaultRuntime::eventFilter: QEvent::ApplicationActivate";
+			mHomeScreenActive = true;
+			updatePSKeys();
+		}
+		break;
+		case QEvent::ApplicationDeactivate:
+		{		
+			qDebug() << "HsDefaultRuntime::eventFilter: QEvent::ApplicationDeactivate";
+			mHomeScreenActive = false;
+            updatePSKeys();			
+		}
+		break;
+	}
+    
+	return QStateMachine::eventFilter(watched, event);
+}
+
+/*!
+    Creates content service parts.
+*/
+void HsDefaultRuntime::createContentServiceParts()
+{
+    HSTEST_FUNC_ENTRY("HS::HsDefaultRuntime::createContentServiceParts");
+
+    mContentService = new HsContentService(this);
+
+    HSTEST_FUNC_EXIT("HS::HsDefaultRuntime::createContentServiceParts");
+}
+
+/*!
+    Creates states.
+*/
+void HsDefaultRuntime::createStates()
+{
+    HSTEST_FUNC_ENTRY("HS::HsDefaultRuntime::createStates");
+
+    QFinalState *finalState = new QFinalState();
+    addState(finalState);
+
+    QState *guiRootState = new QState();
+    addState(guiRootState);
+
+    guiRootState->addTransition(this, SIGNAL(event_exit()), finalState);
+
+    // Workaround to QtSF bug. Create in stack after the bug is fixed.
+    QServiceManager *manager = new QServiceManager(this);
+    QServiceFilter filter;
+
+    filter.setInterface("com.nokia.homescreen.state.HsLoadSceneState");
+    QList<QServiceInterfaceDescriptor> interfaces = manager->findInterfaces(filter);
+    QObject *loadSceneStateObj = manager->loadInterface(interfaces.first().interfaceName());
+    QState *loadSceneState = qobject_cast<QState *>(loadSceneStateObj);
+    loadSceneState->setParent(guiRootState);
+    loadSceneState->setObjectName(interfaces.first().interfaceName());
+
+    filter.setInterface("com.nokia.homescreen.state.HsIdleState");
+    interfaces = manager->findInterfaces(filter);
+    QObject *idleStateObj = manager->loadInterface(interfaces.first().interfaceName());
+    QState *idleState = qobject_cast<QState *>(idleStateObj);
+    idleState->setParent(guiRootState);
+    idleState->setObjectName(interfaces.first().interfaceName());
+	connect(idleState, SIGNAL(entered()), SLOT(onIdleStateEntered()));
+	connect(idleState, SIGNAL(exited()), SLOT(onIdleStateExited()));
+
+    loadSceneState->addTransition(
+            loadSceneState, SIGNAL(event_idle()), idleState);
+
+    //menu state
+    QState *menuParallelState = new QState(
+            QState::ParallelStates, guiRootState);
+    QState *menuRootState = new QState(menuParallelState);
+
+    filter.setInterface("com.nokia.homescreen.state.HsAppLibraryState");
+    interfaces = manager->findInterfaces(filter);
+    QObject *appLibraryStateObj = manager->loadInterface(interfaces.first().interfaceName());
+    QState *appLibraryState = qobject_cast<QState *>(appLibraryStateObj);
+    appLibraryState->setParent(menuRootState);
+    appLibraryState->setObjectName(interfaces.first().interfaceName());
+    menuRootState->setInitialState(appLibraryState);
+
+    filter.setInterface("com.nokia.homescreen.state.HsMenuWorkerState");
+    interfaces = manager->findInterfaces(filter);
+    QObject *menuWorkerStateObj = manager->loadInterface(interfaces.first().interfaceName());
+    QState *menuWorkerState = qobject_cast<QState *>(menuWorkerStateObj);
+    menuWorkerState->setParent(menuParallelState);
+    menuWorkerState->setObjectName(interfaces.first().interfaceName());
+
+    // root state transitions
+    idleState->addTransition(idleState, SIGNAL(event_applicationLibrary()), menuRootState);
+    appLibraryState->addTransition(
+            appLibraryState, SIGNAL(toHomescreenState()), idleState);
+    // opening shortcut to Application Library
+    HsMenuEventTransition *idleToAppLibTransition =
+        new HsMenuEventTransition(HsMenuEvent::OpenApplicationLibrary,
+                                  idleState, appLibraryState);
+    idleState->addTransition(idleToAppLibTransition);
+
+    HsMenuEventTransition *appLibToIdleTransition =
+        new HsMenuEventTransition(
+            HsMenuEvent::OpenHomeScreen, appLibraryState, idleState);
+    appLibraryState->addTransition(appLibToIdleTransition);
+
+    HbMainWindow *window = hbInstance->allMainWindows().at(0);
+
+    // key driven transition from idle to menu
+    QKeyEventTransition *idleToMenuRootTransition =
+        new QKeyEventTransition(
+                window, QEvent::KeyRelease, applicationKey, idleState);
+    idleToMenuRootTransition->setTargetState(menuRootState);
+    idleState->addTransition(idleToMenuRootTransition);
+    // key driven transition from menu to idle
+    QKeyEventTransition *menuToIdleTransition =
+        new QKeyEventTransition(
+                window, QEvent::KeyRelease, applicationKey, idleState);
+    menuToIdleTransition->setTargetState(idleState);
+    menuRootState->addTransition(menuToIdleTransition);
+
+    // transitions to child states
+    // opening shortcut to a colleciton
+    QList<QState *> collectionStates =
+        appLibraryState->
+            findChildren<QState *>
+                ("homescreen.nokia.com/state/applibrarystate/collectionstate");
+    qDebug(
+        "Found %d \"collectionstate\" children for Application Library State",
+            collectionStates.count());
+    if (collectionStates.count()) {
+        HsMenuEventTransition *idleToCollectionTransition =
+            new HsMenuEventTransition(HsMenuEvent::OpenCollection,
+                                      idleState, collectionStates[0]);
+        idleState->addTransition(idleToCollectionTransition);
+    }
+
+    guiRootState->setInitialState(loadSceneState);
+    setInitialState(guiRootState);
+    
+    HSTEST_FUNC_EXIT("HS::HsDefaultRuntime::createStates");
+}
+
+/*!
+    Assigns services to states based on value of property HS_SERVICES_REGISTRATION_KEY.
+*/
+void HsDefaultRuntime::assignServices()
+{
+    HSTEST_FUNC_ENTRY("HS::HsDefaultRuntime::assignServices");
+
+    QList<QState*> children = findChildren<QState*>();
+    foreach (QState *state, children) {
+        QList<QVariant> services = state->property(HS_SERVICES_REGISTRATION_KEY).toList();
+        foreach (const QVariant &service, services) {
+            QString name = service.toString();
+            qDebug() << "Assign service:" << name << "\n to " << state->objectName();
+            if (name == CONTENT_SERVICE_KEY) {
+                state->setProperty(name.toAscii().data(), qVariantFromValue(mContentService));
+            } else if (name == SHORTCUT_SERVICE_KEY) {
+                state->setProperty(name.toAscii().data(),
+                    qVariantFromValue(HsShortcutService::instance(this)));
+            } else {
+                qWarning() << "WARNING: Service " << name << " is unknown";
+            }
+        }
+    }
+
+    HSTEST_FUNC_EXIT("HS::HsDefaultRuntime::assignServices");
+}
+
+/*!
+    
+*/
+void HsDefaultRuntime::updatePSKeys()
+{
+	QValueSpacePublisher publisher(HsStatePSKeyPath);   
+    		
+    if (mHomeScreenActive && mIdleStateActive){
+    	qDebug() << "HsDefaultRuntime::updatePSKeys: EHomeScreenIdleState";
+    	publisher.setValue(HsStatePSKeySubPath, EHomeScreenIdleState);
+    }
+    else{
+    	qDebug() << "HsDefaultRuntime::updatePSKeys: EHomeScreenInactive";
+    	publisher.setValue(HsStatePSKeySubPath, EHomeScreenInactive);
+    }    
+}
+
+/*!
+    
+*/
+void HsDefaultRuntime::onIdleStateEntered()
+{
+	mIdleStateActive = true;
+	updatePSKeys();
+}
+
+/*!
+    
+*/
+void HsDefaultRuntime::onIdleStateExited()
+{
+	mIdleStateActive = false;
+	updatePSKeys();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/src/hsdefaultruntimeplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Default runtime plugin.
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hsdefaultruntimeplugin.h"
+#include "hsdefaultruntime.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+QObject *HsDefaultRuntimePlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                                QServiceContext *context,
+                                                QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.runtime.HsRuntime")) {
+        return new HsDefaultRuntime(this);
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hsdefaultruntimeplugin, HsDefaultRuntimePlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/runtimeplugins.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = subdirs
+SUBDIRS  = hsdefaultruntimeplugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/hsmenuserviceprovider.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+
+TEMPLATE = lib
+CONFIG += hb
+include (../../common.pri)
+DEPENDPATH += . \
+    inc \
+    src
+INCLUDEPATH += . \
+    inc
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
+
+
+DEFINES += MENUSERVICE_LIB
+LIBS += -lcaclient
+symbian::TARGET.UID3 = 0x20026FA9
+win32:exportResources(./resource/*.png, resource)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenucollectionsitemmodel.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: hsmenucollectionsitemmodel.h
+ *
+ */
+
+#ifndef HSMENUCOLLECTIONSITEMMODEL_H
+#define HSMENUCOLLECTIONSITEMMODEL_H
+
+// System includes
+#include <caquery.h>
+#include <HbIcon>
+
+// User includes
+#include "hsmenuservice_global.h"
+#include "hsmenuitemmodel.h"
+
+// Class declaration
+class MENUSERVICE_EXPORT HsMenuCollectionsItemModel: public HsMenuItemModel
+{
+
+public:
+
+    // Function declarations
+    explicit HsMenuCollectionsItemModel(const CaQuery &query,
+                                        QObject *parent = 0);
+    ~HsMenuCollectionsItemModel();
+    virtual QVariant data(const QModelIndex &index,
+                          int role = Qt::DisplayRole) const;
+
+private:
+
+    // Function declarations
+    QString getSecondLine(CaEntry *entry) const;
+
+};
+
+#endif // HSMENUCOLLECTIONSITEMMODEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuitemmodel.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: hsmenuitemmodel.h
+ *
+ */
+
+#ifndef HSMENUITEMMODEL_H
+#define HSMENUITEMMODEL_H
+
+// System includes
+#include <caquery.h>
+#include <caitemmodel.h>
+#include <HbIcon>
+
+// User includes
+#include "hsmenuservice_global.h"
+#include "hsmenuservice.h"
+
+// Class declaration
+class MENUSERVICE_EXPORT HsMenuItemModel: public CaItemModel
+{
+
+public:
+
+    // Data types
+    enum IconSize {
+        SmallIconSize,
+        BigIconSize
+    };
+
+    // Function declarations
+    explicit HsMenuItemModel(const CaQuery &query,
+                             QObject *parent = 0);
+    ~HsMenuItemModel();
+    void setSort(HsSortAttribute sortAttribute);
+    virtual QVariant data(const QModelIndex &index,
+                          int role = Qt::DisplayRole) const;
+    bool newIconNeeded(const QModelIndex &index) const;
+};
+
+#endif // HSMENUITEMMODEL_H 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuservice.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: hsmenuservice.h
+ *
+ */
+
+#ifndef HSMENUSERVICE_H
+#define HSMENUSERVICE_H
+
+// System includes
+#include <QObject>
+#include <QStringList>
+
+// User includes
+#include "hsapp_defs.h"
+#include "hsmenuservice_global.h"
+#include "cadefs.h"
+#include "caservice.h"
+
+// Forward declarations
+class HsMenuItemModel;
+
+// Class declaration
+class MENUSERVICE_EXPORT HsMenuService
+{
+
+public:
+
+    // Function declarations
+    static HsMenuItemModel *getAllApplicationsModel(
+        HsSortAttribute sortAttribute = DescendingNameHsSortAttribute);
+    static HsMenuItemModel *getAllCollectionsModel(
+        HsSortAttribute sortAttribute = LatestOnTopHsSortAttribute);
+    static HsMenuItemModel *getCollectionModel(int collectionId,
+            HsSortAttribute sortAttribute = LatestOnTopHsSortAttribute,
+            const QString &collectionType = collectionTypeName());
+    static QStringList getCollectionNames();
+    static QString getName(int entryId);
+    static bool executeAction(int entryId, const QString &actionName =
+                                  openActionIdentifier());
+
+    static int createCollection(const QString &name);
+    static bool renameCollection(int collectionId,
+                                 const QString &newCollectionName);
+    static bool removeCollection(int collectionId);
+    static bool addApplicationsToCollection(
+        const QList<int> &applicationList, int collectionId);
+    static bool removeApplicationFromCollection(int applicationId,
+            int collectionId);
+
+    static bool organizeCollection(int groupId, QList<int> &entryIdList);
+
+    static int allCollectionsId();
+
+    static bool touch(int entryId);
+
+private:
+    // data
+
+    static int mAllCollectionsId;
+
+};
+
+#endif // HSMENUSERVICE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuservice_global.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 HSMENUSERVICE_GLOBAL_H
+#define HSMENUSERVICE_GLOBAL_H
+
+// System includes
+#include <Qt/qglobal.h>
+
+#ifdef MENUSERVICE_LIB
+#define MENUSERVICE_EXPORT Q_DECL_EXPORT
+#else
+#ifdef MENUSERVICE_TEST
+#define MENUSERVICE_EXPORT
+#else
+#define MENUSERVICE_EXPORT Q_DECL_IMPORT
+#endif
+#endif
+
+#ifndef MENUSERVICE_UNITTEST
+#define HS_SERVICE_TEST_CLASS(className)
+#else
+#define HS_SERVICE_TEST_CLASS(className) class className;
+#endif
+
+#ifndef MENUSERVICE_UNITTEST
+#define HS_SERVICE_TEST_FRIEND_CLASS(className)
+#else
+#define HS_SERVICE_TEST_FRIEND_CLASS(className) friend class className;
+#endif
+
+/*!
+ To enable logging of function entry and exit use the following flag for qmake:
+ -config nft
+ To include in logs extra information about RAM and heap usage, define an additional constant e.g. in ProductVariant.hrh:
+ #define NFT_RAM
+ */
+
+#ifdef NFT
+#ifdef Q_OS_SYMBIAN
+#include <hal.h>
+#include <e32std.h>
+#endif
+#endif
+
+#ifdef NFT
+
+#define HSMENUTEST(aText) qDebug() << QString(aText)
+
+#ifdef Q_OS_SYMBIAN
+#ifdef NFT_RAM
+#define HSMENUTEST_FREERAM_ENTRY(function) \
+    TInt HSMENUTEST_ENTRY_RAM(0); \
+    TInt HSMENUTEST_ENTRY_HEAP(0); \
+    TInt HSMENUTEST_ENTRY_HEAP_SIZE(0); \
+    { \
+        TInt allRAM(0); \
+        HAL::Get(HAL::EMemoryRAM, allRAM); \
+        HAL::Get(HAL::EMemoryRAMFree, HSMENUTEST_ENTRY_RAM); \
+        RHeap &heap = User::Heap(); \
+        TInt biggestBlock(0); \
+        HSMENUTEST_ENTRY_HEAP = heap.Available(biggestBlock); \
+        HSMENUTEST_ENTRY_HEAP_SIZE = heap.Size(); \
+        qDebug("(nft) " function " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \
+               HSMENUTEST_ENTRY_RAM >> 10, HSMENUTEST_ENTRY_HEAP_SIZE >> 10, \
+               HSMENUTEST_ENTRY_HEAP >> 10); \
+    }
+
+#define HSMENUTEST_FREERAM_EXIT(function) \
+    { \
+        TInt allRAM(0); \
+        TInt freeRAM(0); \
+        HAL::Get(HAL::EMemoryRAM, allRAM); \
+        HAL::Get(HAL::EMemoryRAMFree, freeRAM); \
+        RHeap &heap = User::Heap(); \
+        TInt biggestBlock(0); \
+        TInt heapFree = heap.Available(biggestBlock); \
+        TInt heapSize = heap.Size(); \
+        qDebug("(nft) " function " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \
+               freeRAM >> 10, heapSize >> 10, heapFree >> 10); \
+        qDebug("(nft) " function " - Memory (kB) - RAM diff: %d, Heap size diff: %d, Free heap diff: %d", \
+               (freeRAM-HSMENUTEST_ENTRY_RAM) >> 10, (heapSize-HSMENUTEST_ENTRY_HEAP_SIZE) >> 10, \
+               (heapFree-HSMENUTEST_ENTRY_HEAP) >> 10); \
+    }
+
+#else
+
+#define HSMENUTEST_FREERAM_ENTRY(function)
+#define HSMENUTEST_FREERAM_EXIT(function)
+
+#endif
+
+#define HSMENUTESTTIME_ENTRY(function) \
+    TInt64 HSMENUTEST_ENTRY_TIME(0); \
+    { \
+        TTime t; \
+        t.UniversalTime(); \
+        qDebug("\n" function "      entry:%20lld", t.Int64()); \
+        HSMENUTEST_ENTRY_TIME = t.Int64(); \
+    }
+
+#define HSMENUTESTTIME_EXIT(function) { \
+        TTime t; \
+        t.UniversalTime(); \
+        qDebug("\n" function "      entry:%20lld\n" function " difference:%20lld", t.Int64(), \
+               t.Int64()-HSMENUTEST_ENTRY_TIME); \
+    }
+
+#define HSMENUTEST_FUNC_ENTRY(function)   HSMENUTEST_FREERAM_ENTRY(function) \
+    HSMENUTESTTIME_ENTRY(function)
+#define HSMENUTEST_FUNC_EXIT(function)    HSMENUTESTTIME_EXIT(function) \
+    HSMENUTEST_FREERAM_EXIT(function)
+
+#else //Q_OS_SYMBIAN
+#define HSMENUTEST_FUNC_ENTRY(function)   qDebug()<< function << " entry";
+#define HSMENUTEST_FUNC_EXIT(function)    qDebug()<< function << " exit";
+#endif //Q_OS_SYMBIAN
+#else //NFT
+#define HSMENUTEST_FUNC_ENTRY(function)
+#define HSMENUTEST_FUNC_EXIT(function)
+#endif //NFT
+
+
+#endif // HSMENUSERVICE_GLOBAL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuserviceutils.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: hsmenuserviceutils.h
+ *
+ */
+
+#ifndef HSMENUSERVICEUTILS_H
+#define HSMENUSERVICEUTILS_H
+
+// System includes
+#include <QSize>
+
+// User includes
+#include "hsmenuservice.h"
+
+// Class declaration
+class MENUSERVICE_EXPORT HsMenuServiceUtils
+{
+
+public:
+
+    // Function declarations
+    static SortAttribute sortBy(
+        HsSortAttribute menuSortAttribute);
+    static Qt::SortOrder sortOrder(
+        HsSortAttribute menuSortAttribute);
+
+};
+
+#endif // HSMENUSERVICEUTILS_H
Binary file homescreenapp/serviceproviders/hsmenuserviceprovider/resource/application.png has changed
Binary file homescreenapp/serviceproviders/hsmenuserviceprovider/resource/folder.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenucollectionsitemmodel.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: menucollectionsitemmodel.cpp
+ *
+ */
+
+#include "caservice.h"
+#include "caentry.h"
+#include "hsapp_defs.h"
+#include "hsmenucollectionsitemmodel.h"
+
+/*!
+ Constructor
+ \param query
+ \param parent
+ */
+HsMenuCollectionsItemModel::HsMenuCollectionsItemModel(
+    const CaQuery &query, QObject *parent) :
+    HsMenuItemModel(query, parent)
+{
+
+}
+
+/*!
+ Destructor
+ */
+HsMenuCollectionsItemModel::~HsMenuCollectionsItemModel()
+{
+}
+
+/*!
+ Returns data of particular collection
+ \param index
+ \param role
+ \retval
+ */
+QVariant HsMenuCollectionsItemModel::data(const QModelIndex &index,
+        int role) const
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuCollectionsItemModel::data");
+    QVariant variant;
+    if (role == Qt::DisplayRole && secondLineVisibility()) {
+        QList<QVariant> text;
+        text << entry(index)->text();
+        text << getSecondLine(entry(index));
+        variant =  QVariant(text);
+    } else {
+        variant = CaItemModel::data(index, role);
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuCollectionsItemModel::data");
+    return variant;
+}
+
+/*!
+ Returns names of applications that belong to a collection
+ of count of applications that belong to a collection
+ (used for certain dynamic collections)
+ \param entry of an collection
+ \retval string with applications names separated by ','
+ no longer than 256 bytes
+ */
+QString HsMenuCollectionsItemModel::getSecondLine(CaEntry *entry) const
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuCollectionsItemModel::getSecondLine");
+    QString result;
+
+    CaQuery query;
+    query.setParentId(entry->id());
+    query.setEntryRoles(ItemEntryRole);
+
+    if (entry->entryTypeName() == collectionDownloadedTypeName()) {
+        query.setFlagsOn(RemovableEntryFlag | VisibleEntryFlag);
+    } else {
+        query.setFlagsOn(VisibleEntryFlag);
+    }
+
+    query.setFlagsOff(MissingEntryFlag);
+
+    QList<CaEntry *> entries = CaService::instance()->getEntries(query);
+
+    if (!entries.count()) {
+        result = QString(hbTrId("txt_applib_dblist_downloaded_val_empty"));
+    }//if
+    else {
+        int count(0);
+        if (entry->entryTypeName() == collectionDownloadedTypeName()) {
+            for (int i = 0; i < entries.count(); ++i) {
+                if ((entries[i]->flags() & UsedEntryFlag) != UsedEntryFlag) {
+                    count++;
+                }
+            }
+        }
+        if (count) {
+            result = hbTrId("txt_applib_dblist_val_ln_new_applications",
+                            count);
+        } else {
+            for (int i = 0; i < entries.count(); ++i) {
+                result.append(entries.at(i)->text());
+                if (i < entries.count() - 1) {
+                    // do not append comma if it is last element
+                    result.append(",");
+                }//if
+                if (result.length() > 256) {
+                    // we don't need to store more than 256 bytes
+                    break;
+                }
+            }
+        }
+    }
+    qDeleteAll(entries);
+    HSMENUTEST_FUNC_EXIT("HsMenuCollectionsItemModel::getSecondLine");
+    return result;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuitemmodel.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: hsmenuitemmodel.cpp
+ *
+ */
+
+#include "hsmenuitemmodel.h"
+#include "hsmenuserviceutils.h"
+
+// Constants
+const QSize smallIconSize(55, 55);
+
+/*!
+ Constructor
+ \param query used to create model
+ \param pointer to parent object
+ */
+HsMenuItemModel::HsMenuItemModel(const CaQuery &query, QObject *parent) :
+    CaItemModel(query, parent)
+{
+    setIconSize(smallIconSize);
+}
+
+/*!
+ Destructor
+ */
+HsMenuItemModel::~HsMenuItemModel()
+{
+
+}
+
+/*!
+ Sets sort order in the model
+ */
+void HsMenuItemModel::setSort(
+    HsSortAttribute sortAttribute)
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::setSort");
+    CaItemModel::setSort(HsMenuServiceUtils::sortBy(sortAttribute),
+                         HsMenuServiceUtils::sortOrder(sortAttribute));
+    HSMENUTEST_FUNC_EXIT(" HsMenuItemModel::setSort");
+}
+
+/*!
+ Returns data of particular collection
+ \param index
+ \param role
+ \retval
+ */
+QVariant HsMenuItemModel::data(const QModelIndex &index,
+                               int role) const
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::data");
+    QVariant variant;
+
+    if (role == Qt::DecorationRole && secondLineVisibility()
+            && newIconNeeded(index)) {
+        QList<QVariant> icons;
+
+        icons << CaItemModel::data(index, role);
+        icons << HbIcon(newIconId());
+
+        variant = QVariant(icons);
+    } else {
+        variant = CaItemModel::data(index, role);
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuItemModel::data");
+    return variant;
+
+}
+
+/*!
+ Checks if blink icon needed for entry
+ \param entry entry representing an item
+ \retval decision
+ */
+bool HsMenuItemModel::newIconNeeded(const QModelIndex &index) const
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::newIconNeeded");
+    bool result = false;
+    if (root().isValid()
+            && (!(entry(index)->flags() & UsedEntryFlag))
+            && entry(root())->entryTypeName() == collectionDownloadedTypeName()) {
+        result = true;
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuItemModel::newIconNeeded");
+    return result;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuservice.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,322 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: hsmenuservice.cpp
+ *
+ */
+
+#include <QDebug>
+#include <QStandardItem>
+
+#include "hsapp_defs.h"
+#include "hsmenuservice.h"
+#include "hsmenuserviceutils.h"
+#include "caquery.h"
+#include "caitemmodel.h"
+#include "hsmenuitemmodel.h"
+#include "hsmenucollectionsitemmodel.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// Initialization of a static member variable.
+int HsMenuService::mAllCollectionsId = 0;
+
+/*!
+ Returns all applications model
+ \param sortAttribute ::  SortAttribute
+ \retval HsMenuItemModel: AllApplicationsModel
+ */
+HsMenuItemModel *HsMenuService::getAllApplicationsModel(
+    HsSortAttribute sortAttribute)
+{
+    qDebug() << "HsMenuService::getAllApplicationsModel sortAttribute:"
+             << sortAttribute;
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::getAllApplicationsModel");
+    CaQuery query;
+    query.setEntryRoles(ItemEntryRole);
+    query.addEntryTypeName(applicationTypeName());
+    query.addEntryTypeName(urlTypeName());
+    query.addEntryTypeName(widgetTypeName());
+    query.setFlagsOn(VisibleEntryFlag);
+    query.setFlagsOff(MissingEntryFlag);
+    query.setSort(HsMenuServiceUtils::sortBy(sortAttribute),
+                  HsMenuServiceUtils::sortOrder(sortAttribute));
+    HsMenuItemModel *model = new HsMenuItemModel(query);
+    HSMENUTEST_FUNC_EXIT("HsMenuService::getAllApplicationsModel");
+    return model;
+}
+
+/*!
+ Returns all collections model
+ \param sortAttribute ::  SortAttribute
+ \param details : switch to return details or not
+ \retval HsMenuItemModel: all collections model
+ */
+HsMenuItemModel *HsMenuService::getAllCollectionsModel(
+    HsSortAttribute sortAttribute)
+{
+    qDebug() << "HsMenuService::getAllCollectionsModel" << "sortAttribute:"
+             << sortAttribute;
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::getAllCollectionsModel");
+    CaQuery query;
+    query.setParentId(allCollectionsId());
+    query.setFlagsOn(VisibleEntryFlag);
+    query.setFlagsOff(MissingEntryFlag);
+    query.setSort(HsMenuServiceUtils::sortBy(sortAttribute),
+                  HsMenuServiceUtils::sortOrder(sortAttribute));
+    HsMenuItemModel *model = new HsMenuCollectionsItemModel(query);
+    HSMENUTEST_FUNC_EXIT("HsMenuService::getAllCollectionsModel");
+    return model;
+}
+
+/*!
+ Returns collection model
+ \param collectionId ::  id of this collection
+ \param sortAttribute ::  SortAttribute
+ \retval HsMenuItemModel: collection model
+ */
+HsMenuItemModel *HsMenuService::getCollectionModel(int collectionId,
+        HsSortAttribute sortAttribute, const QString &collectionType)
+{
+    qDebug() << "HsMenuService::getCollectionModel sortAttribute:"
+             << sortAttribute;
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::getCollectionModel");
+    CaQuery query;
+    query.setFlagsOff(MissingEntryFlag);
+    if (collectionType == collectionDownloadedTypeName()) {
+        query.setFlagsOn(RemovableEntryFlag | VisibleEntryFlag);
+    } else {
+        query.setFlagsOn(VisibleEntryFlag);
+    }
+    query.setParentId(collectionId);
+    query.setSort(HsMenuServiceUtils::sortBy(sortAttribute),
+                  HsMenuServiceUtils::sortOrder(sortAttribute));
+    HsMenuItemModel *model = new HsMenuItemModel(query);
+    HSMENUTEST_FUNC_EXIT("HsMenuService::getCollectionModel");
+    return model;
+}
+
+/*!
+ Returns all collections names
+ \retval CaItemModel: list with collections names
+ */
+QStringList HsMenuService::getCollectionNames()
+{
+    qDebug() << "HsMenuService::getCollectionNames";
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::getCollectionNames");
+    CaQuery query;
+    query.setParentId(allCollectionsId());
+    query.setFlagsOn(VisibleEntryFlag);
+    query.setFlagsOff(MissingEntryFlag);
+    QList<CaEntry *> collections = CaService::instance()->getEntries(query);
+    QStringList resultList;
+    while (!collections.isEmpty()) {
+        CaEntry *entry = collections.takeFirst();
+        resultList << entry->text();
+        delete entry;
+    }
+
+    qDebug() << "HsMenuService::getCollectionNames resultList:"
+             << resultList;
+    HSMENUTEST_FUNC_EXIT("HsMenuService::getCollectionNames");
+    return resultList;
+}
+
+/*!
+ Returns name of an entry
+ \param id of this entry
+ \retval QString with name of the entry
+ */
+QString HsMenuService::getName(int entryId)
+{
+    qDebug() << "HsMenuService::getName entryId:" << entryId;
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::getName");
+    CaEntry *entry = CaService::instance()->getEntry(entryId);
+
+    QString name;
+    if (entry) {
+        name = entry->text();
+        delete entry;
+    }
+    qDebug() << "HsMenuService::getName name: " << name;
+    HSMENUTEST_FUNC_EXIT("HsMenuService::getName");
+    return name;
+}
+
+/*!
+ Executes action on an item
+ \param entryId of this item
+ \param actionName string with action name
+ \retval boolean error code
+ */
+bool HsMenuService::executeAction(int entryId, const QString &actionName)
+{
+    qDebug() << "HsMenuService::executeAction entryId:" << entryId
+             << "actionName:" << actionName;
+
+    return CaService::instance()->executeCommand(entryId, actionName);
+}
+
+/*!
+ Adds new collection
+ \param name of the collection
+ \retval entryId of new collection
+ */
+int HsMenuService::createCollection(const QString &name)
+{
+    qDebug() << "HsMenuService::addCollection name: " << name;
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::createCollection");
+    int entryId = 0;
+    CaEntry collection(GroupEntryRole);
+    collection.setEntryTypeName(collectionTypeName());
+    collection.setText(name);
+    CaIconDescription iconDescription;
+    iconDescription.setFilename(defaultCollectionIconId());
+    collection.setIconDescription(iconDescription);
+    CaEntry *entry = CaService::instance()->createEntry(collection);
+    if (entry) {
+        qDebug() << "HsMenuService::addCollection entry" << entry;
+        entryId = entry->id();
+        delete entry;
+        CaService::instance()->appendEntryToGroup(allCollectionsId(),
+                entryId);
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuService::createCollection");
+    return entryId;
+}
+
+/*!
+ Renames a collection
+ \param id of this collection
+ \param new name for collection
+ \retval boolean error code
+ */
+bool HsMenuService::renameCollection(int collectionId,
+                                     const QString &newCollectionName)
+{
+    qDebug() << "HsMenuService::renameCollection collectionId:"
+             << collectionId << "newCollectionName" << newCollectionName;
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::renameCollection");
+    bool result(false);
+    CaEntry *collection = CaService::instance()->getEntry(collectionId);
+    if (collection) {
+        qDebug() << "HsMenuService::renameCollection collection"
+                 << collection;
+
+        collection->setText(newCollectionName);
+        result = CaService::instance()->updateEntry(*collection);
+        delete collection;
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuService::renameCollection");
+    return result;
+}
+
+/*!
+ Removes a collection
+ \param id of this collection
+ \retval boolean error code
+ */
+bool HsMenuService::removeCollection(int collectionId)
+{
+    qDebug() << "HsMenuService::removeCollection collectionId:"
+             << collectionId;
+
+    return CaService::instance()->removeEntry(collectionId);
+}
+
+/*!
+ Adds applications to collection
+ \param list with applications entries ids
+ \param collection id
+ \retval boolean error code
+ */
+bool HsMenuService::addApplicationsToCollection(
+    const QList<int> &applicationList, int collectionId)
+{
+    qDebug() << "HsMenuService::addApplicationsToCollection"
+             << "applicationList ids:" << applicationList << "collectionId:"
+             << collectionId;
+
+    return CaService::instance()->appendEntriesToGroup(collectionId,
+            applicationList);
+}
+
+/*!
+ Removes application from collection
+ \param application id
+ \param collection id
+ \retval boolean error code
+ */
+bool HsMenuService::removeApplicationFromCollection(int applicationId,
+        int collectionId)
+{
+    qDebug() << "HsMenuService::removeApplicationFromCollection"
+             << "applicationId:" << applicationId << "collectionId:"
+             << collectionId;
+
+    return CaService::instance()->removeEntryFromGroup(collectionId,
+            applicationId);
+}
+
+/*!
+ Organizes collection's entries.
+ \param groupId Group id.
+ \param entryIdList Group's entries' ids list.
+ \retval Return true if organize collection is done correctly,
+  otherwise return false.
+ */
+bool HsMenuService::organizeCollection(int groupId, QList<int> &entryIdList)
+{
+    qDebug() << "HsMenuService::organizeCollection"
+             << "groupId:" << groupId
+             << "collectionIds:" << entryIdList;
+    return CaService::instance()->customSort(groupId, entryIdList);
+}
+
+/*!
+ Retrives the all collections entry id
+ \retval all collections id
+ */
+int HsMenuService::allCollectionsId()
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::allCollectionsId");
+    if (mAllCollectionsId <= 0) {
+        CaQuery collectionsQuery;
+        collectionsQuery.setEntryRoles(GroupEntryRole);
+        //sorting is set to (default, ascending) to assure that
+        //proper entry is fetched, somebody can add item with
+        //"menucollections" typename to the storage, but even if he or she
+        //do this we fetch entry that we wanted
+        collectionsQuery.setSort(DefaultSortAttribute, Qt::AscendingOrder);
+        collectionsQuery.addEntryTypeName(menuCollectionsTypeName());
+        QList<int> ids = CaService::instance()->getEntryIds(
+                             collectionsQuery);
+        Q_ASSERT(ids.count() > 0);
+        mAllCollectionsId = ids.at(0);
+        qDebug() << "HsMenuService::HsMenuService mAllCollectionsId"
+                 << mAllCollectionsId;
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuService::allCollectionsId");
+    return mAllCollectionsId;
+}
+
+/*!
+ Touch action on an entry.
+ \param entryId of this entry.
+ \retval boolean error code.
+ */
+bool HsMenuService::touch(int entryId)
+{
+    CaEntry *entry = CaService::instance()->getEntry(entryId);
+    return CaService::instance()->touch(* entry);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuserviceutils.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: hsmenuserviceutils.cpp
+ *
+ */
+
+#include "hsmenuserviceutils.h"
+
+/*!
+ Gets sort attribute
+ \param sortAttribute menu sort order
+ */
+SortAttribute HsMenuServiceUtils::sortBy(
+    HsSortAttribute menuSortAttribute)
+{
+    SortAttribute sortAttribute(DefaultSortAttribute);
+    switch (menuSortAttribute) {
+    case AscendingNameHsSortAttribute:
+    case DescendingNameHsSortAttribute:
+        sortAttribute = NameSortAttribute;
+        break;
+    case NoHsSortAttribute:
+    case LatestOnTopHsSortAttribute:
+    case OldestOnTopHsSortAttribute:
+    case CustomHsSortAttribute:
+        sortAttribute = DefaultSortAttribute;
+        break;
+    }
+    return sortAttribute;
+}
+
+/*!
+ Gets sort attribute
+ \param sortAttribute menu sort order
+ */
+Qt::SortOrder HsMenuServiceUtils::sortOrder(
+    HsSortAttribute menuSortAttribute)
+{
+    Qt::SortOrder sortOrder(Qt::AscendingOrder);
+    switch (menuSortAttribute) {
+    case NoHsSortAttribute:
+    case AscendingNameHsSortAttribute:
+    case LatestOnTopHsSortAttribute:
+    case CustomHsSortAttribute:
+        sortOrder = Qt::AscendingOrder;
+        break;
+    case DescendingNameHsSortAttribute:
+    case OldestOnTopHsSortAttribute:
+        sortOrder = Qt::DescendingOrder;
+        break;
+    }
+    return sortOrder;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/serviceproviders/serviceproviders.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,21 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  = hsmenuserviceprovider
+
+CONFIG  += ordered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/sis/homescreenapp.pkg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,109 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"homescreenapp"},(0x20022F47),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Supports S60 5th Edition
+[0x1028315F], 0, 0, 0, {"S60ProductID"}
+
+
+; ---- hsapplication --------------------------------------------
+
+"/epoc32/release/armv5/urel/hsapplication.exe" - "c:/sys/bin/hsapplication.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/hsapplication_reg.rsc" - "c:/private/10003a3f/import/apps/hsapplication_reg.rsc"
+"/epoc32/data/z/resource/apps/hsapplication.rsc" - "c:/resource/apps/hsapplication.rsc"
+"/epoc32/data/z/resource/apps/hsapplication.mif" - "c:/resource/apps/hsapplication.mif"
+"/epoc32/data/z/private/20022F35/homescreendb" - "c:/private/20022f35/homescreendb"
+"/epoc32/data/z/private/20022f35/wallpapers/1_portrait.png" - "c:/private/20022f35/wallpapers/1_portrait.png"
+"/epoc32/data/z/private/20022f35/wallpapers/1_landscape.png" - "c:/private/20022f35/wallpapers/1_landscape.png"
+"/epoc32/data/z/private/20022f35/wallpapers/2_portrait.png" - "c:/private/20022f35/wallpapers/2_portrait.png"
+"/epoc32/data/z/private/20022f35/wallpapers/2_landscape.png" - "c:/private/20022f35/wallpapers/2_landscape.png"
+"/epoc32/data/z/private/20022f35/wallpapers/3_portrait.png" - "c:/private/20022f35/wallpapers/3_portrait.png"
+"/epoc32/data/z/private/20022f35/wallpapers/3_landscape.png" - "c:/private/20022f35/wallpapers/3_landscape.png"
+"/epoc32/data/z/private/20022f35/wallpapers/d_portrait.png" - "c:/private/20022f35/wallpapers/d_portrait.png"
+"/epoc32/data/z/private/20022f35/wallpapers/d_landscape.png" - "c:/private/20022f35/wallpapers/d_landscape.png"
+"/epoc32/data/z/data/images/kqtihswallpapers/bg_1.png" - "c:/data/images/kqtihswallpapers/bg_1.png"
+"/epoc32/data/z/data/images/kqtihswallpapers/bg_2.png" - "c:/data/images/kqtihswallpapers/bg_2.png"
+"/epoc32/data/z/data/images/kqtihswallpapers/bg_3.png" - "c:/data/images/kqtihswallpapers/bg_3.png"
+"/epoc32/data/z/data/images/kqtihswallpapers/bg_4.png" - "c:/data/images/kqtihswallpapers/bg_4.png"
+"/epoc32/data/z/resource/homescreen.qm" - "c:/resource/homescreen.qm"
+
+; ---- hsutils --------------------------------------------
+
+"/epoc32/release/armv5/urel/hsutils.dll" - "c:/sys/bin/hsutils.dll"
+
+; ---- hsdomainmodel --------------------------------------------
+
+"/epoc32/release/armv5/urel/hsdomainmodel.dll" - "c:/sys/bin/hsdomainmodel.dll"
+
+; ---- runtimeplugins --------------------------------------------
+
+; -------- hsdefaultruntimeplugin
+"/epoc32/release/armv5/urel/hsdefaultruntimeplugin.dll"     - "c:/sys/bin/hsdefaultruntimeplugin.dll"
+"/epoc32/data/z/hsresources/plugins/runtimeplugins/hsdefaultruntimeplugin.qtplugin" - "c:/hsresources/plugins/runtimeplugins/hsdefaultruntimeplugin.qtplugin"
+"/epoc32/data/z/hsresources/plugins/runtimeplugins/hsdefaultruntimeplugin.manifest"  - "c:/hsresources/plugins/runtimeplugins/hsdefaultruntimeplugin.manifest"
+
+; ---- serviceproviders --------------------------------------------
+
+; -------- hsmenuserviceprovider
+"/epoc32/release/armv5/urel/hsmenuserviceprovider.dll" - "c:/sys/bin/hsmenuserviceprovider.dll"
+
+; ---- stateplugins --------------------------------------------
+
+; -------- hsapplibrarystateplugin
+"/epoc32/release/armv5/urel/hsapplibrarystateplugin.dll" - "c:/sys/bin/hsapplibrarystateplugin.dll"
+"/epoc32/data/z/hsresources/plugins/stateplugins/hsapplibrarystateplugin.qtplugin" - "c:/hsresources/plugins/stateplugins/hsapplibrarystateplugin.qtplugin"
+"/epoc32/data/z/hsresources/plugins/stateplugins/hsapplibrarystateplugin.xml" - "c:/hsresources/plugins/stateplugins/hsapplibrarystateplugin.xml"
+"/epoc32/data/z/resource/qt/translations/hsapplibrary.qm" - "c:/resource/qt/translations/hsapplibrary.qm"
+
+; -------- hshomescreenstateplugin
+"/epoc32/release/armv5/urel/hshomescreenstateplugin.dll" - "c:/sys/bin/hshomescreenstateplugin.dll"
+"/epoc32/data/z/hsresources/plugins/stateplugins/hshomescreenstateplugin.qtplugin" - "c:/hsresources/plugins/stateplugins/hshomescreenstateplugin.qtplugin"
+"/epoc32/data/z/hsresources/plugins/stateplugins/hshomescreenstateplugin.xml" - "c:/hsresources/plugins/stateplugins/hshomescreenstateplugin.xml"
+
+; -------- hsmenuworkerstateplugin
+"/epoc32/release/armv5/urel/hsmenuworkerstateplugin.dll"     - "c:/sys/bin/hsmenuworkerstateplugin.dll"
+"/epoc32/data/z/hsresources/plugins/stateplugins/hsmenuworkerstateplugin.qtplugin" - "c:/hsresources/plugins/stateplugins/hsmenuworkerstateplugin.qtplugin"
+"/epoc32/data/z/hsresources/plugins/stateplugins/hsmenuworkerstateplugin.xml"  - "c:/hsresources/plugins/stateplugins/hsmenuworkerstateplugin.xml"
+
+; ---- widgetplugins --------------------------------------------
+
+; -------- hsshortcutwidgetplugin
+"/epoc32/release/armv5/urel/hsshortcutwidgetplugin.dll"  - "c:/sys/bin/hsshortcutwidgetplugin.dll"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F46/hsshortcutwidgetplugin.qtplugin" - "c:/private/20022F35/import/widgetregistry/20022F46/hsshortcutwidgetplugin.qtplugin"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F46/hsshortcutwidgetplugin.manifest"  - "c:/private/20022F35/import/widgetregistry/20022F46/hsshortcutwidgetplugin.manifest"
+
+; -------- hsclockwidgetplugin
+"/epoc32/release/armv5/urel/hsclockwidgetplugin.dll"  - "c:/sys/bin/hsclockwidgetplugin.dll"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F43/hsclockwidgetplugin.qtplugin" - "c:/private/20022F35/import/widgetregistry/20022F43/hsclockwidgetplugin.qtplugin"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F43/hsclockwidgetplugin.manifest"  - "c:/private/20022F35/import/widgetregistry/20022F43/hsclockwidgetplugin.manifest"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F43/clock.png"  - "c:/private/20022F35/import/widgetregistry/20022F43/clock.png"
+
+; -------- hsdialerwidgetplugin
+"/epoc32/release/armv5/urel/hsdialerwidgetplugin.dll" - "c:/sys/bin/hsdialerwidgetplugin.dll"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F44/hsdialerwidgetplugin.qtplugin" - "c:/private/20022F35/import/widgetregistry/20022F44/hsdialerwidgetplugin.qtplugin"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F44/hsdialerwidgetplugin.manifest"  - "c:/private/20022F35/import/widgetregistry/20022F44/hsdialerwidgetplugin.manifest"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F44/dialer.png"  - "c:/private/20022F35/import/widgetregistry/20022F44/dialer.png"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/sis/homescreenapp_sisx.bat	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,30 @@
+@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 off
+
+if exist homescreenapp.sisx del homescreenapp.sisx
+
+makesis homescreenapp.pkg
+signsis homescreenapp.sis homescreenapp.sisx rd.cer rd-key.pem
+
+if exist homescreenapp.sisx (
+echo homescreenapp.sisx creation SUCCEEDED
+del homescreenapp.sis
+)
+
+if not exist homescreenapp.sisx (
+echo homescreenapp.sisx creation FAILED
+)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/sis/homescreenapp_ut_applib.pkg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,40 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"hsapp_ut_applib"},(0xEAEAEA02),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Supports S60 5th Edition
+[0x1028315F], 0, 0, 0, {"S60ProductID"}
+
+
+;--------------- serviceproviders ---------------
+;hsmenuserviceprovider
+
+
+;--------------- stateplugins ---------------
+;hsapplibrarystateplugin
+
+;hsmenuworkerstateplugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/sis/homescreenapp_ut_applib_sisx.bat	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,30 @@
+@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 off
+
+if exist homescreenapp_ut_applib.sisx del homescreenapp_ut_applib.sisx
+
+makesis homescreenapp_ut_applib.pkg
+signsis homescreenapp_ut_applib.sis homescreenapp_ut_applib.sisx rd.cer rd-key.pem
+
+if exist homescreenapp_ut_applib.sisx (
+echo homescreenapp_ut_applib.sisx creation SUCCEEDED
+del homescreenapp_ut_applib.sis
+)
+
+if not exist homescreenapp_ut_applib.sisx (
+echo homescreenapp_ut_applib.sisx creation FAILED
+)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/sis/homescreenapp_ut_hs.pkg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,98 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"hsapp_ut_hs"},(0x20022F48),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Supports S60 5th Edition
+[0x1028315F], 0, 0, 0, {"S60ProductID"}
+
+;--------------- hsapplication ---------------
+"/epoc32/release/armv5/urel/t_hsapplicationexe.exe"                         - "c:/sys/bin/t_hsapplicationexe.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/t_hsapplicationexe_reg.rsc"    - "c:/private/10003a3f/import/apps/t_hsapplicationexe_reg.rsc"
+"/epoc32/data/z/resource/apps/t_hsapplicationexe.rsc"                       - "c:/resource/apps/t_hsapplicationexe.rsc"
+"/epoc32/release/armv5/urel/mockruntimeplugin.dll"     - "c:/sys/bin/mockruntimeplugin.dll"
+"/epoc32/data/z/private/20022f5f/hsresources/plugins/runtimeplugins/mockruntimeplugin.qtplugin"     - "c:/private/20022f5f/hsresources/plugins/runtimeplugins/mockruntimeplugin.qtplugin"
+"/epoc32/data/z/private/20022f5f/hsresources/plugins/runtimeplugins/mockruntimeplugin.xml"  - "c:/private/20022f5f/hsresources/plugins/runtimeplugins/mockruntimeplugin.xml"
+
+;--------------- hsutils ---------------
+"/epoc32/release/armv5/urel/t_hsutils.exe"                         - "c:/sys/bin/t_hsutils.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/t_hsutils_reg.rsc"    - "c:/private/10003a3f/import/apps/t_hsutils_reg.rsc"
+"/epoc32/data/z/resource/apps/t_hsutils.rsc"                       - "c:/resource/apps/t_hsutils.rsc"
+"../hsutils/tsrc/t_hsutils/nokia.png"       - "C:/hsresources/testresources/nokia.png"
+
+;--------------- hsdomainmodel ---------------
+
+"/epoc32/release/armv5/urel/t_hsdomainmodel.exe"                         - "c:/sys/bin/t_hsdomainmodel.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/t_hsdomainmodel_reg.rsc"    - "c:/private/10003a3f/import/apps/t_hsdomainmodel_reg.rsc"
+"/epoc32/data/z/resource/apps/t_hsdomainmodel.rsc"                       - "c:/resource/apps/t_hsdomainmodel.rsc"
+
+
+"../hsdomainmodel/tsrc/t_hsdomainmodel/testdomainmodeldb" - "c:/private/20022F59/testdomainmodeldb"
+"../hsdomainmodel/tsrc/t_hsdomainmodel/d_landscape.png" - "c:/private/20022F59/d_landscape.png"
+"../hsdomainmodel/tsrc/t_hsdomainmodel/d_portrait.png" - "c:/private/20022F59/d_portrait.png"
+
+"/epoc32/release/armv5/urel/mockwidgetplugin.dll" - "c:/sys/bin/mockwidgetplugin.dll"
+"/epoc32/data/z/private/20022F59/hsresources/plugins/widgetplugins/mockwidgetplugin.qtplugin" - "c:/private/20022F59/hsresources/plugins/widgetplugins/mockwidgetplugin.qtplugin"
+"/epoc32/data/z/private/20022F59/hsresources/plugins/widgetplugins/mockwidgetplugin.s60xml" - "c:/private/20022F59/hsresources/plugins/widgetplugins/mockwidgetplugin.s60xml"
+
+
+;--------------- runtimeplugins ---------------
+;hsdefaultruntimeplugin
+"/epoc32/release/armv5/urel/t_hsdefaultruntimeplugin.exe"                  - "c:/sys/bin/t_hsdefaultruntimeplugin.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/t_hsdefaultruntimeplugin_reg.rsc" - "c:/private/10003a3f/import/apps/t_hsdefaultruntimeplugin_reg.rsc"
+"/epoc32/data/z/resource/apps/t_hsdefaultruntimeplugin.rsc"                - "c:/resource/apps/t_hsdefaultruntimeplugin.rsc"
+"/epoc32/release/armv5/urel/mockstateplugins.dll"     - "c:/sys/bin/mockstateplugins.dll"
+"/epoc32/data/z/private/20022f63/hsresources/plugins/stateplugins/mockstateplugins.qtplugin"     - "c:/private/20022f63/hsresources/plugins/stateplugins/mockstateplugins.qtplugin"
+"/epoc32/data/z/private/20022f63/hsresources/plugins/stateplugins/mockstateplugins.s60xml"  - "c:/private/20022f63/hsresources/plugins/stateplugins/mockstateplugins.s60xml"
+
+;--------------- serviceproviders ---------------
+
+;--------------- stateplugins ---------------
+
+;hshomescreenstateplugin
+"/epoc32/release/armv5/urel/t_hshomescreenstateplugin.exe"                         - "c:/sys/bin/t_hshomescreenstateplugin.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/t_hshomescreenstateplugin_reg.rsc"    - "c:/private/10003a3f/import/apps/t_hshomescreenstateplugin_reg.rsc"
+"/epoc32/data/z/resource/apps/t_hshomescreenstateplugin.rsc"                       - "c:/resource/apps/t_hshomescreenstateplugin.rsc"
+
+;--------------- widgetplugins ---------------
+
+;hsshortcutwidgetlugin
+;t_hsshortcutwidget:
+"/epoc32/release/armv5/urel/t_hsshortcutwidget.exe"                         - "c:/sys/bin/t_hsshortcutwidget.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/t_hsshortcutwidget_reg.rsc"    - "c:/private/10003a3f/import/apps/t_hsshortcutwidget_reg.rsc"
+"/epoc32/data/z/resource/apps/t_hsshortcutwidget.rsc"                       - "c:/resource/apps/t_hsshortcutwidget.rsc"
+"../widgetplugins/hsshortcutwidgetplugin/tsrc/t_hsshortcutwidget/foundicon.png"    - "c:/private/20022F64/foundicon.png"
+
+;hsclockwidgetplugin
+;t_hsclockwidgetplugin:
+"/epoc32/release/armv5/urel/t_hsclockwidgetplugin.exe"                      - "c:/sys/bin/t_hsclockwidgetplugin.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/t_hsclockwidgetplugin_reg.rsc" - "c:/private/10003a3f/import/apps/t_hsclockwidgetprovider_reg.rsc"
+"/epoc32/data/z/resource/apps/t_hsclockwidgetplugin.rsc"                    - "c:/resource/apps/t_hsclockwidgetprovider.rsc"
+
+;t_hsanalogclockstyleplugin
+"/epoc32/release/armv5/urel/t_hsanalogclockstyleplugin.exe"                     - "c:/sys/bin/t_hsanalogclockstyleplugin.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/t_hsanalogclockstyleplugin_reg.rsc" - "c:/private/10003a3f/import/apps/t_hsanalogclockstyleplugin_reg.rsc"
+"/epoc32/data/z/resource/apps/t_hsanalogclockstyleplugin.rsc"                   - "c:/resource/apps/t_hsanalogclockstyleplugin.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/sis/homescreenapp_ut_hs_sisx.bat	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,30 @@
+@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 off
+
+if exist homescreenapp_ut_hs.sisx del homescreenapp_ut_hs.sisx
+
+makesis homescreenapp_ut_hs.pkg
+signsis homescreenapp_ut_hs.sis homescreenapp_ut_hs.sisx rd.cer rd-key.pem
+
+if exist homescreenapp_ut_hs.sisx (
+echo homescreenapp_ut_hs.sisx creation SUCCEEDED
+del homescreenapp_ut_hs.sis
+)
+
+if not exist homescreenapp_ut_hs.sisx (
+echo homescreenapp_ut_hs.sisx creation FAILED
+)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/sis/rd-key.pem	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQDLRF+r1FGGkCwTrb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW4
+6Y+LWaA8HMlDdoHRB0FgASisYcFagwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh
+7W7Dt9F5FZij8F7/9Pi6+FhhxZFIf1DD+yry9D7+Sp+BgdNALe4XOpf25QIBAwKB
+gQCHgupyjYuvCsgNHn7PNtnvVxInrB5MQNoPli+O+uNJWUK/Q+57Rl+yO8AoEzDX
+pFaLWiuVVhsdloDnAgabT/FXzYncs6uOHyEUV+dSXb78vtLPJqAX+Fg2i3hOXreB
+yskcZ13/OsKVOu5wgrJkx2baZufkqMwOSytf5y9nwjEIKwJBAP+inobagVNrN62j
+KQva3cC+UN/6XnKdTc0CA6bHyLOaJoH1xiMwG/VS2PGjHI0tiSMNtLn/QPpHJ003
+iabGhdUCQQDLjp/9UjFT6K6CF66Chqf30pZXhx+GTSQZmv/gvZiMly7X9fX9BGX3
+2MbJohBC4yI21XKTbisWywkF73Hwh+TRAkEAqmxprzxWN5zPyRdwspHpKymLP/w+
+9xOJM1atGdqFzRFvAU6EF3Vn+OHl9my9s3OwwgkjJqorUYTE3iUGby8D4wJBAIe0
+aqjhdjfwdFa6dFcEb/qMZDpaFQQzbWZnVUB+ZbMPdI/5TqitmU/l2dvBYCyXbCSO
+TGJJcg8yBgP09qBamIsCQFL7j1tM0XPVQJQ89WpKCld7O9ORxRGVj1eG0tWijrH8
+mGbYh8SGCVoWV3vrKSS8GBrFVgQnqUaHuEdtM7tpCAQ=
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/sis/rd.cer	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICzDCCAjWgAwIBAgIBADANBgkqhkiG9w0BAQUFADArMRAwDgYDVQQKEwdSRCBD
+ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZTAeFw0wNDExMTUxMjQyMDZaFw0z
+NzA5MjMxMjQyMDZaMCsxEDAOBgNVBAoTB1JEIENlcnQxFzAVBgNVBAMTDlJEIENl
+cnRpZmljYXRlMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDLRF+r1FGGkCwT
+rb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW46Y+LWaA8HMlDdoHRB0FgASisYcFa
+gwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh7W7Dt9F5FZij8F7/9Pi6+FhhxZFI
+f1DD+yry9D7+Sp+BgdNALe4XOpf25QIBA6OCAQAwgf0wDAYDVR0TBAUwAwEB/zAL
+BgNVHQ8EBAMCAoQwHQYDVR0OBBYEFFi/kuGzxhVpjGxe9ZwlxC3fH9jFMFMGA1Ud
+IwRMMEqAFFi/kuGzxhVpjGxe9ZwlxC3fH9jFoS+kLTArMRAwDgYDVQQKEwdSRCBD
+ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZYIBADBsBgNVHSAEZTBjMGEGBFUd
+IAAwWTATBggrBgEFBQcCARYHaHR0cDovLzBCBggrBgEFBQcCAjA2GjRGb3IgUiZE
+IHVzYWdlIG9ubHkuIFRoaXMgY2VydGlmaWNhdGUgaXMgbm90IHRydXN0ZWQuMA0G
+CSqGSIb3DQEBBQUAA4GBAHGB4RQMAgBdeT2hxfOr6f2nA/dZm+M5yX5daUtZnET9
+Ed0A9sazLawfN2G1KFQT9kxEParAyoAkpbMAsRrnRz/9cM3OHgFm/NiKRnf50DpT
+7oCx0I/65mVD2kt+xXE62/Ii5KPnTufIkPi2uLvURCia1tTS8JmJ8dtxDGyQt8BR
+-----END CERTIFICATE-----
Binary file homescreenapp/stateplugins/hsapplibrarystateplugin/conf/hsapplibrary.confml has changed
Binary file homescreenapp/stateplugins/hsapplibrarystateplugin/conf/hsapplibrary_20022F97.crml has changed
Binary file homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrary.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrary.ts	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,549 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="txt_common_button_close">
+    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Allows the user to close e.g. a window.</comment>        
+    <source>Close</source>
+    <translation variants="no">Close</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_title_select_applications">
+    <comment>Heading for the mark mode dialog when selecting one or more apps to be added into a collection.</comment>        
+    <source>Select applications</source>
+    <translation variants="no">Select applications</translation>
+    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_opt_rename_item">
+    <comment>Options list item. Note! Only use this text ID if there are no icons. Allows user to rename the selected item (file, folder, music track, image etc.).</comment>        
+    <source>Rename</source>
+    <translation variants="no">Rename</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_view_installed_applications">
+    <comment>Options list item. Opens a list of applications that do not have a UI, eg. MMSSync, language packages, licence manager</comment>        
+    <source>View installed applications</source>
+    <translation variants="no">View installed applications</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_menu_resume">
+    <comment>Item specific menu item for an item showing the dowload progress. Resumes the download progress (toggles between the Pause command in the item menu)</comment>        
+    <source>Resume</source>
+    <translation variants="no">Resume</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_05</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_add_to_home_screen">
+    <comment>Options menu item in collections. Adds collection shortcut to Homescreen.</comment>        
+    <source>Add to Home Screen</source>
+    <translation variants="no">Add to Home Screen</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_sub_custom">
+    <comment>Sub-menu item. Sorts by default order or user&apos;s own order when user has organised the list</comment>        
+    <source>Custom</source>
+    <translation variants="no">Custom</translation>
+    <extra-loc-layout_id>qtl_menu_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>opt_3_sub</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_sub_ascending">
+    <comment>Options list item. Sorts by name, starting from the beginning of the alphabets</comment>        
+    <source>Ascending</source>
+    <translation variants="no">Ascending</translation>
+    <extra-loc-layout_id>qtl_menu_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_03, applib_05, applib_07, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>opt_3_sub</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_button_cancel">
+    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Allows the user to cancel the action or process.</comment>        
+    <source>Cancel</source>
+    <translation variants="no">Cancel</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_sort_by_sub_latest_on_top">
+    <comment>Sub-menu item. Sorts by installation time, latest first (default sort).</comment>        
+    <source>Latest on top</source>
+    <translation variants="no">Latest on top</translation>
+    <extra-loc-layout_id>qtl_menu_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_05</extra-loc-viewid>
+    <extra-loc-positionid>opt_3_sub</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_delete_1">
+    <comment>Confirmation note for deleting a collection that has no shortcuts on Home Screen.</comment>        
+    <source>Delete %1?</source>
+    <translation variants="no">Delete %1?</translation>
+    <extra-loc-layout_id>qtl_dialog_pri3</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="yes" id="txt_applib_dblist_val_ln_new_applications">
+    <comment>List item secondary text for the Downloaded collection, shows the number of new, unlaunched applications/widgets when such exist.</comment>        
+    <source>%Ln new applications</source>
+    <translation>
+        <numerusform variants="no">(s)%Ln new applications</numerusform>
+        <numerusform variants="no">(p)%Ln new applications</numerusform>
+    </translation>
+    <extra-loc-layout_id>qtl_list_sec_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_opt_help">
+    <comment>Options list item. Note! Only use this text ID if there are no icons. Opens a help dialog.</comment>        
+    <source>Help</source>
+    <translation variants="no">Help</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_list_new_collection">
+    <comment>First option in a dialogue where user selects the target collection for an item. Opens an input field to name the new collection.</comment>        
+    <source>New collection</source>
+    <translation variants="no">New collection</translation>
+    <extra-loc-layout_id>qtl_list_popup_pri_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>list</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_deletes_1_also_from_home_screen">
+    <comment>Confirmation note for deleting a collection, operation also deletes possible shortcuts on Home Screen.</comment>        
+    <source>Deletes %1 also from Home Screen. Continue?</source>
+    <translation variants="no">Deletes %1 also from Home Screen. Continue?</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_menu_pause">
+    <comment>Item specific menu item. Note! Only use this text ID if there are no icons. Pauses the ongoing action, such as playing an audio or video clip or presentation.</comment>        
+    <source>Pause</source>
+    <translation variants="no">Pause</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_sub_descending">
+    <comment>Sub-menu item. Sorts by name, starting from the end of the alphabets</comment>        
+    <source>Descending</source>
+    <translation variants="no">Descending</translation>
+    <extra-loc-layout_id>qtl_menu_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_03, applib_05, applib_07, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>opt_3_sub</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_1_will_be_removed_from_phone_c">
+    <comment>Confirmation note for uninstalling an application or a widget that does not have shortcuts on HS or in collections.</comment>        
+    <source>%1 will be removed from phone. Continue?</source>
+    <translation variants="no">%1 will be removed from phone. Continue?</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_07, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_add_content">
+    <comment>Options menu item in collections. Allows the user to add applications/widgets to the currently open collection.</comment>        
+    <source>Add content</source>
+    <translation variants="no">Add content</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_09</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_title_collection_name">
+    <comment>Heading for the dialog where user enters the name for a new collection.</comment>        
+    <source>Collection name:</source>
+    <translation variants="no">Collection name:</translation>
+    <extra-loc-layout_id>qtl_dialog_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog_1</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_menu_settings">
+    <comment>Item specific menu item. Note! Only use this text ID if there are no icons. Opens a view where the user can change the settings of applications, features, and services.</comment>        
+    <source>Settings</source>
+    <translation variants="no">Settings</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_button_add_to_homescreen">
+    <comment>Button in widget preview dialog</comment>        
+    <source>Add to Homescreen</source>
+    <translation variants="no">Add to Homescreen</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_12</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dblist_downloaded_val_empty">
+    <comment>List item secondary text for the Downloaded collection, when the collection is empty (no post-installed applications on the device).</comment>        
+    <source>Empty</source>
+    <translation variants="no">Empty</translation>
+    <extra-loc-layout_id>qtl_list_sec_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_sub_installation_time">
+    <comment>Sub-menu item. Sorts by installation time in the Downloaded collection (latest first, default sort)</comment>        
+    <source>Installation time</source>
+    <translation variants="no">Installation time</translation>
+    <extra-loc-layout_id>qtl_menu_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_05</extra-loc-viewid>
+    <extra-loc-positionid>opt_3_sub</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_title_applications">
+    <comment>Title for all Application library views</comment>        
+    <source>Applications</source>
+    <translation variants="no">Applications</translation>
+    <extra-loc-layout_id>qtl_titlebar</extra-loc-layout_id>    
+    <extra-loc-viewid>applib</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_menu_delete">
+    <comment>Item specific menu item. Note! Only use this text ID if there are no icons. Erases something completely from the phone, list, or memory card, for example. Delete should only be used when something in removed permanently.</comment>        
+    <source>Delete</source>
+    <translation variants="no">Delete</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_menu_rename_item">
+    <comment>Item specific menu item. Note! Only use this text ID if there are no icons. Allows user to rename the selected item (file, folder, music track, image etc.).</comment>        
+    <source>Rename</source>
+    <translation variants="no">Rename</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_file_corrupted_unable_to_use_wi">
+    <comment>Error dialog shown when user tries to use a corrupted HS widget.</comment>        
+    <source>File corrupted, unable to use widget. Delete widget? </source>
+    <translation variants="no">File corrupted, unable to use widget. Delete widget? </translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_menu_cancel_download">
+    <comment>Item specific menu item. Note! Only use this text ID if there are no icons. Cancels the ongoing download.</comment>        
+    <source>Cancel download</source>
+    <translation variants="no">Cancel download</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_title_arrange">
+    <comment>Heading for the Arrange dialog</comment>        
+    <source>Arrange</source>
+    <translation variants="no">Arrange</translation>
+    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03 </extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_sort_by">
+    <comment>Options list item. Opens sublist for sorting criteria</comment>        
+    <source>Sort by</source>
+    <translation variants="no">Sort by</translation>
+    <extra-loc-layout_id>qtl_menu_pri_add</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_03, applib_05, applib_07, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>opt_3</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_menu_install">
+    <comment>Item specific menu item. Note! Only use this text ID if there are no icons. Allows the user to install a file or files.</comment>        
+    <source>Install</source>
+    <translation variants="no">Install</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_arrange">
+    <comment>Options menu item. Allows user to move items in the view (no hierarchy, no folders)</comment>        
+    <source>Arrange</source>
+    <translation variants="no">Arrange</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_sort_by_sub_oldest_on_top">
+    <comment>Sub-menu item. Sorts by installation time, oldest first.</comment>        
+    <source>Oldest on top</source>
+    <translation variants="no">Oldest on top</translation>
+    <extra-loc-layout_id>qtl_menu_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_05</extra-loc-viewid>
+    <extra-loc-positionid>opt_3_sub</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_task_switcher">
+    <comment>Options menu item. Opens the Task Switcher application. (Same command in Home Screen Options menu.)</comment>        
+    <source>Task Switcher</source>
+    <translation variants="no">Task Switcher</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_03, applib_05, applib_07, applib_09, applib_11</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_menu_cancel_installing">
+    <comment>Item specific menu item for an item showing the dowload progress. Cancels the ongoing installing progress</comment>        
+    <source>Cancel installing</source>
+    <translation variants="no">Cancel installing</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_05</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_menu_add_to_collection">
+    <comment>Item specific menu item. Allows the user to add the application/widget to a (virtual) collection. Does not move the item but replicates it in virtual collection.</comment>        
+    <source>Add to collection</source>
+    <translation variants="no">Add to collection</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_add_to_collection">
+    <comment>Options list item. Allows the user to add one or more applications into a virtual collection. Involves several steps, indicated by the ... at the end of the command.</comment>        
+    <source>Add to collection...</source>
+    <translation variants="no">Add to collection...</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_title_add_to">
+    <comment>Heading for the dialog that lists the collections to select from, when adding items to collections</comment>        
+    <source>Add to:</source>
+    <translation variants="no">Add to:</translation>
+    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_menu_send_to_friend">
+    <comment>Item specific menu item. Allows the user to send the download URL of the application/widget. User is prompted for the method used for sending (SMS, email, bluetooth, etc)</comment>        
+    <source>Send to friend</source>
+    <translation variants="no">Send to friend</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_menu_details">
+    <comment>Item specific menu item. Note! Only use this text ID if there are no icons. Opens a view where information about the item is given.</comment>        
+    <source>Details</source>
+    <translation variants="no">Details</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_check_software_updates">
+    <comment>Options list item. Launches SW Update application where user can view and select softwares to be updated.</comment>        
+    <source>Check software updates</source>
+    <translation variants="no">Check software updates</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_uninstalls_1_and_deletes_all_sh">
+    <comment>Confirmation note for uninstalling an application or a widget that has shortcuts on HS or in collections.</comment>        
+    <source>%1 and all its shortcuts will be removed from phone. Continue?</source>
+    <translation variants="no">%1 and all its shortcuts will be removed from phone. Continue?</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_07, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_menu_remove_from_collection">
+    <comment>Item specific menu item to remove app/widget from a collection.</comment>        
+    <source>Remove from collection</source>
+    <translation variants="no">Remove from collection</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_09</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_opt_delete">
+    <comment>Options list item. Note! Only use this text ID if there are no icons. Erases something completely from the phone, list, or memory card, for example. Delete should only be used when something in removed permanently.</comment>        
+    <source>Delete</source>
+    <translation variants="no">Delete</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_1_must_be_closed_before_deletin">
+    <comment>Confirmation note displayed if the user tries to delete a java application that is active at the time.</comment>        
+    <source>%1 must be closed before deleting. Close %1? </source>
+    <translation variants="no">%1 must be closed before deleting. Close %1? </translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_07, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_entry_collectionl1">
+    <comment>Default entry text when naming a new collection, where %L1 is the next available number differentiating between otherwise similar collection names.</comment>        
+    <source>Collection(%L1)</source>
+    <translation variants="no">Collection(%L1)</translation>
+    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog_1_entry</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_menu_add_to_home_screen">
+    <comment>Item specific menu item for an app/widget. adds application/widget to Homescreen</comment>        
+    <source>Add to Home Screen</source>
+    <translation variants="no">Add to Home Screen</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_03, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_opt_new_collection">
+    <comment>Options menu item. User can create a new (empty) collection </comment>        
+    <source>New collection</source>
+    <translation variants="no">New collection</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_03</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_subtitle_installed">
+    <comment>GroupBox widget, shows the label for the Installed applications view.</comment>        
+    <source>Installed</source>
+    <translation variants="no">Installed</translation>
+    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_07</extra-loc-viewid>
+    <extra-loc-positionid>subtitle</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_remove_1_from_collection">
+    <comment>Confirmation for removing an app/widget from a collection. Does not delete the item from the device.</comment>        
+    <source>Remove %1 from collection?</source>
+    <translation variants="no">Remove %1 from collection?</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dialog_entry_collection">
+    <comment>Default entry text in InputDialog when naming a new collection and no other collections with the same name exist.</comment>        
+    <source>Collection</source>
+    <translation variants="no">Collection</translation>
+    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>dialog_1_entry</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_applib_dpopinfo_added_to_collection_1">
+    <comment>Confirmation for a successful operation, app/widget added to a collection. (Use only when user is not inside the target collection.)</comment>        
+    <source>Added to collection %1</source>
+    <translation variants="no">Added to collection %1</translation>
+    <extra-loc-layout_id>qtl_dialog_pri3</extra-loc-layout_id>    
+    <extra-loc-viewid>applib_01, applib_03, applib_05, applib_09</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>ap</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_button_ok">
+    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. When this button is pressed, the focused item or operation will be selected or accepted.</comment>        
+    <source>OK</source>
+    <translation variants="no">OK</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# Contributors:
+# Description:
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,39 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# Contributors:
+# Description:
+TEMPLATE = lib
+CONFIG += plugin hb mobility
+MOBILITY = serviceframework
+
+PLUGIN_SUBDIR = /hsresources/plugins/stateplugins
+include(../../common.pri)
+LIBS += -lhsdomainmodel \
+        -lhsutils \
+        -lhsmenuserviceprovider \
+        -lcaclient
+
+DEPENDPATH += ./inc \
+    ./src
+INCLUDEPATH += ./inc \
+    ../hsmenuworkerstateplugin/inc \
+    ../../serviceproviders/hsmenuserviceprovider/inc \
+    ../../hsdomainmodel/inc \
+    ../../hsutils/inc
+TRANSLATIONS = hsapplibrary.ts
+include(hsapplibrarystateplugin.pri)
+symbian: {
+    TARGET.UID3 = 0x20022F97
+    nft::LIBS += -lhal
+    include(hsapplibrarystateplugin_exports_to_rom.pri)
+    exists($${EPOCROOT}epoc32/include/mw/XQSettingsManager):LIBS += -lxqsettingsmanager
+}
+exportResources(./*.qm, resource/qt/translations)
+RESOURCES = hsapplibrarystateplugin.qrc
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/xml">
+        <file alias="applibrary.docml">resource/applibrary.docml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin_exports_to_rom.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+BLD_INF_RULES.prj_exports += \
+    "$${LITERAL_HASH}include <platform_paths.hrh>" \
+    "conf/hsapplibrary.confml  			APP_LAYER_CONFML(hsapplibrary.confml)" \
+	"conf/hsapplibrary_20022F97.crml  	APP_LAYER_CRML(hsapplibrary_20022F97.crml)"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallappsstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu All Applications state.
+ *
+ */
+
+#ifndef HSALLAPPSSTATE_H
+#define HSALLAPPSSTATE_H
+
+#include <qstate.h>
+#include <QModelIndex>
+
+#include "hsmenustates_global.h"
+#include "hsmenuservice.h"
+
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HbView;
+class HbAction;
+class HbMenu;
+class HbAbstractViewItem;
+class QPointF;
+class HsMenuView;
+class HsMenuItemModel;
+/**
+ * @ingroup group_hsmenustateplugin
+ * @brief All Applications State.
+ *
+ * Displays all applications present on the device in a sorted list.
+ *
+ * @see StateMachine
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsAllAppsState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param containerView Container view.
+     * @param parent Owner.
+     */
+    HsAllAppsState(HsMenuView &menuView, QState *parent = 0);
+
+    /**
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    ~HsAllAppsState();
+
+public slots:
+    /**
+     * Populates all applications
+     *
+     * @since S60 ?S60_version.
+     */
+    void scrollToBeginning();
+
+    /**
+     * Sets collections sort order
+     *
+     * @since S60 ?S60_version.
+     * @param sortOrder sort order.
+     */
+    void collectionsSortOrder(HsSortAttribute sortAttribute);
+
+private slots:
+
+    /**
+     * Slot connected to List widget in normal mode.
+     *
+     * @since S60 ?S60_version.
+     * @param index Model index of the activated item.
+     */
+    void listItemActivated(const QModelIndex &index);
+
+    /**
+     * Slot connected to List widget in add mode.
+     *
+     * @since S60 ?S60_version.
+     * @param index Model index of the activated item.
+     */
+    void addActivated(const QModelIndex &index);
+
+    /**
+     * Slot connected to List widget in normal mode.
+     * Called when item long pressed.
+     *
+     * @since S60 ?S60_version.
+     * @param item View item.
+     * @param coords Press point coordinates.
+     */
+    void listItemLongPressed(HbAbstractViewItem *item,
+                             const QPointF &coords);
+
+    /**
+     * Slot connected to List widget in add mode.
+     * Called when item long pressed.
+     *
+     * @since S60 ?S60_version.
+     * @param item View item.
+     * @param coords Press point coordinates.
+     */
+    void addLongPressed(HbAbstractViewItem *item,
+                        const QPointF &coords);
+
+    /**
+     * Slot called when application is adding to collection.
+     *
+     * @since S60 ?S60_version.
+     */
+    void addToCollection();
+
+    /**
+     * Menu ascending sort action slot.
+     *
+     * @since S60 ?S60_version.
+     */
+    void ascendingMenuAction();
+
+    /**
+     * Menu descending sort action slot.
+     *
+     * @since S60 ?S60_version.
+     */
+    void descendingMenuAction();
+
+    /**
+     * Slot invoked when a state is entered.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateEntered();
+
+    /**
+     * Slot invoked when add mode entered.
+     *
+     * @since S60 ?S60_version.
+     */
+    void addModeEntered();
+
+    /**
+     * Slot invoked when normal mode entered.
+     *
+     * @since S60 ?S60_version.
+     */
+    void normalModeEntered();
+
+    /**
+     * Slot invoked when a state is exited.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateExited();
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+
+    /**
+     * Creates and installs menu options for the view
+     *
+     * @since S60 ?S60_version.
+     */
+    void setMenuOptions();
+
+    void addToHomeScreen(const QModelIndex &index);
+
+private:
+
+    /**
+     * Sort order
+     */
+    HsSortAttribute mSortAttribute;
+
+    /**
+     * Collections sort order
+     */
+    HsSortAttribute mCollectionsSortAttribute;
+
+    /**
+     * The View widget.
+     * Own.
+     */
+    HsMenuView &mMenuView;
+
+    /**
+     * Item Model for the List.
+     * Own.
+     */
+    HsMenuItemModel *mAllAppsModel;
+
+    QModelIndex mBookmark;
+
+};
+
+#endif // HSALLAPPSSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallcollectionsstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,239 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu All Collections state.
+ *
+ */
+
+#ifndef HSALLCOLLECTIONSSTATE_H
+#define HSALLCOLLECTIONSSTATE_H
+
+#include <qstate.h>
+#include <QModelIndex>
+#include <QPointF>
+
+#include "hsmenustates_global.h"
+#include "hsmenuservice.h"
+
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HbMenu;
+class HsMenuView;
+class HbAbstractViewItem;
+class HbAction;
+class HbMainWindow;
+class HsMenuItemModel;
+class HsMenuView;
+
+/**
+ * @ingroup group_hsmenustateplugin
+ * @brief All Collections State.
+ *
+ * Displays all collections present on the device.
+ *
+ * @see StateMachine
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsAllCollectionsState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param containerView Container view.
+     * @param parent Owner.
+     */
+    HsAllCollectionsState(HsMenuView &menuView, QState *parent = 0);
+
+
+    /**
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    ~HsAllCollectionsState();
+
+signals:
+
+    /**
+     * Signal emitted when sort order is changed.
+     *
+     * @since S60 ?S60_version.
+     * @param sortOrder new sort order.
+     */
+    void sortOrderChanged(HsSortAttribute sortAttribute);
+
+public slots:
+    /**
+     * Populates all folders
+     *
+     * @since S60 ?S60_version.
+     */
+    void scrollToBeginning();
+
+private slots:
+
+    /**
+     * Slot connected to List widget in normal mode.
+     *
+     * @since S60 ?S60_version.
+     * @param index Model index of the activated item.
+     */
+    void listItemActivated(const QModelIndex &index);
+
+    /**
+     * Slot connected to List widget in add mode.
+     *
+     * @since S60 ?S60_version.
+     * @param index Model index of the activated item.
+     */
+    void addActivated(const QModelIndex &index);
+
+    /**
+     * Slot connected to List widget in normal mode.
+     * Called when item long pressed.
+     *
+     * @since S60 ?S60_version.
+     * @param item View item.
+     * @param coords Press point coordinates.
+     */
+    void listItemLongPressed(HbAbstractViewItem *item,
+                             const QPointF &coords);
+
+    /**
+     * Slot connected to List widget in add mode.
+     * Called when item long pressed.
+     *
+     * @since S60 ?S60_version.
+     * @param item View item.
+     * @param coords Press point coordinates.
+     */
+    void addLongPressed(HbAbstractViewItem *item,
+                        const QPointF &coords);
+
+    /**
+     * Slot connected to constructMenu.
+     *
+     * @since S60 ?S60_version.
+     */
+    void createNewCollection();
+
+    /**
+     * Slot connected to constructMenu.
+     *
+     * @since S60 ?S60_version.
+     */
+    void createArrangeCollection();
+
+    /**
+     * Menu custom sort action slot.
+     *
+     * @since S60 ?S60_version.
+     */
+    void customMenuAction();
+
+    /**
+     * Menu ascending sort action slot.
+     *
+     * @since S60 ?S60_version.
+     */
+    void ascendingMenuAction();
+
+    /**
+     * Menu descending sort action slot.
+     *
+     * @since S60 ?S60_version.
+     */
+    void descendingMenuAction();
+
+    /**
+     * Slot invoked when a state is entered.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateEntered();
+
+    /**
+     * Slot invoked when add mode is entered.
+     *
+     * @since S60 ?S60_version.
+     */
+    void addModeEntered();
+
+    /**
+     * Slot invoked when normal mode is entered.
+     *
+     * @since S60 ?S60_version.
+     */
+    void normalModeEntered();
+
+    /**
+     * Slot invoked when normal mode is exited.
+     *
+     * @since S60 ?S60_version.
+     */
+    void normalModeExited();
+
+    /**
+     * Slot invoked when a state is exited.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateExited();
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+    /**
+     * Creates and installs menu options for the view
+     *
+     * @since S60 ?S60_version.
+     */
+    void setMenuOptions();
+
+private:
+
+    /**
+     * Sort order
+     */
+    HsSortAttribute mSortAttribute;
+
+    /**
+     * The List View widget.
+     * Own.
+     */
+    HsMenuView &mMenuView;
+
+    /**
+     * Item Model for the List.
+     * Own.
+     */
+    HsMenuItemModel *mAllCollectionsModel;
+
+    QModelIndex mBookmark;
+};
+
+#endif // HSALLCOLLECTIONSSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsapplibrarystate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,180 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu Application Library state.
+ *
+ */
+
+#ifndef HSAPPLIBRARYSTATE_H
+#define HSAPPLIBRARYSTATE_H
+
+#include <QState>
+#include <hbdocumentloader.h>
+#include "hsmenustates_global.h"
+#include "hsmenuview.h"
+#include "hsapp_defs.h"
+
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HbAction;
+class HbView;
+class HbMainWindow;
+class QActionGroup;
+
+class HsAllAppsState;
+class HsAllCollectionsState;
+class HsCollectionState;
+class HsMenuModeTransition;
+
+/**
+ * @ingroup group_hsmenustateplugin
+ * @brief Application Library State.
+ *
+ * Parent state for Application Library functionality
+ *  (browsing applications and collections)
+ *
+ * @see StateMachine
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsAppLibraryState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param parent Owner.
+     */
+    HsAppLibraryState(QState *parent = 0);
+
+    /**
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    virtual ~HsAppLibraryState();
+
+signals:
+
+    /**
+     * Signal emitted when leaving the state,
+     *  i.e when the back softkey is pressed.
+     *
+     * @since S60 ?S60_version.
+     */
+    void toHomescreenState();
+
+    /**
+     * Signal emitted when entering the state
+     *
+     * @since S60 ?S60_version.
+     */
+    void initialize();
+
+public slots:
+
+    void clearToolbarLatch();
+
+    /**
+     * All apps stete entered.
+     * @since S60 ?S60_version.
+     */
+    void allAppsStateEntered();
+
+    /**
+     * All collections state entered.
+     * @since S60 ?S60_version.
+     */
+    void allCollectionsStateEntered();
+
+private slots:
+
+    /**
+     * Slot invoked when a state is entered.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateEntered();
+
+    /**
+     * Slot invoked when a state is exited.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateExited();
+
+
+protected:
+
+    void onEntry(QEvent *event);
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+
+    /**
+     * Sets up Toolbar.
+     *
+     * @since S60 ?S60_version.
+     */
+    void constructToolbar();
+
+private:
+
+    /**
+     * Secondary Softkey action.
+     * Usually backstepping functionality.
+     * Own.
+     */
+    HbAction *mSecondarySoftkeyAction;
+
+    /**
+     * All Applications state.
+     * Own.
+     */
+    HsAllAppsState *mAllAppsState;
+
+    /**
+     * Transition to remember last visited child state in Application Library.
+     * Own.
+     */
+    HsMenuModeTransition *mHistoryTransaction;
+
+    /**
+     * All Collections state.
+     * Own.
+     */
+    HsAllCollectionsState *mAllCollectionsState;
+
+    /**
+     * Collection state.
+     * Own.
+     */
+    HsCollectionState *mCollectionState;
+
+    HsMenuView mMenuView;
+};
+
+#endif //HSAPPLIBRARYSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsapplibrarystateplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Application library state plugin.
+ *
+ */
+
+
+#ifndef HSAPPLIBRARYSTATEPLUGIN_H
+#define HSAPPLIBRARYSTATEPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class HsMenuAppLibraryStatePlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+};
+
+#endif //HSAPPLIBRARYSTATEplugin_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hscollectionstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,255 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu collection state.
+ *
+ */
+
+#ifndef HSCOLLECTIONSTATE_H
+#define HSCOLLECTIONSTATE_H
+
+#include <qstate.h>
+#include <qabstractitemmodel.h>
+
+#include "hsmenustates_global.h"
+#include "hsmenuservice.h"
+
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HbView;
+class HbAction;
+class HbMenu;
+class HbAbstractViewItem;
+class QModelIndex;
+class HsMenuView;
+class HsMenuItemModel;
+
+/**
+ * @ingroup group_hsmenustateplugin
+ * @brief Collection State.
+ *
+ * Displays a concrete collection.
+ *
+ * @see StateMachine
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsCollectionState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param containerView Container view.
+     * @param parent Owner.
+     */
+    HsCollectionState(HsMenuView &menuView, QState *parent = 0);
+
+    /**
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    ~HsCollectionState();
+
+public slots:
+
+    /**
+     * Sets collections sort order
+     *
+     * @since S60 ?S60_version.
+     * @param sortOrder sort order.
+     */
+    void collectionsSortOrder(HsSortAttribute sortAttribute);
+
+protected:
+
+    void onEntry(QEvent *event);
+
+signals:
+
+    void sortOrderChanged(HsSortAttribute sortAttribute);
+
+private slots:
+
+    /**
+     * Slot connected to List widget.
+     *
+     * @since S60 ?S60_version.
+     * @param index Model index of the activated item.
+     */
+    void listItemActivated(const QModelIndex &index);
+
+    /**
+     * Slot connected to List widget.
+     * Called when item long pressed.
+     *
+     * @since S60 ?S60_version.
+     * @param item View item.
+     * @param coords Press point coordinates.
+     */
+    void listItemLongPressed(HbAbstractViewItem *item,
+                             const QPointF &coords);
+
+
+    /**
+     * Menu add applications action slot
+     *
+     * @since S60 ?S60_version.
+     */
+    void addAppsAction();
+
+    /**
+     * Menu add shortcut action slot
+     *
+     * @since S60 ?S60_version.
+     */
+    void addCollectionShortcutToHomeScreenAction();
+
+    /**
+     * Menu rename action slot
+     *
+     * @since S60 ?S60_version.
+     */
+    void renameAction();
+
+    /**
+     * Menu delete action slot
+     *
+     * @since S60 ?S60_version.
+     */
+    void deleteAction();
+
+    /**
+     * Menu softkey back action slot
+     *
+     * @since S60 ?S60_version.
+     */
+    void backSteppingAction();
+
+    /**
+     * Updates label
+     *
+     * @since S60 ?S60_version.
+     */
+    void updateLabel();
+
+
+    /**
+     * Slot invoked when a state is entered.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateEntered();
+
+    /**
+     * Slot invoked when a state is exited.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateExited();
+
+    void latestOnTopMenuAction();
+
+    void oldestOnTopMenuAction();
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+
+    /**
+     * Set up Menu.
+     *
+     * @since S60 ?S60_version.
+     * @param isDynamic Decides which options should be added to menu.
+     */
+    void constructMenu(bool isDynamic);
+
+    /**
+     * Perform all signal connections.
+     *
+     * @since S60 ?S60_version.
+     */
+    void makeConnect();
+
+    /**
+     * Perform all signal disconnections.
+     *
+     * @since S60 ?S60_version.
+     */
+    void makeDisconnect();
+
+    void addElementToHomeScreen(const QModelIndex &index);
+
+private:
+
+    /**
+     * Sort order
+     */
+    HsSortAttribute mSortAttribute;
+
+    /**
+     * All collections sort order
+     */
+    HsSortAttribute mCollectionsSortAttribute;
+
+    /**
+     * The id of the current collection.
+     */
+    int mCollectionId;
+
+    /**
+     * The type of the current collection.
+     */
+    QString mCollectionType;
+
+    /**
+     * The List View widget.
+     * Own.
+     */
+    HsMenuView &mMenuView;
+
+    /**
+     * Secondary Softkey action.
+     * Backstepping functionality.
+     * Own.
+     */
+    HbAction *mSecondarySoftkeyAction;
+
+    /**
+     * Item Model for the List.
+     * Own.
+     */
+    HsMenuItemModel *mCollectionModel;
+
+    /**
+     * Options menu.
+     * Own.
+     */
+    HbMenu *mOptions;
+
+};
+
+#endif // HSCOLLECTIONSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenumodetransition.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Hs Menu Mode Transition.
+ *
+ */
+
+#ifndef HSMENUMODETRANSITION_H
+#define HSMENUMODETRANSITION_H
+
+#include <QAbstractTransition>
+#include "hsmenuview.h"
+
+class QState;
+
+class HsMenuModeTransition: public QAbstractTransition
+{
+
+public:
+
+    HsMenuModeTransition(
+        HsMenuView &menuView, HsMenuMode menuMode, QState *target);
+
+    bool eventTest(QEvent *event);
+
+    void onTransition(QEvent *event);
+
+private:
+
+    HsMenuView &mMenuView;
+    HsMenuMode mMode;
+};
+
+#endif //HSMENUMODETRANSITION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenusearch.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Menu search panel.
+ *
+ */
+
+#ifndef HSMENUSEARCH_H
+#define HSMENUSEARCH_H
+
+#include <QObject>
+#include "hsmenustates_global.h"
+
+class HsMenuView;
+
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsMenuSearch: public QObject
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+public:
+    HsMenuSearch(HsMenuView *menuView);
+public slots:
+
+    void findItem(QString criteriaStr);
+
+private:
+    HsMenuView *const mMenuView;//not own
+};
+
+#endif // HSMENUSEARCH_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuview.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Menu view.
+ *
+ */
+
+#ifndef HSMENUVIEW_H
+#define HSMENUVIEW_H
+
+#include <QObject>
+#include <QModelIndex>
+#include <QAbstractItemView>
+#include <HbAbstractItemView>
+#include "hsmenustates_global.h"
+#include "hsapp_defs.h"
+#include "hsmenuviewbuilder.h"
+#include "hsmenusearch.h"
+
+class QPointF;
+class QActionGroup;
+class HbView;
+class HbMainWindow;
+class HbAction;
+class HbAbstractItemView;
+class HbGroupBox;
+class HbWidget;
+class HsMenuItemModel;
+
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsMenuView: public QObject
+{
+    Q_OBJECT
+
+public:
+    HsMenuView(HbMainWindow *window);
+    ~HsMenuView();
+
+    void setModel(HsMenuItemModel *model);
+    const HsMenuItemModel *model() const;
+    void setLabel(const QString &label);
+    void scrollTo(const QModelIndex &index,
+                  HbAbstractItemView::ScrollHint hint =
+                      HbAbstractItemView::EnsureVisible);
+
+    void scrollToWithoutHidingSearchPanel(
+        const QModelIndex &index,
+        HbAbstractItemView::ScrollHint hint =
+            HbAbstractItemView::EnsureVisible);
+
+    void setLabelVisible(bool visible);
+    void setSearchPanelVisible(bool visible);
+
+    HbView *view();
+    QActionGroup *toolBarActionGroup();
+    HbAction *allAppsAction();
+    HbAction *allCollectionsAction();
+    HbAction *oviStoreAction();
+
+    QModelIndex firstVisibleItemIndex();
+
+    HsMenuMode getHsMenuMode();
+
+    void setHsMenuMode(HsMenuMode menuMode);
+signals:
+    void activated(const QModelIndex &index);
+    void longPressed(HbAbstractViewItem *item, const QPointF &coords);
+
+public slots:
+
+    void showSearchPanel();
+    void hideSearchPanel();
+private slots:
+    void scrollToRow(int row,
+                     QAbstractItemView::ScrollHint hint =
+                         QAbstractItemView::PositionAtTop);
+
+private:
+    void connectItemViewsSignals();
+    void disconnectItemViewsSignals();
+
+    void connectModelSignals();
+    void disconnectModelSignals();
+
+    void connectSearchPanelSignals();
+    void disconnectSearchPanelSignals();
+
+    void hideSearchPanelOnScrolling(bool);
+
+    void setUpToolBar();
+
+private:
+
+    HsMenuViewBuilder mBuilder;
+
+    HbMainWindow *const mWindow;
+    HsMenuItemModel *mModel;
+    HsMenuSearch mMenuSearch;
+
+    QActionGroup *mToolBarActionGroup;
+
+    HsMenuMode mMenuMode;
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+};
+
+
+#endif // HSMENUVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuviewbuilder.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu View Builder
+ *
+ */
+
+#ifndef HSMENUVIEWBUILDER_H
+#define HSMENUVIEWBUILDER_H
+
+#include <QFlags>
+#include <QMap>
+#include <QString>
+#include <qnamespace.h>
+#include <hbdocumentloader.h>
+
+class HbAction;
+class HbGroupBox;
+class HbLineEdit;
+class HbListView;
+class HbSearchPanel;
+class HbToolBar;
+class HbView;
+class HbWidget;
+
+class HsMenuViewBuilder
+{
+public:
+    HsMenuViewBuilder();
+    ~HsMenuViewBuilder();
+
+    bool setLabelVisible(bool);
+    bool setSearchPanelVisible(bool);
+    bool isLabelVisible() const;
+    bool isSearchPanelVisible() const;
+
+    HbView *view() const;
+    HbListView *listView() const;
+    HbGroupBox *label() const;
+    HbSearchPanel *searchPanel() const;
+    HbAction *allAppsAction() const;
+    HbAction *allCollectionsAction() const;
+    HbAction *searchAction() const;
+    HbAction *oviStoreAction() const;
+    HbToolBar *toolBar() const;
+    HbLineEdit *searchPanelLineEdit() const;
+private:
+
+    bool parseSection(const QString &sectionName);
+
+    HbDocumentLoader mDocumentLoader;
+
+    QObject mParent;
+
+    enum ViewOption {
+        Default = 0x0,
+        Label = 0x1,
+        Search = 0x2
+    };
+
+    Q_DECLARE_FLAGS(ViewOptions, ViewOption)
+    ViewOptions mViewOptions;
+    QMap<ViewOptions, QString> mSections;
+
+    void buildSectionKeyMap();
+
+    const QString DOCUMENT_FILE_NAME;
+    const QString ALL_APPS_ACTION_NAME;
+    const QString ALL_COLLECTIONS_ACTION_NAME;
+    const QString SEARCH_ACTION_NAME;
+    const QString OVI_STORE_ACTION_NAME;
+    const QString VIEW_NAME;
+    const QString CONTAINER_NAME;
+    const QString LIST_VIEW_NAME;
+    const QString TOOL_BAR_NAME;
+    const QString SEARCH_PANEL_NAME;
+    const QString LABEL_NAME;
+    const QString LIST_VIEW_SECTION_NAME;
+    const QString LIST_LABELED_VIEW_SECTION_NAME;
+    const QString LIST_SEARCH_VIEW_SECTION_NAME;
+    const QString LIST_SEARCH_LABELED_VIEW_SECTION_NAME;
+};
+
+#endif // HSMENUVIEWBUILDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsovistorehandler.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Hs Ovi Store Handler.
+ *
+ */
+
+#ifndef HSOVISTOREHANDLER_H_
+#define HSOVISTOREHANDLER_H_
+
+#include <QObject>
+#include "hbicon.h"
+#include "hsmenustates_global.h"
+
+class HsOviStoreHandlerPrivate;
+
+class HsOviStoreHandler: public QObject
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+    HsOviStoreHandler(QObject *parent = 0);
+    virtual ~HsOviStoreHandler();
+    HbIcon icon();
+
+public slots:
+    void action();
+
+private:
+    HsOviStoreHandlerPrivate *const m_q;
+};
+
+#endif /* HSOVISTOREHANDLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsovistorehandler_p.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Hs Ovi Store Handler Private.
+ *
+ */
+
+#ifndef HSOVISTOREHANDLER_P_H_
+#define HSOVISTOREHANDLER_P_H_
+
+#ifndef NO_QT_EXTENSIONS
+
+#include <QObject>
+#include "hbicon.h"
+#include "hsmenustates_global.h"
+
+class CaEntry;
+class XQSettingsManager;
+
+class HsOviStoreHandlerPrivate: public QObject
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+    HsOviStoreHandlerPrivate(QObject *parent = 0);
+    virtual ~HsOviStoreHandlerPrivate();
+    HbIcon icon();
+    void action();
+
+private:
+    void readCentralRepository();
+    HbIcon createIcon(XQSettingsManager *crManager);
+    CaEntry *createAppEntry(XQSettingsManager *crManager);
+    CaEntry *createUrlEntry(XQSettingsManager *crManager);
+
+private:
+    CaEntry *mOviStore;
+
+    HbIcon mIcon;
+};
+
+#endif
+
+#endif /* HSOVISTOREHANDLER_P_H_ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/resource/hsapplibrarystateplugin.s60xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsapplibrarystateplugin</name>
+    <filepath>z:/hsresources/plugins/stateplugins/hsapplibrarystateplugin.qtplugin</filepath>
+    <description></description>
+    <interface>
+        <name>com.nokia.homescreen.state.HsAppLibraryState</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/resource/hsapplibrarystateplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsapplibrarystateplugin</name>
+    <filepath>hsapplibrarystateplugin</filepath>
+    <description></description>
+    <interface>
+        <name>com.nokia.homescreen.state.HsAppLibraryState</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallappsstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,363 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu All Applications state.
+ *
+ */
+
+#include <qstatemachine.h>
+#include <hbview.h>
+#include <hblistview.h>
+#include <hbaction.h>
+#include <hbmenu.h>
+#include <hbabstractviewitem.h>
+#include <hsmenueventfactory.h>
+#include <hbinstance.h>
+#include <caentry.h>
+#include <hbsearchpanel.h>
+
+#include "hsmenuitemmodel.h"
+#include "hsmenuview.h"
+#include "cadefs.h"
+#include "hsallappsstate.h"
+#include "hsaddappstocollectionstate.h"
+#include "hsapp_defs.h"
+#include "hsmenumodetransition.h"
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsAllAppsState::HsAllAppsState(HsMenuView &menuView, QState *parent) :
+    QState(parent), mSortAttribute(AscendingNameHsSortAttribute),
+    mCollectionsSortAttribute(LatestOnTopHsSortAttribute),
+    mMenuView(menuView), mAllAppsModel(0)
+{
+    construct();
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::construct()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::construct");
+
+    QState *initialState = new QState(this);
+    setInitialState(initialState);
+
+    QState *addModeState = new QState(this);
+    connect(addModeState, SIGNAL(entered()),SLOT(addModeEntered()));
+
+    QState *normalModeState = new QState(this);
+    connect(normalModeState, SIGNAL(entered()),SLOT(normalModeEntered()));
+
+    initialState->addTransition(new HsMenuModeTransition(
+                                    mMenuView, NormalHsMenuMode, normalModeState));
+    initialState->addTransition(new HsMenuModeTransition(
+                                    mMenuView, AddHsMenuMode, addModeState));
+
+    setObjectName(this->parent()->objectName() + "/allappsstate");
+    connect(this, SIGNAL(entered()),SLOT(stateEntered()));
+    connect(this, SIGNAL(exited()),SLOT(stateExited()));
+    mAllAppsModel = HsMenuService::getAllApplicationsModel(mSortAttribute);
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::construct");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::setMenuOptions()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::setMenuOptions");
+    HbMenu *const mOptions = new HbMenu();
+    mOptions->addAction(hbTrId("txt_applib_opt_add_to_collection"),
+                        this,
+                        SLOT(addToCollection()));
+
+    HbMenu *const sortMenu = mOptions->addMenu(hbTrId(
+                                 "txt_applib_opt_sort_by"));
+    //Grouped options are exclusive by default.
+    QActionGroup *sortGroup = new QActionGroup(mOptions);
+
+    sortGroup->addAction(
+        sortMenu->addAction(hbTrId("txt_applib_opt_sub_ascending"),
+                            this,
+                            SLOT(ascendingMenuAction())));
+    sortGroup->addAction(
+        sortMenu->addAction(hbTrId("txt_applib_opt_sub_descending"),
+                            this,
+                            SLOT(descendingMenuAction())));
+    mOptions->setParent(this);
+    foreach(QAction *action, sortMenu->actions()) {
+        action->setCheckable(true);
+    }
+    int currentSortingPosition(-1);
+    switch (mSortAttribute) {
+    case AscendingNameHsSortAttribute:
+        currentSortingPosition = 0;
+        break;
+    case DescendingNameHsSortAttribute:
+        currentSortingPosition = 1;
+        break;
+    default:
+        break;
+    }
+    if (currentSortingPosition >= 0) {
+        sortGroup->actions().at(currentSortingPosition)->setChecked(true);
+    }
+    mMenuView.view()->setMenu(mOptions);
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::setMenuOptions");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsAllAppsState::~HsAllAppsState()
+{
+    delete mAllAppsModel;
+}
+
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::scrollToBeginning()
+{
+    mBookmark = mAllAppsModel->index(0);
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::stateEntered()
+{
+    qDebug("AllAppsState::stateEntered()");
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::stateEntered");
+
+    mMenuView.setModel(mAllAppsModel);
+    mMenuView.scrollTo(mBookmark, HbAbstractItemView::PositionAtTop);
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::stateEntered");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::normalModeEntered()
+{
+    setMenuOptions();
+
+    connect(&mMenuView, SIGNAL(activated(QModelIndex)),
+            SLOT(listItemActivated(QModelIndex)));
+    connect(&mMenuView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+            SLOT(listItemLongPressed(HbAbstractViewItem *, QPointF)));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::addModeEntered()
+{
+    connect(&mMenuView, SIGNAL(activated(QModelIndex)),
+            SLOT(addActivated(QModelIndex)));
+    connect(&mMenuView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+            SLOT(addLongPressed(HbAbstractViewItem *, QPointF)));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::stateExited()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::stateExited");
+    mBookmark = mMenuView.firstVisibleItemIndex();
+
+    mMenuView.disconnect(this);
+    mMenuView.view()->setMenu(NULL);
+
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::stateExited");
+    qDebug("AllAppsState::stateExited()");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::listItemActivated(const QModelIndex &index)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::listItemActivated");
+
+    const CaEntry *entry = mAllAppsModel->entry(index);
+
+    if (entry->entryTypeName() == widgetTypeName()) {
+        machine()->postEvent(
+            HsMenuEventFactory::createPreviewHSWidgetEvent(
+                entry->id(), entry->entryTypeName(), entry->attribute(
+                    widgetUriAttributeName()), entry->attribute(
+                    widgetLibraryAttributeName())));
+
+        const int itemId = index.data(CaItemModel::IdRole).toInt();
+        HsMenuService::touch(itemId);
+    } else {
+        QVariant data = mAllAppsModel->data(index, CaItemModel::IdRole);
+        HsMenuService::executeAction(data.toInt());
+    }
+
+    mMenuView.setSearchPanelVisible(false);
+
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::listItemActivated");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::addActivated(const QModelIndex &index)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::addActivated");
+    mMenuView.setSearchPanelVisible(false);
+    addToHomeScreen(index);
+    machine()->postEvent(
+        HsMenuEventFactory::createOpenHomeScreenEvent());
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::addActivated");
+}
+
+/*!
+ Handles long-item-pressed event in all apps view by showing context menu
+ \param item the event pertains to
+ \param position at which context menu is shown
+ \retval void
+ */
+void HsAllAppsState::listItemLongPressed(HbAbstractViewItem *item,
+        const QPointF &coords)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::listItemLongPressed");
+
+    mMenuView.setSearchPanelVisible(false);
+
+    // create context menu
+    HbMenu *menu = new HbMenu();
+
+    HbAction *addToHomeScreenAction = menu->addAction(hbTrId(
+                                          "txt_applib_menu_add_to_home_screen"));
+
+    HbAction *addToCollectionAction = menu->addAction(hbTrId(
+                                          "txt_applib_menu_add_to_collection"));
+
+    HbAction *uninstallAction = menu->addAction(hbTrId(
+                                    "txt_common_menu_delete"));
+
+    // check conditions and hide irrelevant menu items
+
+    EntryFlags flags = item->modelIndex().data(
+                           CaItemModel::FlagsRole).value<EntryFlags> ();
+
+    if (!(flags & RemovableEntryFlag)) {
+        uninstallAction->setVisible(false);
+    }
+    // choose proper action
+    if (HbAction *selectedAction = menu->exec(coords)) {
+        if (selectedAction == addToHomeScreenAction) {
+            addToHomeScreen(item->modelIndex());
+        } else if (selectedAction == addToCollectionAction) {
+            // Addding a specific application to
+            // an existing collection via item specific menu.
+            const int itemId =
+                item->modelIndex().data(CaItemModel::IdRole).toInt();
+            machine()->postEvent(
+                HsMenuEventFactory::createAddAppsFromApplicationsViewEvent(
+                    mSortAttribute, mCollectionsSortAttribute, itemId));
+
+        } else if (selectedAction == uninstallAction) {
+            const int itemId =
+                item->modelIndex().data(CaItemModel::IdRole).toInt();
+            HsMenuService::executeAction(itemId, removeActionIdentifier());
+        }
+    }
+    delete menu;
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::listItemLongPressed");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::addLongPressed(HbAbstractViewItem *item,
+                                    const QPointF &coords)
+{
+    Q_UNUSED(coords);
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::addLongPressed");
+    mMenuView.setSearchPanelVisible(false);
+    addToHomeScreen(item->modelIndex());
+    machine()->postEvent(
+        HsMenuEventFactory::createOpenHomeScreenEvent());
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::addLongPressed");
+
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::addToCollection()
+{
+    // Add one/many applications to
+    // a new/an existing collection via the All view
+    machine()->postEvent(
+        HsMenuEventFactory::createAddAppsFromApplicationsViewEvent(
+            mSortAttribute, mCollectionsSortAttribute));
+}
+
+/*!
+ Triggers event so that a state adding to Home Screen is reached
+ \param index of an item to be added to homescreen
+ \retval void
+ */
+void HsAllAppsState::addToHomeScreen(const QModelIndex &index)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::addToHomeScreen");
+    const CaEntry *entry = mAllAppsModel->entry(index);
+
+    machine()-> postEvent(HsMenuEventFactory::createAddToHomeScreenEvent(
+                              entry->id(), entry->entryTypeName(), entry->attribute(
+                                  widgetUriAttributeName()), entry->attribute(
+                                  widgetLibraryAttributeName())));
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::addToHomeScreen");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::ascendingMenuAction()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::ascendingMenuAction");
+    mSortAttribute = AscendingNameHsSortAttribute;
+    mAllAppsModel->setSort(mSortAttribute);
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::ascendingMenuAction");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::collectionsSortOrder(
+    HsSortAttribute sortOrder)
+{
+    mCollectionsSortAttribute = sortOrder;
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllAppsState::descendingMenuAction()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllAppsState::descendingMenuAction");
+    mSortAttribute = DescendingNameHsSortAttribute;
+    mAllAppsModel->setSort(mSortAttribute);
+    HSMENUTEST_FUNC_EXIT("HsAllAppsState::descendingMenuAction");
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallcollectionsstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,357 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu All Collections state.
+ *
+ */
+
+#include <qstatemachine.h>
+#include <hbview.h>
+#include <hbmainwindow.h>
+#include <hbmenu.h>
+#include <hbaction.h>
+#include <hbabstractviewitem.h>
+#include <hsmenueventfactory.h>
+#include <hbinstance.h>
+#include <hbsearchpanel.h>
+
+#include "hsmenuview.h"
+#include "hsmenuitemmodel.h"
+#include "cadefs.h"
+#include "hsallcollectionsstate.h"
+#include "hsaddappstocollectionstate.h"
+#include "hsmenumodetransition.h"
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsAllCollectionsState::HsAllCollectionsState(
+    HsMenuView &menuView, QState *parent) :
+    QState(parent), mSortAttribute(CustomHsSortAttribute),
+    mMenuView(menuView), mAllCollectionsModel(0)
+{
+    construct();
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::construct()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::construct");
+
+    QState *initialState = new QState(this);
+    setInitialState(initialState);
+
+    QState *addModeState = new QState(this);
+    connect(addModeState, SIGNAL(entered()),SLOT(addModeEntered()));
+
+    QState *normalModeState = new QState(this);
+    connect(normalModeState, SIGNAL(entered()),SLOT(normalModeEntered()));
+    connect(normalModeState, SIGNAL(exited()),SLOT(normalModeExited()));
+
+    initialState->addTransition(new HsMenuModeTransition(
+                                    mMenuView, NormalHsMenuMode, normalModeState));
+    initialState->addTransition(new HsMenuModeTransition(
+                                    mMenuView, AddHsMenuMode, addModeState));
+
+    setObjectName(this->parent()->objectName() + "/allcollectionsstate");
+    connect(this, SIGNAL(entered()),SLOT(stateEntered()));
+    connect(this, SIGNAL(exited()),SLOT(stateExited()));
+    mAllCollectionsModel = HsMenuService::getAllCollectionsModel(
+                               mSortAttribute);
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::construct");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::setMenuOptions()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::setMenuOptions");
+    HbMenu *const options = new HbMenu();
+    options->addAction(hbTrId("txt_applib_opt_new_collection"),
+                       this, SLOT(createNewCollection()));
+
+    HbMenu *const sortMenu = options->addMenu(
+                                 hbTrId("txt_applib_opt_sort_by"));
+
+    //Grouped options are exclusive by default.
+    QActionGroup *sortGroup = new QActionGroup(options);
+    sortGroup->addAction(sortMenu->addAction(
+                             hbTrId("txt_applib_opt_sub_custom"),
+                             this, SLOT(customMenuAction())));
+    sortGroup->addAction(sortMenu->addAction(
+                             hbTrId("txt_applib_opt_sub_ascending"),
+                             this, SLOT(ascendingMenuAction())));
+    sortGroup->addAction(sortMenu->addAction(
+                             hbTrId("txt_applib_opt_sub_descending"),
+                             this, SLOT(descendingMenuAction())));
+
+    if (mSortAttribute == CustomHsSortAttribute) {
+        options->addAction(hbTrId("txt_applib_opt_arrange"),
+                           this, SLOT(createArrangeCollection()));
+    }
+    options->setParent(this);
+
+    foreach(QAction *action, sortMenu->actions()) {
+        action->setCheckable(true);
+    }
+
+    switch (mSortAttribute) {
+    case AscendingNameHsSortAttribute:
+        sortGroup->actions().at(1)->setChecked(true);
+        break;
+    case DescendingNameHsSortAttribute:
+        sortGroup->actions().at(2)->setChecked(true);
+        break;
+    case CustomHsSortAttribute:
+    default:
+        sortGroup->actions().at(0)->setChecked(true);
+        break;
+    }
+
+    mMenuView.view()->setMenu(options);
+
+
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::setMenuOptions");
+}
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsAllCollectionsState::~HsAllCollectionsState()
+{
+    delete mAllCollectionsModel;
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::scrollToBeginning()
+{
+    mBookmark = mAllCollectionsModel->index(0);
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::stateEntered()
+{
+    qDebug("AllCollectionsState::stateEntered()");
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::stateEntered");
+
+    mMenuView.setModel(mAllCollectionsModel);
+    mMenuView.scrollTo(mBookmark, HbAbstractItemView::PositionAtTop);
+
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::stateEntered");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::normalModeEntered()
+{
+    setMenuOptions();
+
+    connect(&mMenuView, SIGNAL(activated(QModelIndex)),
+            SLOT(listItemActivated(QModelIndex)));
+    connect(&mMenuView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+            SLOT(listItemLongPressed(HbAbstractViewItem *, QPointF)));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::normalModeExited()
+{
+    mMenuView.view()->setMenu(NULL);
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::addModeEntered()
+{
+    connect(&mMenuView, SIGNAL(activated(QModelIndex)),
+            SLOT(addActivated(QModelIndex)));
+    connect(&mMenuView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+            SLOT(addLongPressed(HbAbstractViewItem *, QPointF)));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::stateExited()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::stateExited");
+
+    mMenuView.disconnect(this);
+
+    mBookmark = mMenuView.firstVisibleItemIndex();
+
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::stateExited");
+    qDebug("AllCollectionsState::stateExited()");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::listItemActivated(const QModelIndex &index)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::listItemActivated");
+    QVariant data = mAllCollectionsModel->data(index, CaItemModel::IdRole);
+    int id = data.toInt();
+    QString collectionType =
+        mAllCollectionsModel->data(index, CaItemModel::TypeRole).toString();
+    qDebug("AllCollectionsState::listItemActivated - MCS ID: %d",
+           data.toInt());
+
+    mMenuView.setSearchPanelVisible(false);
+
+    machine()->postEvent(HsMenuEventFactory::createOpenCollectionEvent(id,
+                         collectionType));
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::listItemActivated");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::addActivated(const QModelIndex &index)
+{
+    mMenuView.setSearchPanelVisible(false);
+    const int itemId = index.data(CaItemModel::IdRole).toInt();
+    machine()->postEvent(
+        HsMenuEventFactory::createAddToHomeScreenEvent(itemId));
+    machine()->postEvent(
+        HsMenuEventFactory::createOpenHomeScreenEvent());
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::addLongPressed(HbAbstractViewItem *item,
+        const QPointF &coords)
+{
+    Q_UNUSED(coords);
+    mMenuView.setSearchPanelVisible(false);
+    const int itemId = item->modelIndex().data(CaItemModel::IdRole).toInt();
+    machine()->postEvent(
+        HsMenuEventFactory::createAddToHomeScreenEvent(itemId));
+    machine()->postEvent(
+        HsMenuEventFactory::createOpenHomeScreenEvent());
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::listItemLongPressed(HbAbstractViewItem *item,
+        const QPointF &coords)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::listItemLongPressed");
+
+    mMenuView.setSearchPanelVisible(false);
+
+    const int itemId = item->modelIndex().data(CaItemModel::IdRole).toInt();
+    HbMenu *menu = new HbMenu();
+
+    // create context menu
+    HbAction *addShortcutAction = menu->addAction(hbTrId(
+                                      "txt_applib_menu_add_to_home_screen"));
+    HbAction *renameAction = NULL;
+    HbAction *deleteAction = NULL;
+
+    EntryFlags flags = item->modelIndex().data(CaItemModel::FlagsRole).value<
+                       EntryFlags> ();
+
+    if ((flags & RemovableEntryFlag)) {
+        renameAction = menu->addAction(
+                           hbTrId("txt_common_menu_rename_item"));
+        deleteAction = menu->addAction(hbTrId("txt_common_menu_delete"));
+    }
+
+    // choose proper action
+    if (HbAction *selectedAction = menu->exec(coords)) {
+        if (selectedAction == addShortcutAction) {
+            machine()->postEvent(
+                HsMenuEventFactory::createAddToHomeScreenEvent(itemId));
+        } else if (renameAction && selectedAction == renameAction) {
+            machine()->postEvent(
+                HsMenuEventFactory::createRenameCollectionEvent(itemId));
+        } else if (deleteAction && selectedAction == deleteAction) {
+            machine()->postEvent(
+                HsMenuEventFactory::createDeleteCollectionEvent(itemId));
+        }
+    }
+    delete menu;
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::listItemLongPressed");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::createNewCollection()
+{
+    // Adding a new collection via the Collections view
+    machine()->postEvent(HsMenuEventFactory::createNewCollectionEvent());
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::createArrangeCollection()
+{
+    // Arrange collection via the Arrange view
+    QModelIndex idx = mMenuView.firstVisibleItemIndex();
+    int topItemId = idx.data(CaItemModel::IdRole).toInt();
+    machine()->postEvent(
+        HsMenuEventFactory::createArrangeCollectionEvent(topItemId));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::customMenuAction()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::customMenuAction");
+    mSortAttribute = CustomHsSortAttribute;
+    setMenuOptions();
+    mAllCollectionsModel->setSort(mSortAttribute);
+    emit sortOrderChanged(mSortAttribute);
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::customMenuAction");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::ascendingMenuAction()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::ascendingMenuAction");
+    mSortAttribute = AscendingNameHsSortAttribute;
+    setMenuOptions();
+    mAllCollectionsModel->setSort(mSortAttribute);
+    emit sortOrderChanged(mSortAttribute);
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::ascendingMenuAction");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAllCollectionsState::descendingMenuAction()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::descendingMenuAction");
+    mSortAttribute = DescendingNameHsSortAttribute;
+    setMenuOptions();
+    mAllCollectionsModel->setSort(mSortAttribute);
+    emit sortOrderChanged(mSortAttribute);
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::descendingMenuAction");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsapplibrarystate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,249 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu Application Library state.
+ *
+ */
+#include <qsignaltransition.h>
+#include <qhistorystate.h>
+
+#include <hbmainwindow.h>
+#include <hbview.h>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbinstance.h>
+#include <hblistview.h>
+#include <hbsearchpanel.h>
+#include <hsmenueventtransition.h>
+
+#include "hstest_global.h"
+#include "hsapplibrarystate.h"
+#include "hsallappsstate.h"
+#include "hsallcollectionsstate.h"
+#include "hscollectionstate.h"
+#include "hsovistorehandler.h"
+#include "hsmenuview.h"
+#include "hsmenumodetransition.h"
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsAppLibraryState::HsAppLibraryState(QState *parent) :
+    QState(parent), mSecondarySoftkeyAction(0), mAllAppsState(0),
+    mHistoryTransaction(0), mAllCollectionsState(0), mCollectionState(0),
+    mMenuView(HbInstance::instance()->allMainWindows().value(0))
+{
+    construct();
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsAppLibraryState::~HsAppLibraryState()
+{
+    HbMainWindow *const hbW =
+        HbInstance::instance()->allMainWindows().value(0);
+
+    if (hbW) {
+        hbW->removeView(mMenuView.view());
+        hbW->removeSoftKeyAction(Hb::SecondarySoftKey,
+                                 mSecondarySoftkeyAction);
+    }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppLibraryState::construct()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::construct");
+    setObjectName("homescreen.nokia.com/state/applibrarystate");
+
+    mSecondarySoftkeyAction = new HbAction(Hb::BackAction, this);
+    connect(mSecondarySoftkeyAction, SIGNAL(triggered()),
+            SIGNAL(toHomescreenState()));
+
+    mAllAppsState = new HsAllAppsState(mMenuView, this);
+    connect(this, SIGNAL(entered()),mAllAppsState, SLOT(scrollToBeginning()));
+
+    mAllCollectionsState = new HsAllCollectionsState(mMenuView, this);
+    connect(this, SIGNAL(entered()),
+            mAllCollectionsState, SLOT(scrollToBeginning()));
+
+    QState *initialState = new QState(this);
+    setInitialState(initialState);
+
+    mHistoryTransaction =  new HsMenuModeTransition(
+        mMenuView, NormalHsMenuMode, mAllAppsState);
+    initialState->addTransition(mHistoryTransaction);
+    initialState->addTransition(new HsMenuModeTransition(
+                                    mMenuView, AddHsMenuMode, mAllAppsState));
+
+    mCollectionState = new HsCollectionState(mMenuView, this);
+    connect(mCollectionState, SIGNAL(entered()),SLOT(clearToolbarLatch()));
+
+    HsMenuEventTransition *eventTransition =
+        new HsMenuEventTransition(HsMenuEvent::OpenCollection,
+                                  mAllCollectionsState, mCollectionState);
+    mAllCollectionsState->addTransition(eventTransition);
+
+    HsMenuEventTransition *collectionDeletedTransition =
+        new HsMenuEventTransition(HsMenuEvent::CollectionDeleted,
+                                  mCollectionState, mAllCollectionsState);
+    mCollectionState->addTransition(collectionDeletedTransition);
+
+    //transition for returning from collection
+    HsMenuEventTransition *collectionToAppLibTransition =
+        new HsMenuEventTransition(HsMenuEvent::OpenApplicationLibrary,
+                                  mCollectionState, mAllCollectionsState);
+    mCollectionState->addTransition(collectionToAppLibTransition);
+
+    constructToolbar();
+
+    connect(this, SIGNAL(entered()),SLOT(stateEntered()));
+    connect(this, SIGNAL(exited()),SLOT(stateExited()));
+    connect(mAllCollectionsState, SIGNAL(sortOrderChanged(HsSortAttribute)),
+            mAllAppsState, SLOT(collectionsSortOrder(HsSortAttribute)));
+    connect(mAllCollectionsState, SIGNAL(sortOrderChanged(HsSortAttribute)),
+            mCollectionState, SLOT(collectionsSortOrder(HsSortAttribute)));
+
+    connect(mAllAppsState, SIGNAL(entered()),
+            this, SLOT(allAppsStateEntered()));
+    connect(mAllCollectionsState, SIGNAL(entered()),
+            this, SLOT(allCollectionsStateEntered()));
+
+    HSMENUTEST_FUNC_EXIT("HsAppLibraryState::construct");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppLibraryState::onEntry(QEvent *event)
+{
+    qDebug("HsCollectionState::onEntry()");
+    HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::onEntry");
+    QState::onEntry(event);
+
+    if (event->type() == HsMenuEvent::eventType()) {
+        HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+        QVariantMap data = menuEvent->data();
+        mMenuView.setHsMenuMode(
+            static_cast<HsMenuMode>(data.value(menuModeType()).toInt()));
+    } else {
+        mMenuView.setHsMenuMode(NormalHsMenuMode);
+    }
+
+    HSMENUTEST_FUNC_EXIT("HsAppLibraryState::onEntry");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppLibraryState::stateEntered()
+{
+    HSTEST_FUNC_ENTRY("AppLibraryState::stateEntered");
+    HbMainWindow *hbW = HbInstance::instance()->allMainWindows().value(0);
+    if (!hbW->views().contains(mMenuView.view())) {
+        hbW->addView(mMenuView.view());
+    }
+    hbW->addSoftKeyAction(Hb::SecondarySoftKey, mSecondarySoftkeyAction);
+    hbW->setCurrentView(mMenuView.view());
+    HSTEST_FUNC_EXIT("AppLibraryState::stateEntered");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppLibraryState::stateExited()
+{
+    HSTEST_FUNC_ENTRY("AppLibraryState::stateExited");
+    HbMainWindow *hbW = HbInstance::instance()->allMainWindows().value(0);
+
+    //when exiting the pointer can be NULL
+    if (hbW) {
+        hbW->removeSoftKeyAction(Hb::SecondarySoftKey,
+                                 mSecondarySoftkeyAction);
+    }
+    HSTEST_FUNC_EXIT("AppLibraryState::stateExited");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppLibraryState::constructToolbar()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::constructToolbar");
+
+    HsOviStoreHandler *const oviStoreHandler = new HsOviStoreHandler(this);
+
+    HbAction *const oviStoreAction(mMenuView.oviStoreAction());
+
+    oviStoreAction->setIcon(HbIcon(oviStoreHandler->icon()));
+    connect(mMenuView.oviStoreAction(), SIGNAL(triggered()),
+            oviStoreHandler, SLOT(action()));
+
+    HbAction *const allCollectionsAction(mMenuView.allCollectionsAction());
+
+    mAllAppsState->addTransition(allCollectionsAction, SIGNAL(triggered()),
+                                 mAllCollectionsState);
+    mCollectionState->addTransition(allCollectionsAction,
+                                    SIGNAL(triggered()), mAllCollectionsState);
+
+    HbAction *const allAppsAction(mMenuView.allAppsAction());
+
+    mAllCollectionsState->addTransition(allAppsAction,
+                                        SIGNAL(triggered()), mAllAppsState);
+    mCollectionState->addTransition(allAppsAction, SIGNAL(triggered()),
+                                    mAllAppsState);
+
+    mAllAppsState->assignProperty(
+        allAppsAction, "checked", true);
+    mAllCollectionsState->assignProperty(
+        allCollectionsAction, "checked", true);
+    HSMENUTEST_FUNC_EXIT("HsAppLibraryState::constructToolbar");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppLibraryState::clearToolbarLatch()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::clearToolbarLatch");
+    QAction *const checkedAction =
+        mMenuView.toolBarActionGroup()->checkedAction();
+
+    if (checkedAction != NULL) {
+        checkedAction->setChecked(false);
+    }
+    HSMENUTEST_FUNC_EXIT("HsAppLibraryState::clearToolbarLatch");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppLibraryState::allAppsStateEntered()
+{
+    if (mMenuView.getHsMenuMode() == NormalHsMenuMode) {
+        mHistoryTransaction->setTargetState(mAllAppsState);
+    }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppLibraryState::allCollectionsStateEntered()
+{
+    if (mMenuView.getHsMenuMode() == NormalHsMenuMode) {
+        mHistoryTransaction->setTargetState(mAllCollectionsState);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsapplibrarystateplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Application library state plugin.
+ *
+ */
+
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hsapplibrarystateplugin.h"
+#include "hsapplibrarystate.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+    Creates a HsAppLibraryState if interface name in \a descriptor
+	is com.nokia.homescreen.state.HsAppLibraryState.
+*/
+QObject *HsMenuAppLibraryStatePlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+        QServiceContext *context,
+        QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.state.HsAppLibraryState")) {
+        return new HsAppLibraryState();
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hsapplibrarystateplugin, HsMenuAppLibraryStatePlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hscollectionstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,435 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu collection state.
+ *
+ */
+
+#include <qstatemachine.h>
+#include <hbview.h>
+#include <hbaction.h>
+#include <hbabstractviewitem.h>
+#include <hsmenueventfactory.h>
+#include <hbmenu.h>
+#include <hbinstance.h>
+#include <hbsearchpanel.h>
+
+#include "hsmenuevent.h"
+#include "hsmenuservice.h"
+#include "hsmenuitemmodel.h"
+#include "hsmenuview.h"
+#include "cadefs.h"
+#include "caentry.h"
+#include "hscollectionstate.h"
+#include "hsaddappstocollectionstate.h"
+#include "hsapp_defs.h"
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsCollectionState::HsCollectionState(HsMenuView &menuView, QState *parent) :
+    QState(parent),
+    mSortAttribute(LatestOnTopHsSortAttribute),
+    mCollectionsSortAttribute(CustomHsSortAttribute),
+    mCollectionId(-1), mMenuView(menuView),
+    mCollectionModel(0), mOptions(0)
+{
+    construct();
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::construct()
+{
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::construct");
+    setObjectName(this->parent()->objectName() + "/collectionstate");
+
+    //new action for backstepping
+    mSecondarySoftkeyAction = new HbAction(Hb::BackAction, this);
+    connect(this, SIGNAL(entered()),SLOT(stateEntered()));
+    connect(this, SIGNAL(exited()),SLOT(stateExited()));
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::construct");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsCollectionState::~HsCollectionState()
+{
+    delete mCollectionModel;
+}
+
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::onEntry(QEvent *event)
+{
+    qDebug("HsCollectionState::onEntry()");
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::onEntry");
+    QState::onEntry(event);
+
+    if (event->type() == HsMenuEvent::eventType()) {
+        HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+        QVariantMap data = menuEvent->data();
+        mCollectionId = data.value(itemIdKey()).toInt();
+        mCollectionType = data.value(entryTypeNameKey()).toString();
+    }
+
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::onEntry");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::stateEntered()
+{
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::stateEntered");
+    if (!mCollectionModel) {
+        mCollectionModel = HsMenuService::getCollectionModel(mCollectionId,
+                           mSortAttribute, mCollectionType);
+    } else {
+        if (mCollectionType == collectionDownloadedTypeName()) {
+            mCollectionModel->setFlagsOn(RemovableEntryFlag | VisibleEntryFlag);
+        } else {
+            mCollectionModel->setFlagsOn(VisibleEntryFlag);
+        }
+
+        mCollectionModel->setParentId(mCollectionId);
+        mCollectionModel->setSort(
+            LatestOnTopHsSortAttribute);
+    }
+
+    mMenuView.setModel(mCollectionModel);
+    mMenuView.scrollTo(mCollectionModel->index(0),
+                       HbAbstractItemView::PositionAtTop);
+
+    mMenuView.setLabelVisible(true);
+    mMenuView.setLabel(
+        mCollectionModel->root().data(Qt::DisplayRole).toString());
+
+
+    if (!mOptions) {
+        mOptions = new HbMenu();
+
+        EntryFlags flags =
+            mCollectionModel->root().data(CaItemModel::FlagsRole).value<
+            EntryFlags> ();
+
+        if (flags & RemovableEntryFlag) {
+            mOptions->addAction(hbTrId("txt_applib_opt_add_content"), this,
+                                SLOT(addAppsAction()));
+        }
+
+        mOptions->addAction(hbTrId("txt_applib_opt_add_to_home_screen"),
+                            this, SLOT(addCollectionShortcutToHomeScreenAction()));
+
+        if (flags & RemovableEntryFlag) {
+            mOptions->addAction(
+                hbTrId("txt_common_opt_rename_item"),
+                this,
+                SLOT(renameAction()));
+            mOptions->addAction(
+                hbTrId("txt_common_opt_delete"),
+                this,
+                SLOT(deleteAction()));
+        }
+        if (mCollectionType == collectionDownloadedTypeName()) {
+            HbMenu *sortMenu = mOptions->addMenu(
+                                   hbTrId("txt_applib_opt_sort_by"));
+            //Grouped options are exclusive by default.
+            QActionGroup *sortGroup = new QActionGroup(mOptions);
+            sortGroup->addAction(
+                sortMenu->addAction(
+                    hbTrId("txt_applib_opt_sort_by_sub_latest_on_top"),
+                    this,
+                    SLOT(latestOnTopMenuAction())));
+            sortGroup->addAction(
+                sortMenu->addAction(
+                    hbTrId("txt_applib_opt_sort_by_sub_oldest_on_top"),
+                    this,
+                    SLOT(oldestOnTopMenuAction())));
+            foreach(QAction *action, sortMenu->actions()) {
+                action->setCheckable(true);
+            }
+            static const int defaultSortingPosition = 0;
+            sortGroup->actions().at(defaultSortingPosition)->setChecked(true);
+        }
+
+        mOptions->setParent(this);
+        mMenuView.view()->setMenu(mOptions);
+    }
+
+    HbMainWindow *hbMainWindow =
+        HbInstance::instance()->allMainWindows().value(0);
+    // add BackStepping action
+
+    hbMainWindow->addSoftKeyAction(Hb::SecondarySoftKey,
+                                   mSecondarySoftkeyAction);
+    makeConnect();
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::stateEntered");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::stateExited()
+{
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::stateExited");
+    makeDisconnect();
+
+    mOptions = NULL;
+
+    mMenuView.view()->setMenu(NULL);
+    mMenuView.setLabelVisible(false);
+
+    HbMainWindow *hbW = HbInstance::instance()->allMainWindows().value(0);
+    if (hbW) {
+        //remove BackStepping action
+        hbW->removeSoftKeyAction(Hb::SecondarySoftKey,
+                                 mSecondarySoftkeyAction);
+    }
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::stateExited");
+    qDebug("CollectionState::stateExited()");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::makeConnect()
+{
+    connect(mSecondarySoftkeyAction, SIGNAL(triggered()),
+            SLOT(backSteppingAction()));
+    connect(&mMenuView, SIGNAL(activated(QModelIndex)),
+            SLOT(listItemActivated(QModelIndex)));
+    connect(&mMenuView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+            SLOT(listItemLongPressed(HbAbstractViewItem *, QPointF)));
+    connect(mCollectionModel, SIGNAL(modelReset()),SLOT(updateLabel()));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::makeDisconnect()
+{
+    disconnect(mSecondarySoftkeyAction, SIGNAL(triggered()),
+               this, SLOT(backSteppingAction()));
+
+    disconnect(mCollectionModel, SIGNAL(modelReset()),
+               this, SLOT(updateLabel()));
+
+    disconnect(&mMenuView, SIGNAL(activated(QModelIndex)),
+               this, SLOT(listItemActivated(QModelIndex)));
+
+    disconnect(&mMenuView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+               this, SLOT(listItemLongPressed(HbAbstractViewItem *, QPointF)));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::listItemActivated(const QModelIndex &index)
+{
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::listItemActivated");
+
+    const CaEntry *entry = mCollectionModel->entry(index);
+
+    if (entry->entryTypeName() == widgetTypeName()) {
+        machine()->postEvent(
+            HsMenuEventFactory::createPreviewHSWidgetEvent(
+                entry->id(), entry->entryTypeName(), entry->attribute(
+                    widgetUriAttributeName()), entry->attribute(
+                    widgetLibraryAttributeName())));
+
+        const int itemId = index.data(CaItemModel::IdRole).toInt();
+        HsMenuService::touch(itemId);
+    } else {
+        QVariant data = mCollectionModel->data(index, CaItemModel::IdRole);
+        HsMenuService::executeAction(data.toInt());
+    }
+
+    mMenuView.setSearchPanelVisible(false);
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::listItemActivated");
+}
+
+/*!
+ Handles long-item-pressed event in all apps view by showing context menu
+ \param item the event pertains to
+ \param position at which context menu is shown
+ \retval void
+ */
+void HsCollectionState::listItemLongPressed(HbAbstractViewItem *item,
+        const QPointF &coords)
+{
+    Q_UNUSED(item);
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::listItemLongPressed");
+    mMenuView.setSearchPanelVisible(false);
+    int itemId = item->modelIndex().data(CaItemModel::IdRole).toInt();
+    // create context menu
+    HbMenu *menu = new HbMenu();
+
+    HbAction *addShortcutAction = menu->addAction(hbTrId(
+                                      "txt_applib_menu_add_to_home_screen"));
+    HbAction *addToCollection = menu->addAction(hbTrId(
+                                    "txt_applib_menu_add_to_collection"));
+    HbAction *removeAction(NULL);
+    HbAction *uninstallAction(NULL);
+    // we do not add remove option in collection download menu
+    // check conditions and hide irrelevant menu items
+    if (mCollectionType != collectionDownloadedTypeName()) {
+        removeAction = menu->addAction(
+                           hbTrId("txt_applib_menu_remove_from_collection"));
+    }
+
+    EntryFlags flags = item->modelIndex().data(CaItemModel::FlagsRole).value<
+                       EntryFlags> ();
+
+    if ((flags & RemovableEntryFlag)) {
+        uninstallAction = menu->addAction(hbTrId("txt_common_menu_delete"));
+    }
+
+    // choose proper action
+    if (HbAction *selectedAction = menu->exec(coords)) {
+        if (selectedAction == addShortcutAction) {
+            addElementToHomeScreen(item->modelIndex());
+        } else if (selectedAction == addToCollection) {
+            machine()->postEvent(
+                HsMenuEventFactory::createAddAppsFromCallectionViewEvent(
+                    mCollectionId, itemId, mCollectionsSortAttribute));
+        } else if (selectedAction == uninstallAction) {
+            HsMenuService::executeAction(itemId, removeActionIdentifier());
+        } else if (selectedAction == removeAction) {
+            machine()->postEvent(
+                HsMenuEventFactory::createRemoveAppFromCollectionEvent(
+                    itemId, mCollectionId));
+        }
+    }
+    delete menu;
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::listItemLongPressed");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::addAppsAction()
+{
+    // Add applications
+    machine()->postEvent(
+        HsMenuEventFactory::createAddAppsFromCallectionViewEvent(
+            mCollectionId));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::addCollectionShortcutToHomeScreenAction()
+{
+    machine()->postEvent(HsMenuEventFactory::createAddToHomeScreenEvent(
+                             mCollectionId));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::renameAction()
+{
+    machine()->postEvent(HsMenuEventFactory::createRenameCollectionEvent(
+                             mCollectionId));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::deleteAction()
+{
+    machine()->postEvent(HsMenuEventFactory::createDeleteCollectionEvent(
+                             mCollectionId));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::backSteppingAction()
+{
+    machine()->postEvent(HsMenuEventFactory::createOpenAppLibraryEvent());
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionState::updateLabel()
+{
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::updateLabel");
+    if (mCollectionModel) {
+        mMenuView.setLabel(
+            mCollectionModel->root().data(Qt::DisplayRole).toString());
+    }
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::updateLabel");
+}
+
+/*!
+  Triggers event so that a state adding to Home Screen is reached
+  \param index of an item to be added to homescreen
+  \retval void
+ */
+void HsCollectionState::addElementToHomeScreen(const QModelIndex &index)
+{
+    const CaEntry *entry = mCollectionModel->entry(index);
+
+    machine()->
+    postEvent(
+        HsMenuEventFactory::createAddToHomeScreenEvent(
+            entry->id(),
+            entry->entryTypeName(),
+            entry->attribute(widgetUriAttributeName()),
+            entry->attribute(widgetLibraryAttributeName())));
+}
+
+/*!
+  A Slot called when an action for sorting (latest
+  on top) is invoked for Downloaded collection.
+ */
+void HsCollectionState::latestOnTopMenuAction()
+{
+    mSortAttribute = LatestOnTopHsSortAttribute;
+    mCollectionModel->setSort(mSortAttribute);
+    emit sortOrderChanged(mSortAttribute);
+}
+
+/*!
+  A Slot called when an action for sorting (oldest
+  on top) is invoked for Downloaded collection.
+ */
+void HsCollectionState::oldestOnTopMenuAction()
+{
+    mSortAttribute = OldestOnTopHsSortAttribute;
+    mCollectionModel->setSort(mSortAttribute);
+    emit sortOrderChanged(mSortAttribute);
+}
+
+/*!
+  Slot for setting all collections sort order
+  \param sortOrder all collections sort order
+ */
+void HsCollectionState::collectionsSortOrder(
+    HsSortAttribute sortOrder)
+{
+    mCollectionsSortAttribute = sortOrder;
+}
+
+/*!
+  \fn void HsCollectionState::sortOrderChanged(SHsSortAttribute sortOrder);
+
+  This signal is emitted when sort order is changed to \a sortOrder.
+ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenumodetransition.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Hs Menu Mode Transition.
+ *
+ */
+
+#include <QState>
+#include "hsmenumodetransition.h"
+
+/*!
+ \class HsMenuModeTransition
+ \ingroup group_applibrarystateplugin
+ \brief Transition to normal or add mode
+ */
+
+/*!
+ Constructor.
+ \param menuView homescreen menu view.
+ \param menuMode homescreen menu mode.
+ \param target target state.
+ */
+HsMenuModeTransition::HsMenuModeTransition(
+    HsMenuView &menuView, HsMenuMode menuMode, QState *target):
+    mMenuView(menuView),mMode(menuMode)
+{
+    setTargetState(target);
+}
+
+/*!
+ Event test.
+ \return \a true on test passed, \a false otherwise.
+ \param event event.
+ */
+bool HsMenuModeTransition::eventTest(QEvent *event)
+{
+    Q_UNUSED(event);
+    return mMenuView.getHsMenuMode() == mMode;
+}
+
+/*!
+ This function is called when the transition is triggered.
+ \param event event.
+ */
+void HsMenuModeTransition::onTransition(QEvent *event)
+{
+    Q_UNUSED(event);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenusearch.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu search.
+ *
+ */
+
+#include <qdebug.h>
+#include "hsmenuitemmodel.h"
+#include "hsmenuview.h"
+#include "hsmenusearch.h"
+
+/*!
+    \class Menu Search
+    \ingroup group_hsmenustateplugin
+
+    \brief Menu View
+
+    Provides handler for \a criteriaChanged signal emited
+    by menu view search panel
+
+    \sa HsMenuView
+*/
+
+/*!
+ Constructor
+ \param menuView Menu view the object is doing search job for.
+ */
+HsMenuSearch::HsMenuSearch(HsMenuView *menuView): mMenuView(menuView)
+{
+}
+
+/*!
+ Looks up for item and if found scrolls to it.
+ \param criteriaStr The item name to find.
+ */
+void HsMenuSearch::findItem(QString criteriaStr)
+{
+    qDebug() << QString("HsMenuSearch::findItem: %1").arg(criteriaStr);
+    HSMENUTEST_FUNC_ENTRY("HsMenuSearch::findItem");
+
+    if ("" != criteriaStr) {
+        const HsMenuItemModel *const model = mMenuView->model();
+
+        const QModelIndexList list =
+            model->match(
+                model->index(0, 0),
+                CaItemModel::TextRole,
+                criteriaStr);
+
+        if (list.count() > 0) {
+            qDebug() << QString("HsMenuSearch::findItem:row %1"). arg(
+                         list.at(0).row());
+
+            mMenuView->scrollToWithoutHidingSearchPanel(
+                list.at(0),
+                HbAbstractItemView::PositionAtTop);
+        }
+    }
+
+    HSMENUTEST_FUNC_EXIT("HsMenuSearch::findItem");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuview.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,419 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu view.
+ *
+ */
+#include <QActionGroup>
+
+#include <HbAction>
+#include <HbAbstractItemView>
+#include <HbAbstractViewItem>
+#include <HbGroupBox>
+#include <HbListView>
+#include <HbMainWindow>
+#include <HbSearchPanel>
+#include <HbToolBar>
+#include <HbView>
+
+#include "hsallappsstate.h"
+#include "hsallcollectionsstate.h"
+#include "hscollectionstate.h"
+#include "hsovistorehandler.h"
+#include "hsmenuitemmodel.h"
+#include "hsmenuview.h"
+
+/*!
+    \class HsMenuView
+    \ingroup group_hsmenustateplugin
+
+    \brief Menu View.
+
+    Provides UI for Application Library states.
+
+    \sa HsAppLibraryState
+*/
+
+/*!
+ Constructor
+
+ Builds UI objects
+ Sets up signals connections.
+
+ \param window Main window.
+ */
+HsMenuView::HsMenuView(HbMainWindow *window):
+    mBuilder(),
+    mWindow(window),
+    mModel(NULL),
+    mMenuSearch(this),
+    mToolBarActionGroup(new QActionGroup(mBuilder.toolBar())),
+    mMenuMode(NormalHsMenuMode)
+{
+    setUpToolBar();
+    connectItemViewsSignals();
+}
+
+/*!
+ Destructor
+
+ Disconnects signals.
+ */
+HsMenuView::~HsMenuView()
+{
+    disconnectItemViewsSignals();
+}
+
+/*!
+ Sets model for item view.
+
+ \param model Model to show by item view
+ */
+void HsMenuView::setModel(HsMenuItemModel *model)
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::setModel");
+
+    if (model != mModel) {
+        if (mModel != NULL) {
+            disconnectModelSignals();
+        }
+        mModel = model; // mModel preserves information on actual model type
+    }
+
+    mBuilder.listView()->setModel(model);
+    if (model != NULL) {
+        connectModelSignals();
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuView::setModel");
+}
+
+/*!
+ Sets model for item view.
+
+ \return Model shown by item view.
+ */
+const HsMenuItemModel *HsMenuView::model() const
+{
+    return mModel;
+}
+
+/*!
+    Sets label text to be shown when label is enabled.
+    \param label Label text.
+ */
+void HsMenuView::setLabel(const QString &label)
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::setLabel");
+    mBuilder.label()->setHeading(label);
+    HSMENUTEST_FUNC_EXIT("HsMenuView::setLabel");
+}
+
+/*!
+ Scrolls item view to requested item.
+ If search panel is open it will be closed after the fuction call.
+ \param index The index of the item the view is to be scrolled.
+ \param hint Where the target item should be positioned in visible area
+ after scroll.
+ */
+void HsMenuView::scrollTo(const QModelIndex &index,
+                          HbAbstractItemView::ScrollHint hint)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::scrollTo");
+
+    if (index != QModelIndex()) {
+        mBuilder.listView()->scrollTo(index, hint);
+    }
+    HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::scrollTo");
+}
+
+/*!
+     Scrolls item view to requested item.
+     Does not close search panel.
+     \param index The index of the item the view is to be scrolled.
+     \param hint Where the target item should be positioned in visible area
+     after scroll.
+ */
+void HsMenuView::scrollToWithoutHidingSearchPanel(const QModelIndex &index,
+        HbAbstractItemView::ScrollHint hint)
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::scrollToWithoutHidingSearchPanel");
+    hideSearchPanelOnScrolling(false);
+    scrollTo(index, hint);
+    hideSearchPanelOnScrolling(true);
+    HSMENUTEST_FUNC_EXIT("HsMenuView::scrollToWithoutHidingSearchPanel");
+}
+
+/*!
+    Makes the UI to show or hide view label.
+     \param visible When true label will be shown,
+     otherwise it will be hidden.
+ */
+void HsMenuView::setLabelVisible(bool visible)
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::setLabelVisible");
+    mBuilder.setLabelVisible(visible);
+    HSMENUTEST_FUNC_EXIT("HsMenuView::setLabelVisible");
+}
+
+/*!
+    Makes the UI to show or hide view search panel.
+    When search panel is shown the view toolbar and status pane
+    are hidden until search panel is hidden.
+     \param visible When true search panel will be shown,
+     otherwise it will be hidden.
+ */
+void HsMenuView::setSearchPanelVisible(bool visible)
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::setSearchPanelVisible");
+    if (mBuilder.searchPanel()->isVisible() != visible) {
+        const static Hb::SceneItems statusPaneItems(
+            Hb::SecondarySoftKeyItem
+            | Hb::TitlePaneItem
+            | Hb::IndicatorItems);
+
+        if (visible) {
+            mWindow->hideItems(statusPaneItems);
+            connectSearchPanelSignals();
+        } else {
+            mWindow->showItems(statusPaneItems);
+            disconnectSearchPanelSignals();
+        }
+
+        mBuilder.setSearchPanelVisible(visible);
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuView::setSearchPanelVisible");
+}
+
+/*!
+    \return Application Library UI view.
+ */
+HbView *HsMenuView::view()
+{
+    return mBuilder.view();
+}
+
+/*!
+    Returns toolbar action group of Application Library view.
+    The group contains All Applications Action and All Collections Action.
+    \return Toolbar action group.
+ */
+QActionGroup *HsMenuView::toolBarActionGroup()
+{
+    return mToolBarActionGroup;
+}
+
+/*!
+    \return All Applications Action.
+ */
+HbAction *HsMenuView::allAppsAction()
+{
+    return mBuilder.allAppsAction();
+}
+
+/*!
+    \return All Collections Action.
+ */
+HbAction *HsMenuView::allCollectionsAction()
+{
+    return mBuilder.allCollectionsAction();
+}
+
+/*!
+    \return Ovi Store Action.
+ */
+HbAction *HsMenuView::oviStoreAction()
+{
+    return mBuilder.oviStoreAction();
+}
+
+/*!
+    \return Index of the first item in the item view if
+    any is shown or invalid index otherwise.
+ */
+QModelIndex HsMenuView::firstVisibleItemIndex()
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::firstVisibleItemIndex");
+
+    QModelIndex result;
+
+    const QList<HbAbstractViewItem *> array =
+        mBuilder.listView()->visibleItems();
+
+    if (array.count() >= 1) {
+        result = array[0]->modelIndex();
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuView::firstVisibleItemIndex");
+
+    return result;
+}
+
+/*!
+ * Makes search panel visible.
+ * Equivalent to \a setSearchPanelVisible(true)
+ */
+void HsMenuView::showSearchPanel()
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::showSearchPanel");
+    setSearchPanelVisible(true);
+    HSMENUTEST_FUNC_EXIT("HsMenuView::showSearchPanel");
+}
+
+/*!
+ * Makes search panel visible.
+ * Equivalent to \a setSearchPanelVisible(false).
+ */
+void HsMenuView::hideSearchPanel()
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::hideSearchPanel");
+    setSearchPanelVisible(false);
+    HSMENUTEST_FUNC_EXIT("HsMenuView::hideSearchPanel");
+}
+
+/*!
+ Scrolls item view to requested row.
+ If search panel is open it will be closed after the fuction call.
+ \param row The row which is to get on the top of item view.
+ \param hint Ignored.
+  */
+void HsMenuView::scrollToRow(int row, QAbstractItemView::ScrollHint hint)
+{
+    // TODO: remove hint from the interface
+    Q_UNUSED(hint);
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::scrollToRow");
+    scrollTo(mModel->index(row), HbAbstractItemView::PositionAtTop);
+    HSMENUTEST_FUNC_EXIT("HsMenuView::scrollToRow");
+}
+
+/*!
+ Connects \a activated and \a longPressed signals coming from list
+ view to trigger corresponding signal of this object.
+*/
+void HsMenuView::connectItemViewsSignals()
+{
+    const HbListView *const listView = mBuilder.listView();
+
+    connect(listView, SIGNAL(activated(QModelIndex)),
+            this, SIGNAL(activated(QModelIndex)));
+    connect(listView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+            this, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)));
+
+}
+
+/*!
+ Disconnects \a activated and \a longPressed signals coming from list
+ view from corresponding signal of this object.
+*/
+void HsMenuView::disconnectItemViewsSignals()
+{
+    const HbListView *const listView = mBuilder.listView();
+
+    disconnect(listView, SIGNAL(activated(QModelIndex)),
+               this, SIGNAL(activated(QModelIndex)));
+    disconnect(listView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+               this, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)));
+}
+
+/*!
+ Connects model's \a scrollTo signal with the object \a scrollToRow slot.
+*/
+void HsMenuView::connectModelSignals()
+{
+    connect(mModel,SIGNAL(scrollTo(int,QAbstractItemView::ScrollHint)),
+            this, SLOT(scrollToRow(int,QAbstractItemView::ScrollHint)));
+}
+
+/*!
+ Disconnects model's \a scrollTo signal from the object \a scrollToRow slot.
+*/
+void HsMenuView::disconnectModelSignals()
+{
+    disconnect(mModel, SIGNAL(scrollTo(int,QAbstractItemView::ScrollHint)),
+               this, SLOT(scrollToRow(int,QAbstractItemView::ScrollHint)));
+}
+
+/*!
+ Connects signals \a exitClicked and \a criteriaChanged emitted
+ by search panel with handling slots of the object or its members
+*/
+void HsMenuView::connectSearchPanelSignals()
+{
+    connect(mBuilder.searchPanel(), SIGNAL(exitClicked()),
+            this, SLOT(hideSearchPanel()));
+
+    connect(mBuilder.searchPanel(), SIGNAL(criteriaChanged(QString)),
+            &mMenuSearch, SLOT(findItem(QString)));
+
+    hideSearchPanelOnScrolling(true);
+}
+
+/*!
+ Disconnects signals \a exitClicked and \a criteriaChanged emitted
+ by search panel from handling slots of the object or its members
+*/
+void HsMenuView::disconnectSearchPanelSignals()
+{
+    disconnect(mBuilder.searchPanel(), SIGNAL(exitClicked()),
+               this, SLOT(hideSearchPanel()));
+
+    disconnect(mBuilder.searchPanel(), SIGNAL(criteriaChanged(QString)),
+               &mMenuSearch, SLOT(findItem(QString)));
+
+    hideSearchPanelOnScrolling(false);
+}
+
+/*!
+  Connects or disconnects item views' (list) \a scrollingStarted
+  signal with the object \a hideSearchPanel slot.
+  \param hide When true connects the signals with the slots, otherwise
+  disconnects them.
+ */
+void HsMenuView::hideSearchPanelOnScrolling(bool hide)
+{
+    const HbListView *const listView = mBuilder.listView();
+
+    if (hide) {
+        connect(listView, SIGNAL(scrollingStarted()),
+                this, SLOT(hideSearchPanel()));
+    } else {
+        disconnect(listView, SIGNAL(scrollingStarted()),
+                   this, SLOT(hideSearchPanel()));
+    }
+}
+
+/*!
+ Groups All Application and All Collection actions. Connects Search Action with
+ the object's \a showSearchPanel slot.
+ */
+void HsMenuView::setUpToolBar()
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::construct()");
+
+    mBuilder.allAppsAction()->setActionGroup(mToolBarActionGroup);
+
+    mBuilder.allCollectionsAction()->setActionGroup(mToolBarActionGroup);
+
+    connect(mBuilder.searchAction(), SIGNAL(triggered()),
+            this, SLOT(showSearchPanel()));
+
+    HSMENUTEST_FUNC_EXIT("HsMenuView::construct()");
+}
+
+HsMenuMode HsMenuView::getHsMenuMode()
+{
+    return mMenuMode;
+}
+
+void HsMenuView::setHsMenuMode(HsMenuMode menuMode)
+{
+    mMenuMode = menuMode;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuviewbuilder.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,330 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu View Builder
+ *
+ */
+
+#include <QDebug>
+#include <QGraphicsWidget>
+#include <HbAction>
+#include <HbGroupBox>
+#include <HbListView>
+#include <HbLineEdit>
+#include <HbSearchPanel>
+#include <HbToolBar>
+#include <HbView>
+#include <HbWidget>
+
+#include "hsmenuviewbuilder.h"
+#include "hsmenustates_global.h"
+
+/*!
+    \class HsMenuViewBuilder
+    \ingroup group_hsmenustateplugin
+
+    \brief Menu View Builder
+
+    Reads UI object from Application Library docml
+
+    \sa HsMenuView
+*/
+
+/*!
+  Sets view label visible or hidden.
+  \param visible When true label is set visible, invisible otherwise.
+  \return \a true on success, \a false otherwise.
+ */
+bool HsMenuViewBuilder::setLabelVisible(bool visible)
+{
+    bool result(true);
+
+    if (visible != mViewOptions.testFlag(Label)) {
+        mViewOptions ^= ViewOptions(Label);
+        result = parseSection(mSections[mViewOptions]);
+    }
+    return result;
+}
+
+
+/*!
+  Sets search panel visible or hidden.
+  \param visible When true search panel is set visible,
+  invisible otherwise.
+  \return \a true on success, \a false otherwise.
+ */
+bool HsMenuViewBuilder::setSearchPanelVisible(bool visible)
+{
+    bool result(true);
+
+    if (visible != mViewOptions.testFlag(Search)) {
+        mViewOptions ^= ViewOptions(Search);
+        result = parseSection(mSections[mViewOptions]);
+
+        if (visible) {
+            HbLineEdit *const lineEdit(searchPanelLineEdit());
+
+            lineEdit->setText("");
+        }
+    }
+
+    return result;
+}
+
+/*!
+ \return \a true when label is visible, \a false otherwise.
+ */
+bool HsMenuViewBuilder::isLabelVisible() const
+{
+    return mViewOptions.testFlag(Label);
+}
+
+/*!
+ \return \a true when search panel is visible, \a false otherwise.
+ */
+bool HsMenuViewBuilder::isSearchPanelVisible() const
+{
+    return mViewOptions.testFlag(Search);
+}
+
+/*!
+ \return pointer to the main view.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbView *HsMenuViewBuilder::view() const
+{
+    return qobject_cast<HbView *>(mDocumentLoader.findWidget(VIEW_NAME));
+}
+
+/*!
+ \return pointer to the list item view.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbListView *HsMenuViewBuilder::listView() const
+{
+    return qobject_cast<HbListView *>(
+               mDocumentLoader.findWidget(LIST_VIEW_NAME));
+}
+
+/*!
+ \return pointer to the label.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbGroupBox *HsMenuViewBuilder::label() const
+{
+    return qobject_cast<HbGroupBox *>(
+               mDocumentLoader.findWidget(LABEL_NAME));
+}
+
+/*!
+ \return pointer to the searchPanel.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbSearchPanel *HsMenuViewBuilder::searchPanel() const
+{
+    return qobject_cast<HbSearchPanel *>(mDocumentLoader.findWidget(
+            SEARCH_PANEL_NAME));
+}
+
+/*!
+ \return pointer to All Applications Action.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbAction *HsMenuViewBuilder::allAppsAction() const
+{
+    return qobject_cast<HbAction *>(mDocumentLoader.findObject(
+                                        ALL_APPS_ACTION_NAME));
+}
+
+/*!
+ \return pointer to All Collections Action.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbAction *HsMenuViewBuilder::allCollectionsAction() const
+{
+    return qobject_cast<HbAction *>(mDocumentLoader.findObject(
+                                        ALL_COLLECTIONS_ACTION_NAME));
+}
+
+/*!
+ \return pointer to Search Action.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbAction *HsMenuViewBuilder::searchAction() const
+{
+    return qobject_cast<HbAction *>(mDocumentLoader.findObject(
+                                        SEARCH_ACTION_NAME));
+}
+
+/*!
+ \return pointer to Ovi Store Action.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbAction *HsMenuViewBuilder::oviStoreAction() const
+{
+    return qobject_cast<HbAction *>(mDocumentLoader.findObject(
+                                        OVI_STORE_ACTION_NAME));
+}
+
+/*!
+ \return pointer to the main view toolbar.
+ The pointer is valid until the HsMenuViewBuilder instance is destroyed.
+ Memory ownership is not changed.
+ */
+HbToolBar *HsMenuViewBuilder::toolBar() const
+{
+    return qobject_cast<HbToolBar *>(
+               mDocumentLoader.findWidget(TOOL_BAR_NAME));
+}
+
+/*!
+ Constructor.
+ Makes object be initialized with with hidden but existing
+ search panel and view label.
+ */
+HsMenuViewBuilder::HsMenuViewBuilder():
+    mViewOptions(0),
+    DOCUMENT_FILE_NAME(":/xml/applibrary.docml"),
+    ALL_APPS_ACTION_NAME("allAppsAction"),
+    ALL_COLLECTIONS_ACTION_NAME("allCollectionsAction"),
+    SEARCH_ACTION_NAME("searchAction"),
+    OVI_STORE_ACTION_NAME("oviStoreAction"),
+    VIEW_NAME("view"),
+    CONTAINER_NAME("container"),
+    LIST_VIEW_NAME("listView"),
+    TOOL_BAR_NAME("toolBar"),
+    SEARCH_PANEL_NAME("searchPanel"),
+    LABEL_NAME("label"),
+    LIST_VIEW_SECTION_NAME("list_view"),
+    LIST_LABELED_VIEW_SECTION_NAME("list_labeled_view"),
+    LIST_SEARCH_VIEW_SECTION_NAME("list_search_view"),
+    LIST_SEARCH_LABELED_VIEW_SECTION_NAME("list_search_labeled_view")
+{
+    buildSectionKeyMap();
+
+    // parse common section and the one specified by view options
+    bool result = parseSection("") && parseSection(mSections[mViewOptions]);
+
+    Q_ASSERT_X(result,
+               "HsMenuViewBuilder::HsMenuViewBuilder()",
+               "construction failed");
+}
+
+/*!
+ Destructor.
+ Deletes list view, search panel, view label, All Applications
+ Action, All Collections Action, Search Action, Ovi Store Action, container
+ widget, main view toolbar and the main view.
+
+ The destructor needs to be checked agains any change in related docml file.
+ */
+HsMenuViewBuilder::~HsMenuViewBuilder()
+{
+    QObjectList objectList;
+
+    objectList << listView();
+
+    objectList << searchPanel();
+
+    objectList << label();
+
+    objectList << allAppsAction();
+    objectList << allCollectionsAction();
+    objectList << searchAction();
+    objectList << mDocumentLoader.findWidget(CONTAINER_NAME);
+    objectList << toolBar();
+    objectList << view();
+
+    foreach(QObject *obj, objectList) {
+        obj->deleteLater();
+    }
+}
+
+/*!
+ Parses requested docml file section and reflects its contents in the
+ object state.
+ \param sectionName Name of the section to parse.
+ \retval \a true on success, \a false otherwise.
+ */
+bool HsMenuViewBuilder::parseSection(const QString &sectionName)
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuViewBuilder::parseSection");
+
+    bool loadStatusOk = false;
+
+    QObjectList loadedObjects = mDocumentLoader.load(DOCUMENT_FILE_NAME,
+                                sectionName,
+                                &loadStatusOk);
+
+    Q_ASSERT_X(loadStatusOk,
+               DOCUMENT_FILE_NAME.toLatin1().data(),
+               "Error while loading docml file.");
+    HSMENUTEST_FUNC_EXIT("HsMenuViewBuilder::parseSection");
+
+    return loadStatusOk;
+}
+
+/*!
+ \retval Line edit of the searchPanel on success, 0 otherwise.
+ */
+HbLineEdit *HsMenuViewBuilder::searchPanelLineEdit() const
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuViewBuilder::searchPanelLineEdit");
+
+    HbLineEdit *result(0);
+
+    foreach(QGraphicsItem *obj, searchPanel()->childItems()) {
+
+        QGraphicsWidget *const widget =
+            static_cast<QGraphicsWidget *>(obj);
+
+        if (widget != NULL) {
+
+            HbLineEdit *const lineEdit = qobject_cast<HbLineEdit *>(widget);
+
+            if (lineEdit != NULL) {
+                result = lineEdit;
+                break;
+            }
+        }
+    }
+    HSMENUTEST_FUNC_EXIT("HsMenuViewBuilder::searchPanelLineEdit");
+
+    return result;
+}
+
+/*!
+    Sets up mapping between ViewOptions and section names.
+ */
+void HsMenuViewBuilder::buildSectionKeyMap()
+{
+    mSections[ViewOptions()]  =
+        LIST_VIEW_SECTION_NAME;
+
+    mSections[ViewOptions(Search)]   =
+        LIST_SEARCH_VIEW_SECTION_NAME;
+
+    mSections[ViewOptions(Label)]  =
+        LIST_LABELED_VIEW_SECTION_NAME;
+
+    mSections[ViewOptions(Label | Search)]   =
+        LIST_SEARCH_LABELED_VIEW_SECTION_NAME;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsovistorehandler.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: hsovistorehandler.cpp
+ *
+ */
+
+#include "hsovistorehandler.h"
+#ifndef NO_QT_EXTENSIONS
+#include "hsovistorehandler_p.h"
+#else
+#include <hbicon.h>
+#include <hbnotificationdialog.h>
+const QString DefaultOviStoreIcon("qtg_mono_ovistore");
+const QString DefaultOviStoreLink("https://store.ovi.com/applications");
+#endif
+
+
+/*!
+ Constructor
+ \param parent parent object
+ */
+HsOviStoreHandler::HsOviStoreHandler(QObject *parent):
+    QObject(parent),
+#ifndef NO_QT_EXTENSIONS
+    m_q(new HsOviStoreHandlerPrivate(this))
+#else
+    m_q(0)
+#endif
+{
+}
+
+/*!
+ Destructor
+ */
+HsOviStoreHandler::~HsOviStoreHandler()
+{
+}
+
+/*!
+ Returns Ovi Store icon
+ \retval icon
+ */
+HbIcon HsOviStoreHandler::icon()
+{
+#ifndef NO_QT_EXTENSIONS
+    return m_q->icon();
+#else
+    return HbIcon(DefaultOviStoreIcon);
+#endif
+}
+
+/*!
+ Open Ovi Store application or related url
+ */
+void HsOviStoreHandler::action()
+{
+#ifndef NO_QT_EXTENSIONS
+    m_q->action();
+#else
+    HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+    notificationDialog->setParent(this);
+    notificationDialog->setTitle(DefaultOviStoreLink);
+    notificationDialog->show();
+#endif
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsovistorehandler_p.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: hsovistorehandler_p.cpp
+ *
+ */
+#ifndef NO_QT_EXTENSIONS
+
+#include <QDebug>
+#include <XQSettingsManager>
+#include <XQSettingsKey>
+#include "hsovistorehandler_p.h"
+#include "hsmenuservice.h"
+#include "caentry.h"
+#include "caservice.h"
+
+const int AppLibUid         = 0x20022F97;
+const int IconId            = 0x00000001;
+const int OviStoreAppUid    = 0x00000002;
+const int OviStoreUrl       = 0x00000003;
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor
+ \param parent parent object
+ */
+HsOviStoreHandlerPrivate::HsOviStoreHandlerPrivate(QObject *parent):
+    QObject(parent),
+    mOviStore(0),
+    mIcon()
+{
+    readCentralRepository();
+}
+
+/*!
+ Destructor
+ */
+HsOviStoreHandlerPrivate::~HsOviStoreHandlerPrivate()
+{
+    delete mOviStore;
+}
+
+/*!
+ Executes action
+ */
+void HsOviStoreHandlerPrivate::action()
+{
+    qDebug("HsOviStoreHandlerPrivate::action");
+    CaService::instance()->executeCommand(*mOviStore);
+}
+
+/*!
+ Returns Ovi Store icon predefined in Central Repositoryicon
+ \retval icon
+ */
+HbIcon HsOviStoreHandlerPrivate::icon()
+{
+    return mIcon;
+}
+
+/*!
+ Creates icon based on Central Repository
+ \param crManager settings manager
+ \retval icon
+ */
+HbIcon HsOviStoreHandlerPrivate::createIcon(XQSettingsManager *crManager)
+{
+    qDebug("HsOviStoreHandlerPrivate::createIcon");
+    HbIcon icon;
+
+    XQCentralRepositorySettingsKey iconKey(AppLibUid, IconId);
+    QVariant iconVarian = crManager->readItemValue(
+                              iconKey, XQSettingsManager::TypeString);
+
+    if (!iconVarian.isNull() && !iconVarian.toString().isEmpty()) {
+        qDebug() << "HsOviStoreHandlerPrivate::createIcon"
+                 << iconVarian.toString();
+        icon = HbIcon(iconVarian.toString());
+    }
+    return icon;
+}
+
+/*!
+ Creates application entry based on Central Repository
+ \param crManager settings manager
+ \retval entry
+ */
+CaEntry *HsOviStoreHandlerPrivate::createAppEntry(XQSettingsManager *crManager)
+{
+    qDebug("HsOviStoreHandlerPrivate::createAppEntry");
+    XQCentralRepositorySettingsKey appUidKey(AppLibUid, OviStoreAppUid);
+    QVariant appUidVariant = crManager->readItemValue(
+                                 appUidKey, XQSettingsManager::TypeString);
+
+    if (!appUidVariant.isNull() && !appUidVariant.toString().isEmpty()) {
+        qDebug() << "HsOviStoreHandlerPrivate::createAppEntry"
+                 << appUidVariant.toString();
+
+        CaEntry *oviEntry = new CaEntry;
+        oviEntry->setEntryTypeName(applicationTypeName());
+        oviEntry->setAttribute(applicationUidEntryKey(), appUidVariant.toString());
+        return oviEntry;
+    }
+    return NULL;
+}
+
+/*!
+ Creates url entry based on Central Repository
+ \param crManager settings manager
+ \retval entry
+ */
+CaEntry *HsOviStoreHandlerPrivate::createUrlEntry(XQSettingsManager *crManager)
+{
+    qDebug("HsOviStoreHandlerPrivate::createUrlEntry");
+    CaEntry *oviEntry = new CaEntry;
+
+    XQCentralRepositorySettingsKey urlKey(AppLibUid, OviStoreUrl);
+    QVariant urlVarian = crManager->readItemValue(
+                             urlKey, XQSettingsManager::TypeString);
+
+    if (!urlVarian.isNull() && !urlVarian.toString().isEmpty()) {
+        oviEntry->setEntryTypeName(urlTypeName());
+        oviEntry->setAttribute(urlEntryKey(), urlVarian.toString());
+        qDebug() << "HsOviStoreHandlerPrivate::createUrlEntry"
+                 << urlVarian.toString();
+
+    }
+    return oviEntry;
+}
+
+/*!
+ Reads Central Repository
+ */
+void HsOviStoreHandlerPrivate::readCentralRepository()
+{
+    XQSettingsManager *crManager = new XQSettingsManager;
+
+    mIcon = createIcon(crManager);
+    mOviStore = createAppEntry(crManager);
+    if (!mOviStore) {
+        mOviStore = createUrlEntry(crManager);
+    }
+    delete crManager;
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = lib
+
+DEPENDPATH += ./inc \
+              ./src
+
+INCLUDEPATH += ./inc \
+                ../../hsutils/inc \
+                ../../hsdomainmodel/inc \
+                ../../hsapplication/inc
+
+QT += xml sql
+
+CONFIG += plugin hb mobility
+MOBILITY = serviceframework
+
+PLUGIN_SUBDIR = /hsresources/plugins/stateplugins
+
+include(../../common.pri)
+
+LIBS += -lhsutils \
+        -lhsdomainmodel \
+        -lhswidgetmodel
+
+RESOURCES += hshomescreenstateplugin.qrc
+
+symbian: {
+    TARGET.UID3 = 0x20022F41
+}
+
+include(hshomescreenstateplugin.pri)
+
+win32:exportResources(./tsrc/loc_win/*.qm, hsresources/loc)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/" >           
+        <file alias="controllayer.docml">resource/controllayer.docml</file>
+    </qresource>    
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.ts	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message id="txt_hs_opt_az">
+    <comment>Sort widget gallery list from a to z</comment>        
+    <source>A-Z</source>
+    <translation>A-Z</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_opt_add_page">
+    <comment>Add new page to the homescreen</comment>        
+    <source>Add page</source>
+    <translation>Add page</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_opt_download_widgets">
+    <comment>Check for updates </comment>        
+    <source>Download widgets</source>
+    <translation>Download widgets</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_button_collections">
+    <comment>Hint text for the Collections toolbar</comment>        
+    <source>Collections</source>
+    <translation>Collections</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_button_download_widgets">
+    <comment>Hint text for the Download widgets toolbar</comment>        
+    <source>Download widgets</source>
+    <translation>Download widgets</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_title_manage_pages">
+    <comment>Manage pages state title text</comment>        
+    <source>Manage pages</source>
+    <translation>Manage pages</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_info_uninstall_failed">
+    <comment>Info note if uninstall failed</comment>        
+    <source>Uninstall failed</source>
+    <translation>Uninstall failed</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_opt_remove_page">
+    <comment>Delete current page from the homescreen</comment>        
+    <source>Remove page</source>
+    <translation>Remove page</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_dialog_uninstall2">
+    <comment>Confirmation query before selected widget is installed</comment>        
+    <source>Uninstall2</source>
+    <translation>Uninstall2</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_opt_za">
+    <comment>Sort widget gallery list from z to a</comment>        
+    <source>Z-A</source>
+    <translation>Z-A</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_opt_add_widget">
+    <comment>Menu item to open widget gallery</comment>        
+    <source>Add widget</source>
+    <translation>Add widget</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_info_uninstall_successful">
+    <comment>Info note after uninstall is succeeded.</comment>        
+    <source>Uninstall successful</source>
+    <translation>Uninstall successful</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_menu_add">
+    <comment>Context specific menu option to add widget to homescreen</comment>        
+    <source>Add</source>
+    <translation>Add</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message id="txt_hs_button_all">
+    <comment>Hint text for the All toolbar</comment>        
+    <source>All</source>
+    <translation>All</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>hs</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>hs</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsdocumentloader.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Homescreen document loader class.
+*
+*/
+
+#ifndef HSDOCUMENTLOADER_H
+#define HSDOCUMENTLOADER_H
+
+#include <hbdocumentloader.h>
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(HomeScreenStatePluginTest)
+
+class HsDocumentLoader : public HbDocumentLoader
+{
+public:
+    HsDocumentLoader();
+    virtual ~HsDocumentLoader();
+
+public:
+    QObject *createObject(const QString &type, const QString &name);
+
+private:
+
+    Q_DISABLE_COPY(HsDocumentLoader)
+
+    HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hshomescreenstateplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Homescreen state plugin.
+*
+*/
+
+
+#ifndef HSHOMESCREENSTATEPLUGIN_H
+#define HSHOMESCREENSTATEPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class HsHomeScreenStatePlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+};
+
+#endif //HSHOMESCREENSTATEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsidlestate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef HSIDLESTATE_H
+#define HSIDLESTATE_H
+
+#include <QState>
+#include <QTimer>
+#include <QPointF>
+
+#include "hstest_global.h"
+HOMESCREEN_TEST_CLASS(HomeScreenStatePluginTest)
+
+class QGraphicsItem;
+class QGraphicsSceneMouseEvent;
+class HbView;
+class HbAction;
+class HsIdleWidget;
+
+class HsIdleState : public QState
+{
+    Q_OBJECT
+
+public:
+    HsIdleState(QState *parent = 0);
+	~HsIdleState();
+
+signals:
+    void event_applicationLibrary();
+    void event_waitInput();
+    void event_widgetInteraction();
+    void event_sceneInteraction();
+    void event_moveWidget();
+    void event_moveScene();
+    void event_sceneMenu();
+    void event_selectSceneWallpaper();
+    void event_addPage();
+    void event_removePage();
+    void event_toggleConnection();
+
+private:
+    void setupStates();
+    qreal pageLayerXPos(int pageIndex) const;
+    void startPageChangeAnimation(int targetPageIndex, int duration);
+    bool isInPageChangeZone();
+    bool isInLeftPageChangeZone();
+    bool isInRightPageChangeZone();
+    void addPageToScene(int pageIndex);
+    qreal parallaxFactor() const;
+    
+private slots:
+    void action_disableUserInteraction();
+    void action_enableUserInteraction();    
+    void action_idle_setupView();
+    void action_idle_layoutNewWidgets();
+    void action_idle_showActivePage();
+    void action_idle_connectOrientationChangeEventHandler();
+    void action_idle_cleanupView();
+    void action_idle_disconnectOrientationChangeEventHandler();    
+    void action_waitInput_updateOptionsMenu();
+    void action_waitInput_connectMouseEventHandlers();
+    void action_waitInput_disconnectMouseEventHandlers();    
+    void action_widgetInteraction_connectMouseEventHandlers();
+    void action_widgetInteraction_connectGestureTimers();
+    void action_widgetInteraction_disconnectMouseEventHandlers();
+    void action_widgetInteraction_disconnectGestureTimers();    
+    void action_sceneInteraction_connectMouseEventHandlers();
+    void action_sceneInteraction_connectGestureTimers();
+    void action_sceneInteraction_disconnectMouseEventHandlers();
+    void action_sceneInteraction_disconnectGestureTimers();    
+    void action_moveWidget_reparentToControlLayer();
+    void action_moveWidget_startWidgetDragAnimation();
+    void action_moveWidget_connectMouseEventHandlers();
+    void action_moveWidget_connectGestureTimers();
+    void action_moveWidget_reparentToPage();
+    void action_moveWidget_startWidgetDropAnimation();
+    void action_moveWidget_disconnectMouseEventHandlers();
+    void action_moveWidget_disconnectGestureTimers();
+    void action_moveScene_connectMouseEventHandlers();
+    void action_moveScene_disconnectMouseEventHandlers();
+    void action_sceneMenu_showMenu();
+    void action_addPage_addPage();
+    void action_removePage_removePage();
+    void action_toggleConnection_toggleConnection();
+
+    void waitInput_onMousePressed(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void widgetInteraction_onMouseMoved(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void widgetInteraction_onMouseReleased(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void sceneInteraction_onMouseMoved(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void sceneInteraction_onMouseReleased(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void moveWidget_onMouseMoved(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void moveWidget_onMouseReleased(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void moveScene_onMouseMoved(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void moveScene_onMouseReleased(
+        QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+
+    void onOrientationChanged(Qt::Orientation orientation);
+
+    void widgetInteraction_onTapAndHoldTimeout();
+    void sceneInteraction_onTapAndHoldTimeout();
+    void moveWidget_onHoldTimeout();
+
+#ifndef Q_OS_SYMBIAN
+    void switchLanguage();
+    void translateUi();
+#endif
+
+private:
+    HbView *mView;
+    HbAction *mSoftKeyAction;
+    HsIdleWidget *mUiWidget;
+    
+    QTimer mTimer;
+    qreal mTapAndHoldDistance;
+    qreal mPageChangeZoneWidth;
+
+    QPointF mSceneMenuPos;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
+};
+
+#endif // HSIDLESTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsidlewidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HSIDLEWIDGET_H
+#define HSIDLEWIDGET_H
+
+#include <HbWidget>
+
+#include "hstest_global.h"
+HOMESCREEN_TEST_CLASS(HomeScreenStatePluginTest)
+
+class HsPage;
+class HsTrashBinWidget;
+class HsPageIndicator;
+
+class HsIdleWidget : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    HsIdleWidget(QGraphicsItem *parent = 0);
+	~HsIdleWidget();
+
+    void setGeometry(const QRectF &rect);
+
+    void captureDelayedPress(QGraphicsSceneMouseEvent *event);
+    void sendDelayedPress();
+    void clearDelayedPress();
+
+    void setActivePage(int index);
+    void insertPage(int index, HsPage *page);
+    void removePage(int index);
+
+    HbWidget *controlLayer() const { return mControlLayer; }
+    HbWidget *pageLayer() const { return mPageLayer; }
+    HbWidget *sceneLayer() const { return mSceneLayer; }
+
+    HsTrashBinWidget *trashBin() const { return mTrashBin; }
+    HsPageIndicator *pageIndicator() const { return mPageIndicator; }
+
+signals:    
+    void mousePressed(QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void mouseMoved(QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+    void mouseReleased(QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
+
+public slots:
+    void showTrashBin();
+    void showPageIndicator();
+
+protected:
+    bool eventFilter(QObject *object, QEvent *event);
+    bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
+    void polishEvent();
+
+private:
+    void loadControlLayer();
+    void setItemsUnfocusable(QGraphicsSceneMouseEvent *event);
+    void setItemsFocusable();
+
+private:
+    HbWidget *mControlLayer;
+    HbWidget *mPageLayer;
+    HbWidget *mSceneLayer;
+
+    QMouseEvent *mDelayedPressEvent;
+
+    HsTrashBinWidget *mTrashBin;
+    HsPageIndicator *mPageIndicator;
+
+    QList<QGraphicsItem *> mFocusableItems;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
+};
+
+#endif // HSIDLEWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsloadscenestate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HSLOADSCENESTATE_H
+#define HSLOADSCENESTATE_H
+
+#include <QState>
+
+class HsLoadSceneState : public QState
+{
+    Q_OBJECT
+
+public:
+    HsLoadSceneState(QState *parent = 0);
+    ~HsLoadSceneState();
+
+signals:
+    void event_idle();
+
+private slots:
+    void action_loadScene();
+
+private:
+    Q_DISABLE_COPY(HsLoadSceneState)
+};
+
+#endif // HSLOADSCENESTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsselectbackgroundstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  SelectBackground gui state.
+*
+*/
+
+#ifndef HSSELECTBACKGROUNDSTATESTATE_H
+#define HSSELECTBACKGROUNDSTATESTATE_H
+
+#include <QState>
+#include <QStringList>
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(HomeScreenStatePluginTest)
+
+class HbView;
+class HsContentService;
+class XQAIWGetImageClient;
+class QImage;
+
+class HsSelectBackgroundState : public QState
+{
+    Q_OBJECT
+
+public:
+    HsSelectBackgroundState(QState *parent = 0);
+    ~HsSelectBackgroundState();
+
+signals:
+    void event_waitInput();
+
+private:
+    bool saveImage(QImage &image, const QString &path, Qt::Orientation orientation);
+
+private slots:
+    void selectPageBackgroundAction();
+    void disconnectImageFetcherAction();
+    void onBackgroundImageFetched(QStringList);
+    void onBackgroundImageFetchFailed(int);
+
+private:
+    XQAIWGetImageClient *mXQAIWGetImageClient;
+    HbView *mSourceView;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/resource/hshomescreenstateplugin.s60xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hshomescreenstateplugin</name>
+    <filepath>z:/hsresources/plugins/stateplugins/hshomescreenstateplugin.qtplugin</filepath>
+    <description></description>
+    <interface>
+        <name>com.nokia.homescreen.state.HsLoadSceneState</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+    </interface>
+    <interface>
+        <name>com.nokia.homescreen.state.HsIdleState</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/resource/hshomescreenstateplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hshomescreenstateplugin</name>
+    <filepath>hshomescreenstateplugin</filepath>
+    <description></description>
+    <interface>
+        <name>com.nokia.homescreen.state.HsLoadSceneState</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+    </interface>
+    <interface>
+        <name>com.nokia.homescreen.state.HsIdleState</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsdocumentloader.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Homescreen document loader class.
+*
+*/
+
+#include "hsdocumentloader.h"
+#include "hspageindicator.h"
+#include "hstrashbinwidget.h"
+
+/*!
+    \class HsDocumentLoader
+    \ingroup group_hshomescreenstateplugin
+    \brief Homescreen document loader class.
+
+    Loads own widgets from docml.
+*/
+
+/*!
+    Constructor.
+*/
+HsDocumentLoader::HsDocumentLoader()
+    : HbDocumentLoader()
+{
+}
+
+/*!
+    Destructor.
+*/
+HsDocumentLoader::~HsDocumentLoader()
+{
+}
+
+/*!
+    Looks up an object which inherits class type and of which object name equals to name.
+    \a type type of the desired object.
+    \a name object name of the desired object.
+    */
+QObject *HsDocumentLoader::createObject(const QString &type, const QString &name)
+{
+    if (type == HsPageIndicator::staticMetaObject.className()) {
+        QObject *object = new HsPageIndicator;
+        object->setObjectName(name);
+        return object;
+    }
+    else if (type == HsTrashBinWidget::staticMetaObject.className()) {
+        QObject *object = new HsTrashBinWidget;
+        object->setObjectName(name);
+        return object;
+    }
+        
+    return HbDocumentLoader::createObject(type, name);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/src/hshomescreenstateplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Default state plugin.
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hshomescreenstateplugin.h"
+#include "hsloadscenestate.h"
+#include "hsidlestate.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+    Creates a HsLoadSceneState or a HsIdleState if interface name in \a descriptor
+	is com.nokia.homescreen.state.<xxxxxState>.
+*/
+QObject *HsHomeScreenStatePlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                                QServiceContext *context,
+                                                QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.state.HsLoadSceneState")) {
+        return new HsLoadSceneState();
+    } else if(descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.state.HsIdleState")) {
+        return new HsIdleState();
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hshomescreenstateplugin, HsHomeScreenStatePlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsidlestate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,1207 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QStateMachine>
+#include <QGraphicsSceneMouseEvent>
+#include <QGraphicsLinearLayout>
+#include <QParallelAnimationGroup>
+#include <QPropertyAnimation>
+#include <QApplication>
+#include <QDir>
+
+#include <HbMainWindow>
+#include <HbView>
+#include <HbMenu>
+#include <HbAction>
+#include <HbIcon>
+
+#include "hsidlestate.h"
+#include "hsidlewidget.h"
+#include "hsscene.h"
+#include "hspage.h"
+#include "hswidgethost.h"
+#include "hswallpaper.h"
+#include "hspagedata.h"
+#include "hsselectbackgroundstate.h"
+#include "hstrashbinwidget.h"
+#include "hspageindicator.h"
+#include "hsapptranslator.h"
+#include "hswidgetpositioningonorientationchange.h"
+#include "hsmenueventfactory.h"
+
+// Helper macros for connecting state entry and exit actions.
+#define ENTRY_ACTION(state, action) \
+    connect(state, SIGNAL(entered()), SLOT(action()));
+#define EXIT_ACTION(state, action) \
+    connect(state, SIGNAL(exited()), SLOT(action()));
+
+// Helper macros for connecting and disconnecting mouse event handlers.
+#define CONNECT_MOUSE_EVENT_HANDLER(signal, slot) \
+    connect(mUiWidget, SIGNAL(signal(QGraphicsItem*, QGraphicsSceneMouseEvent*, bool&)), \
+        SLOT(slot(QGraphicsItem*, QGraphicsSceneMouseEvent*, bool&)));
+#define DISCONNECT_MOUSE_EVENT_HANDLER(signal, slot) \
+    disconnect(mUiWidget, SIGNAL(signal(QGraphicsItem*, QGraphicsSceneMouseEvent*, bool&)), \
+        this, SLOT(slot(QGraphicsItem*, QGraphicsSceneMouseEvent*, bool&)));
+
+
+namespace
+{
+    const char APP_LIB_BUTTON[] = 
+        "hs_applib_button.png";
+    /*const char TXT_HOMESCREEN_TITLE_OFFLINE[] = 
+        "txt_homescreen_title_offline";*/
+    const char TXT_HOMESCREEN_OPT_ADD_PAGE[] = 
+        "txt_homescreen_opt_add_page";
+    const char TXT_HOMESCREEN_OPT_REMOVE_PAGE[] = 
+        "txt_homescreen_opt_remove_page";
+    const char TXT_HOMESCREEN_OPT_HOME_SCREEN_TO_ONLINE[] = 
+        "txt_homescreen_opt_home_screen_to_online";
+    const char TXT_HOMESCREEN_OPT_HOME_SCREEN_TO_OFFLINE[] = 
+        "txt_homescreen_opt_home_screen_to_offline";
+    const char TXT_HOMESCREEN_LIST_CHANGE_WALLPAPER[] = 
+        "txt_homescreen_list_change_wallpaper";
+    const char TXT_HOMESCREEN_LIST_ADD_CONTENT[] = 
+        "txt_homescreen_list_add_content";
+}
+
+/*!
+    \class HsIdleState
+    \ingroup group_hshomescreenstateplugin
+    \brief Controller part of the home screen idle state.
+
+    Controls the home screen idle state execution. See the
+    state chart below for the state structure.
+
+    \image html hsidlestate_statechart.png
+*/
+
+/*!
+    Constructs a new idle state with the given \a parent.
+*/
+HsIdleState::HsIdleState(QState *parent)
+  : QState(parent),
+    mView(0), mSoftKeyAction(0), mUiWidget(0),
+    mTapAndHoldDistance(16),
+    mPageChangeZoneWidth(60)
+{
+    setupStates();
+    mTimer.setSingleShot(true);
+}
+
+/*!
+    Destroys this idle state.
+*/
+HsIdleState::~HsIdleState()
+{
+}
+
+/*!
+    \fn HsIdleState::event_applicationLibrary()
+
+    This signal initiates a transition to application library.
+*/
+
+/*!
+    \fn HsIdleState::event_waitInput()  
+
+    This signal initiates a transition to the waitInput state.
+*/
+
+/*!
+    \fn HsIdleState::event_widgetInteraction()  
+
+    This signal initiates a transition to the widgetInteraction state.
+*/
+
+/*!
+    \fn HsIdleState::event_sceneInteraction()  
+
+    This signal initiates a transition to the sceneInteraction state.
+*/
+
+/*!
+    \fn HsIdleState::event_moveWidget()  
+
+    This signal initiates a transition to the moveWidget state.
+*/
+
+/*!
+    \fn HsIdleState::event_moveScene()  
+
+    This signal initiates a transition to the moveScene state.
+*/
+
+/*!
+    \fn HsIdleState::event_sceneMenu()  
+
+    This signal initiates a transition to the sceneMenu state.
+*/
+
+/*!
+    \fn HsIdleState::event_selectSceneWallpaper()  
+
+    This signal initiates a transition to the selectSceneWallpaper state.
+*/
+
+/*!
+    \fn HsIdleState::event_addPage()  
+
+    This signal initiates a transition to the addPage state.
+*/
+
+/*!
+    \fn HsIdleState::event_removePage()  
+
+    This signal initiates a transition to the removePage state.
+*/
+
+/*!
+    \fn HsIdleState::event_toggleConnection()  
+
+    This signal initiates a transition to the toggleConnection state.
+*/
+
+/*!
+    Creates the internal state structure and connects
+    state entry and exit actions.
+*/
+void HsIdleState::setupStates()
+{   
+    // States
+
+    QState *state_waitInput = new QState(this);
+    setInitialState(state_waitInput);
+    QState *state_widgetInteraction = new QState(this);
+    QState *state_sceneInteraction = new QState(this);
+    QState *state_moveWidget = new QState(this);
+    QState *state_moveScene = new QState(this);
+    QState *state_sceneMenu = new QState(this);
+    HsSelectBackgroundState *state_selectSceneWallpaper = 
+        new HsSelectBackgroundState(this);
+    QState *state_addPage = new QState(this);
+    QState *state_removePage = new QState(this);
+    QState *state_toggleConnection = new QState(this);
+
+    // Transitions
+
+    state_waitInput->addTransition(
+        this, SIGNAL(event_widgetInteraction()), state_widgetInteraction);
+    state_waitInput->addTransition(
+        this, SIGNAL(event_sceneInteraction()), state_sceneInteraction);
+    state_waitInput->addTransition(
+        this, SIGNAL(event_addPage()), state_addPage);
+    state_waitInput->addTransition(
+        this, SIGNAL(event_removePage()), state_removePage);
+    state_waitInput->addTransition(
+        this, SIGNAL(event_toggleConnection()), state_toggleConnection);
+
+    state_widgetInteraction->addTransition(
+        this, SIGNAL(event_waitInput()), state_waitInput);
+    state_widgetInteraction->addTransition(
+        this, SIGNAL(event_moveWidget()), state_moveWidget);
+
+    state_sceneInteraction->addTransition(
+        this, SIGNAL(event_waitInput()), state_waitInput);
+    state_sceneInteraction->addTransition(
+        this, SIGNAL(event_moveScene()), state_moveScene);
+    state_sceneInteraction->addTransition(
+        this, SIGNAL(event_sceneMenu()), state_sceneMenu);
+    
+    state_moveWidget->addTransition(
+        this, SIGNAL(event_waitInput()), state_waitInput);
+    
+    state_moveScene->addTransition(
+        this, SIGNAL(event_waitInput()), state_waitInput);
+
+    state_sceneMenu->addTransition(
+        this, SIGNAL(event_waitInput()), state_waitInput);
+    state_sceneMenu->addTransition(
+        this, SIGNAL(event_selectSceneWallpaper()), state_selectSceneWallpaper);
+
+    state_selectSceneWallpaper->addTransition(
+        state_selectSceneWallpaper, SIGNAL(event_waitInput()), state_waitInput);
+
+    state_addPage->addTransition(state_waitInput);
+
+    state_removePage->addTransition(state_waitInput);
+
+    state_toggleConnection->addTransition(state_waitInput);
+
+    // Actions
+
+    ENTRY_ACTION(this, action_idle_setupView)
+    ENTRY_ACTION(this, action_idle_layoutNewWidgets)
+    ENTRY_ACTION(this, action_idle_showActivePage)
+    ENTRY_ACTION(this, action_idle_connectOrientationChangeEventHandler)
+    EXIT_ACTION(this, action_idle_cleanupView)
+    EXIT_ACTION(this, action_idle_disconnectOrientationChangeEventHandler)
+
+    ENTRY_ACTION(state_waitInput, action_waitInput_updateOptionsMenu)
+    ENTRY_ACTION(state_waitInput, action_waitInput_connectMouseEventHandlers)
+    EXIT_ACTION(state_waitInput, action_waitInput_disconnectMouseEventHandlers)
+
+    ENTRY_ACTION(state_widgetInteraction, action_widgetInteraction_connectMouseEventHandlers)
+    ENTRY_ACTION(state_widgetInteraction, action_widgetInteraction_connectGestureTimers)
+    EXIT_ACTION(state_widgetInteraction, action_widgetInteraction_disconnectMouseEventHandlers)
+    EXIT_ACTION(state_widgetInteraction, action_widgetInteraction_disconnectGestureTimers)
+
+    ENTRY_ACTION(state_sceneInteraction, action_sceneInteraction_connectMouseEventHandlers)
+    ENTRY_ACTION(state_sceneInteraction, action_sceneInteraction_connectGestureTimers)
+    EXIT_ACTION(state_sceneInteraction, action_sceneInteraction_disconnectMouseEventHandlers)
+    EXIT_ACTION(state_sceneInteraction, action_sceneInteraction_disconnectGestureTimers)
+
+    ENTRY_ACTION(state_moveWidget, action_moveWidget_reparentToControlLayer)
+    ENTRY_ACTION(state_moveWidget, action_moveWidget_startWidgetDragAnimation)
+    ENTRY_ACTION(state_moveWidget, action_moveWidget_connectMouseEventHandlers)
+    ENTRY_ACTION(state_moveWidget, action_moveWidget_connectGestureTimers)
+    EXIT_ACTION(state_moveWidget, action_moveWidget_reparentToPage)
+    EXIT_ACTION(state_moveWidget, action_moveWidget_startWidgetDropAnimation)
+    EXIT_ACTION(state_moveWidget, action_moveWidget_disconnectMouseEventHandlers)
+    EXIT_ACTION(state_moveWidget, action_moveWidget_disconnectGestureTimers)
+
+    ENTRY_ACTION(state_moveScene, action_moveScene_connectMouseEventHandlers)
+    EXIT_ACTION(state_moveScene, action_moveScene_disconnectMouseEventHandlers)
+
+    ENTRY_ACTION(state_sceneMenu, action_sceneMenu_showMenu)
+    
+    ENTRY_ACTION(state_addPage, action_disableUserInteraction)
+    ENTRY_ACTION(state_addPage, action_addPage_addPage)
+    EXIT_ACTION(state_addPage, action_enableUserInteraction)
+    
+    ENTRY_ACTION(state_removePage, action_disableUserInteraction)
+    ENTRY_ACTION(state_removePage, action_removePage_removePage)
+    EXIT_ACTION(state_removePage, action_enableUserInteraction)
+
+    ENTRY_ACTION(state_toggleConnection, action_disableUserInteraction)
+    ENTRY_ACTION(state_toggleConnection, action_toggleConnection_toggleConnection)
+    EXIT_ACTION(state_toggleConnection, action_enableUserInteraction)
+}
+
+/*!
+    Computes the page layer x position based on the given \a pageIndex.
+*/
+qreal HsIdleState::pageLayerXPos(int pageIndex) const
+{
+    return -pageIndex * HsScene::mainWindow()->layoutRect().width() - 0.5;
+}
+
+/*!
+    Starts the page change animation based on the given \a targetPageIndex
+    and \a duration.
+*/
+void HsIdleState::startPageChangeAnimation(int targetPageIndex, int duration)
+{
+    QParallelAnimationGroup *animationGroup = new QParallelAnimationGroup;
+
+    QPropertyAnimation *animation = new QPropertyAnimation(mUiWidget->pageLayer(), "x");
+    animation->setEndValue(pageLayerXPos(targetPageIndex));
+    animation->setDuration(duration);
+    animationGroup->addAnimation(animation);
+
+    animation = new QPropertyAnimation(mUiWidget->sceneLayer(), "x");
+    animation->setEndValue(parallaxFactor() * pageLayerXPos(targetPageIndex));
+    animation->setDuration(duration);
+    animationGroup->addAnimation(animation);
+        
+    animationGroup->start(QAbstractAnimation::DeleteWhenStopped);
+
+    mUiWidget->showPageIndicator();
+    mUiWidget->setActivePage(targetPageIndex);
+}
+
+/*!
+    Checks if the active widget is located inside the left or right 
+    page change zone.
+*/
+bool HsIdleState::isInPageChangeZone()
+{
+    qreal widgetXPos = HsScene::instance()->activeWidget()->geometry().center().x();
+    qreal pageWidth = HsScene::mainWindow()->layoutRect().width();
+    return widgetXPos < mPageChangeZoneWidth ||
+           pageWidth - mPageChangeZoneWidth < widgetXPos;
+}
+
+/*!
+    Checks if the active widget is located inside the left
+    page change zone.
+*/
+bool HsIdleState::isInLeftPageChangeZone()
+{
+    qreal widgetXPos = HsScene::instance()->activeWidget()->geometry().center().x();
+    return widgetXPos < mPageChangeZoneWidth;
+}
+
+/*!
+    Checks if the active widget is located inside the right
+    page change zone.
+*/
+bool HsIdleState::isInRightPageChangeZone()
+{
+    qreal widgetXPos = HsScene::instance()->activeWidget()->geometry().center().x();
+    qreal pageWidth = HsScene::mainWindow()->layoutRect().width();
+    return pageWidth - mPageChangeZoneWidth < widgetXPos;
+}
+
+/*!
+    Inserts new page at index position \a pageIndex in the scene.
+*/
+void HsIdleState::addPageToScene(int pageIndex)
+{
+    HsPageData data;
+    data.setIndex(pageIndex);
+    HsPage *page = HsPage::createInstance(data);
+    page->load();
+    HsScene::instance()->addPage(page);    
+    mUiWidget->insertPage(pageIndex, page);
+}
+
+/*!
+    Computes the parallax factor based on the current scene and
+    page layer widths, and page count.
+*/
+qreal HsIdleState::parallaxFactor() const
+{
+    qreal clw = mUiWidget->controlLayer()->size().width();
+    qreal slw = mUiWidget->sceneLayer()->size().width();
+    int n = HsScene::instance()->pages().count();
+    if (n < 2) {
+        return 1;
+    } else {
+        return (slw - clw) / ((n - 1) * clw);
+    }
+}
+
+/*!
+    Disables the main window user interaction.
+*/
+void HsIdleState::action_disableUserInteraction()
+{
+    HsScene::mainWindow()->setInteractive(false);
+}
+
+/*!
+    Enables the main window user interaction.
+*/
+void HsIdleState::action_enableUserInteraction()
+{
+    HsScene::mainWindow()->setInteractive(true);
+}
+
+/*!
+    If called for the first time, setups the idle view.
+    Updates the soft key action and sets the idle view 
+    as the current view to the main window.
+*/
+void HsIdleState::action_idle_setupView()
+{
+    if (!mView) {
+        mUiWidget = new HsIdleWidget;
+        mView = HsScene::mainWindow()->addView(mUiWidget);
+        mView->setContentFullScreen();
+        mView->setTitle("Home Screen"/*hbTrId(TXT_HOMESCREEN_TITLE_OFFLINE)*/);
+        
+        mSoftKeyAction = new HbAction(this);
+        mSoftKeyAction->setIcon(HbIcon(APP_LIB_BUTTON));
+        connect(mSoftKeyAction, SIGNAL(triggered()), SIGNAL(event_applicationLibrary()));
+        
+#ifndef Q_OS_SYMBIAN
+        connect(HsAppTranslator::instance(), 
+            SIGNAL(languageChanged()), SLOT(translateUi()));
+#endif
+        // TODO: Workaround to Qt/Hb layouting bugs.
+        QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
+    }
+
+    HsScene::mainWindow()->addSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyAction);
+    HsScene::mainWindow()->setCurrentView(mView);
+}
+
+/*!
+    Lays out the active page's new widgets that were added
+    from the application library.
+*/
+void HsIdleState::action_idle_layoutNewWidgets()
+{
+    HsPage *page = HsScene::instance()->activePage();    
+    if (!page) {
+        return;
+    }
+
+    QList<HsWidgetHost *> widgets = page->newWidgets();     
+    if (widgets.isEmpty()) {
+        return;
+    }
+
+    foreach (HsWidgetHost *widget, widgets) {
+        widget->initializeWidget();
+        widget->showWidget();
+    }
+
+    page->layoutNewWidgets();
+    page->resetNewWidgets();
+}
+
+/*!
+    Moves the scene and page layers so that the active
+    page is shown.
+*/
+void HsIdleState::action_idle_showActivePage()
+{
+    qreal x = pageLayerXPos(HsScene::instance()->activePageIndex());
+    mUiWidget->pageLayer()->setX(x);
+    mUiWidget->sceneLayer()->setX(parallaxFactor() * x);
+}
+
+/*!
+    Connects the orientation change event handler.
+*/
+void HsIdleState::action_idle_connectOrientationChangeEventHandler()
+{
+    connect(HsScene::mainWindow(), 
+        SIGNAL(orientationChanged(Qt::Orientation)),
+        SLOT(onOrientationChanged(Qt::Orientation)));
+}
+
+/*!
+    Cleans up the idle view.
+*/
+void HsIdleState::action_idle_cleanupView()
+{
+    HsScene::mainWindow()->removeSoftKeyAction(
+        Hb::SecondarySoftKey, mSoftKeyAction);
+}
+
+/*!
+    Disconnects the orientation change event handler.
+*/
+void HsIdleState::action_idle_disconnectOrientationChangeEventHandler()
+{
+    disconnect(HsScene::mainWindow(), 
+        SIGNAL(orientationChanged(Qt::Orientation)),
+        this, SLOT(onOrientationChanged(Qt::Orientation)));
+}
+
+/*!
+    Updates the options menu content.
+*/
+void HsIdleState::action_waitInput_updateOptionsMenu()
+{
+    HbMenu *menu = new HbMenu();
+    
+    menu->addAction(hbTrId(TXT_HOMESCREEN_OPT_ADD_PAGE), 
+        this, SIGNAL(event_addPage()));
+    menu->addAction(hbTrId(TXT_HOMESCREEN_OPT_REMOVE_PAGE), 
+        this, SIGNAL(event_removePage()))->setEnabled(
+        HsScene::instance()->activePage()->isRemovable());
+        
+    if (HsScene::instance()->isOnline()) {
+        menu->addAction(hbTrId(TXT_HOMESCREEN_OPT_HOME_SCREEN_TO_OFFLINE),
+            this, SIGNAL(event_toggleConnection()));
+    } else {
+        menu->addAction(hbTrId(TXT_HOMESCREEN_OPT_HOME_SCREEN_TO_ONLINE),
+            this, SIGNAL(event_toggleConnection())); 
+    }
+
+#ifndef Q_OS_SYMBIAN
+    menu->addAction(hbTrId("txt_homescreen_opt_switch_language"),
+        this, SLOT(switchLanguage()));
+#endif
+
+    mView->setMenu(menu);
+}
+
+/*!
+    Connects the waitInput state's mouse event handlers.
+*/
+void HsIdleState::action_waitInput_connectMouseEventHandlers()
+{
+    CONNECT_MOUSE_EVENT_HANDLER(mousePressed, waitInput_onMousePressed)
+}
+ 
+/*!
+    Disconnects the waitInput state's mouse event handlers.
+*/
+void HsIdleState::action_waitInput_disconnectMouseEventHandlers()
+{
+    DISCONNECT_MOUSE_EVENT_HANDLER(mousePressed, waitInput_onMousePressed)    
+}
+
+/*!
+    Connects the widgetInteraction state's mouse event handlers.
+*/
+void HsIdleState::action_widgetInteraction_connectMouseEventHandlers()
+{
+    CONNECT_MOUSE_EVENT_HANDLER(mouseMoved, widgetInteraction_onMouseMoved)
+    CONNECT_MOUSE_EVENT_HANDLER(mouseReleased, widgetInteraction_onMouseReleased)
+}
+
+/*!
+    Connects the widgetInteraction state's gesture timers.
+*/
+void HsIdleState::action_widgetInteraction_connectGestureTimers()
+{
+    mTimer.setInterval(500);
+    connect(&mTimer, SIGNAL(timeout()), 
+        SLOT(widgetInteraction_onTapAndHoldTimeout()));
+    mTimer.start();
+}
+ 
+/*!
+    Disconnects the widgetInteraction state's mouse event handlers.
+*/
+void HsIdleState::action_widgetInteraction_disconnectMouseEventHandlers()
+{
+    DISCONNECT_MOUSE_EVENT_HANDLER(mouseMoved, widgetInteraction_onMouseMoved)
+    DISCONNECT_MOUSE_EVENT_HANDLER(mouseReleased, widgetInteraction_onMouseReleased)
+}
+
+/*!
+    Disconnects the widgetInteraction state's gesture timers.
+*/
+void HsIdleState::action_widgetInteraction_disconnectGestureTimers()
+{
+    disconnect(&mTimer, SIGNAL(timeout()), 
+        this, SLOT(widgetInteraction_onTapAndHoldTimeout()));
+}
+
+/*!
+    Connects the sceneInteraction state's mouse event handlers.
+*/
+void HsIdleState::action_sceneInteraction_connectMouseEventHandlers()
+{
+    CONNECT_MOUSE_EVENT_HANDLER(mouseMoved, sceneInteraction_onMouseMoved)
+    CONNECT_MOUSE_EVENT_HANDLER(mouseReleased, sceneInteraction_onMouseReleased)
+}
+
+/*!
+    Connects the sceneInteraction state's gesture timers.
+*/
+void HsIdleState::action_sceneInteraction_connectGestureTimers()
+{
+    mTimer.setInterval(500);
+    connect(&mTimer, SIGNAL(timeout()), 
+        SLOT(sceneInteraction_onTapAndHoldTimeout()));
+    mTimer.start();
+}
+ 
+/*!
+    Disconnects the sceneInteraction state's mouse event handlers.
+*/
+void HsIdleState::action_sceneInteraction_disconnectMouseEventHandlers()
+{
+    DISCONNECT_MOUSE_EVENT_HANDLER(mouseMoved, sceneInteraction_onMouseMoved)
+    DISCONNECT_MOUSE_EVENT_HANDLER(mouseReleased, sceneInteraction_onMouseReleased)
+}
+
+/*!
+    Disconnects the sceneInteraction state's gesture timers.
+*/
+void HsIdleState::action_sceneInteraction_disconnectGestureTimers()
+{
+    disconnect(&mTimer, SIGNAL(timeout()), 
+        this, SLOT(sceneInteraction_onTapAndHoldTimeout()));
+}
+
+/*!
+    Reparents the active widget to the control layer.
+*/
+void HsIdleState::action_moveWidget_reparentToControlLayer()
+{
+    HsWidgetHost *widget = HsScene::instance()->activeWidget();
+    Q_ASSERT(widget);
+    widget->setParentItem(mUiWidget->controlLayer());
+
+    mUiWidget->showTrashBin();
+}
+
+/*!
+    Starts the widget drag animation for the active widget.
+*/
+void HsIdleState::action_moveWidget_startWidgetDragAnimation()
+{
+    HsWidgetHost *widget = HsScene::instance()->activeWidget();
+    Q_ASSERT(widget);
+    widget->startDragAnimation();
+}
+
+/*!
+    Connects the moveWidget state's mouse event handlers.
+*/
+void HsIdleState::action_moveWidget_connectMouseEventHandlers()
+{
+    CONNECT_MOUSE_EVENT_HANDLER(mouseMoved, moveWidget_onMouseMoved)
+    CONNECT_MOUSE_EVENT_HANDLER(mouseReleased, moveWidget_onMouseReleased)
+}
+
+/*!
+    Connects the moveWidget state's gesture timers.
+*/
+void HsIdleState::action_moveWidget_connectGestureTimers()
+{
+    mTimer.setInterval(800);
+    connect(&mTimer, SIGNAL(timeout()), 
+        SLOT(moveWidget_onHoldTimeout()));
+}
+
+/*!
+    Reparents the active widget to the active page.
+*/
+void HsIdleState::action_moveWidget_reparentToPage()
+{
+    HsWidgetHost *widget = HsScene::instance()->activeWidget();
+    if (widget) {
+        widget->setParentItem(HsScene::instance()->activePage());
+    }
+    
+    mUiWidget->showPageIndicator();
+}
+
+/*!
+    Starts the widget drop animation for the active widget.
+*/
+void HsIdleState::action_moveWidget_startWidgetDropAnimation()
+{
+    HsWidgetHost *widget = HsScene::instance()->activeWidget();
+    if (widget) {
+        widget->startDropAnimation();
+    }
+}
+
+/*!
+    Disconnects the moveWidget state's mouse event handlers.
+*/
+void HsIdleState::action_moveWidget_disconnectMouseEventHandlers()
+{
+    DISCONNECT_MOUSE_EVENT_HANDLER(mouseMoved, moveWidget_onMouseMoved)
+    DISCONNECT_MOUSE_EVENT_HANDLER(mouseReleased, moveWidget_onMouseReleased)
+}
+
+/*!
+    Disconnects the moveWidget state's gesture timers.
+*/
+void HsIdleState::action_moveWidget_disconnectGestureTimers()
+{
+    disconnect(&mTimer, SIGNAL(timeout()), 
+        this, SLOT(moveWidget_onHoldTimeout()));
+}
+
+/*!
+    Connects the moveScene state's mouse event handlers.
+*/
+void HsIdleState::action_moveScene_connectMouseEventHandlers()
+{
+    CONNECT_MOUSE_EVENT_HANDLER(mouseMoved, moveScene_onMouseMoved)
+    CONNECT_MOUSE_EVENT_HANDLER(mouseReleased, moveScene_onMouseReleased)
+}
+ 
+/*!
+    Disconnects the moveScene state's mouse event handlers.
+*/
+void HsIdleState::action_moveScene_disconnectMouseEventHandlers()
+{
+    DISCONNECT_MOUSE_EVENT_HANDLER(mouseMoved, moveScene_onMouseMoved)
+    DISCONNECT_MOUSE_EVENT_HANDLER(mouseReleased, moveScene_onMouseReleased)
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+/*!
+    Shows the scene menu.
+*/
+void HsIdleState::action_sceneMenu_showMenu()
+{
+    HbMenu menu;
+
+    HbAction *changeWallpaperAction = 
+        menu.addAction(hbTrId(TXT_HOMESCREEN_LIST_CHANGE_WALLPAPER));
+    HbAction *addContentAction = 
+        menu.addAction(hbTrId(TXT_HOMESCREEN_LIST_ADD_CONTENT));
+
+    HbAction *action = menu.exec(mSceneMenuPos);
+    if (action == changeWallpaperAction) {
+        emit event_selectSceneWallpaper();
+    } else if (action == addContentAction) {
+        machine()->postEvent(
+            HsMenuEventFactory::createOpenAppLibraryEvent(AddHsMenuMode));
+    } else {
+        emit event_waitInput();
+    }
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+    Adds a new page to the scene.
+*/
+void HsIdleState::action_addPage_addPage()
+{
+    HsScene *scene = HsScene::instance();    
+    int pageIndex = scene->pages().count();    
+    addPageToScene(pageIndex);    
+    scene->setActivePageIndex(pageIndex);
+    startPageChangeAnimation(pageIndex, 700);
+    mUiWidget->pageIndicator()->addItem(true, true);
+}
+
+/*!
+    Removes an existing page from the scene.
+*/
+void HsIdleState::action_removePage_removePage()
+{
+    HsScene *scene = HsScene::instance();
+    HsPage *page = scene->activePage();    
+    int pageIndex = scene->activePageIndex();
+
+    mUiWidget->removePage(pageIndex);
+    scene->removePage(page);
+    page->deleteFromDatabase();
+    delete page;
+
+    pageIndex = pageIndex == 0 ? 0 : pageIndex - 1;
+    scene->setActivePageIndex(pageIndex);
+
+    startPageChangeAnimation(pageIndex, 200);
+
+    mUiWidget->pageIndicator()->removeItem();
+    mUiWidget->setActivePage(pageIndex);
+}
+
+/*!
+    Toggles the homescreen online/offline state.
+*/
+void HsIdleState::action_toggleConnection_toggleConnection()
+{
+    HsScene *scene = HsScene::instance();    
+    scene->setOnline(!scene->isOnline());
+}
+
+/*!
+    Handles mouse press events for the waitInput state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::waitInput_onMousePressed(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    filtered = true;
+
+    HsScene *scene = HsScene::instance();
+    HsPage *page = scene->activePage();
+    QList<HsWidgetHost *> widgets = page->widgets();
+
+    if (mUiWidget->controlLayer() == watched ||
+        mUiWidget->controlLayer()->isAncestorOf(watched)) {
+        filtered = false;
+        return;
+    }
+
+    mUiWidget->captureDelayedPress(event);
+
+    foreach (HsWidgetHost *widget, widgets) {
+        if (widget == watched || widget->isAncestorOf(watched)) {
+            scene->setActiveWidget(widget);
+            emit event_widgetInteraction();
+            return;
+        }
+    }
+
+    mSceneMenuPos = event->scenePos();
+    emit event_sceneInteraction();
+}
+
+/*!
+    Handles mouse move events for the widgetInteraction state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::widgetInteraction_onMouseMoved(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    Q_UNUSED(watched)
+    Q_UNUSED(filtered)
+
+    if (!mTimer.isActive()) {
+        return;
+    }
+
+    QPointF point = 
+        event->screenPos() - event->buttonDownScreenPos(Qt::LeftButton);
+    if (mTapAndHoldDistance < point.manhattanLength()) {
+        mTimer.stop();
+        mUiWidget->sendDelayedPress();
+    }
+}
+
+/*!
+    Handles mouse release events for the widgetInteraction state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::widgetInteraction_onMouseReleased(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    Q_UNUSED(watched)
+    Q_UNUSED(event)
+    Q_UNUSED(filtered)
+
+    if (mTimer.isActive()) {
+        mTimer.stop();
+        mUiWidget->sendDelayedPress();
+    }
+
+    HsScene::instance()->activePage()->updateZValues();
+
+    emit event_waitInput();
+}
+
+/*!
+    Handles mouse move events for the sceneInteraction state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::sceneInteraction_onMouseMoved(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    Q_UNUSED(watched)
+    Q_UNUSED(filtered)
+
+    mSceneMenuPos = event->scenePos();
+
+    if (!mTimer.isActive()) {
+        return;
+    }
+
+    QPointF point = 
+        event->screenPos() - event->buttonDownScreenPos(Qt::LeftButton);
+    if (mTapAndHoldDistance < point.manhattanLength()) {
+        mTimer.stop();
+        mUiWidget->clearDelayedPress();
+        emit event_moveScene();
+    }
+}
+
+/*!
+    Handles mouse release events for the sceneInteraction state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::sceneInteraction_onMouseReleased(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    Q_UNUSED(watched)
+    Q_UNUSED(event)
+    Q_UNUSED(filtered)
+
+    if (mTimer.isActive()) {
+        mTimer.stop();
+        mUiWidget->sendDelayedPress();
+    }
+
+    emit event_waitInput();
+}
+
+/*!
+    Handles mouse move events for the moveWidget state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::moveWidget_onMouseMoved(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    Q_UNUSED(watched)
+    Q_UNUSED(filtered)
+
+    HsWidgetHost *widget = HsScene::instance()->activeWidget();
+    Q_ASSERT(widget);
+
+    QPointF delta(event->screenPos() - event->lastScreenPos());
+    QRectF region =  mView->rect().adjusted(10, 55, -10, -10);
+    QPointF position = widget->geometry().center() + delta;
+    if (!region.contains(position)) {
+        position.setX(qBound(region.left(), position.x(), region.right()));
+        position.setY(qBound(region.top(), position.y(), region.bottom()));
+    }
+
+    widget->setPos(position - widget->rect().center());
+
+    if (mTimer.isActive()) {
+        if (mTapAndHoldDistance < delta.manhattanLength()) {
+            mTimer.stop();
+        }
+    } else {
+        if (isInPageChangeZone()) {
+            mTimer.start();
+        }
+    }
+
+    if (mUiWidget->trashBin()->isUnderMouse()) {
+        mUiWidget->trashBin()->activate();
+    } else {
+        mUiWidget->trashBin()->deactivate();
+    }
+
+    if (!mUiWidget->pageIndicator()->isAnimatingCurrentItemChange()) {
+        mUiWidget->showTrashBin();
+    }
+}
+
+/*!
+    Handles mouse release events for the moveWidget state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::moveWidget_onMouseReleased(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    Q_UNUSED(watched)
+    Q_UNUSED(event)
+
+    mTimer.stop();
+
+    HsScene *scene = HsScene::instance();
+    HsPage *page = scene->activePage();
+    HsWidgetHost *widget = scene->activeWidget();
+
+    if (mUiWidget->trashBin()->isUnderMouse()) {
+        widget->page()->removeWidget(widget);
+        widget->uninitializeWidget();
+        widget->deleteFromDatabase();
+        widget->deleteLater();
+        scene->setActiveWidget(0);
+    } else {
+        if (widget->page() != page) {
+            widget->page()->removeWidget(widget);
+            page->addExistingWidget(widget);
+            if (HsScene::orientation() == Qt::Horizontal) {
+                widget->deleteWidgetPresentation(Qt::Vertical);
+            } else {
+                widget->deleteWidgetPresentation(Qt::Horizontal);
+            }
+        }
+        widget->setWidgetPresentation();
+        page->updateZValues();
+    }
+
+    filtered = true;
+    emit event_waitInput();
+}
+
+/*!
+    Handles mouse move events for the moveScene state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::moveScene_onMouseMoved(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    Q_UNUSED(watched)
+    Q_UNUSED(filtered)
+    
+    HsScene *scene = HsScene::instance();
+    qreal delta = 
+        event->screenPos().x() - event->buttonDownScreenPos(Qt::LeftButton).x();
+    
+    qreal x = qBound(pageLayerXPos(scene->pages().count() - 1),
+                     pageLayerXPos(scene->activePageIndex()) + delta,
+                     pageLayerXPos(0));
+    
+    mUiWidget->pageLayer()->setX(x);
+    mUiWidget->sceneLayer()->setX(parallaxFactor() * x);
+}
+
+/*!
+    Handles mouse release events for the moveScene state.
+    Filters events for the item \a watched. \a event is the 
+    filtered event. Sets the \a filtered true if the event
+    was filtered by this handler.
+*/
+void HsIdleState::moveScene_onMouseReleased(
+    QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
+{
+    Q_UNUSED(watched)
+    Q_UNUSED(filtered)
+    
+    QList<HsPage *> pages = HsScene::instance()->pages();
+    QSizeF pageSize = pages.first()->size();
+
+    int pageIndex = HsScene::instance()->activePageIndex();
+
+    QPointF delta(
+        event->screenPos() - event->buttonDownScreenPos(Qt::LeftButton));
+    if (delta.x() < -pageSize.width() / 2) {
+        pageIndex = qMin(pageIndex + 1, pages.count() - 1);
+    } else if(pageSize.width() / 2 < delta.x()) {
+        pageIndex = qMax(pageIndex - 1, 0);
+    }
+
+    HsScene::instance()->setActivePageIndex(pageIndex);
+    
+    startPageChangeAnimation(pageIndex, 200);
+
+    emit event_waitInput();
+}
+
+/*!
+    Handles orientation change events. \a orientation is the 
+    new orientation.
+*/
+void HsIdleState::onOrientationChanged(Qt::Orientation orientation)
+{
+    QList<HsPage *> pages = HsScene::instance()->pages();
+    QList<HsWidgetHost *> widgets;
+    HsWidgetHost *widget = 0;
+    
+    for (int i = 0; i < pages.count(); ++i) {        
+        widgets = pages[i]->widgets();
+        for (int j = 0; j < widgets.count(); ++j) {
+            widget = widgets[j];
+            HsWidgetPresentationData presentation = widget->widgetPresentation(orientation);
+            if (presentation.id() < 0) {
+                QList<QRectF> geometries = 
+                    HsWidgetPositioningOnOrientationChange::instance()->convert(
+                        pages[i]->rect().adjusted(10, 10, -10, -10), QList<QRectF>() << widget->geometry(),
+                        QRectF(0, 0, pages[i]->rect().height() + 40, 
+                        pages[i]->rect().width() - 40).adjusted(10, 10, -10, -10));
+                widget->setGeometry(geometries.first());
+                widget->setWidgetPresentation();
+            } else {
+                widget->setGeometry(QRectF(presentation.position(), presentation.size()));
+                widget->setZValue(presentation.zValue());
+            }
+        }
+    }
+    
+    action_idle_showActivePage();
+}
+
+/*!
+    Handles tap-and-hold events for the widgetInteraction state.
+*/
+void HsIdleState::widgetInteraction_onTapAndHoldTimeout()
+{
+    mUiWidget->clearDelayedPress();
+    emit event_moveWidget();
+}
+
+/*!
+    Handles tap-and-hold events for the sceneInteraction state.
+*/
+void HsIdleState::sceneInteraction_onTapAndHoldTimeout()
+{
+    mUiWidget->clearDelayedPress();
+    emit event_sceneMenu();
+}
+
+/*!
+    Handles page change zone hold events for the moveWidget state.
+*/
+void HsIdleState::moveWidget_onHoldTimeout()
+{
+    HsScene *scene = HsScene::instance();
+    
+    int pageIndex = scene->activePageIndex();
+
+    if (isInLeftPageChangeZone() && 
+        0 < pageIndex) {
+        --pageIndex;
+    } else if (isInRightPageChangeZone() && 
+        pageIndex < scene->pages().count()) {
+        ++pageIndex;
+    } else {
+        return;
+    }
+
+    if (pageIndex == scene->pages().count()) {
+        if (scene->pages().last()->widgets().isEmpty()) {
+            return;
+        } else {
+            addPageToScene(pageIndex);
+            mUiWidget->showPageIndicator();
+            mUiWidget->pageIndicator()->addItem(true);
+        }
+    }
+
+    scene->setActivePageIndex(pageIndex);
+    startPageChangeAnimation(pageIndex, 200);
+}
+
+#ifndef Q_OS_SYMBIAN
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+/*!
+    Switch the home screen language.
+*/
+void HsIdleState::switchLanguage()
+{
+    QString locale;
+    QFile file("hslocale.txt");
+    QTextStream stream(&file);
+    if (file.open(QIODevice::ReadWrite | QIODevice::Text)) {
+        QString word;
+        stream >> word;
+        if (!word.isEmpty()) {
+            locale = word;
+        } else {
+            locale = "en_US";
+        }
+    } else {
+        locale = QLocale::system().name();
+    }
+
+    if (locale == "en_US") {
+        locale = "fi_FI";
+    } else {
+        locale = "en_US";
+    }
+
+    file.seek(0);
+    stream << locale;
+    file.close();
+    
+    QEvent event(QEvent::LocaleChange);
+    QApplication::sendEvent(qApp, &event);
+}
+
+/*!
+    Translates the home screen ui.
+*/
+void HsIdleState::translateUi()
+{
+    mView->setTitle("Home Screen"/*hbTrId(TXT_HOMESCREEN_TITLE_OFFLINE)*/);
+    action_waitInput_updateOptionsMenu();
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+#endif // Q_OS_SYMBIAN
+
+// Undefine the helper macros.
+#undef ENTRY_ACTION
+#undef EXIT_ACTION
+#undef CONNECT_MOUSE_EVENT_HANDLER
+#undef DISCONNECT_MOUSE_EVENT_HANDLER
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsidlewidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,426 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QGraphicsSceneMouseEvent>
+#include <QGraphicsLinearLayout>
+#include <QDir>
+
+#include <HbMainWindow>
+#include <HbInputMethod>
+
+#include "hsidlewidget.h"
+#include "hsscene.h"
+#include "hspage.h"
+#include "hswidgethost.h"
+#include "hswallpaper.h"
+#include "hstrashbinwidget.h"
+#include "hspageindicator.h"
+#include "hsdocumentloader.h"
+
+namespace
+{
+    const char CONTROL_LAYER_DOCML_FILE[] = "controllayer.docml";
+    const char CONTROL_LAYER[] = "controlLayer";
+    const char TRASH_BIN[] = "trashBin";
+    const char PAGE_INDICATOR[] = "pageIndicator";
+}
+
+/*!
+    \class HsIdleWidget
+    \ingroup group_hshomescreenstateplugin
+    \brief View part of the home screen idle state.
+
+    Maintains the idle view ui layers and takes care of 
+    receiving user input and communicating it to the idle 
+    state for further processing.
+*/
+
+/*!
+    Constructs a new idle widget with the given \a parent.
+*/
+HsIdleWidget::HsIdleWidget(QGraphicsItem *parent)
+  : HbWidget(parent),
+    mControlLayer(0), mPageLayer(0), mSceneLayer(0),
+    mDelayedPressEvent(0),
+    mTrashBin(0), mPageIndicator(0)
+{
+    setFlag(ItemHasNoContents);
+    
+    loadControlLayer();
+
+    QGraphicsLinearLayout *linearLayout = 0;
+
+    linearLayout = new QGraphicsLinearLayout(Qt::Horizontal);
+    linearLayout->setContentsMargins(0, 0, 0, 0);
+    linearLayout->setSpacing(0);
+    mPageLayer = new HbWidget(this);
+    mPageLayer->setLayout(linearLayout);
+    mPageLayer->setZValue(1);
+    
+    linearLayout = new QGraphicsLinearLayout(Qt::Horizontal);
+    linearLayout->setContentsMargins(0, 0, 0, 0);
+    linearLayout->setSpacing(0);
+    mSceneLayer = new HbWidget(this);
+    mSceneLayer->setLayout(linearLayout);
+    mSceneLayer->setZValue(0);
+}
+
+/*!
+    Destroys this idle widget.
+*/
+HsIdleWidget::~HsIdleWidget()
+{
+    clearDelayedPress();
+
+    QList<HsPage *> pages = HsScene::instance()->pages();
+    foreach (HsPage *page, pages) {
+        page->setParentItem(0);
+        if (page->scene()) {
+            page->scene()->removeItem(page);
+        }
+    }
+
+    HsWallpaper *wallpaper = HsScene::instance()->wallpaper();
+    wallpaper->setParentItem(0);
+    if (wallpaper->scene()) {
+        wallpaper->scene()->removeItem(wallpaper);
+    }
+}
+
+/*!
+    Layouts the ui layers according to the given \a rect.
+*/
+void HsIdleWidget::setGeometry(const QRectF &rect)
+{
+    int n = HsScene::instance()->pages().count();
+    mControlLayer->resize(rect.size());
+    mPageLayer->resize(n * rect.width(), rect.height());
+    mSceneLayer->resize(2 * rect.width(), rect.height());
+    HbWidget::setGeometry(rect);
+}
+
+/*!
+    Stores the given mouse press \a event.
+*/
+void HsIdleWidget::captureDelayedPress(QGraphicsSceneMouseEvent *event)
+{
+    if (event) {
+        mDelayedPressEvent = new QMouseEvent(QEvent::MouseButtonPress,
+            event->scenePos().toPoint(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
+        mDelayedPressEvent->setAccepted(false);
+    }
+}
+
+/*!
+    Sends the stored mouse press event.
+*/
+void HsIdleWidget::sendDelayedPress()
+{
+    if (mDelayedPressEvent) {
+        QApplication::sendEvent(HsScene::mainWindow()->viewport(), mDelayedPressEvent);
+        clearDelayedPress();     
+    }
+}
+
+/*!
+    Deletes the stored mouse press event.
+*/
+void HsIdleWidget::clearDelayedPress()
+{    
+    if (mDelayedPressEvent) {
+        delete mDelayedPressEvent;
+        mDelayedPressEvent = 0;
+    }
+}
+
+/*!
+    Sets the active page \a index to the page 
+    indicator.
+*/
+void HsIdleWidget::setActivePage(int index)
+{
+    mPageIndicator->setCurrentIndex(index);
+}
+
+/*!
+    Inserts the given \a page at index position
+    \a index in the page layer.
+*/
+void HsIdleWidget::insertPage(int index, HsPage *page)
+{
+    QGraphicsLinearLayout *layout = 
+        static_cast<QGraphicsLinearLayout *>(mPageLayer->layout());
+    layout->insertItem(index, page);
+    mPageLayer->resize(
+        layout->count() * size().width(), size().height());
+}
+
+/*!
+    Removes the page at index position
+    \a index in the page layer.
+*/
+void HsIdleWidget::removePage(int index)
+{
+    QGraphicsLinearLayout *layout = 
+        static_cast<QGraphicsLinearLayout *>(mPageLayer->layout());
+    layout->removeAt(index);
+    mPageLayer->resize(
+        layout->count() * size().width(), size().height());
+}
+
+/*!
+    \fn HsIdleWidget::controlLayer() const
+
+    Returns the control layer.
+*/
+
+/*!
+    \fn HsIdleWidget::pageLayer() const
+
+    Returns the page layer.
+*/
+
+/*!
+    \fn HsIdleWidget::sceneLayer() const
+
+    Returns the scene layer.
+*/
+
+/*!
+    \fn HsIdleWidget::trashBin() const
+
+    Returns the trashbin widget.
+*/
+
+/*!
+    \fn HsIdleWidget::pageIndicator() const
+
+    Returns the page indicator widget.
+*/
+
+/*!
+    \fn HsIdleWidget::mousePressed(QGraphicsItem *, QGraphicsSceneMouseEvent *, bool &)
+
+    The idle state connects to this signal for handling mouse
+    press events. It filters events for the item \a watched. 
+    \a event is the filtered event. Sets the \a filtered true 
+    if the event was filtered by this handler.
+*/
+
+/*!
+    \fn HsIdleWidget::mouseMoved(QGraphicsItem *, QGraphicsSceneMouseEvent *, bool &)
+
+    The idle state connects to this signal for handling mouse
+    move events. It filters events for the item \a watched. 
+    \a event is the filtered event. Sets the \a filtered true 
+    if the event was filtered by this handler.
+*/
+
+/*!
+    \fn HsIdleWidget::mouseReleased(QGraphicsItem *, QGraphicsSceneMouseEvent *, bool &)
+
+    The idle state connects to this signal for handling mouse
+    release events. It filters events for the item \a watched. 
+    \a event is the filtered event. Sets the \a filtered true 
+    if the event was filtered by this handler.
+*/
+
+/*!
+    Sets the trashbin visible and hides the page indicator.
+*/
+void HsIdleWidget::showTrashBin()
+{
+    mPageIndicator->hide();
+    mTrashBin->show();
+}
+ 
+/*!
+    Sets the page indicator visible and hides the trashbin.
+*/
+void HsIdleWidget::showPageIndicator()
+{
+    mTrashBin->hide();
+    mTrashBin->deactivate();
+    mPageIndicator->setVisible(1 < mPageIndicator->itemCount());
+}
+
+/*!
+    Filters the main window's graphics scene (\a object) \a event.
+*/
+bool HsIdleWidget::eventFilter(QObject *object, QEvent *event)
+{
+    Q_UNUSED(object)
+
+    if (HbInputMethod::activeInputMethod() &&
+        HbInputMethod::activeInputMethod()->focusObject()) {
+        setFiltersChildEvents(false);
+        return false;
+    }
+
+    bool filtered = false;
+
+    switch (event->type()) {
+    case QEvent::GraphicsSceneMousePress:
+        if (mDelayedPressEvent &&
+            scene()->mouseGrabberItem()) {
+            scene()->mouseGrabberItem()->ungrabMouse();
+        }
+        setFiltersChildEvents(!mDelayedPressEvent);
+        break;
+    case QEvent::GraphicsSceneMouseMove:
+        emit mouseMoved(0, static_cast<QGraphicsSceneMouseEvent *>(event), filtered);
+        break;
+    case QEvent::GraphicsSceneMouseRelease:
+        setItemsFocusable();
+        emit mouseReleased(0, static_cast<QGraphicsSceneMouseEvent *>(event), filtered);
+        if (filtered && scene()->mouseGrabberItem()) {
+            scene()->mouseGrabberItem()->ungrabMouse();
+        }        
+        break;
+    default:
+        break;
+    }
+
+    return filtered;
+}
+
+/*!
+    Filters events for the item \a watched. \a event is the filtered event.
+*/
+bool HsIdleWidget::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
+{
+    bool filtered = false;
+
+    switch (event->type()) {
+    case QEvent::GraphicsSceneMousePress:
+        emit mousePressed(watched, static_cast<QGraphicsSceneMouseEvent *>(event), filtered);
+        if (filtered) {
+            setItemsUnfocusable(static_cast<QGraphicsSceneMouseEvent *>(event));
+        }
+        break;    
+    default:
+        break;
+    }
+
+    return filtered;
+}
+
+/*!
+    Reimplements QGraphicsWidget::polishEvent().
+*/
+void HsIdleWidget::polishEvent()
+{
+    HsScene *scene = HsScene::instance();
+    Q_ASSERT(scene);
+
+    QGraphicsLinearLayout *layout = 
+        static_cast<QGraphicsLinearLayout *>(mPageLayer->layout());
+    QList<HsPage *> pages = scene->pages();
+    foreach (HsPage *page, pages) {
+        layout->addItem(page);
+    }
+
+    layout = static_cast<QGraphicsLinearLayout *>(mSceneLayer->layout());
+    HsWallpaper *wallpaper = HsScene::instance()->wallpaper();
+    layout->addItem(wallpaper);
+           
+    mPageIndicator->setItemCount(pages.count());
+    setActivePage(scene->activePageIndex());
+    showPageIndicator();
+
+    HsScene::mainWindow()->scene()->installEventFilter(this);
+}
+
+/*!
+    Loads the control layer declared in a docml file.
+*/
+void HsIdleWidget::loadControlLayer()
+{
+    HsDocumentLoader loader;
+    bool loaded = false;
+
+#ifndef Q_OS_SYMBIAN
+    QString path = QDir::currentPath();
+#else
+    QString path = "c:";
+#endif
+
+    QString file = path + "/hsresources/" + CONTROL_LAYER_DOCML_FILE;
+    QString fallbackPath = QString(":/") + CONTROL_LAYER_DOCML_FILE;
+
+    if (QFile::exists(file)) {
+        loader.load(file, &loaded);
+        if (!loaded) {
+            loader.load(fallbackPath, &loaded);
+        }
+    } else {
+        loader.load(fallbackPath, &loaded);       
+    }
+
+    if (loaded) {
+        mControlLayer = qobject_cast<HbWidget *>(loader.findWidget(CONTROL_LAYER));
+        mControlLayer->setZValue(2);
+        mControlLayer->setParentItem(this);
+
+        mTrashBin = qobject_cast<HsTrashBinWidget *>(loader.findWidget(TRASH_BIN));
+        mTrashBin->setZValue(1e6);
+
+        mPageIndicator = qobject_cast<HsPageIndicator *>(loader.findWidget(PAGE_INDICATOR));
+        mPageIndicator->setZValue(1e6);
+    } else {
+        // TODO: Handle error.
+    }
+}
+
+/*!
+    Sets the items under the given mouse \a event scene position 
+    unfocusable and stores the items.
+*/
+void HsIdleWidget::setItemsUnfocusable(QGraphicsSceneMouseEvent *event)
+{
+    mFocusableItems.clear();
+    QList<QGraphicsItem *> items = 
+        HsScene::mainWindow()->scene()->items(event->scenePos());
+    int i = 0;
+    while (!mPageLayer->isAncestorOf(items[i++])) {}
+    HsPage *page = HsScene::instance()->activePage();
+    QList<HsWidgetHost *> widgets = page->widgets();
+    for (; i < items.count(); ++i) {
+        QGraphicsItem *item = items.at(i);
+        if (page->isAncestorOf(item)) {
+            foreach (HsWidgetHost *widget, widgets) {
+                if ((item == widget || widget->isAncestorOf(item))&& item->isEnabled() && (item->flags() & QGraphicsItem::ItemIsFocusable)) {
+                    if (!item->isWidget() || static_cast<QGraphicsWidget*>(item)->focusPolicy() & Qt::ClickFocus) {
+                        item->setFlag(QGraphicsItem::ItemIsFocusable, false);
+                        mFocusableItems.append(item);
+                    }
+                }
+            }
+        }
+    }
+}
+ 
+/*!
+    Sets the stored items focusable.
+*/
+void HsIdleWidget::setItemsFocusable()
+{
+    foreach (QGraphicsItem *item, mFocusableItems) {
+        item->setFlag(QGraphicsItem::ItemIsFocusable);
+    }
+    mFocusableItems.clear();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsloadscenestate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  
+*
+*/
+
+#include <HbMainWindow>
+#include "hsloadscenestate.h"
+#include "hsscene.h"
+
+/*!
+    \class HsLoadSceneState
+    \ingroup group_hshomescreenstateplugin
+    \brief View part of the home screen idle state.
+
+    Loads the home screen scene.
+*/
+
+/*!
+    Constructs a new load scene state with the given \a parent.
+*/
+HsLoadSceneState::HsLoadSceneState(QState *parent)
+    : QState(parent)
+{
+    connect(this, SIGNAL(entered()), SLOT(action_loadScene()));
+}
+
+/*!
+    Destroys this idle state.
+*/
+HsLoadSceneState::~HsLoadSceneState()
+{
+}
+
+/*!
+    \fn HsLoadSceneState::event_idle()
+
+    Initiates a transition to idle state.
+*/
+
+/*!
+    Loads the home screen scene.
+*/
+void HsLoadSceneState::action_loadScene()
+{
+    HsScene::instance()->load();
+    HsScene::mainWindow()->show();
+    emit event_idle();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsselectbackgroundstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,176 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QDir>
+#include <QFileInfo>
+
+#include <HbMainWindow>
+#include <HbView>
+
+#include "hsselectbackgroundstate.h"
+#include "hsscene.h"
+#include "hsscenedata.h"
+#include "hswallpaper.h"
+#include "hsdatabase.h"
+
+#include "xqaiwgetimageclient.h"
+#include "xqaiwcommon.h"
+
+/*! 
+    \class HsSelectBackgroundState
+    \ingroup group_hshomescreenstateprovider
+    \brief Implements imagefetcher event listening and handles those events.
+
+    \sa StateMachine
+*/
+
+/*!
+    Constructor.         
+    \a parent Owner.
+*/
+HsSelectBackgroundState::HsSelectBackgroundState(QState *parent):
+    QState(parent),
+    mXQAIWGetImageClient(0),
+    mSourceView(0)
+{
+    mXQAIWGetImageClient = new XQAIWGetImageClient;
+    connect(this, SIGNAL(entered()), SLOT(selectPageBackgroundAction()));
+    connect(this, SIGNAL(exited()), SLOT(disconnectImageFetcherAction()));
+}
+
+/*!
+    Destructor.
+    
+*/
+HsSelectBackgroundState::~HsSelectBackgroundState()
+{
+    delete mXQAIWGetImageClient;
+}
+
+/*!
+    \internal
+    Scales and crops (if needed) \a image for given \a orientation
+    and saves it to \a path. Return true on successful.
+*/
+bool HsSelectBackgroundState::saveImage(QImage &image, const QString &path, Qt::Orientation orientation) 
+{
+    QRect rect;
+    if (orientation == Qt::Vertical) {
+        rect.setRect(0, 0, 2 * 360, 640);
+    } else {
+        rect.setRect(0, 0, 2 * 640, 360);
+    }
+
+    if (image.rect().contains(rect)) {        
+        rect.moveCenter(image.rect().center());
+        return image.copy(rect).save(path);
+    } else {
+        QImage scaledImage = image.scaledToWidth(rect.width());        
+        rect.moveCenter(scaledImage.rect().center());
+        return scaledImage.copy(rect).save(path);
+    }
+}
+
+/*!
+    \internal
+    Connects to image fetcher and launches "remote" ui from photos
+    from which user can select background image
+ */
+void HsSelectBackgroundState::selectPageBackgroundAction()
+{
+    mSourceView = HsScene::mainWindow()->currentView();
+
+    connect(mXQAIWGetImageClient, SIGNAL(fetchComplete(QStringList)),
+            SLOT(onBackgroundImageFetched(QStringList)));
+    connect(mXQAIWGetImageClient, SIGNAL(fetchFailed(int)),
+            SLOT(onBackgroundImageFetchFailed(int)));
+    
+    QVariantMap filter;
+    mXQAIWGetImageClient->fetch(filter, SelectionSingle);
+}
+
+/*!
+    \internal
+    disconnects photos image fetcher services slots.
+*/
+
+void HsSelectBackgroundState::disconnectImageFetcherAction()
+{
+    HsScene::mainWindow()->setCurrentView(mSourceView);
+    mXQAIWGetImageClient->disconnect(this);
+}
+
+/*!
+    \internal
+    Called when user has selected an image    
+*/
+void HsSelectBackgroundState::onBackgroundImageFetched(QStringList imageStringList)
+{
+    HsScene *scene = HsScene::instance();
+        
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+
+    HsSceneData sceneData;
+    if (!db->scene(sceneData)) {
+        emit event_waitInput();
+        return;
+    }
+   
+    QFileInfo fileInfo(imageStringList.first());
+    QString fileExtension("");
+    if (!fileInfo.suffix().isEmpty()) {
+        fileExtension = fileInfo.suffix();
+    }
+
+    QFile::remove(sceneData.portraitWallpaper());
+    QFile::remove(sceneData.landscapeWallpaper()); 
+
+    QString wallpaperDir = HsWallpaper::wallpaperDirectory();            
+    QDir dir(wallpaperDir);
+    if (!dir.exists()) {
+        dir.mkpath(wallpaperDir);
+    }
+
+    QString portraitPath = HsWallpaper::wallpaperPath(
+        Qt::Vertical, QString(), fileExtension);
+    QString landscapePath = HsWallpaper::wallpaperPath(
+        Qt::Horizontal, QString(), fileExtension);
+    
+    QImage image(imageStringList.first());
+    
+    if (saveImage(image, portraitPath, Qt::Vertical) && 
+        saveImage(image, landscapePath, Qt::Horizontal)) {
+        sceneData.setPortraitWallpaper(portraitPath);
+        sceneData.setLandscapeWallpaper(landscapePath);
+        if (db->updateScene(sceneData)) {
+            scene->wallpaper()->setImagesById(QString(), fileInfo.suffix());
+        }
+    }
+   
+    emit event_waitInput();
+}
+
+/*!
+    \internal
+    Called when selection of background image fails  
+*/
+void HsSelectBackgroundState::onBackgroundImageFetchFailed(int error)
+{
+    Q_UNUSED(error)
+    emit event_waitInput();
+}
Binary file homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en.ts	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message id="txt_homescreen_opt_switch_language">
+    <comment>Language switch</comment>        
+    <source>Switch language</source>
+    <translation>Switch language (en_GB)</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>Homescreen_01</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>Ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
Binary file homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en_us.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en_us.ts	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_US" sourcelanguage="en_GB">
+<context>
+<message id="txt_homescreen_opt_switch_language">
+    <comment>Language switch</comment>        
+    <source>Switch language</source>
+    <translation>Switch language (en_US)</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>Homescreen_01</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>Ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
Binary file homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_fi.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_fi.ts	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="fi" sourcelanguage="en_GB">
+<context>
+<message id="txt_homescreen_opt_switch_language">
+    <comment>Language switch</comment>        
+    <source>Switch language</source>
+    <translation>Vaihda kielt&#228;</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>Homescreen_01</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>Ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/hsmenuworkerstateplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/hsmenuworkerstateplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = lib
+CONFIG += plugin hb mobility
+MOBILITY = serviceframework
+
+PLUGIN_SUBDIR = /hsresources/plugins/stateplugins
+
+include(../../common.pri)
+
+LIBS += -lhsdomainmodel \
+        -lhsmenuserviceprovider \
+        -lhsutils \
+        -lcaclient
+
+DEPENDPATH += ./inc \
+    ./src
+INCLUDEPATH += ./inc \
+    ../../serviceproviders\hsmenuserviceprovider\inc \
+    ../../hsutils/inc \
+    ../../hsdomainmodel/inc
+
+symbian: {
+    TARGET.UID3 = 0x20022F99
+
+nft: {
+    LIBS += -lhal
+}
+}
+
+include(hsmenuworkerstateplugin.pri)
+
+RESOURCES = hsmenuworkerstateplugin.qrc
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/hsmenuworkerstateplugin.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/xml" >
+        <file alias="hsmenuworkerstateplugin.docml">resource/hsmenuworkerstateplugin.docml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddappstocollectionstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,229 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 ADDAPPSTOCOLLECTIONSTATE_H
+#define ADDAPPSTOCOLLECTIONSTATE_H
+
+#include <QState>
+#include <QVariant>
+#include <hsmenuservice.h>
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class QStandardItemModel;
+class HsAppsCheckList;
+
+/**
+ * @ingroup group_hsmenustateplugin
+ * @brief Application Library State.
+ *
+ * State responsible for adding new applications to collections.
+ *
+ * @see StateMachine
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsAddAppsToCollectionState: public QState
+{
+    Q_OBJECT
+
+    // Friend classes
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Types of collection's related actions.
+     */
+    enum CollectionActionType {
+        // No action
+        NoActionType,
+        // Adding a specific application to an existing collection via item specific menu
+        ViaItemSpecificMenuType = 1000,
+        // Add one/many applications to a new/an existing collection via the All view
+        ViaAllViewOptionMenuType,
+        // Adding a new collection via the Collections view
+        ViaAllCollectionsViewType,
+        // Add items to a collection via the collection's view options meu
+        ViaCollectionsViewOptionsMenuType,
+        // Add a specific item to a collection via collection specific menu
+        ViaCollectionSpecificMenuType
+    };
+
+    HsAddAppsToCollectionState(QState *parent = 0);
+    virtual ~HsAddAppsToCollectionState();
+
+signals:
+
+    /**
+     * Signal emitted when collection name is selected.
+     *
+     * @since S60 ?S60_version.
+     * @param collectionName name of collection.
+     */
+    void transitToSaveState(const QString &collectionName);
+
+    /**
+     * Signal emitted when collection name is selected - version to trigger
+     * transition to mAppCheckListState.
+     *
+     * @since S60 ?S60_version.
+     * @param collectionName name of collection.
+     */
+    void transitToAppsCheckListState(const QString &collectionName);
+
+    /**
+     * Signal emitted when collection id is selected.
+     *
+     * @since S60 ?S60_version.
+     * @param collectionId id of collection.
+     */
+    void transitToSaveState(int collectionId);
+
+    /**
+     * Signal emitted when collection id is selected - version to trigger
+     * transition to mAppCheckListState.
+     *
+     * @since S60 ?S60_version.
+     * @param collectionId id of collection.
+     */
+    void transitToAppsCheckListState(int collectionId);
+
+    /**
+     * Signal emitted when user selects creating new collection.
+     *
+     * @since S60 ?S60_version.
+     */
+    void transitToNewCollectionState();
+
+    /**
+     * Signal emitted when applications are selected.
+     *
+     * @param appList application list.
+     * @since S60 ?S60_version.
+     */
+    void transitToSaveState(const QList<int> &appList);
+
+    /**
+     * Signal emitted when user selects cancel.
+     *
+     * @since S60 ?S60_version.
+     */
+    void transitToFinalState();
+
+protected:
+
+    void onEntry(QEvent *event);
+
+    void showMessageAppsAdded(int id);
+
+protected slots:
+
+    void setCollectionName(const QString &collectionName);
+
+    void setCollectionId(int collectionId);
+
+    void setAppList(const QList<int> &appList);
+
+    void save();
+
+    void cleanData();
+
+    void selectApplicationsDone(const QList<int> &appList);
+
+private slots:
+
+    void stateExited();
+
+    void newCollection();
+
+    void selectCollection();
+
+    void appsCheckListState();
+
+private:
+
+    void construct();
+
+    void createStates();
+
+private:
+
+    /**
+     * Collection name.
+     */
+    QString mCollectionName;
+
+    /**
+     * Collection id.
+     */
+    int mCollectionId;
+
+    /**
+     * Applications list.
+     */
+    QList<int> mAppList;
+
+    /**
+     * Boll indicating need of confirmation note after saving in content arsenal.
+     */
+    bool mShowConfirmation;
+
+    /**
+     * Initial state.
+     */
+    QState *mInitialState;
+
+    /**
+     * Select collection state.
+     */
+    QState *mSelectCollectionState;
+
+    /**
+     * Collection name state.
+     */
+    QState *mNewCollectionState;
+
+    /**
+     * Collection name state.
+     */
+    QState *mAppsCheckListState;
+
+    /**
+     * Collection action type.
+     */
+    CollectionActionType mActionType;
+
+    /**
+     * Applications sort order.
+     */
+    HsSortAttribute mApplicationsSortAttribute;
+
+    /**
+     * Collections sort order.
+     */
+    HsSortAttribute mCollectionsSortAttribute;
+
+    /**
+     * Applications check list.
+     */
+    HsAppsCheckList *mAppsCheckList;
+
+};
+
+#endif /* ADDAPPSTOCOLLECTIONSTATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddtohomescreenstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Menu Application Library state.
+ *
+*/
+
+
+#ifndef HSADDSHORTCUTSTATE_H
+#define HSADDSHORTCUTSTATE_H
+
+#include <hsmenubasestate.h>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+
+
+/**
+ * @ingroup group_hsmenustateplugin
+ * @brief Application Library State.
+ *
+ * Parent state for Application Library functionality (browsing applications and collections)
+ *
+ * @see StateMachine
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsAddToHomeScreenState: public  HsMenuBaseState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param parent Owner.
+     */
+    HsAddToHomeScreenState(QState *parent = 0);
+
+    /**
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    virtual ~HsAddToHomeScreenState();
+
+private slots:
+
+    /**
+     * Inherited from HsMenuBaseState.
+     *
+     * @since S60 ?S60_version.
+     */
+    void onEntry(QEvent *event);
+
+private:
+
+    void showMessageWidgetCorrupted(int itemId);
+
+    void addWidget(HsContentService &service, const QString &library,
+                   const QString &uri, int entryId);
+
+    void addShortcut(HsContentService &contentService, int entryId);
+
+    void logActionResult(QString operationName, int entryId,
+                         bool operationSucceded);
+
+
+    // keep path in memory so it wont
+    QString mLibraryPath;
+
+};
+
+#endif //HSADDSHORTCUTSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsappschecklist.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+ *
+ */
+
+#ifndef APPSCHECKLIST_H
+#define APPSCHECKLIST_H
+
+#include <QModelIndexList>
+#include <hsmenuservice.h>
+#include "hbmainwindow.h"
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+//forward declarations
+class HbView;
+class HbAction;
+class HbListView;
+class QStandardItemModel;
+class HsMenuItemModel;
+
+class HsAppsCheckList: public QObject
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    HsAppsCheckList();
+
+    virtual ~HsAppsCheckList();
+
+    void cleanUp();
+
+    void setSortOrder(HsSortAttribute sortAttribute);
+
+    void showAppsCheckboxList(HsSortAttribute sortAttribute);
+
+signals:
+
+    void commit(const QList<int> &appList);
+
+protected slots:
+
+    /**
+     * Slot connected trrigger action of secondary soft key of check list box.
+     * It is called when done button is selected.
+     *
+     * @since S60 ?S60_version.
+     */
+    void selectApplicationsDone();
+
+private:
+
+    /**
+     * Construct contrlos.
+     */
+    void constructControls();
+
+    /**
+     * Returns pointer to tha main window.
+     *
+     * @since S60 ?S60_version.
+     * @return Pointer to the main window.
+     */
+    HbMainWindow *mainWindow() const;
+
+    /**
+     * Returns list with selected items ids.
+     *
+     * @param modelIndexList list with selected model indexes.
+     * @return list with items ids.
+     */
+    QList<int> getSortedItemsList(const QModelIndexList &modelIndexList);
+
+private:
+
+    /**
+     * View. Owned.
+     */
+    HbView *mView;
+
+    /**
+     * Action back. Owned.
+     */
+    HbAction *mActionConfirm;
+
+    /**
+     * List view. Owned.
+     */
+    HbListView *mListView;
+
+    /**
+     * Standard Item Model for the List.
+     * Own.
+     */
+    HsMenuItemModel *mModel;
+
+    /**
+     * Sort order for applications.
+     */
+    HsSortAttribute mSortAttribute;
+
+};
+
+#endif /* APPSCHECKLIST_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsarrangestate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 ARRANGE_H
+#define ARRANGE_H
+
+#include <QState>
+#include <QVariant>
+#include <hsmenuservice.h>
+#include <QAbstractItemModel>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HbListWidget;
+class HsMenuItemModel;
+class HbDialog;
+
+class HsArrangeState: public QState
+{
+    Q_OBJECT
+
+    // Friend classes
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    HsArrangeState(QState *parent = 0);
+
+    virtual ~HsArrangeState();
+
+protected:
+
+    /**
+     * Derived from QState.
+     * Method invoked when a state is entered.
+     * @param event an event causing the entrance the state.
+     *
+     * @since S60 ?S60_version.
+     */
+    void onEntry(QEvent *event);
+
+    /**
+     * Slot connected to saving action of state.
+     * It is called when new application are addend to collection.
+     *
+     * @since S60 ?S60_version.
+     * @param id Id of collection to which applications were added.
+     */
+    //    void showMessageAppsAdded(int id);
+
+private slots:
+
+    /**
+     * Slot invoked when a state is exited.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateExited();
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+
+    /*
+     * Fulfills collection list.
+     */
+    void fulfillEntriesList();
+
+    /**
+     * Appends new order of items to ids list.
+     */
+    void getArrangedEntriesIds();
+
+    /**
+     * Saves data in content arsenal(selected applications in collection).
+     *
+     * @since S60 ?S60_version.
+     */
+    void save();
+
+private:
+
+    /**
+     * Dialog consists of collection's entries.
+     */
+    HbDialog *mDialog;
+
+    /**
+     * Entries list collected from DB.
+     */
+    HbListWidget *mEntriesList;
+
+    /**
+     * Collection name.W
+     */
+    HsMenuItemModel *mItemModel;
+
+    /**
+     * Item id visible on top.
+     */
+    int mTopItemId;
+
+    /*
+     * ModelIndex visible on top.
+     */
+    QModelIndex mTopModelIndex;
+
+    /**
+     * Collection list.
+     */
+    QList<int> mCollIdList;
+
+    /**
+     * Collection list.
+     */
+    QList<int> mArrangedCollIdList;
+
+};
+
+#endif /* ARRANGE_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hscollectionnamedialog.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 HS_INPUT_DIALOG_H
+#define HS_INPUT_DIALOG_H
+
+#include <hbinputdialog.h>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsCollectionNameDialog: public HbInputDialog
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    HsCollectionNameDialog(const int &itemId = 0);
+
+    virtual ~HsCollectionNameDialog();
+
+    HbAction *exec();
+
+    QString newName(const QString &name, bool addLastName = false);
+
+private:
+
+    /**
+     * Connects edit line signals to slots.
+     */
+    void makeConnect();
+
+    /**
+     * Disconnects edit line signals from slots.
+     */
+    void makeDisconnect();
+
+private slots:
+
+    /**
+     * This slot is received whenever the text changes.
+     * The text argument is the new text.
+     * This slot is also received when the text is
+     *  changed programmatically,
+     * for example, by calling setText().
+     */
+    void onTextChanged(const QString &text);
+
+    void onContentsChanged();
+
+private:
+
+    /*
+     * Collections names list from data model.
+     */
+    QStringList mCollectionsNames;
+
+    /*
+     * Last found collection name.
+     */
+    QString mLastCollectionName;
+
+};
+
+#endif /* HS_INPUT_DIALOG_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hscollectionnamestate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 COLLECTIONANAMESTATE_H
+#define COLLECTIONANAMESTATE_H
+
+#include <QState>
+#include <QTextCursor>
+
+#include "hsaddappstocollectionstate.h"
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsShortcutService;
+
+class HsCollectionNameState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    HsCollectionNameState(QState *parent = 0);
+
+    virtual ~HsCollectionNameState();
+
+signals:
+
+    void commit(const QString &collectionName);
+
+    void commitCheckList(const QString &collectionName);
+
+    void cancel();
+
+protected:
+
+    void onEntry(QEvent *event);
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+
+};
+
+#endif /* COLLECTIONANAMESTATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hscollectionslistdialog.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+ *
+ */
+
+#ifndef HS_LIST_DIALOG_H
+#define HS_LIST_DIALOG_H
+
+#include <hblistdialog.h>
+#include <hsmenuservice.h>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+class QStandardItemModel;
+
+class HsCollectionsListDialog: public HbListDialog
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    HsCollectionsListDialog(HsSortAttribute sortOrder,
+                            int collectionId = 0);
+
+    virtual ~HsCollectionsListDialog();
+
+    HbAction *exec();
+
+    int getItemId();
+
+private:
+
+    /**
+     * Connects edit line signals to slots.
+     */
+    void makeConnect();
+
+    /**
+     * Disconnects edit line signals from slots.
+     */
+    void makeDisconnect();
+
+    /**
+     * Creates standard item model.
+     *
+     * @since S60 ?S60_version.
+     * @param sortOrder sort order.
+     * @param collectionId id of collection to remove from model.
+     * @return QStandardItemModel - caller takes ownership.
+     */
+    QStandardItemModel *standartItemModel(HsSortAttribute sortOrder,
+                                          int collectionId);
+
+    /**
+     * Inserts "new collection" item into model.
+     *
+     * @since S60 ?S60_version.
+     * @param model a model.
+     */
+    void insertNewCollectionItem(QStandardItemModel *model);
+
+private:
+
+    /**
+     * Model
+     */
+    QStandardItemModel *mModel;
+
+    /**
+     * Selected item id
+     */
+    int mItemId;
+};
+
+#endif /* HS_LIST_DIALOG_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsdeletecollectionitemstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 HSDELETECOLLECTIONITEMSTATE_H
+#define HSDELETECOLLECTIONITEMSTATE_H
+
+#include <QState>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsShortcutService;
+class HsMenuService;
+
+class HsDeleteCollectionItemState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    HsDeleteCollectionItemState(QState *parent = 0);
+
+    virtual ~HsDeleteCollectionItemState();
+
+protected:
+
+    void onEntry(QEvent *event);
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+
+};
+
+#endif //HSDELETECOLLECTIONITEMSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsdeletecollectionstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 HSDELETECOLLECTIONSTATE_H
+#define HSDELETECOLLECTIONSTATE_H
+
+#include <QState>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsShortcutService;
+class HsMenuService;
+
+class HsDeleteCollectionState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    HsDeleteCollectionState(QState *parent = 0);
+    virtual ~HsDeleteCollectionState();
+
+protected:
+    void onEntry(QEvent *event);
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+
+    /**
+     * Convenience method returning the shortcut service.
+     *
+     * @since S60 ?S60_version.
+     * @return Shortcut Service.
+     */
+    HsShortcutService *shortcutService() const;
+
+};
+
+#endif //HSDELETECOLLECTIONSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenubasestate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu Base state
+ *
+ */
+
+#ifndef HSMENUBASESTATE_H
+#define HSMENUBASESTATE_H
+
+#include <qstate.h>
+#include <QVariant>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsShortcutService;
+class HsContentService;
+
+/**
+ * @ingroup group_hsmenustateplugin
+ * @brief Menu Base State
+ *
+ * Menu Base state is the base class for states used in Menu.
+ * It provides basic functionality that makes implemenatation state easier.
+ * Derived implementation can request specific service and access it using convience function.
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsMenuBaseState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param objectName object name, used for debug purpose
+     * @param parent Owner.
+     */
+    HsMenuBaseState(const QString &objectName, QState *parent = 0);
+
+    /**
+
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    virtual ~HsMenuBaseState();
+
+protected:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     * @param objectName object name, used for debug purpose
+     */
+    void construct(const QString &objectName);
+
+    /**
+     * Request for services
+     *
+     * notice that services are appended to the list,
+     * so this fuction can be called more than once.
+     * @since S60 ?S60_version.
+     * @param services list of requested services
+     * this method must be called during construction phased of derived class
+     */
+    void requestServices(const QVariantList &services);
+
+    /**
+     * Convenience method that request single service.
+     *
+     * @param service service to be requested.
+     * @see requestServices
+     */
+    void requestService(const QVariant &service);
+
+    /**
+     * Convenience method that returns the shortcut serviceif was requested
+     *
+     * @since S60 ?S60_version.
+     * @return Shortcut service if exists.
+     */
+    HsShortcutService *shortcutService() const;
+
+    /**
+     * Convenient method that returns the content serviceif was requested
+     *
+     * @since S60 ?S60_version.
+     * @return Content service if exists.
+     */
+    HsContentService *contentService() const;
+
+private:
+    /**
+     * Function return value for specified property and
+     * if it is not valid add warning message on console.
+     *
+     * @since S60 ?S60_version.
+     * @param propertyName Property name.
+     * @return Property after validation.
+     */
+    QVariant propertyWithChecking(const char *propertyName) const;
+
+
+};
+
+#endif //HSMENUBASESTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenustates_global.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 HSMENUSTATES_GLOBAL_H
+#define HSMENUSTATES_GLOBAL_H
+
+#include <QDebug>
+#include <QtGlobal>
+
+#ifndef MENUSTATES_UNITTEST
+#define HS_STATES_TEST_CLASS(className)
+#else
+#define HS_STATES_TEST_CLASS(className) class className;
+#endif
+
+#ifndef MENUSTATES_UNITTEST
+#define HS_STATES_TEST_FRIEND_CLASS(className)
+#else
+#define HS_STATES_TEST_FRIEND_CLASS(className) friend class className;
+#endif
+
+static const char *const HS_MENU_WORKER_STATE_PROVIDER_LAYOUT =
+    ":/xml/hsmenuworkerstateplugin.docml";
+
+/*!
+ To enable logging of function entry and exit use the following flag for qmake:
+ -config nft
+ To include in logs extra information about RAM and heap usage, define an additional constant e.g. in ProductVariant.hrh:
+ #define NFT_RAM
+ */
+
+#ifdef NFT
+#ifdef Q_OS_SYMBIAN
+#include <hal.h>
+#include <e32std.h>
+#endif
+#endif
+
+#ifdef NFT
+
+#define HSMENUTEST(aText) qDebug() << QString(aText)
+
+#ifdef Q_OS_SYMBIAN
+#ifdef NFT_RAM
+#define HSMENUTEST_FREERAM_ENTRY(function) \
+    TInt HSMENUTEST_ENTRY_RAM(0); \
+    TInt HSMENUTEST_ENTRY_HEAP(0); \
+    TInt HSMENUTEST_ENTRY_HEAP_SIZE(0); \
+    { \
+        TInt allRAM(0); \
+        HAL::Get(HAL::EMemoryRAM, allRAM); \
+        HAL::Get(HAL::EMemoryRAMFree, HSMENUTEST_ENTRY_RAM); \
+        RHeap &heap = User::Heap(); \
+        TInt biggestBlock(0); \
+        HSMENUTEST_ENTRY_HEAP = heap.Available(biggestBlock); \
+        HSMENUTEST_ENTRY_HEAP_SIZE = heap.Size(); \
+        qDebug("(nft) " function " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \
+               HSMENUTEST_ENTRY_RAM >> 10, HSMENUTEST_ENTRY_HEAP_SIZE >> 10, \
+               HSMENUTEST_ENTRY_HEAP >> 10); \
+    }
+
+#define HSMENUTEST_FREERAM_EXIT(function) \
+    { \
+        TInt allRAM(0); \
+        TInt freeRAM(0); \
+        HAL::Get(HAL::EMemoryRAM, allRAM); \
+        HAL::Get(HAL::EMemoryRAMFree, freeRAM); \
+        RHeap &heap = User::Heap(); \
+        TInt biggestBlock(0); \
+        TInt heapFree = heap.Available(biggestBlock); \
+        TInt heapSize = heap.Size(); \
+        qDebug("(nft) " function " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \
+               freeRAM >> 10, heapSize >> 10, heapFree >> 10); \
+        qDebug("(nft) " function " - Memory (kB) - RAM diff: %d, Heap size diff: %d, Free heap diff: %d", \
+               (freeRAM-HSMENUTEST_ENTRY_RAM) >> 10, (heapSize-HSMENUTEST_ENTRY_HEAP_SIZE) >> 10, \
+               (heapFree-HSMENUTEST_ENTRY_HEAP) >> 10); \
+    }
+
+#else
+
+#define HSMENUTEST_FREERAM_ENTRY(function)
+#define HSMENUTEST_FREERAM_EXIT(function)
+
+#endif
+
+#define HSMENUTESTTIME_ENTRY(function) \
+    TInt64 HSMENUTEST_ENTRY_TIME(0); \
+    { \
+        TTime t; \
+        t.UniversalTime(); \
+        qDebug("\n" function "      entry:%20lld", t.Int64()); \
+        HSMENUTEST_ENTRY_TIME = t.Int64(); \
+    }
+
+#define HSMENUTESTTIME_EXIT(function) { \
+        TTime t; \
+        t.UniversalTime(); \
+        qDebug("\n" function "      entry:%20lld\n" function " difference:%20lld", t.Int64(), \
+               t.Int64()-HSMENUTEST_ENTRY_TIME); \
+    }
+
+#define HSMENUTEST_FUNC_ENTRY(function)   HSMENUTEST_FREERAM_ENTRY(function) \
+    HSMENUTESTTIME_ENTRY(function)
+#define HSMENUTEST_FUNC_EXIT(function)    HSMENUTESTTIME_EXIT(function) \
+    HSMENUTEST_FREERAM_EXIT(function)
+
+#else //Q_OS_SYMBIAN
+#define HSMENUTEST_FUNC_ENTRY(function)   qDebug()<< function << " entry";
+#define HSMENUTEST_FUNC_EXIT(function)    qDebug()<< function << " exit";
+#endif //Q_OS_SYMBIAN
+#else //NFT
+#define HSMENUTEST_FUNC_ENTRY(function)
+#define HSMENUTEST_FUNC_EXIT(function)
+#endif //NFT
+
+#endif //HSMENUSTATES_GLOBAL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenuworkerstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 HSMENUWORKERSTATE_H
+#define HSMENUWORKERSTATE_H
+
+#include <QObject>
+#include <QState>
+#include <QStateMachine>
+#include <hsmenuevent.h>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsMenuWorkerState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param parent Owner.
+     */
+    HsMenuWorkerState(QState *parent = 0);
+
+    /**
+
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    virtual ~HsMenuWorkerState();
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+
+    /**
+     * Template method for constructing child states.
+     *
+     * @since S60 ?S60_version.
+     * @param operation Operation type triggering transition to the
+     * newely created state.
+     * @return newely created state.
+     */
+    template<class T>
+    T *createChildState(HsMenuEvent::OperationType operation);
+
+private:
+
+    /**
+     * Initial state.
+     * Own.
+     */
+    QState *mInitialState;
+
+};
+
+#endif //HSMenuWorkerState_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenuworkerstateplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Menu state plugin.
+ *
+ */
+
+
+#ifndef HSMENUWORKERSTATEPLUGIN_H
+#define HSMENUWORKERSTATEPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class HsMenuWorkerStatePlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+};
+
+#endif //HSMENUWORKERSTATEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hspreviewhswidgetstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Menu Application Library state.
+*
+*/
+
+
+#ifndef HSPREVIEWHSWIDGETSTATE_H
+#define HSPREVIEWHSWIDGETSTATE_H
+
+#include <hsmenubasestate.h>
+
+#include "hsmenustates_global.h"
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HbDialog;
+class HsWidgetHost;
+class CaNotifier;
+
+
+/**
+ * @ingroup group_hsmenustateprovider
+ * @brief Application Library State.
+ *
+ * Parent state for Application Library functionality (browsing applications and collections)
+ *
+ * @see StateMachine
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsPreviewHSWidgetState : public HsMenuBaseState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param parent Owner.
+     */
+    HsPreviewHSWidgetState(QState *parent = 0);
+
+    /**
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    virtual ~HsPreviewHSWidgetState();
+
+private slots:
+
+    /**
+     * Inherited from HsMenuBaseState.
+     *
+     * @since S60 ?S60_version.
+     */
+    void onEntry(QEvent *event);
+
+    /**
+     * Slot invoked when a state is exited.
+     *
+     * @since S60 ?S60_version.
+     */
+    void stateExited();
+
+    /**
+     * Memory card removed.
+     */
+    void memoryCardRemoved();
+
+private:
+
+    /**
+     * Show message widget corrupted.
+     *
+     * @param itemId Widget id.
+     */
+    void showMessageWidgetCorrupted(int itemId);
+
+    /**
+     * Subscribe for memory card remove.
+     *
+     * @param entryId Widget id.
+     */
+    void subscribeForMemoryCardRemove(int entryId);
+
+private:
+
+    HbDialog *mPopupDialog;
+
+    CaNotifier *mNotifier;
+
+};
+
+
+
+#endif //HSPREVIEWHSWIDGETSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/resource/hsmenuworkerstateplugin.s60xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsmenuworkerstateplugin</name>
+    <filepath>z:/hsresources/plugins/stateplugins/hsmenuworkerstateplugin.qtplugin</filepath>
+    <description></description>
+    <interface>
+        <name>com.nokia.homescreen.state.HsMenuWorkerState</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/resource/hsmenuworkerstateplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsmenuworkerstateplugin</name>
+    <filepath>hsmenuworkerstateplugin</filepath>
+    <description></description>
+    <interface>
+        <name>com.nokia.homescreen.state.HsMenuWorkerState</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddappstocollectionstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,458 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <qfinalstate.h>
+#include <QDebug>
+#include <hsmenuservice.h>
+#include <hbnotificationdialog.h>
+#include <QAbstractTransition>
+
+#include "hsaddappstocollectionstate.h"
+#include "hsmenuevent.h"
+#include "hscollectionnamedialog.h"
+#include "hscollectionslistdialog.h"
+#include "hsappschecklist.h"
+
+/*!
+ \class HsAddAppsToCollectionState
+ \ingroup group_hsmenuworkerstateplugin
+ \brief Manages adding to homescreen state
+ */
+
+/*!
+ \fn void transitToSaveState(const QString &collectionName);
+ Signal emitted when collection name is selected.
+ \param collectionName name of collection.
+ */
+
+/*!
+ \fn void transitToAppsCheckListState(const QString &collectionName);
+ Signal emitted when collection name is selected - version to trigger
+ transition to mAppCheckListState.
+ \param collectionName name of collection.
+ */
+
+/*!
+ \fn void void transitToSaveState(int collectionId);
+ Signal emitted when collection id is selected.
+ \param collectionId id of collection.
+ */
+
+/*!
+ \fn void transitToAppsCheckListState(int collectionId);
+ Signal emitted when collection name is selected - version to trigger
+ transition to mAppCheckListState.
+ \param collectionId id of collection.
+ */
+
+/*!
+ \fn void transitToNewCollectionState();
+ Signal emitted when user selects creating new collection.
+ */
+
+/*!
+ \fn void transitToSaveState(const QList<int> &appList);
+ Signal emitted when applications are selected.
+ \param appList application list.
+ */
+
+/*!
+ \fn void transitToFinalState();
+ Signal emitted when user selects cancel.
+ \param collectionName name of collection.
+ */
+
+/*!
+ Constructor.
+ \return \a true on success, \a false otherwise.
+ \param parent Owner.
+ */
+HsAddAppsToCollectionState::HsAddAppsToCollectionState(QState *parent) :
+    QState(parent), mCollectionName(0), mCollectionId(0), mAppList(),
+    mShowConfirmation(0), mInitialState(0), mSelectCollectionState(0),
+    mNewCollectionState(0), mAppsCheckListState(0), mActionType(
+        NoActionType), mApplicationsSortAttribute(NoHsSortAttribute),
+    mCollectionsSortAttribute(NoHsSortAttribute), mAppsCheckList(0)
+{
+    construct();
+}
+
+/*!
+ Destructor.
+
+ */
+HsAddAppsToCollectionState::~HsAddAppsToCollectionState()
+{
+    delete mAppsCheckList;
+}
+
+/*!
+ Constructor part.
+ */
+void HsAddAppsToCollectionState::construct()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::construct");
+    setObjectName("homescreen.nokia.com/state/addappstocollectionstate");
+    createStates();
+    connect(this, SIGNAL(exited()),SLOT(stateExited()));
+
+    mAppsCheckList = new HsAppsCheckList();
+    connect(mAppsCheckList, SIGNAL(commit(QList<int>)),
+            SLOT(selectApplicationsDone(QList<int>)));
+
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::construct");
+}
+
+/*!
+ Creates behavioural model i.e states
+ */
+void HsAddAppsToCollectionState::createStates()
+{
+    //child states
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::createStates");
+
+    mInitialState = new QState(this);
+    QState *saveState = new QState(this);
+    QFinalState *finalState = new QFinalState(this);
+
+    mSelectCollectionState = new QState(this);
+    mNewCollectionState = new QState(this);
+    mAppsCheckListState = new QState(this);
+
+    setInitialState(mInitialState);
+    connect(saveState, SIGNAL(entered()),SLOT(save()));
+    connect(finalState, SIGNAL(entered()),SLOT(cleanData()));
+    connect(mNewCollectionState, SIGNAL(entered()),SLOT(newCollection()));
+    connect(mSelectCollectionState, SIGNAL(entered()),
+            SLOT(selectCollection()));
+    connect(mAppsCheckListState, SIGNAL(entered()),
+            SLOT(appsCheckListState()));
+
+    //child states will gather needed data in parent sate
+    //with signals and slots communication
+    connect(this, SIGNAL(transitToSaveState(int)),
+            SLOT(setCollectionId(int)));
+    connect(this, SIGNAL(transitToSaveState(QString)),
+            SLOT(setCollectionName(QString)));
+    connect(this, SIGNAL(transitToAppsCheckListState(int)),
+            SLOT(setCollectionId(int)));
+    connect(this, SIGNAL(transitToAppsCheckListState(QString)),
+            SLOT(setCollectionName(QString)));
+    connect(this, SIGNAL(transitToSaveState(QList<int>)),
+            SLOT(setAppList(QList<int>)));
+
+    // Add a specific application to an existing collection
+    // via item specific menu.
+    // Add a specific item to a collection via collection specific menu.
+    // Adding a new collection via the Collections view.
+    mSelectCollectionState->addTransition(this,
+                                          SIGNAL(transitToNewCollectionState()), mNewCollectionState);
+    mSelectCollectionState->addTransition(this,
+                                          SIGNAL(transitToSaveState(int)), saveState);
+    mNewCollectionState->addTransition(this,
+                                       SIGNAL(transitToSaveState(QString)), saveState);
+
+    // Add one/many applications to an existing/a new collection
+    // via the All view options menu.
+    // Add items to a collection via the collection's view options menu.
+    mSelectCollectionState->addTransition(this,
+                                          SIGNAL(transitToAppsCheckListState(int)), mAppsCheckListState);
+    mNewCollectionState->addTransition(this,
+                                       SIGNAL(transitToAppsCheckListState(QString)), mAppsCheckListState);
+    mAppsCheckListState->addTransition(this,
+                                       SIGNAL(transitToSaveState(QList<int>)), saveState);
+
+    mSelectCollectionState->addTransition(this,
+                                          SIGNAL(transitToFinalState()),finalState);
+    mNewCollectionState->addTransition(this,
+                                       SIGNAL(transitToFinalState()), finalState);
+    mAppsCheckListState->addTransition(this,
+                                       SIGNAL(transitToFinalState()), finalState);
+
+    //transition to final state after save
+    saveState->addTransition(finalState);
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::createStates");
+
+}
+
+/*!
+ Saves data in content arsenal(selected applications in collection).
+ */
+void HsAddAppsToCollectionState::save()
+{
+    qDebug("AddAppsToCollectionState::save() - slot");
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::save");
+    //Adds new collection.
+    if (!mCollectionName.isEmpty()) {
+        mCollectionId = HsMenuService::createCollection(mCollectionName);
+    }
+    //Adds applications to colection.
+    if ((mCollectionId > 0) && mAppList.count()) {
+        HsMenuService::addApplicationsToCollection(mAppList, mCollectionId);
+        if (mShowConfirmation) {
+            showMessageAppsAdded(mCollectionId);
+        }
+    }
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::save");
+}
+
+/*!
+ Cleans data after cancel() signal.
+ */
+void HsAddAppsToCollectionState::cleanData()
+{
+    qDebug("AddAppsToCollectionState::cleanData() - slot");
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::cleanData");
+    mCollectionId = 0;
+    mAppList.clear();
+    mCollectionName.clear();
+    mShowConfirmation = false;
+    mActionType = NoActionType;
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::cleanData");
+}
+
+/*!
+ Derived from QState.
+ Method invoked when a state is entered.
+ \param event an event causing the entrance the state.
+ */
+void HsAddAppsToCollectionState::onEntry(QEvent *event)
+{
+    qDebug("HsAddAppsToCollectionState::onEntry()");
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::onEntry");
+    QState::onEntry(event);
+    HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+    QVariantMap data = menuEvent->data();
+
+    mApplicationsSortAttribute = static_cast<HsSortAttribute>(data.value(
+                                     appSortOrderKey()).toInt());
+    mCollectionsSortAttribute = static_cast<HsSortAttribute>(data.value(
+                                    collectionSortOrderKey()).toInt());
+
+    const int itemId = data.value(itemIdKey()).toInt();
+    mCollectionId = data.value(collectionIdKey()).toInt();
+
+    if (itemId && (mCollectionsSortAttribute != NoHsSortAttribute
+                   || mCollectionId)) {
+        //add selected app item form allAppView or collectionView
+        mAppList.append(itemId);
+
+        mInitialState->addTransition(mSelectCollectionState);
+
+        mShowConfirmation = true;
+    } else if (mApplicationsSortAttribute != NoHsSortAttribute
+               && mCollectionsSortAttribute != NoHsSortAttribute) {
+        //add apps from allAppView options menu
+        mActionType = ViaAllViewOptionMenuType;
+
+        mInitialState->addTransition(mSelectCollectionState);
+
+        mShowConfirmation = true;
+    } else if (mCollectionId) {
+        //add apps from collectionView options menu
+        mApplicationsSortAttribute = AscendingNameHsSortAttribute;
+        mInitialState->addTransition(mAppsCheckListState);
+    }
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::onEntry");
+}
+
+/*!
+ Slot invoked when a state is exited.
+ */
+void HsAddAppsToCollectionState::stateExited()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::stateExited");
+    QList<QAbstractTransition *> transitionsList =
+        mInitialState->findChildren<QAbstractTransition *> ();
+    if (transitionsList.count()) {
+        mInitialState->removeTransition(transitionsList[0]);
+    }
+    mAppsCheckList->cleanUp();
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::stateExited");
+    qDebug("AddAppsToCollectionState::stateExited()");
+}
+
+/*!
+ Slot invoked when new collection state is entered..
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsAddAppsToCollectionState::newCollection()
+{
+    qDebug("HsAddAppsToCollectionState::newCollection");
+
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::newCollection");
+    HsCollectionNameDialog editor;
+    HbAction *result = editor.exec();
+    if (result == editor.primaryAction()) {
+        QString newName(editor.newName(editor.value().toString(), true));
+        if (mActionType == ViaAllViewOptionMenuType) {
+            qDebug("HsAddAppsToCollectionState::newCollection() "
+                   "- emit collectionNameSelectedCl(newName)");
+            emit transitToAppsCheckListState(newName);
+        } else {
+            qDebug("HsAddAppsToCollectionState::newCollection() "
+                   "- emit collectionNameSelected(newName)");
+            emit transitToSaveState(newName);
+        }
+    } else {
+        qDebug(
+            "HsAddAppsToCollectionState::newCollection() - emit cancel()");
+        emit transitToFinalState();
+    }
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::newCollection");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+ Slot invoked when select collection state is entered.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsAddAppsToCollectionState::selectCollection()
+{
+    qDebug("HsAddAppsToCollectionState::selectCollection()");
+
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::selectCollection");
+    HsCollectionsListDialog listView(mCollectionsSortAttribute,
+                                     mCollectionId);
+    if (listView.exec() != listView.secondaryAction()) {
+        int itemId = listView.getItemId();
+        if (itemId) {
+            if (mActionType == ViaAllViewOptionMenuType) {
+                qDebug("emit collectionSelectedCl(%d)", itemId);
+                emit transitToAppsCheckListState(itemId);
+            } else {
+                qDebug("emit collectionSelected(%d)", itemId);
+                emit transitToSaveState(itemId);
+            }
+        } else {
+            qDebug("emit createNewCollection()");
+            emit transitToNewCollectionState();
+        }
+    } else {
+        qDebug("emit cancel()");
+        emit transitToFinalState();
+    }
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::selectCollection");
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+/*!
+ Slot connected to saving action of state.
+ It is called when new application are addend to collection.
+ \param id Id of collection to which applications were added.
+ */
+void HsAddAppsToCollectionState::showMessageAppsAdded(int id)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::showMessageAppsAdded");
+    HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+    notificationDialog->setAttribute(Qt::WA_DeleteOnClose);
+    notificationDialog->setTitle(hbTrId(
+                                     "txt_applib_dpopinfo_added_to_collection_1") .arg(
+                                     HsMenuService::getName(id)));
+    notificationDialog->show();
+    mShowConfirmation = false;
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::showMessageAppsAdded");
+}
+
+/*!
+ Slot setting collection name.
+ \param collectionName name of collection.
+ */
+void HsAddAppsToCollectionState::setCollectionName(
+    const QString &collectionName)
+{
+    qDebug() << "AddAppsToCollectionState::setCollectionName("
+             << collectionName << ") - slot";
+
+    mCollectionName = collectionName;
+}
+
+/*!
+ Slot setting collection id..
+ \param collectionId id of collection.
+ */
+void HsAddAppsToCollectionState::setCollectionId(int collectionId)
+{
+    qDebug() << "AddAppsToCollectionState::setCollectionId("
+             << collectionId << ") - slot";
+
+    mCollectionId = collectionId;
+}
+
+/*!
+ Slot sets app list.
+ \param appList list of applications ids.
+ */
+void HsAddAppsToCollectionState::setAppList(const QList<int> &appList)
+{
+    qDebug() << "AddAppsToCollectionState::setAppList(" << appList
+             << ") - slot";
+
+    mAppList = appList;
+}
+
+/*!
+ Slot invoked when apps checklist state is entered.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsAddAppsToCollectionState::appsCheckListState()
+{
+    qDebug("HsAddAppsToCollectionState::appsCheckListState()");
+    HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::appsCheckListState");
+    if (!mAppsCheckList) {
+        mAppsCheckList = new HsAppsCheckList();
+    }
+    mAppsCheckList->setSortOrder(mApplicationsSortAttribute);
+    mAppsCheckList->showAppsCheckboxList(mApplicationsSortAttribute);
+    HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::appsCheckListState");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+/*!
+ Slot connected trrigger action of secondary soft key of check list box.
+ It is called when done button is selected.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsAddAppsToCollectionState::selectApplicationsDone(
+    const QList<int> &appList)
+{
+    if (appList.count()) {
+        qDebug("AppsCheckListState::selectApplicationsDone() "
+               "- emit appsSelected(mAppList)");
+        emit transitToSaveState(appList);
+    } else {
+        qDebug(
+            "AppsCheckListState::selectApplicationsDone() - emit cancel()");
+        emit transitToFinalState();
+    }
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddtohomescreenstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,208 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Menu Application Library state.
+ *
+*/
+
+
+#include <hblabel.h>
+#include <hsiwidgetprovider.h>
+#include <hsshortcutservice.h>
+#include <hscontentservice.h>
+#include <hbmessagebox.h>
+
+#include "hsaddtohomescreenstate.h"
+#include "hsmenuevent.h"
+#include "hsapp_defs.h"
+#include "caservice.h"
+#include "caquery.h"
+#include "hsmenuservice.h"
+
+const char SHORTCUT_WIDGET_URI[] = "hsshortcutwidgetplugin";
+const char SHORTCUT_ID[] = "mcsId";
+
+/*!
+ \class HsAddToHomeScreenState
+ \ingroup group_hsmenustateplugin
+ \brief Application Library State.
+ Parent state for Application Library functionality
+ (browsing applications and collections)
+ */
+
+/*!
+ Constructor
+ \param parent: parent state
+ \retval void
+ */
+HsAddToHomeScreenState::HsAddToHomeScreenState(QState *parent) :
+    HsMenuBaseState("AddToHomeScreenState", parent)
+{
+    requestServices(QList<QVariant> () << SHORTCUT_SERVICE_KEY
+                    << CONTENT_SERVICE_KEY);
+}
+
+/*!
+ Destructor. Empty one.
+ */
+HsAddToHomeScreenState::~HsAddToHomeScreenState()
+{
+}
+
+/*!
+ onEntry method invoked on entering the state
+ Adds a widget or shortcut to the active page of home screen.
+ It reads "data" property which value is a string map.
+ The map can keep either data specific for shortcut (item id)
+ or widget (entry type name, widget library name, widget uri).
+ Depending on the property values it calls method for adding widget
+ or shortcut.
+ \param contentService: service for adding widgets
+ \retval void
+ */
+void HsAddToHomeScreenState::onEntry(QEvent *event)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAddToHomeScreenState::onEntry");
+    HsMenuBaseState::onEntry(event);
+    HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+    QVariantMap data = menuEvent->data();
+
+    const QString entryTypeName = data.value(entryTypeNameKey()).toString();
+
+    const int entryId = data.value(itemIdKey()).toInt();
+
+    if (entryTypeName == widgetTypeName()) {
+        const QString library =
+            data.value(widgetLibraryAttributeName()).toString();
+
+        const QString uri = data.value(widgetUriAttributeName()).toString();
+
+        addWidget(*contentService(), library, uri, entryId);
+        HsMenuService::touch(entryId);
+    } else {
+        addShortcut(*contentService(), entryId);
+    }
+    HSMENUTEST_FUNC_EXIT("HsAddToHomeScreenState::onEntry");
+}
+
+/*!
+ Adds a widget to active page of home screen
+ \param contentService: service for adding widgets
+ \param library: widget library path and file name
+ \param uri: widget uri
+ \param entryId: widget entry id (ignored)
+ \param activePage: active page of home screen
+ \retval void
+ */
+void HsAddToHomeScreenState::addWidget(HsContentService &contentService,
+                                       const QString &library, const QString &uri, int entryId)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAddToHomeScreenState::addWidget");
+    QVariantMap params;
+    params["library"] = library;
+    params["uri"] = uri;
+    bool ok = contentService.createWidget(params);
+    if (!ok) {
+        showMessageWidgetCorrupted(entryId);
+    }
+    logActionResult("Adding widget", entryId, ok);
+    HSMENUTEST_FUNC_EXIT("HsAddToHomeScreenState::addWidget");
+}
+
+/*!
+ Shows message about corrupted widget library. Deletes widget eventually
+ \param itemId entryId of widget (needed to delete it)
+ \retval void
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsAddToHomeScreenState::showMessageWidgetCorrupted(int itemId)
+{
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::showMessageWidgetCorrupted");
+    QString message(hbTrId(
+                        "txt_applib_dialog_file_corrupted_unable_to_use_wi"));
+    if (HbMessageBox::question(message, hbTrId(
+                                   "txt_common_button_ok"), hbTrId("txt_common_button_cancel"))) {
+        HsMenuService::executeAction(itemId, removeActionIdentifier());
+    }
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::showMessageWidgetCorrupted");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+/*!
+ Adds a shortcut to active page of home screen
+ \param shortcutService: service for adding shortcuts
+ \param entryId: menu entry id
+ \param activePage: active page of home screen
+ \retval void
+ */
+void HsAddToHomeScreenState::addShortcut(HsContentService &contentService,
+        int entryId)
+{
+    //ShortcutData item_id;
+    //item_id.mShortcutId = entryId;
+
+    HSMENUTEST_FUNC_ENTRY("HsAddToHomeScreenState::addShortcut");
+    CaQuery query;
+    query.setEntryTypeNames(QStringList(widgetTypeName()));
+    QList<CaEntry *> entries = CaService::instance()->getEntries(query);
+
+    if (mLibraryPath.isEmpty()) {
+        foreach(CaEntry *entry,entries) {
+            QString uri = entry->attribute(widgetUriAttributeName());
+            if (uri == SHORTCUT_WIDGET_URI) {
+                mLibraryPath = entry->attribute(
+                                   widgetLibraryAttributeName());
+                break;
+            }
+        }
+    }
+    if (!mLibraryPath.isEmpty()) {
+        QVariantMap params;
+        params["library"] = mLibraryPath;
+        params["uri"] = SHORTCUT_WIDGET_URI;
+        QVariantMap preferences;
+        preferences[SHORTCUT_ID] = QString::number(entryId);
+        params["preferences"] = preferences;
+        const bool result = contentService.createWidget(params);
+        logActionResult("Adding shortcut", entryId, result);
+    }
+    HSMENUTEST_FUNC_EXIT("HsAddToHomeScreenState::addShortcut");
+}
+
+/*!
+ Provides debug logging of add widget/shortcut action
+ \param operation name: results of which operation is logged
+ \param entryId: menu entry id that was added to home screen
+ \param activePage: active page of home screen
+ \param operationSucceded: true always and only when
+ logged operation succeded
+ \retval void
+ */
+void HsAddToHomeScreenState::logActionResult(QString operationName,
+        int entryId, bool operationSucceded)
+{
+    const QString
+    message =
+        QString("\t%1 %2 item ID: %3, active page index: %4") .arg(
+            operationName) .arg(operationSucceded ? "succeded"
+                                : "failed") .arg(entryId);
+
+    if (operationSucceded) {
+        qDebug() << message;
+    } else {
+        qWarning() << message;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsappschecklist.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,232 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <hbaction.h>
+#include <hbinstance.h>
+#include <hbview.h>
+#include <hblistview.h>
+#include <hbdocumentloader.h>
+#include <hsmenuservice.h>
+#include <hsmenuitemmodel.h>
+
+#include "hsappschecklist.h"
+
+/*!
+ \class HsAppsCheckList
+ \ingroup group_hsmenustateplugin
+ \brief Application Library State.
+ State responsible for selecting a group of applications to be added to
+ a collection.
+ */
+
+/*!
+ \fn void commit(const QList<int> &appList);
+ Signal emitted when applications are selected.
+ \param appList application list.
+ */
+
+/*!
+ Constructor
+ \retval void
+ */
+HsAppsCheckList::HsAppsCheckList() :
+    mView(0), mActionConfirm(0), mListView(0), mModel(0), mSortAttribute(
+        AscendingNameHsSortAttribute)
+{
+}
+
+/*!
+ Destructor
+ */
+HsAppsCheckList::~HsAppsCheckList()
+{
+    cleanUp();
+}
+
+/*!
+ Cleans data
+ \retval void
+ */
+void HsAppsCheckList::cleanUp()
+{
+    //clean up
+    delete mListView;
+    mListView = NULL;
+    delete mActionConfirm;
+    mActionConfirm = NULL;
+    delete mView;
+    mView = NULL;
+    delete mModel;
+    mModel = NULL;
+    mSortAttribute = AscendingNameHsSortAttribute;
+}
+
+/*!
+ Sets sort order for applications.
+ \param sortAttribute sort order.
+ */
+void HsAppsCheckList::setSortOrder(HsSortAttribute sortOrder)
+{
+    mSortAttribute = sortOrder;
+}
+
+/*!
+ Shows check box list with all application.
+ \param sortAttribute order to sort applications.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsAppsCheckList::showAppsCheckboxList(HsSortAttribute sortOrder)
+{
+    HSMENUTEST_FUNC_ENTRY("HsAppsCheckList::showAppsCheckboxList");
+    if (!mModel) {
+        mModel = HsMenuService::getAllApplicationsModel(sortOrder);
+    }
+    // fills model with data
+    // constucts controls such as checklist
+    constructControls();
+
+    // Add mListView to main window
+    HbMainWindow *hbMainWindow = mainWindow();
+
+    // add action done
+    hbMainWindow->addSoftKeyAction(Hb::SecondarySoftKey, mActionConfirm);
+
+    // We need to add the above created view into main window.
+    // We also need to hide the navi pane and turn off switching views.
+    hbMainWindow->setViewSwitchingEnabled(false);
+    hbMainWindow->hideItems(Hb::NaviPaneItem);
+    hbMainWindow->addView(mView);
+    hbMainWindow->setCurrentViewIndex(hbMainWindow->viewCount() - 1);
+    hbMainWindow->show();
+    HSMENUTEST_FUNC_EXIT("HsAppsCheckList::showAppsCheckboxList");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsAppsCheckList::constructControls()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAppsCheckList::constructControls");
+    if (!mActionConfirm) {
+        mActionConfirm = new HbAction(Hb::ConfirmAction, mView);
+        connect(mActionConfirm, SIGNAL(triggered()),SLOT(selectApplicationsDone()));
+    }
+
+    if (!mView) { // it implies that mListView is NULL as well
+
+        bool loadStatusOk = false;
+
+        HbDocumentLoader loader;
+        loader.load(HS_MENU_WORKER_STATE_PROVIDER_LAYOUT, &loadStatusOk);
+
+        Q_ASSERT_X(loadStatusOk,
+                   HS_MENU_WORKER_STATE_PROVIDER_LAYOUT,
+                   "Error while loading docml file.");
+
+        static const QString VIEW_WIDGET_NAME("view");
+        mView
+        = qobject_cast<HbView *> (loader.findWidget(VIEW_WIDGET_NAME));
+
+        mView->setParent(this);
+        // TODO: configure via docml
+        mView->setTitle(hbTrId("txt_applib_title_select_applications"));
+        static const QString LIST_VIEW_WIDGET_NAME("listView");
+        mListView = qobject_cast<HbListView *> (loader.findWidget(
+                LIST_VIEW_WIDGET_NAME));
+
+        mListView->setModel(mModel);
+    }
+    HSMENUTEST_FUNC_EXIT("HsAppsCheckList::constructControls");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsAppsCheckList::selectApplicationsDone()
+{
+    HSMENUTEST_FUNC_ENTRY("HsAppsCheckList::selectApplicationsDone");
+    // Remove mListView from main window and restore previous view.
+    HbMainWindow *hbMainWindow = mainWindow();
+    hbMainWindow->removeView(mView);
+    hbMainWindow->setCurrentViewIndex(hbMainWindow->viewCount()-1);
+    hbMainWindow->showItems(Hb::NaviPaneItem);
+    hbMainWindow->setViewSwitchingEnabled(true);
+    hbMainWindow->removeSoftKeyAction(Hb::SecondarySoftKey, mActionConfirm);
+
+    QItemSelectionModel *itemSelectionModel = mListView->selectionModel();
+    QList<int> itemsList;
+    if (itemSelectionModel) {
+        QModelIndexList modelIndexList =
+            itemSelectionModel->selectedIndexes();
+        itemsList = getSortedItemsList(modelIndexList);
+    }
+    emit commit(itemsList);
+    HSMENUTEST_FUNC_EXIT("HsAppsCheckList::selectApplicationsDone");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+QList<int> HsAppsCheckList::getSortedItemsList(
+    const QModelIndexList &modelIndexList)
+{
+    QMap<QString, int> itemsMap;
+
+    foreach(QModelIndex index, modelIndexList) {
+        int itemId = index.data(CaItemModel::IdRole).toInt();
+        QString itemName(index.data(Qt::DisplayRole).toString());
+        if (itemName.isNull()) {
+            itemName
+            = index.data(Qt::DisplayRole).toList()[0].toString();
+        }
+        itemsMap.insertMulti(itemName.toLower(), itemId);
+    }
+
+    QList<int> list = itemsMap.values();
+    if (mSortAttribute == DescendingNameHsSortAttribute) {
+        QList<int> reversedList;
+        int count = list.count();
+        for (int i = 0; i < count; i++) {
+            reversedList.append(list.takeLast());
+        }
+        list = reversedList;
+    }
+    return list;
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+HbMainWindow *HsAppsCheckList::mainWindow() const
+{
+    return HbInstance::instance()->allMainWindows().value(0);
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsarrangestate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,212 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <QDebug>
+#include <hblistwidget.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hsmenuservice.h>
+#include <hblistwidgetitem.h>
+#include <hbinstance.h>
+
+#include "hsarrangestate.h"
+#include "hsmenuevent.h"
+#include "hsmenuitemmodel.h"
+
+/*!
+ \class HsArrangeState
+ \ingroup group_hsmenustateplugin
+ \brief Application Library State.
+ State responsible for arrange collection's entries.
+ */
+
+/*!
+ Constructor
+ \param parent owner
+ \retval void
+ */
+HsArrangeState::HsArrangeState(QState *parent) :
+    QState(parent), mDialog(0), mEntriesList(0), mItemModel(0)
+{
+    construct();
+}
+
+/*!
+ Destructor
+ \retval void
+ */
+HsArrangeState::~HsArrangeState()
+{
+    if (mEntriesList) {
+        delete mEntriesList;
+    }
+    if (mDialog) {
+        delete mDialog;
+    }
+    if (mItemModel) {
+        delete mItemModel;
+    }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsArrangeState::construct()
+{
+    HSMENUTEST_FUNC_ENTRY("HsArrangeState::construct");
+    setObjectName("homescreen.nokia.com/state/arrangestate");
+    connect(this, SIGNAL(exited()),SLOT(stateExited()));
+    HSMENUTEST_FUNC_EXIT("HsArrangeState::construct");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsArrangeState::save()
+{
+    qDebug("HsArrangeState::save()");
+    HSMENUTEST_FUNC_ENTRY("HsArrangeState::save");
+
+    getArrangedEntriesIds();
+    if (mArrangedCollIdList.count() == mCollIdList.count()) {
+        for (int i(0); i < mArrangedCollIdList.count(); i++) {
+            if (mArrangedCollIdList.at(i) != mCollIdList.at(i)) {
+                HsMenuService::organizeCollection(
+                    HsMenuService::allCollectionsId(), mArrangedCollIdList);
+                break;
+            }
+        }
+    }
+
+    HSMENUTEST_FUNC_EXIT("HsArrangeState::save");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsArrangeState::onEntry(QEvent *event)
+{
+    qDebug("HsArrangeState::onEntry()");
+    HSMENUTEST_FUNC_ENTRY("HsArrangeState::onEntry");
+    QState::onEntry(event);
+    HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+    QVariantMap data = menuEvent->data();
+
+    mTopItemId = data.value(itemIdKey()).toInt();
+
+    mItemModel = HsMenuService::getAllCollectionsModel();
+
+    mEntriesList = new HbListWidget();
+    fulfillEntriesList();
+
+    mEntriesList->scrollTo(mTopModelIndex,
+                           HbAbstractItemView::PositionAtTop);
+    mEntriesList->setArrangeMode(true);
+
+    mDialog = new HbDialog();
+    mDialog->setDismissPolicy(HbPopup::NoDismiss);
+    mDialog->setTimeout(HbPopup::NoTimeout);
+
+    mDialog->setPreferredSize(
+        HbInstance::instance()->allMainWindows().at(0)->size());
+
+    HbLabel *label = new HbLabel(hbTrId("txt_applib_title_arrange"));
+    mDialog->setHeadingWidget(label);
+    mDialog->setContentWidget(mEntriesList);
+
+    mDialog->setPrimaryAction(new HbAction(hbTrId("txt_common_button_ok"),
+                                           mDialog));
+
+    HbAction *result = mDialog->exec();
+    mEntriesList->setArrangeMode(false);
+    if (result == mDialog->primaryAction()) {
+        save();
+    }
+    delete result;
+    result = NULL;
+
+    HSMENUTEST_FUNC_EXIT("HsArrangeState::onEntry");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsArrangeState::stateExited()
+{
+    HSMENUTEST_FUNC_ENTRY("HsArrangeState::stateExited");
+
+    mDialog->setHeadingWidget(0); //delete label
+    mDialog->setContentWidget(0); //delete mEntriesList
+    mEntriesList = NULL;
+    delete mDialog;
+    mDialog = NULL;
+    delete mItemModel;
+    mItemModel = NULL;
+
+    mArrangedCollIdList.clear();
+    mCollIdList.clear();
+
+    HSMENUTEST_FUNC_EXIT("HsArrangeState::stateExited");
+    qDebug("HsArrangeState::stateExited()");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsArrangeState::fulfillEntriesList()
+{
+    qDebug() << "HsArrangeState::fulfillEntriesList";
+
+    mTopModelIndex = QModelIndex();
+    for (int i(0); i < mItemModel->rowCount(); i++) {
+        QModelIndex idx = mItemModel->index(i);
+        HbListWidgetItem *widgetItem = new HbListWidgetItem();
+        int itemId = mItemModel->data(idx, CaItemModel::IdRole).toInt();
+        widgetItem->setData(mItemModel->data(idx, CaItemModel::IdRole),
+                            CaItemModel::IdRole);
+        mCollIdList.append(itemId);
+        widgetItem->setData(mItemModel->data(idx, Qt::DisplayRole),
+                            Qt::DisplayRole);
+        widgetItem->setData(mItemModel->data(idx, Qt::DecorationRole),
+                            Qt::DecorationRole);
+
+        mEntriesList->addItem(widgetItem);
+        if (mTopItemId == itemId) {
+            mEntriesList->indexCount();
+            mEntriesList->setCurrentItem(widgetItem);
+            mTopModelIndex = mEntriesList->currentIndex();
+        }
+    }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsArrangeState::getArrangedEntriesIds()
+{
+    for (int i(0); i < mEntriesList->count(); i++) {
+        HbListWidgetItem *widgetItem = mEntriesList->item(i);
+        QVariant entryId = widgetItem->data(CaItemModel::IdRole);
+        mArrangedCollIdList.append(entryId.toInt());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionnamedialog.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu name collection state
+ *
+ */
+
+#include <hbaction.h>
+#include <hbinputdialog.h>
+#include <hblineedit.h>
+#include <hbvalidator.h>
+#include <hsmenuservice.h>
+#include <QDebug>
+
+#include "hscollectionnamedialog.h"
+
+/*!
+ \class HsCollectionNameDialog
+ \ingroup group_hsmenustateplugin
+ \brief Rename Collection State.
+ Collection name state
+ */
+
+/*!
+ Maximum length if collection name
+ */
+const int qMaxStrLength = 248;
+
+/*!
+ Constructor
+ \param parent owner
+ \retval void
+ */
+HsCollectionNameDialog::HsCollectionNameDialog(const int &itemId)
+{
+    HSMENUTEST_FUNC_ENTRY("HsInputDialog::HsInputDialog");
+    mCollectionsNames = HsMenuService::getCollectionNames();
+    setInputMode(HbInputDialog::TextInput);
+    setPromptText(hbTrId("txt_applib_title_collection_name"));
+    lineEdit()->setMaxLength(qMaxStrLength);
+    if (itemId) {
+        setValue(HsMenuService::getName(itemId));
+        mCollectionsNames.removeOne(value().toString());
+    } else {
+        setValue(hbTrId("txt_applib_dialog_entry_collection"));
+    }
+    HSMENUTEST_FUNC_EXIT("HsInputDialog::HsInputDialog");
+}
+
+/*!
+ Destructor
+ */
+HsCollectionNameDialog::~HsCollectionNameDialog()
+{
+    mCollectionsNames.clear();
+    mLastCollectionName.clear();
+}
+
+/*!
+ Gets new collection's name.
+ \param item_id Item's id.
+ \retval Selected action.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP // Reason: Modal inputdialog exec
+#endif //COVERAGE_MEASUREMENT
+HbAction *HsCollectionNameDialog::exec()
+{
+    HSMENUTEST_FUNC_ENTRY("HsInputDialog::exec");
+    onTextChanged(value().toString());
+    makeConnect();
+
+    HbAction *action = HbInputDialog::exec();
+
+    makeDisconnect();
+    HSMENUTEST_FUNC_EXIT("HsInputDialog::exec");
+    return action;
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP // Reason: Modal inputdialog exec
+#endif //COVERAGE_MEASUREMENT
+/*!
+ Gets new collection's name.
+ \param name name of collection.
+ \param addLastName true
+ if last found name is need to add to validation
+ \retval new collection name.
+ */
+QString HsCollectionNameDialog::newName(const QString &name,
+                                        bool addLastName)
+{
+    HSMENUTEST_FUNC_ENTRY("HsInputDialog::newName");
+    QString newName(name);
+    int numToAppend(1);
+    if (addLastName && mLastCollectionName.length() > 0
+            && !mCollectionsNames.contains(mLastCollectionName)) {
+        mCollectionsNames << mLastCollectionName;
+    }
+    while (mCollectionsNames.contains(newName)) {
+        newName = name;
+        newName.append("(");
+        if (numToAppend < 10) {
+            newName.append("0");
+        }
+        newName.append(QString::number(numToAppend));
+        newName.append(")");
+        numToAppend++;
+        if (!addLastName) {
+            if (mLastCollectionName.length() > 0
+                    && !mCollectionsNames.contains(mLastCollectionName)) {
+                mCollectionsNames << mLastCollectionName;
+            }
+            mCollectionsNames.removeOne(name);
+            mLastCollectionName = name;
+        }
+    }
+    HSMENUTEST_FUNC_EXIT("HsInputDialog::newName");
+    return newName;
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionNameDialog::makeConnect()
+{
+    /*connect(lineEdit(), SIGNAL(textChanged(const QString &text)),
+     SLOT(onTextChanged(const QString &text)));*/
+
+    connect(lineEdit(), SIGNAL(contentsChanged()),
+            SLOT(onContentsChanged()));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionNameDialog::makeDisconnect()
+{
+    /*disconnect(lineEdit(), SIGNAL(textChanged(const QString &text)),
+     this, SLOT(onTextChanged(const QString &text)));*/
+    disconnect(lineEdit(), SIGNAL(contentsChanged()),
+               this, SLOT(onContentsChanged()));
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionNameDialog::onTextChanged(const QString &text)
+{
+    qDebug() << QString("HsInputDialog::onTextChanged( %1 )").arg(text);
+    HSMENUTEST_FUNC_ENTRY("HsInputDialog::onTextChanged");
+    if (text.trimmed() == "") {
+        primaryAction()->setEnabled(false);
+    } else {
+        primaryAction()->setEnabled(true);
+    }
+
+    QString newText = newName(text);
+    if (newText != text) {
+        makeDisconnect();
+        lineEdit()->setText(newText);
+        lineEdit()->setSelection(text.length(), newText.length()
+                                 - text.length());
+        makeConnect();
+    }
+    HSMENUTEST_FUNC_EXIT("HsInputDialog::onTextChanged");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionNameDialog::onContentsChanged()
+{
+    qDebug("HsInputDialog::onContentsChanged()");
+    onTextChanged(value().toString());
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionnamestate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Menu name collection state
+ *
+ */
+
+#include <hbaction.h>
+#include <hblineedit.h>
+#include <hsmenuservice.h>
+
+#include "hscollectionnamestate.h"
+#include "hsmenuevent.h"
+#include "hscollectionnamedialog.h"
+
+/*!
+ \class HsCollectionNameState
+ \ingroup group_hsmenustateplugin
+ \brief Rename Collection State.
+ Collection name state
+ */
+
+/*!
+ \fn void commit(const QString &collectionName);
+ Signal emitted when collection name is given.
+ \param collectionName name of collection.
+ */
+
+/*!
+ \fn void commitCheckList(const QString &collectionName);
+ Signal emitted when collection name is given - version to trigger
+ transition to HsAppsCheckListState.
+ \param collectionName name of collection.
+ */
+
+/*!
+ \fn void cancel();
+ Signal emitted when user selects cancel.
+ */
+
+/*!
+ Constructor
+ \param parent owner
+ \retval void
+ */
+HsCollectionNameState::HsCollectionNameState(QState *parent) :
+    QState(parent)
+{
+    construct();
+}
+
+/*!
+ Destructor
+ \retval void
+ */
+HsCollectionNameState::~HsCollectionNameState()
+{
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionNameState::construct()
+{
+    setObjectName(this->parent()->objectName() + "/collectionnamestate");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsCollectionNameState::onEntry(QEvent *event)
+{
+    qDebug("CollectionState::onEntry()");
+    HSMENUTEST_FUNC_ENTRY("HsCollectionNameState::onEntry");
+    QState::onEntry(event);
+
+    int itemId = 0;
+    if (event->type() == HsMenuEvent::eventType()) {
+        HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+        QVariantMap data = menuEvent->data();
+
+        itemId = data.value(itemIdKey()).toInt();
+    }
+
+    HsCollectionNameDialog editor(itemId);
+
+    HbAction *result = editor.exec();
+    if (result == editor.primaryAction()) {
+        QString newName(editor.newName(editor.value().toString(), true));
+        if (itemId) {
+            if (newName != HsMenuService::getName(itemId)) {
+                HsMenuService::renameCollection(itemId, newName);
+            }
+        } else {
+            HsMenuService::createCollection(newName);
+        }
+    }
+    HSMENUTEST_FUNC_EXIT("HsCollectionNameState::onEntry");
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionslistdialog.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Hs list dialog
+ *
+ */
+
+#include <hbaction.h>
+#include <hblistdialog.h>
+#include <hblabel.h>
+#include <hsmenuservice.h>
+#include <QDebug>
+#include <QStandardItemModel>
+
+#include <hsmenuitemmodel.h>
+#include "hscollectionslistdialog.h"
+
+/*!
+ \class HsCollectionsListDialog
+ \ingroup group_hsmenustateplugin
+ \brief Hs List Dialog
+ Hs List Dialog
+ */
+
+/*!
+ Constructor
+ \param sortOrder sort order.
+ \param collectionId collectionId id of collection
+ to remove from list.
+ \retval void
+ */
+HsCollectionsListDialog::HsCollectionsListDialog(HsSortAttribute sortOrder,
+        int collectionId) :
+    HbListDialog(), mItemId(0)
+{
+    setPrimaryAction(NULL);
+    setHeadingWidget(new HbLabel(hbTrId("txt_applib_title_add_to")));
+    // it must be single selection, although it shows checkboxes -
+    // it is Orbit defect and will be fixed in next release
+    setSelectionMode(HbAbstractItemView::SingleSelection);
+    mModel = standartItemModel(sortOrder, collectionId);
+    setModel(mModel);
+}
+
+/*!
+ Destructor
+ */
+HsCollectionsListDialog::~HsCollectionsListDialog()
+{
+    delete mModel;
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP // Reason: Modal inputdialog exec
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+ Executes dialog.
+ \retval Selected action.
+ */
+HbAction *HsCollectionsListDialog::exec()
+{
+    HbAction *action = HbListDialog::exec();
+    if (action != secondaryAction()) {
+        QModelIndexList modlist = selectedModelIndexes();
+        if (modlist.count()) {
+            mItemId
+            = mModel-> data(modlist[0], CaItemModel::IdRole).toInt();
+        }
+    }
+    return action;
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP // Reason: Modal inputdialog exec
+#endif //COVERAGE_MEASUREMENT
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+QStandardItemModel *HsCollectionsListDialog::standartItemModel(
+    HsSortAttribute sortOrder, int collectionId)
+{
+    HSMENUTEST_FUNC_ENTRY("HsListDialog::standartItemModel");
+    QScopedPointer<HsMenuItemModel> caModel(
+        HsMenuService::getAllCollectionsModel(sortOrder));
+    caModel->setSecondLineVisibility(false);
+    QStandardItemModel *model = new QStandardItemModel(this);
+    QList<QStandardItem *> items;
+    for (int row = 0; row < caModel->rowCount(); row++) {
+        uint flags = caModel->data(caModel->index(row, 0),
+                                   CaItemModel::FlagsRole).value<EntryFlags> ();
+        int itemId = caModel->data(caModel->index(row, 0),
+                                   CaItemModel::IdRole).toInt();
+        if ((flags & RemovableEntryFlag) && (itemId != collectionId)) {
+            QStandardItem *standardItem = new QStandardItem();
+            standardItem->setData(caModel->data(caModel->index(row, 0),
+                                                CaItemModel::IdRole), CaItemModel::IdRole);
+            standardItem->setData(caModel->data(caModel->index(row, 0),
+                                                Qt::DisplayRole), Qt::DisplayRole);
+            standardItem->setData(caModel->data(caModel->index(row, 0),
+                                                Qt::DecorationRole), Qt::DecorationRole);
+            items << standardItem;
+        }
+    }
+    model->insertColumn(0, items);
+
+    insertNewCollectionItem(model);
+    HSMENUTEST_FUNC_EXIT("HsListDialog::standartItemModel");
+    return model;
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsCollectionsListDialog::insertNewCollectionItem(
+    QStandardItemModel *model)
+{
+    HSMENUTEST_FUNC_ENTRY("HsListDialog::insertNewCollectionItem");
+    QStandardItem *standardItem = new QStandardItem();
+    standardItem->setData(0, CaItemModel::IdRole);
+    standardItem->setData(hbTrId("txt_applib_list_new_collection"),
+                          Qt::DisplayRole);
+
+    standardItem->setData(HbIcon(defaultCollectionIconId()),
+                          Qt::DecorationRole);
+
+    QList<QStandardItem *> items;
+    items << standardItem;
+    model->insertRow(0, items);
+    HSMENUTEST_FUNC_EXIT("HsListDialog::insertNewCollectionItem");
+}
+
+/*!
+ Gets selected item id.
+ \retval Selected item id.
+ */
+int HsCollectionsListDialog::getItemId()
+{
+    return mItemId;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsdeletecollectionitemstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Menu delete collection item state
+ *
+ */
+
+#include <hbmessagebox.h>
+#include <hsmenuservice.h>
+#include <hsmenueventfactory.h>
+
+#include "hsdeletecollectionitemstate.h"
+#include "hsmenuevent.h"
+
+/*!
+ \class HsDeleteCollectionItemState
+ \ingroup group_hsmenustateplugin
+ \brief Delete Collection Item State.
+ Deletes app from collection.
+ */
+
+/*!
+ Constructor.
+ \param parent Owner.
+ */
+HsDeleteCollectionItemState::HsDeleteCollectionItemState(QState *parent) :
+    QState(parent)
+{
+    construct();
+}
+
+/*!
+ Destructor.
+ */
+HsDeleteCollectionItemState::~HsDeleteCollectionItemState()
+{
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsDeleteCollectionItemState::construct()
+{
+    setObjectName(this->parent()->objectName()
+                  + "/DeleteCollectionItemState");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsDeleteCollectionItemState::onEntry(QEvent *event)
+{
+    HSMENUTEST_FUNC_ENTRY("HsDeleteCollectionItemState::onEntry");
+    QState::onEntry(event);
+    qDebug("CollectionState::onEntry()");
+    HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+    QVariantMap data = menuEvent->data();
+
+    const int itemId = data.value(itemIdKey()).toInt();
+
+    const int collectionId = data.value(collectionIdKey()).toInt();
+
+    QString message;
+    message.append(
+        hbTrId("txt_applib_dialog_remove_1_from_collection").arg(
+            HsMenuService::getName(itemId)));
+
+    if (HbMessageBox::question(message, hbTrId(
+                                   "txt_common_button_ok"), hbTrId("txt_common_button_cancel"))) {
+        HsMenuService::removeApplicationFromCollection(itemId, collectionId);
+    }
+    HSMENUTEST_FUNC_EXIT("HsDeleteCollectionItemState::onEntry");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsdeletecollectionstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Menu delete collection state
+ *
+ */
+
+#include <QStateMachine>
+#include <hbmessagebox.h>
+#include <hsmenuservice.h>
+#include <hsshortcutservice.h>
+#include <hsmenueventfactory.h>
+
+#include "hsdeletecollectionstate.h"
+#include "hsmenuevent.h"
+
+/*!
+ \class HsDeleteCollectionState
+ \ingroup group_hsmenustateplugin
+ \brief Delete Collection State.
+ Deletes collections.
+ */
+
+/*!
+ Constructor.
+ \param parent Owner.
+ */
+HsDeleteCollectionState::HsDeleteCollectionState(QState *parent) :
+    QState(parent)
+{
+    construct();
+}
+
+/*!
+ Destructor.
+ */
+HsDeleteCollectionState::~HsDeleteCollectionState()
+{
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsDeleteCollectionState::construct()
+{
+    setObjectName(this->parent()->objectName() + "/DeleteCollectionState");
+    setProperty(HS_SERVICES_REGISTRATION_KEY, QList<QVariant> ()
+                << SHORTCUT_SERVICE_KEY);
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsDeleteCollectionState::onEntry(QEvent *event)
+{
+    HSMENUTEST_FUNC_ENTRY("HsDeleteCollectionState::onEntry");
+    QState::onEntry(event);
+    qDebug("CollectionState::onEntry()");
+
+    HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+    QVariantMap data = menuEvent->data();
+    const int itemId = data.value(itemIdKey()).toInt();
+
+    QString message;
+    if (shortcutService()->isItemShortcutWidget(itemId)) {
+        message.append(hbTrId(
+                           "txt_applib_dialog_deletes_1_also_from_home_screen"). arg(
+                           HsMenuService::getName(itemId)));
+    } else {
+        message.append(hbTrId("txt_applib_dialog_delete_1").arg(
+                           HsMenuService::getName(itemId)));
+    }
+
+    if (HbMessageBox::question(message, hbTrId(
+                                   "txt_common_button_ok"), hbTrId("txt_common_button_cancel"))) {
+        HsMenuService::removeCollection(itemId);
+        machine()->postEvent(
+            HsMenuEventFactory::createCollectionDeletedEvent());
+    }
+    HSMENUTEST_FUNC_EXIT("HsDeleteCollectionState::onEntry");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsShortcutService *HsDeleteCollectionState::shortcutService() const
+{
+    return property(SHORTCUT_SERVICE_KEY).value<HsShortcutService *> ();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsmenubasestate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <QDebug>
+#include <QVariantList>
+
+#include <hsmenuservice.h>
+#include <hsshortcutservice.h>
+#include <hscontentservice.h>
+
+#include "hsmenubasestate.h"
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsMenuBaseState::HsMenuBaseState(const QString &objectName, QState *parent) :
+    QState(parent)
+{
+    construct(objectName);
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+
+HsMenuBaseState::~HsMenuBaseState()
+{
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsMenuBaseState::construct(const QString &objectName)
+{
+    if (this->parent()) {
+        setObjectName(this->parent()->objectName() + "/" + objectName);
+    } else {
+        setObjectName(objectName);
+    }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsMenuBaseState::requestService(const QVariant &service)
+{
+    requestServices(QList<QVariant> () << service);
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsMenuBaseState::requestServices(const QVariantList &services)
+{
+    // if value is not list, it returns empty list
+    QVariantList value = property(HS_SERVICES_REGISTRATION_KEY).toList();
+    // apppend to list
+    value.append(services);
+    setProperty(HS_SERVICES_REGISTRATION_KEY, value);
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsShortcutService *HsMenuBaseState::shortcutService() const
+{
+    return propertyWithChecking(SHORTCUT_SERVICE_KEY).value<
+           HsShortcutService *> ();
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsContentService *HsMenuBaseState::contentService() const
+{
+    return propertyWithChecking(CONTENT_SERVICE_KEY).value<
+           HsContentService *> ();
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+QVariant HsMenuBaseState::propertyWithChecking(const char *propertyName) const
+{
+    QVariant val = property(propertyName);
+    if (!val.isValid()) {
+        qWarning() << "Missing value for property: " << propertyName;
+    }
+    return val;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsmenuworkerstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <hsmenueventtransition.h>
+
+#include "hsaddtohomescreenstate.h"
+#include "hsaddappstocollectionstate.h"
+#include "hsdeletecollectionstate.h"
+#include "hsdeletecollectionitemstate.h"
+#include "hsmenuworkerstate.h"
+#include "hscollectionnamestate.h"
+#include "hsarrangestate.h"
+#include "hspreviewhswidgetstate.h"
+/*!
+ \class HsMenuWorkerState
+ \ingroup group_hsmenustateplugin
+ \brief Menu Worker State.
+ */
+
+/*!
+ Constructor.
+ \param parent Owner.
+ */
+HsMenuWorkerState::HsMenuWorkerState(QState *parent) :
+    QState(parent), mInitialState(0)
+{
+    construct();
+}
+
+/*!
+ Destructor.
+ */
+HsMenuWorkerState::~HsMenuWorkerState()
+{
+
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsMenuWorkerState::construct()
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuWorkerState::construct");
+    setObjectName("homescreen.nokia.com/state/MenuWorkerState");
+
+    mInitialState = new QState(this);
+    setInitialState(mInitialState);
+
+    // use templated creation method - less boilerplate code
+    createChildState<HsAddToHomeScreenState> (HsMenuEvent::AddToHomeScreen);
+    createChildState<HsDeleteCollectionState> (
+        HsMenuEvent::DeleteCollection);
+    createChildState<HsDeleteCollectionItemState> (
+        HsMenuEvent::RemoveAppFromCollection);
+    createChildState<HsArrangeState> (HsMenuEvent::ArrangeCollection);
+
+    // create a new child state based on the template
+    HsCollectionNameState *newChildState = new HsCollectionNameState(this);
+    // create a transition to the new child state which will be triggered by
+    // an event with specified operation type
+    HsMenuEventTransition *renameCollectionTransition =
+        new HsMenuEventTransition(HsMenuEvent::RenameCollection,
+                                  mInitialState, newChildState);
+    mInitialState->addTransition(renameCollectionTransition);
+
+    HsMenuEventTransition *createCollectionTransition =
+        new HsMenuEventTransition(HsMenuEvent::CreateCollection,
+                                  mInitialState, newChildState);
+    mInitialState->addTransition(createCollectionTransition);
+    // set a transition to the initial state after child processing finished
+    newChildState->addTransition(mInitialState);
+
+    HsAddAppsToCollectionState *addAppsToCollectionState =
+        new HsAddAppsToCollectionState(this);
+    // create a transition to the new child state which will be triggered by
+    // an event with specified operation type
+    HsMenuEventTransition *addAppsToCollectionTransition =
+        new HsMenuEventTransition(HsMenuEvent::AddAppsToCollection,
+                                  mInitialState, addAppsToCollectionState);
+    mInitialState->addTransition(addAppsToCollectionTransition);
+    // set a transition to the initial state after child processing finished
+    addAppsToCollectionState->addTransition(addAppsToCollectionState,
+                                            SIGNAL(finished()), mInitialState);
+
+    createChildState<HsPreviewHSWidgetState> (HsMenuEvent::PreviewHSWidget);
+
+    HSMENUTEST_FUNC_EXIT("HsMenuWorkerState::construct");
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+template<class T>
+T *HsMenuWorkerState::createChildState(
+    HsMenuEvent::OperationType operation)
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuWorkerState::createChildState");
+    // create a new child state based on the template
+    T *newChildState = new T(this);
+    // create a transition to the new child state which will be triggered by
+    // an event with specified operation type
+    HsMenuEventTransition *newChildStateTransition =
+        new HsMenuEventTransition(operation, mInitialState, newChildState);
+    mInitialState->addTransition(newChildStateTransition);
+    // set a transition to the initial state after child processing finished
+    newChildState->addTransition(mInitialState);
+    HSMENUTEST_FUNC_EXIT("HsMenuWorkerState::createChildState");
+
+    return newChildState;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsmenuworkerstateplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Menu state plugin
+ *
+ */
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hsmenuworkerstateplugin.h"
+#include "hsmenuworkerstate.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+    Creates a HsMenuWorkerState if interface name in \a descriptor
+	is com.nokia.homescreen.state.HsMenuWorkerState.
+*/
+QObject *HsMenuWorkerStatePlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+        QServiceContext *context,
+        QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.state.HsMenuWorkerState")) {
+        return new HsMenuWorkerState();
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hsmenuworkerstateplugin, HsMenuWorkerStatePlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hspreviewhswidgetstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,239 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Menu Application Library state.
+ *
+*/
+
+
+#include <hblabel.h>
+//#include <hsiwidgetprovider.h>
+#include <hbmessagebox.h>
+#include <qstatemachine.h>
+#include <hbaction.h>
+#include <hbdialog.h>
+#include <hbwidget.h>
+#include <hbscrollarea.h>
+#include <hbscrollbar.h>
+
+#include "hsmenueventfactory.h"
+#include "hsmenuservice.h"
+#include "hswidgetdata.h"
+#include "hswidgethost.h"
+#include "hspreviewhswidgetstate.h"
+#include "hsmenuevent.h"
+#include "hsapp_defs.h"
+#include "hsscene.h"
+#include "hspage.h"
+
+#include "canotifier.h"
+#include "canotifierfilter.h"
+#include "caservice.h"
+
+#include "hsdomainmodel_global.h"
+#include <hscontentservice.h>
+
+/*!
+ Constructor
+ \param parent: parent state
+ \retval void
+ */
+HsPreviewHSWidgetState::HsPreviewHSWidgetState(QState *parent) :
+    HsMenuBaseState("HsPreviewHSWidgetState", parent),
+    mPopupDialog(0),
+    mNotifier(0)
+{
+    requestServices(QList<QVariant> () << CONTENT_SERVICE_KEY);
+    connect(this, SIGNAL(exited()),SLOT(stateExited()));
+}
+
+/*!
+ Destructor.
+ */
+HsPreviewHSWidgetState::~HsPreviewHSWidgetState()
+{
+    if (mNotifier) {
+        delete mNotifier;
+    }
+    if (mPopupDialog) {
+        delete mPopupDialog;
+    }
+}
+
+/*!
+ onEntry method invoked on entering the state
+ Adds a widget or shortcut to the active page of home screen.
+ It reads "data" property which value is a string map.
+ The map can keep either data specific for shortcut (item id)
+ or widget (entry type name, widget library name, widget uri).
+ Depending on the property values it calls method for adding widget
+ or shortcut.
+ \param contentService: service for adding widgets
+ \param shortcutService: service for adding shortcuts
+ \retval void
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsPreviewHSWidgetState::onEntry(QEvent *event)
+{
+    HSMENUTEST_FUNC_ENTRY("HsPreviewHSWidgetState::onEntry");
+    HsMenuBaseState::onEntry(event);
+    HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+    QVariantMap data = menuEvent->data();
+
+    const int entryId = data.value(itemIdKey()).toInt();
+
+    QVariantMap widgetData;
+    widgetData.insert("library", data.value(widgetLibraryAttributeName()).toString());
+    widgetData.insert("uri", data.value(widgetUriAttributeName()).toString());
+    HsWidgetHost *widget = contentService()->createWidgetForPreview(widgetData);
+
+    if (widget) {
+        widget->setMinimumSize(widget->preferredWidth(),widget->preferredHeight());
+        HbScrollArea *scrollArea = new HbScrollArea();
+        scrollArea->setClampingStyle(HbScrollArea::StrictClamping);
+        scrollArea->setScrollingStyle(HbScrollArea::Pan);
+        scrollArea->setHorizontalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded);
+        scrollArea->setHorizontalScrollBarPolicy(HbScrollArea::ScrollBarAutoHide);//
+        scrollArea->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded);
+        scrollArea->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAutoHide);//
+        scrollArea->verticalScrollBar()->setInteractive(true);
+        scrollArea->horizontalScrollBar()->setInteractive(true);
+        // this sets up the scroll area to scroll in both directions
+        scrollArea->setScrollDirections(Qt::Vertical | Qt::Horizontal);
+        scrollArea->setContentWidget(widget);   //ownership transferred
+        scrollArea->setAlignment(Qt::AlignCenter);
+
+        // Instantiate a popup
+        mPopupDialog = new HbDialog();
+
+        // Set dismiss policy that determines what tap events will cause the dialog
+        // to be dismissed
+        mPopupDialog->setDismissPolicy(HbDialog::NoDismiss);
+        mPopupDialog->setTimeout(HbDialog::NoTimeout);
+
+        // Set content widget
+        mPopupDialog->setContentWidget(scrollArea); //ownership transferred
+
+        // Sets the primary action and secondary action
+        mPopupDialog->setPrimaryAction(new HbAction(hbTrId("txt_applib_button_add_to_homescreen"),mPopupDialog));
+        mPopupDialog->setSecondaryAction(new HbAction(hbTrId("txt_common_button_close"),mPopupDialog));
+
+        subscribeForMemoryCardRemove(entryId);
+        widget->initializeWidget();
+        widget->showWidget();
+        // Launch popup syncronously
+        HbAction *result = mPopupDialog->exec();
+
+        disconnect(mNotifier,
+                   SIGNAL(entryChanged(const CaEntry &, ChangeType)),
+                   this, SLOT(memoryCardRemoved()));
+
+        if (result == mPopupDialog->primaryAction()) {
+            // take it back from scrollarea
+            scrollArea->takeContentWidget();
+            widget->hideWidget();
+            widget->uninitializeWidget();
+            HsScene::instance()->activePage()->addNewWidget(widget);
+        } else {
+            widget->deleteFromDatabase();
+        }
+
+        delete result;
+        result = NULL;
+
+    } else {
+        showMessageWidgetCorrupted(entryId);
+    }
+
+    HSMENUTEST_FUNC_EXIT("HsPreviewHSWidgetState::onEntry");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+ State exited.
+ \retval void
+ */
+void HsPreviewHSWidgetState::stateExited()
+{
+    HSMENUTEST_FUNC_ENTRY("HsPreviewHSWidgetState::stateExited");
+
+    if (mNotifier) {
+        delete mNotifier;
+        mNotifier = NULL;
+    }
+
+    if (mPopupDialog) {
+        delete mPopupDialog;
+        mPopupDialog = NULL;
+    }
+
+    HSMENUTEST_FUNC_EXIT("HsPreviewHSWidgetState::stateExited");
+    qDebug("HsPreviewHSWidgetState::stateExited()");
+}
+
+/*!
+ Memory card with instaled widget was removed.
+ \retval void
+ */
+void HsPreviewHSWidgetState::memoryCardRemoved()
+{
+    if (mPopupDialog) {
+        mPopupDialog->close();
+    }
+}
+
+/*!
+ Subscribe for memory card remove.
+ \param entryId: HSWidget id.
+ \retval void
+ */
+void HsPreviewHSWidgetState::subscribeForMemoryCardRemove(int entryId)
+{
+    CaNotifierFilter filter;
+    QList<int> entryIds;
+    entryIds.append(entryId);
+    filter.setIds(entryIds);
+    mNotifier = CaService::instance()->createNotifier(filter);
+    mNotifier->setParent(this);
+    connect(mNotifier,
+            SIGNAL(entryChanged(const CaEntry &, ChangeType)),
+            SLOT(memoryCardRemoved()));
+}
+
+
+/*!
+ Shows message about corrupted widget library. Deletes widget eventually
+ \param itemId entryId of widget (needed to delete it)
+ \retval void
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsPreviewHSWidgetState::showMessageWidgetCorrupted(int itemId)
+{
+    HSMENUTEST_FUNC_ENTRY("HsCollectionState::showMessageWidgetCorrupted");
+    QString message(hbTrId("txt_applib_dialog_file_corrupted_unable_to_use_wi"));
+    if (HbMessageBox::question(message,hbTrId(
+                                   "txt_common_button_ok"), hbTrId("txt_common_button_cancel"))) {
+        HsMenuService::executeAction(itemId, removeActionIdentifier());
+    }
+    HSMENUTEST_FUNC_EXIT("HsCollectionState::showMessageWidgetCorrupted");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/stateplugins.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = subdirs
+SUBDIRS  = hsapplibrarystateplugin \
+           hshomescreenstateplugin \
+           hsmenuworkerstateplugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+HEADERS += ./inc/*.h 
+
+SOURCES += ./src/*.cpp 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = lib
+CONFIG += plugin hb mobility
+MOBILITY = serviceframework
+win32: PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F6C
+symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F6C
+include(../../common.pri)
+
+LIBS += -lhswidgetmodel
+
+DEPENDPATH += ./inc \
+              ./src
+
+INCLUDEPATH += ./inc 
+
+symbian: {
+    TARGET.UID3 = 0x20022F6C
+    LIBS += -lbafl
+    
+    
+}
+
+win32:include(hsclockwidgetplugin_win.pri)
+symbian:include(hsclockwidgetplugin_symbian.pri)
+
+RESOURCES = hsclockwidgetplugin.qrc
+
+exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
+exportResources(./resource/*.png, $$PLUGIN_SUBDIR)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource prefix="/xml" >
+        <file alias="hsdigitalclockwidget.docml">resource/hsdigitalclockwidget.docml</file>
+        <file alias="hsanalogclockwidget.docml">resource/hsanalogclockwidget.docml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin_symbian.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+HEADERS += ./inc/*.h 
+
+SOURCES += ./src/*.cpp 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin_win.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+HEADERS +=  ./inc/hsanalogclockstyleoption.h \
+            ./inc/hsanalogclockwidget.h \
+            ./inc/hsclockwidget.h \
+            ./inc/hsclockwidgetdocumentloader.h \
+            ./inc/hsclockwidgetplugin.h \
+            ./inc/hsdigitalclockwidget.h 
+
+SOURCES +=  ./src/hsanalogclockstyleoption.cpp \
+            ./src/hsanalogclockwidget.cpp \
+            ./src/hsclockwidget.cpp \
+            ./src/hsclockwidgetdocumentloader.cpp \
+            ./src/hsclockwidgetplugin.cpp \
+            ./src/hsdigitalclockwidget.cpp 
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsanalogclockstyleoption.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  Style option for analog clock widget.
+*
+*/
+
+#ifndef HSANALOGCLOCKSTYLEOPTION_H
+#define HSANALOGCLOCKSTYLEOPTION_H
+
+#include <hbstyleoption.h>
+
+const int backgroundItemIndex = 0;
+const int hourHandItemIndex = 1;
+const int minuteHandItemIndex = 2;
+
+class HsAnalogClockStyleOption : public HbStyleOption
+{
+public:
+    HsAnalogClockStyleOption();
+    HsAnalogClockStyleOption(const HsAnalogClockStyleOption &other);
+    ~HsAnalogClockStyleOption();
+
+    enum StyleOptionType { Type = HbSO_Widget+1000};
+    enum StyleOptionVersion { Version = 1 };
+
+    qreal mM;
+    qreal mH;
+};
+
+#endif // HSANALOGCLOCKSTYLEOPTION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsanalogclockwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Clock widget
+*
+*/
+
+#ifndef HSANALOGCLOCKWIDGET_H
+#define HSANALOGCLOCKWIDGET_H
+
+#include <QGraphicsSvgItem>
+#include <hbwidget.h>
+#include "hsanalogclockstyleoption.h"
+#include <hstest_global.h>
+
+HOMESCREEN_TEST_CLASS(TestClockWidget)
+
+class HsAnalogClockWidget : public HbWidget
+{
+    Q_OBJECT
+
+public:
+
+    explicit HsAnalogClockWidget(const QString &stylePluginName = QString(), QGraphicsItem *parent = 0);
+    virtual ~HsAnalogClockWidget();
+
+public slots:
+
+    void tick();
+
+protected:
+
+    void resizeEvent(QGraphicsSceneResizeEvent *event);
+    void polish(HbStyleParameters& params);
+
+private:
+
+    void createPrimitives();
+    void updatePrimitives();
+
+private:
+
+    QGraphicsItem *mClockBackground;
+    QGraphicsItem *mClockHourHand;
+    QGraphicsItem *mClockMinuteHand;
+    
+    QString mStylePluginName;
+
+    Q_DISABLE_COPY(HsAnalogClockWidget)
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestClockWidget)
+
+};
+
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HSCLOCKWIDGET_H
+#define HSCLOCKWIDGET_H
+
+#include <QGraphicsSvgItem>
+#include <QTime>
+#include <QWidget>
+#include <QGraphicsWidget>
+#include <QImage>
+#include <hbwidget.h>
+#include <hstest_global.h>
+#include "hsanalogclockstyleoption.h"
+
+HOMESCREEN_TEST_CLASS(TestClockWidget)
+
+class HbWidget;
+class QGraphicsLinearLayout;
+
+class HsClockWidget : public HbWidget
+{
+    Q_OBJECT
+    Q_PROPERTY(QString clockType READ clockType WRITE setClockType)
+
+public:
+
+    HsClockWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
+    ~HsClockWidget();
+
+    QString clockType() const;
+    void setClockType(const QString &type);
+
+public slots:
+
+    void onInitialize();
+    void onShow();
+    void onHide();
+    void onUninitialize();
+
+    void updateTime();
+    void onTypeChanged(QString type);
+    
+signals:
+    void setPreferences(const QStringList &names);
+
+protected:
+
+    void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent *aEvent);
+
+private:
+    void toggleClockType();
+    HbWidget *loadClockWidget();
+
+private:
+
+    QTimer *mTimer;
+    QString mClockType;
+    HbWidget *mWidget;
+    QGraphicsLinearLayout *mLayout;
+    bool mWidgetShown;
+
+    Q_DISABLE_COPY(HsClockWidget)
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestClockWidget)
+
+};
+
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidgetdocumentloader.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Screensaver custom document loader.
+*
+*/
+
+#ifndef HSCLOCKWIDGETDOCUMENTLOADER_H
+#define HSCLOCKWIDGETDOCUMENTLOADER_H
+
+#include <hbdocumentloader.h>
+
+#include <hstest_global.h>
+
+HOMESCREEN_TEST_CLASS(TestClockWidget)
+
+class HsClockWidgetDocumentLoader : public HbDocumentLoader
+{
+
+private:
+
+    virtual QObject *createObject(const QString &type, const QString &name);
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestClockWidget)
+    
+};
+
+#endif // HSCLOCKWIDGETDOCUMENTLOADER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidgetplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Homescreen widget plugin
+*
+*/
+
+
+#ifndef HSCLOCKWIDGETPLUGIN_H
+#define HSCLOCKWIDGETPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+#include <hstest_global.h>
+
+QTM_USE_NAMESPACE
+
+HOMESCREEN_TEST_CLASS(TestClockWidgetProvider)
+class HsClockWidgetPlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+HOMESCREEN_TEST_FRIEND_CLASS(TestClockWidgetProvider)
+};
+
+#endif //HSCLOCKWIDGETPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidgettype_symbian.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,63 @@
+/*
+* 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:  Clock widget
+*
+*/
+
+#ifndef HSCLOCKWIDGETTYPE_H
+#define HSCLOCKWIDGETTYPE_H
+
+#include <QObject>
+#include <QString>
+#include <hstest_global.h>
+
+HOMESCREEN_TEST_CLASS(TestClockWidget)
+
+class CEnvironmentChangeNotifier;
+class HsClockWidgetType : public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    HsClockWidgetType(QObject *parent = 0);
+    ~HsClockWidgetType();
+
+    QString type() const;
+    
+    static TInt EnvironmentChanged( TAny* aObj );
+    
+signals:
+    void typeChanged(QString type);
+        
+private: 
+    void createObserver();
+    QString localeTypeString()const;
+    
+private slots:
+    void onTypeChanged();
+
+
+private:
+    CEnvironmentChangeNotifier *mDateTimeNotifier;
+    
+    QString mClockType;
+
+    Q_DISABLE_COPY(HsClockWidgetType)
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestClockWidget)
+
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsdigitalclockwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Homescreen themable clock label.
+*
+*/
+
+#ifndef HSDIGITALCLOCKWIDGET_H
+#define HSDIGITALCLOCKWIDGET_H
+
+#include <hblabel.h>
+
+#include <hstest_global.h>
+
+HOMESCREEN_TEST_CLASS(TestClockWidget)
+
+class HsDigitalClockWidget : public HbLabel
+{
+    Q_OBJECT
+    
+public:
+    
+    HsDigitalClockWidget(QGraphicsItem *parent = 0);
+    ~HsDigitalClockWidget();
+    
+protected:
+
+    virtual void changeEvent(QEvent *event);
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestClockWidget)
+
+};
+
+#endif // HSDIGITALCLOCKWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsclockwidgetplugin.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<widgetprovider>
+    <widget library="hsclockwidgetplugin"
+            uri="hsclockwidgetplugin"
+            title="Clock"
+            iconuri="tclock.png"
+            description="Themable clock widget."/>
+</widgetprovider>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsclockwidgetplugin.s60xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsclockwidgetplugin</name>
+    <filepath>z:/private/20022F35/import/widgetregistry/20022F6C/hsclockwidgetplugin.qtplugin</filepath>
+    <description>Themable clock widget.</description>
+    <interface>
+        <name>com.nokia.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description>The clock widget displays current time.</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">tclock.png</customproperty>
+        <customproperty key="title">Clock</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsclockwidgetplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsclockwidgetplugin</name>
+    <filepath>hsclockwidgetplugin</filepath>
+    <description>Themable clock widget.</description>
+    <interface>
+        <name>com.nokia.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description>The clock widget displays current time.</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">tclock.png</customproperty>
+        <customproperty key="title">Clock</customproperty>
+    </interface>
+</service>
Binary file homescreenapp/widgetplugins/hsclockwidgetplugin/resource/tclock.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsanalogclockstyleoption.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  Style option for analog clock widget.
+*
+*/
+
+#include "hsanalogclockstyleoption.h"
+
+HsAnalogClockStyleOption::HsAnalogClockStyleOption():
+    HbStyleOption(), mM(0), mH(0)
+{
+    type = Type;
+    version = Version;
+}
+
+HsAnalogClockStyleOption::HsAnalogClockStyleOption(const HsAnalogClockStyleOption &other) :
+    HbStyleOption(other), mM(other.mM), mH(other.mH)
+{
+    type = Type;
+    version = Version;
+}
+
+HsAnalogClockStyleOption::~HsAnalogClockStyleOption()
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsanalogclockwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,145 @@
+/*
+* 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:  Clock widget
+*
+*/
+
+#include "hsanalogclockwidget.h"
+#include <QGraphicsGridLayout>
+#include <QTime>
+#include <QDir>
+
+namespace
+{
+    const char PLUGIN_PATH[] = "/hsresources/plugins/styleplugins/hsanalogclockstyleplugin.dll";
+}
+
+/*!
+    \class HsAnalogClockWidget
+    \ingroup group_hsclockwidgetplugin
+    \brief Homescreen themable analog clock widget.
+
+*/
+
+/*!
+    \fn HsAnalogClockWidget::HsAnalogClockWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
+
+    Constructs widget.
+*/
+HsAnalogClockWidget::HsAnalogClockWidget(const QString &stylePluginName, QGraphicsItem *parent)
+    : HbWidget(parent),
+      mClockBackground(0), 
+      mClockHourHand(0), 
+      mClockMinuteHand(0)
+{
+    if (stylePluginName.isEmpty()) {
+        mStylePluginName = QDir::currentPath() + PLUGIN_PATH;
+    } else {
+        mStylePluginName = stylePluginName;
+    }
+    setPluginBaseId(style()->registerPlugin(mStylePluginName));
+
+    createPrimitives();
+    updatePrimitives();
+}
+
+/*!
+    \fn HsAnalogClockWidget::~HsAnalogClockWidget()
+
+    Destructor.
+*/
+HsAnalogClockWidget::~HsAnalogClockWidget()
+{
+    delete mClockBackground;
+    delete mClockHourHand;
+    delete mClockMinuteHand;
+
+    style()->unregisterPlugin(mStylePluginName);    
+}
+
+/*!
+    @copydoc HbWidget::resizeEvent()
+ */
+void HsAnalogClockWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+    QGraphicsWidget::resizeEvent(event);
+    updatePrimitives();   
+}
+
+/*!
+    Creates all widget primitives.
+ */
+void HsAnalogClockWidget::createPrimitives()
+{
+    if (pluginBaseId()==-1) {
+        return;
+    }
+    if (!mClockBackground) {
+        mClockBackground = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()), this);
+    }
+    if (!mClockHourHand) {
+        mClockHourHand = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()+hourHandItemIndex), this);
+    }
+    if (!mClockMinuteHand) {
+        mClockMinuteHand = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()+minuteHandItemIndex), this);
+    }
+}
+
+/*!
+    @copydoc HbWidget::updatePrimitives()
+ */
+void HsAnalogClockWidget::updatePrimitives()
+{
+    if (pluginBaseId()==-1) {
+        return;
+    }
+
+    // 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)-90;
+    HsAnalogClockStyleOption option;
+    initStyleOption(&option);
+    option.mM = m;
+    option.mH = h;
+
+    if (mClockBackground) {
+        style()->updatePrimitive(mClockBackground, (HbStyle::Primitive)(pluginBaseId()), &option);
+    }
+    if (mClockHourHand) {
+        style()->updatePrimitive(mClockHourHand, (HbStyle::Primitive)(pluginBaseId()+hourHandItemIndex), &option);
+    }
+    if (mClockMinuteHand) {
+        style()->updatePrimitive(mClockMinuteHand, (HbStyle::Primitive)(pluginBaseId()+minuteHandItemIndex), &option);
+    }
+}
+
+/*!
+    Updates clock visualization according to current time
+ */
+void HsAnalogClockWidget::tick()
+{
+    updatePrimitives();
+    update();
+}
+
+/*!
+    Update primitives also here because a problem in Hb - to be removed later on
+ */
+void HsAnalogClockWidget::polish( HbStyleParameters& params ) 
+{  
+    HbWidget::polish(params); 
+    updatePrimitives();
+} 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,278 @@
+/*
+* 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:  Clock widget
+*
+*/
+
+#include <QtGui>
+#include <QGraphicsWidget>
+#include <QSizePolicy>
+#include <QGraphicsLinearLayout>
+#include <hblabel.h>
+#include <hbextendedlocale.h>
+
+#include "hsclockwidget.h"
+#include "hsanalogclockwidget.h"
+#include "hsdigitalclockwidget.h"
+#include "hsclockwidgetdocumentloader.h"
+
+#ifdef Q_OS_SYMBIAN    
+#include "hsclockwidgettype_symbian.h"
+#endif
+
+namespace
+{
+    const char ANALOG[] = "analog";
+    const char DIGITAL[] = "digital";
+
+    const char DIGITAL_CLOCK_DOCML[] = ":/xml/hsdigitalclockwidget.docml";
+    const char ANALOG_CLOCK_DOCML[] = ":/xml/hsanalogclockwidget.docml";
+
+    const char DIGITAL_CLOCK_WIDGET[] = "timeLabel";
+    const char ANALOG_CLOCK_WIDGET[] = "analogClockWidget";
+
+    const int clockUpdateInterval = 1000; // msec
+}
+
+/*!
+    \class HsClockWidget
+    \ingroup group_hsclockwidgetplugin
+    \brief Implementation for the homescreen clock widget.
+
+*/
+
+
+/*!
+    \fn HsClockWidget::HsClockWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
+
+    Constructs widget.
+*/
+HsClockWidget::HsClockWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
+    : HbWidget(parent, flags),
+      mTimer(0),
+      mClockType(ANALOG),
+      mWidget(0),
+      mLayout(0),
+      mWidgetShown(false)
+{
+#if 0
+#ifdef Q_OS_SYMBIAN    
+    HsClockWidgetType *clockType = new HsClockWidgetType(this);
+    mClockType=clockType->type();
+    connect(clockType, SIGNAL(typeChanged(QString)), this, SLOT(onTypeChanged(QString)));
+#endif    
+#endif
+}
+
+/*!
+    \fn HsClockWidget::~HsClockWidget()
+
+    Destructor.
+*/
+HsClockWidget::~HsClockWidget()
+{
+}
+
+/*!
+    Returns the clock type.
+*/
+QString HsClockWidget::clockType() const
+{
+    return mClockType;
+}
+  
+/*!
+    Sets the clock type;
+*/
+void HsClockWidget::setClockType(const QString &type)
+{
+    if (type == DIGITAL) {
+        mClockType = DIGITAL;
+    } else {
+        mClockType = ANALOG;
+    }
+}
+
+/*!
+    \fn void HsClockWidget::onInitialize()
+
+    Initializes clock widget
+*/
+void HsClockWidget::onInitialize()
+{
+    mLayout = new QGraphicsLinearLayout(Qt::Vertical);
+    mLayout->setContentsMargins(0,0,0,0);
+
+    hide();
+
+    mWidget = loadClockWidget();
+    mLayout->addItem(mWidget);
+    setPreferredSize(mWidget->preferredSize());
+    parentWidget()->resize(preferredSize()); // workaround for layouting
+    
+    mTimer = new QTimer(this);
+    connect(mTimer, SIGNAL(timeout()), SLOT(updateTime()));
+    setLayout(mLayout);
+
+}
+
+/*!
+    \fn void HsClockWidget::show()
+
+    Shows the widget
+*/
+void HsClockWidget::onShow()
+{
+    mWidgetShown = true;
+    mTimer->start(clockUpdateInterval);
+    show();
+}
+
+
+/*!
+    \fn void HsClockWidget::show()
+
+    Hides the widget
+*/
+void HsClockWidget::onHide()
+{
+    mWidgetShown = false;
+    mTimer->stop();
+    hide();
+}
+
+/*!
+    Uninitializes the widget.
+*/
+void HsClockWidget::onUninitialize()
+{
+    mTimer->stop();
+    hide();
+}
+
+/*!
+    \fn void HsClockWidget::updateTime()
+
+    Draws the clock with every second
+*/
+void HsClockWidget::updateTime()
+{
+    if (mClockType == DIGITAL) {
+        hide(); // workaround for clock not updating
+        static_cast<HbLabel*>(mWidget)->setPlainText(
+            HbExtendedLocale().format(QTime::currentTime(), r_qtn_time_usual_with_zero));
+        show(); // workaround for clock not updating 
+    } else {
+        static_cast<HsAnalogClockWidget*>(mWidget)->tick();
+    }
+}
+
+/*!
+    Toggles the clock type.
+*/
+void HsClockWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+    Q_UNUSED(event);    
+#ifndef Q_OS_SYMBIAN    
+    mTimer->stop();
+    toggleClockType();
+    emit setPreferences(QStringList() << "clockType");
+
+    hide();
+
+    mLayout->removeItem(mWidget);
+    delete mWidget;
+    mWidget = 0;
+    mWidget = loadClockWidget();
+    mLayout->addItem(mWidget);
+    setPreferredSize(mWidget->preferredSize());
+    parentWidget()->resize(preferredSize());
+    
+    show();
+    updateTime();
+    update();
+
+
+    mTimer->start(clockUpdateInterval);
+#endif    
+}
+
+/*!
+    Toggles the clock type.
+*/
+void HsClockWidget::toggleClockType()
+{
+    if (mClockType == ANALOG) {
+        mClockType = DIGITAL;
+    } else {
+        mClockType = ANALOG;
+    }
+}
+
+/*!
+    Loads the digital or analog clock widget.
+*/
+HbWidget *HsClockWidget::loadClockWidget()
+{
+    HbWidget *clockWidget = 0;
+
+    QString docmlFile;
+    if (mClockType == DIGITAL) {
+        docmlFile = DIGITAL_CLOCK_DOCML;
+    } else {
+        docmlFile = ANALOG_CLOCK_DOCML;
+    }
+
+    HsClockWidgetDocumentLoader loader;
+    bool loaded = false;
+    loader.load(docmlFile, &loaded);
+
+    if (loaded) {
+        if (mClockType == DIGITAL) {
+            clockWidget = qobject_cast<HsDigitalClockWidget *>(loader.findWidget(DIGITAL_CLOCK_WIDGET));
+            clockWidget->setBackgroundItem(HbStyle::P_Fade_background);
+        } else {
+            clockWidget = qobject_cast<HsAnalogClockWidget *>(loader.findWidget(ANALOG_CLOCK_WIDGET));
+        }
+
+    } else {
+        qWarning() << "Unable to load clock widget from docml: " << docmlFile;
+        // TODO: We must handle this error situation once error handling strategy is clear!
+    }
+
+    return clockWidget;
+}
+
+void HsClockWidget::onTypeChanged(QString type)
+{
+#if 0
+    if (mClockType != type) {
+        mTimer->stop();
+        mClockType = type;
+        emit setPreferences(QStringList() << "clockType");
+        hide();
+        mLayout->removeItem(mWidget);
+        delete mWidget;
+        mWidget = 0;
+        mWidget = loadClockWidget();
+        mLayout->addItem(mWidget);
+        setPreferredSize(mWidget->preferredSize());
+        parentWidget()->resize(preferredSize());
+        if ( mWidgetShown ) {
+            mTimer->start(clockUpdateInterval);
+            show();
+            }
+    }    
+#endif    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidgetdocumentloader.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Clock widget
+*
+*/
+
+#include "hsclockwidgetdocumentloader.h"
+
+#include "hsanalogclockwidget.h"
+#include "hsdigitalclockwidget.h"
+
+/*!
+    \class HsClockWidgetDocumentLoader
+    \ingroup group_hsclockwidgetplugin
+    \brief Custom homescreen themable clock docml layout loader.
+ */
+
+/*!
+    Creates the homescreen themable clock custom docml objects.
+    \param type Static type name.
+    \param name Object name.
+    \retval Created object.
+ */
+QObject *HsClockWidgetDocumentLoader::createObject(const QString &type, const QString &name)
+{
+    if (type == HsAnalogClockWidget::staticMetaObject.className()) {
+        QObject *object = new HsAnalogClockWidget();
+        object->setObjectName(name);
+        return object;
+    }
+    else if (type == HsDigitalClockWidget::staticMetaObject.className()) {
+        QObject *object = new HsDigitalClockWidget();
+        object->setObjectName(name);
+        return object;
+    }
+
+    return HbDocumentLoader::createObject(type, name);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidgetplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Homescreen widget plugin
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hsclockwidgetplugin.h"
+#include "hsclockwidget.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+  \class HsClockWidgetPlugin
+  \ingroup group_hsclockwidgetplugin
+  \brief Homescreen clock widget provider collects ready-made homescreen clock widget(s).
+ 
+  This library includes homescreen clock widgets implemented by homescreen scrum team.
+  This plugin provides widgets that are described in the  hsclockwidgetplugin.xml plugin
+  xml file.
+ 
+*/
+QObject *HsClockWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                             QServiceContext *context,
+                                             QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.IHomeScreenWidget")) {
+        return new HsClockWidget();
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hsclockwidgetplugin, HsClockWidgetPlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidgettype_symbian.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,122 @@
+/*
+* 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:  Clock widget
+*
+*/
+
+#include <QTimer>
+#include "hsclockwidgettype_symbian.h"
+
+#include <bacntf.h> // CEnvironmentChangeNotifier
+
+
+namespace
+{
+    const char ANALOG[] = "analog";
+    const char DIGITAL[] = "digital";
+}
+
+/*!
+    \class HsClockWidgetTypeType
+    \ingroup group_HsClockWidgetTypeplugin
+    \brief Implementation for the observation of the system clock settings (analog/digital). 
+
+*/
+
+
+/*!
+    Constructor
+*/
+HsClockWidgetType::HsClockWidgetType(QObject *parent)
+    : QObject(parent),
+      mDateTimeNotifier(0),
+      mClockType(ANALOG)
+{
+    createObserver();
+    mClockType = localeTypeString();
+}
+
+
+
+/*!
+    Destructor.
+*/
+HsClockWidgetType::~HsClockWidgetType()
+{
+    delete mDateTimeNotifier;
+}
+
+/*!
+    Returns the clock type ('analog'/'digital')
+*/
+QString HsClockWidgetType::type() const
+{
+    return mClockType;
+}
+
+/*!
+    Callback function to receive system settings changes.
+*/
+TInt HsClockWidgetType::EnvironmentChanged( TAny* aSelf )
+{
+    HsClockWidgetType* self = static_cast<HsClockWidgetType*>(aSelf);
+    if ( self ){
+        TInt change = self->mDateTimeNotifier->Change();
+        if ( change & EChangesLocale ) {
+            self->onTypeChanged();
+        }
+    }
+    return KErrNone;        
+}
+
+/*!
+ Creates CEnvironmentChangeNotifier object to listen system settings changes.
+*/
+void HsClockWidgetType::createObserver() 
+{
+    if ( !mDateTimeNotifier ){
+        mDateTimeNotifier = CEnvironmentChangeNotifier::NewL( 
+            CActive::EPriorityLow,
+            TCallBack( EnvironmentChanged, this ) );
+        
+        mDateTimeNotifier->Start();            
+    }
+}   
+
+/*!
+    Reads clock type from system locale settings
+*/
+QString HsClockWidgetType::localeTypeString() const
+{
+    QString clockType;
+    TLocale locale;
+    TClockFormat clockFormat = locale.ClockFormat();
+    if ( clockFormat==EClockAnalog ) {
+        return QString(ANALOG);
+    } else {
+        return QString(DIGITAL);
+    }
+}
+
+/*!
+*/
+void HsClockWidgetType::onTypeChanged()
+{
+    QString clockType = localeTypeString();
+    if ( clockType != mClockType ) {
+        mClockType = clockType;
+        emit typeChanged(mClockType);
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsdigitalclockwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Homescreen themable clock label.
+*
+*/
+
+#include "hsdigitalclockwidget.h"
+
+#include <hbevent.h>
+#include <hbcolorscheme.h>
+
+/*!
+    \class HsDigitalClockWidget
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Screensaver label.
+ */
+
+/*!
+    Constructs a new HsDigitalClockWidget.
+ */
+HsDigitalClockWidget::HsDigitalClockWidget(QGraphicsItem *parent)
+    : HbLabel(parent) 
+{
+}
+
+/*!
+    Destructs the class.
+ */
+HsDigitalClockWidget::~HsDigitalClockWidget()
+{
+}
+
+/*!
+    \reimp
+ */
+void HsDigitalClockWidget::changeEvent(QEvent * event)
+{
+    if (event->type() == HbEvent::ThemeChanged) {
+        const QString textColorAttribute("text");
+        QColor textColor(HbColorScheme::color(textColorAttribute));
+        if (textColor.isValid()) {
+            setTextColor(textColor);
+        }
+    }
+    return HbLabel::changeEvent(event);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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 "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  hsanalogclockstyleplugin.pri
+#
+
+HEADERS += ./inc/*.h
+
+SOURCES += ./src/*.cpp
+
+DEPENDPATH += ./inc \
+              ./src \
+              ./resource
+
+INCLUDEPATH += ./inc \
+               ./../../inc
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  hsanalogclockstyleplugin.pro
+#
+
+TEMPLATE = lib
+CONFIG += plugin hb
+win32: PLUGIN_SUBDIR = /hsresources/plugins/styleplugins
+symbian: PLUGIN_SUBDIR = /hsresources/plugins/styleplugins
+
+include (../../../../common.pri)
+
+symbian: {
+TARGET.UID3 = 0x20022F6E
+}
+
+include(hsanalogclockstyleplugin.pri)
+
+RESOURCES += hsanalogclockstyleplugin.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource>
+        <file alias="hsanalogclockwidget.css">resource/hsanalogclockwidget.css</file>
+        <file alias="hsanalogclockwidget.widgetml">resource/hsanalogclockwidget.widgetml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/inc/hsanalogclockstyleplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Analog clock style plugin.
+*
+*/
+
+#ifndef HSANALOGCLOCKSTYLEPLUGIN_H
+#define HSANALOGCLOCKSTYLEPLUGIN_H
+
+#include <QtPlugin>
+
+#include <hbstyleinterface.h>
+#include <hbglobal.h>
+
+#include <hstest_global.h>
+
+HOMESCREEN_TEST_CLASS(T_HsAnalogClockStylePlugin)
+
+class HsAnalogClockStylePlugin: public QObject, public HbStyleInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(HbStyleInterface)
+
+public:
+    int primitiveCount() const;
+    HbWidgetBase *createPrimitive(HbStyle::Primitive primitive, QGraphicsItem *parent = 0) const;
+    void updatePrimitive(QGraphicsItem *item, HbStyle::Primitive primitive, const QStyleOption *option) const;
+    QString layoutPath() const;
+	
+	HOMESCREEN_TEST_FRIEND_CLASS(T_HsAnalogClockStylePlugin)
+
+};
+
+#endif // HSANALOGCLOCKSTYLEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockstyleplugin.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,1 @@
+common.pri currently requires manifest file
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockwidget.css	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,21 @@
+HbWidget {
+    margin-left: 0un;
+    margin-top: 0un;
+}
+
+HsAnalogClockWidget {
+	layout: layout_1;
+}
+
+HsAnalogClockWidget::clock_background {
+    pref-width: 25.0un;
+    pref-height: 25.0un;
+}
+
+HsAnalogClockWidget::clock_hour_hand {
+	pref-height: 15.0un;
+}
+
+HsAnalogClockWidget::clock_minute_hand {
+    pref-height: 20.0un;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockwidget.widgetml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,10 @@
+<hbwidget version="0.1">
+    <layout name="layout_1" type="mesh">
+        <meshitem src="clock_background" srcEdge="CENTERV" dst="" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="clock_background" srcEdge="CENTERH" dst="" dstEdge="CENTERH" spacing="0.0un" />
+        <meshitem src="clock_hour_hand" srcEdge="CENTERV" dst="clock_background" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="clock_hour_hand" srcEdge="CENTERH" dst="clock_background" dstEdge="CENTERH" spacing="0.0un" />
+        <meshitem src="clock_minute_hand" srcEdge="CENTERV" dst="clock_background" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="clock_minute_hand" srcEdge="CENTERH" dst="clock_background" dstEdge="CENTERH" spacing="0.0un" />
+    </layout>
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/src/hsanalogclockstyleplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  Analog clock style plugin.
+*
+*/
+
+#include "hsanalogclockstyleplugin.h"
+
+#include <hbstyle.h>
+#include <hbiconitem.h>
+
+#include "hsanalogclockstyleoption.h"
+
+/*!
+    \class HsAnalogClockStylePlugin
+    \brief Screensaver analog clock style plugin.
+ */
+
+/*!
+    @copydoc HbStyleInterface::primitiveCount()
+ */
+int HsAnalogClockStylePlugin::primitiveCount() const
+{
+    return 3;
+}
+
+/*!
+    @copydoc HbStyleInterface::createPrimitive()
+ */
+HbWidgetBase* HsAnalogClockStylePlugin::createPrimitive(HbStyle::Primitive primitive, QGraphicsItem *parent) const
+{
+    if (primitive == backgroundItemIndex) {
+        HbIconItem *item = new HbIconItem("qtg_graf_clock_day_bg", parent);
+        HbStyle::setItemName(item, "clock_background");
+        item->setZValue(1);
+        return item;
+    }
+    else if (primitive == hourHandItemIndex) {
+        HbIconItem *item = new HbIconItem("qtg_graf_clock_day_hour", parent);
+        HbStyle::setItemName(item, "clock_hour_hand");
+        item->setZValue(3); // hour hand is on top of minute hand
+        return item;
+    }
+    else if (primitive == minuteHandItemIndex) {
+        HbIconItem *item = new HbIconItem("qtg_graf_clock_day_min", parent);
+        HbStyle::setItemName(item, "clock_minute_hand");
+        item->setZValue(2); // minute hand is below hour hand
+        return item;
+    }
+    return 0;
+}
+
+/*!
+    @copydoc HbStyleInterface::updatePrimitive()
+ */
+void HsAnalogClockStylePlugin::updatePrimitive(QGraphicsItem *item, HbStyle::Primitive primitive, const QStyleOption *option ) const
+{
+    const HsAnalogClockStyleOption *opt = qstyleoption_cast<const HsAnalogClockStyleOption *>(option);
+    if (!opt || !item) {
+        return;
+    }
+
+    HbIconItem *iconItem = static_cast<HbIconItem *>(item);
+    
+    // these should work but don't
+    //int x = iconItem->iconItemSize().width()/2;
+    //int y = iconItem->iconItemSize().height()/2;
+
+    // workaround
+    int x = iconItem->preferredSize().width()/2;
+    int y = iconItem->preferredSize().height()/2;
+
+    if (primitive == hourHandItemIndex) {
+        iconItem->setTransform(QTransform().translate(x, y).rotate(opt->mH).translate(-x, -y));
+    }
+    else if (primitive == minuteHandItemIndex) {
+        iconItem->setTransform(QTransform().translate(x, y).rotate(opt->mM).translate(-x, -y));
+    }
+}
+
+/*!
+    @copydoc HbStyleInterface::layoutPath()
+ */
+QString HsAnalogClockStylePlugin::layoutPath() const
+{
+    return QString(":/");
+}
+
+#ifndef COVERAGE_MEASUREMENT
+Q_EXPORT_PLUGIN2(hsanalogclockstyleplugin, HsAnalogClockStylePlugin)
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/hsshortcutwidgetplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+HEADERS += ./inc/*.h
+
+SOURCES += ./src/*.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/hsshortcutwidgetplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+TEMPLATE = lib
+CONFIG += plugin hb mobility
+MOBILITY = serviceframework
+
+win32: PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F46
+symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F46
+
+include(../../common.pri)
+
+LIBS += -lhsdomainmodel \
+        -lcaclient
+
+DEPENDPATH += ./inc \
+              ./src
+
+INCLUDEPATH += ./inc \                
+                ../../hsdomainmodel/inc
+
+symbian: {
+    TARGET.UID3 = 0x20022F46
+}
+
+
+include(hsshortcutwidgetplugin.pri)
+
+exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/inc/hsshortcutwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,83 @@
+/*
+* 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:  Shortcut widget
+*
+*/
+
+#ifndef HSSHORTCUTWIDGET_H
+#define HSSHORTCUTWIDGET_H
+
+#include <QVariant>
+#include <QMap>
+
+#include <HbWidget>
+
+#include "hstest_global.h"
+#include "cadefs.h"
+
+HOMESCREEN_TEST_CLASS(TestShortcutWidget)
+
+class HbIconItem;
+class HbTextItem;
+class CaEntry;
+
+class HsShortcutWidget : public HbWidget
+{
+    Q_OBJECT
+    Q_PROPERTY(int mcsId READ mcsId WRITE setMcsId)
+    
+public:
+    HsShortcutWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
+    ~HsShortcutWidget();
+
+    int mcsId() const;
+    void setMcsId(int mcsId);
+
+signals:
+    void finished();
+
+public slots:
+    void onEntryChanged(const CaEntry &entry, ChangeType changeType);
+
+    void onInitialize();
+    void onShow();
+    void onHide();
+
+protected:
+    void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+
+private:
+    void constructUI();
+
+    HbIcon fetchIcon(int aShortcutId);
+    QString fetchText(int aShortcutId);
+
+    void executeCollectionAction(int shortcutId, const QString& collectionType);
+    void createCaNotifier(int aShortcutId);
+    
+    void hideOrShowWidget(EntryFlags aEntryFlags);
+    EntryFlags fetchEntryFlags(int aShortcutId);
+
+private:    
+    HbIconItem *mShortcutBackgroundItem;
+    HbIconItem *mShortcutIconItem;
+    HbTextItem *mShortcutTextItem;
+
+    int mMcsId;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestShortcutWidget)
+};
+
+#endif // HSSHORTCUTWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/inc/hsshortcutwidgetplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Homescreen widget plugin
+*
+*/
+
+
+#ifndef HSSHORTCUTWIDGETPLUGIN_H
+#define HSSHORTCUTWIDGETPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+#include <hstest_global.h>
+
+QTM_USE_NAMESPACE
+
+HOMESCREEN_TEST_CLASS(TestShortcutWidgetPlugin)
+class HsShortcutWidgetPlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+HOMESCREEN_TEST_FRIEND_CLASS(TestShortcutWidgetPlugin)
+};
+
+#endif //HSSHORTCUTWIDGETPLUGIN_H
Binary file homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/calculator.png has changed
Binary file homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/email.png has changed
Binary file homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/globe.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidgetplugin.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<widgetprovider>
+    <widget library="hsshortcutwidgetplugin"
+            uri="hsshortcutwidgetplugin"
+            title="Shortcut"
+            iconuri="shortcut.png"            hidden="true"/>
+</widgetprovider>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidgetplugin.s60xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsshortcutwidgetplugin</name>
+    <filepath>z:/private/20022F35/import/widgetregistry/20022F46/hsshortcutwidgetplugin.qtplugin</filepath>
+    <description>Shortcut widget.</description>
+    <interface>
+        <name>com.nokia.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">shortcut.png</customproperty>
+        <customproperty key="hidden">true</customproperty>
+        <customproperty key="title">Shortcut</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidgetplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsshortcutwidgetplugin</name>
+    <filepath>hsshortcutwidgetplugin</filepath>
+    <description>Shortcut widget</description>
+    <interface>
+        <name>com.nokia.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">shortcut.png</customproperty>
+        <customproperty key="hidden">true</customproperty>
+        <customproperty key="title">Shortcut</customproperty>
+    </interface>
+</service>
Binary file homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/note.png has changed
Binary file homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/shortcuticon.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/src/hsshortcutwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,274 @@
+/*
+* 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:  Shortcut widget
+*
+*/
+
+#include <QGraphicsLinearLayout>
+
+#include <HbStackedLayout>
+#include <HbIconItem>
+#include <HbTextItem>
+
+#include "hsshortcutwidget.h"
+#include "hsshortcutservice.h"
+
+#include "caservice.h"
+#include "canotifier.h"
+
+/*!
+    \class HsShortcutWidget
+    \ingroup group_hsshortcutwidgetprovider
+    \brief Implementation for the homescreen shortcut widget.
+
+    Shortcut can be defined to launch different applications or applications 
+    with parameters, for example browser with certain url.
+
+     \section how_to_use_shortcut_plugin How to use HsShortcutWidget
+
+    At the moment code is compiled with homescreen core implementation.
+
+*/
+
+/*!
+
+    Constructs shortcut widget object
+*/
+HsShortcutWidget::HsShortcutWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
+  : HbWidget(parent, flags),
+    mShortcutBackgroundItem(0),
+    mShortcutIconItem(0),
+    mShortcutTextItem(0),
+    mMcsId(-1)    
+{
+    setPreferredSize(QSizeF(82,82));
+    resize(82,82);    
+}
+
+/*!
+    \fn HsShortcutWidget::~HsShortcutWidget()
+
+    Destructor
+*/
+HsShortcutWidget::~HsShortcutWidget()
+{
+}
+
+/*!
+    Getter for menu content service id
+*/
+int HsShortcutWidget::mcsId() const
+{
+    return mMcsId;
+}
+
+/*!
+    Sets menu content service id to \a mcsId
+*/
+void HsShortcutWidget::setMcsId(int mcsId)
+{
+    mMcsId = mcsId;
+}
+
+/*!
+    \fn void HsShortcutWidget::onEntryChanged(const CaEntry &entry, ChangeType changeType)
+    
+    Invoked when \a entry has changed with a \a changeType event.
+*/
+void HsShortcutWidget::onEntryChanged(const CaEntry &entry, ChangeType changeType)
+{
+
+    switch(changeType) {
+        case RemoveChangeType: {
+            emit finished();
+            break;
+        }
+        case UpdateChangeType: {
+            hideOrShowWidget(entry.flags());
+            mShortcutIconItem->setIcon(fetchIcon(mMcsId));
+
+            QString text = fetchText(mMcsId);
+            mShortcutTextItem->setText(text);            
+            break;
+        }
+        default:
+            break;
+    }
+}
+
+/*!
+    \fn void HsShortcutWidget::onInitialize()
+
+    Initializes shortcut
+*/
+void HsShortcutWidget::onInitialize()
+{
+    constructUI();
+
+    if (!HsShortcutService::instance() || mMcsId < 0) {
+        emit finished();
+    }
+
+    createCaNotifier(mMcsId);
+    
+    mShortcutIconItem->setIcon(fetchIcon(mMcsId));
+
+    QString text = fetchText(mMcsId);
+    mShortcutTextItem->setText(text);
+
+    setEnabled(true);
+}
+
+/*!
+    \fn void HsClockWidget::show()
+
+    Shows the widget
+*/
+void HsShortcutWidget::onShow()
+{
+    hideOrShowWidget(fetchEntryFlags(mMcsId));
+}
+
+/*!
+    \fn void HsClockWidget::show()
+
+    Hides the widget
+*/
+void HsShortcutWidget::onHide()
+{
+    hide();
+}
+
+/*!
+    \fn void HsShortcutWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+
+    Executes configured action
+*/
+void HsShortcutWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+    Q_UNUSED(event)
+    
+    CaEntry *entry = CaService::instance()->getEntry(mMcsId);
+    if (!entry) {
+        return;
+    }
+
+    if (entry->role() == ItemEntryRole) {
+        CaService::instance()->executeCommand(mMcsId);
+    } else {
+        executeCollectionAction(mMcsId, entry->entryTypeName());
+    }
+}
+
+/*!
+    \fn void HsShortcutWidget::constructUI()
+
+    Constructs and initializes ui parts
+*/
+void HsShortcutWidget::constructUI()
+{
+    mShortcutBackgroundItem = new HbIconItem("hs_shortcut_bg");
+    mShortcutBackgroundItem->setAlignment(Qt::AlignCenter);
+    mShortcutIconItem = new HbIconItem;
+    mShortcutIconItem->setAlignment(Qt::AlignCenter);
+    mShortcutTextItem = new HbTextItem;
+    mShortcutTextItem->setAlignment(Qt::AlignCenter);
+
+    HbStackedLayout *mainLayout = new HbStackedLayout;
+    mainLayout->addItem(mShortcutBackgroundItem);
+    
+    QGraphicsLinearLayout *contentLayout = 
+        new QGraphicsLinearLayout(Qt::Vertical);
+    contentLayout->setContentsMargins(4, 4, 4, 4);
+    contentLayout->addItem(mShortcutIconItem);
+    contentLayout->addItem(mShortcutTextItem);
+    mainLayout->addItem(contentLayout);
+
+    setLayout(mainLayout);
+}
+
+/*!
+    \internal
+*/
+HbIcon HsShortcutWidget::fetchIcon(int aShortcutId)
+{
+	CaEntry *entry = CaService::instance()->getEntry(aShortcutId);
+    if (!entry) {
+        return HbIcon();
+    }
+    return entry->makeIcon();    
+}
+
+/*!
+    \internal
+*/
+QString HsShortcutWidget::fetchText(int aShortcutId)
+{
+	CaEntry *entry = CaService::instance()->getEntry(aShortcutId);
+    if (!entry) {
+        return QString();
+    }
+    return entry->text();
+}
+
+/*!
+    \internal
+*/
+void HsShortcutWidget::executeCollectionAction(
+        int shortcutId, const QString& collectionType)
+{
+    HsShortcutService::instance()->executeCollectionAction(
+            shortcutId, collectionType);
+}
+
+/*!
+    \internal
+*/
+void HsShortcutWidget::createCaNotifier(int aShortcutId)
+{
+    CaNotifierFilter filter;
+    filter.setIds(QList<int>() << aShortcutId);
+    
+    CaNotifier *itemNotifier = CaService::instance()->createNotifier(filter);
+    itemNotifier->setParent(this);
+
+    connect(itemNotifier,
+        SIGNAL(entryChanged(const CaEntry&, ChangeType)),
+        SLOT(onEntryChanged(const CaEntry&, ChangeType)),Qt::QueuedConnection);
+}
+
+/*!
+    \internal
+*/
+void HsShortcutWidget::hideOrShowWidget(EntryFlags aEntryFlags)
+{
+    if (aEntryFlags.testFlag(MissingEntryFlag)) {
+        hide();
+    } else {
+        show();
+    }
+}
+
+/*!
+    \internal
+*/
+EntryFlags HsShortcutWidget::fetchEntryFlags(int aShortcutId)
+{
+    CaEntry *entry = CaService::instance()->getEntry(aShortcutId);
+    EntryFlags entryFlags = 0;
+    if (entry) {
+        entryFlags = entry->flags();
+    }
+    return entryFlags;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/src/hsshortcutwidgetplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Homescreen widget plugin
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hsshortcutwidgetplugin.h"
+#include "hsshortcutwidget.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+/**
+    \class HsShortcutWidgetPlugin
+    \ingroup group_hsshortcutwidgetplugin
+    \brief Homescreen shortcut widget plugin collects ready-made homescreen shortcut widget(s).
+
+    This library includes homescreen shortcut widgets implemented by homescreen scrum team.
+    This plugin provides widgets that are described in the  hsshortcutwidgetplugin.xml plugin
+    xml file.
+*/
+
+/*!
+    Creates widget object.
+*/
+QObject *HsShortcutWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                                QServiceContext *context,
+                                                QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.IHomeScreenWidget")) {
+        return new HsShortcutWidget();
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hsshortcutwidgetplugin, HsShortcutWidgetPlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/widgetplugins.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  = hsshortcutwidgetplugin \
+           hsclockwidgetplugin \
+           hsclockwidgetplugin/styles/hsanalogclockstyleplugin 
+                            
\ No newline at end of file
Binary file idlehomescreen/data/2001952b.txt has changed
--- a/idlehomescreen/data/clean_themes.bat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +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
-rmdir \epoc32\RELEASE\winscw\udeb\Z\private\200159c0 /s /q
-rmdir \epoc32\data\Z\resource\homescreen /s /q
-rmdir \epoc32\data\Z\private\200159c0 /s /q
-rmdir \epoc32\winscw\c\private\10202be9\persists /s /q
-rmdir \epoc32\winscw\c\private\200159c0 /s /q
-rmdir \epoc32\winscw\c\private\102750f0 /s /q
\ No newline at end of file
--- a/idlehomescreen/data/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build info file for activeidle3 themes
-*
-*/
-
-
-#include "../vga_tch/group/bld.inf"         // Buzzidle
-#include "../qhd_tch/group/bld.inf"     // Flashidle
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-gnumakefile validate.mk
-
-//  End of File  
--- a/idlehomescreen/data/group/hsps_definition.xsd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!-- Validation of the HSPS definition files -->
-
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">  
-  
-<!-- Configuration element -->
-<xs:element name="configuration">    
-  <xs:complexType>
-    <xs:sequence>
-    
-      <!-- Configuration|Control element -->
-  	  <xs:element name="control">    	  
-  	    <xs:complexType>
-  	      <xs:sequence>  	      
-  	        <xs:element name="plugins" minOccurs="0">
-  	          <xs:complexType>
-    	          <xs:sequence>  	      
-    	          
-    	            <!-- Configuration|Control|Plugins|Plugin element -->
-    	            <xs:element name="plugin" minOccurs="0" maxOccurs="unbounded">
-    	              <xs:complexType>    	                
-                      <xs:attribute name="uid" type="xs:string" use="required"/>
-                      <xs:attribute name="interface" type="xs:string"/>
-                      <xs:attribute name="name" type="xs:string"/>
-    	              </xs:complexType>
-    	            </xs:element>
-    	            
-  	            </xs:sequence>  	      
-  	          </xs:complexType>
-  	        </xs:element>
-  	        
-  	        <!-- Configuration|Control|Settings element -->
-  	        <xs:element name="settings">
-              <xs:complexType>  	      
-                <xs:sequence>  	       
-                                      
-                    <!-- Configuration|Control|Settings|Item element -->
-                    <xs:element name="item" minOccurs="0" maxOccurs="unbounded">
-                      <xs:complexType>  	      
-                        <xs:sequence>  	       
-                                                          
-                          <!-- Configuration|Control|Settings|Item|Property element -->
-                          <xs:element name="property" maxOccurs="unbounded">
-                            <xs:complexType>  	      
-                              <xs:sequence>  	       
-                              </xs:sequence>  	      
-                              <xs:attribute name="name" type="xs:string" use="required"/>
-                              <xs:attribute name="value" type="xs:string" use="required"/> 
-                              <xs:anyAttribute/>
-                            </xs:complexType>  	      
-                          </xs:element>
-                                                                                                
-                        </xs:sequence>  	       
-                        <xs:attribute name="id" type="xs:string" use="required"/>
-                        <xs:attribute name="name" type="xs:string" use="required"/>
-                        <xs:attribute name="_name" type="xs:string"/>
-                      </xs:complexType>  	      
-                    </xs:element>
-                                          
-                </xs:sequence>  	                    
-              </xs:complexType>
-  	        </xs:element>
-  	        
-  	      </xs:sequence>
-  	      <xs:attribute name="name" type="xs:string"/>
-  	    </xs:complexType>
-  	  </xs:element>
-  	  
-  	  <!-- Configuration|Resources element -->
-  	  <xs:element name="resources" minOccurs="0"/>    	    	
-    	
-  	</xs:sequence>
-  </xs:complexType>
-</xs:element>
-  
-</xs:schema>
\ No newline at end of file
--- a/idlehomescreen/data/group/hsps_manifest.xsd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!-- Validation of the HSPS manifest files -->
-
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">  
-
-<!-- Version type -->
-<xs:simpleType name="versiontype">           
-  <xs:restriction base="xs:decimal">          
-    <xs:pattern value="[0-9].[0-9]"/>
-  </xs:restriction>    
-</xs:simpleType>
-
-<!-- Localized type -->
-<xs:simpleType name="localizedtype">
-  <xs:restriction base="xs:string">
-    <xs:pattern value="[&#38;][q][t][n][_]([a-z_A-Z0-9])*[;]"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<!-- Hex string -->
-<xs:simpleType name="hexstringtype">
-  <xs:restriction base="xs:string">
-    <xs:pattern value="([a-f_A-FxX0-9])*"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<!-- Filename type -->
-<xs:simpleType name="filenametype">
-  <xs:restriction base="xs:string">
-    <xs:pattern value="([a-z_A-Z0-9])*"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<!-- Fileresource type -->
-<xs:complexType name="fileresourcetype">       
-  <xs:simpleContent>
-    <xs:extension base="xs:string">      
-      <xs:attribute name="mediatype">
-        <xs:simpleType>
-          <xs:restriction base="xs:string">
-            <xs:maxLength value="100"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>                            
-    </xs:extension>
-  </xs:simpleContent>                    
-</xs:complexType>
-
-
-<!-- Structure of a manifest file -->
-<xs:element name="package">    
-  <xs:complexType>
-    <xs:sequence>
-         
-      <xs:element name="family" type="xs:string"/>         
-          
-  	  <xs:element name="type"> 
-    	  <xs:simpleType>
-          <xs:restriction base="xs:string">
-            <xs:pattern value="application|view|widget|template"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:element> 
-      
-  	  <xs:element name="interfaceuid" type="hexstringtype"/>
-  	      	          
-      <xs:element name="provideruid" type="hexstringtype"/>
-      
-      <xs:element name="configurationuid" type="hexstringtype"/>      
-      
-      <xs:element name="status" minOccurs="0" maxOccurs="unbounded"> 
-        <xs:simpleType>
-          <xs:restriction base="xs:string">
-            <xs:pattern value="statusmakeactive|statuslicenceedefault|statuslicenceerestorable|statusoperatordefault|statususerdefault"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:element>
-      
-      <xs:element name="fullname" type="xs:string"/> 
-      
-      <xs:element name="shortname" type="filenametype"/>
-      
-      <xs:element name="version" type="versiontype"/> 
-      
-      <xs:element name="description" type="xs:string" minOccurs="0"/> 
-      
-      <xs:element name="filelogo" type="xs:string" minOccurs="0"/> 
-      
-      <xs:element name="filepreview" type="xs:string" minOccurs="0"/> 
-            
-      <xs:element name="filexml" type="xs:string"/> 
-      
-      <xs:element name="filedtd" type="xs:string" minOccurs="0"/>
-      
-      <xs:element name="fileresource" type="fileresourcetype" minOccurs="0" maxOccurs="unbounded"/>
-      
-      <xs:element name="localization" minOccurs="0">
-        <xs:complexType>     
-          <xs:sequence>                      
-            <xs:element name="fileresource" type="fileresourcetype" minOccurs="0" maxOccurs="unbounded"/>
-          </xs:sequence>          
-        </xs:complexType>        
-      </xs:element>
-      
-  	</xs:sequence>  	    	
-  	<xs:attribute name="version" use="required">	        
-  	    <xs:simpleType>
-          <xs:restriction base="xs:string">
-            <xs:pattern value="1.0"/>
-          </xs:restriction>
-        </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-</xs:element>
-  
-</xs:schema>
\ No newline at end of file
--- a/idlehomescreen/data/group/validate.cmd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-@ECHO OFF
-SETLOCAL
-
-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: Validates ActiveIdle3 plugin configurations
-rem
-
-SET PATH_LINT=C:\Apps\libxml2-2.6.23.win32\bin\xmllint.exe
-SET PATH_MANIFEST_XSD=hsps_manifest.xsd
-SET PATH_DEFINITION_XSD=hsps_definition.xsd
-
-IF NOT EXIST %PATH_MANIFEST_XSD% GOTO ERR_XSD
-IF NOT EXIST %PATH_DEFINITION_XSD% GOTO ERR_XSD
-
-SET ARGS_MANIFEST=--schema %PATH_MANIFEST_XSD% --noout
-SET ARGS_DEFINITION=--schema %PATH_DEFINITION_XSD% --noout
-
-echo.
-echo Validating plugin configurations against the HSPS schema files...
-echo.
-
-FOR /F %%j in ('dir ..\manifest.dat /s/b^|find "\hsps\00\" ') do %PATH_LINT% %%j %ARGS_MANIFEST% 2>&1|find "error"
-
-FOR /F %%j in ('dir ..\*.xml /s/b^|find "\hsps\00\" ') do %PATH_LINT% %%j %ARGS_DEFINITION% 2>&1|find "error"
-
-GOTO END
-
-:ERR_LINT
-ECHO XMLLint was not found! Personlize the PATH_LINT variable in %0 and download the tool.
-GOTO END
-
-:ERR_XSD
-ECHO Schema files were not found (%PATH_MANIFEST_XSD% and %PATH_DEFINITION_XSD%)!
-GOTO END
-
-:END
-
-ENDLOCAL
\ No newline at end of file
--- a/idlehomescreen/data/group/validate.mk	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +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:  Validates HSPS plugin configurations
-#
-
-
-FINAL :	
-	echo VALIDATE
-	validate
-	echo VALIDATATION DONE
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE : do_nothing
\ No newline at end of file
Binary file idlehomescreen/data/qhd_tch/desktop_20026f4f/gfx/icon.mif has changed
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +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 information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/desktop_20026f4f/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/desktop_20026f4f/hsps/widgetconfiguration.xml
-../hsps/00/desktopconfiguration.dtd /epoc32/data/Z/resource/homescreen/desktop_20026f4f/hsps/desktopconfiguration.dtd
-
-../xuikon/00/desktop.dat /epoc32/data/Z/resource/homescreen/desktop_20026f4f/xuikon/desktop_20026f4f.dat
-../xuikon/00/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20026f4f/xuikon/desktop.css
-../xuikon/00/desktop.xml /epoc32/data/Z/resource/homescreen/desktop_20026f4f/xuikon/desktop.xml
-
-// logo icon
-../gfx/icon.mif /epoc32/data/Z/resource/homescreen/desktop_20026f4f/hsps/icon.mif
-
-// Arabic languages
-//*****************
-../xuikon/37/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20026f4f/xuikon/37/desktop.css
-../xuikon/50/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20026f4f/xuikon/50/desktop.css
-../xuikon/57/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20026f4f/xuikon/57/desktop.css
-../xuikon/94/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20026f4f/xuikon/94/desktop.css
-
-// Support for S60 localization
-//*****************************
-#ifndef __DESKTOPCONFIGURATION_LOC__
-#define __DESKTOPCONFIGURATION_LOC__
-../loc/desktopconfiguration.loc APP_LAYER_LOC_EXPORT_PATH(desktopconfiguration.loc)
-#endif // __DESKTOPCONFIGURATION_LOC__
-
-
-// Support for S60 builds
-//***********************
-../rom/desktop_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(desktop_20026f4f_resources.iby)
-../rom/desktop_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(desktop_20026f4f_customer.iby)
-../rom/desktop_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(desktop_20026f4f_variant.iby)
-../rom/desktop.iby CORE_APP_LAYER_IBY_EXPORT_PATH(desktop_20026f4f.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME desktop_20026f4f
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/desktopconfiguration.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "desktopconfiguration.dtd">
-<PartOf  : "desktopconfiguration">
-
-<FileDescription: "Localization strings for the configuration">
-<FileVersion    : >
-
-<Copyright:
-"Copyright  2007 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!-- NOTE: make sure that there is at last one space character (hex 20) after the entity name -->
-
-<!--
-qtn_desktop_configuration_name.attributes
-qtn_desktop_configuration_name.layout "listrow_wgtman_pane_t1"
-qtn_desktop_configuration_name.release "TB9.2"
-qtn_desktop_configuration_name.description "Shortcut widget name"
-qtn_desktop_configuration_name.parents ""
--->
-<!ENTITY qtn_desktop_configuration_name  "Shortcuts">
-
-<!--
-qtn_desktop_configuration_desc.attributes
-qtn_desktop_configuration_desc.layout "listrow_wgtman_pane_t2"
-qtn_desktop_configuration_desc.release "TB9.2"
-qtn_desktop_configuration_desc.description "Shortcut widget description"
-qtn_desktop_configuration_desc.parents ""
--->
-<!ENTITY qtn_desktop_configuration_desc  "Quick access to your favorite applications from Home Screen.">
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>qhd_tch</family>
-
-    <type>widget</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x20026f4f</configurationuid>
-
-    <!-- description -->
-    <fullname>&amp;qtn_desktop_configuration_name;</fullname>
-    <shortname>sc</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-    
-    <!-- Name of the localization files -->
-    <filedtd>desktopconfiguration.dtd</filedtd>
-
-    <multiinstance>2</multiinstance>
-
-    <description>&amp;qtn_desktop_configuration_desc;</description>
-    <filelogo>skin(270501603 9361):mif(icon.mif 16384 16385)</filelogo>
-    
-    <!-- Locale independent/common resources -->
-
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource tag="xuikon">desktop.o0000</fileresource>
-    </localization>
-
-</package>
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<configuration>
-  <control>
-    <settings>
-      <!-- Shortcut #1, Phonebook -->
-      <item id="first" name="Shortcut1" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x101F4CCE"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-      <!-- Shortcut #2, Messaging -->
-      <item id="second" name="Shortcut2" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x100058C5"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-      <!-- Shortcut #3, Browser -->
-      <item id="third" name="Shortcut3" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x10008D39"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-      <!-- Shortcut #4, Photos -->
-      <item id="fourth" name="Shortcut4" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x200104E4"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-    </settings>
-  </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/loc/desktopconfiguration.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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: Localization strings for Desktop plugin configuration (HSPS)
-* 
-*/
-
-// d: Shortcut widget name 
-// l: listrow_wgtman_pane_t1
-// w:
-// r: TB9.2
-#define qtn_desktop_configuration_name  "Shortcuts"
-
-// d: Shortcut widget description
-// l: listrow_wgtman_pane_t2
-// w:
-// r: TB9.2
-#define qtn_desktop_configuration_desc  "Quick access to your favorite applications from Home Screen."
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/rom/desktop.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Shortcut widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __DESKTOP_IBY__
-#define __DESKTOP_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\hsps\00\manifest.dat \private\200159c0\install\desktop_20026f4f\hsps\00\manifest.dat
-
-#endif // defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-#endif // __DESKTOP_IBY__
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/rom/desktop_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Shortcut widget HSPS-plugin IBY file.
-*
-*/
-#ifndef __DESKTOP_20026F4F_CUSTOMER_IBY__
-#define __DESKTOP_20026F4F_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\xuikon\00\desktop.o0000 \private\200159c0\install\desktop_20026f4f\xuikon\00\desktop.o0000
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\hsps\00\desktopconfiguration.dtd \private\200159c0\install\desktop_20026f4f\hsps\00\desktopconfiguration.dtd
-
-#endif // defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-#endif  // __DESKTOP_20026F4F_CUSTOMER_IBY__
-
-
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/rom/desktop_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Shortcut widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __DESKTOP_20026F4F_RESOURCES_IBY__
-#define __DESKTOP_20026F4F_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\xuikon\37\desktop.o0037 \private\200159c0\install\desktop_20026f4f\xuikon\37\desktop.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\xuikon\50\desktop.o0050 \private\200159c0\install\desktop_20026f4f\xuikon\50\desktop.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\xuikon\57\desktop.o0057 \private\200159c0\install\desktop_20026f4f\xuikon\57\desktop.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\xuikon\94\desktop.o0094 \private\200159c0\install\desktop_20026f4f\xuikon\94\desktop.o0094
-#endif
-
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\hsps\00\icon.mif \private\200159c0\install\desktop_20026f4f\hsps\00\icon.mif
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\hsps\00\desktopconfiguration.dtd \private\200159c0\install\desktop_20026f4f\hsps\00\desktopconfiguration.dtd
-
-#endif // defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-#endif  // __DESKTOP_20026F4F_RESOURCES_IBY__
-
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/rom/desktop_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Shortcut widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __DESKTOP_20026F4F_VARIANT_IBY__
-#define __DESKTOP_20026F4F_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\desktop_20026f4f\hsps\00\widgetconfiguration.xml \private\200159c0\install\desktop_20026f4f\hsps\00\widgetconfiguration.xml
-
-#endif // defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-#endif  // __DESKTOP_20026F4F_VARIANT_IBY__
-
-
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/00/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-widget#desktop_widget
-{
-    block-progression: rl;
-    direction: ltr;
-    padding-top: 5px;
-    padding-bottom: 5px;
-    padding-left: 3px;
-    background-color: none;
-}
-
-button.button
-{
-    width: 74px;
-    margin-right: 3px;
-    nav-index: appearance;
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-image.icon
-{
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: adaptive;
-    max-width: 350px;
-    height: 33px;
-    border-style: solid;
-    border-width: 5px;
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-    display: block;
-    padding-left: 6px;
-    padding-top: 3px;
-    padding-bottom: 3px;
-    padding-right: 6px;
-}
-
-
-text.tooltiptext
-{   
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    width: adaptive;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/00/desktop.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>200184C8</ThemeUid>
-    <ThemeFullName>DesktopWidget</ThemeFullName>
-    <ThemeShortName>Desktop</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>desktop.xml</FileXML>
-    <FileCSS>desktop.css</FileCSS>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/00/desktop.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
-  <widget id="desktop_widget" class="desktop_widget">
-    
-    <contentsource name="DesktopWidget" value="0x2001CB58"/>
-
-    <!-- Shortcut #1 -->
-    <button id="button1" class="button" focusable="true" _s60-initial-focus="1">
-      <actions>
-        <action>
-          <trigger name="activate"/>          
-          <event name="DesktopWidget/LaunchByIndex(0x1)"/>
-        </action>
-      </actions>
-      <image id="icon1" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x1"/>
-      </image>
-      <image id="presenceicon1" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x1"/>
-      </image>
-      <tooltip id="tooltip1" class="tooltip" >
-        <text id="tooltiptext1" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x1"/>
-        </text>
-      </tooltip>
-    </button>
-    <!-- Shortcut #2 -->
-    <button id="button2" class="button" focusable="true">
-      <actions>
-        <action>
-          <trigger name="activate"/>
-          <event name="DesktopWidget/LaunchByIndex(0x2)"/>
-        </action>
-      </actions>
-      <image id="icon2" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x2"/>
-      </image>
-      <image id="presenceicon2" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x2"/>
-      </image>
-      <tooltip id="tooltip2" class="tooltip" >
-        <text id="tooltiptext2" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x2"/>
-        </text>
-      </tooltip>
-    </button>
-    <!-- Shortcut #3 -->
-    <button id="button3" class="button" focusable="true">
-      <actions>
-        <action>
-          <trigger name="activate"/>
-          <event name="DesktopWidget/LaunchByIndex(0x3)"/>
-        </action>
-      </actions>
-      <image id="icon3" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x3"/>
-      </image>
-      <image id="presenceicon3" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x3"/>
-      </image>
-      <tooltip id="tooltip3" class="tooltip" >
-        <text id="tooltiptext3" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x3"/>
-        </text>
-      </tooltip>
-    </button>
-    <!-- Shortcut #4 -->
-    <button id="button4" class="button" focusable="true">
-      <actions>
-        <action>
-          <trigger name="activate"/>
-          <event name="DesktopWidget/LaunchByIndex(0x4)"/>
-        </action>
-      </actions>
-      <image id="icon4" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x4"/>
-      </image>
-      <image id="presenceicon4" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x4"/>
-      </image>
-      <tooltip id="tooltip4" class="tooltip" >
-        <text id="tooltiptext4" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x4"/>
-        </text>
-      </tooltip>
-    </button>
-
-    <menuextension>
-      <menuitem target="hs_widget_menuitem_settings">
-        <actions>
-          <action>
-            <trigger name="activate"/>
-            <event name="DesktopWidget/ShowSettings"/>
-          </action>
-        </actions>
-      </menuitem>
-    </menuextension>
-  </widget>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/37/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-widget#desktop_widget
-{
-    block-progression: rl;
-    direction: rtl;
-    padding-top: 5px;
-    padding-bottom: 5px;
-    padding-left: 3px;
-    background-color: none;
-}
-
-button.button
-{
-    width: 74px;
-    margin-right: 3px;
-    nav-index: appearance;
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-image.icon
-{
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: adaptive;
-    max-width: 350px;
-    height: 33px;
-    border-style: solid;
-    border-width: 5px;
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-
-    padding-left: 6px;
-    padding-top: 3px;
-    padding-bottom: 3px;
-    padding-right: 6px;
-}
-
-
-text.tooltiptext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    width: adaptive;
-    height: 85%;
-    text-align: center;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    padding-right: 1u;
-    padding-left: 1u;
-    padding-bottom: 1u;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/50/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-widget#desktop_widget
-{
-    block-progression: rl;
-    direction: rtl;
-    padding-top: 5px;
-    padding-bottom: 5px;
-    padding-left: 3px;
-    background-color: none;
-}
-
-button.button
-{
-    width: 74px;
-    margin-right: 3px;
-    nav-index: appearance;
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-image.icon
-{
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: adaptive;
-    max-width: 350px;
-    height: 33px;
-    border-style: solid;
-    border-width: 5px;
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-
-    padding-left: 6px;
-    padding-top: 3px;
-    padding-bottom: 3px;
-    padding-right: 6px;
-}
-
-
-text.tooltiptext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    width: adaptive;
-    height: 85%;
-    text-align: center;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    padding-right: 1u;
-    padding-left: 1u;
-    padding-bottom: 1u;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/57/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-widget#desktop_widget
-{
-    block-progression: rl;
-    direction: rtl;
-    padding-top: 5px;
-    padding-bottom: 5px;
-    padding-left: 3px;
-    background-color: none;
-}
-
-button.button
-{
-    width: 74px;
-    margin-right: 3px;
-    nav-index: appearance;
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-image.icon
-{
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: adaptive;
-    max-width: 350px;
-    height: 33px;
-    border-style: solid;
-    border-width: 5px;
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-
-    padding-left: 6px;
-    padding-top: 3px;
-    padding-bottom: 3px;
-    padding-right: 6px;
-}
-
-
-text.tooltiptext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    width: adaptive;
-    height: 85%;
-    text-align: center;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    padding-right: 1u;
-    padding-left: 1u;
-    padding-bottom: 1u;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/xuikon/94/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-widget#desktop_widget
-{
-    block-progression: rl;
-    direction: rtl;
-    padding-top: 5px;
-    padding-bottom: 5px;
-    padding-left: 3px;
-    background-color: none;
-}
-
-button.button
-{
-    width: 74px;
-    margin-right: 3px;
-    nav-index: appearance;
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-image.icon
-{
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: adaptive;
-    max-width: 350px;
-    height: 33px;
-    border-style: solid;
-    border-width: 5px;
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-
-    padding-left: 6px;
-    padding-top: 3px;
-    padding-bottom: 3px;
-    padding-right: 6px;
-}
-
-
-text.tooltiptext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    width: adaptive;
-    height: 85%;
-    text-align: center;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    padding-right: 1u;
-    padding-left: 1u;
-    padding-bottom: 1u;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2002-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:  
-* The information required for building
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/empty_2001f47f/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/empty_2001f47f/hsps/widgetconfiguration.xml
-../xuikon/00/empty.dat /epoc32/data/Z/resource/homescreen/empty_2001f47f/xuikon/empty_2001f47f.dat
-../xuikon/00/empty.css /epoc32/data/Z/resource/homescreen/empty_2001f47f/xuikon/empty.css
-../xuikon/00/empty.xml /epoc32/data/Z/resource/homescreen/empty_2001f47f/xuikon/empty.xml
-
-// Support for S60 builds
-//***********************
-../rom/empty_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(empty_2001f47f_variant.iby)
-../rom/empty.iby CORE_APP_LAYER_IBY_EXPORT_PATH(empty_2001f47f.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME empty_2001f47f
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-
-
-  <family>qhd_tch</family>
-
-
-
-  <type>widget</type>
-
-
-
-  <!-- interface uid -->
-
-	<interfaceuid>0x2001f48a</interfaceuid>
-
-
-
-	<!-- vendor uid  -->
-
-	<provideruid>0x101fb657</provideruid>
-
-
-
-	<!-- uid -->
-
-	<configurationuid>0x2001f47f</configurationuid>
-
-
-
-	<!-- description -->
-
-	<fullname>&amp;qtn_empty_2001f47f_name;</fullname>
-
-	<shortname>empty</shortname>
-
-	<version>1.0</version>
-
-
-
-	<!-- configuration -->
-
-	<filexml>widgetconfiguration.xml</filexml>
-
-		
-	<!-- Locale independent/common resources -->
-
-  <fileresource>empty.o0000</fileresource>
-
-
-
-  <!-- Locale specific resources -->
-
-	<localization/>
-
-
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<configuration>
-    <control>
-        <settings/>
-    </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/rom/empty.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Empty widget HSPS-plugin IBY file 
-*
-*/
-
-#ifndef __EMPTY_2001F47F_IBY__
-#define __EMPTY_2001F47F_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\empty_2001f47f\xuikon\00\empty.o0000 \private\200159c0\install\empty_2001f47f\xuikon\00\empty.o0000
-data=ZPRIVATE\200159c0\install\empty_2001f47f\hsps\00\manifest.dat \private\200159c0\install\empty_2001f47f\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __EMPTY_2001F47F_IBY__
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/rom/empty_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  
-* Empty widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-#ifndef __EMPTY_2001F47F_VARIANT_IBY__
-#define __EMPTY_2001F47F_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\empty_2001f47f\hsps\00\widgetconfiguration.xml \private\200159c0\install\empty_2001f47f\hsps\00\widgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __EMPTY_2001F47F_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/xuikon/00/empty.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-widget
-{
-    display: none;
-    visibility: hidden;
-}
-
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/xuikon/00/empty.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>E029CF57</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>11001001</ThemeUid>
-    <ThemeFullName>empty</ThemeFullName>
-    <ThemeShortName>empty</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>empty.xml</FileXML>
-    <FileCSS>empty.css</FileCSS>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/xuikon/00/empty.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget id="empty"/>    
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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 information required for building
-*
-*/
-
-#include "../desktop_20026f4f/group/bld.inf"
-#include "../empty_2001f47f/group/bld.inf"
-#include "../onerow_2001f480/group/bld.inf"
-#include "../tworows_2001f488/group/bld.inf"
-#include "../threerows_2001f486/group/bld.inf"
-#include "../threetextrows_2001f487/group/bld.inf"
-#include "../wideimage_2001f489/group/bld.inf"
-#include "../posterwideimage_2001fdbc/group/bld.inf"
-#include "../profile_2001cb7c/group/bld.inf"
-#include "../view_2001f48b/group/bld.inf"
-#include "../templateview_20026f50/group/bld.inf"
-#include "../root_2001f482/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2002-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:
-* The information required for building  
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/onerow_2001f480/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/onerow_2001f480/hsps/widgetconfiguration.xml
-../xuikon/00/onerow.dat /epoc32/data/Z/resource/homescreen/onerow_2001f480/xuikon/onerow_2001f480.dat
-../xuikon/00/onerow.css /epoc32/data/Z/resource/homescreen/onerow_2001f480/xuikon/onerow.css
-../xuikon/00/onerow.xml /epoc32/data/Z/resource/homescreen/onerow_2001f480/xuikon/onerow.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/onerow.css /epoc32/data/Z/resource/homescreen/onerow_2001f480/xuikon/37/onerow.css
-../xuikon/50/onerow.css /epoc32/data/Z/resource/homescreen/onerow_2001f480/xuikon/50/onerow.css
-../xuikon/57/onerow.css /epoc32/data/Z/resource/homescreen/onerow_2001f480/xuikon/57/onerow.css
-../xuikon/94/onerow.css /epoc32/data/Z/resource/homescreen/onerow_2001f480/xuikon/94/onerow.css
-
-
-// Support for S60 builds
-//***********************
-// export iby files
-../rom/onerow_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(onerow_2001f480_resources.iby)
-../rom/onerow_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(onerow_2001f480_customer.iby)
-../rom/onerow_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(onerow_2001f480_variant.iby)
-../rom/onerow.iby CORE_APP_LAYER_IBY_EXPORT_PATH(onerow_2001f480.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME onerow_2001f480
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-
-
-  <family>qhd_tch</family>
-
-
-
-  <type>template</type>
-
-
-
-  <!-- interface uid -->
-
-	<interfaceuid>0x2001f48a</interfaceuid>
-
-
-
-	<!-- vendor uid  -->
-
-	<provideruid>0x101fb657</provideruid>
-
-
-
-	<!-- uid -->
-
-	<configurationuid>0x2001f480</configurationuid>
-
-	
-
-	<!-- description -->
-
-	<fullname>onerow</fullname>
-
-	<shortname>oner</shortname>
-
-	<version>1.0</version>
-
-
-
-	<!-- configuration -->
-
-	<filexml>widgetconfiguration.xml</filexml>
-
-
-
-  <!-- Locale independent/common resources -->
-
-
-
-  <!-- Locale specific resources -->
-
-	<localization>
-
-		<fileresource>onerow.o0000</fileresource>	
-
-	</localization>
-
-
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="onerow_plugin" name="ContentSource">
-            <property  name="name" value=""/>
-          </item>
-          <!--Def value "Test_Publisher"-->
-          <item id="pub_id" name="publisher">
-            <property name="value" value=""/> 
-          </item>
-          
-          <!-- Template designer choice -->
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="image1"/>
-          </item>
-					<!-- Template designer choice -->
-          <item id="p1trigger" name="trigger">  
-            <property  name="name" value="image1"/> 
-          </item>
-          
-          <!-- next content -->
-          <!-- Template designer choice -->
-          <item id="prop2" name="contentdata">
-            <property  name="class" value="text1"/>
-          </item>
-					<!-- Template designer choice -->
-          <item id="p2trigger" name="trigger"> 
-            <property  name="name" value="text1"/> 
-          </item>
-
-              
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/rom/onerow.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Onerow widget HSPS-plugin IBY file. 
-*
-*/
-
-#ifndef __ONEROW_2001F480_IBY__
-#define __ONEROW_2001F480_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\onerow_2001f480\hsps\00\manifest.dat \private\200159c0\install\onerow_2001f480\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __ONEROW_2001F480_IBY__
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/rom/onerow_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Onerow widget HSPS-plugin language specific IBY file. 
-*
-*/
-
-#ifndef __ONEROW_2001F480_CUSTOMER_IBY__
-#define __ONEROW_2001F480_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\onerow_2001f480\xuikon\00\onerow.o0000 \private\200159c0\install\onerow_2001f480\xuikon\00\onerow.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __ONEROW_2001F480_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/rom/onerow_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2005-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:  
-* Onerow widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __ONEROW_2001F480_RESOURCES_IBY__
-#define __ONEROW_2001F480_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\onerow_2001f480\xuikon\37\onerow.o0037 \private\200159c0\install\onerow_2001f480\xuikon\37\onerow.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\onerow_2001f480\xuikon\50\onerow.o0050 \private\200159c0\install\onerow_2001f480\xuikon\50\onerow.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\onerow_2001f480\xuikon\57\onerow.o0057 \private\200159c0\install\onerow_2001f480\xuikon\57\onerow.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\onerow_2001f480\xuikon\94\onerow.o0094 \private\200159c0\install\onerow_2001f480\xuikon\94\onerow.o0094
-#endif
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __ONEROW_2001F480_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/rom/onerow_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  
-* Onerow widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-#ifndef __ONEROW_2001F480_VARIANT_IBY__
-#define __ONEROW_2001F480_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\onerow_2001f480\hsps\00\widgetconfiguration.xml \private\200159c0\install\onerow_2001f480\hsps\00\widgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __ONEROW_2001F480_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/00/onerow.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-widget#onerow_template
-{
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    nav-index:appearance;
-    _s60-aspect-ratio:preserve;
-}
-
-text
-{
-    padding-left:8px;
-    padding-right:8px;
-    font-line-space: 15;
-    text-align:left;
-    text-overflow-mode: wrap;
-    max-line-amount: 2;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-}
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/00/onerow.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F6</ThemeUid>
-    <ThemeFullName>onerow</ThemeFullName>
-    <ThemeShortName>onerow</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>onerow.xml</FileXML>
-    <FileCSS>onerow.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/00/onerow.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
-    <widget id="onerow_template">
-        
-        <!-- Data plugin in this widget -->
-        <contentsource id="onerow_plugin" name="" value="0x20019594" />
-        
-        <configuration name="service" value="Service.ContentPublishing"/>
-        <configuration name="interface" value="IContentPublishing"/>
-        <configuration name="command" value="GetList"/>
-        <configuration id="pub_id" name="publisher" value=""/>
-
-        <image id="image_container" focusable="true" _s60-initial-focus="1">
-            <!-- Template designer choice -->
-            <actions> 
-                <action>
-                    <trigger name="activate"/>
-                    <event id="p1trigger" name="" />
-                </action>
-            </actions>
-            <configuration name="content_type" value="image1"/>
-            <property id="prop1" class=""/>
-        </image>
-        
-        <box id="text_container">
-            <text id="row1" focusable="true">
-            <!-- Template designer choice -->
-            <actions>
-                <action>
-                    <trigger name="activate"/>
-                    <event id="p2trigger" name="" />
-                </action>
-              </actions>
-              <configuration name="content_type" value="text1"/>  
-              <property id="prop2" class=""/>
-            </text>
-         </box>
-         <menuextension>
-            <!-- dynmenuitems are mapped to HS view.xml menu based on target attribute.
-                 HS view.xml provides localisation for predined items: "settings" and "refresh". -->                
-            <dynmenuitem type="widgetsettings" target="hs_widget_menuitem_settings">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(widgetsettings)" destination="onerow_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>                    
-            <dynmenuitem type="refresh" target="hs_widget_menuitem_refresh">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(refresh)" destination="onerow_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>        
-        </menuextension>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/37/onerow.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-widget#onerow_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    nav-index:appearance;
-    _s60-aspect-ratio:preserve;
-}
-
-text
-{
-    padding-left:8px;
-    padding-right:8px;
-    font-line-space: 15;
-    text-align: right;
-    text-overflow-mode: wrap;
-    max-line-amount: 2;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-}
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/50/onerow.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-widget#onerow_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    nav-index:appearance;
-    _s60-aspect-ratio:preserve;
-}
-
-text
-{
-    padding-left:8px;
-    padding-right:8px;
-    font-line-space: 15;
-    text-align: right;
-    text-overflow-mode: wrap;
-    max-line-amount: 2;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-}
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/57/onerow.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-widget#onerow_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    nav-index:appearance;
-    _s60-aspect-ratio:preserve;
-}
-
-text
-{
-    padding-left:8px;
-    padding-right:8px;
-    font-line-space: 15;
-    text-align: right;
-    text-overflow-mode: wrap;
-    max-line-amount: 2;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-}
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/94/onerow.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-widget#onerow_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    nav-index:appearance;
-    _s60-aspect-ratio:preserve;
-}
-
-text
-{
-    padding-left:8px;
-    padding-right:8px;
-    font-line-space: 15;
-    text-align: right;
-    text-overflow-mode: wrap;
-    max-line-amount: 2;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-}
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002-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:  
-* The information required for building
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/posterwideimage_2001fdbc/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/posterwideimage_2001fdbc/hsps/widgetconfiguration.xml
-../xuikon/00/posterwideimage.dat /epoc32/data/Z/resource/homescreen/posterwideimage_2001fdbc/xuikon/posterwideimage_2001fdbc.dat
-../xuikon/00/posterwideimage.css /epoc32/data/Z/resource/homescreen/posterwideimage_2001fdbc/xuikon/posterwideimage.css
-../xuikon/00/posterwideimage.xml /epoc32/data/Z/resource/homescreen/posterwideimage_2001fdbc/xuikon/posterwideimage.xml
-
-
-// Support for S60 builds
-//***********************
-../rom/posterwideimage_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(posterwideimage_2001fdbc_variant.iby)
-../rom/posterwideimage.iby CORE_APP_LAYER_IBY_EXPORT_PATH(posterwideimage_2001fdbc.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME posterwideimage_2001fdbc
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-
-
-  <family>qhd_tch</family>
-
-  
-
-  <type>template</type>
-
-
-
-  <!-- interface uid -->
-
-	<interfaceuid>0x2001f48a</interfaceuid>
-
-
-
-	<!-- vendor uid  -->
-
-	<provideruid>0x101fb657</provideruid>
-
-
-
-	<!-- uid -->
-
-	<configurationuid>0x2001fdbc</configurationuid>
-
-	
-
-	<!-- description -->
-
-	<fullname>posterwideimage</fullname>
-
-	<shortname>posterwide</shortname>
-
-	<version>1.0</version>
-
-
-
-	<!-- configuration -->
-
-	<filexml>widgetconfiguration.xml</filexml>
-
-
-
-  <!-- Locale independent/common resources -->
-
-  <fileresource>posterwideimage.o0000</fileresource>
-
-
-
-  <!-- Locale specific resources -->
-
-	<localization/>
-
-
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="posterwideimage_plugin" name="ContentSource" >
-            <property  name="name" value=""/>
-          </item>
-          <!--Def value "Test_Publisher"-->
-          <item id="pub_id" name="publisher">
-            <property name="value" value=""/> 
-          </item>
-          <!-- Template designer choice -->
-          <item id="prop1" name="contentdata"  >
-            <property  name="class" value="image1"/>
-          </item>  
-          <!-- Template designer choice -->
-          <item id="p_trigger" name="pubtrigger" >   
-            <property  name="name" value="selected"/> 
-          </item>                    
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/loc/wideimage.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for WideImage widget (Xuikon)
-*
-*/
-
-// d: Loading content
-// l: ai_gene_pane_1_t1/opt4
-// w: 
-// r: TB9.2
-#define qtn_ai_loading_content  "Loading content..."
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/rom/posterwideimage.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* PosterWideImage widget HSPS-plugin IBY file. 
-*
-*/
-
-#ifndef __POSTERWIDEIMAGE_2001FDBC_IBY__
-#define __POSTERWIDEIMAGE_2001FDBC_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\posterwideimage_2001fdbc\xuikon\00\posterwideimage.o0000 \private\200159c0\install\posterwideimage_2001fdbc\xuikon\00\posterwideimage.o0000
-data=ZPRIVATE\200159c0\install\posterwideimage_2001fdbc\hsps\00\manifest.dat \private\200159c0\install\posterwideimage_2001fdbc\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __POSTERWIDEIMAGE_2001FDBC_IBY__
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/rom/posterwideimage_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* PosterWideImage widget HSPS-plugin variant specific IBY file.  
-*
-*/
-
-#ifndef __POSTERWIDEIMAGE_2001FDBC_VARIANT_IBY__
-#define __POSTERWIDEIMAGE_2001FDBC_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\posterwideimage_2001fdbc\hsps\00\widgetconfiguration.xml \private\200159c0\install\posterwideimage_2001fdbc\hsps\00\widgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __POSTERWIDEIMAGE_2001FDBC_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/xuikon/00/posterwideimage.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-widget#posterwideimage_template
-{
-    padding-top: 4px;
-    padding-left: 10px;
-    padding-right: 10px;
-    padding-bottom: 5px;
-    nav-index:appearance;
-    background-color: none;
-}
-
-image#wide_image
-{
-    display: none;
-}
-
-text#wide_text
-{
-    padding-left: 5px;
-    text-align: center;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-}
-
-
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/xuikon/00/posterwideimage.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F5</ThemeUid>
-    <ThemeFullName>posterwideimage</ThemeFullName>
-    <ThemeShortName>posterwideimage</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>posterwideimage.xml</FileXML>
-    <FileCSS>posterwideimage.css</FileCSS>
-    <FileDTD>wideimage.dtd</FileDTD>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/xuikon/00/posterwideimage.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--!DOCTYPE xmluiml SYSTEM "wideimage.dtd"-->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
-    <widget id="posterwideimage_template" focusable="true" _s60-initial-focus="1">
-        <!-- Data plugin in this widget -->
-        <contentsource id="posterwideimage_plugin" name="" value="0x20019594" />
-        
-        <configuration name="service" value="Service.ContentPublishing"/>
-        <configuration name="interface" value="IContentPublishing"/>
-        <configuration name="command" value="GetList"/>
-        <configuration id="pub_id" name="publisher" value=""/>
-
-        <actions>
-          <action>
-            <trigger name="activate"/>
-            <event id="p_trigger" name="selected" />
-          </action>
-        </actions>
-        <box id="image_container" sizeaware="true" >
-        	<actions>
-            <action>
-              <trigger name="sizechanged"/>
-              <event name="ui/setelementsizetocps(image_container)"/>
-            </action>
-          </actions>
-          <image id="wide_image">
-            <configuration name="content_type" value="image1"/>
-            <property id="prop1" class=""/>
-            <property class="policy/emptyContent" name="wide_image" value="display: none;"/>
-            <property class="policy/Content" name="wide_image" value="display: block;"/>
-            <property class="policy/emptyContent" name="wide_text" value="display: block;"/>
-            <property class="policy/Content" name="wide_text" value="display: none;"/>
-          </image>
-          <text id="wide_text">#Loading Content</text>
-        </box>
-        <menuextension>
-            <!-- dynmenuitems are mapped to HS view.xml menu based on target attribute.
-                 HS view.xml provides localisation for predined items: "settings" and "refresh". -->                
-            <dynmenuitem type="widgetsettings" target="hs_widget_menuitem_settings">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(widgetsettings)" destination="posterwideimage_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>                    
-            <dynmenuitem type="refresh" target="hs_widget_menuitem_refresh">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(refresh)" destination="posterwideimage_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>        
-        </menuextension>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/xuikon/00/wideimage.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "wideimage.dtd">
-<PartOf  : "AI3">
-
-<FileDescription: "Localization strings for AI3">
-<FileVersion    : >
-
-<Copyright:
-"Copyright  2005 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-
-<!--
-qtn_ai_loading_content.attributes
-qtn_ai_loading_content.layout "ai_gene_pane_1_t1/opt4"
-qtn_ai_loading_content.release "5.0"
-qtn_ai_loading_content.description "Shows information text for slow loading widgets"
-qtn_ai_loading_content.parents "ai_gene_pane_1"
--->
-<!ENTITY qtn_ai_loading_content  "Loading content...">
-
-
-
-
-
Binary file idlehomescreen/data/qhd_tch/profile_2001cb7c/gfx/icon.mif has changed
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2002-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:
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/profile_2001cb7c/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/profile_2001cb7c/hsps/widgetconfiguration.xml
-// waiting for localization from platform
-//../hsps/00/profileconfiguration.dtd /epoc32/data/Z/resource/homescreen/profile_2001cb7c/hsps/profileconfiguration.dtd
-
-../xuikon/00/profile.dat /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/profile_2001cb7c.dat
-../xuikon/00/profile.css /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/profile.css
-../xuikon/00/profile.xml /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/profile.xml
-../xuikon/00/profilewidget.dtd /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/profilewidget.dtd
-
-// logo icon
-../gfx/icon.mif /epoc32/data/Z/resource/homescreen/profile_2001cb7c/hsps/icon.mif
-
-// Arabic languages
-//*****************
-../xuikon/37/profile.css /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/37/profile.css
-../xuikon/50/profile.css /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/50/profile.css
-../xuikon/57/profile.css /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/57/profile.css
-../xuikon/94/profile.css /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/94/profile.css
-
-// Support for S60 localization
-//*****************************
-// export localizable loc files (engineering versions)
-../loc/profilewidget.loc    APP_LAYER_LOC_EXPORT_PATH(profilewidget.loc)
-// waiting for localization from platform
-//../loc/profileconfiguration.loc    APP_LAYER_LOC_EXPORT_PATH(profileconfiguration.loc)
-
-// Support for S60 builds
-//***********************
-../rom/profilewidget_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(profile_2001cb7c_resources.iby)
-../rom/profilewidget_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(profile_2001cb7c_customer.iby)
-../rom/profilewidget_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(profile_2001cb7c_variant.iby)
-../rom/profilewidget.iby CORE_APP_LAYER_IBY_EXPORT_PATH(profile_2001cb7c.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME profile_2001cb7c
-OPTION DTD_TYPE widget
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-    <family>qhd_tch</family>
-    <type>widget</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-    <!-- uid -->
-
-    <configurationuid>0x2001cb7c</configurationuid>
-
-    <!-- Name of the localization files 
-    waiting for localization from platform
-    <filedtd>profileconfiguration.dtd</filedtd>
-    <fullname>&amp;qtn_profile_configuration_name;</fullname>
-    <description>&amp;qtn_profile_configuration_desc;</description>
-    -->
-    
-    <!-- description -->
-    <fullname>profilename waits loc</fullname>
-    <shortname>profile</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-
-    <description>profiledesc waits localization from platform</description>
-   
-    <filelogo>skin(270501603 9360):mif(icon.mif 16384 16385)</filelogo>
-    <!-- Locale specific resources -->
-    <localization>
-    <fileresource tag="xuikon">profile.o0000</fileresource>
-    </localization>
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/profileconfiguration.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "profileconfiguration.dtd">
-<PartOf  : "profileconfiguration">
-
-<FileDescription: "Localization strings for the configuration">
-<FileVersion    : >
-
-<Copyright:
-"Copyright � 2007 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!-- NOTE: make sure that there is at last one space character (hex 20) after the entity name -->
-
-<!--
-qtn_desktop_configuration_name.attributes
-qtn_desktop_configuration_name.layout "listrow_wgtman_pane_t1"
-qtn_desktop_configuration_name.release "TB9.2"
-qtn_desktop_configuration_name.description "profile"
-qtn_desktop_configuration_name.parents ""
--->
-<!ENTITY qtn_profile_configuration_name  "Time & profile">
-
-<!--
-qtn_desktop_configuration_desc.attributes
-qtn_desktop_configuration_desc.layout "listrow_wgtman_pane_t2"
-qtn_desktop_configuration_desc.release "TB9.2"
-qtn_desktop_configuration_desc.description "profile widget description"
-qtn_desktop_configuration_desc.parents ""
--->
-<!ENTITY qtn_profile_configuration_desc  "Quick access to time, date and change profile.">
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="profilewidget" name="ContentSource">
-            <property  name="removable" value="false"/>
-          </item>
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/loc/profileconfiguration.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for project Active Idle 3 (hsps)
-*
-*/
-
-
-// d: profile widget name
-// l: listrow_wgtman_pane_t1
-// w:
-// r: TB9.2
-#define qtn_profile_configuration_name  "Time & profile"
-
-// d: profile widget description
-// l: listrow_wgtman_pane_t2
-// w:
-// r: TB9.2
-#define qtn_profile_configuration_desc  "Quick access to time, date and change profile."
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/loc/profilewidget.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for project Active Idle 3 (xuikon)
-*
-*/
-
-
-// d: Edit active profile
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.1
-#define qtn_hs_profile_edit  "Edit active profile"
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* profile widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __PROFILEWIDGET_2001CB7C_IBY__
-#define __PROFILEWIDGET_2001CB7C_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\profile_2001cb7c\hsps\00\manifest.dat \private\200159c0\install\profile_2001cb7c\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROFILEWIDGET_2001CB7C_IBY__
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* profile widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __PROFILEWIDGET_2001CB7C_CUSTOMER_IBY__
-#define __PROFILEWIDGET_2001CB7C_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\profile_2001cb7c\xuikon\00\profile.o0000 \private\200159c0\install\profile_2001cb7c\xuikon\00\profile.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROFILEWIDGET_2001CB7C_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* profile widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __PROFILEWIDGET_2001CB7C_RESOURCES_IBY__
-#define __PROFILEWIDGET_2001CB7C_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-data=ZPRIVATE\200159c0\install\profile_2001cb7c\xuikon\00\profile.o0000 \private\200159c0\install\profile_2001cb7c\xuikon\00\profile.o0000
-data=ZPRIVATE\200159c0\install\profile_2001cb7c\hsps\00\icon.mif \private\200159c0\install\profile_2001cb7c\hsps\00\icon.mif
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROFILEWIDGET_2001CB7C_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* profile widget HSPS-plugin variant specific IBY file. 
-*
-*/
-
-#ifndef __PROFILEWIDGET_2001CB7C_VARIANT_IBY__
-#define __PROFILEWIDGET_2001CB7C_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\profile_2001cb7c\hsps\00\widgetconfiguration.xml \private\200159c0\install\profile_2001cb7c\hsps\00\widgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __PROFILEWIDGET_2001CB7C_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profile.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-widget#profilewidget
-{
-    padding-top: 3px;
-    padding-left: 3px;
-    padding-right: 3px;
-    padding-bottom: 3px;
-    background-color: none;
-}
-
-box#clock_profile_container
-{
-    direction: ltr;
-    block-progression: lr;
-}
-
-clock
-{
-    width: 152px;
-    margin-right: 3px;
-    padding-top: 2px;
-    padding-bottom: 2px;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: "SKIN(268458534 13056 74)";
-    background-color: "SKIN(268458534 9886)";
-    nav-index: appearance;
-}
-
-box.clock_profile
-{
-    background-color: "SKIN(268458534 9886)";
-        
-    nav-index: appearance;
-}
-
-box#date_profiles_container
-{
-    width: auto;
-    block-progression: tb;
-}
-
-box#date_container
-{
-    width: auto;
-    height: 26px;
-    block-progression: lr;
-    margin-bottom: 3px;
-    padding-bottom: 2px;
-}
-
-box#date_content
-{
-    width: adaptive;
-    height: adaptive;
-    margin-left: auto;
-    margin-right: auto;
-}
-
-text#date_text
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    _s60-text-valign: top;
-    color:"SKIN(268458534 13056 74)";
-}
-
-box#profile_softindicator
-{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 2px;
-    padding-right: 2px;
-    direction: ltr;
-}
-
-image#SatIdleModeIcon
-{
-    display: none;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-newsticker.SIText
-{
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    
-    white-space-collapse: collapse;
-    
-    _s60-scroll-behaviour: scroll-alternate;
-    
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-}
-
-box#NT_CUGMCN
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz
-{
-    display: none;
-}
-
-title#title_sat
-{
-    display: none;
-}
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profile.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F5</ThemeUid>
-    <ThemeFullName>profile</ThemeFullName>
-    <ThemeShortName>profile</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>profile.xml</FileXML>
-    <FileCSS>profile.css</FileCSS>
-    <FileDTD>profilewidget.dtd</FileDTD>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profile.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xmluiml SYSTEM "profilewidget.dtd">
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget id="profilewidget" >
-        <!-- Data plugins in this widget -->
-        <contentsource name="Profile" value="0x10275101" />
-        <contentsource name="SAT" value="0x102078EB"/>
-        <contentsource name="DeviceStatus" value="0x102750F8" />
-                
-        <box id="clock_profile_container">
-            <clock id="clock" focusable="true" _s60-initial-focus="1">
-              <actions>
-                  <action>
-                      <trigger name="activate"/>
-                      <event name="EventHandler/LaunchApp" uid="0x10005903"/><!--clock application-->
-                  </action>
-              </actions>
-            </clock>
-          <box id="date_profiles_container" focusable="false">
-              <box id="date_container" class="clock_profile" focusable="true">
-                  <box id="date_content" focusable="false">
-                      <text id="date_text" focusable="false">
-                          <property class="DeviceStatus/Date"/>
-                      </text>                 
-                  </box>
-                  <actions>
-                      <action>
-                          <trigger name="activate"/>
-                          <!-- open organizer -->
-                          <event name="EventHandler/LaunchApp" uid="0x10005901"/><!--organizer application-->
-                      </action>
-                  </actions>
-              </box>
-                <box id="profile_softindicator" class="clock_profile" focusable="true">                                     
-                    <!-- UI resources -->
-                    <desc id="Profile/ActiveProfileGeneralIconResource" path="SKIN(270501603 8586 74)"/>
-                    <desc id="Profile/ActiveProfileSilentIconResource" path="SKIN(270501603 8587 74)"/>
-                    <desc id="Profile/ActiveProfileTimedIconResource" path="SKIN(270501603 8631 74)"/>
-                    <actions>
-                        <!-- Show profiles dialog menu -->
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/trydisplayinglistquerydialog">
-                                <property name="id" value="profiledialog"/>
-                            </event>                                                            
-                        </action>                               
-                    </actions>                                                                                
-                    <box id="NT_CUGMCN" >
-                        <newsticker id="profile_CUGMCN" class="SIText" >                          
-                            <title id="title_mcn" titleindex="0">                                   
-                                <property class="DeviceStatus/MCNIndicator"/>
-                            </title>
-                            <title id="title_cug" titleindex="1">
-                                <property class="DeviceStatus/CUGIndicator"/>
-                            </title>
-                            <title id="title_profile" titleindex="2">                       
-                                <property class="Profile/ActiveProfileNameAndIconChar" />
-                                <!--<property class="Profile/ActiveProfileName" name="ordinal" value="1"/>-->
-                            </title>
-                        </newsticker>
-                    </box>
-                    <box id="NT_SATVHZ" >                                        
-                        <image id="SatIdleModeIcon" class="SATNewstickerIcon" >
-                            <property class="SAT/SatIdleModeIcon"/>
-                            <property class="policy/emptyContent" name="SatIdleModeIcon" value="display:none"/>
-                            <property class="policy/Content" name="SatIdleModeIcon" value="display:block"/>
-                            <property class="policy/Visibility" name="NT_SATVHZ" value="if (title_vhz,title_sat,SatIdleModeIcon) display:block" />
-                            <property class="policy/Visibility" name="NT_SATVHZ" value="if !+(title_vhz,title_sat,SatIdleModeIcon) display:none" />
-                        </image>
-                        <newsticker id="SATVHZ" class="SIText" >
-                            <actions>
-                                <action>
-                                    <trigger name="titletoscroll" titleindex="0"/>
-                                    <event name="system/set">
-                                        <property name="name" value="visibility"/>
-                                        <property name="value" value="hidden"/>
-                                        <property name="type" value="string"/>
-                                        <property name="id" value="SatIdleModeIcon"/>
-                                    </event>
-                                </action>
-                                <action>
-                                    <trigger name="titlescrolled" titleindex="0"/>
-                                    <event name="system/set">
-                                        <property name="name" value="visibility"/>
-                                        <property name="value" value="hidden"/>
-                                        <property name="type" value="string"/>
-                                        <property name="id" value="SatIdleModeIcon"/>
-                                    </event>
-                                </action>
-                                <action>
-                                    <trigger name="titletoscroll" titleindex="1"/>
-                                    <event name="system/set">
-                                        <property name="name" value="visibility"/>
-                                        <property name="value" value="visible"/>
-                                        <property name="type" value="string"/>
-                                        <property name="id" value="SatIdleModeIcon"/>
-                                    </event>
-                                </action>
-                                <action>
-                                    <trigger name="titlescrolled" titleindex="1"/>
-                                    <event name="system/set">
-                                        <property name="name" value="visibility"/>
-                                        <property name="value" value="visible"/>
-                                        <property name="type" value="string"/>
-                                        <property name="id" value="SatIdleModeIcon"/>
-                                    </event>
-                                </action>
-                            </actions>
-                            <title id="title_vhz" titleindex="0">
-                                <property class="DeviceStatus/VHZText"/>    
-                                <property class="policy/emptyContent" name="title_vhz" value="display: none;" />
-                                <property class="policy/Content" name="title_vhz" value="display: block;" />
-                                <property class="policy/Visibility" name="NT_SATVHZ" value="if (title_vhz,title_sat,SatIdleModeIcon) display:block" />
-                                <property class="policy/Visibility" name="NT_SATVHZ" value="if !+(title_vhz,title_sat,SatIdleModeIcon) display:none" />
-                            </title>
-                            <title id="title_sat" titleindex="1">
-                                <property class="SAT/SatIdleModeText"/>
-                                <property class="policy/emptyContent" name="title_sat" value="display: none;" />
-                                <property class="policy/Content" name="title_sat" value="display: block;" />
-                                <property class="policy/Visibility" name="NT_SATVHZ" value="if (title_vhz,title_sat,SatIdleModeIcon) display:block" />
-                                <property class="policy/Visibility" name="NT_SATVHZ" value="if !+(title_vhz,title_sat,SatIdleModeIcon) display:none" />
-                            </title>
-                        </newsticker>
-                    </box>
-                </box>
-            </box>
-            <!-- Profile list query dialog. Avkon dialog is not layout capable -->
-            <listquerydialog id="profiledialog" display="none">
-                <property class="Profile/ProfileName"/>
-                <menuitem id="profileseditactive" label="&qtn_hs_profile_edit;">
-                  <actions>
-                      <action>
-                          <trigger name="activate"/>
-                          <event name="Profile/EditActiveProfile"/>
-                      </action>
-                  </actions>		
-                </menuitem>
-                <dynmenuitem id="profileitem">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="Profile/SwitchProfileByIndex(#)"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-            </listquerydialog>
-        </box>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profilewidget.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "profile.dtd">
-<PartOf  : "AI3">
-
-<FileDescription: "Localization strings for AI3">
-<FileVersion    : >
-
-<Copyright:
-"Copyright  2005 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!--
-qtn_hs_profile_edit.attributes
-qtn_hs_profile_edit.layout "list_single_pane_t1_cp2"
-qtn_hs_profile_edit.release "TB9.1"
-qtn_hs_profile_edit.description "Edit active profile"
-qtn_hs_profile_edit.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_profile_edit "Edit active profile">
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/37/profile.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-widget#profilewidget
-{
-    padding-top: 3px;
-    padding-left: 3px;
-    padding-right: 3px;
-    padding-bottom: 3px;
-    background-color: none;
-}
-
-box#clock_profile_container
-{
-    direction: rtl;
-    block-progression: lr;
-}
-
-clock
-{
-    width: 152px;
-    margin-left: 3px;
-    padding-top: 2px;
-    padding-bottom: 2px;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: "SKIN(268458534 13056 74)";
-    background-color: "SKIN(268458534 9886)";
-    nav-index: appearance;
-}
-
-box.clock_profile
-{
-    background-color: "SKIN(268458534 9886)";        
-    nav-index: appearance;
-}
-
-box#date_profiles_container
-{
-    width: auto;
-    block-progression: tb;
-}
-
-box#date_container
-{
-    width: auto;
-    height: 26px;
-    block-progression: rl;
-    margin-bottom: 3px;
-    padding-bottom: 2px;
-}
-
-box#date_content
-{
-    width: adaptive;
-    height: adaptive;
-    margin-left: auto;
-    margin-right: auto;
-}
-
-text#date_text
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    _s60-text-valign: top;
-    color:"SKIN(268458534 13056 74)";
-}
-
-box#profile_softindicator
-{    
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 2px;
-    padding-right: 2px;
-    direction: rtl;
-}
-
-image#SatIdleModeIcon
-{
-    display: none;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-newsticker.SIText
-{
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    
-    white-space-collapse: collapse;
-    
-    _s60-scroll-behaviour: scroll-alternate;
-    
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-}
-
-box#NT_CUGMCN
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz
-{
-    display: none;
-}
-
-title#title_sat
-{
-    display: none;
-}
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/50/profile.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-widget#profilewidget
-{
-    padding-top: 3px;
-    padding-left: 3px;
-    padding-right: 3px;
-    padding-bottom: 3px;
-    background-color: none;
-}
-
-box#clock_profile_container
-{
-    direction: rtl;
-    block-progression: lr;
-}
-
-clock
-{
-    width: 152px;
-    margin-left: 3px;
-    padding-top: 2px;
-    padding-bottom: 2px;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: "SKIN(268458534 13056 74)";
-    background-color: "SKIN(268458534 9886)";
-    nav-index: appearance;
-}
-
-box.clock_profile
-{
-    background-color: "SKIN(268458534 9886)";    
-    nav-index: appearance;
-}
-
-box#date_profiles_container
-{
-    width: auto;
-    block-progression: tb;
-}
-
-box#date_container
-{
-    width: auto;
-    height: 26px;
-    block-progression: rl;
-    margin-bottom: 3px;
-    padding-bottom: 2px;
-}
-
-box#date_content
-{
-    width: adaptive;
-    height: adaptive;
-    margin-left: auto;
-    margin-right: auto;
-}
-
-text#date_text
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    _s60-text-valign: top;
-    color:"SKIN(268458534 13056 74)";
-}
-
-box#profile_softindicator
-{    
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 2px;
-    padding-right: 2px;
-    direction: rtl;
-}
-
-image#SatIdleModeIcon
-{
-    display: none;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-newsticker.SIText
-{
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    
-    white-space-collapse: collapse;
-    
-    _s60-scroll-behaviour: scroll-alternate;
-    
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-}
-
-box#NT_CUGMCN
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz
-{
-    display: none;
-}
-
-title#title_sat
-{
-    display: none;
-}
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/57/profile.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-widget#profilewidget
-{
-    padding-top: 3px;
-    padding-left: 3px;
-    padding-right: 3px;
-    padding-bottom: 3px;
-    background-color: none;
-}
-
-box#clock_profile_container
-{
-    direction: rtl;
-    block-progression: lr;
-}
-
-clock
-{
-    width: 152px;
-    margin-left: 3px;
-    padding-top: 2px;
-    padding-bottom: 2px;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: "SKIN(268458534 13056 74)";
-    background-color: "SKIN(268458534 9886)";
-    nav-index: appearance;
-}
-
-box.clock_profile
-{
-    background-color: "SKIN(268458534 9886)";    
-    nav-index: appearance;
-}
-
-box#date_profiles_container
-{
-    width: auto;
-    block-progression: tb;
-}
-
-box#date_container
-{
-    width: auto;
-    height: 26px;
-    block-progression: rl;
-    margin-bottom: 3px;
-    padding-bottom: 2px;
-}
-
-box#date_content
-{
-    width: adaptive;
-    height: adaptive;
-    margin-left: auto;
-    margin-right: auto;
-}
-
-text#date_text
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    _s60-text-valign: top;
-    color:"SKIN(268458534 13056 74)";
-}
-
-box#profile_softindicator
-{    
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 2px;
-    padding-right: 2px;
-    direction: rtl;
-}
-
-image#SatIdleModeIcon
-{
-    display: none;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-newsticker.SIText
-{
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    
-    white-space-collapse: collapse;
-    
-    _s60-scroll-behaviour: scroll-alternate;
-    
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-}
-
-box#NT_CUGMCN
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz
-{
-    display: none;
-}
-
-title#title_sat
-{
-    display: none;
-}
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/94/profile.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-widget#profilewidget
-{
-    padding-top: 3px;
-    padding-left: 3px;
-    padding-right: 3px;
-    padding-bottom: 3px;
-    background-color: none;
-}
-
-box#clock_profile_container
-{
-    direction: rtl;
-    block-progression: lr;
-}
-
-clock
-{
-    width: 152px;
-    margin-left: 3px;
-    padding-top: 2px;
-    padding-bottom: 2px;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: "SKIN(268458534 13056 74)";
-    background-color: "SKIN(268458534 9886)";
-    nav-index: appearance;
-}
-
-box.clock_profile
-{
-    background-color: "SKIN(268458534 9886)";    
-    nav-index: appearance;
-}
-
-box#date_profiles_container
-{
-    width: auto;
-    block-progression: tb;
-}
-
-box#date_container
-{
-    width: auto;
-    height: 26px;
-    block-progression: rl;
-    margin-bottom: 3px;
-    padding-bottom: 2px;
-}
-
-box#date_content
-{
-    width: adaptive;
-    height: adaptive;
-    margin-left: auto;
-    margin-right: auto;
-}
-
-text#date_text
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    _s60-text-valign: top;
-    color:"SKIN(268458534 13056 74)";
-}
-
-box#profile_softindicator
-{    
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 2px;
-    padding-right: 2px;
-    direction: rtl;
-}
-
-image#SatIdleModeIcon
-{
-    display: none;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-newsticker.SIText
-{
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    
-    white-space-collapse: collapse;
-    
-    _s60-scroll-behaviour: scroll-alternate;
-    
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-}
-
-box#NT_CUGMCN
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz
-{
-    display: none;
-}
-
-title#title_sat
-{
-    display: none;
-}
Binary file idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.confml has changed
--- a/idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.gcfml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-<file xmlns="http://www.s60.com/xml/genconfml/1" name="rootconfiguration.xml" target="\private\200159c0\install\root_2001f482\hsps\00\">
-	<setting ref="HSViews/MaxPages"/>
-	<setting ref="HSViews/Views"/>
-	<xsl:stylesheet version="1.0" 
-                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-                xmlns:xi="http://www.w3.org/2001/xinclude">
-		<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
-		<xsl:template match="configuration/data">
-			<configuration>
-			 <xsl:attribute name="max_child"><xsl:value-of select="HSViews/MaxPages"/></xsl:attribute>
-				<control> 
-					<plugins>
-						<xsl:for-each select="HSViews/Views">
-							<plugin>
-								<xsl:attribute name="uid"><xsl:value-of select="Uid"/></xsl:attribute>
-								<xsl:attribute name="locking_status"><xsl:value-of select="LockingStatus"/></xsl:attribute>
-								<xsl:choose>
-								<xsl:when test="Background = 1">
-								    <intial_settings>
-								      <settings>
-								      <item>
-								          <xsl:attribute name="id"><xsl:value-of select="ItemIdWallpaper"/></xsl:attribute>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="WallpaperPropertyName"/></xsl:attribute>								             
-  							              <xsl:attribute name="value"><xsl:value-of select="BackGroundPath"/></xsl:attribute>
-								            </property>
-								       </item>     
-				              </settings>
-				            </intial_settings>
-				        </xsl:when>
-				        <xsl:when test="Background = 2">
-								    <intial_settings>
-								      <settings>
-								      <item>
-								          <xsl:attribute name="id"><xsl:value-of select="ItemIdSlideshow"/></xsl:attribute>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="SlideshowPropertyName"/></xsl:attribute>								             
-  							              <xsl:attribute name="value"><xsl:value-of select="BackGroundPath"/></xsl:attribute>
-								            </property>
-								       </item>     
-				              </settings>
-				            </intial_settings>
-				        </xsl:when>
-				        <xsl:otherwise>
-				        </xsl:otherwise>
-				        </xsl:choose>
-							</plugin>
-						</xsl:for-each>
-					</plugins>
-					<settings/>
-				</control>
-			</configuration>
-		</xsl:template>
-	</xsl:stylesheet>
-</file>
--- a/idlehomescreen/data/qhd_tch/root_2001f482/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2002-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: 
-* The information required for building 
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/root_2001f482/hsps/manifest.dat
-../hsps/00/rootconfiguration.xml /epoc32/data/Z/resource/homescreen/root_2001f482/hsps/rootconfiguration.xml
-../xuikon/00/Root.dat /epoc32/data/Z/resource/homescreen/root_2001f482/xuikon/root_2001f482.dat
-../xuikon/00/Root.css /epoc32/data/Z/resource/homescreen/root_2001f482/xuikon/root.css
-../xuikon/00/Root.xml /epoc32/data/Z/resource/homescreen/root_2001f482/xuikon/root.xml
-
-
-
-//Confml and cfgml files for the customization
-// starting use confml it is need to remove root_configuration.xml direct exporting (root_2001f482_variant.iby)
-//***********************************
-//../conf/root2001f482.confml   APP_LAYER_CONFML(root2001f482.confml)
-//../conf/root2001f482.gcfml    APP_LAYER_GCFML(root2001f482.gcfml)
-
-// Support for S60 localization
-//*****************************
-
-
-// Support for S60 builds
-//***********************
-../rom/root_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(root_2001f482_resources.iby)
-../rom/root_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(root_2001f482_customer.iby)
-../rom/root_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(root_2001f482_variant.iby)
-../rom/root.iby CORE_APP_LAYER_IBY_EXPORT_PATH(root_2001f482.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME root_2001f482
-OPTION DTD_TYPE widget
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-  <family>qhd_tch</family>
-
-  <type>application</type>
-    
-  <!-- application uid -->
-	<interfaceuid>0x102750F0</interfaceuid>
-
-	<!-- vendor uid -->
-	<provideruid>0x101fb657</provideruid>
-
-	<!--  configuration uid -->
-	<configurationuid>0x2001f482</configurationuid>
-
-  <status>statuslicenceerestorable</status>
-  
-	<!-- description -->
-	<fullname>&amp;qtn_root_2001f482_name;</fullname>
-	<shortname>ai3_root</shortname>
-	<version>2.0</version>
-
-	<!-- configuration -->
-	<filexml>rootconfiguration.xml</filexml>
-	
-	<!-- Locale independent/common resources -->
-  <fileresource>root.o0000</fileresource>
-
-  <!-- Locale specific resources -->
-	<localization/>
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/rootconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<configuration>  
-  <!-- name = localized name e.g. "classic theme" -->
-  <control>
-      <plugins>
-          <plugin uid="0x2001f48b"/>
-          <plugin uid="0x2001f48b"/>
-          <plugin uid="0x2001f48b"/>
-          <plugin uid="0x2001f48b"/>
-          <plugin uid="0x2001f48b"/>
-          <plugin uid="0x2001f48b"/>
-      </plugins>
-      <settings/>
-  </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/root_2001f482/rom/root.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Root widget HSPS-plugin IBY file. 
-*
-*/
-
-#ifndef __ROOT_2001F482_IBY__
-#define __ROOT_2001F482_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\root_2001f482\xuikon\00\root.o0000 \private\200159c0\install\root_2001f482\xuikon\00\root.o0000
-data=ZPRIVATE\200159c0\install\root_2001f482\hsps\00\manifest.dat \private\200159c0\install\root_2001f482\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __ROOT_2001F482_IBY__
--- a/idlehomescreen/data/qhd_tch/root_2001f482/rom/root_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Root widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __ROOT_2001F482_CUSTOMER_IBY__
-#define __ROOT_2001F482_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\root_2001f482\hsps\00\rootconfiguration.dtd \private\200159c0\install\root_2001f482\hsps\00\rootconfiguration.dtd
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __ROOT_2001F482_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/root_2001f482/rom/root_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Root widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __ROOT_2001F482_RESOURCES_IBY__
-#define __ROOT_2001F482_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools, language specific
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __ROOT_2001F482_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/root_2001f482/rom/root_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Root widget HSPS-plugin variant specific IBY file.  
-*
-*/
-
-#ifndef __ROOT_2001F482_VARIANT_IBY__
-#define __ROOT_2001F482_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\root_2001f482\hsps\00\rootconfiguration.xml \private\200159c0\install\root_2001f482\hsps\00\rootconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __ROOT_2001F482_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/root_2001f482/xuikon/00/Root.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-views 
-{
-}
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/root_2001f482/xuikon/00/Root.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>E029CF57</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>11001233</ThemeUid>
-    <ThemeFullName>DemoRoot</ThemeFullName>
-    <ThemeShortName>Root</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>Root.xml</FileXML>
-    <FileCSS>Root.css</FileCSS>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/root_2001f482/xuikon/00/Root.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <views/>    
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2002-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: 
-* The information required for building
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/templateview_20026f50/hsps/manifest.dat
-../hsps/00/templateviewconfiguration.xml /epoc32/data/Z/resource/homescreen/templateview_20026f50/hsps/templateviewconfiguration.xml
-
-../xuikon/00/templateview.dat /epoc32/data/Z/resource/homescreen/templateview_20026f50/xuikon/templateview_20026f50.dat
-../xuikon/00/templateview.css /epoc32/data/Z/resource/homescreen/templateview_20026f50/xuikon/templateview.css
-../xuikon/00/templateview.xml /epoc32/data/Z/resource/homescreen/templateview_20026f50/xuikon/templateview.xml
-../xuikon/00/view.dtd /epoc32/data/Z/resource/homescreen/templateview_20026f50/xuikon/view.dtd
-
-// Arabic languages
-//*****************
-../xuikon/37/templateview.css /epoc32/data/Z/resource/homescreen/templateview_20026f50/xuikon/37/templateview.css
-../xuikon/50/templateview.css /epoc32/data/Z/resource/homescreen/templateview_20026f50/xuikon/50/templateview.css
-../xuikon/57/templateview.css /epoc32/data/Z/resource/homescreen/templateview_20026f50/xuikon/57/templateview.css
-../xuikon/94/templateview.css /epoc32/data/Z/resource/homescreen/templateview_20026f50/xuikon/94/templateview.css
-
-
-// Support for S60 localization
-//*****************************
-#ifndef __TEMPLATEVIEW_LOC__
-#define __TEMPLATEVIEW_LOC__
-../loc/templateview.loc APP_LAYER_LOC_EXPORT_PATH(templateview.loc)
-#endif // __TEMPLATEVIEW_LOC__
-
-// Support for S60 builds
-//***********************
-../rom/templateview_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(templateview_20026f50_resources.iby)
-../rom/templateview_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(templateview_20026f50_customer.iby)
-../rom/templateview_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(templateview_20026f50_variant.iby)
-../rom/templateview.iby CORE_APP_LAYER_IBY_EXPORT_PATH(templateview_20026f50.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME templateview_20026f50
-OPTION DTD_TYPE widget
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-  <family>qhd_tch</family>
-  <type>view</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- configuration uid -->
-    <configurationuid>0x20026f50</configurationuid>
-
-    <!-- description -->
-    <fullname>Template view</fullname>
-
-    <shortname>ai3_templateview</shortname>
-
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>templateviewconfiguration.xml</filexml>
-
-  <!-- Locale specific resources -->
-  <localization>
-    <fileresource>templateview.o0000</fileresource>
-  </localization>
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/templateviewconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<configuration>
-  <control>
-    <settings>
-      <item id="hs_qhd_tch_templateview">
-        <property name="use_empty_widget" value="true"/>
-      </item>
-      <item id="wallpaper">
-        <property name="path" value=""/>
-      </item>      
-    </settings>  
-    <plugins>
-      <plugin uid="0x2001cb7c"/>
-      <plugin uid="0x2001f47f"/>
-      <plugin uid="0x2001f47f"/>
-      <plugin uid="0x2001f47f"/>
-      <plugin uid="0x2001f47f"/>
-      <plugin uid="0x2001f47f"/>
-    </plugins>
-    <settings/>
-  </control>
-
-</configuration>
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/loc/templateview.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for project Active Idle 3
-*
-*/
-
-// d: Help
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_options_help "Help"
-
-// d: Open
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define qtn_msk_open "Open"
-
-// d: Options
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_done "Done"
-
-// d: Open 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_options_open "Open"
-
-// d: Back
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_back "Back"
-
-// d: Empty string
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define shortcut_emptycaption " "
-
-// d: Add page
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_add_page "Add page"
-
-// d: Select
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_options_select_widget "Select"
-
-// d: Add content
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_add_widget "Add content"
-
-// d: Access the widget catalog
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_widget_catalog "Widget catalog"
-
-// d: Search
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_search "Search"
-
-// d: Options
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_options "Options"
-
-// d: Refresh 
-// l: list_single_pane_t1_cp2/opt3
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_widget "Refresh"
-
-// d: Focused widget
-// l: list_single_popup_submenu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_one_widget "One"
-
-// d: All widgets 
-// l: list_single_popup_submenu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_all_widgets "All"
-
-// d: Remove content 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_remove_widget "Remove content"
-
-// d: Hide the content 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_hide_widgets "Hide the content"
-
-// d: Edit contents 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_edit_content "Edit content"
-
-// d: Change Wallpaper
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_wallpaper "Change Wallpaper"
-
-// d: Change Shortcut Settings
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_shortcut_settings "Change Shortcut Settings"
-
-// d: Widget settings
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_widget_settings "Widget settings"
-
-// d: Show widgets
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_show_widgets "Show the content"
-
-// d: Change Home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_page "Change Home screen page"
-
-// d: Change
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define qtn_msk_change "Change"
-
-// d: Show all profiles in Profiles widget
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_show_profiles "Show all profiles"
-
-// d: Right selection key
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_set_right_idle_softkey "Right selection key"
-
-// d: Select
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_select "Select"
-
-// d: Cancel
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_cancel "Cancel"
-
-// d: Options menu item which switches home to online. Web widgets get updates from network.
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_online "Switch Home to online"
-
-// d: Options menu item which switches home to offline. Web widgets are not updated
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_offline "Switch Home to offline"
-
-// d: String which is shown in long tap menu of Home screen if tapped widget has settings
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_settings "Settings"
-
-// d: String which is shown in long tap menu of Home screen if tapped some widget which is removable
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_remove_element "Remove"
-
-// d: String which is shown in long tap menu of Home screen if tapped empty space in home screen
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_add "Add content"
-
-// d: String which is shown in long tap menu of Home screen
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_change_longtap_wallpaper "Change wallpaper"
-
-// d: User can download new HS widgets. String is visible in add content list query
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_download_new_widgets "Download"
-
-// d: Changes focused widget
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_edit_replace "Replace"
-
-// d: deletes current home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_options_delete "Delete page"
-
-// d: creates new home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_options_new "New page"
-
-// d: view title in editing mode
-// l: title_pane_t2
-// w:
-// r: TB9.2
-#define qtn_hs_title_editing_view "Editing view"
-
-// d: Call
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_call "Call"
-
-// d: Added new option menu item to Edit mode for opening the widget catalog,
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_edit_widget_catalog "Widget Catalog"
-
-// d: Deletes the current Home screen page and focus goes to the next available Home screen page in Edit mode
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_edit_options_delete "Delete page"
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/rom/templateview.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Template view widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __AI3TEMPLATEVIEW_20026F50_IBY__
-#define __AI3TEMPLATEVIEW_20026F50_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\templateview_20026f50\hsps\00\manifest.dat \private\200159c0\install\templateview_20026f50\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __AI3TEMPLATEVIEW_20026F50_IBY__
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/rom/templateview_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Template view widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __AI3TEMPLATEVIEW_20026F50_CUSTOMER_IBY__
-#define __AI3TEMPLATEVIEW_20026F50_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\templateview_20026f50\xuikon\00\templateview.o0000 \private\200159c0\install\templateview_20026f50\xuikon\00\templateview.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __AI3TEMPLATEVIEW_20026F50_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/rom/templateview_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Template view widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __AI3TEMPLATEVIEW_20026F50_RESOURCES_IBY__
-#define __AI3TEMPLATEVIEW_20026F50_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\templateview_20026f50\xuikon\00\templateview.o0000 \private\200159c0\install\templateview_20026f50\xuikon\00\templateview.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __AI3TEMPLATEVIEW_20026F50_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/rom/templateview_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* Template view widget HSPS-plugin variant specific IBY file. 
-*
-*/
-
-#ifndef __AI3TEMPLATEVIEW_20026F50_VARIANT_IBY__
-#define __AI3TEMPLATEVIEW_20026F50_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\templateview_20026f50\hsps\00\templateviewconfiguration.xml \private\200159c0\install\templateview_20026f50\hsps\00\templateviewconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __AI3TEMPLATEVIEW_20026F50_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: ltr;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>E029CF57</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>11001234</ThemeUid>
-    <ThemeFullName>TemplateView</ThemeFullName>
-    <ThemeShortName>TemplateView</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>templateview.xml</FileXML>
-    <FileCSS>templateview.css</FileCSS>
-    <FileDTD>view.dtd</FileDTD>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xmluiml SYSTEM "View.dtd">
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <view id="hs_qhd_tch_templateview">
-        <actions>
-            <action>
-                <!-- End key -->
-                <trigger name="keyevent">
-                    <property name="scancode" value="197"/> ><!-- End key -->
-                    <property name="eventtype" value="1"/>
-                </trigger>
-                <!-- dismiss if edit mode active -->
-                <event name="system/reportexiteditmode"/>
-            </action>
-            <action>
-                <trigger name="editmode" value="enter"/>
-                <event name="system/set">
-                    <property name="name" value="focusable"/>
-                    <property name="value" value="true"/>
-                    <property name="type" value="string"/>
-                    <property name="class" value="plugins"/>
-                </event>
-                <event name="system/seteditmode">
-                    <property name="id" value="hs_popup_open_hold"/>                                                  
-                </event>                                    
-            </action>                
-            <action>
-                <trigger name="editmode" value="exit"/>
-                <event name="system/set">
-                    <property name="name" value="focusable"/>
-                    <property name="value" value="false"/>
-                    <property name="type" value="string"/>
-                    <property name="class" value="plugins"/>
-                </event>
-                <event name="system/reseteditmode">
-                    <property name="id" value="hs_popup_open_hold"/>                                        
-                </event>                                                    
-            </action>                                
-            <action>
-                <trigger name="swipe" direction="left" conditional="true"/>
-                <event name="system/activatenextview"/>
-                <event name="system/runfullscreeneffect" effectid="1003"/>
-            </action>
-            <action>
-                <trigger name="swipe" direction="right" conditional="true"/>
-                <event name="system/activatepreviousview"/>
-                <event name="system/runfullscreeneffect" effectid="1004"/>
-            </action>
-            <action>
-                <trigger name="screendevicechange" reason="portrait"/>
-                <event name="system/set">
-                    <property name="name" value="padding-left"/>
-                    <property name="value" value="17px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>
-                <event name="system/set">
-                    <property name="name" value="padding-right"/>
-                    <property name="value" value="17px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>
-            </action>
-            <action>
-                <trigger name="screendevicechange" reason="landscape"/>
-                <event name="system/set">
-                    <property name="name" value="padding-left"/>
-                    <property name="value" value="0px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>
-                <event name="system/set">
-                    <property name="name" value="padding-right"/>
-                    <property name="value" value="0px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>
-            </action>
-            <action>
-                <!-- No widgets in this view -->
-                <trigger name="widgetamount" value="0"/>
-                <event name="system/set">
-                    <!-- Hide "remove content" menuitem -->
-                    <property name="name" value="display"/>
-                    <property name="value" value="none"/>
-                    <property name="type" value="string"/>
-                    <property name="id" value="hs_remove_widget"/>
-                </event>
-            </action>
-            <action>
-                <!-- At least one widget added to this view -->
-                <trigger name="widgetamount" value="1"/>
-                <event name="system/set">
-                    <!-- Show "remove content" menuitem -->
-                    <property name="name" value="display"/>
-                    <property name="value" value="block"/>
-                    <property name="type" value="string"/>
-                    <property name="id" value="hs_remove_widget"/>
-                </event>
-            </action>
-        </actions>
-
-        <!-- Plugins in this view -->
-        <box id="plugins_container">
-            <plugin id="plugin1" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin2" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin3" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin4" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin5" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin6" class="plugins" actionshandler="plugin_actions" />
-        </box>
-
-        <!-- plugins' actions handler -->
-        <actionshandler id="plugin_actions">
-            <actions>
-                <action>
-                    <trigger id="hs_popup_open_hold" name="hold" conditional="true" />
-                    <event name="system/reportentereditmode" />
-                    <event name="system/runfullscreeneffect" effectid="1005"/>
-                </action>
-            </actions>
-        </actionshandler>
-
-        <!-- Avkon stylus popup menu is not layout capable -->
-        <styluspopup id="hs_popup_menu" display="none">
-            <!-- "Add content" item initialized in runtime to check whether popup is on top of empty space -->
-            <dynmenuitem id="hs_popup_add_widget" type="hs_add_widget" label="&qtn_hs_longtap_add;">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/runaddwidgetquery"/>
-                    </action>
-                </actions>
-            </dynmenuitem>
-            <!-- menuitems controlled by widgets' <menuextension> -->
-            <widgetmenuitem id="hs_popup_widget_settings" source="hs_widget_menuitem_settings" label="&qtn_hs_longtap_settings;" />
-            <widgetmenuitem id="hs_popup_widget_general_1" source="hs_widget_general_stylus_popup_1"/>
-            <widgetmenuitem id="hs_popup_widget_general_2" source="hs_widget_general_stylus_popup_2"/>
-            <!--<widgetmenuitem id="hs_popup_widget_refresh" source="hs_widget_menuitem_refresh" label="Refresh" />-->
-            <!-- "Remove" item initialized in runtime to check whether popup is on top of widget -->
-            <dynmenuitem id="hs_popup_remove_widget" type="hs_remove_widget" label="&qtn_hs_longtap_remove_element;">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/removefocusedwidget"/>
-                    </action>
-                </actions>
-            </dynmenuitem>
-        </styluspopup>
-        <menubar id="hs_menubar">
-            <!-- menu item grouping table is traversed through in run-time always when options menu is launched. -->
-            <menuitemgrouping>
-                <!-- These items are shown when content is visible -->
-                <menuitemgroup id="Menu/WidgetsShown">
-                    <property name="hs_widget_catalog"/>
-                    <property name="hs_edit_widgets"/>
-                    <property name="hs_set_online"/>
-                    <property name="hs_set_offline"/>
-                    <property name="hs_add_view"/>
-                    <property name="hs_remove_view"/>
-                </menuitemgroup>
-                <!-- These items are shown in edit mode, if not otherwise changed in the declaration -->
-                <menuitemgroup id="Menu/EditMode">
-                    <property name="hs_widget_catalog"/>
-                    <property name="hs_remove_widget"/>
-                    <property name="hs_widget_settings"/>
-                    <property name="hs_widget_general_1"/>
-                    <property name="hs_widget_general_2"/>
-                    <property name="hs_add_view"/>
-                    <property name="hs_remove_view"/>
-                    <property name="hs_change_wallpaper"/>
-                </menuitemgroup>
-                <!-- These items are always shown, if not otherwise changed in the declaration -->
-                <menuitemgroup id="Menu/AlwaysShown">
-                    <property name="hs_show_help"/>
-                </menuitemgroup>
-            </menuitemgrouping>
-            <menu id="hs_options_menu">
-                <menuitem id="hs_widget_catalog" label="&qtn_hs_widget_catalog;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/runaddwidgetquery"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <menuitem id="hs_add_widget" label="&qtn_hs_add_widget;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/runaddwidgetquery"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <!-- menuitems controlled by widgets' <menuextension> element -->
-                <widgetmenuitem id="hs_widget_settings" source="hs_widget_menuitem_settings" label="&qtn_hs_widget_settings;"/>
-                <widgetmenuitem id="hs_widget_general_1" source="hs_widget_general_options_menu_1"/>
-                <widgetmenuitem id="hs_widget_general_2" source="hs_widget_general_options_menu_2"/>
-                <dynmenuitem id="hs_remove_widget" type="hs_remove_widget" label="&qtn_hs_remove_widget;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/removefocusedwidget"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <!--<widgetmenuitem id="hs_widget_refresh" source="hs_widget_menuitem_refresh" label="&qtn_hs_refresh_widget;" />-->
-                <menuitem id="hs_edit_widgets" label="&qtn_hs_edit_content;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/reportentereditmode"/>
-                            <event name="system/runfullscreeneffect" effectid="1005"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <menuitem id="hs_change_wallpaper" label="&qtn_hs_change_wallpaper;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <!--Wallpaper-->
-                            <event name="system/setwallpaper"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <dynmenuitem id="hs_add_view" type="hs_add_view" label="&qtn_hs_page_options_new;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/addview"/>
-                            <event name="system/runfullscreeneffect" effectid="1009"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <dynmenuitem id="hs_remove_view" type="hs_remove_view" label="&qtn_hs_page_options_delete;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/removeview"/>
-                            <event name="system/runfullscreeneffect" effectid="1010"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <dynmenuitem id="hs_set_online" type="hs_online" label="&qtn_hs_online;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="EventHandler/SetOnline"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <dynmenuitem id="hs_set_offline" type="hs_offline" label="&qtn_hs_offline;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="EventHandler/SetOffline"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <menuitem id="hs_show_help" label="&qtn_options_help;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="EventHandler/ShowHelp"/>
-                        </action>
-                    </actions>
-                </menuitem>
-            </menu>
-            <softkey id="lsk" type="left" label="&text_softkey_options;">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/trydisplayingmenu">
-                            <property name="id" value="hs_options_menu"/>
-                        </event>
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="rsk" type="right" mode="mode_callinactive" label="&text_softkey_call;">
-                <actions>
-                    <action>                        
-                        <trigger name="activate"/>
-                        <event name="EventHandler/ActivateView" uid="0x100058B3" viewid="0x10282D81" messageid="0x1"/>
-                    </action>
-                    <action>
-                        <trigger name="hold"/>
-                        <!-- Voice command-->
-                        <event name="EventHandler/LaunchApp" uid="0x101F8543"/>
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="rsk_incall" type="right" mode="mode_callactive" label="&text_softkey_back;">
-                <actions>
-                    <action>                        
-                        <trigger name="activate"/>
-                        <event name="EventHandler/ActivatePhoneView" />
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="rsk_done" type="right" mode="mode_edit" label="&text_softkey_done;">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/reportexiteditmode"/>
-                        <event name="system/runfullscreeneffect" effectid="1006"/>
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="msk" type="middle" label="">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/activatenextview"/>
-                        <event name="system/runfullscreeneffect" effectid="1003"/>
-                    </action>
-                </actions>
-                <!--image id="switcher_icon"/-->
-            </softkey>
-        </menubar>
-    </view>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/view.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "templateview.dtd">
-<PartOf  : "AI3">
-
-<FileDescription: "Localization strings for AI3">
-<FileVersion    : >
-
-<Copyright:
-"Copyright (c) 2005 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!--
-qtn_options_help.attributes
-qtn_options_help.layout "list_single_pane_t1_cp2"
-qtn_options_help.release "TB9.2"
-qtn_options_help.description "Help"
-qtn_options_help.grammar "Help"
-qtn_options_help.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_help "Help">
-
-<!--
-qtn_msk_open.attributes
-qtn_msk_open.layout "control_pane_t1/opt7"
-qtn_msk_open.release "TB9.2"
-qtn_msk_open.description "Open"
-qtn_msk_open.grammar "Open"
-qtn_msk_open.parents "control_pane"
--->
-<!ENTITY qtn_msk_open "Open">
-
-<!--
-text_softkey_done.attributes
-text_softkey_done.layout "control_pane_t1/opt7"
-text_softkey_done.release "TB9.2"
-text_softkey_done.description "Done"
-text_softkey_done.grammar "Done"
-text_softkey_done.parents "control_pane"
--->
-<!ENTITY text_softkey_done "Done">
-
-<!--
-qtn_options_open.attributes
-qtn_options_open.layout "list_single_pane_t1_cp2"
-qtn_options_open.release "TB9.2"
-qtn_options_open.description "Open"
-qtn_options_open.grammar "Open"
-qtn_options_open.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_open "Open">
-
-<!--
-text_softkey_back.attributes
-text_softkey_back.layout "control_pane_t1/opt7"
-text_softkey_back.release "TB9.2"
-text_softkey_back.description "Back text for SK2"
-text_softkey_back.parents "control_pane"
--->
-<!ENTITY text_softkey_back "Back">
-
-<!--
-shortcut_EmptyCaption.attributes
-shortcut_EmptyCaption.layout "control_pane_t1/opt7"
-shortcut_EmptyCaption.release "TB9.2"
-shortcut_EmptyCaption.description "Empty shortcut"
-shortcut_EmptyCaption.parents "list_ai2_gene_pane"
--->
-<!ENTITY shortcut_EmptyCaption " ">
-
-<!--
-qtn_hs_add_page.attributes
-qtn_hs_add_page.layout "list_single_pane_t1_cp2"
-qtn_hs_add_page.release "TB9.2"
-qtn_hs_add_page.description "Add page"
-qtn_hs_add_page.grammar "Add page"
-qtn_hs_add_page.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_add_page "Add page">
-
-<!--
-qtn_options_select_widget.attributes
-qtn_options_select_widget.layout "list_single_pane_t1_cp2"
-qtn_options_select_widget.release "TB9.2"
-qtn_options_select_widget.description "Select"
-qtn_options_select_widget.grammar "Select"
-qtn_options_select_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_select_widget "Select">
-
-<!--
-qtn_hs_add_widget.attributes
-qtn_hs_add_widget.layout "list_single_pane_t1_cp2"
-qtn_hs_add_widget.release "TB9.2"
-qtn_hs_add_widget.description "Add content"
-qtn_hs_add_widget.grammar "Add content"
-qtn_hs_add_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_add_widget "Add content">
-
-<!--
-qtn_hs_widget_catalog.attributes
-qtn_hs_widget_catalog.layout "list_single_pane_t1_cp2"
-qtn_hs_widget_catalog.release "TB9.2"
-qtn_hs_widget_catalog.description "Widget catalog"
-qtn_hs_widget_catalog.grammar "Widget catalog"
-qtn_hs_widget_catalog.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_widget_catalog "Widget catalog">
-
-<!--
-text_softkey_search.attributes
-text_softkey_search.layout "control_pane_t1/opt7"
-text_softkey_search.release "TB9.2"
-text_softkey_search.description "Search"
-text_softkey_search.grammar "Search"
-text_softkey_search.parents "control_pane"
--->
-<!ENTITY text_softkey_search "Search">
-
-<!--
-text_softkey_options.attributes
-text_softkey_options.layout "control_pane_t1/opt7"
-text_softkey_options.release "TB9.2"
-text_softkey_options.description "Options"
-text_softkey_options.grammar "Options"
-text_softkey_options.parents "control_pane"
--->
-<!ENTITY text_softkey_options "Options">
-
-<!--
-qtn_hs_refresh_widget.attributes
-qtn_hs_refresh_widget.layout "list_single_pane_t1_cp2/opt3"
-qtn_hs_refresh_widget.release "TB9.2"
-qtn_hs_refresh_widget.description "Refresh"
-qtn_hs_refresh_widget.grammar "Refresh"
-qtn_hs_refresh_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_refresh_widget "Refresh">
-
-<!--
-qtn_hs_refresh_one_widget.attributes
-qtn_hs_refresh_one_widget.layout "list_single_popup_submenu_pane_t1"
-qtn_hs_refresh_one_widget.release "TB9.2"
-qtn_hs_refresh_one_widget.description "One"
-qtn_hs_refresh_one_widget.grammar "One"
-qtn_hs_refresh_one_widget.parents "list_single_popup_submenu_pane"
--->
-<!ENTITY qtn_hs_refresh_one_widget "One">
-
-<!--
-qtn_hs_refresh_all_widgets.attributes
-qtn_hs_refresh_all_widgets.layout "list_single_popup_submenu_pane_t1"
-qtn_hs_refresh_all_widgets.release "TB9.2"
-qtn_hs_refresh_all_widgets.description "All"
-qtn_hs_refresh_all_widgets.grammar "All"
-qtn_hs_refresh_all_widgets.parents "list_single_popup_submenu_pane"
--->
-<!ENTITY qtn_hs_refresh_all_widgets "All">
-
-<!--
-qtn_hs_remove_widget.attributes
-qtn_hs_remove_widget.layout "list_single_pane_t1_cp2"
-qtn_hs_remove_widget.release "TB9.2"
-qtn_hs_remove_widget.description "Remove content"
-qtn_hs_remove_widget.grammar "Remove content"
-qtn_hs_remove_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_remove_widget "Remove content">
-
-<!--
-qtn_hs_hide_widgets.attributes
-qtn_hs_hide_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_hide_widgets.release "TB9.2"
-qtn_hs_hide_widgets.description "Hide the content"
-qtn_hs_hide_widgets.grammar "Hide the content"
-qtn_hs_hide_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_hide_widgets "Hide the content">
-
-<!--
-qtn_hs_edit_content.attributes
-qtn_hs_edit_content.layout "list_single_pane_t1_cp2"
-qtn_hs_edit_content.release "TB9.2"
-qtn_hs_edit_content.description "Edit contents"
-qtn_hs_edit_content.grammar "Edit contents"
-qtn_hs_edit_content.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_edit_content "Edit content">
-
-<!--
-qtn_hs_change_wallpaper.attributes
-qtn_hs_change_wallpaper.layout "list_single_pane_t1_cp2"
-qtn_hs_change_wallpaper.release "TB9.2"
-qtn_hs_change_wallpaper.description "Change Wallpaper"
-qtn_hs_change_wallpaper.grammar "Change Wallpaper"
-qtn_hs_change_wallpaper.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_wallpaper "Change Wallpaper">
-
-<!--
-qtn_hs_change_shortcut_settings.attributes
-qtn_hs_change_shortcut_settings.layout "list_single_pane_t1_cp2"
-qtn_hs_change_shortcut_settings.release "TB9.2"
-qtn_hs_change_shortcut_settings.description "Change Shortcut Settings"
-qtn_hs_change_shortcut_settings.grammar "Change Shortcut Settings"
-qtn_hs_change_shortcut_settings.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_shortcut_settings "Change Shortcut Settings">
-
-<!--
-qtn_hs_widget_settings.attributes
-qtn_hs_widget_settings.layout "list_single_pane_t1_cp2"
-qtn_hs_widget_settings.release "TB9.2"
-qtn_hs_widget_settings.description "Widget settings"
-qtn_hs_widget_settings.grammar "Widget settings"
-qtn_hs_widget_settings.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_widget_settings "Widget settings">
-
-<!--
-qtn_hs_show_widgets.attributes
-qtn_hs_show_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_show_widgets.release "TB9.2"
-qtn_hs_show_widgets.description "Show widgets"
-qtn_hs_show_widgets.grammar "Show widgets"
-qtn_hs_show_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_show_widgets "Show the content">
-
-<!--
-qtn_hs_change_page.attributes
-qtn_hs_change_page.layout "list_single_pane_t1_cp2"
-qtn_hs_change_page.release "TB9.2"
-qtn_hs_change_page.description "Change Home screen page"
-qtn_hs_change_page.grammar "Change Home screen page"
-qtn_hs_change_page.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_page "Change Home screen page">
-
-<!--
-qtn_msk_change.attributes
-qtn_msk_change.layout "control_pane_t1/opt7"
-qtn_msk_change.release "TB9.2"
-qtn_msk_change.description "Change"
-qtn_msk_change.grammar "Change"
-qtn_msk_change.parents "control_pane"
--->
-<!ENTITY qtn_msk_change "Change">
-
-<!--
-qtn_hs_show_profiles.attributes
-qtn_hs_show_profiles.layout "list_single_pane_t1_cp2"
-qtn_hs_show_profiles.release "TB9.2"
-qtn_hs_show_profiles.description "Show all profiles"
-qtn_hs_show_profiles.grammar "Show all profiles"
-qtn_hs_show_profiles.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_show_profiles "Show all profiles">
-
-<!--
-qtn_set_right_idle_softkey.attributes
-qtn_set_right_idle_softkey.layout "list_single_pane_t1_cp2"
-qtn_set_right_idle_softkey.release "TB9.2"
-qtn_set_right_idle_softkey.description "Right selection key"
-qtn_set_right_idle_softkey.grammar "Right selection key"
-qtn_set_right_idle_softkey.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_set_right_idle_softkey "Right selection key">
-
-<!--
-text_softkey_select.attributes
-text_softkey_select.layout "control_pane_t1/opt7"
-text_softkey_select.release "TB9.2"
-text_softkey_select.description "Select"
-text_softkey_select.grammar "Select"
-text_softkey_select.parents "control_pane"
--->
-<!ENTITY text_softkey_select "Select">
-
-<!--
-text_softkey_cancel.attributes
-text_softkey_cancel.layout "control_pane_t1/opt7"
-text_softkey_cancel.release "TB9.2"
-text_softkey_cancel.description "Cancel"
-text_softkey_cancel.grammar "Cancel"
-text_softkey_cancel.parents "control_pane"
--->
-<!ENTITY text_softkey_cancel "Cancel">
-
-<!--
-qtn_hs_online.attributes
-qtn_hs_online.layout "list_single_pane_t1_cp2"
-qtn_hs_online.release "TB9.2"
-qtn_hs_online.description "Online"
-qtn_hs_online.grammar "Online"
-qtn_hs_online.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_online "Switch Home to online">
-
-<!--
-qtn_hs_offline.attributes
-qtn_hs_offline.layout "list_single_pane_t1_cp2"
-qtn_hs_offline.release "TB9.2"
-qtn_hs_offline.description "Offline"
-qtn_hs_offline.grammar "Offline"
-qtn_hs_offline.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_offline "Switch Home to offline">
-
-<!--
-qtn_hs_longtap_settings.attributes
-qtn_hs_longtap_settings.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_settings.release "TB9.2"
-qtn_hs_longtap_settings.description "String which is shown in long tap menu of Home screen if tapped widget has settings."
-qtn_hs_longtap_settings.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_settings "Settings">
-
-<!--
-qtn_hs_longtap_remove_element.attributes
-qtn_hs_longtap_remove_element.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_remove_element.release "TB9.2"
-qtn_hs_longtap_remove_element.description "String which is shown in long tap menu of Home screen if tapped some widget which is removable."
-qtn_hs_longtap_remove_element.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_remove_element "Remove">
-
-<!--
-qtn_hs_longtap_add.attributes
-qtn_hs_longtap_add.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_add.release "TB9.2"
-qtn_hs_longtap_add.description "String which is shown in long tap menu of Home screen if tapped empty space in home screen."
-qtn_hs_longtap_add.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_add  "Add content">
-
-<!--
-qtn_hs_change_longtap_wallpaper.attributes
-qtn_hs_change_longtap_wallpaper.layout "list_single_touch_menu_pane_t1"
-qtn_hs_change_longtap_wallpaper.release "TB9.2"
-qtn_hs_change_longtap_wallpaper.description "String which is shown in long tap menu of Home screen."
-qtn_hs_change_longtap_wallpaper.parents "control_pane"
--->
-<!ENTITY qtn_hs_change_longtap_wallpaper "Change wallpaper">
-
-<!--
-qtn_hs_download_new_widgets.attributes
-qtn_hs_download_new_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_download_new_widgets.release "TB9.2"
-qtn_hs_download_new_widgets.description "User can download new HS widgets String is visible in add content list query"
-qtn_hs_download_new_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_download_new_widgets "Download">
-
-<!--
-qtn_hs_edit_replace.attributes
-qtn_hs_edit_replace.layout "list_single_touch_menu_pane_t1"
-qtn_hs_edit_replace.release "TB9.2"
-qtn_hs_edit_replace.description "Changes focused widget"
-qtn_hs_edit_replace.parents ""
--->
-<!ENTITY qtn_hs_edit_replace "Replace">
-
-<!--
-qtn_hs_page_options_delete.attributes
-qtn_hs_page_options_delete.layout "list_single_pane_t1_cp2"
-qtn_hs_page_options_delete.release "TB9.2"
-qtn_hs_page_options_delete.description "deletes current home screen page"
-qtn_hs_page_options_delete.parents ""
--->
-<!ENTITY qtn_hs_page_options_delete "Delete page">
-
-<!--
-qtn_hs_page_options_new.attributes
-qtn_hs_page_options_new.layout "list_single_pane_t1_cp2"
-qtn_hs_page_options_new.release "TB9.2"
-qtn_hs_page_options_new.description "creates new home screen page"
-qtn_hs_page_options_new.parents ""
--->
-<!ENTITY qtn_hs_page_options_new "New page">
-
-<!--
-qtn_hs_title_editing_view.attributes
-qtn_hs_title_editing_view.layout "title_pane_t2"
-qtn_hs_title_editing_view.release "TB9.2"
-qtn_hs_title_editing_view.description "view title in editing mode"
-qtn_hs_title_editing_view.parents ""
--->
-<!ENTITY qtn_hs_title_editing_view "Editing view">
-
-<!--
-text_softkey_call.attributes
-text_softkey_call.layout "control_pane_t1/opt7"
-text_softkey_call.release "TB9.2"
-text_softkey_call.description "RSK caption call inactive"
-text_softkey_call.parents ""
--->
-<!ENTITY text_softkey_call "Call">
-
-<!--
-qtn_hs_edit_widget_catalog.attributes
-qtn_hs_edit_widget_catalog.layout "list_single_pane_t1_cp2"
-qtn_hs_edit_widget_catalog.release "TB9.2"
-qtn_hs_edit_widget_catalog.description "Added new option menu item to Edit mode for opening the widget catalog"
-qtn_hs_edit_widget_catalog.grammar "Widget Catalog"
-qtn_hs_edit_widget_catalog.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_edit_widget_catalog "Widget Catalog">
-
-<!--
-qtn_hs_page_edit_options_delete.attributes
-qtn_hs_page_edit_options_delete.layout "list_single_pane_t1_cp2"
-qtn_hs_page_edit_options_delete.release "TB9.2"
-qtn_hs_page_edit_options_delete.description "Deletes the current Home screen page and focus goes to the next available Home screen page in Edit mode"
-qtn_hs_page_edit_options_delete.parents ""
--->
-<!ENTITY qtn_hs_page_edit_options_delete "Delete page">
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/37/templateview.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: rtl;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-    background-color: "SKIN(268458534 9916)";
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/50/templateview.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: rtl;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-    background-color: "SKIN(268458534 9916)";
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/57/templateview.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: rtl;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-    background-color: "SKIN(268458534 9916)";
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/94/templateview.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: rtl;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-    background-color: "SKIN(268458534 9916)";
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002-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: 
-* The information required for building 
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/threerows_2001f486/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/threerows_2001f486/hsps/widgetconfiguration.xml
-../xuikon/00/threerows.dat /epoc32/data/Z/resource/homescreen/threerows_2001f486/xuikon/threerows_2001f486.dat
-../xuikon/00/threerows.css /epoc32/data/Z/resource/homescreen/threerows_2001f486/xuikon/threerows.css
-../xuikon/00/threerows.xml /epoc32/data/Z/resource/homescreen/threerows_2001f486/xuikon/threerows.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/threerows.css /epoc32/data/Z/resource/homescreen/threerows_2001f486/xuikon/37/threerows.css
-../xuikon/50/threerows.css /epoc32/data/Z/resource/homescreen/threerows_2001f486/xuikon/50/threerows.css
-../xuikon/57/threerows.css /epoc32/data/Z/resource/homescreen/threerows_2001f486/xuikon/57/threerows.css
-../xuikon/94/threerows.css /epoc32/data/Z/resource/homescreen/threerows_2001f486/xuikon/94/threerows.css
-
-
-// Support for S60 builds
-//***********************
-../rom/threerows_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(threerows_2001f486_resources.iby)
-../rom/threerows_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(threerows_2001f486_customer.iby)
-../rom/threerows_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(threerows_2001f486_variant.iby)
-../rom/threerows.iby CORE_APP_LAYER_IBY_EXPORT_PATH(threerows_2001f486.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME threerows_2001f486
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-
-
-  <family>qhd_tch</family>
-
-  
-
-  <type>template</type>
-
-
-
-  <!-- interface uid -->
-
-	<interfaceuid>0x2001f48a</interfaceuid>
-
-
-
-	<!-- vendor uid  -->
-
-	<provideruid>0x101fb657</provideruid>
-
-
-
-	<!-- uid -->
-
-	<configurationuid>0x2001f486</configurationuid>
-
-	
-
-	<!-- description -->
-
-	<fullname>threerows</fullname>
-
-	<shortname>thrs</shortname>
-
-	<version>1.0</version>
-
-
-
-	<!-- configuration -->
-
-	<filexml>widgetconfiguration.xml</filexml>
-
-
-
-  <!-- Locale independent/common resources -->
-
-
-
-  <!-- Locale specific resources -->
-
-	<localization>
-
-  	<fileresource>threerows.o0000</fileresource>		
-
-	</localization>
-
-
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="threerows_plugin" name="ContentSource">
-            <property  name="name" value=""/>
-          </item>
-          <!--Def value "Test_Publisher"-->
-          <item id="pub_id" name="publisher">
-            <property name="value" value=""/> 
-          </item>
-          
-          <!-- Template designer choice -->
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="image1"/>
-          </item>
-					<!-- Template designer choice -->
-          <item id="p1trigger" name="trigger" > 
-            <property  name="name" value="image1"/> 
-          </item>
-          
-          <!-- Template designer choice -->
-          <item id="prop2" name="contentdata">
-            <property  name="class" value="text1"/>
-          </item>
-          <!-- Template designer choice -->
-          <item id="p2trigger" name="trigger" > 
-            <property  name="name" value="text1"/> 
-          </item>
-          
-          <!-- Template designer choice -->
-          <item id="prop3" name="contentdata">
-            <property  name="class" value="text2"/>
-          </item>
-				 <!-- Template designer choice -->
-		     <item id="p3trigger" name="trigger" > 
-            <property  name="name" value="text2"/> 
-          </item>            
-          
-          <!-- Template designer choice -->
-          <item id="prop4" name="contentdata">
-            <property  name="class" value="text3"/>
-          </item>
-         <!-- Template designer choice -->
-		     <item id="p4trigger" name="trigger" > 
-            <property  name="name" value="text3"/> 
-         </item>             
-             
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/rom/threerows.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  
-* threerows widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __THREEROWS_2001F486_IBY__
-#define __THREEROWS_2001F486_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\threerows_2001f486\hsps\00\manifest.dat \private\200159c0\install\threerows_2001f486\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __THREEROWS_2001F486_IBY__
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/rom/threerows_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  
-* threerows widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __THREEROWS_2001F486_CUSTOMER_IBY__
-#define __THREEROWS_2001F486_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\threerows_2001f486\xuikon\00\threerows.o0000 \private\200159c0\install\threerows_2001f486\xuikon\00\threerows.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __THREEROWS_2001F486_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/rom/threerows_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* threerows widget HSPS-plugin language specific IBY file. 
-*
-*/
-
-#ifndef __THREEROWS_2001F486_RESOURCES_IBY__
-#define __THREEROWS_2001F486_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\threerows_2001f486\xuikon\37\threerows.o0037 \private\200159c0\install\threerows_2001f486\xuikon\37\threerows.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\threerows_2001f486\xuikon\50\threerows.o0050 \private\200159c0\install\threerows_2001f486\xuikon\50\threerows.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\threerows_2001f486\xuikon\57\threerows.o0057 \private\200159c0\install\threerows_2001f486\xuikon\57\threerows.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\threerows_2001f486\xuikon\94\threerows.o0094 \private\200159c0\install\threerows_2001f486\xuikon\94\threerows.o0094
-#endif
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __THREEROWS_2001F486_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/rom/threerows_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* threerows widget HSPS-plugin variant specific IBY file. 
-*
-*/
-
-#ifndef __THREEROWS_2001F486_VARIANT_IBY__
-#define __THREEROWS_2001F486_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\threerows_2001f486\hsps\00\widgetconfiguration.xml \private\200159c0\install\threerows_2001f486\hsps\00\widgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __SHORTCUT_2001F486_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/00/threerows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-widget#threerows_template
-{
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align:left;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/00/threerows.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F8</ThemeUid>
-    <ThemeFullName>threerows</ThemeFullName>
-    <ThemeShortName>threerows</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>threerows.xml</FileXML>
-    <FileCSS>threerows.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/00/threerows.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
-    <widget id="threerows_template">
-        <!-- Data plugin in this widget -->
-        <contentsource id="threerows_plugin" name="" value="0x20019594" />
-        
-        <configuration name="service" value="Service.ContentPublishing"/>
-        <configuration name="interface" value="IContentPublishing"/>
-        <configuration name="command" value="GetList"/>
-        <configuration id="pub_id" name="publisher" value=""/>
-
- 			  <image id="image_container" focusable="true" _s60-initial-focus="1">
- 			    <!-- Template designer choice -->
-            <actions>
-	          <action>
-	            <trigger name="activate"/>
-	            <event id="p1trigger" name=""/>
-	          </action>
-	        </actions>
-	        <configuration name="content_type" value="image1"/>
-          <property id="prop1" class=""/>
-      	</image>
-      	
-      	<box id="text_container">
-	        <text id="row1" class="text_box" focusable="true" >
-	          <!-- Template designer choice -->
-		        <actions>
-		          <action>
-		            <trigger name="activate"/>
-		            <event id="p2trigger" name=""/>
-		          </action>
-		        </actions>
-		        <configuration name="content_type" value="text1"/>
-	          <property id="prop2" class=""/>
-	      	</text>
-	      	
-	      	<text id="row2" class="text_box" focusable="true" >
-	      	  <!-- Template designer choice -->
-		      	<actions>
-		          <action>
-		            <trigger name="activate"/>
-		            <event id="p3trigger" name=""/>
-		          </action>
-		        </actions>
-		        <configuration name="content_type" value="text2"/>
-	          <property id="prop3" class=""/>
-	      	</text>
-	      	
-	      	<text id="row3" class="text_box" focusable="true" >
-	      	  <!-- Template designer choice -->
-		      	<actions>
-		          <action>
-		            <trigger name="activate"/>
-		            <event id="p4trigger" name=""/>
-		          </action>
-		        </actions>
-		        <configuration name="content_type" value="text3"/>
-	          <property id="prop4" class=""/>
-	      	</text>
-				</box>
-				<menuextension>
-            <!-- dynmenuitems are mapped to HS view.xml menu based on target attribute.
-                 HS view.xml provides localisation for predined items: "settings" and "refresh". -->                
-            <dynmenuitem type="widgetsettings" target="hs_widget_menuitem_settings">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(widgetsettings)" destination="threerows_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>                    
-            <dynmenuitem type="refresh" target="hs_widget_menuitem_refresh">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(refresh)" destination="threerows_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>        
-        </menuextension>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/37/threerows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget#threerows_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/50/threerows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget#threerows_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/57/threerows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-widget#threerows_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
-
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/94/threerows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget#threerows_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002-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:
-* The information required for building
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/hsps/widgetconfiguration.xml
-../xuikon/00/threetextrows.dat /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/xuikon/threetextrows_2001f487.dat
-../xuikon/00/threetextrows.css /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/xuikon/threetextrows.css
-../xuikon/00/threetextrows.xml /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/xuikon/threetextrows.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/threetextrows.css /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/xuikon/37/threetextrows.css
-../xuikon/50/threetextrows.css /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/xuikon/50/threetextrows.css
-../xuikon/57/threetextrows.css /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/xuikon/57/threetextrows.css
-../xuikon/94/threetextrows.css /epoc32/data/Z/resource/homescreen/threetextrows_2001f487/xuikon/94/threetextrows.css
-
-
-// Support for S60 builds
-//***********************
-../rom/threetextrows_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(threetextrows_2001f487_resources.iby)
-../rom/threetextrows_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(threetextrows_2001f487_customer.iby)
-../rom/threetextrows_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(threetextrows_2001f487_variant.iby)
-../rom/threetextrows.iby CORE_APP_LAYER_IBY_EXPORT_PATH(threetextrows_2001f487.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME threetextrows_2001f487
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//#endif
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-
-
-  <family>qhd_tch</family>
-
-
-
-  <type>template</type>
-
-
-
-  <!-- interface uid -->
-
-	<interfaceuid>0x2001f48a</interfaceuid>
-
-
-
-	<!-- vendor uid  -->
-
-	<provideruid>0x101fb657</provideruid>
-
-
-
-	<!-- uid -->
-
-	<configurationuid>0x2001f487</configurationuid>
-
-	
-
-	<!-- description -->
-
-	<fullname>threetextrows</fullname>
-
-	<shortname>thtxtrs</shortname>
-
-	<version>1.0</version>
-
-
-
-	<!-- configuration -->
-
-	<filexml>widgetconfiguration.xml</filexml>
-
-
-
-  <!-- Locale independent/common resources -->
-
-
-
-
-
-  <!-- Locale specific resources -->
-
-	<localization>
-
-  	<fileresource>threetextrows.o0000</fileresource>	
-
-  </localization>
-
-
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="threetextrows_plugin" name="ContentSource">
-            <property  name="name" value=""/>
-          </item>
-          <!--Def value "Test_Publisher"-->
-          <item id="pub_id" name="publisher">
-            <property name="value" value=""/> 
-          </item>
-          
-          <!-- Template designer choice -->
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="text1"/>
-          </item>
-				  <!-- Template designer choice -->
-          <item id="p1trigger" name="trigger" > 
-            <property  name="name" value="text1"/> 
-          </item>
-          
-          <!-- Template designer choice -->
-          <item id="prop2" name="contentdata">
-            <property  name="class" value="text2"/>
-          </item>
-          <!-- Template designer choice -->
-          <item id="p2trigger" name="trigger" > 
-            <property  name="name" value="text2"/> 
-          </item>
-          
-          <!-- Template designer choice -->
-          <item id="prop3" name="contentdata">
-            <property  name="class" value="text3"/>
-          </item>
-				  <!-- Template designer choice -->             
-          <item id="p3trigger" name="trigger"> 
-            <property  name="name" value="text3"/> 
-          </item>
-          
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/rom/threetextrows.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* threetextrows widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __THREETEXTROWS_2001F487_IBY__
-#define __THREETEXTROWS_2001F487_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\threetextrows_2001f487\hsps\00\manifest.dat \private\200159c0\install\threetextrows_2001f487\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __THREETEXTROWS_2001F487_IBY__
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/rom/threetextrows_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* threetextrows widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __THREETEXTROWS_2001F487_CUSTOMER_IBY__
-#define __THREETEXTROWS_2001F487_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\threetextrows_2001f487\xuikon\00\threetextrows.o0000 \private\200159c0\install\threetextrows_2001f487\xuikon\00\threetextrows.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __THREETEXTROWS_2001F487_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/rom/threetextrows_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* threetextrows widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __THREETEXTROWS_2001F487_RESOURCES_IBY__
-#define __THREETEXTROWS_2001F487_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\threetextrows_2001f487\xuikon\37\threetextrows.o0037 \private\200159c0\install\threetextrows_2001f487\xuikon\37\threetextrows.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\threetextrows_2001f487\xuikon\50\threetextrows.o0050 \private\200159c0\install\threetextrows_2001f487\xuikon\50\threetextrows.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\threetextrows_2001f487\xuikon\57\threetextrows.o0057 \private\200159c0\install\threetextrows_2001f487\xuikon\57\threetextrows.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\threetextrows_2001f487\xuikon\94\threetextrows.o0094 \private\200159c0\install\threetextrows_2001f487\xuikon\94\threetextrows.o0094
-#endif
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __THREETEXTROWS_2001F487_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/rom/threetextrows_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* threetextrows widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-#ifndef __THREETEXTROWS_2001F487_VARIANT_IBY__
-#define __THREETEXTROWS_2001F487_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\threetextrows_2001f487\hsps\00\widgetconfiguration.xml \private\200159c0\install\threetextrows_2001f487\hsps\00\widgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __THREETEXTROWS_2001F487_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/00/threetextrows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align:left;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/00/threetextrows.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F9</ThemeUid>
-    <ThemeFullName>threetextrows</ThemeFullName>
-    <ThemeShortName>threetextrows</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>threetextrows.xml</FileXML>
-    <FileCSS>threetextrows.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/00/threetextrows.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
-    <widget id="threetextrows_template">
-        <!-- Data plugin in this widget -->
-        <contentsource id="threetextrows_plugin" name="" value="0x20019594" />
-        
-        <configuration name="service" value="Service.ContentPublishing"/>
-        <configuration name="interface" value="IContentPublishing"/>
-        <configuration name="command" value="GetList"/>
-        <configuration id="pub_id" name="publisher" value=""/>
-      	
-      	<box id="text_container">
-	        <text id="row1" class="text_box" focusable="true" _s60-initial-focus="1">
-	         <!-- Template designer choice -->
-		       <actions>
-	           <action>
-	            <trigger name="activate"/>
-	            <event id="p1trigger" name=""/>
-	           </action>
-	          </actions>
-	          <configuration name="content_type" value="text1"/>
-	          <property id="prop1" class=""/>
-	      	</text>
-	      	
-	      	<text id="row2"  class="text_box" focusable="true" >
-	      	  <!-- Template designer choice -->
-	      	  <actions>
-	           <action>
-	            <trigger name="activate"/>
-	            <event id="p2trigger" name=""/>
-	           </action>
-	          </actions>
-	          <configuration name="content_type" value="text2"/>
-	          <property id="prop2" class=""/>
-	      	</text>
-	      	
-	      	<text id="row3"  class="text_box" focusable="true" >
-	      	  <!-- Template designer choice -->
-	      	  <actions>
-	           <action>
-	            <trigger name="activate"/>
-	            <event id="p3trigger" name=""/>
-	           </action>
-	          </actions>
-	          <configuration name="content_type" value="text3"/>
-	          <property id="prop3" class=""/>
-	      	</text>
-				</box>
-				<menuextension>
-            <!-- dynmenuitems are mapped to HS view.xml menu based on target attribute.
-                 HS view.xml provides localisation for predined items: "settings" and "refresh". -->                
-            <dynmenuitem type="widgetsettings" target="hs_widget_menuitem_settings">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(widgetsettings)" destination="threetextrows_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>                    
-            <dynmenuitem type="refresh" target="hs_widget_menuitem_refresh">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(refresh)" destination="threetextrows_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>        
-        </menuextension>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/37/threetextrows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/50/threetextrows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/57/threetextrows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/94/threetextrows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-text.text_box
-{
-    padding-left:8px;
-    padding-right:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color: "SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002-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:
-* The information required for building
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/tworows_2001f488/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/tworows_2001f488/hsps/widgetconfiguration.xml
-../xuikon/00/tworows.dat /epoc32/data/Z/resource/homescreen/tworows_2001f488/xuikon/tworows_2001f488.dat
-../xuikon/00/tworows.css /epoc32/data/Z/resource/homescreen/tworows_2001f488/xuikon/tworows.css
-../xuikon/00/tworows.xml /epoc32/data/Z/resource/homescreen/tworows_2001f488/xuikon/tworows.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/tworows.css /epoc32/data/Z/resource/homescreen/tworows_2001f488/xuikon/37/tworows.css
-../xuikon/50/tworows.css /epoc32/data/Z/resource/homescreen/tworows_2001f488/xuikon/50/tworows.css
-../xuikon/57/tworows.css /epoc32/data/Z/resource/homescreen/tworows_2001f488/xuikon/57/tworows.css
-../xuikon/94/tworows.css /epoc32/data/Z/resource/homescreen/tworows_2001f488/xuikon/94/tworows.css
-
-
-// Support for S60 builds
-//***********************
-../rom/tworows_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(tworows_2001f488_resources.iby)
-../rom/tworows_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(tworows_2001f488_customer.iby)
-../rom/tworows_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(tworows_2001f488_variant.iby)
-../rom/tworows.iby CORE_APP_LAYER_IBY_EXPORT_PATH(tworows_2001f488.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME tworows_2001f488
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-
-
-  <family>qhd_tch</family>
-
-
-
-  <type>template</type>
-
-
-
-  <!-- interface uid -->
-
-	<interfaceuid>0x2001f48a</interfaceuid>
-
-
-
-	<!-- vendor uid  -->
-
-	<provideruid>0x101fb657</provideruid>
-
-
-
-	<!-- uid -->
-
-	<configurationuid>0x2001f488</configurationuid>
-
-	
-
-	<!-- description -->
-
-	<fullname>tworows</fullname>
-
-	<shortname>twrs</shortname>
-
-	<version>1.0</version>
-
-
-
-	<!-- configuration -->
-
-	<filexml>widgetconfiguration.xml</filexml>
-
-
-
-  <!-- Locale independent/common resources -->
-
-
-
-  <!-- Locale specific resources -->
-
-	<localization>
-
-  	<fileresource>tworows.o0000</fileresource>	
-
-  </localization>
-
-
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="tworows_plugin" name="ContentSource">
-            <property  name="name" value=""/>
-          </item>
-          <!--Def value "Test_Publisher"-->
-          <item id="pub_id" name="publisher">
-            <property name="value" value=""/> 
-          </item>
-          
-          <!--Template designer choice-->
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="image1"/>
-          </item>
-          <!--Template designer choice-->
-          <item id="p1trigger" name="trigger"> 
-            <property  name="name" value="image1"/>  
-          </item>
-          
-          <!--Template designer choice-->
-          <item id="prop2" name="contentdata">
-            <property  name="class" value="text1"/>
-          </item>
-					<!--Template designer choice-->
-          <item id="p2trigger" name="trigger" > 
-            <property  name="name" value="text1"/>  
-          </item>
-          
-          <!--Template designer choice-->   
-          <item id="prop3" name="contentdata">
-            <property  name="class" value="text2"/>
-          </item>
-           <!--Template designer choice-->
-          <item id="p3trigger" name="trigger" > 
-            <property  name="name" value="text2"/>  
-          </item>          
-               
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/rom/tworows.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* tworows widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __TWOROWS_2001F488_IBY__
-#define __TWOROWS_2001F488_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\tworows_2001f488\hsps\00\manifest.dat \private\200159c0\install\tworows_2001f488\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __TWOROWS_2001F488_IBY__
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/rom/tworows_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* tworows widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __TWOROWS_2001F488_CUSTOMER_IBY__
-#define __TWOROWS_2001F488_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\tworows_2001f488\xuikon\00\tworows.o0000 \private\200159c0\install\tworows_2001f488\xuikon\00\tworows.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __TWOROWS_2001F488_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/rom/tworows_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* tworows widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __TWOROWS_2001F488_RESOURCES_IBY__
-#define __TWOROWS_2001F488_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\tworows_2001f488\xuikon\37\tworows.o0037 \private\200159c0\install\tworows_2001f488\xuikon\37\tworows.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\tworows_2001f488\xuikon\50\tworows.o0050 \private\200159c0\install\tworows_2001f488\xuikon\50\tworows.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\tworows_2001f488\xuikon\57\tworows.o0057 \private\200159c0\install\tworows_2001f488\xuikon\57\tworows.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\tworows_2001f488\xuikon\94\tworows.o0094 \private\200159c0\install\tworows_2001f488\xuikon\94\tworows.o0094
-#endif
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __TWOROWS_2001F488_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/rom/tworows_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* tworows widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-#ifndef __TWOROWS_2001F488_VARIANT_IBY__
-#define __TWOROWS_2001F488_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)          
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\tworows_2001f488\hsps\00\widgetconfiguration.xml \private\200159c0\install\tworows_2001f488\hsps\00\widgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __TWOROWS_2001F488_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/00/tworows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget#tworows_template
-{
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-right:8px;
-    padding-left:8px;
-    padding-top:8px;
-    text-align:left;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color:"SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/00/tworows.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F7</ThemeUid>
-    <ThemeFullName>tworows</ThemeFullName>
-    <ThemeShortName>tworows</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>tworows.xml</FileXML>
-    <FileCSS>tworows.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/00/tworows.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
-    <widget id="tworows_template">
-        <!-- Data plugin in this widget -->
-        <contentsource id="tworows_plugin" name="" value="0x20019594" />
-        
-        <configuration name="service" value="Service.ContentPublishing"/>
-        <configuration name="interface" value="IContentPublishing"/>
-        <configuration name="command" value="GetList"/>
-        <configuration id="pub_id" name="publisher" value=""/>
-
- 			  <image id="image_container" focusable="true" _s60-initial-focus="1">
- 			    <!-- Template designer choice -->
-	 			  <actions>
-	          <action>
-	            <trigger name="activate"/>
-	            <event id="p1trigger" name=""/>
-	          </action>
-	        </actions>
-          <configuration name="content_type" value="image1"/>
-          <property id="prop1" class=""/>
-      	</image>
-      	
-      	<box id="text_container">
-	        <text id="row1" class="text_box" focusable="true" >
-	          <!-- Template designer choice -->
-		        <actions>
-		          <action>
-		            <trigger name="activate"/>
-		            <event id="p2trigger" name=""/>
-		          </action>
-		        </actions>
-		        <configuration name="content_type" value="text1"/>
-	          <property id="prop2" class=""/>
-	      	</text>
-	      	
-	      	<text id="row2" class="text_box"  focusable="true" >
-	      	  <!-- Template designer choice -->
-		      	<actions>
-		          <action>
-		            <trigger name="activate"/>
-		            <event id="p3trigger" name=""/>
-		          </action>
-		        </actions>
-		        <configuration name="content_type" value="text2"/>
-	          <property id="prop3" class=""/>
-	      	</text>
-				</box>
-				<menuextension>
-            <!-- dynmenuitems are mapped to HS view.xml menu based on target attribute.
-                 HS view.xml provides localisation for predined items: "settings" and "refresh". -->                
-            <dynmenuitem type="widgetsettings" target="hs_widget_menuitem_settings">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(widgetsettings)" destination="tworows_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>                    
-            <dynmenuitem type="refresh" target="hs_widget_menuitem_refresh">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(refresh)" destination="tworows_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>        
-        </menuextension>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/37/tworows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-widget#tworows_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-right:8px;
-    padding-left:8px;
-    padding-top:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color:"SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/50/tworows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-widget#tworows_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-right:8px;
-    padding-left:8px;
-    padding-top:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color:"SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/57/tworows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-widget#tworows_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-right:8px;
-    padding-left:8px;
-    padding-top:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color:"SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/94/tworows.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-widget#tworows_template
-{
-    direction: rtl;
-    block-progression:rl;
-}
-
-image#image_container
-{
-    padding-top:8px;
-    padding-bottom:8px;
-    padding-left:8px;
-    padding-right:8px;
-    height: 90%;
-    width: 20%;
-    _s60-aspect-ratio:preserve;
-    nav-index:appearance;
-}
-
-box#text_container
-{
-    block-progression:tb;
-}
-
-text.text_box
-{
-    padding-right:8px;
-    padding-left:8px;
-    padding-top:8px;
-    text-align: right;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    color:"SKIN(268458534 13056 74)";
-    nav-index:appearance;
-    _s60-text-valign: top;
-}
Binary file idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f486.confml has changed
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f486.gcfml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-<file xmlns="http://www.s60.com/xml/genconfml/1" name="viewconfiguration.xml" target="\private\200159c0\install\view_2001f48b\hsps\00\">
-	<setting ref="HomescreenPlugins/MaxWidgets"/>
-	<setting ref="HomescreenPlugins/Shortcut1ItemId"/>
-  <setting ref="HomescreenPlugins/Shortcut1ItemName"/>
-  <setting ref="HomescreenPlugins/Shortcut2ItemId"/>
-  <setting ref="HomescreenPlugins/Shortcut2ItemName"/>
-  <setting ref="HomescreenPlugins/Shortcut3ItemId"/>
-  <setting ref="HomescreenPlugins/Shortcut3ItemName"/>
-  <setting ref="HomescreenPlugins/Shortcut4ItemId"/>
-  <setting ref="HomescreenPlugins/Shortcut4ItemName"/>
-  <setting ref="HomescreenPlugins/ShortcutPropertyNameType"/>
-  <setting ref="HomescreenPlugins/ShortcutPropertyNameUid"/>
-	<setting ref="HomescreenPlugins/Plugins"/>
-	<xsl:stylesheet version="1.0" 
-                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-                xmlns:xi="http://www.w3.org/2001/xinclude">
-		<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
-		<xsl:template match="configuration/data">
-			<configuration>
-			 <xsl:attribute name="max_child"><xsl:value-of select="HomescreenPlugins/MaxWidgets"/></xsl:attribute>
-				<control>
-					<plugins>
-						<xsl:for-each select="HomescreenPlugins/Plugins">
-							<plugin>
-								<xsl:attribute name="uid"><xsl:value-of select="Uid"/></xsl:attribute>
-								<xsl:attribute name="bundle_id"><xsl:value-of select="BundleIdentifier"/></xsl:attribute>
-								<xsl:attribute name="template_id"><xsl:value-of select="TemplateIdentifier"/></xsl:attribute>
-								<xsl:attribute name="locking_status"><xsl:value-of select="LockingStatus"/></xsl:attribute>
-								<xsl:if test="ShortcutWidget = 1">
-								    <intial_settings>
-								      <settings>
-								        <xsl:if test="Customize1Shortcut = 1">
-								          <item>
-								          <xsl:attribute name="id"><xsl:value-of select="Shortcut1ItemId"/></xsl:attribute>
-								          <xsl:attribute name="name"><xsl:value-of select="Shortcut1ItemName"/></xsl:attribute>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameType"/></xsl:attribute>								             
-  							              <xsl:attribute name="value"><xsl:value-of select="Shortcut1Type"/></xsl:attribute>
-								            </property>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameUid"/></xsl:attribute>
-								              <xsl:attribute name="value"><xsl:value-of select="Shortcut1Uid"/></xsl:attribute>
-								            </property>
-				                  </item>
-				                </xsl:if>
-				                <xsl:if test="Customize2Shortcut = 1">
-				                  <item>
-				                  <xsl:attribute name="id"><xsl:value-of select="Shortcut2ItemId"/></xsl:attribute>
-								          <xsl:attribute name="name"><xsl:value-of select="Shortcut2ItemName"/></xsl:attribute>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameType"/></xsl:attribute> 
-								              <xsl:attribute name="value"><xsl:value-of select="Shortcut2Type"/></xsl:attribute>
-								            </property>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameUid"/></xsl:attribute>
-								              <xsl:attribute name="value"><xsl:value-of select="Shortcut2Uid"/></xsl:attribute>
-								            </property>
-				                  </item>
-				                </xsl:if>
-				                <xsl:if test="Customize3Shortcut = 1">
-				                  <item>
-				                  <xsl:attribute name="id"><xsl:value-of select="Shortcut3ItemId"/></xsl:attribute>
-								          <xsl:attribute name="name"><xsl:value-of select="Shortcut3ItemName"/></xsl:attribute>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameType"/></xsl:attribute>
-								              <xsl:attribute name="value"><xsl:value-of select="Shortcut3Type"/></xsl:attribute>
-								            </property>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameUid"/></xsl:attribute>
-								              <xsl:attribute name="value"><xsl:value-of select="Shortcut3Uid"/></xsl:attribute>
-								            </property>
-				                  </item>
-				                </xsl:if>
-				                <xsl:if test="Customize4Shortcut = 1">
-				                  <item>
-				                  <xsl:attribute name="id"><xsl:value-of select="Shortcut4ItemId"/></xsl:attribute>
-								          <xsl:attribute name="name"><xsl:value-of select="Shortcut4ItemName"/></xsl:attribute>
-								            <property>
-								             <xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameType"/></xsl:attribute>
-								             <xsl:attribute name="value"><xsl:value-of select="Shortcut4Type"/></xsl:attribute>
-								            </property>
-								            <property>
-								              <xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameUid"/></xsl:attribute>
-								              <xsl:attribute name="value"><xsl:value-of select="Shortcut4Uid"/></xsl:attribute>
-								            </property>
-								          </item>
-				                </xsl:if>
-				              </settings>
-				            </intial_settings>
-			            </xsl:if>
-							</plugin>
-						</xsl:for-each>
-					</plugins>
-					<settings/>
-				</control>
-			</configuration>
-		</xsl:template>
-	</xsl:stylesheet>
-</file>
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2002-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:
-* The information required for building
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/view_2001f48b/hsps/manifest.dat
-../hsps/00/viewconfiguration.xml /epoc32/data/Z/resource/homescreen/view_2001f48b/hsps/viewconfiguration.xml
-
-../xuikon/00/View.dat /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/view_2001f48b.dat
-../xuikon/00/View.css /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/view.css
-../xuikon/00/View.xml /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/view.xml
-../xuikon/00/View.dtd /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/view.dtd
-
-// Arabic languages
-//*****************
-../xuikon/37/View.css /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/37/view.css
-../xuikon/50/View.css /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/50/view.css
-../xuikon/57/View.css /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/57/view.css
-../xuikon/94/View.css /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/94/view.css
-
-
-//Confml and cfgml files for the customization
-// starting use confml it is need to remove root_configuration.xml direct exporting (view_2001f48b_variant.iby)
-//***********************************
-//../conf/view2001f486.confml   APP_LAYER_CONFML(view2001f486.confml)
-//../conf/view2001f486.gcfml    APP_LAYER_GCFML(view2001f486.gcfml)
-
-// Support for S60 localization
-//*****************************
-#ifndef __VIEW_LOC__
-#define __VIEW_LOC__
-../loc/view.loc APP_LAYER_LOC_EXPORT_PATH(view.loc)
-#endif // __VIEW_LOC__
-
-// Support for S60 builds
-//***********************
-../rom/view_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b_resources.iby)
-../rom/view_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b_customer.iby)
-../rom/view_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b_variant.iby)
-../rom/view.iby CORE_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME view_2001f48b
-OPTION DTD_TYPE widget
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-
-
-  <family>qhd_tch</family>
-
-
-
-  <type>view</type>
-
-
-
-  <!-- interface uid -->
-
-	<interfaceuid>0x2001f48a</interfaceuid>
-
-
-
-	<!-- vendor uid -->
-
-	<provideruid>0x101fb657</provideruid>
-
-
-
-	<!-- configuration uid -->
-
-	<configurationuid>0x2001f48b</configurationuid>
-
-
-
-	<!-- description -->
-
-	<fullname>&amp;qtn_view_2001f48b_name;</fullname>
-
-	<shortname>ai3_view1</shortname>
-
-	<version>1.0</version>
-
-
-
-	<!-- configuration -->
-
-	<filexml>viewconfiguration.xml</filexml>
-
-	
-
-  <!-- Locale specific resources -->
-
-  <localization>
-
-    <fileresource>view.o0000</fileresource>
-
-  </localization>
-
-
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/viewconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<configuration>
-  <control>
-    <settings>
-      <item id="hs_qhd_tch_view">
-        <property name="use_empty_widget" value="true"/>
-      </item>
-      <item id="wallpaper">
-        <property name="path" value=""/>
-      </item>
-    </settings>  
-  	<plugins>
-      <plugin uid="0x2001cb7c"/>
-      <plugin uid="0x20026f4f"/>
-      <plugin uid="0x10207c18"/>
-      <plugin uid="0x2001f481"/>
-      <plugin uid="0x2001f47f"/>
-      <plugin uid="0x2001f47f"/>
-  	</plugins>
-    <settings/>
-  </control>
-
-</configuration>
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/loc/View.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for project Active Idle 3
-*
-*/
-
-// d: Help
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_options_help "Help"
-
-// d: Open
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define qtn_msk_open "Open"
-
-// d: Options
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_done "Done"
-
-// d: Open 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_options_open "Open"
-
-// d: Back
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_back "Back"
-
-// d: Empty string
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define shortcut_emptycaption " "
-
-// d: Add page
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_add_page "Add page"
-
-// d: Select
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_options_select_widget "Select"
-
-// d: Add content
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_add_widget "Add content"
-
-// d: Access the widget catalog
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_widget_catalog "Widget catalog"
-
-// d: Search
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_search "Search"
-
-// d: Options
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_options "Options"
-
-// d: Refresh 
-// l: list_single_pane_t1_cp2/opt3
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_widget "Refresh"
-
-// d: Focused widget
-// l: list_single_popup_submenu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_one_widget "One"
-
-// d: All widgets 
-// l: list_single_popup_submenu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_all_widgets "All"
-
-// d: Remove content 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_remove_widget "Remove content"
-
-// d: Hide the content 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_hide_widgets "Hide the content"
-
-// d: Edit contents 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_edit_content "Edit content"
-
-// d: Change Wallpaper
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_wallpaper "Change Wallpaper"
-
-// d: Change Shortcut Settings
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_shortcut_settings "Change Shortcut Settings"
-
-// d: Widget settings
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_widget_settings "Widget settings"
-
-// d: Show widgets
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_show_widgets "Show the content"
-
-// d: Change Home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_page "Change Home screen page"
-
-// d: Change
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define qtn_msk_change "Change"
-
-// d: Show all profiles in Profiles widget
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_show_profiles "Show all profiles"
-
-// d: Right selection key
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_set_right_idle_softkey "Right selection key"
-
-// d: Select
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_select "Select"
-
-// d: Cancel
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_cancel "Cancel"
-
-// d: Options menu item which switches home to online. Web widgets get updates from network.
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_online "Switch Home to online"
-
-// d: Options menu item which switches home to offline. Web widgets are not updated
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_offline "Switch Home to offline"
-
-// d: String which is shown in long tap menu of Home screen if tapped widget has settings
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_settings "Settings"
-
-// d: String which is shown in long tap menu of Home screen if tapped some widget which is removable
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_remove_element "Remove"
-
-// d: String which is shown in long tap menu of Home screen if tapped empty space in home screen
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_add "Add content"
-
-// d: String which is shown in long tap menu of Home screen
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_change_longtap_wallpaper "Change wallpaper"
-
-// d: User can download new HS widgets. String is visible in add content list query
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_download_new_widgets "Download"
-
-// d: Changes focused widget
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_edit_replace "Replace"
-
-// d: deletes current home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_options_delete "Delete page"
-
-// d: creates new home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_options_new "New page"
-
-// d: view title in editing mode
-// l: title_pane_t2
-// w:
-// r: TB9.2
-#define qtn_hs_title_editing_view "Editing view"
-
-// d: Call
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_call "Call"
-
-// d: Added new option menu item to Edit mode for opening the widget catalog,
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_edit_widget_catalog "Widget Catalog"
-
-// d: Deletes the current Home screen page and focus goes to the next available Home screen page in Edit mode
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_edit_options_delete "Delete page"
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/rom/view.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* View widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __AI3VIEW_2001F48B_IBY__
-#define __AI3VIEW_2001F48B_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\view_2001f48b\hsps\00\manifest.dat \private\200159c0\install\view_2001f48b\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __AI3VIEW_2001F48B_IBY__
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/rom/view_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* View widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __AI3VIEW_2001F48B_CUSTOMER_IBY__
-#define __AI3VIEW_2001F48B_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\view_2001f48b\xuikon\00\view.o0000 \private\200159c0\install\view_2001f48b\xuikon\00\view.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __AI3VIEW_2001F48B_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/rom/view_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* View widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __AI3VIEW_2001F48B_RESOURCES_IBY__
-#define __AI3VIEW_2001F48B_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\view_2001f48b\xuikon\00\view.o0000 \private\200159c0\install\view_2001f48b\xuikon\00\view.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __AI3VIEW_2001F48B_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/rom/view_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* View widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-#ifndef __AI3VIEW_2001F48B_VARIANT_IBY__
-#define __AI3VIEW_2001F48B_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\view_2001f48b\hsps\00\viewconfiguration.xml \private\200159c0\install\view_2001f48b\hsps\00\viewconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __AI3VIEW_2001F48B_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: ltr;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
- 
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>E029CF57</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>11001234</ThemeUid>
-    <ThemeFullName>DemoView</ThemeFullName>
-    <ThemeShortName>view</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>view.xml</FileXML>
-    <FileCSS>view.css</FileCSS>
-    <FileDTD>view.dtd</FileDTD>	
-
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "View.dtd">
-<PartOf  : "AI3">
-
-<FileDescription: "Localization strings for AI3">
-<FileVersion    : >
-
-<Copyright:
-"Copyright (c) 2005 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!--
-qtn_options_help.attributes
-qtn_options_help.layout "list_single_pane_t1_cp2"
-qtn_options_help.release "TB9.2"
-qtn_options_help.description "Help"
-qtn_options_help.grammar "Help"
-qtn_options_help.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_help "Help">
-
-<!--
-qtn_msk_open.attributes
-qtn_msk_open.layout "control_pane_t1/opt7"
-qtn_msk_open.release "TB9.2"
-qtn_msk_open.description "Open"
-qtn_msk_open.grammar "Open"
-qtn_msk_open.parents "control_pane"
--->
-<!ENTITY qtn_msk_open "Open">
-
-<!--
-text_softkey_done.attributes
-text_softkey_done.layout "control_pane_t1/opt7"
-text_softkey_done.release "TB9.2"
-text_softkey_done.description "Done"
-text_softkey_done.grammar "Done"
-text_softkey_done.parents "control_pane"
--->
-<!ENTITY text_softkey_done "Done">
-
-<!--
-qtn_options_open.attributes
-qtn_options_open.layout "list_single_pane_t1_cp2"
-qtn_options_open.release "TB9.2"
-qtn_options_open.description "Open"
-qtn_options_open.grammar "Open"
-qtn_options_open.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_open "Open">
-
-<!--
-text_softkey_back.attributes
-text_softkey_back.layout "control_pane_t1/opt7"
-text_softkey_back.release "TB9.2"
-text_softkey_back.description "Back text for SK2"
-text_softkey_back.parents "control_pane"
--->
-<!ENTITY text_softkey_back "Back">
-
-<!--
-shortcut_EmptyCaption.attributes
-shortcut_EmptyCaption.layout "control_pane_t1/opt7"
-shortcut_EmptyCaption.release "TB9.2"
-shortcut_EmptyCaption.description "Empty shortcut"
-shortcut_EmptyCaption.parents "list_ai2_gene_pane"
--->
-<!ENTITY shortcut_EmptyCaption " ">
-
-<!--
-qtn_hs_add_page.attributes
-qtn_hs_add_page.layout "list_single_pane_t1_cp2"
-qtn_hs_add_page.release "TB9.2"
-qtn_hs_add_page.description "Add page"
-qtn_hs_add_page.grammar "Add page"
-qtn_hs_add_page.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_add_page "Add page">
-
-<!--
-qtn_options_select_widget.attributes
-qtn_options_select_widget.layout "list_single_pane_t1_cp2"
-qtn_options_select_widget.release "TB9.2"
-qtn_options_select_widget.description "Select"
-qtn_options_select_widget.grammar "Select"
-qtn_options_select_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_select_widget "Select">
-
-<!--
-qtn_hs_add_widget.attributes
-qtn_hs_add_widget.layout "list_single_pane_t1_cp2"
-qtn_hs_add_widget.release "TB9.2"
-qtn_hs_add_widget.description "Add content"
-qtn_hs_add_widget.grammar "Add content"
-qtn_hs_add_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_add_widget "Add content">
-
-<!--
-qtn_hs_widget_catalog.attributes
-qtn_hs_widget_catalog.layout "list_single_pane_t1_cp2"
-qtn_hs_widget_catalog.release "TB9.2"
-qtn_hs_widget_catalog.description "Widget catalog"
-qtn_hs_widget_catalog.grammar "Widget catalog"
-qtn_hs_widget_catalog.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_widget_catalog "Widget catalog">
-
-<!--
-text_softkey_search.attributes
-text_softkey_search.layout "control_pane_t1/opt7"
-text_softkey_search.release "TB9.2"
-text_softkey_search.description "Search"
-text_softkey_search.grammar "Search"
-text_softkey_search.parents "control_pane"
--->
-<!ENTITY text_softkey_search "Search">
-
-<!--
-text_softkey_options.attributes
-text_softkey_options.layout "control_pane_t1/opt7"
-text_softkey_options.release "TB9.2"
-text_softkey_options.description "Options"
-text_softkey_options.grammar "Options"
-text_softkey_options.parents "control_pane"
--->
-<!ENTITY text_softkey_options "Options">
-
-<!--
-qtn_hs_refresh_widget.attributes
-qtn_hs_refresh_widget.layout "list_single_pane_t1_cp2/opt3"
-qtn_hs_refresh_widget.release "TB9.2"
-qtn_hs_refresh_widget.description "Refresh"
-qtn_hs_refresh_widget.grammar "Refresh"
-qtn_hs_refresh_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_refresh_widget "Refresh">
-
-<!--
-qtn_hs_refresh_one_widget.attributes
-qtn_hs_refresh_one_widget.layout "list_single_popup_submenu_pane_t1"
-qtn_hs_refresh_one_widget.release "TB9.2"
-qtn_hs_refresh_one_widget.description "One"
-qtn_hs_refresh_one_widget.grammar "One"
-qtn_hs_refresh_one_widget.parents "list_single_popup_submenu_pane"
--->
-<!ENTITY qtn_hs_refresh_one_widget "One">
-
-<!--
-qtn_hs_refresh_all_widgets.attributes
-qtn_hs_refresh_all_widgets.layout "list_single_popup_submenu_pane_t1"
-qtn_hs_refresh_all_widgets.release "TB9.2"
-qtn_hs_refresh_all_widgets.description "All"
-qtn_hs_refresh_all_widgets.grammar "All"
-qtn_hs_refresh_all_widgets.parents "list_single_popup_submenu_pane"
--->
-<!ENTITY qtn_hs_refresh_all_widgets "All">
-
-<!--
-qtn_hs_remove_widget.attributes
-qtn_hs_remove_widget.layout "list_single_pane_t1_cp2"
-qtn_hs_remove_widget.release "TB9.2"
-qtn_hs_remove_widget.description "Remove content"
-qtn_hs_remove_widget.grammar "Remove content"
-qtn_hs_remove_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_remove_widget "Remove content">
-
-<!--
-qtn_hs_hide_widgets.attributes
-qtn_hs_hide_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_hide_widgets.release "TB9.2"
-qtn_hs_hide_widgets.description "Hide the content"
-qtn_hs_hide_widgets.grammar "Hide the content"
-qtn_hs_hide_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_hide_widgets "Hide the content">
-
-<!--
-qtn_hs_edit_content.attributes
-qtn_hs_edit_content.layout "list_single_pane_t1_cp2"
-qtn_hs_edit_content.release "TB9.2"
-qtn_hs_edit_content.description "Edit contents"
-qtn_hs_edit_content.grammar "Edit contents"
-qtn_hs_edit_content.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_edit_content "Edit content">
-
-<!--
-qtn_hs_change_wallpaper.attributes
-qtn_hs_change_wallpaper.layout "list_single_pane_t1_cp2"
-qtn_hs_change_wallpaper.release "TB9.2"
-qtn_hs_change_wallpaper.description "Change Wallpaper"
-qtn_hs_change_wallpaper.grammar "Change Wallpaper"
-qtn_hs_change_wallpaper.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_wallpaper "Change Wallpaper">
-
-<!--
-qtn_hs_change_shortcut_settings.attributes
-qtn_hs_change_shortcut_settings.layout "list_single_pane_t1_cp2"
-qtn_hs_change_shortcut_settings.release "TB9.2"
-qtn_hs_change_shortcut_settings.description "Change Shortcut Settings"
-qtn_hs_change_shortcut_settings.grammar "Change Shortcut Settings"
-qtn_hs_change_shortcut_settings.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_shortcut_settings "Change Shortcut Settings">
-
-<!--
-qtn_hs_widget_settings.attributes
-qtn_hs_widget_settings.layout "list_single_pane_t1_cp2"
-qtn_hs_widget_settings.release "TB9.2"
-qtn_hs_widget_settings.description "Widget settings"
-qtn_hs_widget_settings.grammar "Widget settings"
-qtn_hs_widget_settings.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_widget_settings "Widget settings">
-
-<!--
-qtn_hs_show_widgets.attributes
-qtn_hs_show_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_show_widgets.release "TB9.2"
-qtn_hs_show_widgets.description "Show widgets"
-qtn_hs_show_widgets.grammar "Show widgets"
-qtn_hs_show_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_show_widgets "Show the content">
-
-<!--
-qtn_hs_change_page.attributes
-qtn_hs_change_page.layout "list_single_pane_t1_cp2"
-qtn_hs_change_page.release "TB9.2"
-qtn_hs_change_page.description "Change Home screen page"
-qtn_hs_change_page.grammar "Change Home screen page"
-qtn_hs_change_page.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_page "Change Home screen page">
-
-<!--
-qtn_msk_change.attributes
-qtn_msk_change.layout "control_pane_t1/opt7"
-qtn_msk_change.release "TB9.2"
-qtn_msk_change.description "Change"
-qtn_msk_change.grammar "Change"
-qtn_msk_change.parents "control_pane"
--->
-<!ENTITY qtn_msk_change "Change">
-
-<!--
-qtn_hs_show_profiles.attributes
-qtn_hs_show_profiles.layout "list_single_pane_t1_cp2"
-qtn_hs_show_profiles.release "TB9.2"
-qtn_hs_show_profiles.description "Show all profiles"
-qtn_hs_show_profiles.grammar "Show all profiles"
-qtn_hs_show_profiles.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_show_profiles "Show all profiles">
-
-<!--
-qtn_set_right_idle_softkey.attributes
-qtn_set_right_idle_softkey.layout "list_single_pane_t1_cp2"
-qtn_set_right_idle_softkey.release "TB9.2"
-qtn_set_right_idle_softkey.description "Right selection key"
-qtn_set_right_idle_softkey.grammar "Right selection key"
-qtn_set_right_idle_softkey.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_set_right_idle_softkey "Right selection key">
-
-<!--
-text_softkey_select.attributes
-text_softkey_select.layout "control_pane_t1/opt7"
-text_softkey_select.release "TB9.2"
-text_softkey_select.description "Select"
-text_softkey_select.grammar "Select"
-text_softkey_select.parents "control_pane"
--->
-<!ENTITY text_softkey_select "Select">
-
-<!--
-text_softkey_cancel.attributes
-text_softkey_cancel.layout "control_pane_t1/opt7"
-text_softkey_cancel.release "TB9.2"
-text_softkey_cancel.description "Cancel"
-text_softkey_cancel.grammar "Cancel"
-text_softkey_cancel.parents "control_pane"
--->
-<!ENTITY text_softkey_cancel "Cancel">
-
-<!--
-qtn_hs_online.attributes
-qtn_hs_online.layout "list_single_pane_t1_cp2"
-qtn_hs_online.release "TB9.2"
-qtn_hs_online.description "Online"
-qtn_hs_online.grammar "Online"
-qtn_hs_online.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_online "Switch Home to online">
-
-<!--
-qtn_hs_offline.attributes
-qtn_hs_offline.layout "list_single_pane_t1_cp2"
-qtn_hs_offline.release "TB9.2"
-qtn_hs_offline.description "Offline"
-qtn_hs_offline.grammar "Offline"
-qtn_hs_offline.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_offline "Switch Home to offline">
-
-<!--
-qtn_hs_longtap_settings.attributes
-qtn_hs_longtap_settings.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_settings.release "TB9.2"
-qtn_hs_longtap_settings.description "String which is shown in long tap menu of Home screen if tapped widget has settings."
-qtn_hs_longtap_settings.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_settings "Settings">
-
-<!--
-qtn_hs_longtap_remove_element.attributes
-qtn_hs_longtap_remove_element.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_remove_element.release "TB9.2"
-qtn_hs_longtap_remove_element.description "String which is shown in long tap menu of Home screen if tapped some widget which is removable."
-qtn_hs_longtap_remove_element.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_remove_element "Remove">
-
-<!--
-qtn_hs_longtap_add.attributes
-qtn_hs_longtap_add.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_add.release "TB9.2"
-qtn_hs_longtap_add.description "String which is shown in long tap menu of Home screen if tapped empty space in home screen."
-qtn_hs_longtap_add.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_add  "Add content">
-
-<!--
-qtn_hs_change_longtap_wallpaper.attributes
-qtn_hs_change_longtap_wallpaper.layout "list_single_touch_menu_pane_t1"
-qtn_hs_change_longtap_wallpaper.release "TB9.2"
-qtn_hs_change_longtap_wallpaper.description "String which is shown in long tap menu of Home screen."
-qtn_hs_change_longtap_wallpaper.parents "control_pane"
--->
-<!ENTITY qtn_hs_change_longtap_wallpaper "Change wallpaper">
-
-<!--
-qtn_hs_download_new_widgets.attributes
-qtn_hs_download_new_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_download_new_widgets.release "TB9.2"
-qtn_hs_download_new_widgets.description "User can download new HS widgets String is visible in add content list query"
-qtn_hs_download_new_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_download_new_widgets "Download">
-
-<!--
-qtn_hs_edit_replace.attributes
-qtn_hs_edit_replace.layout "list_single_touch_menu_pane_t1"
-qtn_hs_edit_replace.release "TB9.2"
-qtn_hs_edit_replace.description "Changes focused widget"
-qtn_hs_edit_replace.parents ""
--->
-<!ENTITY qtn_hs_edit_replace "Replace">
-
-<!--
-qtn_hs_page_options_delete.attributes
-qtn_hs_page_options_delete.layout "list_single_pane_t1_cp2"
-qtn_hs_page_options_delete.release "TB9.2"
-qtn_hs_page_options_delete.description "deletes current home screen page"
-qtn_hs_page_options_delete.parents ""
--->
-<!ENTITY qtn_hs_page_options_delete "Delete page">
-
-<!--
-qtn_hs_page_options_new.attributes
-qtn_hs_page_options_new.layout "list_single_pane_t1_cp2"
-qtn_hs_page_options_new.release "TB9.2"
-qtn_hs_page_options_new.description "creates new home screen page"
-qtn_hs_page_options_new.parents ""
--->
-<!ENTITY qtn_hs_page_options_new "New page">
-
-<!--
-qtn_hs_title_editing_view.attributes
-qtn_hs_title_editing_view.layout "title_pane_t2"
-qtn_hs_title_editing_view.release "TB9.2"
-qtn_hs_title_editing_view.description "view title in editing mode"
-qtn_hs_title_editing_view.parents ""
--->
-<!ENTITY qtn_hs_title_editing_view "Editing view">
-
-<!--
-text_softkey_call.attributes
-text_softkey_call.layout "control_pane_t1/opt7"
-text_softkey_call.release "TB9.2"
-text_softkey_call.description "RSK caption call inactive"
-text_softkey_call.parents ""
--->
-<!ENTITY text_softkey_call "Call">
-
-<!--
-qtn_hs_edit_widget_catalog.attributes
-qtn_hs_edit_widget_catalog.layout "list_single_pane_t1_cp2"
-qtn_hs_edit_widget_catalog.release "TB9.2"
-qtn_hs_edit_widget_catalog.description "Added new option menu item to Edit mode for opening the widget catalog"
-qtn_hs_edit_widget_catalog.grammar "Widget Catalog"
-qtn_hs_edit_widget_catalog.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_edit_widget_catalog "Widget Catalog">
-
-<!--
-qtn_hs_page_edit_options_delete.attributes
-qtn_hs_page_edit_options_delete.layout "list_single_pane_t1_cp2"
-qtn_hs_page_edit_options_delete.release "TB9.2"
-qtn_hs_page_edit_options_delete.description "Deletes the current Home screen page and focus goes to the next available Home screen page in Edit mode"
-qtn_hs_page_edit_options_delete.parents ""
--->
-<!ENTITY qtn_hs_page_edit_options_delete "Delete page">
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xmluiml SYSTEM "View.dtd">
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <view id="hs_qhd_tch_view">
-        <actions>
-            <action>
-                <!-- End key -->
-                <trigger name="keyevent">
-                    <property name="scancode" value="197"/> ><!-- End key -->
-                    <property name="eventtype" value="1"/>
-                </trigger>
-                <!-- dismiss if edit mode active -->
-                <event name="system/reportexiteditmode"/>
-            </action>
-            <action>
-                <trigger name="editmode" value="enter"/>
-                <event name="system/set">
-                    <property name="name" value="focusable"/>
-                    <property name="value" value="true"/>
-                    <property name="type" value="string"/>
-                    <property name="class" value="plugins"/>
-                </event>
-                <event name="system/seteditmode">
-                    <property name="id" value="hs_popup_open_hold"/>                                                  
-                </event>                                    
-            </action>                
-            <action>
-                <trigger name="editmode" value="exit"/>
-                <event name="system/set">
-                    <property name="name" value="focusable"/>
-                    <property name="value" value="false"/>
-                    <property name="type" value="string"/>
-                    <property name="class" value="plugins"/>
-                </event>
-                <event name="system/reseteditmode">
-                    <property name="id" value="hs_popup_open_hold"/>                                        
-                </event>                                                    
-            </action>                                
-            <action>
-                <trigger name="swipe" direction="left" conditional="true"/>
-                <event name="system/activatenextview"/>
-                <event name="system/runfullscreeneffect" effectid="1003"/>
-            </action>
-            <action>
-                <trigger name="swipe" direction="right" conditional="true"/>
-                <event name="system/activatepreviousview"/>
-                <event name="system/runfullscreeneffect" effectid="1004"/>
-            </action>
-            <action>
-                <trigger name="screendevicechange" reason="portrait"/>
-                <event name="system/set">
-                    <property name="name" value="padding-left"/>
-                    <property name="value" value="17px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>
-                <event name="system/set">
-                    <property name="name" value="padding-right"/>
-                    <property name="value" value="17px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>
-            </action>
-            <action>
-                <trigger name="screendevicechange" reason="landscape"/>
-                <event name="system/set">
-                    <property name="name" value="padding-left"/>
-                    <property name="value" value="0px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>
-                <event name="system/set">
-                    <property name="name" value="padding-right"/>
-                    <property name="value" value="0px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>
-            </action>
-            <action>
-                <!-- No widgets in this view -->
-                <trigger name="widgetamount" value="0"/>
-                <event name="system/set">
-                    <!-- Hide "remove content" menuitem -->
-                    <property name="name" value="display"/>
-                    <property name="value" value="none"/>
-                    <property name="type" value="string"/>
-                    <property name="id" value="hs_remove_widget"/>
-                </event>
-            </action>
-            <action>
-                <!-- At least one widget added to this view -->
-                <trigger name="widgetamount" value="1"/>
-                <event name="system/set">
-                    <!-- Show "remove content" menuitem -->
-                    <property name="name" value="display"/>
-                    <property name="value" value="block"/>
-                    <property name="type" value="string"/>
-                    <property name="id" value="hs_remove_widget"/>
-                </event>
-            </action>
-        </actions>
-
-        <!-- Plugins in this view -->
-        <box id="plugins_container">
-            <plugin id="plugin1" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin2" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin3" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin4" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin5" class="plugins" actionshandler="plugin_actions" />
-            <plugin id="plugin6" class="plugins" actionshandler="plugin_actions" />
-        </box>
-
-        <!-- plugins' actions handler -->
-        <actionshandler id="plugin_actions">
-            <actions>
-                <action>
-                    <trigger id="hs_popup_open_hold" name="hold" conditional="true" />
-                    <event name="system/reportentereditmode" />
-                    <event name="system/runfullscreeneffect" effectid="1005"/>
-                </action>
-            </actions>
-        </actionshandler>
-
-        <!-- Avkon stylus popup menu is not layout capable -->
-        <styluspopup id="hs_popup_menu" display="none">
-            <!-- "Add content" item initialized in runtime to check whether popup is on top of empty space -->
-            <dynmenuitem id="hs_popup_add_widget" type="hs_add_widget" label="&qtn_hs_longtap_add;">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/runaddwidgetquery"/>
-                    </action>
-                </actions>
-            </dynmenuitem>
-            <!-- menuitems controlled by widgets' <menuextension> -->
-            <widgetmenuitem id="hs_popup_widget_settings" source="hs_widget_menuitem_settings" label="&qtn_hs_longtap_settings;" />
-            <widgetmenuitem id="hs_popup_widget_general_1" source="hs_widget_general_stylus_popup_1"/>
-            <widgetmenuitem id="hs_popup_widget_general_2" source="hs_widget_general_stylus_popup_2"/>
-            <!--<widgetmenuitem id="hs_popup_widget_refresh" source="hs_widget_menuitem_refresh" label="Refresh" />-->
-            <!-- "Remove" item initialized in runtime to check whether popup is on top of widget -->
-            <dynmenuitem id="hs_popup_remove_widget" type="hs_remove_widget" label="&qtn_hs_longtap_remove_element;">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/removefocusedwidget"/>
-                    </action>
-                </actions>
-            </dynmenuitem>
-        </styluspopup>
-        <menubar id="hs_menubar">
-            <!-- menu item grouping table is traversed through in run-time always when options menu is launched. -->
-            <menuitemgrouping>
-                <!-- These items are shown when content is visible -->
-                <menuitemgroup id="Menu/WidgetsShown">
-                    <property name="hs_widget_catalog"/>
-                    <property name="hs_edit_widgets"/>
-                    <property name="hs_set_online"/>
-                    <property name="hs_set_offline"/>
-                    <property name="hs_add_view"/>
-                    <property name="hs_remove_view"/>
-                </menuitemgroup>
-                <!-- These items are shown in edit mode, if not otherwise changed in the declaration -->
-                <menuitemgroup id="Menu/EditMode">
-                    <property name="hs_widget_catalog"/>
-                    <property name="hs_remove_widget"/>
-                    <property name="hs_widget_settings"/>
-                    <property name="hs_widget_general_1"/>
-                    <property name="hs_widget_general_2"/>
-                    <property name="hs_add_view"/>
-                    <property name="hs_remove_view"/>
-                    <property name="hs_change_wallpaper"/>
-                </menuitemgroup>
-                <!-- These items are always shown, if not otherwise changed in the declaration -->
-                <menuitemgroup id="Menu/AlwaysShown">
-                    <property name="hs_show_help"/>
-                </menuitemgroup>
-            </menuitemgrouping>
-            <menu id="hs_options_menu">
-                <menuitem id="hs_widget_catalog" label="&qtn_hs_widget_catalog;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/runaddwidgetquery"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <menuitem id="hs_add_widget" label="&qtn_hs_add_widget;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/runaddwidgetquery"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <!-- menuitems controlled by widgets' <menuextension> element -->
-                <widgetmenuitem id="hs_widget_settings" source="hs_widget_menuitem_settings" label="&qtn_hs_widget_settings;"/>
-                <widgetmenuitem id="hs_widget_general_1" source="hs_widget_general_options_menu_1"/>
-                <widgetmenuitem id="hs_widget_general_2" source="hs_widget_general_options_menu_2"/>
-                <dynmenuitem id="hs_remove_widget" type="hs_remove_widget" label="&qtn_hs_remove_widget;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/removefocusedwidget"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <!--<widgetmenuitem id="hs_widget_refresh" source="hs_widget_menuitem_refresh" label="&qtn_hs_refresh_widget;" />-->
-                <menuitem id="hs_edit_widgets" label="&qtn_hs_edit_content;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/reportentereditmode"/>
-                            <event name="system/runfullscreeneffect" effectid="1005"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <menuitem id="hs_change_wallpaper" label="&qtn_hs_change_wallpaper;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <!--Wallpaper-->
-                            <event name="system/setwallpaper"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <dynmenuitem id="hs_add_view" type="hs_add_view" label="&qtn_hs_page_options_new;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/addview"/>
-                            <event name="system/runfullscreeneffect" effectid="1009"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <dynmenuitem id="hs_remove_view" type="hs_remove_view" label="&qtn_hs_page_options_delete;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/removeview"/>
-                            <event name="system/runfullscreeneffect" effectid="1010"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <dynmenuitem id="hs_set_online" type="hs_online" label="&qtn_hs_online;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="EventHandler/SetOnline"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <dynmenuitem id="hs_set_offline" type="hs_offline" label="&qtn_hs_offline;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="EventHandler/SetOffline"/>
-                        </action>
-                    </actions>
-                </dynmenuitem>
-                <menuitem id="hs_show_help" label="&qtn_options_help;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="EventHandler/ShowHelp"/>
-                        </action>
-                    </actions>
-                </menuitem>
-            </menu>
-            <softkey id="lsk" type="left" label="&text_softkey_options;">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/trydisplayingmenu">
-                            <property name="id" value="hs_options_menu"/>
-                        </event>
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="rsk" type="right" mode="mode_callinactive" label="&text_softkey_call;">
-                <actions>
-                    <action>                        
-                        <trigger name="activate"/>
-                        <event name="EventHandler/ActivateView" uid="0x100058B3" viewid="0x10282D81" messageid="0x1"/>
-                    </action>
-                    <action>
-                        <trigger name="hold"/>
-                        <!-- Voice command-->
-                        <event name="EventHandler/LaunchApp" uid="0x101F8543"/>
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="rsk_incall" type="right" mode="mode_callactive" label="&text_softkey_back;">
-                <actions>
-                    <action>                        
-                        <trigger name="activate"/>
-                        <event name="EventHandler/ActivatePhoneView" />
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="rsk_done" type="right" mode="mode_edit" label="&text_softkey_done;">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/reportexiteditmode"/>
-                        <event name="system/runfullscreeneffect" effectid="1006"/>
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="msk" type="middle" label=""> <!--TODO: Remove label when MSK icon available-->
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="system/activatenextview"/>
-                        <event name="system/runfullscreeneffect" effectid="1003"/>
-                    </action>
-                </actions>
-                <!--image id="switcher_icon"/-->
-            </softkey>
-        </menubar>
-    </view>
-</xmluiml>
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/37/View.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: rtl;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-    background-color: "SKIN(268458534 9916)";
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/50/View.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: rtl;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-    background-color: "SKIN(268458534 9916)";
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/57/View.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: rtl;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-    background-color: "SKIN(268458534 9916)";
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/94/View.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-view 
-{
-    direction: ltr;
-    block-progression: tb;
-    background-image: wallpaper;
-    swipe: true;
-
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-}
-
-box#plugins_container
-{
-    direction: rtl;
-    block-progression: tb;
-    padding-top: 3px;
-}
-
-plugin.plugins
-{
-    height: 82px; 
-    width: 312px; 
-
-    margin-bottom: 4px;
-    margin-right: 5px;
-    margin-left: 5px;
-    background-color: "SKIN(268458534 9916)";
-
-    _s60-longtap: true;
-
-    nav-index: appearance;
-}
-
-plugin:edit
-{
-    background-color:"SKIN(270501603 8582)";
-}
-
-trigger#hs_popup_open_hold:edit
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up
-{
-    display: none;
-}
-
-trigger#hs_popup_open_up:edit
-{
-    display: block;
-}
-
-softkey#rsk
-{
-    _s60-longtap: true;
-    _s60-aspect-ratio: preserve;
-}  
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2002-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:
-* The information required for building
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/wideimage_2001f489/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/wideimage_2001f489/hsps/widgetconfiguration.xml
-
-../xuikon/00/wideimage.dat /epoc32/data/Z/resource/homescreen/wideimage_2001f489/xuikon/wideimage_2001f489.dat
-../xuikon/00/wideimage.css /epoc32/data/Z/resource/homescreen/wideimage_2001f489/xuikon/wideimage.css
-../xuikon/00/wideimage.xml /epoc32/data/Z/resource/homescreen/wideimage_2001f489/xuikon/wideimage.xml
-
-
-// Support for S60 builds
-//***********************
-../rom/wideimage_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wideimage_2001f489_resources.iby)
-../rom/wideimage_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(wideimage_2001f489_customer.iby)
-../rom/wideimage_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(wideimage_2001f489_variant.iby)
-../rom/wideimage.iby CORE_APP_LAYER_IBY_EXPORT_PATH(wideimage_2001f489.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME wideimage_2001f489
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-
-<package version="1.0">
-
-
-
-  <family>qhd_tch</family>
-
-
-
-  <type>template</type>
-
-
-
-  <!-- interface uid -->
-
-	<interfaceuid>0x2001f48a</interfaceuid>
-
-
-
-	<!-- vendor uid  -->
-
-	<provideruid>0x101fb657</provideruid>
-
-
-
-	<!-- uid -->
-
-	<configurationuid>0x2001f489</configurationuid>
-
-	
-
-	<!-- description -->
-
-	<fullname>wideimage</fullname>
-
-	<shortname>wide</shortname>
-
-	<version>1.0</version>
-
-
-
-	<!-- configuration -->
-
-	<filexml>widgetconfiguration.xml</filexml>
-
-
-
-  <!-- Locale specific resources -->
-
-	<localization>
-
-    <fileresource>wideimage.o0000</fileresource>
-
-  </localization>
-
-
-
-</package>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-            <item id="wideimage_plugin" name="ContentSource">
-                <property name="name" value=""/>
-            </item>
-            <!--Def value "Test_Publisher"-->
-            <item id="pub_id" name="publisher">
-                <property name="value" value=""/> 
-            </item>          
-            <!-- Template designer choice -->
-             <item id="prop1" name="contentdata">
-                <property name="class" value="def_image"/>  
-            </item> 
-            <item id="prop2" name="contentdata">
-                <property name="class" value="def_text"/>  
-            </item> 
-            <item id="prop3" name="contentdata">
-                <property name="class" value="image1"/>  
-            </item>  
-            
-            <!-- Template designer choice -->
-            <item id="p_trigger" name="pubtrigger">   
-                <property name="name" value="selected"/> 
-            </item>                    
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/rom/wideimage.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* WideImage widget HSPS-plugin IBY file.
-*
-*/
-
-#ifndef __WIDEIMAGE_2001F489_IBY__
-#define __WIDEIMAGE_2001F489_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\wideimage_2001f489\hsps\00\manifest.dat \private\200159c0\install\wideimage_2001f489\hsps\00\manifest.dat
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __WIDEIMAGE_2001F489_IBY__
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/rom/wideimage_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* Wideimage widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifndef __WIDEIMAGE_2001F489_CUSTOMER_IBY__
-#define __WIDEIMAGE_2001F489_CUSTOMER_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wideimage_2001f489\xuikon\00\wideimage.o0000 \private\200159c0\install\wideimage_2001f489\xuikon\00\wideimage.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __WIDEIMAGE_2001F489_CUSTOMER_IBY__
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/rom/wideimage_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's wideimage_2001f489.
-*
-*/
-
-#ifndef __WIDEIMAGE_2001F489_RESOURCES_IBY__
-#define __WIDEIMAGE_2001F489_RESOURCES_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wideimage_2001f489\xuikon\00\wideimage.o0000 \private\200159c0\install\wideimage_2001f489\xuikon\00\wideimage.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __WIDEIMAGE_2001F489_RESOURCES_IBY__
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/rom/wideimage_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* WideImage widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-#ifndef __WIDEIMAGE_2001F489_VARIANT_IBY__
-#define __WIDEIMAGE_2001F489_VARIANT_IBY__
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\wideimage_2001f489\hsps\00\widgetconfiguration.xml \private\200159c0\install\wideimage_2001f489\hsps\00\widgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif  // __WIDEIMAGE_2001F489_VARIANT_IBY__
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/xuikon/00/wideimage.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-widget#wideimage_template
-{
-    nav-index: appearance;
-    block-progression:rl;
-}
-
-box#image_container
-{
-    /* Will be updated by content policy */
-    display: none;
-}
-box#default_container
-{
-    /* Will be updated by content policy */
-   block-progression: rl;
-   direction:ltr; 
-   display: block;
-}
-
-image#default_image
-{
-    padding-top:9px;
-    padding-bottom:9px;
-    padding-left:9px;
-    padding-right:9px;
-    height: 64px;
-    width: 64px;
-}
-
-animation#loading
-{
-	position: absolute;
-	top:9px;
-	left:273px;
-	right:9px;
-	width:30px;
-	height:30px;
-	/* Will be updated by dataplugin */
-	display: none;
-}
-
-text
-{
-    padding-left:9px;
-    padding-right:9px;
-    height : 10u;
-    font-line-space: 15;
-    text-align:left;
-    text-overflow-mode: wrap;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 4u;
-    color: "SKIN(268458534 13056 74)";
-}
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/xuikon/00/wideimage.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F5</ThemeUid>
-    <ThemeFullName>wideimage</ThemeFullName>
-    <ThemeShortName>wideimage</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>wideimage.xml</FileXML>
-    <FileCSS>wideimage.css</FileCSS>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/xuikon/00/wideimage.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget id="wideimage_template" focusable="true" _s60-initial-focus="1">        
-        
-        <!-- Data plugin in this widget -->
-        <contentsource id="wideimage_plugin" name="" value="0x200286DD" />
-        <configuration name="service" value="Service.ContentPublishing"/>
-        <configuration name="interface" value="IContentPublishing"/>
-        <configuration name="command" value="GetList"/>
-        <configuration id="pub_id" name="publisher" value=""/>
-    
-        <actions>
-            <action>
-                <trigger name="activate"/>
-                <event id="p_trigger" name="" />            
-            </action>
-        </actions>
-        <box id="default_container" _s60-initial-focus="1">
-            <image id="default_image">
-	            <property id="prop1" class=""/>
-            </image>
-            <text id="default_text">
-            	<property id="prop2" class=""/>
-            </text>
- 			 </box>            
-       <box id="image_container" sizeaware="true" _s60-initial-focus="1">   
-       	    <actions>
-                <action>
-                    <trigger name="sizechanged"/>
-                    <event name="ui/setelementsizetocps(container)"/>
-                </action>
-            </actions>
-            <image id="wide_image">
-                <property id="prop3" class=""/>
-                <property class="policy/emptyContent" name="image_container" value="display: none;"/>
-                <property class="policy/Content" name="image_container" value="display: block;"/>
-                <property class="policy/Content" name="default_container" value="display: none;"/>
-            </image>
-       </box>
-       <animation id="loading"/>
-        <menuextension>
-            <!-- dynmenuitems are mapped to HS view.xml menu based on target attribute.
-                 HS view.xml provides localisation for predined items: "settings" and "refresh". -->                
-            <dynmenuitem type="widgetsettings" target="hs_widget_menuitem_settings">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(widgetsettings)" destination="wideimage_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>                    
-            <dynmenuitem type="refresh" target="hs_widget_menuitem_refresh">
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="menuitem(refresh)" destination="wideimage_plugin"/>  
-                    </action>
-                </actions>
-            </dynmenuitem>        
-        </menuextension>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2002-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:
-* The information required for building
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/desktop_20018eee/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/desktop_20018eee/hsps/widgetconfiguration.xml
-
-../xuikon/00/desktop.dat /epoc32/data/Z/resource/homescreen/desktop_20018eee/xuikon/desktop_20018eee.dat
-../xuikon/00/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20018eee/xuikon/desktop.css
-../xuikon/00/desktop.xml /epoc32/data/Z/resource/homescreen/desktop_20018eee/xuikon/desktop.xml
-
-
-// Arabic languages
-//*****************
-../xuikon/37/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20018eee/xuikon/37/desktop.css
-../xuikon/50/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20018eee/xuikon/50/desktop.css
-../xuikon/57/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20018eee/xuikon/57/desktop.css
-../xuikon/94/desktop.css /epoc32/data/Z/resource/homescreen/desktop_20018eee/xuikon/94/desktop.css
-
-
-// Support for S60 builds
-//***********************
-../rom/desktop_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(desktop_20018eee_resources.iby)
-../rom/desktop_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(desktop_20018eee_customer.iby)
-../rom/desktop_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(desktop_20018eee_variant.iby)
-../rom/desktop.iby CORE_APP_LAYER_IBY_EXPORT_PATH(desktop_20018eee.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME desktop_20018eee
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-    
-    <type>widget</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x20018eee</configurationuid>
-
-    <!-- description -->
-    <fullname>Desktop</fullname>
-    <shortname>desktop</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-        
-    <!-- Locale independent/common resources -->
-    
-    
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource>desktop.o0000</fileresource>
-    </localization>
-
-</package>
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<configuration>
-  <control>
-    <settings>
-      <!-- Shortcut #1, Phonebook -->
-      <item id="first" name="Shortcut1" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x101F4CCE"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-      <!-- Shortcut #2, Messaging -->
-      <item id="second" name="Shortcut2" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x100058C5"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-      <!-- Shortcut #3, Browser -->
-      <item id="third" name="Shortcut3" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x10008D39"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-      <!-- Shortcut #4, Photos -->
-      <item id="fourth" name="Shortcut4" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x200009EE"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-      <!-- Shortcut #5, Calendar -->
-      <item id="fifth" name="Shortcut5" >
-        <property  name="type" value="application"/>
-        <property  name="uid" value="0x10005901"/>
-        <property  name="view" value=""/>
-        <property  name="param" value=""/>
-      </item>
-      <!-- Shortcut #6, New message -->
-      <item id="sixth" name="Shortcut6" >
-        <property  name="type" value="shortcut"/>
-        <property  name="uid" value="0x99999999"/>
-        <property  name="view" value=""/>
-        <property  name="param" value="messaging:msg"/>
-      </item>
-    </settings>
-  </control>
-</configuration>
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/rom/desktop.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* Top  Contacts widget HSPS-plugin core IBY file.
-*
-*/
-
-#ifdef FF_TOPCONTACTSWIDGET_COMPONENT
-
-#ifndef __TOPCONTACTS_IBY__
-#define __TOPCONTACTS_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\topcontacts\hsps\00\manifest.dat \private\200159c0\install\topcontacts\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // FF_TOPCONTACTSWIDGET_COMPONENT
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/rom/desktop_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* Top Contacts widget HSPS-plugin customer specific IBY file.
-*
-*/
-
-#ifdef FF_TOPCONTACTSWIDGET_COMPONENT
-
-#ifndef __DESKTOP_20018EEE_CUSTOMER_IBY__
-#define __DESKTOP_20018EEE_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-data=ZPRIVATE\200159c0\install\topcontacts\xuikon\00\TopContacts.o0000 \private\200159c0\install\topcontacts\xuikon\00\TopContacts.o0000
-data=ZPRIVATE\200159c0\install\topcontacts\hsps\00\topcontact_hs_widget.dtd \private\200159c0\install\topcontacts\hsps\00\topcontact_hs_widget.dtd
-
-#endif // FF_LAYOUT_480_640_VGA3
-
-#endif  // __DESKTOP_20018EEE_CUSTOMER_IBY__
-
-#endif // FF_TOPCONTACTSWIDGET_COMPONENT
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/rom/desktop_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* Top Contacts  widget HSPS-plugin language specific IBY file.
-*
-*/
-
-#ifdef FF_TOPCONTACTSWIDGET_COMPONENT
-
-#ifndef __DESKTOP_20018EEE_RESOURCES_IBY__
-#define __DESKTOP_20018EEE_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\topcontacts\xuikon\37\topcontacts.o0037 \private\200159c0\install\topcontacts\xuikon\37\topcontacts.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\topcontacts\xuikon\50\topcontacts.o0050 \private\200159c0\install\topcontacts\xuikon\50\topcontacts.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\topcontacts\xuikon\57\topcontacts.o0057 \private\200159c0\install\topcontacts\xuikon\57\topcontacts.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\topcontacts\xuikon\94\topcontacts.o0094 \private\200159c0\install\topcontacts\xuikon\94\topcontacts.o0094
-#endif
-
-
-data=ZPRIVATE\200159c0\install\topcontacts\hsps\00\topcontact_hs_widget.dtd \private\200159c0\install\topcontacts\hsps\00\topcontact_hs_widget.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __DESKTOP_20018EEE_RESOURCES_IBY__
-
-#endif // FF_TOPCONTACTSWIDGET_COMPONENT
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/rom/desktop_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* Top Contacts widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-#ifdef FF_TOPCONTACTSWIDGET_COMPONENT
-
-#ifndef __DESKTOP_20018EEE_VARIANT_IBY__
-#define __DESKTOP_20018EEE_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\topcontacts\hsps\00\widgetconfiguration.xml \private\200159c0\install\topcontacts\hsps\00\widgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __DESKTOP_20018EEE_VARIANT_IBY__
-
-#endif // FF_TOPCONTACTSWIDGET_COMPONENT
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/00/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-widget#desktop_widget
-{
-    width: auto;
-    height: 70px;
-
-    block-progression: rl;
-    direction: ltr;
-}
-
-button.button
-{
-    width: 70px;
-    height: auto;
-
-    nav-index: appearance;
-
-    margin-left: 4px;
-    margin-right: 4px;
-
-    background-color: "SKIN(268458534 9906)";
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-button.button:focus
-{
-    focus-background: "SKIN(268458534 5120 9)";
-}
-
-image.icon
-{
-    width: auto;
-    height: auto;
-
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: adaptive;
-    max-width: 350px;
-    height: 33px;
-    border-style: solid;
-    border-width: 5px;
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-    display: block;
-    padding-left: 6px;
-    padding-top: 3px;
-    padding-bottom: 3px;
-    padding-right: 6px;
-}
-
-text.tooltiptext
-{
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 23px;
-    width: adaptive;
-    color: "SKIN(268458534 13056 19)";
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/00/desktop.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>200184C8</ThemeUid>
-    <ThemeFullName>DesktopWidget</ThemeFullName>
-    <ThemeShortName>Desktop</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>desktop.xml</FileXML>
-    <FileCSS>desktop.css</FileCSS>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/00/desktop.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
-  <widget id="desktop_widget" class="desktop_widget">
-
-    <!-- Launch service aPI plugin and fetch data from CPS -->
-    <contentsource name="DesktopWidget" value="0x2001CB58"/>
-
-    <!-- Shortcut #1 -->
-    <button id="button1" class="button" focusable="true" _s60-initial-focus="1">
-      <actions>
-        <action>
-          <trigger name="stylus">
-            <property name="eventtype" value="downup" />
-          </trigger>
-          <trigger name="activate"/>
-          <trigger name="keyevent">
-            <!-- EStdKeyEnter (enum from e32keys.h) -->
-            <property name="scancode" value="3"/>
-            <property name="eventtype" value="1"/>
-          </trigger>
-          <event name="DesktopWidget/LaunchByIndex(0x1)"/>
-        </action>
-      </actions>
-      <image id="icon1" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x1"/>
-      </image>
-      <image id="presenceicon1" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x1"/>
-      </image>
-      <tooltip id="tooltip1" class="tooltip" >
-        <text id="tooltiptext1" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x1"/>
-        </text>
-      </tooltip>
-    </button>
-
-
-    <!-- Shortcut #2 -->
-    <button id="button2" class="button" focusable="true">
-      <actions>
-        <action>
-          <trigger name="stylus">
-            <property name="eventtype" value="downup" />
-          </trigger>
-          <trigger name="activate"/>
-          <trigger name="keyevent">
-            <!-- EStdKeyEnter (enum from e32keys.h) -->
-            <property name="scancode" value="3"/>
-            <property name="eventtype" value="1"/>
-          </trigger>
-          <event name="DesktopWidget/LaunchByIndex(0x2)"/>
-        </action>
-      </actions>
-      <image id="icon2" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x2"/>
-      </image>
-      <image id="presenceicon2" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x2"/>
-      </image>
-      <tooltip id="tooltip2" class="tooltip" >
-        <text id="tooltiptext2" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x2"/>
-        </text>
-      </tooltip>
-    </button>
-
-    <!-- Shortcut #3 -->
-    <button id="button3" class="button" focusable="true">
-      <actions>
-        <action>
-          <trigger name="stylus">
-            <property name="eventtype" value="downup" />
-          </trigger>
-          <trigger name="activate"/>
-          <trigger name="keyevent">
-            <!-- EStdKeyEnter (enum from e32keys.h) -->
-            <property name="scancode" value="3"/>
-            <property name="eventtype" value="1"/>
-          </trigger>
-          <event name="DesktopWidget/LaunchByIndex(0x3)"/>
-        </action>
-      </actions>
-      <image id="icon3" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x3"/>
-      </image>
-      <image id="presenceicon3" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x3"/>
-      </image>
-      <tooltip id="tooltip3" class="tooltip" >
-        <text id="tooltiptext3" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x3"/>
-        </text>
-      </tooltip>
-    </button>
-
-    <!-- Shortcut #4 -->
-    <button id="button4" class="button" focusable="true">
-      <actions>
-        <action>
-          <trigger name="stylus">
-            <property name="eventtype" value="downup" />
-          </trigger>
-          <trigger name="activate"/>
-          <trigger name="keyevent">
-            <!-- EStdKeyEnter (enum from e32keys.h) -->
-            <property name="scancode" value="3"/>
-            <property name="eventtype" value="1"/>
-          </trigger>
-          <event name="DesktopWidget/LaunchByIndex(0x4)"/>
-        </action>
-      </actions>
-      <image id="icon4" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x4"/>
-      </image>
-      <image id="presenceicon4" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x4"/>
-      </image>
-      <tooltip id="tooltip4" class="tooltip" >
-        <text id="tooltiptext4" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x4"/>
-        </text>
-      </tooltip>
-    </button>
-
-    <!-- Shortcut #5 -->
-    <button id="button5" class="button" focusable="true">
-      <actions>
-        <action>
-          <trigger name="stylus">
-            <property name="eventtype" value="downup" />
-          </trigger>
-          <trigger name="activate"/>
-          <trigger name="keyevent">
-            <!-- EStdKeyEnter (enum from e32keys.h) -->
-            <property name="scancode" value="3"/>
-            <property name="eventtype" value="1"/>
-          </trigger>
-          <event name="DesktopWidget/LaunchByIndex(0x5)"/>
-        </action>
-      </actions>
-      <image id="icon5" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x5"/>
-      </image>
-      <image id="presenceicon5" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x5"/>
-      </image>
-      <tooltip id="tooltip5" class="tooltip" >
-        <text id="tooltiptext5" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x5"/>
-        </text>
-      </tooltip>
-    </button>
-
-    <button id="button6" class="button" focusable="true">
-      <actions>
-        <action>
-          <trigger name="stylus">
-            <property name="eventtype" value="downup" />
-          </trigger>
-          <trigger name="activate"/>
-          <trigger name="keyevent">
-            <!-- EStdKeyEnter (enum from e32keys.h) -->
-            <property name="scancode" value="3"/>
-            <property name="eventtype" value="1"/>
-          </trigger>
-          <event name="DesktopWidget/LaunchByIndex(0x6)"/>
-        </action>
-      </actions>
-      <image id="icon6" class="icon">
-        <property class="DesktopWidget/icon" name="ordinal" value="0x6"/>
-      </image>
-      <image id="presenceicon6" class="second_icon">
-        <property class="DesktopWidget/presenceicon" name="ordinal" value="0x6"/>
-      </image>
-      <tooltip id="tooltip6" class="tooltip" >
-        <text id="tooltiptext6" class="tooltiptext" >
-          <property class="DesktopWidget/long_name" name="ordinal" value="0x6"/>
-        </text>
-      </tooltip>
-    </button>
-
-    <menuextension>
-      <softkey type="middle" target="hs_widget_msk_open"/>
-      <menuitem target="hs_widget_menuitem_open">
-        <actions>
-          <action>
-            <trigger name="activate"/>
-            <event name="system/activateselecteditem"/>
-          </action>
-        </actions>
-      </menuitem>
-      <menuitem target="hs_widget_menuitem_settings">
-        <actions>
-          <action>
-            <trigger name="activate"/>
-            <event name="DesktopWidget/ShowSettings"/>
-          </action>
-        </actions>
-      </menuitem>
-    </menuextension>
-
-  </widget>
-</xmluiml>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/37/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-widget#desktop_widget
-{
-    width: auto;
-    height: 70px;
-
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.button
-{
-    width: 70px;
-    height: auto;
-
-    nav-index: appearance;
-
-    margin-left: 4px;
-    margin-right: 4px;
-    background-color: "SKIN(268458534 9906)";
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-button.button:focus
-{
-    focus-background: "SKIN(268458534 5120 9)";
-}
-
-image.icon
-{
-    width: auto;
-    height: auto;
-
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: 15.0u; /* any fixed lenghts works here if the owerflow is set to
-                   both tooltip and text inside it */
-    height: 5.5u;
-
-    border-style: solid;
-    border-width: 5px;
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-}
-
-
-text.tooltiptext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    width: 100%;
-    height: 85%;
-    text-align: center;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    padding-right: 1u;
-    padding-left: 1u;
-    padding-bottom: 1u;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px; 
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/50/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-widget#desktop_widget
-{
-    width: auto;
-    height: 70px;
-
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.button
-{
-    width: 70px;
-    height: auto;
-
-    nav-index: appearance;
-
-    margin-left: 4px;
-    margin-right: 4px;
-    background-color: "SKIN(268458534 9906)";
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-button.button:focus
-{
-    focus-background: "SKIN(268458534 5120 9)";
-}
-
-image.icon
-{
-    width: auto;
-    height: auto;
-
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: 15.0u; /* any fixed lenghts works here if the owerflow is set to 
-                  both tooltip and text inside it */
-    height: 5.5u;
-
-    border-style: solid;
-    border-width: 5px;
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-}
-
-
-text.tooltiptext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    width: 100%;
-    height: 85%;
-    text-align: center;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    padding-right: 1u;
-    padding-left: 1u;
-    padding-bottom: 1u;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/57/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
- widget#desktop_widget
-{
-    width: auto;
-    height: 70px;
-
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.button
-{
-    width: 70px;
-    height: auto;
-
-    nav-index: appearance;
-
-    margin-left: 4px;
-    margin-right: 4px;
-
-    background-color: "SKIN(268458534 9906)";
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-button.button:focus
-{
-    focus-background: "SKIN(268458534 5120 9)";
-}
-
-image.icon
-{
-    width: auto;
-    height: auto;
-
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: 15.0u; /* any fixed lenghts works here if the owerflow is set to 
-                   both tooltip and text inside it */
-    height: 5.5u;
-
-    border-style: solid;
-    border-width: 5px; 
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-}
-
-
-text.tooltiptext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    width: 100%;
-    height: 85%;
-    text-align: center;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    padding-right: 1u;
-    padding-left: 1u;
-    padding-bottom: 1u;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/xuikon/94/desktop.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-widget#desktop_widget
-{
-    width: auto;
-    height: 70px;
-
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.button
-{
-    width: 70px;
-    height: auto;
-
-    nav-index: appearance;
-
-    margin-left: 4px;
-    margin-right: 4px;
-
-    background-color: "SKIN(268458534 9906)";
-}
-
-button#button1
-{
-    margin-left: 0px;
-}
-
-button#button6
-{
-    margin-right: 0px;
-}
-
-button.button:focus
-{
-    focus-background: "SKIN(268458534 5120 9)";
-}
-
-image.icon
-{
-    width: auto;
-    height: auto;
-
-    _s60-aspect-ratio: preserve;
-}
-
-/* For presence */
-image.second_icon
-{
-    margin-top:0%;
-    width: 25%;
-    height: 25%;
-    position: absolute;
-    bottom: 0%;
-    left: 70%;
-    top: 3%;
-    _s60-aspect-ratio:preserve;
-}
-
-tooltip.tooltip
-{
-    width: 15.0u; /* any fixed lenghts works here if the owerflow is set to 
-                  both tooltip and text inside it */
-    height: 5.5u;
-
-    border-style: solid;
-    border-width: 5px; 
-
-    _s60-start-delay: 1000000;
-    _s60-display-time: 1000000;
-
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-}
-
-
-text.tooltiptext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    width: 100%;
-    height: 85%;
-    text-align: center;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    padding-right: 1u;
-    padding-left: 1u;
-    padding-bottom: 1u;
-}
-
-/*********************
-      extension
-**********************/
-tooltip.tooltipext
-{
-    width: 15.0u;
-    height: adaptive;
-    border-style: solid;
-    border-width: 5px;
-    /* delay comes from the xSP server */
-    _s60-start-delay: 0;
-    _s60-display-time: 60000000; /* 6 sec */
-    background-color:"SKIN(268458534 8480)";
-    overflow: visible;
-    display: none;
-    block-progression: tb;
-    padding-bottom: 1u;
-    padding-right: 2u;
-    padding-left: 2u;
-    padding-top: 1u;
-}
-
-text.textcaptionext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    font-weight: bold;
-    text-align: center;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
-
-text.textext
-{
-    position: static;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    width: 30u;
-    height: 5u;
-    color: "SKIN(268458534 13056 19)";
-    overflow: visible;
-    display: block;
-    visibility:visible;
-}
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/hsps/widgetconfiguration.xml
-
-../xuikon/00/double_row_icon_widget.dat /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/xuikon/double_row_icon_widget_2001fdbd.dat
-../xuikon/00/double_row_icon_widget.css /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/xuikon/double_row_icon_widget.css
-../xuikon/00/double_row_icon_widget.xml /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/xuikon/double_row_icon_widget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/double_row_icon_widget.css /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/xuikon/37/double_row_icon_widget.css
-../xuikon/50/double_row_icon_widget.css /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/xuikon/50/double_row_icon_widget.css
-../xuikon/57/double_row_icon_widget.css /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/xuikon/57/double_row_icon_widget.css
-../xuikon/94/double_row_icon_widget.css /epoc32/data/Z/resource/homescreen/double_row_icon_widget_2001fdbd/xuikon/94/double_row_icon_widget.css
-
-
-// Support for S60 builds
-//***********************
-../rom/double_row_icon_widget_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(double_row_icon_widget_2001fdbd_resources.iby)
-../rom/double_row_icon_widget_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(double_row_icon_widget_2001fdbd_customer.iby)
-../rom/double_row_icon_widget_variant.iby CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(double_row_icon_widget_2001fdbd_variant.iby)
-../rom/double_row_icon_widget.iby CORE_APP_LAYER_IBY_EXPORT_PATH(double_row_icon_widget_2001fdbd.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME double_row_icon_widget_2001fdbd
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-
-    <type>template</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x2001fdbd</configurationuid>
-    
-    <!-- description -->
-    <fullname>double_row_icon_widget</fullname>
-    <shortname>double_r_icon</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-
-    <!-- Locale independent/common resources -->
-
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource>double_row_icon_widget.o0000</fileresource>    
-    </localization>
-
-</package>
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="double_row_icon_widget" name="ContentSource">
-            <property  name="name" value=""/>
-          </item>
-
-          <item id="pub_id" name="publisher">
-            <property  name="value" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="image1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/image1"-->  
-          
-					<item id="prop2" name="contentdata">
-            <property  name="class" value="text1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text1"-->  
-              
-   				<item id="prop3" name="contentdata">
-            <property  name="class" value="image2"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/image2"-->  
-          
-					<item id="prop4" name="contentdata">
-            <property  name="class" value="text2"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text2"-->  
-              
-					<!-- Template designer choice -->
-          <item id="trigger1" name="trigger">  
-            <property  name="name" value="widget_select"/>  <!-- Template designer choice -->
-          </item>                                  <!--Def value "Test_Publisher/widget_select"-->
-              
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/rom/double_row_icon_widget.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's double_row_icon_widget_2001fdbd.
-*
-*/
-
-
-#ifndef __DOUBLE_ROW_ICON_WIDGET_2001FDBD_IBY__
-#define __DOUBLE_ROW_ICON_WIDGET_2001FDBD_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\double_row_icon_widget_2001fdbd\hsps\00\manifest.dat \private\200159c0\install\double_row_icon_widget_2001fdbd\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __DOUBLE_ROW_ICON_WIDGET_2001FDBD_IBY__
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/rom/double_row_icon_widget_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's double_row_icon_widget_2001fdbd.
-*
-*/
-
-
-#ifndef __DOUBLE_ROW_ICON_WIDGET_2001FDBD_CUSTOMER_IBY__
-#define __DOUBLE_ROW_ICON_WIDGET_2001FDBD_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\00\double_row_icon_widget.o0000 \private\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\00\double_row_icon_widget.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __DOUBLE_ROW_ICON_WIDGET_2001FDBD_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/rom/double_row_icon_widget_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's double_row_icon_widget_2001fdbd.
-*
-*/
-
-#ifndef __DOUBLE_ROW_ICON_WIDGET_2001FDBD_RESOURCES_IBY__
-#define __DOUBLE_ROW_ICON_WIDGET_2001FDBD_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\37\double_row_icon_widget.o0037 \private\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\37\double_row_icon_widget.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\50\double_row_icon_widget.o0050 \private\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\50\double_row_icon_widget.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\57\double_row_icon_widget.o0057 \private\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\57\double_row_icon_widget.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\94\double_row_icon_widget.o0094 \private\200159c0\install\double_row_icon_widget_2001fdbd\xuikon\94\double_row_icon_widget.o0094
-#endif
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __DOUBLE_ROW_ICON_WIDGET_2001FDBD_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/rom/double_row_icon_widget_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's double_row_icon_widget_2001fdbd.
-*
-*/
-
-
-#ifndef __DOUBLE_ROW_ICON_WIDGET_2001FDBD_VARIANT_IBY__
-#define __DOUBLE_ROW_ICON_WIDGET_2001FDBD_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\double_row_icon_widget_2001fdbd\hsps\00\widgetconfiguration.xml \private\200159c0\install\double_row_icon_widget_2001fdbd\hsps\00\widgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __DOUBLE_ROW_ICON_WIDGET_2001FDBD_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/00/double_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-widget{
-    width:auto;
-    height:60px;
-    }
-box#double_row_icon_widget{ 
-    direction: ltr;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#double_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: ltr;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-box#double_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#double_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: ltr;
-}
-
-box.textbox
-{
-    padding-left  : 10px;
-    direction: ltr;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: ltr;
-    block-progression:tb;
-    text-align:left;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/00/double_row_icon_widget.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F6</ThemeUid>
-    <ThemeFullName>double_row_icon_widget</ThemeFullName>
-    <ThemeShortName>double_row_icon_widget</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>double_row_icon_widget.xml</FileXML>
-    <FileCSS>double_row_icon_widget.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/00/double_row_icon_widget.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget>
-      <contentsource id="double_row_icon_widget" class="ContentSource" name="" value="0x20019594"/>
-      <configuration name="service" value="Service.ContentPublishing"/>
-      <configuration name="interface" value="IContentPublishing"/>
-      <configuration name="command" value="GetList"/>
-      <configuration id="pub_id" name="publisher" value=""/>
-      
-      <box id="double_row_icon_widget" focusable="true" _s60-initial-focus="1">
-    	 <actions>
-	        <action>
-	          <trigger name="stylus">
-	            <property name="eventtype" value="downup" />
-	          </trigger>
-	          <trigger name="activate"/>
-	          <trigger name="keyevent">
-	              <property name="scancode" value="3"/>
-	              <property name="eventtype" value="1"/>
-	          </trigger>
-	          <event id="trigger1" name="" />
-	        </action>
-	      </actions>
-
-      <box id="double_rc_row1_box" class="row" >
-        <box id="double_rc_image1_box" class="imagebox">
-          <image id="row1img"> 
-            <configuration name="content_type" value="row1"/>
-            <property id="prop1" class=""/>
-          </image>
-        </box>        
-        <box id="double_rc_text1_box" class="textbox">
-            <text id="row1txt"> 
-            <configuration name="content_type" value="row1"/>
-            <property id="prop2" class=""/>
-          </text>
-        </box>
-      </box>
-      
-      <box id="double_rc_row2_box"  class="row" >
-        <box id="double_rc_image2_box" class="imagebox">
-          <image id="row2img"> 
-					  <configuration name="content_type" value="row2"/>
-            <property id="prop3" class=""/>
-          </image>
-        </box>        
-        <box id="double_rc_text2_box" class="textbox">
-            <text id="row2txt"> 
-					  <configuration name="content_type" value="row2"/>
-            <property id="prop4" class=""/>
-          </text>
-        </box>
-      </box>
-      
-    </box>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/37/double_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-widget{
-    width:auto;
-    height:60px;
-    }
-box#double_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#double_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-box#double_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#double_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: rtl;
-}
-
-box.textbox
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/50/double_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-widget{
-    width:auto;
-    height:60px;
-    }
-box#double_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#double_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-box#double_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#double_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: rtl;
-}
-
-box.textbox
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/57/double_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-widget{
-    width:auto;
-    height:60px;
-    }
-box#double_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#double_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-box#double_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#double_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: rtl;
-}
-
-box.textbox
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/xuikon/94/double_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-widget{
-    width:auto;
-    height:60px;
-    }
-box#double_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#double_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-box#double_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#double_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: rtl;
-}
-
-box.textbox
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/hsps/widgetconfiguration.xml
-
-../xuikon/00/double_row_widget.dat /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/xuikon/double_row_widget_2001fdc2.dat
-../xuikon/00/double_row_widget.css /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/xuikon/double_row_widget.css
-../xuikon/00/double_row_widget.xml /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/xuikon/double_row_widget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/double_row_widget.css /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/xuikon/37/double_row_widget.css
-../xuikon/50/double_row_widget.css /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/xuikon/50/double_row_widget.css
-../xuikon/57/double_row_widget.css /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/xuikon/57/double_row_widget.css
-../xuikon/94/double_row_widget.css /epoc32/data/Z/resource/homescreen/double_row_widget_2001fdc2/xuikon/94/double_row_widget.css
-
-
-// Support for S60 builds
-//***********************
-../rom/double_row_widget_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(double_row_widget_2001fdc2_resources.iby)
-../rom/double_row_widget_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(double_row_widget_2001fdc2_customer.iby)
-../rom/double_row_widget_variant.iby CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(double_row_widget_2001fdc2_variant.iby)
-../rom/double_row_widget.iby CORE_APP_LAYER_IBY_EXPORT_PATH(double_row_widget_2001fdc2.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME double_row_widget_2001fdc2
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-
-    <type>template</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x2001fdc2</configurationuid>
-    
-    <!-- description -->
-    <fullname>double_row_widget</fullname>
-    <shortname>double_r</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-
-    <!-- Locale independent/common resources -->
-
-    <!-- Locale specific resources -->
-    <localization>
-      <fileresource>double_row_widget.o0000</fileresource>    
-    </localization>
-
-</package>
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="double_row_widget" name="ContentSource">
-            <property  name="name" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="pub_id" name="publisher">
-            <property  name="value" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="text1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text1"-->  
-                       
-					<item id="prop2" name="contentdata">
-            <property  name="class" value="text2"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text2"-->  
-              
-					<!-- Template designer choice -->
-          <item id="trigger1" name="trigger">  
-            <property  name="name" value="widget_select"/>  <!-- Template designer choice -->
-          </item>                                  <!--Def value "Test_Publisher/widget_select"-->
-                       
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/rom/double_row_widget.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's double_row_widget_2001fdc2.
-*
-*/
-
-#ifndef __DOUBLE_ROW_WIDGET_2001FDC2_IBY__
-#define __DOUBLE_ROW_WIDGET_2001FDC2_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\double_row_widget_2001fdc2\hsps\00\manifest.dat \private\200159c0\install\double_row_widget_2001fdc2\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __DOUBLE_ROW_WIDGET_2001FDC2_IBY__
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/rom/double_row_widget_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's double_row_widget_2001fdc2.
-*
-*/
-
-#ifndef __DOUBLE_ROW_WIDGET_2001FDC2_CUSTOMER_IBY__
-#define __DOUBLE_ROW_WIDGET_2001FDC2_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\double_row_widget_2001fdc2\xuikon\00\double_row_widget.o0000 \private\200159c0\install\double_row_widget_2001fdc2\xuikon\00\double_row_widget.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __DOUBLE_ROW_WIDGET_2001FDC2_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/rom/double_row_widget_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's double_row_widget_2001fdc2.
-*
-*/
-
-#ifndef __DOUBLE_ROW_WIDGET_2001FDC2_RESOURCES_IBY__
-#define __DOUBLE_ROW_WIDGET_2001FDC2_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\double_row_widget_2001fdc2\xuikon\37\double_row_widget.o0037 \private\200159c0\install\double_row_widget_2001fdc2\xuikon\37\double_row_widget.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\double_row_widget_2001fdc2\xuikon\50\double_row_widget.o0050 \private\200159c0\install\double_row_widget_2001fdc2\xuikon\50\double_row_widget.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\double_row_widget_2001fdc2\xuikon\57\double_row_widget.o0057 \private\200159c0\install\double_row_widget_2001fdc2\xuikon\57\double_row_widget.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\double_row_widget_2001fdc2\xuikon\94\double_row_widget.o0094 \private\200159c0\install\double_row_widget_2001fdc2\xuikon\94\double_row_widget.o0094
-#endif
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __DOUBLE_ROW_WIDGET_2001FDC2_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/rom/double_row_widget_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's double_row_widget_2001fdc2.
-*
-*/
-
-#ifndef __DOUBLE_ROW_WIDGET_2001FDC2_VARIANT_IBY__
-#define __DOUBLE_ROW_WIDGET_2001FDC2_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\double_row_widget_2001fdc2\hsps\00\widgetconfiguration.xml \private\200159c0\install\double_row_widget_2001fdc2\hsps\00\widgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __DOUBLE_ROW_WIDGET_2001FDC2_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/00/double_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-widget{
-    width: auto;
-    height: 60px;
-    }
-box#double_row_widget{ 
-    direction: ltr;
-    block-progression: tb;
- 		nav-index: appearance;
-}    
-
-box#double_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.double_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: ltr;
-    block-progression: tb;
-    text-align: left;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/00/double_row_widget.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F6</ThemeUid>
-    <ThemeFullName>double_row_widget</ThemeFullName>
-    <ThemeShortName>double_row_widget</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>double_row_widget.xml</FileXML>
-    <FileCSS>double_row_widget.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/00/double_row_widget.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget>
-      <contentsource id="double_row_widget" class="ContentSource" name="" value="0x20019594"/>
-      <configuration name="service" value="Service.ContentPublishing"/>
-      <configuration name="interface" value="IContentPublishing"/>
-      <configuration name="command" value="GetList"/>
-	    <configuration id="pub_id" name="publisher" value=""/>
-			
-			<box id="double_row_widget"  focusable="true" _s60-initial-focus="1">	    
-	        <actions>
-	          <action>
-	            <trigger name="stylus">
-	              <property name="eventtype" value="downup" />
-	            </trigger>
-	            <trigger name="activate"/>
-                  <trigger name="keyevent">
-                      <property name="scancode" value="3"/>
-                      <property name="eventtype" value="1"/>
-                  </trigger>
-	            <event id="trigger1" name=""/>
-	          </action>
-	        </actions>
-	        
-		 <box id="double_text_box1" class="double_text_box">
-        <text id="r1text1" class="text_box">
-          <configuration name="content_type" value="row1"/>
-          <property id="prop1" class=""/>
-      	</text>
-     </box>
-     <box id="double_text_box2"  class="double_text_box">
-      	<text id="r2text2" class="text_box">
-      	  <configuration name="content_type" value="row2"/>
-          <property id="prop2" class=""/>
-      	</text>
-		 </box>
-		</box>
-   </widget>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/37/double_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-widget{
-    width: auto;
-    height: 60px;
-    }
-    
-box#double_row_widget{ 
-    direction: rtl;
-    block-progression: tb;
- 		nav-index: appearance;
-}    
-
-box#double_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.double_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text
-{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression: tb;
-    text-align: right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/50/double_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-widget{
-    width: auto;
-    height: 60px;
-    }
-    
-box#double_row_widget{ 
-    direction: rtl;
-    block-progression: tb;
- 		nav-index: appearance;
-}    
-
-box#double_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.double_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text
-{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression: tb;
-    text-align: right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/57/double_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-widget{
-    width: auto;
-    height: 60px;
-    }
-    
-box#double_row_widget{ 
-    direction: rtl;
-    block-progression: tb;
- 		nav-index: appearance;
-}    
-
-box#double_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.double_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text
-{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression: tb;
-    text-align: right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/xuikon/94/double_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-widget{
-    width: auto;
-    height: 60px;
-    }
-    
-box#double_row_widget{ 
-    direction: rtl;
-    block-progression: tb;
- 		nav-index: appearance;
-}    
-
-box#double_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.double_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text
-{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression: tb;
-    text-align: right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Homescreen's Buzzidle (vga) widgets
-*
-*/
-
-
-#include "../double_row_icon_widget_2001fdbd/group/bld.inf"
-#include "../double_row_widget_2001fdc2/group/bld.inf"
-#include "../root_2001f48f/group/bld.inf"
-#include "../single_row_icon_widget_2001fdc0/group/bld.inf"
-#include "../single_row_widget_2001fdc1/group/bld.inf"
-#include "../triple_row_icon_widget_2001fdbe/group/bld.inf"
-#include "../triple_row_widget_2001fdbf/group/bld.inf"
-#include "../view1_2001fdb9/group/bld.inf"
-#include "../wideimage_10009dff/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-
--- a/idlehomescreen/data/vga_tch/root_2001f48f/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/z/resource/homescreen/root_2001f48f/hsps/manifest.dat
-../hsps/00/rootconfiguration.xml /epoc32/data/z/resource/homescreen/root_2001f48f/hsps/rootconfiguration.xml
-//../hsps/00/rootconfiguration.dtd /epoc32/data/z/resource/homescreen/root_2001f48f/hsps/rootconfiguration.dtd
-
-../xuikon/00/root.dat /epoc32/data/z/resource/homescreen/root_2001f48f/xuikon/root_2001f48f.dat
-../xuikon/00/root.css /epoc32/data/z/resource/homescreen/root_2001f48f/xuikon/root.css
-../xuikon/00/root.xml /epoc32/data/z/resource/homescreen/root_2001f48f/xuikon/root.xml
-
-
-// Support for S60 localization
-//*****************************
-//#ifndef __ROOTCONFIGURATION_LOC__
-//#define __ROOTCONFIGURATION_LOC__
-//../loc/rootconfiguration.loc APP_LAYER_LOC_EXPORT_PATH(rootconfiguration.loc)
-//#endif // __ROOTCONFIGURATION_LOC__
-
-// Support for S60 builds
-//***********************
-../rom/root_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(root_2001f48f_resources.iby)
-../rom/root_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(root_2001f48f_customer.iby)
-../rom/root_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(root_2001f48f_variant.iby)
-../rom/root.iby CORE_APP_LAYER_IBY_EXPORT_PATH(root_2001f48f.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME root_2001f48f
-OPTION DTD_TYPE widget
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/vga_tch/root_2001f48f/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-    
-    <type>application</type>
-    
-    <!-- application uid -->
-    <interfaceuid>0x102750f0</interfaceuid>
-
-    <!-- vendor uid -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!--  configuration uid -->
-    <configurationuid>0x2001f48f</configurationuid>
-
-    <!-- description -->
-    <fullname>AI3 Root/VGA</fullname>
-    <shortname>ai3_root</shortname>
-    <version>2.0</version>
-
-    <status>statuslicenceerestorable</status>
-
-    <!-- configuration -->
-    <filexml>rootconfiguration.xml</filexml>
-    
-    <!-- Name of the localization files -->
-    <!--filedtd>rootconfiguration.dtd</filedtd-->
-    
-    <!-- Locale independent/common resources -->
-    <fileresource>root.o0000</fileresource>
-
-    <!-- Locale specific resources -->
-    <localization/>
-
-</package>
--- a/idlehomescreen/data/vga_tch/root_2001f48f/hsps/00/rootconfiguration.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "rootconfiguration.dtd">
-<PartOf  : "rootconfiguration">
-
-<FileDescription: "Localization strings for the configuration">
-<FileVersion    : >
-
-<Copyright:
-"Copyright  2007 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!-- NOTE: make sure that there is at last one space character (hex 20) after the entity name -->
-
-<!ENTITY qtn_root_configuration_name "AI3 Root">
--- a/idlehomescreen/data/vga_tch/root_2001f48f/hsps/00/rootconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<configuration>
-
-	<!-- name = localized name e.g. "classic theme" -->
-	<control>
-		<plugins>
-			<!-- portrait view -->
-			<plugin uid="0x2001fdb9"/>
-			<plugin uid="0x2001fdb9"/>
-			<plugin uid="0x2001fdb9"/>	
-			<plugin uid="0x2001fdb9"/>
-      <plugin uid="0x2001fdb9"/>  		
-		</plugins>
-		<settings/>
-	</control>
-
-</configuration>
--- a/idlehomescreen/data/vga_tch/root_2001f48f/loc/rootconfiguration.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for project Active Idle 3
-*
-*/
-
-
-// d: root
-// l: ai_gene_pane_1_t1
-// w:
-// r: TB9.2
-#define qtn_root_configuration_name "AI3 Root"
--- a/idlehomescreen/data/vga_tch/root_2001f48f/rom/root.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Root widget HSPS-plugin IBY file.
-*
-*/
-
-
-#ifndef __ROOT_2001F48F_IBY__
-#define __ROOT_2001F48F_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\root_2001f48f\xuikon\00\root.o0000 \private\200159c0\install\root_2001f48f\xuikon\00\root.o0000
-data=ZPRIVATE\200159c0\install\root_2001f48f\hsps\00\manifest.dat \private\200159c0\install\root_2001f48f\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __ROOT_2001F48F_IBY__
--- a/idlehomescreen/data/vga_tch/root_2001f48f/rom/root_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Root widget HSPS-plugin language specific IBY file.
-*
-*/
-
-
-#ifndef __ROOT_2001F48F_CUSTOMER_IBY__
-#define __ROOT_2001F48F_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-//data=ZPRIVATE\200159c0\install\root_2001f48f\hsps\00\rootconfiguration.dtd \private\200159c0\install\root_2001f48f\hsps\00\rootconfiguration.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __ROOT_2001F48F_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/root_2001f48f/rom/root_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Root widget HSPS-plugin language specific IBY file.
-*
-*/
-
-
-#ifndef __ROOT_2001F48F_RESOURCES_IBY__
-#define __ROOT_2001F48F_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-//data=ZPRIVATE\200159c0\install\root_2001f48f\hsps\00\rootconfiguration.dtd \private\200159c0\install\root_2001f48f\hsps\00\rootconfiguration.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __ROOT_2001F48F_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/root_2001f48f/rom/root_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Root widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-
-#ifndef __ROOT_2001F48F_VARIANT_IBY__
-#define __ROOT_2001F48F_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\root_2001f48f\hsps\00\rootconfiguration.xml \private\200159c0\install\root_2001f48f\hsps\00\rootconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __ROOT_2001F48F_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/root_2001f48f/xuikon/00/root.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-views 
-{
-}
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/root_2001f48f/xuikon/00/root.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>E029CF57</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>11001233</ThemeUid>
-    <ThemeFullName>NokiaDemoRoot</ThemeFullName>
-    <ThemeShortName>root</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>root.xml</FileXML>
-    <FileCSS>root.css</FileCSS>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/root_2001f48f/xuikon/00/root.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-	<views>
-	</views>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/hsps/widgetconfiguration.xml
-
-../xuikon/00/single_row_icon_widget.dat /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/xuikon/single_row_icon_widget_2001fdc0.dat
-../xuikon/00/single_row_icon_widget.css /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/xuikon/single_row_icon_widget.css
-../xuikon/00/single_row_icon_widget.xml /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/xuikon/single_row_icon_widget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/single_row_icon_widget.css /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/xuikon/37/single_row_icon_widget.css
-../xuikon/50/single_row_icon_widget.css /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/xuikon/50/single_row_icon_widget.css
-../xuikon/57/single_row_icon_widget.css /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/xuikon/57/single_row_icon_widget.css
-../xuikon/94/single_row_icon_widget.css /epoc32/data/Z/resource/homescreen/single_row_icon_widget_2001fdc0/xuikon/94/single_row_icon_widget.css
-
-
-// Support for S60 builds
-//***********************
-../rom/single_row_icon_widget_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(single_row_icon_widget_2001fdc0_resources.iby)
-../rom/single_row_icon_widget_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(single_row_icon_widget_2001fdc0_customer.iby)
-../rom/single_row_icon_widget_variant.iby CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(single_row_icon_widget_2001fdc0_variant.iby)
-../rom/single_row_icon_widget.iby CORE_APP_LAYER_IBY_EXPORT_PATH(single_row_icon_widget_2001fdc0.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME single_row_icon_widget_2001fdc0
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-
-    <type>template</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x2001fdc0</configurationuid>
-    
-    <!-- description -->
-    <fullname>single_row_icon_widget</fullname>
-    <shortname>single_r_icon</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-
-    <!-- Locale independent/common resources -->
-
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource>single_row_icon_widget.o0000</fileresource>    
-    </localization>
-
-</package>
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="single_row_icon_widget" name="ContentSource">
-            <property  name="name" value=""/>
-          </item>
-
-          <item id="pub_id" name="publisher">
-            <property  name="value" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="image1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/image1"-->  
-         
-					<item id="prop2" name="contentdata">
-            <property  name="class" value="text1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text1"-->  
-              
-					<!-- Template designer choice -->
-          <item id="trigger1" name="trigger">  
-            <property  name="name" value="widget_select"/>  <!-- Template designer choice -->
-          </item>                                  <!--Def value "Test_Publisher/widget_select"-->
-              
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/rom/single_row_icon_widget.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's single_row_icon_widget_2001fdc0.
-*
-*/
-
-
-#ifndef __SINGLE_ROW_WIDGET_2001FDC0_IBY__
-#define __SINGLE_ROW_WIDGET_2001FDC0_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\single_row_icon_widget_2001fdc0\hsps\00\manifest.dat \private\200159c0\install\single_row_icon_widget_2001fdc0\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-#endif // __SINGLE_ROW_WIDGET_2001FDC0_IBY__
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/rom/single_row_icon_widget_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's single_row_icon_widget_2001fdc0.
-*
-*/
-
-
-#ifndef __SINGLE_ROW_WIDGET_2001FDC0_CUSTOMER_IBY__
-#define __SINGLE_ROW_WIDGET_2001FDC0_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\00\single_row_icon_widget.o0000 \private\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\00\single_row_icon_widget.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __SINGLE_ROW_WIDGET_2001FDC0_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/rom/single_row_icon_widget_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's single_row_icon_widget_2001fdc0.
-*
-*/
-
-#ifndef __SINGLE_ROW_WIDGET_2001FDC0_RESOURCES_IBY__
-#define __SINGLE_ROW_WIDGET_2001FDC0_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\37\single_row_icon_widget.o0037 \private\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\37\single_row_icon_widget.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\50\single_row_icon_widget.o0050 \private\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\50\single_row_icon_widget.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\57\single_row_icon_widget.o0057 \private\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\57\single_row_icon_widget.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\94\single_row_icon_widget.o0094 \private\200159c0\install\single_row_icon_widget_2001fdc0\xuikon\94\single_row_icon_widget.o0094
-#endif
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __SINGLE_ROW_WIDGET_2001FDC0_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/rom/single_row_icon_widget_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's single_row_icon_widget_2001fdc0.
-*
-*/
-
-
-#ifndef __SINGLE_ROW_WIDGET_2001FDC0_VARIANT_IBY__
-#define __SINGLE_ROW_WIDGET_2001FDC0_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\single_row_icon_widget_2001fdc0\hsps\00\widgetconfiguration.xml \private\200159c0\install\single_row_icon_widget_2001fdc0\hsps\00\widgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __SINGLE_ROW_WIDGET_2001FDC0_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/00/single_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_icon_widget{ 
-    direction: ltr;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: ltr;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#single_rc_image1_box
-{
-    height:auto;
-    width:20px;
-    direction: ltr;
-}
-
-box#single_rc_text1_box
-{
-    padding-left  : 10px;
-    direction: ltr;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: ltr;
-    block-progression:tb;
-    text-align:left;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/00/single_row_icon_widget.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F6</ThemeUid>
-    <ThemeFullName>single_row_icon_widget</ThemeFullName>
-    <ThemeShortName>single_row_icon_widget</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>single_row_icon_widget.xml</FileXML>
-    <FileCSS>single_row_icon_widget.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/00/single_row_icon_widget.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget>
-      <contentsource id="single_row_icon_widget" class="ContentSource" name="" value="0x20019594"/>
-      <configuration name="service" value="Service.ContentPublishing"/>
-      <configuration name="interface" value="IContentPublishing"/>
-      <configuration name="command" value="GetList"/>
-      <configuration id="pub_id" name="publisher" value=""/>
-      
-      <box id="single_row_icon_widget" focusable="true" _s60-initial-focus="1">      
-    	 <actions>
-	        <action>
-	          <trigger name="stylus">
-	            <property name="eventtype" value="downup" />
-	          </trigger>
-	          <trigger name="activate"/>
-	          <trigger name="keyevent">
-	              <property name="scancode" value="3"/>
-	              <property name="eventtype" value="1"/>
-	          </trigger>
-	          <event id="trigger1" name="" />
-	        </action>
-	      </actions>
-	    
-	    <box id="single_rc_row1_box" class="row" > 
-       <box id="single_rc_image1_box">
-         <image id="row1img"> 
-           <configuration name="content_type" value="row1_image1"/>
-           <property id="prop1" class=""/>
-         </image>
-       </box>        
-       <box id="single_rc_text1_box">
-         <text id="row1txt"> 
-					 <configuration name="content_type" value="row1_text1"/>
-           <property id="prop2" class=""/>
-         </text>
-       </box>
-      </box> 
-    </box>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/37/single_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#single_rc_image1_box
-{
-    height:auto;
-    width:20px;
-    direction: ltr;
-}
-
-box#single_rc_text1_box
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/50/single_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#single_rc_image1_box
-{
-    height:auto;
-    width:20px;
-    direction: ltr;
-}
-
-box#single_rc_text1_box
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/57/single_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#single_rc_image1_box
-{
-    height:auto;
-    width:20px;
-    direction: ltr;
-}
-
-box#single_rc_text1_box
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/xuikon/94/single_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#single_rc_image1_box
-{
-    height:auto;
-    width:20px;
-    direction: ltr;
-}
-
-box#single_rc_text1_box
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/hsps/widgetconfiguration.xml
-
-../xuikon/00/single_row_widget.dat /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/xuikon/single_row_widget_2001fdc1.dat
-../xuikon/00/single_row_widget.css /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/xuikon/single_row_widget.css
-../xuikon/00/single_row_widget.xml /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/xuikon/single_row_widget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/single_row_widget.css /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/xuikon/37/single_row_widget.css
-../xuikon/50/single_row_widget.css /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/xuikon/50/single_row_widget.css
-../xuikon/57/single_row_widget.css /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/xuikon/57/single_row_widget.css
-../xuikon/94/single_row_widget.css /epoc32/data/Z/resource/homescreen/single_row_widget_2001fdc1/xuikon/94/single_row_widget.css
-
-
-// Support for S60 builds
-//***********************
-../rom/single_row_widget_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(single_row_widget_2001fdc1_resources.iby)
-../rom/single_row_widget_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(single_row_widget_2001fdc1_customer.iby)
-../rom/single_row_widget_variant.iby CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(single_row_widget_2001fdc1_variant.iby)
-../rom/single_row_widget.iby CORE_APP_LAYER_IBY_EXPORT_PATH(single_row_widget_2001fdc1.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME single_row_widget_2001fdc1
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-
-PRJ_TESTMMPFILES
-
-
-//  End of File  
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-
-    <type>template</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x2001fdc1</configurationuid>
-    
-    <!-- description -->
-    <fullname>single_row_widget</fullname>
-    <shortname>single_r</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-
-    <!-- Locale independent/common resources -->
-
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource>single_row_widget.o0000</fileresource>    
-    </localization>
-
-</package>
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="single_row_widget" name="ContentSource">
-            <property  name="name" value=""/>
-          </item>
-
-          <item id="pub_id" name="publisher">
-            <property  name="value" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="text1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text1"-->  
-              
-					<!-- Template designer choice -->
-          <item id="trigger1" name="trigger">  
-            <property  name="name" value="widget_select"/>  <!-- Template designer choice -->
-          </item>                                  <!--Def value "Test_Publisher/widget_select"-->
-              
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/rom/single_row_widget.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's single_row_widget_2001fdc1.
-*
-*/
-
-
-#ifndef __SINGLE_ROW_WIDGET_2001FDC1_IBY__
-#define __SINGLE_ROW_WIDGET_2001FDC1_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\single_row_widget_2001fdc1\hsps\00\manifest.dat \private\200159c0\install\single_row_widget_2001fdc1\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __SINGLE_ROW_WIDGET_2001FDC1_IBY__
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/rom/single_row_widget_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's single_row_widget_2001fdc1.
-*
-*/
-
-
-#ifndef __SINGLE_ROW_WIDGET_2001FDC1_CUSTOMER_IBY__
-#define __SINGLE_ROW_WIDGET_2001FDC1_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\single_row_widget_2001fdc1\xuikon\00\single_row_widget.o0000 \private\200159c0\install\single_row_widget_2001fdc1\xuikon\00\single_row_widget.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __SINGLE_ROW_WIDGET_2001FDC1_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/rom/single_row_widget_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's single_row_widget_2001fdc1.
-*
-*/
-
-#ifndef __SINGLE_ROW_WIDGET_2001FDC1_RESOURCES_IBY__
-#define __SINGLE_ROW_WIDGET_2001FDC1_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\single_row_widget_2001fdc1\xuikon\37\single_row_widget.o0037 \private\200159c0\install\single_row_widget_2001fdc1\xuikon\37\single_row_widget.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\single_row_widget_2001fdc1\xuikon\50\single_row_widget.o0050 \private\200159c0\install\single_row_widget_2001fdc1\xuikon\50\single_row_widget.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\single_row_widget_2001fdc1\xuikon\57\single_row_widget.o0057 \private\200159c0\install\single_row_widget_2001fdc1\xuikon\57\single_row_widget.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\single_row_widget_2001fdc1\xuikon\94\single_row_widget.o0094 \private\200159c0\install\single_row_widget_2001fdc1\xuikon\94\single_row_widget.o0094
-#endif
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __SINGLE_ROW_WIDGET_2001FDC1_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/rom/single_row_widget_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's single_row_widget_2001fdc1.
-*
-*/
-
-
-#ifndef __SINGLE_ROW_WIDGET_2001FDC1_VARIANT_IBY__
-#define __SINGLE_ROW_WIDGET_2001FDC1_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\single_row_widget_2001fdc1\hsps\00\widgetconfiguration.xml \private\200159c0\install\single_row_widget_2001fdc1\hsps\00\widgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __SINGLE_ROW_WIDGET_2001FDC1_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/00/single_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_widget{ 
-    direction: ltr;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box#single_text_box
-{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-    padding-left  : 10px;
-    padding-right : 10px;
-    direction: ltr;
-}
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: ltr;
-    block-progression:tb;
-    text-align:left;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/00/single_row_widget.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F6</ThemeUid>
-    <ThemeFullName>single_row_widget</ThemeFullName>
-    <ThemeShortName>single_row_widget</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>single_row_widget.xml</FileXML>
-    <FileCSS>single_row_widget.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/00/single_row_widget.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget>
-      <contentsource id="single_row_widget" class="ContentSource" name="" value="0x20019594"/>
-      <configuration name="service" value="Service.ContentPublishing"/>
-      <configuration name="interface" value="IContentPublishing"/>
-      <configuration name="command" value="GetList"/>
-      <configuration id="pub_id" name="publisher" value=""/>
-
-    <box id="single_row_widget" focusable="true" _s60-initial-focus="1" >
-      <!-- Template designer choice -->
-      <actions>
-        <action>
-          <trigger name="stylus">
-            <property name="eventtype" value="downup" />
-          </trigger>
-          <trigger name="activate"/>
-          <trigger name="keyevent">
-              <property name="scancode" value="3"/>
-              <property name="eventtype" value="1"/>
-          </trigger>
-          <event id="trigger1" name="" />
-        </action>
-      </actions>
-        
-      <box id="single_text_box">
-        <text id="row1txt"> 
-          <configuration name="content_type" value="row1"/>
-          <!-- Template designer choice -->
-          <property id="prop1" class=""/>
-        </text>
-      </box>
-    </box>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/37/single_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box#single_text_box
-{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-    padding-left  : 10px;
-    padding-right : 10px;
-    direction: ltr;
-}
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/50/single_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box#single_text_box
-{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-    padding-left  : 10px;
-    padding-right : 10px;
-    direction: ltr;
-}
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/57/single_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box#single_text_box
-{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-    padding-left  : 10px;
-    padding-right : 10px;
-    direction: ltr;
-}
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/xuikon/94/single_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-widget{
-    width:auto;
-    height:30px;
-    }
-box#single_row_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#single_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box#single_text_box
-{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-    padding-left  : 10px;
-    padding-right : 10px;
-    direction: ltr;
-}
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/hsps/widgetconfiguration.xml
-
-../xuikon/00/triple_row_icon_widget.dat /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/xuikon/triple_row_icon_widget_2001fdbe.dat
-../xuikon/00/triple_row_icon_widget.css /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/xuikon/triple_row_icon_widget.css
-../xuikon/00/triple_row_icon_widget.xml /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/xuikon/triple_row_icon_widget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/triple_row_icon_widget.css /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/xuikon/37/triple_row_icon_widget.css
-../xuikon/50/triple_row_icon_widget.css /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/xuikon/50/triple_row_icon_widget.css
-../xuikon/57/triple_row_icon_widget.css /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/xuikon/57/triple_row_icon_widget.css
-../xuikon/94/triple_row_icon_widget.css /epoc32/data/Z/resource/homescreen/triple_row_icon_widget_2001fdbe/xuikon/94/triple_row_icon_widget.css
-
-
-// Support for S60 builds
-//***********************
-../rom/triple_row_icon_widget_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(triple_row_icon_widget_2001fdbe_resources.iby)
-../rom/triple_row_icon_widget_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(triple_row_icon_widget_2001fdbe_customer.iby)
-../rom/triple_row_icon_widget_variant.iby CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(triple_row_icon_widget_2001fdbe_variant.iby)
-../rom/triple_row_icon_widget.iby CORE_APP_LAYER_IBY_EXPORT_PATH(triple_row_icon_widget_2001fdbe.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME triple_row_icon_widget_2001fdbe
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-
-    <type>template</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x2001FDBE</configurationuid>
-    
-    <!-- description -->
-    <fullname>triple_row_icon_widget</fullname>
-    <shortname>triple_r_icon</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-
-    <!-- Locale independent/common resources -->
-
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource>triple_row_icon_widget.o0000</fileresource>    
-    </localization>
-
-</package>
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="triple_row_icon_widget" name="ContentSource">
-            <property  name="name" value=""/>
-          </item>
-
-          <item id="pub_id" name="publisher">
-            <property  name="value" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="image1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/image1"-->  
-          
-					<item id="prop2" name="contentdata">
-            <property  name="class" value="text1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text1"-->  
-          
-   				<item id="prop3" name="contentdata">
-            <property  name="class" value="image2"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/image2"-->  
-              
-					<item id="prop4" name="contentdata">
-            <property  name="class" value="text2"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text2"-->  
-              
-          <item id="prop5" name="contentdata">
-            <property  name="class" value="image3"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/image3"-->  
-          
-					<item id="prop6" name="contentdata">
-            <property  name="class" value="text3"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text3"-->  
-              
-					<!-- Template designer choice -->
-          <item id="trigger1" name="trigger">  
-            <property  name="name" value="widget_select"/>  <!-- Template designer choice -->
-          </item>                                  <!--Def value "Test_Publisher/widget_select"-->
-              
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/rom/triple_row_icon_widget.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's triple_row_icon_widget_2001fdbe.
-*
-*/
-
-
-#ifndef __TRIPLE_ROW_ICON_WIDGET_2001FDBE_IBY__
-#define __TRIPLE_ROW_ICON_WIDGET_2001FDBE_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\triple_row_icon_widget_2001fdbe\hsps\00\manifest.dat \private\200159c0\install\triple_row_icon_widget_2001fdbe\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __TRIPLE_ROW_ICON_WIDGET_2001FDBE_IBY__
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/rom/triple_row_icon_widget_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's triple_row_icon_widget_2001fdbe.
-*
-*/
-
-
-#ifndef __TRIPLE_ROW_ICON_WIDGET_2001FDBE_CUSTOMER_IBY__
-#define __TRIPLE_ROW_ICON_WIDGET_2001FDBE_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\00\triple_row_icon_widget.o0000 \private\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\00\triple_row_icon_widget.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __TRIPLE_ROW_ICON_WIDGET_2001FDBE_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/rom/triple_row_icon_widget_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's triple_row_icon_widget_2001fdbe.
-*
-*/
-
-#ifndef __TRIPLE_ROW_ICON_WIDGET_2001FDBE_RESOURCES_IBY__
-#define __TRIPLE_ROW_ICON_WIDGET_2001FDBE_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\37\triple_row_icon_widget.o0037 \private\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\37\triple_row_icon_widget.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\50\triple_row_icon_widget.o0050 \private\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\50\triple_row_icon_widget.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\57\triple_row_icon_widget.o0057 \private\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\57\triple_row_icon_widget.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\94\triple_row_icon_widget.o0094 \private\200159c0\install\triple_row_icon_widget_2001fdbe\xuikon\94\triple_row_icon_widget.o0094
-#endif
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __TRIPLE_ROW_ICON_WIDGET_2001FDBE_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/rom/triple_row_icon_widget_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's triple_row_icon_widget_2001fdbe.
-*
-*/
-
-
-#ifndef __TRIPLE_ROW_ICON_WIDGET_2001FDBE_VARIANT_IBY__
-#define __TRIPLE_ROW_ICON_WIDGET_2001FDBE_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\triple_row_icon_widget_2001fdbe\hsps\00\widgetconfiguration.xml \private\200159c0\install\triple_row_icon_widget_2001fdbe\hsps\00\widgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __TRIPLE_ROW_ICON_WIDGET_2001FDBE_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/00/triple_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-widget{
-    width:auto;
-    height:90px;
-    }
-box#triple_row_icon_widget{ 
-    direction: ltr;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#triple_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: ltr;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-
-box#triple_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#triple_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#triple_rc_row3_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: ltr;
-}
-box.textbox
-{
-    padding-left  : 10px;
-    direction: ltr;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: ltr;
-    block-progression:tb;
-    text-align:left;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/00/triple_row_icon_widget.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F6</ThemeUid>
-    <ThemeFullName>triple_row_icon_widget</ThemeFullName>
-    <ThemeShortName>triple_row_icon_widget</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>triple_row_icon_widget.xml</FileXML>
-    <FileCSS>triple_row_icon_widget.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/00/triple_row_icon_widget.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget>
-      <contentsource id="triple_row_icon_widget" class="ContentSource" name="" value="0x20019594"/>
-      <configuration name="service" value="Service.ContentPublishing"/>
-      <configuration name="interface" value="IContentPublishing"/>
-      <configuration name="command" value="GetList"/>
-      <configuration id="pub_id" name="publisher" value=""/>
-
-     <box id="triple_row_icon_widget" focusable="true" _s60-initial-focus="1">
-    	 <actions>
-	        <action>
-	          <trigger name="stylus">
-	            <property name="eventtype" value="downup" />
-	          </trigger>
-	          <trigger name="activate"/>
-	          <trigger name="keyevent">
-	              <property name="scancode" value="3"/>
-	              <property name="eventtype" value="1"/>
-	          </trigger>
-	          <event id="trigger1" name="" />
-	        </action>
-	      </actions>
-
-      <box id="triple_rc_row1_box" class="row">
-        <box id="triple_rc_image1_box" class="imagebox">
-          <image id="row1img"> 
-            <configuration name="content_type" value="row1"/>
-            <property id="prop1" class=""/>
-          </image>
-        </box>        
-        <box id="triple_rc_text1_box" class="textbox">
-            <text id="row1txt">
-            <configuration name="content_type" value="row1"/>
-            <property id="prop2" class=""/>
-          </text>
-        </box>
-      </box>
-      
-      <box id="triple_rc_row2_box" class="row">
-        <box id="triple_rc_image2_box" class="imagebox">
-          <image id="row2img"> 
-            <configuration name="content_type" value="row2"/>
-            <property id="prop3" class=""/>
-          </image>
-        </box>        
-        <box id="triple_rc_text2_box" class="textbox">
-            <text id="row2txt"> 
-            <configuration name="content_type" value="row2"/>
-            <property id="prop4" class=""/>
-          </text>
-        </box>
-      </box>
-       
-      <box id="triple_rc_row3_box" class="row">
-        <box id="triple_rc_image3_box" class="imagebox">
-          <image id="row3img"> 
-            <configuration name="content_type" value="row3"/>
-            <property id="prop5" class=""/>
-          </image>
-        </box>        
-        <box id="triple_rc_text3_box" class="textbox">
-            <text id="row3txt"> 
-            <configuration name="content_type" value="row3"/>
-            <property id="prop6" class=""/>
-          </text>
-        </box>
-      </box>
-      
-    </box>
-    </widget>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/37/triple_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-widget{
-    width:auto;
-    height:90px;
-    }
-box#triple_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#triple_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-
-box#triple_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#triple_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#triple_rc_row3_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: rtl;
-}
-box.textbox
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/50/triple_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-widget{
-    width:auto;
-    height:90px;
-    }
-box#triple_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#triple_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-
-box#triple_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#triple_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#triple_rc_row3_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: rtl;
-}
-box.textbox
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/57/triple_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-widget{
-    width:auto;
-    height:90px;
-    }
-box#triple_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#triple_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-
-box#triple_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#triple_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#triple_rc_row3_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: rtl;
-}
-box.textbox
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/xuikon/94/triple_row_icon_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-widget{
-    width:auto;
-    height:90px;
-    }
-box#triple_row_icon_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index:appearance;
-}
-box#triple_row_icon_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box.row{
-    direction: rtl;
-    block-progression:rl;
-    padding-left  : 10px;
-    padding-right : 10px;
-}
-
-box#triple_rc_row1_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box#triple_rc_row2_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-box#triple_rc_row3_box{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-}
-
-box.imagebox
-{
-    height:auto;
-    width:20px;
-    direction: rtl;
-}
-box.textbox
-{
-    padding-left  : 10px;
-    direction: rtl;
-    width:auto;
-    height:20px;
-}
-
-text
-{
-    width:auto;
-    height:auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression:tb;
-    text-align:right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-image
-{
-  _s60-aspect-ratio:preserve;
-}
-
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/hsps/widgetconfiguration.xml
-
-../xuikon/00/triple_row_widget.dat /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/xuikon/triple_row_widget_2001fdbf.dat
-../xuikon/00/triple_row_widget.css /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/xuikon/triple_row_widget.css
-../xuikon/00/triple_row_widget.xml /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/xuikon/triple_row_widget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/triple_row_widget.css /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/xuikon/37/triple_row_widget.css
-../xuikon/50/triple_row_widget.css /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/xuikon/50/triple_row_widget.css
-../xuikon/57/triple_row_widget.css /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/xuikon/57/triple_row_widget.css
-../xuikon/94/triple_row_widget.css /epoc32/data/Z/resource/homescreen/triple_row_widget_2001fdbf/xuikon/94/triple_row_widget.css
-
-
-// Support for S60 builds
-//***********************
-../rom/triple_row_widget_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(triple_row_widget_2001fdbf_resources.iby)
-../rom/triple_row_widget_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(triple_row_widget_2001fdbf_customer.iby)
-../rom/triple_row_widget_variant.iby CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(triple_row_widget_2001fdbf_variant.iby)
-../rom/triple_row_widget.iby CORE_APP_LAYER_IBY_EXPORT_PATH(triple_row_widget_2001fdbf.iby)
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME triple_row_widget_2001fdbf
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-
-//  End of File  
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-
-    <type>template</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x2001fdbf</configurationuid>
-    
-    <!-- description -->
-    <fullname>triple_row_widget</fullname>
-    <shortname>triple_r</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-
-    <!-- Locale independent/common resources -->
-
-
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource>triple_row_widget.o0000</fileresource>    
-    </localization>
-
-</package>
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="triple_row_widget" name="ContentSource">
-            <property  name="name" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="pub_id" name="publisher">
-            <property  name="value" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="prop1" name="contentdata">
-            <property  name="class" value="text1"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text1"-->  
-              
-					<item id="prop2" name="contentdata">
-            <property  name="class" value="text2"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text2"-->  
-              
-	        <item id="prop3" name="contentdata">
-            <property  name="class" value="text3"/> <!-- Template designer choice -->
-          </item>                                    <!--Def value "Test_Publisher/text3"-->  
-              
-					<!-- Template designer choice -->
-          <item id="trigger1" name="trigger">  
-            <property  name="name" value="widget_select"/>  <!-- Template designer choice -->
-          </item>                                  <!--Def value "Test_Publisher/widget_select"-->                       
-          
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/rom/triple_row_widget.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's triple_row_widget_2001fdbf.
-*
-*/
-
-#ifndef __TRIPLE_ROW_WIDGET_2001FDBF_IBY__
-#define __TRIPLE_ROW_WIDGET_2001FDBF_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\triple_row_widget_2001fdbf\hsps\00\manifest.dat \private\200159c0\install\triple_row_widget_2001fdbf\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __TRIPLE_ROW_WIDGET_2001FDBF_IBY__
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/rom/triple_row_widget_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's triple_row_widget_2001fdbf.
-*
-*/
-
-#ifndef __TRIPLE_ROW_WIDGET_2001FDBF_CUSTOMER_IBY__
-#define __TRIPLE_ROW_WIDGET_2001FDBF_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\triple_row_widget_2001fdbf\xuikon\00\triple_row_widget_2001fdbf.o0000 \private\200159c0\install\triple_row_widget_2001fdbf\xuikon\00\triple_row_widget.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __TRIPLE_ROW_WIDGET_2001FDBF_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/rom/triple_row_widget_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's triple_row_widget_2001fdbf.
-*
-*/
-
-#ifndef __TRIPLE_ROW_WIDGET_2001FDBF_RESOURCES_IBY__
-#define __TRIPLE_ROW_WIDGET_2001FDBF_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\triple_row_widget_2001fdbf\xuikon\37\triple_row_widget.o0037 \private\200159c0\install\triple_row_widget_2001fdbf\xuikon\37\triple_row_widget.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\triple_row_widget_2001fdbf\xuikon\50\triple_row_widget.o0050 \private\200159c0\install\triple_row_widget_2001fdbf\xuikon\50\triple_row_widget.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\triple_row_widget_2001fdbf\xuikon\57\triple_row_widget.o0057 \private\200159c0\install\triple_row_widget_2001fdbf\xuikon\57\triple_row_widget.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\triple_row_widget_2001fdbf\xuikon\94\triple_row_widget.o0094 \private\200159c0\install\triple_row_widget_2001fdbf\xuikon\94\triple_row_widget.o0094
-#endif
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __TRIPLE_ROW_WIDGET_2001FDBF_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/rom/triple_row_widget_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's triple_row_widget_2001fdbf.
-*
-*/
-
-#ifndef __TRIPLE_ROW_WIDGET_2001FDBF_VARIANT_IBY__
-#define __TRIPLE_ROW_WIDGET_2001FDBF_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\triple_row_widget_2001fdbf\hsps\00\widgetconfiguration.xml \private\200159c0\install\triple_row_widget_2001fdbf\hsps\00\widgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __TRIPLE_ROW_WIDGET_2001FDBF_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/00/triple_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget{
-    width: auto;
-    height: 90px;
-    }
-box#triple_row_widget{ 
-    direction: ltr;
-    block-progression:tb;
- 		nav-index: appearance;
-}
-box#triple_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.triple_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: ltr;
-    block-progression: tb;
-    text-align: left;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/00/triple_row_widget.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F6</ThemeUid>
-    <ThemeFullName>triple_row_widget</ThemeFullName>
-    <ThemeShortName>triple_row_widget</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>triple_row_widget.xml</FileXML>
-    <FileCSS>triple_row_widget.css</FileCSS>
-    
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/00/triple_row_widget.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- <!DOCTYPE xmluiml SYSTEM "AI3_Demo.dtd"> -->
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget>
-      <contentsource id="triple_row_widget" class="ContentSource" name="" value="0x20019594"/>
-      <configuration name="service" value="Service.ContentPublishing"/>
-      <configuration name="interface" value="IContentPublishing"/>
-      <configuration name="command" value="GetList"/>
-	    <configuration id="pub_id" name="publisher" value=""/>
-	    
-	    <box id="triple_row_widget" focusable="true" _s60-initial-focus="1">
-      	<!-- Template designer choice -->
-	        <actions>
-	          <action>
-	            <trigger name="stylus">
-	              <property name="eventtype" value="downup" />
-	            </trigger>
-	            <trigger name="activate"/>
-                  <trigger name="keyevent">
-                      <property name="scancode" value="3"/>
-                      <property name="eventtype" value="1"/>
-                  </trigger>
-	            <event id="trigger1" name=""/>
-	          </action>
-	        </actions>
-    	<box id="triple_text_box1" class="triple_text_box" >
-        <text id="r1text1" class="text_box">
-					<configuration name="content_type" value="row1"/>
-          <property id="prop1" class=""/>
-      	</text>
-     </box>
-     <box id="triple_text_box2"  class="triple_text_box">
-      	<text id="r2text2" class="text_box">
-      	  <configuration name="content_type" value="row2"/>
-          <property id="prop2" class=""/>
-      	</text>
-			</box>
-			<box id="triple_text_box3"  class="triple_text_box">
-      	<text id="r2text3" class="text_box">
-      	  <configuration name="content_type" value="row3"/> 
-          <property id="prop3" class=""/>
-      	</text>
-			</box>
-		</box>
-   </widget>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/37/triple_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget{
-    width: auto;
-    height: 90px;
-    }
-box#triple_row_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index: appearance;
-}
-box#triple_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.triple_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression: tb;
-    text-align: right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/50/triple_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget{
-    width: auto;
-    height: 90px;
-    }
-box#triple_row_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index: appearance;
-}
-box#triple_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.triple_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression: tb;
-    text-align: right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/57/triple_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget{
-    width: auto;
-    height: 90px;
-    }
-box#triple_row_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index: appearance;
-}
-box#triple_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.triple_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression: tb;
-    text-align: right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/xuikon/94/triple_row_widget.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-widget{
-    width: auto;
-    height: 90px;
-    }
-box#triple_row_widget{ 
-    direction: rtl;
-    block-progression:tb;
- 		nav-index: appearance;
-}
-box#triple_row_widget:focus{
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-box.triple_text_box{
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 10px;
-    padding-right: 10px;
-    direction: ltr;
-}
-
-text{
-    width: auto;
-    height: auto;
-    display: block;
-    visibility: visible;
-    position: static;
-    direction: rtl;
-    block-progression: tb;
-    text-align: right;
-	  font-family: EAknLogicalFontPrimaryFont;
-	  font-size:18px;
-    color:white;
-}
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/z/resource/homescreen/view1_2001fdb9/hsps/manifest.dat
-../hsps/00/viewconfiguration.xml /epoc32/data/z/resource/homescreen/view1_2001fdb9/hsps/viewconfiguration.xml
-//../hsps/00/viewconfiguration.dtd /epoc32/data/z/resource/homescreen/view1_2001fdb9/hsps/viewconfiguration.dtd
-
-../xuikon/00/view.dat /epoc32/data/z/resource/homescreen/view1_2001fdb9/xuikon/view1_2001fdb9.dat
-../xuikon/00/view.xml /epoc32/data/z/resource/homescreen/view1_2001fdb9/xuikon/view.xml
-../xuikon/00/view.dtd /epoc32/data/z/resource/homescreen/view1_2001fdb9/xuikon/view.dtd
-../xuikon/00/view.css /epoc32/data/z/resource/homescreen/view1_2001fdb9/xuikon/view.css
-
-// Arabic languages
-//*****************
-../xuikon/37/view.css /epoc32/data/z/resource/homescreen/view1_2001fdb9/xuikon/37/view.css
-../xuikon/50/view.css /epoc32/data/z/resource/homescreen/view1_2001fdb9/xuikon/50/view.css
-../xuikon/57/view.css /epoc32/data/z/resource/homescreen/view1_2001fdb9/xuikon/57/view.css
-../xuikon/94/view.css /epoc32/data/z/resource/homescreen/view1_2001fdb9/xuikon/94/view.css
-
-
-// Support for S60 localization
-//*****************************
-//#ifndef __VIEWCONFIGURATION_LOC__
-//#define __VIEWCONFIGURATION_LOC__
-//../loc/viewconfiguration.loc APP_LAYER_LOC_EXPORT_PATH(viewconfiguration.loc)
-//#endif // __VIEWCONFIGURATION_LOC__
-
-#ifndef __VIEW_LOC__
-#define __VIEW_LOC__
-../loc/view.loc APP_LAYER_LOC_EXPORT_PATH(view.loc)
-#endif // __VIEW_LOC__
-
-// Support for S60 builds
-//***********************
-../rom/view_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(view1_2001fdb9_resources.iby)
-../rom/view_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view1_2001fdb9_customer.iby)
-../rom/view_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view1_2001fdb9_variant.iby)
-../rom/view.iby CORE_APP_LAYER_IBY_EXPORT_PATH(view1_2001fdb9.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME view1_2001fdb9
-OPTION DTD_TYPE widget
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-    
-    <type>view</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- configuration uid -->
-    <configurationuid>0x2001fdb9</configurationuid>
-
-    <!-- description -->
-    <fullname>View1</fullname>
-    <shortname>ai3_nokia</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>viewconfiguration.xml</filexml>
-    
-    <!-- Name of the localization files -->
-    <!--filedtd>viewconfiguration.dtd</filedtd-->
-
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource>view.o0000</fileresource>
-    </localization>
-  
-</package>
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/hsps/00/viewconfiguration.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "viewconfiguration.dtd">
-
-<FileDescription: "Localization strings for HSPS view configuration">
-<FileVersion    : >
-
-<Copyright:
-"Copyright © 2005 Nokia Corporation.
-This material, including documentation and any related 
-computer programs, is protected by copyright controlled by 
-Nokia Corporation. All rights are reserved. Copying, 
-including reproducing, storing,  adapting or translating, any 
-or all of this material requires the prior written consent of 
-Nokia Corporation. This material also contains confidential 
-information which may not be disclosed to others without the 
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!--  LOCALISATION STRINGS  -->
-
-<!ENTITY qtn_view_configuration_name "ai3_nokia">
-
-
-<!-- End of File-->
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/hsps/00/viewconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<configuration>
-
-	<control>
-		<plugins>
-			<plugin uid="0x2001f490"/>
-			<!--plugin uid="0x10207c18"/-->
-			<!--plugin uid="0x2001f48d"/-->
-		</plugins>
-		<settings/>
-	</control>
-
-
-</configuration>
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/loc/view.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for project Active Idle 3
-*
-*/
-
-// d: Help
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_options_help "Help"
-
-// d: Open
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define qtn_msk_open "Open"
-
-// d: Options
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_done "Done"
-
-// d: Open 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_options_open "Open"
-
-// d: Back
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_back "Back"
-
-// d: Empty string
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define shortcut_emptycaption " "
-
-// d: Add page
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_add_page "Add page"
-
-// d: Select
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_options_select_widget "Select"
-
-// d: Add content
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_add_widget "Add content"
-
-// d: Access the widget catalog
-// l: list_single_pane_t1_cp2
-// w: 
-// r: TB9.2
-#define qtn_hs_widget_catalog "Widget catalog"
-
-// d: Search
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_search "Search"
-
-// d: Options
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_options "Options"
-
-// d: Refresh 
-// l: list_single_pane_t1_cp2/opt3
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_widget "Refresh"
-
-// d: Focused widget
-// l: list_single_popup_submenu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_one_widget "One"
-
-// d: All widgets 
-// l: list_single_popup_submenu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_refresh_all_widgets "All"
-
-// d: Remove content 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_remove_widget "Remove content"
-
-// d: Hide the content 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_hide_widgets "Hide the content"
-
-// d: Edit contents 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_edit_content "Edit content"
-
-// d: Change Wallpaper
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_wallpaper "Change Wallpaper"
-
-// d: Change Shortcut Settings
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_shortcut_settings "Change Shortcut Settings"
-
-// d: Widget settings
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_widget_settings "Widget settings"
-
-// d: Show widgets
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_show_widgets "Show the content"
-
-// d: Change Home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_change_page "Change Home screen page"
-
-// d: Change
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define qtn_msk_change "Change"
-
-// d: Show all profiles in Profiles widget
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_show_profiles "Show all profiles"
-
-// d: Right selection key
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_set_right_idle_softkey "Right selection key"
-
-// d: Select
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_select "Select"
-
-// d: Cancel
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_cancel "Cancel"
-
-// d: Options menu item which switches home to online. Web widgets get updates from network.
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_online "Switch Home to online"
-
-// d: Options menu item which switches home to offline. Web widgets are not updated
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_offline "Switch Home to offline"
-
-// d: String which is shown in long tap menu of Home screen if tapped widget has settings
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_settings "Settings"
-
-// d: String which is shown in long tap menu of Home screen if tapped some widget which is removable
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_remove_element "Remove"
-
-// d: String which is shown in long tap menu of Home screen if tapped empty space in home screen
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_longtap_add "Add content"
-
-// d: String which is shown in long tap menu of Home screen
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_change_longtap_wallpaper "Change wallpaper"
-
-// d: User can download new HS widgets. String is visible in add content list query
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_download_new_widgets "Download"
-
-// d: Changes focused widget
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_edit_replace "Replace"
-
-// d: deletes current home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_options_delete "Delete page"
-
-// d: creates new home screen page
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_options_new "New page"
-
-// d: view title in editing mode
-// l: title_pane_t2
-// w:
-// r: TB9.2
-#define qtn_hs_title_editing_view "Editing view"
-
-// d: Call
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-#define text_softkey_call "Call"
-
-// d: Added new option menu item to Edit mode for opening the widget catalog,
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_edit_widget_catalog "Widget Catalog"
-
-// d: Deletes the current Home screen page and focus goes to the next available Home screen page in Edit mode
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_page_edit_options_delete "Delete page"
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/loc/viewconfiguration.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for View1 plugin configuration (HSPS)
-*
-*/
-
-
-<!--  LOCALISATION STRINGS  -->
-// d: AI3 View
-// l: ai_gene_pane_1_t1
-// w:
-// r: TB9.2
-//#define qtn_view_configuration_name  "AI3 View"
-
-
-<!-- End of File-->
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/rom/view.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  View widget HSPS-plugin IBY file.
-*
-*/
-
-
-#ifndef __AI3VIEW_2001FDB9_IBY__
-#define __AI3VIEW_2001FDB9_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\view1_2001fdb9\hsps\00\manifest.dat \private\200159c0\install\view1_2001fdb9\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __AI3VIEW_2001FDB9_IBY__
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/rom/view_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-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:  View widget HSPS-plugin language specific IBY file.
-*
-*/
-
-
-#ifndef __AI3VIEW_2001FDB9_CUSTOMER_IBY__
-#define __AI3VIEW_2001FDB9_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\view1_2001fdb9\xuikon\00\view.o0000 \private\200159c0\install\view1_2001fdb9\xuikon\00\view.o0000
-//data=ZPRIVATE\200159c0\install\view1_2001fdb9\hsps\00\viewconfiguration.dtd \private\200159c0\install\view1_2001fdb9\hsps\00\viewconfiguration.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __AI3VIEW_2001FDB9_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/rom/view_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-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:  View widget HSPS-plugin language specific IBY file.
-*
-*/
-
-
-#ifndef __AI3VIEW_2001FDB9_RESOURCES_IBY__
-#define __AI3VIEW_2001FDB9_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\view1_2001fdb9\xuikon\00\view.o0000 \private\200159c0\install\view1_2001fdb9\xuikon\00\view.o0000
-//data=ZPRIVATE\200159c0\install\view1_2001fdb9\hsps\00\viewconfiguration.dtd \private\200159c0\install\view1_2001fdb9\hsps\00\viewconfiguration.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __AI3VIEW_2001FDB9_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/rom/view_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  View widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-
-#ifndef __AI3VIEW_2001FDB9_VARIANT_IBY__
-#define __AI3VIEW_2001FDB9_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\view1_2001fdb9\hsps\00\viewconfiguration.xml \private\200159c0\install\view1_2001fdb9\hsps\00\viewconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __AI3VIEW_2001FDB9_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,337 +0,0 @@
-view#homescreen
-{
-    position: static;    
-    display: block; 
-
-    block-progression: tb;
-    direction: ltr;
-   
-    width: auto;
-    height: auto;
-    
-    background-image: wallpaper;
-    
-    _s60-status-pane-layout: widescreen-flat-3softkeys;     
-}
-
-box#main_container
-{
-    position: static;
-    display: block; 
-    
-    width: auto;
-    height: auto;
-    
-    margin-top: 5px;
-    
-    /* These will be set by screendevicechange triggers: */          
-    /* landscape
-    ************
-    margin-left: 5px;
-    margin-right: 5px;*/
-
-    /* portrait
-    ***********
-    margin-left: 17px;
-    margin-right: 17px;*/
-}
-
-box.sub_container
-{
-    position: absolute;
-    display: block; 
-    
-    /* These will be set by screendevicechange triggers: */      
-    /* landscape
-    ************ 
-    width: 184px;
-    height: 106px;*/    
-
-    /* portrait 
-    ***********
-    width: 223px;
-    height: 132px;*/      
-}
-
-box#clock_container
-{    
-    /* This box belongs to class="sub_container" */
-    top: 0px;
-    left: 0px;
-}
-
-clock#clock
-{
-    position: static;
-    display: block; 
-    
-    margin-top: 3px;    
-    margin-bottom: 3px;
-    margin-left: 3px;    
-    margin-right: 3px;    
-    
-    nav-index: appearance;    
-    
-    background-color: "SKIN(268458534 9906)";    
-    color: "SKIN(268458534 13056 19)";
-    
-    /* Face is format is fetched from locale */
-    _s60-format: locale;
-            
-    /* These will be set by screendevicechange triggers: */      
-    /* landscape 
-    ************        
-    _s60-ampm-font-size: 3.0u;
-    _s60-digital-font-size: 56px;
-    _s60-date-font-size: 3.0u;*/
-            
-    /* portrait 
-    ***********
-    _s60-ampm-font-size: 3.5u;
-    _s60-digital-font-size: 56px;
-    _s60-date-font-size: 3.5u;*/                
-}
-
-clock#clock:focus
-{
-    focus-background: "SKIN(268458534 5120 9)";
-}
-
-box#profile_switcher_container
-{
-    block-progression: tb;
-    direction: ltr;
-
-    /* These will be set by screendevicechange triggers: */      
-    /* landscape 
-    ************        
-    top: 106px;
-    left: 0px;*/
-    
-    /* portrait 
-    ***********
-    top: 0px;
-    left: 223px;*/
-}
-
-box#profile
-{
-    position: static;
-    display: block; 
-    
-    width: auto;
-    height: auto;
-    
-    margin-top: 3px;    
-    margin-bottom: 6px;
-    margin-left: 3px;    
-    margin-right: 3px;    
-       
-    background-color: "SKIN(268458534 9906)";    
-    
-    nav-index: appearance;
-}
-
-box#profile:focus
-{
-    focus-background: "SKIN(268458534 5120 9)";
-}
-
-/**********************
- * MCN, CUG & Profile *
- **********************/
-box#mcn_cug_profile_container
-{    
-    width: auto;
-    height: auto;
-    
-
-}
-
-/*************
- * SAT & VHZ *
- *************/
-box#sat_vhz_container
-{
-    display: none;
-    width: auto;
-    height: auto;
-    block-progression: rl;
-}
-
-image#sat_icon
-{
-    display: none;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-title#sat
-{
-    display: none;
-}    
-title#vhz
-{
-    display: none;
-}    
-
-
-newsticker.statusindicator 
-{    
-    width: auto;
-    height: auto;
-              
-    text-align: center;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 19)";
-    
-    white-space-collapse: collapse;
-
-    _s60-scroll-behaviour: alternate;
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;    
-}
- 
-box#switcher
-{                    
-    width: auto;
-    height: auto;
-    
-    block-progression: lr;
-    
-    margin-top: 6px;    
-    margin-bottom: 3px;
-    margin-left: 3px;    
-    margin-right: 3px;    
-        
-    background-color: "SKIN(268458534 9906)";    
-        
-    nav-index: appearance;
-}
-
-box#switcher:focus
-{
-    focus-background: "SKIN(268458534 5120 9)";
-}
-
-image#switcher_icon
-{         
-    margin-top: auto;
-    margin-bottom: auto;        
-    
-    margin-left: 5px;
-    height: 4u;
-    width: 4u;
-       
-    path: "SKIN(270501603 8585 19)";
-}
-
-text#switcher_text
-{        
-    width: auto;
-    height: auto;
-     
-    text-align: left;
-    
-    font-size: 3.5u;
-    font-family: EAknLogicalFontSecondaryFont;
-        
-    color:"SKIN(268458534 13056 19)";        
-}
-
-box#plugins_container
-{
-    position: absolute;
-    display: block; 
-
-    /* These will be set by screendevicechange triggers: */      
-    /* landscape 
-    ************        
-    top: 0px;
-    left: 184px;*/
-    
-    /* portrait 
-    ***********
-    top: 129px;
-    left: 0px;*/
-
-    block-progression: tb;
-    direction: ltr;
-    
-    width: 440px;
-    height: auto;
-    
-    padding-left: 3px;
-    padding-right: 3px;    
-}
-
-/***********
- * Plugins *
- ***********/
-plugin
-{
-    position: static;
-    
-    width: auto;
-    height: adaptive;
-        
-    margin-bottom: 6px;
-    
-    background-color: "SKIN(268458534 9906)";    
-    
-    nav-index: appearance;    
-}
-
-plugin:focus 
-{
-    focus-background: "SKIN(268458534 5120 9)";    
-}
-
-plugin:edit 
-{
-    background-color: "SKIN(270501603 8582)";
-}
-
-/************
- * Profiles *
- ************/
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/************
- * Softkeys *
- ************/
-softkey.normal_mode_sk
-{
-    display: block;
-}
-
-softkey.normal_mode_sk:edit
-{
-    display: none;
-}
-
-softkey.edit_mode_sk
-{
-    display: none;
-}
-
-softkey.edit_mode_sk:edit
-{
-    display: block;
-}
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>E029CF57</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>11001234</ThemeUid>
-    <ThemeFullName>Nokia</ThemeFullName>
-    <ThemeShortName>view</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>view.xml</FileXML>
-    <FileCSS>view.css</FileCSS>
-    <FileDTD>view.dtd</FileDTD>
-
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "View.dtd">
-<PartOf  : "AI3">
-
-<FileDescription: "Localization strings for AI3">
-<FileVersion    : >
-
-<Copyright:
-"Copyright (c) 2005 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!--
-qtn_options_help.attributes
-qtn_options_help.layout "list_single_pane_t1_cp2"
-qtn_options_help.release "TB9.2"
-qtn_options_help.description "Help"
-qtn_options_help.grammar "Help"
-qtn_options_help.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_help "Help">
-
-<!--
-qtn_msk_open.attributes
-qtn_msk_open.layout "control_pane_t1/opt7"
-qtn_msk_open.release "TB9.2"
-qtn_msk_open.description "Open"
-qtn_msk_open.grammar "Open"
-qtn_msk_open.parents "control_pane"
--->
-<!ENTITY qtn_msk_open "Open">
-
-<!--
-text_softkey_done.attributes
-text_softkey_done.layout "control_pane_t1/opt7"
-text_softkey_done.release "TB9.2"
-text_softkey_done.description "Done"
-text_softkey_done.grammar "Done"
-text_softkey_done.parents "control_pane"
--->
-<!ENTITY text_softkey_done "Done">
-
-<!--
-qtn_options_open.attributes
-qtn_options_open.layout "list_single_pane_t1_cp2"
-qtn_options_open.release "TB9.2"
-qtn_options_open.description "Open"
-qtn_options_open.grammar "Open"
-qtn_options_open.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_open "Open">
-
-<!--
-text_softkey_back.attributes
-text_softkey_back.layout "control_pane_t1/opt7"
-text_softkey_back.release "TB9.2"
-text_softkey_back.description "Back text for SK2"
-text_softkey_back.parents "control_pane"
--->
-<!ENTITY text_softkey_back "Back">
-
-<!--
-shortcut_EmptyCaption.attributes
-shortcut_EmptyCaption.layout "control_pane_t1/opt7"
-shortcut_EmptyCaption.release "TB9.2"
-shortcut_EmptyCaption.description "Empty shortcut"
-shortcut_EmptyCaption.parents "list_ai2_gene_pane"
--->
-<!ENTITY shortcut_EmptyCaption " ">
-
-<!--
-qtn_hs_add_page.attributes
-qtn_hs_add_page.layout "list_single_pane_t1_cp2"
-qtn_hs_add_page.release "TB9.2"
-qtn_hs_add_page.description "Add page"
-qtn_hs_add_page.grammar "Add page"
-qtn_hs_add_page.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_add_page "Add page">
-
-<!--
-qtn_options_select_widget.attributes
-qtn_options_select_widget.layout "list_single_pane_t1_cp2"
-qtn_options_select_widget.release "TB9.2"
-qtn_options_select_widget.description "Select"
-qtn_options_select_widget.grammar "Select"
-qtn_options_select_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_options_select_widget "Select">
-
-<!--
-qtn_hs_add_widget.attributes
-qtn_hs_add_widget.layout "list_single_pane_t1_cp2"
-qtn_hs_add_widget.release "TB9.2"
-qtn_hs_add_widget.description "Add content"
-qtn_hs_add_widget.grammar "Add content"
-qtn_hs_add_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_add_widget "Add content">
-
-<!--
-qtn_hs_widget_catalog.attributes
-qtn_hs_widget_catalog.layout "list_single_pane_t1_cp2"
-qtn_hs_widget_catalog.release "TB9.2"
-qtn_hs_widget_catalog.description "Widget catalog"
-qtn_hs_widget_catalog.grammar "Widget catalog"
-qtn_hs_widget_catalog.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_widget_catalog "Widget catalog">
-
-<!--
-text_softkey_search.attributes
-text_softkey_search.layout "control_pane_t1/opt7"
-text_softkey_search.release "TB9.2"
-text_softkey_search.description "Search"
-text_softkey_search.grammar "Search"
-text_softkey_search.parents "control_pane"
--->
-<!ENTITY text_softkey_search "Search">
-
-<!--
-text_softkey_options.attributes
-text_softkey_options.layout "control_pane_t1/opt7"
-text_softkey_options.release "TB9.2"
-text_softkey_options.description "Options"
-text_softkey_options.grammar "Options"
-text_softkey_options.parents "control_pane"
--->
-<!ENTITY text_softkey_options "Options">
-
-<!--
-qtn_hs_refresh_widget.attributes
-qtn_hs_refresh_widget.layout "list_single_pane_t1_cp2/opt3"
-qtn_hs_refresh_widget.release "TB9.2"
-qtn_hs_refresh_widget.description "Refresh"
-qtn_hs_refresh_widget.grammar "Refresh"
-qtn_hs_refresh_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_refresh_widget "Refresh">
-
-<!--
-qtn_hs_refresh_one_widget.attributes
-qtn_hs_refresh_one_widget.layout "list_single_popup_submenu_pane_t1"
-qtn_hs_refresh_one_widget.release "TB9.2"
-qtn_hs_refresh_one_widget.description "One"
-qtn_hs_refresh_one_widget.grammar "One"
-qtn_hs_refresh_one_widget.parents "list_single_popup_submenu_pane"
--->
-<!ENTITY qtn_hs_refresh_one_widget "One">
-
-<!--
-qtn_hs_refresh_all_widgets.attributes
-qtn_hs_refresh_all_widgets.layout "list_single_popup_submenu_pane_t1"
-qtn_hs_refresh_all_widgets.release "TB9.2"
-qtn_hs_refresh_all_widgets.description "All"
-qtn_hs_refresh_all_widgets.grammar "All"
-qtn_hs_refresh_all_widgets.parents "list_single_popup_submenu_pane"
--->
-<!ENTITY qtn_hs_refresh_all_widgets "All">
-
-<!--
-qtn_hs_remove_widget.attributes
-qtn_hs_remove_widget.layout "list_single_pane_t1_cp2"
-qtn_hs_remove_widget.release "TB9.2"
-qtn_hs_remove_widget.description "Remove content"
-qtn_hs_remove_widget.grammar "Remove content"
-qtn_hs_remove_widget.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_remove_widget "Remove content">
-
-<!--
-qtn_hs_hide_widgets.attributes
-qtn_hs_hide_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_hide_widgets.release "TB9.2"
-qtn_hs_hide_widgets.description "Hide the content"
-qtn_hs_hide_widgets.grammar "Hide the content"
-qtn_hs_hide_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_hide_widgets "Hide the content">
-
-<!--
-qtn_hs_edit_content.attributes
-qtn_hs_edit_content.layout "list_single_pane_t1_cp2"
-qtn_hs_edit_content.release "TB9.2"
-qtn_hs_edit_content.description "Edit contents"
-qtn_hs_edit_content.grammar "Edit contents"
-qtn_hs_edit_content.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_edit_content "Edit content">
-
-<!--
-qtn_hs_change_wallpaper.attributes
-qtn_hs_change_wallpaper.layout "list_single_pane_t1_cp2"
-qtn_hs_change_wallpaper.release "TB9.2"
-qtn_hs_change_wallpaper.description "Change Wallpaper"
-qtn_hs_change_wallpaper.grammar "Change Wallpaper"
-qtn_hs_change_wallpaper.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_wallpaper "Change Wallpaper">
-
-<!--
-qtn_hs_change_shortcut_settings.attributes
-qtn_hs_change_shortcut_settings.layout "list_single_pane_t1_cp2"
-qtn_hs_change_shortcut_settings.release "TB9.2"
-qtn_hs_change_shortcut_settings.description "Change Shortcut Settings"
-qtn_hs_change_shortcut_settings.grammar "Change Shortcut Settings"
-qtn_hs_change_shortcut_settings.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_shortcut_settings "Change Shortcut Settings">
-
-<!--
-qtn_hs_widget_settings.attributes
-qtn_hs_widget_settings.layout "list_single_pane_t1_cp2"
-qtn_hs_widget_settings.release "TB9.2"
-qtn_hs_widget_settings.description "Widget settings"
-qtn_hs_widget_settings.grammar "Widget settings"
-qtn_hs_widget_settings.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_widget_settings "Widget settings">
-
-<!--
-qtn_hs_show_widgets.attributes
-qtn_hs_show_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_show_widgets.release "TB9.2"
-qtn_hs_show_widgets.description "Show widgets"
-qtn_hs_show_widgets.grammar "Show widgets"
-qtn_hs_show_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_show_widgets "Show the content">
-
-<!--
-qtn_hs_change_page.attributes
-qtn_hs_change_page.layout "list_single_pane_t1_cp2"
-qtn_hs_change_page.release "TB9.2"
-qtn_hs_change_page.description "Change Home screen page"
-qtn_hs_change_page.grammar "Change Home screen page"
-qtn_hs_change_page.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_change_page "Change Home screen page">
-
-<!--
-qtn_msk_change.attributes
-qtn_msk_change.layout "control_pane_t1/opt7"
-qtn_msk_change.release "TB9.2"
-qtn_msk_change.description "Change"
-qtn_msk_change.grammar "Change"
-qtn_msk_change.parents "control_pane"
--->
-<!ENTITY qtn_msk_change "Change">
-
-<!--
-qtn_hs_show_profiles.attributes
-qtn_hs_show_profiles.layout "list_single_pane_t1_cp2"
-qtn_hs_show_profiles.release "TB9.2"
-qtn_hs_show_profiles.description "Show all profiles"
-qtn_hs_show_profiles.grammar "Show all profiles"
-qtn_hs_show_profiles.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_show_profiles "Show all profiles">
-
-<!--
-qtn_set_right_idle_softkey.attributes
-qtn_set_right_idle_softkey.layout "list_single_pane_t1_cp2"
-qtn_set_right_idle_softkey.release "TB9.2"
-qtn_set_right_idle_softkey.description "Right selection key"
-qtn_set_right_idle_softkey.grammar "Right selection key"
-qtn_set_right_idle_softkey.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_set_right_idle_softkey "Right selection key">
-
-<!--
-text_softkey_select.attributes
-text_softkey_select.layout "control_pane_t1/opt7"
-text_softkey_select.release "TB9.2"
-text_softkey_select.description "Select"
-text_softkey_select.grammar "Select"
-text_softkey_select.parents "control_pane"
--->
-<!ENTITY text_softkey_select "Select">
-
-<!--
-text_softkey_cancel.attributes
-text_softkey_cancel.layout "control_pane_t1/opt7"
-text_softkey_cancel.release "TB9.2"
-text_softkey_cancel.description "Cancel"
-text_softkey_cancel.grammar "Cancel"
-text_softkey_cancel.parents "control_pane"
--->
-<!ENTITY text_softkey_cancel "Cancel">
-
-<!--
-qtn_hs_online.attributes
-qtn_hs_online.layout "list_single_pane_t1_cp2"
-qtn_hs_online.release "TB9.2"
-qtn_hs_online.description "Online"
-qtn_hs_online.grammar "Online"
-qtn_hs_online.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_online "Switch Home to online">
-
-<!--
-qtn_hs_offline.attributes
-qtn_hs_offline.layout "list_single_pane_t1_cp2"
-qtn_hs_offline.release "TB9.2"
-qtn_hs_offline.description "Offline"
-qtn_hs_offline.grammar "Offline"
-qtn_hs_offline.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_offline "Switch Home to offline">
-
-<!--
-qtn_hs_longtap_settings.attributes
-qtn_hs_longtap_settings.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_settings.release "TB9.2"
-qtn_hs_longtap_settings.description "String which is shown in long tap menu of Home screen if tapped widget has settings."
-qtn_hs_longtap_settings.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_settings "Settings">
-
-<!--
-qtn_hs_longtap_remove_element.attributes
-qtn_hs_longtap_remove_element.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_remove_element.release "TB9.2"
-qtn_hs_longtap_remove_element.description "String which is shown in long tap menu of Home screen if tapped some widget which is removable."
-qtn_hs_longtap_remove_element.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_remove_element "Remove">
-
-<!--
-qtn_hs_longtap_add.attributes
-qtn_hs_longtap_add.layout "list_single_touch_menu_pane_t1"
-qtn_hs_longtap_add.release "TB9.2"
-qtn_hs_longtap_add.description "String which is shown in long tap menu of Home screen if tapped empty space in home screen."
-qtn_hs_longtap_add.parents "control_pane"
--->
-<!ENTITY qtn_hs_longtap_add  "Add content">
-
-<!--
-qtn_hs_change_longtap_wallpaper.attributes
-qtn_hs_change_longtap_wallpaper.layout "list_single_touch_menu_pane_t1"
-qtn_hs_change_longtap_wallpaper.release "TB9.2"
-qtn_hs_change_longtap_wallpaper.description "String which is shown in long tap menu of Home screen."
-qtn_hs_change_longtap_wallpaper.parents "control_pane"
--->
-<!ENTITY qtn_hs_change_longtap_wallpaper "Change wallpaper">
-
-<!--
-qtn_hs_download_new_widgets.attributes
-qtn_hs_download_new_widgets.layout "list_single_pane_t1_cp2"
-qtn_hs_download_new_widgets.release "TB9.2"
-qtn_hs_download_new_widgets.description "User can download new HS widgets String is visible in add content list query"
-qtn_hs_download_new_widgets.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_download_new_widgets "Download">
-
-<!--
-qtn_hs_edit_replace.attributes
-qtn_hs_edit_replace.layout "list_single_touch_menu_pane_t1"
-qtn_hs_edit_replace.release "TB9.2"
-qtn_hs_edit_replace.description "Changes focused widget"
-qtn_hs_edit_replace.parents ""
--->
-<!ENTITY qtn_hs_edit_replace "Replace">
-
-<!--
-qtn_hs_page_options_delete.attributes
-qtn_hs_page_options_delete.layout "list_single_pane_t1_cp2"
-qtn_hs_page_options_delete.release "TB9.2"
-qtn_hs_page_options_delete.description "deletes current home screen page"
-qtn_hs_page_options_delete.parents ""
--->
-<!ENTITY qtn_hs_page_options_delete "Delete page">
-
-<!--
-qtn_hs_page_options_new.attributes
-qtn_hs_page_options_new.layout "list_single_pane_t1_cp2"
-qtn_hs_page_options_new.release "TB9.2"
-qtn_hs_page_options_new.description "creates new home screen page"
-qtn_hs_page_options_new.parents ""
--->
-<!ENTITY qtn_hs_page_options_new "New page">
-
-<!--
-qtn_hs_title_editing_view.attributes
-qtn_hs_title_editing_view.layout "title_pane_t2"
-qtn_hs_title_editing_view.release "TB9.2"
-qtn_hs_title_editing_view.description "view title in editing mode"
-qtn_hs_title_editing_view.parents ""
--->
-<!ENTITY qtn_hs_title_editing_view "Editing view">
-
-<!--
-text_softkey_call.attributes
-text_softkey_call.layout "control_pane_t1/opt7"
-text_softkey_call.release "TB9.2"
-text_softkey_call.description "RSK caption call inactive"
-text_softkey_call.parents ""
--->
-<!ENTITY text_softkey_call "Call">
-
-<!--
-qtn_hs_edit_widget_catalog.attributes
-qtn_hs_edit_widget_catalog.layout "list_single_pane_t1_cp2"
-qtn_hs_edit_widget_catalog.release "TB9.2"
-qtn_hs_edit_widget_catalog.description "Added new option menu item to Edit mode for opening the widget catalog"
-qtn_hs_edit_widget_catalog.grammar "Widget Catalog"
-qtn_hs_edit_widget_catalog.parents "list_single_pane_cp2"
--->
-<!ENTITY qtn_hs_edit_widget_catalog "Widget Catalog">
-
-<!--
-qtn_hs_page_edit_options_delete.attributes
-qtn_hs_page_edit_options_delete.layout "list_single_pane_t1_cp2"
-qtn_hs_page_edit_options_delete.release "TB9.2"
-qtn_hs_page_edit_options_delete.description "Deletes the current Home screen page and focus goes to the next available Home screen page in Edit mode"
-qtn_hs_page_edit_options_delete.parents ""
--->
-<!ENTITY qtn_hs_page_edit_options_delete "Delete page">
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,933 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xmluiml SYSTEM "View.dtd">
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <view id="homescreen">
-        <actions>
-            <action>
-                <trigger name="screendevicechange" reason="portrait" />
-                <!-- main_container -->
-                <event name="system/set">
-                    <property name="name" value="margin-left"/>
-                    <property name="value" value="17px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="main_container"/>
-                </event>                                                        
-                <event name="system/set">
-                    <property name="name" value="margin-right"/>
-                    <property name="value" value="17px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="main_container"/>
-                </event>     
-                <!-- class sub_container -->
-                <event name="system/set">
-                    <property name="name" value="width"/>
-                    <property name="value" value="223px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="class" value="sub_container"/>
-                </event>                                
-                <event name="system/set">
-                    <property name="name" value="height"/>
-                    <property name="value" value="132px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="class" value="sub_container"/>
-                </event>                                            
-                <!-- profile_switcher_container -->
-                <event name="system/set">
-                    <property name="name" value="top"/>
-                    <property name="value" value="0px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="profile_switcher_container"/>
-                </event>                                            
-                <event name="system/set">
-                    <property name="name" value="left"/>
-                    <property name="value" value="223px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="profile_switcher_container"/>
-                </event>                                            
-                <!-- plugins_container -->
-                <event name="system/set">
-                    <property name="name" value="top"/>
-                    <property name="value" value="135px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>                                            
-                <event name="system/set">
-                    <property name="name" value="left"/>
-                    <property name="value" value="0px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>                                                                        
-                <!-- clock font sizes -->                
-                <event name="system/set">
-                    <property name="name" value="_s60-ampm-font-size"/>
-                    <property name="value" value="3.5u"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="clock"/>
-                </event>                                                        
-                <event name="system/set">
-                    <property name="name" value="_s60-digital-font-size"/>
-                    <property name="value" value="72px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="clock"/>
-                </event>                                                        
-                <event name="system/set">
-                    <property name="name" value="_s60-date-font-size"/>
-                    <property name="value" value="3.5u"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="clock"/>
-                </event>                                                                        
-            </action>
-            <action>
-                <trigger name="screendevicechange" reason="landscape" />
-                <!-- main_container -->
-                <event name="system/set">
-                    <property name="name" value="margin-left"/>
-                    <property name="value" value="5px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="main_container"/>
-                </event>                                                        
-                <event name="system/set">
-                    <property name="name" value="margin-right"/>
-                    <property name="value" value="5px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="main_container"/>
-                </event>     
-                <!-- class="sub_container" -->            
-                <event name="system/set">
-                    <property name="name" value="width"/>
-                    <property name="value" value="184px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="class" value="sub_container"/>
-                </event>                                
-                <event name="system/set">
-                    <property name="name" value="height"/>
-                    <property name="value" value="106px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="class" value="sub_container"/>
-                </event>                                            
-                <!-- profile_switcher_container -->
-                <event name="system/set">
-                    <property name="name" value="top"/>
-                    <property name="value" value="106px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="profile_switcher_container"/>
-                </event>                                            
-                <event name="system/set">
-                    <property name="name" value="left"/>
-                    <property name="value" value="0px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="profile_switcher_container"/>
-                </event>                                            
-                <!-- plugins_container -->
-                <event name="system/set">
-                    <property name="name" value="top"/>
-                    <property name="value" value="3px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>                                            
-                <event name="system/set">
-                    <property name="name" value="left"/>
-                    <property name="value" value="184px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="plugins_container"/>
-                </event>      
-                <!-- clock font sizes -->                
-                <event name="system/set">
-                    <property name="name" value="_s60-ampm-font-size"/>
-                    <property name="value" value="3.0u"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="clock"/>
-                </event>                                                        
-                <event name="system/set">
-                    <property name="name" value="_s60-digital-font-size"/>
-                    <property name="value" value="56px"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="clock"/>
-                </event>                                                        
-                <event name="system/set">
-                    <property name="name" value="_s60-date-font-size"/>
-                    <property name="value" value="3.0u"/>
-                    <property name="type" value="numeric"/>
-                    <property name="id" value="clock"/>
-                </event>                                                                                                                                          
-            </action>
-            <action> 
-                <!-- End key, move focus to initial location -->
-                <trigger name="keyevent">
-                    <property name="scancode" value="197"/>                
-                    <property name="eventtype" value="1"/>                
-                </trigger>
-            </action>
-            <action>
-                <trigger name="viewactivate"/>
-                <event name="system/endfullscreeneffect"/>        
-            </action>              
-            <action>
-                <!-- No widgets in this view -->
-                <trigger name="widgetamount" value="0"/>
-                <event name="system/set">
-                    <!-- Hide "hide content" menuitem -->
-                    <property name="name" value="display"/>
-                    <property name="value" value="none"/>
-                    <property name="type" value="string"/>
-                    <property name="id" value="hs_hide_widgets"/>                
-                </event>                              
-                <event name="system/set">
-                    <!-- Hide "show content" menuitem -->
-                    <property name="name" value="display"/>
-                    <property name="value" value="none"/>
-                    <property name="type" value="string"/>
-                    <property name="id" value="hs_show_widgets"/>                
-                </event>                                          
-            </action>
-            <action>
-                <!-- At least one widget added to this view -->
-                <trigger name="widgetamount" value="1"/>
-                <event name="system/set">
-                    <!-- Show "hide content" menuitem -->
-                    <property name="name" value="display"/>
-                    <property name="value" value="block"/>
-                    <property name="type" value="string"/>
-                    <property name="id" value="hs_hide_widgets"/>                
-                </event>                              
-                <event name="system/set">
-                    <!-- Show "show content" menuitem -->
-                    <property name="name" value="display"/>
-                    <property name="value" value="block"/>
-                    <property name="type" value="string"/>
-                    <property name="id" value="hs_show_widgets"/>                
-                </event>                                          
-            </action>            
-        </actions>
-        
-        <!-- Data plugins in this view -->
-        <contentsource name="Profile" value="0x10275101" />
-        <contentsource name="SAT" value="0x102078EB" />
-        <contentsource name="Shortcut" value="0x102750FA" />
-        <contentsource name="DeviceStatus" value="0x102750F8" />
-        
-        <!-- All layout capable elements are inside this container -->
-        <box id="main_container">
-            <box id="clock_container" class="sub_container">
-                <clock id="clock" focusable="true" _s60-initial-focus="1">
-                    <softkey id="clock_msk_open" type="middle" label="&qtn_msk_open;" />
-                    <menuitem id="hs_view_open" target="hs_widget_menuitem_open">
-                        <actions>
-                            <action>
-                                <trigger name="activate"/>
-                                <event name="system/activateselecteditem"/>
-                            </action>
-                        </actions>            
-                    </menuitem>                                
-                    <text id="Clock/DateInformation" display="none">
-                        <property id="DeviceStatusDate" class="DeviceStatus/Date" />
-                    </text>                                         
-                    <actions>
-                        <action>
-                            <trigger name="stylus">
-                                <property name="eventtype" value="downup" />
-                            </trigger>
-                            <trigger name="activate"/>
-                            <trigger name="keyevent">
-                                <property name="scancode" value="3"/>
-                                <!-- enter key / EStdKeyEnter -->
-                                <property name="eventtype" value="1"/>
-                            </trigger>                            
-                            <event name="Shortcut/LaunchByValue(localapp:0x10005903)" />
-                        </action>
-                    </actions>                
-                </clock>                    
-            </box>        
-            <box id="profile_switcher_container" class="sub_container">
-                <box id="profile" focusable="true">
-                    <softkey id="profile_msk_select" type="middle" label="&qtn_msk_select;" />
-                    <menuitem id="hs_view_select" target="hs_widget_menuitem_select">
-                        <actions>
-                            <action>
-                                <trigger name="activate"/>
-                                <event name="system/activateselecteditem"/>
-                            </action>
-                        </actions>            
-                    </menuitem>                                        
-                    <!-- Profile UI resources -->
-                    <desc id="Profile/ActiveProfileGeneralIconResource" path="SKIN(270501603 8586 19)"/>
-                    <desc id="Profile/ActiveProfileSilentIconResource" path="SKIN(270501603 8587 19)"/>
-                    <desc id="Profile/ActiveProfileTimedIconResource" path="SKIN(270501603 8631 19)"/>
-                    <actions>
-                        <!-- Show profile dialog menu -->
-                        <action>
-                            <trigger name="activate"/>
-                            <trigger name="stylus">
-                                <property name="eventtype" value="downup" />
-                            </trigger>
-                            <trigger name="keyevent">
-                                <property name="scancode" value="3"/>
-                                <!-- enter key / EStdKeyEnter -->
-                                <property name="eventtype" value="1"/>
-                            </trigger>
-                            <event name="system/trydisplayinglistquerydialog">
-                                <property name="id" value="profiledialog"/>
-                            </event>
-                        </action>
-                    </actions>                            
-                    <!-- MCN, CUG & Profile -->
-                    <box id="mcn_cug_profile_container">
-                        <newsticker id="mcn_cug_profile" class="statusindicator">
-                            <title id="mcn" titleindex="0">
-                                <property id="MCNIndicator" class="DeviceStatus/MCNIndicator" />    
-                            </title>
-                            <title id="cug" titleindex="1">
-                                <property id="CUGIndicator" class="DeviceStatus/CUGIndicator" />    
-                            </title>
-                            <title id="profile" titleindex="2">
-                                <property id="ActiveProfileIndicator" class="Profile/ActiveProfileNameAndIconChar" />            
-                            </title>
-                        </newsticker>
-                    </box>    
-                    <!-- SAT & VHZ -->
-                    <box id="sat_vhz_container">
-                        <image id="sat_icon">
-                            <property id="Sat_sat_icon" class="SAT/sat_icon" />        
-                            <property class="policy/emptyContent" name="sat_icon" value="display:none"/>
-                            <property class="policy/emptyContent" name="sat_icon" value="visibility:hidden"/>
-                            <property class="policy/Content" name="sat_icon" value="display:block"/>
-                            <property class="policy/Visibility" name="sat_vhz_container" value="if !+(vhz) visibility: visible" />
-                        </image>    
-                        <newsticker id="sat_vhz" class="statusindicator">
-                            <actions>
-                                <action>
-                                    <trigger name="titletoscroll" titleindex="0"/>
-                                    <event name="system/set">
-                                        <property name="name" value="visibility"/>
-                                        <property name="value" value="hidden"/>
-                                        <property name="type" value="string"/>
-                                        <property name="id" value="sat_icon"/>
-                                    </event>
-                                </action>
-                                <action>
-                                    <trigger name="titlescrolled" titleindex="0"/>
-                                    <event name="system/set">
-                                        <property name="name" value="visibility"/>
-                                        <property name="value" value="hidden"/>
-                                        <property name="type" value="string"/>
-                                        <property name="id" value="sat_icon"/>
-                                    </event>
-                                </action>
-                                <action>
-                                    <trigger name="titletoscroll" titleindex="1"/>
-                                    <event name="system/set">
-                                        <property name="name" value="visibility"/>
-                                        <property name="value" value="visible"/>
-                                        <property name="type" value="string"/>
-                                        <property name="id" value="sat_icon"/>
-                                    </event>
-                                </action>
-                                <action>
-                                    <trigger name="titlescrolled" titleindex="1"/>
-                                    <event name="system/set">
-                                        <property name="name" value="visibility"/>
-                                        <property name="value" value="visible"/>
-                                        <property name="type" value="string"/>
-                                        <property name="id" value="sat_icon"/>
-                                    </event>
-                                </action>
-                            </actions>
-                            <title id="vhz" titleindex="0">
-                                <property id="VHZText" class="DeviceStatus/VHZText" />
-                                <property class="policy/emptyContent" name="vhz" value="display: none" />
-                                <property class="policy/Content" name="vhz" value="display: block" />
-                                <property class="policy/Visibility" name="sat_vhz_container" value="if (vhz,sat,sat_icon) display: block" />
-                                <property class="policy/Visibility" name="sat_vhz_container" value="if !+(vhz,sat,sat_icon) display: none" />
-                            </title>
-                            <title id="sat" titleindex="1">
-                                <property id="Sat_SatIdleModeText" class="SAT/SatIdleModeText" />            
-                                <property class="policy/emptyContent" name="sat" value="display: none" />
-                                <property class="policy/Content" name="sat" value="display: block" />
-                                <property class="policy/Visibility" name="sat_vhz_container" value="if (vhz,sat,sat_icon) display: block" />
-                                <property class="policy/Visibility" name="sat_vhz_container" value="if !+(vhz,sat,sat_icon) display: none" />
-                            </title>
-                        </newsticker>
-                    </box>                                    
-                </box>
-                <!-- View switcher -->
-                <box id="switcher" focusable="true">
-                    <softkey id="switcher_msk_select" type="middle" label="&qtn_msk_select;" />
-                    <menuitem id="hs_view_select" target="hs_widget_menuitem_select">
-                        <actions>
-                            <action>
-                                <trigger name="activate"/>
-                                <event name="system/activateselecteditem"/>
-                            </action>
-                        </actions>            
-                    </menuitem>                    
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <trigger name="stylus">
-                                <property name="eventtype" value="downup" />
-                            </trigger>
-                            <trigger name="keyevent">
-                                <property name="scancode" value="3"/>
-                                <property name="eventtype" value="1"/>
-                            </trigger>
-                            <event name="system/activatenextview"/>                    
-                            <event name="system/beginfullscreeneffect" effectid="1003"/>
-                        </action>
-                    </actions>                    
-                    <image id="switcher_icon" />                        
-                    <!-- View information is filled in runtime by View Manager -->
-                    <text id="switcher_text" />
-                </box>
-            </box>
-            <!-- Plugins -->
-            <box id="plugins_container">
-                <plugin id="plugin1" class="plugins" />
-                <plugin id="plugin2" class="plugins" />
-                <plugin id="plugin3" class="plugins" />
-                <plugin id="plugin4" class="plugins" />
-                <plugin id="plugin5" class="plugins" />
-            </box>
-        </box>
-        
-        <!-- Profile list query dialog. Avkon dialog is not layout capable -->
-        <listquerydialog id="profiledialog" display="none">
-            <text id="profileseditactive" class="profileitem">qtn_hs_profile_edit
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/EditActiveProfile"/>
-                    </action>
-                </actions>		
-            </text>						
-            <text id="profileitem1" class="systemprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="1"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(0)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem2" class="systemprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="2"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(1)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem3" class="systemprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="3"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(2)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem4" class="systemprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="4"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(3)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem5" class="systemprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="5"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(4)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem6" class="systemprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="6"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(5)"/>
-                    </action>
-                </actions>
-            </text>
-            <!-- Profiles added by user - show only when such profiles exist -->
-            <text id="profileitem7" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="7"/>
-                <property class="policy/Content" name="profileitem7" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem7" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(6)"/>
-                    </action>
-                </actions>
-            </text> 
-            <text id="profileitem8" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="8"/>
-                <property class="policy/Content" name="profileitem8" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem8" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(7)"/>
-                    </action>        
-               </actions>
-            </text>
-            <text id="profileitem9" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="9"/>
-                <property class="policy/Content" name="profileitem9" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem9" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(8)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem10" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="10"/>
-                <property class="policy/Content" name="profileitem10" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem10" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(9)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem11" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="11"/>
-                <property class="policy/Content" name="profileitem11" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem11" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(10)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem12" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="12"/>
-                <property class="policy/Content" name="profileitem12" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem12" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(11)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem13" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="13"/>
-                <property class="policy/Content" name="profileitem13" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem13" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(12)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem14" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="14"/>
-                <property class="policy/Content" name="profileitem14" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem14" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(13)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem15" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="15"/>
-                <property class="policy/Content" name="profileitem15" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem15" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(14)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem16" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="16"/>
-                <property class="policy/Content" name="profileitem16" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem16" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(15)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem17" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="17"/>
-                <property class="policy/Content" name="profileitem17" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem17" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(16)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem18" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="18"/>
-                <property class="policy/Content" name="profileitem18" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem18" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(17)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem19" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="19"/>
-                <property class="policy/Content" name="profileitem19" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem19" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(18)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem20" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="20"/>
-                <property class="policy/Content" name="profileitem20" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem20" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(19)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem21" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="21"/>
-                <property class="policy/Content" name="profileitem21" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem21" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(20)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem22" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="22"/>
-                <property class="policy/Content" name="profileitem22" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem22" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(21)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem23" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="23"/>
-                <property class="policy/Content" name="profileitem23" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem23" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(22)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem24" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="24"/>
-                <property class="policy/Content" name="profileitem24" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem24" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(23)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem25" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="25"/>
-                <property class="policy/Content" name="profileitem25" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem25" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(24)"/>
-                    </action>
-                </actions>
-            </text>
-            <text id="profileitem26" class="userprofileitem">
-                <property class="Profile/ProfileName" name="ordinal" value="26"/>
-                <property class="policy/Content" name="profileitem26" value="display:block"/>
-                <property class="policy/emptyContent" name="profileitem26" value="display:none"/>
-                <actions>
-                    <action>
-                        <trigger name="activate"/>
-                        <event name="Profile/SwitchProfileByIndex(25)"/>
-                    </action>
-                </actions>
-            </text>
-        </listquerydialog>
-                
-        <!-- RSK shortcut, default AppShell -->    			
-        <property class="Settings/Shortcut" name="0x01000101" value="localapp:0x101F4CD2"/>
-        <!-- UI resources for RSK shortcut -->
-        <desc id="Shortcut/EmptyCaption">&shortcut_emptycaption;</desc>
-        <desc id="Shortcut/BackCaption">&text_softkey_back;</desc>
-        
-        <menubar id="hs_menubar">                  
-            <!-- menu item grouping table is traversed through in run-time always when options menu is launched. -->                     
-            <menuitemgrouping>
-                <!-- These items are shown when widget is selected (focus is in widget) -->
-                <menuitemgroup id="Menu/WidgetSpecific">
-                    <property name="hs_widget_select"/>
-                    <property name="hs_widget_open"/>
-                    <property name="hs_widget_settings"/>        
-                    <property name="hs_move_widget"/>        
-                    <property name="hs_remove_widget"/>                        
-                </menuitemgroup>   
-                <!-- These items are shown when view is selected (focus is in view) -->
-                <menuitemgroup id="Menu/ViewSpecific">
-                    <property name="hs_widget_select"/>
-                    <property name="hs_widget_open"/>                
-                </menuitemgroup>           
-                <!-- These items are shown when content is hidden -->
-                <menuitemgroup id="Menu/WidgetsHidden">                
-                    <property name="hs_show_widgets"/>
-                </menuitemgroup>   
-                <!-- These items are shown when content is visible -->
-                <menuitemgroup id="Menu/WidgetsShown">                                
-                    <property name="hs_add_widget"/>        
-                    <property name="hs_hide_widgets"/>                                
-                </menuitemgroup>        
-                <!-- These items are always shown, if not otherwise changed in the declaration -->
-                <menuitemgroup id="Menu/AlwaysShown">
-                    <property name="hs_lock_keypad"/>                
-                    <property name="hs_change_wallpaper"/>
-                    <property name="hs_rsk_setting"/>
-                    <property name="hs_show_help"/>
-                </menuitemgroup>        
-            </menuitemgrouping>            
-            <menu id="options_menu">
-                <menuitem id="hs_lock_keypad" label="&qtn_hs_lock_keypad;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="Shortcut/LaunchByValue(localapp:keylock?on)" />
-                        </action>
-                    </actions>
-                </menuitem>            
-                <!-- widget specified options menu item select -->
-                <widgetmenuitem id="hs_widget_select" source="hs_widget_menuitem_select" label="&qtn_options_select_widget;"/>
-                <!-- widget specified options menu item open -->                         
-                <widgetmenuitem id="hs_widget_open" source="hs_widget_menuitem_open" label="&qtn_options_open;"/>
-                <menuitem id="hs_show_widgets" label="&qtn_hs_show_widgets;">
-                    <actions>
-                        <action>
-                            <trigger name="activate" />                        
-                            <event name="system/beginfullscreeneffect" effectid="1508"/>
-                            <event name="system/togglewidgetsvisibilty"/>
-                            <event name="system/endfullscreeneffect"/>                                                                        
-                            <event name="system/set">
-                                <!-- Show "add content" menuitem -->
-                                <property name="name" value="display"/>
-                                <property name="value" value="block"/>
-                                <property name="type" value="string"/>
-                                <property name="id" value="hs_add_widget"/>                
-                            </event>                                                                                                      
-                        </action>
-                    </actions>
-                </menuitem>                                    
-                <menuitem id="hs_add_widget" label="&qtn_hs_add_widget;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="system/runaddwidgetquery"/>
-                        </action>
-                    </actions>
-                </menuitem>
-                <!-- TODO: implement properly
-                <menuitem id="hs_refresh" name="refresh" source="contentmodel" label="&qtn_hs_refresh_widget;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="menu_event"/>
-                        </action>
-                    </actions>
-                </menuitem>-->
-                <menuitem id="hs_hide_widgets" label="&qtn_hs_hide_widgets;">
-                    <actions>
-                        <action>
-                            <trigger name="activate" />                        
-                            <event name="system/beginfullscreeneffect" effectid="1508"/>
-                            <event name="system/togglewidgetsvisibilty"/>
-                            <event name="system/endfullscreeneffect"/>                                                                                                
-                            <event name="system/set">
-                                <!-- Hide "add content" menuitem -->
-                                <property name="name" value="display"/>
-                                <property name="value" value="none"/>
-                                <property name="type" value="string"/>
-                                <property name="id" value="hs_add_widget"/>                
-                            </event>                                                                              
-                        </action>
-                    </actions>
-                </menuitem>            
-                <!-- widget sub-menu -->
-                <menu id="hs_widget_submenu" label="&qtn_hs_edit_widget;">
-                    <!-- settings controlled by widgets -->
-                    <widgetmenuitem id="hs_widget_settings" source="hs_widget_menuitem_settings" label="&qtn_hs_widget_settings;"/>                                
-                    <menuitem id="hs_move_widget" label="&qtn_hs_move_widget;">
-                        <actions>
-                            <action>
-                                <trigger name="activate"/>
-                                <event name="system/set">
-                                    <property name="name" value="focusable"/>
-                                    <property name="value" value="true"/>
-                                    <property name="type" value="string"/>
-                                    <property name="class" value="plugins"/>
-                                </event>
-                                <event name="system/seteditmode">
-                                    <property name="class" value="plugins"/>                                
-                                    <property name="class" value="normal_mode_sk"/>
-                                    <property name="class" value="edit_mode_sk"/>
-                                    <property name="keymovemode" value="true"/>
-                                </event>
-                            </action>
-                        </actions>
-                    </menuitem>                
-                    <menuitem id="hs_remove_widget" label="&qtn_hs_remove_widget;">
-                        <actions>
-                            <action>
-                                <trigger name="activate"/>
-                                <event name="system/removefocusedwidget"/>
-                            </action>
-                        </actions>
-                    </menuitem>
-                </menu>            
-                <!-- Dymanic menu items for web online/offline capability when installing a new internet/web widget -->
-                <!--<menuitem id="hs_online" status="online" name="online_offline" source="contentmodel" label="&qtn_hs_online;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="menu_event"/>
-                        </action>
-                    </actions>   
-                </menuitem>
-                <menuitem id="hs_offline" status="offline" name="online_offline" source="contentmodel" label="&qtn_hs_offline;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="menu_event"/>
-                        </action>
-                    </actions>   
-                </menuitem>                        -->
-                <menuitem id="hs_change_wallpaper" label ="&qtn_hs_change_wallpaper;">
-                    <actions>
-                        <action id="a_setwallpaper">
-                            <trigger id="t_setwallpaper" name="activate"/>
-                            <event id="e_setwallpaper" name="setwallpaper_event"/>
-                        </action>
-                    </actions>
-                </menuitem>                        
-                <menuitem id="hs_rsk_setting" label="&qtn_hs_options_sk2;">
-                    <actions>
-                        <action>
-                            <trigger name="activate"/>
-                            <event name="Shortcut/ShowSetting(0x01000101)" />
-                        </action>
-                    </actions>
-                </menuitem>            
-                <menuitem id="hs_show_help" label="&qtn_options_help;">
-                    <actions>
-                        <action id="a_help">
-                            <trigger name="activate"/>
-                            <event name="help_event"/>
-                        </action>
-                    </actions>
-                </menuitem>            
-            </menu>            
-            <!-- softkeys -->
-            <widgetsoftkey source="hs_widget_msk_select" label="&qtn_msk_select;"/>
-            <widgetsoftkey source="hs_widget_msk_open" label="&qtn_msk_open;"/>
-            <softkey id="lsk" type="left" class="normal_mode_sk" label="&qtn_ai_softkey_options;" >
-                <actions>
-                    <action>
-                        <trigger name="stylus"/>
-                        <trigger name="activate">
-                            <property name="eventtype" value="2"/>
-                        </trigger>
-                        <event name="system/trydisplayingmenu">
-                            <property name="id" value="options_menu"/>
-                        </event>
-                    </action>
-                    <action>
-                        <trigger name="hold"/>
-                        <event name="Shortcut/LaunchByValue(localapp:0x10201B00?ui=read_new)"/>
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="SK2" type="right" class="normal_mode_sk" label="">
-                <property class="Shortcut/ShortcutSkCaption" name="ordinal" value="0x01000101"/>
-                <!--<property class="Shortcut/ShortcutSkIcon" name="ordinal" value="0x01000101"/>-->
-                <actions>
-                    <action>
-                        <trigger name="stylus"/>
-                        <trigger name="activate">
-                            <property name="eventtype" value="2"/>
-                        </trigger>
-                        <event name="Shortcut/LaunchByIndex(0x01000101)"/>
-                    </action>
-                        <action>
-                            <trigger name="hold"/>
-                            <event name="Shortcut/LaunchByValue(localapp:0x101F8543)"/>
-                        </action>
-                </actions>
-            </softkey>            
-            <softkey id="edit_lsk_ok" type="left" class="edit_mode_sk" label="&qtn_softkey_ok;">
-                <actions>
-                    <action>
-                        <trigger name="stylus"/>
-                        <trigger name="activate"/>
-                        <event name="system/reseteditmode">
-                            <property name="class" value="plugins"/>
-                            <property name="class" value="edit_mode_sk"/>
-                            <property name="class" value="normal_mode_sk"/>
-                        </event>
-                        <event name="system/set">
-                            <property name="name" value="focusable"/>
-                            <property name="value" value="false"/>
-                            <property name="type" value="string"/>
-                            <property name="class" value="plugins"/>
-                        </event>
-                    </action>
-                </actions>
-            </softkey>
-            <softkey id="edit_msk_ok" type="middle" class="edit_mode_sk" label="#mskdot">
-                <actions>
-                    <action>
-                        <trigger name="stylus"/>
-                        <trigger name="activate"/>
-                        <event name="system/reseteditmode">
-                            <property name="class" value="plugins"/>
-                            <property name="class" value="edit_mode_sk"/>
-                            <property name="class" value="normal_mode_sk"/>                                                
-                        </event>
-                        <event name="system/set">
-                            <property name="name" value="focusable"/>
-                            <property name="value" value="false"/>
-                            <property name="type" value="string"/>
-                            <property name="class" value="plugins"/>
-                        </event>
-                    </action>
-                </actions>
-            </softkey>
-        </menubar>            
-    </view>
-</xmluiml>
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/37/view.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,543 +0,0 @@
-view {
-    display: block; 
-    position: static;
-    width: 100%;
-    height: 100%;
-    direction: rtl;
-    block-progression: tb;
-    background-image: wallpaper;
-    nav-index: appearance;
-    _s60-focus-visibility: true;
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-
-}
-
-trigger.western{
-    display: none;
-}
-
-
-/** Softkeys **/
-softkey.normal_mode_sk
-{
-    display: block;
-}
-
-softkey.normal_mode_sk:edit
-{
-    display: none;
-}
-
-softkey.edit_mode_sk
-{
-    display: none;
-}
-
-softkey.edit_mode_sk:edit
-{
-    display: block;
-}
-
-/** General **/
-
-plugin.widget_full_width{
-    /* every plug-in decides its own height */
-    height: adaptive;
-    background-color: "SKIN(268458534 9906)";
-    background-size: 100%;
-    width: 100%;
-/*    padding-left: 1.7u;
-    padding-right: 1.7u;*/
-    margin-bottom: 0.55u;
-    nav-index: auto;
-}
-
-plugin.widget_full_width:focus {
-    focus-background:"SKIN(268458534 9896)";
-}
-
-plugin:edit {
-    background-color:"SKIN(270501603 8582)";
-}
-
-text{
-    text-align: center;
-    font-family: tahoma;
-    font-size: 3.0u;
-    /*color:"SKIN(268458534 13056 19)";*/
-    color: white;
-}
-
-/************
-Page switcher
-*************
-					
-text#switchertext{
-	position: static;
-	text-align: right;
-	margin-left: 6.0u;
-}
-
-image#switcherimage{
-	position: absolute;
-   	top: 1.4u;
-    	left: 2.5u;
-	height: 3.5u;
-	width: 3.0u;
-	_s60-aspect-ratio: preserve;
-}
-*/
-
-
-/****************** 
-container areas 
-******************/
-box#mainbox{
-    width: 100%;
-    height: 100%;
-}
-
-box.profile_date
-{
-    background-color: "SKIN(268458534 9916)";
-    nav-index: appearance;
-    height: auto;
-}
-
-box.profile_date:focus
-{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-
-/********************************************* 
-Clock Profiles - portrait specific containers 
-**********************************************/
-
-box#clock_profiles_portrait{
-    display: block;
-    visibility: visible;
-    direction: rtl;
-    block-progression: rl;
-    padding-left: 1.7u;
-    padding-right: 1.7u;
-    margin-bottom: 0.55u;
-    height:13.86u;
-    visualisationaware:true;
-}
-
-box#profiles_pages_portrait{
-    block-progression: tb;
-    direction: rtl;
-    height: adaptive;
-}
-
-box#clock_container_portrait{
-    display: block;
-    visibility: visible;
-    position: static;    
-    nav-index: appearance;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-
-    margin-left: 0.7u;
-    visualisationaware:true;
-    _s60-initial-focus: 1;
-}
-
-box#clock_container_portrait:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-clock#clock_portrait{
-    display: block;
-    visibility: visible;
-    position: static;     
-    width: auto;
-    /*height: 70%;*/
-    height: auto;
-    direction: rtl;
-    block-progression: tb;        
-    background: none;
-    nav-index: appearance;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: white;	
-}
-
-box#date_container_portrait
-{
-    width: auto;
-    direction: rtl;
-    block-progression: rl;
-    height: 4.05u;
-    margin-bottom: 0.55u;
-    padding-top: 3px;
-    visualisationaware:true;
-}
-
-box#date_content_portrait
-{
-    width: adaptive;
-    height: adaptive;
-}
-
-text#datetext2_portrait
-{
-    text-align: center;
-    width: auto;
-    height: auto;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-
-box#profile_softindicator_portrait
-{
-    width: auto;
-    direction: rtl;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    nav-index: appearance;
-    height: 9.0u;
-    visualisationaware:true;
-}
-
-box#NT_CUGMCN_portrait
-{
-    text-align: center;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-
-box#NT_SATVHZ_portrait
-{
-    display: none;
-    text-align: center;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz_portrait
-{
-    display: none;
-}
-
-title#title_sat_portrait
-{
-    display: none;
-}
-
-/********************************************* 
-Clock Profiles - landscape specific containers 
-**********************************************/
-
-box#clock_profiles_landscape{
-    display: block;
-    visibility: visible;
-    direction: rtl;
-    block-progression: tb;
-    width: 30%;
-    height: 100%;
-    padding-left: 5px;
-    padding-top: 5px;
-    visualisationaware:true;
-}
-
-box#profiles_pages_landscape{
-    block-progression: tb;
-    direction: rtl;
-    height: adaptive;
-}
-
-box#clock_container_landscape{
-    
-    display: block;
-    visibility: visible;
-    position: static;    
-    nav-index: appearance;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    height: 10.74u;
-    width: auto;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-    _s60-initial-focus: 2;
-}
-
-box#clock_container_landscape:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box#date_container_landscape
-{
-    width: auto;
-    direction: rtl;
-    block-progression: rl;
-    height: 6.7u;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-}
-
-box#profile_softindicator_landscape
-{
-    width: auto;
-    direction: rtl;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    nav-index: appearance;
-    height: 6.7u;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-}
-
-clock#clock_landscape{
-    display: block;
-    visibility: visible;
-    position: static;     
-    width: 100%;
-    height: auto;
-    direction: rtl;
-    block-progression: tb;        
-    background: none;
-    nav-index: appearance;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: white;	
-}
-
-clock:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-/* Date in the clock widget */
-text#datetext{
-    nav-index: appearance;
-    text-align: center;
-    padding-top: 0.5u;
-    padding-bottom: 0.5u;
-    width: 100%;
-    height: 24%;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-/* Date in the clock widget */
-text#datetext:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-/* Date in separate widget above profiles */
-
-box#date_content_landscape
-{
-    width: inherit;
-    height: inherit;
-}
-
-text#datetext2_landscape
-{
-    text-align: center;
-    width: auto;
-    height: auto;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-
-box#profile_softindicator:focus
-{
-    focus-background:"SKIN(268458534 5120 9)";
-}
-
-image#profileicon {
-    display: block;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-    z-index: 2;
-}
-
-image#SatIdleModeIcon
-{
-    display: block;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-text#profiletext
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color:"SKIN(268458534 13056 19)";
-}
-
-/* Profiles dialog */
-listquerydialog#profiledialog
-{
-    /* Avkon dialog is not layout capable */
-    display: none;    
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-
-newsticker.SIText {
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    white-space-collapse: collapse;
-    _s60-scroll-behaviour: alternate;
-    /*_s60-scroll-behaviour: scroll;*/
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-    color: white;
-    /*color:"SKIN(268458534 13056 19)";*/
-}
-
-box#NT_CUGMCN_landscape
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ_landscape
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz_landscape
-{
-    display: none;
-}
-
-title#title_sat_landscape
-{
-    display: none;
-}
-
-image#SatIdleModeIcon_portrait
-{
-    display: none;
-}
-
-image#SatIdleModeIcon_landscape
-{
-    display: none;
-}
-
-/************
-Page switcher
-*************
-box#switcher{
-    display: block;
-    visibility: visible;
-    block-progression: rl;
-    direction: ltr;
-    height: 4.5u;
-    background-color: "SKIN(268458534 9906)";
-    background-size: 100%;		
-    margin-top: 0.55u;
-}
-
-box#switcher:focus {
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-text#switchertext
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: 3.5u;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color:"SKIN(268458534 13056 19)";
-    color: white;
-    padding-top: 0.5u;
-    padding-bottom: 0.5u;
-}
-
-image#switcherimage
-{
-    position: static;
-    height: 3.5u;
-    width: 3.5u;
-    margin-top: 0.5u;
-    margin-left: 2u;
-}
-*/
-
-menuitem#webonlineitem
-{
-   display: block;
-}
-
-menuitem#webonlineitem:edit
-{
-   display: none;
-}
-
-menuitem#webofflineitem
-{
-   display: block;
-}
-
-menuitem#webofflineitem:edit
-{
-   display: none;
-}
-
-box#main_plugins{
-    block-progression: tb;
-    display: block;
-    visibility: visible;
-    padding-left: 1.7u;
-    padding-right: 1.7u;
-}
-
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/50/view.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,543 +0,0 @@
-view {
-    display: block; 
-    position: static;
-    width: 100%;
-    height: 100%;
-    direction: rtl;
-    block-progression: tb;
-    background-image: wallpaper;
-    nav-index: appearance;
-    _s60-focus-visibility: true;
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-
-}
-
-trigger.western{
-    display: none;
-}
-
-
-/** Softkeys **/
-softkey.normal_mode_sk
-{
-    display: block;
-}
-
-softkey.normal_mode_sk:edit
-{
-    display: none;
-}
-
-softkey.edit_mode_sk
-{
-    display: none;
-}
-
-softkey.edit_mode_sk:edit
-{
-    display: block;
-}
-
-/** General **/
-
-plugin.widget_full_width{
-    /* every plug-in decides its own height */
-    height: adaptive;
-    background-color: "SKIN(268458534 9906)";
-    background-size: 100%;
-    width: 100%;
-/*    padding-left: 1.7u;
-    padding-right: 1.7u;*/
-    margin-bottom: 0.55u;
-    nav-index: auto;
-}
-
-plugin.widget_full_width:focus {
-    focus-background:"SKIN(268458534 9896)";
-}
-
-plugin:edit {
-    background-color:"SKIN(270501603 8582)";
-}
-
-text{
-    text-align: center;
-    font-family: tahoma;
-    font-size: 3.0u;
-    /*color:"SKIN(268458534 13056 19)";*/
-    color: white;
-}
-
-/************
-Page switcher
-*************
-					
-text#switchertext{
-	position: static;
-	text-align: right;
-	margin-left: 6.0u;
-}
-
-image#switcherimage{
-	position: absolute;
-   	top: 1.4u;
-    	left: 2.5u;
-	height: 3.5u;
-	width: 3.0u;
-	_s60-aspect-ratio: preserve;
-}
-*/
-
-
-/****************** 
-container areas 
-******************/
-box#mainbox{
-    width: 100%;
-    height: 100%;
-}
-
-box.profile_date
-{
-    background-color: "SKIN(268458534 9916)";
-    nav-index: appearance;
-    height: auto;
-}
-
-box.profile_date:focus
-{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-
-/********************************************* 
-Clock Profiles - portrait specific containers 
-**********************************************/
-
-box#clock_profiles_portrait{
-    display: block;
-    visibility: visible;
-    direction: rtl;
-    block-progression: rl;
-    padding-left: 1.7u;
-    padding-right: 1.7u;
-    margin-bottom: 0.55u;
-    height:13.86u;
-    visualisationaware:true;
-}
-
-box#profiles_pages_portrait{
-    block-progression: tb;
-    direction: rtl;
-    height: adaptive;
-}
-
-box#clock_container_portrait{
-    display: block;
-    visibility: visible;
-    position: static;    
-    nav-index: appearance;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-
-    margin-left: 0.7u;
-    visualisationaware:true;
-    _s60-initial-focus: 1;
-}
-
-box#clock_container_portrait:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-clock#clock_portrait{
-    display: block;
-    visibility: visible;
-    position: static;     
-    width: auto;
-    /*height: 70%;*/
-    height: auto;
-    direction: rtl;
-    block-progression: tb;        
-    background: none;
-    nav-index: appearance;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: white;	
-}
-
-box#date_container_portrait
-{
-    width: auto;
-    direction: rtl;
-    block-progression: rl;
-    height: 4.05u;
-    margin-bottom: 0.55u;
-    padding-top: 3px;
-    visualisationaware:true;
-}
-
-box#date_content_portrait
-{
-    width: adaptive;
-    height: adaptive;
-}
-
-text#datetext2_portrait
-{
-    text-align: center;
-    width: auto;
-    height: auto;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-
-box#profile_softindicator_portrait
-{
-    width: auto;
-    direction: rtl;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    nav-index: appearance;
-    height: 9.0u;
-    visualisationaware:true;
-}
-
-box#NT_CUGMCN_portrait
-{
-    text-align: center;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-
-box#NT_SATVHZ_portrait
-{
-    display: none;
-    text-align: center;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz_portrait
-{
-    display: none;
-}
-
-title#title_sat_portrait
-{
-    display: none;
-}
-
-/********************************************* 
-Clock Profiles - landscape specific containers 
-**********************************************/
-
-box#clock_profiles_landscape{
-    display: block;
-    visibility: visible;
-    direction: rtl;
-    block-progression: tb;
-    width: 30%;
-    height: 100%;
-    padding-left: 5px;
-    padding-top: 5px;
-    visualisationaware:true;
-}
-
-box#profiles_pages_landscape{
-    block-progression: tb;
-    direction: rtl;
-    height: adaptive;
-}
-
-box#clock_container_landscape{
-    
-    display: block;
-    visibility: visible;
-    position: static;    
-    nav-index: appearance;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    height: 10.74u;
-    width: auto;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-    _s60-initial-focus: 2;
-}
-
-box#clock_container_landscape:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box#date_container_landscape
-{
-    width: auto;
-    direction: rtl;
-    block-progression: rl;
-    height: 6.7u;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-}
-
-box#profile_softindicator_landscape
-{
-    width: auto;
-    direction: rtl;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    nav-index: appearance;
-    height: 6.7u;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-}
-
-clock#clock_landscape{
-    display: block;
-    visibility: visible;
-    position: static;     
-    width: 100%;
-    height: auto;
-    direction: rtl;
-    block-progression: tb;        
-    background: none;
-    nav-index: appearance;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: white;	
-}
-
-clock:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-/* Date in the clock widget */
-text#datetext{
-    nav-index: appearance;
-    text-align: center;
-    padding-top: 0.5u;
-    padding-bottom: 0.5u;
-    width: 100%;
-    height: 24%;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-/* Date in the clock widget */
-text#datetext:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-/* Date in separate widget above profiles */
-
-box#date_content_landscape
-{
-    width: inherit;
-    height: inherit;
-}
-
-text#datetext2_landscape
-{
-    text-align: center;
-    width: auto;
-    height: auto;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-
-box#profile_softindicator:focus
-{
-    focus-background:"SKIN(268458534 5120 9)";
-}
-
-image#profileicon {
-    display: block;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-    z-index: 2;
-}
-
-image#SatIdleModeIcon
-{
-    display: block;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-text#profiletext
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color:"SKIN(268458534 13056 19)";
-}
-
-/* Profiles dialog */
-listquerydialog#profiledialog
-{
-    /* Avkon dialog is not layout capable */
-    display: none;    
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-
-newsticker.SIText {
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    white-space-collapse: collapse;
-    _s60-scroll-behaviour: alternate;
-    /*_s60-scroll-behaviour: scroll;*/
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-    color: white;
-    /*color:"SKIN(268458534 13056 19)";*/
-}
-
-box#NT_CUGMCN_landscape
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ_landscape
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz_landscape
-{
-    display: none;
-}
-
-title#title_sat_landscape
-{
-   display: none;
-}
-
-image#SatIdleModeIcon_portrait
-{
-    display: none;
-}
-
-image#SatIdleModeIcon_landscape
-{
-    display: none;
-}
-
-/************
-Page switcher
-*************
-box#switcher{
-    display: block;
-    visibility: visible;
-    block-progression: rl;
-    direction: ltr;
-    height: 4.5u;
-    background-color: "SKIN(268458534 9906)";
-    background-size: 100%;		
-    margin-top: 0.55u;
-}
-
-box#switcher:focus {
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-text#switchertext
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: 3.5u;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color:"SKIN(268458534 13056 19)";
-    color: white;
-    padding-top: 0.5u;
-    padding-bottom: 0.5u;
-}
-
-image#switcherimage
-{
-    position: static;
-    height: 3.5u;
-    width: 3.5u;
-    margin-top: 0.5u;
-    margin-left: 2u;
-}
-*/
-
-menuitem#webonlineitem
-{
-   display: block;
-}
-
-menuitem#webonlineitem:edit
-{
-   display: none;
-}
-
-menuitem#webofflineitem
-{
-   display: block;
-}
-
-menuitem#webofflineitem:edit
-{
-   display: none;
-}
-
-box#main_plugins{
-    block-progression: tb;
-    display: block;
-    visibility: visible;
-    padding-left: 1.7u;
-    padding-right: 1.7u;
-}
-
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/57/view.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,543 +0,0 @@
-view {
-    display: block; 
-    position: static;
-    width: 100%;
-    height: 100%;
-    direction: rtl;
-    block-progression: tb;
-    background-image: wallpaper;
-    nav-index: appearance;
-    _s60-focus-visibility: true;
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-
-}
-
-trigger.western{
-    display: none;
-}
-
-
-/** Softkeys **/
-softkey.normal_mode_sk
-{
-    display: block;
-}
-
-softkey.normal_mode_sk:edit
-{
-    display: none;
-}
-
-softkey.edit_mode_sk
-{
-    display: none;
-}
-
-softkey.edit_mode_sk:edit
-{
-    display: block;
-}
-
-/** General **/
-
-plugin.widget_full_width{
-    /* every plug-in decides its own height */
-    height: adaptive;
-    background-color: "SKIN(268458534 9906)";
-    background-size: 100%;
-    width: 100%;
-/*    padding-left: 1.7u;
-    padding-right: 1.7u;*/
-    margin-bottom: 0.55u;
-    nav-index: auto;
-}
-
-plugin.widget_full_width:focus {
-    focus-background:"SKIN(268458534 9896)";
-}
-
-plugin:edit {
-    background-color:"SKIN(270501603 8582)";
-}
-
-text{
-    text-align: center;
-    font-family: tahoma;
-    font-size: 3.0u;
-    /*color:"SKIN(268458534 13056 19)";*/
-    color: white;
-}
-
-/************
-Page switcher
-*************
-					
-text#switchertext{
-	position: static;
-	text-align: right;
-	margin-left: 6.0u;
-}
-
-image#switcherimage{
-	position: absolute;
-   	top: 1.4u;
-    	left: 2.5u;
-	height: 3.5u;
-	width: 3.0u;
-	_s60-aspect-ratio: preserve;
-}
-*/
-
-
-/****************** 
-container areas 
-******************/
-box#mainbox{
-    width: 100%;
-    height: 100%;
-}
-
-box.profile_date
-{
-    background-color: "SKIN(268458534 9916)";
-    nav-index: appearance;
-    height: auto;
-}
-
-box.profile_date:focus
-{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-
-/********************************************* 
-Clock Profiles - portrait specific containers 
-**********************************************/
-
-box#clock_profiles_portrait{
-    display: block;
-    visibility: visible;
-    direction: rtl;
-    block-progression: rl;
-    padding-left: 1.7u;
-    padding-right: 1.7u;
-    margin-bottom: 0.55u;
-    height:13.86u;
-    visualisationaware:true;
-}
-
-box#profiles_pages_portrait{
-    block-progression: tb;
-    direction: rtl;
-    height: adaptive;
-}
-
-box#clock_container_portrait{
-    display: block;
-    visibility: visible;
-    position: static;    
-    nav-index: appearance;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-
-    margin-left: 0.7u;
-    visualisationaware:true;
-    _s60-initial-focus: 1;
-}
-
-box#clock_container_portrait:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-clock#clock_portrait{
-    display: block;
-    visibility: visible;
-    position: static;     
-    width: auto;
-    /*height: 70%;*/
-    height: auto;
-    direction: rtl;
-    block-progression: tb;        
-    background: none;
-    nav-index: appearance;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: white;	
-}
-
-box#date_container_portrait
-{
-    width: auto;
-    direction: rtl;
-    block-progression: rl;
-    height: 4.05u;
-    margin-bottom: 0.55u;
-    padding-top: 3px;
-    visualisationaware:true;
-}
-
-box#date_content_portrait
-{
-    width: adaptive;
-    height: adaptive;
-}
-
-text#datetext2_portrait
-{
-    text-align: center;
-    width: auto;
-    height: auto;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-
-box#profile_softindicator_portrait
-{
-    width: auto;
-    direction: rtl;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    nav-index: appearance;
-    height: 9.0u;
-    visualisationaware:true;
-}
-
-box#NT_CUGMCN_portrait
-{
-    text-align: center;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-
-box#NT_SATVHZ_portrait
-{
-    display: none;
-    text-align: center;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz_portrait
-{
-    display: none;
-}
-
-title#title_sat_portrait
-{
-    display: none;
-}
-
-/********************************************* 
-Clock Profiles - landscape specific containers 
-**********************************************/
-
-box#clock_profiles_landscape{
-    display: block;
-    visibility: visible;
-    direction: rtl;
-    block-progression: tb;
-    width: 30%;
-    height: 100%;
-    padding-left: 5px;
-    padding-top: 5px;
-    visualisationaware:true;
-}
-
-box#profiles_pages_landscape{
-    block-progression: tb;
-    direction: rtl;
-    height: adaptive;
-}
-
-box#clock_container_landscape{
-    
-    display: block;
-    visibility: visible;
-    position: static;    
-    nav-index: appearance;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    height: 10.74u;
-    width: auto;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-    _s60-initial-focus: 2;
-}
-
-box#clock_container_landscape:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box#date_container_landscape
-{
-    width: auto;
-    direction: rtl;
-    block-progression: rl;
-    height: 6.7u;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-}
-
-box#profile_softindicator_landscape
-{
-    width: auto;
-    direction: rtl;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    nav-index: appearance;
-    height: 6.7u;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-}
-
-clock#clock_landscape{
-    display: block;
-    visibility: visible;
-    position: static;     
-    width: 100%;
-    height: auto;
-    direction: rtl;
-    block-progression: tb;        
-    background: none;
-    nav-index: appearance;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: white;	
-}
-
-clock:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-/* Date in the clock widget */
-text#datetext{
-    nav-index: appearance;
-    text-align: center;
-    padding-top: 0.5u;
-    padding-bottom: 0.5u;
-    width: 100%;
-    height: 24%;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-/* Date in the clock widget */
-text#datetext:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-/* Date in separate widget above profiles */
-
-box#date_content_landscape
-{
-    width: inherit;
-    height: inherit;
-}
-
-text#datetext2_landscape
-{
-    text-align: center;
-    width: auto;
-    height: auto;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-
-box#profile_softindicator:focus
-{
-    focus-background:"SKIN(268458534 5120 9)";
-}
-
-image#profileicon {
-    display: block;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-    z-index: 2;
-}
-
-image#SatIdleModeIcon
-{
-    display: block;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-text#profiletext
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color:"SKIN(268458534 13056 19)";
-}
-
-/* Profiles dialog */
-listquerydialog#profiledialog
-{
-    /* Avkon dialog is not layout capable */
-    display: none;    
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-
-newsticker.SIText {
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    white-space-collapse: collapse;
-    _s60-scroll-behaviour: alternate;
-    /*_s60-scroll-behaviour: scroll;*/
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-    color: white;
-    /*color:"SKIN(268458534 13056 19)";*/
-}
-
-box#NT_CUGMCN_landscape
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ_landscape
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz_landscape
-{
-    display: none;
-}
-
-title#title_sat_landscape
-{
-   display: none;
-}
-
-image#SatIdleModeIcon_portrait
-{
-    display: none;
-}
-
-image#SatIdleModeIcon_landscape
-{
-    display: none;
-}
-
-/************
-Page switcher
-*************
-box#switcher{
-    display: block;
-    visibility: visible;
-    block-progression: rl;
-    direction: ltr;
-    height: 4.5u;
-    background-color: "SKIN(268458534 9906)";
-    background-size: 100%;		
-    margin-top: 0.55u;
-}
-
-box#switcher:focus {
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-text#switchertext
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: 3.5u;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color:"SKIN(268458534 13056 19)";
-    color: white;
-    padding-top: 0.5u;
-    padding-bottom: 0.5u;
-}
-
-image#switcherimage
-{
-    position: static;
-    height: 3.5u;
-    width: 3.5u;
-    margin-top: 0.5u;
-    margin-left: 2u;
-}
-*/
-
-menuitem#webonlineitem
-{
-   display: block;
-}
-
-menuitem#webonlineitem:edit
-{
-   display: none;
-}
-
-menuitem#webofflineitem
-{
-   display: block;
-}
-
-menuitem#webofflineitem:edit
-{
-   display: none;
-}
-
-box#main_plugins{
-    block-progression: tb;
-    display: block;
-    visibility: visible;
-    padding-left: 1.7u;
-    padding-right: 1.7u;
-}
-
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/94/view.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,543 +0,0 @@
-view {
-    display: block; 
-    position: static;
-    width: 100%;
-    height: 100%;
-    direction: rtl;
-    block-progression: tb;
-    background-image: wallpaper;
-    nav-index: appearance;
-    _s60-focus-visibility: true;
-    _s60-status-pane-layout: widescreen-flat-3softkeys;
-
-}
-
-trigger.western{
-    display: none;
-}
-
-
-/** Softkeys **/
-softkey.normal_mode_sk
-{
-    display: block;
-}
-
-softkey.normal_mode_sk:edit
-{
-    display: none;
-}
-
-softkey.edit_mode_sk
-{
-    display: none;
-}
-
-softkey.edit_mode_sk:edit
-{
-    display: block;
-}
-
-/** General **/
-
-plugin.widget_full_width{
-    /* every plug-in decides its own height */
-    height: adaptive;
-    background-color: "SKIN(268458534 9906)";
-    background-size: 100%;
-    width: 100%;
-/*    padding-left: 1.7u;
-    padding-right: 1.7u;*/
-    margin-bottom: 0.55u;
-    nav-index: auto;
-}
-
-plugin.widget_full_width:focus {
-    focus-background:"SKIN(268458534 9896)";
-}
-
-plugin:edit {
-    background-color:"SKIN(270501603 8582)";
-}
-
-text{
-    text-align: center;
-    font-family: tahoma;
-    font-size: 3.0u;
-    /*color:"SKIN(268458534 13056 19)";*/
-    color: white;
-}
-
-/************
-Page switcher
-*************
-					
-text#switchertext{
-	position: static;
-	text-align: right;
-	margin-left: 6.0u;
-}
-
-image#switcherimage{
-	position: absolute;
-   	top: 1.4u;
-    	left: 2.5u;
-	height: 3.5u;
-	width: 3.0u;
-	_s60-aspect-ratio: preserve;
-}
-*/
-
-
-/****************** 
-container areas 
-******************/
-box#mainbox{
-    width: 100%;
-    height: 100%;
-}
-
-box.profile_date
-{
-    background-color: "SKIN(268458534 9916)";
-    nav-index: appearance;
-    height: auto;
-}
-
-box.profile_date:focus
-{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-
-/********************************************* 
-Clock Profiles - portrait specific containers 
-**********************************************/
-
-box#clock_profiles_portrait{
-    display: block;
-    visibility: visible;
-    direction: rtl;
-    block-progression: rl;
-    padding-left: 1.7u;
-    padding-right: 1.7u;
-    margin-bottom: 0.55u;
-    height:13.86u;
-    visualisationaware:true;
-}
-
-box#profiles_pages_portrait{
-    block-progression: tb;
-    direction: rtl;
-    height: adaptive;
-}
-
-box#clock_container_portrait{
-    display: block;
-    visibility: visible;
-    position: static;    
-    nav-index: appearance;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-
-    margin-left: 0.7u;
-    visualisationaware:true;
-    _s60-initial-focus: 1;
-}
-
-box#clock_container_portrait:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-clock#clock_portrait{
-    display: block;
-    visibility: visible;
-    position: static;     
-    width: auto;
-    /*height: 70%;*/
-    height: auto;
-    direction: rtl;
-    block-progression: tb;        
-    background: none;
-    nav-index: appearance;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: white;	
-}
-
-box#date_container_portrait
-{
-    width: auto;
-    direction: rtl;
-    block-progression: rl;
-    height: 4.05u;
-    margin-bottom: 0.55u;
-    padding-top: 3px;
-    visualisationaware:true;
-}
-
-box#date_content_portrait
-{
-    width: adaptive;
-    height: adaptive;
-}
-
-text#datetext2_portrait
-{
-    text-align: center;
-    width: auto;
-    height: auto;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-
-box#profile_softindicator_portrait
-{
-    width: auto;
-    direction: rtl;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    nav-index: appearance;
-    height: 9.0u;
-    visualisationaware:true;
-}
-
-box#NT_CUGMCN_portrait
-{
-    text-align: center;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-
-box#NT_SATVHZ_portrait
-{
-    display: none;
-    text-align: center;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz_portrait
-{
-    display: none;
-}
-
-title#title_sat_portrait
-{
-    display: none;
-}
-
-/********************************************* 
-Clock Profiles - landscape specific containers 
-**********************************************/
-
-box#clock_profiles_landscape{
-    display: block;
-    visibility: visible;
-    direction: rtl;
-    block-progression: tb;
-    width: 30%;
-    height: 100%;
-    padding-left: 5px;
-    padding-top: 5px;
-    visualisationaware:true;
-}
-
-box#profiles_pages_landscape{
-    block-progression: tb;
-    direction: rtl;
-    height: adaptive;
-}
-
-box#clock_container_landscape{
-    
-    display: block;
-    visibility: visible;
-    position: static;    
-    nav-index: appearance;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    height: 10.74u;
-    width: auto;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-    _s60-initial-focus: 2;
-}
-
-box#clock_container_landscape:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box#date_container_landscape
-{
-    width: auto;
-    direction: rtl;
-    block-progression: rl;
-    height: 6.7u;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-}
-
-box#profile_softindicator_landscape
-{
-    width: auto;
-    direction: rtl;
-    block-progression: tb;
-    background-color: "SKIN(268458534 9906)";
-    nav-index: appearance;
-    height: 6.7u;
-    margin-bottom: 0.55u;
-    visualisationaware:true;
-}
-
-clock#clock_landscape{
-    display: block;
-    visibility: visible;
-    position: static;     
-    width: 100%;
-    height: auto;
-    direction: rtl;
-    block-progression: tb;        
-    background: none;
-    nav-index: appearance;
-    _s60-format: locale;
-    _s60-ampm-font-size: 16px;
-    _s60-digital-font-size: 56px;
-    color: white;	
-}
-
-clock:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-/* Date in the clock widget */
-text#datetext{
-    nav-index: appearance;
-    text-align: center;
-    padding-top: 0.5u;
-    padding-bottom: 0.5u;
-    width: 100%;
-    height: 24%;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-/* Date in the clock widget */
-text#datetext:focus{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-/* Date in separate widget above profiles */
-
-box#date_content_landscape
-{
-    width: inherit;
-    height: inherit;
-}
-
-text#datetext2_landscape
-{
-    text-align: center;
-    width: auto;
-    height: auto;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color: white;
-}
-
-box#profile_softindicator:focus
-{
-    focus-background:"SKIN(268458534 5120 9)";
-}
-
-image#profileicon {
-    display: block;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-    z-index: 2;
-}
-
-image#SatIdleModeIcon
-{
-    display: block;
-    visibility: hidden;
-    width: 18px;
-    height: 20px;
-    position: static;
-    margin-top: auto;
-}
-
-text#profiletext
-{
-    text-align: center;
-    margin-left: 2px;
-    margin-right: 2px;
-    width: adaptive;
-    height: adaptive;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color:"SKIN(268458534 13056 19)";
-}
-
-/* Profiles dialog */
-listquerydialog#profiledialog
-{
-    /* Avkon dialog is not layout capable */
-    display: none;    
-}
-
-/* Default system profiles */
-text.systemprofileitem
-{
-    display: block;
-}
-
-/* Placeholders for profiles added by user */
-text.userprofileitem
-{
-    display: none;
-}
-
-/******************
-    SOFT INDICATOR WIDGET AREA 
-*******************/
-
-newsticker.SIText {
-    text-align: center;
-    display: block;
-    visibility: visible;
-    width: auto;
-    margin-left: 2px;
-    margin-right: 2px;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    white-space-collapse: collapse;
-    _s60-scroll-behaviour: alternate;
-    /*_s60-scroll-behaviour: scroll;*/
-    _s60-display-time: 2000;
-    _s60-scroll-loop: false;
-    _s60-start-delay: 0;
-    _s60-restart-after-update: true;
-    color: white;
-    /*color:"SKIN(268458534 13056 19)";*/
-}
-
-box#NT_CUGMCN_landscape
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-box#NT_SATVHZ_landscape
-{
-    display: none;
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: auto;
-    block-progression: rl;
-}
-
-title#title_vhz_landscape
-{
-    display: none;
-}
-
-title#title_sat_landscape
-{
-   display: none;
-}
-
-image#SatIdleModeIcon_portrait
-{
-    display: none;
-}
-
-image#SatIdleModeIcon_landscape
-{
-    display: none;
-}
-
-/************
-Page switcher
-*************
-box#switcher{
-    display: block;
-    visibility: visible;
-    block-progression: rl;
-    direction: ltr;
-    height: 4.5u;
-    background-color: "SKIN(268458534 9906)";
-    background-size: 100%;		
-    margin-top: 0.55u;
-}
-
-box#switcher:focus {
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-text#switchertext
-{
-    text-align: center;
-    margin-left: auto;
-    margin-right: auto;
-    width: adaptive;
-    height: 3.5u;
-    font-family: EAknLogicalFontPrimaryFont;
-    font-size: 3u;
-    color:"SKIN(268458534 13056 19)";
-    color: white;
-    padding-top: 0.5u;
-    padding-bottom: 0.5u;
-}
-
-image#switcherimage
-{
-    position: static;
-    height: 3.5u;
-    width: 3.5u;
-    margin-top: 0.5u;
-    margin-left: 2u;
-}
-*/
-
-menuitem#webonlineitem
-{
-   display: block;
-}
-
-menuitem#webonlineitem:edit
-{
-   display: none;
-}
-
-menuitem#webofflineitem
-{
-   display: block;
-}
-
-menuitem#webofflineitem:edit
-{
-   display: none;
-}
-
-box#main_plugins{
-    block-progression: tb;
-    display: block;
-    visibility: visible;
-    padding-left: 1.7u;
-    padding-right: 1.7u;
-}
-
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/z/resource/homescreen/wideimage_10009dff/hsps/manifest.dat
-../hsps/00/widgetconfiguration.xml /epoc32/data/z/resource/homescreen/wideimage_10009dff/hsps/widgetconfiguration.xml
-
-../xuikon/00/wideimage.dat /epoc32/data/z/resource/homescreen/wideimage_10009dff/xuikon/wideimage_10009dff.dat
-../xuikon/00/wideimage.css /epoc32/data/z/resource/homescreen/wideimage_10009dff/xuikon/wideimage.css
-../xuikon/00/wideimage.xml /epoc32/data/z/resource/homescreen/wideimage_10009dff/xuikon/wideimage.xml
-../xuikon/00/wideimage.dtd /epoc32/data/z/resource/homescreen/wideimage_10009dff/xuikon/wideimage.dtd
-
-// Support for S60 builds
-//***********************
-../rom/wideimage_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wideimage_10009dff_resources.iby)
-../rom/wideimage_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(wideimage_10009dff_customer.iby)
-../rom/wideimage_variant.iby CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(wideimage_10009dff_variant.iby)
-../rom/wideimage.iby CORE_APP_LAYER_IBY_EXPORT_PATH(wideimage_10009dff.iby)
-
-// Support for S60 localization
-//*****************************
-#ifndef __WIDEIMAGE_LOC__
-#define __WIDEIMAGE_LOC__
-../loc/wideimage.loc APP_LAYER_LOC_EXPORT_PATH(wideimage.loc)
-#endif // __WIDEIMAGE_LOC__
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME wideimage_10009dff
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
-
-
-
-
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/hsps/00/manifest.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<package version="1.0">
-
-    <family>vga_tch</family>
-  
-    <type>template</type>
-
-    <!-- interface uid -->
-    <interfaceuid>0x2001f48a</interfaceuid>
-
-    <!-- vendor uid  -->
-    <provideruid>0x101fb657</provideruid>
-
-    <!-- uid -->
-    <configurationuid>0x10009dff</configurationuid>
-
-    <!-- description -->
-    <fullname>wideimage</fullname>
-    <shortname>wide</shortname>
-    <version>1.0</version>
-
-    <!-- configuration -->
-    <filexml>widgetconfiguration.xml</filexml>
-
-    <!-- Locale specific resources -->
-    <localization>
-        <fileresource>wideimage.o0000</fileresource>
-    </localization>
-
-</package>
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/hsps/00/widgetconfiguration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<configuration>
-    <control>
-        <settings>
-          <item id="wideimage_widget" name="ContentSource" >
-            <property  name="name" value=""/>
-          </item>
-
-          <item id="pub_id" name="publisher">
-            <property  name="value" value=""/> <!--Def value "Test_Publisher"-->
-          </item>
-          
-          <item id="prop1" name="contentdata"  >
-            <property  name="class" value="image1"/>  <!-- Template designer choice -->
-          </item>
-              
-          <!-- Template designer choice -->
-          <item id="p_trigger" name="pubtrigger" >   
-            <property  name="name" value="selected"/> 
-          </item>
-          
-          
-        </settings>
-    </control>
-</configuration>
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/loc/wideimage.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for WideImage widget (Xuikon)
-*
-*/
-
-// d: Loading content
-// l: ai_gene_pane_1_t1/opt4
-// w: 
-// r: TB9.2
-#define qtn_ai_loading_content  "Loading content..."
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/rom/wideimage.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's WideImage widget 
-*
-*/
-
-
-#ifndef __WIDEIMAGE_10009DFF_IBY__
-#define __WIDEIMAGE_10009DFF_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\wideimage_10009dff\hsps\00\manifest.dat \private\200159c0\install\wideimage_10009dff\hsps\00\manifest.dat
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __WIDEIMAGE_10009DFF_IBY__
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/rom/wideimage_customer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  WideImage widget HSPS-plugin language specific IBY file.
-*
-*/
-
-
-#ifndef __WIDEIMAGE_10009DFF_CUSTOMER_IBY__
-#define __WIDEIMAGE_10009DFF_CUSTOMER_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wideimage_10009dff\xuikon\00\wideimage.o0000 \private\200159c0\install\wideimage_10009dff\xuikon\00\wideimage.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __WIDEIMAGE_10009DFF_CUSTOMER_IBY__
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/rom/wideimage_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  IBY file for Homescreen's widgetimage_10009dff.
-*
-*/
-
-#ifndef __WIDEIMAGE_10009DFF_RESOURCES_IBY__
-#define __WIDEIMAGE_10009DFF_RESOURCES_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wideimage_10009dff\xuikon\00\wideimage.o0000 \private\200159c0\install\wideimage_10009dff\xuikon\00\wideimage.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif // __WIDEIMAGE_10009DFF_RESOURCES_IBY__
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/rom/wideimage_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  WideImage widget HSPS-plugin variant specific IBY file.
-*
-*/
-
-
-#ifndef __WIDEIMAGE_10009DFF_VARIANT_IBY__
-#define __WIDEIMAGE_10009DFF_VARIANT_IBY__
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\wideimage_10009dff\hsps\00\widgetconfiguration.xml \private\200159c0\install\wideimage_10009dff\hsps\00\widgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3) || defined (FF_LAYOUT_480_640_TOUCH_VGA4) || defined (FF_LAYOUT_640_480_TOUCH_VGA4)
-
-#endif  // __WIDEIMAGE_10009DFF_VARIANT_IBY__
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/xuikon/00/wideimage.css	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-widget{
-    width:auto;
-    height:60px;
-    }
-
-box#image_container:focus {
-    background-image: "SKIN(268458534 24576)";
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box#image_container:hold
-{
-    background-color: "SKIN(268458534 5120 9)";
-}
-
-box#image_container
-{
-    padding-top   : 2px;
-    padding-bottom: 2px;
-    padding-left  : 10px;
-    padding-right : 10px;
-    direction: ltr;
-    nav-index:appearance;
-}
-
-image#wide_image
-{
-    display: none;
-    width:auto;
-    height:auto;
-    /*_s60-aspect-ratio:preserve;*/
-}
-
-text#wide_text
-{
-    display: block;
-    width:auto;
-    height:auto;
-    padding-left: 5px;
-    font-family: EAknLogicalFontSecondaryFont;
-	  font-size:18px;
-    color:white;
-}
-
-
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/xuikon/00/wideimage.dat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<data>
-    <AppUid>2001CB4F</AppUid>
-    <Provideruid>101FB657</Provideruid>
-    <ThemeUid>110012F5</ThemeUid>
-    <ThemeFullName>wideimage</ThemeFullName>
-    <ThemeShortName>wideimage</ThemeShortName>
-    <ThemeVersion>1.0</ThemeVersion>
-    <FileXML>wideimage.xml</FileXML>
-    <FileCSS>wideimage.css</FileCSS>
-    <FileDTD>wideimage.dtd</FileDTD>
-</data>
\ No newline at end of file
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/xuikon/00/wideimage.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "wideimage.dtd">
-<PartOf  : "AI3">
-
-<FileDescription: "Localization strings for AI3">
-<FileVersion    : >
-
-<Copyright:
-"Copyright  2005 Nokia Corporation.
-This material, including documentation and any related
-computer programs, is protected by copyright controlled by
-Nokia Corporation. All rights are reserved. Copying,
-including reproducing, storing,  adapting or translating, any
-or all of this material requires the prior written consent of
-Nokia Corporation. This material also contains confidential
-information which may not be disclosed to others without the
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-
-<!--
-qtn_ai_loading_content.attributes
-qtn_ai_loading_content.layout "ai_gene_pane_1_t1/opt4"
-qtn_ai_loading_content.release "5.0"
-qtn_ai_loading_content.description "Shows information text for slow loading widgets"
-qtn_ai_loading_content.parents "ai_gene_pane_1"
--->
-<!ENTITY qtn_ai_loading_content  "Loading content...">
-
-
-
-
-
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/xuikon/00/wideimage.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xmluiml SYSTEM "wideimage.dtd">
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-    <widget>
-      <contentsource id="wideimage_widget" class="ContentSource" name="" value="0x20019594"/>
-        <configuration name="service" value="Service.ContentPublishing"/>
-        <configuration name="interface" value="IContentPublishing"/>
-        <configuration name="command" value="GetList"/>
-        <configuration id="pub_id" name="publisher" value=""/>
-
-      <box id="image_container" sizeaware="true" focusable="true" _s60-initial-focus="1">
-      <!-- Template designer choice -->
-        <actions>
-          <action>
-            <trigger name="stylus">
-              <property name="eventtype" value="downup" />
-            </trigger>
-            <trigger name="activate"/>
-            <trigger name="keyevent">
-                <property name="scancode" value="3"/>
-                <property name="eventtype" value="1"/>
-            </trigger>
-            <event id="p_trigger" name=""/>
-           </action>
-
-           <action>
-              <trigger name="sizechanged"/>
-              <event name="ui/setelementsizetocps(image_container)"/>
-            </action>
-        </actions>
-          <image id="wide_image">
-          <configuration name="content_type" value="row1"/>
-            <!-- Template designer choice -->
-            <property id="prop1" class=""/>
-            <property class="policy/emptyContent" name="wide_image" value="display: none;"/>
-            <property class="policy/Content" name="wide_image" value="display: block;"/>
-            <property class="policy/emptyContent" name="wide_text" value="display: block;"/>
-            <property class="policy/Content" name="wide_text" value="display: none;"/>
-          </image>
-          <text id="wide_text">&qtn_ai_loading_content;</text>
-        </box>
-    </widget>
-</xmluiml>
Binary file idlehomescreen/exths/cenrep/keys_activeidle.xls has changed
Binary file idlehomescreen/exths/conf/activeidle.confml has changed
Binary file idlehomescreen/exths/conf/activeidle_10207467.crml has changed
--- a/idlehomescreen/exths/data/101fd657.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 8704 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Registery info for AI ShortcutPlugin
-*
-*/
-
-#include <ecom/registryinfo.rh>
-
-#include "extrstandbycontainerconst.h"
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = 0x101FD657;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = KExtrStandbyContainerIFUid;
-			implementations = 
-				{
-				// Info for Active Idle Plugin container
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x101FD658;
-					version_no         = 1;
-					display_name       = "";
-					default_data       = "";
-					opaque_data        = "";
-					}
-				};
-			}
-		};
-	}
-
--- a/idlehomescreen/exths/group/aicontainer.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +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 project specification file for the Active Idle.
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET      aicontainer.dll
-CAPABILITY  CAP_ECOM_PLUGIN
-TARGETTYPE  PLUGIN
-UID         0x10009D8D 0x101FD657
-VENDORID    VID_DEFAULT
-
-// Module's own directory structure
-USERINCLUDE     .
-USERINCLUDE     ../../inc
-USERINCLUDE     ../inc/plugincontainer
-USERINCLUDE     ../inc/pluginif
-USERINCLUDE     ../data
-
-APP_LAYER_SYSTEMINCLUDE
-
-
-// Symbian OS style base classes for application
-SOURCEPATH      ../src/plugincontainer
-
-SOURCE        caiplugincontainercontrol.cpp
-SOURCE        propertyobserver.cpp
-SOURCE        dllmain.cpp
-
-// Resources
-SOURCEPATH      ../data
-START RESOURCE  101fd657.rss
-TARGET      aicontainer.rsc
-END
-
-// Symbian OS general
-LIBRARY        euser.lib
-LIBRARY        cone.lib
-LIBRARY        bafl.lib
-LIBRARY        ecom.lib
-LIBRARY        ws32.lib
-LIBRARY        avkon.lib
-LIBRARY        aknskins.lib
-LIBRARY        commonengine.lib
-LIBRARY        eikcore.lib
-LIBRARY        cdlengine.lib
-
-
-// Central repository
-LIBRARY         centralrepository.lib
-LIBRARY         cenrepnotifhandler.lib
-
-//LIBRARY          aknskins.lib
-
-// End of File
--- a/idlehomescreen/exths/group/backup_registration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration>
-    <proxy_data_manager sid = "0x10202BE9" /> 
-    <restore requires_reboot = "no"/>
-</backup_registration>
-  
\ No newline at end of file
--- a/idlehomescreen/exths/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building the
-*                whole AI application.
-*
-*/
-
-#ifdef RD_CUSTOMIZABLE_AI
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../rom/aicontainer.iby CORE_APP_LAYER_IBY_EXPORT_PATH(aicontainer.iby)
-
-// Backup registration
-//backup_registration.xml  /epoc32/data/z/private/101fd657/backup_registration.xml
-//backup_registration.xml  /epoc32/release/winscw/udeb/z/private/101fd657/backup_registration.xml
-//backup_registration.xml  /epoc32/release/winscw/urel/z/private/101fd657/backup_registration.xml
-
-// Generic configuration interface for component cenrep settings
-../conf/activeidle.confml                  APP_LAYER_CONFML(activeidle.confml)
-../conf/activeidle_10207467.crml           APP_LAYER_CRML(activeidle_10207467.crml)
-
-PRJ_MMPFILES
-../group/aicontainer.mmp
-
-PRJ_TESTMMPFILES
-
-
-#endif // RD_CUSTOMIZABLE_AI
\ No newline at end of file
--- a/idlehomescreen/exths/inc/plugincontainer/aicontainer.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains declarations for resources of AIPlugins.
-*                The file can be included in C++ or resource file.
-*
-*/
-
-
-#ifndef AIPLUGINS_HRH
-#define AIPLUGINS_HRH
-
-
-#include    <bldvariant.hrh>
-
-//  Base index for Enumerates commands. See below.
-#define KAICmdBase 1000
-
-#define KActiveIdleContainerUid 0x101FD657
-
-// Enumerates commands
-enum
-    {
-    // Commands for idle state:
-    //        General left softkey action
-    EAISoftkeyLeft = 150 + KAICmdBase,
-    //        General right softkey action
-    EAISoftkeyRight,
-    //        General Scrollkey selection action
-    EAISelectionKey,
-    //        General left scrollkey action
-    EAIScrollkeyLeft,
-    //        General up scrollkey action
-    EAIScrollkeyUp,
-    //        General right scrollkey action
-    EAIScrollkeyRight,
-    //        General down scrollkey action
-    EAIScrollkeyDown,
-    //        Plugin focus moving up action
-    EAIFocusUp,
-    //        Plugin focus moving down action
-    EAIFocusDown,
-
-    // Other commands:
-    //        AI has entered security view
-    EAICmdSecurityInd = 500 + KAICmdBase // NOT to leave
-    };
-
-#endif
-
-// End of File
--- a/idlehomescreen/exths/inc/plugincontainer/aicontainerprivatecrkeys.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Definitions of private keys related to Active Idle container in CenRep
-*
-*/
-
-#ifndef AICONTAINERPRIVATECRKEYS_H
-#define AICONTAINERPRIVATECRKEYS_H
-
-#include <aicontainerdomaincrkeys.h>
-
-#endif
-
--- a/idlehomescreen/exths/inc/plugincontainer/caiplugincontainercontrol.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,341 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*       It is the control container for the AI plugins
-*
-*/
-
-
-#ifndef CAIPLUGINCONTROL_H
-#define CAIPLUGINCONTROL_H
-
-#include <e32base.h>
-#include <cenrepnotifyhandler.h>
-
-#include <babackup.h>
-
-#include "extrstandbycontainerif.h"
-
-#include "ExtrStandbyScr.h"
-
-#include "propertyobserver.h"
-
-enum TAIPluginAlignment
-    {
-    EAITop = 1,
-    EAIBottom
-    };
-
-// Background layers
-enum TIdleBgLayers
-    {
-    EAIBgLayerBackground     = 0,
-    EAIBgLayerWallpaper      = 1,
-    EAIBgLayersN             = 2
-    };
-
-enum TAIPluginState
-    {
-    EAIPluginOff = 0,
-    EAIPluginOn,
-    EAIPluginError
-    };
-
-// Structure containing plugin information
-struct TPluginInfo
-    {
-    CExtrStandbyScr*        iPlugin;
-    TBool                   iResizeable ;
-    TBool                   iOnScreen ;
-    TUid                    iPluginId;
-    TAIPluginAlignment      iAlignment;
-    TAIPluginState          iState;
-    TInt                    iWeight;
-    TInt32                  iCRKeyId;
-    };
-
-class CAknsLayeredBackgroundControlContext;
-
-// CLASS DECLARATION
-/**
-*  It is the control for the Active Idle.
-*
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAIPluginContainerControl) :
-    public CExtrStandbyContainerIF,
-    public MCoeControlObserver,
-    public MCenRepNotifyHandlerCallback,
-    public MPropertyChangeHandler
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aViewId View identifier.
-        * @param aContainer Container object.
-        * @return Pointer to the CAIPluginContainerControl object.
-        */
-        static CAIPluginContainerControl* NewL(CCoeControl *aContainer) ;
-        /**
-        * Destructor.
-        */
-        ~CAIPluginContainerControl();
-
-    public: // From CCoeControl
-
-        /**
-        * From CCoeControl, returns the amount of component controls.
-        * @return amount of component controls.
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl, returns a control by index.
-        * @param aIndex Index of the control.
-        * @return Control by index.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * From CCoeControl, informs that the size is changed to update the
-        * sizes of component controls appropriately.
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl, informs that the focus is changed
-        */
-        void FocusChanged(TDrawNow aDrawNow);
-
-        /**
-        * From CCoeControl, draws the contents of the view.
-        * @param aRect Area to be redrawn.
-        */
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * From CCoeControl, offers a key event to the view.
-        * @param  aKeyEvent Information about the key event.
-        * @param  aType Type of the event.
-        * @return Information which indicates whether the keypress
-        *           was processed or not.
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-
-        /**
-        * From CCoeControl : Notifier for resourse changing
-        * @param aType : Type of resource change
-        */
-        void HandleResourceChange( TInt aType );
-
-        /**
-        * From CCoeControl : Sets all the plugins dimmed. When dimmed the plugin must not draw anythings
-        * @param aDimmed
-        */
-        void SetDimmed(TBool aDimmed);
-
-
-        /**
-        * From CCoeControl
-        * @param TTypeUid aId
-        */
-        TTypeUid::Ptr CAIPluginContainerControl::MopSupplyObject(TTypeUid aId);
-
-    public: // from CExtrStandbyContainerIF
-
-        /**
-        * Start loading plugin
-        */
-        void StartL();
-        /**
-        * Sets mode for External Homescreen (Full screen or normal)
-        */
-        void SetFullScreenMode(TBool aFullScreenMode);
-
-    public: // from MCoeControlObserver
-
-        void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
-
-    public: // From PropertyObserver
-        /**
-         * Called when a backup or restore operation either starts or ends.
-         * @param aBackupOperationAttributes Operation attributes
-         */
-        void HandlePropertyChange(const TUid& aCategory, const TUint& aKey, const TInt& aValue);
-
-    protected:  // From MCenRepNotifyHandlerCallback
-
-        void HandleNotifyGeneric(TUint32 aId);
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CAIPluginContainerControl();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL(CCoeControl* aContainer);
-
-
-        /**
-        * change the plugin focus
-        */
-        void ChangeFocusPluginL( TInt aDirection );
-
-        /**
-        * focus on the default focusing plugin
-        */
-        void FocusOnDefaultFocusingPlugin(TDrawNow aDrawNow=ENoDrawNow);
-
-        /**
-        * Calculate the rect for each plugin and draw
-        */
-        void CalculateRectPlugins();
-
-        /**
-        * Handle the Top Plugin
-        */
-        void HandleTopPlugins(TInt& aTopPluginX, TInt& aBottomPluginX);
-
-        /**
-        * Handle the bottom Plugin
-        */
-        void HandleBottomPlugins(TInt& aTopPluginX, TInt& aBottomPluginX);
-
-        /**
-        * Calculate the rect for a plugin (top or bottom allignment)
-        */
-        void HandlePlugin(TInt aIndex,
-                          TAIPluginAlignment aAlign,
-                          TInt& aTopPluginX,
-                          TInt& aBottomPluginX);
-
-        /**
-        * Return the next visible plugin with content
-        */
-        TInt NextVisiblePlugin(TInt aStartIndex);
-
-        /**
-        * Return the previous visible plugin with content
-        */
-        TInt PreviousVisiblePlugin(TInt aStartIndex);
-
-        /**
-        * Return the index of the reduceable plugin with the lower weight
-        */
-        TInt FindReduceablePlugin(TInt aOverRunHeight, TInt aCurrentIndex);
-
-        /**
-        * Return the index of the plugin with the lower weight
-        */
-        TInt FindLowerWeightPlugin(TInt aCurrentIndex);
-
-        /**
-        * Reduce the plugin and move the others plugin till the current
-        */
-        void ReducePlugin(TInt aPluginToBeReducedIndex,TInt aCurrentIndex,TInt aReduceHeight);
-
-        /**
-        * Hide the plugin
-        */
-        void HidePlugin(TInt aPluginIndex);
-
-        /**
-        * Read Plugin Configuration
-        */
-        void ReadPluginsConfigurationsL();
-
-        /**
-        * Load all the plugins
-        */
-        void LoadPluginsL();
-
-        /**
-        * Load a specific plugin
-        */
-        void LoadPluginL(TInt aIndex);
-
-        /**
-        * Destroy all the plugins
-        */
-        void DestroyPlugins();
-
-        /**
-        * Resets plugin state to default one
-        */
-        void ResetToDefault( TPluginInfo& aPluginInfo );
-
-        /*
-        * Checks in which mode AI1 will be executed
-        * fullscreen or normal
-        * @since S60 3.2
-        * @return TBool
-        */
-        TBool IsInFullScreenModeL();
-
-        /*
-        * updates background bitmap
-        * @since S60 3.2
-        * @return void
-        */
-        void UpdateBackgroundL();
-
-    private:    // Data
-
-        // Current plugin Index
-        TInt            iIndexPlugin;
-
-        // Default focusing plugin Index
-        TInt            iIndexDefaultFocusingPlugin;
-
-        // Contains array of plugin loaded.
-        RPointerArray<TPluginInfo> iPlugins;
-
-        // Current plugin info
-        TPluginInfo*    iCurrentPlugin ;
-
-        // Container
-        CCoeControl*    iContainer; //not own
-
-        //Flag for a status change notification.
-        // This flag is used only if the notification come when the component is dimmed
-        TBool           iContentStatusChangedNotification ;
-
-        // Previous rect of the AI container
-        TRect           iPrevRect;
-
-        CRepository*            iAIRepository;
-        CCenRepNotifyHandler*   iNotifyHandler;
-
-        // ?one_line_short_description_of_data
-        CPropertyObserver* iBackupObserver;
-
-        // Background context.
-        CAknsLayeredBackgroundControlContext* iBgContext;
-
-        // Current AI mode, fullscreen - ETrue / normal - EFalse
-        TBool iIsFullScreenMode;
-
-        // Flag for checking if FW already started
-        TBool iStarted;
-   };
-
-#endif      // CAIPLUGINCONTROL_H
-
-// End of File
--- a/idlehomescreen/exths/inc/plugincontainer/propertyobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
- *
-*/
-
-
-#ifndef CPROPERTYOBSERVER_H
-#define CPROPERTYOBSERVER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <e32property.h>
-
-// CLASS DECLARATION
-
-/**
- * MPropertyChangeHandler.
- * Abstract interface for handling property change events.
- **/
-NONSHARABLE_CLASS( MPropertyChangeHandler )
-{
- public:
-    /**
-     * This is a callback function which is called when a property is changed.
-     *
-     * @param aCategory  UID of the category.
-     * @param aKey       changed key
-     * @param aValue     the new value
-     *
-     * Note! references aKey and aValue are only valid while executing
-     * HandlePropertyChange(). After that the data in which they refer can change.
-     **/
-    virtual void HandlePropertyChange(const TUid& aCategory,
-                                      const TUint& aKey,
-                                      const TInt& aValue) = 0;
-};
-
-
-// CLASS DECLARATION
-
-/**
- * ?one_line_short_description.
- * ?other_description_lines
- *
- * @lib ?
- * @since Series 60 3.0
- **/
-NONSHARABLE_CLASS(CPropertyObserver) : public CActive
-{
- public:  // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     * @since Series 60 3.0
-     * @param MPropertyChangeHandler aHandler
-     * @param aCategory
-     * @param aKey
-     **/
-    static CPropertyObserver* NewL(MPropertyChangeHandler& aHandler,
-                                   const TUid& aCategory,
-                                   const TUint& aKey);
-
-    /**
-     * Destructor.
-     **/
-    ~CPropertyObserver();
-
- private:
-    /**
-     * C++ default constructor overload.
-     **/
-    CPropertyObserver(MPropertyChangeHandler& aHandler,
-                      const TUid& aCategory,
-                      const TUint& aKey);
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     **/
-    void ConstructL();
-
- protected:  // Functions from base classes
-    /**
-     * From CActive
-     **/
-    void RunL();
-
-    /**
-     * From CActive
-     **/
-    void DoCancel();
-
- private:  // New functions
-    /**
-     * @since Series 60 3.0
-     **/
-    void Subscribe();
-
-    /**
-     * @since Series 60 3.0
-     **/
-    void NotifyCurrentValue();
-
- private:  // Data
-    // Owns
-    RProperty iProperty;
-
-    // Observed PubSub category
-    const TUid iCategory;
-
-    // Observed key
-    const TUint iKey;
-
-    // Refs. Interface towards observants
-    MPropertyChangeHandler& iHandler;
-
-};
-
-
-#endif  // CPROPERTYOBSERVER_H
-
-
-// End of File
--- a/idlehomescreen/exths/inc/pluginif/extrstandbyscrutil.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Define the Util API for a external standby screen
-*
-*/
-
-
-
-// INCLUDES
-#include <aknlayout.cdl.h>
-#include <skinlayout.cdl.h>
-
-// -----------------------------------------------------------------------------
-// CExtrStandbyScr::Draw
-// -----------------------------------------------------------------------------
-//
-inline void CExtrStandbyScr::Draw(const TRect& /*aRect*/) const
-     {
-     if (IsDimmed())
-        {
-        return ;
-        }
-
-    TRect rect( Rect() );
-
-    CWindowGc& gc = SystemGc();
-
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    MAknsSkinInstance* aknsInst = AknsUtils::SkinInstance();
-
-    // draw(clear) background
-    //AknsDrawUtils::Background( aknsInst, cc, gc, rect );
-    // Draw background starting from correct offset. May cause flicker if derived class
-    // has not registered control position with AknsUtils::RegisterControlPosition
-    AknsDrawUtils::Background( aknsInst, cc, this, gc, rect );
-
-    if( IsFocused() )
-        {
-        // draw highlight
-        TAknLayoutRect highlightParentRect;
-        highlightParentRect.LayoutRect( rect,
-                                        AknLayout::Highlight_for_other_Active_Idle_items_Line_1( rect ) );
-
-        TAknLayoutRect highlightRectCenter;
-        highlightRectCenter.LayoutRect( highlightParentRect.Rect(),
-                                        SkinLayout::List_highlight_skin_placing__general__Line_1( highlightParentRect.Rect() ) );
-
-        TAknLayoutRect highlightRectTl;
-        highlightRectTl.LayoutRect( highlightParentRect.Rect(),
-                                    SkinLayout::List_highlight_skin_placing__general__Line_2() );
-
-        TAknLayoutRect highlightRectBr;
-        highlightRectBr.LayoutRect( highlightParentRect.Rect(),
-                                    SkinLayout::List_highlight_skin_placing__general__Line_5() );
-
-        TRect highlightRect( highlightRectTl.Rect().iTl, highlightRectBr.Rect().iBr );
-
-        if( !AknsDrawUtils::DrawFrame( aknsInst,
-                                       gc,
-                                       highlightRect,
-                                       highlightRectCenter.Rect(),
-                                       KAknsIIDQsnFrList,
-                                       KAknsIIDQsnFrListCenter ) )
-            {
-            // no skin - draw normal list pane highlight
-            TAknLayoutRect highlighRect;
-
-            // shadow
-            highlighRect.LayoutRect( highlightParentRect.Rect(),
-                                     AknLayout::List_pane_highlight_graphics__various__Line_1( highlightParentRect.Rect() ) );
-            highlighRect.DrawRect( gc );
-
-            // highlight
-            highlighRect.LayoutRect( highlightParentRect.Rect(),
-                                     AknLayout::List_pane_highlight_graphics__various__Line_2( highlightParentRect.Rect() ) );
-            highlighRect.DrawRect( gc );
-            }
-        }
-
-    TAknLayoutRect separatorRect;
-    separatorRect.LayoutRect( rect, AknLayout::First_general_event_elements_Line_1() );
-
-    TRgb lineColour( separatorRect.Color() );
-
-    AknsUtils::GetCachedColor( aknsInst,
-                               lineColour,
-                               KAknsIIDQsnLineColors,
-                               EAknsCIQsnLineColorsCG6 /* column separator lines */ );
-
-    gc.SetPenColor( lineColour );
-    gc.SetPenStyle( CWindowGc::ESolidPen );
-
-    TInt separatorWidth( separatorRect.Rect().Width() -1 );
-    TPoint dot( separatorRect.Rect().iTl );
-
-    for( ; dot.iX < separatorWidth; dot.iX+=2 )
-        {
-        // draw the dots
-        gc.Plot( dot );
-        }
-    }
--- a/idlehomescreen/exths/rom/aicontainer.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file for plugintest
-*
-*/
-
-
-#ifndef AICONTAINER_IBY
-#define AICONTAINER_IBY
-
-#include <bldvariant.hrh>
-
-#ifdef RD_CUSTOMIZABLE_AI
-ECOM_PLUGIN(aicontainer.dll,101FD657.rsc)
-data=ZPRIVATE\101FD657\backup_registration.xml	private\101FD657\backup_registration.xml
-#endif // RD_CUSTOMIZABLE_AI
-
-#endif // AIPLUGINTEST_IBY
-
-//  End of File  
--- a/idlehomescreen/exths/src/plugincontainer/caiplugincontainercontrol.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1114 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*       It is the control container for the AI plugins
-*
-*/
-
-
-// INCLUDE FILES
-#include <bldvariant.hrh> //feature flags
-#include <barsread.h>
-#include <coecntrl.h>
-#include <e32std.h>
-#include <bautils.h>
-#include <e32property.h>
-#include <connect/sbdefs.h> // pub&sub keys and categories for backup and restore
-#include <aknappui.h>
-#include <AknsDrawUtils.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <layoutmetadata.cdl.h>
-#include <AknUtils.h>
-#include <data_caging_path_literals.hrh>
-#include <centralrepository.h>
-#include <AIContainerDomainCRKeys.h>
-#include <activeidle2domainpskeys.h>
-#include "aicontainer.hrh"
-#include "caiplugincontainercontrol.h"
-#include "ExtrStandbyScr.h"
-
-
-const TInt KActOnSendKey = 1;
-
-// ================= MEMBER FUNCTIONS =======================
-
-CAIPluginContainerControl* CAIPluginContainerControl::NewL(CCoeControl *aContainer)
-    {
-    CAIPluginContainerControl* self =
-            new (ELeave) CAIPluginContainerControl() ;
-
-    CleanupStack::PushL( self );
-    self->ConstructL(aContainer);
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-CAIPluginContainerControl::~CAIPluginContainerControl()
-    {
-
-    AknsUtils::DeregisterControlPosition(this);
-
-    delete iBackupObserver;
-    iBackupObserver = NULL;
-
-    if(iNotifyHandler)
-        {
-        iNotifyHandler->StopListening();
-        }
-    delete iNotifyHandler;
-    delete iAIRepository;
-    delete iBgContext;
-
-    DestroyPlugins() ;
-    iPlugins.ResetAndDestroy();
-    iPlugins.Close();
-    REComSession::FinalClose() ;
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::SetDimmed
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::SetDimmed(TBool aDimmed)
-    {
-    MakeVisible(!aDimmed);
-    if (iContentStatusChangedNotification)
-        {
-        iContentStatusChangedNotification = EFalse;
-        CalculateRectPlugins();
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::CountComponentControls
-// Counts the component controls, so it returns one.
-// ---------------------------------------------------------
-//
-TInt CAIPluginContainerControl::CountComponentControls() const
-    {
-    TInt pluginsCount = 0;
-
-    for ( TInt index = 0; index < iPlugins.Count(); index++ )
-        {
-        TPluginInfo* plugin = iPlugins[index];
-
-        if (plugin->iPlugin) pluginsCount++ ;
-        }
-
-    return pluginsCount;
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::ComponentControl
-// Returns components by index.
-// ---------------------------------------------------------
-//
-CCoeControl* CAIPluginContainerControl::ComponentControl(TInt aIndex) const
-    {
-    if (iPlugins.Count())
-        {
-        TInt pluginsPos = -1;
-
-        for ( TInt index = 0; index < iPlugins.Count(); index++ )
-            {
-            TPluginInfo* plugin = iPlugins[index];
-
-            if (plugin->iPlugin) pluginsPos++ ;
-
-            if (pluginsPos == aIndex) return iPlugins[index]->iPlugin;
-            }
-        }
-    return NULL ;
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::SizeChanged
-// Changes the sizes of the components.
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::SizeChanged()
-    {
-    AknsUtils::RegisterControlPosition(this);
-
-    if(iBgContext)
-        {
-        iBgContext->SetRect(Rect());
-        iBgContext->SetParentPos(PositionRelativeToScreen());
-        }
-
-
-    if (!CountComponentControls())
-        {
-        return ;
-        }
-
-    if ((iPrevRect.IsEmpty() || iPrevRect != Rect()))
-        {
-        CalculateRectPlugins() ;
-        iPrevRect = Rect() ;
-        }
-    else
-        {
-//        FocusOnDefaultFocusingPlugin(EDrawNow);
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::FocusChanged
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::FocusChanged(TDrawNow /*aDrawNow*/)
-    {
-    if (iCurrentPlugin)
-        {
-        if (IsFocused())
-            {
-            TRAP_IGNORE(iCurrentPlugin->iPlugin->PrepareForFocusGainL());
-            }
-        else
-            {
-            TRAP_IGNORE(iCurrentPlugin->iPlugin->PrepareForFocusLossL());
-            }
-        // The flag must be drawnow because
-        // the plugin focusing have to be happer/disapper
-        iCurrentPlugin->iPlugin->SetFocus(IsFocused(),EDrawNow) ;
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::Draw
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::Draw( const TRect& /*aRect*/ ) const
-    {
-     if (IsDimmed())
-        {
-        return ;
-        }
-    TRect rect( Rect() );
-
-    CWindowGc& gc = SystemGc();
-
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this);
-    MAknsSkinInstance* aknsInst = AknsUtils::SkinInstance();
-
-    // Draw background starting from correct offset
-    AknsDrawUtils::Background( aknsInst, cc, this, gc, rect );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAIPluginContainerControl::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CAIPluginContainerControl::MopSupplyObject(TTypeUid aId)
-    {
-    if( aId.iUid == MAknsControlContext::ETypeId )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::OfferKeyEventL
-// Processes the key event for the incall view.
-// ---------------------------------------------------------
-//
-TKeyResponse CAIPluginContainerControl::OfferKeyEventL(
-        const TKeyEvent& aKeyEvent,
-        TEventCode aType )
-    {
-
-    if (iCurrentPlugin)
-        {
-        if (CountComponentControls() > 1)
-            {
-            switch( aKeyEvent.iScanCode )
-                {
-                case EStdKeyUpArrow:
-                case EStdKeyDownArrow:
-                    {
-                    if( aKeyEvent.iCode == EKeyUpArrow )
-                        {
-                        ChangeFocusPluginL(EAIFocusUp);
-                        }
-                    else if( aKeyEvent.iCode == EKeyDownArrow )
-                        {
-                        ChangeFocusPluginL(EAIFocusDown);
-                        }
-                    return EKeyWasConsumed;
-                    }
-                }
-            }
-
-        if( aKeyEvent.iCode == EKeyPhoneEnd )
-            {
-            FocusOnDefaultFocusingPlugin(EDrawNow);
-            }
-        return iCurrentPlugin->iPlugin->OfferKeyEventL(aKeyEvent,aType);
-        }
-    return EKeyWasNotConsumed;
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::HandleResourceChange( TInt aType )
-    {
-    switch(aType)
-        {
-        case KAknsMessageSkinChange:
-            {
-            iPrevRect.SetSize(TSize(0,0));
-            }
-            break;
-
-        case KEikDynamicLayoutVariantSwitch:
-            {
-            TRAP_IGNORE(UpdateBackgroundL());
-            SetRect(static_cast<CAknAppUi*>(iEikonEnv->AppUi())->ClientRect());
-            }
-            break;
-
-         default:
-            break;
-         }
-
-    CCoeControl::HandleResourceChange( aType );
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::StartL
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::StartL()
-    {
-    // Avoid double start calls
-    if(!iStarted)
-        {
-        iStarted = ETrue;
-        ReadPluginsConfigurationsL() ;
-        LoadPluginsL();
-        SizeChanged();
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::SetFullScreenMode
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::SetFullScreenMode(TBool aFullScreenMode)
-    {
-    iIsFullScreenMode = aFullScreenMode;
-    TRAP_IGNORE(UpdateBackgroundL());
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::HandleControlEventL
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::HandleControlEventL(CCoeControl* /*aControl*/,TCoeEvent aEventType)
-    {
-    if ( aEventType == EEventStateChanged )
-        {
-        if (IsDimmed())
-            {
-            iContentStatusChangedNotification = ETrue ;
-            return ;
-            }
-        CalculateRectPlugins() ;
-        //DrawNow();
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::HandlePropertyChange
-// From PropertyObserver
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::HandlePropertyChange(const TUid& /*aCategory*/,
-                                                     const TUint& /*aKey*/,
-                                                     const TInt& aValue)
-    {
-    // see \epoc32\include\connect\sbdefs.h for enum descriptions
-
-    const TUint backupMask( conn::KBURPartTypeMask ^ conn::EBURNormal );
-
-    if( aValue & backupMask ) // any type of backup or restore operation
-        {
-        // backup or restore started
-        // -> unload plugins
-        if (CountComponentControls())
-            {
-            DestroyPlugins();
-            DrawNow() ;
-            }
-        }
-    else // aValue == conn::EBURUnset || aValue & conn::EBURNormal
-        {
-        // backup or restore ended
-        // -> load plugin again
-        if (CountComponentControls() == 0)
-            {
-            TRAP_IGNORE(
-                    ReadPluginsConfigurationsL();
-                    LoadPluginsL()
-            );
-            CalculateRectPlugins();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAIPluginContainerControl::HandleNotifyGeneric
-// -----------------------------------------------------------------------------
-//
-void CAIPluginContainerControl::HandleNotifyGeneric(TUint32 aId)
-    {
-    if(aId != NCentralRepositoryConstants::KInvalidNotificationId)
-        {
-        if(aId != KAINumOfOperatorPlugins)
-            {
-            RProperty::Set( KPSUidAiInformation, KActiveIdleExtHS_LSKLocked, KNullDesC );
-            RProperty::Set( KPSUidAiInformation, KActiveIdleExtHS_RSKLocked, KNullDesC );
-            DestroyPlugins();
-            TRAP_IGNORE(ReadPluginsConfigurationsL(); LoadPluginsL(););            
-            CalculateRectPlugins();
-            RProperty::Set( KPSUidAiInformation, KActiveIdleExtHS_PluginConfChange, 1 );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::ReadPluginsConfigurationsL
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::ReadPluginsConfigurationsL()
-    {
-    TInt numOfPlugins = 0;
-    TInt error(KErrNone);
-    error = iAIRepository->Get( KAINumOfOperatorPlugins, numOfPlugins );
-
-    if( error == KErrNone )
-        {
-        // Reset old array
-        iPlugins.ResetAndDestroy();
-
-        // Load operator plug-in UIDs
-        TInt uid = 0;
-        for(TInt i = 1; i <= numOfPlugins; i++)
-            {
-            error = iAIRepository->Get( KAINumOfOperatorPlugins+i, uid );
-
-            if( error == KErrNone )
-                {
-                TPluginInfo* pluginItem = new ( ELeave ) TPluginInfo;
-                CleanupStack::PushL( pluginItem );
-
-                // Define values
-                ResetToDefault( *pluginItem );
-                pluginItem->iPluginId.iUid = TUid::Uid(uid).iUid;
-
-                iPlugins.AppendL( pluginItem );
-                CleanupStack::Pop(); // pluginItem
-                }
-            }
-        }
-
-    iIndexDefaultFocusingPlugin = 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CAIPluginContainerControl::LoadPluginsL
-// -----------------------------------------------------------------------------
-//
-void CAIPluginContainerControl::LoadPluginsL()
-    {
-    // Set send key functionality to default
-    RProperty::Set(
-            KPSUidAiInformation,
-            KActiveIdleActOnSendKey,
-            KActOnSendKey );
-    for ( TInt index = 0; index < iPlugins.Count() ; index++)
-        {
-        LoadPluginL(index) ;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAIPluginContainerControl::LoadPluginL
-// -----------------------------------------------------------------------------
-//
-void CAIPluginContainerControl::LoadPluginL(TInt aIndex)
-    {
-    CExtrStandbyScr* currentPlugin = NULL;
-
-    TPluginInfo *pluginItem = iPlugins[aIndex];
-
-    if (pluginItem->iState == EAIPluginOn)
-        {
-        TRAPD(err, currentPlugin = CExtrStandbyScr::NewL(pluginItem->iPluginId,this)) ;
-
-        if ( err != KErrNone )
-            {
-            pluginItem->iState = EAIPluginError ;
-            }
-        else
-            {
-
-            if ( err == KErrNone )
-                {
-                TSize MinSize = currentPlugin->GetMinSize() ;
-                TSize MaxSize = currentPlugin->GetMaxSize() ;
-                pluginItem->iResizeable = MinSize != MaxSize ;
-
-                currentPlugin->SetObserver(this) ;
-
-                TRAP_IGNORE(currentPlugin->LoadEngineL()) ;
-                }
-
-            if ( err != KErrNone )
-                {
-                delete currentPlugin ;
-                pluginItem->iState = EAIPluginError ;
-                }
-            else
-                {
-                //currentPlugin->SetDimmed(ETrue) ;
-                pluginItem->iPlugin = currentPlugin ;
-                pluginItem->iPlugin->ActivateL();
-                }
-            }
-        }
-
-    }
-
-// -----------------------------------------------------------------------------
-// CAIPluginContainerControl::DestroyPluginsL
-// -----------------------------------------------------------------------------
-//
-void CAIPluginContainerControl::DestroyPlugins()
-    {
-    TInt index;
-
-    for ( index = 0; index < iPlugins.Count(); index++ )
-        {
-        TPluginInfo* plugin = iPlugins[index];
-
-        if (plugin->iPlugin)
-            {
-            delete plugin->iPlugin;
-            plugin->iPlugin = NULL;
-            }
-        }
-    iPlugins.ResetAndDestroy();
-    iIndexPlugin = -1;
-    iCurrentPlugin = NULL ;
-    }
-
-// ----------------------------------------------------------------------------
-// CAIPluginContainerControl::ResetToDefault
-// ----------------------------------------------------------------------------
-//
-void CAIPluginContainerControl::ResetToDefault( TPluginInfo& aPluginInfo )
-    {
-    aPluginInfo.iPlugin = NULL;
-    aPluginInfo.iResizeable = EFalse;
-    aPluginInfo.iOnScreen = EFalse;
-    aPluginInfo.iPluginId.iUid = 0;
-    aPluginInfo.iAlignment = EAITop;
-    aPluginInfo.iWeight = 0;
-    aPluginInfo.iCRKeyId = 0;
-    aPluginInfo.iState = EAIPluginOn;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CAIPluginContainerControl::IsInFullScreenModeL
-// ----------------------------------------------------------------------------
-//
-TBool CAIPluginContainerControl::IsInFullScreenModeL()
-    {
-    return iIsFullScreenMode;
-    }
-
-// ----------------------------------------------------------------------------
-// CAIPluginContainerControl::UpdateBackgroundL
-// ----------------------------------------------------------------------------
-//
-void CAIPluginContainerControl::UpdateBackgroundL()
-    {
-    delete iBgContext;
-    iBgContext = NULL;
-
-    CAknAppUi* appui = static_cast<CAknAppUi*>(iEikonEnv->AppUi());
-    TRect rect = appui->ClientRect();
-    TAknsItemID backSkinId;
-
-    if(IsInFullScreenModeL() && !Layout_Meta_Data::IsLandscapeOrientation())
-        {
-        backSkinId = KAknsIIDQsnBgScreen;
-        }
-    else
-        {
-        backSkinId = KAknsIIDQsnBgAreaMainIdle;
-        }
-
-    iBgContext = CAknsLayeredBackgroundControlContext::NewL(
-        backSkinId,
-        rect,
-        ETrue,
-        EAIBgLayersN );
-
-    iBgContext->SetLayerImage(
-        EAIBgLayerWallpaper,
-        KAknsIIDWallpaper );
-
-    TSize wallpapersize;
-    AknLayoutUtils::LayoutMetricsSize(AknLayoutUtils::EWallpaperPane, wallpapersize );
-
-    TRect wallpaperrect(wallpapersize);
-    wallpaperrect.Move(0, rect.Size().iHeight - wallpapersize.iHeight);
-
-    iBgContext->SetLayerRect(
-        EAIBgLayerWallpaper,
-        wallpaperrect );
-
-    iBgContext->SetParentPos(PositionRelativeToScreen());
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::CAIPluginContainerControl
-// ---------------------------------------------------------
-//
-CAIPluginContainerControl::CAIPluginContainerControl()
-    {
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::ConstructL
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::ConstructL( CCoeControl* aContainer )
-    {
-    iContainer = aContainer;
-    CreateWindowL();
-    SetParent(iContainer);
-
-    UpdateBackgroundL();
-
-    iAIRepository = CRepository::NewL( KCRUidActiveIdle );
-    iNotifyHandler = CCenRepNotifyHandler::NewL(*this, *iAIRepository);
-    iNotifyHandler->StartListeningL();
-
-        // backup/restore observer
-    iBackupObserver = CPropertyObserver::NewL(*this, KUidSystemCategory, conn::KUidBackupRestoreKey);
-
-    iIndexPlugin = -1;
-    ActivateL();
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::ChangeFocusPluginL
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::ChangeFocusPluginL(TInt aDirection)
-    {
-    if (!iCurrentPlugin)
-        {
-        return ;
-        }
-    iCurrentPlugin->iPlugin->PrepareForFocusLossL();
-    iCurrentPlugin->iPlugin->SetFocus(EFalse,EDrawNow) ;
-    switch(aDirection)
-        {
-        case EAIFocusDown:
-            iIndexPlugin = NextVisiblePlugin(iIndexPlugin+1) ;
-            break ;
-        case EAIFocusUp:
-            iIndexPlugin = PreviousVisiblePlugin(iIndexPlugin-1) ;
-            break ;
-        default:
-            User::Leave(KErrNotSupported) ;
-        }
-    if (iIndexPlugin == -1)
-        {
-        iCurrentPlugin = NULL ;
-        }
-    else
-        {
-        iCurrentPlugin = iPlugins[iIndexPlugin];
-        iCurrentPlugin->iPlugin->PrepareForFocusGainL();
-        iCurrentPlugin->iPlugin->SetFocus(ETrue,EDrawNow) ;
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::FocusOnDefaultFocusingPlugin
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::FocusOnDefaultFocusingPlugin(TDrawNow aDrawNow)
-    {
-    if (!CountComponentControls())
-        {
-        return ;
-        }
-    TInt index = NextVisiblePlugin(iIndexDefaultFocusingPlugin) ;
-    if (index != iIndexPlugin)
-        {
-        if (iCurrentPlugin)
-            {
-            TRAP_IGNORE(iCurrentPlugin->iPlugin->PrepareForFocusLossL()); //TRAPPED
-            iCurrentPlugin->iPlugin->SetFocus(EFalse,aDrawNow) ;
-            }
-        iIndexPlugin = index;
-        }
-    if (iIndexPlugin == -1)
-        {
-        iCurrentPlugin = NULL ;
-        }
-    else
-        {
-        /*if (iCurrentPlugin && iCurrentPlugin->iPlugin->IsFocused())
-            {
-            return;
-            }
-        */
-        iCurrentPlugin = iPlugins[iIndexPlugin];
-        TRAP_IGNORE(iCurrentPlugin->iPlugin->PrepareForFocusGainL()); //TRAPPED
-        iCurrentPlugin->iPlugin->ResetToDefaultState();
-        iCurrentPlugin->iPlugin->SetFocus(ETrue,aDrawNow) ;
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::CalculateRectPlugins
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::CalculateRectPlugins()
-    {
-    if (CountComponentControls() == 0)
-        {
-        DrawNow();
-        return ;
-        }
-
-    TInt paneHeight = Rect().Height();
-
-    TInt topPluginX=0;
-    TInt bottomPluginX=paneHeight;
-
-    for ( TInt index = 0; index < iPlugins.Count(); index++)
-        {
-        iPlugins[index]->iOnScreen = EFalse ;
-        }
-
-    HandleTopPlugins(topPluginX,bottomPluginX) ;
-    HandleBottomPlugins(topPluginX,bottomPluginX) ;
-
-    if (iIndexPlugin == -1)
-        {
-        FocusOnDefaultFocusingPlugin();
-        }
-
-    DrawNow();
-    }
-
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::HandleTopplugins
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::HandleTopPlugins(TInt& aTopPluginX, TInt& aBottomPluginX)
-    {
-
-    for ( TInt index = 0; index < iPlugins.Count(); index++)
-        {
-        HandlePlugin(index,EAITop,aTopPluginX,aBottomPluginX);
-        } // for all plugins
-
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::HandleBottomPlugins
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::HandleBottomPlugins(TInt& aTopPluginX, TInt& aBottomPluginX)
-    {
-    for ( TInt index = iPlugins.Count() -1 ; index >= 0 ; index--)
-        {
-        HandlePlugin(index,EAIBottom,aTopPluginX,aBottomPluginX);
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::HandlePlugin
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::HandlePlugin(TInt aIndex,
-                                             TAIPluginAlignment aAlign,
-                                             TInt& aTopPluginX,
-                                             TInt& aBottomPluginX)
-    {
-    TRect rectPlugin ; //Rect of the current plugin
-
-    TPluginInfo* pluginItem = iPlugins[aIndex];
-
-    if ((pluginItem->iPlugin) && (pluginItem->iAlignment == aAlign))
-        {
-        TSize plugSize = pluginItem->iPlugin->GetPreferedSize();
-
-        if ((plugSize.iHeight>0) && (plugSize.iWidth >0))
-            {
-            pluginItem->iOnScreen = ETrue;
-
-            TInt overRunHeight = 0 ;
-
-            if (pluginItem->iAlignment == EAITop)
-                {
-                if ((aTopPluginX+plugSize.iHeight) > aBottomPluginX)
-                    {
-                    overRunHeight = aTopPluginX+plugSize.iHeight-aBottomPluginX ;
-                    }
-                }
-            else
-                {
-
-                if ((aBottomPluginX-plugSize.iHeight) < aTopPluginX)
-                    {
-                    overRunHeight = aTopPluginX-(aBottomPluginX-plugSize.iHeight) ;
-                    }
-                }
-            if (overRunHeight)
-                {
-
-                while (overRunHeight > 0)
-                    { // loop finding reduceable plugins from the first to the current
-                    TInt reduceablePluginIndex = FindReduceablePlugin(overRunHeight,aIndex) ;
-                    if (reduceablePluginIndex == -1)
-                        {
-                        // no plugin can be reduced.
-                        // get the plugin with the lowerest Weight and hide it
-                        TInt hideblePluginIndex = FindLowerWeightPlugin(aIndex) ;
-                        if ((hideblePluginIndex == -1) || (hideblePluginIndex == aIndex))
-                            {
-                            HidePlugin(aIndex) ;
-                            return ;
-                            }
-                        else
-                            {
-                            TInt hideblePluginHeight = iPlugins[hideblePluginIndex]->iPlugin->Rect().Size().iHeight ;
-                            // Hide the found plugin and move the other before the current
-                            ReducePlugin(hideblePluginIndex,aIndex,hideblePluginHeight) ;
-                            if (iPlugins[hideblePluginIndex]->iAlignment == EAITop)
-                                {
-                                // recalculate position the the top current plugin
-                                aTopPluginX -= hideblePluginHeight ;
-                                }
-                            else
-                                {
-                                // recalculate position the the bottom current plugin
-                                aBottomPluginX += hideblePluginHeight;
-                                }
-                            overRunHeight -= hideblePluginHeight;
-                            }
-                        }
-                    else
-                        {
-                        // get the height that the found reduaceble plugin can reduce itself
-                        TInt reduceablePluginHeight = iPlugins[reduceablePluginIndex]->iPlugin->GetNextSizeDecrement().iHeight ;
-                        if (reduceablePluginIndex == aIndex)
-                            {
-                            // if it has to be reduced the current plugin
-                            // just recalculate the size of itself
-                            plugSize -= TSize(0,reduceablePluginHeight) ;
-                            if (plugSize.iHeight <= 0)
-                                {
-                                HidePlugin(aIndex) ;
-                                return ;
-                                }
-                            else
-                                {
-                                if (pluginItem->iAlignment == EAITop)
-                                    {
-                                    rectPlugin.SetRect(TPoint(0,aTopPluginX),plugSize) ;
-                                    }
-                                else
-                                    {
-                                    rectPlugin.SetRect(TPoint(0,aBottomPluginX-plugSize.iHeight),plugSize) ;
-                                    }
-
-                                pluginItem->iPlugin->SetRect(rectPlugin);
-                                }
-                            }
-                        else
-                            {
-                            // reduce the found plugin and move the other before the current
-                            ReducePlugin(reduceablePluginIndex,aIndex,reduceablePluginHeight) ;
-                            if (iPlugins[reduceablePluginIndex]->iAlignment == EAITop)
-                                {
-                                // recalculate position the the top current plugin
-                                aTopPluginX -= reduceablePluginHeight ;
-                                }
-                            else
-                                {
-                                // recalculate position the the bottom current plugin
-                                aBottomPluginX += reduceablePluginHeight;
-                                }
-                            }
-                        overRunHeight -= reduceablePluginHeight;
-                        }
-                    }
-
-                if (overRunHeight > 0)
-                    {
-                    //no plugin can be reduced go to the next one
-                    return;
-                    }
-                } // while finding reduceable plugin(s)
-
-            if (pluginItem->iAlignment == EAITop)
-                {
-                rectPlugin.SetRect(TPoint(0,aTopPluginX),plugSize) ;
-                aTopPluginX += plugSize.iHeight;
-                }
-            else
-                {
-                rectPlugin.SetRect(TPoint(0,aBottomPluginX-plugSize.iHeight),plugSize) ;
-                aBottomPluginX -= plugSize.iHeight;
-                }
-            pluginItem->iPlugin->SetRect(rectPlugin);
-            //pluginItem->iPlugin->SetDimmed(EFalse);
-            }
-        else
-            {
-            // No on the screen
-            HidePlugin(aIndex) ;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::NextVisiblePlugin
-// ---------------------------------------------------------
-//
-TInt CAIPluginContainerControl::NextVisiblePlugin(TInt aStartIndex)
-    {
-    for ( TInt index = aStartIndex; index < iPlugins.Count(); index++)
-        {
-        TPluginInfo* plug = iPlugins[index];
-        if (plug->iPlugin && (plug->iOnScreen) && (plug->iPlugin->IsNonFocusing() == EFalse))
-            {
-            return index ;
-            }
-        }
-    return aStartIndex > 0 ? NextVisiblePlugin(0) : -1 ;
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::PreviousVisiblePlugin
-// ---------------------------------------------------------
-//
-TInt CAIPluginContainerControl::PreviousVisiblePlugin(TInt aStartIndex)
-    {
-    for ( TInt index = aStartIndex; index >= 0; index--)
-        {
-        TPluginInfo* plug = iPlugins[index];
-        if (plug->iPlugin  && (plug->iOnScreen) && (plug->iPlugin->IsNonFocusing() == EFalse))
-            {
-            return index ;
-            }
-        }
-    return (aStartIndex < (iPlugins.Count()-1)) ? PreviousVisiblePlugin(iPlugins.Count()-1) : -1 ;
-    }
-
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::FindLowerWeightPlugin
-// ---------------------------------------------------------
-//
-TInt CAIPluginContainerControl::FindLowerWeightPlugin(TInt aCurrentIndex)
-    {
-    TInt foundIndex = -1;
-    TInt plugWeight = -1;
-    TInt currentWeight = iPlugins[aCurrentIndex]->iWeight ;
-
-    for ( TInt index = 0 ; index <= iPlugins.Count()-1; index++)
-        {
-        TPluginInfo* plug = iPlugins[index];
-        if ((plug->iOnScreen) && (plug->iWeight<=currentWeight) &&
-            ((foundIndex==-1) || (plug->iWeight<=plugWeight)))
-            {
-            foundIndex = index ;
-            plugWeight = plug->iWeight;
-            }
-        }
-    return foundIndex ;
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::FindReduceablePlugin
-// ---------------------------------------------------------
-//
-TInt CAIPluginContainerControl::FindReduceablePlugin(TInt aOverRunHeight, TInt aCurrentIndex)
-    {
-    TInt foundIndex = -1;
-    TInt plugWeight = -1;
-
-    for ( TInt index = 0 ; index <= iPlugins.Count()-1; index++)
-        {
-        TPluginInfo* plug = iPlugins[index];
-        //When resize I don't check the Weight with the current plugin
-        // before we try to reduce a plugin
-        // if any plugin can be reduced then we have to hide a plugin with a weight less of the current
-        if ((plug->iResizeable) && (plug->iOnScreen)) //&& (plug->iWeight <= currentWeight))
-            {
-            TInt reduceablePluginHeight = iPlugins[index]->iPlugin->GetNextSizeDecrement().iHeight ;
-            if (reduceablePluginHeight > 0)
-                {
-                // the plugin can still be reduced
-                if (index == aCurrentIndex)
-                    {
-                    if ((plugWeight == -1) || (plug->iWeight <= plugWeight))
-                        {
-                        foundIndex = index ;
-                        plugWeight = plug->iWeight ;
-                        }
-                    }
-                else
-                    {
-                    TSize plugMinSize = plug->iPlugin->GetMinSize() ;
-                    TSize plugSize = plug->iPlugin->Rect().Size();
-                    TInt plugOverRunHeight = plugSize.iHeight-plugMinSize.iHeight;
-                    if ((plugOverRunHeight >=aOverRunHeight) &&
-                        ((plugWeight == -1) || (plug->iWeight <= plugWeight))) // before I check the weight
-                        {
-                        foundIndex = index ;
-                        plugWeight = plug->iWeight ;
-                        }
-                    }
-                }
-            }
-        }
-    return foundIndex ;
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::ReducePlugin
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::ReducePlugin(TInt aPluginToBeReducedIndex,
-                                             TInt aCurrentIndex,
-                                             TInt aReduceHeight)
-    {
-    TInt startIndex;
-    TInt lastIndex;
-    TInt lastTopPluginIndex ;
-    TInt index;
-
-    TAIPluginAlignment reduceAlign = iPlugins[aPluginToBeReducedIndex]->iAlignment ;
-
-    //find the last top plugin in the list
-    lastTopPluginIndex = -1;
-    for ( index = 0 ;  index < iPlugins.Count() ; index++)
-          {
-          if (iPlugins[index]->iAlignment==EAITop)
-             {
-              lastTopPluginIndex = index;
-              }
-          }
-
-    if (reduceAlign == EAITop)
-        {
-        __ASSERT_ALWAYS(aPluginToBeReducedIndex <= lastTopPluginIndex, User::Invariant());
-        startIndex = aPluginToBeReducedIndex;
-        // we don't have to handle the current if is in the top list
-        // otherwise if the current index is in the bottom we handle all the top plugin
-        lastIndex = (aCurrentIndex <= lastTopPluginIndex) ? (aCurrentIndex > aPluginToBeReducedIndex ? aCurrentIndex -1 : aCurrentIndex  ): lastTopPluginIndex;
-        }
-    else
-        {
-        // if lastTopPluginIndex==-1 means all the plugin have a botton alignment
-        startIndex = lastTopPluginIndex+1;
-        if (startIndex == aCurrentIndex)
-            {//we don't have to handle the current plugin
-            startIndex++;
-            }
-        __ASSERT_ALWAYS(aPluginToBeReducedIndex >= startIndex, User::Invariant());
-        lastIndex = aPluginToBeReducedIndex;
-        }
-
-    for (  index = startIndex ; index <= lastIndex; index++)
-        {
-        TPluginInfo* plug = iPlugins[index];
-
-        if (plug->iOnScreen && plug->iPlugin)
-            {
-            TRect rectPlugin = plug->iPlugin->Rect() ;
-            if (index == aPluginToBeReducedIndex)
-                {
-                TSize newSize(0, aReduceHeight) ;
-                rectPlugin.Resize(-newSize) ;
-                if (rectPlugin.Height() == 0)
-                    {
-                    HidePlugin(index) ;
-                    }
-                else
-                    {
-                    if (reduceAlign == EAIBottom)
-                        {
-                        rectPlugin.Move(0,+aReduceHeight);
-                        }
-                    plug->iPlugin->SetRect(rectPlugin) ;
-                    }
-                }
-            else
-                {
-                if (reduceAlign == EAITop)
-                    {
-                    rectPlugin.Move(0,-aReduceHeight);
-                    plug->iPlugin->SetRect(rectPlugin);
-                    }
-                else
-                    {
-                    rectPlugin.Move(0,+aReduceHeight);
-                    plug->iPlugin->SetRect(rectPlugin);
-                    }
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CAIPluginContainerControl::HidePlugin
-// ---------------------------------------------------------
-//
-void CAIPluginContainerControl::HidePlugin(TInt aIndex)
-    {
-    TPluginInfo* plug = iPlugins[aIndex];
-
-    //plug->iPlugin->SetDimmed(ETrue) ;
-    plug->iPlugin->SetRect(TRect(0,0,0,0)) ;
-    plug->iOnScreen = EFalse ;
-
-    if (iIndexPlugin == aIndex)
-        { // the plugin that is going to dissappear have the focus
-        TRAP_IGNORE(ChangeFocusPluginL(EAIFocusDown)); //TRAPPED
-        }
-    }
-
-//  End of File
--- a/idlehomescreen/exths/src/plugincontainer/dllmain.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "caiplugincontainercontrol.h"
-
-// Provides a key value pair table, this is used to identify
-// the correct construction function for the requested interface.
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY(0x101FD658, CAIPluginContainerControl::NewL)
-    };
-
-// Function used to return an instance of the proxy table.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-    return ImplementationTable;
-    }
--- a/idlehomescreen/exths/src/plugincontainer/propertyobserver.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
- *
-*/
-
-
-// INCLUDE FILES
-#include "propertyobserver.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPropertyObserver::CPropertyObserver
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPropertyObserver::CPropertyObserver(MPropertyChangeHandler& aHandler,
-                                     const TUid& aCategory,
-                                     const TUint& aKey)
-: CActive( CActive::EPriorityStandard ),
-  iCategory( aCategory ),
-  iKey( aKey ),
-  iHandler( aHandler )
-{
-}
-
-// -----------------------------------------------------------------------------
-// CPropertyObserver::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPropertyObserver::ConstructL(void)
-{
-    CActiveScheduler::Add( this );
-
-    User::LeaveIfError( iProperty.Attach( iCategory, iKey ) );
-
-    // Start observing...
-    Subscribe();
-
-    // Notify the initial value if needed...
-//    NotifyCurrentValue();
-}
-
-// -----------------------------------------------------------------------------
-// CPropertyObserver::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPropertyObserver* CPropertyObserver::NewL(MPropertyChangeHandler& aHandler,
-                                           const TUid& aCategory,
-                                           const TUint& aKey)
-{
-    CPropertyObserver* self = new( ELeave )CPropertyObserver( aHandler, aCategory, aKey );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-}
-
-// Destructor
-CPropertyObserver::~CPropertyObserver()
-{
-    Deque();
-    iProperty.Cancel();
-    iProperty.Close();
-}
-
-// -----------------------------------------------------------------------------
-// CPropertyObserver::RunL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPropertyObserver::RunL(void)
-{
-    if( iStatus.Int() == KErrNone )
-    {
-        Subscribe();
-        NotifyCurrentValue();
-    }
-}
-
-// -----------------------------------------------------------------------------
-// CPropertyObserver::DoCancel
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPropertyObserver::DoCancel(void)
-{
-    iProperty.Cancel();
-}
-
-// -----------------------------------------------------------------------------
-// CPropertyObserver::Subscribe
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPropertyObserver::Subscribe(void)
-{
-    iProperty.Subscribe( iStatus );
-    SetActive();
-}
-
-// -----------------------------------------------------------------------------
-// CPropertyObserver::NotifyCurrentValue
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPropertyObserver::NotifyCurrentValue(void)
-{
-    TInt value;
-
-    if( iProperty.Get( iCategory, iKey, value ) == KErrNone )
-    {
-        iHandler.HandlePropertyChange( iCategory, iKey, value );
-    }
-}
-
-
-// End of File
--- a/idlehomescreen/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build info file for Ado domain uishellservices
-*
-*/
-
-//  uishellservices ado
-#include "../nativeuicontroller/group/bld.inf"
-#include "../exths/group/bld.inf"
-#include "../inc/ai3.hrh" // flag FF_HOMESCREEN_COMMON_IDLEFW
-#include "../hscontentcontrol/group/bld.inf"
-#include "../sapiwrapper/cpswrapper/group/bld.inf"
-#include "../sapiwrapper/hspswrapper/group/bld.inf"
-#include "../xmluirendering/group/bld.inf"
-#include "../xmluicontroller/group/bld.inf"
-#include "../widgetmanager/group/bld.inf"
-
-#ifdef FF_HOMESCREEN_COMMON_IDLEFW
-#include "../data/group/bld.inf"
-#endif
-
-PRJ_PLATFORMS
-DEFAULT
-//  Help exports
-#include "../help/group/bld.inf"
-
-PRJ_EXPORTS
-../loc/activeidle3.loc              APP_LAYER_LOC_EXPORT_PATH(activeidle3.loc)
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-
-//  End of File  
Binary file idlehomescreen/help/data/xhtml.zip has changed
--- a/idlehomescreen/help/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>				
-PRJ_EXPORTS
-:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
-
-../inc/hmsc.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/hmsc.hlp.hrh)
-../rom/idlehomescreenhelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(idlehomescreenhelps_variant.iby)
\ No newline at end of file
--- a/idlehomescreen/help/inc/hmsc.hlp.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-*
-*/
-	
-//
-// hmsc.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __HMSC_HLP_HRH__
-#define __HMSC_HLP_HRH__
-
-_LIT(KSET_HLP_HOME_SCREEN, "SET_HLP_HOME_SCREEN"); // 
-_LIT(KSET_HLP_HOME_SCREEN_EDIT, "SET_HLP_HOME_SCREEN_EDIT"); // 
-_LIT(KWM_HLP_WIDGET_COLLECTION, "WM_HLP_WIDGET_COLLECTION"); // 
-
-#endif 
\ No newline at end of file
--- a/idlehomescreen/help/rom/idlehomescreenhelps_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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 __IDLEHOMESCREENHELPS_VARIANT_IBY__
-#define __IDLEHOMESCREENHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x102750F0\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x102750F0\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x102750F0\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x102750F0\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x102750F0\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x102750F0\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x102750F0\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x102750F0\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/idlehomescreen/hscontentcontrol/bwins/hscontentcontrol.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-EXPORTS
-	?NewL@CHsContentControlUi@@SAPAV1@VTUid@@@Z @ 1 NONAME ; class CHsContentControlUi * CHsContentControlUi::NewL(class TUid)
-	?GetHsContentController@CHsContentControlFactory@@QAEPAVMHsContentControlUi@@ABVTDesC8@@@Z @ 2 NONAME ; class MHsContentControlUi * CHsContentControlFactory::GetHsContentController(class TDesC8 const &)
-	?NewL@CHsContentControlFactory@@SAPAV1@XZ @ 3 NONAME ; class CHsContentControlFactory * CHsContentControlFactory::NewL(void)
-	??1CHsContentControlFactory@@UAE@XZ @ 4 NONAME ; CHsContentControlFactory::~CHsContentControlFactory(void)
-
--- a/idlehomescreen/hscontentcontrol/eabi/hscontentcontrol.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN19CHsContentControlUi4NewLE4TUid @ 1 NONAME
-	_ZN24CHsContentControlFactory22GetHsContentControllerERK6TDesC8 @ 2 NONAME
-	_ZN24CHsContentControlFactory4NewLEv @ 3 NONAME
-	_ZN24CHsContentControlFactoryD0Ev @ 4 NONAME
-	_ZN24CHsContentControlFactoryD1Ev @ 5 NONAME
-	_ZN24CHsContentControlFactoryD2Ev @ 6 NONAME
-
--- a/idlehomescreen/hscontentcontrol/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:  Item id, name and properties
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-hscontentcontrol.mmp
--- a/idlehomescreen/hscontentcontrol/group/hscontentcontrol.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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:  project file
-*
-*/
-
-#include <platform_paths.hrh>
- 
-TARGET            hscontentcontrol.dll
-TARGETTYPE        dll
-
-CAPABILITY        CAP_GENERAL_DLL
-VENDORID          VID_DEFAULT
-
-USERINCLUDE       ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH        ../src
-
-SOURCE            hscontentcontrolfactory.cpp 
-SOURCE            hscontentcontrolui.cpp 
-SOURCE            hscontentcontrolecomlistener.cpp
-SOURCE            hscontentcontroluninstallmonitor.cpp
-
-//By default, the build tools look for the WINSCW def file in a BWINS directory
-//(at the same level as the directory containing the mmp file), 
-//the GCC ARM def file in a BMARM directory, and the ARMV5 def file in a EABI directory. 
-//If def files are stored in these locations, the project files does not need to specify
-//the location of the def files explicitly. If you want to store the def files in some other 
-//location, you will need to specify in the project file where the .def files are using 
-//the deffile keyword.
-
-//The following commented out code shows how the build system uses the implicit
-// location for defiles. To create the DEF files Choose Project > Freeze Exports from Carbide
-// or run 'abld freeze' from the command-line
-//#if defined (WINS)
-//  DEFFILE ../bwins/hscontentcontrol.def
-//#elif defined (GCC32)
-//  DEFFILE ../bmarm/hscontentcontrol.def
-//#else 
-//  DEFFILE ../eabi/hscontentcontrol.def
-//#endif
-
-nostrictdef
-
-LIBRARY           euser.lib
-LIBRARY           estor.lib
-LIBRARY           ecom.lib
-LIBRARY           charconv.lib
-
-
-#ifdef ENABLE_ABIV2_MODE
-DEBUGGABLE
-#endif
-
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontrolecomlistener.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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: Listens for change in ecom registry of content controller
-* interface.  
-*
-*/
-
-#ifndef HSCONTENTCONTROLECOMLISTENER_H 
-#define HSCONTENTCONTROLECOMLISTENER_H 
-
-// System includes
-#include <e32base.h>
-
-// User includes
-
-// Forward declarations
-class MHsContentControlEComObserver;
-class REComSession;
-
-// Class declaration
-/** 
-* @class CHsContentControlEComListener
-* 
-* @brief An instance of class CHsContentControlEComListener which listens for 
-*  changes in the ECOM registry.
-*  
-* @lib hscontentcontrol.lib
-*/
-NONSHARABLE_CLASS( CHsContentControlEComListener ) : public CActive
-    {
-public: // Constructor and destructor
-
-    /**
-     * Two-phased constructor.
-     */ 
-    static CHsContentControlEComListener* NewL( 
-            MHsContentControlEComObserver& aContentControlEComObserver );                                         
-    
-    /**
-     * Destructor.
-     */
-    ~CHsContentControlEComListener();
-
-protected: // Functions from base classes
-   /**
-    * From CActive
-    */
-   void RunL();
-
-   /**
-    * From CActive
-    */
-   void DoCancel();
-
-   /**
-    * From CActive
-    */
-   TInt RunError( TInt aError );
-
-private: // Constructors
-    
-   /**
-    * Default C++ constructor.
-    */ 
-    CHsContentControlEComListener( 
-            MHsContentControlEComObserver& aHsContentControlEComObserver );
-
-    /**
-     * Second phase constructor.
-     */ 
-    void ConstructL();
-
-private: // Data
-
-    // Reference of MHsContentControlEComObserver
-    MHsContentControlEComObserver& iHsContentControlEComObserver;
-    
-    // An object of type REComSession.
-    REComSession* iEComSession;
-    };
-
-#endif  // HSCONTENTCONTROLECOMLISTENER_H
-
-// End of file
- 
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontrolecomobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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: Observes for change in ecom registry of content controller
-*  interface.  
-*
-*/
-
-#ifndef HSCONTENTCONTROLECOMOBSERVER_H
-#define HSCONTENTCONTROLECOMOBSERVER_H
-
-// Class declaration
-/**
-* MHsContentControlEComObserver
-* 
-* @brief The observer of ecom registry changes. The derived class needs to implement
-*  the functions below and will be notified by CHsContentControlEComListener.
-*  
-* @see CHsContentControlEComListener
-*/
-class MHsContentControlEComObserver
-	{
-public:
-    /**
-     * Notification of Ecom registry change.
-     */
-    virtual void HandleEComChangeEvent() = 0;
-	};
-
-#endif // HSCONTENTCONTROLECOMOBSERVER_H
-
-// End of file
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +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:  
-*
-*/
-
-#ifndef HSCONTENTCONTROLFACTORY_H
-#define HSCONTENTCONTROLFACTORY_H
-
-// System includes
-#include <e32base.h>
-#include <hscontentcontrolui.h>
-
-// User includes
-#include "hscontentcontrolecomobserver.h"
-#include "hscontentcontroluninstallobserver.h"
-
-// Forward declarations
-class CHsContentControlEComListener;
-class CHsContentControlUninstallMonitor;
-
-/**
- *  Content control UI base class
- *
- *
- *  @code
- *
- *  @endcode
- *
- *  @lib hscontentcontrol.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CHsContentControlFactory ) : public CBase,
-                                                public MHsContentControlEComObserver,
-                                                public MHsContentControlUninstallObserver
-    {
-public: // Constructor and destructor
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CHsContentControlFactory* NewL();
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C ~CHsContentControlFactory();
-
-private: // from MHsContentControlEComObserver
-    
-    /**
-     * Notification of Ecom registry change.
-     */
-     void HandleEComChangeEvent();
-
-private: // from MHsContentControlUninstallObserver
-    
-    /**
-     * Notification of Uninstall event from SWI.
-     * @param aPkgUid The package UID which is being uninstalled.
-     */
-     void HandleUninstallEvent( const TUid& aPkgUid );
-    
-private: // Constructors
-    /**
-     * Constructor
-     */
-    CHsContentControlFactory();
-
-    /** Second phase constructor */
-    void ConstructL();
-
-
-public: // New functions
-    /**
-     * 
-     */
-    IMPORT_C MHsContentControlUi* GetHsContentController(
-        const TDesC8& aControllerType );
-
-private:
-    /** 
-     * Finds and returns loaded ContentControlUi object from array.
-     */
-    MHsContentControlUi* FindHsContentController(
-        const TDesC8& aControllerType );
-    
-    /** 
-     * Checks if a plugin is removed/upgraded/downgraded.
-     */
-    void CheckPluginChangesL();
-    
-    /**
-     * Finds plugin implementation info in the ECOM registry.
-     * @param aUid The plugin UID which is to be checked.
-     * @param aPluginArray The array of plugins which have been implemented.
-     * @return ImplementationInfo of plugin.
-     */
-    CImplementationInformation* FindPluginImplInfo( 
-            const TUid& aUid, const RImplInfoPtrArray& aPlugInArray );
-
-    /**
-     * Checks if an upgrade or downgrade of the existing plugins happened.
-     * @param aPluginImplInfo ImplInfo of plugin to be checked for upgrade/downgrade.
-     * @return ETrue if upgrade/downgrade, EFalse otherwise. 
-     */
-    TBool PluginUpgradeDowngrade( const CImplementationInformation& aPluginImplInfo );
-
-private: // Data
-
-    /**
-     * An array of type CHsContentControlUi ( Owned ).
-     */
-    RPointerArray< CHsContentControlUi > iHsContentControlUis;
-    
-    /**
-    * An array of type CImplementationInformation ( Owned ).
-    */
-    RImplInfoPtrArray               iImplArray;
-
-    /**
-     * An object of type CHsContentControlEComListener ( Owned ).
-     */
-    CHsContentControlEComListener*  iHsContentControlEComListener;
-
-    /**
-     * An object of type CHsContentControlUninstallMonitor ( Owned ).
-     */
-    CHsContentControlUninstallMonitor*  iHsContentControlUninstallMonitor;
-    };
-
-
-#endif // HSCONTENTCONTROLFACTORY_H
-
-// End of file
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontroluninstallmonitor.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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 to listen SWI uninstall operation.
-*
-*/
-
-#ifndef HSCONTENTCONTROLUNINSTALLMONITOR_H
-#define HSCONTENTCONTROLUNINSTALLMONITOR_H
-
-// System includes
-#include <e32base.h>
-#include <e32property.h>
-
-// User includes
-#include "hscontentcontroluninstallobserver.h"
-
-// Forward declarations
-
-// Class declaration
-/** 
-* @class CHsContentControlUninstallMonitor
-* 
-* @brief An instance of class CHsContentControlUninstallMonitor which listens for 
-*  uninstall event from SWI.
-*  
-* @lib hscontentcontrol.lib
-*/
-NONSHARABLE_CLASS( CHsContentControlUninstallMonitor ) : public CActive
-    {
-public:     // constructors and destructor
-    static CHsContentControlUninstallMonitor* NewL( 
-                MHsContentControlUninstallObserver& aObs );
-    ~CHsContentControlUninstallMonitor();
-
-protected:  // from CActive
-    void DoCancel();
-    void RunL();
-    
-private:    // new functions
-    CHsContentControlUninstallMonitor( 
-            MHsContentControlUninstallObserver& aObs );
-    void ConstructL();
-
-private:     // data
-    MHsContentControlUninstallObserver& iObs;
-    RProperty iSwUninstallKey;
-    };
-
-#endif // HSCONTENTCONTROLUNINSTALLMONITOR_H
-
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontroluninstallobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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: Interface for getting notified for SWI uninstall event.
-*
-*/
-
-
-#ifndef HSCONTENTCONTROLUNINSTALLOBSERVER_H
-#define HSCONTENTCONTROLUNINSTALLOBSERVER_H
-
-/**
-* MHsContentControlUninstallObserver
-* 
-* @brief The observer of uninstall operations. The derived class needs to implement
-*  the functions below and will be notified by CHsContentControlUninstallMonitor.
-*  
-* @see CHsContentControlUninstallMonitor
-*/
-class MHsContentControlUninstallObserver
-	{
-public:
-    /**
-     * Notification of Uninstall event from SWI.
-     * @param aPkgUid The package UID which is being uninstalled. 
-     */
-    virtual void HandleUninstallEvent( const TUid& aPkgUid ) = 0;
-	};
-
-#endif  // HSCONTENTCONTROLUNINSTALLOBSERVER_H
-
-// End of file
--- a/idlehomescreen/hscontentcontrol/src/hscontentcontrolecomlistener.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +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: The source file of the CHsContentControlEComListener class. 
- *
- */
-
-// System includes
-#include <ecom/ecom.h>
-
-// User includes
-#include "hscontentcontrolecomlistener.h"
-#include "hscontentcontrolecomobserver.h"
-
-// ---------------------------------------------------------
-// CHsContentControlEComListener::NewL
-// ---------------------------------------------------------
-//
-CHsContentControlEComListener* CHsContentControlEComListener::NewL( 
-        MHsContentControlEComObserver& aContentControlEComObserver )
-    {
-    CHsContentControlEComListener* self = 
-            new ( ELeave ) CHsContentControlEComListener(
-                    aContentControlEComObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-    
-// ---------------------------------------------------------
-// CHsContentControlEComListener::~CHsContentControlEComListener
-// ---------------------------------------------------------
-//
-CHsContentControlEComListener::~CHsContentControlEComListener()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    if( iEComSession )
-        {
-        // Close session to ECom server
-        iEComSession->Close();
-        }
-
-    // Free up resources held by the EComSession.
-    REComSession::FinalClose();
-    }
- 
-// ---------------------------------------------------------
-// CHsContentControlEComListener::CHsContentControlEComListener
-// ---------------------------------------------------------
-//
-CHsContentControlEComListener::CHsContentControlEComListener( 
-        MHsContentControlEComObserver& aContentControlEComObserver ) 
-    : CActive( CActive::EPriorityStandard ),
-    iHsContentControlEComObserver( aContentControlEComObserver )
-    {
-    }
-
-// ---------------------------------------------------------
-// CHsContentControlEComListener::ConstructL
-// rest of the details are commented in the header
-// ---------------------------------------------------------
-//
-void CHsContentControlEComListener::ConstructL()
-    {
-    // Connect to the ECOM session server.
-    iEComSession = &REComSession::OpenL();
-   
-    // Queue the active object in the scheduler
-    CActiveScheduler::Add( this );
-        
-    // Start the active object and listen for changes in the ECOM registry.
-    iEComSession->NotifyOnChange( iStatus );
-    SetActive();
-    }
-
-// ---------------------------------------------------------
-// CHsContentControlEComListener::RunL
-// rest of the details are commented in the header
-// ---------------------------------------------------------
-//
-void CHsContentControlEComListener::RunL()
-    {
-    if ( &iHsContentControlEComObserver &&
-        KErrNone == iStatus.Int() )
-        {
-        // Notify observer
-        iHsContentControlEComObserver.HandleEComChangeEvent();
-        }
-
-    // Keep listening changes
-    iEComSession->NotifyOnChange( iStatus );
-
-    // Restart the active Object
-    SetActive();
-    }
-
-// ---------------------------------------------------------
-// CHsContentControlEComListener::DoCancel
-// ---------------------------------------------------------
-//
-void CHsContentControlEComListener::DoCancel()
-    {
-    // Cancel any outstanding requests.
-    iEComSession->CancelNotifyOnChange( iStatus );
-    }
-
-
-// ---------------------------------------------------------
-// CHsContentControlEComListener::RunError
-// ---------------------------------------------------------
-//
-TInt CHsContentControlEComListener::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
-
-// End of file
--- a/idlehomescreen/hscontentcontrol/src/hscontentcontrolfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +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:  
- *
- */
-
-// System include files
-#include <ecom/ecom.h>
-#include <ecom/implementationinformation.h>
-
-// User include files
-#include "hscontentcontrolfactory.h"
-#include "hscontentcontrolecomlistener.h"
-#include "hscontentcontroluninstallmonitor.h"
-
-// Local constants
-
-// Content controller ECom interface UID
-const TUid KInterfaceUidContentController = { 0x20026F51 };
-
-// ======== LOCAL FUNCTIONS ========
-
-// ----------------------------------------------------------------------------
-// CleanupResetAndDestroy()
-// ----------------------------------------------------------------------------
-//
-template<class T>
-static void CleanupResetAndDestroy( TAny* aObj )
-    {
-    if( aObj )
-        {
-        static_cast<T*>( aObj )->ResetAndDestroy();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CleanupResetAndDestroyPushL
-// ----------------------------------------------------------------------------
-//
-template<class T>
-static void CleanupResetAndDestroyPushL(T& aArray)
-    {
-    CleanupStack::PushL( TCleanupItem( &CleanupResetAndDestroy<T>, &aArray ) );
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::NewL()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CHsContentControlFactory* CHsContentControlFactory::NewL()
-    {
-    CHsContentControlFactory* self = new ( ELeave ) CHsContentControlFactory();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::ConstructL()
-// ----------------------------------------------------------------------------
-//
-void CHsContentControlFactory::ConstructL()
-    {
-    iHsContentControlEComListener = 
-            CHsContentControlEComListener::NewL( *this );
-    REComSession::ListImplementationsL( 
-            KInterfaceUidContentController, iImplArray );
-    
-    iHsContentControlUninstallMonitor = 
-            CHsContentControlUninstallMonitor::NewL( *this );
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::CHsContentControlFactory()
-// ----------------------------------------------------------------------------
-//
-CHsContentControlFactory::CHsContentControlFactory()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::~CHsContentControlFactory()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CHsContentControlFactory::~CHsContentControlFactory()
-    {
-    iImplArray.ResetAndDestroy();
-    iImplArray.Close();
-    iHsContentControlUis.ResetAndDestroy();
-    
-	delete iHsContentControlEComListener;
-    delete iHsContentControlUninstallMonitor;
-    }
-
-// ---------------------------------------------------------------------------------
-// CHsContentControlFactory::GetHsContentController()
-// ---------------------------------------------------------------------------------
-//
-EXPORT_C MHsContentControlUi* CHsContentControlFactory::GetHsContentController(
-    const TDesC8& aControlType )    
-    {
-    MHsContentControlUi* retval( FindHsContentController( aControlType ) ); 
-    
-    if ( !retval )
-        {
-        TRAP_IGNORE(
-            // Get implementations via ECom
-            RImplInfoPtrArray plugins;
-            CleanupResetAndDestroyPushL( plugins );
-                    
-            REComSession::ListImplementationsL( 
-                KInterfaceUidContentController, plugins );
-            
-            for ( TInt i = 0; i < plugins.Count(); i++ )
-                {
-                CImplementationInformation* information( plugins[i] );
-                
-                if ( information->OpaqueData().CompareF( aControlType ) == 0 )
-                    {
-                    CHsContentControlUi* ccUi = CHsContentControlUi::NewL( 
-                        information->ImplementationUid() );
-                    CleanupStack::PushL( ccUi );
-                    
-                    ccUi->SetContentControlTypeL( information->OpaqueData() );
-                    iHsContentControlUis.AppendL( ccUi );
-                    
-                    CleanupStack::Pop(); //ccUi
-                    retval = ccUi;
-                    // All done
-                    break;
-                    }
-                }
-            
-            CleanupStack::PopAndDestroy(); // plugins
-            ); // TRAP_IGNORE
-        }
-    
-    return retval;
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::FindHsContentController()
-// ----------------------------------------------------------------------------
-//
-MHsContentControlUi* CHsContentControlFactory::FindHsContentController(
-    const TDesC8& aControlType )
-    {       
-    for ( TInt i = 0; i < iHsContentControlUis.Count(); i++ )
-        {
-        CHsContentControlUi* cc( iHsContentControlUis[ i ] );
-        
-        if ( cc->ContentControlType().CompareF( aControlType ) == 0 )
-            {
-            return cc;
-            } 
-        }
-    
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::HandleEComChangeEvent()
-// ----------------------------------------------------------------------------
-//
-void CHsContentControlFactory::HandleEComChangeEvent()
-    {
-    // ignore event if no plugin loaded.
-    if ( iHsContentControlUis.Count() > 0 )
-        {
-        TRAP_IGNORE( CheckPluginChangesL(); );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::HandleUninstallEvent()
-// ----------------------------------------------------------------------------
-//
-void CHsContentControlFactory::HandleUninstallEvent( const TUid& aPkgUid )
-    {
-    // ignore event if no plugin loaded.
-    if ( iHsContentControlUis.Count() > 0 )
-        {
-        for( TInt index( iHsContentControlUis.Count() - 1 ); index >= 0; --index )
-            {
-            CHsContentControlUi* cc( iHsContentControlUis[ index ] );
-            // ImplUid of plugin must match Sis pkg uid
-            if ( cc && cc->ImplUid() == aPkgUid )
-                {
-                iHsContentControlUis.Remove( index );
-                delete cc;
-                cc = NULL;
-                break;
-                }
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::CheckPluginChangesL
-// ----------------------------------------------------------------------------
-//
-void CHsContentControlFactory::CheckPluginChangesL()
-    {
-    // Array to return all implementations in an interface
-    RImplInfoPtrArray plugInArray;
-    CleanupResetAndDestroyPushL( plugInArray );
-
-    // Get the list of all implementations.
-    REComSession::ListImplementationsL( 
-            KInterfaceUidContentController, plugInArray );
-        
-    TUid uid( KNullUid );
-    TBool done( EFalse );
-    
-    // If an implementation is not present in present in the plugInArray then its removed. 
-    for( TInt index( iImplArray.Count() - 1 ); index >= 0 && !done; --index )
-        {
-        uid = plugInArray[ index ]->ImplementationUid();
-        CImplementationInformation* implInfo = 
-                FindPluginImplInfo( uid, plugInArray );
-        if ( implInfo && PluginUpgradeDowngrade( *implInfo ) )
-            {
-            done = ETrue;
-            }
-        else
-            {
-            // check if ContenControlUi is loaded, unload it
-            for( TInt innerIndex( iHsContentControlUis.Count() - 1 );
-                    innerIndex >= 0 && !done; --innerIndex )
-                {
-                CHsContentControlUi* cc( iHsContentControlUis[ innerIndex ] );
-                if ( cc && cc->ImplUid() == uid )
-                    {
-                    iHsContentControlUis.Remove( innerIndex );
-                    delete cc;
-                    cc = NULL;
-                    done = ETrue;
-                    }
-                }
-            done = ETrue;
-            }
-        }
-
-    // Cleanup.
-    CleanupStack::PopAndDestroy(); // plugInArray
-    
-    // Reset the array and refresh the plugin list.
-    iImplArray.ResetAndDestroy();
-    iImplArray.Close();    
-    REComSession::ListImplementationsL( 
-            KInterfaceUidContentController, iImplArray );
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::FindPluginImplInfo
-// ----------------------------------------------------------------------------
-//
-CImplementationInformation* CHsContentControlFactory::FindPluginImplInfo( 
-        const TUid& aUid, const RImplInfoPtrArray& aPlugInArray )
-    {
-    CImplementationInformation* implInfo( NULL );
-    for( TInt index( aPlugInArray.Count() - 1 ); index >= 0; --index )
-        {
-        implInfo = aPlugInArray[ index ];
-        if( aUid == implInfo->ImplementationUid() )
-            {
-            break;
-            }
-        }
-    return implInfo;
-    }
-
-// ----------------------------------------------------------------------------
-// CHsContentControlFactory::PluginUpgradeDowngrade
-// ----------------------------------------------------------------------------
-//
-TBool CHsContentControlFactory::PluginUpgradeDowngrade( 
-        const CImplementationInformation& aPluginImplInfo )
-    {
-    // Check for each plugin in the array if the version matches with the plugin we have
-    TUid uid = aPluginImplInfo.ImplementationUid();
-    for( TInt outterIndex( iImplArray.Count() - 1 ); outterIndex >= 0; --outterIndex )
-        {
-        if( uid == iImplArray[ outterIndex ]->ImplementationUid() )
-            {
-            if( aPluginImplInfo.Version() != iImplArray[ outterIndex ]->Version() ||
-               aPluginImplInfo.Drive() != iImplArray[ outterIndex ]->Drive() ||
-               aPluginImplInfo.DisplayName() != iImplArray[ outterIndex ]->DisplayName() ||
-               aPluginImplInfo.OpaqueData() != iImplArray[ outterIndex ]->OpaqueData() )
-                {
-                // If control reaches here, it means we either have an upgrade or downgrade.
-                // check if we have loaded this plugin, reload it if found in array.
-                for( TInt innerIndex( iHsContentControlUis.Count() - 1 ); 
-                        innerIndex >= 0; --innerIndex )
-                    {
-                    CHsContentControlUi* cc( iHsContentControlUis[ innerIndex ] );
-                    if ( cc && cc->ImplUid() == uid )
-                        {
-                        iHsContentControlUis.Remove( innerIndex );
-                        delete cc;
-                        cc = NULL;
-                        innerIndex = KErrNotFound;
-                        }
-                    }                    
-                return ETrue;
-                }
-            }
-        }
-    return EFalse;
-    }
-
-// End of file
--- a/idlehomescreen/hscontentcontrol/src/hscontentcontrolui.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +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:  
- *
- */
-
-// System include files
-#include <ecom/ecom.h>
-#include <ecom/implementationinformation.h>
-
-// User include files
-#include "hscontentcontrolui.h"
-
-// Local constants
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------
-// CHsContentControlUi::NewL()
-// -----------------------------------------------------------------------
-//
-EXPORT_C CHsContentControlUi* CHsContentControlUi::NewL(
-    TUid aImplUid )
-    {
-    TAny* ptr = REComSession::CreateImplementationL( aImplUid,
-        _FOFF( CHsContentControlUi, iDestructKey ) );
-
-    CHsContentControlUi* ccUi = 
-        reinterpret_cast< CHsContentControlUi* > ( ptr );
-    
-    if ( ccUi )
-        {
-        ccUi->iImplUid = aImplUid;        
-        }
-    
-    return ccUi;
-    }
-
-// -----------------------------------------------------------------------
-// CHsContentControlUi::ImplUid()
-// -----------------------------------------------------------------------
-//
-TUid CHsContentControlUi::ImplUid() const
-    {
-    return iImplUid;
-    }
-
-// -----------------------------------------------------------------------
-// CHsContentControlUi::SetContentControlTypeL()
-// -----------------------------------------------------------------------
-//
-void CHsContentControlUi::SetContentControlTypeL(
-    const TDesC8& aContentControlType )
-    {
-    delete iContentControlType;
-    iContentControlType = NULL;
-
-    iContentControlType = aContentControlType.AllocL();
-    }
-
-// -----------------------------------------------------------------------
-// CHsContentControlUi::ContentControlType()
-// -----------------------------------------------------------------------
-//
-const TDesC8& CHsContentControlUi::ContentControlType() const
-    {
-    return iContentControlType ? *iContentControlType : KNullDesC8();
-    }
-
-// End of file
--- a/idlehomescreen/hscontentcontrol/src/hscontentcontroluninstallmonitor.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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 to listen SWI uninstall operation.
-*
-*/
-
-#include "hscontentcontroluninstallmonitor.h"
-#include <SWInstallerInternalPSKeys.h>
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::NewL()
-// ---------------------------------------------------------------------------
-//
-CHsContentControlUninstallMonitor* CHsContentControlUninstallMonitor::NewL( 
-        MHsContentControlUninstallObserver& aObs )
-    {
-    CHsContentControlUninstallMonitor* self = 
-        new ( ELeave ) CHsContentControlUninstallMonitor( aObs );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::~CHsContentControlUninstallMonitor()
-// ---------------------------------------------------------------------------
-//
-CHsContentControlUninstallMonitor::~CHsContentControlUninstallMonitor()
-    {
-    Cancel();
-    iSwUninstallKey.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CHsContentControlUninstallMonitor::DoCancel()
-    {
-    if ( IsActive() )
-        {
-        iSwUninstallKey.Cancel();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::RunL()
-// ---------------------------------------------------------------------------
-//
-void CHsContentControlUninstallMonitor::RunL()
-    {
-    iSwUninstallKey.Subscribe( iStatus );
-    SetActive();
-    
-    TInt value = 0;
-    if( iSwUninstallKey.Get( value ) == KErrNone )
-        {
-        TUid uid( KNullUid );
-        uid.iUid = value;
-        iObs.HandleUninstallEvent( uid );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::CHsContentControlUninstallMonitor()
-// ---------------------------------------------------------------------------
-//
-CHsContentControlUninstallMonitor::CHsContentControlUninstallMonitor( 
-    MHsContentControlUninstallObserver& aObs )
-    : CActive( CActive::EPriorityStandard ),
-    iObs( aObs )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CHsContentControlUninstallMonitor::ConstructL()
-    {
-    if ( KErrNone == iSwUninstallKey.Attach( 
-        KPSUidSWInstallerUiNotification, KSWInstallerUninstallation ) )
-        {
-        iSwUninstallKey.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-
-// End of file
--- a/idlehomescreen/inc/ai3.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  Defines flags to enable debug macros
-*
-*/
-
-
-#ifndef AI3_HRH
-#define AI3_HRH
-
-#include <bldvariant.hrh>
-//Enable performance logs
-//#define AI3_DEBUG_PERFORMANCE
-
-//Run AI3 on startup
-#define FF_HOMESCREEN_COMMON_IDLEFW
-
-#define __USE_WIDGET_MANAGER__
-
-#endif //AI3_HRH
--- a/idlehomescreen/inc/ai3perf.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  Defines macros to log performance related details
-*
-*/
-
-
-#ifndef AI3PERF_H
-#define AI3PERF_H
-#include "ai3.hrh"
-#ifdef AI3_DEBUG_PERFORMANCE
-#include "ai3performance.h"
-  #define AI3_PERF_START(p1,p2) CAi3Perf::TPerfData* p1 = CAi3Perf::StartTestCase(_L(p2));
-  #define AI3_PERF_STOP(p1,p2) CAi3Perf::StopTestCase(p1,_L(p2));
-#else
-  #define AI3_PERF_START(p1,p2)
-  #define AI3_PERF_STOP(p1,p2)
-#endif
-
-#endif //AI3PERF_H
\ No newline at end of file
--- a/idlehomescreen/inc/ai3performance.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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 AI3PERFORMANCE_H
-#define AI3PERFORMANCE_H
-
-//  INCLUDES
-#include <e32debug.h>
-#include <e32base.h>
-#include <e32std.h>
-#include <hal.h>
-#include <e32cmn.h>
-#include <flogger.h>
-#include <f32file.h>
-
-_LIT(KLogFileName,"ai3perf.log");
-_LIT(KLogFileDir,"ai3logs");
-_LIT(KLogFileRootDir,"c:\\logs\\");
-
-/**
- *  @class CAi3Perf
- *
- *  Provides API to measure performance (memory and time). Results are saved to a file.
- *
- *  @since Series 60 5.0
- */
-class CAi3Perf : public CBase
-    {
-    public:
-       /**
-        * Struct which holds data before measuring is started.
-        */
-        struct TPerfData
-            {
-           /**
-            * Time when measure starts
-            */
-            TTime iStartTime;
-            
-           /**
-            * Memory when measure starts
-            */
-            TInt iStartMemory;
-            };
-
-    public:  // Constructors and destructor
-       /**
-        * Constructor.
-        */
-        static CAi3Perf* NewL();
-        
-       /**
-        * Destructor.
-        */
-        virtual ~CAi3Perf();
-
-    public: // New functions
-       /**
-        * Prints current amount of memory to file.
-        *
-        * @param aMsg User defined message which is printed before amount of memory
-        */
-        inline static void PrintUserMem(const TDesC& aMsg);
-        
-       /**
-        * Saves current amount of memory and time and returns those to user.
-        *
-        * @param aMsg User defined message.
-        * @return TPerfData which holds current memory consumption and time.
-        */
-        inline static TPerfData* StartTestCase(const TDesC& aMsg = KNullDesC);
-        
-       /**
-        * Reads current amount of memory and time and calculates performance using
-        * values got from StartTestCase.
-        *
-        * @param aData Data which has got when calling StartTestCase.
-        * @param aMsg User defined message.
-        */
-        inline static void StopTestCase(TPerfData* aData, const TDesC& aMsg = KNullDesC);
-        
-       /**
-        * Create file where results are written to.
-        */
-        inline static void CreateLogFile();
-    private:
-       /**
-        * Internal constructor.
-        */
-        CAi3Perf();
-        
-       /**
-        * Internal constructor.
-        */
-        void ConstructL();
-    };
-
-inline void CAi3Perf::PrintUserMem(const TDesC& aMsg)
-    {
-    TBuf<512> buffer;
-    TInt freeRAM;
-    HAL::Get(HALData::EMemoryRAMFree, freeRAM);
-    RHeap heap = User::Heap();
-    heap.Open();
-    TInt _size = heap.Size();
-    TInt largest = 0;
-    TInt available = heap.Available(largest);
-    heap.Close();
-    _LIT( KMemoryFormat, "FreeRAM: %d kB, User: - heap %d kB, available %d kB, largest block %d kB" );
-    buffer.Format(KMemoryFormat, freeRAM / 1024, _size / 1024, available / 1024, largest / 1024);
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat( KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("RAM - %S - %S"), &aMsg, &buffer);
-    }
-
-inline CAi3Perf::TPerfData* CAi3Perf::StartTestCase(const TDesC& aMsg)
-    {
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("Test case %S starts"), &aMsg);
-    CAi3Perf::TPerfData* data = new (ELeave) TPerfData;
-    TTime readyTime;
-    data->iStartTime.HomeTime();
-    User::AllocSize(data->iStartMemory);
-    return data;
-    }
-
-inline void CAi3Perf::StopTestCase(CAi3Perf::TPerfData* aData, const TDesC& aMsg)
-    {
-    if(!aData)
-        {
-        return;
-        }
-    TTime readyTime;
-    readyTime.HomeTime();
-    TTimeIntervalMicroSeconds delay = readyTime.MicroSecondsFrom(aData->iStartTime);
-    TTime transferTime(delay.Int64());
-    TBuf<64> timeString;
-    transferTime.FormatL(timeString, _L("- Elapsed time: %S%C microseconds"));
-    TBuf<256> tmp;
-    tmp.Append(timeString);
-
-    RFileLogger::Write(KLogFileDir,KLogFileName,EFileLoggingModeAppend,tmp);
-    // Memory consumption
-    TInt endMemory;
-    User::AllocSize(endMemory); 
-
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("- Allocated memory: %d kB"), (endMemory - aData->iStartMemory) / 1024);
-    delete aData;
-    aData = NULL;
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("Test case %S ends"), &aMsg);
-    }
-inline void CAi3Perf::CreateLogFile()
-    {
-        RFs fsSession;
-        RFile file;
-        User::LeaveIfError(fsSession.Connect());
-        TFileName filename;
-        filename.Append(KLogFileRootDir);
-        filename.Append(KLogFileDir);
-        filename.Append(_L("\\"));
-        //create logs directory if it doesn't exist
-        fsSession.MkDir(filename);
-        filename.Append(KLogFileName);
-        //check if log file already exists
-        TInt retStatus = file.Open(fsSession,filename,EFileRead);
-        if(retStatus == KErrNotFound)
-            file.Create(fsSession,filename,EFileWrite);         //create a new log file
-        file.Close();
-        fsSession.Close();
-    }
-#endif // AI3PERFORMANCE_H
-            
-// End of File
--- a/idlehomescreen/inc/ainativeuiplugins.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Native Ui's content publisher plug-ins.
-*
-*/
-
-
-#ifndef AINATIVEUIPLUGINS_H
-#define AINATIVEUIPLUGINS_H
-
-#include <aisystemuids.hrh>
-#include "aipropertyextension.h"
-#include "aiprofilepluginuids.hrh"
-
-const TUid KDeviceStatusPluginUid = { AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_DEVSTAPLUGIN };
-_LIT( KDeviceStatusPluginName, "0x102750F8" );
-
-const TUid KShortcutPluginUid = { AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_SHORTCUTPLUGIN };
-_LIT( KShortcutPluginName, "Shortcut" );
-
-const TUid KProfilePluginUid = { AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_PROFILEPLUGIN };
-_LIT( KProfilePluginName, "Profile" );
-
-_LIT8( KNativeUiNamespace, "NativeUiNamespace" );
-
-#endif // AINATIVEUIPLUGINS_H
--- a/idlehomescreen/inc/c_xnutils.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-* Utility functions of Xuikon.
-*
-*/
-
-#ifndef C_XNUTILS_H
-#define C_XNUTILS_H
-
-// System includes
-#include <e32base.h>
-#include <gdi.h>
-#include <gulalign.h>
-
-// Forward declarations
-class CXnNodePluginIf;
-class CFont;
-class CXnNode;
-class CXnResource;
-class TAknsItemID;
-
-// Class declaration
-/**
- * Utility functions for Xuikon.
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 v3.1
- */
-class CXnUtils : public CBase
-    {
-public:
-    /**
-    * Creates the font according the parameters found from the given node.
-    * Avkon font ids or font-family names can be used. If font family is
-    * missing or defined as normal, system normal font is created.
-    *
-    * @since S60 v3.1
-    * @param aNode Text element node.
-    * @param aFont Font to be created.
-    * @param aReleaseFont Whether the font needs to be released or not.
-    */
-    IMPORT_C static void CreateFontL(
-        CXnNodePluginIf& aNode,
-        CFont*& aFont,
-        TInt& aReleaseFont );
-
-    /**
-    * Creates the font according the given parameters.
-    * Avkon font ids or font-family names can be used. If font family is
-    * missing or defined as normal, system normal font is created.
-    *
-    * @since S60 v3.2
-    * @param aFontName Font name.
-    * @param aFontSizeInPixels Defines a font size.
-    * @param aFontStyle Defines the style, i.e. italic, bold, etc.
-    * @param aFont Font to be created.
-    * @param aReleaseFont Whether the font needs to be released or not.
-    */
-    IMPORT_C static void CreateFontL(
-        const TDesC& aFontName,
-        TInt aFontSizeInPixels,
-        TFontStyle aFontStyle,
-        CFont*& aFont,
-        TInt& aReleaseFont );
-
-    /**
-    * Collapses the white spaces and special charachters from the given string
-    * according to properties found from the given node.
-    *
-    * @since S60 v3.1
-    * @param aNode Text element node.
-    * @param aDes Descriptor to be modified.
-    */
-    IMPORT_C static void CollapseWhiteSpace(
-        CXnNodePluginIf& aNode, TDes &aDes );
-
-    /**
-    * Returns the text alignment according to properties found from the given
-    * node.
-    *
-    * @since S60 v3.1
-    * @param aNode Text element node.
-    * @return The text alignment.
-    */
-    IMPORT_C static TGulAlignmentValue TextAlignment( CXnNodePluginIf& aNode );
-
-    /**
-    * Scales the source bitmap into a given rectangle of the target bitmap.
-    * Source and target bitmaps must have the same display mode.
-    *
-    * @since S60 v3.1
-    * @param aTrgRect A rectangle area where the source bitmap is scaled.
-    * @param aTrgBitmap A newly created bitmap.
-    * @param aSrcBitmap An original bitmap.
-    */
-    IMPORT_C static void ScaleBitmapL(
-        const TRect& aTrgRect,
-        CFbsBitmap* aTrgBitmap,
-        CFbsBitmap* aSrcBitmap );
-
-    /**
-     * Strips quotes from a descriptor string.
-     *
-     * @param aString A string.
-     */
-    IMPORT_C static void StripQuotes( HBufC*& aString );
-
-    /**
-     * Resolves a skin item ID from a descriptor string. The skin item ID is
-     * stored in aItemID
-     *
-     * @param aSkinId A skin ID as a string descriptor.
-     * @param aItemID An item ID to which the values are set from the
-     *        descriptor.
-     */
-    IMPORT_C static TBool ResolveSkinItemIDL(
-        const TDesC& aSkinId,
-        TAknsItemID& aItemID );
-
-    /**
-     * Resolves a skin item ID and an integer index from a descriptor string.
-     * The skin item ID is stored in aItemID and the index is stored in aIndex.
-     *
-     * @param aSkinId A skin ID as a descriptor string.
-     * @param aItemID An item ID to which the values are set from the
-     *        descriptor.
-     * @param aIndex An integer index.
-     */
-    IMPORT_C static TBool ResolveSkinItemIDL(
-        const TDesC& aSkinId,
-        TAknsItemID& aItemID,
-        TInt& aIndex );
-
-    /**
-     * Resolves RGB colour value from a string.
-     *
-     * @param aValue Resolved RGB value.
-     * @param aData String from which RGB value is resolved.
-     */
-    IMPORT_C static TBool GetRgbValue( TRgb& aValue, const TDesC8& aData );
-
-    /**
-     * Converts HSL value to RGB and returns the RGB value.
-     *
-     * @param aHue Hue.
-     * @param aSaturation Saturation.
-     * @param aLightness Lightness.
-     */
-    IMPORT_C static TRgb ConvertHslToRgb(
-        TInt aHue,
-        TInt aSaturation,
-        TInt aLightness );
-
-    /**
-     * Handles power save mode
-     *
-     * @param aNode A node where to start iterate.
-     * @param aEvent Mode event.
-     * @param aEnter enter or exit the mode.
-     * @return ETrue if entered to the mode, EFalse if exited
-     */
-    IMPORT_C static TBool HandlePowerSaveModeL(
-        CXnNode* aNode,
-        TBool aEnter,
-        TInt aEvent );
-
-    /**
-     * Finds a CXnResource object by the resource file name.
-     *
-     * @param aArray UIEngine's resource array
-     * @param aResourceFileName resource file name
-     * @param aBitmapIndex bitmap index
-     */
-    IMPORT_C static CXnResource* FindResource(
-        CArrayPtrSeg< CXnResource >& aArray,
-        const TDesC& aResourceFileName,
-        TInt& aBitmapIndex );
-
-    /**
-     * @internal
-     */
-    static TBool DoesScaleBitmapUseFallBack( CFbsBitmap* aSrcBitmap );
-
-    /**
-     * @internal
-     */
-    static void ScaleBitmapExtL(
-        const TRect& aTrgRect,
-        CFbsBitmap* aTrgBitmap,
-        CFbsBitmap* aSrcBitmap,
-        TBool aForceFallBack );
-    };
-
-#endif
--- a/idlehomescreen/inc/extrstandbycontainerconst.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#ifndef EXTRSTANDBYCONTAINERCONST_H
-#define EXTRSTANDBYCONTAINERCONST_H
-
-// Standby container interface Uid.
-#define KExtrStandbyContainerIFUid 0x101FD656
-
-#endif  // EXTRSTANDBYCONTAINERCONST_H
-
-// End of File
--- a/idlehomescreen/inc/extrstandbycontainerif.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Define the inteface for the container of externale standby screen plug-ins
-*
-*/
-
-
-#ifndef C_EXTRSTANDBYCONTAINERIF_H
-#define C_EXTRSTANDBYCONTAINERIF_H
-
-#include <e32std.h>
-#include <ecom/ecom.h>
-#include <coecntrl.h>
-
-#include "extrstandbycontainerconst.h"
-
-// Standby container interface Uid.
-const TUid KCExtrStandbyContainerIFUid = {KExtrStandbyContainerIFUid};
-
-/**
-*  It is the interface for the Active Idle.
-*
-*  @since Series 60 3.2
-*/
-class CExtrStandbyContainerIF : public CCoeControl
-    {
-public:
-
-// Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aImplementationUid Implementation ID of the AI plugin
-        * @param aInitData  Init data.
-        * @return Pointer to the CAIContainer object.
-        */
-        inline static CExtrStandbyContainerIF* NewL(
-            TUid aImplementationUid,
-            CCoeControl *aContainer);
-
-        /**
-        * Destructor.
-        */
-        inline virtual ~CExtrStandbyContainerIF();
-
-// New functions
-
-        /**
-        * Start Active Idle
-        */
-        virtual void StartL()=0;
-
-        /**
-        * Sets mode for External Homescreen (Full screen or normal)
-        * @param TBool, ETrue for full screen EFalse otherwise
-        * @since S60 3.2
-        */
-        virtual void SetFullScreenMode(TBool aFullScreenMode)=0;
-
-private: // Data
-
-        // ECOM framework requires this ID in object destructor
-        TUid iDtor_ID_Key;
-
-    };
-
-    #include "extrstandbycontainerif.inl"
-
-#endif  // C_EXTRSTANDBYCONTAINERIF_H
-
-// End of File
--- a/idlehomescreen/inc/extrstandbycontainerif.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Define the inteface for the container of externale standby screen plug-ins
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// CExtrStandbyContainerIF::NewL
-// -----------------------------------------------------------------------------
-//
-inline CExtrStandbyContainerIF* CExtrStandbyContainerIF::NewL(
-    TUid aImplementationUid, 
-    CCoeControl *aContainer )
-    {
-    return REINTERPRET_CAST( CExtrStandbyContainerIF*, 
-        REComSession::CreateImplementationL( 
-            aImplementationUid, 
-            _FOFF( 
-                CExtrStandbyContainerIF, 
-                iDtor_ID_Key ), 
-            aContainer ) ) ;
-    }
-    
-// -----------------------------------------------------------------------------
-// CExtrStandbyContainerIF::~CExtrStandbyContainerIF
-// -----------------------------------------------------------------------------
-//
-inline CExtrStandbyContainerIF::~CExtrStandbyContainerIF()
-    {
-    // Destroy any instance variables and then
-    // inform the framework that this specific
-    // instance of the interface has been destroyed.
-    REComSession::DestroyedImplementation( iDtor_ID_Key );
-    }
--- a/idlehomescreen/inc/mxncomponentinterface.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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:  Base interface for component data APIs
-*
-*/
-
-
-#ifndef __MXNCOMPONENTINTERFACE_H__
-#define __MXNCOMPONENTINTERFACE_H__
-
-//  INCLUDES
-#include    <e32base.h>
-#include	"xnnodeappif.h"
-
-// CLASS DECLARATION
-/**
-*  Base interface for component data APIs
-*  @lib xnlayoutengine.lib
-*  @since Series 60 3.1
-*/
-namespace XnComponentInterface
-    {
-    _LIT8(KType, "");
-   
-    class MXnComponentInterface
-		    {
-        public:
-        static inline const TDesC8& Type()
-            {
-            return KType;
-            }
-   			};
-		
-    template<class T> TBool MakeInterfaceL(T*& aTargetInterface, CXnNodeAppIf& aNode)
-        {
-        aTargetInterface = static_cast<T*>(aNode.MakeInterfaceL(T::Type()));
-        return aTargetInterface ? ETrue : EFalse;
-        }
-      }
-#endif //__MXNCOMPONENTINTERFACE_H__
--- a/idlehomescreen/inc/mxndomiterator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Interface class for dom iterators
-*
-*/
-
-
-
-#ifndef MXN_DOM_ITERATOR_H
-#define MXN_DOM_ITERATOR_H
-
-
-// FORWARD DECLARATIONS
-class CXnDomNode;
-
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Mixin class to let us define different iterators for 
-*  different traversal policies.
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 3.1
-*/
-class MXnDomIterator
-    {
-   public:  // Destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~MXnDomIterator(){}
-
-    public: // Adding and removing
-    	
-    	/**
-        * Get first i.e root node.
-        * @since Series 60 3.1
-        */
-        virtual CXnDomNode* First()=0;
-    	/**
-        * Get next node.
-        * @since Series 60 3.1
-        */
-        virtual CXnDomNode* NextL()=0;
-        
-    };
-
-#endif      // MXN_DOM_ITERATOR_H  
-            
-// End of File
--- a/idlehomescreen/inc/mxndomlistitem.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Interface class for dom list items.
-*
-*/
-
-
-
-#ifndef MXN_DOM_LIST_ITEM_H
-#define MXN_DOM_LIST_ITEM_H
-
-//  INCLUDES
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Class represents a list item interface. Items are stored into
-*  a CXnDomList as a instance of this class.
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 3.1
-*/
-class MXnDomListItem
-    {
-    public:  // Destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~MXnDomListItem(){}
-
-    public: // Serializing
-                        
-        /**
-        * This list item's data size in bytes.
-        * @since Series 60 3.1
-        * @return Data size in bytes.
-        */
-        virtual TInt Size() const=0;
-        
-        /**
-        * Externalize list item.
-        * @since Series 60 3.1
-        * @param aStream Output stream
-        */
-        virtual void ExternalizeL( RWriteStream& aStream )const=0;
-        
-        /**
-        * Internalize list item.
-        * @since Series 60 3.1
-        * @param aStream Input stream
-        */
-        virtual void InternalizeL( RReadStream& aStream )=0;
-        
-        
-        
-    public: //Accessing     
-        /**
-        * Get the name of this item as UTF8 encoded, if any. 
-        * @since Series 60 3.1
-        * @return Name buffer or KNullDesC8
-        */
-        virtual const TDesC8& Name()=0;     
- 
-    };
-
-#endif      // MXN_DOM_LIST_ITEM_H 
-            
-// End of File
--- a/idlehomescreen/inc/mxndomvisitor.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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:  Visitor class interface 
-*
-*/
-
-
-
-#ifndef MXN_DOM_VISITOR_H
-#define MXN_DOM_VISITOR_H
-
-// CLASS FORWARD
-class CXnDomNode;
-
-// CLASS DECLARATION
-
-/**
-*  Visitor class modifies DOM node element's data.
-*
-*  @lib xndomvisitor.dll
-*  @since Series 60 3.1
-*/
-class MXnDomVisitor
-    {
-    public: // New functions
-        
-        /**
-        * Check in-memory plugin version.
-        * @return ETrue if version match
-        */
-        virtual TBool IsVersion( const TDesC8& aVersion )=0;
-        
-        /**
-        * Modifies data
-        * @param aData Data to modify
-        */
-        virtual void ModifyDataL( CXnDomNode& aNode )=0;
-        
-        /**
-        * Sets element content type (TContentType) from XnDomNode.h
-        * @param aNode Node to modify
-        */
-        virtual void SetElementTypeL( CXnDomNode& aNode )=0;
-        
-        /**
-        * Ecom passes a destructor key at the time when plugin is created
-        * and requires that key when plugin is destroyed.
-        * @param aKey ECom required destructor key
-        */ 
-        virtual void SetDtorKey( const TUid aDtorKey )=0;
-        
-        /**
-        * Release resources
-        */
-        virtual void Release()=0;
-    
-    protected:
-        /**
-        * Plugin can only be destroyed by calling Release().
-        */
-        ~MXnDomVisitor(){};
-
-    };
-
-#endif      // MXN_DOM_VISITOR_H  
-            
-// End of File
--- a/idlehomescreen/inc/tracer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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:   
-*
-*/
-#ifndef __TTRACER_H__
-#define __TTRACER_H__
-
-#include <e32std.h>
-#include <e32svr.h>
-#include <f32file.h>
-
-//#ifdef _DEBUG
-#define TRACER_ENABLED
-//#else
-//#undef TRACER_ENABLED
-//#endif
-
-/** Macro to initialise the tracer. Set the indentation level to zero. */
-#ifdef TRACER_ENABLED
-#define INITTRACE TTracer t
-#else
-#define INITTRACE
-#endif
-
-/** Macro to trace the function calls.
-  * @param a Text to display. Usually class::function */
-#ifdef TRACER_ENABLED
-#define TRACE(a) TTracer t(_L(a))
-#else
-#define TRACE(a)
-#endif
-
-/** Macro to print a string to the trace window.
-  * @param a Text to print.
-  */
-#ifdef TRACER_ENABLED
-#define TRACESTR(a) TTracer::Print(_L(a))
-#else
-#define TRACESTR
-#endif
-
-/** 
- * @ingroup group_xnutils
- * 
- * Class for tracing function calls. Indentation shows the call tree.
- * Also the entry and leave points are time labeled, show timing info is available. 
- */
-class TTracer
-{
-public:
-	/** Initialising constructor. */
-	IMPORT_C TTracer();
-
-	/** Tracing constructor.
-	  * Writes time lable and "Enter: " + the given string.
-	  */
-	IMPORT_C TTracer(TPtrC aString);
-
-	/** Destructor.
-	  * Writes time lable and "Leave: " + the given string.
-	  */
-	IMPORT_C ~TTracer();
-
-	/** Prints the given string to the trace window.
-	  * @param a Text to print.
-	  */
-    IMPORT_C static void Print(TPtrC aString);
-//    static TInt Print(TRefByValue<const TDesC> aFmt,...);
-
-private:
-    RFs iFs;
-
-	TBuf<255> iString;
-//	RFileLogger iFLogger;
-};
-
-
-#endif // __TTRACER_H__
--- a/idlehomescreen/inc/xnanimation.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Wrapper class for Animation.
-*
-*/
-
-
-
-#ifndef _XNANIMATION_H
-#define _XNANIMATION_H
-
-//  INCLUDES
-#include "xncomponent.h"
-#include "mxncomponentinterface.h"
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-
-// CLASS DECLARATION
-
-namespace XnAnimationInterface
-{
-_LIT8(KType, "animation");
-class MXnAnimationInterface : public XnComponentInterface::MXnComponentInterface
-   {
-
-public:
-		
-    static inline const TDesC8& Type()
-        {
-        return KType;
-        }
-		
-// Add New functions if needed 
-   };
- }   
-    
-/**
-*  @ingroup group_xnanimationfactory
-*  @lib xn3animationfactory.dll
-*  @since Series 60 9.2
-*/
-class CXnAnimation : public CXnComponent, public XnAnimationInterface::MXnAnimationInterface
-   {
-
-public:
-
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnAnimation* NewL();
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnAnimation();
-
-public: // from CCoeControl
-   	/**
-      * Create a component interface according to the given type.
-      * @param aType Type of the interface to create
-      * @return Created interface or NULL if the provided type is not supported.
-      */ 
-    virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(const TDesC8& aType); 
-  
-	        
-private:
-    /**
-     * Default constructor.
-     */
-    CXnAnimation();
-    
-    /**
-     * ConstructL
-     */
-	void ConstructL();
-   };
-
-#endif      // _XNANIMATION_H
-            
-// End of File
--- a/idlehomescreen/inc/xnapplication.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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:
-* Application base class for Xuikon
-*
-*/
-
-#ifndef XNAPPLICATION_H
-#define XNAPPLICATION_H
-
-// System includes
-#include <aknapp.h>
-
-// Class declaration
-/**
- * Application base class for Xuikon.
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since Series 60 3.1
- */
-class CXnApplication : public CAknApplication
-    {
-public:
-    /**
-     * C++ default constructor.
-     */
-    IMPORT_C CXnApplication( TUid aApplicationUid );
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnApplication();
-
-protected:
-    /**
-     * From CApaApplication.
-     * Returns the application uid.
-     *
-     * @since Series 60 3.1
-     * @return Application uid
-     */
-    IMPORT_C virtual TUid AppDllUid() const;
-
-    /**
-     * From CApaApplication.
-     * Creates a document.
-     *
-     * @since Series 60 3.1
-     * @param aProcess Application framework process object
-     * @return Application document
-     */
-    IMPORT_C virtual CApaDocument* CreateDocumentL();
-
-private:
-    // Data
-
-    /**
-     * application uid
-     */
-    TUid iApplicationUid;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnappuiadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,284 +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:
-* Avkon adapter for Xuikon
-*
-*/
-
-#ifndef XNAPPUIADAPTER_H
-#define XNAPPUIADAPTER_H
-
-// System includes
-#include <aknViewAppUi.h>
-
-// Forward declarations
-class TXnUiEngineAppIf;
-class CXnNodeAppIf;
-class CXnDomNode;
-class CXnAppUiAdapterImpl;
-class CXnUiEngine;
-class CXnUiStateListener;
-class CXnViewManager;
-class CXnViewAdapter;
-class MHsContentControlUi;
-class CXnEffectManager;
-class MHsContentControl;
-// Class declaration
-/**
- * Avkon adapter for Xuikon.
- *
- * @ingroup group_xnlayoutengine
- * @lib xnlayoutengine.lib
- * @since Series 60 3.1
- */
-class CXnAppUiAdapter : public CAknViewAppUi
-    {
-public:
-    /**
-     * C++ default constructor.
-     *
-     * @param aApplicationUid Application UID
-     */
-    IMPORT_C CXnAppUiAdapter( TUid aApplicationUid );
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnAppUiAdapter();
-
-public:
-    // New functions
-
-    /**
-     * Get the UI engine
-     *
-     * @since Series 60 3.1
-     * @return UI engine
-     */
-    IMPORT_C TXnUiEngineAppIf* UiEngineL();
-
-    /**
-     * Handle interaction notification from the engine
-     *
-     * @since Series 60 3.1
-     * @param aOrigin Node that originated the event
-     * @param aTrigger Trigger information of the event, as created by event
-     *        originator
-     * @param aTriggerDefinition Trigger information as it exists in the action
-     *        definition in xml
-     * @param aEvent Event information of the event
-     */
-    IMPORT_C virtual void HandleXuikonEventL(
-        CXnNodeAppIf& aOrigin,
-        CXnNodeAppIf& aTrigger,
-        CXnDomNode& aTriggerDefinition,
-        CXnDomNode& aEvent );
-
-    /**
-     * Handles data plugin loading.
-     * To be overriden by subclass.     
-     *
-     * @since S60 5.0
-     * @param aList list of plugins to load     
-     */
-    IMPORT_C virtual void LoadDataPluginsL(
-        RPointerArray< CXnNodeAppIf >& aList );
-
-    /**
-     * Handles data plugin destroying.
-     * To be overriden by subclass.     
-     *
-     * @since S60 5.0
-     * @param aList list of plugins to destroy     
-     */
-    IMPORT_C virtual void DestroyDataPluginsL(
-        RPointerArray< CXnNodeAppIf >& aList );
-
-    /**
-     * Handles dynamic menuitem element initialisation.
-     * To be overriden by subclass.     
-     *
-     * @since S60 5.0
-     * @param aItemType Menuitem type 
-     * @param aList List of data plugins
-     * @return ETrue if menuitem should be shown, EFalse otherwise     
-     */    
-    IMPORT_C virtual TBool DynInitMenuItemL( 
-        const TDesC& aItemType, 
-        RPointerArray< CXnNodeAppIf >* aList = NULL );
-
-    /**
-     * Determines and sets data plugins to online.
-     * To be overriden by subclass.     
-     *     
-     * @since S60 5.0
-     * @param aList List of data plugins     
-     */            
-    IMPORT_C virtual void SetOnlineStateL(     
-        RPointerArray< CXnNodeAppIf >& aList );
-    
-    /*
-     * Returns the Xml Ui view as CAknView reference.
-     * 
-     * @since S60 5.0
-     * @return Xml Ui View 
-     */
-    IMPORT_C CAknView& CXnAppUiAdapter::View() const;
-	
-    /**
-     * Handles page switch changes 
-     * To be overriden by subclass.     
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C virtual void HandlePageSwitch();
-    
-    /**
-     * Handles changes when entering or exiting edit mode 
-     * To be overriden by subclass.     
-     *
-     * @since S60 5.0
-     * @param aEnter enter or exit edit mode
-     */
-    IMPORT_C virtual void HandleEnterEditModeL( TBool aEnter );
-
-public:
-    /**
-     * From CEikAppUi.
-     * Second-phase constructor
-     *
-     * @since Series 60 3.1
-     */
-    IMPORT_C void ConstructL();
-
-protected:
-
-    /**
-     * From CAknAppUi.
-     *
-     * @since Series 60 3.1
-     */
-    IMPORT_C void HandleResourceChangeL( TInt aType );
-    
-public:
-    // new functions
-        
-    /**
-     * Reloads the UI
-     */
-    void ReloadUiL();
-
-    /**
-     * Gets UiEngine
-     * 
-     * @since S60 5.0
-     * @return UiEngine
-     */    
-    CXnUiEngine& UiEngine() const;
-    
-    /**
-     * Gets ViewManager
-     * 
-     * @since S60 5.0
-     * @return ViewManager
-     */    
-    CXnViewManager& ViewManager() const;
-
-    /**
-     * Gets ViewAdapter
-     * 
-     * @since S60 5.0
-     * @return ViewAdapter
-     */        
-    CXnViewAdapter& ViewAdapter() const;
-    
-    /**
-     * Gets UiStateListener
-     * 
-     * @since S60 5.0
-     * @return UiStateListener
-     */    
-    CXnUiStateListener& UiStateListener() const;
-    
-    /**
-     * Gets a Content Control UI
-	 *
-	 * @since S60 5.0
-	 * @param aType Content control UI type
-	 * @return Interface to content control UI, NULL if not present
-     */
-    MHsContentControlUi* HsContentController( const TDesC8& aType ) const;
-	
-    /**
-     * Get effect manager
-     *
-     * @since S60 5.0
-     * @return effect manager
-     */
-    CXnEffectManager* EffectManager() const;
-
-    /**
-     * Gets a Content Control server interface
-     *
-     * @since S60 5.0
-     * @return Interface to content control server, NULL if not present
-     */
-    MHsContentControl* HsContentControlSrv() const;
-
-    /**
-     * Queries whether the focus control is visible
-     *
-     * @since S60 5.0
-     * @return ETrue focus is shown, EFalse otherwise
-     */    
-    TBool FocusShown() const;
-
-    /**
-     * Makes focus control invisible
-     *
-     * @since S60 5.0     
-     */        
-    void HideFocus();
-
-    /**
-     * Makes focus control visible
-     *
-     * @since S60 5.0     
-     */        
-    void ShowFocus();
-
-private:
-    // Data
-
-    /**
-     * application uid
-     */
-    TUid iApplicationUid;
-
-    /**
-     * appui adapter impl.
-     * Own.
-     */
-    CXnAppUiAdapterImpl* iImpl;
-
-    /**
-     * Proxy to UiEngine.
-     * Own.
-     */
-    TXnUiEngineAppIf* iUiEngineAppIf;
-    };
-
-#endif
-
-// End of file
--- a/idlehomescreen/inc/xnarray.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +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:  Heap-allocated array
-*
-*/
-
-
-
-#ifndef CXNARRAY_H
-#define CXNARRAY_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-// CLASS DECLARATION
-
-/**
-* @ingroup group_xnutils
-* 
-*  Heap-allocated array
-*  @since Series 60 3.1
-*/
-class CXnArray : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnArray* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CXnArray();
-        
-    public: // New functions
-        
-        /**
-        * Get the underlying container
-        * @since Series 60 3.1
-        * @return Underlying container
-        */
-
-        IMPORT_C RArray<TAny*>& Container();
-
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnArray();
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-        // Internal container
-        RArray<TAny*> iContainer;
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // CXnARRAY_H
-            
-// End of File
--- a/idlehomescreen/inc/xnbitmap.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Wrapper class for Bitmap.
-*
-*/
-
-
-
-#ifndef _XNBITMAP_H
-#define _XNBITMAP_H
-
-//  INCLUDES
-#include "xncomponent.h"
-#include "mxncomponentinterface.h"
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-
-// CLASS DECLARATION
-
-namespace XnImageInterface
-{
-_LIT8(KType, "image");
-class MXnImageInterface : public XnComponentInterface::MXnComponentInterface
-   {
-
-public:
-		
-    static inline const TDesC8& Type()
-        {
-        return KType;
-        }
-		
-public: // New functions
-
-    /**
-    * Sets content bitmaps. Ownership is transferred.
-    * @since Series 60 3.1
-    * @param aBitmap Bitmap to draw
-    * @param aMask Mask to use
-    */        
-    virtual void SetContentBitmaps(CFbsBitmap* aBitmap, CFbsBitmap* aMask) = 0;   
-
-    /**
-    * Gets content bitmaps. Ownership is not transferred.
-    * @since Series 60 3.1
-    * @param aBitmap Bitmap to draw
-    * @param aMask Mask to use
-    */        
-    virtual void ContentBitmaps(CFbsBitmap*& aBitmap, CFbsBitmap*& aMask) = 0;
-
-private:
-
-   };
- }   
-    
-/**
-*  @ingroup group_xnbitmapfactory
-*  @lib xn3bitmapfactory.dll
-*  @since Series 60 3.1
-*/
-class CXnBitmap : public CXnComponent, public XnImageInterface::MXnImageInterface
-   {
-
-public:
-
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnBitmap* NewL();
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnBitmap();
-
-public: // New functions
-    /**
-    * Sets content bitmaps. Ownership is transferred.
-    * @since Series 60 3.1
-    * @param aBitmap Bitmap to draw
-    * @param aMask Mask to use
-    */        
-    void SetContentBitmaps(CFbsBitmap* aBitmap, CFbsBitmap* aMask);   
-
-    /**
-    * Gets content bitmaps. Ownership is not transferred.
-    * @since Series 60 3.1
-    * @param aBitmap Bitmap to draw
-    * @param aMask Mask to use
-    */        
-    void ContentBitmaps(CFbsBitmap*& aBitmap, CFbsBitmap*& aMask);
-
-
-public: // from CCoeControl
-   	/**
-      * Create a component interface according to the given type.
-      * @param aType Type of the interface to create
-      * @return Created interface or NULL if the provided type is not supported.
-      */ 
-    virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(const TDesC8& aType); 
-  
-	        
-private:
-
-	CXnBitmap();
-	void ConstructL();
-
-private:
-   };
-
-#endif      // _XNBITMAP_H
-            
-// End of File
--- a/idlehomescreen/inc/xnbreadthfirsttreeiterator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,237 +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:  Iterates over a tree, breadth first search algorithm
-*
-*/
-
-
-#ifndef XNBREADTHFIRSTTREEITERATOR_H
-#define XNBREADTHFIRSTTREEITERATOR_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <e32cmn.h>
-#include "xnchilditerator.h"
-
-
-// Constants
-/** 
- * Queue granularity value
- */
-const TInt KMemoryAlocQ = 64;
-
-template < class T >
-    class CXnBreadthFirstTreeIterator: public CBase, public MXnChildIterator
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * @param aStartNode object to iterate over
-     * @param aDepth with default parameter value 0.
-     */
-    static CXnBreadthFirstTreeIterator< T >* NewL( T& aStartNode,
-        TUint aDepth = 0 );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnBreadthFirstTreeIterator();
-
-    /**
-     * Get the next iterator value.
-     * @return Next object or NULL if no more values. 
-     */
-    T* NextL();
-
-    /**
-     * Get the current iterator value.
-     * @return Current object 
-     */     
-    T* Value();
-
-    /**
-     * Get the previous iterator value. Obsolete!
-     * @return NULL 
-     */
-    T* PreviousL();
-
-    /**
-     * Get the current iterator index. Obsolete!
-     * @return value 0
-     */
-    TUint Index() const;
-
-protected:
-    
-    /**
-     * C++ default constructor. 
-     */
-    CXnBreadthFirstTreeIterator( T* aStartNode, TUint aDepth = 0 );
-
-    /**
-     * 2nd phase constructor. 
-     */
-    void ConstructL();
-
-private: //Data
-    // Queue
-    RPointerArray< T > iQueue;
-    // Object to iterate over
-    T* iStart;
-    // Current object
-    T* iCurrent;
-    // Tree depth
-    TUint iDepth;
-    // Current index 
-    TUint iIndex;
-    };
-
-
-
-// -----------------------------------------------------------------------------
-// CXnBreadthFirstTreeIterator< T >::NewL()
-// -----------------------------------------------------------------------------
-//
-template< class T > CXnBreadthFirstTreeIterator< T >*
-    CXnBreadthFirstTreeIterator< T >::NewL( T& aStartNode, TUint aDepth )
-    {
-    CXnBreadthFirstTreeIterator< T >* p = 
-        new ( ELeave )CXnBreadthFirstTreeIterator< T >( &aStartNode,
-            aDepth );
-    CleanupStack::PushL( p );
-    p->ConstructL();
-    CleanupStack::Pop();
-    return p;
-    }
-
-
-// -----------------------------------------------------------------------------
-// XnBreadthFirstTreeIterator< T >::CXnBreadthFirstTreeIterator()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-template< class T >
-    CXnBreadthFirstTreeIterator< T >::CXnBreadthFirstTreeIterator(
-    T* aStartNode, TUint aDepth ) : iQueue( KMemoryAlocQ ), iStart( 
-    aStartNode ),iCurrent( aStartNode ),iDepth( aDepth )
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBreadthFirstTreeIterator< T >::~CXnBreadthFirstTreeIterator()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-template< class T >
-    CXnBreadthFirstTreeIterator< T >::~CXnBreadthFirstTreeIterator()
-    { 
-    iQueue.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBreadthFirstTreeIterator< T >::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-template< class T >
-    void CXnBreadthFirstTreeIterator< T >::ConstructL()
-    {
-    iQueue.AppendL( iStart );
-    iIndex = 0; 
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBreadthFirstTreeIterator< T >::NextL()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnBreadthFirstTreeIterator< T >::NextL()
-    { 
-    if( iQueue.Count() )
-        {
-        // Dequeue
-        if ( !iDepth )
-            {
-            iCurrent = iQueue[0];
-            iQueue.Remove(0);
-            }
-        
-        RPointerArray< T > currentChildNodes = iCurrent->ChildrenL();
-        TInt currentChildCount( currentChildNodes.Count() );
-                
-        if ( iDepth )
-            {
-             if ( (iIndex + 1) < currentChildCount )
-                 {
-                     for ( TUint tmp = iIndex; (tmp + 1) < currentChildCount; )
-                         {
-                         T* tmpObject = currentChildNodes[++tmp];
-                         iIndex = tmp;
-                         currentChildNodes.Reset(); 
-                         return tmpObject;
-                         }
-                  }
-             else
-                 {
-                 currentChildNodes.Reset();
-                 return NULL;
-                  }
-            }      
-        // Enqueue
-        for( TInt i = 0; i < currentChildCount; ++i )
-            {
-            iQueue.AppendL( currentChildNodes[i] );
-            }
-        currentChildNodes.Reset();
-        }
-    else
-        {
-        iCurrent = NULL;
-        iQueue.Reset();
-        iQueue.AppendL( iStart );
-        }
-    return iCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBreadthFirstTreeIterator< T >::Value()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnBreadthFirstTreeIterator< T >::Value()
-    {
-    return iCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBreadthFirstTreeIterator< T >::PreviousL()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnBreadthFirstTreeIterator< T >::PreviousL()
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBreadthFirstTreeIterator< T >::Index()
-// -----------------------------------------------------------------------------
-//
-template< class T > TUint CXnBreadthFirstTreeIterator< T >::Index() const
-    {
-    return 0;
-    }
-
-#endif    // CXNBREADTHFIRSTTREEITERATOR_H
-
-// End of File
\ No newline at end of file
--- a/idlehomescreen/inc/xnchilditerator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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:  Iterates over a containers children
-*
-*/
-
-#ifndef MXNCHILDITERATOR_H
-#define MXNCHILDITERATOR_H
-
-//  INCLUDES
-#include <e32base.h>
-
-/**
-* @ingroup group_xnutils
-* 
-*  Iterates over a containers children
-*  @since Series 60 3.1
-*/
-class MXnChildIterator
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-    	virtual ~MXnChildIterator() {};
-        
-    public: // New functions
-        
-        /**
-        * Get the current iterator value.
-        * @since Series 60 3.1
-        * @return Current object or NULL if iterator does not point anywhere
-        */
-			virtual CBase* Value() = 0 ;
-
-        /**
-        * Get the next iterator value.
-        * @since Series 60 3.1
-        * @return Next object or NULL if no more values. If NULL, the iterator is not advanced.
-        * Therefore, given that iterator->Value() == x and iterator->Next() == NULL, next invocation
-        * of iterator->Value() will return x.
-        */
-			virtual CBase* NextL() = 0;
-
-        /**
-        * Get the previous iterator value.
-        * @since Series 60 3.1
-        * @return Previous object or NULL if no more values. If NULL, the iterator is not advanced.
-        * Therefore, given that iterator->Value() == x and iterator->Previous() == NULL, next invocation
-        * of iterator->Value() will return x.
-        */
-			virtual CBase* PreviousL() = 0;
-
-        /**
-        * Get the current iterator index.
-        * @since Series 60 3.1
-        * @return Current index
-        */
-			virtual TUint Index() const = 0;
-        
-    };
-
-#endif      // MXnCHILDITERATOR_H
-            
-// End of File
--- a/idlehomescreen/inc/xnchilditeratorbuilder.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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:  Creates an iterator for an object's children
-*
-*/
-
-#ifndef MXNCHILDITERATORBUILDER_H
-#define MXNCHILDITERATORBUILDER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class MXnChildIterator;
-
-/**
-* @ingroup group_xnutils
-* 
-*  Creates an iterator for an object's children
-*  @since Series 60 3.1
-*/
-class MXnChildIteratorBuilder
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-    	virtual ~MXnChildIteratorBuilder() {};
-        
-    public: // New functions
-        
-        /**
-        * Builds a child iterator for an object
-        * @since Series 60 3.1
-        * @param aObject Object for which the iterator is built
-        * @return Child iterator for the object. Ownership is transferred to the caller.
-        */
-			virtual MXnChildIterator* BuildL(CBase& aObject) = 0;
-        
-    };
-
-#endif      // MXnCHILDITERATORBUILDER_H
-            
-// End of File
--- a/idlehomescreen/inc/xnclock.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Wrapper class for CEikLabel.
-*
-*/
-
-
-#ifndef _XNCLOCK_H
-#define _XNCLOCK_H
-
-//  INCLUDES
-#include "xncomponent.h"
-#include <e32base.h>
-#include "xnnode.h"
-#include "mxncomponentinterface.h"
-
-
-// CLASS DECLARATION
-
-namespace XnClockInterface
-    {
-    _LIT8( KType, "clock" );
-
-    class MXnClockInterface : public XnComponentInterface::MXnComponentInterface
-        {
-        public:
-        		
-            static inline const TDesC8& Type()
-                {
-                return KType;
-                }
-		
-        public: // New functions
-
-        private:
-        };
-    }   
-
-/**
-*  @ingroup group_xnclockfactory
-*  @lib xnclockfactory.lib
-*  @since S60
-*/
-class CXnClock : public CXnComponent, public XnClockInterface::MXnClockInterface
-    {
-public:
-
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnClock* NewL();
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnClock();
-
-public: // New functions
-
-public: // from CCoeControl
-
-   	/**
-      * Create a component interface according to the given type.
-      * @param aType Type of the interface to create
-      * @return Created interface or NULL if the provided type is not supported.
-      */ 
-    virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL( const TDesC8& aType );        
-            
-private:
-
-	CXnClock();
-	void ConstructL();
-    };
-
-#endif      // _XNCLOCK_H
-            
-// End of File
--- a/idlehomescreen/inc/xncomparator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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:  Compares two objects.
-*
-*/
-
-#ifndef MXNCOMPARATOR_H
-#define MXNCOMPARATOR_H
-
-//  INCLUDES
-#include <e32base.h>
-
-/**
-* @ingroup group_xnutils
-* 
-*  Compares two objects.
-*  @since Series 60 3.1
-*/
-class MXnComparator
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~MXnComparator() {};
-        
-    public: // New functions
-        
-        /**
-        * Compares two objects for equality.
-        * @since Series 60 3.1
-        * @param aItem1 First item
-        * @param aItem1 Second item
-        * @return ETrue if equal, EFalse if not equal
-        */
-		    virtual TBool Equals(CBase& aItem1, CBase& aItem2) = 0;
-    };
-
-#endif      // MXnCOMPARATOR_H
-            
-// End of File
--- a/idlehomescreen/inc/xncomponent.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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:
-* Xuikon component base class
-*
-*/
-
-#ifndef XNCOMPONENT_H
-#define XNCOMPONENT_H
-
-// System includes
-#include <e32base.h>
-
-// Forward declarations
-class CXnControlAdapter;
-class CXnNodePluginIf;
-namespace XnComponentInterface
-    {
-    class MXnComponentInterface;
-    }
-
-// Class declaration
-/**
- *  Xuikon component base class.
- *
- *  @ingroup group_xnlayoutengine
- *  @lib ?library
- *  @since Series 60 3.1
- */
-class CXnComponent : public CBase
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     * @param aType Type.
-     */
-    IMPORT_C static CXnComponent* NewL();
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnComponent();
-
-public:
-    // New functions
-
-    /**
-     * Sets a control adapter.
-     *
-     * @since Series 60 3.1
-     * @param aAdapter Adapter.
-     */
-    IMPORT_C void SetControlAdapter( CXnControlAdapter* aAdapter );
-
-    /**
-     * Returns the control adapter.
-     *
-     * @since Series 60 3.1
-     * @return Control adapter.
-     */
-    IMPORT_C CXnControlAdapter* ControlAdapter();
-
-    /**
-     * Returns component's node.
-     *
-     * @since Series 60 3.1
-     * @return Node.
-     */
-    IMPORT_C CXnNodePluginIf* Node();
-
-    /**
-     * Sets the component's node.
-     *
-     * @since Series 60 3.1
-     * @param aNode Node
-     */
-    IMPORT_C void SetNode( CXnNodePluginIf& aNode );
-
-    /**
-     * Enter power save mode. This is done when application goes to background
-     * or lights go off.
-     * Derived classes should override this function and stop animations,
-     * timers etc. when the function is called.
-     */
-    IMPORT_C virtual void EnterPowerSaveModeL();
-
-    /**
-     * Exit power save mode. This is done when application comes to foreground
-     * or lights go on.
-     * Derived classes should override this function and restart animations,
-     * timers etc. when the function is called.
-     */
-     IMPORT_C virtual void ExitPowerSaveModeL();
-
-    /**
-     * Create a component interface according to the given type.
-     * @param aType Type of the interface to create
-     * @return Created interface or NULL if the provided type is not supported.
-     */
-    IMPORT_C virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(
-        const TDesC8& aType );
-
-protected:
-    /**
-     * C++ default constructor.
-     */
-    IMPORT_C CXnComponent();
-
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C void ConstructL();
-
-private:
-    // Data
-
-    /**
-     * Pointer to control adapter.
-     * Own.
-     */
-    CXnControlAdapter* iAdapter;
-
-    /**
-     * Component's node.
-     * Not own.
-     */
-    CXnNodePluginIf* iNode;
-    };
-
-#endif
--- a/idlehomescreen/inc/xncomponentfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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:
-* ECom Component factory interface
-*
-*/
-
-#ifndef XNCOMPONENTFACTORY_H
-#define XNCOMPONENTFACTORY_H
-
-// System includes
-#include <e32base.h>
-
-// Forward declarations
-class CXnComponent;
-class CXnControlAdapter;
-class CXnNodePluginIf;
-
-// Class declaration
-/**
- * Component UI factory interface for creating UI representations of the layout
- * areas.
- *
- * @ingroup group_xnlayoutengine
- * @lib xnlayoutengine.lib
- * @since Series 60 3.1
- */
-class MXnComponentFactory
-    {
-public:
-    // Data types
-
-    /**
-     * Response values from the component factory. Indicate the action
-     * taken or desired from the factory on the requested area.
-     */
-    enum TXnComponentFactoryResponse
-        {
-        /** Successful construction of the component */
-        EXnFactoryResponseComponentConstructed,
-        /** Successful disposal of the component */
-        EXnFactoryResponseComponentDisposed,
-        /** The factory does not know how to create/dispose given component,
-         * reponsibility is passed onto the next factory in the chain */
-        EXnFactoryResponseComponentNotSupported,
-        /** The factory does not know how to create the given component
-         * and does not wish the given area to be passed on to any other factory
-         * for creation - often the area is already handled by a parent area */
-        EXnFactoryResponseDenyComponentConstruction
-        };
-
-public:
-
-    IMPORT_C virtual ~MXnComponentFactory();
-
-public:
-    // New functions
-
-    /**
-     * Create a component
-     *
-     * @since Series 60 3.1
-     * @param aNode UI node
-     * @param aTargetComponent Target component
-     * @return Factory response
-     */
-    IMPORT_C TXnComponentFactoryResponse CreateXnComponentL(
-        CXnNodePluginIf& aNode,
-        CXnComponent*& aTargetComponent );
-
-    /**
-     * Check whether a node needs a component node implementation
-     *
-     * @since Series 60 3.1
-     * @param aType Node type
-     * @return ETrue if a component node implementation is required, EFalse
-     *        otherwise
-     */
-    IMPORT_C TBool DoesNodeNeedComponentImplL( const TDesC8& aType );
-
-protected:
-    // New functions
-
-    /**
-     * C++ default constructor. Protected in order to allow for derivation.
-     */
-    IMPORT_C MXnComponentFactory();
-
-private:
-    /**
-     * Create a component
-     *
-     * @since Series 60 3.1
-     * @param aNode UI node
-     * @param aTargetComponent Target component
-     * @return Factory response
-     */
-    IMPORT_C virtual TXnComponentFactoryResponse MakeXnComponentL(
-        CXnNodePluginIf& aNode,
-        CXnComponent*& aTargetComponent ) = 0;
-
-    /**
-     * Create a control adapter
-     *
-     * @since Series 60 3.1
-     * @param aNode UI node
-     * @param aParent Parent control
-     * @return Created control
-     */
-    IMPORT_C virtual CXnControlAdapter* MakeXnControlAdapterL(
-        CXnNodePluginIf& aNode,
-        CXnControlAdapter* aParent = NULL ) = 0;
-    };
-
-#endif
--- a/idlehomescreen/inc/xncomponentnodeimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +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:
-* Xuikon component node implementation
-*
-*/
-
-#ifndef XNCOMPONENTNODEIMPL_H
-#define XNCOMPONENTNODEIMPL_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "xnnodeimpl.h"
-
-// Forward declarations
-class CXnComponent;
-namespace XnComponentInterface
-    {
-    class MXnComponentInterface;
-    }
-
-// Class declaration
-/**
- * Xuikon component node implementation
- *
- * @ingroup group_xnlayoutengine
- * @lib ?library
- * @since Series 60 3.1
- */
-class CXnComponentNodeImpl : public CXnNodeImpl
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @param aType Type.
-     */
-    IMPORT_C static CXnComponentNodeImpl* NewL( CXnType* aType );
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnComponentNodeImpl();
-
-public:
-    // New functions
-
-    /**
-     * Get the component
-     *
-     * @since Series 60 3.1
-     * @return Component
-     */
-    IMPORT_C CXnComponent* Component();
-
-    /**
-     * Set the component
-     *
-     * @since Series 60 3.1
-     * @param aComponent Component
-     */
-    IMPORT_C void SetComponent( CXnComponent* aComponent );
-
-    /**
-     * Returns whether a component should be created for the node
-     *
-     * @since Series 60 3.1
-     * @return Flag indicating whether a component should be created for the node
-     */
-    IMPORT_C TBool DoesComponentNeedCreation() const;
-
-    /**
-     * Set the flag indicating whether a component should be created for the node
-     *
-     * @since Series 60 3.1
-     * @param aFlag Flag indicating whether a component should be created for the
-     *        node
-     */
-    IMPORT_C void SetComponentNeedsCreation( TBool aFlag );
-
-public:
-    /**
-     * From CXnNodeImpl.
-     * Create a component interface according to the given type.
-     *
-     * @param aType Type of the interface to create
-     * @return Created interface or NULL if the provided type is not supported.
-     */
-    IMPORT_C virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(
-        const TDesC8& aType );
-
-protected:
-    /**
-     * C++ default constructor.
-     */
-    IMPORT_C CXnComponentNodeImpl();
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aType Type
-     */
-    IMPORT_C void ConstructL( CXnType* aType );
-
-private:
-    // Data
-
-    /**
-     * Component.
-     * Own.
-     */
-    CXnComponent* iComponent;
-
-    /**
-     * Flag indicating whether a component should be created for the node
-     */
-    TBool iComponentNeedsCreation;
-    };
-
-#endif
--- a/idlehomescreen/inc/xncontroladapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,453 +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:
-* Xuikon control adapter header file
-*
-*/
-
-#ifndef XNCONTROLADAPTER_H
-#define XNCONTROLADAPTER_H
-
-// System includes
-#include <e32base.h>
-#include <coecntrl.h>
-#include <aknappui.h>
-#include <aknlongtapdetector.h>
-
-// Forward declarations
-class CXnNodePluginIf;
-class CXnComponent;
-class CXnControlAdapterImpl;
-class CXnProperty;
-class CXnNode;
-
-// Class declaration
-/**
- * Control adapter interface class
- *
- * @ingroup group_xnlayoutengine
- * @lib xnlayoutengine.lib
- * @since Series 60 3.1
- */
-class CXnControlAdapter : public CCoeControl,
-                          public MCoeControlObserver,
-                          public MAknLongTapDetectorCallBack
-    {
-public:
-    // Data types
-    enum TModeEvent
-        {
-        EEventNone = 0,
-        EEventBackground,
-        EEventLight,
-        EEventDisplay,
-        EEventVisibility
-        };
-
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CXnControlAdapter* NewL( CXnNodePluginIf& aNode );
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnControlAdapter();
-
-public:
-    // New functions
-
-    /**
-     * Sets component pointer.
-     *
-     * @since Series 60 3.1
-     * @param aComponent Component pointer.
-     */
-    IMPORT_C void SetComponent( CXnComponent* aComponent );
-
-    /**
-     * Set component visibility
-     *
-     * @since Series 60 3.1
-     * @param aVisible ETrue for making visible, EFalse for making invisible
-     */
-    IMPORT_C void SetVisible( TBool aVisible );
-
-    /**
-     * Gets the component pointer.
-     *
-     * @since Series 60 3.1
-     * @return Component pointer.
-     */
-    IMPORT_C CXnComponent* Component();
-
-    /**
-     * Checks if the control should be drawn, according to visibility and
-     * display properties.
-     *
-     * @since Series 60 3.1
-     * @return ETrue if drawing is ok, EFalse otherwise
-     */
-    IMPORT_C TBool IsDrawingAllowed() const;
-
-    /**
-     * Gets content bitmaps. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmap Bitmap to draw
-     * @param aMask Mask to use
-     */
-    IMPORT_C void ContentBitmaps( CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-    /**
-     * Sets content bitmaps. Ownership is transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmap Bitmap to draw
-     * @param aMask Mask to use
-     */
-    IMPORT_C void SetContentBitmaps( CFbsBitmap* aBitmap, CFbsBitmap* aMask );
-
-    /**
-     * Sets content bitmaps. Ownership is transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmapUrl Url of the bitmap to draw
-     * @param aMaskUrl Url of the bitmap mask to use
-     */
-    IMPORT_C void SetContentBitmaps( const TDesC& aBitmapUrl,
-        const TDesC& aMaskUrl );
-
-    /**
-     * Load a bitmap from the server. Ownership is transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmapUrl Url of the bitmap to load
-     * @return Bitmap
-     */
-    IMPORT_C CFbsBitmap* LoadBitmap( const TDesC& aBitmapUrl );
-
-    /**
-     * Load a bitmap and mask from the server. Ownership is transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmapUrl Url of the bitmap to load
-     * @param aMaskUrl Url of the mask to load, if any
-     * @param aBitmap  Fetched bitmap
-     * @param aMask Fetched mask
-     */
-    IMPORT_C void GetBitmapAndMask(
-        const TDesC& aBitmapUrl,
-        const TDesC& aMaskUrl,
-        CFbsBitmap*& aBitmap,
-        CFbsBitmap*& aMask );
-
-    /**
-     * Skin change notification.
-     *
-     * @since Series 60 3.1
-     */
-    IMPORT_C virtual void SkinChanged();
-
-    /**
-     * Draws the control using a client-specified gc.
-     *
-     * @param aRect TRect to draw
-     * @param aGc Gc used for drawing
-     */
-    IMPORT_C virtual void Draw( const TRect& aRect, CWindowGc& aGc ) const;
-
-    /**
-     * Enter power save mode. This is done when application goes to background
-     * or lights go off.
-     * Derived classes should override this function and stop animations, timers
-     * etc. when the function is called.
-     */
-    IMPORT_C void EnterPowerSaveModeL( TModeEvent aEvent = EEventNone );
-
-    /*
-     * Template method, called by EnterPowerSaveModeL(). Additional
-     * implementations are done in derived classes.
-     */
-    IMPORT_C virtual void DoEnterPowerSaveModeL( TModeEvent aEvent );
-
-    /**
-     * Exit power save mode. This is done when application comes to foreground
-     * or lights go on.
-     * Derived classes should override this function and restart animations,
-     * timers etc. when the function is called.
-     */
-    IMPORT_C void ExitPowerSaveModeL( TModeEvent aEvent = EEventNone );
-
-    /*
-     * Template method, called by ExitPowerSaveModeL(). Additional
-     * implementations are done in derived classes.
-     */
-    IMPORT_C virtual void DoExitPowerSaveModeL( TModeEvent aEvent );
-
-    /**
-     * Sets the application local zoom
-     *
-     * @param aZoom application local zoom
-     * @since 3.1
-     */
-    IMPORT_C virtual void SetLocalUiZoomL( TAknUiZoom aZoom );
-
-    /**
-     * This called to measure adaptive content dimensions
-     *
-     * @since 3.2
-     * @param aAvailableSize where the component's content must fit
-     * @return The measure content dimensions
-     */
-    IMPORT_C virtual TSize MeasureAdaptiveContentL(
-        const TSize& aAvailableSize );
-
-
-    /**
-     * Add a child adapter
-     * @since Series 60 3.1
-     * @param aChild Child adapter
-     * @param aNode Child layout node.
-     */
-    void AppendChildL(CXnControlAdapter& aChild, CXnNode& aNode);
-
-
-    /**
-     * Resets the stylus state counter, so that the next tap causes 1st stylus
-     * action.
-     *
-     * @since 3.2
-     */
-    IMPORT_C void ResetStylusCounter();
-
-    /**
-     * Sets the control blank
-     *
-     * @since S60 5.1
-     * @param aBlank, ETrue sets blank, EFalse resets blank
-     */
-    IMPORT_C void SetBlank( TBool aBlank );
-
-    /**
-     * Gets the control's long tap detector
-     *
-     * @since 5.0
-     */
-    IMPORT_C CAknLongTapDetector* LongTapDetector() const;
-
-    /**
-     * Gets the control's associated window.
-     *
-     * @since 3.2
-     */
-    inline RWindow& Window() const;
-
-    /**
-     * Gets the component of this control which is grabbing the pointer.
-     *
-     * @since 5.0
-     */
-    inline CCoeControl* GrabbingComponent() const;
-
-public:
-    /**
-     * From CCoeControl.
-     * Handles key events.
-     *
-     * @since Series 60 3.1
-     * @param aKeyEvent Key event.
-     * @param aType Event type.
-     * @return Key response
-     */
-    IMPORT_C TKeyResponse OfferKeyEventL(
-        const TKeyEvent& aKeyEvent,
-        TEventCode aType );
-
-    /**
-     * From CCoeControl.
-     * Handles control events.
-     *
-     * @since Series 60 3.1
-     * @param aControl Control.
-     * @param aEventType Event type.
-     */
-    IMPORT_C void HandleControlEventL(
-        CCoeControl* aControl,
-        TCoeEvent aEventType );
-
-    /**
-     * From CCoeControl.
-     * Handles pointer events
-     *
-     * This method must always be called, even when it's overridden by derived
-     * classes
-     *
-     * @param aPointerEvent pointer event
-     */
-    IMPORT_C void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-
-    /**
-     * From CCoeControl.
-     * Handles pointer events
-     *
-     * This method must always be called, even when it's overridden by derived
-     * classes
-     *
-     * @param aDrawNow Contains the value that was passed to it by SetFocus().      
-     */    
-    IMPORT_C void FocusChanged( TDrawNow aDrawNow );
-    
-    /**
-     * From MAknLongTapDetectorCallBack.
-     * Handles the long tap events.
-     *
-     * @since Series 60 3.1
-     * @param aPenEventLocation Long tap event location relative to parent
-     *        control.
-     * @param aPenEventScreenLocation Long tap event location relative to
-     *        screen.
-     */
-    IMPORT_C void HandleLongTapEventL(
-        const TPoint& aPenEventLocation,
-        const TPoint& aPenEventScreenLocation );
-
-protected:
-    // New functions
-
-    /**
-     * C++ default constructor.
-     */
-    IMPORT_C CXnControlAdapter();
-
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C void ConstructL( CXnNodePluginIf& aNode );
-
-    /**
-     * Const-version of getting the component pointer.
-     * For internal use only.
-     *
-     * @since Series 60 3.1
-     * @return Component pointer.
-     */
-    CXnComponent* Component() const;
-
-    /**
-     * Draws content image.
-     *
-     * @since Series 60 3.1
-     */
-    IMPORT_C void DrawContentImage() const;
-
-protected:
-    /**
-     * From CCoeControl.
-     * Draws the control.
-     *
-     * This method must always be called, even when it's overridden by derived
-     * classes
-     *
-     * @param aRect TRect to draw
-     */
-    IMPORT_C virtual void Draw( const TRect& aRect ) const;
-
-    /**
-     * From CCoeControl.
-     * Return a child control by index.
-     *
-     * This method must not be overridden by derived classes
-     *
-     * @param aIndex Index of the child to return
-     * @return Control at the given index
-     */
-
-    IMPORT_C CCoeControl* ComponentControl( TInt aIndex ) const;
-
-    /**
-     * From CCoeControl.
-     * Return count of children.
-     *
-     * This method must not be overridden by derived classes.
-     *
-     * @return Count of children
-     */
-    IMPORT_C TInt CountComponentControls() const;
-
-    /**
-     * From CCoeControl.
-     * Size change notification
-     */
-    IMPORT_C virtual void SizeChanged();
-
-public:
-    /**
-     * From CCoeAppUiBase.
-     * Informs the components about the screen layout switch.
-     */
-    IMPORT_C virtual void HandleScreenDeviceChangedL();
-
-    /**
-     * Informs the components about the property change.
-     */
-    IMPORT_C void HandlePropertyChangeL( CXnProperty* aProperty = NULL );
-
-    /*
-     * Template method, called by HandlePropertyChangeL().
-     * Additional implementations are done in derived classes.
-     */
-    IMPORT_C virtual void DoHandlePropertyChangeL(
-        CXnProperty* aProperty = NULL );
-
-    /**
-     * Sets the state of the long tap animation
-     */
-    IMPORT_C void EnableLongTapAnimation( const TBool aAnimation );
-
-    /**
-     * Remove all child adapters
-     */
-    void RemoveChildAdapters();
-
-    /**
-     * Get child adapter list i.e which are not window owning controls
-     */
-    RPointerArray< CXnControlAdapter >& ChildAdapters();
-
-    /**
-     * Determines wheter control refuses focus loss
-     */            
-    virtual TBool RefusesFocusLoss() const { return EFalse; };
-        
-private:
-    // Data
-
-    /**
-     * class implementation.
-     * Own.
-     */
-    CXnControlAdapterImpl* iImpl;
-
-    /**
-     * Avkon long tap detector implementation.
-     * Own.
-     */
-    CAknLongTapDetector* iLongTapDetector;
-    };
-
-// Inline functions
-#include "xncontroladapter.inl"
-
-#endif
--- a/idlehomescreen/inc/xncontroladapter.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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:
-* Xuikon control adapter inline functions
-*
-*/
-
-#ifndef XNCONTROLADAPTER_INL
-#define XNCONTROLADAPTER_INL
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-inline RWindow& CXnControlAdapter::Window() const
-    {
-    return CCoeControl::Window();
-    };
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-inline CCoeControl* CXnControlAdapter::GrabbingComponent() const
-    {
-    return CCoeControl::GrabbingComponent();
-    };
-
-#endif
--- a/idlehomescreen/inc/xndepthfirsttreeiterator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +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:  Iterates over a tree, depth first
-*
-*/
-
-#ifndef XNDEPTHFIRSTTREEITERATOR_H
-#define XNDEPTHFIRSTTREEITERATOR_H
-
-//  INCLUDES
-#include <e32base.h>
-#include "xnchilditerator.h"
-
-// Constants
-/** 
- * Queue granularity value
- */
-const TInt KMemoryAlocS = 64;
-
-
-template < class T >
-    class CXnDepthFirstTreeIterator: public CBase, public MXnChildIterator
-    {
-public:
-    /**
-    * Two-phased constructor.
-    * @param aStartNode Object to iterate over
-    */
-    static CXnDepthFirstTreeIterator< T >* NewL( T& aStartNode );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CXnDepthFirstTreeIterator();
-
-    /**
-    * Get the next iterator value.
-    * @return Next object or NULL if no more values. 
-    */
-    T* NextL();
-
-    /**
-    * Get the current iterator value.
-    * @return Current object 
-    */  
-    T* Value();
-
-    /**
-    * Get the previous iterator value. Obsolete!
-    * @return NULL 
-    */
-    T* PreviousL();
-
-    /**
-    * Get the current iterator index. Obsolete!
-    * @return value 0
-    */
-    TUint Index() const;
-
-    /**
-    * Get the current iterator level in the tree.
-    * @return current level
-    */
-    TUint Level() const;
-
-protected:
-
-    CXnDepthFirstTreeIterator( T* aStartNode );
-
-    void ConstructL();
-
-private:
-    //Stack
-    RPointerArray< T > iStack;
-    //Object to iterate over
-    T* iStart;
-    // Current object
-    T* iCurrent;
-
-    };
-
-// -----------------------------------------------------------------------------
-// CXnDepthFirstTreeIterator< T >::NewL()
-// -----------------------------------------------------------------------------
-//
-template< class T > CXnDepthFirstTreeIterator< T >*
-    CXnDepthFirstTreeIterator<T>::NewL( T& aStartNode )
-    {
-    CXnDepthFirstTreeIterator<T>* self = 
-        new ( ELeave )CXnDepthFirstTreeIterator< T >( &aStartNode );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDepthFirstTreeIterator< T >::CXnDepthFirstTreeIterator()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-template< class T > CXnDepthFirstTreeIterator< T >::CXnDepthFirstTreeIterator(
-    T* aStartNode ):
-    iStart( aStartNode ),
-    iCurrent( aStartNode ),
-    iStack( KMemoryAlocS )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//  CXnDepthFirstTreeIterator< T >::~CXnDepthFirstTreeIterator()
-//  C++ default destructor.  
-// -----------------------------------------------------------------------------
-//  
-template< class T >
-    CXnDepthFirstTreeIterator< T >::~CXnDepthFirstTreeIterator()
-    {
-    iStack.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDepthFirstTreeIterator< T >::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-template< class T > void CXnDepthFirstTreeIterator< T >::ConstructL()
-    {
-    iStack.AppendL( iStart );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDepthFirstTreeIterator< T >::NextL()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnDepthFirstTreeIterator< T >::NextL()
-    {
-    if( iStack.Count() )
-        {
-        // Pop
-        TInt topIndex( iStack.Count() - 1 );
-        iCurrent = iStack[topIndex];
-        iStack.Remove( topIndex );
-        
-        RPointerArray< T >& currentChildNodes( iCurrent->Children() );
-        TInt currentChildCount( currentChildNodes.Count() );
-       
-        // Push left most child to top
-        for( TInt i = currentChildCount - 1; i >= 0; --i )
-            {
-            iStack.AppendL( currentChildNodes[i] );
-            }
-        }
-    else
-        {
-        iCurrent = NULL;
-        iStack.Reset();
-        iStack.AppendL( iStart );
-        }
-    return iCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDepthFirstTreeIterator< T >::Value()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnDepthFirstTreeIterator< T >::Value()
-    {
-    return iCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDepthFirstTreeIterator< T >::PreviousL()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnDepthFirstTreeIterator< T >::PreviousL()
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDepthFirstTreeIterator< T >::Index()
-// -----------------------------------------------------------------------------
-//
-template< class T > TUint CXnDepthFirstTreeIterator< T >::Index() const
-    {
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDepthFirstTreeIterator< T >::Level()
-// Get the current iterator level in the tree.
-// -----------------------------------------------------------------------------
-template< class T > TUint CXnDepthFirstTreeIterator< T >::Level() const
-    {
-    return iStack.Count();
-    }
-
-
-#endif    // CXNDEPTHFIRSTTREEITERATOR_H
-
-// End of File
--- a/idlehomescreen/inc/xndocument.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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:
-* Document base class for Xuikon based applications
-*
-*/
-
-#ifndef XNDOCUMENT_H
-#define XNDOCUMENT_H
-
-// System includes
-#include <AknDoc.h>
-
-// Class declaration
-/**
- * Document base class for Xuikon.
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since Series 60 3.1
- */
-class CXnDocument : public CAknDocument
-    {
-public:
-    /**
-     * C++ default constructor.
-     */
-    IMPORT_C CXnDocument( CEikApplication& aApp, TUid aApplicationUid );
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnDocument();
-
-public:
-    // New functions
-
-    /**
-     * Get the application uid
-     *
-     * @since Series 60 3.1
-     * @return Application uid
-     */
-    IMPORT_C TUid Uid();
-
-public:
-    /**
-     * From CEikDocument.
-     * Creates an AppUi
-     *
-     * @since Series 60 3.1
-     * @return AppUi
-     */
-    virtual CEikAppUi* CreateAppUiL();
-
-private:
-    // Data
-
-    /**
-     * application uid
-     */
-    TUid iApplicationUid;
-    };
-
-#endif
--- a/idlehomescreen/inc/xndomattribute.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Represent single xmluiml attribute
-*
-*/
-
-
-
-#ifndef XN_DOM_ATTRIBUTE_H
-#define XN_DOM_ATTRIBUTE_H
-
-//  INCLUDES
-#include    <e32base.h>
-#include    <s32strm.h>
-#include    "mxndomlistitem.h"
-
-//CLASS FORWARD
-
-class CXnDomStringPool;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Represent attribute name and value as strings. 
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 3.1
-*/
-class CXnDomAttribute : public CBase, public MXnDomListItem
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor 8 bit.
-        */
-        IMPORT_C static CXnDomAttribute* NewL( 
-            const TDesC8& aName, 
-            CXnDomStringPool* aStringPool );
-        
-        /**
-        * Two-phased stream constructor.
-        */
-        static CXnDomAttribute* NewL( 
-            RReadStream& aStream, 
-            CXnDomStringPool* aStringPool );
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CXnDomAttribute();
-
-    public: // New functions
-        /**
-        * Makes a copy from original attribute.
-        * @since Series 60 3.1
-        * @return Pointer to attribute. Attribute ownership is transferred to a caller
-        */
-        IMPORT_C CXnDomAttribute* CloneL();        
-        
-        /**
-        * Makes a copy from original property.
-        * @since Series 60 3.1
-        * @param Original string pool clone.
-        * @return Pointer to an attribute. Ownership is transferred to a caller.
-        */
-        CXnDomAttribute* CloneL( CXnDomStringPool& aStringPool );        
-        
-        /**
-        * Get the attribute value.
-        * @since Series 60 3.1
-        * @return Pointer to a attribute value string. If value is not set KNullDesC8 is returned. 
-        */
-        IMPORT_C const TDesC8& Value();
-        
-        /**
-        * Set attribute value.
-        * @since Series 60 3.1
-        * @param aValue Attribute string value
-        */
-        IMPORT_C void SetValueL( const TDesC8& aValue );
-        
-        /**
-        * Get the attributes name string pool index. 
-        * @since Series 60 3.1
-        * @return String pool index.
-        */
-        IMPORT_C TInt16 NameStringPoolIndex()const;
-        
-        /**
-        * Get the attributes value string pool index. 
-        * @since Series 60 3.1
-        * @return String pool index.
-        */
-        IMPORT_C TInt16 ValueStringPoolIndex()const;
-        
-        /**
-         * Swap used string pool.
-         * 
-         * @param aStringPool   New string pool to be used.
-         *                      Ownership not transferred!
-         */
-        IMPORT_C void SwapStringPoolL( CXnDomStringPool* aStringPool );        
-         
-    public: //From CXnDomListItem
-        
-        /**
-        * Documented in CXnDomListItem::Size
-        */
-        IMPORT_C const TDesC8& Name();
-        
-       
-        /**
-        * Documented in CXnDomListItem::Size
-        */
-        TInt Size() const;
-        
-        /**
-        * Documented in CXnDomListItem::Size
-        */
-        void ExternalizeL( RWriteStream& aStream ) const;
-       
-        /**
-        * Internalize property.
-        * @since Series 60 3.1
-        * @param aStream Input stream
-        */
-        void InternalizeL( RReadStream& aStream );    
-    private:
-        
-        /**
-        * C++ default constructor.
-        */
-        CXnDomAttribute( CXnDomStringPool* aStringPool );
-            
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( const TDesC8& aName );
-
-     
-    private:    // Data
-        //String pool to get string for references, not owned
-        CXnDomStringPool* iStringPool;
-        
-        //Attribute name reference
-        TInt16         iNameRef;
-        
-        //Attribute value reference
-        TInt16         iValueRef;
-
-    };
-
-#endif      // XN_DOM_ATTRIBUTE_H   
-            
-// End of File
--- a/idlehomescreen/inc/xndomdepthiterator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Depth iterator walks the dom tree by depth first.
-*
-*/
-
-
-
-#ifndef XN_DOM_DEPTH_ITERATOR_H
-#define XN_DOM_DEPTH_ITERATOR_H
-
-//  INCLUDES
-#include <e32base.h>
-#include "mxndomiterator.h"
-
-
-// FORWARD DECLARATIONS
-class CXnDomNode;
-
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Depth iterator walks through the dom tree using the depth first
-*  principle.
-*
-*  @lib xndomdocument.lib
-*/
-class CXnDomDepthIterator: public CBase, public MXnDomIterator
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aStartNode object to iterate over
-     */
-    IMPORT_C static CXnDomDepthIterator* NewL( CXnDomNode& aStartNode );
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnDomDepthIterator();
-
-    /**
-     * Documented in MXnDomIterator::First
-     */
-    IMPORT_C CXnDomNode* First();
-
-    /**
-     * Documented in MXnDomIterator::NextL
-     */
-    IMPORT_C CXnDomNode* NextL();
-
-private:
-    /**
-     * C++ default constructor
-     */
-    CXnDomDepthIterator( CXnDomNode* aRootNode );
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-    /**
-     * Push node to stack.
-     * @param aNode Node to push 
-     */
-    //void PushL( CXnDomNode& aNode );
-
-    /**
-     * Pop node from the stack.
-     * @return Pointer to node
-     */
-    //CXnDomNode* Pop();
-
-private:
-    // Follow tree hierarchy with stack
-    RPointerArray< CXnDomNode > iStack;   
-    // First node
-    CXnDomNode* iStart;
-    //Current node
-    CXnDomNode* iCurrent;
-    };
-
-#endif    // XN_DOM_DEPTH_ITERATOR_H  
-
-// End of File
--- a/idlehomescreen/inc/xndomdocument.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Represents the entire xmluiml specific xml and css data. 
-*
-*/
-
-
-
-#ifndef XN_DOM_DOCUMENT_H
-#define XN_DOM_DOCUMENT_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <s32strm.h>
-
-
-//FORWARD DECLARATIONS
-class CXnDomStringPool;
-class CXnDomNode;
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Provides the primary access to the document's data.
-*  
-*  @lib xndomdocument.lib
-*  @since Series 60 3.1
-*/
-class CXnDomDocument: public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnDomDocument* NewL();
-        /**
-        * Two-phased stream constructor.
-        */
-        IMPORT_C static CXnDomDocument* NewL( RReadStream& aStream );
-        /**
-        * Construct CXnDomDocument from streamed HBufC8.
-        */
-        IMPORT_C static CXnDomDocument* NewL( const HBufC8* aBufStream );
-        
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CXnDomDocument();
-
-    public: // New functions
-        /**
-        * Makes a clone of this document.
-        * @since Series 60 3.1
-        * @return Pointer to a document. Caller has the ownership.
-        */
-        IMPORT_C CXnDomDocument* CloneL();
-        
-        /**
-        * Factory method to create node elements, because elements cannot exist outside 
-        * the context of a document.
-        * @since Series 60 3.1
-        * @param aName UTF-8 encoded Element name
-        * @param aNamespace UTF-8 encoded Element namespace
-        * @return A new CXnDomNode type instance. Ownership is transferred to caller. 
-        */
-        IMPORT_C CXnDomNode* CreateElementNSL( const TDesC8& aName, const TDesC8& aNamespace );
-        
-        /**
-        * Set the root of the document tree. Root node provides primary access to 
-        * document data. This class owns root node.
-        * @since Series 60 3.1
-        * @param aRootNode Documents's root node. Document takes ownership.
-        */
-        IMPORT_C void SetRootNode( CXnDomNode* aRootNode );
-
-        /**
-        * Get the root node of the document.
-        * @since Series 60 3.1
-        * @return Pointer to CXnDomNode type node
-        */
-        IMPORT_C CXnDomNode* RootNode() const;
-
-        /**
-        * Get the last node of the document.
-        * @since Series 60 3.1
-        * @return Pointer to CXnDomNode type node
-        */
-        IMPORT_C CXnDomNode* LastNode() const;
-
-        /**
-        * Get the size of the document's data. 
-        * @since Series 60 3.1
-        * @return Document's data size
-        */
-        IMPORT_C TInt Size() const;
-        
-        /**
-        * Get document node count.
-        * @since Series 60 3.1
-        * @return Count of all nodes in a document
-        */
-        IMPORT_C TInt DomNodeCount() const;
-        
-        /**
-        * Externalize document's data.
-        * @since Series 60 3.1
-        * @param aStream Output stream
-        */
-        IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
-        
-        /**
-        * Internalize document's data.
-        * @since Series 60 3.1
-        * @param aStream Input stream
-        */
-        IMPORT_C void InternalizeL( RReadStream& aStream );
-
-        /**
-        * Returns document's data as a streamed buffer.
-        * @since Series 60 3.1
-        * @return Pointer to a new HBufC8 buffer which holds streamed document. 
-        * Ownership is transferred to a caller.
-        */
-        IMPORT_C HBufC8* MarshallL();
-        
-        /**
-        * Get pointer to string pool
-        * @return Reference to string pool implementation
-        */
-        IMPORT_C CXnDomStringPool* StringPool() const;
-
-        /**
-        * Read contents from a stream.
-        * @param aStream Input stream
-        * @return void
-        */
-        IMPORT_C CXnDomNode* ReadL( RReadStream& aStream );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnDomDocument();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-        //Document owns the root node.
-        CXnDomNode*         iRootNode;
-        
-        //Namespace map stores namespaces used in dom
-        CXnDomStringPool*   iDomStringPool;
-        
-        
-    };
-
-#endif      // XN_DOM_DOCUMENT_H  
-            
-// End of File
--- a/idlehomescreen/inc/xndomlist.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +0,0 @@
-/*
-* Copyright (c) 2005,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:  List class to hold MXnDomListItem objects.
-*
-*/
-
-
-
-#ifndef XN_DOM_LIST_H
-#define XN_DOM_LIST_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <s32strm.h>
-
-
-// FORWARD DECLARATIONS
-class MXnDomListItem;
-class CXnDomStringPool;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Represents streamable list object, which holds MXnDomListItem objects.
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 3.1
-*/
-class CXnDomList : public CBase
-    {
-    public:
-        enum TListType
-    		{
-    		ENodeList=0,
-    		EAttributeList,
-    		EPropertyList,
-    		EPropertyValueList
-    		};
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnDomList* NewL( TListType aListType, 
-                CXnDomStringPool* aStringPool,
-                TInt aGranularity=4);
-        
-        /**
-        * Two-phased stream constructor.
-        */
-        static CXnDomList* NewL( 
-            RReadStream& aStream, 
-            CXnDomStringPool* aStringPool );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnDomList();
-
-    public: // Adding and removing
-    	
-    	/**
-        * Frees memory allocated for all items in a list.
-        * @since Series 60 3.1
-        */
-        IMPORT_C void Reset();
-        
-        /**
-        * List owns items.
-        * @since Series 60 3.1
-        * @param aListItem to add
-        */
-        IMPORT_C void AddItemL( MXnDomListItem* aListItem );
-
-        /**
-        * List owns items.
-        * @since Series 60 3.1
-        * @param aListItem to add
-        * @param aIndex Index in list where the item is added
-        */
-        IMPORT_C void AddItemL( MXnDomListItem* aListItem, TInt aIndex );
-        
-        /**
-        * Remove item from list.
-        * @since Series 60 3.1
-        * @param Index to aList item to remove
-        */
-        IMPORT_C void RemoveItem( TInt aIndex );
-        
-        /**
-        * Delete item from list.
-        * @since Series 60 3.1
-        * @param Index to aList item to delete
-        */
-        IMPORT_C void DeleteItem( TInt aIndex );
-        
-        /**
-        * Remove item from list.
-        * @since Series 60 3.1
-        * @param aList item to remove
-        */
-        IMPORT_C void RemoveItem( MXnDomListItem* aItem );
-        
-        /**
-        * Delete item from list.
-        * @since Series 60 3.1
-        * @param aList item to delete
-        */
-        IMPORT_C void DeleteItem( MXnDomListItem* aItem );
-   
-   public: // Accessing     
-        /**
-        * List items are accessed by index, i.e like arrays 
-        * @since Series 60 3.1
-        * @param aIndex list item index
-        * @return Pointer to a a list item
-        */
-        IMPORT_C MXnDomListItem* Item( TInt aIndex )const;
-        
-        /**
-        * Number of items in a list.
-        * @since Series 60 3.1
-        * @return Item count
-        */
-        IMPORT_C TInt Length() const;
-        
-        /**
-        * Get the first item in a list.
-        * @since Series 60 3.1
-        * @return Pointer to the first item in a list
-        */
-        IMPORT_C MXnDomListItem* First();
-        
-        /**
-        * The last item in a list
-        * @since Series 60 3.1
-        * @return Pointer to the last item in a list
-        */
-        IMPORT_C MXnDomListItem* Last();
-        
-        /**
-        * Find list item by item name. Searches list items 
-        * which have name attribute.
-        * @since Series 60 3.1
-        * @param aName UTF8 encoded item's name to be searched
-        * @return Pointer to the list item, NULL if not exist.
-        */
-        IMPORT_C MXnDomListItem* FindByName( const TDesC8& aName );
-        
-        /**
-        * Get item index
-        * @since Series 60 3.1
-        * @param aItem Item to be searched
-        * @return Item index or KErrNotFound if not found
-        */
-        IMPORT_C TInt ItemIndex( const MXnDomListItem& aItem )const;
-        
-        /**
-        * Get pointer to the dom's string pool.
-        * @since Series 60 3.1
-        * @return Reference to string pool
-        */
-        IMPORT_C CXnDomStringPool* StringPool() const;
-
-        /**
-         * Swap used string pool.
-         * 
-         * @param aStringPool   New string pool to be used.
-         *                      Ownership not transferred!
-         */
-        IMPORT_C void SwapStringPoolL( CXnDomStringPool* aStringPool );        
-        
-        /**
-        * Count items in a list.
-        */
-        TInt Count() const;
-  public: // Serializing      
-        
-        /**
-        * Get list's data size in bytes.
-        * @since Series 60 3.1
-        * @return Data size in bytes
-        */
-        TInt Size() const;
-    
-        /**
-        * Externalize list's data.
-        * @since Series 60 3.1
-        * @param aStream Output stream
-        */
-        void ExternalizeL( RWriteStream& aStream ) const;
-        
-        /**
-        * Internalize list's data.
-        * @since Series 60 3.1
-        * @param aStream Input stream
-        */
-        void InternalizeL( RReadStream& aStream );
-        
-   public: //Utility
-   	   		
-   		/**
-        * Get list item type.
-        * @since Series 60 3.1
-        * @return List item type
-        */
-        TListType Type() const 
-            {
-            return iListType;
-            }
-            
-        
-   private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnDomList( TListType aListType, 
-                    CXnDomStringPool* aStringPool, 
-                    TInt aGranularity=4 );
-        
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-        
-    protected:
-        //List type    	
-    	TListType                       iListType;
-        
-        //Items are stored into a segmented array
-        RPointerArray<MXnDomListItem>   iList;
-    
-    private:    // Data
-        // StringPool, not owned
-        CXnDomStringPool*   iStringPool;
-        
-        
-    };
-
-#endif      // XN_DOM_LIST_H  
-            
-// End of File
--- a/idlehomescreen/inc/xndomnode.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Primary datatype for the entire Document Object Model.
-*
-*/
-
-
-
-#ifndef XN_DOM_NODE_H
-#define XN_DOM_NODE_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <s32strm.h>
-#include "mxndomlistitem.h"
-
-// FORWARD DECLARATIONS
-enum TContentType
-    {
-    EEmpty = 0,
-    EAny,
-    EPCData
-    };
-
-class CXnDomList;
-class CXnDomStringPool;
-class CXnNode;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Class represents a single node in the document tree.
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 3.1
-*/
-class CXnDomNode : public CBase, public MXnDomListItem
-    {
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnDomNode* NewL( 
-            const TDesC8& aName, 
-            const TDesC8& aNS,
-            CXnDomStringPool* aStringPool );
-              
-        /**
-        * Two-phased stream constructor.
-        */
-        static CXnDomNode* NewL( RReadStream& aStream, CXnDomStringPool* aStringPool );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnDomNode();
-      
-    public: // New functions       
-        /**
-        * Makes a clone from this node and it's child nodes.
-        * @since Series 60 3.1
-        * @param aStringPool. A new string pool.
-        * @return Pointer to a clone node. Caller has the ownership.
-        */
-        IMPORT_C CXnDomNode* CloneL( CXnDomStringPool& aStringPool );
-        
-        /**
-        * Get the namespace of this node. 
-        * @since Series 60 3.1
-        * @return Pointer to the namespace buffer
-        */
-        IMPORT_C const TDesC8& Namespace();
-        
-        /**
-        * Node's attributes exist in a list.
-        * @since Series 60 3.1
-        * @return Reference to a attribute list. 
-        */
-        IMPORT_C CXnDomList& AttributeList()const;
-                
-        /**
-        * Node's properties exist in a list.
-        * @since Series 60 3.1
-        * @return Reference to a property list. 
-        */
-        IMPORT_C CXnDomList& PropertyList();
-        
-        /**
-        * Node need to know it's parent.
-        * @since Series 60 3.1
-        * @param aParent Pointer to this node parent
-        */
-        IMPORT_C void SetParent( CXnDomNode* aParent );
-        
-        /**
-        * Node's parent is enquered e.g to traverse the document.
-        * @since Series 60 3.1
-        * @return Pointer to a parent node
-        */
-        IMPORT_C CXnDomNode* Parent() const;
-        
-        /**
-        * Node id is for a uiengine use.
-        * @since Series 60 3.1
-        * @param aNodeId Unique identifier
-        */
-        IMPORT_C void SetNodeId( const TInt aNodeId );
-
-        /**
-        * Get the node unique identifier.
-        * @since Series 60 3.1
-        * @return Node unique identifier
-        */
-        IMPORT_C TInt NodeId() const;
-
-        /**
-        * Get the node unique identifier.
-        * @since Series 60 3.1
-        * @return Node unique identifier
-        */
-        IMPORT_C TInt ItemIndex( const MXnDomListItem& aItem )const;
-
-        /**
-        * Access to child nodes.
-        * @since Series 60 3.1
-        * @return Pointer to a list of child nodes
-        */
-        IMPORT_C CXnDomList& ChildNodes();
-        
-        /**
-        * Child nodes of this node are needed to be able to 
-        * traverse the document.
-        * @since Series 60 3.1
-        * @param aNode Node owns it's childs
-        */
-        IMPORT_C void AddChildL( CXnDomNode* aNode );
-
-         /**
-        * Child nodes of this node are needed to be able to 
-        * traverse the document.
-        * @since Series 60 3.1
-        * @param aNode Node owns it's childs
-        * @param aIndex Index in list where the node is added
-        */
-        IMPORT_C void AddChildL( CXnDomNode* aNode, TInt aIndex );
-       
-        /**
-        * Removes node from the child list and frees memory allocated  
-        * for a child node and it descendants.
-        * @since Series 60 3.1
-        * @param aNode Node to be released
-        */
-        IMPORT_C void DeleteChild( CXnDomNode* aNode );
-        
-        /**
-        * Replaces a child node with the other node. Memory allocated for 
-        * the node is freed.   
-        * @since Series 60 3.1
-        * @param aNode Node to be replaced
-        * @param aNewNode New node
-        */
-        IMPORT_C void ReplaceChildL( CXnDomNode* aNode, CXnDomNode* aNewNode );
-        
-        /**
-        * Get the character data
-        * @since Series 60 3.1
-        * @return Reference to a buffer
-        */
-        IMPORT_C const TDesC8& PCData();
-        
-        /**
-        * Append PCData into node. Thus it is possible to have
-        * "<root>a <first/> c <second/> e </root>" PCData.
-        * @since Series 60 3.1
-        * @param aPCData UTF-8 encoded parsed character data
-        */
-        IMPORT_C void AppendPCDataL( const TDesC8& aPCData );
-        
-        /**
-        * Set parsed character data.
-        * @since Series 60 3.1
-        * @param aPCData UTF-8 encoded parsed character data
-        */
-        IMPORT_C void SetPCDataL( const TDesC8& aPCData );
-        
-        /**
-        * Set content type
-        * @since Series 60 3.1
-        * @return content type
-        */
-        IMPORT_C const TContentType& ContentType();
-        
-        /**
-        * Get content type
-        * @since Series 60 3.1
-        * @param aContentType content type
-        */
-        IMPORT_C void SetContentType( const TContentType& aContentType );
-        
-        /**
-        * Recursive function to count all child nodes belonging
-        * to this node. 
-        * @since Series 60 3.1
-        * @return This node and it's all childs count
-        */
-        IMPORT_C TInt DescendantCount() const;
-        
-        /**
-        * Get pointer to the dom's string pool.
-        * @since Series 60 3.1
-        * @return Reference to string pool
-        */
-        IMPORT_C CXnDomStringPool* StringPool() const;
-        
-        /**
-        * Deletes attributes when they are not needed anymore.
-        * I.e. UIEngine has copied them into property list.
-        * @since Series 60 3.1
-        */
-        IMPORT_C void DeleteAttributeList();
-        
-        /**
-        * Returns value of given attribute
-        * @param aAttribute Name of the attribute
-        * @since S60 3.1
-        * @return Value of an attribute
-        */
-        IMPORT_C const TDesC8& AttributeValue(const TDesC8& aAttribute) const;
-   
-   public: //From MXnDomListItem
-        
-        
-        /**
-        * Documented in CXnDomListItem::Size
-        */
-        TInt Size() const;
-        
-        /**
-        * Documented in CXnDomListItem::ExternalizeL
-        * NOTE: This function is not implemented yet!
-        */
-        void ExternalizeL( RWriteStream& aStream ) const;
-        
-        /**
-        * Documented in CXnDomListItem::InternalizeL
-        */
-        void InternalizeL( RReadStream& aStream );
-        
-        /**
-        * Documented in CXnDomListItem::Name
-        */
-        IMPORT_C const TDesC8& Name();        
-    
-    public:          
-    
-        /**
-        * Sets pointer to associated layout node
-        * @since S60 3.1
-        * @param aNode Pointer to associated layout node
-        */
-        IMPORT_C void SetLayoutNode(CXnNode* aNode);
-        
-        /**
-        * Returns pointer to associated layout node
-        * @since S60 3.1
-        * @return Pointer to associated layout node
-        */
-        IMPORT_C CXnNode* LayoutNode();
-        
-        /**
-        * Set the namespace for this node. 
-        * @since Series 60 3.1
-        * @param aNS New namespace
-        */
-        IMPORT_C void SetNamespaceL(const TDesC8& aNS);
-        
-        /**
-        * Set ownership of node and its children
-        * @since Series 60 5.1
-        * @param aNS. A new namespace.
-        * @return void
-        */
-        IMPORT_C void SetOwnershipL( const TDesC8& aNS );        
-
-        /**
-         * Swap used string pool.
-         * 
-         * @param aStringPool   New string pool to be used.
-         *                      Ownership not transferred!
-         */
-        IMPORT_C void SwapStringPoolL( CXnDomStringPool* aStringPool );
-        
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CXnDomNode( CXnDomStringPool* aStringPool );
-        
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( const TDesC8& aName, const TDesC8& aNS );
-        
-    private:    // Data
-        
-        //iNameRef refers to a name string in a string pool 
-        TInt                iNameRef;
-        
-        //iNSRef refers to a namespace string in a string pool 
-        TInt                iNSRef;
-        
-        //iStringPool is used to resolve strings based on references
-        CXnDomStringPool*   iStringPool;
-        
-        //Type of the elements content
-        TContentType        iContentType;
-        
-        //Parsed character data
-        HBufC8*             iPCData;
-        
-        //Node's parent pointer 
-        CXnDomNode*         iParentNode;
-        
-        //Node unique identifier
-        TInt                iNodeId;
-        
-        //Node's childs are collected into a list. Childs are owned by node
-        CXnDomList*         iChildList;
-        
-        //Node is the owner of the attributes
-        CXnDomList*         iAttributeList;
-        
-        //Node is the owner of the properties
-        CXnDomList*         iPropertyList;
-        
-        // Not owned
-        CXnNode*            iLayoutNode;
-    };
-
-#endif      // XN_DOM_NODE_H 
-            
-// End of File
--- a/idlehomescreen/inc/xndomproperty.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Represents a CSS property.
-*
-*/
-
-
-
-#ifndef XN_DOM_PROPERTY_H
-#define XN_DOM_PROPERTY_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <s32strm.h>
-#include "mxndomlistitem.h"
-
-
-// FORWARD DECLARATIONS
-class CXnDomPropertyValue;
-class CXnDomList;
-class CXnDomStringPool;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Represents a CSS property. 
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 3.1
-*/
-class CXnDomProperty : public CBase, public MXnDomListItem
-    {
-    public:
-        /**
-        * Property value's pseudo class type
-        */
-        enum TPseudoClass
-        	{
-        	ENone=0,
-        	EFocus,
-        	EPassiveFocus,
-        	EActive,
-        	EHold,
-        	EEnabled,
-        	EDisabled,
-        	EHover,
-        	ELink,
-        	EVisited,
-            EEdit,
-            EPressedDown
-        	};
-    public:  // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnDomProperty* NewL( 
-            const TDesC8& aName,
-            CXnDomStringPool* aStringPool );
-        
-        /**
-        * Two-phased stream constructor.
-        */
-        static CXnDomProperty* NewL( 
-            RReadStream& aStream, 
-            CXnDomStringPool* aStringPool );
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnDomProperty* NewL( 
-            TInt16 aStringPoolIndex,
-            CXnDomStringPool* aStringPool );
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CXnDomProperty();
-
-    public: // New functions
-        /**
-        * Make a copy from original property.
-        * @since Series 60 3.1
-        * @return Pointer to a property. Ownership is transferred to a caller.
-        */
-        IMPORT_C CXnDomProperty* CloneL();        
-        
-        /**
-        * Make a copy from original property.
-        * @since Series 60 3.1
-        * @param Original string pool clone.
-        * @return Pointer to a property. Ownership is transferred to a caller.
-        */
-        IMPORT_C CXnDomProperty* CloneL( CXnDomStringPool& aStringPool );   
-        
-        /**
-        * Get property value list.
-        * @since Series 60 3.1
-        * @return Reference to property value list.
-        */
-        IMPORT_C CXnDomList& PropertyValueList();
-        
-        /**
-        * Test if property has any value.
-        * @since Series 60 3.1
-        * @return ETrue if at least one value exist
-        */
-        IMPORT_C TBool IsValueSet();
-        
-        /**
-        * Test property's capability to inherit value.
-        * @since Series 60 3.1
-        * @return ETrue if property's value can be inherited
-        */
-        IMPORT_C TBool Inherited();
-        
-        /**
-        * Set property to be capable to inherit value.
-        * @since Series 60 3.1
-        * @param aInherited ETrue inherit capable
-        */
-        IMPORT_C void SetInherited( TBool aInherited );
-        
-        /**
-        * Get pointer to the dom's string pool.
-        * @since Series 60 3.1
-        * @return Reference to string pool
-        */
-        IMPORT_C CXnDomStringPool* StringPool() const;
-        
-        /**
-        * Get the property's string pool index. 
-        * @since Series 60 3.1
-        * @return String pool index.
-        */
-        IMPORT_C TInt16 StringPoolIndex()const; 
-        
-        /**
-         * Swap used string pool.
-         * 
-         * @param aStringPool   New string pool to be used.
-         *                      Ownership not transferred!
-         */
-        IMPORT_C void SwapStringPoolL( CXnDomStringPool* aStringPool );        
-        
-     public:  //Pseudo class utility   
-        /**
-        * Get value's pseudo class
-        * @since Series 60 3.1
-        * @return Value's pseudo class
-        */
-        IMPORT_C TPseudoClass PseudoClass()const;
-        
-        /**
-        * Set value's pseudo class
-        * @since Series 60 3.1
-        * @param aPseudoClass Pseudo class enumeration
-        */
-        IMPORT_C void SetPseudoClass( TPseudoClass aPseudoClass ); 
-     
-    public: //From CXnDomListItem
-               
-        /**
-        * Documented in CXnDomListItem::Name
-        */
-        IMPORT_C const TDesC8& Name(); 
-        
-        /**
-        * Documented in CXnDomListItem::Size
-        */
-        TInt Size() const;
-        
-        /**
-        * Documented in CXnDomListItem::ExternalizeL
-        */
-        void ExternalizeL( RWriteStream& aStream ) const;
-       
-        /**
-        * Documented in CXnDomListItem::InternalizeL
-        */
-        void InternalizeL( RReadStream& aStream );
-    
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnDomProperty( CXnDomStringPool* aStringPool);
-        
-        /**
-        * C++ constructor with string pool index.
-        */
-        CXnDomProperty( TInt16 aStringPoolIndex, CXnDomStringPool* aStringPool);
-        
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( const TDesC8& aName );
-        
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-        
-    private:    // Data
-        //String pool to get string for references, not owned
-        CXnDomStringPool* iStringPool;
-        
-        // Pseudo class type for value
-        TPseudoClass    iPseudoClass;
-       
-        //Property's name reference to string pool
-        TInt16          iNameRef;
-        
-        //Property owns a value list which has property's values
-        CXnDomList* iPropValList;
-     
-        //Property is capable to inherit
-        TBool       iInherited;
-                
-        
-    };
-
-#endif      // XN_DOM_PROPERTY_H   
-            
-// End of File
--- a/idlehomescreen/inc/xndompropertyvalue.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Property's value encapsulation. 
-*
-*/
-
-
-
-#ifndef XN_DOM_PROPERTY_VALUE_H
-#define XN_DOM_PROPERTY_VALUE_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <s32strm.h>
-#include "mxndomlistitem.h"
-
-
-//CLASS FORWARD
-class CXnDomStringPool;
-class TRgb;
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Serializable class to hold property's value.
-*
-*  @lib XnDomDocument.lib
-*  @since Series 60 3.1
-*/
-class CXnDomPropertyValue : public CBase, public MXnDomListItem
-    {
-    public:  //Enumerations
-        
-        /**
-        * CSS Primitive value type
-        */
-        enum TPrimitiveValueType
-            {
-            EUnknown = 0,
-            ENumber,
-            EPercentage,
-            EEms,
-            EExs,
-            EPx,
-            ECm,
-            EMm,
-            EIn,
-            EPt,
-            EPc,
-            EDeg,
-            ERad,
-            EGrad,
-            EMs,
-            ES,
-            EHz,
-            EKHz,
-            EDimension,
-            EString,
-            EUri,
-            EIdent,
-            EAttr,
-            ECounter,
-            ERect,
-            ERgbColor,
-            ERgbaColor,
-            EFunction,
-            EUnitValue
-            };
-        
-        /**
-        * Ident type
-        */
-        enum TIdentType
-            {
-            ENotSet = 0,
-            EAuto,
-            ENone,
-            EInherit
-            };
-                
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnDomPropertyValue* NewL( CXnDomStringPool* aStringPool );
-        
-        /**
-        * Two-phased stream constructor.
-        */
-        static CXnDomPropertyValue* NewL( 
-            RReadStream& aStream, 
-            CXnDomStringPool* aStringPool );
-        
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CXnDomPropertyValue();
-
-    public: // New functions
-        /**
-        * Clone property value.
-        * @since Series 60 3.1
-        * @return Pointer to a property value. Ownership is transferred to a caller 
-        */
-        IMPORT_C CXnDomPropertyValue* CloneL();
-       
-        /**
-        * Clone property value.
-        * @since Series 60 3.1
-        * @param aStringPool StringPool clone which holds actual strings.
-        * @return Pointer to a property value. Ownership is transferred to a caller 
-        */
-        CXnDomPropertyValue* CloneL( CXnDomStringPool& aStringPool );
-        
-        /**
-        * Release object's data.
-        * @since Series 60 3.1 
-        */
-        IMPORT_C void ReleaseData();        
-        
-        /**
-        * Get the property's value. If value type is not recognized,
-        * function will leave with KErrNotSupported. 
-        * @since Series 60 3.1
-        * @return Property's value
-        */
-        IMPORT_C TReal FloatValueL() const;
-
-        /**
-        * Set the property's value based on a given type. If type is not recognized,
-        * function will leave with KErrNotSupported. 
-        * @since Series 60 3.1
-        * @param aValueType Type of a value.
-        * @param aFloatValue Property's value.
-        */
-        IMPORT_C void SetFloatValueL( TPrimitiveValueType aValueType, TReal aFloatValue );
-
-        /**
-        * Get the property's string value. If value is not a string type,
-        * function will leave with KErrNotSupported.
-        * @since Series 60 3.1
-        * @return Pointer to the property's string value.
-        */
-        IMPORT_C const TDesC8& StringValueL() ;
-        
-        /**
-        * Get the property's string value. If value is not a string type,
-        * function will return KNullDesC8.
-        * @since Series 60 5.0
-        * @return Reference to string.
-        */
-        IMPORT_C const TDesC8& StringValue() ;
-
-        /**
-        * Set the property's string value based on a given type. If type is not recognized,
-        * function will leave with KErrNotSupported. 
-        * @since Series 60 3.1
-        * @param aValueType Type of a value.
-        * @param aStringValue Property's string value.
-        */
-        IMPORT_C void SetStringValueL(
-            TPrimitiveValueType aValueType,
-            const TDesC8& aStringValue );
-        
-        /**
-        * Get the property's color value.
-        * @since Series 60 3.1
-        * @return Property's color value (TRgb). 
-        */
-        IMPORT_C const TRgb& RgbColorValueL() const;
-        
-        /**
-        * Sets the RGB Color value
-        * @since Series 60 3.1
-        * @param aRgb Instance of TRgb.
-        */
-        IMPORT_C void SetRgbColorL( const TRgb& aRgb );
-        
-        /**
-        * Returns the primitive value type
-        * @since Series 60 3.1
-        * @return Primitive value type
-        */
-        IMPORT_C TPrimitiveValueType PrimitiveValueType() const;
-        
-        /**
-        * Checks if string value is "inherit" 
-        * @since Series 60 3.1
-        * @return ETrue if TPrimitiveValueType::EIdent and string value is "inherit".
-        */
-        IMPORT_C TBool IsInheritIdent();
-        
-        /**
-        * Checks if string value is "auto" 
-        * @since Series 60 3.1
-        * @return ETrue if TPrimitiveValueType::EIdent and string value is "auto".
-        */
-        IMPORT_C TBool IsAutoIdent();
-        
-        /**
-        * Checks if string value is "none" 
-        * @since Series 60 3.1
-        * @return ETrue if TPrimitiveValueType::EIdent and string value is "none".
-        */
-        IMPORT_C TBool IsNoneIdent();
-        
-        /**
-        * Set the property's string pool index
-        * @since Series 60 3.1
-        * @param aValueType Type of a value.
-        * @param aStringPoolIndex String pool index.
-        */
-        IMPORT_C void SetStringPoolIndexL( 
-            TPrimitiveValueType aValueType,
-            TInt16 aStringPoolIndex );
-
-        /**
-        * Get the property's string pool index. If type is not string,
-        * function will leave with KErrNotSupported. 
-        * @since Series 60 3.1
-        * @return String pool index.
-        */
-        IMPORT_C TInt16 StringPoolIndexL()const; 
-        
-        /**
-         * Swap used string pool.
-         * 
-         * @param aStringPool   New string pool to be used.
-         *                      Ownership not transferred!
-         */
-        IMPORT_C void SwapStringPoolL( CXnDomStringPool* aStringPool );         
-    
-    public: //From MXnDomListItem    
-        /**
-        * Documented in MXnDomListItem::Size
-        */
-        TInt Size()const;
-        
-        /**
-        * Documented in MXnDomListItem::ExternalizeL
-        */
-        void ExternalizeL( RWriteStream& aStream ) const;
-       
-        /**
-        * Documented in MXnDomListItem::InternalizeL
-        */
-        void InternalizeL( RReadStream& aStream );
-        
-        
-        /**
-        * Documented in MXnDomListItem::Name
-        */
-        const TDesC8& Name(){ return KNullDesC8; }   
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnDomPropertyValue( CXnDomStringPool* aStringPool );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-        
-                
-    private:    // Data
-        
-        // union containing the primitive value data, 
-        // this is an union for memory consumption optimization reasons
-        union
-            {
-            // rgba color
-            TRgb*   iRgbColor;
-
-            // Real value
-            TReal*  iRealValue;
-
-            // String reference
-            TInt16  iStringRef;
-           
-            // Constant string value
-            TPtrC*  iUnknownValue;
-            
-            } iData;    
-       
-       //String pool
-       CXnDomStringPool*    iStringPool;
-       
-       // primitive value type
-       TPrimitiveValueType  iPrimitiveValueType;
-       
-       //Flag to identify ident
-       TIdentType           iIdent;
-       
-    };
-
-#endif      // XN_DOM_PROPERTY_VALUE_H  
-            
-// End of File
--- a/idlehomescreen/inc/xndomstringpool.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Flyweigth pattern implementation for dom strings.
-*
-*/
-
-#ifndef XN_DOM_STRING_POOL_H
-#define XN_DOM_STRING_POOL_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <s32strm.h>
-#include "xndomstringpooloptimizer.h"
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Class utilize flyweight pattern. Dom strings are stored once 
-*  and referred with index. Class can be serialized.
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 3.1
-*/
-class CXnDomStringPool : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * 
-        * @param    aAllowDuplicates        ETrue if duplicates are to be allowed.
-        *                                   Supported for legacy reasons. 
-        */
-        static CXnDomStringPool* NewL( const TBool aAllowDuplicates = EFalse );
-
-        /**
-        * Two-phased stream constructor.
-        * 
-        * @param    aStream                 Stream where string pool is internalized.
-        * @param    aAllowDuplicates        ETrue if duplicates are to be allowed.
-        *                                   Supported for legacy reasons. 
-        */
-        static CXnDomStringPool* NewL( RReadStream& aStream,
-                const TBool aAllowDuplicates = EFalse );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnDomStringPool();
-        
-   public: 
-        /**
-        * Make a copy from original StringPool.
-        * @since Series 60 3.1
-        * @return Pointer to a string pool. Ownership is transferred to a caller.
-        */
-        CXnDomStringPool* CloneL(); 
-        
-   public: //Adding
-        
-        /**
-        * Set dom string into string pool.
-        * 
-        * @param aString String to add to string pool
-        * @return Index (reference) to string pool
-        */
-        TInt AddStringL( const TDesC8& aString ); 
-
-        /**
-        * Set dom string into string pool.
-        * 
-        * @param aString String to add to string pool. OWNERSHIP TRANSFERRED!
-        * @return Index (reference) to string pool
-        */
-        TInt AddStringL( HBufC8* aString );         
-
-        /**
-        * Add all string from another string pool.
-        * 
-        * @param aStringPool    Source string pool.
-        */
-        void AddAllL( CXnDomStringPool& aStringPool );        
-        
-   public: //Accessing     
-        /**
-        * Get reference to string.
-        * 
-        * @param aMap Map object which has index to name string
-        * @return Pointer to the name
-        */
-        const TDesC8& String( const TInt aStringRef ); 
-        
-        /**
-        * Get object's data size in bytes.
-        * 
-        * @return Data size in bytes
-        */
-        TInt Size() const;
-
-        /**
-        * Get amount of strings.
-        */
-        TInt Count() const;        
-        
-        /**
-        * Externalize object.
-        * 
-        * @param aStream Output stream
-        */
-        void ExternalizeL( RWriteStream& aStream ) const;
-       
-        /**
-        * Internalize object.
-        * 
-        * @param aStream Input stream
-        */
-        void InternalizeL( RReadStream& aStream );          
-        
-   private:
-
-        /**
-        * C++ default constructor.
-        * 
-        * @param    aAllowDuplicates        ETrue if duplicates are to be allowed.
-        *                                   Supported for legacy reasons.
-        */
-        CXnDomStringPool( const TBool aAllowDuplicates );
-
-        /**
-        * By default Symbian 2nd phase constructor is private. 
-        */
-        void ConstructL();    
-        
-        /**
-        * Add string to string pool and to optimizer also.
-        * 
-        * @param aNewString     String to be added. OWNERSHIP TRANSFERRED.
-        * @param TInt           Index to added string.
-        */
-        TInt DoAddStringL( HBufC8* aNewString ) ;
-        
-    private:            
-        //String pool
-        RPointerArray<HBufC8>       iStringPool;
-        
-        /**
-         * String pool optimizer.
-         */
-        TXnDomStringPoolOptimizer iStringPoolOptimizer;
-        
-        /**
-         * ETrue if string pool can contain duplicate entries. Must
-         * be supported for legacy reasons while loading xuikon odts.
-         */
-        TBool iAllowDuplicates;
-    };
-
-#endif      // XN_DOM_STRING_POOL_H  
-            
-// End of File
--- a/idlehomescreen/inc/xndomstringpooloptimizer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Optimizer module for CXnDomStringPool.
-*
-*/
-
-#ifndef XN_DOM_STRING_POOL_OPTIMIZER_H
-#define XN_DOM_STRING_POOL_OPTIMIZER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_domdocument
-*  Optimizer module entry for CXnDomStringPool.
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 5.2
-*/
-class TXnDomStringPoolOptimizerEntry
-    {
-    public: // Construction.
-        /**
-         * Constructor.
-         * 
-         * @param aIndex    Index.
-         * @param aString   String.
-         */
-        TXnDomStringPoolOptimizerEntry( TInt aIndex, const TDesC8& aString ); 
-
-    public: // Data.
-        /**
-         * Index of string in actual string pool.
-         */
-        TInt iIndex;
-        
-        /**
-         * Reference to string in string pool.
-         */
-        const TDesC8& iString;                    
-    };        
-
-/**
-*  @ingroup group_domdocument
-*  Optimizer module for CXnDomStringPool.
-*
-*  @lib xndomdocument.lib
-*  @since Series 60 5.2
-*/
-class TXnDomStringPoolOptimizer
-    {
-    public:
-        /**
-         * Add entry to optimizer list.
-         * 
-         * @param aEntry    Entry to be added.
-         */
-        void AddEntryL( TXnDomStringPoolOptimizerEntry& aEntry );
-        
-        /**
-         * Get index for string.
-         * 
-         * @param   aString     Reference to given string.
-         * @return  TInt        Index to actual string pool for string if found.
-         *                      If string is not found will return KErrNotFound. 
-         */
-        TInt GetIndex( const TDesC8& aString );
-
-        /**
-         * Reset.
-         */
-        void Reset();        
-        
-        /**
-         * Close allocated resources.
-         */
-        void Close();
-
-        /**
-         * Get item count.
-         */
-        TInt Count();        
-
-        /**
-         * Get entry.
-         * 
-         * @param aIndex    Index to Entry.
-         */
-        TXnDomStringPoolOptimizerEntry& Entry( const TInt aIndex );        
-        
-    private:
-        /**
-         * Find entry from alphabetic list.
-         * Uses binary search.
-         * 
-         * @param       aString Reference to string to be searched for.
-         * @param       aLeft   Left limit for binary search
-         * @param       aRight  Right limit for binary search.
-         * 
-         * @return      Index to OPTIMIZER ARRAY. KErrNotFound if
-         *              given string is not found.
-         */
-        TInt FindEntry( const TDesC8& aString,
-                        const TInt aLeft,
-                        const TInt aRight );
-
-        /**
-         * Find a position clue for given string.
-         * 
-         * Will return index that can be used to initiate linear
-         * search. Uses binary search to limit required comparisons
-         * when string pools starts to fill.
-         * 
-         * Note: Returned index is not absolute! it must be
-         * only used as a start index for linear searching.
-         * 
-         * Returned index will be quite close to actual insertion position.
-         * it will be 0 - 2 steps backward from actual position.
-         * 
-         * @param       aString Reference to string.
-         * @param       aLeft   Left limit for binary search
-         * @param       aRight  Right limit for binary search.
-         * 
-         * @return      Index to start searching for position
-         *              for given string.
-         */
-        TInt FindInsertionIndexEstimate( const TDesC8& aString,
-                                         const TInt aLeft,
-                                         const TInt aRight );
-        
-    private: // Data.
-        /**
-         * Array of optimizer entries.
-         */
-        RArray<TXnDomStringPoolOptimizerEntry> iEntries;
-    }; 
-
-#endif      // XN_DOM_STRING_POOL_OPTIMIZER_H  
-            
-// End of File
--- a/idlehomescreen/inc/xnecomelementproxy.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Proxy to access xmluiml language specific element plugins.
-*
-*/
-
-
-
-#ifndef XN_ECOM_ELEMENT_PROXY_H
-#define XN_ECOM_ELEMENT_PROXY_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include "mxndomvisitor.h"
-
-// CLASS DECLARATION
-
-/**
-*  
-*  Proxy class to access xmluiml language specific element 
-*  visitor plugins
-*
-*  @lib xnecomelementproxy
-*  @since Series 60 3.1
-*/
-class TXnEComElementProxy
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Load plugin based on it's namespace.
-        * Plugin is released calling Release() function.
-        * @since Series 60 3.1
-        * @param aNS Namespace
-        * @return MXnDomVisitor type object. Ownership is transferred to a caller 
-        */
-        public:
-	        IMPORT_C static MXnDomVisitor * CreateImplementationL( const TDesC8& aNS );
-    };
-
-#endif      // XN_ECOM_ELEMENT_PROXY_H   
-            
-// End of File
--- a/idlehomescreen/inc/xnecomhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +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:  Manages ecom plugins
-*
-*/
-
-
-
-#ifndef CXNECOMHANDLER_H
-#define CXNECOMHANDLER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-class CXnArray;
-
-// CLASS DECLARATION
-
-/**
-* @ingroup group_xnutils
-* 
-*  Manages ecom plugins
-*  @since Series 60 3.1
-*/
-class CXnEcomHandler : public CBase
-    {
-    public:  // Constructors and destructor
-        struct CEcomItem;  
-              
-        /**
-        * Two-phased constructor.
-        * @param aRFs File server session
-        */
-        IMPORT_C static CXnEcomHandler* NewL();
-        
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnEcomHandler();
-
-    public: // New functions
-        /**
-        * Get pointers to plugins
-        * @param aInterfaceUid Interface uid to use
-        * @param aType Type of plugin to fetch
-        * @param aFunctions Array in which to copy plugin pointers
-        * @since Series 60 3.1
-        */
-        IMPORT_C void PluginsL(TUid aInterfaceUid, const TDesC8& aType, CXnArray& aFunctions);
-        
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-        
-    protected:  // Functions from base classes
-        
-        /**
-        * From ?base_class ?member_description
-        */
-
-
-    private:
-        //?type ?member_function();
-        /**
-        * C++ default constructor.
-        */
-        CXnEcomHandler();
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL();
-
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // array of ecom plugins
-        RPointerArray<CEcomItem> iPlugins;
-    };
-
-#endif      // CXNECOMHANDLER_H
-            
-// End of File
--- a/idlehomescreen/inc/xneditmode.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +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: Edit mode for widget drag and drop.
-*
-*/
-
-#ifndef XNEDITMODE_H
-#define XNEDITMODE_H
-
-// System includes
-#include <coecntrl.h>
-
-// Forward declarations
-class CXnUiEngine;
-class CXnViewManager;
-class CXnNode;
-class CFbsBitGc;
-class CFbsBitmap;
-class CFbsBitmapDevice;
-class CWindowToBitmapMappingGc;
-
-// Class declaration
-
-/**
- * Edit mode. Enables widget drag and drop.
- *
- * @ingroup group_xnlayoutengine
- * @lib xnlayoutengine.lib
- * @since Series 60 5.1
- */
-NONSHARABLE_CLASS( CXnEditMode ) : public CCoeControl  
-    {
-public:
-    // Data types
-    enum TEditState
-        {
-        ENone = 0x00,
-        EWaitDrag = 0x01,        
-        EShootContent = 0x02,
-        EDragging = 0x04,
-        EDragAndDrop = 0x08,
-        EKeyMove = 0x10
-        };
-
-public:
-    /**
-     * Two-phased constructor.
-     */
-    static CXnEditMode* NewL( CXnUiEngine& aUiEngine );
-
-    /**
-     * Destructor.
-     */
-    ~CXnEditMode();
-
-private:
-    // from CCoeControl
-
-    /**
-     * @see CCoeControl
-     */
-    void Draw( const TRect& aRect ) const;
-
-    /**
-     * @see CCoeControl
-     */    
-    void MakeVisible( TBool aVisible );
-
-    /**
-     * @see CCoeControl
-     */        
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-
-    /**
-     * @see CCoeControl
-     */        
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-            TEventCode aType );
-
-    /**
-     * @see CCoeControl
-     */            
-    void SizeChanged();
-            
-public:
-    // New functions
-
-    /**
-     * Changes the state of edit mode.
-     *
-     * @since Series 60 5.0
-     * @param aSet The state of edit mode.     
-     */
-    void SetEditModeL( CXnEditMode::TEditState aSet );
-
-    /**
-     * Gets the status of the edit mode.
-     *
-     * @since Series 60 5.0
-     * @return Edit mode state.
-     */
-    CXnEditMode::TEditState EditState() const;
-    
-    /**
-     * This is for to re-initializing the double buffer when the orientations
-     * is changed
-     *
-     * @since Series 60 5.0
-     */
-    void HandleScreenDeviceChangedL();
-
-    /**
-     * Reset the dragging state and update screen
-     *
-     * @since Series 60 5.0
-     */
-    void StopDraggingL();
-
-private:
-    // new functions
-
-    /**
-     * Organizing starts using drag and drop.
-     *
-     * @since Series 60 5.0
-     * @param aNode Node to drag.
-     */
-    void StartDragL( CXnNode& aNode );
-    
-    /**
-     * Reset the dragging state and deletes screenshot bitmaps.
-     *
-     * @since Series 60 5.0
-     */
-    void StopDragL();
-    
-    /**
-     * Updates invalid parts of the screen. Calls internally DrawNow
-     *
-     * @since Series 60 5.0     
-     */
-    void UpdateScreen();
-
-    /**
-     * Sets the title for status pane
-     *
-     * @since Series 60 5.0
-     */
-    void SetStatusPaneTitleL();
-    
-private:    
-    // Constructors
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnEditMode( CXnUiEngine& aEngine );
-
-    /**
-     * 2nd phase constructor.
-     */    
-    void ConstructL();
-    
-private:
-    // Data
-
-    /**
-     * UI engine
-     * Not own.
-     */
-    CXnUiEngine& iUiEngine;
-
-    /**
-     * View manager
-     * Not own.
-     */
-    CXnViewManager& iViewManager;
-    
-    /**
-     * Screenshot of part of mainpane
-     * Owned
-     */    
-    CFbsBitmap* iMainpane;
-
-    /**
-     * Screenshot of widget
-     * Owned
-     */
-    CFbsBitmap* iWidget;
-    
-    /**
-     * Mapping Gc
-     * Owned
-     */
-    CWindowToBitmapMappingGc* iMapGc;
-    
-    /**
-     * Bmp device
-     * Owned
-     */
-    CFbsBitmapDevice* iBmpDevice;
-    
-    /**
-     * Bmp Gc
-     * Owned
-     */
-    CFbsBitGc* iBmpGc;          
-    
-    /**
-     * A pointer to the node that is being dragged.
-     * Not own.
-     */
-    CXnNode* iDraggingNode;
-
-    /**
-     * A pointer to the node that is underneath of the dragging node.
-     * Not own.
-     */
-    CXnNode* iTargetNode;
-    
-    /**
-     * State of edit mode
-     */
-    CXnEditMode::TEditState iState;
-        
-    /**
-     * A point where dragging started from.
-     */
-    TPoint iStylusDownPos;
-
-    /**
-     * A point where drawing was done last time.
-     */
-    TPoint iPreviousPos;
-               
-    /**
-     * Screenshot draw position
-     */
-    TPoint iDrawPos;
-    
-    /**
-     * Last redraw rect
-     */
-    TRect iLastDrawRect;
-    
-    /**
-     * Flag determine whether drag is occured
-     */
-    TBool iDragged;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnlistquerydialogadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +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:  List query dialog adapter and data interface
-*
-*/
-
-#ifndef __XNLISTQUERYDIALOGADAPTER_H__
-#define __XNLISTQUERYDIALOGADAPTER_H__
-
-//  INCLUDES
-#include "xncontroladapter.h"
-#include <e32base.h>
-
-#include "xncomponent.h"
-#include "xnnode.h"
-#include "mxncomponentinterface.h"
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-class CXnUiEngine;
-
-// CLASS DECLARATION
-
-namespace XnListQueryDialogInterface
-{
-_LIT8(KType, "listquerydialog");
-class MXnListQueryDialogInterface : public XnComponentInterface::MXnComponentInterface
-   {
-
-public:
-        
-    static inline const TDesC8& Type()
-        {
-        return KType;
-        }
-        
-public: // New functions
-
-    /**
-     * Replaces or appends new item into list
-     * @param aText The new text line
-     * @param aIndex index
-     */
-    virtual void ReplaceItemL(const TDesC& aText, TInt aIndex ) = 0;
-    
-    /**
-     * Inserts or appends new item into list
-     * @param aText The new text line
-     * @param aIndex index
-     */
-    virtual void InsertItemL(const TDesC& aText, TInt aIndex ) = 0;
-    
-    /**
-     * Deletes the item from the given index
-     * @param aIndex list index
-     */
-    virtual void DeleteItem( TInt aIndex ) = 0;
-   };
- }   
-
-/**
- *  List query dialog data interface 
- *  @ingroup group_xnlayoutengine
- *  @lib xnlayoutengine.lib
- *  @since 9.2
- */
-class CXnListQueryDialog : public CXnComponent, public XnListQueryDialogInterface::MXnListQueryDialogInterface
-   {
-
-public:
-
-
-    /**
-     * 2 phase construction.
-     */
-    static CXnListQueryDialog* NewL();
-
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnListQueryDialog();
-
-public: // From MXnListQueryDialogInterface
-
-    /**
-     * Replaces or appends new item into list
-     * @param aText The new text line
-     * @param aIndex index
-     */
-    void ReplaceItemL(const TDesC& aText, TInt aIndex );
-
-    /**
-     * Inserts or appends new item into list
-     * @param aText The new text line
-     * @param aIndex index
-     */
-    void InsertItemL(const TDesC& aText, TInt aIndex );
-    
-    /**
-     * Deletes the item from the given index
-     * @param aIndex list index
-     */
-    void DeleteItem( TInt aIndex );
-    
-
-public: // from MXnComponentInterface
-
-    /**
-      * Create a component interface according to the given type.
-      * @param aType Type of the interface to create
-      * @return Created interface or NULL if the provided type is not supported.
-      */ 
-    XnComponentInterface::MXnComponentInterface* MakeInterfaceL(const TDesC8& aType);
-    
-private:
-
-    CXnListQueryDialog();
-    void ConstructL();
-
-   };
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnlayoutengine
-*  List query dialog adapter interface class
-*  @lib xnlayoutengine.lib
-*  @since Series 60 5.0
-*/
-NONSHARABLE_CLASS( CXnListQueryDialogAdapter ) : public CXnControlAdapter
-	{
-	public: // Constructors and destructor
-		/**
-        * Two-phased constructor.
-        */
-		static CXnListQueryDialogAdapter* NewL( CXnNodePluginIf& aNode );
-		
-        /**
-        * Destructor.
-        */
-		~CXnListQueryDialogAdapter();
-		
-		/**
-         * Replaces or appends new item into list
-         * @param aText The new text line
-         * @param aIndex index
-         */
-	    void ReplaceItemL(const TDesC& aText, TInt aIndex );
-	    
-	    /**
-         * Inserts or appends new item into list
-         * @param aText The new text line
-         * @param aIndex index
-         */
-	    void InsertItemL(const TDesC& aText, TInt aIndex );
-	    
-	    /**
-         * Deletes the item from the given index
-         * @param aIndex list index
-         */
-	    void DeleteItem( TInt aIndex );
-	    
-	    /**
-	     * Displays the dialog
-	     */
-		void TryDisplayingDialogL();      
-
-    private: // Constructors
-		/**
-        * C++ default constructor.
-        */
-        CXnListQueryDialogAdapter( CXnNodePluginIf& aNode );
-
-	   	/**
-        * Two-phased constructor.        
-        */ 
-	    void ConstructL();	   
-	    
-    private: // New functions
-        /**
-        * Sets the selected item active, which runs associated event.
-        */ 
-        void ActivateItemL( TInt aIndex );
-        
-        /**
-        * Inserts the index into event.
-        */ 
-        void ModifyDynamicEventL( TInt aIndex );
-            
-    private:    // Data	
-        // Node 
-        CXnNodePluginIf& iNode;
-        /**
-         * List items
-         * own
-         */
-        CDesCArrayFlat* iItemArray;
-        
-        /**
-         * Array of static item nodes
-         * Not own
-         */
-        RPointerArray< CXnNodePluginIf > iStaticItems;
-        
-        /**
-         * Dynamic item node
-         * Not own
-         */
-        CXnNodePluginIf* iDynamicItem;
-        
-	};
-
-#endif // __XNLISTQUERYDIALOGADAPTER_H__
-
-// End of File
--- a/idlehomescreen/inc/xnmap.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +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:  Associative container.
-*
-*/
-
-
-
-#ifndef CXNMAP_H
-#define CXNMAP_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class MXnComparator;
-// CLASS DECLARATION
-
-/**
-* @ingroup group_xnutils
-* 
-*  Associative container, works like a map or a hashtable
-*  @since Series 60 3.1
-*/
-class CXnMap : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aComparatorFunctor A comparator used for testing object equality. Must not be NULL. Map assumes ownership of the comparator.
-        */
-        IMPORT_C static CXnMap* NewL(MXnComparator* aComparatorFunctor);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CXnMap();
-        
-    public: // New functions
-        
-        /**
-        * Puts an object to the map. The map will assume ownership of the object. If an equal object is already in the map, it will be replaced with the new object and the old object will be destroyed.
-        * @since Series 60 3.1
-        * @param aObject Object to add. 
-        * @exception KXnErrAppendingMapItemFailed_1 Appending new map item failed.
-        * @exception KXnErrAppendingMapItemFailed_2 Appending new map item failed.
-        */
-		IMPORT_C void PutL(CBase* aObject);
-
-        /**
-        * Gets an object from the map. The map will retain ownership of the object, the caller must not destroy the object. The returned pointer will become invalid if the object is replaced in the map by a subsequent PutL().
-        * @since Series 60 3.1
-        * @param aObject Object key
-        * @return The object mapped to the key or NULL if not found. 
-        */
-		IMPORT_C CBase* Get(CBase& aObject) const;
-
-        /**
-        * Gets access to the underlying container
-        * @since Series 60 3.1
-        * @return The undelying container
-        */
-		IMPORT_C RPointerArray<CBase>& Container();
-
-        /**
-        * Find an object from the map. The map will retain ownership of the object, the caller must not destroy the object. The returned pointer will become invalid if the object is replaced in the map by a subsequent PutL().
-        * @since Series 60 3.1
-        * @param aObject Object key
-		* @param aComparator Comparator used for finding the object
-        * @return The object mapped to the key matching the comparator or NULL if not found. 
-        */
-		IMPORT_C CBase* Find(CBase& aObject, MXnComparator& aComparator) const;
-
-
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnMap();
-
-        /**
-        * 2nd phase constructor.
-        * @param aComparatorFunctor A comparator used for testing object equality
-        */
-        void ConstructL(MXnComparator* aComparatorFunctor);
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-        // Internal container
-        RPointerArray<CBase> iContainer;
-        // Comparator functor;
-        MXnComparator* iComparator;
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // CXnMAP_H
-            
-// End of File
--- a/idlehomescreen/inc/xnmenu.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon Menu Plugin
-*
-*/
-
-
-
-#ifndef _XNMENU_H
-#define _XNMENU_H
-
-//  INCLUDES
-#include "xncomponent.h"
-#include "mxncomponentinterface.h"
-
-class TAknsItemID;
-
-namespace XnMenuInterface
-{
-_LIT8(KType, "menu");
-
-class MXnMenuObserver
-    {
-public:
-    /**
-     * Called when options menu is about to open. Observer can add 
-     * its own menu item to the aMenuItems array.
-     * @param aMenuItem menu item
-     * @param aPlugin plugin node
-     * @return ETrue if the item should be shown, EFalse otherwise
-     */        
-    virtual TBool DynInitMenuItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aPlugin = NULL ) = 0;
-    };
-
-/**
-*  @ingroup group_xnmenufactory
-*  @lib xn3menufactory.dll
-*  @since S60 3.1
-*/
-class MXnMenuInterface : public XnComponentInterface::MXnComponentInterface
-    {
-public:
-    /**
-    * Soft key position enum
-    * These are same as in CEikButtonGroupContainer::TCommandPosition
-    */
-    enum TSoftKeyPosition
-        {
-        ELeft = 0,
-        ERight = 2,    
-        ECenter = 3  /* Not supported when setting icon */
-        };        
-
-public:
-		
-    static inline const TDesC8& Type()
-        {
-        return KType;
-        }
-		
-public: // New functions
-
-    /**
-    * Sets softkey image. If there was no leave, menu takes  
-    * bitmap and mask ownership.
-    * @since Series 60 3.2
-    * @param aBitmap Bitmap to draw
-    * @param aMask Mask to use
-    * @param aPos Softkey position
-    * @param aPreserveAspectRatio ETrue if image's aspect ratio is preserved
-    * @param aInvertMask ETrue if white mask is used, EFalse if black mask is used
-    * @param aTransferOwnership ETrue if bitmap and mask ownerhsip is transferred to menuadapter
-    */        
-    virtual void SetSoftKeyImageL( 
-        CFbsBitmap* aBitmap, 
-        CFbsBitmap* aMask, 
-        XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos,
-        TBool aPreserveAspectRatio = EFalse, TBool aInvertMask = EFalse,
-        TBool aTransferOwnership = ETrue ) = 0;   
-
-    virtual void SetSoftKeyImageL( 
-        CFbsBitmap* aBitmap, 
-        CFbsBitmap* aMask, 
-        XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos,
-        CXnNodeAppIf* aNode,
-        TBool aPreserveAspectRatio = EFalse, TBool aInvertMask = EFalse,
-        TBool aTransferOwnership = ETrue ) = 0;   
-
-    /**
-    * Sets soft key image.
-    * @param aId icon bitmap IID 
-    * @param aBmpFile file path.
-    * @param aBmp Bitmap ID.
-    * @param aBmpM Bitmap mask ID.
-    * @param aPos Softkey position.
-    * @param aEnable ETrue for set icon, EFalse for use default icon.
-    */
-    virtual void SetSoftKeyImageL( const TAknsItemID& aId,
-                                   const TDesC& aBmpFile,
-                                   const TInt32 aBmp,
-                                   const TInt32 aBmpM,
-                                   XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos, 
-                                   TBool aEnable ) = 0;
-
-    /**
-    * Sets softkey text. 
-    * @since Series 60 3.2
-    * @param aText Text to draw    
-    * @param aPos Softkey position
-    */                
-    virtual void SetSoftKeyTextL( const TDesC& aText,
-        XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos ) = 0;           
-
-    /**
-    * Sets softkey. 
-    * @param aNode Softey node. 
-    * @param aPos Softkey position.
-    */       
-    virtual void SetSoftKeyL( CXnNodePluginIf* aSoftkeyNode,
-        XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos ) = 0;
-
-    /**
-    * Returns currently visible softkey node. 
-    * @param aPos Softkey position.
-    * @return Currently visible softkey. 
-    */       
-    virtual CXnNodePluginIf* SoftKeyL( XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos ) = 0;
-
-   /**
-    * Sets MXnMenuObserver observer
-    * @since S60 5.1
-    * @param aObserver observer to set
-    */                
-    virtual void SetObserver( XnMenuInterface::MXnMenuObserver& aObserver ) = 0;
-
-   /**
-    * Removes the observer
-    * @since S60 5.1    
-    */                   
-    virtual void RemoveObserver() = 0;        
-
-   /**
-    * Tries to display menubar
-    * @since S60 5.1    
-    * @param aMenuNodeId the menu node id
-    */                      
-    virtual void TryDisplayingMenuBarL( const TDesC& aMenuNodeId ) = 0;
-    };
-}   
-    
-class CXnMenu : public CXnComponent, public XnMenuInterface::MXnMenuInterface
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnMenu* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnMenu();
-    
-    protected: // New functions
-
-       /**
-        * @see MXnMenuInterface::SetSoftKeyImage
-        */
-       void SetSoftKeyImageL(
-        CFbsBitmap* aBitmap,
-        CFbsBitmap* aMask,
-        XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos,
-        TBool aPreserveAspectRatio, TBool aInvertMask,
-        TBool aTransferOwnership = ETrue );
-       
-       void SetSoftKeyImageL( 
-        CFbsBitmap* aBitmap, 
-        CFbsBitmap* aMask, 
-        XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos,
-        CXnNodeAppIf* aNode,
-        TBool aPreserveAspectRatio, TBool aInvertMask,
-        TBool aTransferOwnership = ETrue );
-
-       /**
-        * @see MXnMenuInterface::SetSoftKeyImage
-        */
-       void SetSoftKeyImageL( const TAknsItemID& aId,
-                              const TDesC& aBmpFile,
-                              const TInt32 aBmp,
-                              const TInt32 aBmpM,
-                              XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos, 
-                              TBool aEnable );
-
-       /**
-        * @see MXnMenuInterface::SetSoftkeyTextL
-        */        
-       void SetSoftKeyTextL( const TDesC& aText,
-        XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos );           
-
-       /**
-        * @see MXnMenuInterface::SetSoftKeyL
-        */        
-        void SetSoftKeyL( CXnNodePluginIf* aSoftkeyNode,
-            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos );
-
-       /**
-        * @see MXnMenuInterface::SoftKeyL
-        */        
-        CXnNodePluginIf* SoftKeyL( XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos );
-
-       /**
-        * @see MXnMenuInterface::SetObserver
-        */                
-       void SetObserver( XnMenuInterface::MXnMenuObserver& aObserver );
-
-       /**
-        * @see MXnMenuInterface::RemoveObserver
-        */                
-       void RemoveObserver();
-
-       /**
-        * @see MXnMenuInterface::TryDisplayingMenuBarL
-        */                       
-       void TryDisplayingMenuBarL( const TDesC& aMenuNodeId );
-       
-                              
-      /**
-       * @see MXnComponentInterface::MakeInterfaceL
-       */
-      XnComponentInterface::MXnComponentInterface* MakeInterfaceL( const TDesC8& aType );   
-    private:
-    
-        /**
-        * C++ default constructor.
-        */
-        CXnMenu();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-   };
-
-#endif      // _XNMENU_H 
-            
-// End of File
--- a/idlehomescreen/inc/xnmenuadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,396 +0,0 @@
-/*
-* Copyright (c) 2002-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:  
-*
-*/
-
-
-
-#ifndef _XNMENUADAPTER_H
-#define _XNMENUADAPTER_H
-
-//  INCLUDES
-#include "xncontroladapter.h"
-#include <eikmobs.h>
-#include <eikmenup.h>
-#include "xnmenu.h"
-
-// FORWARD DECLARATIONS
-class TXnUiEnginePluginIf;
-class CXnNodePluginIf;
-    
-// CONSTANTS
-
-_LIT8(KXnMenuBar, "menubar");
-_LIT8(KXnMenuItem, "menuitem");
-_LIT8(KXnDynMenuItem, "dynmenuitem");
-_LIT8(KXnWidgetMenuItem, "widgetmenuitem");
-_LIT8(KXnWidgetSoftkey, "widgetsoftkey");
-_LIT8(KXnMenu, "menu");
-_LIT8(KXnLabel, "label");
-_LIT8(KXnImage, "image");
-_LIT8(KXnImagePath, "path");
-_LIT8(KXnMenuExtension, "menuextension");
-_LIT8(KXnMenuItemSettings, "hs_widget_menuitem_settings");
-_LIT8(KXnSource, "source");
-_LIT8(KXnTarget, "target");
-    
-// CLASS DECLARATION
-class TXnMenuItem
-    {
-    public :
-        CXnNodePluginIf* iNode;
-        TBool iAutomaticSP;
-        TInt iParentIndex;
-        CEikMenuPaneItem::SData iData;
-        TBool iIsCascade;
-    };
-
-// CLASS DECLARATION
-
-class CXnSoftkeyItem;
-/**
-*  @ingroup group_xnmenufactory
-*  @lib xn3menufactory.dll
-*  @since S60 3.1
-*/
-class CXnMenuAdapter : public CXnControlAdapter, public MEikMenuObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-         * Two-phased constructor.
-         */
-        static CXnMenuAdapter* NewL( CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-        
-        /**
-         * Destructor.
-         */
-        virtual ~CXnMenuAdapter();
-
-    public: // new functions
-        virtual void SetContainerL(CEikButtonGroupContainer& aContainer);
-        virtual TBool IsMenuFocused();
-
-        /**
-         * Closes the menu, if it is open.  
-         * @since Series 60 3.2
-        */
-        virtual void StopDisplayingMenu();
-
-        /**
-        * Sets soft key image. If there was no leave, menu takes  
-        * bitmap and mask ownership.
-        * @since Series 60 3.2
-        * @param aBitmap Bitmap to draw
-        * @param aMask Mask to use
-        * @param aPos Softkey position
-        * @param aPreserveAspectRatio ETrue if image's aspect ratio is preserved
-        * @param aInvertMask ETrue if white mask is used, EFalse if black mask is used
-        * @param aTransferOwnership ETrue if bitmap and mask ownerhsip is transferred to menuadapter
-        */        
-        void SetSoftKeyImageL(
-            CFbsBitmap* aBitmap,
-            CFbsBitmap* aMask,
-            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos,
-            CXnNodeAppIf* aNode,
-            TBool aPreserveAspectRatio, TBool aInvertMask,TBool aTransferOwnership);
-
-        /**
-        * Sets soft key image.
-        * @param aId icon bitmap IID 
-        * @param aBmpFile file path.
-        * @param aBmp Bitmap ID.
-        * @param aBmpM Bitmap mask ID.
-        * @param aPos Softkey position.
-        * @param aEnable ETrue for set icon, EFalse for use default icon.
-        */
-        void SetSoftKeyImageL( const TAknsItemID& aId,
-                               const TDesC& aBmpFile,
-                               const TInt32 aBmp,
-                               const TInt32 aBmpM,
-                               XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos, 
-                               TBool aEnable );
-
-        /**
-        * Sets softkey text. 
-        * @since Series 60 3.2
-        * @param aText Text to draw    
-        * @param aPos Softkey position
-        */                       
-        void SetSoftKeyTextL( const TDesC& aText,
-            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos );           
-
-        /**
-        * Sets softkey. 
-        * @param aNode Softey node. 
-        * @param aPos Softkey position.
-        */                       
-        void SetSoftKeyL( CXnNodePluginIf* aSoftkeyNode,
-            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos );           
-
-        /**
-        * Gets currently visible softkey. 
-        * @param aPos Softkey position.
-        * @return Softey node. 
-        */                       
-        CXnNodePluginIf* SoftKeyL( XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos );
-
-        /**
-         * Finds softkey node by given position
-         * @since Series 60 5.0         
-         */
-        virtual TBool FindSoftKeyNodeByPosition( const TPoint& aPosition, CXnNodePluginIf*& aNode );
-
-        /**
-         * Tries to display menubar        
-         * @since Series 60 5.1    
-         * @param aMenuNodeId the menu node id
-         */        
-        void TryDisplayingMenuL( const TDesC& aMenuNodeId );
-       
-    public: // from CCoeControl
-
-        /**
-         * See CCoeControl documentation
-         */
-        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-        
-        /**
-         * See CCoeControl documentation
-         */
-        virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-        
-        /**
-         * See CCoeControl documentation
-         */
-        virtual void HandleResourceChange(TInt aType);
-        
-        /**
-        * From CCoeAppUiBase. Informs the components about the screen layout switch.
-	    */
-        virtual void HandleScreenDeviceChangedL();
-    
-    public: // from MEikMenuObserver
-    
-
-        /**
-         * Will panic if we don't override it, because we don't have any resource for it.
-         * Default implementation will read resources 
-         */
-        virtual void RestoreMenuL(CCoeControl* aMenuControl,TInt aResourceId,TMenuType aType);
-        
-        /**
-         * Initialize menu pane dynamically
-         */
-        virtual void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
-        
-        /**
-         * See CCoeControl documentation
-         */
-        virtual void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
-    
-        /**
-         * See CCoeControl documentation
-         */
-	    virtual void ProcessCommandL(TInt aCommandId);
-	    
-	    /**
-        * This is done when application goes to background. 
-        */ 
-	    void DoEnterPowerSaveModeL(TModeEvent aEvent);
-	    
-	    /**
-        * This is done when application goes to foreground. 
-        */ 
-        void DoExitPowerSaveModeL(TModeEvent aEvent);
-        
-		/*
-		 * Handles menu property change
-		 */
-		virtual void HandleMenuPropertyChangeL(CXnNodePluginIf* aNode, CXnProperty* aProperty);
-    
-		/*
-		 * Sets a dynamic menuitem initialisation observer
-		 */		
-		void SetObserver( XnMenuInterface::MXnMenuObserver& aObserver );
-
-		/*
-		 * Removes the dynamic menuitem initialisation observer
-		 */		
-		void RemoveObserver();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnMenuAdapter();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-        
-        /**
-         * Populate menu from nodes
-         */
-        void PopulateMenuL();
-        
-        /**
-         * Create menu items. Recursive function
-         */
-        TInt AddMenuItemL( TInt aParentIndex, CXnNodePluginIf* aNode,
-                           RPointerArray< const TDesC8 >& aGroups );
-                
-        /**
-         * Finds softkey item by position
-         */                                			        			 
-        CXnNodePluginIf* FindSoftkeyItemByPosition( const TPoint& aPosition );
-
-        /**
-         * Prepare image for softkey
-         */                                			        			 
-		CEikImage* PrepareSoftkeyImageL( const CXnSoftkeyItem& aItem, const TSize& aSize );
-		
-        /**
-         * Sets appearance to softkey, either text or image
-         */                                			        			 		
-		void SetSoftkeyAppearanceL( CXnSoftkeyItem& aItem );
-
-        /**
-         * Initializes softkey items array
-         */                                			        			 				
-		void InitSoftkeyItemsL();
-
-        /**
-         * Initializes single softkey item image
-         */                                			        			 						
-		void InitSoftkeyItemImageL( CXnSoftkeyItem& aItem );
-
-        /**
-         * Check wheter msk is available in this layout
-         */                                			        			 								
-		TBool IsMskAvailable();
-		
-		/*
-		 * Resolves the softkey node which is in this pointer event location
-		 */
-		CXnNodePluginIf* ResolvePointerEventReceiver(  const TPoint aPosition ); 
-		
-        /**
-         * Tries to display menubar        
-         */        		
-		void TryDisplayingMenuL();
-		
-		/**
-         * Get cba button rect from laf        
-         */
-		TRect ButtonTouchableRectByPosition( TInt aPosition );
-		/**
-		 * Finds softkey from node tree
-		 */
-		CXnNodePluginIf* FindSoftkeyNodeL(const TDesC8& aNodeType);
-		/**
-		 * Creates menu bar
-		 */
-		void CreateMenuBarL();
-		/**
-		 * Updates softkeys if their "need update" state is on
-		 */
-		void UpdateSoftkeyAppearancesL();
-		/**
-		 * Creates image with right size and set it to left or right softkey
-		 */
-		void ChangeSoftkeyImageL(const CXnSoftkeyItem& aSoftkey);
-		/**
-		 * Inserts menu items to menu pane
-		 */
-		void AddItemsToMenuPaneL(CEikMenuPane* aMenuPane, TInt aResourceId);
-		
-		/**
-         * Creates and initialized softkey item (TXnSoftkeyItem holds data for softkey)
-         * if not created yet and appends it to the array
-         */
-		CXnSoftkeyItem* AppendSoftkeyItemL(CXnNodePluginIf* aNode);
-
-		/**
-		 * Dig type attribute from softkey node. 
-		 * Return KNullDesC if not found
-		 */
-		const TDesC8& SoftkeyPlaceL(CXnNodePluginIf& aNode);
-
-		/**
-	     * Finds softkey item by position.
-	     */                                			        			 
-    	CXnNodePluginIf* DoFindSoftkeyItemByPositionL( const TPoint& aPosition );		
-
-    	/**
-    	 * Get visible softkey item based on position.
-    	 */
-    	CXnSoftkeyItem*  SoftkeyItemL(TInt aPosition);
-
-    	/**
-    	 * Get softkey item based on given node
-    	 */
-    	CXnSoftkeyItem* SoftkeyItemL(CXnNodePluginIf* aNode);
-
-    	/**
-    	 * Get softkey item based on given node
-    	 */
-    	CXnSoftkeyItem* SoftkeyItemL(CXnNodeAppIf* aNode);
-
-    	/**
-    	 * Set member flag true based on item.
-    	 */
-    	void SetUpdateAppearanceL(CXnSoftkeyItem* aItem);
-    	                
-        /**
-         * Finds menu item from focused widget.
-         */		
-        CXnNodePluginIf* FindWidgetMenuItemL( CXnNodePluginIf* aNode );
-
-        /**
-         * Finds a <widgetsoftkey> node from view which 'source' arrtibure matches with the 'target' attribute 
-         * of given node and returns its label.
-         */     
-        HBufC* FindSoftkeyLabelL( CXnNodePluginIf* aNode );
-		
-    private:    // Data
-        TXnUiEnginePluginIf*                iUiEngine;
-        CXnNodePluginIf*                    iRootNode;
-        CXnNodePluginIf*                    iMenuBarNode;
-        CXnNodePluginIf*                    iPointerEventNode;
-        CXnNodePluginIf*                    iKeyEventNode;
-        CArrayFixFlat< TXnMenuItem >        iMenuItems;
-        TInt                                iIdCounter;
-        CEikButtonGroupContainer*           iContainer;        
-        CEikMenuBar*                        iMenuBar;  
-        XnMenuInterface::MXnMenuObserver*   iObserver;        
-        TBool                               iMenuShown; 
-        RPointerArray<CXnSoftkeyItem>       iSoftkeyItems;
-        TInt                                iPreviousMenuPaneId;
-        TBool                               iUpdateLskAppearance;
-        TBool                               iUpdateMskAppearance;
-        TBool                               iUpdateRskAppearance;
-        CXnSoftkeyItem*                     iVisibleLSK;
-        CXnSoftkeyItem*                     iVisibleRSK;
-        CXnSoftkeyItem*                     iVisibleMSK;
-   };
-
-
-
-#endif      // _XNMENUADAPTER_H   
-            
-// End of File
--- a/idlehomescreen/inc/xnnewsticker.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Interface class for CXnNewsticker.
-*
-*/
-
-
-#ifndef _XNNEWSTICKER_H
-#define _XNNEWSTICKER_H
-
-//  INCLUDES
-#include "xncomponent.h"
-#include "mxncomponentinterface.h"
-
-class CGulIcon;
-
-// CLASS DECLARATION
-/**
-*  Component UI factory interface for creating newsticker text element.
-*
-*  @lib xnnewstickerfactory.dll
-*  @since Series 60 3.2
-*/
-namespace XnNewstickerInterface
-{
-_LIT8(KType, "newsticker");
-
-class MXnNewstickerCallbackInterface
-    {
-    public: // New functions
-
-        /**
-         * Called when the title has been shown and is now offscreen.
-         * @param aTitleIndex The title that has been completely shown.
-         */
-        virtual void TitleScrolled(TInt aTitleIndex) = 0;
-        
-    };
-
-class MXnNewstickerInterface : public XnComponentInterface::MXnComponentInterface
-    {
-    public: // New functions
-
-        static inline const TDesC8& Type()
-            {
-            return KType;
-            }
-
-        /**
-         * Append new title to the end of the title list.
-         * @param aTitle The new title to add.
-         */
-        virtual void AppendTitleL(const TDesC& aTitle) = 0;
-
-        /**
-         * Insert new title to the end of the title list.
-         * @param aTitle The new title to add.
-         * @param aIndex The place to add the title.
-         */
-        virtual void InsertTitleL(const TDesC& aTitle, TInt aIndex) = 0;
-
-        /**
-         * Update title text.
-         * @param aTitle The new title to add.
-         * @param aIndex The place to update the title.
-         */
-        virtual void UpdateTitleL(const TDesC& aTitle, TInt aIndex) = 0;
-
-        /**
-         * Delete the title.
-         * @param aIndex The title index to delete.
-         */
-        virtual void DeleteTitle(TInt aIndex) = 0;
-
-    	/**
-    	 * Returns index of the currently selected title.
-    	 * @return The index of the current title.
-    	 */
-        virtual TInt CurrentTitleIndex() = 0;
-
-    	/**
-    	 * Return the title of the given index.
-    	 * @param aIndex The index to return the title.
-    	 * @return The title of the given index.
-    	 */
-        virtual const TDesC& Title(TInt aIndex) = 0;
-
-        /**
-         * Delete all titles.
-         */
-        virtual void ClearTitles() = 0;
-
-        /**
-         * Set callback interface.
-         * @param aCallback The callback interface pointer.
-         */
-        virtual void SetCallbackInterfaceL(MXnNewstickerCallbackInterface* aCallback) = 0;
-    };
-}
-
-/**
-* @ingroup group_xnnewstickerfactory
-* 
-*  Newsticker class implementation.
-*
-*  @lib xnnewstickerfactory.dll
-*  @since Series 60 3.2
-*/
-class CXnNewsticker : public CXnComponent, public XnNewstickerInterface::MXnNewstickerInterface
-    {
-    public:
-    	/**
-    	 * 2 phase construction.
-    	 */
-    	static CXnNewsticker* NewL();
-
-    	/**
-    	 * Destructor.
-    	 */
-    	virtual ~CXnNewsticker();
-
-    public:
-         // Routed from MXnNewstickerInterface.
-
-        /**
-         * Append new title to the end of the title list.
-         * @param aTitle The new title to add.
-         */
-        void AppendTitleL(const TDesC& aTitle);
-
-        /**
-         * Insert new title to the end of the title list.
-         * @param aTitle The new title to add.
-         * @param aIndex The place to add the title.
-         */
-        void InsertTitleL(const TDesC& aTitle, TInt aIndex);
-
-        /**
-         * Update title text.
-         * @param aTitle The new title to add.
-         * @param aIndex The place to update the title.
-         */
-        void UpdateTitleL(const TDesC& aTitle, TInt aIndex);
-        
-        /**
-         * Delete the title.
-         * @param aIndex The title index to delete.
-         */
-        void DeleteTitle(TInt aIndex);
-
-    	/**
-    	 * Returns index of the currently selected title.
-    	 * @return The index of the current title.
-    	 */
-        TInt CurrentTitleIndex();
-
-    	/**
-    	 * Return the title of the given index.
-    	 * @param aIndex The index to return the title.
-    	 * @return The title of the given index.
-    	 */
-        const TDesC& Title(TInt aIndex);
-
-        /**
-         * Delete all titles.
-         */
-        void ClearTitles();
-
-        /**
-         * Append the SVG title to be shown.
-         * @param aByteData The SVG data.
-         */
-        void AppendSvgTitleL(const TDesC8& aByteData);
-
-        /**
-         * Insert the SVG title to be shown.
-         * @param aByteData The SVG data.
-         */
-        void InsertSvgTitleL(const TDesC8& aByteData, TInt aIndex);
-
-        /**
-         * Set callback interface.
-         * @param aCallback The callback interface pointer.
-         */
-        void SetCallbackInterfaceL(
-            XnNewstickerInterface::MXnNewstickerCallbackInterface* aCallback);
-
-	   	/**
-        * Create a component interface according to the given type.
-        * @param aType Type of the interface to create
-        * @return Created interface or NULL if the provided type is not supported.
-        */ 
-        virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(
-            const TDesC8& aType);        
-    	      
-    private:
-
-    	CXnNewsticker();
-
-    	void ConstructL();
-    };
-
-
-#endif      // _XNNEWSTICKER_H
-            
-// End of File
--- a/idlehomescreen/inc/xnnode.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1193 +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:
-* Node of layout tree
-*
-*/
-
-#ifndef XNNODE_H
-#define XNNODE_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-
-// User includes
-
-// Forward declarations
-class CXnType;
-class CXnProperty;
-class CXnNodeImpl;
-class CXnViewsNodeImpl;
-class CXnViewNodeImpl;
-class CXnComponentNodeImpl;
-class CXnUiEngine;
-class CXnNodePluginIf;
-class CXnNodeAppIf;
-class CXnDomNode;
-class CXnControlAdapter;
-class CXnScrollableControlAdapter;
-namespace XnComponentInterface
-    {
-    class MXnComponentInterface;
-    }
-
-// Constants
-namespace XnDirtyLevel
-    {
-    /** Not dirty */
-    const TInt ENone = 0;
-    /** Draw node's appearance */
-    const TInt ERender = 1;
-    /** Layout and draw node's appearance */
-    const TInt ELayoutAndRender = 2;
-    /** Layout and draw node's and its siblings appearance */
-    const TInt ELayoutAndRenderSiblings = 3;
-    }
-
-namespace XnNodeLayout
-    {
-    const TInt ENone = 0;
-    const TInt EDropped = 1;
-    const TInt ENotLayouted = 2;
-    const TInt EDroppedAndNotLayouted = 3;
-    }
-
-namespace XnAdaptive
-    {
-    const TInt ENone = 0x00;
-    const TInt EWidth = 0x01;
-    const TInt EHeight = 0x02;
-    const TInt EMeasure = 0x04;
-    const TInt ESizeFixed = 0x08;
-    const TInt EIgnoreDirty = 0x10;
-    }
-
-namespace XnEventSource
-    {
-    const TInt EUnknown = 0x00;
-    const TInt EStylus = 0x01;
-    const TInt EKey = 0x02;
-    }
-
-namespace XnHoldProperty
-    {
-    const TInt ENoHold = 0x00;
-    const TInt EHold = 0x01;
-    }
-
-// Class declaration
-/**
- * Node of the layout tree
- *
- * @ingroup group_xnlayoutengine
- * @lib xnlayoutengine.lib
- * @since Series 60 3.1
- */
-NONSHARABLE_CLASS( CXnNode ) : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     */
-    static CXnNode* NewL();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnNode();
-
-public:
-    // New functions
-
-    /**
-     * Get the node implementation
-     *
-     * @since Series 60 3.1
-     * @return Node implementation
-     */
-    CXnNodeImpl* Impl();
-
-    /**
-     * Get the root node implementation
-     *
-     * @since Series 60 3.1
-     * @return Root node implementation
-     */
-    CXnNodeImpl* RootNodeImpl();
-
-    /**
-     * Get the view node implementation
-     *
-     * @since Series 60 3.1
-     * @return View node implementation
-     */
-    CXnViewNodeImpl* ViewNodeImpl();
-
-    /**
-     * Get the component node implementation
-     *
-     * @since Series 60 3.1
-     * @return Component node implementation
-     */
-    CXnComponentNodeImpl* ComponentNodeImpl();
-
-    /**
-     * Set UI engine
-     *
-     * @since Series 60 3.1
-     * @param aEngine UI engine
-     */
-    void SetUiEngine( CXnUiEngine& aEngine );
-
-    /**
-     * Get the UI engine
-     *
-     * @since Series 60 3.1
-     * @return UI engine
-     */
-    CXnUiEngine* UiEngine();
-
-    /**
-     * Set the node implementation
-     *
-     * @since Series 60 3.1
-     * @param aImpl Node implementation
-     */
-    void SetImpl( CXnNodeImpl* aImpl );
-
-    /**
-     * Set the Root node implementation
-     *
-     * @since Series 60 3.1
-     * @param aRootNodeImpl Root node implementation
-     */
-    void SetRootNodeImpl( CXnNodeImpl* aRootNodeImpl );
-
-    /**
-     * Set the views implementation
-     *
-     * @since Series 60 3.1
-     * @param aViewsNodeImpl Views node implementation
-     */
-    void SetViewsNodeImpl( CXnViewsNodeImpl* aViewsNodeImpl );
-
-    /**
-     * Set the view node implementation
-     *
-     * @since Series 60 3.1
-     * @param aViewNodeImpl View node implementation
-     */
-    void SetViewNodeImpl( CXnViewNodeImpl* aViewNodeImpl );
-
-    /**
-     * Handle interaction events
-     *
-     * @since Series 60 3.1
-     * @param aEventData Event data
-     * @param aSource A source of event, e.g. XnEventSource::EStylus.
-     * @return Flag indicating whether the event was consumed
-     */
-    TBool ReportXuikonEventL( CXnNode& aEventData, TInt aSource = 0 );
-
-    /**
-     * Handle key event
-     *
-     * @since Series 60 3.1
-     * @param aKeyEvent Key event data
-     * @param aType Event type
-     */
-    void OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-    /**
-     * Set the component node implementation
-     *
-     * @since Series 60 3.1
-     * @param aComponentNodeImpl Component node implementation
-     */
-    void SetComponentNodeImpl( CXnComponentNodeImpl* aComponentNodeImpl );
-
-    /**
-     * Set node's layout capability
-     *
-     * @since Series 60 3.1
-     * @param aLayoutCapable Layout capability
-     */
-    void SetLayoutCapable( const TBool aLayoutCapable );
-
-    /**
-     * Get node's layout capability
-     *
-     * @since Series 60 3.1
-     * @return Layout capability
-     */
-    TBool IsLayoutCapable() const;
-
-    /**
-     * Set the node's characted data
-     *
-     * @since Series 60 3.1
-     * @param aData Character data
-     */
-    void SetPCDataL( const TDesC8& aData );
-
-    /**
-     * Get the node's characted data
-     *
-     * @since Series 60 3.1
-     * @return Character data
-     */
-    const TDesC8& GetPCData() const;
-
-    /**
-     * Set a property.
-     *
-     * The list will assume ownership of the property.
-     * If an equal property is already in the list, it will be
-     * replaced with the new property and the old property will be destroyed.
-     * @since Series 60 3.1
-     * @param aProperty Property to set.
-     */
-    void SetPropertyL( CXnProperty* aProperty );
-
-    /**
-     * Set a property without notification being sent.
-     *
-     * @see SetPropertyL
-     * @param aProperty Property to set.
-     */
-    void SetPropertyWithoutNotificationL( CXnProperty* aProperty );
-
-    /**
-     * Set a property NOT replacing an equal property if already in the list.
-     *
-     * @see SetPropertyL
-     * @param aProperty Property to set.
-     */
-    void InitializePropertyL( CXnProperty* aProperty );
-
-    /**
-     * Set an array of properties.
-     *
-     * Improves the performance when many properties need to be
-     * set e.g. in construction phase.
-     * The list will assume ownership of the property.
-     * If an equal property is already in the list, it will be
-     * replaced with the new property and the old property will be destroyed.
-     * @see SetPropertyL
-     */
-    void SetPropertyArrayL( RPointerArray< CXnProperty >* aPropertyArray );
-
-    /**
-     * Gets a property.
-     *
-     * The list will retain ownership of the property,
-     * the caller must not destroy the property. The returned pointer will
-     * become invalid if the property is replaced in the list by a subsequent
-     * SetL().
-     * @since Series 60 3.1
-     * @param aKey Name of the property
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GetPropertyL( const TDesC8& aKey ) const;
-
-    /**
-     * Set a state
-     *
-     * @since Series 60 3.1
-     * @param aState State to set.
-     * @param aSource A source of the event.
-     */
-    void SetStateL(
-        const TDesC8& aState,
-        TInt aSource = XnEventSource::EUnknown );        
-
-    /**
-     * Check whether a state is set
-     *
-     * @since Series 60 3.1
-     * @return ETrue if set, EFalse if not
-     */
-    TBool IsStateSet( const TDesC8& aState );
-
-    /**
-     * Set a state without performing notifications and re-rendering
-     *
-     * @since Series 60 3.1
-     * @param aState State to set
-     */
-    void SetStateWithoutNotificationL( const TDesC8& aState );
-
-    /**
-     * Unset a state
-     *
-     * @since Series 60 3.1
-     * @param aState State to unset.
-     */
-    void UnsetStateL( const TDesC8& aState );
-
-    /**
-     * Get node type
-     *
-     * @since Series 60 3.1
-     * @return Node type
-     */
-    CXnType* Type();
-
-    /**
-     * Set node's content rect
-     *
-     * @since Series 60 3.1
-     * @param aRect Content rect
-     */
-    void SetRect( const TRect& aRect );
-
-    /**
-     * Get node's content rect
-     *
-     * @since Series 60 3.1
-     * @return Content rect
-     */
-    TRect Rect();
-
-    /**
-     * Set node's border rect
-     *
-     * @since Series 60 3.1
-     * @param aRect Border rect
-     */
-    void SetBorderRect( const TRect& aRect );
-
-    /**
-     * Get node's border rect
-     *
-     * @since Series 60 3.1
-     * @return Border rect
-     */
-    TRect BorderRect();
-
-    /**
-     * Set normal flow border rect
-     *
-     * @since Series 60 3.1
-     * @param aRect border rect
-     */
-    void SetNormalFlowBorderRect( const TRect& aRect );
-
-    /**
-     * Get normal flow border rect
-     *
-     * @since Series 60 3.1
-     * @return Border rect
-     */
-    TRect NormalFlowBorderRect();
-
-    /**
-     * Set node's margin rect
-     *
-     * @since Series 60 3.1
-     * @param aRect Margin rect
-     */
-    void SetMarginRect( const TRect& aRect );
-
-    /**
-     * Get node's margin rect
-     *
-     * @since Series 60 3.1
-     * @return Margin rect
-     */
-    TRect MarginRect();
-
-    /**
-     * Set node's padding rect
-     *
-     * @since Series 60 3.1
-     * @param aRect Padding rect
-     */
-    void SetPaddingRect( const TRect& aRect );
-
-    /**
-     * Get node's padding rect
-     *
-     * @since Series 60 3.1
-     * @return Padding rect
-     */
-    TRect PaddingRect();
-
-    /**
-     * Returns the parent. The ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @return The parent area, NULL if not set.
-     */
-    CXnNode* Parent() const;
-
-    /**
-     * Sets the parent.
-     *
-     * @since Series 60 3.1
-     * @param aParent Parent area
-     */
-    void SetParent( CXnNode& aParent );
-
-    /**
-     * Adds a child node under this node. Assumes ownership of the node.
-     *
-     * @since Series 60 3.1
-     * @param aChild Child to be added
-     * @exception KXnErrAddChildToAreaFailed Adding child failed.
-     */
-    void AddChildL( CXnNode* aChild );
-
-    /**
-     * Get the child nodes
-     *
-     * @since Series 60 3.1
-     * @return Child nodes
-     */
-    RPointerArray< CXnNode >& Children();
-
-    /**
-     * Set whether the node is dropped from layout
-     *
-     * @since Series 60 3.1
-     * @param aDropped Flag indicating whether the node is dropped from layout
-     */
-    void SetDropped( const TInt aDropped );
-
-    /**
-     * Get whether the node is dropped from layout
-     *
-     * @since Series 60 3.1
-     * @return Flag indicating whether the node is dropped from layout
-     */
-    TInt IsDropped() const;
-
-    /**
-     * Set node rendered, which means it will not be rendered again until
-     * its properties, states or rects change
-     *
-     * @since Series 60 3.1
-     */
-    void SetRenderedL();
-
-    /**
-     * Set node laid out, which means it will not be laid out again until
-     * its properties, states or rects change
-     *
-     * @since Series 60 3.1
-     */
-    void SetLaidOutL();
-
-    /**
-     * Get layout state
-     *
-     * @since Series 60 3.1
-     * @return Layout state
-     */
-    TBool IsLaidOut() const;
-
-    /**
-     * Set node not rendered and not laid out
-     *
-     * @since Series 60 3.1
-     */
-    void ClearRenderedAndLaidOut();
-
-    /**
-     * Get node plugin interface
-     *
-     * @since Series 60 3.1
-     * @return Node plugin interface
-     */
-    CXnNodePluginIf& PluginIfL();
-
-    /**
-     * Get node application interface
-     *
-     * @since Series 60 3.1
-     * @return Node application interface
-     */
-    CXnNodeAppIf& AppIfL();
-
-    /**
-     * Create a component interface according to the given type.
-     *
-     * @param aType Type of the interface to create
-     * @return Created interface or NULL if the provided type is not supported.
-     */
-    XnComponentInterface::MXnComponentInterface* MakeInterfaceL(
-        const TDesC8& aType );
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* WidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* HeightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MarginLeftL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MarginRightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderLeftL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderRightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PaddingLeftL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PaddingRightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MarginTopL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MarginBottomL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderTopL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderBottomL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PaddingTopL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PaddingBottomL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderWidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BlockProgressionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* DirectionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PositionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MaxHeightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MinHeightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MaxWidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MinWidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* DisplayL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* VisibilityL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* LeftL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* RightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* TopL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BottomL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderLeftStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderRightStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderTopStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderBottomStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderImageL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* DisplayPriorityL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* NameL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* ValueL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* LabelL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* InitialFocusL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* ClassL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* IdL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PathL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MaskPathL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* NavIndexL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* VisibleRowsL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridColumnsL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridOrientationL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridVerDirectionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridHorDirectionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* FocusHorLoopingL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* FocusVerLoopingL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* ZIndexL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BackgroundColorL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* FocusBackgroundL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BackgroundImageL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* RefL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridScrollBarMarginL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridScrollBarWidthL();
-
-    /**
-     * Sets the pointer of DOM node
-     *
-     * @since S60 3.1
-     * @param aDomNode Corresponding DOM node
-     */
-    void SetDomNode( CXnDomNode* aDomNode );
-
-    /**
-     * Returns pointer to associated DOM node.
-     *
-     * @since S60 3.1
-     * @return Pointer to DOM node
-     */
-    CXnDomNode* DomNode();
-
-    /**
-     * Sets handle tooltip flag.
-     *
-     * @since S60 3.1
-     * @return Pointer to DOM node
-     */
-    void SetHandleTooltip( TBool aFlag );
-
-    /**
-     * Measures the adaptive content dimensions.
-     *
-     * @since Series 60 3.2
-     * @param aAvailableSize A size where adaptive content must fit
-     * @return the content dimensions
-     */
-    TSize MeasureAdaptiveContentL( const TSize& aAvailableSize );
-
-    /**
-     * Checks if the node has adaptive content.
-     *
-     * @since Series 60 3.2
-     * @return adaptive state (none, width/height or both)
-     */
-    TInt IsAdaptive( TBool aIgnoreSizeFixed = EFalse ) const;
-
-    /**
-     * Set node's content based state (none, width, height, or both).
-     *
-     * @since Series 60 3.2
-     * @param aAdaptive state (none, width/height or both)
-     */
-    void SetAdaptiveL( const TInt aAdaptive );
-
-    /**
-     * Set fixed size to adaptive node
-     *
-     * @since Series 60 3.2
-     * @param aFixedSize the node's size determined by layout algorithm
-     */
-    void FixAdaptiveSizeL( const TSize& aFixedSize );
-
-    /**
-     * Restarts the timer in a timed trigger.
-     *
-     * @param aDelay Delay in microseconds. If delay is zero, then the timer
-     *        is only cancelled.
-     */
-    void RestartTimedTrigger( TInt aDelay = 0 );
-
-    /**
-     * Sets default trigger delay.
-     *
-     * @param aDelay delay in microseconds. If new delay is not set, then
-     *        this value is used in restarting the timer.
-     */
-    void SetTriggerDelay( TTimeIntervalMicroSeconds32 aDelay );
-
-    /**
-     * Returns the default trigger delay.
-     */
-    TTimeIntervalMicroSeconds32 TriggerDelay();
-
-    /**
-     * Marks node as dirty, adds it to UiEngine's dirty list and
-     * clears rendered and laidout from the node and its children.
-     *
-     * @since S60 3.2
-     */
-    void SetDirtyL( TInt aLevel = XnDirtyLevel::ELayoutAndRender,
-        TBool aDisplayedState = EFalse );
-
-    /**
-     * Focuses first focusable node from the focus candidate array
-     */
-    TBool RunFocusChangeL( RPointerArray< CXnNode >& aFocusCandidates );
-
-    /**
-     * Change the order of the nodes. This is for drag and drop.
-     */
-    void ReorderNodesL( CXnNode* aSource, CXnNode* aTarget );
-
-    /**
-     * Loops through parents until a view node is found.
-     * If view is not found (or this node is a view), returns
-     * null.
-     */
-    CXnNode* FindViewNode();
-
-    /**
-     * Shows all tooltip nodes associated to this node
-     */
-    void ShowTooltipsL();
-
-    /**
-     * Hides all tooltip nodes associated to this node
-     */
-    void HideTooltipsL();
-
-    /**
-     * Gets namespace of node
-     */
-    const TDesC8& Namespace();
-
-    /**
-     * Gets control of node
-     */
-    CXnControlAdapter* Control() const;
-        
-    /**
-     * Sets scrollable control
-     */
-    void SetScrollableControl( CXnScrollableControlAdapter* aScrollableControl );
-
-    /**
-     * Gets scrollable control.
-     */
-    CXnScrollableControlAdapter* ScrollableControl();
-        
-protected:
-    /**
-     * C++ default constructor.
-     */
-    CXnNode();
-
-    /**
-     * Two-phased constructor.
-     */
-    void ConstructL();
-
-private:
-    // Data
-
-    /**
-     * Node implementation.
-     * Own.
-     */
-    CXnNodeImpl* iImpl;
-
-    /**
-     * Root node implementation.
-     * Not own (owned via iImpl).
-     */
-    CXnNodeImpl* iRootNodeImpl;
-
-    /**
-     * Views node implementation.
-     * Not own (owned via iImpl).
-     */
-    CXnViewsNodeImpl* iViewsNodeImpl;
-
-    /**
-     * View node implementation.
-     * Not own (owned via iImpl).
-     */
-    CXnViewNodeImpl* iViewNodeImpl;
-
-    /**
-     * Component node implementation.
-     * Not own (owned via iImpl).
-     */
-    CXnComponentNodeImpl* iComponentNodeImpl;
-
-    /**
-     * node plugin interface.
-     * Own.
-     */
-    CXnNodePluginIf* iPluginIf;
-
-    /**
-     * node application interface.
-     * Own.
-     */
-    CXnNodeAppIf* iAppIf;
-
-    /**
-     * delay in microseconds for timer.
-     */
-    TTimeIntervalMicroSeconds32 iTriggerDelay;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnnodeappif.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +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:
-* Application interface to node of layout tree
-*
-*/
-
-#ifndef XNNODEAPPIF_H
-#define XNNODEAPPIF_H
-
-// System includes
-#include <coedef.h>
-#include <e32base.h>
-#include <w32std.h>
-#include <coecobs.h>
-
-// Forward declarations
-class CXnType;
-class CXnProperty;
-class CXnNode;
-class TXnUiEngineAppIf;
-
-namespace XnComponentInterface
-    {
-    class MXnComponentInterface;
-    }
-
-// Class declaration
-/**
- * Application interface to node of layout tree
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since Series 60 3.1
- */
-class CXnNodeAppIf : public CBase
-    {
-public:
-    /**
-     * C++ default constructor.
-     */
-    CXnNodeAppIf( CXnNode& aNode );
-
-public:
-    // New functions
-
-    /**
-     * Get the UI engine
-     *
-     * @since Series 60 3.1
-     * @return UI engine
-     */
-    IMPORT_C TXnUiEngineAppIf* UiEngineL();
-
-    /**
-     * Set the node's characted data
-     *
-     * @since Series 60 3.1
-     * @param aData Character data
-     */
-    IMPORT_C void SetPCDataL( const TDesC8& aData );
-
-    /**
-     * Get the node's characted data
-     *
-     * @since Series 60 3.1
-     * @return Character data
-     */
-    IMPORT_C const TDesC8& GetPCData() const;
-
-    /**
-     * Set a property.
-     *
-     * The list will assume ownership of the property.
-     * If an equal property is already in the list, it will be
-     * replaced with the new property and the old property will be destroyed.
-     * @since Series 60 3.1
-     * @param aProperty Property to set.
-     */
-    IMPORT_C void SetPropertyL( CXnProperty* aProperty );
-
-    /**
-     * Set an array of properties.
-     *
-     * Improves the performance when many properties need to be
-     * set e.g. in construction phase.
-     * The list will assume ownership of the property.
-     * If an equal property is already in the list, it will be
-     * replaced with the new property and the old property will be destroyed.
-     * @since Series 60 3.1
-     * @param aPropertyArray Properties to set.
-     */
-    IMPORT_C void SetPropertyArrayL(
-        RPointerArray< CXnProperty >* aPropertyArray );
-
-    /**
-     * Gets a property.
-     *
-     * The list will retain ownership of the property,
-     * the caller must not destroy the property. The returned pointer will
-     * become invalid if the property is replaced in the list by a subsequent
-     * SetL().
-     * @since Series 60 3.1
-     * @param aProperty Property key
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GetPropertyL( CXnProperty& aProperty ) const;
-
-    /**
-     * Gets a property.
-     *
-     * The list will retain ownership of the property,
-     * the caller must not destroy the property. The returned pointer will
-     * become invalid if the property is replaced in the list by a subsequent
-     * SetL().
-     * @since Series 60 3.1
-     * @param aKey Name of the property
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GetPropertyL( const TDesC8& aKey ) const;
-
-    /**
-     * Set a state
-     *
-     * @since Series 60 3.1
-     * @param aState State to set.
-     */
-    IMPORT_C void SetStateL( const TDesC8& aState );
-
-    /**
-     * Check whether a state is set
-     *
-     * @since Series 60 3.1
-     * @return ETrue if set, EFalse if not
-     */
-    IMPORT_C TBool IsStateSet( const TDesC8& aState );
-
-    /**
-     * Unset a state
-     *
-     * @since Series 60 3.1
-     * @param aState State to unset.
-     */
-    IMPORT_C void UnsetStateL( const TDesC8& aState );
-
-    /**
-     * Get node type
-     *
-     * @since Series 60 3.1
-     * @return Node type
-     */
-    IMPORT_C CXnType* Type();
-
-    /**
-     * Get node's content rect
-     *
-     * @since Series 60 3.1
-     * @return Content rect
-     */
-    IMPORT_C TRect Rect();
-
-    /**
-     * Get node's border rect
-     *
-     * @since Series 60 3.1
-     * @return Border rect
-     */
-    IMPORT_C TRect BorderRect();
-
-    /**
-     * Get node's margin rect
-     *
-     * @since Series 60 3.1
-     * @return Margin rect
-     */
-    IMPORT_C TRect MarginRect();
-
-    /**
-     * Get node's padding rect
-     *
-     * @since Series 60 3.1
-     * @return Padding rect
-     */
-    IMPORT_C TRect PaddingRect();
-
-    /**
-     * Get the internal node
-     * @since Series 60 3.1
-     * @return Internal node
-     */
-    CXnNode& Node();
-
-    /**
-     * Create a component interface according to the given type.
-     *
-     * @param aType Type of the interface to create
-     * @return Created interface or NULL if the provided type is not supported.
-     */
-    IMPORT_C XnComponentInterface::MXnComponentInterface* MakeInterfaceL(
-        const TDesC8& aType );
-
-    /**
-     * Get the child nodes
-     *
-     * @since Series 60 3.1
-     * @return Child nodes
-     */
-    IMPORT_C RPointerArray< CXnNodeAppIf > ChildrenL();
-
-    /**
-     * Get the parent node
-     *
-     * @since Series 60 3.1
-     * @return parent node
-     */
-    IMPORT_C CXnNodeAppIf* ParentL() const;
-
-    /**
-     * Get internal dom node type
-     *
-     * @return Reference to node type
-     */
-    IMPORT_C const TDesC8& InternalDomNodeType() const;
-
-    /**
-     * Shows all tooltip nodes associated to this node
-     */
-    IMPORT_C void ShowTooltipsL();
-
-    /**
-     * Hides all tooltip nodes associated to this node
-     */
-    IMPORT_C void HideTooltipsL();
-
-    /**
-     * Get namespace of this node
-     */
-    IMPORT_C const TDesC8& Namespace();
-
-private:
-    // Data
-
-    /**
-     * Pointer to internal node object.
-     * Not own.
-     */
-    CXnNode* iNode;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnnodebreadthfirstiterator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +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:  Iterates over a tree, breadth first
-*
-*/
-
-#ifndef XNNODEBREADTHFIRSTITERATOR_H
-#define XNNODEBREADTHFIRSTITERATOR_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include "xnchilditerator.h"
-
-// Constants
-/** 
- * Queue granularity value
- */
-const TInt KMemoryAloc = 128;
-
-template< class T > class CXnNodeBreadthFirstIterator : public CBase,
-    public MXnChildIterator
-    {
-public:
-
-    /**
-    * Two-phased constructor.
-    * @param aStartNode Object to iterate over
-    */
-    static CXnNodeBreadthFirstIterator< T >* NewL( T& aStartNode );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CXnNodeBreadthFirstIterator();
-
-    /**
-    * Get the next iterator value.
-    * @return Next object or NULL if no more values. 
-    */
-    T* NextL();
-
-    /**
-    * Get the current iterator value.
-    * @return Current object 
-    */     
-    T* Value();
-
-    /**
-    * Get the previous iterator value. Obsolete!
-    * @return NULL 
-    */
-    T* PreviousL();
-
-    /**
-    * Get the current iterator index. Obsolete!
-    * @return value 0
-    */
-    TUint Index() const;
-
-protected:
-
-    /**
-    * C++ default constructor. 
-    */
-    CXnNodeBreadthFirstIterator( T* aStartNode );
-
-    /**
-    * 2nd phase constructor. 
-    */
-    void ConstructL();
-
-private:   
-    // Queue
-    RPointerArray< T > iQueue;
-    // Object to iterate over
-    T* iStart;   
-    // Current object
-    T* iCurrent;
-    };
-
-
-// -----------------------------------------------------------------------------
-// CXnNodeBreadthFirstIterator< T >::NewL()
-// -----------------------------------------------------------------------------
-//
-template< class T > CXnNodeBreadthFirstIterator< T >* 
-    CXnNodeBreadthFirstIterator< T >::NewL( T& aStartNode )
-    {
-    CXnNodeBreadthFirstIterator< T >* p = 
-        new ( ELeave )CXnNodeBreadthFirstIterator< T >( &aStartNode );
-    CleanupStack::PushL( p );
-    p->ConstructL();
-    CleanupStack::Pop();
-    return p;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeBreadthFirstIterator< T >::CXnNodeBreadthFirstIterator()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-template< class T >
-    CXnNodeBreadthFirstIterator < T >::CXnNodeBreadthFirstIterator(
-    T* aStartNode ): iStart( aStartNode ), iCurrent( aStartNode ),
-    iQueue( KMemoryAloc )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//  CXnNodeBreadthFirstIterator< T >::~CXnNodeBreadthFirstIterator()
-//  C++ default destructor.     
-// -----------------------------------------------------------------------------
-//     
-template< class T >
-    CXnNodeBreadthFirstIterator< T >::~CXnNodeBreadthFirstIterator()
-    {
-    iQueue.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeBreadthFirstIterator< T >::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-template< class T > void CXnNodeBreadthFirstIterator< T >::ConstructL()
-    {
-    iQueue.AppendL( iStart );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeBreadthFirstIterator< T >::NextL()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnNodeBreadthFirstIterator< T >::NextL()
-    {
-    if( iQueue.Count() )
-        {
-        // Dequeue
-        iCurrent = iQueue[0];
-        iQueue.Remove(0);
-
-        RPointerArray< T >& currentChildNodes = iCurrent->Children();
-        TInt currentChildCount( currentChildNodes.Count() );
-
-        // Enqueue
-        for( TInt i = 0; i < currentChildCount; ++i )
-            {
-            iQueue.AppendL( currentChildNodes[i] );
-            }
-        }
-    else
-        {
-        iCurrent = NULL;
-        iQueue.Reset();
-        iQueue.AppendL( iStart );
-        }
-    return iCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeBreadthFirstIterator< T >::Value()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnNodeBreadthFirstIterator< T >::Value()
-    {
-    return iCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeBreadthFirstIterator< T >::PreviousL()
-// -----------------------------------------------------------------------------
-//
-template< class T > T* CXnNodeBreadthFirstIterator< T >::PreviousL()
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeBreadthFirstIterator< T >::Index()
-// -----------------------------------------------------------------------------
-//
-template< class T > TUint CXnNodeBreadthFirstIterator< T >::Index() const
-    {
-    return 0;
-    }
-
-#endif    //CXNNODEBREADTHFIRSTITERATOR_H
-
-// End of File
\ No newline at end of file
--- a/idlehomescreen/inc/xnnodeimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1226 +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:
-* Implementation part of the bridge pattern of  CXnNode
-*
-*/
-
-#ifndef XNNODEIMPL_H
-#define XNNODEIMPL_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-
-// User includes
-#include "xndomproperty.h"
-#include "xnnode.h"
-
-// Forward declarations
-class CXnType;
-class CXnPropertyList;
-class CXnProperty;
-class CXnNode;
-class CXnUiEngine;
-class CGridPropertyCache;
-class CLayoutPropertyCache;
-class CXnDomNode;
-class CXnScrollableControlAdapter;
-
-namespace XnComponentInterface
-    {
-    class MXnComponentInterface;
-    }
-
-// Class declaration
-/**
- * Implementation part of the bridge pattern in CXnNode.
- *
- * @ingroup group_xnlayoutengine
- * @lib xnlayoutengine.lib
- * @since Series 60 3.1
- */
-NONSHARABLE_CLASS( CXnNodeImpl ) : public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aType Type.
-     */
-    static CXnNodeImpl* NewL( CXnType* aType );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnNodeImpl();
-
-public:
-    // New functions
-
-    /**
-     * Sets wheter to handle tooltips
-     * @since S60 5.1
-     * @param aFlag ETrue to handle, EFalse otherwise
-     */
-    void SetHandleTooltip( TBool aFlag );
-
-    /**
-     * Hides all popups
-     * @since S60 5.1
-     */
-    void HidePopupsL();
-
-    /**
-     * Shows all popups
-     *
-     * @param aRect content rect
-     * @param aSource Event source
-     * @since S60 5.1
-     */
-    void ShowPopupsL( TRect aRect, TInt aSource = XnEventSource::EUnknown );
-
-    /**
-     * Set content rect
-     *
-     * @since Series 60 3.1
-     * @param aRect content rect
-     */
-    void SetRect( const TRect& aRect );
-
-    /**
-     * Get content rect
-     *
-     * @since Series 60 3.1
-     * @return Content rect
-     */
-    TRect Rect();
-
-    /**
-     * Set border rect
-     *
-     * @since Series 60 3.1
-     * @param aRect border rect
-     */
-    void SetBorderRect( const TRect& aRect );
-
-    /**
-     * Get border rect
-     * @since Series 60 3.1
-     * @return Border rect
-     */
-    TRect BorderRect();
-
-    /**
-     * Set normal flow border rect
-     *
-     * @since Series 60 3.1
-     * @param aRect border rect
-     */
-    void SetNormalFlowBorderRect( const TRect& aRect );
-
-    /**
-     * Get normal flow border rect
-     *
-     * @since Series 60 3.1
-     * @return Border rect
-     */
-    TRect NormalFlowBorderRect();
-
-    /**
-     * Set margin rect
-     *
-     * @since Series 60 3.1
-     * @param aRect margin rect
-     */
-    void SetMarginRect( const TRect& aRect );
-
-    /**
-     * Get margin rect
-     *
-     * @since Series 60 3.1
-     * @return Margin rect
-     */
-    TRect MarginRect();
-
-    /**
-     * Set padding rect
-     *
-     * @since Series 60 3.1
-     * @param aRect padding rect
-     */
-    void SetPaddingRect( const TRect& aRect );
-
-    /**
-     * Get padding rect
-     *
-     * @since Series 60 3.1
-     * @return Padding rect
-     */
-    TRect PaddingRect();
-
-    /**
-     * Set node
-     *
-     * @since Series 60 3.1
-     * @param aNode Node
-     */
-    void SetNode( CXnNode& aNode );
-
-    /**
-     * Get node
-     *
-     * @since Series 60 3.1
-     * @return Node
-     */
-    CXnNode* Node();
-
-    /**
-     * Set UI engine
-     *
-     * @since Series 60 3.1
-     * @param aEngine UI engine
-     */
-     void SetUiEngine( CXnUiEngine& aEngine );
-
-    /**
-     * Get UI engine
-     *
-     * @since Series 60 3.1
-     * @return UI engine
-     */
-    CXnUiEngine* UiEngine();
-
-    /**
-     * Handle interaction events
-     *
-     * @since Series 60 3.1
-     * @param aEventData Event data
-     * @param aSource A source of event, e.g. XnEventSource::EStylus.
-     */
-    TBool ReportXuikonEventL( CXnNode& aEventData, TInt aSource = 0 );
-
-    /**
-     * Handle key event
-     *
-     * @since Series 60 3.1
-     * @param aKeyEvent Key event data
-     * @param aType Event type
-     */
-    void OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-    /**
-     * Set character data
-     *
-     * @since Series 60 3.1
-     * @param aData Character data
-     */
-    void SetPCDataL( const TDesC8& aData );
-
-    /**
-     * Get character data
-     *
-     * @since Series 60 3.1
-     * @return Character data
-     */
-    const TDesC8& GetPCData();
-
-    /**
-     * Set a property.
-     *
-     * The list will assume ownership of the property.
-     * If an equal property is already in the list, it will be replaced
-     * with the new property and the old property will be destroyed.
-     * @since Series 60 3.1
-     * @param aProperty Property to set.
-     * @param aNotify Boolean flag indicating whether notifications should be
-     *        sent
-     */
-    void SetPropertyL( CXnProperty* aProperty, TBool aNotify = ETrue );
-
-    /**
-     * Set a property without notification being sent.
-     *
-     * @see SetPropertyL
-     * @param aProperty Property to set.
-     */
-    void SetPropertyWithoutNotificationL( CXnProperty* aProperty );
-
-    /**
-     * Set a property NOT replacing an equal property if already in the list.
-     *
-     * @see SetPropertyL
-     * @param aProperty Property to set.
-     */
-    void InitializePropertyL( CXnProperty* aProperty );
-
-    /**
-     * Set an array of properties.
-     *
-     * Improves the performance when many properties need to be
-     * set e.g. in construction phase.
-     * The list will assume ownership of the property.
-     * If an equal property is already in the list, it will be
-     * replaced with the new property and the old property will be destroyed.
-     * @see SetPropertyL
-     */
-    void SetPropertyArrayL( RPointerArray< CXnProperty >& aPropertyArray );
-
-    /**
-     * Gets a property.
-     *
-     * The list will retain ownership of the property,
-     * the caller must not destroy the property. The returned pointer will
-     * become invalid if the property is replaced in the list by a subsequent
-     * SetL().
-     * @since Series 60 3.1
-     * @param aKey Property name
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GetPropertyL( const TDesC8& aKey );
-
-    /**
-     * Set a state
-     *
-     * @since Series 60 3.1
-     * @param aState State to set
-     * @param aSource A source that triggered this event     
-     */
-    void SetStateL( const TDesC8& aState, TInt aSource );
-
-    /**
-     * Check whether a state is set
-     *
-     * @since Series 60 3.1
-     * @return ETrue if set, EFalse if not
-     */
-    TBool IsStateSet( const TDesC8& aState );
-
-    /**
-     * Set a state without performing notifications and re-rendering
-     *
-     * @since Series 60 3.1
-     * @param aState State to set
-     */
-    void SetStateWithoutNotificationL( const TDesC8& aState );
-
-    /**
-     * Unset a state
-     *
-     * @since Series 60 3.1
-     * @param aState State to unset.
-     */
-    void UnsetStateL( const TDesC8& aState );
-
-    /**
-     * Get node type
-     *
-     * @since Series 60 3.1
-     * @return Node type
-     */
-    CXnType* Type();
-
-    /**
-     * Returns the parent. The ownership is not transferred.
-     *      
-     * @since Series 60 3.1
-     * @return The parent area, NULL if not set.
-     */
-    CXnNode* Parent() const;
-
-    /**
-     * Sets the parent.
-     *
-     * @since Series 60 3.1
-     * @param aParent Parent area
-     */
-    void SetParent( CXnNode& aParent );
-
-    /**
-     * Adds a child node. Assumes ownership of the node.
-     *
-     * @since Series 60 3.1
-     * @param aChild Child to be added
-     * @exception KXnErrAddChildToAreaFailed Adding child failed.
-     */
-    void AddChildL( CXnNode* aChild );
-
-    /**
-     * Get child nodes.
-     *
-     * @since Series 60 3.1
-     * @return Child nodes
-     */
-    RPointerArray< CXnNode >& Children();
-
-    /**
-     * Set whether the node is dropped from layout
-     *
-     * @since Series 60 3.1
-     * @param aDropped Flag indicating whether the node is dropped from layout
-     */
-    void SetDropped( const TInt aDropped );
-
-    /**
-     * Get whether the node is dropped from layout
-     *
-     * @since Series 60 3.1
-     * @return Flag indicating whether the node is dropped from layout
-     */
-    TInt IsDropped() const;
-
-    /**
-     * Set layout capability
-     *
-     * @since Series 60 3.1
-     * @param aLayoutCapable Layout capability
-     */
-    void SetLayoutCapable( const TBool aLayoutCapable );
-
-    /**
-     * Get layout capability
-     *
-     * @since Series 60 3.1
-     * @return Layout capability
-     */
-    TBool IsLayoutCapable() const;
-
-    /**
-     * Set node rendered, which means it will not be rendered again until its
-     * properties, states or rects change
-     *
-     * @since Series 60 3.1
-     */
-    void SetRenderedL();
-
-    /**
-     * Set node laid out, which means it will not be laid out again until its
-     * properties, states or rects change
-     *
-     * @since Series 60 3.1
-     */
-    void SetLaidOutL();
-
-    /**
-     * Get layout state
-     *
-     * @since Series 60 3.1
-     * @return Layout state
-     */
-    TBool IsLaidOut() const;
-
-    /**
-     * Set node not rendered and not laid out
-     *
-     * @since Series 60 3.1
-     */
-    void ClearRenderedAndLaidOut();
-
-    /**
-     * Create a component interface according to the given type.
-     *
-     * This must be virtual because CXnComponentNodeImpl inherits this.
-     * @param aType Type of the interface to create
-     * @return Created interface or NULL if the provided type is not supported.
-     */
-    virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(
-        const TDesC8& aType );
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* WidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* HeightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MarginLeftL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MarginRightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderLeftL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderRightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PaddingLeftL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PaddingRightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MarginTopL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MarginBottomL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderTopL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderBottomL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PaddingTopL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PaddingBottomL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderWidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BlockProgressionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* DirectionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PositionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MaxHeightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MinHeightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MaxWidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MinWidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* DisplayL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* VisibilityL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* LeftL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* RightL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* TopL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BottomL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderLeftStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderRightStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderTopStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderBottomStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderStyleL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BorderImageL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* DisplayPriorityL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* NameL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* ValueL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* LabelL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* InitialFocusL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* ClassL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* IdL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* PathL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* MaskPathL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* NavIndexL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* VisibleRowsL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridColumnsL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridOrientationL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridVerDirectionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridHorDirectionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* FocusHorLoopingL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* FocusVerLoopingL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* ZIndexL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BackgroundColorL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* FocusBackgroundL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* BackgroundImageL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* RefL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridScrollBarMarginL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    CXnProperty* GridScrollBarWidthL();
-
-    /**
-     * Sets the pointer of DOM node
-     *
-     * @since S60 3.1
-     * @param aDomNode Corresponding DOM node
-     */
-    void SetDomNode( CXnDomNode* aDomNode );
-
-    /**
-     * Returns pointer to associated DOM node.
-     *
-     * @since S60 3.1
-     * @return Pointer to DOM node
-     */
-    CXnDomNode* DomNode();
-
-    /**
-     * Measures the adaptive content dimensions.
-     *
-     * @since Series 60 3.2
-     * @param aAvailableSize A size where adaptive content must fit
-     * @return the content dimensions
-     */
-    TSize MeasureAdaptiveContentL( const TSize& aAvailableSize );
-
-    /**
-     * Checks if the node has adaptive content.
-     *
-     * @since Series 60 3.2
-     * @return adaptive state (none, width/height or both)
-     */
-    TInt IsAdaptive(  TBool aIgnoreSizeFixed = EFalse ) const;
-
-    /**
-     * Set node's content based state (none, width, height, or both).
-     *
-     * @since Series 60 3.2
-     * @param aAdaptive state (none, width/height or both)
-     */
-    void SetAdaptiveL( const TInt aAdaptive );
-
-    /**
-     * Set fixed size to adaptive node
-     *
-     * @since Series 60 3.2
-     * @param aFixedSize the node's size determined by layout algorithm
-     */
-    void FixAdaptiveSizeL( const TSize& aFixedSize );
-
-    /**
-     * Callback which will be called by the CPeriodic.
-     *
-     * @param aPtr User defined pointer.
-     * @return ETrue if the method should be called again.
-     */
-    static TInt PeriodicEventL( TAny* aPtr );
-
-    /**
-     * Returns a pointer to the periodic timer (for timed triggers).
-     */
-    CPeriodic* PeriodicTimer();
-
-    /**
-     * Creates a periodic timer (iPeriodicTimer).
-     */
-    void CreatePeriodicL();
-
-    /**
-     * Deletes a periodict timer (iPeriodicTimer)
-     */
-    void DeletePeriodic();
-
-    /**
-     * Marks node as dirty, adds it to UiEngine's dirty list and
-     * clears rendered and laidout from the node and its children.
-     *
-     * @since S60 3.2
-     */
-    void SetDirtyL( TInt aLevel = XnDirtyLevel::ELayoutAndRender, 
-        TBool aDisplayedState = EFalse );
-
-    /**
-     * Focuses first focusable node from the focus candidate array
-     */
-    TBool RunFocusChangeL( RPointerArray< CXnNode >& aFocusCandidates );
-
-    /**
-     * Change the order of the nodes. This is for drag and drop.
-     */
-    void ReorderNodesL( CXnNode* aSource, CXnNode* aTarget );
-
-    /**
-     * Find next node located aDirection from aNode.
-     */
-    CXnNode* FindNextNodeL(
-        RPointerArray< CXnNode >& aArray,
-        CXnNode& aNode,
-        TInt aDirection );
-
-    /**
-     * Gets namespace of node
-     */
-    const TDesC8& Namespace();
-
-    /**
-     * Sets scrollable control
-     */
-    void SetScrollableControl( CXnScrollableControlAdapter* aScrollableControl );
-
-    /**
-     * Gets scrollable control.
-     */
-    CXnScrollableControlAdapter* ScrollableControl();
-        
-private:
-
-    TInt DoSetPropertyL( CXnProperty* aPropery );
-    TRect AdjustRectIfNeeded( TRect aRect );
-
-protected:
-    /**
-     * C++ default constructor.
-     */
-    CXnNodeImpl();
-
-    /**
-     * Two-phased constructor.
-     */
-    void ConstructL( CXnType* aType );
-
-private:
-    // Data
-
-    /**
-     * Component type.
-     * Own.
-     */
-    CXnType* iType;
-
-    /**
-     * Pointer to property list.
-     * Own.
-     */
-    CXnPropertyList* iPropertyList;
-
-    /**
-     * Pointer to parent node.
-     * Not own.
-     */
-    CXnNode* iParent;
-
-    /**
-     * Pointer to node.
-     * Not own.
-     */
-    CXnNode* iNode;
-
-    /**
-     * Content rect.
-     */
-    TRect iRect;
-
-    /**
-     * Border rect.
-     */
-    TRect iBorderRect;
-
-    /**
-     * Border rect according to normal flow
-     */
-    TRect iNormalFlowBorderRect;
-
-    /**
-     * Margin rect
-     */
-    TRect iMarginRect;
-
-    /**
-     * Padding rect
-     */
-    TRect iPaddingRect;
-
-    /**
-     * Is node dropped from layout
-     */
-    TInt iDropped;
-
-    /**
-     * Does node support layout
-     */
-    TBool iLayoutCapable;
-
-    /**
-     * Children of this node
-     */
-    RPointerArray< CXnNode > iChildren;
-
-    /**
-     * UI engine.
-     * Not own.
-     */
-    CXnUiEngine* iUiEngine;
-
-    /**
-     * Flag indicating render status
-     */
-    TBool iRendered;
-
-    /**
-     * Flag indicating layout status
-     */
-    TBool iLaidOut;
-
-    /**
-     * Array containing list of pseudo classes that have class-specific properties
-     */
-    RArray< CXnDomProperty::TPseudoClass > iPropertyPseudoClasses;
-
-    /**
-     * Array containing list of pseudo classes that have a state set
-     *
-     * @see SetStateL
-     */
-    RArray< CXnDomProperty::TPseudoClass > iStates;
-
-    /**
-     * Local cache for property with name KRef.
-     * Not own.
-     */
-    CXnProperty* iRef;
-
-    /**
-     * Local cache for property with name KName.
-     * Not own.
-     */
-    CXnProperty* iName;
-
-    /**
-     * Local cache for property with name KValue.
-     * Not own.
-     */
-    CXnProperty* iValue;
-
-    /**
-     * Local cache for property with name KLabel.
-     * Not own.
-     */
-    CXnProperty* iLabel;
-
-    /**
-     * Local cache for property with name KInitialFocus.
-     * Not own.
-     */
-    CXnProperty* iInitialFocus;
-
-    /**
-     * Local cache for property with name KClass.
-     * Not own.
-     */
-    CXnProperty* iClass;
-
-    /**
-     * Local cache for property with name KId.
-     * Not own.
-     */
-    CXnProperty* iId;
-
-    /**
-     * Local cache for property with name KPath.
-     * Not own.
-     */
-    CXnProperty* iPath;
-
-    /**
-     * Local cache for property with name KMaskPath.
-     * Not own.
-     */
-    CXnProperty* iMaskPath;
-
-    /**
-     * Local property cache.
-     * Own.
-     */
-    CGridPropertyCache* iGridPropertyCache;
-
-    /**
-     * Local property cache.
-     * Own.
-     */
-    CLayoutPropertyCache* iLayoutPropertyCache;
-
-    /**
-     * Flag indicating tooltip handling status
-     */
-    TBool iHandleTooltip;
-
-    /**
-     * Pointer to corresponding node in the DOM tree.
-     * Not own.
-     */
-    CXnDomNode* iDomNode;
-
-    /**
-     * Pointer to scrollable control adapter
-     * Not own.
-     */
-    CXnScrollableControlAdapter* iScrollableControl;
-    
-    /**    
-     * States, if the nodes width, height or both are content based.
-     */
-    TInt iAdaptive;
-
-    /**
-     * The timer for the timed triggers.
-     * Own.
-     */
-    CPeriodic* iPeriodicTimer;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnnodepluginif.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,499 +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:
-* Node of layout tree, plugin interface
-*
-*/
-
-#ifndef XNNODEPLUGINIF_H
-#define XNNODEPLUGINIF_H
-
-// System includes
-#include <e32base.h>
-
-// Forward declarations
-class CXnType;
-class CXnProperty;
-class CXnNode;
-class CXnViewNodeImpl;
-class CXnComponentNodeImpl;
-class TXnUiEnginePluginIf;
-class CXnNodeAppIf;
-class CXnControlAdapter;
-
-namespace XnComponentInterface
-    {
-    class MXnComponentInterface;
-    }
-
-// Class declaration
-/**
- * Node of layout tree, plugin interface
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since Series 60 3.1
- */
-class CXnNodePluginIf : public CBase
-    {
-public:
-    /**
-     * C++ default constructor.
-     */
-    CXnNodePluginIf( CXnNode& aNode );
-
-public:
-    // New functions
-
-    /**
-     * Get the view node implementation
-     *
-     * @since Series 60 3.1
-     * @return View node implementation
-     */
-    IMPORT_C CXnViewNodeImpl* ViewNodeImpl();
-
-    /**
-     * Get the component node implementation
-     *
-     * @since Series 60 3.1
-     * @return Component node implementation
-     */
-    IMPORT_C CXnComponentNodeImpl* ComponentNodeImpl();
-
-    /**
-     * Get the UI engine
-     *
-     * @since Series 60 3.1
-     * @return UI engine
-     */
-    IMPORT_C TXnUiEnginePluginIf* UiEngineL();
-
-    /**
-     * Set node's layout capability
-     *
-     * @since Series 60 3.1
-     * @param aLayoutCapable Layout capability
-     */
-    IMPORT_C void SetLayoutCapable( const TBool aLayoutCapable );
-
-    /**
-     * Get node's layout capability
-     *
-     * @since Series 60 3.1
-     * @return Layout capability
-     */
-    IMPORT_C TBool IsLayoutCapable() const;
-
-    /**
-     * Set the node's characted data
-     *
-     * @since Series 60 3.1
-     * @param aData Character data
-     */
-    IMPORT_C void SetPCDataL( const TDesC8& aData );
-
-    /**
-     * Get the node's characted data
-     *
-     * @since Series 60 3.1
-     * @return Character data
-     */
-    IMPORT_C const TDesC8& GetPCData() const;
-
-    /**
-     * Set a property.
-     *
-     * The list will assume ownership of the property.
-     * If an equal property is already in the list, it will be
-     * replaced with the new property and the old property will be destroyed.
-     *
-     * @since Series 60 3.1
-     * @param aProperty Property to set.
-     */
-    IMPORT_C void SetPropertyL( CXnProperty* aProperty );
-
-    /**
-     * Set a property without notification being sent.
-     *
-     * @see SetPropertyL
-     * @param aProperty Property to set.
-     */
-    IMPORT_C void SetPropertyWithoutNotificationL( CXnProperty* aProperty );
-
-    /**
-     * Gets a property.
-     *
-     * The list will retain ownership of the property,
-     * the caller must not destroy the property. The returned pointer will
-     * become invalid if the property is replaced in the list by a subsequent
-     * SetL().
-     *
-     * @since Series 60 3.1
-     * @param aProperty Property key
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GetPropertyL( CXnProperty& aProperty ) const;
-
-    /**
-     * Gets a property.
-     *
-     * The list will retain ownership of the property,
-     * the caller must not destroy the property. The returned pointer will
-     * become invalid if the property is replaced in the list by a subsequent
-     * SetL().
-     *
-     * @since Series 60 3.1
-     * @param aKey Name of the property
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GetPropertyL( const TDesC8& aKey ) const;
-
-    /**
-     * Set a state
-     *
-     * @since Series 60 3.1
-     * @param aState State to set.
-     */
-    IMPORT_C void SetStateL( const TDesC8& aState );
-
-    /**
-     * Unset a state
-     *
-     * @since Series 60 3.1
-     * @param aState State to unset.
-     */
-    IMPORT_C void UnsetStateL( const TDesC8& aState );
-
-    /**
-     * Is the node in focused state
-     *
-     * @since Series 60 3.1
-     * @return ETrue if node is focused.
-     */
-    IMPORT_C TBool IsFocusedState();
-
-    /**
-     * Get node type
-     *
-     * @since Series 60 3.1
-     * @return Node type
-     */
-    IMPORT_C CXnType* Type();
-
-    /**
-     * Set node's content rect
-     *
-     * @since Series 60 3.1
-     * @param aRect Content rect
-     */
-    IMPORT_C void SetRect( const TRect& aRect );
-
-    /**
-     * Get node's content rect
-     *
-     * @since Series 60 3.1
-     * @return Content rect
-     */
-    IMPORT_C TRect Rect();
-
-    /**
-     * Set node's border rect
-     *
-     * @since Series 60 3.1
-     * @param aRect Border rect
-     */
-    IMPORT_C void SetBorderRect( const TRect& aRect );
-
-    /**
-     * Get node's border rect
-     *
-     * @since Series 60 3.1
-     * @return Border rect
-     */
-    IMPORT_C TRect BorderRect();
-
-    /**
-     * Set node's margin rect
-     *
-     * @since Series 60 3.1
-     * @param aRect Margin rect
-     */
-    IMPORT_C void SetMarginRect( const TRect& aRect );
-
-    /**
-     * Get node's margin rect
-     *
-     * @since Series 60 3.1
-     * @return Margin rect
-     */
-    IMPORT_C TRect MarginRect();
-
-    /**
-     * Set node's padding rect
-     *
-     * @since Series 60 3.1
-     * @param aRect Padding rect
-     */
-    IMPORT_C void SetPaddingRect( const TRect& aRect );
-
-    /**
-     * Get node's padding rect
-     *
-     * @since Series 60 3.1
-     * @return Padding rect
-     */
-    IMPORT_C TRect PaddingRect();
-
-    /**
-     * Returns the parent. The ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @return The parent area, NULL if not set.
-     */
-    IMPORT_C CXnNodePluginIf* ParentL() const;
-
-    /**
-     * Adds a child node under this node. Assumes ownership of the node.
-     *
-     * @since Series 60 3.1
-     * @param aChild Child to be added
-     * @exception KXnErrAddChildToAreaFailed Adding child failed.
-     */
-    IMPORT_C void AddChildL( CXnNodePluginIf* aChild );
-
-    /**
-     * Get the child nodes
-     *
-     * @since Series 60 3.1
-     * @return Child nodes
-     */
-    IMPORT_C RPointerArray< CXnNodePluginIf > ChildrenL();
-
-    /**
-     * Get whether the node is to be drawn
-     *
-     * @since Series 60 3.1
-     * @return Flag indicating whether the node should be drawn or not
-     */
-    IMPORT_C TBool IsDrawingAllowed() const;
-
-    /*
-     * Get node application interface
-     *
-     * @return Node application interface
-     */
-    IMPORT_C CXnNodeAppIf& AppIfL();
-
-    /**
-     * Sets handle tooltip flag.
-     *
-     * If set to EFalse, tooltip
-     * is not handled by node.
-     *
-     * @since S60 3.1
-     * @return Pointer to DOM node
-     */
-    IMPORT_C void SetHandleTooltip( TBool aFlag );
-
-    /**
-     * Offers interface to report trigger event.
-     *
-     * @since S60 3.1
-     * @param aTriggerName is a name of the trigger
-     * @params aValueName and aValue delivers an attribute
-     */
-    IMPORT_C void ReportTriggerEventL(
-        const TDesC8& aTriggerName,
-        const TDesC8& aValueName,
-        const TDesC8& aValue );
-
-    /**
-     * Gets namespace of node
-     *
-     * @since Series 60 5.0
-     * @return namespace
-     */
-    IMPORT_C const TDesC8& Namespace();
-
-    /**
-     * Gets control of node
-     *
-     * @since Series 60 5.0
-     * @return Control, NULL if not found
-     */
-    IMPORT_C CXnControlAdapter* Control() const;
-
-    /**
-     * Get the internal node
-     *
-     * @since Series 60 3.1
-     * @return Internal node
-     */
-    CXnNode& Node();
-
-    /**
-     * Create a component interface according to the given type.
-     *
-     * @param aType Type of the interface to create
-     * @return Created interface or NULL if the provided type is not supported.
-     */
-    IMPORT_C XnComponentInterface::MXnComponentInterface* MakeInterfaceL(
-        const TDesC8& aType );
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* DisplayL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* VisibilityL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* LabelL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* IdL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* VisibleRowsL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GridColumnsL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GridOrientationL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GridVerDirectionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GridHorDirectionL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* FocusHorLoopingL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* FocusVerLoopingL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* RefL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GridScrollBarWidthL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* GridScrollBarMarginL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* PathL();
-
-    /**
-     * Get property as indicated by method name.
-     *
-     * @see GetPropertyL
-     * @return The property mapped to the key or NULL if not found.
-     */
-    IMPORT_C CXnProperty* MaskPathL();
-
-    /**
-     * Marks node as dirty, adds it to UiEngine's dirty list and
-     * clears rendered and laidout from the node and its children.
-     */
-    IMPORT_C void SetDirtyL();
-
-private:
-    // Data
-
-    /**
-     * Pointer to internal node object.
-     * Not own.
-     */
-    CXnNode* iNode;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnodt.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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:  Class represents an ODT (Object Description Tree) of Xuikon.
-*
-*/
-
-
-#ifndef XNODT_H
-#define XNODT_H
-
-#include <e32base.h>
-
-class RWriteStream;
-class RReadStream;
-class CXnDomDocument;
-class CXnResource;
-class CXnDomNode;
-
-/**
-*  @ingroup group_xnodt
-*  Class represents an Object Description Tree of Xuikon.
-*  ODT is cabable of marshaling itself into HBufC8 descriptor and unmarshaling
-*  from descriptor stream.
-*
-*  @lib XnODT.lib
-*  @since S60 3.1
-*/
-class CXnODT : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnODT* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnODT();
-            
-    public: // New functions
-                        
-        /**
-        * Internalizes the ODT header.
-        * @since S60 5.1
-        * @param aStream The read stream
-        * @return void
-        */ 
-        IMPORT_C static void InternalizeHeaderL( RReadStream& aStream );
-                
-        /**
-        * Internalizes the Resource List.
-        * @since S60 5.1
-        * @param aStream The read stream
-        * @return resource list, ownership is passed to the caller
-        */ 
-        IMPORT_C static CArrayPtrSeg< CXnResource >* InternalizeResourceListL( 
-                RReadStream& aStream );
-
-        /**
-        * Internalizes the dom document.
-        * @since S60 5.1
-        * @param aStream The read stream
-        * @return dom document's root node
-        */         
-        IMPORT_C CXnDomNode* InternalizeDomDocumentL( 
-                RReadStream& aStream );
-        
-        /**
-        * Get the DomDocument.
-        * @since S60 3.1
-        * @return CXnDomDocument& Dom document
-        */ 
-        IMPORT_C CXnDomDocument& DomDocument() const;
-        
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnODT();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data        
-        CXnDomDocument* iDomDocument;
-    };
-
-#endif      // XNODT_H   
-            
-// End of File
--- a/idlehomescreen/inc/xnoomsyshandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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:
-* Helper system for handling Out-Of-Memory cases.
-*
-*/
-
-#ifndef XNOOMSYSHANDLER_H
-#define XNOOMSYSHANDLER_H
-
-// System includes
-#include <e32base.h>
-
-// Forward declarations
-
-// Macros
-
-// Bytes to kilobytes
-#define B2KB(val_in_bytes) (TInt)( val_in_bytes / 1024 )
-// Kilobytes to bytes 
-#define KB2B(val_in_kbytes) (TInt)( val_in_kbytes * 1024 )
-
-#define WIDGET_MIN_MEM  CXnOomSysHandler::EMem1MB
-#define VIEW_MIN_MEM    CXnOomSysHandler::EMem4MB
-
-/**
- *  Class helper for handling (and preventing) out-of-memory failures
- *
- *  This Class has only some static method. 
- *  E.g. for showing error popup window or for checking of available memory on
- *  the heap. etc.
- *
- *  @ingroup group_xnlayoutengine
- *  @lib xn3layoutengine.lib
- *  @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnOomSysHandler ) : public CBase
-    {
-public:     // data types
-
-    /**
-     * Enumeration of predefined values of memory amount for possible use 
-     */
-    enum TMemPredefinedValues
-        {
-#ifdef _DEBUG
-        EMemOutOfRangeTest = 209715200,
-#endif
-        EMinNotDef = 0,
-        EMem1kB = 1024,
-        EMem2kB = 2048,
-        EMem4kB = 4096,
-        EMem8kB = 8192,
-        EMem16kB = 16384,
-        EMem32kB = 32768,
-        EMem64kB = 65536,
-        EMem128kB = 131072,
-        EMem256kB = 262144,
-        EMem512kB = 524288,
-        EMem1MB = 1024000,
-        EMem2MB = 2048000,
-        EMem3MB = 3072000,
-        EMem4MB = 4096000
-        };
-
-public: // Construction / destruction.
-    /**
-     * Two-phased constructor.
-     */
-    static CXnOomSysHandler* NewL();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnOomSysHandler();
-    
-public: // methods.
-    /**
-     * Checks if required amount of free memory is available on heap.
-     * 
-     * @param aAmount required amount of free memory (in Bytes - use some 
-     * value from TMemPredefinedValues enumeration for your comfort)
-     * @return ETrue if required memory is available on heap, otherwise EFalse
-     */
-    static TBool HeapAvailable( TInt aAmount = EMinNotDef );
-
-    /**
-     * Handle potential OOM failure.
-     */
-    void HandlePotentialOomL();
-
-private: // Constructors.
-    /**
-     * Symbian 2nd phase constructor.
-     */
-    void ConstructL();   
-    
-    /**
-     * C++ constructor.
-     */
-    CXnOomSysHandler();
-    
-private:     // functions
-    /**
-     * Check whether OOM dialog can be shown.
-     * Prevents OOM dialogs popping up more often than
-     * defined in KMinInterval (defined in .cpp).
-     */
-    TBool AllowDialog();
-    
-private:    // Data.    
-    /**
-     * OOM dialog message.
-     * 
-     * Allocated early because memory might not
-     * be available when HandlePotentialOomL is called.
-    */
-    HBufC* iMsg;    
-    
-    /**
-     * Stored time stamp representing when dialog was last shown.
-    */
-    TInt64 iPreviousDialogPopupTime;
-    };
-
-#endif // XNOOMSYSHANDLER_H
--- a/idlehomescreen/inc/xnpanic.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +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:  Panic and error codes
-*
-*/
-
-
-
-#ifndef XNPANIC_H
-#define XNPANIC_H
-
-//  INCLUDES
-#include <e32std.h>
-
-
-// DATA TYPES
-/**
- * Definitions for panic values used in Layout Engine
- */
-enum TXnPanic
-	{
-    EXnInvalidConfiguration = 1,
-    EXnInvalidDeclaration,
-    EXnInvalidPublisherInfo,
-    EXnInvalidState,
-    EXnCritalPointerNull,
-    EXnFailedToComposeInitialView
-	};
-
-
-/**
- * Error code definitions
- */
-const TInt KXnErrControlAdapterFailed = -32223; 
-const TInt KXnErrAdapterNotWindowOwner = -32224;
-const TInt KXnErrAppendingChildToControlAdapterFailed = -32225;
-const TInt KXnErrAddChildToAreaFailed = -32226;
-const TInt KXnErrODTNotFoundFromRepository = -32227;
-const TInt KXnErrAddingProperyToListFailed = -32228;
-const TInt KXnErrAddingProperyToListFailed_2 = -32229;
-const TInt KXnErrAddingProperyToListFailed_3 = -32230;
-const TInt KXnErrAddingProperyToListFailed_4 = -32231;
-const TInt KXnErrAddingProperyToListFailed_5 = -32232;
-const TInt KXnErrDomPropertyValueNULL = -32233;
-const TInt KXnErrHorizontalValueNULL = -32234;
-const TInt KXnErrWidthNULL = -32235;
-const TInt KXnErrWidthNULL_2 = -32236;
-const TInt KXnErrOrientationNULL = -32237;
-const TInt KXnErrDirectionNULL = -32238;
-const TInt KXnErrOrientationPropertyNULL = -32239;
-const TInt KXnErrDirectionPropertyNULL = -32240;
-const TInt KXnErrPositioningPropertyNULL = -32241;
-const TInt KXnErrOrientationPropertyNULL_2 = -32242;
-const TInt KXnErrReverseTreeFailed = -32243;
-const TInt KXnErrCXnBreadthFirstTreeIteratorNextLAppendToStackFailed_1 = -32244;
-const TInt KXnErrCXnBreadthFirstTreeIteratorNextLAppendToStackFailed_2 = -32245;
-const TInt KXnErrCXnBreadthFirstTreeIteratorNextLAppendToStackFailed_3 = -32246;
-const TInt KXnErrCXnDepthFirstTreeIteratorNextLAppendToStackFailed = -32247;
-const TInt KXnErrAppendingPluginFailed = -32248;
-const TInt KXnErrAppendingPluginFailedAgain = -32249;
-const TInt KXnErrAppendingPluginImplFailed = -32250;
-const TInt KXnErrAppendingMapItemFailed_1 = -32251;
-const TInt KXnErrAppendingMapItemFailed_2 = -32252;
-const TInt KXnErrBlockProgressionPropertyNULL = -32253; 
-const TInt KXnErrBlockProgressionPropertyNULL_2 = -32254;
-const TInt KXnErrPluginFailure = -32255;
-
-// FUNCTION PROTOTYPES
-GLREF_C void Panic(TXnPanic aPanic);
-
-#endif      // XNPANIC_H   
-            
-// End of File
--- a/idlehomescreen/inc/xnpointerarray.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +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:  Heap-allocated pointer array
-*
-*/
-
-
-
-#ifndef CXNPOINTERARRAY_H
-#define CXNPOINTERARRAY_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnutils
-* 
-*  Heap-allocated pointer array which does not own its objects
-*  @since Series 60 3.1
-*/
-class CXnPointerArray : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnPointerArray* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CXnPointerArray();
-        
-    public: // New functions
-        
-        /**
-        * Get the underlying container
-        * @since Series 60 3.1
-        * @return Underlying container
-        */
-
-        IMPORT_C RPointerArray<CBase>& Container();
-
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnPointerArray();
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-        // Internal container
-        RPointerArray<CBase> iContainer;
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // CXnPOINTERARRAY_H
-            
-// End of File
--- a/idlehomescreen/inc/xnpopup.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Component for tooltips and other popups
-*
-*/
-
-
-
-#ifndef _XNPOPUP_H
-#define _XNPOPUP_H
-
-//  INCLUDES
-#include "xncomponent.h"
-#include "xnnode.h"
-#include <e32base.h>
-#include "mxncomponentinterface.h"
-
-// CLASS DECLARATION
-
-namespace XnPopupInterface
-{
-    _LIT8(KType, "tooltip");
-   
-
-class MXnPopupInterface : public XnComponentInterface::MXnComponentInterface
-   {
-
-public:
-    static inline const TDesC8& Type()
-        {
-        return KType;
-        }
-
-public: // New functions
-
-    /**
-     * Shows the popup
-     * @param aContainerRect Rectangle containing the control that has a popup. 
-     * The popup will not overlap with this rect.
-     */
-		virtual void ShowPopupL(const TRect& aContainerRect) = 0;
-		virtual void ShowPopupL(const TRect& aContainerRect, 
-								TTimeIntervalMicroSeconds32 aShowDelay, 
-								TTimeIntervalMicroSeconds32 aDisplayTime) = 0;
-	
-		/**
-		 * Hides the popup
-		 */
-		virtual void HidePopupL() = 0;
-    
-
-private:
-
-   };
-}   
-
-/**
-*  @ingroup group_xnpopupfactory
-*  @lib NONE
-*  @since Series 60 3.1
-*/
-class CXnPopup : public CXnComponent, public XnPopupInterface::MXnPopupInterface
-   {
-public:
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnPopup* NewL();
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnPopup();
-
-public: // functions from base classes
-
-  /**
-   * From MXnPopupInterface Shows the popup
-   * @param aContainerRect Rectangle containing the control that has a popup. 
-   * The popup will not overlap with this rect.
-   * @param aPopupRect Rectangle of the control that has a popup. 
-   * The popup will not overlap with this rect and the popup will be drawn adjacent to this rect.
-   */
-	virtual void ShowPopupL(const TRect& aContainerRect);
-    virtual void ShowPopupL(const TRect& aContainerRect, 
-    						TTimeIntervalMicroSeconds32 aShowDelay, 
-    						TTimeIntervalMicroSeconds32 aDisplayTime);
-	/**
-	 * From MXnPopupInterface Hides the popup
-	 */
-	virtual void HidePopupL();
- 	/**
-    * Create a component interface according to the given type.
-    * @param aType Type of the interface to create
-    * @return Created interface or NULL if the provided type is not supported.
-    */ 
-  virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(const TDesC8& aType);        
-
-private:
-
-	CXnPopup();
-	void ConstructL();
-	
-private:
-
-   };
-
-
-#endif      // _XNPOPUP_H
-            
-// End of File
--- a/idlehomescreen/inc/xnproperty.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,914 +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:
-* Xuikon property header file
-*
-*/
-
-#ifndef XNPROPERTY_H
-#define XNPROPERTY_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "xndompropertyvalue.h"
-
-// Forward declarations
-class CXnDomProperty;
-class CXnDomPropertyValue;
-class CXnDomStringPool;
-
-// Constants
-namespace XnPropertyNames
-    {
-    _LIT8(KTrue, "true");
-    _LIT8(KFalse, "false");
-    _LIT8(KNone, "none");
-    _LIT8(KWidget, "widget");
-    _LIT8(KPlugin, "plugin");
-
-    namespace common
-        {
-        _LIT8(KId, "id");
-        _LIT8(KClass, "class");
-        _LIT8(KPCData, "pcdata");
-        _LIT8(KFocusable, "focusable");
-        _LIT8(KInitialFocus, "_s60-initial-focus");
-        _LIT8(KFocusAppearance, "_s60-focus-appearance");                
-        _LIT8(KDisabled, "disabled");
-//        _LIT8(KLocked, "locked");
-//        _LIT8(KStyleLocked, "stylelocked");
-        _LIT8(KLongTap, "_s60-longtap");
-        _LIT8(KSwipe, "swipe");
-        _LIT8(KSwipeDestination, "_s60-swipe-destination");
-        _LIT8(KBackgroundMask, "backgroundmask" );
-        _LIT8(KStylusStates, "stylusstates");
-        /*_LIT8(KTouchFeedbackDown, "touchfeedbackdown");
-        _LIT8(KTouchFeedbackUp, "touchfeedbackup");
-        _LIT8(KTouchFeedbackDrag, "touchfeedbackdrag");
-        _LIT8(KTouchFeedbackLongTap, "touchfeedbacklongtap");*/
-        _LIT8(KEventFilter, "eventfilter");
-        _LIT8(KEffectId, "effectid");
-        _LIT8(KKeyMoveMode, "keymovemode");
-        _LIT8(KSizeAware, "sizeaware");
-        _LIT8(KVisualisationAware, "visualisationaware");
-        /*namespace touchfeedback
-            {
-            _LIT8(KFeedbackBasic, "basic");
-            _LIT8(KFeedbackSensitive, "sensitive");
-            }*/            
-        }
-    namespace tooltip
-        {
-        _LIT8(KStartDelay, "_s60-start-delay");
-        _LIT8(KDisplayTime, "_s60-display-time");
-        _LIT8(KPositionHint, "_s60-position-hint");
-        namespace positionhint
-            {
-//            _LIT8(KNone, "none");
-            _LIT8(KAboveLeft, "aboveleft");
-            _LIT8(KAboveRight, "aboveright");
-            _LIT8(KBelowLeft, "belowleft");
-            _LIT8(KBelowRight, "belowright");
-            _LIT8(KRight, "right");
-            _LIT8(KLeft, "left");
-            }
-        }
-    namespace styluspopup
-        {
-        _LIT8(KPositionHint, "_s60-position-hint");
-        namespace positionhint
-            {
-            _LIT8(KAbove, "above");
-//            _LIT8(KBelow, "below");
-            }        
-        }        
-    namespace view
-        {
-//        _LIT8(KUid, "uid");
-        _LIT8(KInitial, "initial");
-//        _LIT8(KTitle, "title");
-        _LIT8(KFocusVisibility, "_s60-focus-visibility");
-        _LIT8(KStatusPaneLayout, "_s60-status-pane-layout");
-        namespace statuspanelayout
-            {
-            _LIT8( KNone, "none" );            
-            _LIT8( KBasic, "basic" );            
-            _LIT8( KBasicFlat, "basic-flat" );            
-            _LIT8( KWideScreen, "widescreen" );
-            _LIT8( KWideScreenFlat, "widescreen-flat" );            
-            _LIT8( KWideScreenFlat3Softkeys, "widescreen-flat-3softkeys" );
-            }
-        }
-    namespace grid
-        {
-//        _LIT8(KType, "type");
-//        namespace type
-//            {
-//            _LIT8(KSelection, "selection");
-//            _LIT8(KMarkable, "markable");
-//            }
-//        _LIT8(KSelectionType, "selectiontype");
-//        namespace selectiontype
-//            {
-//            _LIT8(KSingle, "single");
-//            _LIT8(KMulti, "multi");
-//            }
-//        _LIT8(KMarkingElement, "markingelement");
-//        _LIT8(KMarkingElementOff, "markingelementoff");
-//        _LIT8(KOpeningEffect, "openingeffect");
-        _LIT8(KS60GridColumns, "_s60-grid-columns");
-        _LIT8(KS60VisibleRows, "_s60-visible-list-rows");
-//        _LIT8(KS60GridColumnsLandscape, "_s60-grid-columns-landscape");
-//        _LIT8(KS60VisibleRowsLandscape, "_s60-visible-list-rows-landscape");
-//        _LIT8(KS60InitialSelection, "_s60-initial-list-selection");
-        _LIT8(KS60FocusHorLooping, "_s60-list-focus-horizontal-looping");
-        _LIT8(KS60FocusVerLooping, "_s60-list-focus-vertical-looping");
-        namespace s60_focus_looping
-            {
-            _LIT8(KStop, "stop");
-//            _LIT8(KLoop, "loop");
-//            _LIT8(KSnake, "snake");
-            }
-        _LIT8(KS60GridOrientation, "_s60-grid-orientation");
-        _LIT8(KS60GridVerDirection, "_s60-grid-ver-direction"); //lr, rl
-        _LIT8(KS60GridHorDirection, "_s60-grid-hor-direction"); //tb, bt
-//        _LIT8(KS60GridPreserveImageRatio, "_s60-grid-preserve-image-ratio");
-        _LIT8(KS60GridScrollbarWidth, "_s60-grid-scrollbar-width");
-        _LIT8(KS60GridScrollbarMargin, "_s60-grid-scrollbar-margin");
-        _LIT8(KGridCellTemplate, "gridcelltemplate");
-        _LIT8(KListRowTemplate, "listrowtemplate");
-        }
-    namespace newsticker
-        {
-        _LIT8(KXnNewsticker, "newsticker");
-        _LIT8(KXnScrollAmount, "_s60-scroll-amount");
-        _LIT8(KXnScrollDelay, "_s60-scroll-delay");
-        _LIT8(KXnStartDelay, "_s60-start-delay");
-        _LIT8(KXnNewstickerAnimationDelay, "_s60-animation-delay");
-        _LIT8(KDisplayTime, "_s60-display-time");
-        _LIT8(KScrollBehaviour, "_s60-scroll-behaviour");
-        _LIT8(KScrollLoop, "_s60-scroll-loop");
-        _LIT8(KRestartAfterUpdate, "_s60-restart-after-update");
-        namespace scroll_behaviour
-            {
-//            _LIT8(KScroll, "scroll");
-            _LIT8(KSlide, "slide");
-            _LIT8(KAlternate, "alternate");
-            _LIT8(KScrollAlternate, "scroll-alternate");
-            }
-        }
-    namespace title
-        {
-        _LIT8(KTitleIndex, "titleindex" );
-        _LIT8(KTitle, "title" );
-        }
-/*    namespace trackster
-        {
-        _LIT8( KTrackster, "trackster" );
-        _LIT8( KTracksterCellTemplate, "trackstercelltemplate" );
-        _LIT8( KText, "text" );
-        _LIT8( KImage, "image" );
-        _LIT8( KCurveTypeCurve, "trackstercurve" );
-        _LIT8( KCurveTypeZoom, "tracksterzoom" );
-        _LIT8( KKeyPoint, "keypoint" );
-        _LIT8( KXCoordinate, "_s60-co-ordinate-x" );
-        _LIT8( KYCoordinate, "_s60-co-ordinate-y" );
-        _LIT8( KScrollTime, "_S60-scroll-time" );
-        _LIT8( KS60VisibleFocus, "_s60-visible-focus" );
-        _LIT8( KTracsterItems, "tracksteritems" );
-        _LIT8( KItemCount, "_s60-item-count" );
-        _LIT8( KVisibleFocus, "_s60-visible-focus" );
-        _LIT8( KItemPoints, "_s60-item-points" );
-        _LIT8( KTracksterType, "trackstertype" );
-        _LIT8( KTypeContainer, "container" );
-        _LIT8( KTypePreview, "preview" );
-        }*/
-/*    namespace anim
-        {
-        _LIT8(KS60ZoomingFactor, "_s60-zooming-factor");
-        _LIT8(KS60ZoomingTime, "_s60-zooming-time");
-        _LIT8(KS60StartDelay, "_s60-start-delay");
-        _LIT8(KS60AnimationDelay, "_s60-animation-delay");
-        _LIT8(KS60LoopAmount, "_s60-loop-amount");
-        _LIT8(KS60SmoothEnding, "_s60-smooth-ending");
-        _LIT8(KS60HighlightAnimation, "_s60-highlight-animation");
-        _LIT8(KS60FocusAnimationTime, "_s60-focus-animation-time");
-        _LIT8(KS60HWAcceleration, "_s60-hw-acceleration");
-        }*/
-    namespace menu
-        {
-        namespace menutype
-            {
-//            _LIT8(KMenuOptions, "menuoptions");
-            _LIT8(KMenuOptionsNoTaskSwapper, "menuoptionsnotaskswapper");
-            }
-        _LIT8(KMenuItem, "menuitem" );
-        _LIT8(KDynMenuItem, "dynmenuitem" );
-        _LIT8(KMenuExtension, "menuextension" );
-        _LIT8(KMenuType, "menutype");                
-        _LIT8(KEvent, "event");
-        _LIT8(KLabel, "label");
-//        _LIT8(KSelectionType, "selectiontype");
-        _LIT8(KChecked, "checked");
-//        _LIT8(KMSKDotImage8,"#mskdot");
-        _LIT(KMSKDotImage16,"#mskdot");       
-//        _LIT(KMSKDialerImage, "#dialer");
-        _LIT8(KItemType, "type");
-        }
-    namespace listquerydialog
-        {
-        _LIT8(KListQueryDialog, "listquerydialog" );
-        _LIT8(KS60Heading, "_s60-heading");
-        }        
-    namespace softkey
-        {
-        _LIT8(KNodeName, "softkey");
-        _LIT8(KTypeAttribute,"type");
-        _LIT8(KModeAttribute,"mode");
-        namespace type
-            {
-            _LIT8(KLeft, "left");
-            _LIT8(KRight, "right");
-            _LIT8(KMiddle, "middle");
-            }
-        namespace mode
-            {
-            _LIT8(KModeCallActive, "mode_callactive");
-            _LIT8(KModeCallInactive, "mode_callinactive");
-            _LIT8(KModeEdit, "mode_edit");
-            }
-        }
-    namespace text
-        {
-//        _LIT8(KLabel, "label");
-        }
-    namespace image
-        {
-        _LIT8(KPath, "path");
-        _LIT8(KMaskPath, "maskpath");
-        _LIT8(KMaskInverted, "maskinverted");
-        _LIT8(KS60AspectRatio, "_s60-aspect-ratio");
-        _LIT8(KPreserve, "preserve");
-        }
-    namespace clock
-        {
-        _LIT8(KS60Format, "_s60-format");
-        namespace format
-            {
-            _LIT8(KDigital, "digital");
-            _LIT8(KAnalog, "analog");
-//            _LIT8(KLocale, "locale");
-            }
-            
-        _LIT8(KS60AmPmFontSize, "_s60-ampm-font-size" );  
-        _LIT8(KS60DigitalFontSize, "_s60-digital-font-size");                 
-        _LIT8( KS60DateFontSize, "_s60-date-font-size" );
-        }
-    namespace volumecontrol
-        {
-        _LIT8( KMinRange, "minrange" );
-        _LIT8( KMaxRange, "maxrange" );
-        _LIT8( KSlider, "slider" );
-        _LIT8( KIncrease, "increase" );
-        _LIT8( KDecrease, "decrease" );
-        _LIT8( KMute, "mute" );
-        _LIT8( KVolumeLevelAdjustment, "_s60-volume-level-adjustment" ); 
-        }
-    namespace action
-        {
-        _LIT8(KActions, "actions");
-        _LIT8(KAction, "action");
-        _LIT8(KProperty, "property");
-        _LIT8(KName, "name");
-        _LIT8(KValue, "value");
-        _LIT8(KTrigger, "trigger");
-        _LIT8(KEvent, "event");
-        namespace trigger
-            {
-            _LIT8(KName, "name");
-            _LIT8(KDelay, "delay");
-            namespace name 
-                {
-                _LIT8(KLeft, "left");
-                _LIT8(KRight, "right");
-                _LIT8(KUp, "up");
-                _LIT8(KDown, "down");
-                _LIT8(KDownAndUp, "downup");
-                _LIT8(KActivate, "activate");
-                _LIT8(KHold, "hold");
-//                _LIT8(KHover, "hover");
-                _LIT8(KFocus, "focus");
-                _LIT8(KPassiveFocus, "passivefocus");
-                _LIT8(KGainFocus, "gainfocus");
-                _LIT8(KLoseFocus, "losefocus");
-                _LIT8(KKeyEvent,     "keyevent");
-                _LIT8(KViewActivate, "viewactivate");
-                _LIT8(KViewDeactivate, "viewdeactivate");
-//                _LIT8(KStartup, "startup");
-//                _LIT8(KShutdown,  "shutdown");
-                _LIT8(KScreenDeviceChange, "screendevicechange");
-//                _LIT8(KUiDefinitionModificationStart, "uidefinitionmodificationstart");
-//                _LIT8(KUiDefinitionModificationEnd,   "uidefinitionmodificationend");
-                _LIT8(KForeground, "foreground");
-                _LIT8(KBackground, "background");
-                _LIT8(KStylus, "stylus");
-                _LIT8(KGainVisualisation, "gainvisualisation");
-                _LIT8(KLoseVisualisation, "losevisualisation");
-                /*_LIT8(KGainFocusNotification, "gainfocusnotification");*/
-                _LIT8(KSwipe, "swipe");
-                _LIT8(KSizeChanged, "sizechanged");                
-                _LIT8(KWidgetAmount, "widgetamount");
-                _LIT8(KTitleToScroll, "titletoscroll");
-                _LIT8(KTitleScrolled, "titlescrolled");
-                _LIT8(KTitleIndex, "titleindex");
-                /*_LIT8(KViewPagesCountChanged, "viewpagescountchanged");*/
-                _LIT8(KCallState, "callstate");
-                /*_LIT8(KViewAdditionCompleted, "viewadded" );*/
-                _LIT8(KEditMode, "editmode" );                
-                    
-                namespace swipe
-                     {
-                     _LIT8(KDirection, "direction");
-                     namespace direction
-                         {
-                         _LIT8(KLeft, "left");
-                         _LIT8(KRight, "right");
-                         }
-                     }
-                namespace stylus
-                    {
-                    _LIT8(KStylusState, "stylusstate");
-                    _LIT8(KStylusEventType, "eventtype");
-                    }
-                namespace keyevent
-                    {
-                    _LIT8(KKeyCode, "keycode");
-                    _LIT8(KScanCode, "scancode");
-                    _LIT8(KModifiers, "modifiers");
-                    _LIT8(KEventType, "eventtype");
-                    _LIT8(KRepeats, "repeats");
-                    }
-                namespace uidefinitionmodification
-                    {
-                    _LIT8(KReason, "reason");
-                    namespace reason
-                        {
-//                        _LIT8(KThemeActivated, "themeactivated");
-//                        _LIT8(KDisplaySwitch, "displayswitch");
-                        _LIT8(KLandscape, "landscape");
-                        _LIT8(KPortrait, "portrait");
-//                        _LIT8(KResolutionChange, "resolutionchange");
-//                        _LIT8(KLanguageSwitch, "languageswitch");
-                        }
-                    }
-                namespace callstate
-                    {
-                    _LIT8(KActive, "active");
-                    _LIT8(KInActive, "inactive");
-                    }
-                namespace editmode
-                    {
-                    _LIT8(KEnter, "enter");
-                    _LIT8(KExit, "exit");
-                    }                     
-                /*namespace viewpagescountchanged
-                    {
-                    _LIT8( KInfo, "info" );
-                    namespace info
-                        {
-                        _LIT8( KInfoMax, "max" );
-                        _LIT8( KInfoMin, "min" );
-                        _LIT8( KInfoMid, "mid" );
-                        _LIT8( KInfoMinMax, "minmax" );
-                        }
-                    }*/
-                /*namespace viewadditioncompleted
-                    {
-                    _LIT8( KAddedViewActivated, "activated" );
-                    }*/                    
-/*                namespace uisettingsmodification
-                    {
-                    _LIT8(KReason, "reason");
-                    namespace reason
-                        {
-                        _LIT8(KSettingsUpdated, "settingsupdated");
-                        }
-                    }*/
-                }
-            }
-        namespace event
-            {
-            _LIT8(KSystemPrefix, "system/");
-            _LIT8(KName, "name");
-            _LIT8(KSetFocus, "system/setfocus");
-            _LIT8(KSetInitialFocus, "system/setinitialfocus");
-            _LIT8(KSetPassiveFocus, "system/setpassivefocus");
-            _LIT8(KSetActiveFocus, "system/setactivefocus");
-            _LIT8(KResetPassiveFocus, "system/resetpassivefocus");
-            _LIT8(KSetEditMode, "system/seteditmode");            
-            _LIT8(KResetEditMode, "system/reseteditmode");            
-            _LIT8(KClearPassiveFocuses, "system/clearpassivefocuses");
-            _LIT8(KResetStylusCounter, "system/resetstyluscounter");
-            _LIT8(KRunAddWidgetQuery, "system/runaddwidgetquery");            
-//            _LIT8(KRunRemoveWidgetQuery, "system/runremovewidgetquery");
-            _LIT8(KRemoveFocusedWidget, "system/removefocusedwidget");            
-            _LIT8(KRemoveWidget, "system/removewidget");            
-            _LIT8(KAddWidget, "system/addwidget");
-            _LIT8(KRunFullScreenEffect, "system/runfullscreeneffect");
-            _LIT8(KActivateView, "system/activateview");
-            _LIT8(KActivateNextView, "system/activatenextview");
-            _LIT8(KActivatePreviousView, "system/activatepreviousview");
-            _LIT8(KAddView,"system/addview");
-            _LIT8(KRemoveView,"system/removeview");
-            /*_LIT8(KFocusNext, "system/focusnext");
-            _LIT8(KFocusPrevious, "system/focusprevious");*/
-            _LIT8(KActivate, "system/activate");
-            _LIT8(KDeactivate, "system/deactivate");
-            _LIT8(KExit, "system/exitapplication");
-            _LIT8(KSet, "system/set");
-            /*_LIT8(KUiDefinitionModificationStart, "system/uidefinitionmodificationstart");
-            _LIT8(KUiDefinitionModificationEnd, "system/uidefinitionmodificationend");
-            _LIT8(KUiSettingsModificationStart, "system/uisettingsmodificationstart");
-            _LIT8(KUiSettingsModificationEnd, "system/uisettingsmodificationend");     */
-            _LIT8(KRestartTriggerTimer, "system/restarttriggertimer" );
-            _LIT8(KCancelTriggerTimer, "system/canceltriggertimer" );   
-            /*_LIT8(KNotifyFocus, "system/notifyfocus" );    */
-            _LIT8(KTryDisplayingMenu, "system/trydisplayingmenu");
-            _LIT8(KTryDisplayingListQueryDialog, "system/trydisplayinglistquerydialog");
-            _LIT8(KTryDisplayingStylusPopup, "system/trydisplayingstyluspopup");
-            _LIT8(KToggleWidgetsVisibilty, "system/togglewidgetsvisibilty");
-            /*_LIT8(KStoreFocus, "system/storefocus");
-            _LIT8(KRestoreFocus, "system/restorefocus");*/
-            _LIT8(KSetWallpaper, "system/setwallpaper");
-            _LIT8(KActivateSelectedItem, "system/activateselecteditem");
-            _LIT8(KDestination, "destination");
-            _LIT8(KBroadcast, "broadcast");
-            _LIT8(KReportEnterEditMode, "system/reportentereditmode" );
-            _LIT8(KReportExitEditMode, "system/reportexiteditmode" );
-            namespace systemset
-                {
-                _LIT8(KId, "id");
-                _LIT8(KPseudoClass, "pseudoclass");
-                _LIT8(KName, "name");
-                _LIT8(KValue, "value");
-                _LIT8(KType, "type");
-                _LIT8(KUnit, "unit");                
-                _LIT8(KClass, "class");
-                namespace type
-                    {
-                    _LIT8(KNumeric, "numeric");
-                    _LIT8(KString, "string");
-                    _LIT8(KAttribute, "attribute");
-                    _LIT8(KRGB, "rgb");
-                    _LIT8(KUrl, "url");                    
-                    }
-                }
-            }
-        }
-    namespace style
-        {
-        namespace common
-            {
-            _LIT8(KDisplay, "display");
-            _LIT8(KNavIndex, "nav-index");
-            _LIT8(KS60NavLooping, "_s60-nav-looping");
-            _LIT8(KFocus, "focus");
-            _LIT8(KPressedDown, "presseddown");
-            _LIT8(KPassiveFocus, "passivefocus");
-            _LIT8(KHold, "hold");
-            _LIT8(KActive, "active");            
-            _LIT8(KEdit, "edit");            
-            namespace edit
-                {
-                _LIT8(KEditable, "editable");
-                }
-            namespace display
-                {
-                _LIT8(KBlock, "block");
-                _LIT8(KNone, "none");
-                }
-/*            namespace focus
-                {
-                _LIT8(KSensitive, "sensitive");
-                _LIT8(KNone, "none");
-                }*/
-            _LIT8(KS60DisplayPriority, "_s60-display-priority");
-            _LIT8(KVisibility, "visibility");
-            namespace visibility
-                    {
-                    _LIT8(KVisible, "visible");
-                    _LIT8(KHidden, "hidden");
-                    _LIT8(KBlank, "blank");
-                    }
-//            _LIT8(KS60Orientation, "_s60-orientation");
-/*            namespace s60_orientation
-                    {
-                    _LIT8(KVertical, "vertical");
-                    _LIT8(KHorizontal, "horizontal");
-                    }*/
-            _LIT8(KBlockProgression, "block-progression");
-            namespace block_progression
-                    {
-                    _LIT8(KTB, "tb");
-                    _LIT8(KBT, "bt");
-                    _LIT8(KRL, "rl");
-                    _LIT8(KLR, "lr");
-                    }
-            _LIT8(KDirection, "direction");
-            namespace direction
-                    {
-                    _LIT8(KLTR, "ltr");
-                    _LIT8(KRTL, "rtl");
-                    }
-            _LIT8(KWidth, "width");
-            _LIT8(KHeight, "height");
-            _LIT8(KMarginTop, "margin-top");
-            _LIT8(KMarginRight, "margin-right");
-            _LIT8(KMarginBottom, "margin-bottom");
-            _LIT8(KMarginLeft, "margin-left");
-            _LIT8(KBorderWidth, "border-width");
-            namespace border_width
-                    {
-                    _LIT8(KThin, "thin");
-                    _LIT8(KMedium, "medium");
-//                  _LIT8(KThick, "thick");
-                    }
-            _LIT8(KBorderTopWidth, "border-top-width");
-            _LIT8(KBorderRightWidth, "border-right-width");
-            _LIT8(KBorderBottomWidth, "border-bottom-width");
-            _LIT8(KBorderLeftWidth, "border-left-width");
-            _LIT8(KPaddingTop, "padding-top");
-            _LIT8(KPaddingRight, "padding-right");
-            _LIT8(KPaddingBottom, "padding-bottom");
-            _LIT8(KPaddingLeft, "padding-left");
-            _LIT8(KPosition, "position");
-            namespace position 
-                {
-                _LIT8(KAbsolute, "absolute");
-                _LIT8(KStatic, "static");
-//                _LIT8(KFixed, "fixed");
-                _LIT8(KRelative, "relative");
-                _LIT8(KFloating, "floating");
-//                _LIT8(KInherit, "inherit");
-                }
-            _LIT8(KTop, "top");
-            _LIT8(KRight, "right");
-            _LIT8(KBottom, "bottom");
-            _LIT8(KLeft, "left");
-            _LIT8(KMinWidth, "min-width");
-            _LIT8(KMaxWidth, "max-width");
-            _LIT8(KMinHeight, "min-height");
-            _LIT8(KMaxHeight, "max-height");
-            _LIT8(KOverflow, "overflow");
-//            _LIT8(KTextOverflowMode, "text-overflow-mode");
-            _LIT8(KZIndex, "z-index");
-            _LIT8(KAuto, "auto");
-            _LIT8(KAdaptive, "adaptive");
-            _LIT8(KAppearance, "appearance");
-            }
-        }//style
-    namespace appearance
-        {
-        namespace common
-            {
-            //Color and background properties
-            _LIT8(KColor,            "color");
-            _LIT8(KEffectsColor,     "font-effects-color");
-//            _LIT8(KHighlightColor,   "highlight-color");
-            _LIT8(KBackGroundColor,  "background-color");
-            _LIT8(KFocusBackground, "focus-background");
-            _LIT8(KBackGroundImage,  "background-image");
-            _LIT8(KBackGroundSize,   "background-size");
-            _LIT8(KBackGroundRepeat, "background-repeat");
-            _LIT8(KFallBackImage,    "fallback-image");                                
-            namespace backgroundrepeat
-                {
-                _LIT8(KRepeat, "repeat");
-                _LIT8(KRepeatX, "repeat-x");
-                _LIT8(KRepeatY, "repeat-y");
-                _LIT8(KSpace, "space");
-                _LIT8(KNoRepeat, "no-repeat");
-                }
-            _LIT8(KBackGroundPosition, "background-position");
-            namespace backgroundposition
-                {
-                _LIT8(KLeft, "left");
-                _LIT8(KRight, "right");
-                _LIT8(KTop, "top");
-                _LIT8(KBottom, "bottom");
-//                _LIT8(KCenter, "center");
-                }
-            // Border properties
-            _LIT8(KBorderStyle,     "border-style");
-            _LIT8(KBorderTopStyle,   "border-top-style");
-            _LIT8(KBorderRightStyle, "border-right-style");
-            _LIT8(KBorderBottomStyle,"border-bottom-style");
-            _LIT8(KBorderLeftStyle,  "border-left-style");
-            namespace borderstyle
-                {
-//                _LIT8(KNone, "none");
-//                _LIT8(KHidden, "hidden");
-                _LIT8(KDotted, "dotted");
-//                _LIT8(KDashed, "dashed");
-                _LIT8(KSolid, "solid");
-//                _LIT8(KDouble, "double");
-//                _LIT8(KDotDash, "dot-dash");
-//                _LIT8(KDotDotDash, "dot-dot-dash");
-//                _LIT8(KWave, "wave");
-                _LIT8(KGroove, "groove");
-                _LIT8(KRidge, "ridge");
-                _LIT8(KInset, "inset");
-                _LIT8(KOutset, "outset"); 
-                }
-            _LIT8(KBorderColor,      "border-color");
-            _LIT8(KBorderLeftColor,      "border-left-color");
-            _LIT8(KBorderRightColor,      "border-right-color");
-            _LIT8(KBorderTopColor,      "border-top-color");
-            _LIT8(KBorderBottomColor,      "border-bottom-color");
-            _LIT8(KBorderImage,      "border-image");
-            namespace borderimage
-                {
-                _LIT8(KStretch, "stretch");
-                _LIT8(KRepeat, "repeat");
-                _LIT8(KRound, "round");
-                }
-            //Font properties
-            _LIT8(KFontFamily,     "font-family");
-            _LIT8(KFontSize,       "font-size");
-            _LIT8(KFontWeight,     "font-weight");
-            _LIT8(KFontLineSpace,  "font-line-space");
-            namespace fontweight
-                {
-                _LIT8(KBold, "bold");
-                }
-            _LIT8(KFontStyle,      "font-style");
-            namespace fontstyle
-                {
-                _LIT8(KItalic, "italic");
-                }
-            _LIT8(KTextDecoration, "text-decoration");
-            namespace textdecoration
-                {
-                _LIT8(KUnderline, "underline");
-                _LIT8(KLinethrough, "line-through");
-                }
-            _LIT8(KTextAlign, "text-align");
-            namespace textalign
-                {
-                _LIT8( KAlignLeft,"left");
-                _LIT8( KAlignRight,"right");
-                _LIT8( KAlignCenter,"center");
-                _LIT8( KAlignJustify,"justify");
-                }
-            _LIT8(KS60TextVAlign, "_s60-text-valign");
-            namespace textvalign
-                {
-                _LIT8( KAlignTop, "top");
-//                _LIT8( KAlignCenter, "center");
-                _LIT8( KAlignBottom, "bottom");                               
-                }                               
-            _LIT8(KTextEffects, "font-effects");
-            namespace fonteffects
-                {
-                _LIT8( KEffectsAlgorithmicbold, "algorithmicbold");
-                _LIT8( KEffectsDropshadow, "dropshadow");
-                _LIT8( KEffectsOutline, "outline");
-                _LIT8( KEffectsEmbossed, "embossed");
-                _LIT8( KEffectsEngraved, "engraved");
-                _LIT8( KEffectsSoftedge, "softedge");
-                }
-            _LIT8(KTextOverflowMode, "text-overflow-mode");
-            namespace textoverflow
-                {
-                _LIT8(KClipMode, "clip");
-//                _LIT8(KEllipsisMode, "ellipsis");
-                _LIT8(KWrapMode,"wrap");
-                _LIT8(KMaxLineAmount,"max-line-amount");
-                }
-            _LIT8(KWhiteSpaceCollapse, "white-space-collapse");
-            namespace whitespace
-                {
-//                _LIT8(KPreserve, "preserve");
-                _LIT8(KCollapse, "collapse");
-                _LIT8(KPreserveBreaks, "preserve-breaks");
-                _LIT8(KDiscard, "discard");
-                }
-            //View properties missing
-            }//common
-        }
-    }
-
-// Class declaration
-/**
- * Xuikon property class implementation.
- *
- * @ingroup group_xnlayoutengine
- * @lib ?library
- * @since Series 60 3.1
- */
-class CXnProperty : public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aProperty DOM property to embed
-     */
-    IMPORT_C static CXnProperty* NewL( CXnDomProperty* aProperty );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aName Property name
-     * @param aPropertyValue Property value
-     * @param aStringPool String pool to use
-     */
-    IMPORT_C static CXnProperty* NewL(
-        const TDesC8& aName,
-        CXnDomPropertyValue* aPropertyValue,
-        CXnDomStringPool& aStringPool );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aName Property name
-     * @param aPropertyValue Property value
-     * @param aValueType Property value type
-     * @param aStringPool String pool to use
-     */
-    IMPORT_C static CXnProperty* NewL(
-        const TDesC8& aPropertyName,
-        const TDesC8& aPropertyValue,
-        CXnDomPropertyValue::TPrimitiveValueType aValueType,
-        CXnDomStringPool& aStringPool );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aName Property name
-     * @param aPropertyValue Property value
-     * @param aValueType Property value type
-     * @param aStringPool String pool to use
-     */
-    IMPORT_C static CXnProperty* NewL(
-        const TDesC8& aPropertyName,
-        TReal aPropertyValue,
-        CXnDomPropertyValue::TPrimitiveValueType aValueType,
-        CXnDomStringPool& aStringPool );
-
-    /**
-     * Two-phased constructor. Does not take ownership of the DOM property
-     *
-     * @param aProperty DOM property to embed
-     */
-    static CXnProperty* NewSharedL( CXnDomProperty* aProperty );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnProperty();
-
-public:
-    // new functions
-
-    /**
-     * Compares two propertys
-     *
-     * @since Series 60 3.2
-     * @return ETrue if properties equals, EFalse otherwise
-     */
-    IMPORT_C TBool EqualsL( CXnProperty& aProperty ) const;
-
-    /**
-     * Get the embedded DOM property
-     *
-     * @since Series 60 3.1
-     * @return Embedded DOM property
-     */
-    IMPORT_C CXnDomProperty* Property();
-
-    /**
-     * Get the value of the property as a 16-bit descriptor. Ownership is
-     * transferred to caller.
-     *
-     * @since Series 60 3.1
-     * @return String value of the property
-     */
-    IMPORT_C HBufC* StringValueL();
-
-    /**
-     * Get the value of the property as an 8-bit descriptor.
-     *
-     * @since Series 60 3.1
-     * @return String value of the property
-     */
-    IMPORT_C const TDesC8& StringValue();
-
-    /**
-     * Get the value of the property as a number
-     *
-     * @since Series 60 3.1
-     * @return Numeric value of the property
-     */
-    IMPORT_C TReal FloatValueL();
-
-    /**
-     * Clone the property
-     *
-     * @since Series 60 3.1
-     * @return Clone of the property
-     */
-    IMPORT_C CXnProperty* CloneL();
-
-private:
-    /**
-     * C++ default constructor.
-     */
-    CXnProperty();
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aProperty DOM property to embed
-     */
-    void ConstructL( CXnDomProperty* aProperty );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aName Property name
-     * @param aPropertyValue Property value
-     * @param aStringPool String pool to use
-     */
-    void ConstructL(
-        const TDesC8& aName,
-        CXnDomPropertyValue* aPropertyValue,
-        CXnDomStringPool& aStringPool );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aName Property name
-     * @param aPropertyValue Property value
-     * @param aValueType Property value type
-     * @param aStringPool String pool to use
-     */
-    void ConstructL(
-        const TDesC8& aPropertyName,
-        const TDesC8& aPropertyValue,
-        CXnDomPropertyValue::TPrimitiveValueType aValueType,
-        CXnDomStringPool& aStringPool );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aName Property name
-     * @param aPropertyValue Property value
-     * @param aValueType Property value type
-     * @param aStringPool String pool to use
-     */
-    void ConstructL(
-        const TDesC8& aPropertyName,
-        TReal aPropertyValue,
-        CXnDomPropertyValue::TPrimitiveValueType aValueType,
-        CXnDomStringPool& aStringPool );
-
-    /**
-     * Two-phased constructor. Does not take ownership of the DOM property
-     *
-     * @param aProperty DOM property to embed
-     */
-    void ConstructSharedL( CXnDomProperty* aProperty );
-
-private:
-    // Data
-
-    /**
-     * embedded DOM property.
-     * Own or Not own, depending on the iIsDomPropertyOwned flag
-     */
-    CXnDomProperty* iProperty;
-
-    /**
-     * flag indicating whether the DOM property is owned by the
-     * CXnProperty object
-     */
-    TBool iIsDomPropertyOwned;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnpropertysubscriber.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +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:
-* Subscribes properties from P&S
- *
-*/
-
-#ifndef XNPROPERTYSUBSCRIBER_H
-#define XNPROPERTYSUBSCRIBER_H
-
-// System includes
-#include <e32base.h>
-#include <e32property.h>
-
-// Class declaration
-/**
- * Observer for property change.
- */
-class MXnPropertyChangeObserver
-    {
-public:
-    /**
-     * Property changed
-     *
-     * @since S60 5.1
-     * @param aKey key value
-     * @param aValue property value
-     */
-    virtual void PropertyChangedL( const TUint32 aKey, const TInt aValue ) = 0;
-    };
-
-/**
- * Subcribes property from P&S and listen property changes
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since Series 60 5.0
- */
-NONSHARABLE_CLASS( CXnPropertySubscriber ) : public CActive
-    {
-public:
-    /**
-     * Cancel and destroy
-     */
-    ~CXnPropertySubscriber();
-
-    /**
-    * Two-phased constructor.
-    *
-    * @param aUid P&S property category
-    * @param aKey P&S property key
-    * @param aObserver Given property change observer
-    */
-    static CXnPropertySubscriber* NewL(
-        const TUid aUid,
-        const TUint32 aKey,
-        MXnPropertyChangeObserver& aObserver );
-
-    /**
-    * Two-phased constructor.
-    *
-    * @param aUid P&S property category
-    * @param aKey P&S property key
-    * @param aObserver Given property change observer
-    */
-    static CXnPropertySubscriber* NewLC(
-        const TUid aUid,
-        const TUint32 aKey,
-        MXnPropertyChangeObserver& aObserver );
-
-private:
-    /**
-     * C++ constructor
-     */
-    CXnPropertySubscriber(
-        MXnPropertyChangeObserver& aObserver,
-        const TUint32 aKey );
-
-    /**
-     * Second-phase constructor
-     */
-    void ConstructL( const TUid aUid, const TUint32 aKey );
-
-private:
-    /**
-     * From CActive.
-     * Handle completion
-     */
-    void RunL();
-
-    /**
-     * From CActive.
-     * How to cancel me
-     */
-    void DoCancel();
-
-private:
-    // Data
-
-    /**
-     * Observer for property changes.
-     * Not own
-     */
-    MXnPropertyChangeObserver& iPropertyChangeObserver;
-
-    /**
-     * Property to listen
-     */
-    RProperty iProperty;
-
-    /**
-     * P&S property key
-     */
-    TUint32 iKey;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnresource.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,456 +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:  
-*
-*  Xuikon CXnResource-class defines all information what is needed to maintain
-*  resources of Application Theme. Every CXnResource-objects defines just one 
-*  resource source, however, the same resource source could be referenced
-*  multiple times inside a theme - resources are usually shared. 
-*  Xuikon Application Theme Management system supports theme resourcing by 
-*  offering resource conversations and storing services, and offering Rendering
-*  Engines the following services:
-*  1) the way to match a resource quoted in xml- or css-module to the 
-*  corresponding resource source, and 2) a secure way to access a resource 
-*  through the Symbian Platform Security's process separation wall.
-*
-*
-*/
-
-
-#ifndef XNRESOURCE_H
-#define XNRESOURCE_H
-
-#include <e32base.h>
-#include <apmstd.h> // MIME
-#include <s32mem.h> // streams
- 
-/**
-* TXnLockingPolicy
-* Locking policy flag-definitions for Xuikon. These are bit-masked.
-*/
-enum TXnLockingPolicy
-  {
-  EXnUnlocked           = 0x0000, //0b0000000000000000,
-  EXnLocked             = 0x0001  //0b0000000000000001,
-  };
-    
-/**
-* TXnCacheType
-* Cache-type definitions for Xuikon.
-*/
-enum TXnCacheType
-    {
-    /**
-    * ECacheNone. Resource is not cached = direct file access in resources original format.
-    *
-    */
-    ECacheNone,
-    
-    /**
-    * ECacheFile. Resource is externalized to file stream - it can be internalized from given 
-    *               file stream on construct. 
-    */
-    ECacheFile, 
-    
-    /**
-    * ECacheNone. Resource is externalized in to iBuffer - it can be internalized from this
-    *               buffer on construct.
-    */  
-    ECacheMemory
-    };
-
-/**
-*   Resource file extension definitions for Xuikon.
-*/
-_LIT(KRLBFileExtension,".r");
-_LIT(KODTFileExtension,".o");
-_LIT(KDTDFileExtension,".dtd");
-_LIT(KXMLFileExtension,".xml");
-_LIT(KCSSFileExtension,".css");
-_LIT(KDATFileExtension,".dat");
-
-_LIT(KFBSFileExtension,".fbs");
-_LIT(KMBMFileExtension,".mbm");
-_LIT(KMIFFileExtension,".mif");
-_LIT(KBMPFileExtension,".bmp");
-_LIT(KJPGFileExtension,".jpg");
-_LIT(KJPEGFileExtension,".jpeg");
-_LIT(KPNGFileExtension,".png");
-_LIT(KGIFFileExtension,".gif");
-_LIT(KAACFileExtension,".aac");
-_LIT(KWAVFileExtension,".wav");
-_LIT(KMIDFileExtension,".mid");
-_LIT(KMP3FileExtension,".mp3");
-_LIT(KM3GFileExtension,".m3g");
-_LIT(KSVGFileExtension,".svg");
-_LIT(KSWFFileExtension,".swf");
-_LIT(KTXTFileExtension,".txt");
-
-/**
-* TXnResourceType
-* Resource-type definitions for Xuikon.
-*/
-enum TXnResourceType
-    {
-    /**
-    * EResourceNone. No type at all - juts a file path.
-    */
-    EResourceNone,
-    
-    /**
-    * EResourceRLB.
-    */
-    EResourceRLB,
-    
-    /**
-    * EResourceODT. Resource is ODT (Xuikon Application Theme's binary format)
-    */
-    EResourceODT,
-    
-    /**
-    * EResourceDTD.
-    */
-    EResourceDTD,
-    
-    /**
-    * EResourceXML.
-    */
-    EResourceXML,
-    
-    /**
-    * EResourceCSS.
-    */
-    EResourceCSS,
-    
-    /**
-    * EResourceDAT.
-    */
-    EResourceDAT,
-    
-    /**
-    * EResourceRES. Resource is some media content.
-    */
-    EResourceRES,
-    
-    /**
-    * EResourceFBS. Resource is externalized CFbsBitmap.
-    */
-    EResourceFBS,
-    
-    /**
-    * EResourceMBM. Resource is Symbian MBM-multiple-image.
-    */
-    EResourceMBM,
-    
-    /**
-    * EResourceMIF. Resource is Symbian MIF.
-    */
-    
-    EResourceMIF,
-    
-    /**
-    * EResourceBMP. Resource is BMP-image.
-    */
-    EResourceBMP,
-    
-    /**
-    * EResourceJPG and EResourceJPEG. Resource is JPEG-compliant image.
-    */
-    EResourceJPG,
-    EResourceJPEG,
-    
-    /**
-    * EResourcePNG. Resource is in PNG-format.
-    */
-    EResourcePNG,
-    
-    /**
-    * EResourceGIF. Resourec is in GIF-format. 
-    */
-    EResourceGIF,  
-    
-    /**
-    * EResourceAAC. Resource is a AAC audio file.
-    */
-    EResourceAAC, 
-    
-    /**
-    * EResourceWAV. Resource is a WAV audio file
-    */
-    EResourceWAV,
-    
-    /**
-    * EResourceMID. Resource is a MID audio file.
-    */
-    EResourceMID,
-    
-    /**
-    * EResourceMP3. Resource is a MP3 audio file.
-    */
-    EResourceMP3,
-        
-    /**
-    * EResourceM3G. Resource is M3G.
-    */
-    EResourceM3G,
-    
-    /**
-    * EResourceSVG. Resource is SVG. 
-    */
-    EResourceSVG,
-       
-    /**
-    * EResourceSWF. Resource is a Macromedia shock wave i.e. flash file
-    */
-    EResourceSWF,
-    
-    /**
-    * EResourceMIME. Resource is in Symbian OS 9.x supported MIME-type format.
-    */
-    EResourceMIME,
-
-    /**
-    * EResourceTXT. Resource is TXT.
-    */
-    EResourceTXT
-    
-    };
-
-
-/**
-*  @ingroup group_xnresource
-*  
-*  CXnResource is Xuikon-utility class defining resource-structure.
-*
-*  @lib XnResource.lib
-*  @since S60 3.1
-*/
-class CXnResource : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnResource* NewL();
-        /**
-        * Two-phased constructor.
-        * @param aStream The read stream
-        */
-        IMPORT_C static CXnResource* NewLC( RReadStream& aStream );
-        
-        /**
-        * CXnResource::CloneL(). Makes a clone of this class.
-        * @since S60 3.1
-        * @return void
-        */
-        IMPORT_C CXnResource* CloneL();
-        /**
-        * Destructor.
-        */
-        virtual ~CXnResource();
-
-    public: // New functions
-        
-        /**
-        * CXnResource::SetLockingPolicy(). Sets value of iLockingPolicy data member.
-        * @since S60 3.1
-        * @param aLockingPolicy is new value for iLockingPolicy data member.
-        * @return void
-        */
-        IMPORT_C void SetLockingPolicy( TXnLockingPolicy aLockingPolicy );
-        
-        /**
-        * CXnResource::LockingPolicy(). Gets value of iLockingPolicy data member.
-        * @since S60 3.1
-        * @return TXnLockingPolicy iLockingPolicy.
-        */
-        IMPORT_C TXnLockingPolicy LockingPolicy() const;
-        
-        /**
-        * CXnResource::SetCacheType(). Sets value of iCacheType data member.
-        * @since S60 3.1
-        * @param aCacheType is new value for iCacheType data member.
-        * @return void
-        */
-        IMPORT_C void SetCacheType( TXnCacheType aCacheType );
-        
-        /**
-        * CXnResource::CacheType(). Gets value of iCacheType data member.
-        * @since S60 3.1
-        * @return TXnCacheType iCacheType.
-        */
-        IMPORT_C TXnCacheType CacheType() const;
-     
-        /**
-        * CXnResource::SetResourceType(). Sets value of iResourceType data member.
-        * @since S60 3.1
-        * @param aResourceType is new value of iResourceType data member.
-        * @return void
-        */    
-        IMPORT_C void SetResourceType( TXnResourceType aResourceType );
-        
-        /**
-        * CXnResource::ResourceType(). Gets value of iResourceType data member..
-        * @since S60 3.1
-        * @return TXnResourceType iResourceType.
-        */
-        IMPORT_C TXnResourceType ResourceType() const;
-        
-        /**
-        * CXnResource::SetResourceIdL(). Sets value of iResourceId data member.
-        * @since S60 3.1
-        * @param aResourceId is new value of iResourceId data member.
-        * @return void
-        */
-        
-        IMPORT_C void SetResourceIdL( const TDesC& aResourceId );
-        
-        /**
-        * CXnResource::ResourceId(). Gets value of iResourceId data member.
-        * @since S60 3.1
-        * @return TDesC& iResourceId.
-        */
-        IMPORT_C const TDesC& ResourceId() const;
-        
-        /**
-        * CXnResource::SetNameSpaceL(). Sets value of iNameSpace data member.
-        * @since S60 3.1
-        * @param aNameSpace is new value of iNameSpace data member.
-        * @return void
-        */
-        IMPORT_C void SetNameSpaceL( const TDesC& aNameSpace );
-        
-        /**
-        * CXnResource::NameSpace(). Gets value of iNameSpace data member.
-        * @since S60 3.1
-        * @return TDesC& iNameSpace
-        */
-        IMPORT_C const TDesC& NameSpace() const;
-        
-        /**
-        * CXnResource::SetFileNameL(). Sets value of iFileName data member.
-        * @since S60 3.1
-        * @param aFileName is new iFileName value.
-        * @return void
-        */
-        IMPORT_C void SetFileNameL( const TDesC& aFileName );
-        
-        /**
-        * CXnResource::FileName(). Gets value of iFileName data member.
-        * @since S60 3.1
-        * @return TDes& iFileName.
-        */
-        IMPORT_C const TDesC& FileName() const;
-        
-        /**
-        * CXnResource::SetMimeTypeL(). Sets value of iMimeType data member. 
-        * @since S60 3.1
-        * @param aDataType is a new value of iMimeType.
-        * @return void
-        */
-        IMPORT_C void SetMimeTypeL( const TDataType aDataType );
-        
-        /**
-        * CXnResource::MimeType(). Get iMimeType of this CXnResource-object.
-        * @since S60 3.1
-        * @return TDataType iMimeType.
-        */
-        IMPORT_C TDataType MimeType() const;
-        
-        /**
-        * CXnResource::WriteStream(). Gets write stream on iBuffer.
-        * @since S60 3.1
-        * @param aOffset a buffer position of iBuffer to write data.
-        * @return RBufWriteStream& write stream.
-        */
-        IMPORT_C RBufWriteStream& CXnResource::WriteStream( TUint aOffset = 0 );      
-        
-        /**
-        * CXnResource::ReadStream(). Gets read stream on iBuffer.
-        * @since S60 3.1
-        * @param aOffset a buffer position of iBuffer to read data. 
-        * @return RBufReadStream& read stream
-        */
-        IMPORT_C RBufReadStream& CXnResource::ReadStream(TUint aOffset = 0 );
-
-        /**
-        * CXnResource::SetOffset(). Sets internal data pointer of iBuffer.
-        * @since S60 3.1
-        * @param aOffset is new offset of iBuffer data pointer.
-        * @return void
-        */
-        IMPORT_C void SetOffset( TUint aOffset );
-        
-        /**
-        * CXnResource::Offset(). Internal iBuffer data pointer position.
-        * @since S60 3.1
-        * @return TUint iOffset pointing iBuffer data pointer.
-        */
-        IMPORT_C TUint Offset() const;
-        
-        /**
-        * CXnResource::ExternalizeL(). Externalizes CXnResource-object's member data.
-        * @since S60 3.1
-        * @param aStream is a write stream given.
-        * @return void
-        */
-        IMPORT_C void ExternalizeL( RWriteStream& aStream) const;
-        
-        /**
-        * CXnResource::InternalizeL(). Internalizes CXnResource-object's member data.
-        * @since S60 3.1
-        * @param aStream is data read stream given.
-        * @return void
-        */
-        IMPORT_C void InternalizeL( RReadStream& aStream);
-        
-        /**
-        * CXnResource::GetDataStreamLength().
-        * @since S60 3.1
-        * @return TInt data length of CXnResource-data members for streaming functions.
-        */
-        IMPORT_C TInt GetDataStreamLength() const;
-        
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnResource();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:     // Data
-        TXnLockingPolicy iLockingPolicy;
-        TXnCacheType iCacheType;
-        TXnResourceType iResourceType;
-        TDesC* iResourceID;
-        TDesC* iNameSpace;
-        TDesC* iFileName;
-        TDataType iMimeType;
-        CBufSeg* iBuffer;
-        TUint iOffset;
-        RBufWriteStream iWriteStream;
-        RBufReadStream iReadStream;
-
-         // Reserved pointer for future extension
-        TAny* iReserved;
-    };
-
-#endif      // XNRESOURCE_H   
-// End of File
--- a/idlehomescreen/inc/xntext.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Wrapper class for CEikLabel.
-*
-*/
-
-
-
-#ifndef _XNTEXT_H
-#define _XNTEXT_H
-
-//  INCLUDES
-#include "xncomponent.h"
-#include <e32base.h>
-#include "xnnode.h"
-#include "mxncomponentinterface.h"
-
-
-// CLASS DECLARATION
-
-namespace XnTextInterface
-{
-_LIT8(KType, "text");
-class MXnTextInterface : public XnComponentInterface::MXnComponentInterface
-   {
-
-public:
-		
-    static inline const TDesC8& Type()
-        {
-        return KType;
-        }
-		
-public: // New functions
-
-    /**
-     * Sets the new content to the underlying CEikLabel
-     * @param aText The new content
-     */
-	virtual void SetTextL(const TDesC& aText) = 0;
-	
-	/**
-	 * Returns the text contained in the underlying CEikLabel
-	 * @return TDesC* The text
-	 */
-	virtual const TDesC* Text() = 0;
-    
-
-private:
-
-   };
- }   
-
-/**
-*  @ingroup group_xntextfactory
-*  @lib xn3textfactory.lib
-*  @since Series 60 3.1
-*/
-class CXnText : public CXnComponent, public XnTextInterface::MXnTextInterface
-   {
-
-public:
-
-
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnText* NewL();
-
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnText();
-
-public: // New functions
-
-    /**
-     * Sets the new content to the underlying CEikLabel
-     * @param aText The new content
-     */
-	void SetTextL(const TDesC& aText);
-	
-	/**
-	 * Returns the text contained in the underlying CEikLabel
-	 * @return TDesC* The text
-	 */
-	const TDesC* Text();
-    
-
-public: // from CCoeControl
-
-   	/**
-      * Create a component interface according to the given type.
-      * @param aType Type of the interface to create
-      * @return Created interface or NULL if the provided type is not supported.
-      */ 
-    virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(const TDesC8& aType);        
-    
-
-        
-private:
-
-	CXnText();
-	void ConstructL();
-
-   };
-
-
-#endif      // _XNTEXT_H
-            
-// End of File
--- a/idlehomescreen/inc/xntexteditor.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation wrapper for CEikEdwin
-*
-*/
-
-#ifndef _XNTEXTEDITOR_H
-#define _XNTEXTEDITOR_H
-
-//  INCLUDES
-#include "xncomponent.h"
-#include <e32base.h>
-#include "xnnode.h"
-#include "mxncomponentinterface.h"
-
-
-// CLASS DECLARATION
-
-namespace XnTextEditorInterface
-    {
-    _LIT8( KType, "texteditor" );
-
-    class MXnTextEditorInterface : public XnComponentInterface::MXnComponentInterface
-        {
-        public:
-        		
-            static inline const TDesC8& Type()
-                {
-                return KType;
-                }
-		
-        public: // New functions
-
-        /**
-         * Sets the new text to the underlying CEikEdvin
-         * @param aText The new content
-         */
-        virtual void SetTextL(const TDesC& aText) = 0;
-        
-        /**
-         * Returns the text contained in the underlying CEikEdvin
-         * @return HBufC* The text
-         */
-        virtual const HBufC* Text() = 0;
-
-        private:
-        };
-    }   
-
-/**
-*  @ingroup group_xntexteditorfactory
-*  @lib xntexteditorfactory.lib
-*  @since S60
-*/
-class CXnTextEditor : public CXnComponent, public XnTextEditorInterface::MXnTextEditorInterface
-    {
-public:
-
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnTextEditor* NewL();
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnTextEditor();
-
-public: // New functions
-
-    /**
-     * Sets the new content to the underlying CEikEdvin
-     * @param aText The new content
-     */
-    void SetTextL(const TDesC& aText);
-    
-    /**
-     * Returns the text contained in the underlying CEikEdvin
-     * @return HBufC* The text
-     */
-    const HBufC* Text();
-
-public: // from CCoeControl
-
-   	/**
-     * Create a component interface according to the given type.
-     * @param aType Type of the interface to create
-     * @return Created interface or NULL if the provided type is not supported.
-     */ 
-    virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL( const TDesC8& aType );        
-            
-private:
-
-	CXnTextEditor();
-	void ConstructL();
-    };
-
-#endif      // _XNTEXTEDITOR_H
-            
-// End of File
--- a/idlehomescreen/inc/xntype.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +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:  Hand-made RTTI type object.
-*
-*/
-
-
-
-#ifndef CXNTYPE_H
-#define CXNTYPE_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-// CLASS DECLARATION
-
-/**
-* @ingroup group_xnutils
-* 
-*  Hand-made RTTI type object.
-*  @since Series 60 3.1
-*/
-class CXnType : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aType Type identifier
-        */
-        IMPORT_C static CXnType* NewL(const TDesC8& aType);
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CXnType();
-        
-    public: // New functions
-        
-        /**
-        * Get the type identifier
-        * @since Series 60 3.1
-        * @return Type identifier
-        */
-		IMPORT_C const TDesC8& Type();
-
-
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-
-
-    protected:  // Functions from base classes
-        
-        /**
-        * C++ default constructor. Protected in order to allow for derivation.
-        */
-        IMPORT_C CXnType();
-
-        /**
-        * 2nd phase constructor. Protected in order to allow for derivation.
-        * @param aType Type identifier
-        */
-        IMPORT_C void ConstructL(const TDesC8& aType);
-
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-
-    private:
-
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-        // Type identifier
-        const TDesC8* iType;
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // CXnTYPE_H
-            
-// End of File
--- a/idlehomescreen/inc/xnuiengine.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,493 +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:
-* Xuikon UI engine.
-*
-*/
-
-#ifndef XNUIENGINE_H
-#define XNUIENGINE_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-
-// Forward declarations
-class CXnAppUiAdapter;
-class CXnViewManager;
-class CXnUiEngineImpl;
-class TXnUiEngineAppIf;
-class TXnUiEnginePluginIf;
-class CCoeControl;
-class CXnProperty;
-class CXnNode;
-class CXnResource;
-class CXnODT;
-class CXnPointerArray;
-class CXnEditor;
-class CXnEditMode;
-class CXnHitTest;
-class CXnKeyEventDispatcher;
-
-// Class declaration
-/**
- * Xuikon UI engine.
- *
- * @ingroup group_xnlayoutengine
- * @lib xnlayoutengine.lib
- * @since Series 60 3.1
- */
-NONSHARABLE_CLASS( CXnUiEngine ) : public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-    static CXnUiEngine* NewL( CXnAppUiAdapter& aAdapter );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnUiEngine();
-
-public:
-    // New functions
-
-    /**
-     * Gets AppUi
-     *
-     * @since S60 5.0     
-     * @return AppUi
-     */    
-    CXnAppUiAdapter& AppUiAdapter() const;
-    
-    /**
-     * Calculates the layout of the UI and renders it.
-     *
-     * @since Series 60 3.1
-     * @param aNode Starting point for the layout
-     * @exception KXnErrLoadLayoutFileFailed Loading the layout file failed.
-     */
-    void RenderUIL( CXnNode* aNode = NULL );
-
-    /**
-     * Calculates the layout of the UI.
-     *
-     * @since Series 60 3.1
-     * @param aNode Starting point for the layout
-     */
-    void LayoutUIL( CXnNode* aNode = NULL );
-
-    /**
-     * Gets the root node of the UI. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @return Node
-     */
-    CXnNode* RootNode();
-
-    /**
-     * Find a node by its id. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aAreaId Area id
-     * @param aNamespace Namespace
-     * @return Node with the given id
-     */
-    CXnNode* FindNodeByIdL(
-        const TDesC& aAreaId,
-        const TDesC& aNamespace = KNullDesC );
-
-    /**
-     * 8-bit version of Find a node by its id. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aAreaId Area id
-     * @param aNamespace Namespace
-     * @return Node with the given id
-     */
-    CXnNode* FindNodeByIdL(
-        const TDesC8& aAreaId,
-        const TDesC8& aNamespace = KNullDesC8 );
-
-    /**
-     * Find nodes by class. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aClassId Class id
-     * @return Nodes belonging to the class
-     */
-    CXnPointerArray* FindNodeByClassL(
-        const TDesC& aClassId,
-        const TDesC& aNamespace = KNullDesC );
-
-    /**
-     * Find nodes by class. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aClassId Class id
-     * @return Nodes belonging to the class
-     */
-    CXnPointerArray* FindNodeByClassL(
-        const TDesC8& aClassId,
-        const TDesC8& aNamespace = KNullDesC8 );
-
-    /**
-     * Find resources (images etc.) of the UI. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @return Resources of the UI
-     */
-    CArrayPtrSeg< CXnResource >& Resources();
-
-    /**
-     * Set currently focused node
-     *
-     * @since Series 60 3.1
-     * @param aFocusedNode Focused node
-     * @param aSource A source of event that triggered focus change.
-     */
-    void SetFocusedNodeL( CXnNode* aFocusedNode, TInt aSource = 0 );
-
-    /**
-     * Get currently focused node
-     *
-     * @since Series 60 3.2
-     * @return Focused node.
-     */
-    CXnNode* FocusedNode();
-
-    /**
-     * Checks if the UI is in Edit mode.
-     *
-     * @since Series 60 5.0
-     * @return ETrue if the current mode is edit, otherwise EFalse.
-     */
-    TBool IsEditMode();
-
-    /**
-     * Get the raw ODT
-     *
-     * @since Series 60 3.1
-     * @return ODT
-     */
-    CXnODT* ODT();
-
-    /**
-     * Get a numeric value of a property in vertical pixels
-     *
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in vertical pixels
-     */
-    TInt VerticalPixelValueL( CXnProperty* aValue, TInt aReferenceValue );
-
-    /**
-     * Get a numeric value of a property in horizontal pixels
-     *
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in horizontal pixels
-     */
-    TInt HorizontalPixelValueL( CXnProperty* aValue, TInt aReferenceValue );
-
-    /**
-     * Get a numeric value of a property in vertical twips
-     *
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in vertical twips
-     */
-    TInt VerticalTwipValueL( CXnProperty* aValue, TInt aReferenceValue );
-
-    /**
-     * Get a numeric value of a property in horizontal twips
-     *
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in horizontal pixels
-     */
-    TInt HorizontalTwipValueL( CXnProperty* aValue, TInt aReferenceValue );
-
-    /**
-     * Refresh current menu
-     *
-     * @since Series 60 3.1
-     */
-    void RefreshMenuL();
-
-    /**
-     * Activate a view
-     *
-     * @since Series 60 3.1
-     * @param aViewNode View node
-     */
-    void ActivateViewL( CXnNode& aViewNode );
-
-    /**
-     * Returns view manager
-     *
-     * @since S60 5.0
-     * @return view manager
-     */
-    CXnViewManager* ViewManager();
-
-    /**
-     * Return the active view
-     *
-     * @since Series 60 3.1
-     * @return The active view node
-     */
-    CXnNode* ActiveView();
-
-    /**
-     * Add a dirty node.
-     *
-     * LayoutUiL and RenderUiL will only perform operations on the set of dirty
-     * nodes.
-     *
-     * @since Series 60 3.1
-     * @param aNode Dirty node.
-     */
-    void AddDirtyNodeL( CXnNode* aNode, TInt aLevel );
-
-    /**
-     * Get application interface.
-     *
-     * @since Series 60 3.1
-     * @return application interface
-     */
-    TXnUiEngineAppIf& AppIfL();
-
-    /**
-     * Get plugin interface.
-     *
-     * @since Series 60 3.1
-     * @return plugin interface
-     */
-    TXnUiEnginePluginIf& PluginIfL();
-
-    /**
-     * Get the size of the current screen device
-     *
-     * @since Series 60 3.1
-     * @return Size of the current screen device
-     */
-    TSize ScreenDeviceSize() const;
-
-    /**
-     * Checks whether the dialog is displaying.
-     *
-     * @since Series 60 3.1
-     * @return ETrue if dialog is displaying.
-     */
-    TBool IsDialogDisplaying();
-
-    /**
-     * Checks whether the menu is displaying.
-     *
-     * @since Series 60 3.1
-     * @return ETrue if menu is displaying.
-     */
-    TBool IsMenuDisplaying();
-       
-    /**
-     * Returns menubar node.
-     *
-     * @since Series 60 3.2
-     */
-    CXnNode* MenuBarNode() const;
-
-    /**
-     * Returns stylus popup node.
-     *
-     * @since S60 5.0
-     */    
-    CXnNode* StylusPopupNode() const;
-    
-    /**
-     * Set node as passive, and add it to the passive focused node array.
-     *
-     * @since Series 60 3.2
-     * @param aNode Node to use.
-     */
-    void AddPassiveFocusedNodeL( CXnNode* aNode );
-
-    /**
-     * Unset the passive focus from the node, and remove it from the passive
-     * focused node array.
-     * @since Series 60 3.2
-     * @param aNode Node to use.
-     */
-    void RemovePassiveFocusedNodeL( CXnNode* aNode );
-
-    /**
-     * Clear the passive focused node array, and unset the passive focus states.
-     *
-     * @since Series 60 3.2
-     */
-    void ClearPassiveFocusedNodesL();
-
-    /**
-     * Sets the main pane rect
-     *
-     * @since Series 60 5.0
-     */
-    void SetClientRectL( TRect aRect, TBool aDrawNow = ETrue );
-
-    /**
-     * Gets the main pane rect
-     *
-     * @since Series 60 5.0
-     */
-    TRect ClientRect() const;
-
-    /**
-     * Sets nodes dropped state
-     *
-     * @since S60 3.2
-     */
-    void SetNodeDroppedL( CXnNode& aNode, TInt aDropped ) const;
-
-    /**
-     * Checks if node is adaptive, but doesn't have any content
-     *
-     * @since Series 60 3.2
-     */
-    void CheckAdaptiveContentL(
-        CXnNode& aNode,
-        TSize aAvailableSize = TSize::EUninitialized ) const;
-
-    /**
-     * Adds a node which can be focused.
-     *
-     * @since Series 60 3.2
-     */
-    void AddFocusCandidateL( CXnNode *aNode );
-
-    /**
-     * Fetch editor to operate on AI3 widgets.
-     *
-     * @since Series 60 5.0
-     * @return Pointer to Editor
-     */
-    CXnEditor* Editor()const;
-
-    /**
-     * Gets pointer to edit mode storage.
-     *
-     * @since Series 60 5.0
-     */
-    CXnEditMode* EditMode();
-
-    /**
-     * Gets the array that contains plugin nodes for current view.
-     *
-     * @since Series 60 5.0
-     */
-    RPointerArray< CXnNode >* Plugins();
-
-    /**
-     * Gets hit test
-     *
-     * @since S60 5.1
-     * @return the hittest
-     */
-    CXnHitTest& HitTest() const;
-
-    /**
-     * Positions stylus popup according given position
-     *
-     * @since S60 5.1
-     * @param aNode stylus popup node
-     * @param aReference a reference node where popup should fit
-     * @param aPosition stylus popup position to set.
-     */
-    void PositionStylusPopupL(
-        CXnNode& aNode,
-        CXnNode& aReference,
-        const TPoint& aPosition );
-
-    /**
-     * Gets theme resource file
-     *
-     * @since S60 5.1
-     * @param aPath path from which file is found
-     * @param aFile file to which resource is set
-     * @return errorcode
-     */
-    TInt GetThemeResource( const TDesC& aPath, RFile& aFile );
-
-    /**
-     * Analyse added widget
-     *
-     * @since S60 5.1
-     */
-    TBool AnalyseAddedWidgetL( CXnNode& aNode );                
-
-    /**
-     * Disables layoyt and redraw, places cleanup item to cleanup stack
-     * for enabling layot and redraw
-     * 
-     * @since Series 60 5.0     
-     */                    
-    void DisableRenderUiLC();
-
-    /**
-     * Set event dispatcher
-     * 
-     * @since Series 60 5.0
-     * @param aDispather Event dispatcher     
-     */                    
-    void SetEventDispatcher( CXnKeyEventDispatcher* aDispatcher );
-    
-private:
-    /**
-     * C++ default constructor.
-     */
-    CXnUiEngine();
-
-    /**
-     * 2nd phase constructor.
-     */
-    void ConstructL( CXnAppUiAdapter& aAdapter );
-
-private:
-    // Data
-
-    /**
-     * The layout calculation and ui rendering implementation.
-     * Own.
-     */
-    CXnUiEngineImpl* iUiEngineImpl;
-
-    /**
-     * Application proxy.
-     * Own.
-     */
-    TXnUiEngineAppIf* iAppIf;
-
-    /**
-     * Plugin proxy.
-     * Own.
-     */
-    TXnUiEnginePluginIf* iPluginIf;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnuiengineappif.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +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:
-* Layout calculation and UI rendering mechanism.
-*
-*/
-
-#ifndef XNUIENGINEAPPIF_H
-#define XNUIENGINEAPPIF_H
-
-// System inlcudes
-#include <e32base.h>
-
-// Forward declarations
-class CXnUiEngine;
-class CXnNodeAppIf;
-class CXnDomStringPool;
-class RFile;
-
-// Class declaration
-/**
- * Layout engine.
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since Series 60 3.1
- */
-class TXnUiEngineAppIf
-    {
-public:
-    /**
-     * C++ default constructor.
-     */
-    TXnUiEngineAppIf( CXnUiEngine& aUiEngine );
-
-public:
-    // New functions
-
-    /**
-     * Calculates the layout of the UI
-     *
-     * @since Series 60 3.1
-     * @param aNode Starting point for the layout
-     * @exception KXnErrLoadLayoutFileFailed Loading the layout file failed.
-     */
-    IMPORT_C void RenderUIL( CXnNodeAppIf* aNode = NULL );
-
-    /**
-     * Gets the root node of the UI. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @return Node
-     */
-    IMPORT_C CXnNodeAppIf& RootNodeL();
-
-    /**
-     * Find a node by its id. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aNodeId Area id
-     * @param aNamespace Namespace
-     * @return Node with the given id
-     */
-    IMPORT_C CXnNodeAppIf* FindNodeByIdL(
-        const TDesC& aNodeId,
-        const TDesC& aNamespace = KNullDesC );
-
-    /**
-     * Find a node by its id. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aNodeId Area id
-     * @param aNamespace Namespace
-     * @return Node with the given id
-     */
-    IMPORT_C CXnNodeAppIf* FindNodeByIdL(
-        const TDesC8& aNodeId,
-        const TDesC8& aNamespace = KNullDesC8 );
-
-    /**
-     * Find nodes by class. Ownership of the array is transferred, ownership of
-     * the nodes is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aClassId Class id
-     * @return Nodes belonging to the class
-     */
-    IMPORT_C RPointerArray< CXnNodeAppIf > FindNodeByClassL(
-        const TDesC& aClassId,
-        const TDesC& aNamespace = KNullDesC );
-
-    /**
-     * Find nodes by class. Ownership of the array is transferred, ownership of
-     * the nodes is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aClassId Class id
-     * @return Nodes belonging to the class
-     */
-    IMPORT_C RPointerArray< CXnNodeAppIf > FindNodeByClassL(
-        const TDesC8& aClassId,
-        const TDesC8& aNamespace = KNullDesC8 );
-
-    /**
-     * Find content source nodes. Ownership of the array is transferred,
-     * ownership of the nodes is not transferred.
-     *
-     * @since S60 5.0
-     * @param aNamespace namespace where to find content source nodes
-     * @return Content source nodes from the namespace
-     */
-    IMPORT_C RPointerArray< CXnNodeAppIf > FindContentSourceNodesL(
-        const TDesC8& aNamespace );
-
-    /**
-     * Get the string pool
-     *
-     * @since Series 60 3.1
-     * @return String pool
-     */
-    IMPORT_C CXnDomStringPool& StringPool();
-
-    /**
-     * Refresh current menu
-     *
-     * @since Series 60 3.1
-     */
-    IMPORT_C void RefreshMenuL();
-
-    /**
-     * Activate a view
-     *
-     * @since Series 60 3.1
-     * @param aViewNode View node
-     */
-    IMPORT_C void ActivateViewL( CXnNodeAppIf& aViewNode );
-
-    /**
-     * Returns the active view
-     *
-     * @since Series 60 3.1
-     * @return The active view node
-     */
-    IMPORT_C CXnNodeAppIf* ActiveView();
-
-    /**
-     * Checks whether the menu is displaying.
-     *
-     * @since Series 60 3.2
-     * @return ETrue if menu is displaying.
-     */
-    IMPORT_C TBool IsMenuDisplaying();
-
-    /**
-     * Populate given array with plugin nodes.
-     *
-     * @since Series 60 5.0
-     * @param aArray Array to populate
-     * @return Number of added plugin nodes
-     */
-    IMPORT_C TInt GetPluginNodeArrayL(
-        RPointerArray< CXnNodeAppIf >& aArray );
-
-    /**
-     * Gets the currently focused node
-     *
-     * @since Series 60 5.0
-     * @return Pointer to focused node, NULL if no focus
-     */
-    IMPORT_C CXnNodeAppIf* FocusedNode();
-
-    /**
-     * Checks if the UI is in Edit mode.
-     *
-     * @since Series 60 5.0
-     * @return ETrue if the current mode is edit, otherwise EFalse.
-     */
-    IMPORT_C TBool IsEditMode();
-
-    /**
-     * Changes internal ui engine pointer
-     *
-     * @since Series 60 5.0
-     */
-    IMPORT_C void SetUiEngine( CXnUiEngine* aUiEngine );
-
-    /**
-     * Gets theme resource file
-     *
-     * @since S60 5.1
-     * @param aPath path from which file is found
-     * @param aFile file to which resource is set
-     * @return errorcode
-     */
-    IMPORT_C TInt GetThemeResource( const TDesC& aPath, RFile& aFile );
-
-    /**
-     * Gets widgets visibilty state
-     *
-     * @since Series 60 5.0
-     * @return ETrue if widgets visible, EFalse otherwise
-     */
-    IMPORT_C TBool WidgetsVisible() const;
-
-private:
-    // Data
-
-    /**
-     * The layout calculation and ui rendering implementation.
-     * Not own.
-     */
-    CXnUiEngine* iUiEngine;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnuienginepluginif.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,335 +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:
-* Xuikon layout engine plugin interface.
-*
-*/
-
-#ifndef XNUIENGINEPLUGINIF_H
-#define XNUIENGINEPLUGINIF_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-
-// Forward declarations
-class CXnUiEngine;
-class CXnProperty;
-class CXnNodePluginIf;
-class CXnDomStringPool;
-class CXnResource;
-class CXnControlAdapter;
-struct TPointerEvent;
-
-// Class declaration
-/**
- * Xuikon layout engine plugin interface.
- *
- * @ingroup group_xnlayoutengine
- * @lib xnlayoutengine.lib
- * @since Series 60 3.1
- */
-class TXnUiEnginePluginIf
-    {
-public:
-    /**
-     * C++ default constructor.
-     */
-    TXnUiEnginePluginIf( CXnUiEngine& aUiEngine );
-
-public:
-    // New functions
-
-    /**
-     * Calculates the layout of the UI
-     *
-     * @since Series 60 3.1
-     * @param aNode Starting point for the layout
-     * @exception KXnErrLoadLayoutFileFailed Loading the layout file failed.
-     */
-    IMPORT_C void RenderUIL( CXnNodePluginIf* aNode = NULL );
-
-    /**
-     * Gets the root node of the UI. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @return Node
-     */
-    IMPORT_C CXnNodePluginIf& RootNodeL();
-
-    /**
-     * Find a node by its id. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aNodeId Area id
-     * @param aNamespace Namespace
-     * @return Node with the given id
-     */
-    IMPORT_C CXnNodePluginIf* FindNodeByIdL(
-        const TDesC& aNodeId,
-        const TDesC& aNamespace = KNullDesC );
-
-    /**
-     * Find a node by its id. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aNodeId Area id
-     * @param aNamespace Namespace
-     * @return Node with the given id
-     */
-    IMPORT_C CXnNodePluginIf* FindNodeByIdL(
-        const TDesC8& aNodeId,
-        const TDesC8& aNamespace = KNullDesC8 );
-
-    /**
-     * Find nodes by class. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aClassId Class id
-     * @return Nodes belonging to the class
-     */
-    IMPORT_C RPointerArray< CXnNodePluginIf > FindNodeByClassL(
-        const TDesC& aClassId );
-
-    /**
-     * Find resources (images etc.) of the UI. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @return Resources of the UI
-     */
-    IMPORT_C CArrayPtrSeg< CXnResource >& Resources();
-
-    /**
-     * Get currently focused node. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @return Focused node
-     */
-    IMPORT_C CXnNodePluginIf* FocusedNodeL();
-
-    /**
-     * Set currently focused node
-     *
-     * @since Series 60 3.1
-     * @param aFocusedNode Focused node
-     */
-    IMPORT_C void SetFocusedNode( CXnNodePluginIf* aFocusedNode );
-
-    /**
-     * Restore focus to previously focused node
-     *
-     * @since Series 60 3.1
-     */
-    IMPORT_C void RestorePreviousFocusedNode();
-
-    /**
-     * Get the string pool
-     *
-     * @since Series 60 3.1
-     * @return String pool
-     */
-    IMPORT_C CXnDomStringPool& StringPool();
-
-    /**
-     * Get a numeric value of a property in vertical pixels
-     *
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in vertical pixels
-     */
-    IMPORT_C TInt VerticalPixelValueL(
-        CXnProperty* aValue,
-        TInt aReferenceValue );
-
-    /**
-     * Get a numeric value of a property in horizontal pixels
-     *
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in horizontal pixels
-     */
-    IMPORT_C TInt HorizontalPixelValueL(
-        CXnProperty* aValue,
-        TInt aReferenceValue );
-
-    /**
-     * Get a numeric value of a property in vertical twips
-     *
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in vertical twips
-     */
-    IMPORT_C TInt VerticalTwipValueL(
-        CXnProperty* aValue,
-        TInt aReferenceValue );
-
-    /**
-     * Get a numeric value of a property in horizontal twips
-     *
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in horizontal pixels
-     */
-    IMPORT_C TInt HorizontalTwipValueL(
-        CXnProperty* aValue,
-        TInt aReferenceValue );
-
-    /**
-     * Activate a view
-     *
-     * @since Series 60 3.1
-     * @param aViewNode View node
-     */
-    IMPORT_C void ActivateViewL( CXnNodePluginIf& aViewNode );
-
-    /**
-     * Get the size of the current screen device
-     *
-     * @since Series 60 3.1
-     * @return Size of the current screen device
-     */
-    IMPORT_C TSize ScreenDeviceSize();
-
-    /**
-     * Checks whether the dialog is displaying.
-     *
-     * @since Series 60 3.1
-     * @return ETrue if dialog is displaying.
-     */
-    IMPORT_C TBool IsDialogDisplaying();
-
-    /**
-     * Sets the given node dirty.
-     *
-     * @since Series 60 3.1
-     * @param aNode A node to be set dirty.
-     */
-    IMPORT_C void AddDirtyNodeL( CXnNodePluginIf& aNode );
-
-    /**
-     * Checks whether the menu is displaying.
-     *
-     * @since Series 60 3.1
-     * @return ETrue if menu is displaying.
-     */
-    IMPORT_C TBool IsMenuDisplaying();
-
-    /**
-     * Calculates the layout of the UI.
-     *
-     * @since Series 60 3.1
-     * @param aNode Starting point for the layout
-     */
-    IMPORT_C void LayoutUIL( CXnNodePluginIf* aNode = NULL );
-
-    /**
-     * Gets the edit mode state from UI Engine.
-     *
-     * @since Series 60 5.0
-     * @return A state of edit mode.
-     */
-    IMPORT_C TInt EditMode();
-
-    /**
-     * Gets widgets visibilty state
-     *
-     * @since Series 60 5.0
-     * @return ETrue if widgets visible, EFalse otherwise
-     */
-    IMPORT_C TBool WidgetsVisible() const;
-
-    /**
-     * Gets control defining hit region
-     *
-     * @since Series 60 5.0
-     * @return Control defining the hit region
-     */
-    IMPORT_C CXnControlAdapter* HitRegion() const;
-
-    /**
-     * Deactivates focused node
-     *
-     * @since Series 60 5.0
-     */
-    IMPORT_C void DeactivateFocusedNodeL();
-
-    /**
-     * Queries wheter focus is visible
-     *
-     * @since Series 60 5.0
-     * @return ETrue if focus is shown, EFalse otherwise
-     */
-    IMPORT_C TBool ShowFocus();
-    
-    /**
-     * Gets a plugin node which the given node is.
-     *
-     * @since Series 60 5.0
-     * @param aNode Node to start.
-     * @return A Plugin node.
-     */
-    IMPORT_C CXnNodePluginIf& PluginNodeL( CXnNodePluginIf* aNode );
-        
-    /**
-     * Sets focus visibility for active view
-     * @since Series 60 5.0
-     * @param aVisible Visibility state
-     */                
-    IMPORT_C void SetFocusVisibleL( TBool aVisible );
-        
-    /**
-     * Return focus visibility of active view
-     * @since Series 60 5.0
-     * @return ETrue if active view focus is visible, EFalse otherwise
-     */                
-    IMPORT_C TBool FocusVisible();
-        
-    /**
-     * Enables or disables swipe for active view
-     * @since Series 60 5.0
-     * @param aEnable True will enable swipe, false will disable
-     */                
-    IMPORT_C void EnableSwipeL( TBool aEnable );
-        
-    /**
-     * Return whether swipe is enabled or not
-     * @since Series 60 5.0
-     * @return ETrue if swipe is enable, EFalse otherwise
-     */                
-    IMPORT_C TBool SwipeEnabledL();
-    
-    /**
-     * Disables layoyt and redraw, places cleanup item to cleanup stack
-     * for enabling layot and redraw
-     * 
-     * @since Series 60 5.0     
-     */                        
-    IMPORT_C void DisableRenderUiLC();
-        
-private:
-    // Data
-
-    /**
-     * The layout calculation and ui rendering implementation.
-     * Not own.
-     */
-    CXnUiEngine* iUiEngine;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnviewmanager.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +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:
-* Management of views in UiEngine
-*
-*/
-
-#ifndef XNVIEWMANAGER_H
-#define XNVIEWMANAGER_H
-
-// System includes
-#include <e32base.h>
-#include <babitflags.h>
-
-// Forward declarations
-class CXnUiEngine;
-class CXnComposer;
-class CXnODTParser;
-class CXnEditor;
-class CXnEcomHandler;
-class CXnRootData;
-class CXnViewData;
-class CXnPluginData;
-class CXnNode;
-class CXnODT;
-class CXnResource;
-class CXnControlAdapter;
-class CXnAppUiAdapter;
-class CHsContentInfo;
-class CXnViewAdapter;
-class CXnOomSysHandler;
-
-namespace hspswrapper
-    {
-    class CHspsWrapper;
-    }
-
-using namespace hspswrapper;
-
-// Classe declaration
-/**
- * Notifies view changes
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( MXnViewObserver )
-    {
-public:
-    // new functions
-    virtual void NotifyViewActivatedL( const CXnViewData& aViewData ) = 0;
-
-    virtual void NotifyViewDeactivatedL( const CXnViewData& aViewData ) = 0;
-
-    virtual void NotifyConfigureWidgetL(
-        const CHsContentInfo& aContentInfo,
-        CXnPluginData& aPluginData ) = 0;
-
-    virtual void NotifyWidgetAdditionL( const CXnPluginData& aPluginData ) = 0;
-
-    virtual void NotifyWidgetRemovalL( const CXnPluginData& aPluginData ) = 0;
-    
-    virtual void NotifyViewAdditionL( const CXnPluginData& aPluginData ) = 0;
-
-    virtual void NotifyViewRemovalL( const CXnPluginData& aPluginData ) = 0;
-    };
-
-/**
- * Manages views in UiEngine.
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnViewManager ) : public CBase
-    {
-    // Friend classes
-    friend class CXnViewAdapter;
-    
-public:
-    /**
-     * Two-phased constructor.
-     */
-    static CXnViewManager* NewL(
-        CXnAppUiAdapter& aAdapter );
-        
-    static CXnViewManager* NewLC(
-        CXnAppUiAdapter& aAdapter );        
-
-    ~CXnViewManager();
-
-private:
-    CXnViewManager( CXnAppUiAdapter& aAdapter );
-    void ConstructL();
-
-public:
-    // New functions
-
-    inline void SetUiEngine( CXnUiEngine& aUiEngine );
-
-    inline CXnUiEngine& UiEngine() const;
-
-    inline CXnComposer& Composer() const;
-
-    inline CXnEditor& Editor() const;
-
-    inline CXnAppUiAdapter& AppUiAdapter() const;
-           
-    CXnODT* ODT() const;
-
-    CXnNode* RootNode() const;
-
-    CXnNode* ViewNode() const;
-    
-    CXnODTParser& Parser() const;
-
-    CXnEcomHandler& EcomHandler() const;
-    
-    const RPointerArray< CXnControlAdapter >& Controls() const;
-
-    RPointerArray< CXnNode >& PluginNodes() const;
-    
-    void PluginDataL( RPointerArray< CXnPluginData >& aList, 
-        TBool aGlobal = EFalse ) const;
-
-    RPointerArray< CXnNode >& AppearanceNodes() const;
-
-    CArrayPtrSeg< CXnResource >& Resources() const ;
-           
-    void LoadUiL();
-
-    void ReloadUiL();
-
-    TInt LoadWidgetToPluginL(
-        CHsContentInfo& aContentInfo,
-        CXnPluginData& aPluginData );
-
-    TInt UnloadWidgetFromPluginL(
-        CXnPluginData& aPluginData );
-        
-    TInt ReplaceWidgetToPluginL(
-        CHsContentInfo& aContentInfo,
-        CXnPluginData& aPluginData,
-        TBool aUseHsps = ETrue );
-
-    void ActivateNextViewL();
-
-    void ActivatePreviousViewL();
-
-    TInt AddViewL( CHsContentInfo& aInfo );
-    
-    void AddViewL();
-    
-    TInt RemoveViewL( const CHsContentInfo& aInfo );
-
-    void RemoveViewL();
-    
-    void AddObserver( const MXnViewObserver& aObserver );
-
-    void RemoveObserver( const MXnViewObserver& aObserver );
-
-    CXnRootData& ActiveAppData() const;
-    
-    CXnViewData& ActiveViewData() const;
-
-    void SetFirstPassDrawCompleteL();
-
-    void SetDataPluginLoadCompleteL( const CXnPluginData& aPluginData );
-
-    void UpdatePluginStateL( CXnPluginData& aPluginData );
-       
-    TInt ActivateAppL( const TDesC8& aPluginUid );
-    TInt ActivateViewL( const TDesC8& aPluginId );    
-    
-    TInt ViewAmount() const;
-
-    TInt ViewIndex() const;
-
-    CXnOomSysHandler& OomSysHandler() const;
-    
-    /**
-     * Get maximum pages allowed
-     * 
-     * @return number of pages allowed
-     */
-    TInt32 MaxPages();    
-
-private:
-    void NotifyContainerChangedL( CXnViewData& aViewToActivate );       
-
-    void NotifyViewActivatedL( const CXnViewData& aViewData );
-
-    void NotifyViewDeactivatedL( const CXnViewData& aViewData );
-
-    void NotifyViewAdditionL( const CXnViewData& aViewData );
-   
-    void NotifyViewRemovalL( const CXnViewData& aViewData );
-
-    void NotifyConfigureWidgetL(
-        const CHsContentInfo& aContentInfo,
-        CXnPluginData& aPluginData );
-
-    void NotifyWidgetAdditionL( const CXnPluginData& aPluginData );
-
-    void NotifyWidgetRemovalL( const CXnPluginData& aPluginData );
-
-    CXnViewData* ViewData( CXnNode& aNode ) const;
-
-    CXnViewData& PreviousViewData() const;
-
-    CXnViewData& NextViewData() const;
-
-    void UpdateCachesL();
-
-    void ValidateActiveViewL();
-    
-    void InvalidateActiveView();
-
-    void ReportWidgetAmountL( const CXnViewData& aViewData );
-    
-    void ShowDiskFullMessageL() const;
-       
-public:
-    void UpdatePageManagementInformationL();
-
-private:
-    TInt ResolveIconIndex( TInt aPageCount, TInt aPageNum ) const;
-
-    void UpdateWallpaperL( CXnViewData& aCurrent, CXnViewData& aNew );
-
-private:
-    // data
-
-    /**
-     * AppUi adapter.
-     * Not own.
-     */
-    CXnAppUiAdapter& iAppUiAdapter;
-
-    /**
-     * Application uid
-     */
-    TUid iApplicationUid;
-    
-    /**
-     * HSPS wrapper. 
-     * Not own.
-     */
-    CHspsWrapper* iHspsWrapper;
-
-    /**
-     * UiEngine.
-     * Not own.
-     */
-    CXnUiEngine* iUiEngine;
-
-    /**
-     * Comopser.
-     * Own.
-     */
-    CXnComposer* iComposer;
-
-    /**
-     * Editor.
-     * Own.
-     */
-    CXnEditor* iEditor;
-    
-    /**
-     * Application configuration root data.
-     * Own.
-     */
-    CXnRootData* iRootData;
-    
-    /**
-     * Widget amount trigger.
-     * Own.
-     */
-    CXnNode* iWidgetAmountTrigger;
-    
-    /**
-     * Resources for current view.
-     * Own.
-     */
-    mutable CArrayPtrSeg< CXnResource >* iResources;
-
-    /**
-     * Controls for current view.
-     * Own.
-     */
-    mutable RPointerArray< CXnControlAdapter > iControls;
-
-    /**
-     * Appearance nodes. This array needs to be updated when UI furniture
-     * is changed.
-     * Own.
-     */
-    mutable RPointerArray< CXnNode > iAppearanceNodes;
-
-    /**
-     * View observers.
-     * Own.
-     */
-    RPointerArray< MXnViewObserver > iObservers;
-
-    /**
-     * Failed plugins.
-     * Own.
-     */    
-    RPointerArray< CXnPluginData > iFailedPlugins;
-    
-    /**
-     * Flags
-     */
-    TBitFlags32 iFlags;
-
-    /**
-     * OOM system handler. Owned.
-     */
-    CXnOomSysHandler* iOomSysHandler;    
-    };
-
-// Inline functions
-#include "xnviewmanager.inl"
-
-#endif
--- a/idlehomescreen/inc/xnviewmanager.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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:
-* Viewmanager inline functions
-*
-*/
-
-#ifndef XNVIEWMANAGER_INL
-#define XNVIEWMANAGER_INL
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-inline void CXnViewManager::SetUiEngine( CXnUiEngine& aUiEngine )
-    {
-    iUiEngine = &aUiEngine;
-    };
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-inline CXnUiEngine& CXnViewManager::UiEngine() const
-    {
-    return *iUiEngine;
-    };
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-inline CXnComposer& CXnViewManager::Composer() const
-    {
-    return *iComposer;
-    };
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-inline CXnEditor& CXnViewManager::Editor() const
-    {
-    return *iEditor;
-    };
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-inline CXnAppUiAdapter& CXnViewManager::AppUiAdapter() const
-    {
-    return iAppUiAdapter;
-    };
-
-#endif
--- a/idlehomescreen/inc/xnviewnodeimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +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:
-* Implementation of view node
-*
-*/
-
-#ifndef XNVIEWNODEIMPL_H
-#define XNVIEWNODEIMPL_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "xncomponentnodeimpl.h"
-
-// Forward declarations
-class CXnType;
-
-// Class declaration
-/**
- * Implementation of view node.
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since Series 60 3.1
- */
-NONSHARABLE_CLASS( CXnViewNodeImpl ) : public CXnComponentNodeImpl
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @param aType Type.
-     */
-    static CXnViewNodeImpl* NewL( CXnType* aType );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnViewNodeImpl();
-
-protected:
-    /**
-     * C++ default constructor.
-     */
-    CXnViewNodeImpl();
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aType Type.
-     */
-    void ConstructL( CXnType* aType );
-
-private:
-    // Data
-    };
-
-#endif
-
-// End of file
--- a/idlehomescreen/inc/xnvolumecontrol.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Wrapper class for AknVolumeControl
-*
-*/
-
-
-#ifndef _XNVOLUMECONTROL_H
-#define _XNVOLUMECONTROL_H
-
-//  INCLUDES
-#include <e32base.h>
-#include "xncomponent.h"
-#include "mxncomponentinterface.h"
-
-// FORWARD DECLARATIONS
-class MXnVolumeControlObserver;
-
-// CLASS DECLARATION
-namespace XnVolumeControlInterface
-{
-_LIT8(KType, "volumecontrol");
-class MXnVolumeControlInterface : public XnComponentInterface::MXnComponentInterface
-   {
-public:
-		
-    static inline const TDesC8& Type()
-        {
-        return KType;
-        }
-		
-public: // New functions
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/	
-	virtual void SetValue( TInt aValue ) = 0;
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/	
-	virtual TInt Value() = 0;
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/
-	virtual void SetRange( TInt aMinimumValue, TInt aMaximumValue ) = 0;
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/	
-	virtual void GetRange( TInt& aMiminumValue, TInt& aMaximumValue ) = 0;
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/
-	virtual void SetObserver( MXnVolumeControlObserver* aObserver ) = 0;
-
-private:
-
-   };
- }   
-
-/**
-*  @ingroup group_xnvolumecontrolfactory
-*  @lib xnvolumecontrol.lib
-*  @since Series 60 3.2
-*/
-class CXnVolumeControl : public CXnComponent, public XnVolumeControlInterface::MXnVolumeControlInterface
-   {
-
-public:
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnVolumeControl* NewL();
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnVolumeControl();
-
-public: // New functions
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/
-	void SetValue( TInt aValue );
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/
-	TInt Value();
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/
-	void SetRange( TInt aMinimumValue, TInt aMaximumValue );
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/
-	void GetRange( TInt& aMiminumValue, TInt& aMaximumValue );
-	
-	/**
-	* Commented in xnvolumecontroladapter.h
-	*/
-	void SetObserver( MXnVolumeControlObserver* aObserver );
-
-public:
-
-   	/**
-      * Create a component interface according to the given type.
-      * @param aType Type of the interface to create
-      * @return Created interface or NULL if the provided type is not supported.
-      */ 
-    virtual XnComponentInterface::MXnComponentInterface* MakeInterfaceL(const TDesC8& aType);        
-        
-private:
-	CXnVolumeControl();
-	void ConstructL();
-   };
-
-#endif      // _XNVOLUMECONTROL_H
-            
-// End of File
--- a/idlehomescreen/inc/xnvolumecontrolobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Xuikon volume control adapter observer
-*
-*/
-
-
-#ifndef __XNVOLUMECONTROLOBSERVER_H
-#define __XNVOLUMECONTROLOBSERVER_H
-
-/**
-*  @ingroup group_xnvolumecontrolfactory
-*  @lib xnvolumecontrol.lib
-*  @since Series 60 3.2
-*/
-class MXnVolumeControlObserver
-    {
-    public: // New functions
-    
-    /**
-    * Called when volume value is changed.
-    * @param aValue New volume value.
-    */
-    virtual void VolumeChanged( TInt aValue ) = 0;
-    };
-
-#endif // __XNVOLUMECONTROLOBSERVER_H
--- a/idlehomescreen/loc/activeidle3.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +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:  Localization strings for project Active Idle 3
-*
-*/
-
-
-// d: It is text of Active Idle 2 application in application shell grid. 
-// d: When user selects that item, then phone goes to idle state 
-// d: or call related state.
-// l: cell_app_pane_t1
-// w:
-// r: TB9.2
-//
-#define qtn_apps_idle_grid "Idle"
-
-// d: It is text shown in note when SIM registration has failed. 
-// l: popup_note_window
-// w:
-// r: 3.2
-//
-#define text_imsi_unknown_in_hlr "SIM registration failed"
-
-
-// d: It is possible that user activates Idle theme which
-// d: contains one or more plug-ins which can not be loaded to framework.
-// l: popup_note_window
-// w:
-// r: 3.2
-//
-#define qtn_idle_theme_error_incompatible "Problems with theme. It may not work correctly."
-
-// d: In case plug-in dies during operation error note is shown.
-// l: popup_note_window
-// w:
-// r: 3.2
-//
-#define qtn_idle_theme_error_notloaded "Error in theme."
-
-// d: Title field for stylus activated popup.
-// l: heading_sub_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_idle_title_tapped_header "Registered network"
-
-// d: When user activates the link, SAT application is launched.
-// d: Link label for stylus activated popup.
-// l: list_single_touch_info_pane_t2/opt1
-// w:
-// r: 5.0
-//
-#define qtn_idle_title_tapped_link1	"Go to own SIM services"
-
-// d: When user activates the link, automatic network search is started.
-// d: Link label for stylus activated popup.
-// l: list_single_touch_info_pane_t2/opt1
-// w:
-// r: 5.0
-//
-#define qtn_idle_title_tapped_link2	"Search network"
-
-// d: When user activates the link, calendar application is launched.
-// d: Link label for stylus menu popup.
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_idle_navi_tapped_cale "Go to Calendar"
-
-// d: When user activates the link, profile application is launched.
-// d: Link label for stylus menu popup.
-// l: list_single_touch_menu_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_idle_navi_tapped_all_prof "Show all profiles"
-
-// d: Back text for SK2
-// l: control_pane_t1/opt7
-// w:
-// r: 3.2
-//
-#define text_softkey_back "Back"
-
-// d: New message shortcut
-// l: control_pane_t1/opt7
-// w:
-// r: 3.2
-//
-#define qtn_idle_skey_new_msg "New msg."
-
-// d: New e-mail shortcut
-// l: control_pane_t1/opt7
-// w:
-// r: 3.2
-//
-#define qtn_apps_email_skey "New mail"
-
-// d: New SyncML mail shortcut
-// l: control_pane_t1/opt7
-// w:
-// r: 3.2
-//
-#define qtn_apps_syncml_mail_skey "New sync.mail"
-
-// d: New MMS postcard shortcut
-// l: control_pane_t1/opt7
-// w:
-// r: 3.2
-//
-#define qtn_apps_mmspostcard_skey "New postcard"
-
-// d: New audio message shortcut
-// l: control_pane_t1/opt7
-// w:
-// r: 3.2
-//
-#define qtn_apps_audio_msg_skey "New audiomsg"
-
-// d: Select message type shortcut
-// l: control_pane_t1/opt7
-// w:
-// r: 3.2
-//
-#define qtn_set_idle_skey_select_msg_type "Select msg type"
-
-// d: Change theme shortcut
-// l: control_pane_t1/opt7
-// w:
-// r: 3.2
-//
-#define qtn_apps_idle_skin_skey "Idle theme"
-
-// d: Heading of add widget dialog. 
-// l: list_single_pane_t1_cp2
-// w:
-// r: 3.2
-//
-#define qtn_hs_add_widget "Add content"
-
-// d: Heading of remove widget dialog. 
-// l: list_single_pane_t1_cp2
-// w:
-// r: 3.2
-//
-#define qtn_hs_remove_widget "Remove content"
-
-// d: Popup shown when trying to add content to full homescreen. 
-// l: popup_note_window
-// w:
-// r: 3.2
-//
-#define qtn_hs_add_widget_full "Homescreen is already full, remove some content"
-
-// d: Options menu item which switches home to online. Web widgets get updates from network.
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_online "Switch Home to online"
-
-// d: Options menu item which switches home to offline. Web widgets are not updated
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_offline "Switch Home to offline"
-
-// d: Information note text which informs user that home is automatically switched to offline because user is roaming.
-// l: popup_note_window
-// w:
-// r: TB9.2
-#define qtn_hs_automatic_offline "Select Options - Switch Home to online to reconnect while roaming outside home network."
-
-// d: Error  note text. In case widget dies during operation, widget information is cleaned from the screen
-// l: popup_note_window
-// w:
-// r: TB9.2
-#define qtn_hs_error_widgets_removed "Problem occurred. Widget(s) removed."
-
-// d: User can download new HS widgets. String visible in add content list query
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-#define qtn_hs_download_new_widgets "Download"
-
-// d: Promt text for Add content list query
-// l: heading_pane_t1
-// w:
-// r: 3.2
-//
-#define qtn_hs_select_widget "Select content"
-
-// d: Popup shown when first web widget is added OR web widget is tapped while offline
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_hs_switch_online "Allow all Home screen widgets to access network? (You can disable/enable connection from Home screen options menu)?"
-
-// d: Popup shown when disabling the home screen network 
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_hs_disable_network "Would you like to disable Home screen network access for now? To re-enable select Options - Switch Home to online"
-
-// d: Shown when HSPS fails to personalize an active application configuration
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_hs_operation_failed_no_disk "Operation failed. Try again later."
-
-// d: Edit active profile
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.1
-#define qtn_hs_profile_edit  "Edit active profile"
-
-// d: Notifies when maximum amout of pages has been reached
-// l: popup_info_list_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_max_amount_of_pages_note  "Maximum amount of pages reached. Cannot create a new one."
-
-// d: remove widget query
-// l: popup_note_window
-// w:
-// r: TB9.2
-#define qtn_hs_edit_remove_widget  "Remove selected content?"
-
-// d: delete page query
-// l: popup_note_window
-// w:
-// r: TB9.2
-#define qtn_hs_delete_page  "Delete page %U?"
-
-// d: edit mode title
-// l: title_pane_t2/opt12
-// w:
-// r: TB9.2
-#define qtn_hs_title_editing  "Editing"
-
-// d: delete current page query
-// l: popup_note_window
-// w:
-// r: TB9.2
-#define qtn_hs_delete_current_page  "Delete current page?"
-
-// d: Error  note text. OOM failure handled
-// l: popup_note_window
-// w:
-// r: TB9.2
-#define qtn_hs_hs_memory_full "Not enough memory to add more content. Please remove some Homescreen content and try again."
-
-// d: Heading of change wallpaper dialog. 
-// l: heading_pane_t1
-// w:
-// r: TB9.2
-#define qtn_hs_title_change_wallpaper  "Change wallpaper"
-
-// d: Change wallpaper dialog default item 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_hs_default "Default"
-
-// d: Change wallpaper dialog image item 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_hs_image "Image"
-
-// d: Change wallpaper dialog slideshow item 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_hs_slideshow "Slideshow"
-
-// d: Shown when user select corrupted image file as a wallpaper 
-// l: popup_note_window
-// w:
-// r: TB9.2
-//
-#define qtn_hs_corrupted_image_note "Unable to select. Image corrupted or format not supported."
--- a/idlehomescreen/nativeuicontroller/group/ainatiui.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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: 
-*
-*/
-
-#include <platform_paths.hrh>
-
-#include        <platform/mw/aisystemuids.hrh>
-#include        <data_caging_paths.hrh>
-
-TARGET          Ai3NatiUi.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D AI_UID_ECOM_DLL_UICONTROLLER_NATIVE
-VENDORID        VID_DEFAULT
-CAPABILITY      CAP_ECOM_PLUGIN
-
-SOURCEPATH      ../src
-SOURCE          appui.cpp
-SOURCE          document.cpp
-SOURCE          application.cpp
-SOURCE          ainativeuiview.cpp
-SOURCE          nativeuicontroller.cpp
-SOURCE          ainavipanerenderer.cpp
-SOURCE          ainavipaneanimator.cpp
-SOURCE          aistatuspanel.cpp
-SOURCE          aititlepanerenderer.cpp
-SOURCE          ainativerenderer.cpp
-SOURCE          aidialogrenderer.cpp
-SOURCE          aisoftkeyrenderer.cpp
-SOURCE          ainativeuimodel.cpp
-SOURCE      	  aistatuspanetouchui.cpp
-SOURCE			    aitoolbarrenderer.cpp
-SOURCE			    aitoolbarbutton.cpp 
-SOURCE			    ainotifierrenderer.cpp
-
-
-START RESOURCE  ai3natiui.rss
-TARGET          Ai3NatiUi.rsc
-END
-
-START RESOURCE  ai3nativeui.rss
-HEADER
-TARGET          AiNativeUi.rsc
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-USERINCLUDE     .
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         ecom.lib
-LIBRARY         avkon.lib
-LIBRARY         aknskins.lib
-LIBRARY         apparc.lib
-LIBRARY         cone.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         eikcore.lib
-LIBRARY         commonengine.lib
-LIBRARY         efsrv.lib
-LIBRARY         fbscli.lib
-LIBRARY         aknicon.lib
-LIBRARY         eikdlg.lib
-LIBRARY         egul.lib
-LIBRARY         centralrepository.lib
-LIBRARY         cenrepnotifhandler.lib
-LIBRARY         aknlayout2scalable.lib
-LIBRARY         cdlengine.lib
-LIBRARY         aifw.lib
-LIBRARY         aiutils.lib
-LIBRARY         bafl.lib
-LIBRARY         flogger.lib
-LIBRARY         aiidleint.lib
-LIBRARY         featmgr.lib
-LIBRARY         profileeng.lib
-LIBRARY         networkhandling.lib
-LIBRARY     	  viewcli.lib
-LIBRARY		      gdi.lib
-LIBRARY         aknnotify.lib
-
-#ifdef RD_TACTILE_FEEDBACK
-LIBRARY		touchfeedback.lib
-#endif
--- a/idlehomescreen/nativeuicontroller/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-#ifdef RD_CUSTOMIZABLE_AI
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-
-// uncomment following line after old xuikon has been removed!
-../rom/nativeuicontroller.iby     CORE_APP_LAYER_IBY_EXPORT_PATH(nativeuicontroller.iby)
-../rom/nativeuicontroller_resources.iby	LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(nativeuicontroller_resources.iby)
-
-../loc/ainativeui.loc               APP_LAYER_LOC_EXPORT_PATH(ainativeui.loc)
-
-#ifdef __COVER_DISPLAY
-../inc/AiSecondaryDisplayApi.h       APP_LAYER_PUBLIC_EXPORT_PATH(SecondaryDisplay/AiSecondaryDisplayApi.h)
-#endif
-
-PRJ_MMPFILES
-ainatiui.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-#endif // RD_CUSTOMIZABLE_AI
-
--- a/idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Dialog renderer.
-*
-*/
-
-
-#ifndef C_AIDIALOGRENDERER_H
-#define C_AIDIALOGRENDERER_H
-
-
-#include <e32base.h>
-#include "ainativerenderer.h"
-
-
-class CAknNoteDialog;
-
-namespace AiNativeUiController
-{
-
-/**
- *  Dialog renderer.
- *
- *  Used to show CAknNoteDialog on screen.
- *
- *  @since S60 3.2
- */
-class CAiDialogRenderer : public CAiNativeRenderer
-    {
-public:
-
-    static CAiDialogRenderer* NewLC();
-
-    virtual ~CAiDialogRenderer();
-
-// from base class CAiNativeRenderer
-
-    void DoPublishL( MAiPropertyExtension& aPlugin, TInt aContent, TInt aResource, TInt aIndex );
-
-    void DoCleanL( MAiPropertyExtension& aPlugin, TInt aContent );
-
-    void FocusObtainedL();
-
-private:
-
-    CAiDialogRenderer();
-
-    /**
-     * Show dialog.
-     *
-     * @since S60 3.2
-     */
-    void ShowDialogL();
-
-
-private: // data
-
-    /**
-     * Dialog.
-     * Own.
-     */
-    CAknNoteDialog* iDialog;
-   
-    /**
-     * Text to be rendered in the dialog.
-     * Own.
-     */
-    HBufC* iText;
-
-    /// Indicates SIM registration failure.
-    TBool iShowDialog;
-
-#ifdef __COVER_DISPLAY
-    /**
-     * Dialog ID to be published.
-     * Own.
-     */
-    TInt iDialogId;
-#endif
-
-    };
-
-} // namespace AiNativeUiController
-
-#endif // C_AIDIALOGRENDERER_H
--- a/idlehomescreen/nativeuicontroller/inc/ainativerenderer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Base class for renderers in native ui controller.
-*
-*/
-
-
-#ifndef M_AINATIVERENDERER_H
-#define M_AINATIVERENDERER_H
-
-#include <e32base.h>
-#include "aidevicestatuscontentmodel.h"
-#include "aiscutcontentmodel.h"
-#include "aiprofileplugincontentmodel.h"
-
-
-class RFile;
-class MAiPropertyExtension;
-
-namespace AiNativeUiController
-{
-
-/**
- *  Base class for renderers in native ui controller.
- *
- *  @since S60 3.2
- */
-class CAiNativeRenderer : public CBase
-    {
-
-public:
-
-    virtual ~CAiNativeRenderer();
-
-    /**
-     * Publish resource.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aResource is id of the resource.
-     * @param aIndex is index of the content.
-     * @return KErrNone if publish is successful.
-     */
-    virtual TInt Publish( MAiPropertyExtension& aPlugin, 
-                            TInt aContent, 
-                            TInt aResource,
-                            TInt aIndex );
-
-    /**
-     * Publish unicode text.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aText is published text.
-     * @param aIndex is index of the content.
-     * @return KErrNone if publish is successful.
-     */
-    virtual TInt Publish( MAiPropertyExtension& aPlugin, 
-                            TInt aContent, 
-                            const TDesC16& aText,
-                            TInt aIndex );
-
-    /**
-     * Publish data.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aBuf is published data.
-     * @param aIndex is index of the content.
-     * @return KErrNone if publish is successful.
-     */
-    virtual TInt Publish( MAiPropertyExtension& aPlugin, 
-                            TInt aContent, 
-                            const TDesC8& aBuf,
-                            TInt aIndex );
-
-    /**
-     * Publish content of the file.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aFile is reference to opened file.
-     * @param aIndex is index of the content.
-     * @return KErrNone if publish is successful.
-     */
-    virtual TInt Publish( MAiPropertyExtension& aPlugin, 
-                            TInt aContent, 
-                            RFile& aFile,
-                            TInt aIndex );
-
-    /**
-     * Clean content.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aIndex is index of the content.
-     * @return KErrNone if cleaning works.
-     */
-    virtual TInt Clean( MAiPropertyExtension& aPlugin, TInt aContent );
-
-    /**
-     * Renderer must implement this method if it needs to support resource publishing.
-     *
-     * Default implementation leaves with KErrNotFound.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aResource is id of the resource.
-     * @param aIndex is index of the content.
-     */
-    virtual void DoPublishL( MAiPropertyExtension& aPlugin, 
-                                TInt aContent, 
-                                TInt aResource,
-                                TInt aIndex );
-
-    /**
-     * Renderer must implement this method if it needs to support unicode text publishing.
-     *
-     * Default implementation leaves with KErrNotFound.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aText is published text.
-     * @param aIndex is index of the content.
-     */
-    virtual void DoPublishL( MAiPropertyExtension& aPlugin, 
-                                TInt aContent, 
-                                const TDesC16& aText,
-                                TInt aIndex );
-
-    /**
-     * Renderer must implement this method if it needs to support data publishing.
-     *
-     * Default implementation leaves with KErrNotFound.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aBuf is published data.
-     * @param aIndex is index of the content.
-     */
-    virtual void DoPublishL( MAiPropertyExtension& aPlugin, 
-                                TInt aContent, 
-                                const TDesC8& aBuf,
-                                TInt aIndex );
-
-    /**
-     * Renderer must implement this method if it needs to support file publishing.
-     *
-     * Default implementation leaves with KErrNotFound.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     * @param aFile is reference to file client.
-     * @param aIndex is index of the content.
-     */
-    virtual void DoPublishL( MAiPropertyExtension& aPlugin, 
-                                TInt aContent, 
-                                RFile& aFile,
-                                TInt aIndex );
-
-    /**
-     * Renderer must implement this method if it needs to support content cleaning.
-     *
-     * Default implementation leaves with KErrNotFound.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is id of the content.
-     */
-    virtual void DoCleanL( MAiPropertyExtension& aPlugin, TInt aContent );
-    
-    /**
-     * Called when UI switches to foreground.
-     */
-    virtual void FocusObtainedL() { };
-    
-    /**
-     * Called when UI switches to background.
-     */
-    virtual void FocusLostL() { };
-    
-    /**
-     * Called when transaction is committed.
-     */
-    virtual void TransactionCommittedL() { };
-    
-    /**
-     * Called when keylock state is enabled.
-     */
-    virtual void KeylockEnabledL() { };
-    
-    /**
-     * Called when keylock state is disabled.
-     */
-    virtual void KeylockDisabledL() { };
-    
-    /**
-     * LoadUIDefinitionL
-     */
-    virtual void LoadUIDefinitionL() { };       
-    
-protected:
-
-    /**
-     * Get integer content id using textual id.
-     *
-     * @since S60 3.2
-     * @param aCid is textual content id.
-     * @return content id.
-     */
-    TInt GetIntContentId( const TDesC& aCid ) const;
-
-    /**
-     * Does mime type check.
-     *
-     * @since S60 3.2
-     * @param aContentId is content id.
-     * @param aMimeType is mime type.
-     * @return ETrue if match is successful.
-     */
-    TBool MatchMimeType( MAiPropertyExtension& aPlugin, TInt aContentId, const TDesC8& aMimeType ) const;
-
-
-    /**
-     * Does mime type check.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContentId is id of the content.
-     */
-    void DoMimeTypeCheckL( MAiPropertyExtension& aPlugin, TInt aContentId );
-    
-    };
-
-} // namespace AiNativeUiController
-
-#endif // M_AINATIVERENDERER_H
--- a/idlehomescreen/nativeuicontroller/inc/ainativeui.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2005-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 contains declarations for resources of Native UI Controller.
-*                The file can be included in C++ or resource file.
-*
-*/
-
-
-#ifndef AINATIVEUI_HRH
-#define AINATIVEUI_HRH
-
-// CONSTANTS
-#define KNativeUiCmdBase 1000
-
-#define KNativeUiKeyIdLSK 0x01000100
-
-#define KNativeUiKeyIdRSK 0x01000101
-
-#define KNativeUiKeyIdLockedLSK 0x41000100
-
-#define KNativeUiKeyIdLockedRSK 0x41000101
-
-// DATA TYPES
-
-// Enumerates commands
-enum
-    {
-    ENativeUiCmdDoNothing = 100 + KNativeUiCmdBase, //1100
-    ENativeUiCmdBack,
-
-    ENativeUiSoftkeyLeft,
-    ENativeUiSoftkeyRight,
-
-    ENativeUiSelectionKey,
-    ENativeUiScrollkeyLeft,
-    ENativeUiScrollkeyUp,
-    ENativeUiScrollkeyRight,
-    ENativeUiScrollkeyDown,
-
-    // Name dialing
-    ENativeUiCmdNameDialer
-    };
-
-#endif // AINATIVEUI_HRH
-
-// End of File
--- a/idlehomescreen/nativeuicontroller/inc/ainativeuimodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Common NativeUi definitions and utilities
-*
-*/
-
-
-#ifndef AINATIVEUIMODEL_H
-#define AINATIVEUIMODEL_H
-
-
-#include <e32std.h>
-
-namespace AiNativeUiController
-{
-
-/**
- *  Common NativeUi definitions and utilities
- *
- *  @since S60 3.2
- */
-
-namespace AiNativeUiModel
-{
-	/// Internal identifier for navi pane
-	_LIT8( KNaviPaneId, "navipane" );
-
-    /// Constant for unassigned rendering priority value
-    const TInt KNoPriority = KErrNotFound;
-
-    struct TRenderingPriorityItem;
-    
-/**
- * UI Control rendering priorities object.
- */ 
-class TRenderingPriorities
-	{
-public:
-
-	/**
-	 * Constructor for publishable items that need to be priorized.
-	 * @param aRenderingPriorities Array of priorized items
-	 * @aCount Number of items in the array
-	 */
-	TRenderingPriorities(const TRenderingPriorityItem* aRenderingPriorities, TInt aCount);
-
-	/**
-	 * Returns rendering priority for given ContentId.
-	 */
-	TInt RenderingPriority( TInt aContentId );	
-	
-	/**
-	 * Gets next content id with priority < aNextPriority.
-	 *
-	 * @param[in,out] aContentId	Next content id with priority < aNextPriority.
-	 * @param[in,out] aNextPriority	On entry the priority is used to search the 
-	 *						item content with next lowest priority. On exit
-	 *						the parameter's value is the rendering priority 
-	 *						of aContentId.
-	 * @return  true if next content item was found, false if out of
-	 *			content items with lower priority than aNextPriority.
-	 *			Out parameters are updated only if this function returns true.
-	 */
-	TBool GetNextContentId( TInt& aContentId, TInt& aNextPriority );
-
-private:  // Data
-
-	/**
-	 * An array that holds rendering priority related items.
-	 */
-	const TRenderingPriorityItem* iRenderingPriorities;
-	
-	/**
-	 * Number of items in the array.
-	 */
-	TInt iCount;
-
-	};
-
-/**
- * Returns rendering priorities for ui control.
- *
- * @param aUiElementId  UI control identifier.
- * @return UI control priorities object.
- */
-TRenderingPriorities RenderingPriorities( const TDesC8& aUiElementId );
-    
-} // namespace AiNativeUiModel
-
-} // namespace AiNativeUiController
-
-#endif // AINATIVEUIMODEL_H
--- a/idlehomescreen/nativeuicontroller/inc/ainativeuistrings.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Native Ui's content publisher plug-ins.
-*
-*/
-
-
-#ifndef AINATIVEUISTRINGS_H
-#define AINATIVEUISTRINGS_H
-
-_LIT( KAiLskLaunchByIndex, "Shortcut/LaunchByIndex(0x01000100)");
-_LIT( KAiRskLaunchByIndex, "Shortcut/LaunchByIndex(0x01000101)");
-_LIT( KAiLskLaunchByIndexLocked, "Shortcut/LaunchByIndex(0x41000100)");
-_LIT( KAiRskLaunchByIndexLocked, "Shortcut/LaunchByIndex(0x41000101)");
-
-_LIT( KAiRskLaunchVoiceDial, "Shortcut/LaunchByValue(localapp:0x101F8543)");
-
-_LIT( KAiLocalApp, "localapp:0x" );
-
-_LIT( KAiLocalAppAppShell, "localapp:0x101F4CD2" );
-_LIT( KAiLocalAppContacts, "localapp:0x101F4CCE" );
-
-#endif // AINATIVEUIPLUGINS_H
--- a/idlehomescreen/nativeuicontroller/inc/ainativeuiview.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Native ui controller main view
-*
-*/
-
-
-#ifndef CAINATIVEUIVIEW_H
-#define CAINATIVEUIVIEW_H
-
-#include <coecntrl.h>
-#include <coeview.h>
-namespace AiNativeUiController
-{
-
-/**
-*  It is the main view of the Idle. It consists of a single component
-*  control.
-*
-*  @sinces S60 3.2
-*/
-class CAiNativeUiView
-    : public CCoeControl,
-      public MCoeView
-    {
-
-public:  // Constructors and destructor
-
-        static CAiNativeUiView* NewL(
-                        const TRect& aRect,
-                         CAppUi* aAppUi );
-
-        ~CAiNativeUiView();
-
-// From base class
-
-        void SizeChanged();
-
-        TInt CountComponentControls() const;
-
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        TKeyResponse OfferKeyEventL(
-                const TKeyEvent& aKeyEvent,
-                TEventCode aType );
-
-        void SetControl( CCoeControl* aControl );
-
-protected:
-
-// from base classes
-
-        void Draw( const TRect& aRect ) const;
-
-// from MCoeView
-
-        TVwsViewId ViewId() const;
-
-        void ViewActivatedL( const TVwsViewId& aPrevViewId,
-                             TUid aCustomMessageId,
-                             const TDesC8& aCustomMessage );
-
-        void ViewDeactivated();
-
-private:
-
-
-// Construction
-
-        CAiNativeUiView( CAppUi* aAppUi );
-
-        void ConstructL( const TRect& aRect );
-
-private:    // Data
-
-    /**
-     * Pointer to our app ui.
-     * Not owned.
-     */
-    CAppUi* iAppUi;
-
-    /**
-     * View control. Not own.
-     */
-    CCoeControl* iControl;
-
-    };
-
-} // AiNativeUiController
-
-#endif      // CAINATIVEUIVIEW_H
-
-// End of File
--- a/idlehomescreen/nativeuicontroller/inc/ainavipaneanimator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* 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:  Navi pane animator.
-*
-*/
-
-
-#ifndef C_AINAVIPANEANIMATOR_H
-#define C_AINAVIPANEANIMATOR_H
-
-#include <e32base.h>
-#include "ainativeuimodel.h"
-
-namespace AiNativeUiController
-{
-
-class CAiStatusPanel;
-class MAiNaviPaneAnimatorCallback;
-
-/**
- *  Navi pane animator.
- *
- *  This class handles the navi pane animation when XML Idle gets the focus.
- *  It owns an array that is used for storing all data that is shown in form of
- *  soft indicators. It animates all items in the array in one second intervals. 
- *
- *  @since S60 3.2
- */
-class CAiNaviPaneAnimator : public CBase
-    {
-
-public:
-
-    static CAiNaviPaneAnimator* NewL( CAiStatusPanel& aStatusPane,
-                AiNativeUiModel::TRenderingPriorities& aPriorities, 
-                MAiNaviPaneAnimatorCallback& aCallback );
-
-    virtual ~CAiNaviPaneAnimator();
-    
-    /**
-     * Adds content item to the animator array.
-     * @param aContentId Content item which value needs to be updated.
-                            If item with same aContentId already exists in 
-                            the array, it's value is updated. If not, new
-                            item is created.
-     * @param aText New value for aContentId.
-     */
-    void AddItemL( TInt aContentId, const TDesC16& aText );
-
-    /**
-     * Removes content item with given content id.
-     * @param aContentId Content item which needs to be removed.
-     */
-    void RemoveItem( TInt aContentId );
-     
-    /**
-     * Animates the content of the array.
-     */
-    void AnimateL();
-     
-    /**
-     * Cancels ongoing animation (if there is one).
-     */
-    void CancelAnimationL();
-    
-    /**
-     * Called by CPeriodic when timer expires.
-     */
-    static TInt CAiNaviPaneAnimator::AnimCallback( TAny* aPtr );     
-
-    /**
-     * Draws the text to navi pane.
-     * This method is called by timer. It checks if there still are items left
-     * in the animation array. If yes, it draws the current item's value. 
-     * If not,it cancels the timer.
-     */
-    TBool DrawTextL();
-
-    /**
-     * Sorts iAnimArray in priority order defined by TRenderingPriorities.
-     */
-    void SortAnimArrayL();
-    
-    /**
-     * Is ongoing animation
-     */
-    TBool IsActive();
-
-
-private:
-
-    CAiNaviPaneAnimator( CAiStatusPanel& aStatusPane,
-                AiNativeUiModel::TRenderingPriorities& aPriorities, 
-                MAiNaviPaneAnimatorCallback& aCallback );
-
-    void ConstructL();
-    
-    /**
-     * Helper class for animation array items.
-     * Can be defined as an inner class since not used outside parent class.
-     */
-    class CAiNameValuePair : public CBase
-        {
-        public:
-        
-            static CAiNameValuePair* NewLC( const TInt aName, 
-                                            const TDesC& aValue );
-
-            ~CAiNameValuePair();
-
-            TInt Name() const;
-
-            const TDesC16& Value() const;
-
-            void SetValueL( const TDesC& aValue );
-            
-        private:
-        
-            void ConstructL( const TInt aName, const TDesC& aValue );
-        
-        private:    // data
-        
-            /// Name of the item in name/value pair
-            TInt iName;
-            
-            /// Value or the item in name/value pair
-            HBufC* iValue;
-        };        
-
-
-private: // data
-
-    /**
-     * Used for doing the animation.
-     * Own.
-     */
-    CPeriodic* iPeriodic;
-    
-    /// Status pane handler.
-    CAiStatusPanel& iStatusPane;
-    
-    /// Navi pane rendering priorities
-    AiNativeUiModel::TRenderingPriorities& iPriorities;
-    
-    /// Reference for informing about completed animation.
-    MAiNaviPaneAnimatorCallback& iCallback;
-
-    /// Array for holding data to be animated.
-    RPointerArray<CAiNameValuePair> iAnimArray;
-    
-    /// Currently ongoing iteration of the animator array.
-    TInt iCurrentItem;
-
-    };
-    
-} // namespace AiNativeUiController
-
-#endif // C_AINAVIPANEANIMATOR_H
--- a/idlehomescreen/nativeuicontroller/inc/ainavipaneanimatorcallback.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* 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:  Base class for navi pane animator callback.
-*
-*/
-
-
-#ifndef M_AINAVIPANEANIMATORCALLBACK_H
-#define M_AINAVIPANEANIMATORCALLBACK_H
-
-#include <e32base.h>
-
-namespace AiNativeUiController
-{
-
-
-/**
- *  Base class for navi pane animator callback.
- *
- *  @since S60 3.2
- */
-class MAiNaviPaneAnimatorCallback
-    {
-
-    public:
-
-        /**
-         * Animation completed.
-         * This method is called when navi pane animation is complete. 
-         *
-         * @since S60 3.2
-         */
-        virtual void AnimationCompleteL() = 0;
-        
-        
-    protected:
-
-        /**
-         * Protected destructor prevents deletion through this interface.
-         */
-        MAiNaviPaneAnimatorCallback() {};
-
-    };
-
-} // namespace AiNativeUiController
-
-#endif // M_AINAVIPANEANIMATORCALLBACK_H
--- a/idlehomescreen/nativeuicontroller/inc/ainavipanerenderer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Navipane renderer.
-*
-*/
-
-
-#ifndef C_AINAVIPANERENDERER_H
-#define C_AINAVIPANERENDERER_H
-
-
-#include <e32base.h>
-#include "ainativerenderer.h"
-#include "ainavipaneanimatorcallback.h"
-#include "ainativeuimodel.h"
-
-namespace AiNativeUiController
-{
-
-class CAiStatusPanel;
-class CAiNaviPaneAnimator;
-
-
-/**
- *  Navipane renderer.
- *
- *  Used to render text on navipane.
- *
- *  @since S60 3.2
- */
-// inheritance order must be this, despite codescanner warnings
-class CAiNaviPaneRenderer : public MAiNaviPaneAnimatorCallback,
-                            public CAiNativeRenderer
-                                   
-    {
-public:
-
-    static CAiNaviPaneRenderer* NewLC( CAiStatusPanel& aStatusPanel );
-
-    virtual ~CAiNaviPaneRenderer();
-
-// from base class CAiNativeRenderer
-
-    void DoPublishL( MAiPropertyExtension& aPlugin, 
-                        TInt aContent, 
-                        const TDesC16& aText,
-                        TInt aIndex );
-
-    void DoCleanL( MAiPropertyExtension& aPlugin, TInt aContent );
-
-    void FocusObtainedL();
-
-    void FocusLostL();
-    
-    void KeylockDisabledL();
-    
-    void KeylockEnabledL();
-
-    void TransactionCommittedL();
-
-// from base class MAiNaviPaneAnimatorCallback
-
-    void AnimationCompleteL();
-    
-private:
-
-    CAiNaviPaneRenderer( CAiStatusPanel& aStatusPanel );
-
-    void ConstructL();
-    
-    HBufC* ConstructProfileTextLC();
-
-
-private: // data
-
-     /// Status pane handler.
-    CAiStatusPanel& iStatusPanel;
-
-     /// Navi pane animator. Own.
-    CAiNaviPaneAnimator* iAnimator;
-    
-    /// Navi pane rendering priorities
-    AiNativeUiModel::TRenderingPriorities iRenderingPriorities;
-    
-    /// Profile name or date.
-    HBufC* iProfileText;
-    
-    /// Silent Indicator
-    HBufC* iSilentIndicator;
-    
-    /// Timed profile indicator
-    HBufC* iTimedProfileIndicator;
-    
-    /// Id of current content in this UI control.
-    TInt iCurrentContent;
-    
-    /// Rendering priority of current content in this UI control.
-    TInt iCurrentPriority;
-    
-    /// ETrue if we got the focus.
-    TBool iFocusObtained;
-    
-    /// ETrue is transaction was committed.
-    TBool iCommitted;
-     
-    /// ETrue is new content was published.
-    TBool iIsChanged;
-    
-    /// ETrue is last content was changed.
-    TBool iIsOldTextChanged;
-    
-    /// ETrue is new content was silent.
-    TBool iIsSilent;
-    
-    /// ETtrue if new content was timed profile
-    TBool iIsTimed;
-    
-    };
-
-} // namespace AiNativeUiController
-
-#endif // C_AINAVIPANERENDERER_H
--- a/idlehomescreen/nativeuicontroller/inc/ainotifierrenderer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Soft notifier renderer.
-*
-*/
-
-
-#ifndef C_AISOFTNOTIFERRENDERER_H
-#define C_AISOFTNOTIFERRENDERER_H
-
-
-#include <e32base.h>
-#include "ainativerenderer.h"
-#include <AknSoftNotifier.h>
-
-class CAknSoftNotifier;
-
-namespace AiNativeUiController
-{
-
-/**
- *  Dialog renderer.
- *
- *  Used to show CAknSoftNotifier on screen.
- *
- *  @since S60 3.2
- */
-class CAiNotifierRenderer : public CAiNativeRenderer
-    {
-public:
-
-    static CAiNotifierRenderer* NewLC();
-
-    virtual ~CAiNotifierRenderer();
-
-// from base class CAiNativeRenderer
-
-    void DoPublishL( MAiPropertyExtension& aPlugin, TInt aContent, TInt aResource, TInt aIndex );
-
-    void DoCleanL( MAiPropertyExtension& aPlugin, TInt aContent );
-
-private:
-
-    /**
-     * Add a notification
-     */
-    void AddNotification( TAknSoftNotificationType aType );
-
-    /**
-     * Remove a notification
-     */
-    void RemoveNotification( TAknSoftNotificationType aType );
-
-    void ConstructL();
-
-    static TInt NWLostDelayCallBack(TAny* aParam);
-
-    CAiNotifierRenderer();
-
-private: // data
-
-    /**
-     * Notifier service
-     * Own
-     */
-    CAknSoftNotifier* iSoftNotifier;
-
-    /**
-     * Timer to delay the showing of the notification if needed
-     * Own
-     */
-    CPeriodic *iTimer;
-    };
-
-} // namespace AiNativeUiController
-
-#endif // C_AISOFTNOTIFERRENDERER_H
--- a/idlehomescreen/nativeuicontroller/inc/aisecondarydisplayapi.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies 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 note definitions for Cover UI sync
-*
-*/
-
-
-#ifndef AISECONDARYDISPLAYAPI_HRH
-#define AISECONDARYDISPLAYAPI_HRH
-
-// CONSTANTS
-const TUid KAICategory = { 0x102750F3 };
-
-// DATA TYPES
-
-// Enumerates dialogs
-enum TAiDialogIndex
-    {
-    EAiNoNote = 0,
-    EAiSimRegistrationFailed
-    };
-
-#endif // AISECONDARYDISPLAYAPI_HRH
-
-// End of File
-
--- a/idlehomescreen/nativeuicontroller/inc/aisoftkeyrenderer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Handles publishing to title pane.
-*
-*/
-
-
-#ifndef C_AISOFTKEYRENDERER_H
-#define C_AISOFTKEYRENDERER_H
-
-
-#include <e32base.h>
-#include <coeaui.h> //ECoeStackPriorityDefault
-#include "ainativerenderer.h"
-#include "ainativeuimodel.h"
-
-
-namespace AiNativeUiController
-{
-// CONSTANTS
-// VIEW IDENTIFIERS; VALUES MUST BE UNIQUE!
-
-// PRIORITIES FOR SOFTKEYS
-
-// Offset
-const TInt KNativeUiCbaPriorityOffset = 5;
-
-// Real priority.
-const TInt KNativeUiCbaPriority = ECoeStackPriorityDefault + 
-                                    KNativeUiCbaPriorityOffset;
-
-/**
- *  Soft Key renderer.
- *
- *  This class is used to handle publishing to Soft Key labels.
- *  Published data can be either text or resource.
- *
- *  @since S60 3.2
- */
-class CAiSoftKeyRenderer : public CAiNativeRenderer
-    {
-public:
-
-    static CAiSoftKeyRenderer* NewLC();
-
-    virtual ~CAiSoftKeyRenderer();
-
-// from base class CAiNativeRenderer
-
-    void DoPublishL( MAiPropertyExtension& aPlugin,
-                        TInt aContent,
-                        const TDesC16& aText,
-                        TInt aIndex );
-    void DoPublishL( MAiPropertyExtension& aPlugin,
-                        TInt aContent,
-                        TInt aResource,
-                        TInt aIndex );
-    void DoPublishL( MAiPropertyExtension& aPlugin,
-                        TInt aContent,
-                        const TDesC8& aBuf,
-                        TInt aIndex );
-
-private:
-
-    CAiSoftKeyRenderer();
-
-    void ConstructL();
-
-    void CreateDefaultSoftKeysL();
-
-    void UpdateSoftKeyL( TInt aKey, CGulIcon* aIcon );
-
-private: // data
-
-      // Softkeys.
-      CEikButtonGroupContainer* iCba;
-
-      // Pointer to App UI.
-      CAknAppUi* iAppUi;
-      
-      // Soft Key label. Own.
-      HBufC* iText;
-
-    };
-
-} // namespace AiNativeUiController
-
-#endif // C_AISOFTKEYRENDERER_H
--- a/idlehomescreen/nativeuicontroller/inc/aistatuspanel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Handles of drawing text on navi and title panes.
-*
-*/
-
-
-#ifndef C_AISTATUSPANEL_H
-#define C_AISTATUSPANEL_H
-
-
-#include <e32base.h>
-#include <telephonydomainpstypes.h>
-
-class CEikStatusPane;
-class CAknTitlePane;
-class CAknNavigationControlContainer;
-class CAknNavigationDecorator;
-class MAknNaviDecoratorObserver;
-class MAknTitlePaneObserver;
-
-namespace AiNativeUiController
-{
-
-/**
- *  This class is used to draw text on navi and title pane.
- *  And to draw bitmap on title pane.
- *
- *  @since S60 3.2
- */
-class CAiStatusPanel : public CBase
-    {
-public:
-
-    static CAiStatusPanel* NewL();
-
-    virtual ~CAiStatusPanel();
-
-    /**
-     * Get size for oplogo based on titlepane layout
-     * @param aSize Operator logo size.
-     * @return Error code.
-     */
-     TInt GetTitlePaneSize( TSize& aSize );
-
-    /**
-     * Updates operator indicator of phone application.
-     * @param aDisplayInfo display info of operator indicator.
-     */
-     void UpdatePhoneDisplayInfo( const TTelTitleDisplay& aDisplayInfo );
-
-     /**
-      * Store text for navi pane.
-      * Navi pane is not rendered until RenderNaviPaneL is called.
-      *
-      * @param aText Text for navi pane.
-      */
-     void SetNaviPaneTextL( const TDesC& aText );
-
-     /**
-      * Store text for title pane.
-      * Title pane is not rendered until RenderTitlePaneL is called.
-      *
-      * @param aText Text for title pane.
-      */
-     void SetTitlePaneTextL( const TDesC& aText );
-
-     /**
-      * Store bitmap that is later set to title pane.
-      * Title pane is not rendered until RenderTitlePaneL is called.
-      *
-      * @param aBitmapHandle Handle for bitmap.
-      * @param aMaskHandle Handle for mask.
-      */
-     void SetTitlePaneBitmapL( TInt aBitmapHandle, TInt aMaskHandle );
-
-     /**
-      * Draw stored data to navi pane.
-      */
-     void RenderNaviPaneL();
-
-     /**
-      * Draw stored data to title pane.
-      */
-     void RenderTitlePaneL();
-
-     /**
-      * Stop titlepane text scrolling.
-      */
-     void StopTitlePaneScrollingL();
-
-     /**
-     * Resume titlepane text scrolling
-     */
-     void ScrollTitlePaneTextL();
-
-     /**
-      * Set navi decorator observer
-      * @param aObserver navi decorator observer
-      */
-     void SetNaviDecoratorObserver( MAknNaviDecoratorObserver* aObserver );
-
-     /**
-      * Set title pane observer
-      * @param aObserver title pane observer
-      */
-     void SetTitlePaneObserver( MAknTitlePaneObserver* aObserver );
-
-     /**
-      * Check keylock status
-      */
-     TBool IsKeyLockEnabled();
-
-
-private:
-
-    CAiStatusPanel();
-
-    void ConstructL();
-
-    /**
-     * Triggers text rendering on Navi pane
-     */
-    void RenderTextOnNaviPaneL();
-
-    /**
-     * Triggers text rendering on Title pane
-     */
-    void RenderTextOnTitlePaneL();
-
-    /**
-     * Triggers image rendering on Title pane
-     */
-    void RenderBitmapOnTitlePaneL();
-
-
-
-private: // data
-
-    /**
-     * Pointer to status pane.
-     * Not own.
-     */
-    CEikStatusPane* iStatusPane;
-
-    /**
-     * Pointer to title pane.
-     * Not own.
-     */
-    CAknTitlePane* iTitlePane;
-
-    /**
-     * Pointer to navi pane.
-     * Not own.
-     */
-    CAknNavigationControlContainer* iNaviPane;
-
-    /**
-     * Pointer to navi decorator.
-     * Own.
-     */
-    CAknNavigationDecorator* iNaviDecorator;
-
-    /**
-     * Telephony display information.
-     * Not own.
-     */
-    TTelTitleDisplay iDisplayInfo;
-
-    /**
-     * Text that is written to navi pane.
-     * Own.
-     */
-     HBufC* iNaviPaneText;
-
-    /**
-     * Text that is written to title pane.
-     * Own if text is not rendered. See iTitlePaneTextTransferred member.
-     */
-     HBufC* iTitlePaneText;
-
-    /**
-     * Bitmap handle for setting image to title pane.
-     */
-     TInt iBitmapHandle;
-
-    /**
-     * Mask handle for setting image to title pane.
-     */
-     TInt iMaskHandle;
-
-    /**
-     *
-     */
-     MAknNaviDecoratorObserver* iNaviDecoratorObserver;
-
-    };
-
-} // namespace AiNativeUiController
-
-#endif // C_AISTATUSPANEL_H
--- a/idlehomescreen/nativeuicontroller/inc/aistatuspanetouchui.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Status pane touch ui
-*
-*/
-
-
-#ifndef C_AISTATUSPANETOUCHUI_H
-#define C_AISTATUSPANETOUCHUI_H
-
-#include <e32base.h>
-#include <badesca.h>
-#include <AknNaviDecoratorObserver.h>
-#include <StringLoader.h>
-#include <eikmobs.h>
-
-#include "ainativerenderer.h"
-
-class MAiFwEventHandler;
-
-class CAknStylusPopUpMenu;
-
-namespace AiNativeUiController
-{
-
-// Stylus activated popup command ids
-enum TLinkCommandID
-	{
-    EAIGotoCalendarCmdLink = 1,
-    EAIShowAllProfileCmdLink,
-    EAIProfileCmdLink
-    };
-
-
-class CAiStatusPanel;
-
-class CAiStatusPaneTouchUi : public CAiNativeRenderer,
-							 public MAknNaviDecoratorObserver,
-					  	 	 public MEikMenuObserver
-	{
-
-public:
-
-// Construction and destructor
-
-    static CAiStatusPaneTouchUi* NewL( CAiStatusPanel& aStatusPanel,
-    									MAiFwEventHandler& aEventHandler);
-
-    static CAiStatusPaneTouchUi* NewLC( CAiStatusPanel& aStatusPanel,
-    									MAiFwEventHandler& aEventHandler );
-
-    ~CAiStatusPaneTouchUi();
-
-// from MAknTitlePaneObserver
-
-    void HandleTitlePaneEventL( TInt aEventID );
-
-// from MAknNaviDecoratorObserver
-
-    void HandleNaviDecoratorEventL( TInt aEventID );
-
-// from base class CAiNativeRenderer
-
-    void DoPublishL( MAiPropertyExtension& aPlugin,
-                        TInt aContent,
-                        const TDesC16& aText,
-                        TInt aIndex );
-
-    void LoadUIDefinitionL();
-
-// from MEikCommandObserver
-
-    void ProcessCommandL( TInt aCommandId );
-
-    void SetEmphasis( CCoeControl* aMenuControl, TBool aEmphasis );
-
-private:
-    // Construction
-
-	CAiStatusPaneTouchUi( CAiStatusPanel& aStatusPanel, MAiFwEventHandler& aEventHandler );
-	void ConstructL();
-
-private: //data
-
-    /// Status pane handler.
-    CAiStatusPanel& iStatusPane;
-
-    /// Profile name pointer array
-    RPointerArray<HBufC> iProfileNamePointerArray;
-
-    /// AIFW event handler
-    MAiFwEventHandler& iEventHandler;
-
-    ///Event buffer.
-    HBufC* iEventBuffer;
-
-    ///Stulys popup menu
-    CAknStylusPopUpMenu* iMenu;
-    };
-
-} // namespace AiNativeUiController
-
-#endif //C_AISTATUSPANETOUCHUI_H
\ No newline at end of file
--- a/idlehomescreen/nativeuicontroller/inc/aistyluspopupmenu.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface for controlling stylus specific popup menu.
-*
-*/
-
-
-#ifndef CAKNSTYLUSPOPUPMENU_H
-#define CAKNSTYLUSPOPUPMENU_H
-
-
-#include <e32base.h>
-#include <coecobs.h>
-
-class CAknPreviewPopUpController;
-class CAiStylusPopUpMenuContent;
-class MEikMenuObserver;
-
-/**
- *  Stylus specific popup menu
- *
- *  A floating popup menu which is meant for stylus usage only.
- *  The menu appears near to the tapping position. When an item is 
- *  tapped the menu calls its observer's (iMenuObserver) HandleCommandL.
- *  Typically the observer is application's AppUi. It is then the
- *  observer's responsibility to handle the command appropriately.
- *
- *  @lib eikcoctl.lib
- *  @since S60 v4.0
- */
-NONSHARABLE_CLASS( CAiStylusPopUpMenu ) : public CBase, 
-                                           public MCoeControlObserver
-    {
-public:
-
-    /**
-     * Two-phased constructor
-     *
-     * @param aObserver Menu observer (not owned) that handles 
-     *                  stylus popup events.
-     * @param aPoint The position where stylus was tapped
-     * @param aPopup Preview popup from which stylus popup
-     *               menu was launched, can be NULL.
-     */
-    static CAiStylusPopUpMenu* NewL( MEikMenuObserver* aObserver, 
-                                         const TPoint& aPoint,
-                                         CAknPreviewPopUpController* aPopup );
-    
-    /**
-     * Two-phased constructor
-     *
-     * @param aObserver Menu observer (not owned) that handles 
-     *                  stylus popup events.
-     * @param aPoint The position where stylus was tapped
-     */
-    static CAiStylusPopUpMenu* NewL( MEikMenuObserver* aObserver, 
-                                         const TPoint& aPoint );
-
-    /**
-     * Two-phased constructor
-     *
-     * @param aObserver Menu observer (not owned) that handles 
-     *                  stylus popup events.
-     * @param aPoint The position where stylus was tapped
-     * @param aPopup Preview popup from which stylus popup
-     *               menu was launched, can be NULL.
-     */
-    static CAiStylusPopUpMenu* NewLC( MEikMenuObserver* aObserver, 
-                                         const TPoint& aPoint,
-                                         CAknPreviewPopUpController* aPopup );
-    
-    ~CAiStylusPopUpMenu();
-    
-    /**
-     * Adds a menu item. If the menu contains maximum amount of
-     * items, the function will do nothing. Inserted item will be
-     * placed last.
-     *
-     * @param aItem The menu item to be added.
-     * @param aCommandId Item's command id.
-     */
-    void AddMenuItemL( const TDesC& aItem, const TInt aCommandId );
-    
-    /**
-     * Removes a menu item.
-     *
-     * @param aCommandId Command id of the item to be removed.
-     */
-    void RemoveMenuItem( const TInt aCommandId );
-
-    /**
-     * Hides / shows a menu item.
-     *
-     * @param aCommandId Command id of the item to be hidden / shown.
-     * @param aDimmed ETrue to hide item and EFalse to show item
-     */
-    void SetItemDimmed( const TInt aCommandId, const TBool aDimmed );
-
-    /**
-     * Shows the stylus popup menu. If it's already visible,
-     * nothing happens.
-     */
-    void ShowMenu();
-        
-    /**
-     * Sets the position of the stylus popup menu. 
-     * Position will be adjusted if the menu doesn't fit on the screen
-     * properly.
-     *
-     * @param aPoint Position of the stylus popup menu's top-left corner.
-     */
-    void SetPosition( const TPoint& aPoint );    
-    
-// from base class CCoeControl
-
-    /**
-     * Constructs the menu from resource.
-     *
-     * @param aReader Resource reader.
-     */
-    void ConstructFromResourceL( TResourceReader& aReader );
-
-// from base class MCoeControlObserver
-    
-    /**
-     * Method to handle events that occur when user selects a menu item.
-     *
-     * @param aControl The control that sent the event.
-	 * @param aEventType The event type.
-     */
-    void HandleControlEventL( CCoeControl* aControl,
-                                       TCoeEvent aEventType );
-
-private:
-
-    /**
-     * Default constructor
-     *
-     * @param aObserver Menu observer (not owned) that handles 
-     *                  stylus popup events.
-     * @param aPoint The position where stylus was tapped
-     * @param aPopup Preview popup from which stylus popup
-     *               menu was launched, can be NULL.
-     */
-    CAiStylusPopUpMenu( MEikMenuObserver* aObserver, const TPoint& aPoint,
-                         CAknPreviewPopUpController* aPopup );
-
-    void ConstructL();
-
-private: // data
-
-    /**
-     * Screen relative position where stylus was tapped.
-     */
-    TPoint iPosition;
-    
-    /**
-     * Controller for the actual popup.
-     * Own.
-     */
-    CAknPreviewPopUpController* iController;
-    
-    /**
-     * Popup's content.
-     * Own.
-     */
-    CAiStylusPopUpMenuContent* iContent;
-    
-    /**
-     * Observer which will be used to forward selected menu command id.
-     * Not own.
-     */
-    MEikMenuObserver* iMenuObserver;
-    
-    /**
-     * Preview popup which launches stylus popup menu.
-     * If NULL, menu wasn't launched from a preview popup.
-     * If not NULL, stylus popup menu will close also the preview popup
-     * when an option is selected in the stylus popup menu.
-     * Not own.
-     */
-    CAknPreviewPopUpController* iPreviewPopup;
-    
-    };
-
-
-#endif // CAKNSTYLUSPOPUPMENU_H
--- a/idlehomescreen/nativeuicontroller/inc/aistyluspopupmenucontent.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Content that is shown inside a stylus popup menu.
-*
-*/
-
-
-#ifndef CAKNSTYLUSPOPUPMENUCONTENT_H
-#define CAKNSTYLUSPOPUPMENUCONTENT_H
-
-#include <coecntrl.h>
-
-class CAknButton;
-
-const TInt KAiStylusMenuMaxItems = 10;
-
-/**
- *  Class providing content for the stylus popup menu.
- *
- *  @lib eikcoctl.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CAiStylusPopUpMenuContent ) : public CCoeControl
-    {
-public:
-
-    static CAiStylusPopUpMenuContent* NewL();
-
-    static CAiStylusPopUpMenuContent* NewLC();
-
-    ~CAiStylusPopUpMenuContent();
-
-    /**
-     * Adds a new menu item.
-     *
-     * @param aItem Menu item to be added.
-     * @param aCommandId Command ID of the menu item.
-     * @param aObserver Item's observer.
-     */
-    void AddMenuItemL( const TDesC& aItem, const TInt aCommandId,
-                       MCoeControlObserver& aObserver );
-
-    /**
-     * Removes a menu item.
-     *
-     * @param aIndex Index of the menu item.
-     */
-    void RemoveMenuItem( const TInt aIndex );
-    
-    /**
-     * Hides / shows a menu item.
-     *
-     * @param aIndex Index of the menu item.
-     * @param aDimmed ETrue to hide and EFalse to show
-     */
-    void SetItemDimmed( const TInt aIndex, const TBool aDimmed );
-        
-    /**
-     * Method to get a command id of the specified menu item.
-     *
-     * @param aControl The menu item.
-     * @return Command id.
-     */
-    TInt CommandId( CCoeControl* aControl ) const;
-
-// from base class CCoeControl
-
-    /**
-     * Returns the minimum size of the control.
-     *
-     * @return Minimum size.
-     */
-     TSize MinimumSize();
-    
-    /**
-     * Returns the number of component controls.
-     *
-     * @return Number of component controls.
-     */
-     TInt CountComponentControls() const;
-    
-    /**
-     * Returns the specified component control.
-     *
-     * @return The specified control.
-     */
-     CCoeControl* ComponentControl( TInt aIndex ) const;
-     
-    /**
-     * Handles changes to the control's resources.
-     *
-     * @aParam aType Type of resource change.
-     */     
-     void HandleResourceChange( TInt aType );
-
-private:
-
-    CAiStylusPopUpMenuContent();
-
-    void ConstructL();
-    
-// from base class CCoeControl
-    
-    void SizeChanged();
-
-private: // data
-
-    /**
-     * Array which holds pointers to menu items. Menu item's command id
-     * is stored in iCommands array with the same index value .
-     */
-    RPointerArray<CAknButton> iItems;
-    
-    /**
-     * Array which holds menu items' command IDs.
-     */
-    RArray<TInt> iCommands;
-    
-    /**
-     * Array which holds menu items' visibility
-     */ 
-    TInt iVisibility[KAiStylusMenuMaxItems];
-    
-    };
-
-#endif // CAKNSTYLUSPOPUPMENUCONTENT_H
--- a/idlehomescreen/nativeuicontroller/inc/aititlepanerenderer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Handles publishing to title pane.
-*
-*/
-
-
-#ifndef C_AITITLEPANERENDERER_H
-#define C_AITITLEPANERENDERER_H
-
-
-#include <e32base.h>
-#include "ainativerenderer.h"
-#include "ainativeuimodel.h"
-
-namespace AiUtility
-	{
-	class CContentPriorityMap;
-	}
-
-namespace AiNativeUiController
-{
-
-class CAiStatusPanel;
-
-
-/**
- *  Title pane renderer.
- *
- *  This class is used to handle publishing to title pane.
- *  Published data can be either logo or text.
- *
- *  @since S60 3.2
- */
-class CAiTitlePaneRenderer : public CAiNativeRenderer
-    {
-public:
-
-    static CAiTitlePaneRenderer* NewLC( CAiStatusPanel& aStatusPanel );
-
-    virtual ~CAiTitlePaneRenderer();
-
-// from base class CAiNativeRenderer
-
-    void DoPublishL( MAiPropertyExtension& aPlugin, 
-                        TInt aContent, 
-                        const TDesC16& aText,
-                        TInt aIndex );
-
-    void DoPublishL( MAiPropertyExtension& aPlugin, 
-                        TInt aContent, 
-                        const TDesC8& aBuf,
-                        TInt aIndex );
-
-    void DoPublishL( MAiPropertyExtension& aPlugin, 
-                        TInt aContent, 
-                        TInt aResource,
-                        TInt aIndex );
-
-	void DoCleanL( MAiPropertyExtension& aPlugin, TInt aContent );
-
-    void TransactionCommittedL();
-
-    void FocusObtainedL();
-
-    void FocusLostL();
-    
-    void KeylockEnabledL();
-    
-private:
-
-    CAiTitlePaneRenderer( CAiStatusPanel& aStatusPanel );
-
-    void ConstructL();
-
-
-
-private: // data
-
-     /// Status pane handler.
-    CAiStatusPanel& iStatusPanel;
-    };
-
-} // namespace AiNativeUiController
-
-#endif // C_AITITLEPANERENDERER_H
--- a/idlehomescreen/nativeuicontroller/inc/aitoolbarbutton.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Touch Toolbar button
-*
-*/
-
-
-#ifndef C_AITOOLBARBUTTON_H
-#define C_AITOOLBARBUTTON_H
-
-#include <e32std.h>
-class CGulIcon;
-class CAknButton;
-
-namespace AiNativeUiController
-{
-
-class CAiToolbarButton : public CBase
-    {
-    public: // constructors
-       
-        virtual ~CAiToolbarButton();
-        
-        static CAiToolbarButton* NewL(); 
-        
-        /**
-         * Returns a button constructed using
-         * the information available to button
-         * Ownership transferred
-         */
-        CAknButton* ButtonL();
-        
-        /**
-         * Returns the shortcut id           
-         */
-        TInt ShortcutId();
-        
-        /**
-         * Set the shortcut id 
-         */
-        void SetShortcutId( TInt aId );
-
-
-        /**
-         * Return the tooltip
-         */                     
-        TDesC& Tooltip();
-             
-        CGulIcon* Icon( TBool aTransferOwnership = EFalse );
-        
-        /**
-         * Sets tooltip. Creates own copy of the descriptor
-         */
-        void SetTooltipL(const TDesC& aTooltip);
-        
-        /**
-         * Sets icon. Ownership moved if aTransferOwnership is set
-         *
-         * @param aIcon The actual icon
-         * @param aTransferOwnership ETrue in case we take ownership, EFalse
-         *   if caller wants to keep the ownership
-         */
-        void SetIcon( CGulIcon *aIcon, TBool aTransferOwnership = EFalse );
-        
-        /**
-         * Sets the icon ownership to us or to the caller
-         * 
-         * @param aValue ETrue if ownership moved to us. 
-         *               EFalse if caller wishes to keep it
-         */
-        void SetIconExternallyOwned( TBool aValue );
-
-        
-    private:
-    
-            
-        CAiToolbarButton();
-        
-        void ConstructL();
-        
-    private:
-        //Data
-        
-        /**
-         * Own shortcut id
-         */
-        TInt iShortcutId;
-           /** 
-         * Is icon externally ow internally owned
-         */
-        TBool iIconNotOwned;
-        
-        /**
-         * The icon. Depending on the flag above, owned or not
-         */
-        CGulIcon *iIcon;
-        
-        /**
-         * Owned
-         */
-        HBufC *iTooltip;     
-
- 
-
-        
-    };
-    
-}  // namespace AiNativeUiController
-
-#endif //C_AITOOLBARBUTTON_H
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/inc/aitoolbarrenderer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Touch Toolbar
-*
-*/
-
-
-#ifndef C_AITOOLBARRENDERER_H
-#define C_AITOOLBARRENDERER_H
-
-#include <e32std.h>
-#include <akntoolbarobserver.h>
-#include "ainativerenderer.h"
-#include "ainativeuimodel.h"
-#include "aitoolbarbutton.h"
-
-class MAiFwEventHandler;
-class CAknToolbar;
-
-namespace AiNativeUiController
-{
-
-    
-/**
- *  Toolbar class of Native UI Controller application
- *
- *  @lib AiNatiUi
- */
-// inheritance order must be this, despite codescanner warnings
-class CAiToolbarRenderer : public MAknToolbarObserver,
-                           public CAiNativeRenderer
-    {
-
-    
-public:   // Constructors and destructor
-
-    static CAiToolbarRenderer* NewLC( MAiFwEventHandler& aAiFwEventHandler, CAknToolbar& aToolbar);
-
-    static CAiToolbarRenderer* NewL( MAiFwEventHandler& aAiFwEventHandler, CAknToolbar& aToolbar );
-    
-    ~CAiToolbarRenderer();
-    
-public:   // from CAiNativeRenderer    
-    
-    void DoPublishL( MAiPropertyExtension& aPlugin,
-					 TInt aContent,
-					 const TDesC16& aText,
-					 TInt aIndex );
-    
-    void DoPublishL( MAiPropertyExtension& aPlugin,
-                     TInt aContent,
-                     const TDesC8& aBuf,
-                     TInt aIndex );
-                     
-    void TransactionCommittedL();
-
-                     
-private:  // from MAknToolbarObserver 
-     
-  	void DynInitToolbarL( TInt aResourceId, CAknToolbar* aToolbar );
-  	
- 	void OfferToolbarEventL( TInt aCommand );
-
-private:
-
-    CAiToolbarRenderer( MAiFwEventHandler& aAiFwEventHandler, CAknToolbar& aToolbar );
-
-    void ConstructL();
-    
-    
-    /**
-     * Get a button with id. If no button exists at the given
-     * id a new button will be created and returned. 
-     *     
-     * Ownership NOT transferred.     
-     */
-    CAiToolbarButton* ButtonL( TInt aShortcutId );
-
-    
-private:     // Data
-
-    /** 
-     * The actual toolbar    
-     */
-	CAknToolbar& iToolbar;
-	
-	/**
-	 * Handler to send the toolbar events
-	 */
- 	MAiFwEventHandler& iAiFwEventHandler;
-    
-    /**
-     * Array of buttons. Buttons are owned.
-     */
-    RPointerArray<CAiToolbarButton> iButtons;
-    
-    /**
-     * Have we already committed
-     */
-    TBool iCommitted;
-
-    /**
-     * Is the toolbar enabled in the cenrep
-     */
-    TBool iToolbarEnabled;
-    };
-    
-}  // namespace AiNativeUiController
-    
-#endif  // C_AITOOLBARRENDERER_H
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/inc/application.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#ifndef C_APPLICATION_H
-#define C_APPLICATION_H
-
-#include <aknapp.h> 
-
-namespace AiNativeUiController
-{
-    
-class CNativeUiController;
-
-/**
- * Application class of Native UI Controller application 
- *
- *  @lib ainatiui
- *  @since S60 3.2
- */
-class CApplication : public CAknApplication
-    {
-public:   
-    
-// Constructors and destructor
-
-    static CApplication* New(CNativeUiController* aUiCtl);
-
-    virtual ~CApplication();
-    
-
-// Functions from base classes
-
-    CApaDocument* CreateDocumentL();
-
-    virtual TUid AppDllUid() const;
-
-    virtual TFileName ResourceFileName() const;
-
-private:
-
-    CApplication(CNativeUiController* aUiCtl);
-
-private:     // Data
-
-    /**
-     * UI Controller. Not own
-     */
-    CNativeUiController*   iUiCtl;
-
-    };
-
-} // namespace AiNativeUiController
-
-#endif  // C_APPLICATION_H
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/inc/appui.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#ifndef C_APPUI_H
-#define C_APPUI_H
-
-#include <aknappui.h> 
-#include <cenrepnotifyhandler.h>
-
-class CAiUiIdleIntegration;
-class MAiUiFrameworkObserver;
-class MAiFwEventHandler;
-class CExtrStandbyContainerIF;
-class CCenRepNotifyHandler;
-class CRepository;
-class RConeResourceLoader;
-class MAiPSPropertyObserver;
-
-namespace AiNativeUiController
-{
-        
-class CNativeUiController;
-class CAiNativeUiView;
-
-/**
- *  @ingroup group_nativeuicontroller
- * 
- *  AppUI class of Native UI Controller application
- *
- *  @lib ainatiui
- *  @since S60 3.2
- */
-class CAppUi : public CAknAppUi,
-               public MCenRepNotifyHandlerCallback
-    {
-public:   // Constructors and destructor
-
-    static CAppUi* NewL(CNativeUiController* aUiCtl);
-
-    ~CAppUi();
-    
-// new functions
-
-    CCoeEnv* CoeEnv() { return iCoeEnv; }
-            
-    void StartL();
-
-// from CCoeAppUi
-
-    TKeyResponse HandleKeyEventL( 
-            const TKeyEvent& aKeyEvent, 
-            TEventCode aType );
-
-// From MCenRepNotifyHandlerCallback
-
-    void HandleNotifyInt( TUint32 aId, TInt aNewValue );
-    
-    void ExtHSThemeChanged();
-
-private:
-    
-// Functions from CAknAppUi
-
-    void HandleForegroundEventL(TBool aForeground);
-    
-    void HandleCommandL(TInt aCommand);
-    
-    void HandleResourceChangeL(TInt aType);
-
-    void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination);
-    
-    void HandleScreenDeviceChangedL();
-
-    void PrepareToExit();
-
-    void SkipVoiceDial();
-    
-    static TInt TimerDone(TAny* aSelf);
-
-    /**
-     * Handles powerkey events.
-     *
-     * @since S60 v3.2
-     */
-    static TInt HandlePowerkeyEvent( TAny* aPtr );
-
-// Construction
-
-    CAppUi(CNativeUiController* aUiCtl);
-    
-    void ConstructL();
-    
-    void HandlePointerEvent( TPointerEvent &aEvent );    
-    
-private:     // Data
-
-
-    /**
-     * Framework event handler.
-     */
-    MAiFwEventHandler* iFwEventHandler;
-    
-    /**
-     * UI Controller implementation. Not own.
-     */
-    CNativeUiController* iUiCtl;
-
-    /**
-     * Ui framework event observer. Not own.
-     */
-    MAiUiFrameworkObserver* iUiFwObserver;
-    
-    /**
-     * Idle Integration helper object. Own.
-     */
-    CAiUiIdleIntegration* iIdleIntegration;
-    
-    /**
-     * Main view.
-     * Own.
-     */
-    CAiNativeUiView* iAppView;
-
-    /**
-     * Homescreen IF. Own.
-     */    
-    CExtrStandbyContainerIF* iStanbyContainerIF;
-
-    /**
-     * Notify handler for cenrep.
-     * Own.
-     */
-    CCenRepNotifyHandler* iNotifyHandler;		
-    
-    /**
-     * Repository for notify handler.
-     * Own.
-     */
-    CRepository* iAIRepository;
-    
-    /**
-     * Last set status pane layout.
-     */
-    TInt iCurrentStatusPaneLayout;
-    
-    /**
-     * Timer to handle long key press.
-     */
-    CPeriodic* iTimer;
-    
-    /**
-     * Voice dial key down indicator.
-     */
-    TBool iSINDKeyDown;
-
-    /**
-     * Resource file loader for ainativeui resource.
-     */
-    RConeResourceLoader*                iResourceLoader;
-
-    /**
-     * Flag to indicate that device has no power key.
-     */
-    TBool iFeatureNoPowerKey;
-    
-    /**
-     * Power key PS observer. Only used if no power key exists.
-     * Own.
-     */
-    MAiPSPropertyObserver* iPowerkeyStatusObserver;
-    
-    };
-    
-}  // namespace AiNativeUiController
-    
-#endif  // C_APPUI_H
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/inc/document.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#ifndef C_DOCUMENT_H
-#define C_DOCUMENT_H
-
-#include <AknDoc.h> 
-#include <aknapp.h>
-#include <aknappui.h>
-
-namespace AiNativeUiController
-{
-    
-class CNativeUiController;
-
-/**
- * Document class of Native UI Controller application. 
- *
- * @lib ainatiui.lib
- * @since S60 3.2
- */
-class CDocument : public CAknDocument
-    {
-public:
-    
-// Constructors and destructor
-
-    static CDocument* NewL(CAknApplication &aApp, CNativeUiController* aUiCtl);
-
-    virtual ~CDocument();
-
-// Functions from CAknDocument
-
-    CAknAppUi* CreateAppUiL();
-
-private:
-
-    CDocument(CEikApplication &aApp, CNativeUiController* aUiCtl);
-
-private:     // Data
-
-    CNativeUiController* iUiCtl;
-
-    };
-
-} // namespace AiNativeUiController
-    
-#endif  // C_DOCUMENT_H
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/inc/nativeuicontroller.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Native UI controller.
-*
-*/
-
-
-#ifndef C_NATIVEUICONTROLLER_H
-#define C_NATIVEUICONTROLLER_H
-
-
-#include <aisystemuids.hrh>
-#include "aiuicontroller.h"
-#include "aiuiframeworkobserver.h"
-#include "aicontentobserver.h"
-
-#include <aiutility.h>
-
-class MAiPropertyExtension;
-class MAiPSPropertyObserver;
-
-namespace AiNativeUiController
-{
-
-class CAiNativeRenderer;
-class CAiStatusPanel;
-class CAppUi;
-class CAiToolbarRenderer;
-
-const TInt KImplementationUidNativeUiController = AI_UID_ECOM_IMPLEMENTATION_UICONTROLLER_NATIVE;
-
-const TUid KUidNativeUiController = { KImplementationUidNativeUiController };
-
-/**
-* Native UI controller.
-* This class works as a secondary UI controller. It implements 
-* the MAiContentObserver interface thus handling and forwarding the data coming
-* from the publishers.
-*
-* @since Series 60 3.2
-*/
-class CNativeUiController : public CAiUiController, 
-                            public MAiSecondaryUiController, 
-                            public MAiMainUiController, 
-                            public MAiUiFrameworkObserver,
-                            public MAiContentObserver
-	{
-public:
-
-    static CNativeUiController* NewL();
-
-	virtual ~CNativeUiController();
-
-// from base class CAiUiController
-
-    void PrepareToExit();
-
-    void LoadUIDefinitionL();
-
-    void GetPluginsL(RAiPublisherInfoArray& aPlugins);
-
-    void GetSettingsL(const TAiPublisherInfo& aPubInfo, 
-                        RAiSettingsItemArray& aSettings);
-
-    void ActivateUI();
-
-    MAiContentObserver& GetContentObserver();
-
-    void SetEventHandler(MAiFwEventHandler& aEventHandler);
-
-    MAiFwEventHandler* FwEventHandler();
-
-    void RemovePluginFromUI( MAiPropertyExtension& aPlugin );
-
-    MAiMainUiController* MainInterface();
-
-    MAiSecondaryUiController* SecondaryInterface();
-    
-    void HandleLoadedPlugins(const RAiPublisherInfoArray& /*aRequiredPlugins*/ ) {};
-    
-// from base class MAiMainUiController
-
-    void RunApplicationL();
-
-    CCoeEnv& CoeEnv();
-
-    void SetUiFrameworkObserver( MAiUiFrameworkObserver& aObserver );
-    
-    TBool IsMenuOpen();
-
-// from base class CAiSecordaryUiController
-
-    void SetCoeEnv( CCoeEnv& aCoeEnv );
-
-    MAiUiFrameworkObserver* UiFrameworkObserver(); 
-
-// from base class MAiUiFrameworkObserver
-
-    void HandleResourceChange( TInt aType );
-
-    void HandleForegroundEvent( TBool aForeground );
-
-// from base class MAiContentObserver
-       
-    TInt StartTransaction(TInt aTxId);
-
-    TInt Commit(TInt aTxId);
-
-    TInt CancelTransaction(TInt aTxId);
-
-    TBool CanPublish(MAiPropertyExtension& aPlugin, TInt aContent, TInt aIndex);
-
-    TInt Publish(MAiPropertyExtension& aPlugin, TInt aContent, TInt aResource, TInt aIndex );
-
-    TInt Publish(MAiPropertyExtension& aPlugin, TInt aContent, const TDesC16& aText, TInt aIndex );
-
-    TInt Publish(MAiPropertyExtension& aPlugin, TInt aContent, const TDesC8& aBuf, TInt aIndex );
-
-    TInt Publish(MAiPropertyExtension& aPlugin, TInt aContent, RFile& aFile, TInt aIndex );
-
-    TInt Clean(MAiPropertyExtension& aPlugin, TInt aContent, TInt aIndex );
-
-    TAny* Extension(TUid aUid);
-
-    TBool RequiresSubscription( const TAiPublisherInfo& aPublisherInfo ) const;
-    
-    TInt SetProperty( MAiPropertyExtension& aPlugin,
-            const TDesC8& aElementId,
-            const TDesC8& aPropertyName,
-            const TDesC8& aPropertyValue );
-    
-    TInt SetProperty( MAiPropertyExtension& aPlugin,
-            const TDesC8& aElementId,
-            const TDesC8& aPropertyName,
-            const TDesC8& aPropertyValue,  
-            MAiContentObserver::TValueType aValueType);
-
-// new methods
-
-    /**
-     * Set app ui instance to this class.
-     *
-     * @since S60 3.2
-     * @param aAppUi is pointer to app ui.
-     */
-    void SetAppUi( CAppUi* aAppUi )
-        {
-        iAppUi = aAppUi;
-        }
-        
-    void VariateToMainUiController();
-
-    void Exit();
-
-private:
-
-    CNativeUiController();
-
-    static CApaApplication* NewApplication();
-
-    /**
-     * Add renderer.
-     *
-     * Ownership transferred.
-     *
-     * @since S60 3.2
-     * @param aRenderer is pointer to renderer.
-     */
-    void AddRendererL( CAiNativeRenderer* aRenderer );
-
-    /**
-     * Remove a renderer. Renderer is only
-     * removed from the array and is deleted ONLY
-     * when aDelete = ETrue
-     *
-     * @since S60 5.0
-     * @param aRenderer is pointer to the renderer to be removed
-     * @param aDelete is ETrue when the renderer will be deleted
-     * @return ETrue upon successful removing.
-     */
-    TBool RemoveRenderer( CAiNativeRenderer *aRenderer, TBool aDelete = EFalse );
-
-    /**
-     * Recreates the toolbar renderer
-     */
-    TBool RecreateToolbarRendererL();
-
-    /**
-     * Deletes and removes the toolbar renderer from
-     * renderer array.
-     */
-    void DeleteToolbarRenderer();
-    
-    /**
-     * Template function for publish.
-     *
-     * @since S60 3.2
-     * @param aPlugin is publishing plugin.
-     * @param aContent is content id
-     * @param aData is published data
-     * @param aIndex is index in the control, not used by Native UI Controller.
-     * @return KErrNone if publishing was successful.
-     */
-	template<class T>
-    TInt DoPublish( MAiPropertyExtension& aPlugin, TInt aContent, T& aData, TInt aIndex );
-    
-    /**
-     * Handles idle state changes.
-     *
-     * @since S60 v3.2
-     */
-    static TInt HandleIdleStateEvent( TAny* aPtr );
-    
-    /**
-     * Handles keylock state changes.
-     *
-     * @since S60 v3.2
-     */
-    static TInt HandleKeylockStateEvent( TAny* aPtr );
-
-    static TInt HandlePluginConfChange( TAny* aPtr );
-    
-    static TInt ExitTimerCallBack( TAny* aSelf );
-    void GetSettingsFromCRL( const TAiPublisherInfo& aPubInfo,
-                                                  RAiSettingsItemArray &aPluginSettings );
-
-private:     // Data
-
-    /**
-     * Array of renderers.
-     * Own.
-     */
-    RPointerArray<CAiNativeRenderer> iRenderers;
-
-    /**
-     * Offset of resource file.
-     */
-    TInt iResourceOffset;
-
-    /**
-     * Status panel
-     * Own.
-     */
-    CAiStatusPanel* iStatusPanel;
-    
-    /**
-     * Reference to available CONE environment object. Not own.
-     */
-    CCoeEnv* iCoeEnv;
-    
-    /**
-     * Idle state PS observer.
-     * Own.
-     */
-    MAiPSPropertyObserver* iIdleStatusObserver;
-    
-    /**
-     * Keylock state PS observer.
-     * Own.
-     */
-    MAiPSPropertyObserver* iKeylockStatusObserver;
-    
-
-    /**
-     * ExtHS plugin configuration PS observer.
-     * Own.
-     */
-    MAiPSPropertyObserver* iExtHsPluginConfChange;
-
-    /**
-     * Native UI controller plug-ins
-     */
-    RAiPublisherInfoArray iPlugins;
-    
-    /**
-      * Plug-in event handler.
-      * Doesn't own.
-      */
-    MAiFwEventHandler* iFwEventHandler;
-    
-    /**
-     * Pointer to this, when role is main ui controller.
-     */
-    MAiMainUiController* iMain;
-
-    /**
-     * Ui framework observer. Not own.
-     */
-    MAiUiFrameworkObserver* iUiFrameworkObserver;
-    
-    /**
-     * Pointer to app ui.
-     * Not own.
-     */
-    CAppUi* iAppUi;
-    
-    /**
-     * Indicates if Native UI Controller takes responsibilities of 
-     * Main UI Controller.
-     */
-    TBool iRunningAsMain;
-    
-    /**
-    * Timer to call AppUi's exit
-    **/
-    CPeriodic *iExitTimer;
-    
-    /**
-    * To prevent double loading of the UI
-    **/
-    TBool iUiLoaded;
-    
-    /**
-     * Pointer to our toolbar renderer. Do not delete
-     * renderer through this pointer
-     */
-    CAiToolbarRenderer *iToolbarRenderer;
-
-    };
-
-#include "nativeuicontroller.inl"
-
-} // namespace AiNativeUiController
-
-#endif
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/inc/nativeuicontroller.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +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:
-*
-*/
-
--- a/idlehomescreen/nativeuicontroller/loc/ainativeui.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for project Active Idle
-*
-*/
-
-
-// d: It is text shown in note when SIM registration has failed. 
-// l: popup_note_window
-// w:
-// r: 3.2
-//
-#define text_imsi_unknown_in_hlr "SIM registration failed"
--- a/idlehomescreen/nativeuicontroller/rom/nativeuicontroller.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies 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 project ActiveIdle3
-*
-*/
-
-
-#ifndef NATIVEUICONTROLLER_IBY
-#define NATIVEUICONTROLLER_IBY
-
-
-#include <data_caging_paths_for_iby.hrh>
-
-
-// UI Controller plug-ins
-ECOM_PLUGIN( ai3natiui.dll, ai3natiui.rsc )
-
-
-
-#endif // NATIVEUICONTROLLER_IBY
--- a/idlehomescreen/nativeuicontroller/rom/nativeuicontroller_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies 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 project ActiveIdle3
-*
-*/
-
-#ifndef NATIVEUICONTROLLERRESOURCES_IBY
-#define NATIVEUICONTROLLERRESOURCES_IBY
-
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=\epoc32\data\z\resource\apps\ainativeui.rsc      APP_RESOURCE_DIR\ainativeui.rsc
-
-#endif // NATIVEUICONTROLLERRESOURCES_IBY
--- a/idlehomescreen/nativeuicontroller/src/ai3natiui.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Resource file for Native UI Controller
-*
-*/
-
-
-// ========== INCLUDE FILES ===================================================
-
-#include <platform/mw/aiuicontrolleruid.hrh>
-#include <platform/mw/aisystemuids.hrh>
-#include <ecom/registryinfov2.rh>
-
-// ========== RESOURCE DEFINITIONS ============================================
-
-// ----------------------------------------------------------------------------
-//
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO registry_info
-{
-    resource_format_version = RESOURCE_FORMAT_VERSION_2;
-    // UID for the DLL
-    dll_uid = AI_UID_ECOM_DLL_UICONTROLLER_NATIVE;
-
-    // Interface info array
-    interfaces =
-    {
-        INTERFACE_INFO
-        {
-            // UID of the implemented interface
-            interface_uid = AI_UID_ECOM_INTERFACE_UICONTROLLER;
-
-            implementations =
-            {
-                IMPLEMENTATION_INFO
-                {
-                    implementation_uid =  AI_UID_ECOM_IMPLEMENTATION_UICONTROLLER_NATIVE;
-                    version_no         =  1;
-                    display_name       =  "Native AI UI";
-                    default_data       =  " ";
-                    opaque_data        =  " ";
-                    rom_only           =  1;
-                }
-            };
-        }
-    };
-}
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/src/ai3nativeui.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* 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:  Resource definitions for project Native Ui Controller
-*
-*/
-
-
-
-NAME AINU
-
-#include <eikon.rh>
-#include <eikcore.rsg>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <e32keys.h>
-#include <activeidle3.loc>
-// for qtn_apps_mode_list
-#include <profileapp.loc>
-#include "ainativeui.hrh"
-
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf="AiNativeUi"; }
-
-RESOURCE EIK_APP_INFO
-{
-    menubar = r_nativeui_main_menubar;
-    cba     = r_nativeui_softkeys_default;
-    status_pane = r_nativeui_status_pane;
-}
-
-// ---------------------------------------------------------------------------
-// ?resource_name
-// ?description
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_activeidle_sim_registration_failed
-    {
-    buf = text_imsi_unknown_in_hlr;
-    }
-
-RESOURCE TBUF r_activeidle_title_tapped_header
-    {
-    buf = qtn_idle_title_tapped_header;
-    }
-
-RESOURCE TBUF r_activeidle_title_tapped_link1
-    {
-    buf = qtn_idle_title_tapped_link1;
-    }
-
-RESOURCE TBUF r_activeidle_title_tapped_link2
-    {
-    buf = qtn_idle_title_tapped_link2;
-    }
-
-RESOURCE TBUF r_idle_navi_tapped_cale
-    {
-    buf = qtn_idle_navi_tapped_cale;
-    }
-
-RESOURCE TBUF r_idle_navi_tapped_all_prof
-    {
-    buf = qtn_idle_navi_tapped_all_prof;
-    }
-
-RESOURCE TBUF r_nativeui_sk_back
-    {
-    buf = text_softkey_back;
-    }
-
-RESOURCE TBUF r_nativeui_sk_newmsg
-    {
-    buf = qtn_idle_skey_new_msg;
-    }
-
-RESOURCE TBUF r_nativeui_sk_email
-    {
-    buf = qtn_apps_email_skey;
-    }
-
-RESOURCE TBUF r_nativeui_sk_syncmlmail
-    {
-    buf = qtn_apps_syncml_mail_skey;
-    }
-
-RESOURCE TBUF r_nativeui_sk_mmspostcard
-    {
-    buf = qtn_apps_mmspostcard_skey;
-    }
-
-RESOURCE TBUF r_nativeui_sk_audiomsg
-    {
-    buf = qtn_apps_audio_msg_skey;
-    }
-
-RESOURCE TBUF r_nativeui_sk_msgtype
-    {
-    buf = qtn_set_idle_skey_select_msg_type;
-    }
-
-RESOURCE TBUF r_nativeui_sk_changetheme
-    {
-    buf = qtn_apps_idle_skin_skey;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_idle_title_pane
-//    It defines idle's status pane. Title pane is empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_nativeui_title_pane
-    {
-    txt = " ";
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_idle_status_pane
-//    It defines idle's status pane.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE STATUS_PANE_APP_MODEL r_nativeui_status_pane
-    {
-    layout = R_AVKON_STATUS_PANE_LAYOUT_IDLE;
-    panes =
-        {
-        SPANE_PANE
-            {
-            id = EEikStatusPaneUidTitle;
-            type = EAknCtTitlePane;
-            resource = r_nativeui_title_pane;
-            }
-        };
-    }
-
-
-RESOURCE MENU_BAR r_nativeui_main_menubar
-{
-    titles =
-    {
-        MENU_TITLE { menu_pane = r_nativeui_main_menupane; }
-    };
-}
-
-RESOURCE MENU_PANE r_nativeui_main_menupane
-{
-    items =
-    {
-        MENU_ITEM { command = EAknCmdExit; txt = text_softkey_exit; }
-    };
-}
-
-RESOURCE CBA r_nativeui_softkeys_default
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = ENativeUiSoftkeyLeft;
-            txt = " ";
-            },
-        CBA_BUTTON
-            {
-            id = ENativeUiSoftkeyRight;
-            txt = " ";
-            },
-        CBA_BUTTON
-            {
-            id = ENativeUiSelectionKey;
-            txt = " ";
-            }
-        };
-    }
-
-
-RESOURCE AVKON_SKEY_LIST r_nativeui_default_skey_list
-    {
-    list =
-        {
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;}
-#ifdef __QWERTY_INPUT
-        ,
-        AVKON_SKEY_INFO {key='+'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='+'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='+'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;}
-#endif // __QWERTY_INPUT
-        };
-    }
-// Common toolbar resource
-RESOURCE AVKON_TOOLBAR r_common_toolbar
-    {
-    flags = KAknToolbarFixed | KAknToolbarWithoutCba;
-    items =
-        {
-        };
-    }
--- a/idlehomescreen/nativeuicontroller/src/aidialogrenderer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Dialog renderer.
-*
-*/
-
-
-#include <e32property.h>
-#include <activeidle2domainpskeys.h>
-#include <aipropertyextension.h>
-#include <aknnotedialog.h>
-#include <avkon.rsg>
-#include <StringLoader.h>
-#include <AiNativeUi.rsg>
-#include "aidialogrenderer.h"
-#include "ainativeuiplugins.h"
-#ifdef __COVER_DISPLAY
-#include "aisecondarydisplayapi.h"
-#endif
-
-using namespace AiNativeUiController;
-
-// ======== MEMBER FUNCTIONS ========
-
-CAiDialogRenderer* CAiDialogRenderer::NewLC()
-    {
-    CAiDialogRenderer* self = new( ELeave ) CAiDialogRenderer;
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-
-CAiDialogRenderer::~CAiDialogRenderer()
-    {
-    delete iDialog;
-    delete iText;
-    }
-
-
-CAiDialogRenderer::CAiDialogRenderer()
-    {
-    }
-    
-
-void CAiDialogRenderer::DoPublishL( MAiPropertyExtension& aPlugin, 
-                                    TInt aContent, 
-                                    TInt aResource,
-                                    TInt /*aIndex*/  )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KDeviceStatusPluginUid )
-    	{
-	    switch( aContent )
-	        {
-	        case EAiDeviceStatusContentSIMRegStatus:
-	            {
-	            TInt idleState;
-	            if ( RProperty::Get(
-	                    KPSUidAiInformation,
-	                    KActiveIdleState,
-	                    idleState ) != KErrNone )
-	                {
-	                idleState = EPSAiBackground;
-	                }
-                if( aResource == EAiDeviceStatusResourceSIMRegFail )
-                    {
-    	            if( iShowDialog )
-	                    {
-	                    break;
-	                    }
-	                HBufC* temp = StringLoader::LoadL( 
-	                    R_ACTIVEIDLE_SIM_REGISTRATION_FAILED );
-	                delete iText;
-	                iText = temp;
-#ifdef __COVER_DISPLAY
-	                iDialogId = EAiSimRegistrationFailed;
-#endif
-	                iShowDialog = ETrue;
-                    }
-	            if ( idleState == EPSAiForeground )
-                    {
-  	                ShowDialogL();	                    
-                    }
-	            
-	            break;
-	            }
-	        default:
-	            {
-	            User::Leave( KErrNotFound );
-	            break;
-	            }
-	        };
-    	}
-    else
-   		{
-   		User::Leave( KErrNotFound );	
-   		}
-    }
-
-void CAiDialogRenderer::DoCleanL( MAiPropertyExtension& /*aPlugin*/, 
-                                    TInt aContent )
-    {
-    switch( aContent )
-        {
-        case EAiDeviceStatusContentSIMRegStatus:
-            {
-            delete iDialog;
-            iDialog = NULL;
-            iShowDialog = EFalse;
-            break;
-            }
-        default:
-            {
-            User::Leave( KErrNotFound );
-            break;
-            }
-        };
-
-    }
-    
-    
-void CAiDialogRenderer::ShowDialogL()
-    {
-    if ( iDialog )
-        {
-        return;
-        }
-
-    iDialog = 
-        new (ELeave) CAknNoteDialog( 
-            reinterpret_cast< CEikDialog** >( &iDialog ),
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ENoTimeout );
-
-#ifdef __COVER_DISPLAY
-    iDialog->PublishDialogL( iDialogId, KAICategory );
-#endif
-
-    iDialog->PrepareLC( R_AKN_INFORMATION_NOTE_DIALOG );
-
-    iDialog->ButtonGroupContainer().SetCommandSetL( R_AVKON_SOFTKEYS_OK_EMPTY );
-    iDialog->SetTextL( *iText );
-    iDialog->RunLD();
-    }
-    
-    
-void CAiDialogRenderer::FocusObtainedL()
-    {
-    if( iShowDialog )
-        {
-        ShowDialogL();
-        }
-    }
--- a/idlehomescreen/nativeuicontroller/src/ainativerenderer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
-* Copyright (c) 2005-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:  
-*
-*/
-
-
-#include <aipropertyextension.h>
-#include "ainativerenderer.h"
-#include "ainativeuiplugins.h"
-
-using namespace AiNativeUiController;
-
-
-CAiNativeRenderer::~CAiNativeRenderer()
-    {
-    }
-
-    
-TInt CAiNativeRenderer::Publish( MAiPropertyExtension& aPlugin, TInt aContent, 
-									TInt aResource, TInt aIndex )
-    {
-    TRAPD( err, DoMimeTypeCheckL( aPlugin, aContent ) );
-    
-    if( err != KErrNone )
-        {
-        return err;
-        }
-        
-    TRAP( err, DoPublishL( aPlugin, aContent, aResource, aIndex ) );
-    return err;
-    }
-    
-    
-TInt CAiNativeRenderer::Publish( MAiPropertyExtension& aPlugin, TInt aContent,
-									const TDesC16& aText, TInt aIndex )
-    {    
-    TRAPD( err, DoMimeTypeCheckL( aPlugin, aContent ) );
-    
-    if( err != KErrNone )
-        {
-        return err;
-        }
-        
-    TRAP( err, DoPublishL( aPlugin, aContent, aText, aIndex ) );
-    return err;
-    }
-    
-    
-TInt CAiNativeRenderer::Publish( MAiPropertyExtension& aPlugin, TInt aContent, 
-									const TDesC8& aBuf, TInt aIndex )
-    {    
-    TRAPD( err, DoMimeTypeCheckL( aPlugin, aContent ) );
-    
-    if( err != KErrNone )
-        {
-        return err;
-        }
-        
-    TRAP( err, DoPublishL( aPlugin, aContent, aBuf, aIndex ) );
-    return err;
-    }
-    
-    
-TInt CAiNativeRenderer::Publish( MAiPropertyExtension& aPlugin, TInt aContent, 
-									RFile& aFile, TInt aIndex )
-    {    
-    TRAPD( err, DoMimeTypeCheckL( aPlugin, aContent ) );
-    
-    if( err != KErrNone )
-        {
-        return err;
-        }
-        
-    TRAP( err, DoPublishL( aPlugin, aContent, aFile, aIndex ) );
-    return err;
-    }
-    
-    
-TInt CAiNativeRenderer::Clean( MAiPropertyExtension& aPlugin, TInt aContent )
-    {    
-    TRAPD( err, DoMimeTypeCheckL( aPlugin, aContent ) );
-    
-    if( err != KErrNone )
-        {
-        return err;
-        }
-        
-    TRAP( err, DoCleanL( aPlugin, aContent ) );
-    return err;
-    }
-    
-    
-void CAiNativeRenderer::DoPublishL
-        ( MAiPropertyExtension& /*aPlugin*/, TInt /*aContent*/, TInt /*aResource*/, TInt /*aIndex*/ )
-    { 
-	// Default implementation, overridden in subclass if needed.
-    User::Leave( KErrNotFound );   
-    }
-    
-    
-void CAiNativeRenderer::DoPublishL
-        ( MAiPropertyExtension& /*aPlugin*/, TInt /*aContent*/, const TDesC16& /*aText*/, TInt /*aIndex*/ )
-    {    
-    // Default implementation, overridden in subclass if needed. 
-    User::Leave( KErrNotFound );   
-    }
-    
-    
-void CAiNativeRenderer::DoPublishL
-        ( MAiPropertyExtension& /*aPlugin*/, TInt /*aContent*/, const TDesC8& /*aBuf*/, TInt /*aIndex*/ )
-    {    
-    // Default implementation, overridden in subclass if needed. 
-    User::Leave( KErrNotFound );   
-    }
-    
-    
-void CAiNativeRenderer::DoPublishL
-        ( MAiPropertyExtension& /*aPlugin*/, TInt /*aContent*/, RFile& /*aFile*/, TInt /*aIndex*/ )
-    {    
-    // Default implementation, overridden in subclass if needed. 
-    User::Leave( KErrNotFound );   
-    }
-    
-    
-void CAiNativeRenderer::DoCleanL
-        ( MAiPropertyExtension& /*aPlugin*/, TInt /*aContent*/ )
-    {    
-    // Default implementation, overridden in subclass if needed. 
-    User::Leave( KErrNotFound );   
-    }
-
-
-TInt CAiNativeRenderer::GetIntContentId( const TDesC& aCid ) const
-    {
-    for( TInt i( 0 ); i < KAiDeviceStatusContentCount; i++ )
-        {
-        const TAiContentItem& item = KAiDeviceStatusContent[i];
-        if( ContentCid(item) == aCid )
-            {
-            //match
-            return item.id;            
-            }
-        }
-
-    for( TInt i( 0 ); i < KAiScutContentCount; i++ )
-        {
-        const TAiContentItem& item = KAiScutContent[i];
-        if( ContentCid(item) == aCid )
-            {
-            //match
-            return item.id;            
-            }
-        }
-
-    return KErrNotFound;
-    }
-    
-
-TBool CAiNativeRenderer::MatchMimeType( MAiPropertyExtension& aPlugin, 
-                                        TInt aContentId, 
-                                        const TDesC8& aMimeType ) const
-    {      
-    TUid pluginUid;
-    TRAPD( err, pluginUid = aPlugin.PublisherInfoL()->iUid );
-    if ( err != KErrNone )
-        {
-        return EFalse;
-        }
-    // loop through Device Status content items
-    if ( pluginUid == KDeviceStatusPluginUid )
-        {
-        for( TInt i( 0 ); i < KAiDeviceStatusContentCount; i++ )
-            {
-            const TAiContentItem& item = KAiDeviceStatusContent[i];
-            
-            if( item.id != aContentId )
-                {
-                continue;
-                }            
-            
-            TBuf8<KAiContentTypeMaxLength> mimeType((TText8*) item.type);
-                
-            return ( mimeType.Match( aMimeType ) != KErrNotFound );
-            }        
-        }
-    else if ( pluginUid == KShortcutPluginUid )
-    { 
-    // if match not found, loop through Shortcut content items
-    for( TInt i( 0 ); i < KAiScutContentCount; i++ )
-        {
-        const TAiContentItem& item = KAiScutContent[i];
-        
-        if( item.id != aContentId )
-            {
-            continue;
-            }            
-        
-        TBuf8<KAiContentTypeMaxLength> mimeType((TText8*) item.type);
-            
-        return ( mimeType.Match( aMimeType ) != KErrNotFound );
-        }        
-    }
-    else if ( pluginUid == KProfilePluginUid )
-    { 
-    // if match not found, loop through Profile content items
-    for( TInt i( 0 ); i < KAiProfileContentCount; i++ )
-        {
-        const TAiContentItem& item = KAiProfileContent[i];
-        
-        if( item.id != aContentId )
-            {
-            continue;
-            }            
-        
-        TBuf8<KAiContentTypeMaxLength> mimeType((TText8*) item.type);
-            
-        return ( mimeType.Match( aMimeType ) != KErrNotFound );
-        }        
-    }
-    
-    return EFalse;    
-    }
-
-
-void CAiNativeRenderer::DoMimeTypeCheckL( MAiPropertyExtension& aPlugin, TInt aContentId )
-    {
-    MAiContentItemIterator* iter = 
-        (MAiContentItemIterator*)aPlugin.GetPropertyL( EAiPublisherContent );
-    const TAiContentItem& item = iter->ItemL( aContentId );
-
-    aContentId = GetIntContentId( ContentCid(item) );
-
-    if( !MatchMimeType( aPlugin, aContentId, ContentType(item) ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    }
-    
--- a/idlehomescreen/nativeuicontroller/src/ainativeuimodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Common NativeUi definitions and utilities
-*
-*/
-
-
-#include "ainativeuimodel.h"
-#include "aidevicestatuscontentmodel.h"
-
-namespace AiNativeUiController
-    {
-
-namespace AiNativeUiModel 
-    {
-
-struct TRenderingPriorityItem
-	{
-    TInt iContentId;
-    TInt iRenderingPriority;	
-	};
-
-const TInt KHighestRenderingPriority = 20;
-
-const TInt KPriorityOffset1 = 1;
-const TInt KPriorityOffset2 = 2;
-const TInt KPriorityOffset3 = 3;
-const TInt KPriorityOffset4 = 4;
-const TInt KPriorityOffset5 = 5;
-const TInt KPriorityOffset6 = 6;
-
-
-const TRenderingPriorityItem KNaviPaneRenderingPriorities[] =
-    {
-        { EAiDeviceStatusContentProfileName,            KHighestRenderingPriority },
-        { EAiDeviceStatusContentSilentIndicator,        KHighestRenderingPriority },
-        { EAiDeviceStatusContentTimedProfileIndicator,  KHighestRenderingPriority },
-        { EAiDeviceStatusContentDate,                   KHighestRenderingPriority - KPriorityOffset1 },
-        { EAiDeviceStatusContentGeneralProfileName,     KHighestRenderingPriority - KPriorityOffset2 },
-        { EAiDeviceStatusContentVHZIndicator,           KHighestRenderingPriority - KPriorityOffset3 },
-        { EAiDeviceStatusContentCUGIndicator,           KHighestRenderingPriority - KPriorityOffset4 },
-        { EAiDeviceStatusContentMCNIndicator,           KHighestRenderingPriority - KPriorityOffset5 },
-        { EAiDeviceStatusContentGeneralIndicator,       KHighestRenderingPriority - KPriorityOffset6 }
-    };
-
-
-TRenderingPriorities RenderingPriorities( const TDesC8& aUiElementId )
-    {
-    if( aUiElementId == KNaviPaneId )
-        {
-        return TRenderingPriorities( KNaviPaneRenderingPriorities, 
-            sizeof(KNaviPaneRenderingPriorities) / sizeof(KNaviPaneRenderingPriorities[0]) );
-        }
-    else
-        {
-        return TRenderingPriorities( NULL, 0 );
-        }
-    }
-
-
-TRenderingPriorities::TRenderingPriorities
-        (const TRenderingPriorityItem* aRenderingPriorities, TInt aCount)
-    : iRenderingPriorities(aRenderingPriorities), iCount(aCount)
-    {
-    }
-    
-
-TInt TRenderingPriorities::RenderingPriority( TInt aContentId )
-    {
-    if( !iRenderingPriorities )
-        {
-        return KErrNotFound;
-        }
-    for( TInt i = 0; i < iCount; ++i )
-        {
-        if( iRenderingPriorities[i].iContentId == aContentId )
-            {
-            return iRenderingPriorities[i].iRenderingPriority;
-            }
-        }
-    return KErrNotFound;
-    }
-
-
-TBool TRenderingPriorities::GetNextContentId( TInt& aContentId, TInt& aNextPriority )
-    {    
-    if( !iRenderingPriorities )
-        {
-        return EFalse;
-        }
-    for( TInt i = 0; i < iCount; ++i )
-        {
-        if( iRenderingPriorities[i].iRenderingPriority < aNextPriority )
-            {
-            aContentId = iRenderingPriorities[i].iContentId;
-            aNextPriority = iRenderingPriorities[i].iRenderingPriority;
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-	}  // namespace AiNativeUi
-    
-    }
--- a/idlehomescreen/nativeuicontroller/src/ainativeuiview.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Native ui controller view.
-*
-*/
-
-
-#include    <AknsDrawUtils.h>
-#include    <AknsUtils.h>
-#include    <AknUtils.h>
-#include    "appui.h"
-#include    "ainativeuiview.h"
-
-using namespace AiNativeUiController;
-
-CAiNativeUiView::CAiNativeUiView( CAppUi* aAppUi )
- :  iAppUi( aAppUi )
-    {
-    }
-
-void CAiNativeUiView::ConstructL( const TRect& aRect )
-    {
-    CreateWindowL();
-    SetRect( aRect );
-    ActivateL();
-    }
-
-CAiNativeUiView* CAiNativeUiView::NewL(
-    const TRect& aRect,
-     CAppUi* aAppUi )
-    {
-    CAiNativeUiView* self =
-        new (ELeave) CAiNativeUiView( aAppUi );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CAiNativeUiView::~CAiNativeUiView()
-    {
-    }
-
-void CAiNativeUiView::SizeChanged()
-    {
-    if( iControl )
-        {
-        iControl->SetRect( Rect() );
-        }
-    }
-
-TInt CAiNativeUiView::CountComponentControls() const
-    {
-    if( iControl )
-        {
-        return 1;
-        }
-    else
-        {
-        return 0;
-        }
-    }
-
-CCoeControl* CAiNativeUiView::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return iControl;
-    }
-
-TKeyResponse CAiNativeUiView::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    if( iControl )
-        {
-        return iControl->OfferKeyEventL( aKeyEvent, aType );
-        }
-    return EKeyWasNotConsumed;
-    }
-
-void CAiNativeUiView::Draw( const TRect& aRect ) const
-    {
-    TRect rect = Rect();
-    if ( !rect.iTl.iY )
-        {
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-        CWindowGc& gc = SystemGc();
-
-        if ( !AknsDrawUtils::Background( skin, cc, this, gc, aRect ) )
-            {
-            gc.SetPenStyle( CGraphicsContext::ENullPen );
-            gc.SetBrushColor( AKN_LAF_COLOR( 0 ) );
-            gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-            gc.DrawRect( aRect );
-            }
-        }
-    }
-
-TVwsViewId CAiNativeUiView::ViewId() const
-    {
-    return TVwsViewId( TUid::Uid( 0x102750F0 ), TUid::Uid( 0x102750F0 ) );
-    }
-
-void CAiNativeUiView::ViewActivatedL( const TVwsViewId& /*aPrevViewId*/,
-                             TUid /*aCustomMessageId*/,
-                             const TDesC8& /*aCustomMessage*/ )
-    {
-    }
-
-void CAiNativeUiView::ViewDeactivated()
-    {
-    }
-
-void CAiNativeUiView::SetControl( CCoeControl* aControl )
-    {
-    iControl = aControl;
-    }
-
-//  End of File.
--- a/idlehomescreen/nativeuicontroller/src/ainavipaneanimator.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Navipane animator.
-*
-*/
-
-
-#include "ainavipaneanimator.h"
-#include "aistatuspanel.h"
-#include "ainavipaneanimatorcallback.h"
-
-using namespace AiNativeUiController;
-
-const TInt KAnimDelay = 2000000;
-
-
-CAiNaviPaneAnimator::CAiNaviPaneAnimator( CAiStatusPanel& aStatusPane,
-                AiNativeUiModel::TRenderingPriorities& aPriorities,
-                MAiNaviPaneAnimatorCallback& aCallback )
-    : iStatusPane( aStatusPane ),
-        iPriorities( aPriorities ),
-        iCallback( aCallback )
-    {
-    }
-
-
-void CAiNaviPaneAnimator::ConstructL()
-    {
-    iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
-    }
-
-
-CAiNaviPaneAnimator* CAiNaviPaneAnimator::NewL( CAiStatusPanel& aStatusPane,
-                AiNativeUiModel::TRenderingPriorities& aPriorities,
-                MAiNaviPaneAnimatorCallback& aCallback )
-    {
-    CAiNaviPaneAnimator* self = new( ELeave )CAiNaviPaneAnimator( aStatusPane,
-                                                            aPriorities,
-                                                            aCallback );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-CAiNaviPaneAnimator::~CAiNaviPaneAnimator()
-    {
-    iAnimArray.ResetAndDestroy();
-    if( iPeriodic )
-        {
-        iPeriodic->Cancel();
-        delete iPeriodic;
-        }
-    }
-
-
-void CAiNaviPaneAnimator::AddItemL( TInt aContentId, const TDesC16& aText )
-    {
-    const TInt count = iAnimArray.Count();
-    for( TInt i = 0; i < count; i++ )
-        {
-        if( iAnimArray[i]->Name() == aContentId )
-            {
-            iAnimArray[i]->SetValueL( aText );
-            return;
-            }
-        }
-
-    CAiNameValuePair* newItem = CAiNameValuePair::NewLC(
-                                                    aContentId,
-                                                    aText );
-    User::LeaveIfError( iAnimArray.Append( newItem ) );
-    CleanupStack::Pop( newItem );
-    }
-
-
-void CAiNaviPaneAnimator::RemoveItem( TInt aContentId )
-    {
-    const TInt count = iAnimArray.Count();
-    for( TInt i = 0; i < count; i++ )
-        {
-        if( iAnimArray[i]->Name() == aContentId )
-            {
-            delete iAnimArray[i];
-            iAnimArray[i] = NULL;
-            iAnimArray.Remove( i );
-            return;
-            }
-        }
-    }
-
-
-void CAiNaviPaneAnimator::CancelAnimationL()
-    {
-    if( iPeriodic->IsActive() )
-        {
-        iPeriodic->Cancel();
-        iCurrentItem = 0;
-        iCallback.AnimationCompleteL();
-        }
-    }
-
-TBool CAiNaviPaneAnimator::IsActive()
-	{
-	return iPeriodic->IsActive();
-	}
-
-void CAiNaviPaneAnimator::AnimateL()
-    {
-    if( !iPeriodic->IsActive() )
-        {
-        SortAnimArrayL();
-        //draw first item immediately
-        if( DrawTextL() )
-            {
-            iPeriodic->Start( KAnimDelay, KAnimDelay, TCallBack( AnimCallback, this ) );
-            }
-        }
-    }
-
-
-TInt CAiNaviPaneAnimator::AnimCallback( TAny* aPtr )
-    {
-    CAiNaviPaneAnimator* self = static_cast<CAiNaviPaneAnimator*>( aPtr );
-
-    if( self )
-        {
-        TRAP_IGNORE( self->DrawTextL() );
-        }
-
-    return KErrNone;
-    }
-
-
-TBool CAiNaviPaneAnimator::DrawTextL()
-    {
-    if( iCurrentItem < iAnimArray.Count() )
-        {
-        iStatusPane.SetNaviPaneTextL( iAnimArray[iCurrentItem]->Value() );
-        iStatusPane.RenderNaviPaneL();
-        ++iCurrentItem;
-        return ETrue;
-        }
-    else
-        {
-        iPeriodic->Cancel();
-        iCurrentItem = 0;
-        iCallback.AnimationCompleteL();
-        return EFalse;
-        }
-    }
-
-void CAiNaviPaneAnimator::SortAnimArrayL()
-    {
-    const TInt count = iAnimArray.Count();
-    
-    // loop through the animator array and sort items in priority order
-    for( TInt i = 0; i < count - 1; i++ )
-        {
-        for( TInt k = i + 1; k < count; k++)
-            {
-            if( iPriorities.RenderingPriority( iAnimArray[i]->Name() ) <
-                iPriorities.RenderingPriority( iAnimArray[k]->Name() ) )
-                {
-                CAiNameValuePair* temp = iAnimArray[k];
-                iAnimArray[k] = iAnimArray[i];
-                iAnimArray[i] = temp;
-                }
-            }
-        }
-    }
-
-
-CAiNaviPaneAnimator::CAiNameValuePair*
-CAiNaviPaneAnimator::CAiNameValuePair::NewLC( const TInt aName,
-                                                const TDesC& aValue )
-    {
-    CAiNameValuePair* self = new( ELeave ) CAiNameValuePair();
-    CleanupStack::PushL( self );
-    self->ConstructL( aName, aValue );
-    return self;
-    }
-
-
-void CAiNaviPaneAnimator::CAiNameValuePair::ConstructL( const TInt aName,
-                                                        const TDesC& aValue )
-    {
-    iName = aName;
-    iValue = aValue.AllocL();
-    }
-
-
-CAiNaviPaneAnimator::CAiNameValuePair::~CAiNameValuePair()
-    {
-    delete iValue;
-    }
-
-
-TInt CAiNaviPaneAnimator::CAiNameValuePair::Name() const
-    {
-    return iName;
-    }
-
-
-const TDesC16& CAiNaviPaneAnimator::CAiNameValuePair::Value() const
-    {
-    return *iValue;
-    }
-
-
-void CAiNaviPaneAnimator::CAiNameValuePair::SetValueL( const TDesC& aValue )
-    {
-    HBufC* temp = aValue.AllocL();
-    delete iValue;
-    iValue = temp;
-    }
--- a/idlehomescreen/nativeuicontroller/src/ainavipanerenderer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,416 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Navipane renderer.
-*
-*/
-
-
-#include <aipropertyextension.h>
-#include <centralrepository.h>
-#include <ProfileEngineSDKCRKeys.h>
-
-#include "ainavipanerenderer.h"
-#include "ainavipaneanimator.h"
-#include "aistatuspanel.h"
-#include "ainativeuimodel.h"
-#include "ainativeuiplugins.h"
-#include "contentprioritymap.h"
-#include <aicontentrequest.h>
-#include "debug.h"
-
-using namespace AiNativeUiController;
-
-
-void CAiNaviPaneRenderer::ConstructL()
-    {
-    iAnimator = CAiNaviPaneAnimator::NewL( iStatusPanel, 
-                                           iRenderingPriorities, 
-                                           *this );
-    iProfileText = HBufC::NewL(0);
-    iSilentIndicator = HBufC::NewL(0);
-    }
-
-
-CAiNaviPaneRenderer* CAiNaviPaneRenderer::NewLC( 
-        CAiStatusPanel& aStatusPanel )
-    {
-    CAiNaviPaneRenderer* self = new( ELeave ) CAiNaviPaneRenderer( aStatusPanel );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-CAiNaviPaneRenderer::~CAiNaviPaneRenderer()
-    { 
-    delete iAnimator;
-    delete iProfileText;
-    delete iSilentIndicator; 
-    delete iTimedProfileIndicator;
-    }
-
-
-CAiNaviPaneRenderer::CAiNaviPaneRenderer( CAiStatusPanel& aStatusPanel )
-    : iStatusPanel( aStatusPanel ), 
-    iRenderingPriorities( AiNativeUiModel::RenderingPriorities( AiNativeUiModel::KNaviPaneId ) ),
-    iCurrentContent(KAiNullContentId),
-    iCurrentPriority(AiNativeUiModel::KNoPriority)
-    {
-    }
-
-
-void CAiNaviPaneRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                      TInt aContent, 
-                                      const TDesC16& aText,
-                                      TInt /*aIndex*/ )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KDeviceStatusPluginUid )
-           {
-        switch( aContent )
-            {
-            // FALLTHROUGH
-            case EAiDeviceStatusContentDate:
-            case EAiDeviceStatusContentProfileName:
-            case EAiDeviceStatusContentGeneralProfileName:
-                {
-                __PRINT(__DBG_FORMAT("XAI: Render navi pane - %d, %S"), aContent, &aText );
-                
-                const TInt priority = iRenderingPriorities.RenderingPriority( aContent );
-                
-                // Get active profile ID
-                CRepository* profileApi;
-                TInt         profileId;
-                profileApi = CRepository::NewL( KCRUidProfileEngine );
-                TInt err = profileApi->Get( KProEngActiveProfile, profileId );
-                delete profileApi;
-
-                if ( aContent == EAiDeviceStatusContentGeneralProfileName )
-                    {
-                    const TInt KGeneralProfileId( 0 );
-                    if (profileId == KGeneralProfileId) 
-                        {
-                        iAnimator->AddItemL( EAiDeviceStatusContentGeneralIndicator, aText );
-                        }
-//                    iAnimator->AddItemL( EAiDeviceStatusContentGeneralIndicator, aText );
-//                    iAnimator->AddItemL( EAiDeviceStatusContentGeneralProfileName, aText );
-
-                    iAnimator->AnimateL();
-                    }
-
-          
-                if( (priority >= iCurrentPriority) || !iIsSilent || !iIsTimed )
-                    {
-                    if( priority >= iCurrentPriority )
-                        {
-                        delete iProfileText;
-                        iProfileText = NULL;
-                        iProfileText = aText.AllocL();
-                        iIsOldTextChanged = ETrue;
-
-                        iCurrentPriority = priority;
-                        iCurrentContent = aContent;
-                        }
-
-                    HBufC* newText = ConstructProfileTextLC();
-
-                    if( !iAnimator->IsActive() )
-                        {
-                        iStatusPanel.SetNaviPaneTextL( *newText );
-                        iStatusPanel.RenderNaviPaneL();
-                        }
-                    
-                    CleanupStack::PopAndDestroy( newText );
-                    }            
-                
-                __PRINTS( "XAI: Render navi pane - priority check failed");
-                break;
-                }
-
-            case EAiDeviceStatusContentSilentIndicator:
-                {
-                __PRINT(__DBG_FORMAT("XAI: Render navi pane - %d, %S"), aContent, &aText );
-
-                const TInt priority = iRenderingPriorities.RenderingPriority( aContent );
-                
-                if( priority >= iCurrentPriority && iIsOldTextChanged )
-                    {
-                    delete iSilentIndicator;
-                    iSilentIndicator = NULL;
-                    iSilentIndicator = aText.AllocL();
-                    iIsSilent = ETrue;
-                    if( !iAnimator->IsActive() )
-                        {    
-                        HBufC* newText = ConstructProfileTextLC();
-                        iStatusPanel.SetNaviPaneTextL( *newText );
-                        iStatusPanel.RenderNaviPaneL();                        
-                        CleanupStack::PopAndDestroy( newText );
-                        }
-     
-                    
-
-                    
-                    // iCurrentContent is not assigned because silent indicator is 
-                    // rendered within the navi pane text
-                    
-                    __PRINTS( "XAI: Render navi pane - done");
-                    }                
-                __PRINTS( "XAI: Render navi pane - priority check failed");
-                break;
-                }
-            case EAiDeviceStatusContentTimedProfileIndicator:
-                {
-                __PRINT(__DBG_FORMAT("XAI: Render navi pane - %d, %S"), aContent, &aText );
-
-                const TInt priority = iRenderingPriorities.RenderingPriority( aContent );
-                
-                if( priority >= iCurrentPriority && iIsOldTextChanged )
-                    {
-                    delete iTimedProfileIndicator;
-                    iTimedProfileIndicator = NULL;
-                    iTimedProfileIndicator = aText.AllocL();
-                    iIsTimed = ETrue;
-                    
-                    if( !iAnimator->IsActive() )
-                        {    
-                        HBufC* newText = ConstructProfileTextLC();
-                        iStatusPanel.SetNaviPaneTextL( *newText );
-                        iStatusPanel.RenderNaviPaneL();                        
-                        CleanupStack::PopAndDestroy( newText );
-                        }
-     
-
-                    // iCurrentContent is not assigned because silent indicator is 
-                    // rendered within the navi pane text
-                    
-                    __PRINTS( "XAI: Render navi pane - done");
-                    }                
-                __PRINTS( "XAI: Render navi pane - priority check failed");
-                break;
-                }                
-
-            // FALLTHROUGH
-            case EAiDeviceStatusContentMCNIndicator:
-            case EAiDeviceStatusContentVHZIndicator:
-            case EAiDeviceStatusContentCUGIndicator:
-                {
-                iAnimator->AddItemL( aContent, aText );
-                if( !iAnimator->IsActive() )
-                    {
-                    iAnimator->AnimateL();
-                    }
-                iIsChanged = ETrue;
-                break;
-                }
-
-            default:
-                {
-                User::Leave( KErrNotFound );
-                break;
-                }
-            };
-           }       
-       else
-           {
-           User::Leave( KErrNotFound );    
-           }
-    }
-
-HBufC* CAiNaviPaneRenderer::ConstructProfileTextLC()
-    {
-    TInt bufLen = iProfileText->Length();
-    if ( iIsSilent )
-        {
-        bufLen += iSilentIndicator->Length();
-        }
-    if ( iIsTimed )
-        {
-        bufLen += iTimedProfileIndicator->Length();
-        }
-        
-    HBufC *temp = HBufC::NewLC( bufLen );
-     
-    if ( iIsSilent )
-        {
-        temp->Des().Append( *iSilentIndicator );
-        }
-    if ( iIsTimed )
-        {
-        temp->Des().Append( *iTimedProfileIndicator );
-        }
-        
-    temp->Des().Append( *iProfileText );
-    return temp;
-    }
-
-void CAiNaviPaneRenderer::DoCleanL( MAiPropertyExtension& aPlugin, TInt aContent )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KDeviceStatusPluginUid )
-        {    
-
-        switch( aContent )
-            {
-            case EAiDeviceStatusContentNetworkIdentity:
-                {
-                iAnimator->RemoveItem( EAiDeviceStatusContentGeneralIndicator );
-                break;
-                }
-
-            // FALLTHROUGH
-            case EAiDeviceStatusContentDate:
-            case EAiDeviceStatusContentProfileName:
-            case EAiDeviceStatusContentGeneralProfileName:
-            case EAiDeviceStatusContentSilentIndicator:
-            case EAiDeviceStatusContentTimedProfileIndicator:
-                {
-                __PRINT(__DBG_FORMAT("XAI: Cleaning navi pane - %d"), aContent );
-                
-                if ( aContent == EAiDeviceStatusContentSilentIndicator )
-                    {
-                    iIsSilent = EFalse;
-                    }
-                if ( aContent == EAiDeviceStatusContentTimedProfileIndicator )
-                    {
-                    iIsTimed = EFalse;
-                    }
-                if ( aContent == EAiDeviceStatusContentGeneralProfileName )
-                    {
-                    iAnimator->RemoveItem( EAiDeviceStatusContentGeneralIndicator );
-//                    iAnimator->RemoveItem( EAiDeviceStatusContentGeneralProfileName );
-                    }
-                if ( aContent == EAiDeviceStatusContentProfileName )
-                    {
-                    iAnimator->RemoveItem( EAiDeviceStatusContentProfileName );
-                    }
-           
-                TInt currentPriority = iCurrentPriority;
-
-                if( iCurrentContent == aContent )
-                    {
-                    iCurrentContent = KAiNullContentId;
-                    iCurrentPriority = AiNativeUiModel::KNoPriority;
-                    
-                    // Publish empty text
-                    iStatusPanel.SetNaviPaneTextL( KNullDesC );
-                    iStatusPanel.RenderNaviPaneL();
-
-                    MAiContentRequest* contentReq = static_cast<MAiContentRequest*>(
-                        aPlugin.GetPropertyL( EAiContentRequest ) );
-                        
-                    if ( contentReq )
-                        {
-                        TInt nextContentId;
-                        while ( iRenderingPriorities.GetNextContentId( 
-                                                        nextContentId, 
-                                                        currentPriority ) )
-                            {
-                            const TBool refreshed = contentReq->RefreshContent( nextContentId );
-                            if ( refreshed )
-                                {
-                                break;
-                                }
-                            }
-                        }
-                                    
-                    }                    
-                __PRINTS( "XAI: Cleaning navi pane - done");    
-                break;
-                }
-
-            case EAiDeviceStatusContentMCNIndicator:
-            case EAiDeviceStatusContentVHZIndicator:
-            case EAiDeviceStatusContentCUGIndicator:
-                {
-                iAnimator->RemoveItem( aContent );
-                break;
-                }
-
-            default:
-                {
-                User::Leave( KErrNotFound );
-                break;
-                }
-            };
-        }
-    else
-        {
-        User::Leave( KErrNotFound );    
-        }    
-    
-    }
-
-
-void CAiNaviPaneRenderer::FocusObtainedL()
-    {
-    if( !iStatusPanel.IsKeyLockEnabled() )
-        {
-        iAnimator->AnimateL();
-        }
-    iFocusObtained = ETrue;    
-    }
-
-
-void CAiNaviPaneRenderer::FocusLostL()
-    {
-    iAnimator->CancelAnimationL();
-    iFocusObtained = EFalse;
-    iCommitted = EFalse;
-    }
-
-
-void CAiNaviPaneRenderer::KeylockDisabledL()
-    {
-    iAnimator->AnimateL();
-    }
- 
-    
-void CAiNaviPaneRenderer::KeylockEnabledL()
-    {
-    iAnimator->CancelAnimationL();
-    }
-    
-
-void CAiNaviPaneRenderer::TransactionCommittedL()
-    {
-    if( iIsChanged )
-        {
-        if( iFocusObtained && !iCommitted && !iStatusPanel.IsKeyLockEnabled() )
-            {
-            iAnimator->AnimateL();
-            iCommitted = ETrue;
-            }
-        iIsChanged = EFalse;
-        }
-    }
-    
-    
-void CAiNaviPaneRenderer::AnimationCompleteL()
-    {
-    // Navi pane animation is now completed -> show original text
-    HBufC* newText = NULL;
-
-    if ( iProfileText->Length() > 0 )
-        {
-        newText = ConstructProfileTextLC();
-        }
-    else
-        {
-        return;
-        }
-
-    iStatusPanel.SetNaviPaneTextL( *newText );
-    iStatusPanel.RenderNaviPaneL();
-    
-    CleanupStack::PopAndDestroy( newText );
-    }
-
--- a/idlehomescreen/nativeuicontroller/src/ainotifierrenderer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Dialog renderer.
-*
-*/
-
-
-#include <e32property.h>
-#include <activeidle2domainpskeys.h>
-#include <aipropertyextension.h>
-
-#include <AiNativeUi.rsg>
-
-#include "ainotifierrenderer.h"
-#include "ainativeuiplugins.h"
-
-using namespace AiNativeUiController;
-
-// 1-minute timeout before showing soft notification
-const TInt KNetworkLostTimeout = 60*1000000;
-
-// ======== MEMBER FUNCTIONS ========
-
-CAiNotifierRenderer* CAiNotifierRenderer::NewLC()
-    {
-    CAiNotifierRenderer* self = new( ELeave ) CAiNotifierRenderer;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-CAiNotifierRenderer::~CAiNotifierRenderer()
-    {
-    delete iSoftNotifier;
-    delete iTimer;
-    }
-
-
-CAiNotifierRenderer::CAiNotifierRenderer()
-    {
-    }
-
-void CAiNotifierRenderer::ConstructL()
-    {
-    iSoftNotifier = CAknSoftNotifier::NewL();
-    iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-    }
-
-void CAiNotifierRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                    TInt aContent,
-                                    TInt aResource,
-                                    TInt /*aIndex*/  )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KDeviceStatusPluginUid )
-    	{
-	    switch( aContent )
-	        {
-	        case EAiDeviceStatusContentNWStatus:
-	            {
-	            if ( aResource == EAiDeviceStatusResourceNWLost )
-	                {
-	                // Start 60 second timer and when expired show the
-	                // notifier
-	                iTimer->Cancel();
-	                iTimer->Start( KNetworkLostTimeout,
-	                               KNetworkLostTimeout,
-	                               TCallBack( NWLostDelayCallBack, this ));
-	                }
-	            else if ( aResource == EAiDeviceStatusResourceNWOk )
-	                {
-	                iTimer->Cancel();
-	                RemoveNotification( ESelectNetworkNotification );
-	                }
-	            break;
-	            }
-	        default:
-	            {
-	            User::Leave( KErrNotFound );
-	            break;
-	            }
-	        };
-    	}
-    else
-   		{
-   		User::Leave( KErrNotFound );
-   		}
-    }
-
-void CAiNotifierRenderer::DoCleanL( MAiPropertyExtension& /*aPlugin*/,
-                                    TInt aContent )
-    {
-    switch( aContent )
-        {
-        case EAiDeviceStatusContentNWStatus:
-            {
-            iTimer->Cancel();
-            RemoveNotification( ESelectNetworkNotification );
-            break;
-            }
-        default:
-            {
-            User::Leave( KErrNotFound );
-            break;
-            }
-        };
-
-    }
-
-
-void CAiNotifierRenderer::AddNotification( TAknSoftNotificationType aType )
-    {
-    TRAP_IGNORE( iSoftNotifier->AddNotificationL( aType, 1 ); );
-    }
-
-void CAiNotifierRenderer::RemoveNotification( TAknSoftNotificationType aType)
-    {
-    TRAP_IGNORE( iSoftNotifier->CancelSoftNotificationL( aType ); );
-    }
-
-TInt CAiNotifierRenderer::NWLostDelayCallBack(TAny* aParam)
-    {
-    CAiNotifierRenderer* self = reinterpret_cast<CAiNotifierRenderer *> (aParam);
-    if ( self )
-        {
-        self->iTimer->Cancel();
-        self->AddNotification( ESelectNetworkNotification );
-        }
-    return KErrNone;
-    }
-
-
--- a/idlehomescreen/nativeuicontroller/src/aisoftkeyrenderer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,676 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Handles publishing to title pane.
-*
-*/
-
-
-#include <eikbtgpc.h>
-#include <aknappui.h>
-#include <StringLoader.h>
-#include <AiNativeUi.rsg>
-#include <gulicon.h>
-#include <AknIconUtils.h>
-#include <AknsConstants.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknStatuspaneUtils.h>
-#include <layoutmetadata.cdl.h>
-#include <AknUtils.h>
-#include <eiksoftkeyimage.h>
-#include <AknSgcc.h>
-#include <aiscutplugindomaincrkeys.h>
-
-#include "ainativeui.hrh"
-#include "aisoftkeyrenderer.h"
-#include "ainativeuiplugins.h"
-#include "aiscutdefs.h"
-
-
-using namespace AiNativeUiController;
-
-// Index for left softkey; defined in avkon
-const TInt KNativeUiLeftSoftkeyId = 0;
-
-// Index for right softkey; defined in avkon
-const TInt KNativeUiRightSoftkeyId = 2;
-
-const TInt KControlArrayCBAButton1Posn        =0;
-const TInt KControlArrayCBAButton2Posn        =2;
-const TInt KControlArrayCBAButtonMiddlePosn   =3;
-
-const TInt KWideScreenWidth          = 640;
-
-
-inline TAknWindowComponentLayout DoCompose( TAknWindowComponentLayout aLine1,
-    TAknWindowComponentLayout aLine2 )
-    {
-    return TAknWindowComponentLayout::Compose( aLine1, aLine2 );
-    }
-
-inline TAknTextComponentLayout DoComposeText( TAknWindowComponentLayout aLine1,
-    TAknTextComponentLayout aLine2 )
-    {
-    return TAknWindowComponentLayout::ComposeText( aLine1, aLine2 );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// Calculate (whole) softkey area for Bottom button (landscape)
-// -----------------------------------------------------------------------------
-static TBool HDLayoutActive()
-    {
-    TInt resourceId = 0;
-    CEikStatusPaneBase* statusPane = CEikStatusPaneBase::Current();
-
-    if ( statusPane ) // Return the resource ID of app statuspane if it exists.
-        {
-        resourceId = statusPane->CurrentLayoutResId();
-        }
-    else // If this app does not have statuspane, then we ask the layout from AknCapServer.
-        {
-        resourceId = CAknSgcClient::CurrentStatuspaneResource();
-        }
-
-    TBool retVal = EFalse;
-
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // Can be widescreen only in landscape orientation.
-        retVal = ( resourceId == R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL ||
-                   resourceId == R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE  ||
-                   resourceId == R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT ||
-                   resourceId == R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT );
-        }
-
-    return retVal;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// Calculate softkey image graphics area for Bottom button (landscape)
-// -----------------------------------------------------------------------------
-static TRect SoftkeyRectBottomGraphics()
-    {
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-    TAknWindowComponentLayout rightAreaLayout(
-        AknLayoutScalable_Avkon::area_side_right_pane( 0 ) );
-
-    TAknWindowComponentLayout bottomSKLayout(
-        DoCompose( rightAreaLayout,
-                   AknLayoutScalable_Avkon::sctrl_sk_bottom_pane() ) );
-
-    // Calculate softkey rects.
-    // Left (bottom in landscape) softkey layout.
-    TAknLayoutRect leftSoftkeyLayoutRect;
-    leftSoftkeyLayoutRect.LayoutRect( screen,
-                                      bottomSKLayout.LayoutLine() );
-    TRect leftSoftKeyButtonRect( leftSoftkeyLayoutRect.Rect() );
-
-    // Calculate softkey image layout.
-    // Left (bottom in landscape) softkey layout.
-    TAknWindowLineLayout leftSoftkeyImageLayout(
-        DoCompose(
-            bottomSKLayout,
-            AknLayoutScalable_Avkon::sctrl_sk_bottom_pane_g1() ).LayoutLine() );
-
-
-    TAknLayoutRect qgn_graf_sk_left;
-    qgn_graf_sk_left.LayoutRect( screen, leftSoftkeyImageLayout );
-
-    return qgn_graf_sk_left.Rect();
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// Calculate softkey image graphics area for Top button (landscape)
-// -----------------------------------------------------------------------------
-static TRect SoftkeyRectTopGraphics()
-    {
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-    TAknWindowComponentLayout rightAreaLayout(
-        AknLayoutScalable_Avkon::area_side_right_pane( 0 ) );
-
-    TAknWindowComponentLayout topSKLayout(
-        DoCompose( rightAreaLayout,
-                   AknLayoutScalable_Avkon::sctrl_sk_top_pane() ) );
-
-    // Calculate softkey rects.
-    // Right (top in landscape) softkey layout.
-    TAknLayoutRect rightSoftkeyLayoutRect;
-    rightSoftkeyLayoutRect.LayoutRect( screen,
-                                       topSKLayout.LayoutLine() );
-    TRect rightSoftKeyButtonRect( rightSoftkeyLayoutRect.Rect() );
-
-    // Left (bottom in landscape) softkey layout.
-    // Right (top in landscape) softkey layout.
-    TAknWindowLineLayout rightSoftkeyImageLayout(
-        DoCompose(
-            topSKLayout,
-            AknLayoutScalable_Avkon::sctrl_sk_top_pane_g1() ).LayoutLine() );
-
-    TAknLayoutRect qgn_graf_sk_right;
-    qgn_graf_sk_right.LayoutRect( screen, rightSoftkeyImageLayout );
-    return qgn_graf_sk_right.Rect();
-    }
-
-
-// -----------------------------------------------------------------------------
-// SoftkeyRectL
-// Calculate soft key rect
-// -----------------------------------------------------------------------------
-static TRect SoftkeyRectL( CEikButtonGroupContainer& aContainer, TInt aPos, TBool aImageOn )
-    {
-    TRect rect;
-
-    if( AknStatuspaneUtils::StaconPaneActive() )
-        {
-        TInt variety( 0 );
-
-        if( AknStatuspaneUtils::StaconSoftKeysLeft() )
-            {
-            variety = 1;
-            }
-
-        TRect parentRect( iAvkonAppUi->ApplicationRect() );
-
-        switch( aPos )
-            {
-            case KControlArrayCBAButton1Posn:
-                {
-                TAknWindowComponentLayout layout0( AknLayoutScalable_Avkon::area_bottom_pane( 2 ) );
-                TAknWindowComponentLayout layout1( AknLayoutScalable_Avkon::stacon_bottom_pane() );
-
-                // If clock is shown in stacon, cba area is smaller.
-                TInt bottomCbaVariety( variety );
-
-                if( AknStatuspaneUtils::ExtendedStaconPaneActive() )
-                    {
-                    bottomCbaVariety += 2;
-                    }
-
-                TAknWindowComponentLayout layout2( AknLayoutScalable_Avkon::control_bottom_pane_stacon( bottomCbaVariety ) );
-
-                if( aImageOn )
-                    {
-                    // Icon layout
-                    TAknWindowComponentLayout iconLayout( AknLayoutScalable_Avkon::control_bottom_pane_stacon_g1() );
-
-                    TAknWindowComponentLayout lskIconLayout( DoCompose( layout0,
-                        DoCompose( layout1, DoCompose( layout2, iconLayout ) ) ) );
-
-                    TAknWindowLineLayout lskIcon( lskIconLayout.LayoutLine() );
-
-                    TAknLayoutRect qgn_icon_lsk;
-
-                    qgn_icon_lsk.LayoutRect( parentRect, lskIcon );
-
-                    rect = qgn_icon_lsk.Rect();
-                    }
-                else
-                    {
-                    // Text layout
-                    TAknTextComponentLayout textLayout( AknLayoutScalable_Avkon::control_bottom_pane_stacon_t1( variety ) );
-
-                    TAknTextComponentLayout lskTextLayout( DoComposeText( layout0,
-                        DoComposeText( layout1, DoComposeText( layout2, textLayout ) ) ) );
-
-                    TAknTextLineLayout lskText( lskTextLayout.LayoutLine() );
-
-                    TAknLayoutText qgn_text_lsk;
-
-                    qgn_text_lsk.LayoutText( parentRect, lskText );
-
-                    rect = qgn_text_lsk.TextRect();
-                    }
-                }
-                break;
-            case KControlArrayCBAButton2Posn:
-                {
-                TAknWindowComponentLayout layout0( AknLayoutScalable_Avkon::area_top_pane( 2 ) );
-                TAknWindowComponentLayout layout1( AknLayoutScalable_Avkon::stacon_top_pane() );
-
-                TInt topCbaVariety( variety );
-
-                if( AknStatuspaneUtils::ExtendedStaconPaneActive() )
-                    {
-                    topCbaVariety += 4;
-                    }
-
-                TAknWindowComponentLayout layout2( AknLayoutScalable_Avkon::control_top_pane_stacon( topCbaVariety ) );
-
-                if( aImageOn )
-                    {
-                    // Icon layout
-                    TAknWindowComponentLayout iconLayout( AknLayoutScalable_Avkon::control_top_pane_stacon_g1() );
-
-                    TAknWindowComponentLayout rskIconLayout( DoCompose( layout0,
-                        DoCompose( layout1, DoCompose( layout2, iconLayout ) ) ) );
-
-                    TAknWindowLineLayout rskIcon( rskIconLayout.LayoutLine() );
-
-                    TAknLayoutRect qgn_icon_rsk;
-
-                    qgn_icon_rsk.LayoutRect( parentRect, rskIcon );
-
-                    rect = qgn_icon_rsk.Rect();
-                    }
-                else
-                    {
-                    // Text layout
-                    TAknTextComponentLayout textLayout( AknLayoutScalable_Avkon::control_top_pane_stacon_t1( variety ) );
-
-                    TAknTextComponentLayout rskTextLayout( DoComposeText( layout0,
-                        DoComposeText( layout1, DoComposeText( layout2, textLayout ) ) ) );
-
-                    TAknTextLineLayout rskText( rskTextLayout.LayoutLine() );
-
-                    TAknLayoutText qgn_text_rsk;
-
-                    qgn_text_rsk.LayoutText( parentRect, rskText );
-
-                    rect = qgn_text_rsk.TextRect();
-                    }
-                }
-                break;
-            default:
-                User::Leave( KErrNotSupported );
-                break;
-
-            }
-        }
-    else
-        {
-        TInt textVariety( 0 );
-        TInt graphVariety( 0 );
-
-        TBool mskEnabled( AknLayoutUtils::MSKEnabled() && Layout_Meta_Data::IsMSKEnabled() );
-
-        if ( mskEnabled )
-            {
-            textVariety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 3;
-            graphVariety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 4;
-            }
-        else
-            {
-            textVariety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 0;
-            graphVariety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 4;
-            }
-
-        CEikCba* cba( static_cast< CEikCba* >( aContainer.ButtonGroup() ) );
-
-        TRect parentRect( cba->Rect() );
-
-        switch( aPos )
-            {
-            case KControlArrayCBAButton1Posn:
-                {
-                if( aImageOn )
-                    {
-                    if ( HDLayoutActive() &&
-                         AKN_LAYOUT_WINDOW_screen.iW == KWideScreenWidth )
-                        {
-                        rect = SoftkeyRectBottomGraphics();
-                        }
-                     else
-                        {
-
-                        TAknLayoutRect qgn_icon_lsk;
-
-                        qgn_icon_lsk.LayoutRect( parentRect,
-                            AknLayoutScalable_Avkon::control_pane_g1( graphVariety ).LayoutLine() );
-
-                        rect = qgn_icon_lsk.Rect();
-                        }
-                    }
-                else
-                    {
-                    TAknLayoutText qgn_text_lsk;
-
-                    qgn_text_lsk.LayoutText( parentRect,
-                        AknLayoutScalable_Avkon::control_pane_t1( textVariety ).LayoutLine() );
-
-                    rect = qgn_text_lsk.TextRect();
-                    }
-                }
-                break;
-            case KControlArrayCBAButton2Posn:
-                {
-                if( aImageOn )
-                    {
-                    if ( HDLayoutActive() &&
-                         AKN_LAYOUT_WINDOW_screen.iW == KWideScreenWidth )
-                        {
-                        rect = SoftkeyRectTopGraphics();
-                        }
-                     else
-                        {
-                        TAknLayoutRect qgn_icon_rsk;
-
-                        qgn_icon_rsk.LayoutRect( parentRect,
-                            AknLayoutScalable_Avkon::control_pane_g2( graphVariety ).LayoutLine() );
-
-                        rect = qgn_icon_rsk.Rect();
-                        }
-                    }
-                else
-                    {
-                    TAknLayoutText qgn_text_rsk;
-
-                    qgn_text_rsk.LayoutText( parentRect,
-                        AknLayoutScalable_Avkon::control_pane_t2( textVariety ).LayoutLine() );
-
-                    rect = qgn_text_rsk.TextRect();
-                    }
-                }
-                break;
-            case KControlArrayCBAButtonMiddlePosn:
-                {
-                if( !mskEnabled || aImageOn )
-                    {
-                    // No msk, or asking image size for msk
-                    User::Leave( KErrNotSupported );
-                    }
-                else
-                    {
-                    TAknLayoutText qgn_text_msk;
-
-                    qgn_text_msk.LayoutText( parentRect,
-                        AknLayoutScalable_Avkon::control_pane_t3( textVariety ).LayoutLine() );
-
-                    rect = qgn_text_msk.TextRect();
-                    }
-                }
-                break;
-            default:
-                User::Leave( KErrNotFound );
-                break;
-            }
-        }
-
-    return rect;
-    }
-
-
-// -----------------------------------------------------------------------------
-// SoftkeySizeL
-// Calculate soft key size
-// -----------------------------------------------------------------------------
-static TSize SoftkeySizeL( CEikButtonGroupContainer& aContainer, TInt aPos, TBool aImageOn )
-    {
-    TSize size( SoftkeyRectL( aContainer, aPos, aImageOn ).Size() );
-
-    return size;
-    }
-
-
-void CAiSoftKeyRenderer::ConstructL()
-    {
-    // load default soft key labels from resource
-    CreateDefaultSoftKeysL();
-    }
-
-
-CAiSoftKeyRenderer* CAiSoftKeyRenderer::NewLC()
-    {
-    CAiSoftKeyRenderer* self = new( ELeave ) CAiSoftKeyRenderer();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-CAiSoftKeyRenderer::~CAiSoftKeyRenderer()
-    {
-    delete iText;
-
-    if ( iCba )
-        {
-        CEikCba* cba =
-            static_cast< CEikCba* >( iCba->ButtonGroup() );
-        iAppUi->RemoveFromStack( cba );
-        }
-    delete iCba;
-    }
-
-
-CAiSoftKeyRenderer::CAiSoftKeyRenderer()
-    {
-    iAppUi = iAvkonAppUi;
-    }
-
-
-
-
-void CAiSoftKeyRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                        TInt aContent,
-                                        const TDesC16& aText,
-                                        TInt aIndex )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KShortcutPluginUid )
-        {
-        if( aContent == KAiScutContent[EAiScutContentShortcutShortCaption].id )
-            {
-            HBufC* temp = aText.AllocL();
-            delete iText;
-            iText = temp;
-
-            UpdateSoftKeyL( aIndex, NULL );
-            }
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
-
-
-void CAiSoftKeyRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                        TInt aContent,
-                                        TInt aResource,
-                                        TInt aIndex )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KShortcutPluginUid )
-        {
-        if( aContent == KAiScutContent[EAiScutContentShortcutShortCaption].id )
-            {
-            TInt internalId = KErrNotFound;
-            switch( aResource )
-                {
-                case EAiScutResourceBackCaption:
-                    {
-                    internalId = R_NATIVEUI_SK_BACK;
-                    break;
-                    }
-                case EAiScutResourceNewMsgShortCaption:
-                    {
-                    internalId = R_NATIVEUI_SK_NEWMSG;
-                    break;
-                    }
-                case EAiScutResourceNewEmailShortCaption:
-                    {
-                    internalId = R_NATIVEUI_SK_EMAIL;
-                    break;
-                    }
-                case EAiScutResourceNewSyncMLMailShortCaption:
-                    {
-                    internalId = R_NATIVEUI_SK_SYNCMLMAIL;
-                    break;
-                    }
-                case EAiScutResourceNewPostcardShortCaption:
-                    {
-                    internalId = R_NATIVEUI_SK_MMSPOSTCARD;
-                    break;
-                    }
-                case EAiScutResourceSelectMsgTypeShortCaption:
-                    {
-                    internalId = R_NATIVEUI_SK_MSGTYPE;
-                    break;
-                    }
-                case EAiScutResourceNewAudioMsgShortCaption:
-                    {
-                    internalId = R_NATIVEUI_SK_AUDIOMSG;
-                    break;
-                    }
-                case EAiScutResourceChangeThemeShortCaption:
-                    {
-                    internalId = R_NATIVEUI_SK_CHANGETHEME;
-                    break;
-                    }
-                default:
-                    {
-                    User::Leave( KErrNotFound );
-                    }
-                }
-
-            HBufC* temp = StringLoader::LoadL( internalId );
-            delete iText;
-            iText = temp;
-
-            UpdateSoftKeyL( aIndex, NULL );
-            }
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
-
-
-void CAiSoftKeyRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                        TInt aContent,
-                                        const TDesC8& aBuf,
-                                        TInt aIndex )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KShortcutPluginUid )
-        {
-        if( aContent == KAiScutContent[EAiScutContentShortcutSkIcon].id )
-            {
-            CGulIcon* icon = NULL;
-            TPckg<CGulIcon*>( icon ).Copy( aBuf );
-            // icon ownership is transferred
-            UpdateSoftKeyL( aIndex, icon );
-            }
-        else
-            {
-            User::Leave( KErrNotSupported );
-            }
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
-
-
-void CAiSoftKeyRenderer::CreateDefaultSoftKeysL()
-    {
-    // If we already have cba, then do nothing.
-    if ( iCba )
-        {
-        return;
-        }
-
-    // Otherwise create brand new cba.
-    iCba = CEikButtonGroupContainer::NewL(
-        CEikButtonGroupContainer::ECba,
-        CEikButtonGroupContainer::EHorizontal,
-        iAppUi,
-        R_NATIVEUI_SOFTKEYS_DEFAULT,
-        0 ); // Does not add to stack
-
-    iCba->SetBoundingRect( iAppUi->ApplicationRect() );
-
-    CCoeControl* cba = iCba->ButtonGroup()->AsControl();
-
-    static_cast<CEikCba*>(cba)->SetSkinBackgroundId(
-        KAknsIIDQsnBgAreaControlIdle );
-
-    cba->MakeVisible( ETrue );
-
-    iAppUi->RemoveFromStack( cba ); // Well, it is not in stack
-    iAppUi->AddToStackL( cba,
-                    KNativeUiCbaPriority,
-                    ECoeStackFlagRefusesFocus | ECoeStackFlagRefusesAllKeys );
-    }
-
-
-void CAiSoftKeyRenderer::UpdateSoftKeyL( TInt aKey, CGulIcon* aIcon )
-    {
-    if( !iCba )
-        {
-        iCba = iAppUi->Cba();
-        }
-
-    // remove the locked flag if any
-    aKey &= KScutBitMaskLocked;
-
-    TInt buttonPosImage;
-    TInt buttonPosText;
-    TInt buttonCmd;
-
-    if( aKey == KLeftSoftkeyId )
-        {
-        buttonPosImage = KControlArrayCBAButton1Posn;
-        buttonPosText = KNativeUiLeftSoftkeyId;
-        buttonCmd = ENativeUiSoftkeyLeft;
-        }
-    else if(aKey == KRightSoftkeyId)
-        {
-        buttonPosImage = KControlArrayCBAButton2Posn;
-        buttonPosText = KNativeUiRightSoftkeyId;
-        buttonCmd = ENativeUiSoftkeyRight;
-        }
-    else
-        {
-        delete aIcon;
-        return;
-        }
-
-    if( aIcon )
-        {
-        CleanupStack::PushL( aIcon );
-
-        TSize size( SoftkeySizeL( *iCba, buttonPosImage, ETrue ) );
-
-        AknIconUtils::SetSize( aIcon->Bitmap(), size, EAspectRatioPreserved );
-        AknIconUtils::SetSize( aIcon->Mask(), size, EAspectRatioPreserved );
-
-        CEikImage* image = new ( ELeave ) CEikImage;
-        image->SetPictureOwnedExternally( EFalse );
-        // Bitmap and mask ownerships are transferred
-        image->SetPicture( aIcon->Bitmap(), aIcon->Mask() );
-        aIcon->SetBitmapsOwnedExternally( ETrue );
-
-        // Image ownership is transferred
-        EikSoftkeyImage::SetImage( iCba, *image, aKey == KLeftSoftkeyId );
-
-        CleanupStack::PopAndDestroy( aIcon );
-        }
-    else
-        {
-        EikSoftkeyImage::SetLabel( iCba, aKey == KLeftSoftkeyId );
-        iCba->SetCommandL( buttonPosText,
-                            buttonCmd,
-                            *iText );
-        }
-
-    iCba->DrawDeferred();
-    }
--- a/idlehomescreen/nativeuicontroller/src/aistatuspanel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Handles of drawing text on navi and title panes.
-*
-*/
-
-
-#include <aknappui.h>
-#include <aknnavide.h>
-#include <aknnavi.h>
-#include <aknnavilabel.h>
-#include <akntitle.h>
-#include <AknUtils.h>
-#include <AknIconUtils.h>
-#include <avkon.rsg>
-#include <AknStatuspaneUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknLayout2ScalableDef.h>
-#include <e32property.h>
-#include <avkondomainpskeys.h>
-#include <telinformationpskeys.h>
-#include <AknNaviDecoratorObserver.h>
-#include <AknTitlePaneObserver.h>
-#include "aistatuspanel.h"
-#include "debug.h"
-
-using namespace AiNativeUiController;
-
-// Read capability: ReadDeviceData.
-_LIT_SECURITY_POLICY_C1( KReadPolicy, ECapabilityReadDeviceData );
-// Write capability: WriteDeviceData.
-_LIT_SECURITY_POLICY_C1( KWritePolicy, ECapabilityWriteDeviceData );
-
-
-void CAiStatusPanel::ConstructL()
-    {
-    // Display info
-    RProperty::Define(
-        KPSUidTelInformation,
-        KTelDisplayInfo,
-        RProperty::EByteArray,
-        KReadPolicy,
-        KWritePolicy );
-
-    // RenderTitlePaneL() can be called without the bitmap set to valid handle
-    iBitmapHandle = KErrNotFound;
-    // Get pointer to status pane
-    iStatusPane = static_cast<CAknAppUi*>( CEikonEnv::Static()->
-        EikAppUi() )->StatusPane();
-
-    // If status pane can't be initialized, let framework handle the problem
-    if( !iStatusPane )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    //Get pointer to title pane
-    iTitlePane = ( CAknTitlePane* )iStatusPane->ControlL(
-        TUid::Uid( EEikStatusPaneUidTitle ) );
-
-    // If title pane can't be initialized, let framework handle the problem
-    if( !iTitlePane )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    //Get pointer to navi pane
-    iNaviPane = (CAknNavigationControlContainer *)iStatusPane->
-        ControlL(TUid::Uid(EEikStatusPaneUidNavi));
-
-    // If navi pane can't be initialized, let framework handle the problem
-    if( !iNaviPane )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    // Construct navi pane
-    //iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC() );
-    //iNaviPane->PushL( *iNaviDecorator );
-
-#ifdef _DEBUG
-    _LIT(titlepanetext, "Operator");
-    SetTitlePaneTextL(titlepanetext);
-#endif
-    }
-
-
-CAiStatusPanel* CAiStatusPanel::NewL()
-    {
-    CAiStatusPanel* self = new( ELeave ) CAiStatusPanel;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-
-CAiStatusPanel::~CAiStatusPanel()
-    {
-    delete iTitlePaneText;
-    delete iNaviPaneText;
-    delete iNaviDecorator;
-    }
-
-
-CAiStatusPanel::CAiStatusPanel()
-    {
-    }
-
-
-void CAiStatusPanel::RenderTextOnNaviPaneL()
-    {
-    if( iNaviPaneText )
-        {
-        if (!iNaviDecorator)
-            {
-            iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC() );
-
-            iNaviDecorator->SetNaviDecoratorObserver( iNaviDecoratorObserver );
-
-            iNaviPane->PushL( *iNaviDecorator );
-            }
-        CAknNaviLabel* naviLabel =
-            static_cast< CAknNaviLabel* >( iNaviDecorator->DecoratedControl() );
-        if( naviLabel )
-            {
-            naviLabel->SetTextL( *iNaviPaneText );
-            iNaviDecorator->DrawDeferred();
-            }
-        else
-            {
-            User::Leave( KErrNotFound );
-            }
-        }
-    else
-        {
-        iNaviPane->Pop( iNaviDecorator );
-        delete iNaviDecorator;
-        iNaviDecorator = NULL;
-        }
-    }
-
-void CAiStatusPanel::RenderTextOnTitlePaneL()
-    {
-    __PRINTS("XAI: Rendering text to title pane");
-    if( !iTitlePaneText )
-        {
-        __PRINTS("XAI: Rendering text to title pane - invalid text, aborting");
-        return;
-        }
-
-    TTelTitleDisplay displayText;
-    displayText.iLogoHandle = 0;
-    displayText.iLogoMaskHandle = 0;
-    TBool scroll = !IsKeyLockEnabled();
-    iTitlePane->SetText( iTitlePaneText, scroll );
-    displayText.iDisplayTag.Copy(
-    iTitlePaneText->Left(displayText.iDisplayTag.MaxLength()) );
-
-    // SetText took ownership
-    iTitlePaneText = NULL;
-
-    UpdatePhoneDisplayInfo( displayText );
-    __PRINTS("XAI: Rendering text to title pane - done");
-    }
-
-
-void CAiStatusPanel::RenderBitmapOnTitlePaneL()
-    {
-    __PRINTS("XAI: Rendering bitmap to title pane");
-    if( iBitmapHandle == KErrNotFound )
-        {
-        __PRINTS("XAI: Rendering bitmap to title pane - invalid bitmap handle, aborting");
-        return;
-        }
-
-    TSize size;
-    TRect rect;
-    TBool hasTitlePane = AknLayoutUtils::LayoutMetricsRect(
-                                            AknLayoutUtils::ETitlePane, rect );
-    if ( !hasTitlePane )
-        {
-        // no title pane, size is unknown.
-        User::Leave( KErrNotReady );
-        }
-    User::LeaveIfError( GetTitlePaneSize( size ) );
-
-    // CAknIcon takes ownership of bitmaps.
-    CFbsBitmap* dupMain = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( dupMain );
-    User::LeaveIfError(
-        dupMain->Duplicate( iBitmapHandle ) );
-
-    CFbsBitmap* dupMask = NULL;
-    if ( iMaskHandle != KErrNotFound )
-        {
-        dupMask = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( dupMask );
-        User::LeaveIfError(
-            dupMask->Duplicate( iMaskHandle ) );
-        }
-
-    //bitmapIcon is not pushed to cleanupstack, ownership
-    //is transferred later
-    CAknIcon* bitmapIcon = CAknIcon::NewL();
-    bitmapIcon->SetMask( dupMask ); // ownership transferred
-    if ( iMaskHandle != KErrNotFound )
-        {
-        CleanupStack::Pop( dupMask );
-        }
-
-    bitmapIcon->SetBitmap( dupMain ); // ownership transferred
-    CleanupStack::Pop( dupMain );
-
-    //ownership of bitmapIcon is transferred
-    CAknIcon* scalableIcon = AknIconUtils::CreateIconL( bitmapIcon );
-    CleanupStack::PushL( scalableIcon );
-
-    AknIconUtils::SetSize( scalableIcon->Bitmap(), size,
-                           EAspectRatioPreservedAndUnusedSpaceRemoved );
-    AknIconUtils::SetSize( scalableIcon->Mask(), size,
-                           EAspectRatioPreservedAndUnusedSpaceRemoved );
-
-    // Title pane takes ownership of icons.
-    CFbsBitmap* bitmap = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( bitmap );
-    User::LeaveIfError( bitmap->Duplicate( scalableIcon->Bitmap()->Handle() ) );
-
-    // Check if icon has mask
-    CFbsBitmap* bitmapMask = NULL;
-    if ( scalableIcon->Mask() )
-        {
-        bitmapMask = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( bitmapMask );
-        User::LeaveIfError(
-            bitmapMask->Duplicate( scalableIcon->Mask()->Handle() ) );
-        }
-
-    // Set the icon in title pane...
-    iTitlePane->SetPicture( bitmap, bitmapMask );
-
-    const TInt bitmapHandle = bitmap ? bitmap->Handle() : 0;
-    const TInt bitmapMaskHandle = bitmapMask ? bitmapMask->Handle() : 0;
-
-    // ... and inform TSY to use it
-    TTelTitleDisplay displayText;
-    displayText.iDisplayTag.Zero();
-    displayText.iLogoHandle = bitmapHandle;
-    displayText.iLogoMaskHandle = bitmapMaskHandle;
-
-    UpdatePhoneDisplayInfo( displayText );
-
-    if ( bitmapMask )
-        {
-        CleanupStack::Pop( bitmapMask );
-        }
-    CleanupStack::Pop( bitmap );
-    CleanupStack::PopAndDestroy( scalableIcon );
-
-
-    // Assume invalid bitmaps. Client needs to set the handles again
-    // Otherwise invalid handles could be hold here and when drawing
-    // undetermined stuff could occurr
-    iBitmapHandle = KErrNotFound;
-    iMaskHandle = KErrNotFound;
-    __PRINTS("XAI: Rendering bitmap to title pane - done");
-    }
-
-TInt CAiStatusPanel::GetTitlePaneSize( TSize& aSize )
-    {
-    TRect titlePaneRect;
-    TBool hasTitlePane = AknLayoutUtils::LayoutMetricsRect(
-        AknLayoutUtils::ETitlePane, titlePaneRect );
-
-    if ( !hasTitlePane )
-        {
-        return KErrNotFound;
-        }
-
-    TAknLayoutRect oplogoLayout;
-
-    if ( AknStatuspaneUtils::StaconPaneActive() )
-        {
-        // stacon
-        oplogoLayout.LayoutRect( titlePaneRect,
-            AknLayoutScalable_Avkon::title_pane_stacon_g2(0).LayoutLine() );
-        }
-    else if ( AknStatuspaneUtils::FlatLayoutActive() )
-        {
-        // flat
-        oplogoLayout.LayoutRect( titlePaneRect,
-            AknLayoutScalable_Avkon::title_pane_stacon_g2(0).LayoutLine() );
-        }
-    else
-        {
-        // usual idle
-        oplogoLayout.LayoutRect( titlePaneRect,
-            AknLayout::Title_pane_elements_Line_1() );
-        }
-
-    aSize = oplogoLayout.Rect().Size();
-
-    return KErrNone;
-    }
-
-
-void CAiStatusPanel::UpdatePhoneDisplayInfo( const TTelTitleDisplay& aDisplayInfo )
-    {
-    TBool changed = EFalse;
-    TBool indicatorChanged =
-        aDisplayInfo.iDisplayTag != iDisplayInfo.iDisplayTag ||
-        aDisplayInfo.iLogoHandle != iDisplayInfo.iLogoHandle ||
-        aDisplayInfo.iLogoMaskHandle != iDisplayInfo.iLogoMaskHandle;
-
-    if ( indicatorChanged )
-        {
-        changed = ETrue;
-        iDisplayInfo.iDisplayTag = aDisplayInfo.iDisplayTag;
-        iDisplayInfo.iLogoHandle = aDisplayInfo.iLogoHandle;
-        iDisplayInfo.iLogoMaskHandle = aDisplayInfo.iLogoMaskHandle;
-        }
-
-    if ( changed )
-        {
-        TTelTitleDisplay::TDisplayInfoPckg pckg( iDisplayInfo );
-        RProperty::Set(
-            KPSUidTelInformation,
-            KTelDisplayInfo,
-            pckg );
-        }
-    }
-
-
-void CAiStatusPanel::SetNaviPaneTextL( const TDesC& aText )
-    {
-    delete iNaviPaneText;
-    iNaviPaneText = NULL;
-    if ( !AknStatuspaneUtils::FlatLayoutActive() )
-        {
-        HBufC* temp = aText.AllocL();
-        iNaviPaneText = temp;
-        }
-    }
-
-
-
-void CAiStatusPanel::SetTitlePaneTextL( const TDesC& aText )
-    {
-    HBufC* temp = aText.AllocL();
-    delete iTitlePaneText;
-    iTitlePaneText = temp;
-    }
-
-
-void CAiStatusPanel::SetTitlePaneBitmapL( TInt aBitmapHandle, TInt aMaskHandle )
-    {
-    iBitmapHandle = aBitmapHandle;
-    iMaskHandle = aMaskHandle;
-    }
-
-
-void CAiStatusPanel::RenderTitlePaneL()
-    {
-    RenderTextOnTitlePaneL();
-    RenderBitmapOnTitlePaneL();
-    }
-
-
-void CAiStatusPanel::RenderNaviPaneL()
-    {
-    RenderTextOnNaviPaneL();
-    }
-
-void CAiStatusPanel::StopTitlePaneScrollingL()
-    {
-    // stop scrolling
-    if( iTitlePane->Text() )
-        {
-        iTitlePane->SetTextL( *iTitlePane->Text(), EFalse );
-        }
-    }
-
-void CAiStatusPanel::ScrollTitlePaneTextL()
-    {
-    // start scrolling
-    if( iTitlePane->Text() )
-        {
-        iTitlePane->SetTextL( *iTitlePane->Text(), ETrue );
-        }
-    }
-
-void CAiStatusPanel::SetNaviDecoratorObserver( MAknNaviDecoratorObserver* aObserver )
-    {
-    iNaviDecoratorObserver = aObserver;
-    }
-
-void CAiStatusPanel::SetTitlePaneObserver( MAknTitlePaneObserver* aObserver )
-    {
-    iTitlePane->SetTitlePaneObserver( aObserver );
-    }
-
-TBool CAiStatusPanel::IsKeyLockEnabled()
-    {
-    TInt value;
-    TInt err = RProperty::Get(KPSUidAvkonDomain, KAknKeyguardStatus, value);
-    if ( err != KErrNone )
-        return EFalse;
-    switch( value )
-        {
-        case EKeyguardLocked:
-        case EKeyguardAutolockEmulation:
-            return ETrue;
-        case EKeyguardNotActive:
-        default:
-            return EFalse;
-        }
-    }
-
--- a/idlehomescreen/nativeuicontroller/src/aistatuspanetouchui.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Choice list.
-*
-*/
-
-
-#include <AknLayout2ScalableDef.h>
-#include <aipropertyextension.h>
-
-#include "aistrcnv.h"
-#include "aistatuspanetouchui.h"
-#include "aistatuspanel.h"
-#include "ainativeuiplugins.h"
-#include "aifweventhandler.h"
-#include "aiconsts.h"
-#include "aidevicestatuscontentmodel.h"
-#include <aknstyluspopupmenu.h>
-
-#include <AiNativeUi.rsg>
-#include <AknUtils.h>
-#include <aknnavide.h>
-#include <akntitle.h>
-#include <MProfileEngine.h>
-#include <viewcli.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-
-#ifdef RD_TACTILE_FEEDBACK
-#include <touchfeedback.h>
-#endif
-
-using namespace AiNativeUiController;
-
-_LIT( KProfileSwitchByIndexEvent, "Profile/SwitchProfileByIndex" );
-const TInt KProfileSwitchByIndexEventLength = 28;
-const TInt KRadix = 10;
-const TText16 KEventParameterTerminator = ')';
-const TInt KExtraItems = 2;
-const TInt KStylusMenuMaxItemsDefault = 0;
-
-_LIT( KOpenAppProfiles, "Shortcut/LaunchByValue(localapp:0x100058F8)" );
-_LIT( KOpenAppCalendar, "Shortcut/LaunchByValue(localapp:0x10005901)" );
-
-static TInt IndexLength( TInt aIndex )
-    {
-    TInt length = 0;
-
-    if ( aIndex < 0 )
-         {
-         ++length;
-         }
-
-    do
-      {
-        aIndex /= KRadix;
-        ++length;
-        }
-    while ( aIndex != 0 );
-    return length;
-  }
-
-// ======== MEMBER FUNCTIONS ========
-
-
-CAiStatusPaneTouchUi* CAiStatusPaneTouchUi::NewL( CAiStatusPanel& aStatusPanel,
-                          MAiFwEventHandler& aEventHandler )
-    {
-    CAiStatusPaneTouchUi* self = CAiStatusPaneTouchUi::NewLC( aStatusPanel, aEventHandler );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-CAiStatusPaneTouchUi* CAiStatusPaneTouchUi::NewLC( CAiStatusPanel& aStatusPanel,
-                          MAiFwEventHandler& aEventHandler )
-    {
-    CAiStatusPaneTouchUi* self = new (ELeave) CAiStatusPaneTouchUi( aStatusPanel, aEventHandler );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-
-    return self;
-    }
-
-CAiStatusPaneTouchUi::CAiStatusPaneTouchUi( CAiStatusPanel& aStatusPanel,
-                          MAiFwEventHandler& aEventHandler )
-  :
-  iStatusPane( aStatusPanel ),
-  iEventHandler( aEventHandler )
-    {
-  // no implementation required
-    }
-
-CAiStatusPaneTouchUi::~CAiStatusPaneTouchUi()
-    {
-    delete iEventBuffer;
-    delete iMenu;
-    iProfileNamePointerArray.ResetAndDestroy();
-    }
-
-void CAiStatusPaneTouchUi::ConstructL()
-    {
-    if( AknLayoutUtils::PenEnabled() )
-        {
-        iStatusPane.SetNaviDecoratorObserver( this );
-        }
-    }
-
-void CAiStatusPaneTouchUi::LoadUIDefinitionL()
-    {
-    // If profile popup exists, for example, when screendevicechange occurs,
-    // the popup is closed
-    if( iMenu )
-        {
-        delete iMenu;
-        iMenu = NULL;
-        }
-    }
-
-void CAiStatusPaneTouchUi::ProcessCommandL( TInt aCommandId )
-    {
-    if( aCommandId == EAIGotoCalendarCmdLink )
-      {
-      //Open calendar application
-      iEventHandler.HandlePluginEvent( KOpenAppCalendar );
-      }
-    else if( aCommandId == EAIShowAllProfileCmdLink )
-      {
-      //Open profile application
-      iEventHandler.HandlePluginEvent( KOpenAppProfiles );
-      }
-    else
-      {
-
-    // Calculate event buffer length
-      TInt length = KProfileSwitchByIndexEventLength
-                    + KPluginEventSeparatorLength
-                  + IndexLength( aCommandId - EAIProfileCmdLink )
-                    + KEventParameterSeparatorLength;
-
-        // Allocate event buffer
-        TPtr event = AiUtility::EnsureBufMaxLengthL( iEventBuffer, length );
-
-        // Create event string
-        event.Zero();
-        event.Append( KProfileSwitchByIndexEvent );
-        event.Append( KEventParameterSeparator );
-        event.AppendNum( aCommandId - EAIProfileCmdLink );
-        event.Append( KEventParameterTerminator );
-
-      iEventHandler.HandlePluginEvent( event );
-      }
-    }
-
-
-
-void CAiStatusPaneTouchUi::HandleNaviDecoratorEventL( TInt aEventID )
-    {
-    if( aEventID == EAknNaviDecoratorEventNaviLabel )
-        {
-#ifdef RD_TACTILE_FEEDBACK
-        MTouchFeedback* feedback = MTouchFeedback::Instance();
-        if ( feedback )
-            {
-            feedback->InstantFeedback( ETouchFeedbackBasic );
-            }
-#endif
-
-        TBool isShowAllProfilesItem = EFalse;
-        TInt count = iProfileNamePointerArray.Count();
-
-        if ( !count )
-            {
-            //profile plugin is not ready!
-            return;
-            }
-
-        TInt aiStylusMenuMaxItems = KStylusMenuMaxItemsDefault;
-        TPoint tapPoint(0,0);
-        TRect clientRect;
-        TRect naviRect;
-
-        // Check screen sizes
-        TInt isMainPane = AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, clientRect );
-        TInt isNaviPane = AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::ENaviPane, naviRect );
-
-        // Calculating how many items fits into menu, using font height
-        TAknLayoutText layoutText;
-        layoutText.LayoutText( naviRect,
-                AknLayoutScalable_Avkon::list_single_touch_menu_pane_t1().LayoutLine());
-
-        TInt txtHeight = layoutText.Font()->HeightInPixels();
-        // More additional space for marginals
-        txtHeight += txtHeight + txtHeight/2;
-
-        if( isNaviPane )
-            {
-            if ( AknLayoutUtils::LayoutMirrored() )
-                {
-                tapPoint.SetXY( naviRect.iBr.iX, naviRect.iBr.iY );
-                }
-            else
-                {
-                tapPoint.SetXY( naviRect.iTl.iX, naviRect.iBr.iY );
-                }
-            }
-
-        if ( iMenu )
-            {
-            delete iMenu;
-            iMenu = NULL;
-            }
-
-        iMenu = CAknStylusPopUpMenu::NewL( this, tapPoint );
-
-        if( isMainPane )
-            {
-            // Count how many menu items would fit into screen
-            aiStylusMenuMaxItems = clientRect.Height() / txtHeight;
-            }
-
-            HBufC* caleText = StringLoader::LoadLC( R_IDLE_NAVI_TAPPED_CALE );
-            iMenu->AddMenuItemL( *caleText, EAIGotoCalendarCmdLink );
-            CleanupStack::PopAndDestroy( caleText );
-            count++;
-
-      // Space for 2 extra items GotoCalendar and ShowAllProfiles
-      if( count > aiStylusMenuMaxItems )
-    	  {
-    	  count = aiStylusMenuMaxItems - KExtraItems;
-            isShowAllProfilesItem = ETrue;
-            }
-        else
-            {
-    	  count -= 1;
-            }
-
-        for( TInt i = 0; i < count; i++ )
-            {
-            iMenu->AddMenuItemL( iProfileNamePointerArray[i]->Des(), i + EAIProfileCmdLink );
-            }
-
-        if( isShowAllProfilesItem )
-            {
-            HBufC* allProfilesText = StringLoader::LoadLC( R_IDLE_NAVI_TAPPED_ALL_PROF );
-            iMenu->AddMenuItemL( *allProfilesText, EAIShowAllProfileCmdLink );
-            CleanupStack::PopAndDestroy( allProfilesText );
-            }
-
-        iMenu->ShowMenu();
-        }
-    }
-
-
-void CAiStatusPaneTouchUi::DoPublishL( MAiPropertyExtension& aPlugin,
-                    TInt aContent,
-                    const TDesC16& aText,
-                    TInt aIndex )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KProfilePluginUid )
-      {
-      switch( aContent )
-        {
-        case EAiProfileContentProfileName:
-        {
-        if( aIndex - 1 == 0  )
-          {
-          iProfileNamePointerArray.ResetAndDestroy();
-          }
-
-        TInt count = iProfileNamePointerArray.Count();
-
-        if( count >= aIndex  )
-          {
-          delete iProfileNamePointerArray[ aIndex - 1 ];
-          iProfileNamePointerArray.Remove( aIndex - 1);
-          }
-
-        HBufC* name = aText.AllocL();
-        iProfileNamePointerArray.Insert( name, aIndex - 1 );
-        break;
-        }
-        default:
-          {
-          break;
-          }
-        };
-      }
-
-    else
-      {
-      User::Leave( KErrNotFound );
-      }
-    }
-
-void CAiStatusPaneTouchUi::SetEmphasis( CCoeControl* /*aMenuControl*/, TBool /*aEmphasis*/ )
-  {
-  }
-
-
--- a/idlehomescreen/nativeuicontroller/src/aistyluspopupmenu.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2005-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface for controlling stylus popup menu.
-*
-*/
-
-
-#include <aknpreviewpopupcontroller.h>
-#include <eikmobs.h>
-#include <aknutils.h>
-#include <barsread.h>
-
-#include "aistyluspopupmenu.h"
-#include "aistyluspopupmenucontent.h"
-
-const TInt KDefaultPopUpShowDelay = 0;
-const TInt KDefaultPopUpHideDelay = 10000000; // 10 seconds
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Default constructor
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenu::CAiStylusPopUpMenu( MEikMenuObserver* aObserver, 
-    const TPoint& aPoint,
-    CAknPreviewPopUpController* aPopup ) 
-    : iPosition ( aPoint ),
-     iMenuObserver( aObserver ),
-     iPreviewPopup( aPopup )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenu::ConstructL()
-    {
-    iContent = CAiStylusPopUpMenuContent::NewL();
-    
-    iController = CAknPreviewPopUpController::NewL( *iContent,
-            CAknPreviewPopUpController::ELayoutSubMenu );
-    iController->SetPopUpShowDelay( KDefaultPopUpShowDelay );
-    iController->SetPopUpHideDelay( KDefaultPopUpHideDelay );
-    iController->SetPosition( iPosition );
-    }
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::NewL
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenu* CAiStylusPopUpMenu::NewL( 
-                            MEikMenuObserver* aObserver, const TPoint& aPoint,
-                            CAknPreviewPopUpController* aPopup )
-    {
-    if( !AknLayoutUtils::PenEnabled() )
-        {
-        return NULL;
-        }
-
-    CAiStylusPopUpMenu* self = CAiStylusPopUpMenu::NewLC( aObserver, 
-                                                            aPoint,
-                                                            aPopup );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::NewL
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenu* CAiStylusPopUpMenu::NewL( 
-                            MEikMenuObserver* aObserver, const TPoint& aPoint )
-    {
-    if( !AknLayoutUtils::PenEnabled() )
-        {
-        return NULL;
-        }
-
-    CAiStylusPopUpMenu* self = CAiStylusPopUpMenu::NewLC( aObserver, 
-                                                            aPoint, NULL );
-    CleanupStack::Pop( self );
-    return self;
-    }
-  
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::NewLC
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenu* CAiStylusPopUpMenu::NewLC(
-                            MEikMenuObserver* aObserver, const TPoint& aPoint,
-                            CAknPreviewPopUpController* aPopup )
-    {
-    if( !AknLayoutUtils::PenEnabled() )
-        {
-        return NULL;
-        }
-
-    CAiStylusPopUpMenu* self = new ( ELeave ) CAiStylusPopUpMenu( aObserver,
-                                                                    aPoint,
-                                                                    aPopup );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenu::~CAiStylusPopUpMenu()
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        delete iController;
-        delete iContent;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::AddMenuItemL
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenu::AddMenuItemL( const TDesC& aItem, 
-                                                        const TInt aCommandId )
-    {
-    if(AknLayoutUtils::PenEnabled())
-        {
-        iContent->AddMenuItemL( aItem, aCommandId, *this );
-        }
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::RemoveMenuItem
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenu::RemoveMenuItem( const TInt aCommandId )
-    {
-    if(AknLayoutUtils::PenEnabled())
-        {
-        iContent->RemoveMenuItem( aCommandId );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::SetItemDimmed
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenu::SetItemDimmed( const TInt aCommandId, const TBool aDimmed )
-    {
-    if(AknLayoutUtils::PenEnabled())
-        {
-        iContent->SetItemDimmed( aCommandId, aDimmed );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::ShowMenu
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenu::ShowMenu()
-    {
-    if(AknLayoutUtils::PenEnabled())
-        {
-        iController->ShowPopUp();
-        }   
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::SetPosition
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenu::SetPosition( const TPoint& aPoint )
-    {
-    if(AknLayoutUtils::PenEnabled())
-        {
-        iController->SetPosition( aPoint );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenu::ConstructFromResourceL
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenu::ConstructFromResourceL( TResourceReader&
-                                                           aReader )
-    {
-    if(!AknLayoutUtils::PenEnabled())
-        {
-        return;
-        }
-
-    TInt count = aReader.ReadInt16();
-    if ( count > KAiStylusMenuMaxItems )
-        {
-        // Only allowed number of items read from resources.
-        count = KAiStylusMenuMaxItems;
-        }
-    TInt commandId;
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TPtrC text = aReader.ReadTPtrC();
-        commandId = aReader.ReadInt32();
-        iContent->AddMenuItemL( text, commandId, *this );
-        aReader.ReadInt32(); // extension link
-        iController->UpdateContentSize();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MCoeControlObserver.
-// Handles stylus tap events by forwarding the event to the observer.
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenu::HandleControlEventL( CCoeControl* aControl,
-                                                        TCoeEvent aEventType )
-    {
-    if(!AknLayoutUtils::PenEnabled())
-        {
-        return;
-        }
-
-    if ( aControl && aEventType == EEventStateChanged )
-        {
-        if ( iPreviewPopup )
-            {
-            iPreviewPopup->HidePopUp();
-            }
-        iController->HidePopUp();
-        iMenuObserver->ProcessCommandL( iContent->CommandId( aControl ) );
-        }
-    }
-
--- a/idlehomescreen/nativeuicontroller/src/aistyluspopupmenucontent.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Content that is shown inside a stylus popup menu.
-*
-*/
-
-
-#include <aknbutton.h>
-#include <eikon.hrh>
-#include <aknlayoutscalable_avkon.cdl.h>
-
-#include "aistyluspopupmenucontent.h"
-
-const TInt KItemArrayGranularity = 10;
-
-// Item shown or dimmed
-const TInt KShown = 0;
-const TInt KHidden = 0x02;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenuContent::CAiStylusPopUpMenuContent() :
-    iItems( KItemArrayGranularity ),
-    iCommands( KItemArrayGranularity )
-    {
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenuContent::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenuContent::ConstructL()
-    {
-    for ( TInt i=0; i<KAiStylusMenuMaxItems; i++ )
-        {
-        iVisibility[i] = KShown;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenuContent::NewL
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenuContent* CAiStylusPopUpMenuContent::NewL()
-    {
-    CAiStylusPopUpMenuContent* self = CAiStylusPopUpMenuContent::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAiStylusPopUpMenuContent::NewLC
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenuContent* CAiStylusPopUpMenuContent::NewLC()
-    {
-    CAiStylusPopUpMenuContent* self =
-                                    new ( ELeave ) CAiStylusPopUpMenuContent;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CAiStylusPopUpMenuContent::~CAiStylusPopUpMenuContent()
-    {
-    iItems.ResetAndDestroy();
-    iCommands.Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Adds a new menu item to the array of items.
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenuContent::AddMenuItemL( const TDesC& aItem,
-    const TInt aCommandId, MCoeControlObserver& aObserver )
-    {
-    if ( iItems.Count() >= KAiStylusMenuMaxItems )
-        {
-        return;
-        }
-    TInt flags = 0;
-    flags = KAknButtonTextLeft | KAknButtonSizeFitText | KAknButtonNoFrame;
-    CAknButton* item = CAknButton::NewL( NULL, NULL, NULL, NULL, aItem,
-        KNullDesC, flags, 0 );
-
-    item->SetTextFont( AknLayoutUtils::FontFromId(
-        AknLayoutScalable_Avkon::
-            list_single_popup_submenu_pane_t1( 0 ).LayoutLine().FontId() ) );
-    item->SetBackground( Background() );
-    item->SetObserver( &aObserver );
-    iItems.Append( item );
-    iCommands.Append( aCommandId );
-    SizeChanged();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Removes the menu item based on the given command id and frees the
-// memory occupied by it.
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenuContent::RemoveMenuItem( const TInt aCommandId )
-    {
-    TInt itemIndex;
-    for ( itemIndex = 0; itemIndex < iItems.Count(); itemIndex++ )
-        {
-        if ( iCommands[itemIndex] == aCommandId )
-            {
-            delete iItems[itemIndex];
-            iItems.Remove( itemIndex );
-            iCommands.Remove( itemIndex );
-            iVisibility[itemIndex] = KShown;
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Hides / unhides the menu item based on the given command id
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenuContent::SetItemDimmed( const TInt aCommandId, const TBool aDimmed )
-    {
-    TInt itemIndex;
-    for ( itemIndex = 0; itemIndex < iItems.Count(); itemIndex++ )
-        {
-        if ( iCommands[itemIndex] == aCommandId )
-            {
-            if ( aDimmed )
-                {
-                iVisibility[itemIndex] = KHidden;
-                }
-            else
-                {
-                iVisibility[itemIndex] = KShown;
-                }
-            SizeChanged();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the command id of the specified menu item.
-// ---------------------------------------------------------------------------
-//
-TInt CAiStylusPopUpMenuContent::CommandId( CCoeControl* aControl ) const
-    {
-    TInt retVal = 0;
-    for ( TInt i = 0; i < iItems.Count(); i++ )
-        {
-        if ( iItems[i] == aControl )
-            {
-            retVal = iCommands[i];
-            }
-        }
-    return retVal;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl
-// Calculates the total size needed to display the items.
-// ---------------------------------------------------------------------------
-//
-TSize CAiStylusPopUpMenuContent::MinimumSize()
-    {
-    TInt totalHeight = 0; // height of all menu items combined.
-    TInt width = 0; // Width of the widest menu item.
-    TSize itemSize;
-
-    for ( TInt i = 0; i < iItems.Count(); i++ )
-        {
-        if ( iVisibility[i] == KShown )
-            {
-            itemSize = iItems[i]->MinimumSize();
-            if ( itemSize.iWidth > width )
-                {
-                width = itemSize.iWidth;
-                }
-            totalHeight += itemSize.iHeight;
-            }
-        }
-    return TSize( width, totalHeight );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl
-// CAiStylusPopUpMenuContent::CountComponentControls
-// ---------------------------------------------------------------------------
-//
-TInt CAiStylusPopUpMenuContent::CountComponentControls()  const
-    {
-    TInt count ( 0 );
-
-    for ( TInt i = 0; i < iItems.Count(); i++ )
-        {
-        if ( iVisibility[i] == KShown )
-            {
-            count++;
-            }
-        }
-    return count;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl
-// CAiStylusPopUpMenuContent::ComponentControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CAiStylusPopUpMenuContent::ComponentControl(
-                                                        TInt aIndex ) const
-    {
-    TInt count ( 0 );
-
-    for ( TInt i = 0; i< iItems.Count(); i++ )
-        {
-        // Skip dimmed item(s)
-        if ( iVisibility[i] == KShown )
-            {
-            if ( count == aIndex )
-                {
-                return iItems[i];
-                }
-            count++;
-            }
-        }
-
-    // Should never come here
-    return NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl
-// CAiStylusPopUpMenuContent::HandleResourceChange
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenuContent::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-
-    if ( aType == KAknsMessageSkinChange )
-        {
-        // Implementation when graphics are ready.
-        }
-    else if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SizeChanged();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl
-// CAiStylusPopUpMenuContent::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CAiStylusPopUpMenuContent::SizeChanged()
-    {
-    if ( iItems.Count() == 0 )
-        {
-        return;
-        }
-    // Note:  LAF data missing at the moment
-    TRect rect = Rect();
-    TInt itemHeight = iItems[0]->Size().iHeight;
-    TPoint topLeft = rect.iTl;
-    TSize itemSize( 0, 0 );
-
-    // Position items starting from the topmost item
-    for ( TInt i = 0; i < iItems.Count(); i++ )
-        {
-        // Skip hidden item(s)
-        if ( iVisibility[i] == KShown )
-            {
-            // CAknButton::MinimumSize returns the size needed by the item text.
-            itemSize = iItems[i]->MinimumSize();
-            iItems[i]->SetRect( TRect( topLeft, itemSize ) );
-            topLeft.iY += itemHeight; // Move next item down.
-            }
-        }
-    }
--- a/idlehomescreen/nativeuicontroller/src/aititlepanerenderer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Handles publishing to title pane.
-*
-*/
-
-
-#include <StringLoader.h>
-#include <AiNativeUi.rsg>
-#include <gulicon.h>
-#include "aititlepanerenderer.h"
-#include "aistatuspanel.h"
-#include "aipropertyextension.h"
-#include <aicontentrequest.h>
-#include "ainativeuiplugins.h"
-#include "debug.h"
-
-using namespace AiNativeUiController;
-
-
-void CAiTitlePaneRenderer::ConstructL()
-    {
-    }
-
-
-CAiTitlePaneRenderer* CAiTitlePaneRenderer::NewLC( CAiStatusPanel& aStatusPanel )
-    {
-    CAiTitlePaneRenderer* self = new( ELeave ) CAiTitlePaneRenderer( aStatusPanel );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-CAiTitlePaneRenderer::~CAiTitlePaneRenderer()
-    {
-    }
-
-
-CAiTitlePaneRenderer::CAiTitlePaneRenderer( CAiStatusPanel& aStatusPanel )
-	: iStatusPanel( aStatusPanel )
-    {
-    }
-
-
-
-
-void CAiTitlePaneRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-										TInt aContent,
-										const TDesC16& aText,
-										TInt /*aIndex*/ )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KDeviceStatusPluginUid )
-	    {
-	    switch( aContent )
-	        {
-	        case EAiDeviceStatusContentNetworkIdentity:
-	            {
-	            __PRINT(__DBG_FORMAT("XAI: Render title pane - %d, %S"), aContent, &aText );
-	        	iStatusPanel.SetTitlePaneTextL( aText );
-	        	// we're publishing text -> set bitmap as invalid
-	        	iStatusPanel.SetTitlePaneBitmapL( KErrNotFound, KErrNotFound );
-	            iStatusPanel.RenderTitlePaneL();
-	        	__PRINTS( "XAI: Render title pane - done");
-
-	            break;
-	            }
-	        default:
-	            {
-	            User::Leave( KErrNotFound );
-	            break;
-	            }
-	        };
-	    }
-	else
-		{
-		User::Leave( KErrNotFound );
-		}
-    }
-
-void CAiTitlePaneRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-										TInt aContent,
-										const TDesC8& aBuf,
-										TInt /*aIndex*/ )
-    {
-   	if( aPlugin.PublisherInfoL()->iUid == KDeviceStatusPluginUid )
-	   	{
-	    switch( aContent )
-	        {
-	        case EAiDeviceStatusContentNetworkIdentity:
-	            {
-	           	__PRINTS( "XAI: Render title pane - oper logo");
-
-	            CGulIcon* icon = NULL;
-	            TPckg<CGulIcon*>( icon ).Copy( aBuf );
-
-	            if( icon )
-	                {
-	                TInt bitmapHandle = icon->Bitmap() ?
-	                					icon->Bitmap()->Handle() : KErrNotFound;
-	                TInt maskHandle = icon->Mask() ?
-	                					icon->Mask()->Handle() : KErrNotFound;
-
-	                // SetTitlePaneBitmapL checks if handle was valid, so no 
-	                // problem passing KErrNotFound
-	                iStatusPanel.SetTitlePaneBitmapL( bitmapHandle, maskHandle );
-	                // We're publishing bitmap -> set text as invalid
-	                iStatusPanel.SetTitlePaneTextL( KNullDesC );
-	                iStatusPanel.RenderTitlePaneL();
-	                 __PRINTS("XAI: Rendering title pane - done");
-	                }
-	            break;
-	            }
-	        default:
-	            {
-	            User::Leave( KErrNotFound );
-	            break;
-	            }
-	        };
-	   	}
-	else
-		{
-		User::Leave( KErrNotFound );
-		}
-    }
-
-void CAiTitlePaneRenderer::DoPublishL( MAiPropertyExtension& aPlugin, 
-                                    	TInt aContent, 
-                                    	TInt aResource,
-                                    	TInt /*aIndex*/ )
-    {
-    if( aPlugin.PublisherInfoL()->iUid == KDeviceStatusPluginUid )
-	    {
-	    switch( aContent )
-	        {
-	        case EAiDeviceStatusContentNetworkIdentity:
-	            {
-	            HBufC* text = StringLoader::LoadLC( aResource );      
-	            iStatusPanel.SetTitlePaneTextL( *text );
-	        	// We're publishing text -> set bitmap as invalid
-	        	iStatusPanel.SetTitlePaneBitmapL( KErrNotFound, KErrNotFound );
-	            iStatusPanel.RenderTitlePaneL();
-	       
-	            CleanupStack::PopAndDestroy(text); //text
-	            break;
-	            }
-	        default:
-	            {
-	            User::Leave( KErrNotFound );
-	            break;
-	            }
-	        };
-	    }
-	else
-		{
-		User::Leave( KErrNotFound );
-		}
-    }
-
-
-void CAiTitlePaneRenderer::DoCleanL( MAiPropertyExtension& aPlugin, TInt aContent )
-	{
-    __PRINT(__DBG_FORMAT("XAI: Clean title pane - %d"), aContent );
-	if( aPlugin.PublisherInfoL()->iUid == KDeviceStatusPluginUid )
-		{
-	    switch( aContent )
-	        {
-	        case EAiDeviceStatusContentNetworkIdentity:
-	            {
-	            // Publish empty text
-	            iStatusPanel.SetTitlePaneTextL( KNullDesC );
-	        	iStatusPanel.SetTitlePaneBitmapL( KErrNotFound, KErrNotFound );
-	            iStatusPanel.RenderTitlePaneL();
-	            __PRINTS( "XAI: Clean title pane - done");
-	            break;
-	            }
-
-	        default:
-	            {
-				User::Leave( KErrNotFound );
-	            break;
-	            }
-	        };
-		}
-	else
-		{
-		User::Leave( KErrNotFound );
-		}
-	}
-
-void CAiTitlePaneRenderer::TransactionCommittedL()
-    {
-    }
-
-void CAiTitlePaneRenderer::KeylockEnabledL()
-	{
-	iStatusPanel.StopTitlePaneScrollingL();
-	}
-
-void CAiTitlePaneRenderer::FocusObtainedL()
-    {
-    iStatusPanel.RenderTitlePaneL();
-    }
-
-void CAiTitlePaneRenderer::FocusLostL()
-	{
-	iStatusPanel.StopTitlePaneScrollingL();
-	}
--- a/idlehomescreen/nativeuicontroller/src/aitoolbarbutton.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Touch Toolbar button
-*
-*/
-
-
-#include <aknbutton.h>
-#include <gulicon.h>
-
-#include "aitoolbarbutton.h"
-
-using namespace AiNativeUiController;
-
-CAiToolbarButton* CAiToolbarButton::NewL()
-    {
-    CAiToolbarButton* self = new (ELeave) CAiToolbarButton;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-void CAiToolbarButton::ConstructL()
-    {
-    iIconNotOwned = EFalse;
-    iTooltip = KNullDesC().AllocL();
-    }
-
-CAiToolbarButton::~CAiToolbarButton()
-    {
-
-    if ( !iIconNotOwned )
-        {
-        delete iIcon;
-        iIcon = NULL;
-        }
-    delete iTooltip;
-    iTooltip = NULL;
-    }
-
-CAiToolbarButton::CAiToolbarButton()
-    {
-    // no implementation
-    }
-
-void CAiToolbarButton::SetShortcutId( TInt aId )
-    {
-    iShortcutId = aId;
-    }
-
-TInt CAiToolbarButton::ShortcutId()
-    {
-    return iShortcutId;
-    }
-
-TDesC& CAiToolbarButton::Tooltip()
-    {
-    return *iTooltip;
-    }
-
-
-CGulIcon* CAiToolbarButton::Icon( TBool aTransferOwnership )
-    {
-    iIconNotOwned = aTransferOwnership;
-    CGulIcon* icon = iIcon;
-    if(iIconNotOwned)
-        {
-        iIcon = NULL;
-        }
-
-    return icon;
-    }
-
-void CAiToolbarButton::SetTooltipL( const TDesC& aTooltip )
-    {
-    HBufC *temp = aTooltip.AllocL();
-    delete iTooltip;
-    iTooltip = temp;
-    }
-
-void CAiToolbarButton::SetIcon( CGulIcon *aIcon, TBool aTransferOwnership )
-    {
-    if ( !iIconNotOwned )
-        {
-        delete iIcon;
-        iIcon = NULL;
-        }
-    iIconNotOwned = aTransferOwnership;
-    iIcon = aIcon;
-    }
-
-void CAiToolbarButton::SetIconExternallyOwned( TBool aValue )
-    {
-    iIconNotOwned = aValue;
-    }
-
-CAknButton* CAiToolbarButton::ButtonL()
-    {
-    // Icon ownership transferred to CAknButton
-    return CAknButton::NewL( Icon( ETrue ),
-                             NULL,
-                             NULL,
-                             NULL,
-                             KNullDesC,
-                             Tooltip(),
-                             KAknButtonSizeFitText | KAknButtonReportOnLongPress,
-                             0 );
-    }
-
--- a/idlehomescreen/nativeuicontroller/src/aitoolbarrenderer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Touch Toolbar
-*
-*/
-
-
-#include "aitoolbarrenderer.h"
-#include "aifweventhandler.h"
-#include "aicontentobserver.h"
-#include "activeidle2domaincrkeys.h"
-#include "activeidle2domainpskeys.h"
-#include "aiscutplugindomaincrkeys.h"
-#include <aipropertyextension.h>
-#include "ainativeuiplugins.h"
-
-#include <AiNativeUi.rsg>
-#include <akntoolbar.h>
-#include <aknbutton.h>
-#include <AknsUtils.h>
-#include <gulicon.h>
-#include <e32property.h>
-#include <aknappui.h>
-
-#include "centralrepository.h"
-
-
-#include "debug.h"
-
-using namespace AiNativeUiController;
-
-// Action to send to framework
-_LIT( KOpenAppByIndex,              "Shortcut/LaunchByIndex(%d)" );
-_LIT( KOpenAppByIndexAlternate,     "Shortcut/LaunchByIndexAlternate(%d)");
-
-const TInt KOpenAppByIndexParameterLength = 2;
-
-const TInt KFirstButton  = 0;
-const TInt KSecondButton = 1;
-const TInt KThirdButton  = 2;
-
-const TInt KRadix = 10;
-
-static TInt IndexLength( TInt aIndex )
-    {
-    TInt length = 0;
-
-    if ( aIndex < 0 )
-        {
-        ++length;
-        }
-
-    do
-        {
-        aIndex /= KRadix;
-        ++length;
-        }
-    while ( aIndex != 0 );
-
-    return length;
-    }
-
-static HBufC* CreateEventStringL( const TDesC& aFrom, TInt aEventIndex )
-    {
-    HBufC* buffer = NULL;
-
-    TInt bufferLength = aFrom.Length() -
-                        KOpenAppByIndexParameterLength +
-                        IndexLength( aEventIndex );
-
-    buffer = HBufC::NewL(bufferLength);
-
-    TPtr bufferPtr = buffer->Des();
-    bufferPtr.Format( aFrom, aEventIndex );
-
-    return buffer;
-    }
-
-// ========== MEMBER FUNCTIONS ================================================
-
-CAiToolbarRenderer::CAiToolbarRenderer( MAiFwEventHandler& aAiFwEventHandler, CAknToolbar& aToolbar )
-    : iToolbar( aToolbar ),
-    iAiFwEventHandler( aAiFwEventHandler )
-
-    {
-    // no implementation required
-    }
-
-void CAiToolbarRenderer::ConstructL( )
-    {
-    iToolbarEnabled = EFalse;
-
-    TInt err = KErrNone;
-
-    CRepository *cr = CRepository::NewLC( TUid::Uid( KCRUidActiveIdleLV ) );
-    err = cr->Get( KAITouchToolbarVisible, iToolbarEnabled );
-    CleanupStack::PopAndDestroy( cr );
-    __PRINT (__DBG_FORMAT("XAI: Toolbar value in cenrep %d err = %d"), iToolbarEnabled , err);
-
-    // Hide the toolbar because it is disabled via cenrep
-    if ( err != KErrNone || !iToolbarEnabled )
-        {
-        iToolbar.SetToolbarObserver( NULL );
-        iToolbar.SetToolbarVisibility( EFalse, EFalse );
-        }
-    else
-        {
-        iToolbar.SetToolbarObserver( this );
-        iToolbar.SetToolbarVisibility( ETrue, EFalse );
-        }
-
-    }
-
-CAiToolbarRenderer* CAiToolbarRenderer::NewLC( MAiFwEventHandler& aAiFwEventHandler, CAknToolbar& aToolbar )
-    {
-    CAiToolbarRenderer* self = new (ELeave) CAiToolbarRenderer( aAiFwEventHandler, aToolbar );
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    return self;
-    }
-
-CAiToolbarRenderer* CAiToolbarRenderer::NewL( MAiFwEventHandler& aAiFwEventHandler, CAknToolbar& aToolbar )
-    {
-    CAiToolbarRenderer* self = CAiToolbarRenderer::NewLC( aAiFwEventHandler, aToolbar );
-    CleanupStack::Pop(); // self
-    return self;
-    }
-
-CAiToolbarRenderer::~CAiToolbarRenderer()
-    {
-    // We don't want anymore events from toolbar
-    iToolbar.SetToolbarObserver( NULL );
-    iButtons.ResetAndDestroy();
-    }
-
-void CAiToolbarRenderer::DynInitToolbarL( TInt /*aResourceId*/, CAknToolbar* /*aToolbar*/ )
-    {
-    // do nothing
-    }
-
-void CAiToolbarRenderer::OfferToolbarEventL( TInt aCommand )
-    {
-    TInt modifiers = iToolbar.EventModifiers();
-
-
-    if ( aCommand >= 0 && aCommand < iButtons.Count())
-        {
-        CAiToolbarButton* button = iButtons[aCommand];
-        if ( button )
-            {
-
-            HBufC *event = NULL;
-            if ( modifiers == CAknToolbar::ELongPress )
-                {
-                event = CreateEventStringL( KOpenAppByIndexAlternate, button->ShortcutId() );
-                CleanupStack::PushL( event );
-                }
-            else
-                {
-                event = CreateEventStringL( KOpenAppByIndex, button->ShortcutId() );
-                CleanupStack::PushL( event );
-                }
-            iAiFwEventHandler.HandlePluginEvent( *event );
-            CleanupStack::PopAndDestroy( event );
-            }
-        }
-    }
-
-void CAiToolbarRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                     TInt aContent,
-                                     const TDesC16& aText,
-                                     TInt aIndex )
-    {
-    // Only interested on certain publish events
-    if (  aPlugin.PublisherInfoL()->iUid == KShortcutPluginUid &&
-          aContent == EAiScutContentShortcutToolbarCaption &&
-        ( aIndex == EAiScutToolbarFirst ||
-          aIndex == EAiScutToolbarSecond ||
-          aIndex == EAiScutToolbarThird )
-        )
-        {
-        CAiToolbarButton* button = ButtonL( aIndex );
-        if ( button )
-            {
-            button->SetTooltipL(aText);
-            iCommitted = EFalse;
-            }
-        }
-    }
-
-void CAiToolbarRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                     TInt aContent,
-                                     const TDesC8& aBuf,
-                                     TInt aIndex )
-    {
-    // Only interested on certain publish events
-    if (  aPlugin.PublisherInfoL()->iUid == KShortcutPluginUid &&
-          aContent == EAiScutContentShortcutToolbarIcon &&
-        ( aIndex == EAiScutToolbarFirst ||
-          aIndex == EAiScutToolbarSecond ||
-          aIndex == EAiScutToolbarThird )
-        )
-        {
-        CGulIcon* icon = MAiContentObserver::UnpackPtr<CGulIcon>( aBuf );
-        CAiToolbarButton* button = NULL;
-        if ( !icon )
-            {
-            User::Leave(KErrArgument);
-            }
-        // Replace the old button with a new button
-        button = ButtonL( aIndex );
-        if ( button )
-            {
-            button->SetIcon(icon);
-            iCommitted = EFalse;
-            }
-        // icons ownership is transferred to us
-        // so we need to delete the icon in error situations
-        else
-            {
-            delete icon;
-            }
-        }
-    else
-        {
-        // We have received stuff we cannot publish.
-        User::Leave(KErrNotFound);
-        }
-    }
-
-CAiToolbarButton* CAiToolbarRenderer::ButtonL( TInt aShortcutId )
-    {
-    TInt index = KErrNotFound;
-    CAiToolbarButton *button = NULL;
-    switch ( aShortcutId )
-        {
-        case EAiScutToolbarFirst:
-            index = KFirstButton;
-            break;
-        case EAiScutToolbarSecond:
-            index = KSecondButton;
-            break;
-        case EAiScutToolbarThird:
-            index = KThirdButton;
-            break;
-        default:
-            break;
-        }
-
-    if ( index == KErrNotFound )
-        {
-        User::Leave(KErrNotFound);
-        }
-    // No button yet => Create new
-    if ( index >= iButtons.Count() )
-        {
-        button = CAiToolbarButton::NewL();
-        button->SetShortcutId( aShortcutId );
-        iButtons.Append( button );
-        }
-
-    // Use the old button
-    else if( index >= KFirstButton && index < iButtons.Count() )
-        {
-        button = iButtons[index];
-        button->SetShortcutId( aShortcutId );
-        }
-    return button;
-    }
-
-
-void CAiToolbarRenderer::TransactionCommittedL()
-    {
-    if ( !iCommitted )
-        {
-        for(TInt i = 0; i < iButtons.Count(); i++)
-            {
-            CAiToolbarButton *button = iButtons[i];
-            if ( button && button->Icon())
-                {
-                // remove the old button
-                iToolbar.RemoveItem(i);
-                // and add new one
-                // transfers ownership of button->ButtonL() to toolbar
-                iToolbar.AddItemL( button->ButtonL(), EAknCtButton, i, 0, i );
-                }
-            }
-         iCommitted = ETrue;
-        }
-    }
-
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/src/application.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include <bautils.h>
-#include <aisystemuids.hrh>
-#include "application.h"
-#include "document.h"
-#include <data_caging_path_literals.hrh>
-
-using namespace AiNativeUiController;
-
-_LIT( KResourceDrive, "z:" );
-_LIT( KAiNativeUiResourceFile, "AiNativeUi.rsc" );
-
-CApplication::CApplication(CNativeUiController* aUiCtl)
-    : iUiCtl(aUiCtl)
-    {
-    }
-
-CApplication* CApplication::New(CNativeUiController* aUiCtl)
-    {
-    CApplication* self = NULL;
-    
-  	self = new CApplication(aUiCtl);
-
-    return self;
-    }
-
-CApplication::~CApplication()
-    {
-    }
-
-CApaDocument* CApplication::CreateDocumentL()
-    {
-    return CDocument::NewL(*this, iUiCtl);
-    }
-
-TUid CApplication::AppDllUid() const
-    {
-    return  TUid::Uid(AI_UID3_AIFW_EXE);
-    }
-
-TFileName CApplication::ResourceFileName() const
-    {
-    TFileName resFile;
-    resFile.Append( KResourceDrive );
-    resFile.Append( KDC_APP_RESOURCE_DIR );
-    resFile.Append( KAiNativeUiResourceFile );
-    BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), resFile );
-    
-    return resFile;
-    }
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/src/appui.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,706 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "appui.h"
-#include "ainativeui.hrh"
-#include "ainativeuistrings.h" // string literals
-#include "ainativeuiview.h"
-#include "application.h"
-#include "nativeuicontroller.h"
-#include "aiuiframeworkobserver.h"
-#include "aifweventhandler.h"
-#include <AiNativeUi.rsg>
-
-#include "aipropertyextension.h"
-#include "aicontentmodel.h"
-#include "aiuiidleintegration.h"
-#include "activeidle2domaincrkeys.h"
-#include "activeidle2domainpskeys.h"
-#include "extrstandbycontainerif.h"
-#include "debug.h"
-
-#include <startupdomainpskeys.h>
-#include <aipspropertyobserver.h>
-#include <centralrepository.h>
-#include <e32base.h>
-#include <e32property.h>
-#include <avkon.rsg>                    // for status pane layout resource ids
-#include <eikon.hrh>
-#include <bautils.h>
-#include <ecom/implementationproxy.h>
-#include <data_caging_path_literals.hrh>
-#include <ConeResLoader.h>
-#include <featmgr.h>
-#include <avkondomainpskeys.h>
-#include <AknUtils.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-
-namespace
-    {
-    _LIT( KResourceDrive, "Z:" );
-    _LIT( KResourceFile, "ainativeui.rsc" );
-    #define KResourcePath KDC_APP_RESOURCE_DIR
-
-    const TInt KDefaultStatusPaneLayout = R_AVKON_STATUS_PANE_LAYOUT_IDLE;
-
-    //
-    // Get status pane configuration from cenrep
-    //
-    TInt GetLayoutCenrep()
-        {
-        TInt value = EAiStatusPaneLayoutIdleNormal;
-        TUid uid = { KCRUidActiveIdleLV };
-        CRepository* cenRep = CRepository::NewLC( uid );
-        cenRep->Get( KAiStatusPaneLayout, value );
-        CleanupStack::PopAndDestroy( cenRep );
-        return value;
-        }
-
-    //
-    // Resolves status pane layout for CXnAppUiAdapter::ConstructL()
-    //
-    TInt StatusPaneLayoutResourceIdL( TInt aLayoutId )
-        {
-        TInt layout = aLayoutId;
-        switch( aLayoutId )
-            {
-            case EAiStatusPaneLayoutIdleNormal:
-                {
-                layout = R_AVKON_STATUS_PANE_LAYOUT_IDLE;
-                break;
-                }
-            case EAiStatusPaneLayoutIdleFlat:
-                {
-                layout = R_AVKON_STATUS_PANE_LAYOUT_IDLE_FLAT;
-                break;
-                }
-            case EAiStatusPaneLayoutIdleHidden:
-                {
-                layout = KDefaultStatusPaneLayout;
-                break;
-                }
-            default:
-                {
-                break;
-                }
-            }
-        return layout;
-        }
-    
-    // -----------------------------------------------------------------------------
-    // 
-    // Calculate touch sensitive softkey area for Top button (landscape)
-    // -----------------------------------------------------------------------------         
-    TRect SoftkeyRectTopTouch()
-        {
-        TRect screen;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-        TAknLayoutRect layoutRect;
-
-        TAknWindowComponentLayout rightAreaLayout(
-                AknLayoutScalable_Avkon::area_side_right_pane( 0 ) );
-
-
-        layoutRect.LayoutRect( screen, TAknWindowComponentLayout::Compose( rightAreaLayout,
-                AknLayoutScalable_Avkon::sctrl_sk_top_pane() ).LayoutLine() );
-        TRect topSKRect( layoutRect.Rect() );
-        
-        layoutRect.LayoutRect( topSKRect, 
-                        AknLayoutScalable_Avkon::aid_touch_sctrl_top().LayoutLine() );
-        return layoutRect.Rect();
-        }
-
-    // -----------------------------------------------------------------------------
-    // 
-    // Calculate touch sensitive softkey area for right button (portrait)
-    // -----------------------------------------------------------------------------         
-    TRect SoftkeyRectRightTouch()
-        {
-        TRect screen;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-        TAknLayoutRect layoutRect;
-
-        TAknWindowComponentLayout bottomAreaLayout(
-                AknLayoutScalable_Avkon::area_bottom_pane( 0 ) );
-
-
-        layoutRect.LayoutRect( screen, TAknWindowComponentLayout::Compose( bottomAreaLayout,
-                AknLayoutScalable_Avkon::control_bg_pane() ).LayoutLine() );
-        TRect rightSKRect( layoutRect.Rect() );
-        layoutRect.LayoutRect(
-                rightSKRect,
-                AknLayoutScalable_Avkon::aid_touch_ctrl_right().LayoutLine() );
-        return layoutRect.Rect();
-        }
-
-    
-    }
-
-using namespace AiNativeUiController;
-
-// ========== MEMBER FUNCTIONS ================================================
-
-CAppUi::CAppUi(CNativeUiController* aUiCtl)
-    : iUiCtl(aUiCtl)
-    {
-    }
-
-void CAppUi::ConstructL()
-    {
-    BaseConstructL(EAknEnableSkin|EAknEnableMSK/*|ENoAppResourceFile*/);
-
-    // Disable CCoeEnv exit checks.
-    // Active Idle Framework will perform the checks.
-    iCoeEnv->DisableExitChecks(ETrue);
-
-    if( !iResourceLoader )
-        {
-        iResourceLoader = new(ELeave) RConeResourceLoader( *iCoeEnv );
-
-        // 1) Load resources file for resource publishing
-        TFullName resourceFile( KResourceDrive );
-        resourceFile.Append( KResourcePath );
-        resourceFile.Append( KResourceFile );
-        BaflUtils::NearestLanguageFile( iCoeEnv->FsSession(), resourceFile );
-
-        iResourceLoader->OpenL( resourceFile );
-        }
-
-    iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-
-    if( !iUiCtl )
-        {
-        User::Leave(KErrNotFound);
-        return; // for lint
-        }
-
-    iFwEventHandler = iUiCtl->FwEventHandler();
-
-    iUiFwObserver = iUiCtl->UiFrameworkObserver();
-
-    TAiIdleKeySoundConfig keySoundConfig;
-    keySoundConfig.iKeySounds = KeySounds();
-    keySoundConfig.iContextResId = R_NATIVEUI_DEFAULT_SKEY_LIST;
-    iIdleIntegration = CAiUiIdleIntegration::NewL
-        ( *iEikonEnv, keySoundConfig, iFwEventHandler );
-
-    iUiCtl->SetAppUi( this );
-
-    if( iFwEventHandler )
-        {
-        iFwEventHandler->AppEnvReadyL();
-        }
-    TBool isFullScreen = EFalse;
-    //Get pointer to status pane
-    CEikStatusPane* statusPane = static_cast<CAknAppUi*>( iEikonEnv->EikAppUi() )->StatusPane();
-    if( statusPane )
-        {
-        // Update status pane layout ot the correct one.
-        TInt statusPaneLayout = GetLayoutCenrep();
-        iCurrentStatusPaneLayout = StatusPaneLayoutResourceIdL( statusPaneLayout );
-
-        TInt id = statusPane->CurrentLayoutResId();
-        if( id != iCurrentStatusPaneLayout &&
-            id != R_AVKON_STACON_PANE_LAYOUT_IDLE_SOFTKEYS_RIGHT )
-            {
-            statusPane->SwitchLayoutL( iCurrentStatusPaneLayout );
-            }
-        else
-            {
-            iCurrentStatusPaneLayout = id;
-            }
-
-        if( statusPaneLayout == EAiStatusPaneLayoutIdleHidden &&
-            iCurrentStatusPaneLayout != R_AVKON_STACON_PANE_LAYOUT_IDLE_SOFTKEYS_RIGHT  )
-            {
-            statusPane->MakeVisible( EFalse );
-            isFullScreen = ETrue;
-            }
-        else
-            {
-            statusPane->MakeVisible( ETrue );
-            }
-        statusPane->ApplyCurrentSettingsL();
-        statusPane->DrawNow();
-        }
-
-    iAppView = CAiNativeUiView::NewL( ClientRect(), this );
-    iAppView->SetMopParent(this);
-    RegisterViewL( *iAppView );
-    AddToStackL( iAppView );
-    
-    // Reset softkey locked indications. Error may be ignored - not defined would be typical.
-    RProperty::Define( KPSUidAiInformation, KActiveIdleExtHS_LSKLocked, RProperty::EText );
-    RProperty::Set( KPSUidAiInformation, KActiveIdleExtHS_LSKLocked, KNullDesC );
-    RProperty::Define( KPSUidAiInformation, KActiveIdleExtHS_RSKLocked, RProperty::EText );
-    RProperty::Set( KPSUidAiInformation, KActiveIdleExtHS_RSKLocked, KNullDesC );
-    RProperty::Define( KPSUidAiInformation, KActiveIdleExtHS_PluginConfChange, RProperty::EInt );
-    RProperty::Set( KPSUidAiInformation, KActiveIdleExtHS_PluginConfChange, 0 );
-    
-    const TUid KCAIPluginContainerImplementationUid = { 0x101FD658 };
-
-    iStanbyContainerIF = CExtrStandbyContainerIF::NewL( KCAIPluginContainerImplementationUid,
-                                         iAppView );
-    iStanbyContainerIF->SetRect( ClientRect() );
-    iStanbyContainerIF->SetFullScreenMode( isFullScreen );
-    iAppView->SetControl( iStanbyContainerIF );
-
-    iAIRepository = CRepository::NewL( TUid::Uid( KCRUidActiveIdleLV ) );
-    // CenRep notifier to listen statuspane key changes in cenrep.
-    iNotifyHandler = CCenRepNotifyHandler::NewL( *this,
-                                                 *iAIRepository,
-                                                 CCenRepNotifyHandler::EIntKey,
-                                                 KAiStatusPaneLayout );
-    iNotifyHandler->StartListeningL();
-
-    if( iFwEventHandler )
-        {
-        iFwEventHandler->HandleUiReadyEventL(*iUiCtl);
-        }
-
-    // Check powerkey availability
-    FeatureManager::InitializeLibL();
-    iFeatureNoPowerKey =
-        FeatureManager::FeatureSupported( KFeatureIdNoPowerkey );
-    FeatureManager::UnInitializeLib();
-
-    if(iFeatureNoPowerKey)
-        {
-        iPowerkeyStatusObserver = AiUtility::CreatePSPropertyObserverL(
-                                    TCallBack( HandlePowerkeyEvent, this ),
-                                    KPSUidAvkonDomain,
-                                    KAknEndKeyEvent );
-        }
-
-    CAknAppUiBase::SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort |
-                                     CAknAppUiBase::EDisableSendKeyLong );
-    }
-
-CAppUi* CAppUi::NewL(CNativeUiController* aUiCtl)
-    {
-    CAppUi* self = new (ELeave) CAppUi(aUiCtl );
-
-    // ConstructL is called by the UI framework
-
-    return self;
-    }
-
-CAppUi::~CAppUi()
-    {
-    Release( iPowerkeyStatusObserver );
-    delete iTimer;
-    delete iNotifyHandler;
-    delete iAIRepository;
-    delete iStanbyContainerIF;
-    delete iIdleIntegration;
-    TRAP_IGNORE( DeactivateActiveViewL() );
-    if( iAppView )
-        {
-        DeregisterView( *iAppView );
-        RemoveFromStack( iAppView );
-        delete iAppView;
-        }
-    if( iResourceLoader )
-        {
-        iResourceLoader->Close();
-        delete iResourceLoader;
-        }
-    }
-
-void CAppUi::HandleForegroundEventL(TBool aForeground)
-    {
-    CAknAppUi::HandleForegroundEventL( aForeground );
-
-    if ( iUiFwObserver )
-        {
-        iUiFwObserver->HandleForegroundEvent( aForeground );
-        }
-    }
-
-void CAppUi::HandleCommandL(TInt aCommand)
-    {
-    switch (aCommand)
-        {
-        case EEikCmdExit:
-            {
-            TInt value;
-            TInt err = RProperty::Get( KPSUidStartup, KPSGlobalSystemState, value );
-            if( err == KErrNone )
-                {
-                if ( value == ESwStateShuttingDown )
-                    {
-                    // If all is ok we filter our exits
-                    Exit();
-                    }
-                }
-            else
-                {
-                // If all is not ok we still exit
-                Exit();
-                }
-            break;
-            }
-        case EAknSoftkeyExit:
-        case EAknCmdExit: // fallthrough
-            {
-
-#ifdef _DEBUG
-
-            Exit();
-            if( iFwEventHandler && iUiCtl )
-                {
-                iFwEventHandler->HandleUiShutdown( *iUiCtl );
-                }
-            break;
-
-#endif // _DEBUG
-
-            }
-
-        case ENativeUiSoftkeyLeft:
-            {
-            if( iFwEventHandler ) // LSK
-                {
-                HBufC* appBuf;
-                appBuf = HBufC::NewLC( RProperty::KMaxPropertySize );
-                TPtr appPtr = appBuf->Des();
-                RProperty::Get( KPSUidAiInformation, KActiveIdleExtHS_LSKLocked, appPtr );
-                if( appPtr.Length() > 0 )
-                    {
-                    iFwEventHandler->HandlePluginEvent(KAiLskLaunchByIndexLocked);
-                    }
-                else
-                    {
-                    iFwEventHandler->HandlePluginEvent(KAiLskLaunchByIndex);
-                    }
-                CleanupStack::PopAndDestroy( appBuf );
-                }
-            break;
-            }
-
-        case ENativeUiSoftkeyRight:
-            {
-            break;
-            }
-
-        case ENativeUiSelectionKey:
-            {
-            if( iAppView )
-                {
-                TKeyEvent keyEvent;
-                keyEvent.iCode = EKeyOK;
-                keyEvent.iRepeats = 0;
-                TEventCode type(EEventKey);
-                iAppView->OfferKeyEventL(keyEvent, type);
-                }
-            break;
-            }
-
-        default:
-            {
-            break;
-            }
-
-        }
-
-    }
-
-void CAppUi::HandleResourceChangeL(TInt aType)
-    {
-    CAknAppUi::HandleResourceChangeL(aType);
-
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        // Screen layout changed, update and draw status pane.
-        //Get pointer to status pane
-        CEikStatusPane* statusPane = static_cast<CAknAppUi*>( iEikonEnv->EikAppUi() )->StatusPane();
-        if( statusPane )
-            {
-            // Update status pane layout ot the correct one.
-            TInt statusPaneLayout = GetLayoutCenrep();
-            TInt id = statusPane->CurrentLayoutResId();
-            if( id != iCurrentStatusPaneLayout )
-                {
-                statusPane->SwitchLayoutL( id );
-                iCurrentStatusPaneLayout = id;
-                }
-            if( statusPaneLayout == EAiStatusPaneLayoutIdleHidden &&
-                id != R_AVKON_STACON_PANE_LAYOUT_IDLE_SOFTKEYS_RIGHT )
-                {
-                statusPane->MakeVisible( EFalse );
-                iStanbyContainerIF->SetFullScreenMode( ETrue );
-                }
-            else
-                {
-                statusPane->MakeVisible( ETrue );
-                iStanbyContainerIF->SetFullScreenMode( EFalse );
-                }
-            statusPane->ApplyCurrentSettingsL();
-            statusPane->DrawNow();
-            }
-        if( iAppView )
-            {
-            iAppView->SetRect( ClientRect() );
-            iAppView->DrawNow();
-            }
-
-        }
-
-    if ( iUiFwObserver )
-        {
-        iUiFwObserver->HandleResourceChange(aType);
-        }
-    }
-
-void CAppUi::HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination)
-    {
-    // Pointer event handling for RSK and SIND launching  
-    // LSK handled via HandleCommand
-    if ( AknLayoutUtils::PenEnabled() && aEvent.Type() == EEventPointer )
-        {
-        TPointerEvent *event = aEvent.Pointer();
-        HandlePointerEvent( *event );
-        }
-
-    if( iIdleIntegration )
-        {
-        // Forward window server events first to idle integration library
-        iIdleIntegration->HandleWsEventL(aEvent, aDestination);
-        }
-
-    // Call base class to let the UI framework handle the event
-    CAknAppUi::HandleWsEventL( aEvent, aDestination);
-    }
-
-void CAppUi::HandlePointerEvent( TPointerEvent &aEvent )
-    {        
-    if ( !Cba()->IsVisible() )
-        {
-        return;
-        }
-
-    TRect rskRect;
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        rskRect = ::SoftkeyRectTopTouch();
-        }
-    else
-        {
-        rskRect = ::SoftkeyRectRightTouch();
-        }
-    // pointer event done in RSK => activate sind timer.
-    if ( aEvent.iType == TPointerEvent::EButton1Down && 
-            rskRect.Contains( aEvent.iParentPosition )) 
-        {              
-        iSINDKeyDown = ETrue;         
-        const TTimeIntervalMicroSeconds32 KLongKeyPress(600000);
-        iTimer->Cancel();
-        iTimer->Start( KLongKeyPress, 0, TCallBack( TimerDone, this ) );
-        }
-    // It doesn't matter where the button up is done 
-    // the voice dial is still skipped
-    else if ( iSINDKeyDown && 
-            aEvent.iType == TPointerEvent::EButton1Up )
-        {
-        SkipVoiceDial();
-        }
-    // Dragging outside RSK cancels opening of shortcut
-    // and voice dial
-    else if ( iSINDKeyDown && 
-            aEvent.iType == TPointerEvent::EDrag &&
-            !rskRect.Contains( aEvent.iParentPosition ))
-        {
-        iTimer->Cancel();
-        iSINDKeyDown = EFalse;
-        }
-    }
-
-void CAppUi::HandleScreenDeviceChangedL()
-    {
-    CAknAppUi::HandleScreenDeviceChangedL();
-
-    if ( iFwEventHandler && iUiCtl )
-        {
-        //iFwEventHandler->HandleUiLayoutChangeL(*iUiCtl);
-        }
-    }
-
-void CAppUi::PrepareToExit()
-    {
-    if ( iFwEventHandler && iUiCtl )
-        {
-        iUiCtl->PrepareToExit();
-        iFwEventHandler->HandleUiShutdown(*iUiCtl);
-        }
-    }
-
-TKeyResponse CAppUi::HandleKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    if( aKeyEvent.iScanCode == EStdKeyDevice1 )
-        {
-        if( aType == EEventKeyDown )
-            {
-            iSINDKeyDown = ETrue;
-            const TTimeIntervalMicroSeconds32 KLongKeyPress(600000);
-            iTimer->Cancel();
-            iTimer->Start( KLongKeyPress, 0, TCallBack( TimerDone, this ) );
-            }
-        else if( aType == EEventKeyUp )
-            {
-            if( iSINDKeyDown )
-                {
-                SkipVoiceDial();
-                }
-            }
-        return EKeyWasConsumed;
-        }
-    else
-        {
-        if( aType == EEventKeyDown && iSINDKeyDown )
-            {
-            iSINDKeyDown = EFalse;
-            SkipVoiceDial();
-            }
-        if( iAppView )
-            {
-            return iAppView->OfferKeyEventL(aKeyEvent, aType);
-            }
-        }
-
-    return EKeyWasNotConsumed;
-    }
-
-void CAppUi::SkipVoiceDial()
-    {
-    iTimer->Cancel();
-    // Handle skip scenario only if voice dial ui hasn't been launched
-    if ( iFwEventHandler )
-        {
-        HBufC* app2Buf;
-        app2Buf = HBufC::New( RProperty::KMaxPropertySize );
-        if ( app2Buf )
-            {
-            TPtr app2Ptr = app2Buf->Des();
-            RProperty::Get( KPSUidAiInformation, KActiveIdleExtHS_RSKLocked, app2Ptr );
-            if( app2Ptr.Length() > 0 )
-                {
-                iFwEventHandler->HandlePluginEvent(KAiRskLaunchByIndexLocked);
-                }
-            else
-                {
-                iFwEventHandler->HandlePluginEvent(KAiRskLaunchByIndex);
-                }
-            delete app2Buf;
-            }
-    	}
-    iSINDKeyDown = EFalse;
-    }
-
-TInt CAppUi::TimerDone(TAny* aSelf)
-    {
-    CAppUi* self = static_cast<CAppUi*>( aSelf );
-    if ( self )
-        {
-        self->iTimer->Cancel();
-        self->iSINDKeyDown = EFalse;
-        self->iFwEventHandler->HandlePluginEvent(KAiRskLaunchVoiceDial);
-        }
-    return KErrNone;
-    }
-
-void CAppUi::StartL()
-    {
-    if( iStanbyContainerIF )
-        {
-        iStanbyContainerIF->StartL();
-        }
-    }
-
-void CAppUi::HandleNotifyInt( TUint32 aId, TInt aNewValue )
-    {
-    // Set status pane on the fly.
-    if( aId == KAiStatusPaneLayout )
-        {
-        if( aNewValue == EAiStatusPaneLayoutIdleNormal ||
-            aNewValue == EAiStatusPaneLayoutIdleFlat ||
-            aNewValue == EAiStatusPaneLayoutIdleHidden )
-            {
-            //Get pointer to status pane
-            CEikStatusPane* statusPane = static_cast<CAknAppUi*>( iEikonEnv->EikAppUi() )->StatusPane();
-            if( statusPane )
-                {
-                // Update status pane layout ot the correct one.
-                if( aNewValue == EAiStatusPaneLayoutIdleHidden &&
-                    iCurrentStatusPaneLayout != R_AVKON_STACON_PANE_LAYOUT_IDLE_SOFTKEYS_RIGHT  )
-                    {
-                    statusPane->MakeVisible( EFalse );
-                    if ( iStanbyContainerIF )
-                        {
-                        iStanbyContainerIF->SetFullScreenMode( ETrue );
-                        }
-
-                    }
-                else
-                    {
-                    statusPane->MakeVisible( ETrue );
-                    if ( iStanbyContainerIF )
-                        {
-                        iStanbyContainerIF->SetFullScreenMode( EFalse );
-                        }
-                    }
-                statusPane->DrawNow();
-                if( iStanbyContainerIF )
-                    {
-                    iStanbyContainerIF->SetRect( ClientRect() );
-                    }
-                if ( iAppView )
-                    {
-                    iAppView->DrawNow();
-                    }
-
-                }
-            }
-        }
-    }
-    
-void CAppUi::ExtHSThemeChanged()
-    {
-    //TRAP_IGNORE( iFwEventHandler->HandleUiThemeChangeStartL( *iUiCtl ) );
-    TRAP_IGNORE( iFwEventHandler->HandleUiReadyEventL( *iUiCtl ) );
-    }
-
-TInt CAppUi::HandlePowerkeyEvent( TAny* aPtr )
-    {
-    CAppUi* self = static_cast<CAppUi*>(aPtr);
-    if( self && self->iStanbyContainerIF )
-        {
-        TKeyEvent keyEvent;
-        keyEvent.iCode = EKeyPhoneEnd;
-        TEventCode eventType;
-        eventType = EEventKey;
-        TRAP_IGNORE( self->iStanbyContainerIF->OfferKeyEventL( keyEvent, eventType ) );
-        }
-    return KErrNone;
-    }
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/src/document.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "document.h"
-#include "application.h"
-#include "appui.h"
-
-using namespace AiNativeUiController;
-
-CDocument::CDocument(CEikApplication &aApp, CNativeUiController* aUiCtl)
-    : CAknDocument(aApp),
-      iUiCtl(aUiCtl)
-    {
-    }
-CDocument* CDocument::NewL(CAknApplication &aApp, CNativeUiController* aUiCtl)
-    {
-    CDocument* self = NULL;
-    
-    self = new (ELeave) CDocument(aApp, aUiCtl);
-
-    return self;
-    }
-
-CDocument::~CDocument()
-    {
-    }
-
-CAknAppUi* CDocument::CreateAppUiL()
-    {
-    return CAppUi::NewL(iUiCtl);
-    }
-
-// End of File.
--- a/idlehomescreen/nativeuicontroller/src/nativeuicontroller.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1096 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Native UI controller.
-*
-*/
-
-// System includes
-#include <bautils.h>
-#include <e32std.h>
-#include <e32property.h>
-#include <coemain.h>
-#include <avkon.rsg>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-#include <data_caging_path_literals.hrh>
-#include <centralrepository.h>
-#include <activeidle2domainpskeys.h>
-#include <aipspropertyobserver.h>
-#include <eikstart.h>
-#include <AknLayout2ScalableDef.h>
-#include <avkondomainpskeys.h>
-#include <AknDlgShut.h> 
-
-// User includes
-#include "nativeuicontroller.h"
-#include "ainativeui.hrh"
-#include "application.h"
-#include "appui.h"
-#include "aiutility.h"
-#include "aistrparser.h"
-#include "aidevicestatuscontentmodel.h"
-#include "aipropertyextension.h"
-#include "aistatuspanel.h"
-#include "ainativerenderer.h"
-#include "aititlepanerenderer.h"
-#include "ainavipanerenderer.h"
-#include "aidialogrenderer.h"
-#include "aisoftkeyrenderer.h"
-#include "ainotifierrenderer.h"
-#include "aitoolbarrenderer.h"
-#include "ainativeuiplugins.h"
-#include "activeidle2domaincrkeys.h"
-#include "aistatuspanetouchui.h"
-#include "ainativeuistrings.h" // string literals
-#include "aistrcnv.h"
-#include <aiscutplugindomaincrkeys.h>
-
-using namespace AiNativeUiController;
-
-// Constants
-_LIT( KResourceDrive, "Z:" );
-_LIT( KResourceFile, "ainativeui.rsc" );
-_LIT( KSettingsDummyData, "" );
-_LIT( KSettingsIdSeparator, "/" );
-_LIT( KSettings, "Settings" );
-
-const TInt KOneSecondInMicroS = 1000*1000;
-const TInt KAI2CrKeyIncrementBy2 = 2;
-
-#define KResourcePath KDC_APP_RESOURCE_DIR
-
-const TImplementationProxy KImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY(KImplementationUidNativeUiController, CNativeUiController::NewL)
-    };
-
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::NewL()
-// ----------------------------------------------------------------------------
-//
-CNativeUiController* CNativeUiController::NewL()
-    {
-    CNativeUiController* self = new (ELeave) CNativeUiController;
-
-    CleanupStack::PushL( self );
-    
-    // Set Native UI Controller object to TLS for access in static
-    // CNativeUiController::NewApplication
-    User::LeaveIfError( Dll::SetTls( self ) );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::Exit()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::Exit()
-    {
-    if ( iExitTimer )
-        {
-        iExitTimer->Cancel();
-        
-        iExitTimer->Start( 0, KOneSecondInMicroS,                       
-           TCallBack( ExitTimerCallBack, this ) );
-        }
-
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::ExitTimerCallBack()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::ExitTimerCallBack( TAny *aSelf )
-    {
-    CNativeUiController* self =
-        static_cast<CNativeUiController*>( aSelf );
-        
-    if ( self )
-        {
-        self->iExitTimer->Cancel();
-        self->PrepareToExit();
-        self->iAppUi->Exit();
-        }
-    
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::~CNativeUiController()
-// ----------------------------------------------------------------------------
-//
-CNativeUiController::~CNativeUiController()
-    {
-    iPlugins.Close();
-
-    delete iExitTimer;
-
-    PrepareToExit();
-
-    // Reset TLS pointer to this set in NewL
-    Dll::SetTls( NULL );
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::PrepareToExit()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::PrepareToExit()
-    {
-    iRenderers.ResetAndDestroy();
-    
-    delete iStatusPanel;
-    iStatusPanel = NULL;
-    
-    Release( iIdleStatusObserver );
-    iIdleStatusObserver = NULL;
-    
-    Release( iKeylockStatusObserver );
-    iKeylockStatusObserver = NULL;
-	
-    Release( iExtHsPluginConfChange );
-	iExtHsPluginConfChange = NULL;
-	
-    //If we are not the
-    if( !iRunningAsMain && iResourceOffset > 0 )
-        {
-        iCoeEnv->DeleteResourceFile( iResourceOffset );
-        iResourceOffset = KErrNotFound;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::CNativeUiController()
-// ----------------------------------------------------------------------------
-//
-CNativeUiController::CNativeUiController() 
-    : iResourceOffset( KErrNotFound )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::AddRendererL()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::AddRendererL( CAiNativeRenderer* aRenderer )
-    {
-    User::LeaveIfError( iRenderers.Append( aRenderer ) );
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::RemoveRenderer()
-// ----------------------------------------------------------------------------
-//
-TBool CNativeUiController::RemoveRenderer( CAiNativeRenderer *aRenderer, 
-    TBool aDelete )
-    {
-    for ( TInt i = 0; i < iRenderers.Count(); i++ )
-        {
-        if ( aRenderer == iRenderers[i] )
-            {
-            if ( aDelete )
-                {
-                delete aRenderer;
-                }
-            iRenderers.Remove(i);
-    
-            return ETrue;
-            }
-        }
-    
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::ExitTimerCallBack()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::DeleteToolbarRenderer()
-    {
-    if ( iToolbarRenderer )
-        {
-        RemoveRenderer( iToolbarRenderer );
-        delete iToolbarRenderer;
-        iToolbarRenderer = NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::RecreateToolbarRendererL()
-// ----------------------------------------------------------------------------
-//
-TBool CNativeUiController::RecreateToolbarRendererL()
-    {
-    TBool created( EFalse );
-    // Remove the old renderer...
-    DeleteToolbarRenderer();
-
-    CAknToolbar* toolbar( iAvkonAppUi->CurrentFixedToolbar() );
-    // ...and create the new if there is an existing toolbar that
-    // we can use
-    if ( toolbar )
-        {
-        iToolbarRenderer = CAiToolbarRenderer::NewL( *iFwEventHandler, *toolbar);
-        AddRendererL( iToolbarRenderer );
-        created = ETrue;
-        }
-    
-    return created;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::DoPublish()
-// ----------------------------------------------------------------------------
-//
-template<class T>
-TInt CNativeUiController::DoPublish( MAiPropertyExtension& aPlugin,
-    TInt aContent, T& aData, TInt aIndex )
-    {
-    const TAiPublisherInfo* info( NULL );
-    
-    TRAP_IGNORE( info = aPlugin.PublisherInfoL() );
-       
-    if ( !info || info->iNamespace != KNativeUiNamespace )
-        {
-        return KErrNotSupported;
-        }
-    
-    const TInt count( iRenderers.Count() );
-    TInt err( KErrNone );
-    
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        err = iRenderers[i]->Publish( aPlugin, aContent, aData, aIndex );
-
-        if( err == KErrNone )
-            {
-            //data published
-            return KErrNone;
-            }
-
-        if( err != KErrNotFound )
-            {
-            return err;
-            }
-        }
-    
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::HandleIdleStateEvent()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::HandleIdleStateEvent( TAny* aPtr )
-    {
-    CNativeUiController* self = 
-        reinterpret_cast< CNativeUiController* >( aPtr );
-
-    if( self )
-        {
-        TInt idleState = EPSAiBackground;
-        self->iIdleStatusObserver->Get( idleState );
-
-        const TInt count = self->iRenderers.Count();
-
-        if( idleState == EPSAiForeground )
-            {
-            for( TInt i( 0 ); i < count; i++ )
-                {
-                TRAP_IGNORE( self->iRenderers[i]->FocusObtainedL() );
-                }
-            }
-        else
-            {
-            for( TInt j( 0 ); j < count; j++ )
-                {
-                TRAP_IGNORE( self->iRenderers[j]->FocusLostL() );
-                }
-            }
-        }
-
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::HandleKeylockStateEvent()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::HandleKeylockStateEvent( TAny* aPtr )
-    {
-    CNativeUiController* self = 
-        reinterpret_cast< CNativeUiController* >( aPtr );
-
-    if( self )
-        {
-        TInt keylockState = EKeyguardNotActive;
-        self->iKeylockStatusObserver->Get( keylockState );
-
-        const TInt count = self->iRenderers.Count();
-
-        if( keylockState != EKeyguardNotActive )
-            {
-            TRAP_IGNORE(
-                // Run dialog shutter to shut any open dialogs
-                AknDialogShutter::ShutDialogsL( 
-                    *static_cast< CEikonEnv* >( CCoeEnv::Static() ) ); 
-                
-                TKeyEvent key;
-                key.iCode = 0;
-                key.iModifiers = 0;
-                key.iScanCode = EStdKeyNo;
-                CCoeEnv::Static()->SimulateKeyEventL( key, EEventKey );
-                );
-            
-            for( TInt i( 0 ); i < count; i++ )
-                {
-                TRAP_IGNORE( self->iRenderers[i]->KeylockEnabledL() );
-                }
-            }
-        else
-            {
-            for( TInt i( 0 ); i < count; i++ )
-                {
-                TRAP_IGNORE( self->iRenderers[i]->KeylockDisabledL() );
-                }
-            }
-        }
-    
-    return KErrNone;
-	}
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::HandlePluginConfChange()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::HandlePluginConfChange( TAny* aPtr )
-	{
-	CNativeUiController* self = 
-        reinterpret_cast< CNativeUiController* >( aPtr );
-
-    TInt value( 0 );
-    
-    RProperty::Get( KPSUidAiInformation, 
-        KActiveIdleExtHS_PluginConfChange, value );
-    
-    if( self && value )
-        {
-        self->iAppUi->ExtHSThemeChanged();
-        }
-    
-    return KErrNone;
-	}
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::LoadUIDefinitionL()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::LoadUIDefinitionL()
-    {
-    if ( iUiLoaded )
-        {
-        TInt count( iRenderers.Count() );
-    
-        for( TInt i( 0 ); i < count; i++ )
-            {
-            iRenderers[i]->LoadUIDefinitionL();
-            }
-        return;
-        }
-    
-    if ( !iExitTimer )
-        {
-        iExitTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-        }
-    
-    // This method is called upon startup. We'll need to:
-    iRenderers.ResetAndDestroy();
-
-    if( !iStatusPanel )
-        {
-        // 2) Initialize status pane for publishing in general
-        iStatusPanel = CAiStatusPanel::NewL();
-        }
-
-    // 3) Create renderers that handle publishing to title pane...
-    AddRendererL( CAiTitlePaneRenderer::NewLC( *iStatusPanel ) );
-    CleanupStack::Pop();//CAiTitlePaneRenderer
-
-    // ...navi pane...
-    AddRendererL( CAiNaviPaneRenderer::NewLC( *iStatusPanel ) );
-    CleanupStack::Pop();//CAiNaviPaneRenderer
-
-    // ...dialogs and.
-    AddRendererL( CAiDialogRenderer::NewLC() );
-    CleanupStack::Pop();//CAiDialogRenderer
-
-    AddRendererL( CAiNotifierRenderer::NewLC() );
-    CleanupStack::Pop();//CAiNotifierRenderer
-
-    // ...touch ui.
-    AddRendererL( CAiStatusPaneTouchUi::NewLC( *iStatusPanel, *iFwEventHandler ) );
-    CleanupStack::Pop();//CAiStatusPaneTouchUi
-
-    if( iRunningAsMain )
-        {
-        AddRendererL( CAiSoftKeyRenderer::NewLC() );
-        CleanupStack::Pop();//CAiSoftKeyRenderer
-
-        // Toolbar shown only when we are not the main ui controller
-        DeleteToolbarRenderer();
-	    
-	    TRAP_IGNORE(
-	        iAppUi->StartL(); )
-        }
-
-    // We need to load the resource file here if we are not main controller.
-    // If we are the main controller the loading is done in appui
-    // Also the toolbar renderer is loaded here.
-    else
-        {
-        //Load resources file for resource publishing
-        TFullName resourceFile( KResourceDrive );
-        resourceFile.Append( KResourcePath );
-        resourceFile.Append( KResourceFile );
-        BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), resourceFile );
-        if( iCoeEnv && iResourceOffset == KErrNotFound )
-            {
-            iResourceOffset = iCoeEnv->AddResourceFileL( resourceFile );
-            }
-        // Create the toolbar renderer
-        RecreateToolbarRendererL();
-        }
-
-    // 4) Add an observer that informs us about the focus transition changes
-    if( !iIdleStatusObserver )
-        {
-        iIdleStatusObserver = AiUtility::CreatePSPropertyObserverL(
-                                    TCallBack( HandleIdleStateEvent, this ),
-                                    KPSUidAiInformation,
-                                    KActiveIdleState );
-        }
-    if( !iKeylockStatusObserver )
-        {
-        iKeylockStatusObserver = AiUtility::CreatePSPropertyObserverL(
-                                    TCallBack( HandleKeylockStateEvent, this ),
-                                    KPSUidAvkonDomain,
-                                    KAknKeyguardStatus );
-        }
-	if( !iExtHsPluginConfChange )
-		{
-		iExtHsPluginConfChange = AiUtility::CreatePSPropertyObserverL( 
-		                            TCallBack( HandlePluginConfChange, this ),
-       		                    	KPSUidAiInformation, 
-       		                    	KActiveIdleExtHS_PluginConfChange );
-		}
-	
-    iUiLoaded = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::GetPluginsL()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::GetPluginsL( RAiPublisherInfoArray& aPlugins )
-    {
-    iPlugins.Reset();
-    
-    if( iRunningAsMain )
-        {               
-        TAiPublisherInfo shortcutPublisherInfo;
-        shortcutPublisherInfo.iUid = KShortcutPluginUid;
-        shortcutPublisherInfo.iName.Copy( KShortcutPluginName );
-        shortcutPublisherInfo.iNamespace.Copy( KNativeUiNamespace );        
-    
-        User::LeaveIfError( iPlugins.Append( shortcutPublisherInfo ) );
-    
-        TAiPublisherInfo deviceStatusPublisherInfo;
-        deviceStatusPublisherInfo.iUid = KDeviceStatusPluginUid;
-        deviceStatusPublisherInfo.iName.Copy( KDeviceStatusPluginName );
-        deviceStatusPublisherInfo.iNamespace.Copy( KNativeUiNamespace );
-        
-        User::LeaveIfError( iPlugins.Append( deviceStatusPublisherInfo ) );
-    
-        TAiPublisherInfo profilePublisherInfo;
-        profilePublisherInfo.iUid = KProfilePluginUid;
-        profilePublisherInfo.iName.Copy( KProfilePluginName );
-        profilePublisherInfo.iNamespace.Copy( KNativeUiNamespace );
-        
-        User::LeaveIfError( iPlugins.Append( profilePublisherInfo ) );
-    
-        // Copy iPlugins to aPlugins
-        aPlugins.ReserveL( aPlugins.Count() + iPlugins.Count() );
-        
-        for( TInt i = 0; i < iPlugins.Count(); ++i )
-            {
-            aPlugins.Append( iPlugins[i] );
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::GetSettingsL()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::GetSettingsL( const TAiPublisherInfo& aPubInfo,
-    RAiSettingsItemArray& aSettings )
-    {
-    if ( aPubInfo.iNamespace != KNativeUiNamespace )
-        {
-        return;
-        }
-    
-    if( iRunningAsMain && aPubInfo.iUid == KShortcutPluginUid )        
-        {
-        RProperty::Set( KPSUidAiInformation, KActiveIdleExtHS_PluginConfChange, 0 );
-        
-        MAiPluginSettings* settings = AiUtility::CreatePluginSettingsL();
-        CleanupDeletePushL( settings );
-
-        MAiPluginSettingsItem& item = settings->AiPluginSettingsItem();
-        item.SetPublisherId( aPubInfo.iUid );
-
-        HBufC* appBuf;
-        appBuf = HBufC::NewLC( RProperty::KMaxPropertySize );
-        TPtr appPtr = appBuf->Des();
-        RProperty::Get( KPSUidAiInformation, KActiveIdleExtHS_LSKLocked, appPtr );
-        if( appPtr.Length() > 0 )
-            {
-            item.SetKey( KNativeUiKeyIdLockedLSK );
-            item.SetValueL( appPtr, EFalse );
-            }
-        else
-            {
-            item.SetKey( KNativeUiKeyIdLSK );
-            item.SetValueL( KAiLocalAppAppShell, EFalse );
-            }
-
-        // Append settings into array.
-        // This can not fail because space has been reserved.
-        aSettings.Append( settings );
-
-        CleanupStack::PopAndDestroy( appBuf );
-        appBuf = NULL;
-
-        CleanupStack::Pop( settings );
-
-        settings = AiUtility::CreatePluginSettingsL();
-        CleanupDeletePushL( settings );
-
-        MAiPluginSettingsItem& item2 = settings->AiPluginSettingsItem();
-        item2.SetPublisherId( aPubInfo.iUid );
-
-        HBufC* app2Buf;
-        app2Buf = HBufC::NewLC( RProperty::KMaxPropertySize );
-        TPtr app2Ptr = app2Buf->Des();
-        RProperty::Get( KPSUidAiInformation, KActiveIdleExtHS_RSKLocked, app2Ptr );
-        if( app2Ptr.Length() > 0 )
-            {
-            item2.SetKey( KNativeUiKeyIdLockedRSK );
-            item2.SetValueL( app2Ptr, EFalse );
-            }
-        else
-            {
-            item2.SetKey( KNativeUiKeyIdRSK );
-            item2.SetValueL( KAiLocalAppContacts, EFalse );
-            }
-        
-        // Append settings into array.
-        // This can not fail because space has been reserved.
-        aSettings.Append( settings );
-
-        CleanupStack::PopAndDestroy( app2Buf );
-        app2Buf = NULL;
-        
-        // In case there are settings in the cenrep the settings
-        // here are overwritten by them
-        GetSettingsFromCRL( aPubInfo, aSettings );
-        CleanupStack::Pop( settings );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::GetSettingsFromCRL()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::GetSettingsFromCRL( const TAiPublisherInfo& aPubInfo,                            
-    RAiSettingsItemArray &aPluginSettings )
-    {
-    if ( aPubInfo.iNamespace != KNativeUiNamespace )
-        {
-        return;
-        }
-    
-    /*
-    * The settings are stored in the cenrep starting from 0x1000.
-    * 0x1000 is the name of the plugin which this setting belongs to (for example Settings/Shortcut)
-    * 0x1001 is the id of the setting (for example 1)
-    * 0x1002 is the value of the setting (for example localapp:0x012345678)
-    *
-    * So three keys per setting.
-    */
-
-    TUint32 crKey = KAIPluginSettingsKeyRangeStart;
-
-    TBool moreSettings = ETrue;
-
-    HBufC* pluginId = HBufC::NewLC(NCentralRepositoryConstants::KMaxUnicodeStringLength);
-    HBufC* settingValue = HBufC::NewLC(NCentralRepositoryConstants::KMaxUnicodeStringLength);
-    HBufC* settingKey = HBufC::NewLC(NCentralRepositoryConstants::KMaxUnicodeStringLength);
-
-    TPtr pluginIdPtr = pluginId->Des();
-    TPtr settingValuePtr = settingValue->Des();
-    TPtr settingKeyPtr = settingKey->Des();
-
-    TInt32 settingId = 0;
-
-    TInt err = KErrNone;
-    TBool settingFound = EFalse;
-
-    CRepository *settingsRepository = CRepository::NewLC( TUid::Uid( KCRUidActiveIdleLV ) );
-
-    while ( moreSettings )
-        {
-        settingFound = EFalse;
-
-        pluginIdPtr.Zero();
-        settingValuePtr.Zero();
-        settingKeyPtr.Zero();
-        //Get the name of plugin with the Settings/ prefix
-        err = settingsRepository->Get(crKey++, pluginIdPtr);
-
-        // remove the Settings/ prefix if it is located at the start of the string
-        if ( pluginIdPtr.FindC(KSettings) == 0 )
-            {
-
-            pluginIdPtr.Delete(0,
-                KSettingsIdSeparator().Length() +
-                KSettings().Length());
-            }
-
-        // does the setting belong to this plugin
-        if ( err == KErrNone && pluginIdPtr == aPubInfo.iName )
-            {
-            // Get the settings id
-            err = settingsRepository->Get(crKey++, settingKeyPtr);
-            if ( err == KErrNone )
-                {
-                err = AiUtility::ParseInt(settingId,settingKeyPtr);
-                }
-            if ( err == KErrNone )
-                {
-                // Get the actual value of the setting
-                err = settingsRepository->Get(crKey++, settingValuePtr);
-
-                // Ignore possible placeholder data in cenrep
-                if ( err == KErrNone && settingValuePtr.Compare( KSettingsDummyData ) != 0 )
-                    {
-                    // Try to find an existing setting for this
-                    for ( TInt j = 0; j < aPluginSettings.Count(); j++  )
-                        {
-                        MAiPluginSettings *setting = aPluginSettings[j];
-                        MAiPluginSettingsItem& item = setting->AiPluginSettingsItem();
-
-                        // Existing setting found => replace it
-                        if ( item.Key() == settingId && item.PublisherId() == aPubInfo.iUid )
-                            {
-                            item.SetValueL( settingValuePtr, EFalse );
-                            settingFound = ETrue;
-                            break;
-                            }
-                        }
-                    // Existing setting not found => append new one ONLY if we
-                    // are dealing with the icon overrides
-                    if ( !settingFound && ( settingId & KScutFlagBitIconOverride ) )
-                        {
-                        MAiPluginSettings* settings = AiUtility::CreatePluginSettingsL();
-                        CleanupDeletePushL( settings );
-                        MAiPluginSettingsItem& item = settings->AiPluginSettingsItem();
-
-                        item.SetPublisherId( aPubInfo.iUid );
-                        item.SetKey( settingId );
-                        item.SetValueL( settingValuePtr, EFalse );
-                        aPluginSettings.Append( settings );
-
-                        CleanupStack::Pop( settings );
-                        }
-                    }
-                }
-            }
-        // name of the plugin not found => no more settings
-        else if (err != KErrNone )
-            {
-            moreSettings = EFalse;
-
-            }
-        // not the correct setting for this plugin
-        else
-            {
-            crKey += KAI2CrKeyIncrementBy2;
-            }
-        }
-    
-    CleanupStack::PopAndDestroy(settingsRepository);
-    CleanupStack::PopAndDestroy(settingKey);
-    CleanupStack::PopAndDestroy(settingValue);
-    CleanupStack::PopAndDestroy(pluginId);
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::ActivateUI()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::ActivateUI()
-    {
-    if( iAppUi )
-        {        
-        TRAP_IGNORE( iAppUi->StartL() );            
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::GetContentObserver()
-// ----------------------------------------------------------------------------
-//
-MAiContentObserver& CNativeUiController::GetContentObserver()
-    {
-    return *this;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::SetEventHandler()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::SetEventHandler( MAiFwEventHandler& aEventHandler )
-    {
-    iFwEventHandler = &aEventHandler;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::FwEventHandler()
-// ----------------------------------------------------------------------------
-//
-MAiFwEventHandler* CNativeUiController::FwEventHandler()
-    {
-    return iFwEventHandler;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::RemovePluginFromUI()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::RemovePluginFromUI( 
-    MAiPropertyExtension& /*aPlugin*/ )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::MainInterface()
-// ----------------------------------------------------------------------------
-//
-MAiMainUiController* CNativeUiController::MainInterface()
-    {
-    return this;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::SecondaryInterface()
-// ----------------------------------------------------------------------------
-//
-MAiSecondaryUiController* CNativeUiController::SecondaryInterface()
-    {
-    return this;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::RunApplicationL()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::RunApplicationL()
-    {
-    VariateToMainUiController();
-
-    User::LeaveIfError(
-        EikStart::RunApplication( &CNativeUiController::NewApplication ) );
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::CoeEnv()
-// ----------------------------------------------------------------------------
-//
-CCoeEnv& CNativeUiController::CoeEnv()
-    {
-    return *CCoeEnv::Static();
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::SetUiFrameworkObserver()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::SetUiFrameworkObserver( 
-    MAiUiFrameworkObserver& aObserver )
-    {
-    iUiFrameworkObserver = &aObserver;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::IsMenuOpen()
-// ----------------------------------------------------------------------------
-//
-TBool CNativeUiController::IsMenuOpen()
-    {
-    return CoeEnv().AppUi()->IsDisplayingMenuOrDialog();
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::SetCoeEnv()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::SetCoeEnv( CCoeEnv& aCoeEnv )
-    {
-    iCoeEnv = &aCoeEnv;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::UiFrameworkObserver()
-// ----------------------------------------------------------------------------
-//
-MAiUiFrameworkObserver* CNativeUiController::UiFrameworkObserver()
-    {
-    return iUiFrameworkObserver;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::HandleResourceChange()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::HandleResourceChange( TInt /*aType*/ )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::HandleForegroundEvent()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::HandleForegroundEvent( TBool /*aForeground*/ )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::StartTransaction()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::StartTransaction( TInt /*aTxId*/ )
-    {
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::Commit()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::Commit( TInt /*aTxId*/ )
-    {
-    TInt result( KErrNone );
-    const TInt count( iRenderers.Count() );
-    
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        TRAP( result, iRenderers[i]->TransactionCommittedL() );
-        }
-    
-    return result;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::CancelTransaction()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::CancelTransaction( TInt /*aTxId*/ )
-    {
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::CanPublish()
-// ----------------------------------------------------------------------------
-//
-TBool CNativeUiController::CanPublish( MAiPropertyExtension& aPlugin,
-    TInt /*aContent*/, TInt /*aIndex*/ )                                      
-    {    
-    const TAiPublisherInfo* info( NULL );
-    
-    TRAP_IGNORE( info = aPlugin.PublisherInfoL() );
-       
-    if ( !info || info->iNamespace != KNativeUiNamespace )
-        {
-        return EFalse;
-        }
-    
-    for( TInt i = 0; i < iPlugins.Count(); i++ )
-        {               
-        if ( iPlugins[i] == *info )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::Publish()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::Publish( MAiPropertyExtension& aPlugin,
-    TInt aContent, TInt aResource, TInt aIndex )
-    {
-    TInt err = DoPublish( aPlugin, aContent, aResource, aIndex );
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::Publish()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::Publish( MAiPropertyExtension& aPlugin,
-    TInt aContent, const TDesC16& aText, TInt aIndex )        
-    {
-    TInt err = DoPublish( aPlugin, aContent, aText, aIndex );
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::Publish()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::Publish( MAiPropertyExtension& aPlugin,
-    TInt aContent, const TDesC8& aBuf, TInt aIndex )
-    {
-    TInt err = DoPublish( aPlugin, aContent, aBuf, aIndex );
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::Publish()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::Publish( MAiPropertyExtension& aPlugin,                                     
-    TInt aContent, RFile& aFile, TInt aIndex )                                   
-    {
-    TInt err = DoPublish( aPlugin, aContent, aFile, aIndex );
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::Clean()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::Clean( MAiPropertyExtension& aPlugin, 
-    TInt aContent, TInt /*aIndex*/ )
-    {
-    const TInt count( iRenderers.Count() ); 
-    
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        iRenderers[i]->Clean( aPlugin, aContent );
-        }
-
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::Extension()
-// ----------------------------------------------------------------------------
-//
-TAny* CNativeUiController::Extension( TUid /*aUid*/ )
-    {
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::RequiresSubscription()
-// ----------------------------------------------------------------------------
-//
-TBool CNativeUiController::RequiresSubscription( 
-    const TAiPublisherInfo& aPublisherInfo ) const
-    {
-    if ( aPublisherInfo.iNamespace == KNativeUiNamespace )
-        {
-        // Targeted to this content renderer
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::SetProperty()
-// ----------------------------------------------------------------------------
-//
-TInt CNativeUiController::SetProperty( MAiPropertyExtension& /*aPlugin*/,
-        const TDesC8& /*aElementId*/,
-        const TDesC8& /*aPropertyName*/,
-        const TDesC8& /*aPropertyValue*/ ) 
-    {
-   
-    return KErrNotSupported;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::SetProperty()
-// ----------------------------------------------------------------------------
-//   
-TInt CNativeUiController::SetProperty(MAiPropertyExtension& /*aPlugin*/,
-        const TDesC8& /*aElementId*/,
-        const TDesC8& /*aPropertyName*/,
-        const TDesC8& /*aPropertyValue*/,
-        MAiContentObserver::TValueType /*aValueType*/) 
-    {
-    return KErrNotSupported;
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::NewApplication()
-// ----------------------------------------------------------------------------
-//
-CApaApplication* CNativeUiController::NewApplication()
-    {
-    CNativeUiController* self = 
-        static_cast< CNativeUiController* >( Dll::Tls() );
-  
-    return CApplication::New( self );
-    }
-
-// ----------------------------------------------------------------------------
-// CNativeUiController::VariateToMainUiController()
-// ----------------------------------------------------------------------------
-//
-void CNativeUiController::VariateToMainUiController()
-    {
-    iRunningAsMain = ETrue;
-    }
-
-// ======== GLOBAL FUNCTIONS ========
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( KImplementationTable ) / sizeof( TImplementationProxy );
-    return KImplementationTable;
-    }
-
-// End of File.
--- a/idlehomescreen/sapiwrapper/cpswrapper/bwins/cpswrapper.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-EXPORTS
-	?GetTemplatedPublishersL@CCpsWrapper@cpswrapper@@QAEPAVCPublisherMap@2@XZ @ 1 NONAME ; class cpswrapper::CPublisherMap * cpswrapper::CCpsWrapper::GetTemplatedPublishersL(void)
-	?ContentType@CPublisherInfo@cpswrapper@@QBEABVTDesC16@@XZ @ 2 NONAME ; class TDesC16 const & cpswrapper::CPublisherInfo::ContentType(void) const
-	?PublisherId@CPublisherInfo@cpswrapper@@QBEABVTDesC16@@XZ @ 3 NONAME ; class TDesC16 const & cpswrapper::CPublisherInfo::PublisherId(void) const
-	?AddPublisherInfoL@CPublisherMap@cpswrapper@@QAEXPAVCPublisherInfo@2@@Z @ 4 NONAME ; void cpswrapper::CPublisherMap::AddPublisherInfoL(class cpswrapper::CPublisherInfo *)
-	?SetWidgetNameL@CPublisherInfo@cpswrapper@@QAEXABVTDesC16@@@Z @ 5 NONAME ; void cpswrapper::CPublisherInfo::SetWidgetNameL(class TDesC16 const &)
-	?MaxWidgets@CPublisherInfo@cpswrapper@@QBEABJXZ @ 6 NONAME ; long const & cpswrapper::CPublisherInfo::MaxWidgets(void) const
-	?NewL@CPublisherInfo@cpswrapper@@SAPAV12@XZ @ 7 NONAME ; class cpswrapper::CPublisherInfo * cpswrapper::CPublisherInfo::NewL(void)
-	?SetTemplateTypeL@CPublisherInfo@cpswrapper@@QAEXABVTDesC16@@@Z @ 8 NONAME ; void cpswrapper::CPublisherInfo::SetTemplateTypeL(class TDesC16 const &)
-	?SetPublisherIdL@CPublisherInfo@cpswrapper@@QAEXABVTDesC16@@@Z @ 9 NONAME ; void cpswrapper::CPublisherInfo::SetPublisherIdL(class TDesC16 const &)
-	?Description@CPublisherInfo@cpswrapper@@QBEABVTDesC16@@XZ @ 10 NONAME ; class TDesC16 const & cpswrapper::CPublisherInfo::Description(void) const
-	?SetMaxWidgets@CPublisherInfo@cpswrapper@@QAEXABJ@Z @ 11 NONAME ; void cpswrapper::CPublisherInfo::SetMaxWidgets(long const &)
-	?SetContentTypeL@CPublisherInfo@cpswrapper@@QAEXABVTDesC16@@@Z @ 12 NONAME ; void cpswrapper::CPublisherInfo::SetContentTypeL(class TDesC16 const &)
-	?NewL@CPublisherMap@cpswrapper@@SAPAV12@XZ @ 13 NONAME ; class cpswrapper::CPublisherMap * cpswrapper::CPublisherMap::NewL(void)
-	?ContentId@CPublisherInfo@cpswrapper@@QBEABVTDesC16@@XZ @ 14 NONAME ; class TDesC16 const & cpswrapper::CPublisherInfo::ContentId(void) const
-	?NewLC@CCpsWrapper@cpswrapper@@SAPAV12@AAVMCpsWrapperObserver@2@@Z @ 15 NONAME ; class cpswrapper::CCpsWrapper * cpswrapper::CCpsWrapper::NewLC(class cpswrapper::MCpsWrapperObserver &)
-	?PublisherInfo@CPublisherMap@cpswrapper@@QBEAAV?$RPointerArray@VCPublisherInfo@cpswrapper@@@@XZ @ 16 NONAME ; class RPointerArray<class cpswrapper::CPublisherInfo> & cpswrapper::CPublisherMap::PublisherInfo(void) const
-	??1CCpsWrapper@cpswrapper@@UAE@XZ @ 17 NONAME ; cpswrapper::CCpsWrapper::~CCpsWrapper(void)
-	??1CPublisherInfo@cpswrapper@@UAE@XZ @ 18 NONAME ; cpswrapper::CPublisherInfo::~CPublisherInfo(void)
-	??1CPublisherMap@cpswrapper@@UAE@XZ @ 19 NONAME ; cpswrapper::CPublisherMap::~CPublisherMap(void)
-	?TemplateType@CPublisherInfo@cpswrapper@@QBEABVTDesC16@@XZ @ 20 NONAME ; class TDesC16 const & cpswrapper::CPublisherInfo::TemplateType(void) const
-	?SetContentIdL@CPublisherInfo@cpswrapper@@QAEXABVTDesC16@@@Z @ 21 NONAME ; void cpswrapper::CPublisherInfo::SetContentIdL(class TDesC16 const &)
-	?NewLC@CPublisherInfo@cpswrapper@@SAPAV12@XZ @ 22 NONAME ; class cpswrapper::CPublisherInfo * cpswrapper::CPublisherInfo::NewLC(void)
-	?NewLC@CPublisherMap@cpswrapper@@SAPAV12@XZ @ 23 NONAME ; class cpswrapper::CPublisherMap * cpswrapper::CPublisherMap::NewLC(void)
-	?SetLogoIconL@CPublisherInfo@cpswrapper@@QAEXABVTDesC16@@@Z @ 24 NONAME ; void cpswrapper::CPublisherInfo::SetLogoIconL(class TDesC16 const &)
-	?LogoIcon@CPublisherInfo@cpswrapper@@QBEABVTDesC16@@XZ @ 25 NONAME ; class TDesC16 const & cpswrapper::CPublisherInfo::LogoIcon(void) const
-	?WidgetName@CPublisherInfo@cpswrapper@@QBEABVTDesC16@@XZ @ 26 NONAME ; class TDesC16 const & cpswrapper::CPublisherInfo::WidgetName(void) const
-	?NewL@CCpsWrapper@cpswrapper@@SAPAV12@AAVMCpsWrapperObserver@2@@Z @ 27 NONAME ; class cpswrapper::CCpsWrapper * cpswrapper::CCpsWrapper::NewL(class cpswrapper::MCpsWrapperObserver &)
-	?SetDescriptionL@CPublisherInfo@cpswrapper@@QAEXABVTDesC16@@@Z @ 28 NONAME ; void cpswrapper::CPublisherInfo::SetDescriptionL(class TDesC16 const &)
-
--- a/idlehomescreen/sapiwrapper/cpswrapper/eabi/cpswrapper.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-EXPORTS
-	_ZN10cpswrapper11CCpsWrapper23GetTemplatedPublishersLEv @ 1 NONAME
-	_ZN10cpswrapper11CCpsWrapper4NewLERNS_19MCpsWrapperObserverE @ 2 NONAME
-	_ZN10cpswrapper11CCpsWrapper5NewLCERNS_19MCpsWrapperObserverE @ 3 NONAME
-	_ZN10cpswrapper11CCpsWrapperD0Ev @ 4 NONAME
-	_ZN10cpswrapper11CCpsWrapperD1Ev @ 5 NONAME
-	_ZN10cpswrapper11CCpsWrapperD2Ev @ 6 NONAME
-	_ZN10cpswrapper13CPublisherMap17AddPublisherInfoLEPNS_14CPublisherInfoE @ 7 NONAME
-	_ZN10cpswrapper13CPublisherMap4NewLEv @ 8 NONAME
-	_ZN10cpswrapper13CPublisherMap5NewLCEv @ 9 NONAME
-	_ZN10cpswrapper13CPublisherMapD0Ev @ 10 NONAME
-	_ZN10cpswrapper13CPublisherMapD1Ev @ 11 NONAME
-	_ZN10cpswrapper13CPublisherMapD2Ev @ 12 NONAME
-	_ZN10cpswrapper14CPublisherInfo12SetLogoIconLERK7TDesC16 @ 13 NONAME
-	_ZN10cpswrapper14CPublisherInfo13SetContentIdLERK7TDesC16 @ 14 NONAME
-	_ZN10cpswrapper14CPublisherInfo13SetMaxWidgetsERKl @ 15 NONAME
-	_ZN10cpswrapper14CPublisherInfo14SetWidgetNameLERK7TDesC16 @ 16 NONAME
-	_ZN10cpswrapper14CPublisherInfo15SetContentTypeLERK7TDesC16 @ 17 NONAME
-	_ZN10cpswrapper14CPublisherInfo15SetDescriptionLERK7TDesC16 @ 18 NONAME
-	_ZN10cpswrapper14CPublisherInfo15SetPublisherIdLERK7TDesC16 @ 19 NONAME
-	_ZN10cpswrapper14CPublisherInfo16SetTemplateTypeLERK7TDesC16 @ 20 NONAME
-	_ZN10cpswrapper14CPublisherInfo4NewLEv @ 21 NONAME
-	_ZN10cpswrapper14CPublisherInfo5NewLCEv @ 22 NONAME
-	_ZN10cpswrapper14CPublisherInfoD0Ev @ 23 NONAME
-	_ZN10cpswrapper14CPublisherInfoD1Ev @ 24 NONAME
-	_ZN10cpswrapper14CPublisherInfoD2Ev @ 25 NONAME
-	_ZNK10cpswrapper13CPublisherMap13PublisherInfoEv @ 26 NONAME
-	_ZNK10cpswrapper14CPublisherInfo10MaxWidgetsEv @ 27 NONAME
-	_ZNK10cpswrapper14CPublisherInfo10WidgetNameEv @ 28 NONAME
-	_ZNK10cpswrapper14CPublisherInfo11ContentTypeEv @ 29 NONAME
-	_ZNK10cpswrapper14CPublisherInfo11DescriptionEv @ 30 NONAME
-	_ZNK10cpswrapper14CPublisherInfo11PublisherIdEv @ 31 NONAME
-	_ZNK10cpswrapper14CPublisherInfo12TemplateTypeEv @ 32 NONAME
-	_ZNK10cpswrapper14CPublisherInfo8LogoIconEv @ 33 NONAME
-	_ZNK10cpswrapper14CPublisherInfo9ContentIdEv @ 34 NONAME
-
--- a/idlehomescreen/sapiwrapper/cpswrapper/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:  Item id, name and properties
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-
-PRJ_MMPFILES
-cpswrapper.mmp
--- a/idlehomescreen/sapiwrapper/cpswrapper/group/cpswrapper.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  project file
-*
-*/
-
-#include <platform_paths.hrh>
- 
-TARGET		    cpswrapper.dll
-TARGETTYPE	    dll
-UID			    0x1000008d
-
-CAPABILITY      ALL -TCB 
-VENDORID        VID_DEFAULT
-
-USERINCLUDE	    ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH	    ../src
-
-SOURCE		    cpswrapper.cpp 
-SOURCE          publisherinfo.cpp 
-SOURCE          publishermap.cpp 
-SOURCE          cpswrapperdllmain.cpp
-SOURCE 		cpsobserver.cpp
-
-//By default, the build tools look for the WINSCW def file in a BWINS directory
-//(at the same level as the directory containing the mmp file), 
-//the GCC ARM def file in a BMARM directory, and the ARMV5 def file in a EABI directory. 
-//If def files are stored in these locations, the project files does not need to specify
-//the location of the def files explicitly. If you want to store the def files in some other 
-//location, you will need to specify in the project file where the .def files are using 
-//the deffile keyword.
-
-//The following commented out code shows how the build system uses the implicit
-// location for defiles. To create the DEF files Choose Project > Freeze Exports from Carbide
-// or run 'abld freeze' from the command-line
-//#if defined (WINS)
-//  DEFFILE ../bwins/cpswrapper.def
-//#elif defined (GCC32)
-//  DEFFILE ../bmarm/cpswrapper.def
-//#else 
-//  DEFFILE ../eabi/cpswrapper.def
-//#endif
-
-nostrictdef
-
-LIBRARY		 euser.lib
-LIBRARY      liwServiceHandler.lib
-
-#ifdef ENABLE_ABIV2_MODE
-DEBUGGABLE
-#endif
-
--- a/idlehomescreen/sapiwrapper/cpswrapper/inc/cpsconst.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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:  Defines the CPS constants
- *
- */
-
-#ifndef CPSCONST_H
-#define CPSCONST_H
-
-namespace cpswrapper
-    {
-    
-	// Local constants
-	_LIT8( KCPSConfigurationIf, "IContentPublishing" );
-	_LIT8( KCPS, "Service.ContentPublishing" );
-	// CPS constants
-	_LIT( KHSTemplate, "hstemplate" );
-	_LIT( KPublisher16, "publisher" );
-	_LIT8( KPublisher, "publisher" );
-	_LIT8( KContentType, "content_type" );
-	_LIT8( KContentId, "content_id" );
-	_LIT8( KFilter, "filter" );
-	_LIT( KAll, "all");
-	_LIT8( KOperation, "operation" );
-	_LIT8( KChangeInfo, "change_info" );
-	_LIT8( KDelete, "delete" );
-	_LIT( KDelete16, "delete" );
-	_LIT8( KAdd, "add" );
-	_LIT( KAdd16, "add" );
-	_LIT8( KRequestNotification, "RequestNotification" );
-	_LIT8( KType, "type" );
-	_LIT8( KGetList, "GetList" );
-	_LIT8( KResults, "results" );
-	_LIT8( KTemplateType, "template_type");
-	_LIT8( KWidgetName, "widget_name");
-	_LIT8( KDataMap, "data_map" );
-	_LIT8( KMaxWidgets, "widget_inst");
-    _LIT8( KWidgetDesc,   "widget_desc");
-    _LIT8( KWidgetIcon, "widget_icon");
-	
-	_LIT( KWRTTemplate, "ai3templatedwidget");
-	_LIT( KWRTPublisher, "wrt_publisher");
-	_LIT8( KWidgetInfo,   "widget_info");
-	
-    }
-#endif /* CPSCONST_H */
--- a/idlehomescreen/sapiwrapper/cpswrapper/inc/cpsobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Defines an observer to CPS
-*
-*/
-
-#ifndef CPSOBSERVER_H
-#define CPSOBSERVER_H
-
- // Forward declarations
-class CLiwServiceHandler;
-class CLiwCriteriaItem;
-class MLiwInterface;
-
-namespace cpswrapper
-    {
-    /**
-      * Content publishing service wrapper namespace
-      */
-    
-    // Forward declarations
-    class CCpsWrapper;
-    
-    /**
-	 *  Observer class for cps registry 
-	 *
-	 *  @code
-	 *
-	 *  @endcode
-	 *
-	 *  @lib cpswrapper.lib
-	 *  @since S60 v5.0
-	 */
-    NONSHARABLE_CLASS( CCpsObserver ) : public CBase, public MLiwNotifyCallback
-		{
-		public: // Constructors and destructor
-			/**
-			 * Two-phased constructor.
-			 */
-			static CCpsObserver* NewLC( CCpsWrapper* aCpsWrapper);
-			
-			/**
-			 * Destructor.
-			 */
-			~CCpsObserver();
-	
-		public:  //from MLiwNotifyCallback
-			
-			/**
-			* Handles notifications caused by an asynchronous Execute*CmdL call
-			* or an event.
-			*
-			* @param aCmdId The service command associated to the event.
-			* @param aEventId Occured event, see LiwCommon.hrh.
-			* @param aEventParamList Event parameters, if any, as defined per
-			*        each event.
-			* @param aInParamList Input parameters, if any, given in the
-			*        related HandleCommmandL.
-			* @return Error code for the callback.
-			*/
-			TInt HandleNotifyL(
-				TInt aCmdId,
-				TInt aEventId,
-				CLiwGenericParamList& aEventParamList,
-				const CLiwGenericParamList& aInParamList);
-		
-		public:
-			
-			/**
-			* Registers to CPS for add, delete , update and execute notifications
-			* 
-			* @param aFilter - filter for input parameter list
-			* @param aRegistry - registry to register observer
-			*/
-			void RegisterL( CLiwDefaultMap* aFilter,  const TDesC& aRegistry  );
-			
-			/**
-			* Cancel all the registered notifications.
-			*/
-			void ReleaseL();
-	
-		private:
-			
-			/**
-			* Perform the second phase construction 
-			*/      
-			void ConstructL( );
-			
-			/**
-			* Constructor.
-			* 
-			* @param aCpsWrapper cps wrapper 
-			*/
-			CCpsObserver( CCpsWrapper* aCpsWrapper );
-			
-			/**
-			* Initialise Liw connection to Content publishing service.
-			*/
-			void InitLiwL();
-			
-			/**
-			* Closes Liw connection to Content publishing service.
-			*/
-			void ReleaseLiw();
-			
-		private: // data
-				
-			// Reference of MLiwInterface
-			// Owned
-			MLiwInterface* iInterface;
-			
-			// Reference of CLiwServiceHandler
-			// Owned
-			CLiwServiceHandler* iLiwHandler;	            
-					
-			// Reference of the CCpsWrapper
-			// Not owned
-			CCpsWrapper* iCpsWrapper;
-			
-			// Call back error code
-			TInt iError;
-		};
-    }
-#endif /* CPSOBSERVER_H_ */
--- a/idlehomescreen/sapiwrapper/cpswrapper/inc/cpssapi.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:  Encapsulates cps sapi. Collects needed headers
-*
-*/
-
-#ifndef CPSSAPI_H
-#define CPSSAPI_H
-
-#include "cpswrapper.h"
-#include "publisherinfo.h"
-#include "publishermap.h"
-
-#endif // CPSSAPI_H
-
-// End of file
--- a/idlehomescreen/sapiwrapper/cpswrapper/inc/cpswrapper.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +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:  Encapsulates hsps liw service
- *
- */
-
-#ifndef CPSWRAPPER_H
-#define CPSWRAPPER_H
-
-// System includes
-#include <e32base.h>
-#include <liwcommon.h>      // for MLiwNotifyCallback
-
-// Forward declarations
-class CLiwServiceHandler;
-class CLiwCriteriaItem;
-class MLiwInterface;
-
-namespace cpswrapper
-    {
-    /**
-     * Content publishing service wrapper namespace
-     */
-
-    // Forward declarations
-    class CPublisherMap;
-    class CCpsObserver;
-   
-    /**
-     *  Observer class for cpswrapper
-     *
-     *  @code
-     *
-     *  @endcode
-     *
-     *  @lib cpswrapper.lib
-     *  @since S60 v5.0
-     */
-    class MCpsWrapperObserver
-        {
-    public:
-        /**
-         * Callback methot for unregistered widget notify.
-         *
-         * @param aPublisher a Publisher
-         */
-        virtual void NotifyWidgetUnregisteredL(const TDesC& aPublisher) = 0;
-        
-        /**
-         * Callback methot for registered widget notify.
-         */
-        virtual void NotifyWidgetRegisteredL() = 0;
-        };
-
-    /**
-     *  Wrapper for cps liw service
-     *
-     *
-     *  @code
-     *
-     *  @endcode
-     *
-     *  @lib cpswrapper.lib
-     *  @since S60 v5.0
-     */
-    NONSHARABLE_CLASS( CCpsWrapper ) : public CBase
-        {
-    public:
-        /**
-         * Two-phased constructor.
-         * @param aObserver Observer
-         */
-        IMPORT_C static CCpsWrapper* NewL( MCpsWrapperObserver& aObserver );
-
-        /**
-         * Two-phased constructor.
-         * @param aObserver Observer
-         */
-        IMPORT_C static CCpsWrapper* NewLC( MCpsWrapperObserver& aObserver );
-
-        /**
-         * Destructor.
-         */
-        IMPORT_C ~CCpsWrapper();
-
-    protected:
-        /**
-         * Constructor
-         * @param aObserver Observer
-         */
-        CCpsWrapper( MCpsWrapperObserver& aObserver );
-
-        /** 
-         * Second phase constructor 
-         */
-        void ConstructL();
-
-    public:
-        /**
-         * Gets templated publishers
-         *
-         * @return map of publisher infos. Ownership is transfered.
-         */
-        IMPORT_C CPublisherMap* GetTemplatedPublishersL();
-        
-        /**
-		 * Handles changed publisher. Deleted or added. 
-		 * 
-		 * @param aPublisher publisher
-		 * @return 
-		 */
-        void HandleChangedPublisherL(const TDesC& aPublisher, 
-                const TDesC& aOperation);
-
-    private:
-        // new functions
-
-        /**
-         * Register for notification from publisher registry
-         */
-        void StartListeningPublisherRegistryL();
-        
-        /**
-		 * Get maps of WRT widget publishers info. 
-		 * 
-		 * @param aPublisherMap a map of publishers info.
-		 */
-        void GetWRTWidgetsL(CPublisherMap& aPublisherMap);
-
-        /**
-		 * Register an observer for request notification  
-		 * 
-		 * @param aPublisher  publisher name
-		 * @param aContentType content type
-		 * @param aContentId content id
-		 * @param aOperation operation (add,delete,update,execute)
-		 * @param aRegistry registry type (publisher/cp_data)
-		 */
-        void RequestForNotificationL(
-        		const TDesC& aPublisher, 
-        		const TDesC& aContentType,
-        		const TDesC& aContentId,
-        		const TDesC8& aOperation,
-        		const TDesC& aRegistry);
-        
-    private: // Data
-        /**
-         * Wrapper observer.
-         * Not owned
-         */
-        MCpsWrapperObserver& iObserver;
-
-        /**
-         * SAPI service handler.
-         * Owned.
-         */
-        CLiwServiceHandler* iServiceHandler;
-
-        /**
-         * CPS SAPI service.
-         * Owned.
-         */
-        CLiwCriteriaItem* iCpsService;
-
-        /**
-         * Provides hsps services.
-         * Owned.
-         */
-        MLiwInterface* iCpsInterface;
-        
-        /**
-	     * Registered cps observers.
-	     * Owned.
-	     */
-        RPointerArray<CCpsObserver> iObservers;
-        };
-    
-    }
-
-#endif // CPSWRAPPER_H
-// End of file
--- a/idlehomescreen/sapiwrapper/cpswrapper/inc/publisherinfo.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +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:  Presents publisher info
- *
- */
-
-#ifndef PUBLISHERINFO_H
-#define PUBLISHERINFO_H
-
-#include <e32base.h>
-
-namespace cpswrapper
-    {
-    /**
-     * Content publishing service wrapper namespace
-     */
-
-    /**
-     *  Presents publisher info
-     *
-     *
-     *  @code
-     *
-     *  @endcode
-     *
-     *  @lib cpswrapper.lib
-     *  @since S60 v5.0
-     */
-    NONSHARABLE_CLASS( CPublisherInfo ) : public CBase
-        {
-    public:
-        /**
-         * Two-phased constructor.
-         */
-        IMPORT_C static CPublisherInfo* NewL();
-        IMPORT_C static CPublisherInfo* NewLC();
-
-        /**
-         * Destructor.
-         */
-        IMPORT_C ~CPublisherInfo();
-
-    protected:
-        // constructors
-        CPublisherInfo();
-
-        void ConstructL();
-
-    public:
-        // new functions
-
-        /**
-         * Set content id
-         *
-         * @param aContentId content id
-         */
-        IMPORT_C void SetContentIdL( const TDesC& aContentId );
-
-        /**
-         * Get content id
-         *
-         * @return content id or KNullDesC8
-         */
-        IMPORT_C const TDesC& ContentId() const;
-
-        /**
-         * Set publisher id
-         *
-         * @param aPublisherId publisher id
-         */
-        IMPORT_C void SetPublisherIdL( const TDesC& aPublisherId );
-
-        /**
-         * Get Publisher id
-         *
-         * @return Publisher id or KNullDesC8
-         */
-        IMPORT_C const TDesC& PublisherId() const;
-
-        /**
-         * Set Widget name
-         *
-         * @param aWidgetName widget name
-         */
-        IMPORT_C void SetWidgetNameL( const TDesC& aWidgetName );
-
-        /**
-         * Get Widget name
-         *
-         * @return widget name or KNullDesC8
-         */
-        IMPORT_C const TDesC& WidgetName() const;
-
-        /**
-         * Set content type
-         *
-         * @param aContentType content type
-         */
-        IMPORT_C void SetContentTypeL( const TDesC& aContentType );
-
-        /**
-         * Get Content type
-         *
-         * @return Content type or KNullDesC8
-         */
-        IMPORT_C const TDesC& ContentType() const;
-
-        /**
-         * Set Template type
-         *
-         * @param aTemplateType template type
-         */
-        IMPORT_C void SetTemplateTypeL( const TDesC& aTemplateType );
-
-        /**
-         * Get Template type
-         *
-         * @return Template type or KNullDesC
-         */
-        IMPORT_C const TDesC& TemplateType() const;
-
-        /**
-         * Set Logo icon
-         *
-         * @param aLogoIcon logo icon
-         */
-        IMPORT_C void SetLogoIconL( const TDesC& aLogoIcon );
-
-        /**
-         * Get Logo icon
-         *
-         * @return LogoIcon logo icon or KNullDesC
-         */
-        IMPORT_C const TDesC& LogoIcon() const;
-
-        /**
-         * Set widget description
-         *
-         * @param aDescription widget description
-         */
-        IMPORT_C void SetDescriptionL( const TDesC& aDescription );
-
-        /**
-         * Get widget description
-         *
-         * @return Description widget description or KNullDesC
-         */
-        IMPORT_C const TDesC& Description() const;
-        
-        /**
-         * Set Maximum number of widgets
-         *
-         * @param aMaxWidget maximum number of widgets
-         */
-        IMPORT_C void SetMaxWidgets( const TInt32& aMaxWidget );
-
-        /**
-         * Get Maximum number of widgets
-         *
-         * @return number of widgets or defaule value 1
-         */
-        IMPORT_C const TInt32& MaxWidgets() const;
-
-    private:
-        // data
-        // Content id, owned
-        HBufC* iContentId;
-        // Publisher id, owned
-        HBufC* iPublisherId;
-        // Publisher name, owned
-        HBufC* iWidgetName;
-        // Content type, owned
-        HBufC* iContentType;
-        // Template type, owned
-        HBufC* iTemplateType;
-        // Logo icon, owned
-        HBufC* iLogoIcon;
-        // Widget description, owned
-        HBufC* iDescription;
-        // Maximum instances
-        TInt32 iMaxInst;
-        };
-    }
-
-#endif // PUBLISHERINFO_H
-// End of file
--- a/idlehomescreen/sapiwrapper/cpswrapper/inc/publishermap.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +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:  Presents publisher info map
- *
- */
-
-#ifndef PUBLISHERMAP_H
-#define PUBLISHERMAP_H
-
-#include <e32base.h>
-
-
-namespace cpswrapper
-    {
-    // Forward declarations
-    class CPublisherInfo;
-
-    /**
-     *  Presents publisher info map
-     *
-     *
-     *  @code
-     *
-     *  @endcode
-     *
-     *  @lib cpswrapper.lib
-     *  @since S60 v5.0
-     */
-    NONSHARABLE_CLASS( CPublisherMap ) : public CBase
-        {
-    public:
-        /**
-         * Two-phased constructor.
-         */
-        IMPORT_C static CPublisherMap* NewL();
-        IMPORT_C static CPublisherMap* NewLC();
-
-        /**
-         * Destructor.
-         */
-        IMPORT_C ~CPublisherMap();
-
-    protected:
-        // constructors
-        CPublisherMap();
-
-        void ConstructL();
-
-    public:
-        // new functions
-
-        /**
-         * Adds publisher info
-         *
-         * @param aPublisherInfo publisher info
-         */
-        IMPORT_C void AddPublisherInfoL(CPublisherInfo* aPublisherInfo);
-
-        /**
-         * Gets publisher infos
-         *
-         * @return Array of publisher infos
-         */
-        IMPORT_C RPointerArray<CPublisherInfo>& PublisherInfo() const;
-
-    private:
-        // data
-        // Publisher info array, owned
-        mutable RPointerArray<CPublisherInfo> iPublisherInfo;
-        };
-    }
-
-#endif // PUBLISHERMAP_H
-// End of file
--- a/idlehomescreen/sapiwrapper/cpswrapper/src/cpsobserver.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,287 +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:   Implements an observer to CPS
-*
-*/
-
-
-// INCLUDE FILES
-#include <liwcommon.h>
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-#include <liwgenericparam.h>
-
-#include "cpsobserver.h"
-#include "cpswrapper.h"
-#include "cpsconst.h"
-
-namespace cpswrapper
-    {
-	
-	// =============================================================================
-	// --------------------------------------------------------------------------
-	// Cleanup utility for RPointerArray
-	// --------------------------------------------------------------------------
-	//
-	static void DoCleanup( TAny* aPtr )
-		{
-		__ASSERT_DEBUG( aPtr, User::Invariant() );
-		static_cast< RCriteriaArray* >( aPtr )->ResetAndDestroy();
-		}
-	
-	// ============================ MEMBER FUNCTIONS ==============================
-	
-	// ----------------------------------------------------------------------------
-	// Constructor
-	// ----------------------------------------------------------------------------
-	//
-	CCpsObserver::CCpsObserver( CCpsWrapper* aCpsWrapper )
-		: iCpsWrapper( aCpsWrapper )
-		{
-		}
-	
-	// ----------------------------------------------------------------------------
-	// Two-phased constructor.
-	// ----------------------------------------------------------------------------
-	//
-	CCpsObserver* CCpsObserver::NewLC( CCpsWrapper* aCpsWrapper )
-		{
-		CCpsObserver* self( 
-			new( ELeave ) CCpsObserver( aCpsWrapper ) );
-			
-		CleanupStack::PushL( self );
-		self->ConstructL();
-		return self;
-		}
-	
-	// ---------------------------------------------------------------------------
-	// Destructor
-	// ---------------------------------------------------------------------------
-	//
-	CCpsObserver::~CCpsObserver()
-		{
-	    TRAP_IGNORE( ReleaseL() );	    
-		ReleaseLiw();
-		}
-	
-	// ----------------------------------------------------------------------------
-	// Symbian 2nd phase constructor can leave.
-	// ----------------------------------------------------------------------------
-	//
-	void CCpsObserver::ConstructL()
-		{
-		InitLiwL();
-		}
-	
-	// ---------------------------------------------------------------------------
-	// CCpsObserver::HandleNotifyL
-	//
-	// Handles Published content notification
-	// ---------------------------------------------------------------------------
-	//
-	TInt CCpsObserver::HandleNotifyL( 
-		TInt /*aErrorCode */, 
-		TInt /*aEventId*/,
-		CLiwGenericParamList& aEventParamList, 
-		const CLiwGenericParamList& /*aInParamList*/ )
-		{
-	    TInt pos( 0 );
-
-		aEventParamList.FindFirst( pos, KChangeInfo );
-
-		if ( pos != KErrNotFound )
-			{
-			// Get list of maps
-			TLiwVariant variant( (aEventParamList)[pos].Value() );
-			variant.PushL();
-
-			const CLiwList* changeMapsList( variant.AsList() );
-
-			// Iter through list content
-			for ( TInt i = 0; i < changeMapsList->Count(); ++i )
-				{
-				TLiwVariant changeMap;
-				changeMap.PushL();
-				if ( changeMapsList->AtL( i, changeMap ) )
-					{
-					const CLiwMap* map = changeMap.AsMap();
-
-					if ( map->FindL( KContentType, changeMap ) )
-						{
-						HBufC* publisher = NULL;
-						HBufC* contentType = NULL;
-						
-						contentType = changeMap.AsDes().AllocLC();
-						if ( KHSTemplate() == contentType &&
-							 map->FindL( KPublisher, changeMap ) )
-							{
-                            publisher = changeMap.AsDes().AllocLC();
-
-                            if ( map->FindL( KOperation, changeMap ) )
-                                {
-                                HBufC* operation = changeMap.AsDes().AllocLC();
-                                
-                                // unregitered publisher's widget
-                                // from home screen if exist or add
-                                // new widget to widgetmanager
-                                iCpsWrapper->HandleChangedPublisherL( *publisher,
-                                        *operation );
-                                CleanupStack::PopAndDestroy( operation );
-                                }
-							CleanupStack::PopAndDestroy( publisher );
-							}
-						else if( KWRTTemplate() == contentType  &&
-								  map->FindL( KContentId, changeMap ) )
-							 {
-                             publisher = changeMap.AsDes().AllocLC();
-                             if ( map->FindL( KOperation, changeMap ) )
-                                 {
-                                 HBufC* operation = changeMap.AsDes().AllocLC();
-                                 
-                                 // unregitered publisher's widget
-                                 // from home screen if exist or add
-                                 // new widget to widgetmanager
-                                 iCpsWrapper->HandleChangedPublisherL( *publisher,
-                                         *operation );
-                                 CleanupStack::PopAndDestroy( operation );
-                                 }
-                             CleanupStack::PopAndDestroy( publisher );
-							 }
-						CleanupStack::PopAndDestroy( contentType );
-						}
-					}
-				CleanupStack::PopAndDestroy( &changeMap );
-				}
-
-			CleanupStack::PopAndDestroy( &variant );
-			}
-		return KErrNone;
-		}
-	
-	// ---------------------------------------------------------------------------
-	// CCpsObserver::RegisterL
-	//
-	// Register for notifications
-	// ---------------------------------------------------------------------------
-	//
-	void CCpsObserver::RegisterL( CLiwDefaultMap* aFilter, const TDesC& aRegistry )
-		{
-		CLiwGenericParamList* inParamList( CLiwGenericParamList::NewLC() );
-		CLiwGenericParamList* outParamList( CLiwGenericParamList::NewLC() );
-		
-		// Fill in input list for RequestNotification command
-		inParamList->AppendL(TLiwGenericParam(KType,TLiwVariant( aRegistry )));
-		inParamList->AppendL(TLiwGenericParam(KFilter ,TLiwVariant( aFilter )));
-			
-		iInterface->ExecuteCmdL( KRequestNotification,  *inParamList,
-											 *outParamList, 0, this );
-		
-		CleanupStack::PopAndDestroy( outParamList );
-		CleanupStack::PopAndDestroy( inParamList ); 
-		}
-	
-	// ---------------------------------------------------------------------------
-	// CCpsObserver::ReleaseL
-	//
-	// Sing off to notification
-	// ---------------------------------------------------------------------------
-	//
-	void CCpsObserver::ReleaseL()
-		{
-		if( iInterface )
-			{
-			CLiwGenericParamList* inParamList = CLiwGenericParamList::NewL();
-			CleanupStack::PushL( inParamList );
-			CLiwGenericParamList* outParamList = CLiwGenericParamList::NewL();
-			CleanupStack::PushL( outParamList );
-			
-			iInterface->ExecuteCmdL( KRequestNotification, *inParamList, *outParamList,
-													 KLiwOptCancel, this );
-	
-			CleanupStack::PopAndDestroy( outParamList );
-			CleanupStack::PopAndDestroy( inParamList );
-			}
-		}
-	
-	
-	// ------------------------------------------------------------------------
-	// CCpsObserver::InitLiwL
-	//
-	// Init LIW interface.
-	// ------------------------------------------------------------------------
-	void CCpsObserver::InitLiwL()
-		{
-		if ( !iLiwHandler )
-			{
-			TInt error( KErrNone );
-			CLiwGenericParamList* in( NULL );
-			CLiwGenericParamList* out( NULL );
-			CLiwCriteriaItem* criterion( NULL );
-	
-			RCriteriaArray array( 1 );
-			TCleanupItem cleanup( DoCleanup, &array );
-			CleanupStack::PushL( cleanup );
-	
-			// Do the basic initialization.
-			iLiwHandler = CLiwServiceHandler::NewL();
-	
-			// Get iCPSIface.
-			in = CLiwGenericParamList::NewLC();
-			out = CLiwGenericParamList::NewLC();
-	
-			criterion = CLiwCriteriaItem::NewL( 
-				KLiwCmdAsStr,
-				KCPSConfigurationIf, 
-				KCPS );
-				
-			error = array.Append( criterion );
-			if ( error )
-				{
-				delete criterion; 
-				criterion = NULL;
-				User::Leave( error );
-				}
-	
-			criterion->SetServiceClass( TUid::Uid( KLiwClassBase ) );
-				
-			iLiwHandler->AttachL( array );
-			iLiwHandler->ExecuteServiceCmdL( *criterion, *in, *out ); 
-	
-			out->FindFirst( error, KCPSConfigurationIf );
-			User::LeaveIfError( error );
-	
-			iInterface = (*out)[ error ].Value().AsInterface();
-	
-			CleanupStack::PopAndDestroy( 3 );
-			}
-		}
-	
-	// ---------------------------------------------------------------------------
-	// CCpsObserver::ReleaseLiw
-	// ---------------------------------------------------------------------------
-	//
-	void CCpsObserver::ReleaseLiw()
-		{    
-		if ( iInterface )
-			{
-			iInterface->Close();
-			iInterface = NULL;
-			}
-			
-		delete iLiwHandler;
-		iLiwHandler = NULL;
-		}
-}
- //  End of File
-
--- a/idlehomescreen/sapiwrapper/cpswrapper/src/cpswrapper.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,420 +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:  Encapsulates cps liw service
- *
- */
-
-// System include files
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-#include <liwgenericparam.h>
-#include <bamdesca.h>
-
-// User include files
-#include "publisherinfo.h"
-#include "publishermap.h"
-#include "cpswrapper.h"
-#include "cpsconst.h"
-#include "cpsobserver.h"
-
-namespace cpswrapper
-    {
-
-    // ======== MEMBER FUNCTIONS ========
-
-    // -----------------------------------------------------------------------
-    // CCpsWrapper::NewL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CCpsWrapper* CCpsWrapper::NewL( MCpsWrapperObserver& aObserver )
-        {
-        CCpsWrapper* self = CCpsWrapper::NewLC( aObserver );
-        CleanupStack::Pop( self );
-        return self;
-        }
-
-    // -----------------------------------------------------------------------
-    // CCpsWrapper::NewLC()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CCpsWrapper* CCpsWrapper::NewLC(MCpsWrapperObserver& aObserver)
-        {
-        CCpsWrapper* self = new ( ELeave ) CCpsWrapper( aObserver );
-        CleanupStack::PushL( self );
-        self->ConstructL();
-        return self;
-        }
-
-    // -----------------------------------------------------------------------
-    // CCpsWrapper::ConstructL()
-    // -----------------------------------------------------------------------
-    //
-    void CCpsWrapper::ConstructL()
-        {
-        iServiceHandler = CLiwServiceHandler::NewL();
-
-        RCriteriaArray interestList;
-
-        // Attach to CPS:
-        iCpsService = CLiwCriteriaItem::NewL( 1, KCPSConfigurationIf, KCPS );
-        iCpsService->SetServiceClass( TUid::Uid( KLiwClassBase ) );
-
-        interestList.AppendL( iCpsService );
-        iServiceHandler->AttachL( interestList );
-        interestList.Reset();
-
-        CLiwGenericParamList& inParamList( iServiceHandler->InParamListL() );
-        CLiwGenericParamList& outParamList( iServiceHandler->OutParamListL() );
-
-        iServiceHandler->ExecuteServiceCmdL(
-                *iCpsService,
-                inParamList,
-                outParamList );
-
-        TInt pos( 0 );
-
-        outParamList.FindFirst( pos, KCPSConfigurationIf );
-
-        if ( pos != KErrNotFound )
-            {
-            iCpsInterface = (outParamList)[pos].Value().AsInterface();
-            inParamList.Reset();
-            outParamList.Reset();
-            }
-        else
-            {
-            inParamList.Reset();
-            outParamList.Reset();
-            User::Leave( KErrNotFound );
-            }
-
-        StartListeningPublisherRegistryL();
-        }
-
-    // -----------------------------------------------------------------------
-    // CCpsWrapper::CCpsWrapper()
-    // -----------------------------------------------------------------------
-    //
-    CCpsWrapper::CCpsWrapper( MCpsWrapperObserver& aObserver )
-        : iObserver( aObserver ),
-        iCpsInterface( NULL )
-        {
-        }
-
-    // -----------------------------------------------------------------------
-    // CCpsWrapper::~CCpsWrapper()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CCpsWrapper::~CCpsWrapper()
-        {
-        iObservers.ResetAndDestroy();
-        if ( iCpsInterface )
-            {
-            // Close interface
-            iCpsInterface->Close();
-            }
-
-        if ( iServiceHandler && iCpsService )
-            {
-            // Detach services from the handler
-            RCriteriaArray interestList;
-
-            TRAP_IGNORE( interestList.AppendL( iCpsService );
-                         iServiceHandler->DetachL( interestList ); );
-
-            interestList.Reset();
-            }
-
-        delete iCpsService;
-        delete iServiceHandler;
-        }
-
-    // -----------------------------------------------------------------------
-    // CCpsWrapper::GetTemplatedPublishersL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CPublisherMap* CCpsWrapper::GetTemplatedPublishersL()
-        {
-        CLiwGenericParamList& inParamList( iServiceHandler->InParamListL() );
-        CLiwGenericParamList& outParamList( iServiceHandler->OutParamListL() );
-
-        TLiwGenericParam type( KType, TLiwVariant( KPublisher16 ) );
-        inParamList.AppendL( type );
-
-        CLiwDefaultMap* filter = CLiwDefaultMap::NewLC();
-
-        filter->InsertL( KContentType, TLiwVariant( KHSTemplate ) );
-
-        //append filter to input param
-        TLiwGenericParam item( KFilter, TLiwVariant( filter ));
-        inParamList.AppendL( item );
-
-        // Get all the publiser from CPS with publiser id ai3templatewidget
-        iCpsInterface->ExecuteCmdL( KGetList, inParamList, outParamList );
-
-        inParamList.Reset();
-
-        CleanupStack::PopAndDestroy(filter);
-
-        TInt pos(0);
-
-        outParamList.FindFirst( pos, KResults );
-
-        CPublisherMap* publishers = CPublisherMap::NewL();
-        CleanupStack::PushL( publishers );
-        
-        if ( pos != KErrNotFound )
-            {
-            //extract iterator on results list
-            TLiwVariant variant( outParamList[pos].Value() );
-            CLiwIterable* iterable( variant.AsIterable() );
-            iterable->Reset();
-
-            //get all the templated widget publishers
-            while ( iterable->NextL( variant ) )
-                {
-                //extract content map
-                CLiwDefaultMap *publisherMap = CLiwDefaultMap::NewLC();
-                variant.Get( *publisherMap );
-                variant.Reset();
-                CPublisherInfo* publisherInfo = CPublisherInfo::NewLC();
-                if ( publisherMap->FindL( KPublisher, variant ) )
-                    {
-                    publisherInfo->SetPublisherIdL( variant.AsDes() );
-                    variant.Reset();
-                    }
-
-                if ( publisherMap->FindL( KDataMap, variant) )
-                    {
-                    CLiwDefaultMap* dataMap = CLiwDefaultMap::NewLC();
-                    variant.Get( *dataMap );
-                    variant.Reset();
-                    if ( dataMap->FindL( KTemplateType, variant) )
-                        {
-                        publisherInfo->SetTemplateTypeL( variant.AsDes() );
-                        variant.Reset();
-                        }
-
-                    if ( dataMap->FindL( KWidgetName, variant ) )
-                        {
-                        publisherInfo->SetWidgetNameL( variant.AsDes() );
-                        variant.Reset();
-                        }
-
-                    if ( dataMap->FindL( KMaxWidgets, variant ) )
-                        {
-                        publisherInfo->SetMaxWidgets(
-                                variant.AsTInt32() );
-                        variant.Reset();
-                        }
-                    else
-                        {
-                        // Use default value 1
-                        publisherInfo->SetMaxWidgets( 1 );
-                        }
-
-                    if ( dataMap->FindL( KWidgetDesc, variant ) )
-                        {
-                        publisherInfo->SetDescriptionL( variant.AsDes() );
-                        variant.Reset();
-                        }
-
-                    if ( dataMap->FindL( KWidgetIcon, variant ) )
-                        {
-                        publisherInfo->SetLogoIconL( variant.AsDes() );
-                        variant.Reset();
-                        }
-
-                    CleanupStack::PopAndDestroy( dataMap );
-                    }
-                publisherInfo->SetContentTypeL( KHSTemplate() );
-                publishers->AddPublisherInfoL( publisherInfo );
-                CleanupStack::Pop( publisherInfo );
-                
-                variant.Reset();
-                CleanupStack::PopAndDestroy( publisherMap );
-                }
-            }
-        GetWRTWidgetsL( *publishers );
-
-        CleanupStack::Pop( publishers );
-
-        outParamList.Reset();
-
-        return publishers;
-        }
-
-   // -----------------------------------------------------------------------
-   // CCpsWrapper::GetWRTWidgetsL()
-   // -----------------------------------------------------------------------
-   //
-	void CCpsWrapper::GetWRTWidgetsL(CPublisherMap& aPublisherMap)
-		{
-		CLiwGenericParamList& inParamList( iServiceHandler->InParamListL() );
-		CLiwGenericParamList& outParamList( iServiceHandler->OutParamListL() );
-	
-		TLiwGenericParam type( KType, TLiwVariant( KPublisher16 ) );
-		inParamList.AppendL( type );
-	
-		CLiwDefaultMap* filter = CLiwDefaultMap::NewLC();
-	
-		filter->InsertL( KPublisher, TLiwVariant( KWRTPublisher ));
-		filter->InsertL( KContentType, TLiwVariant( KWRTTemplate ) );
-	
-		//append filter to input param
-		TLiwGenericParam item( KFilter, TLiwVariant( filter ));
-		inParamList.AppendL( item );
-	
-		// Get all the publiser from CPS with publiser id ai3templatewidget
-		iCpsInterface->ExecuteCmdL( KGetList, inParamList, outParamList );
-	
-		inParamList.Reset();
-	
-		CleanupStack::PopAndDestroy(filter);
-	
-		TInt pos(0);
-	
-		outParamList.FindFirst( pos, KResults );
-	
-		if ( pos != KErrNotFound )
-			{
-			//extract iterator on results list
-			TLiwVariant variant( outParamList[pos].Value() );
-			CLiwIterable* iterable( variant.AsIterable() );
-			iterable->Reset();
-	
-			//get all the templated widget publishers
-			while ( iterable->NextL( variant ) )
-				{
-				//extract content map
-				CLiwDefaultMap *publisherMap = CLiwDefaultMap::NewLC();
-				variant.Get( *publisherMap );
-				variant.Reset();
-				CPublisherInfo* publisherInfo = CPublisherInfo::NewLC();
-				if ( publisherMap->FindL( KContentId, variant ) )
-					{
-					publisherInfo->SetPublisherIdL( variant.AsDes() );
-					variant.Reset();
-					}
-	
-				if ( publisherMap->FindL( KDataMap, variant) )
-					{
-					CLiwDefaultMap* dataMap = CLiwDefaultMap::NewLC();
-					variant.Get( *dataMap );
-					variant.Reset();
-					if ( dataMap->FindL( KWidgetInfo, variant ) )
-						{
-						CLiwDefaultMap* widgetInfoMap = CLiwDefaultMap::NewLC();
-						variant.Get( *widgetInfoMap );
-						if ( widgetInfoMap->FindL( KTemplateType, variant) )
-							{
-							publisherInfo->SetTemplateTypeL( variant.AsDes() );
-							variant.Reset();
-							}
-						if ( widgetInfoMap->FindL( KWidgetName, variant ) )
-							{
-							publisherInfo->SetWidgetNameL( variant.AsDes() );
-							variant.Reset();
-							}
-						if ( widgetInfoMap->FindL( KWidgetDesc, variant ) )
-							{
-							publisherInfo->SetDescriptionL( variant.AsDes() );
-							variant.Reset();
-							}
-						if ( widgetInfoMap->FindL( KWidgetIcon, variant ) )
-							{
-							publisherInfo->SetLogoIconL( variant.AsDes() );
-							variant.Reset();
-							}
-                            
-						CleanupStack::PopAndDestroy( widgetInfoMap );
-						}
-					CleanupStack::PopAndDestroy( dataMap );
-					}
-				publisherInfo->SetContentTypeL( KWRTTemplate() );
-				publisherInfo->SetMaxWidgets(1);
-				aPublisherMap.AddPublisherInfoL( publisherInfo );
-				CleanupStack::Pop( publisherInfo );
-				
-				variant.Reset();
-				CleanupStack::PopAndDestroy( publisherMap );
-				}
-			}
-		outParamList.Reset();
-	
-		}
-	// -----------------------------------------------------------------------
-	// CCpsWrapper::RequestForNotificationL()
-	// -----------------------------------------------------------------------
-	//
-    void CCpsWrapper::RequestForNotificationL(
-    		const TDesC& aPublisher, 
-    		const TDesC& aContentType,
-    		const TDesC& aContentId,
-    		const TDesC8& aOperation,
-    		const TDesC& aRegistry)
-    	{
-    	CCpsObserver* observer = CCpsObserver::NewLC( this );
-		CLiwDefaultMap* filter = CLiwDefaultMap::NewLC();
-		 
-		filter->InsertL( KPublisher, TLiwVariant( aPublisher ) );
-		filter->InsertL( KContentType, TLiwVariant( aContentType ) );
-		filter->InsertL( KContentId, TLiwVariant( aContentId ) );
-		filter->InsertL( KOperation, TLiwVariant( aOperation ));
-
-		observer->RegisterL( filter, aRegistry );
-		iObservers.AppendL( observer );
-		
-		CleanupStack::PopAndDestroy(filter);
-		CleanupStack::Pop( observer );
-    	}
-    
-    // -----------------------------------------------------------------------
-    // CCpsWrapper::StartListeningPublisherRegistryL()
-    // -----------------------------------------------------------------------
-    //
-    void CCpsWrapper::StartListeningPublisherRegistryL()
-        {
-        // Start Listening all the HS template using widgets unregistration
-        RequestForNotificationL( KAll, KHSTemplate, KAll, KDelete, KPublisher16 );
-                 
-        // Start Listening all the WRT widgets unregistration
-        RequestForNotificationL( KAll, KWRTTemplate, KAll, KDelete, KPublisher16 );
-        
-        // Start Listening all the WRT widgets registrations
-        RequestForNotificationL( KAll, KWRTTemplate, KAll, KAdd, KPublisher16 );
-        
-        // Start Listening all the HS template widgets registrations
-        RequestForNotificationL( KAll, KHSTemplate, KAll, KAdd, KPublisher16 );
-        }
-    
-    // -----------------------------------------------------------------------
-	// CCpsWrapper::HandleChangedPublisherL()
-	// -----------------------------------------------------------------------
-	//
-    void CCpsWrapper::HandleChangedPublisherL(const TDesC& aPublisher, 
-            const TDesC& aOperation)
-    	{       
-        if ( aOperation == KDelete16 )
-            {
-            iObserver.NotifyWidgetUnregisteredL( aPublisher );
-            }
-        else if ( aOperation == KAdd16 )
-            {
-            iObserver.NotifyWidgetRegisteredL();
-            }
-    	}
-    }
-
-// End of file
--- a/idlehomescreen/sapiwrapper/cpswrapper/src/cpswrapperdllmain.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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:  Item id, name and properties
- *
- */
-
-//  Include Files
-#include <e32std.h>
-
-//  Global Functions
-
-//  Exported Functions
-
-#ifndef EKA2 // for EKA1 only
-/**
- * Called when the DLL is loaded and unloaded. Note: have to define
- * epoccalldllentrypoints in MMP file to get this called in THUMB.
- * @param aReason not used
- */
-EXPORT_C TInt E32Dll(TDllReason /*aReason*/)
-    {
-    return KErrNone;
-    }
-#endif
-
-// End of file
--- a/idlehomescreen/sapiwrapper/cpswrapper/src/publisherinfo.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +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:  Presents publisher info
- *
- */
-
-// User includes
-#include "publisherinfo.h"
-
-namespace cpswrapper
-    {
-    // ======== MEMBER FUNCTIONS ========
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::CPublisherInfo()
-    // -----------------------------------------------------------------------
-    //
-    CPublisherInfo::CPublisherInfo()
-        {        
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::ConstructL()
-    // -----------------------------------------------------------------------
-    //
-    void CPublisherInfo::ConstructL()
-        {
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::NewL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CPublisherInfo* CPublisherInfo::NewL()
-        {
-        CPublisherInfo* self = CPublisherInfo::NewLC();
-        CleanupStack::Pop(self);
-        return self;
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::NewLC()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CPublisherInfo* CPublisherInfo::NewLC()
-        {
-        CPublisherInfo* self = new ( ELeave ) CPublisherInfo;
-        CleanupStack::PushL( self );
-        self->ConstructL();
-        return self;
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::~CPublisherInfo()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CPublisherInfo::~CPublisherInfo()
-        {
-        delete iContentId;
-        delete iPublisherId;
-        delete iWidgetName;
-        delete iContentType;
-        delete iTemplateType;
-        delete iLogoIcon;
-        delete iDescription;
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::SetContentIdL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherInfo::SetContentIdL( const TDesC& aContentId )
-        {
-        delete iContentId;
-        iContentId = NULL;
-
-        iContentId = aContentId.AllocL();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::ContentId()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C const TDesC& CPublisherInfo::ContentId() const
-        {
-        return iContentId ? *iContentId : KNullDesC();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::SetPublisherIdL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherInfo::SetPublisherIdL( const TDesC& aPublisherId )
-        {
-        delete iPublisherId;
-        iPublisherId = NULL;
-
-        iPublisherId = aPublisherId.AllocL();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::PublisherId()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C const TDesC& CPublisherInfo::PublisherId() const
-        {
-        return iPublisherId ? *iPublisherId : KNullDesC();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::SetPublisherNameL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherInfo::SetWidgetNameL( const TDesC& aPublisherName )
-        {
-        delete iWidgetName;
-        iWidgetName = NULL;
-
-        iWidgetName = aPublisherName.AllocL();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::PublisherName()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C const TDesC& CPublisherInfo::WidgetName() const
-        {
-        return iWidgetName ? *iWidgetName : KNullDesC();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::SetContentTypeL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherInfo::SetContentTypeL( const TDesC& aContentType )
-        {
-        delete iContentType;
-        iContentType = NULL;
-
-        iContentType = aContentType.AllocL();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::ContentType()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C const TDesC& CPublisherInfo::ContentType() const
-        {
-        return iContentType ? *iContentType : KNullDesC();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::SetTemplateTypeL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherInfo::SetTemplateTypeL( const TDesC& aTemplateType )
-        {
-        delete iTemplateType;
-        iTemplateType = NULL;
-
-        iTemplateType = aTemplateType.AllocL();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::TemplateType()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C const TDesC& CPublisherInfo::TemplateType() const
-        {
-        return iTemplateType ? *iTemplateType : KNullDesC();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::SetLogoIconL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherInfo::SetLogoIconL( const TDesC& aLogoIcon )
-        {
-        delete iLogoIcon;
-        iLogoIcon = NULL;
-
-        iLogoIcon = aLogoIcon.AllocL();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::LogoIcon()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C const TDesC& CPublisherInfo::LogoIcon() const
-        {
-        return iLogoIcon ? *iLogoIcon : KNullDesC();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::SetDescriptionL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherInfo::SetDescriptionL( const TDesC& aDescription )
-        {
-        delete iDescription;
-        iDescription = NULL;
-
-        iDescription = aDescription.AllocL();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::Description()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C const TDesC& CPublisherInfo::Description() const
-        {
-        return iDescription ? *iDescription : KNullDesC();
-        }
-        
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::SetMaxWidgets()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherInfo::SetMaxWidgets( const TInt32& aMaxWidget )
-        {
-        iMaxInst = aMaxWidget;
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherInfo::MaxWidgets()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C const TInt32& CPublisherInfo::MaxWidgets() const
-        {
-        return iMaxInst;
-        }
-    }
-
-// End of file
-
--- a/idlehomescreen/sapiwrapper/cpswrapper/src/publishermap.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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:  Presents publisher info map
- *
- */
-
-// User includes
-#include "publisherinfo.h"
-#include "publishermap.h"
-
-namespace cpswrapper
-    {
-    // ======== MEMBER FUNCTIONS ========
-
-    // -----------------------------------------------------------------------
-    // CPublisherMap::CPublisherMap()
-    // -----------------------------------------------------------------------
-    //
-    CPublisherMap::CPublisherMap()
-        {
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherMap::ConstructL()
-    // -----------------------------------------------------------------------
-    //
-    void CPublisherMap::ConstructL()
-        {
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherMap::NewL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CPublisherMap* CPublisherMap::NewL()
-        {
-        CPublisherMap* self = CPublisherMap::NewLC();
-        CleanupStack::Pop( self );
-        return self;
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherMap::NewLC()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CPublisherMap* CPublisherMap::NewLC()
-        {
-        CPublisherMap* self = new ( ELeave ) CPublisherMap;
-        CleanupStack::PushL( self );
-        self->ConstructL();
-        return self;
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherMap::~CPublisherMap()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C CPublisherMap::~CPublisherMap()
-        {
-        iPublisherInfo.ResetAndDestroy();
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherMap::AddPublisherInfoL()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C void CPublisherMap::AddPublisherInfoL(
-        CPublisherInfo* aPublisherInfo )
-        {
-        User::LeaveIfError(
-            iPublisherInfo.InsertInAddressOrder( aPublisherInfo ));
-        }
-
-    // -----------------------------------------------------------------------
-    // CPublisherMap::PublisherInfo()
-    // -----------------------------------------------------------------------
-    //
-    EXPORT_C RPointerArray<CPublisherInfo>& CPublisherMap::PublisherInfo() const
-        {
-        return iPublisherInfo;
-        }
-    }
-
-// End of file
--- a/idlehomescreen/sapiwrapper/hspswrapper/bwins/hspswrapper.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-EXPORTS
-	?LogoIcon@CPluginInfo@hspswrapper@@QBEABVTDesC16@@XZ @ 1 NONAME ; class TDesC16 const & hspswrapper::CPluginInfo::LogoIcon(void) const
-	?NewL@CObjectMap@hspswrapper@@SAPAV12@XZ @ 2 NONAME ; class hspswrapper::CObjectMap * hspswrapper::CObjectMap::NewL(void)
-	?NewL@CHspsWrapper@hspswrapper@@SAPAV12@ABVTDesC8@@PAVMHspsWrapperObserver@2@@Z @ 3 NONAME ; class hspswrapper::CHspsWrapper * hspswrapper::CHspsWrapper::NewL(class TDesC8 const &, class hspswrapper::MHspsWrapperObserver *)
-	?HspsService@CHspsWrapper@hspswrapper@@QBEPAVCLiwCriteriaItem@@XZ @ 4 NONAME ; class CLiwCriteriaItem * hspswrapper::CHspsWrapper::HspsService(void) const
-	?Settings@CHspsConfiguration@hspswrapper@@QAEAAV?$RPointerArray@VCItemMap@hspswrapper@@@@XZ @ 5 NONAME ; class RPointerArray<class hspswrapper::CItemMap> & hspswrapper::CHspsConfiguration::Settings(void)
-	?PluginUid@CPluginMap@hspswrapper@@QBEABVTDesC8@@XZ @ 6 NONAME ; class TDesC8 const & hspswrapper::CPluginMap::PluginUid(void) const
-	?ItemName@CItemMap@hspswrapper@@QBEABVTDesC8@@XZ @ 7 NONAME ; class TDesC8 const & hspswrapper::CItemMap::ItemName(void) const
-	??1CPluginMap@hspswrapper@@UAE@XZ @ 8 NONAME ; hspswrapper::CPluginMap::~CPluginMap(void)
-	?ActivationState@CPluginMap@hspswrapper@@QBEHXZ @ 9 NONAME ; int hspswrapper::CPluginMap::ActivationState(void) const
-	?SetMaxChild@CPluginInfo@hspswrapper@@QAEAAV12@J@Z @ 10 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetMaxChild(long)
-	?SetAppConfigurationL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@@Z @ 11 NONAME ; int hspswrapper::CHspsWrapper::SetAppConfigurationL(class TDesC8 const &)
-	?Uid@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 12 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Uid(void) const
-	?ConfigurationState@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 13 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::ConfigurationState(void) const
-	?NameL@CObjectMap@hspswrapper@@QBEABVTDesC8@@XZ @ 14 NONAME ; class TDesC8 const & hspswrapper::CObjectMap::NameL(void) const
-	?Value@CPropertyMap@hspswrapper@@QBEABVTDesC8@@XZ @ 15 NONAME ; class TDesC8 const & hspswrapper::CPropertyMap::Value(void) const
-	?NewL@CPropertyMap@hspswrapper@@SAPAV12@XZ @ 16 NONAME ; class hspswrapper::CPropertyMap * hspswrapper::CPropertyMap::NewL(void)
-	??1CPluginInfo@hspswrapper@@UAE@XZ @ 17 NONAME ; hspswrapper::CPluginInfo::~CPluginInfo(void)
-	?AddObjectMapL@CHspsConfiguration@hspswrapper@@QAEAAV12@PAVCObjectMap@2@@Z @ 18 NONAME ; class hspswrapper::CHspsConfiguration & hspswrapper::CHspsConfiguration::AddObjectMapL(class hspswrapper::CObjectMap *)
-	?PluginId@CPluginMap@hspswrapper@@QBEABVTDesC8@@XZ @ 19 NONAME ; class TDesC8 const & hspswrapper::CPluginMap::PluginId(void) const
-	?Description@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 20 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Description(void) const
-	?PluginMaps@CHspsConfiguration@hspswrapper@@QAEAAV?$RPointerArray@VCPluginMap@hspswrapper@@@@XZ @ 21 NONAME ; class RPointerArray<class hspswrapper::CPluginMap> & hspswrapper::CHspsConfiguration::PluginMaps(void)
-	?NewL@CPluginMap@hspswrapper@@SAPAV12@XZ @ 22 NONAME ; class hspswrapper::CPluginMap * hspswrapper::CPluginMap::NewL(void)
-	??1CPropertyMap@hspswrapper@@UAE@XZ @ 23 NONAME ; hspswrapper::CPropertyMap::~CPropertyMap(void)
-	?SetNameL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 24 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetNameL(class TDesC8 const &)
-	?SetPluginIdL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 25 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetPluginIdL(class TDesC8 const &)
-	?SetConfigurationStateL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 26 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetConfigurationStateL(class TDesC8 const &)
-	??1CHspsConfiguration@hspswrapper@@UAE@XZ @ 27 NONAME ; hspswrapper::CHspsConfiguration::~CHspsConfiguration(void)
-	?Status@CAddPluginResult@hspswrapper@@QBEHXZ @ 28 NONAME ; int hspswrapper::CAddPluginResult::Status(void) const
-	?NewLC@CHspsConfiguration@hspswrapper@@SAPAV12@XZ @ 29 NONAME ; class hspswrapper::CHspsConfiguration * hspswrapper::CHspsConfiguration::NewLC(void)
-	?Name@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 30 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Name(void) const
-	??1CHspsWrapper@hspswrapper@@UAE@XZ @ 31 NONAME ; hspswrapper::CHspsWrapper::~CHspsWrapper(void)
-	?SetMultiInstanceL@CPluginInfo@hspswrapper@@QAEAAV12@J@Z @ 32 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetMultiInstanceL(long)
-	?MultiInstance@CPluginInfo@hspswrapper@@QBEABJXZ @ 33 NONAME ; long const & hspswrapper::CPluginInfo::MultiInstance(void) const
-	?SetStatus@CAddPluginResult@hspswrapper@@QAEXH@Z @ 34 NONAME ; void hspswrapper::CAddPluginResult::SetStatus(int)
-	?AddItemMapL@CHspsConfiguration@hspswrapper@@QAEAAV12@PAVCItemMap@2@@Z @ 35 NONAME ; class hspswrapper::CHspsConfiguration & hspswrapper::CHspsConfiguration::AddItemMapL(class hspswrapper::CItemMap *)
-	?MovePluginsL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@ABVMDesC8Array@@@Z @ 36 NONAME ; int hspswrapper::CHspsWrapper::MovePluginsL(class TDesC8 const &, class MDesC8Array const &)
-	?HspsInterface@CHspsWrapper@hspswrapper@@QBEPAVMLiwInterface@@XZ @ 37 NONAME ; class MLiwInterface * hspswrapper::CHspsWrapper::HspsInterface(void) const
-	?PluginInfo@CHspsConfiguration@hspswrapper@@QAEAAVCPluginInfo@2@XZ @ 38 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CHspsConfiguration::PluginInfo(void)
-	?NewL@CAddPluginResult@hspswrapper@@SAPAV12@XZ @ 39 NONAME ; class hspswrapper::CAddPluginResult * hspswrapper::CAddPluginResult::NewL(void)
-	?GetPluginConfigurationL@CHspsWrapper@hspswrapper@@QAEPAVCHspsConfiguration@2@ABVTDesC8@@@Z @ 40 NONAME ; class hspswrapper::CHspsConfiguration * hspswrapper::CHspsWrapper::GetPluginConfigurationL(class TDesC8 const &)
-	?Properties@CItemMap@hspswrapper@@QBEAAV?$RPointerArray@VCPropertyMap@hspswrapper@@@@XZ @ 41 NONAME ; class RPointerArray<class hspswrapper::CPropertyMap> & hspswrapper::CItemMap::Properties(void) const
-	?Path@CObjectMap@hspswrapper@@QBEABVTDesC8@@XZ @ 42 NONAME ; class TDesC8 const & hspswrapper::CObjectMap::Path(void) const
-	?NewLC@CHspsWrapper@hspswrapper@@SAPAV12@ABVTDesC8@@PAVMHspsWrapperObserver@2@@Z @ 43 NONAME ; class hspswrapper::CHspsWrapper * hspswrapper::CHspsWrapper::NewLC(class TDesC8 const &, class hspswrapper::MHspsWrapperObserver *)
-	?SetNameL@CPropertyMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 44 NONAME ; class hspswrapper::CPropertyMap & hspswrapper::CPropertyMap::SetNameL(class TDesC8 const &)
-	?SetConfStateL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@0H@Z @ 45 NONAME ; int hspswrapper::CHspsWrapper::SetConfStateL(class TDesC8 const &, class TDesC8 const &, int)
-	?MediaType@CObjectMap@hspswrapper@@QBEABVTDesC8@@XZ @ 46 NONAME ; class TDesC8 const & hspswrapper::CObjectMap::MediaType(void) const
-	?SetTypeL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 47 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetTypeL(class TDesC8 const &)
-	?AddPropertyMapL@CItemMap@hspswrapper@@QAEAAV12@PAVCPropertyMap@2@@Z @ 48 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::AddPropertyMapL(class hspswrapper::CPropertyMap *)
-	?NewLC@CObjectMap@hspswrapper@@SAPAV12@XZ @ 49 NONAME ; class hspswrapper::CObjectMap * hspswrapper::CObjectMap::NewLC(void)
-	?GetAppConfigurationsL@CHspsWrapper@hspswrapper@@QAEXAAV?$RPointerArray@VCPluginInfo@hspswrapper@@@@@Z @ 50 NONAME ; void hspswrapper::CHspsWrapper::GetAppConfigurationsL(class RPointerArray<class hspswrapper::CPluginInfo> &)
-	?NewL@CPluginInfo@hspswrapper@@SAPAV12@XZ @ 51 NONAME ; class hspswrapper::CPluginInfo * hspswrapper::CPluginInfo::NewL(void)
-	?SetItemNameL@CItemMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 52 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::SetItemNameL(class TDesC8 const &)
-	?AddPluginL@CHspsWrapper@hspswrapper@@QAEPAVCAddPluginResult@2@ABVTDesC8@@0@Z @ 53 NONAME ; class hspswrapper::CAddPluginResult * hspswrapper::CHspsWrapper::AddPluginL(class TDesC8 const &, class TDesC8 const &)
-	?NewL@CHspsConfiguration@hspswrapper@@SAPAV12@XZ @ 54 NONAME ; class hspswrapper::CHspsConfiguration * hspswrapper::CHspsConfiguration::NewL(void)
-	?SetLogoIconL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 55 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetLogoIconL(class TDesC8 const &)
-	?SetPluginUidL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 56 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetPluginUidL(class TDesC8 const &)
-	?SetValueL@CPropertyMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 57 NONAME ; class hspswrapper::CPropertyMap & hspswrapper::CPropertyMap::SetValueL(class TDesC8 const &)
-	??1CObjectMap@hspswrapper@@UAE@XZ @ 58 NONAME ; hspswrapper::CObjectMap::~CObjectMap(void)
-	??1CItemMap@hspswrapper@@UAE@XZ @ 59 NONAME ; hspswrapper::CItemMap::~CItemMap(void)
-	?Name@CPropertyMap@hspswrapper@@QBEABVTDesC8@@XZ @ 60 NONAME ; class TDesC8 const & hspswrapper::CPropertyMap::Name(void) const
-	?SetPluginSettingsL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@ABV?$RPointerArray@VCItemMap@hspswrapper@@@@@Z @ 61 NONAME ; int hspswrapper::CHspsWrapper::SetPluginSettingsL(class TDesC8 const &, class RPointerArray<class hspswrapper::CItemMap> const &)
-	?ConfId@CHspsConfiguration@hspswrapper@@QBEABVTDesC8@@XZ @ 62 NONAME ; class TDesC8 const & hspswrapper::CHspsConfiguration::ConfId(void) const
-	?GetPluginsL@CHspsWrapper@hspswrapper@@QAEXAAV?$RPointerArray@VCPluginInfo@hspswrapper@@@@ABVTDesC8@@1@Z @ 63 NONAME ; void hspswrapper::CHspsWrapper::GetPluginsL(class RPointerArray<class hspswrapper::CPluginInfo> &, class TDesC8 const &, class TDesC8 const &)
-	?ItemId@CItemMap@hspswrapper@@QBEABVTDesC8@@XZ @ 64 NONAME ; class TDesC8 const & hspswrapper::CItemMap::ItemId(void) const
-	?GetAppConfigurationL@CHspsWrapper@hspswrapper@@QAEPAVCHspsConfiguration@2@XZ @ 65 NONAME ; class hspswrapper::CHspsConfiguration * hspswrapper::CHspsWrapper::GetAppConfigurationL(void)
-	?NewL@CItemMap@hspswrapper@@SAPAV12@XZ @ 66 NONAME ; class hspswrapper::CItemMap * hspswrapper::CItemMap::NewL(void)
-	?SetPathL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 67 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetPathL(class TDesC8 const &)
-	?PluginId@CAddPluginResult@hspswrapper@@QBEABVTDesC8@@XZ @ 68 NONAME ; class TDesC8 const & hspswrapper::CAddPluginResult::PluginId(void) const
-	??1CAddPluginResult@hspswrapper@@UAE@XZ @ 69 NONAME ; hspswrapper::CAddPluginResult::~CAddPluginResult(void)
-	?NewLC@CPluginMap@hspswrapper@@SAPAV12@XZ @ 70 NONAME ; class hspswrapper::CPluginMap * hspswrapper::CPluginMap::NewLC(void)
-	?ReplacePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@0@Z @ 71 NONAME ; int hspswrapper::CHspsWrapper::ReplacePluginL(class TDesC8 const &, class TDesC8 const &)
-	?Resources@CHspsConfiguration@hspswrapper@@QAEAAV?$RPointerArray@VCObjectMap@hspswrapper@@@@XZ @ 72 NONAME ; class RPointerArray<class hspswrapper::CObjectMap> & hspswrapper::CHspsConfiguration::Resources(void)
-	?MaxChild@CPluginInfo@hspswrapper@@QBEABJXZ @ 73 NONAME ; long const & hspswrapper::CPluginInfo::MaxChild(void) const
-	?SetLockingStatusL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 74 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetLockingStatusL(class TDesC8 const &)
-	?ServiceHandler@CHspsWrapper@hspswrapper@@QBEPAVCLiwServiceHandler@@XZ @ 75 NONAME ; class CLiwServiceHandler * hspswrapper::CHspsWrapper::ServiceHandler(void) const
-	?Interface@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 76 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Interface(void) const
-	?SetActivePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@@Z @ 77 NONAME ; int hspswrapper::CHspsWrapper::SetActivePluginL(class TDesC8 const &)
-	?SetDescriptionL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 78 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetDescriptionL(class TDesC8 const &)
-	?AddPluginL@CHspsWrapper@hspswrapper@@QAEPAVCAddPluginResult@2@ABVTDesC8@@0H@Z @ 79 NONAME ; class hspswrapper::CAddPluginResult * hspswrapper::CHspsWrapper::AddPluginL(class TDesC8 const &, class TDesC8 const &, int)
-	?SetPluginIdL@CAddPluginResult@hspswrapper@@QAEXABVTDesC8@@@Z @ 80 NONAME ; void hspswrapper::CAddPluginResult::SetPluginIdL(class TDesC8 const &)
-	?SetUidL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 81 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetUidL(class TDesC8 const &)
-	?SetTagL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 82 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetTagL(class TDesC8 const &)
-	?NewLC@CPluginInfo@hspswrapper@@SAPAV12@XZ @ 83 NONAME ; class hspswrapper::CPluginInfo * hspswrapper::CPluginInfo::NewLC(void)
-	?SetNameL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 84 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetNameL(class TDesC8 const &)
-	?SetMediaTypeL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 85 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetMediaTypeL(class TDesC8 const &)
-	?Tag@CObjectMap@hspswrapper@@QBEABVTDesC8@@XZ @ 86 NONAME ; class TDesC8 const & hspswrapper::CObjectMap::Tag(void) const
-	?SetItemIdL@CItemMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 87 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::SetItemIdL(class TDesC8 const &)
-	?NewLC@CItemMap@hspswrapper@@SAPAV12@XZ @ 88 NONAME ; class hspswrapper::CItemMap * hspswrapper::CItemMap::NewLC(void)
-	?SetLogoIconL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC16@@@Z @ 89 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetLogoIconL(class TDesC16 const &)
-	?SetInterfaceL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 90 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetInterfaceL(class TDesC8 const &)
-	?AddPluginMapL@CHspsConfiguration@hspswrapper@@QAEAAV12@PAVCPluginMap@2@@Z @ 91 NONAME ; class hspswrapper::CHspsConfiguration & hspswrapper::CHspsConfiguration::AddPluginMapL(class hspswrapper::CPluginMap *)
-	?RemovePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@@Z @ 92 NONAME ; int hspswrapper::CHspsWrapper::RemovePluginL(class TDesC8 const &)
-	?LockingStatus@CPluginMap@hspswrapper@@QBEABVTDesC8@@XZ @ 93 NONAME ; class TDesC8 const & hspswrapper::CPluginMap::LockingStatus(void) const
-	?SetActivationStateL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 94 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetActivationStateL(class TDesC8 const &)
-	?Type@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 95 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Type(void) const
-	?SetConfIdL@CHspsConfiguration@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 96 NONAME ; class hspswrapper::CHspsConfiguration & hspswrapper::CHspsConfiguration::SetConfIdL(class TDesC8 const &)
-	?NewLC@CPropertyMap@hspswrapper@@SAPAV12@XZ @ 97 NONAME ; class hspswrapper::CPropertyMap * hspswrapper::CPropertyMap::NewLC(void)
-	??0CAddPluginResult@hspswrapper@@AAE@XZ @ 98 NONAME ; hspswrapper::CAddPluginResult::CAddPluginResult(void)
-
--- a/idlehomescreen/sapiwrapper/hspswrapper/eabi/hspswrapper.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-EXPORTS
-	_ZN11hspswrapper10CObjectMap13SetMediaTypeLERK6TDesC8 @ 1 NONAME
-	_ZN11hspswrapper10CObjectMap4NewLEv @ 2 NONAME
-	_ZN11hspswrapper10CObjectMap5NewLCEv @ 3 NONAME
-	_ZN11hspswrapper10CObjectMap7SetTagLERK6TDesC8 @ 4 NONAME
-	_ZN11hspswrapper10CObjectMap8SetNameLERK6TDesC8 @ 5 NONAME
-	_ZN11hspswrapper10CObjectMap8SetPathLERK6TDesC8 @ 6 NONAME
-	_ZN11hspswrapper10CObjectMapD0Ev @ 7 NONAME
-	_ZN11hspswrapper10CObjectMapD1Ev @ 8 NONAME
-	_ZN11hspswrapper10CObjectMapD2Ev @ 9 NONAME
-	_ZN11hspswrapper10CPluginMap12SetPluginIdLERK6TDesC8 @ 10 NONAME
-	_ZN11hspswrapper10CPluginMap13SetPluginUidLERK6TDesC8 @ 11 NONAME
-	_ZN11hspswrapper10CPluginMap17SetLockingStatusLERK6TDesC8 @ 12 NONAME
-	_ZN11hspswrapper10CPluginMap19SetActivationStateLERK6TDesC8 @ 13 NONAME
-	_ZN11hspswrapper10CPluginMap4NewLEv @ 14 NONAME
-	_ZN11hspswrapper10CPluginMap5NewLCEv @ 15 NONAME
-	_ZN11hspswrapper10CPluginMapD0Ev @ 16 NONAME
-	_ZN11hspswrapper10CPluginMapD1Ev @ 17 NONAME
-	_ZN11hspswrapper10CPluginMapD2Ev @ 18 NONAME
-	_ZN11hspswrapper11CPluginInfo11SetMaxChildEl @ 19 NONAME
-	_ZN11hspswrapper11CPluginInfo12SetLogoIconLERK6TDesC8 @ 20 NONAME
-	_ZN11hspswrapper11CPluginInfo12SetLogoIconLERK7TDesC16 @ 21 NONAME
-	_ZN11hspswrapper11CPluginInfo13SetInterfaceLERK6TDesC8 @ 22 NONAME
-	_ZN11hspswrapper11CPluginInfo15SetDescriptionLERK6TDesC8 @ 23 NONAME
-	_ZN11hspswrapper11CPluginInfo17SetMultiInstanceLEl @ 24 NONAME
-	_ZN11hspswrapper11CPluginInfo22SetConfigurationStateLERK6TDesC8 @ 25 NONAME
-	_ZN11hspswrapper11CPluginInfo4NewLEv @ 26 NONAME
-	_ZN11hspswrapper11CPluginInfo5NewLCEv @ 27 NONAME
-	_ZN11hspswrapper11CPluginInfo7SetUidLERK6TDesC8 @ 28 NONAME
-	_ZN11hspswrapper11CPluginInfo8SetNameLERK6TDesC8 @ 29 NONAME
-	_ZN11hspswrapper11CPluginInfo8SetTypeLERK6TDesC8 @ 30 NONAME
-	_ZN11hspswrapper11CPluginInfoD0Ev @ 31 NONAME
-	_ZN11hspswrapper11CPluginInfoD1Ev @ 32 NONAME
-	_ZN11hspswrapper11CPluginInfoD2Ev @ 33 NONAME
-	_ZN11hspswrapper12CHspsWrapper10AddPluginLERK6TDesC8S3_ @ 34 NONAME
-	_ZN11hspswrapper12CHspsWrapper10AddPluginLERK6TDesC8S3_i @ 35 NONAME
-	_ZN11hspswrapper12CHspsWrapper11GetPluginsLER13RPointerArrayINS_11CPluginInfoEERK6TDesC8S7_ @ 36 NONAME
-	_ZN11hspswrapper12CHspsWrapper12MovePluginsLERK6TDesC8RK11MDesC8Array @ 37 NONAME
-	_ZN11hspswrapper12CHspsWrapper13RemovePluginLERK6TDesC8 @ 38 NONAME
-	_ZN11hspswrapper12CHspsWrapper13SetConfStateLERK6TDesC8S3_i @ 39 NONAME
-	_ZN11hspswrapper12CHspsWrapper14ReplacePluginLERK6TDesC8S3_ @ 40 NONAME
-	_ZN11hspswrapper12CHspsWrapper16SetActivePluginLERK6TDesC8 @ 41 NONAME
-	_ZN11hspswrapper12CHspsWrapper18SetPluginSettingsLERK6TDesC8RK13RPointerArrayINS_8CItemMapEE @ 42 NONAME
-	_ZN11hspswrapper12CHspsWrapper20GetAppConfigurationLEv @ 43 NONAME
-	_ZN11hspswrapper12CHspsWrapper20SetAppConfigurationLERK6TDesC8 @ 44 NONAME
-	_ZN11hspswrapper12CHspsWrapper21GetAppConfigurationsLER13RPointerArrayINS_11CPluginInfoEE @ 45 NONAME
-	_ZN11hspswrapper12CHspsWrapper23GetPluginConfigurationLERK6TDesC8 @ 46 NONAME
-	_ZN11hspswrapper12CHspsWrapper4NewLERK6TDesC8PNS_20MHspsWrapperObserverE @ 47 NONAME
-	_ZN11hspswrapper12CHspsWrapper5NewLCERK6TDesC8PNS_20MHspsWrapperObserverE @ 48 NONAME
-	_ZN11hspswrapper12CHspsWrapperD0Ev @ 49 NONAME
-	_ZN11hspswrapper12CHspsWrapperD1Ev @ 50 NONAME
-	_ZN11hspswrapper12CHspsWrapperD2Ev @ 51 NONAME
-	_ZN11hspswrapper12CPropertyMap4NewLEv @ 52 NONAME
-	_ZN11hspswrapper12CPropertyMap5NewLCEv @ 53 NONAME
-	_ZN11hspswrapper12CPropertyMap8SetNameLERK6TDesC8 @ 54 NONAME
-	_ZN11hspswrapper12CPropertyMap9SetValueLERK6TDesC8 @ 55 NONAME
-	_ZN11hspswrapper12CPropertyMapD0Ev @ 56 NONAME
-	_ZN11hspswrapper12CPropertyMapD1Ev @ 57 NONAME
-	_ZN11hspswrapper12CPropertyMapD2Ev @ 58 NONAME
-	_ZN11hspswrapper16CAddPluginResult12SetPluginIdLERK6TDesC8 @ 59 NONAME
-	_ZN11hspswrapper16CAddPluginResult4NewLEv @ 60 NONAME
-	_ZN11hspswrapper16CAddPluginResult9SetStatusEi @ 61 NONAME
-	_ZN11hspswrapper16CAddPluginResultC1Ev @ 62 NONAME
-	_ZN11hspswrapper16CAddPluginResultC2Ev @ 63 NONAME
-	_ZN11hspswrapper16CAddPluginResultD0Ev @ 64 NONAME
-	_ZN11hspswrapper16CAddPluginResultD1Ev @ 65 NONAME
-	_ZN11hspswrapper16CAddPluginResultD2Ev @ 66 NONAME
-	_ZN11hspswrapper18CHspsConfiguration10PluginInfoEv @ 67 NONAME
-	_ZN11hspswrapper18CHspsConfiguration10PluginMapsEv @ 68 NONAME
-	_ZN11hspswrapper18CHspsConfiguration10SetConfIdLERK6TDesC8 @ 69 NONAME
-	_ZN11hspswrapper18CHspsConfiguration11AddItemMapLEPNS_8CItemMapE @ 70 NONAME
-	_ZN11hspswrapper18CHspsConfiguration13AddObjectMapLEPNS_10CObjectMapE @ 71 NONAME
-	_ZN11hspswrapper18CHspsConfiguration13AddPluginMapLEPNS_10CPluginMapE @ 72 NONAME
-	_ZN11hspswrapper18CHspsConfiguration4NewLEv @ 73 NONAME
-	_ZN11hspswrapper18CHspsConfiguration5NewLCEv @ 74 NONAME
-	_ZN11hspswrapper18CHspsConfiguration8SettingsEv @ 75 NONAME
-	_ZN11hspswrapper18CHspsConfiguration9ResourcesEv @ 76 NONAME
-	_ZN11hspswrapper18CHspsConfigurationD0Ev @ 77 NONAME
-	_ZN11hspswrapper18CHspsConfigurationD1Ev @ 78 NONAME
-	_ZN11hspswrapper18CHspsConfigurationD2Ev @ 79 NONAME
-	_ZN11hspswrapper8CItemMap10SetItemIdLERK6TDesC8 @ 80 NONAME
-	_ZN11hspswrapper8CItemMap12SetItemNameLERK6TDesC8 @ 81 NONAME
-	_ZN11hspswrapper8CItemMap15AddPropertyMapLEPNS_12CPropertyMapE @ 82 NONAME
-	_ZN11hspswrapper8CItemMap4NewLEv @ 83 NONAME
-	_ZN11hspswrapper8CItemMap5NewLCEv @ 84 NONAME
-	_ZN11hspswrapper8CItemMapD0Ev @ 85 NONAME
-	_ZN11hspswrapper8CItemMapD1Ev @ 86 NONAME
-	_ZN11hspswrapper8CItemMapD2Ev @ 87 NONAME
-	_ZNK11hspswrapper10CObjectMap3TagEv @ 88 NONAME
-	_ZNK11hspswrapper10CObjectMap4PathEv @ 89 NONAME
-	_ZNK11hspswrapper10CObjectMap5NameLEv @ 90 NONAME
-	_ZNK11hspswrapper10CObjectMap9MediaTypeEv @ 91 NONAME
-	_ZNK11hspswrapper10CPluginMap13LockingStatusEv @ 92 NONAME
-	_ZNK11hspswrapper10CPluginMap15ActivationStateEv @ 93 NONAME
-	_ZNK11hspswrapper10CPluginMap8PluginIdEv @ 94 NONAME
-	_ZNK11hspswrapper10CPluginMap9PluginUidEv @ 95 NONAME
-	_ZNK11hspswrapper11CPluginInfo11DescriptionEv @ 96 NONAME
-	_ZNK11hspswrapper11CPluginInfo13MultiInstanceEv @ 97 NONAME
-	_ZNK11hspswrapper11CPluginInfo18ConfigurationStateEv @ 98 NONAME
-	_ZNK11hspswrapper11CPluginInfo3UidEv @ 99 NONAME
-	_ZNK11hspswrapper11CPluginInfo4NameEv @ 100 NONAME
-	_ZNK11hspswrapper11CPluginInfo4TypeEv @ 101 NONAME
-	_ZNK11hspswrapper11CPluginInfo8LogoIconEv @ 102 NONAME
-	_ZNK11hspswrapper11CPluginInfo8MaxChildEv @ 103 NONAME
-	_ZNK11hspswrapper11CPluginInfo9InterfaceEv @ 104 NONAME
-	_ZNK11hspswrapper12CHspsWrapper11HspsServiceEv @ 105 NONAME
-	_ZNK11hspswrapper12CHspsWrapper13HspsInterfaceEv @ 106 NONAME
-	_ZNK11hspswrapper12CHspsWrapper14ServiceHandlerEv @ 107 NONAME
-	_ZNK11hspswrapper12CPropertyMap4NameEv @ 108 NONAME
-	_ZNK11hspswrapper12CPropertyMap5ValueEv @ 109 NONAME
-	_ZNK11hspswrapper16CAddPluginResult6StatusEv @ 110 NONAME
-	_ZNK11hspswrapper16CAddPluginResult8PluginIdEv @ 111 NONAME
-	_ZNK11hspswrapper18CHspsConfiguration6ConfIdEv @ 112 NONAME
-	_ZNK11hspswrapper8CItemMap10PropertiesEv @ 113 NONAME
-	_ZNK11hspswrapper8CItemMap6ItemIdEv @ 114 NONAME
-	_ZNK11hspswrapper8CItemMap8ItemNameEv @ 115 NONAME
-	_ZTIN11hspswrapper10CObjectMapE @ 116 NONAME
-	_ZTIN11hspswrapper10CPluginMapE @ 117 NONAME
-	_ZTIN11hspswrapper11CPluginInfoE @ 118 NONAME
-	_ZTIN11hspswrapper12CHspsWrapperE @ 119 NONAME
-	_ZTIN11hspswrapper12CPropertyMapE @ 120 NONAME
-	_ZTIN11hspswrapper16CAddPluginResultE @ 121 NONAME
-	_ZTIN11hspswrapper18CHspsConfigurationE @ 122 NONAME
-	_ZTIN11hspswrapper8CItemMapE @ 123 NONAME
-	_ZTVN11hspswrapper10CObjectMapE @ 124 NONAME
-	_ZTVN11hspswrapper10CPluginMapE @ 125 NONAME
-	_ZTVN11hspswrapper11CPluginInfoE @ 126 NONAME
-	_ZTVN11hspswrapper12CHspsWrapperE @ 127 NONAME
-	_ZTVN11hspswrapper12CPropertyMapE @ 128 NONAME
-	_ZTVN11hspswrapper16CAddPluginResultE @ 129 NONAME
-	_ZTVN11hspswrapper18CHspsConfigurationE @ 130 NONAME
-	_ZTVN11hspswrapper8CItemMapE @ 131 NONAME
-
--- a/idlehomescreen/sapiwrapper/hspswrapper/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:  Item id, name and properties
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-
-PRJ_MMPFILES
-hspswrapper.mmp
--- a/idlehomescreen/sapiwrapper/hspswrapper/group/hspswrapper.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  project file
-*
-*/
-
-#include <platform_paths.hrh>
- 
-TARGET		    hspswrapper.dll
-TARGETTYPE	    dll
-UID                 0x1000008d
-
-CAPABILITY      ALL -TCB 
-VENDORID        VID_DEFAULT
-
-USERINCLUDE	    ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH	    ../src
-
-SOURCE		    hspswrapper.cpp
-SOURCE		    hspswrapperdllmain.cpp 
-SOURCE          hspsconfiguration.cpp 
-SOURCE          itemmap.cpp 
-SOURCE          objectmap.cpp 
-SOURCE          plugininfo.cpp 
-SOURCE          pluginmap.cpp 
-SOURCE          propertymap.cpp
-
-//By default, the build tools look for the WINSCW def file in a BWINS directory
-//(at the same level as the directory containing the mmp file), 
-//the GCC ARM def file in a BMARM directory, and the ARMV5 def file in a EABI directory. 
-//If def files are stored in these locations, the project files does not need to specify
-//the location of the def files explicitly. If you want to store the def files in some other 
-//location, you will need to specify in the project file where the .def files are using 
-//the deffile keyword.
-
-//The following commented out code shows how the build system uses the implicit
-// location for defiles. To create the DEF files Choose Project > Freeze Exports from Carbide
-// or run 'abld freeze' from the command-line
-//#if defined (WINS)
-//  DEFFILE ../bwins/hspswrapper.def
-//#elif defined (GCC32)
-//  DEFFILE ../bmarm/hspswrapper.def
-//#else 
-//  DEFFILE ../eabi/hspswrapper.def
-//#endif
-
-nostrictdef
-
-LIBRARY		 euser.lib
-LIBRARY      liwServiceHandler.lib
-#ifdef ENABLE_ABIV2_MODE
-DEBUGGABLE
-#endif
-
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/hspsconfiguration.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +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:  Hsps configuration message
-*
-*/
-
-
-#ifndef C_CHSPSCONFIGURATION_H
-#define C_CHSPSCONFIGURATION_H
-
-
-
-#include <e32base.h>
-
-
-namespace hspswrapper{
-
-
-class CPluginMap;
-class CItemMap;
-class CObjectMap;
-class CPluginInfo;
-
-/**
- *  Hsps configuration message
- *  
- *
- *  @code
- *  
- *  @endcode
- *
- *  @lib xnlayoutengine
- *  @since S60 v5.0
- */
-class CHspsConfiguration : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CHspsConfiguration* NewL();
-    IMPORT_C static CHspsConfiguration* NewLC();
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CHspsConfiguration();
-
-    /**
-     * Set configuration id
-     *
-     * @param aId configuration id
-     */
-    IMPORT_C CHspsConfiguration& SetConfIdL(const TDesC8& aId);
-    
-    /**
-     * Get configuration id
-     *
-     * @return Configuration id or KNullDesC8
-     */
-    IMPORT_C const TDesC8& ConfId()const;
-    
-    /**
-     * Get plugin info 
-     *
-     * @return Reference to plugin info
-     */
-    IMPORT_C CPluginInfo& PluginInfo();
-    
-    /**
-     * Append plugin map into plugin map array
-     *
-     * @param aPluginMap Plugin map. Takes ownership
-     */
-    IMPORT_C CHspsConfiguration& AddPluginMapL(CPluginMap* aPluginMap);
-    
-    /**
-     * Get plugin maps in a array
-     *
-     * @return Reference to plugin map array
-     */
-    IMPORT_C RPointerArray<CPluginMap>& PluginMaps();
-    
-    /**
-     * Append item map into settings array  map
-     *
-     * @param aItemMap Item map. Takes ownership
-     */
-    IMPORT_C CHspsConfiguration& AddItemMapL(CItemMap* aItemMap);
-    
-    /**
-     * Get settings array. Contains item maps
-     *
-     * @return Reference to settings array
-     */
-    IMPORT_C RPointerArray<CItemMap>& Settings();
-    
-    /**
-     * Append object map into resources array  map
-     *
-     * @param aObjectMap Object map. Takes ownership
-     */
-    IMPORT_C CHspsConfiguration& AddObjectMapL(CObjectMap* aObjectMap);
-    
-    /**
-     * Get resource array. Contains object maps
-     *
-     * @return Reference to resource array
-     */
-    IMPORT_C RPointerArray<CObjectMap>& Resources();
-private:
-
-    CHspsConfiguration();
-
-    void ConstructL();
-private: // data
-
-    /**
-     * Own. Configuration id
-     */
-    HBufC8* iId;
-    /**
-     * Own. Plugin info
-     */
-    CPluginInfo*    iPluginInfo;
-    /**
-     * Own. Plugins
-     */
-    RPointerArray<CPluginMap>   iPlugins;
-    /**
-     * Own. Settings
-     */
-    RPointerArray<CItemMap>     iSettings;
-    /**
-     * Own. Resources
-     */
-    RPointerArray<CObjectMap>   iResources;
-    };
-
-}
-
-#endif // C_CHSPSCONFIGURATION_H
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/hspssapi.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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:  Encapsulates hsps sapi. Collects needed headers
-*
-*/
-
-
-
-#ifndef HSPS_SAPI_H
-#define HSPS_SAPI_H
-
-
-#include "hspsconfiguration.h"
-#include "hspswrapper.h"
-#include "itemmap.h"
-#include "objectmap.h"
-#include "plugininfo.h"
-#include "pluginmap.h"
-#include "propertymap.h"
-
-
-
-
-#endif // HSPS_SAPI_H
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/hspswrapper.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +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:  Encapsulates hsps liw service
-*
-*/
-
-
-
-#ifndef C_CHSPSWRAPPER_H
-#define C_CHSPSWRAPPER_H
-
-#include <e32base.h>
-#include <liwcommon.h>      // for MLiwNotifyCallback
-
-class CLiwServiceHandler;
-class MLiwInterface;
-class CLiwCriteriaItem;
-class CLiwMap;
-class CLiwList;
-class MDesC8Array;
-class CLiwDefaultMap;
-class CLiwDefaultList;
-class MLiwNotifyCallback;
-class CLiwGenericParamList;
-
-namespace hspswrapper{
-
-
-class CHspsConfiguration;
-class CItemMap;
-class CPluginInfo;
-class CAddPluginResult;
-class CPropertyMap;
-
-/**
- *  Observer class for hspswrapper
- *
- *  @code
- *   
- *  @endcode
- *
- *  @lib hspswrapper.lib
- *  @since S60 v5.0
- */
-class MHspsWrapperObserver
-    {
-public:
-    /**
-     * Handle HSPS wrappper notifications 
-     *
-     * @param aEvent Event
-     * @param aAppConfUid App configuration uid
-     * @param aPluginName Plugin name
-     * @param aOrigUid Originator uid
-     * @param aPluginUid Plugin uid
-     * @param aPluginId Plugin id
-     */
-    virtual TInt HandleNotifyL( const TDesC8& aEvent,
-                                const TDesC8& aAppConfUid,
-                                const TDesC8& aPluginName,
-                                const TDesC8& aOrigUid,
-                                const TDesC8& aPluginUid,
-                                const TDesC8& aPluginId ) = 0;                                  
-protected:
-    /**
-    * Destructor. Protected to prevent deletion through this interface.
-    */
-    ~MHspsWrapperObserver() { }
-    };
-    
-/**
- *  Return value from add plugin
- *
- *  @code
- *   
- *  @endcode
- *
- *  @lib hspswrapper.lib
- *  @since S60 v5.0
- */
-class CAddPluginResult: public CBase
-    {
-public:
-    IMPORT_C static CAddPluginResult* NewL();
-    IMPORT_C ~CAddPluginResult();
-    /**
-     * Set plugin id
-     *
-     * @param aPluginId Plugin id
-     */
-    IMPORT_C void SetPluginIdL(const TDesC8& aPluginId);
-    /**
-     * Get plugin id
-     *
-     * @return Plugin id or KNullDesC8
-     */
-    IMPORT_C const TDesC8& PluginId()const;
-    
-    /**
-     * Set operation status
-     *
-     * @param aStatus Operation status
-     */
-    IMPORT_C void SetStatus(TInt aStatus);
-    /**
-     * Get operation status
-     *
-     * @return KErrNotFound, if operation fails
-     */
-    IMPORT_C TInt Status()const;
-private:
-    CAddPluginResult();
-private:
-    /**
-     * Status of operation. KErrNotFound, if operation fails
-     */
-    TInt    iStatus;
-    /**
-     * Own. Id of the added plugin in the configuration
-     */
-    HBufC8* iPluginId;    
-    };
-
-
-/**
- *  Wrapper for hsps liw service
- *  
- *
- *  @code
- *   
- *  @endcode
- *
- *  @lib hspswrapper.lib
- *  @since S60 v5.0
- */
-class CHspsWrapper : public CBase, public MLiwNotifyCallback
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aAppUid Application uid in integer format
-     * @param aObserver Observer
-     */
-    IMPORT_C static CHspsWrapper* NewL(const TDesC8& aAppUid,
-                                       MHspsWrapperObserver* aObserver = NULL);
-    /**
-     * Two-phased constructor.
-     * @param aAppUid Application uid in integer format
-     * @param aObserver Observer
-     */
-    IMPORT_C static CHspsWrapper* NewLC(const TDesC8& aAppUid,
-                                        MHspsWrapperObserver* aObserver = NULL);
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CHspsWrapper();
-
-    /**
-     * Fetch active application configuration from hsps and
-     * creates CHspsConfiguration out of liw message
-     *
-     * @return Configuration. Caller has ownership.
-     */
-    IMPORT_C CHspsConfiguration* GetAppConfigurationL();
-
-    /**
-     * Fetch root configurations from hsps. On return aConfs holds 
-     * configuration info instancies. Caller takes ownership of 
-     * configuration info instancies.
-     *
-     * @param aPlugins Array to hold configuration info instancies
-      */
-    IMPORT_C void GetAppConfigurationsL( RPointerArray<CPluginInfo>& aPlugins );
-    
-    /**
-      * Sets root configuration to active. 
-      *
-      * @param aConfigurationUid Configuration uid to be activated
-      * @return Operation status. KErrNone (success), KErrNotFound
-      */
-    IMPORT_C TInt SetAppConfigurationL(const TDesC8& aConfigurationUid );    
-     
-    /**
-     * Fetch plugin configuration from hsps and
-     * creates CHspsConfiguration out of liw message
-     *
-     * @param aPluginId Id of plugin configuration
-     * @return Configuration. Caller has ownership.
-     */
-    IMPORT_C CHspsConfiguration* GetPluginConfigurationL(const TDesC8& aPluginId);
-    /**
-     * Fetch plugins from hsps. On return aPlugins holds plugin info
-     * instancies. Caller takes ownership of plugin info instancies.
-     *
-     * @param aPlugins Array to hold plugin info instancies
-     * @param aPluginInterface Plugin interface id
-     * @param aPluginType view, widget or template
-      */
-    IMPORT_C void GetPluginsL(   RPointerArray<CPluginInfo>& aPlugins,
-                        const TDesC8& aPluginInterface,
-                        const TDesC8& aPluginType);
-    
-    /**
-     * Add plugin to hsps. 
-     *
-     * @param aTargetConfiguration Id of configuration where the new plugin is attached
-     * @param aPluginUid Plugin uid which is added
-     * @param aPos Position in configuration's plugin list
-     */
-    IMPORT_C CAddPluginResult* AddPluginL(const TDesC8& aTargetConfiguration, const TDesC8& aPluginUid);
-    
-    /**
-     * Remove plugin from the active configuration. 
-     *
-     * @param aPluginId Plugin id to be removed
-     * @return Operation status. KErrNone (success), KErrNotFound
-     */
-    IMPORT_C TInt RemovePluginL(const TDesC8& aPluginId);
-    
-   /**
-     * Sets plugin active into active configuration. 
-     *
-     * @param aPluginId Plugin id to be activated
-     * @return Operation status. KErrNone (success), KErrNotFound
-     */
-    IMPORT_C TInt SetActivePluginL(const TDesC8& aPluginId);	
-	
-    /**
-     * Replace plugin in the active configuration.
-     *
-     * @param aPluginId Plugin id to be replaced
-     * @param aConfUid Configuration uid of the new plugin
-     * @return Operation status. KErrNone (success), KErrNotFound
-     */  	   
-    IMPORT_C TInt ReplacePluginL(
-            const TDesC8& aPluginId,
-            const TDesC8& aConfUid );
-    
-    /**
-     * Move plugin inside configuration. 
-     *
-     * @param aConfId Configuration
-     * @param aPluginIds List of plugins included in the configuration in new order
-     * @return Operation status. KErrNone (success), KErrArgument, KErrNotFound
-     */
-    IMPORT_C TInt MovePluginsL(const TDesC8& aConfId, const MDesC8Array& aPluginIds);
-    
-    /**
-     * Stores defined plugins settings. 
-     * Plugin is identified with unique plugin ID used in applications configuration 
-     *
-     * @param aPluginId Plugings ID which settings are stored
-     * @param aSettings List of item maps
-     * @return Operation status. KErrNone (success), KErrNotFound
-     */
-    IMPORT_C TInt SetPluginSettingsL(const TDesC8& aPluginId, const RPointerArray<CItemMap>& aSettings);
-    
-    /**
-     * Add plugin to hsps. 
-     *
-     * @param aTargetConfiguration Id of configuration where the new plugin is attached
-     * @param aPluginUid Plugin uid which is added
-     * @param aIndex Position to which plugin is added
-     */
-    IMPORT_C CAddPluginResult* AddPluginL(const TDesC8& aTargetConfiguration, const TDesC8& aPluginUid, const TInt aIndex);
-    
-    /**
-     * Set plugin configure state to hsps. 
-     *
-     * @param aConfId Configuration id of a plugin that should be confirmed.
-     * @param aState State of the plugin
-     * @param aIncludePlugins ETrue if aState is set to child plugins, EFalse default.
-     * @return Operation status. KErrNone (success), KErrNotFound
-     */
-    IMPORT_C TInt SetConfStateL( const TDesC8& aConfId, const TDesC8& aState, TBool aIncludePlugins = EFalse );
-
-    /**
-     * Returns SAPI service handler.
-     */
-    IMPORT_C CLiwServiceHandler* ServiceHandler() const;
-
-    /**
-     * Returns HSPS SAPI service
-     */   
-    IMPORT_C CLiwCriteriaItem* HspsService() const;
-    
-    /**
-     * Returns HSPS services interface
-     */   
-    IMPORT_C MLiwInterface* HspsInterface() const;
-
-protected:
-    CHspsWrapper(MHspsWrapperObserver* aObserver);
-    void ConstructL(const TDesC8& aAppUid);
-    
-    void ProcessConfigurationMapL(const CLiwMap& aSource, CHspsConfiguration& aTarget);
-    void ProcessConfigurationPluginsL(const CLiwList& aPluginsList, CHspsConfiguration& aTarget);
-    void ProcessConfigurationSettingsL(const CLiwList& aItemList, CHspsConfiguration& aTarget);
-    void ProcessConfigurationResourcesL(const CLiwList& aObjectList, CHspsConfiguration& aTarget);
-    void ProcessConfItemPropertiesL(const CLiwList& aPropertyMapList,CItemMap& aItemMap);
-    void ProcessPluginsL(const CLiwList& aPluginInfoMapList, RPointerArray<CPluginInfo>& aPlugins);
-    void FillMapFromItemL( CLiwDefaultMap& aMap, const CItemMap& aItemMap );
-    void FillMapFromPropertiesL( CLiwDefaultList& aInPropertyMapList, const RPointerArray<CPropertyMap>& aProperties );
-
-protected: // from MLiwNotifyCallback 
-
-    /**
-     * Handle HSPS notifications 
-     *
-     * @param aCmdId Command id
-     * @param aEventId Event id
-     * @param aEventParamList Event parameters
-     * @param aInParamList In parameters
-     */
-    TInt HandleNotifyL(TInt aCmdId, TInt aEventId,                        
-                       CLiwGenericParamList& aEventParamList,
-                       const CLiwGenericParamList& aInParamList);
-    
-private: // data
-
-    /**
-     * Owned. SAPI service handler.
-     */
-    CLiwServiceHandler* iServiceHandler;
-    /**
-     * Owned. HSPS SAPI service.
-     */
-    CLiwCriteriaItem* iHspsService;   
-    /**
-     * Owned. Provides hsps services.
-     */
-    MLiwInterface* iHspsInterface;
-    /**
-     * Not owned. Wrapper observer
-     */    
-    MHspsWrapperObserver* iObserver;
-    /*
-     * Asynchronous service request tarnsaction id
-     */ 
-    TInt iTransactionId;
-    };
-}
-
-#endif // C_CHSPSWRAPPER_H
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/hspswrapper.pan	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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:  Item id, name and properties
- *
-*/
-
-
-
-#ifndef __HSPSWRAPPER_PAN__
-#define __HSPSWRAPPER_PAN__
-
-//  Data Types
-
-enum ThspswrapperPanic
-    {
-    EhspswrapperNullPointer
-    };
-
-//  Function Prototypes
-
-GLREF_C void Panic(ThspswrapperPanic aPanic);
-
-#endif  // __HSPSWRAPPER_PAN__
-
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/itemmap.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +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:  Item id, name and properties
-*
-*/
-
-
-
-#ifndef C_CITEMMAP_H
-#define C_CITEMMAP_H
-
-
-
-#include <e32base.h>
-
-
-namespace hspswrapper{
-
-class CPropertyMap;
-
-/**
- *  Item id, name and properties
- *  
- *
- *  @code
- *   
- *  @endcode
- *
- *  @lib xnlayoutengine.lib
- *  @since S60 v5.0
- */
-class CItemMap : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CItemMap* NewL();
-    IMPORT_C static CItemMap* NewLC();
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CItemMap();
-
-    /**
-     * Set item id
-     *
-     * @param aItemId Item id
-     * @return Reference to this object
-     */
-    IMPORT_C CItemMap& SetItemIdL(const TDesC8& aItemId );
-    
-    /**
-     * Get item id
-     *
-     * @return Reference to item id or KNullDesC8
-     */
-    IMPORT_C const TDesC8& ItemId()const;
-    
-    /**
-     * Set item name
-     *
-     * @param aItemName Item name
-     * @return Reference to this object
-     */
-    IMPORT_C CItemMap& SetItemNameL(const TDesC8& aItemName );
-    
-    /**
-     * Get item name
-     *
-     * @return Reference to item name or KNullDesC8
-     */
-    IMPORT_C const TDesC8& ItemName()const;
-    
-    /**
-     * Add item property map into properties array
-     *
-     * @param aPropertyMap Property map. Takes ownership
-     * @return Reference to this object
-     */
-    IMPORT_C CItemMap& AddPropertyMapL(CPropertyMap* aPropertyMap );
-    
-    /**
-     * Get property map array.
-     *
-     * @return Reference to proprty map array
-     */
-    IMPORT_C RPointerArray<CPropertyMap>& Properties()const;
-
-private:
-
-    CItemMap();
-
-    void ConstructL();
-
-
-private: // data
-
-    /**
-     * Own. Item id
-     */
-    HBufC8* iItemId;
-    
-    /**
-     * Own. Item name
-     */
-    HBufC8* iItemName;
-    
-    /**
-     * Own. Array of property maps
-     */
-    mutable RPointerArray<CPropertyMap> iProperties;
-    };
-
-}
-
-
-#endif // C_CITEMMAP_H
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/objectmap.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +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:  Presents object map as name, path and mediatype data  
-*
-*/
-
-
-
-#ifndef C_COBJECTMAP_H
-#define C_COBJECTMAP_H
-
-
-#include <e32base.h>
-
-namespace hspswrapper{
-
-
-/**
- *  Presents object map as name, path and mediatype data 
- *  
- *
- *  @code
- *  @endcode
- *
- *  @lib xnlayoutengine.lib
- *  @since S60 v5.0
- */
-class CObjectMap : public CBase
-    {
-public:    
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CObjectMap* NewL();
-    IMPORT_C static CObjectMap* NewLC();
-    
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CObjectMap();
-
-    /**
-     * Set object name
-     *
-     * @param aName object name
-     * @return Reference to this object
-     */
-    IMPORT_C CObjectMap& SetNameL( const TDesC8& aName );
-    
-    /**
-     * Get object name
-     *
-     * @return Reference to name or KNullDesC8
-     */
-    IMPORT_C const TDesC8& NameL()const;
-    
-    /**
-     * Set object path
-     *
-     * @param aPath object path
-     * @return Reference to this object
-     */
-    IMPORT_C CObjectMap& SetPathL( const TDesC8& aPath );
-    
-    /**
-     * Get object path
-     *
-     * @return Reference to path or KNullDesC8
-     */
-    IMPORT_C const TDesC8& Path()const;
-    
-    /**
-     * Set object media type
-     *
-     * @param aMediaType object media type
-     * @return Reference to this object
-     */
-    IMPORT_C CObjectMap& SetMediaTypeL( const TDesC8& aMediaType );
-    
-    /**
-     * Get object media type
-     *
-     * @return Reference to media type or KNullDesC8
-     */
-    IMPORT_C const TDesC8& MediaType()const;
-    
-    /**
-     * Set object tag
-     *
-     * @param aTag object tag
-     * @return Reference to this object
-     */
-    IMPORT_C CObjectMap& SetTagL( const TDesC8& aTag );
-    
-    /**
-     * Get object tag
-     *
-     * @return Reference to tag or KNullDesC8
-     */
-    IMPORT_C const TDesC8& Tag()const; 
-
-private:
-    CObjectMap();
-
-    void ConstructL();
-
-private: // data
-
-    /**
-     * Own. Object name
-     */
-    HBufC8* iName;
-    
-    /**
-     * Own. Object path
-     */
-    HBufC8* iPath;
-    
-    /**
-     * Own. Object mediatype
-     */
-    HBufC8* iMediaType;
-    
-    /**
-     * Own. Object tag
-     */
-    HBufC8* iTag;
-    };
-
-}
-#endif // C_COBJECTMAP_H
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/plugininfo.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +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:  Presents plugin info using states uid, interface, type and name
-*
-*/
-
-
-
-#ifndef C_CPLUGININFO_H
-#define C_CPLUGININFO_H
-
-#include <e32base.h>
-
-namespace hspswrapper{
-
-/**
- *  Presents plugin info using states uid, interface, type and name
- *
- *  @code
- *  @endcode
- *
- *  @lib xnlayoutengine.lib
- *  @since S60 v5.0
- */
-class CPluginInfo : public CBase
-    {
-public:    
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CPluginInfo* NewL();
-    IMPORT_C static CPluginInfo* NewLC();
-
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CPluginInfo();
-
-    /**
-     * Set configuration uid
-     *
-     * @param aUid configuration uid
-     */
-    IMPORT_C CPluginInfo& SetUidL(const TDesC8& aUid);
-        
-    /**
-     * Get configuration uid
-     *
-     * @return configuration uid or KNullDesC8
-     */
-    IMPORT_C const TDesC8& Uid()const;
-        
-    /**
-     * Set configuration type
-     *
-     * @param aType configuration type
-     */
-    IMPORT_C CPluginInfo& SetTypeL(const TDesC8& aType);
-        
-    /**
-     * Get configuration type
-     *
-     * @return configuration type or KNullDesC8
-     */
-    IMPORT_C const TDesC8& Type()const;
-        
-    /**
-     * Set configuration interface
-     *
-     * @param aInterface configuration interface
-     */
-    IMPORT_C CPluginInfo& SetInterfaceL(const TDesC8& aInterface);
-        
-    /**
-     * Get configuration interface
-     *
-     * @return configuration interface or KNullDesC8
-     */
-    IMPORT_C const TDesC8& Interface()const;
-        
-    /**
-     * Set configuration name
-     *
-     * @param aName configuration name
-     */
-    IMPORT_C CPluginInfo& SetNameL(const TDesC8& aName);
-        
-    /**
-     * Get configuration name
-     *
-     * @return configuration name or KNullDesC8
-     */
-    IMPORT_C const TDesC8& Name()const;
-
-    /**
-     * Set configuration state
-     *
-     * @param aConfigurationState configuration state
-     */    
-    IMPORT_C CPluginInfo& SetConfigurationStateL(
-        const TDesC8& aConfigurationState);
-
-    /**
-     * Get configuration state
-     *
-     * @return configuration state or KNullDesC8
-     */
-    IMPORT_C const TDesC8& ConfigurationState()const;
-
-    /**
-     * Set widget multiinstance
-     *
-     * @param aMultiInstance widget multiinstance
-     */
-    IMPORT_C CPluginInfo& SetMultiInstanceL( const TInt32 aMultiInstance );
-
-    /**
-     * Get widget multiinstance
-     *
-     * @return widget multiinstance or KNullDesC8
-     */
-    IMPORT_C const TInt32& MultiInstance()const;
-
-    
-    /**
-     * Get max children for the plugin
-     *
-     * @return max children
-     */
-    IMPORT_C const TInt32& MaxChild() const;
-
-    /**
-     * Set maximum of children allowed
-     *
-     * @param aMaxChild max. number of children
-     */
-    IMPORT_C CPluginInfo& SetMaxChild( const TInt32 aMaxChild );    
-    
-    /**
-     * Set widget description (TDesC8)
-     *
-     * @param aDescription widget description
-     */
-    IMPORT_C CPluginInfo& SetDescriptionL( const TDesC8& aDescription );
-    
-    /**
-     * Get widget description
-     *
-     * @return Description widget description or KNullDesC
-     */
-    IMPORT_C const TDesC8& Description() const;
-    
-    /**
-     * Set Logo icon
-     *
-     * @param aLogoIcon logo icon
-     */
-    IMPORT_C CPluginInfo& SetLogoIconL( const TDesC& aLogoIcon );
-
-    /**
-     * Set Logo icon (TDesC8)
-     *
-     * @param aLogoIcon logo icon
-     */
-    IMPORT_C CPluginInfo& SetLogoIconL( const TDesC8& aLogoIcon );
-    
-    /**
-     * Get Logo icon
-     *
-     * @return LogoIcon logo icon or KNullDesC
-     */
-    IMPORT_C const TDesC& LogoIcon() const;
-    
-private:
-
-    CPluginInfo();
-
-    void ConstructL();
-
-
-private: // data
-
-    /**
-     * Own. Plugin uid
-     */
-    HBufC8* iUid;
-    
-    /**
-     * Own. Plugin interface
-     */
-    HBufC8* iInterface;
-    
-    /**
-     * Own. Plugin type
-     */
-    HBufC8* iType;
-    
-    /**
-     * Own. Plugin name
-     */
-    HBufC8* iName;
-
-    /**
-     * Own. Plugin configuration state
-     */    
-    HBufC8* iConfigurationState;    
-    
-    /**
-     * Number of children allowed
-     */
-    TInt32 iMaxChilds;
-   
-    /**
-     * Own. Plugin description
-     */
-    HBufC8* iDescription;
-    
-    /**
-     * Own. Plugin logo icon
-     */
-    HBufC* iLogoIcon;
-
-    /**
-     * Own. Plugin instances
-     */
-    TInt32 iMultiInstance;
-    };
-}
-
-#endif // C_CPLUGININFO_H
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/pluginmap.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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:  contains id and uid
-*
-*/
-
-
-
-#ifndef C_CPLUGINMAP_H
-#define C_CPLUGINMAP_H
-
-
-#include <e32base.h>
-
-
-namespace hspswrapper{
-
-/**
- *  Presents plugin map i.e id and uid
- *  
- *
- *  @code
- *  
- *  @endcode
- *
- *  @lib xnlayoutengine.lib
- *  @since S60 v5.0
- */
-class CPluginMap : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CPluginMap* NewL();
-    IMPORT_C static CPluginMap* NewLC();
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CPluginMap();
-
-    /**
-     * Set plugin id
-     *
-     * @param aPluginId plugin id
-     * @return Reference to this object
-     */
-    IMPORT_C CPluginMap& SetPluginIdL(const TDesC8& aPluginId);
-    
-    /**
-     * Get plugin id
-     *
-     * @return Reference to plugin id or KNullDesC8
-     */
-    IMPORT_C const TDesC8& PluginId()const;
-    
-    /**
-     * Set plugin uid
-     *
-     * @param aPluginId plugin uid
-     * @return Reference to this object
-     */
-    IMPORT_C CPluginMap& SetPluginUidL(const TDesC8& aPluginUid);
-    
-    /**
-     * Get plugin uid
-     *
-     * @return Reference to plugin uid or KNullDesC8
-     */
-    IMPORT_C const TDesC8& PluginUid()const;
-
-    /**
-     * Set plugin activation state
-     *
-     * @param aState plugin activation state
-     * @return Reference to this object
-     */    
-    IMPORT_C CPluginMap& SetActivationStateL(const TDesC8& aState);
-
-    /**
-     * Get plugin activation state
-     *
-     * @return ETrue if plugin is active, EFalse otherwise
-     */    
-    IMPORT_C TBool ActivationState()const;
-
-    /**
-     * Set locking status for the plugin
-     *
-     * @param bStatusFlag - plugin is locked or not
-     */
-    IMPORT_C CPluginMap& SetLockingStatusL( const TDesC8& aLockingStatus );
-
-    /**
-     * Get locking status for the plugin
-     *
-     * @return locking status ( ETrue - locked, EFalse - not locked )
-     */
-    IMPORT_C const TDesC8& LockingStatus() const;
-private:
-
-    CPluginMap();
-
-    void ConstructL();
-
-
-private: // data
-
-    /**
-     * Own. Plugin id.
-     */
-    HBufC8* iPluginId;
-    
-    /**
-     * Own. Plugin uid.
-     */
-    HBufC8* iPluginUid;
-
-    /**
-     * Own. Plugin activation state.
-     */    
-    HBufC8* iActivationState;
-
-    /**
-     * Own. Plugin locking status
-     */
-    HBufC8* iLockingStatus;
-
-    };
-
-}
-
-#endif // C_CPLUGINMAP_H
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/propertymap.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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:  Encapsulates name and value
-*
-*/
-
-
-#ifndef C_CPROPERTYMAP_H
-#define C_CPROPERTYMAP_H
-
-
-#include <e32base.h>
-
-
-namespace hspswrapper{
-
-
-
-/**
- *  Presents property as name and value pair
- *
- *  @code
- *  @endcode
- *
- *  @lib xnlayoutengine.lib
- *  @since S60 v5.0
- */
-class CPropertyMap : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CPropertyMap* NewL();
-    IMPORT_C static CPropertyMap* NewLC();
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CPropertyMap();
-
-    /**
-     * Set property name
-     *
-     * @param aName Property nane
-     * @return Reference to this object
-     */
-    IMPORT_C CPropertyMap& SetNameL( const TDesC8& aName );
-    
-    /**
-     * Get property name
-     *
-    * @return Reference to name or KNullDesC8
-     */
-    IMPORT_C const TDesC8& Name()const;
-    
-    /**
-     * Set property value
-     *
-     * @param aValue Property value
-     * @return Reference to this object
-     */
-    IMPORT_C CPropertyMap& SetValueL( const TDesC8& aValue );
-    
-    /**
-     * Get property value
-     *
-    * @return Reference to value or KNullDesC8
-     */
-    IMPORT_C const TDesC8& Value()const;
-
-private:
-
-    CPropertyMap();
-
-    void ConstructL();
-
-
-private: // data
-
-    /**
-     * Own. Property name
-     */
-    HBufC8* iName;
-    /**
-     * Own. Property value
-     */
-    HBufC8* iValue;
-    };
-
-}
-
-#endif // C_CPROPERTYMAP_H
--- a/idlehomescreen/sapiwrapper/hspswrapper/sis/hspswrapper_eka2.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +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:
-;
-; Installation file for hspswrapper dll
-;
-; This is an auto-generated PKG file by Carbide.
-; This file uses variables specific to Carbide builds that will not work
-; on command-line builds. If you want to use this generated PKG file from the
-; command-line tools you will need to modify the variables with the appropriate
-; values: $(EPOCROOT), $(PLATFORM), $(TARGET)
-
-;
-; UID is the dll's UID
-;
-#{"hspswrapper DLL"},(0x0ADEE135),1,0,0
-
-
-;Localised Vendor name
-%{"Vendor-EN"}
-
-;Unique Vendor name
-:"Vendor"
-
-"$(EPOCROOT)epoc32\release\$(PLATFORM)\$(TARGET)\hspswrapper.dll"		  -"!:\sys\bin\hspswrapper.dll"
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/hspsconfiguration.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +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:  Hsps configuration message
-*
-*/
-
-
-#include "hspsconfiguration.h"
-#include "pluginmap.h"
-#include "objectmap.h"
-#include "itemmap.h"
-#include "plugininfo.h" 
-
-namespace hspswrapper{
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CHspsConfiguration::CHspsConfiguration()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsConfiguration::ConstructL()
-    {
-    iPluginInfo = CPluginInfo::NewL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration* CHspsConfiguration::NewL()
-    {
-    CHspsConfiguration* self = CHspsConfiguration::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration* CHspsConfiguration::NewLC()
-    {
-    CHspsConfiguration* self = new( ELeave ) CHspsConfiguration;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration::~CHspsConfiguration()
-    {
-    delete iId;
-    delete iPluginInfo;
-    iPlugins.ResetAndDestroy();
-    iSettings.ResetAndDestroy();
-    iResources.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration& CHspsConfiguration::SetConfIdL(const TDesC8& aId)
-    {
-    delete iId;
-    iId = NULL;
-    iId = aId.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHspsConfiguration::ConfId()const
-    {
-    if(iId)
-        {
-        return *iId;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CHspsConfiguration::PluginInfo()
-    {
-    return *iPluginInfo;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration& CHspsConfiguration::AddPluginMapL(CPluginMap* aPluginMap)
-    {
-    iPlugins.AppendL(aPluginMap);
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray<CPluginMap>& CHspsConfiguration::PluginMaps()
-    {
-    return iPlugins;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration& CHspsConfiguration::AddItemMapL(CItemMap* aItemMap)
-    {
-    iSettings.AppendL(aItemMap);
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray<CItemMap>& CHspsConfiguration::Settings()
-    {
-    return iSettings;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration& CHspsConfiguration::AddObjectMapL(CObjectMap* aObjectMap)
-    {
-    iResources.AppendL(aObjectMap);
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray<CObjectMap>& CHspsConfiguration::Resources()
-    {
-    return iResources;
-    }
-
-}   // namespace end
-
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/hspswrapper.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1494 +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:  Encapsulates hsps liw service
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-#include <bamdesca.h>
-
-#include "hspswrapper.h"
-#include "hspsconfiguration.h"
-#include "pluginmap.h"
-#include "itemmap.h"
-#include "propertymap.h"
-#include "objectmap.h"
-#include "plugininfo.h"
-
-
-_LIT8( KHSPS, "Service.HSPS" );
-_LIT8( KHSPSConfigurationIf, "IConfiguration" );
-
-_LIT8( KHSPSCommandGetActiveAppConf, "GetActiveAppConf" );
-_LIT8( KHSPSCommandGetPluginConf, "GetPluginConf" );
-_LIT8( KHSPSCommandGetPlugins, "GetPlugins" );
-_LIT8( KHSPSCommandAddPlugin, "AddPlugin" );
-_LIT8( KHSPSCommandRemovePlugin, "RemovePlugin" );
-_LIT8( KHSPSCommandReplacePlugin, "ReplacePlugin" );
-_LIT8( KHSPSCommandSetActivePlugin, "SetActivePlugin" );
-_LIT8( KHSPSCommandSetConfState, "SetConfState" );
-_LIT8( KHSPSCommandGetAppConfs, "GetAppConfs" );
-_LIT8( KHSPSCommandSetAppConf, "SetActiveAppConf" );
-_LIT8( KHSPSMovePlugins, "MovePlugins");
-_LIT8( KHSPSSetPluginSettings, "SetPluginSettings" );
-_LIT8( KAppConfKey, "appConf" );
-_LIT8( KAppConfsKey, "appConfs" );
-_LIT8( KPluginConfKey, "pluginConf" );
-_LIT8( KPluginsKey, "plugins" );
-_LIT8( KConfId, "confId" );
-_LIT8( KPluginUid, "pluginUid" );
-_LIT8( KOutKeyStatus ,"status");
-_LIT8( KHspsAppUid, "appUid" );
-_LIT8( KKeyPluginId, "pluginId" );
-_LIT8( KKeyConfUid, "confUid" );
-_LIT8( KInterface, "interface" );
-_LIT8( KType, "type" );
-_LIT8( KKeyPlugins, "plugins" );
-_LIT8( KKeyItemId, "itemId" );
-_LIT8( KKeyName, "name" );
-_LIT8( KKeyValue, "value" );
-_LIT8( KKeyProperties, "properties" );
-_LIT8( KKeySettings, "settings" );
-_LIT8( KIndex, "position" );
-_LIT8( KConfState, "state" );
-_LIT8( KRequestNotification, "RequestNotification" );
-
-namespace hspswrapper{
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAddPluginResult::CAddPluginResult():iStatus(KErrNotFound)
-    {}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAddPluginResult::~CAddPluginResult()
-    {
-    delete iPluginId;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAddPluginResult* CAddPluginResult::NewL()
-    {
-    CAddPluginResult* self = new( ELeave ) CAddPluginResult;
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAddPluginResult::SetPluginIdL(
-    const TDesC8& aPluginId )
-    {
-    delete iPluginId;
-    iPluginId = NULL;
-    iPluginId = aPluginId.AllocL();
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CAddPluginResult::PluginId()const
-    {
-    if(iPluginId)
-        {
-        return *iPluginId;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAddPluginResult::SetStatus(TInt aStatus )
-    {
-    iStatus = aStatus;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CAddPluginResult::Status()const
-    {
-    return iStatus;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CHspsWrapper::CHspsWrapper(MHspsWrapperObserver* aObserver)
-    : iObserver( aObserver )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::ConstructL(const TDesC8& aAppUid)
-    {
-    // Attach to HSPS:
-    iServiceHandler = CLiwServiceHandler::NewL();
-    
-    iHspsService = CLiwCriteriaItem::NewL( 1, KHSPSConfigurationIf, KHSPS );
-    iHspsService->SetServiceClass( TUid::Uid( KLiwClassBase ) );
-    
-    RCriteriaArray interestList;
-    interestList.AppendL( iHspsService );
-    iServiceHandler->AttachL( interestList );
-    interestList.Reset();
-    
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-    
-    TLiwGenericParam appUid;
-    TLiwVariant uidVar;
-    uidVar.Set( aAppUid );
-    appUid.SetNameAndValueL( KHspsAppUid, uidVar );
-    appUid.PushL();
-    inParamList.AppendL( appUid );
-    CleanupStack::Pop();
-    appUid.Reset();
-    
-    iServiceHandler->ExecuteServiceCmdL( *iHspsService,inParamList,outParamList );
-    inParamList.Reset();
-    TInt pos = 0;
-    outParamList.FindFirst( pos, KHSPSConfigurationIf );
-    if( pos != KErrNotFound )
-        {
-        iHspsInterface = outParamList[ pos ].Value().AsInterface();    
-        outParamList.Reset();        
-        }
-    else
-        {
-        outParamList.Reset();       
-        User::Leave( KErrNotFound );
-        }   
-    
-    inParamList.Reset();
-    outParamList.Reset();
-        
-    if( iObserver )
-        {
-        iTransactionId = -1;
-        iHspsInterface->ExecuteCmdL( KRequestNotification,
-                                     inParamList,
-                                     outParamList,
-                                     KLiwOptASyncronous,
-                                     this );   
-        const TLiwGenericParam* outParam( NULL );
-                
-       TInt pos( 0 );
-       outParam = outParamList.FindFirst( pos, _L8("status") );
-               
-       if ( outParam )
-           {
-           TInt retval;
-           retval = outParam->Value().AsTInt32();
-           if(retval == KErrNone )
-               {
-               pos = 0;
-               outParam = outParamList.FindFirst( pos, _L8("TransactionID") );
-               if( outParam )
-                   {
-                   retval = outParam->Value().AsTInt32();
-                   iTransactionId = retval;
-                   }
-               }
-          
-           }
-                  
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsWrapper* CHspsWrapper::NewL(const TDesC8& aAppUid,
-                                          MHspsWrapperObserver* aObserver)
-    {
-    CHspsWrapper* self = CHspsWrapper::NewLC(aAppUid, aObserver);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsWrapper* CHspsWrapper::NewLC(const TDesC8& aAppUid,
-                                           MHspsWrapperObserver* aObserver)
-    {
-    CHspsWrapper* self = new( ELeave ) CHspsWrapper( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL(aAppUid);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsWrapper::~CHspsWrapper()
-    {
-    if( iHspsInterface )
-        {
-        // Close interface
-        iHspsInterface->Close();       
-        }
-    
-    if( iServiceHandler && iHspsService )
-        {
-        // Detach services from the handler
-        RCriteriaArray interestList;
-        TRAP_IGNORE( interestList.AppendL( iHspsService ) );
-        TRAP_IGNORE( iServiceHandler->DetachL( interestList ) );   
-        interestList.Reset();        
-        }
-    
-    delete iHspsService;
-    delete iServiceHandler;    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration* CHspsWrapper::GetAppConfigurationL()
-    {
-    CHspsConfiguration* configuration = CHspsConfiguration::NewLC();
-    
-    // Fetch from liw service
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-       
-    iHspsInterface->ExecuteCmdL( KHSPSCommandGetActiveAppConf, 
-                                 inParamList, 
-                                 outParamList );
-                                           
-    inParamList.Reset();
-   
-    // 1: get appConf map
-    TInt index(0);
-    const TLiwGenericParam* conf = outParamList.FindFirst(index,KAppConfKey);
-    if(conf)
-        {
-        const CLiwMap* confMap  = conf->Value().AsMap();
-        // 2: Process Configuration map
-        if(confMap)
-           {
-           ProcessConfigurationMapL(*confMap,*configuration);
-           }
-        }
-    outParamList.Reset();
-    
-    CleanupStack::Pop(configuration);
-    return configuration;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHspsWrapper::GetAppConfigurationsL(
-    RPointerArray<CPluginInfo>& aPlugins )        
-    {
-    // Fetch from liw service
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-       
-    iHspsInterface->ExecuteCmdL( KHSPSCommandGetAppConfs, 
-                                 inParamList, 
-                                 outParamList );
-                                           
-    inParamList.Reset();
-   
-    TInt index(0);
-    const TLiwGenericParam* confs = outParamList.FindFirst(index,KAppConfsKey);
-    if(confs)
-        {
-        const CLiwList* list = confs->Value().AsList();
-        if(list)
-            {
-            TInt listCount = list->Count();
-            TLiwVariant mapVar;
-            mapVar.PushL();
-            
-            for ( TInt index(0); list->AtL( index, mapVar ); ++index )
-                {                               
-                const CLiwMap* confMap = mapVar.AsMap();
-                
-                if ( confMap )
-                    {
-                    CPluginInfo* plugin = CPluginInfo::NewLC();
-                    
-                    TLiwVariant confVar;
-                    confVar.PushL();
-                    
-                    if( confMap->FindL( _L8("uid"), confVar ) )
-                        {
-                        plugin->SetUidL( confVar.AsData() );
-                        }
-                    
-                    confVar.Reset();
-                    
-                    if( confMap->FindL(_L8("name"), confVar ) )
-                        {
-                        plugin->SetNameL( confVar.AsData() );
-                        }
-                    
-                    CleanupStack::Pop(&confVar);
-                    confVar.Reset();
-                    
-                    aPlugins.AppendL( plugin );
-                    CleanupStack::Pop( plugin );
-                    }
-                }
-            CleanupStack::Pop(&mapVar);
-            mapVar.Reset();
-            }
-        }
-    outParamList.Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHspsWrapper::SetAppConfigurationL(
-    const TDesC8& aConfigurationUid )
-    {
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CHspsWrapper::SetAppConfigurationL() - start" ) );
-#endif //_XN_PERFORMANCE_TEST_        
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-         
-    // Compose Liw message
-    TLiwGenericParam confIdParam;
-    confIdParam.SetNameAndValueL( KKeyConfUid, TLiwVariant(aConfigurationUid) );
-    confIdParam.PushL();
-    inParamList.AppendL( confIdParam );
-    CleanupStack::Pop(&confIdParam);
-    confIdParam.Reset();
-      
-    iHspsInterface->ExecuteCmdL( KHSPSCommandSetAppConf, 
-                                 inParamList, 
-                                 outParamList ); 
-      
-    inParamList.Reset();
-      
-    // check success
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, KOutKeyStatus );
-    TInt status(KErrGeneral);
-    
-    if ( outParam )
-        {
-        status = outParam->Value().AsTInt32();
-        }
-    outParamList.Reset();
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CHspsWrapper::SetAppConfigurationL() - end" ) );
-#endif //_XN_PERFORMANCE_TEST_            
-    return status;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHspsConfiguration* CHspsWrapper::GetPluginConfigurationL(
-    const TDesC8& aPluginId)
-    {
-    CHspsConfiguration* configuration = CHspsConfiguration::NewLC();
-        
-    // Fetch from liw service
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-    // Form input message
-    
-    TLiwGenericParam pluginIdParam;
-    TLiwVariant pluginIdVar;
-    pluginIdVar.Set( aPluginId );
-    pluginIdParam.SetNameAndValueL( KKeyPluginId, pluginIdVar );
-    pluginIdParam.PushL();
-    inParamList.AppendL( pluginIdParam );
-    CleanupStack::Pop(&pluginIdParam);
-    pluginIdParam.Reset();
-        
-    
-    iHspsInterface->ExecuteCmdL( KHSPSCommandGetPluginConf, 
-                                 inParamList, 
-                                 outParamList );
-    inParamList.Reset();
-    
-    // 1: get pluginConf map
-    TInt index(0);
-    const TLiwGenericParam* conf = outParamList.FindFirst(index,KPluginConfKey);
-    if(conf)
-        {
-        const CLiwMap* confMap  = conf->Value().AsMap();
-        // 2: Process Configuration map
-        if(confMap)
-           {
-           ProcessConfigurationMapL(*confMap,*configuration);
-           }
-        }
-   
-    outParamList.Reset();
-    CleanupStack::Pop(configuration);
-    
-    return configuration;
-    } 
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHspsWrapper::GetPluginsL(
-    RPointerArray<CPluginInfo>& aPlugins,
-    const TDesC8& aPluginInterface,
-    const TDesC8& aPluginType)
-    {
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-    
-    // plugin interface
-    TLiwGenericParam interfaceParam( KInterface, TLiwVariant( aPluginInterface ) );
-    interfaceParam.PushL();
-    inParamList.AppendL( interfaceParam );
-    CleanupStack::Pop(&interfaceParam);
-    interfaceParam.Reset();
-    
-    // plugin type
-    TLiwGenericParam typeParam;
-    typeParam.SetNameAndValueL( KType, TLiwVariant(aPluginType ) );
-    typeParam.PushL();
-    inParamList.AppendL( typeParam );
-    CleanupStack::Pop(&typeParam);
-    typeParam.Reset();
-
-    iHspsInterface->ExecuteCmdL( KHSPSCommandGetPlugins, inParamList, outParamList ); 
-    inParamList.Reset();
-    
-    TInt index(0);
-    const TLiwGenericParam* plugins = outParamList.FindFirst(index,KPluginsKey);
-    if(plugins)
-        {
-        const CLiwList* list = plugins->Value().AsList();
-        if(list)
-            {
-            ProcessPluginsL(*list,aPlugins);
-            }
-        }
-    outParamList.Reset();
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAddPluginResult* CHspsWrapper::AddPluginL(
-    const TDesC8& aTargetConfiguration, 
-    const TDesC8& aPluginUid)
-    {
-    // Compose AddPlugin hsps LIW message to Service.HomeScreenPluginConfiguration
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-      
-    TLiwGenericParam confIdParam;
-    confIdParam.SetNameAndValueL( KConfId, TLiwVariant(aTargetConfiguration) );
-    confIdParam.PushL();
-    inParamList.AppendL( confIdParam );
-    CleanupStack::Pop(&confIdParam);
-    confIdParam.Reset();
-       
-    TLiwGenericParam pluginUidParam;
-    pluginUidParam.SetNameAndValueL( KPluginUid, TLiwVariant(aPluginUid) );
-    pluginUidParam.PushL();
-    inParamList.AppendL( pluginUidParam );
-    CleanupStack::Pop(&pluginUidParam);
-    pluginUidParam.Reset();
-       
-    // add widget to configuration
-    iHspsInterface->ExecuteCmdL( KHSPSCommandAddPlugin, 
-                                 inParamList, 
-                                 outParamList ); 
-    inParamList.Reset();
-    
-    CAddPluginResult* result = CAddPluginResult::NewL();
-    CleanupStack::PushL(result);
-    // test success
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, _L8("status") );
-    if ( outParam )
-       {
-       result->SetStatus(outParam->Value().AsTInt32());
-       }
-    else
-        {
-        result->SetStatus(KErrNone);
-        pos = 0;
-        outParam = outParamList.FindFirst( pos, _L8("pluginId") );
-        if ( outParam )
-            {
-            result->SetPluginIdL(outParam->Value().AsData());
-            }
-        else
-            {
-            // should never happen, but change status back to KErrNotFound 
-            result->SetStatus(KErrNotFound);
-            }
-        }
-  
-    CleanupStack::Pop(result);
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAddPluginResult* CHspsWrapper::AddPluginL(
-    const TDesC8& aTargetConfiguration, 
-    const TDesC8& aPluginUid,
-    const TInt aIndex )
-    {
-    // Compose AddPlugin hsps LIW message to Service.HomeScreenPluginConfiguration
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-      
-    TLiwGenericParam confIdParam;
-    confIdParam.SetNameAndValueL( KConfId, TLiwVariant(aTargetConfiguration) );
-    confIdParam.PushL();
-    inParamList.AppendL( confIdParam );
-    CleanupStack::Pop(&confIdParam);
-    confIdParam.Reset();
-   
-    TLiwGenericParam pluginUidParam;
-    pluginUidParam.SetNameAndValueL( KPluginUid, TLiwVariant(aPluginUid) );
-    pluginUidParam.PushL();
-    inParamList.AppendL( pluginUidParam );
-    CleanupStack::Pop(&pluginUidParam);
-    pluginUidParam.Reset();
-    
-    if(aIndex >= 0)
-        {
-        TBuf8<32> buf;
-        buf.Num( aIndex );
-        TLiwGenericParam indexParam;
-        indexParam.SetNameAndValueL( KIndex, TLiwVariant( buf ) );
-        indexParam.PushL();
-        inParamList.AppendL( indexParam );
-        CleanupStack::Pop(&indexParam);
-        indexParam.Reset();
-        }
-    
-    // add widget to configuration
-    iHspsInterface->ExecuteCmdL( KHSPSCommandAddPlugin, 
-                                 inParamList, 
-                                 outParamList ); 
-    inParamList.Reset();
-    
-    CAddPluginResult* result = CAddPluginResult::NewL();
-    CleanupStack::PushL(result);
-    // test success
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, _L8("status") );
-    if ( outParam )
-       {
-       result->SetStatus(outParam->Value().AsTInt32());
-       }
-    else
-        {
-        result->SetStatus(KErrNone);
-        pos = 0;
-        outParam = outParamList.FindFirst( pos, _L8("pluginId") );
-        if ( outParam )
-            {
-            result->SetPluginIdL(outParam->Value().AsData());
-            }
-        else
-            {
-            // should never happen, but change status back to KErrNotFound 
-            result->SetStatus(KErrNotFound);
-            }
-        }
-  
-    CleanupStack::Pop(result);
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHspsWrapper::RemovePluginL(const TDesC8& aPluginId)
-    {
-    // Compose AddPlugin hsps LIW message to Service.HomeScreenPluginConfiguration
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-         
-    // Compose Liw message
-    TLiwGenericParam pluginIdParam;
-    pluginIdParam.SetNameAndValueL( KKeyPluginId, TLiwVariant(aPluginId) );
-    pluginIdParam.PushL();
-    inParamList.AppendL( pluginIdParam );
-    CleanupStack::Pop(&pluginIdParam);
-    pluginIdParam.Reset();
-      
-    iHspsInterface->ExecuteCmdL( KHSPSCommandRemovePlugin, 
-                                 inParamList, 
-                                 outParamList ); 
-      
-    inParamList.Reset();
-      
-    // check success
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, KOutKeyStatus );
-    TInt status(KErrGeneral);
-    
-    if ( outParam )
-        {
-        status = outParam->Value().AsTInt32();
-        }
-    outParamList.Reset();
-    return status;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHspsWrapper::ReplacePluginL( 
-        const TDesC8& aPluginId, 
-        const TDesC8& aConfUid )
-    {
-    // Compose ReplacePlugin hsps LIW message to Service.HomeScreenPluginConfiguration
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-         
-    // Compose Liw message
-    TLiwGenericParam pluginIdParam;
-    pluginIdParam.SetNameAndValueL( KKeyPluginId, TLiwVariant(aPluginId) );
-    pluginIdParam.PushL();
-    inParamList.AppendL( pluginIdParam );
-    CleanupStack::Pop(&pluginIdParam);
-    pluginIdParam.Reset();
-    
-    TLiwGenericParam confUidParam;
-    confUidParam.SetNameAndValueL( KKeyConfUid, TLiwVariant( aConfUid ) );
-    confUidParam.PushL();
-    inParamList.AppendL( confUidParam );
-    CleanupStack::Pop( &confUidParam );
-    confUidParam.Reset();
-      
-    // Execute command
-    iHspsInterface->ExecuteCmdL( KHSPSCommandReplacePlugin, 
-                                 inParamList, 
-                                 outParamList ); 
-      
-    inParamList.Reset();
-      
-    // check success
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, KOutKeyStatus );
-    TInt status( KErrGeneral );
-    
-    if ( outParam )
-        {
-        status = outParam->Value().AsTInt32();
-        }
-    outParamList.Reset();
-    return status;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHspsWrapper::SetActivePluginL(const TDesC8& aPluginId)
-    {
-    // Compose AddPlugin hsps LIW message to Service.HomeScreenPluginConfiguration
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-         
-    // Compose Liw message
-    TLiwGenericParam pluginIdParam;
-    pluginIdParam.SetNameAndValueL( KKeyPluginId, TLiwVariant(aPluginId) );
-    pluginIdParam.PushL();
-    inParamList.AppendL( pluginIdParam );
-    CleanupStack::Pop(&pluginIdParam);
-    pluginIdParam.Reset();
-      
-    iHspsInterface->ExecuteCmdL( KHSPSCommandSetActivePlugin, 
-                                 inParamList, 
-                                 outParamList ); 
-      
-    inParamList.Reset();
-      
-    // check success
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, KOutKeyStatus );
-    TInt status(KErrGeneral);
-    
-    if ( outParam )
-        {
-        status = outParam->Value().AsTInt32();
-        }
-    outParamList.Reset();
-    return status;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHspsWrapper::MovePluginsL(
-    const TDesC8& aConfId, 
-    const MDesC8Array& aPluginIds)
-    {
-    // Compose AddPlugin hsps LIW message to Service.HomeScreenPluginConfiguration
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-    
-    TLiwGenericParam confIdParam;
-    confIdParam.SetNameAndValueL( KConfId, TLiwVariant(aConfId) );
-    confIdParam.PushL();
-    inParamList.AppendL( confIdParam );
-    CleanupStack::Pop( &confIdParam );
-    confIdParam.Reset();    
-       
-    // add "plugins" parameter to the inParamList
-    CLiwDefaultList* inPluginList = CLiwDefaultList::NewLC();
-    for( int i = 0; i < aPluginIds.MdcaCount(); i++ )
-        {
-        const TDesC8& id = aPluginIds.MdcaPoint(i);
-        inPluginList->AppendL( TLiwVariant(id) );
-        }
-       
-    TLiwGenericParam pluginsParam;
-    pluginsParam.SetNameAndValueL( KKeyPlugins, TLiwVariant(inPluginList) );
-    pluginsParam.PushL();
-    inParamList.AppendL( pluginsParam );
-    CleanupStack::Pop( &pluginsParam );
-    pluginsParam.Reset();
-
-    iHspsInterface->ExecuteCmdL( KHSPSMovePlugins, 
-                                 inParamList, 
-                                 outParamList ); 
-
-    CleanupStack::PopAndDestroy( inPluginList );    
-    inParamList.Reset();
-    
-      
-    // check success
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, KOutKeyStatus );
-    TInt status(KErrGeneral);
-    
-    if ( outParam )
-        {
-        status = outParam->Value().AsTInt32();
-        }
-    outParamList.Reset();
-    return status;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHspsWrapper::SetPluginSettingsL(
-    const TDesC8& aPluginId, 
-    const RPointerArray<CItemMap>& aSettings)
-    {
-    // Compose AddPlugin hsps LIW message to Service.HomeScreenPluginConfiguration
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-    
-    TLiwGenericParam pluginIdParam;
-    pluginIdParam.SetNameAndValueL( KKeyPluginId, TLiwVariant(aPluginId) );
-    pluginIdParam.PushL();
-    inParamList.AppendL( pluginIdParam );
-    CleanupStack::Pop( &pluginIdParam );
-    pluginIdParam.Reset();    
-       
-    CLiwDefaultList* itemMapList = CLiwDefaultList::NewLC();
-    for( int i = 0; i < aSettings.Count(); i++ )
-        {
-        CItemMap* itemMap = aSettings[i];
-        
-        CLiwDefaultMap* inItemMap = CLiwDefaultMap::NewLC();
-        FillMapFromItemL(*inItemMap,*itemMap);
-        itemMapList->AppendL( TLiwVariant(inItemMap) );
-        CleanupStack::PopAndDestroy(inItemMap);
-        }
-       
-    TLiwGenericParam settingsParam;
-    settingsParam.SetNameAndValueL( KKeySettings, TLiwVariant(itemMapList) );
-    settingsParam.PushL();
-    inParamList.AppendL( settingsParam );
-    CleanupStack::Pop( &settingsParam );
-    settingsParam.Reset();
-    
-    iHspsInterface->ExecuteCmdL( KHSPSSetPluginSettings, 
-                                 inParamList, 
-                                 outParamList ); 
-    
-    CleanupStack::PopAndDestroy( itemMapList );  
-    inParamList.Reset();
-    
-      
-    // check success
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, KOutKeyStatus );
-    TInt status(KErrGeneral);
-    
-    if ( outParam )
-        {
-        status = outParam->Value().AsTInt32();
-        }
-    outParamList.Reset();
-    return status;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHspsWrapper::SetConfStateL( const TDesC8& aConfId, 
-    const TDesC8& aState, TBool aIncludePlugins )
-    {
-    // Compose AddPlugin hsps LIW message to Service.HomeScreenPluginConfiguration
-    CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-         
-    // Compose Liw message
-    TLiwGenericParam confIdParam;
-    confIdParam.SetNameAndValueL( KConfId, TLiwVariant( aConfId ) );
-    confIdParam.PushL();
-    inParamList.AppendL( confIdParam );
-    CleanupStack::Pop(&confIdParam);
-    confIdParam.Reset();
-    
-    TLiwGenericParam pluginStateParam;
-    pluginStateParam.SetNameAndValueL( KConfState, TLiwVariant( aState ) );
-    pluginStateParam.PushL();
-    inParamList.AppendL( pluginStateParam );
-    CleanupStack::Pop(&pluginStateParam);
-    pluginStateParam.Reset();
-
-    iHspsInterface->ExecuteCmdL( KHSPSCommandSetConfState, 
-                                 inParamList, 
-                                 outParamList ); 
-
-    const TLiwGenericParam* outParam = NULL;
-    TInt pos(0);
-    outParam = outParamList.FindFirst( pos, KOutKeyStatus );
-    TInt status(KErrGeneral);
-    
-    if ( outParam )
-        {
-        status = outParam->Value().AsTInt32();
-        }
-    
-    outParamList.Reset();
-        
-    if( !status && aIncludePlugins )
-        {
-        _LIT8( KFilter, "filter" );
-        _LIT8( KFilterPlugins, "Plugins" );
-        
-        TLiwGenericParam filterParam;
-        filterParam.PushL();
-        filterParam.SetNameAndValueL( KFilter, TLiwVariant( KFilterPlugins ) );        
-        inParamList.AppendL( filterParam );
-        CleanupStack::Pop(&filterParam);
-        filterParam.Reset();
-        
-        iHspsInterface->ExecuteCmdL( KHSPSCommandSetConfState, 
-                                     inParamList, 
-                                     outParamList );
-        
-        // check success
-        pos = 0;
-        outParam = outParamList.FindFirst( pos, KOutKeyStatus );
-        status = KErrGeneral;
-        
-        if ( outParam )
-            {
-            status = outParam->Value().AsTInt32();
-            }
-
-        outParamList.Reset();        
-        }
-            
-    inParamList.Reset();
-      
-    return status;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLiwServiceHandler* CHspsWrapper::ServiceHandler() const
-    {
-    return iServiceHandler;  
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CLiwCriteriaItem* CHspsWrapper::HspsService() const
-    {
-    return iHspsService;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MLiwInterface* CHspsWrapper::HspsInterface() const
-    {
-    return iHspsInterface;
-    }
-        
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::ProcessConfigurationMapL(
-    const CLiwMap& aSource, 
-    CHspsConfiguration& aTarget)
-    {
-    TLiwVariant tempVariant;
-    tempVariant.PushL();
-        
-    if ( aSource.FindL( _L8("id"), tempVariant ) )
-        {
-        aTarget.SetConfIdL(tempVariant.AsData());
-        }
-    if ( aSource.FindL( _L8("uid"), tempVariant ) )
-        {
-        aTarget.PluginInfo().SetUidL(tempVariant.AsData());
-        }
-    if ( aSource.FindL( _L8("type"), tempVariant ) )
-        {
-        aTarget.PluginInfo().SetTypeL(tempVariant.AsData());
-        }
-    if ( aSource.FindL( _L8("interface"), tempVariant ) )
-        {
-        aTarget.PluginInfo().SetInterfaceL(tempVariant.AsData());
-        }        
-    if ( aSource.FindL( _L8("name"), tempVariant ) )
-        {
-        aTarget.PluginInfo().SetNameL(tempVariant.AsData());
-        }   
-    if ( aSource.FindL( _L8("state"), tempVariant ) )
-        {
-        aTarget.PluginInfo().SetConfigurationStateL(tempVariant.AsData());
-        }        
-    if ( aSource.FindL( _L8("multiinstance"), tempVariant ) )
-        {
-        aTarget.PluginInfo().SetMultiInstanceL( tempVariant.AsTInt32() );
-        }
-    if ( aSource.FindL( _L8( "max_child" ), tempVariant ) )
-        {
-        aTarget.PluginInfo().SetMaxChild( tempVariant.AsTInt32() );
-        }    
-    if( aSource.FindL( _L8("plugins"), tempVariant ) )
-        {
-        const CLiwList* plugins( tempVariant.AsList() );
-        if( plugins )
-            {
-            ProcessConfigurationPluginsL(*plugins,aTarget);
-            }
-        }
-    if( aSource.FindL( _L8("settings"), tempVariant ) )
-        {
-        const CLiwList* settings( tempVariant.AsList() );
-        if( settings )
-            {
-            ProcessConfigurationSettingsL(*settings,aTarget);
-            }
-        }
-    if( aSource.FindL( _L8("resources"), tempVariant ) )
-        {
-        const CLiwList* resources( tempVariant.AsList() );
-        if( resources )
-            {
-            ProcessConfigurationResourcesL(*resources,aTarget);
-            }
-        }
-    CleanupStack::Pop(&tempVariant);
-    tempVariant.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::ProcessConfigurationPluginsL(
-    const CLiwList& aPluginsList, 
-    CHspsConfiguration& aTarget)
-    {
-    TLiwVariant pluginMapVariant;
-    pluginMapVariant.PushL();
-    for( int i=0;i<aPluginsList.Count();++i )
-        {
-        if( aPluginsList.AtL(i,pluginMapVariant) )
-            {
-            const CLiwMap* pluginMap( pluginMapVariant.AsMap() );
-            TLiwVariant pluginVariant;
-            pluginVariant.PushL();
-            if( pluginMap )
-                {
-                CPluginMap* plugin = CPluginMap::NewLC();
-                if( pluginMap->FindL( _L8("id"),pluginVariant) )
-                    {
-                    plugin->SetPluginIdL( pluginVariant.AsData() );
-                    }
-                if( pluginMap->FindL( _L8("uid"),pluginVariant) )
-                    {
-                    plugin->SetPluginUidL( pluginVariant.AsData() );
-                    }
-                if( pluginMap->FindL( _L8("activationstate"),pluginVariant ) )
-                    {
-                    plugin->SetActivationStateL( pluginVariant.AsData() );
-                    }
-                if ( pluginMap->FindL( _L8( "locking_status" ), pluginVariant ) )
-                    {
-                    plugin->SetLockingStatusL( pluginVariant.AsData() );
-                    }
-                aTarget.AddPluginMapL(plugin);                    
-                CleanupStack::Pop(plugin);
-                }
-            CleanupStack::Pop(&pluginVariant);
-            pluginVariant.Reset();
-            }
-       
-        }
-    CleanupStack::Pop(&pluginMapVariant);
-    pluginMapVariant.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::ProcessConfigurationSettingsL(
-    const CLiwList& aItemList, 
-    CHspsConfiguration& aTarget)
-    {
-    TLiwVariant itemMapVariant;
-    itemMapVariant.PushL();
-    for( int i=0;i<aItemList.Count();++i )
-        {
-        if( aItemList.AtL(i,itemMapVariant) )
-            {
-            const CLiwMap* itemMap( itemMapVariant.AsMap() );
-            TLiwVariant itemVariant;
-            itemVariant.PushL();
-            if( itemMap )
-                {
-                CItemMap* item = CItemMap::NewLC();
-                if( itemMap->FindL( _L8("itemId"),itemVariant) )
-                    {
-                    item->SetItemIdL( itemVariant.AsData() );
-                    }
-                if( itemMap->FindL( _L8("name"),itemVariant) )
-                    {
-                    item->SetItemNameL( itemVariant.AsData() );
-                    }
-                if( itemMap->FindL( _L8("properties"),itemVariant) )
-                    {
-                    const CLiwList* properties( itemVariant.AsList() );
-                    if(properties)
-                        {
-                        ProcessConfItemPropertiesL(*properties,*item);
-                        }
-                    }
-                    
-                aTarget.AddItemMapL(item);                    
-                CleanupStack::Pop(item);
-                }
-            CleanupStack::Pop(&itemVariant);
-            itemVariant.Reset();
-            }
-       
-        }
-    CleanupStack::Pop(&itemMapVariant);
-    itemMapVariant.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::ProcessConfigurationResourcesL(
-    const CLiwList& aObjectList, 
-    CHspsConfiguration& aTarget)
-    {
-    TLiwVariant objectMapVariant;
-    objectMapVariant.PushL();
-    for( int i=0;i<aObjectList.Count();++i )
-        {
-        if( aObjectList.AtL(i,objectMapVariant) )
-            {
-            const CLiwMap* objectMap( objectMapVariant.AsMap() );
-            TLiwVariant objectVariant;
-            objectVariant.PushL();
-            if( objectMap )
-                {
-                CObjectMap* object = CObjectMap::NewLC();
-                if( objectMap->FindL( _L8("name"),objectVariant) )
-                    {
-                    object->SetNameL( objectVariant.AsData() );
-                    }
-                if( objectMap->FindL( _L8("path"),objectVariant) )
-                    {
-                    object->SetPathL( objectVariant.AsData() );
-                    }
-                if( objectMap->FindL( _L8("mediatype"),objectVariant) )
-                    {
-                    object->SetMediaTypeL( objectVariant.AsData() );
-                    }    
-                if( objectMap->FindL( _L8("tag"),objectVariant) )
-                    {
-                    object->SetTagL( objectVariant.AsData() );
-                    }
-                aTarget.AddObjectMapL(object);                    
-                CleanupStack::Pop(object);
-                }
-            CleanupStack::Pop(&objectVariant);
-            objectVariant.Reset();
-            }
-        }
-    CleanupStack::Pop(&objectMapVariant);
-    objectMapVariant.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::ProcessConfItemPropertiesL(
-    const CLiwList& aPropertyMapList,
-    CItemMap& aItemMap)
-    {
-    TLiwVariant propertyMapVariant;
-    propertyMapVariant.PushL();
-    for( int i=0;i<aPropertyMapList.Count();++i )
-       {
-       if( aPropertyMapList.AtL(i,propertyMapVariant) )
-           {
-           const CLiwMap* propertyMap( propertyMapVariant.AsMap() );
-           TLiwVariant propertyVariant;
-           propertyVariant.PushL();
-           if( propertyMap )
-               {
-               CPropertyMap* property = CPropertyMap::NewLC();
-               if( propertyMap->FindL( _L8("name"),propertyVariant ) )
-                   {
-                   property->SetNameL( propertyVariant.AsData() );
-                   }
-               if( propertyMap->FindL( _L8("value"),propertyVariant ) )
-                   {
-                   property->SetValueL( propertyVariant.AsData() );
-                   }
-               aItemMap.AddPropertyMapL(property);                    
-               CleanupStack::Pop(property);
-               }
-           CleanupStack::Pop(&propertyVariant);
-           propertyVariant.Reset();
-           }
-      
-       }
-    CleanupStack::Pop(&propertyMapVariant);
-    propertyMapVariant.Reset();
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::ProcessPluginsL(
-    const CLiwList& aPluginInfoMapList, 
-    RPointerArray<CPluginInfo>& aPlugins)
-    {
-    // create widget array and populate it from HSPS list
-    TLiwVariant mapVar;
-    mapVar.PushL();
-    
-    for ( int index(0); aPluginInfoMapList.AtL( index, mapVar ); ++index )
-        {
-        const CLiwMap* pluginInfoMap = mapVar.AsMap();
-        if ( pluginInfoMap )
-            {
-            TLiwVariant pluginVar;
-            pluginVar.PushL();
-            CPluginInfo* pluginInfo = CPluginInfo::NewLC();
-            
-            if( pluginInfoMap->FindL( _L8("uid"), pluginVar) )
-                {
-                pluginInfo->SetUidL( pluginVar.AsData() );
-                }
-            if( pluginInfoMap->FindL( _L8("interface"), pluginVar ) )
-                {
-                pluginInfo->SetInterfaceL( pluginVar.AsData() );
-                }
-            if( pluginInfoMap->FindL( _L8("type"), pluginVar ) )
-                {
-                pluginInfo->SetTypeL( pluginVar.AsData() );
-                }
-            if( pluginInfoMap->FindL( _L8("name"), pluginVar ) )
-                {
-                pluginInfo->SetNameL( pluginVar.AsData() );
-                }
-            if ( pluginInfoMap->FindL( _L8("multiinstance"), pluginVar ) )
-                {
-                pluginInfo->SetMultiInstanceL( pluginVar.AsTInt32() );
-                }
-            if ( pluginInfoMap->FindL( _L8( "max_child" ), pluginVar ) )
-                {
-                pluginInfo->SetMaxChild( pluginVar.AsTInt32() );
-                }
-            if ( pluginInfoMap->FindL( _L8("desc"), pluginVar ) )
-                {
-                pluginInfo->SetDescriptionL( pluginVar.AsData() );
-                }
-            if ( pluginInfoMap->FindL( _L8("logo"), pluginVar ) )
-                {
-                pluginInfo->SetLogoIconL( pluginVar.AsData() );
-                }
-
-            aPlugins.AppendL(pluginInfo);
-            CleanupStack::Pop(pluginInfo);
-            CleanupStack::Pop(&pluginVar);
-            pluginVar.Reset();
-            }
-        }
-    CleanupStack::Pop(&mapVar);
-    mapVar.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::FillMapFromItemL( CLiwDefaultMap& aMap, const CItemMap& aItemMap )
-    {
-    aMap.InsertL(  KKeyItemId, TLiwVariant(aItemMap.ItemId()) );
-    aMap.InsertL(  KKeyName, TLiwVariant(aItemMap.ItemName()) );
-    
-    CLiwDefaultList* inPropertyMapList = CLiwDefaultList::NewLC();
-    FillMapFromPropertiesL(*inPropertyMapList,aItemMap.Properties());
-    aMap.InsertL(  KKeyProperties, TLiwVariant(inPropertyMapList) );
-    CleanupStack::PopAndDestroy(inPropertyMapList);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CHspsWrapper::FillMapFromPropertiesL( 
-    CLiwDefaultList& aInPropertyMapList, 
-    const RPointerArray<CPropertyMap>& aProperties )
-    {
-    
-    for(int i=0; i<aProperties.Count(); ++i)
-        {
-        CLiwDefaultMap* inPropertyMap = CLiwDefaultMap::NewLC();
-        inPropertyMap->InsertL(  KKeyName, TLiwVariant(aProperties[i]->Name()) );
-        inPropertyMap->InsertL(  KKeyValue, TLiwVariant(aProperties[i]->Value()) );
-        aInPropertyMapList.AppendL(inPropertyMap);
-        CleanupStack::PopAndDestroy(inPropertyMap);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//    
-TInt CHspsWrapper::HandleNotifyL( TInt aCmdId, TInt aEventId,                        
-    CLiwGenericParamList& aEventParamList,
-    const CLiwGenericParamList& /*aInParamList*/ )
-    {
-    TInt retval( KErrNone );
-   
-    if( iObserver && iTransactionId == aCmdId )
-        {                 
-        const TLiwGenericParam* outParam( NULL );
-        
-        TInt pos( 0 );
-        outParam = aEventParamList.FindFirst( pos, _L8("status") );
-        
-        if ( outParam )
-            {    
-            retval = outParam->Value().AsTInt32();
-            }
-        else
-            {   
-            pos = 0;
-            
-            retval = KErrNotFound;
-                
-            outParam = aEventParamList.FindFirst( pos, _L8("notification") );
-            
-            if( !outParam )
-                {      
-                // should never happen, but change status back to KErrNotFound 
-                return retval;                
-                }
-                
-            HBufC8* event( NULL );
-            HBufC8* appConfUid( NULL );
-            HBufC8* pluginUid( NULL );
-            HBufC8* pluginName( NULL );
-            HBufC8* origUid( NULL );
-            TInt pushCount( 0 );
-                                                                
-            TLiwVariant variant;
-            variant.PushL();
-            pushCount++;
-                
-            variant = outParam->Value();
-            
-            const CLiwMap* notifMap( variant.AsMap() );
-                                            
-            if ( notifMap->FindL( _L8("event"), variant ) )
-                {
-                event = variant.AsData().AllocLC();
-                pushCount++;
-                }    
-                
-            variant.Reset();    
-                                             
-            if( notifMap->FindL( _L8("appConfUid"), variant ) )
-                {  
-                appConfUid = variant.AsData().AllocLC();
-                pushCount++;
-                }
-                
-            variant.Reset();
-                                           
-            if( notifMap->FindL( _L8("name"), variant ) )
-                {
-                pluginName = variant.AsData().AllocLC();
-                pushCount++;
-                }
-                   
-            variant.Reset();
-            
-            if( notifMap->FindL( _L8("origUid"), variant ) )
-                {
-                origUid = variant.AsData().AllocLC();
-                pushCount++;
-                }
-            
-            variant.Reset();
-                                            
-            if( notifMap->FindL( _L8("pluginUid"), variant ) )
-                {
-                pluginUid = variant.AsData().AllocLC();
-                pushCount++;
-                }        
-                
-           variant.Reset();
-                             
-           if( notifMap->FindL( _L8("pluginIds"), variant ) )
-               {                                                                        
-               const CLiwList* pluginIdList( variant.AsList() );
-                    
-               variant.Reset();
-                    
-               TInt count( pluginIdList->Count() );
-               
-               retval = KErrNone;
-               
-               for( TInt i = 0; i < count && retval == KErrNone; i++ )
-                   {
-                   pluginIdList->AtL( i, variant );
-                                      
-                   HBufC8* pluginId( NULL );
-                   
-                   pluginId = variant.AsData().AllocLC();
-                                                         
-                   retval = iObserver->HandleNotifyL( 
-                                ( event ) ? *event : KNullDesC8(), 
-                                ( appConfUid ) ? *appConfUid : KNullDesC8(), 
-                                ( pluginName ) ? *pluginName : KNullDesC8(),
-                                ( origUid ) ? *origUid : KNullDesC8(),
-                                ( pluginUid ) ? *pluginUid : KNullDesC8(), 
-                                ( pluginId ) ? * pluginId : KNullDesC8() );
-                                                      
-                   CleanupStack::PopAndDestroy( pluginId );                                                      
-                   
-                   variant.Reset();
-                   }
-               }
-        
-            CleanupStack::PopAndDestroy( pushCount );
-            }
-        }
-        
-    if( retval != KErrNone && aEventId != KLiwEventInProgress)
-        {
-        CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-        CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-        
-        inParamList.Reset();
-        outParamList.Reset();
-        //cancel old notification request
-        iHspsInterface->ExecuteCmdL( KRequestNotification,
-                                     inParamList,
-                                     outParamList,
-                                     KLiwOptCancel,
-                                     this ); 
-        
-        inParamList.Reset();
-        outParamList.Reset();
-        //request notification again
-        iTransactionId = -1;
-        iHspsInterface->ExecuteCmdL( KRequestNotification,
-                                     inParamList,
-                                     outParamList,
-                                     KLiwOptASyncronous,
-                                     this );
-        
-        const TLiwGenericParam* outParam( NULL );
-                        
-        TInt pos( 0 );
-        outParam = outParamList.FindFirst( pos, _L8("status") );
-                       
-        if ( outParam )
-            {
-            TInt retval;
-            retval = outParam->Value().AsTInt32();
-            
-            if(retval == KErrNone )
-                {
-                pos = 0;
-                outParam = outParamList.FindFirst( pos, _L8("TransactionID") );
-                       
-                if( outParam )
-                    {
-                    retval = outParam->Value().AsTInt32();
-                    iTransactionId = retval;
-                    }
-                }     
-            }
-        
-        }
-   
-    
-    return retval;    
-    }    
-}
-
-//End of file
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/hspswrapperdllmain.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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:  Item id, name and properties
- *
-*/
-
-
-
-//  Include Files  
-
-#include <e32std.h>		 // GLDEF_C
-#include "hspswrapper.pan"		// panic codes
-
-//  Global Functions
-
-GLDEF_C void Panic(ThspswrapperPanic aPanic)
-// Panics the thread with given panic code
-
-    {
-    User::Panic(_L("hspswrapper"), aPanic);
-    }
-
-//  Exported Functions
-
-#ifndef EKA2 // for EKA1 only
-EXPORT_C TInt E32Dll(TDllReason /*aReason*/)
-// Called when the DLL is loaded and unloaded. Note: have to define
-// epoccalldllentrypoints in MMP file to get this called in THUMB.
-
-    {
-    return KErrNone;
-    }
-#endif
-
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/itemmap.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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:  Item id, name and properties
-*
-*/
-
-
-
-#include "itemmap.h"
-#include "propertymap.h"
-
-namespace hspswrapper{
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CItemMap::CItemMap()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CItemMap::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CItemMap* CItemMap::NewL()
-    {
-    CItemMap* self = CItemMap::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CItemMap* CItemMap::NewLC()
-    {
-    CItemMap* self = new( ELeave ) CItemMap;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CItemMap::~CItemMap()
-    {
-    delete iItemId;
-    delete iItemName;
-    iProperties.ResetAndDestroy();
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CItemMap& CItemMap::SetItemIdL(const TDesC8& aItemId )
-    {
-    delete iItemId;
-    iItemId = NULL;
-    iItemId = aItemId.AllocL();
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CItemMap::ItemId()const
-    {
-    if(iItemId)
-        {
-        return *iItemId;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CItemMap& CItemMap::SetItemNameL(const TDesC8& aItemName )
-    {
-    delete iItemName;
-    iItemName = NULL;
-    iItemName = aItemName.AllocL();
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CItemMap::ItemName()const
-    {
-    if(iItemName)
-       {
-       return *iItemName;
-       }
-   else
-       {
-       return KNullDesC8;
-       }
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CItemMap& CItemMap::AddPropertyMapL(CPropertyMap* aPropertyMap )
-    {
-    iProperties.AppendL(aPropertyMap);
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray<CPropertyMap>& CItemMap::Properties()const
-    {
-    return iProperties;
-    }
-}
-
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/objectmap.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +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:  Presents object map as name, path and mediatype data
-*
-*/
-
-
-
-#include "objectmap.h"
-
-namespace hspswrapper{
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CObjectMap::CObjectMap()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CObjectMap::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CObjectMap* CObjectMap::NewL()
-    {
-    CObjectMap* self = CObjectMap::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CObjectMap* CObjectMap::NewLC()
-    {
-    CObjectMap* self = new( ELeave ) CObjectMap;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CObjectMap::~CObjectMap()
-    {
-    delete iName;
-    delete iPath;
-    delete iMediaType;
-    delete iTag;
-    }
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CObjectMap& CObjectMap::SetNameL( const TDesC8& aName )
-    {
-    delete iName;
-    iName = NULL;
-    iName = aName.AllocL();
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CObjectMap::NameL()const
-    {
-    if(iName)
-       {
-       return *iName;
-       }
-   else
-       {
-       return KNullDesC8;
-       }
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CObjectMap& CObjectMap::SetPathL( const TDesC8& aPath )
-    {
-    delete iPath;
-    iPath = NULL;
-    iPath = aPath.AllocL();
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CObjectMap::Path()const
-    {
-    if(iPath)
-      {
-      return *iPath;
-      }
-    else
-      {
-      return KNullDesC8;
-      }
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CObjectMap& CObjectMap::SetMediaTypeL( const TDesC8& aMediaType )
-    {
-    delete iMediaType;
-    iMediaType = NULL;
-    iMediaType = aMediaType.AllocL();
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CObjectMap::MediaType()const
-    {
-    if(iMediaType)
-      {
-      return *iMediaType;
-      }
-    else
-      {
-      return KNullDesC8;
-      }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CObjectMap& CObjectMap::SetTagL( const TDesC8& aTag )
-    {
-    delete iTag;
-    iTag = NULL;
-    iTag = aTag.AllocL();
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CObjectMap::Tag()const
-    {
-    if(iTag)
-      {
-      return *iTag;
-      }
-    else
-      {
-      return KNullDesC8;
-      }
-    }
-    
-}
-
-
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/plugininfo.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,300 +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:  Presents plugin info using states uid, interface, type and name
-*
-*/
-
-
-#include "plugininfo.h"
-
-const TInt32 KMultiInstanceDefaultValue = 1;
-const TInt32 KMaxChildsDefaultValue = 6;
-
-namespace hspswrapper{
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CPluginInfo::CPluginInfo()
-    : iMultiInstance( KMultiInstanceDefaultValue )
-    {
-    iMaxChilds = KMaxChildsDefaultValue;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CPluginInfo::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo* CPluginInfo::NewL()
-    {
-    CPluginInfo* self = CPluginInfo::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo* CPluginInfo::NewLC()
-    {
-    CPluginInfo* self = new( ELeave ) CPluginInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo::~CPluginInfo()
-    {
-    delete iUid;
-    delete iType;
-    delete iInterface;
-    delete iName;
-	delete iConfigurationState;
-    delete iDescription;
-    delete iLogoIcon;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetUidL(const TDesC8& aUid)
-    {
-    delete iUid;
-    iUid = NULL;
-    iUid = aUid.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginInfo::Uid()const
-    {
-    if(iUid)
-        {
-        return *iUid;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetTypeL(const TDesC8& aType)
-    {
-    delete iType;
-    iType = NULL;
-    iType = aType.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginInfo::Type()const
-    {
-    if(iType)
-        {
-        return *iType;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetInterfaceL(
-    const TDesC8& aInterface)
-    {
-    delete iInterface;
-    iInterface = NULL;
-    iInterface = aInterface.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginInfo::Interface()const
-    {
-    if(iInterface)
-        {
-        return *iInterface;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetNameL(const TDesC8& aName)
-    {
-    delete iName;
-    iName = NULL;
-    iName = aName.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginInfo::Name()const
-    {
-    if(iName)
-        {
-        return *iName;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetConfigurationStateL(
-    const TDesC8& aConfigurationState)
-    {
-    delete iConfigurationState;
-    iConfigurationState = NULL;
-    
-    iConfigurationState = aConfigurationState.AllocL();
-    
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginInfo::ConfigurationState()const
-    {
-    if(iConfigurationState)
-        {
-        return *iConfigurationState;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetMultiInstanceL(
-    const TInt32 aMultiInstance )
-    {
-    iMultiInstance = aMultiInstance;
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TInt32& CPluginInfo::MultiInstance()const
-    {
-    return iMultiInstance;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TInt32& CPluginInfo::MaxChild()const
-    {
-    return iMaxChilds;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetMaxChild(
-    const TInt32 aMaxChild )
-    {
-    iMaxChilds = aMaxChild;
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetDescriptionL( const TDesC8& aDescription )
-    {
-    delete iDescription;
-    iDescription = NULL;
-
-    iDescription = aDescription.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginInfo::Description() const
-    {
-    return iDescription ? *iDescription : KNullDesC8();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetLogoIconL( const TDesC& aLogoIcon )
-    {
-    delete iLogoIcon;
-    iLogoIcon = NULL;
-
-    iLogoIcon = aLogoIcon.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginInfo& CPluginInfo::SetLogoIconL( const TDesC8& aLogoIcon )
-    {
-    delete iLogoIcon;
-    iLogoIcon = NULL;
-
-    iLogoIcon = HBufC::NewL( aLogoIcon.Length() );
-    iLogoIcon->Des().Copy( aLogoIcon );
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CPluginInfo::LogoIcon() const
-    {
-    return iLogoIcon ? *iLogoIcon : KNullDesC();
-    }
-    
-} // namespace
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/pluginmap.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +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:  contains id and uid
-*
-*/
-
-
-#include "pluginmap.h"
-
-namespace hspswrapper{
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CPluginMap::CPluginMap()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CPluginMap::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginMap* CPluginMap::NewL()
-    {
-    CPluginMap* self = CPluginMap::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginMap* CPluginMap::NewLC()
-    {
-    CPluginMap* self = new( ELeave ) CPluginMap;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginMap::~CPluginMap()
-    {
-    delete iPluginId;
-    delete iPluginUid;
-    delete iActivationState;
-    delete iLockingStatus;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginMap& CPluginMap::SetPluginIdL(const TDesC8& aPluginId)
-    {
-    delete iPluginId;
-    iPluginId = NULL;
-    iPluginId = aPluginId.AllocL();
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginMap::PluginId()const
-    {
-    if(iPluginId)
-       {
-       return *iPluginId;
-       }
-    else
-       {
-       return KNullDesC8;
-       }
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginMap& CPluginMap::SetPluginUidL(const TDesC8& aPluginUid)
-    {
-    delete iPluginUid;
-    iPluginUid = NULL;
-    iPluginUid = aPluginUid.AllocL();
-    return *this;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginMap::PluginUid()const
-    {
-    if(iPluginUid)
-       {
-       return *iPluginUid;
-       }
-    else
-       {
-       return KNullDesC8;
-       }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginMap& CPluginMap::SetActivationStateL(const TDesC8& aState)
-    {
-    delete iActivationState;
-    iActivationState = NULL;
-    iActivationState = aState.AllocL();
-    return *this;    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPluginMap::ActivationState()const
-    {
-    if( iActivationState )
-        {               
-        return ( *iActivationState == _L8("1") ) ? ETrue : EFalse; 
-        }
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPluginMap& CPluginMap::SetLockingStatusL( const TDesC8& aLockingStatus )
-    {
-    delete iLockingStatus;
-    iLockingStatus = NULL;
-    iLockingStatus = aLockingStatus.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPluginMap::LockingStatus() const
-    {
-    if ( iLockingStatus )
-        {
-        return *iLockingStatus;
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-}
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/propertymap.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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:  Encapsulates name and value
-*
-*/
-
-
-
-#include "propertymap.h"
-
-namespace hspswrapper{
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CPropertyMap::CPropertyMap()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CPropertyMap::ConstructL()
-    {
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPropertyMap* CPropertyMap::NewL()
-    {
-    CPropertyMap* self = CPropertyMap::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPropertyMap* CPropertyMap::NewLC()
-    {
-    CPropertyMap* self = new( ELeave ) CPropertyMap;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPropertyMap::~CPropertyMap()
-    {
-    delete iName;
-    delete iValue;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPropertyMap& CPropertyMap::SetNameL( const TDesC8& aName )
-    {
-    delete iName;
-    iName = NULL;
-    iName = aName.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPropertyMap::Name()const
-    {
-    if(iName)
-       {
-       return *iName;
-       }
-    else
-       {
-       return KNullDesC8;
-       }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPropertyMap& CPropertyMap::SetValueL( const TDesC8& aValue )
-    {
-    delete iValue;
-    iValue = NULL;
-    iValue = aValue.AllocL();
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CPropertyMap::Value()const
-    {
-    if(iValue)
-       {
-       return *iValue;
-       }
-    else
-       {
-       return KNullDesC8;
-       }
-    }
-
-}
Binary file idlehomescreen/widgetmanager/conf/widgetmanager.confml has changed
Binary file idlehomescreen/widgetmanager/conf/widgetmanager_20026F53.crml has changed
--- a/idlehomescreen/widgetmanager/data/20026F53.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  widget manager plugin registry resource
-*
-*/
-
-#include "registryinfov2.rh"
-
-// Declares info for two implementations
-RESOURCE REGISTRY_INFO theInfo
-    {
-    resource_format_version = RESOURCE_FORMAT_VERSION_2;
-    dll_uid = 0x20026F53;    
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            // UID of interface that is implemented
-            interface_uid = 0x20026F51;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {                    
-                    // implementation_uid MUST match sis pkg UID, hscontentcontrol uses to monitor 
-                    // uninstallation and releasing dll
-                    
-                    implementation_uid = 0x20026F53;
-                    version_no = 1;
-                    display_name = "Widget Manager";
-                    default_data = "WmContentControlUI";
-                    opaque_data = "0x20026F53";
-                    }
-                };
-            }
-        };
-    }
--- a/idlehomescreen/widgetmanager/data/widgetmanagerview.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +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:
-* 
-*
-*/
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.loc>
-#include <appinfo.rh>
-#include <avkon.mbg>
-#include <activeidle3.loc>
-#include <widgetmanagerview.loc>
-
-#include "widgetmanager.hrh"
-
-
-//  RESOURCE IDENTIFIER
-NAME    WIGZ // 4 letter ID
-
-RESOURCE RSS_SIGNATURE
-	{
-	}
-
-// ----------------------------------------------------
-// MAIN VIEW AND ITS PARTS
-// ----------------------------------------------------
-
-RESOURCE AVKON_VIEW r_wm_main_container_view
-    {
-    cba = R_AVKON_SOFTKEYS_OPTIONS_BACK__SELECT;
-    menubar = r_wm_main_container_options_menu;
-    toolbar = 0;
-    }
-
-RESOURCE TITLE_PANE r_wm_main_container_title_resource
-    {
-    txt = qtn_wm_title_text;
-    }
-
-// ----------------------------------------------------
-// MENU
-// ----------------------------------------------------
-
-RESOURCE MENU_BAR r_wm_main_container_options_menu
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_wm_main_container_menu_pane;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_wm_main_container_menu_pane
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewOpenPortalMenuItemCommand;
-            txt = qtn_options_wm_open;
-            flags = EEikMenuItemAction;
-            },
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewAddMenuItemCommand;
-            txt = qtn_options_wm_add;
-            flags = EEikMenuItemAction;
-            },
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewWiddetDetailsMenuItemCommand;
-            txt = qtn_options_wm_show_details;
-            flags = EEikMenuItemSpecific;
-            },    
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewLaunchMenuItemCommand;
-            txt = qtn_options_wm_launch_widget;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewSearchMenuItemCommand;
-            txt = qtn_options_wm_search;
-            },
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewSortAlphaMenuItemCommand;
-            txt = qtn_options_wm_sort_alpha;
-            },
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewUninstallMenuItemCommand;
-            txt = qtn_options_wm_uninstall;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewHelpMenuItemCommand;
-            txt = qtn_options_help;
-            },
-        MENU_ITEM
-            {
-            command = EWmMainContainerViewBackMenuItemCommand;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-// ----------------------------------------------------
-// OVI STORE BUTTON
-// ----------------------------------------------------
-
-RESOURCE AVKON_BUTTON r_wm_portal_button
-    {
-    flags = 0;
-    states =
-        {
-        AVKON_BUTTON_STATE
-            {
-            flags = 0;
-            txt = qtn_wm_ovi_store_title;
-            }
-        };
-    }
-
-RESOURCE TBUF r_qtn_wm_go_to_ovi_store
-    {
-    buf = qtn_wm_ovi_store_title;
-    }
-
-// ----------------------------------------------------
-// MISCELLANEOUS INFO MESSAGES
-// ----------------------------------------------------
-
-RESOURCE TBUF r_qtn_hs_add_widget_no_space_note
-    {
-    buf = qtn_hs_add_widget_no_space_note;
-    }
-
-RESOURCE TBUF r_qtn_hs_add_widget_max_count_note
-    {
-    buf = qtn_hs_add_widget_max_count_note;
-    }
-
-RESOURCE TBUF r_qtn_hs_hs_memory_full
-    {
-    buf = qtn_hs_hs_memory_full;
-    }
-
-RESOURCE TBUF r_qtn_wm_details_no_description
-    {
-    buf = qtn_wm_details_no_description;
-    }
-
-RESOURCE TBUF r_qtn_wm_widget_details_wrt
-    {
-    buf = qtn_wm_widget_details_wrt;
-    }
-
-RESOURCE TBUF r_qtn_wm_uninst_not_allowed
-    {
-    buf = qtn_wm_uninst_not_allowed;
-    }
-    
-RESOURCE TBUF r_qtn_wm_uninstall_widget_query
-    {
-    buf = qtn_wm_uninstall_widget_query;
-    }
-
-RESOURCE TBUF r_qtn_wm_uninst_process_busy
-    {
-    buf = qtn_wm_uninst_process_busy;
-    }
-
-RESOURCE TBUF r_qtn_wm_uninstall_text
-    {
-    buf = qtn_wm_uninstall_text;
-    }
-
-// ----------------------------------------------------
-// Wm Details dialog
-// ----------------------------------------------------
-
-STRUCT WMDLGCONTROL
-    {
-    STRUCT control;
-    }
-	
-RESOURCE DIALOG r_wm_details_add_dialog
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagCbaButtons |
-            EEikDialogFlagWait |
-            EEikDialogFlagNoTitleBar;
-    buttons = r_wm_details_add_close_cba;
-    }
-
-RESOURCE CBA r_wm_details_add_close_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON // add
-            {
-            id = ECbaAddToHs; 
-            txt = qtn_wm_details_add_to_hs; 
-            },
-        CBA_BUTTON // close
-            {
-            id = EAknSoftkeyClose; 
-            txt = text_softkey_close;
-            }
-        };
-    }
-
-RESOURCE DIALOG r_wm_details_only_dialog
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagCbaButtons |
-            EEikDialogFlagWait |
-            EEikDialogFlagNoTitleBar;
-    buttons = r_wm_details_empty_close_cba;
-    }
-
-RESOURCE CBA r_wm_details_empty_close_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON // empty
-            {
-            id = 0; 
-            txt = text_softkey_empty; 
-            },
-        CBA_BUTTON // close
-            {
-            id = EAknSoftkeyClose; 
-            txt = text_softkey_close;
-            }
-        };
-    }
--- a/idlehomescreen/widgetmanager/gfx/add_widget_button.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, 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" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="36px" viewBox="0 0 50 36" enable-background="new 0 0 50 36" xml:space="preserve">
-<g id="Layer_2">
-</g>
-<g id="Layer_1">
-	<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0" x2="24.9995" y2="36.0005">
-		<stop  offset="0" style="stop-color:#79CD19"/>
-		<stop  offset="1" style="stop-color:#4A9826"/>
-	</linearGradient>
-	<path fill="url(#SVGID_1_)" d="M50,31c0,2.762-2.239,5-5,5H5c-2.762,0-5-2.238-5-5V5c0-2.761,2.238-5,5-5h40c2.761,0,5,2.239,5,5
-		V31z"/>
-	<polygon fill="#E6E6E6" points="16.515,21.084 22.015,21.084 22.015,26.585 22.015,27.586 23.015,27.586 27.015,27.586 
-		28.016,27.586 28.016,26.585 28.016,21.084 33.515,21.084 34.516,21.084 34.516,20.083 34.516,16.083 34.516,15.082 33.515,15.082 
-		28.016,15.082 28.016,9.583 28.016,8.582 27.015,8.582 23.015,8.582 22.015,8.582 22.015,9.583 22.015,15.082 16.515,15.082 
-		15.515,15.082 15.515,16.083 15.515,20.082 15.515,21.084 	"/>
-	<path opacity="0.5" fill="#FFFFFF" d="M2.033,33.656C1.398,32.947,1.001,32.023,1.001,31V5c0-2.205,1.795-4,4-4h40
-		c1.15,0,2.182,0.496,2.912,1.276l0.708-0.708C47.711,0.606,46.43,0,45.001,0h-40c-2.762,0-5,2.238-5,5v26
-		c0,1.301,0.509,2.475,1.323,3.365L2.033,33.656z"/>
-	<path opacity="0.2" d="M50.001,31V5c0-1.333-0.529-2.536-1.379-3.433l-0.709,0.708c0.67,0.716,1.088,1.669,1.088,2.724v26
-		c0,2.205-1.795,4-4,4h-40c-1.182,0-2.235-0.525-2.968-1.344l-0.709,0.709C2.238,35.363,3.541,36,5.001,36h40
-		C47.763,36,50.001,33.762,50.001,31z"/>
-	<polygon opacity="0.3" points="22.034,27.578 22.056,27.578 23.058,26.576 23.034,26.576 23.034,20.093 22.034,21.094 
-		22.034,26.577 	"/>
-	<polygon fill="#FFFFFF" points="15.507,21.08 15.507,21.084 16.507,21.084 22.005,21.085 22.005,21.103 23.007,20.102 
-		23.007,20.085 16.507,20.084 16.507,20.08 	"/>
-	<polygon opacity="0.3" points="16.495,20.08 16.495,16.086 22.995,16.086 22.995,9.586 26.994,9.586 26.994,9.613 27.995,8.612 
-		27.995,8.584 26.993,8.584 22.995,8.584 21.993,8.584 21.993,9.585 21.993,15.084 16.495,15.084 15.495,15.084 15.495,16.085 
-		15.495,20.084 15.495,21.08 	"/>
-	<polygon fill="#FFFFFF" points="28.016,8.596 27.015,9.597 27.015,16.069 27.028,16.069 28.029,15.068 28.016,15.068 28.016,9.568 
-			"/>
-	<polygon fill="#FFFFFF" points="23.034,27.584 27.033,27.584 28.035,27.584 28.035,26.583 28.035,21.082 33.533,21.082 
-		34.535,21.082 34.535,20.081 34.535,16.082 34.535,15.088 33.534,16.088 33.534,20.082 27.034,20.082 27.034,26.582 23.058,26.582 
-		22.056,27.584 	"/>
-	<polygon opacity="0.3" points="33.524,16.091 34.525,15.09 34.525,15.084 33.523,15.084 28.039,15.084 27.038,16.085 
-		33.524,16.085 	"/>
-</g>
-</svg>
--- a/idlehomescreen/widgetmanager/gfx/qgn_menu_hswidget.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +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="88" height="88" viewBox="0 0 88 88">
-<rect fill="none" height="88" width="88"/>
-<linearGradient id="SVGID_1" gradientUnits="userSpaceOnUse" x1="22.43" y1="2.92" x2="66.99" y2="90.66">
-<stop stop-color="#A2C2DD" offset="0.1"/>
-<stop stop-color="#6C83BB" offset="0.71"/>
-<stop stop-color="#003D6D" offset="0.99"/>
-</linearGradient>
-<path d="M63.987,81.355c-0.18,0-0.364-0.024-0.543-0.076l-19.092-5.262c-1.259-0.341-2.284-1.793-2.328-3.306 l-0.002-0.068l-3.806,1.339c-0.217,0.066-0.435,0.104-0.656,0.104c-0.18,0-0.362-0.024-0.541-0.072l-19.458-5.141 c-1.282-0.332-2.325-1.772-2.374-3.276L14.623,47.38c-0.034-1.117,0.516-2.05,1.403-2.376L24.09,42l0.016-0.006l0.078-0.027 c0.071-0.023,0.145-0.042,0.221-0.056l0.186-0.027l0.186-0.008c0.056,0,0.11,0.002,0.167,0.008l0.083,0.006l0.023,0.002l0.075,0.012 l0.026,0.004l0.133,0.026l18.117,4.305l7.348-2.809l0.018-0.01l0.08-0.027c0.071-0.021,0.144-0.041,0.22-0.058l0.178-0.027 l0.021-0.002l0.054-0.002l0.114-0.004c0.053,0,0.107,0.002,0.163,0.006l0.095,0.01l0.132,0.019l0.025,0.006l0.088,0.019 l19.093,4.656l0.174,0.049c0.016,0.002,0.064,0.021,0.114,0.041c0.007,0.003,0.051,0.019,0.091,0.037l0.012,0.007l0.069,0.031 l0.01,0.004l0.066,0.033l0.011,0.008l0.109,0.06l0.013,0.009l0.105,0.065l0.143,0.102c0.029,0.021,0.077,0.06,0.121,0.097 c0.016,0.011,0.059,0.05,0.103,0.089l0.067,0.064l0.008,0.008l0.063,0.064c0.035,0.032,0.069,0.069,0.102,0.106 c0.043,0.048,0.087,0.102,0.134,0.157c0.067,0.087,0.128,0.174,0.188,0.264c0.149,0.228,0.276,0.473,0.378,0.733 c0.036,0.093,0.068,0.186,0.098,0.28c0.022,0.064,0.043,0.141,0.062,0.223l0.037,0.157l0.028,0.161l0.023,0.165l0.001,0.019 l0.018,0.188v0.004l0.004,0.109l0.721,24.573v0.01v0.081v0.104l-0.009,0.167l-0.008,0.097l-0.003,0.026l-0.023,0.17l-0.001,0.01 l-0.015,0.072l-0.023,0.104c-0.002,0.021-0.016,0.074-0.032,0.128c-0.003,0.019-0.019,0.068-0.037,0.122l-0.041,0.113l-0.052,0.126 l-0.075,0.15c-0.038,0.072-0.069,0.124-0.101,0.173c-0.049,0.072-0.096,0.135-0.144,0.194c-0.229,0.274-0.504,0.471-0.82,0.586 l-8.078,2.896C64.424,81.318,64.207,81.355,63.987,81.355L63.987,81.355z M58.611,43.634c-0.601,0-1.218-0.075-1.832-0.217 c-5.321-1.234-9.814-7.423-10.013-13.797c-0.141-4.509,1.896-8.199,5.223-9.546l-0.002-0.002l2.504-1.065l3.104-1.345l0.01,0.022 l2.047-0.873c0.127-0.054,0.246-0.097,0.369-0.141c0.265-0.095,0.553-0.175,0.854-0.241c0.219-0.047,0.438-0.083,0.665-0.114 c0.206-0.022,0.403-0.039,0.604-0.047c0.098-0.004,0.201-0.006,0.308-0.006l0.239,0.004c0.174,0.002,0.352,0.012,0.53,0.033 c0.157,0.014,0.32,0.035,0.485,0.064l0.334,0.054l0.012,0.004l0.07,0.017l0.102,0.022c0.118,0.025,0.264,0.06,0.414,0.097 c0.188,0.056,0.323,0.097,0.461,0.14c0.15,0.048,0.3,0.104,0.454,0.163c0.139,0.054,0.286,0.114,0.434,0.18 c0.141,0.062,0.288,0.128,0.435,0.204c0.136,0.066,0.283,0.145,0.431,0.229c0.137,0.075,0.282,0.161,0.424,0.248 c0.156,0.097,0.306,0.194,0.452,0.297c0.155,0.107,0.314,0.219,0.466,0.338c0.149,0.111,0.311,0.242,0.467,0.372 c0.171,0.145,0.339,0.295,0.504,0.45c0.189,0.173,0.369,0.357,0.551,0.545c0.219,0.227,0.429,0.462,0.634,0.706 c0.295,0.357,0.571,0.72,0.822,1.083c0.672,0.966,1.243,2.026,1.701,3.151c0.167,0.409,0.317,0.821,0.446,1.228 c0.097,0.301,0.186,0.606,0.264,0.918c0.068,0.258,0.13,0.52,0.184,0.784c0.05,0.239,0.093,0.47,0.13,0.708 c0.034,0.212,0.065,0.429,0.089,0.642c0.026,0.198,0.048,0.407,0.064,0.617c0.015,0.196,0.026,0.392,0.036,0.588l0.003,0.093 l0.004,0.099c0.004,0.122,0.005,0.25,0.005,0.377c0.003,0.182-0.001,0.363-0.005,0.542c-0.008,0.188-0.017,0.365-0.028,0.539 c-0.013,0.171-0.027,0.349-0.047,0.52c-0.018,0.167-0.039,0.339-0.063,0.506c-0.026,0.173-0.055,0.34-0.086,0.505 c-0.031,0.167-0.066,0.336-0.105,0.503c-0.041,0.18-0.085,0.349-0.134,0.516c-0.047,0.169-0.098,0.336-0.153,0.501 c-0.063,0.186-0.127,0.365-0.195,0.539c-0.074,0.188-0.151,0.372-0.233,0.549c-0.094,0.202-0.19,0.394-0.293,0.58 c-0.12,0.221-0.246,0.429-0.382,0.633c-0.169,0.262-0.359,0.52-0.56,0.757c-0.825,0.995-1.824,1.725-2.967,2.169l-7.654,3.1 C60.378,43.473,59.507,43.634,58.611,43.634L58.611,43.634z M34.343,41.839l-0.335-0.295l-6.913-6.135l-6.556,2.821l-1.133,0.487 l0.135-1.226l1.031-9.319l-5.811-8.063l-0.534-0.743l0.843-0.343l8.076-3.258l0.141-0.06l0.153,0.006l0.738,0.025l1.7-4.282 l0.11-0.281l0.276-0.122l8.075-3.37l0.681-0.285l0.265,0.689l3.722,9.641l7.714,3.151l0.97,0.396l-0.719,0.762l-5.304,5.608 l1.602,10.104l0.091,0.569l-0.539,0.21l-8.031,3.135c-0.025,0.01-0.052,0.022-0.08,0.031L34.343,41.839L34.343,41.839z" fill="url(#SVGID_1)"/>
-<linearGradient id="SVGID_2" gradientUnits="userSpaceOnUse" x1="30.21" y1="45.14" x2="40.63" y2="66.61">
-<stop stop-color="#43910A" offset="0"/>
-<stop stop-color="#17594C" offset="1"/>
-</linearGradient>
-<path d="M46.985,68.733l-0.567-18.834c-0.001-0.011-0.001-0.023-0.001-0.035 c-0.002-0.037-0.005-0.072-0.008-0.109c-0.002-0.037-0.007-0.076-0.011-0.114c-0.005-0.039-0.011-0.08-0.017-0.119 c-0.008-0.043-0.016-0.087-0.024-0.132c-0.01-0.048-0.022-0.098-0.035-0.145c-0.013-0.06-0.03-0.116-0.048-0.174 c-0.025-0.078-0.053-0.154-0.083-0.229c-0.086-0.213-0.191-0.415-0.315-0.599c-0.049-0.072-0.1-0.141-0.151-0.204 c-0.039-0.048-0.077-0.093-0.117-0.137c-0.033-0.035-0.066-0.07-0.102-0.104c-0.031-0.029-0.063-0.059-0.093-0.085 c-0.029-0.024-0.059-0.052-0.087-0.074c-0.027-0.022-0.056-0.044-0.085-0.064c-0.025-0.021-0.054-0.039-0.08-0.058 c-0.026-0.017-0.052-0.033-0.08-0.05c-0.025-0.017-0.053-0.03-0.078-0.043c-0.026-0.017-0.053-0.029-0.078-0.041 c-0.026-0.013-0.052-0.025-0.08-0.037c-0.026-0.011-0.052-0.021-0.079-0.031c-0.026-0.011-0.054-0.019-0.081-0.026 c-0.028-0.009-0.055-0.017-0.083-0.025c-0.008-0.002-0.016-0.004-0.024-0.006l-19.464-4.625c-0.021-0.004-0.042-0.008-0.063-0.012 c-0.029-0.006-0.059-0.011-0.087-0.015c-0.031-0.004-0.063-0.006-0.093-0.01c-0.033,0-0.065-0.002-0.098-0.002 c-0.035,0-0.07,0.002-0.103,0.004c-0.041,0.004-0.08,0.008-0.119,0.017c-0.051,0.008-0.101,0.021-0.15,0.037 c-0.021,0.006-0.042,0.012-0.063,0.021l-8.076,2.997c0.021-0.007,21.914,27.567,21.714,27.637l8.076-2.843 c0.2-0.072,0.375-0.196,0.52-0.365c0.035-0.042,0.068-0.085,0.1-0.133c0.024-0.035,0.047-0.072,0.067-0.109 c0.019-0.035,0.036-0.065,0.053-0.103c0.016-0.031,0.029-0.064,0.043-0.098c0.012-0.03,0.024-0.063,0.034-0.097 c0.011-0.031,0.021-0.06,0.029-0.091c0.008-0.029,0.017-0.062,0.023-0.093c0.008-0.029,0.014-0.06,0.02-0.091 c0.007-0.031,0.011-0.062,0.016-0.093c0.006-0.031,0.009-0.063,0.012-0.093c0.004-0.031,0.007-0.064,0.009-0.098 c0.001-0.03,0.004-0.062,0.006-0.097c0-0.033,0.001-0.065,0.001-0.101C46.986,68.78,46.985,68.758,46.985,68.733z" fill="url(#SVGID_2)"/>
-<linearGradient id="SVGID_3" gradientUnits="userSpaceOnUse" x1="12.64" y1="42.63" x2="43.4" y2="77.87">
-<stop stop-color="#DCE8E4" offset="0"/>
-<stop stop-color="#43910A" offset="1"/>
-</linearGradient>
-<path d="M36.509,50.295c0.978,0.239,1.801,1.416,1.838,2.625l0.566,18.676 c0.037,1.215-0.726,1.989-1.704,1.725L17.746,68.18c-0.979-0.253-1.801-1.421-1.839-2.605L15.34,47.356 c-0.037-1.18,0.725-1.952,1.704-1.723L36.509,50.295z" fill="url(#SVGID_3)"/>
-<linearGradient id="SVGID_4" gradientUnits="userSpaceOnUse" x1="56.73" y1="46.62" x2="69.4" y2="74.83">
-<stop stop-color="#BBE0FF" offset="0"/>
-<stop stop-color="#A2C2DD" offset="0.35"/>
-<stop stop-color="#6C83BB" offset="0.7"/>
-<stop stop-color="#003D6D" offset="1"/>
-</linearGradient>
-<path d="M73.378,75.945L72.66,51.374c-0.001-0.012-0.002-0.024-0.002-0.034 c-0.003-0.037-0.005-0.075-0.007-0.112c-0.004-0.037-0.006-0.076-0.012-0.115c-0.005-0.039-0.01-0.08-0.016-0.119 c-0.008-0.044-0.016-0.089-0.024-0.133c-0.01-0.049-0.021-0.099-0.032-0.146c-0.015-0.06-0.031-0.117-0.049-0.175 c-0.023-0.076-0.052-0.155-0.081-0.231c-0.083-0.215-0.188-0.415-0.31-0.601c-0.048-0.072-0.098-0.143-0.149-0.208 c-0.037-0.048-0.074-0.091-0.113-0.135c-0.033-0.037-0.065-0.072-0.101-0.107c-0.029-0.028-0.061-0.058-0.09-0.086 c-0.028-0.025-0.057-0.05-0.086-0.072c-0.026-0.022-0.054-0.046-0.081-0.064c-0.027-0.021-0.053-0.041-0.081-0.06 c-0.025-0.017-0.052-0.033-0.077-0.05c-0.026-0.015-0.052-0.03-0.077-0.045c-0.026-0.015-0.051-0.027-0.078-0.042 c-0.024-0.01-0.05-0.024-0.076-0.034c-0.025-0.013-0.052-0.023-0.078-0.033c-0.025-0.011-0.052-0.019-0.078-0.027 c-0.027-0.008-0.055-0.017-0.082-0.024c-0.007,0-0.016-0.004-0.023-0.004l-19.092-4.654c-0.021-0.006-0.042-0.01-0.063-0.014 c-0.028-0.006-0.058-0.01-0.085-0.015c-0.03-0.004-0.062-0.006-0.091-0.008c-0.032-0.002-0.064-0.004-0.097-0.004 c-0.033,0-0.067,0.002-0.102,0.004c-0.038,0.004-0.078,0.01-0.115,0.017c-0.05,0.01-0.099,0.023-0.146,0.037 c-0.022,0.006-0.042,0.015-0.062,0.023l-8.076,3.089c0.02-0.01,21.658,33.316,21.463,33.387l8.075-2.894 c0.196-0.072,0.368-0.196,0.51-0.365c0.034-0.041,0.067-0.087,0.098-0.132c0.023-0.037,0.046-0.074,0.066-0.111 c0.019-0.035,0.035-0.068,0.052-0.104c0.015-0.033,0.027-0.063,0.041-0.099c0.013-0.031,0.023-0.063,0.035-0.095 c0.01-0.031,0.019-0.063,0.027-0.094c0.008-0.03,0.016-0.062,0.024-0.093c0.006-0.03,0.013-0.062,0.019-0.093 c0.005-0.028,0.01-0.06,0.015-0.093c0.005-0.03,0.008-0.062,0.012-0.095c0.005-0.031,0.007-0.062,0.009-0.095 s0.004-0.064,0.004-0.097c0.002-0.035,0.002-0.068,0.002-0.104C73.38,75.99,73.38,75.968,73.378,75.945z" fill="url(#SVGID_4)"/>
-<linearGradient id="SVGID_5" gradientUnits="userSpaceOnUse" x1="40.88" y1="44.88" x2="68.29" y2="84.97">
-<stop stop-color="#FFFFFF" offset="0.15"/>
-<stop stop-color="#A2C2DD" offset="1"/>
-</linearGradient>
-<path d="M62.786,51.841c0.959,0.241,1.766,1.426,1.802,2.646l0.721,24.368 c0.036,1.227-0.712,2.002-1.672,1.733l-19.093-5.26c-0.959-0.262-1.766-1.442-1.802-2.639l-0.72-23.798 c-0.036-1.19,0.711-1.973,1.671-1.739L62.786,51.841z" fill="url(#SVGID_5)"/>
-<linearGradient id="SVGID_6" gradientUnits="userSpaceOnUse" x1="15.34" y1="18.21" x2="25.43" y2="18.21">
-<stop stop-color="#E6EEF4" offset="0"/>
-<stop stop-color="#2F8E9A" offset="0.44"/>
-<stop stop-color="#003D6D" offset="0.94"/>
-</linearGradient>
-<polygon fill="url(#SVGID_6)" points="25.43,16.5 23.414,16.43 15.339,19.69 23.255,19.994 24.069,19.664 "/>
-<linearGradient id="SVGID_7" gradientUnits="userSpaceOnUse" x1="29.92" y1="9.81" x2="35.32" y2="20.62">
-<stop stop-color="#E6EEF4" offset="0"/>
-<stop stop-color="#2F8E9A" offset="0.44"/>
-<stop stop-color="#003D6D" offset="0.94"/>
-</linearGradient>
-<path d="M38.449,18.279l-3.833-9.932l-8.075,3.368l3.833,9.862C33.074,20.479,35.749,19.387,38.449,18.279z" fill="url(#SVGID_7)"/>
-<linearGradient id="SVGID_8" gradientUnits="userSpaceOnUse" x1="42.72" y1="24.82" x2="34.38" y2="18.51">
-<stop stop-color="#E6EEF4" offset="0"/>
-<stop stop-color="#2F8E9A" offset="0.44"/>
-<stop stop-color="#003D6D" offset="0.94"/>
-</linearGradient>
-<path d="M46.449,21.543l-8-3.264l-8.075,3.297l8,3.269C38.396,24.823,44.091,22.563,46.449,21.543z" fill="url(#SVGID_8)"/>
-<linearGradient id="SVGID_9" gradientUnits="userSpaceOnUse" x1="42.18" y1="23.58" x2="28.57" y2="37.19">
-<stop stop-color="#E6EEF4" offset="0"/>
-<stop stop-color="#2F8E9A" offset="0.44"/>
-<stop stop-color="#003D6D" offset="0.94"/>
-</linearGradient>
-<polygon fill="url(#SVGID_9)" points="40.904,27.41 46.449,21.543 38.375,24.845 32.829,30.642 "/>
-<linearGradient id="SVGID_10" gradientUnits="userSpaceOnUse" x1="39.13" y1="39.57" x2="35.59" y2="26.33">
-<stop stop-color="#E6EEF4" offset="0"/>
-<stop stop-color="#2F8E9A" offset="0.44"/>
-<stop stop-color="#003D6D" offset="0.94"/>
-</linearGradient>
-<path d="M32.829,30.642l1.658,10.369l8.075-3.149L40.904,27.41C40.904,27.41,32.862,30.627,32.829,30.642z" fill="url(#SVGID_10)"/>
-<linearGradient id="SVGID_11" gradientUnits="userSpaceOnUse" x1="18.97" y1="15.63" x2="37.23" y2="43.12">
-<stop stop-color="#D6E6EC" offset="0"/>
-<stop stop-color="#298595" offset="1"/>
-</linearGradient>
-<polygon fill="url(#SVGID_11)" points="26.546,11.715 30.379,21.577 38.379,24.845 32.833,30.642 34.491,41.011 27.23,34.569 20.255,37.571 21.316,27.978 15.343,19.69 23.259,19.994 "/>
-<linearGradient id="SVGID_12" gradientUnits="userSpaceOnUse" x1="52.27" y1="29.75" x2="73.38" y2="29.75">
-<stop stop-color="#E6EEF4" offset="0"/>
-<stop stop-color="#9646AC" offset="0.44"/>
-<stop stop-color="#3D013F" offset="0.94"/>
-</linearGradient>
-<path d="M73.374,30.359c-0.002-0.06-0.004-0.122-0.007-0.182c-0.008-0.188-0.021-0.375-0.034-0.562 c-0.017-0.198-0.036-0.394-0.061-0.59c-0.024-0.205-0.054-0.409-0.085-0.613c-0.036-0.225-0.079-0.45-0.124-0.672 c-0.053-0.254-0.11-0.504-0.176-0.751c-0.075-0.297-0.16-0.592-0.254-0.883c-0.127-0.396-0.269-0.789-0.426-1.172l0,0 c-0.438-1.077-0.986-2.092-1.627-3.015c-0.249-0.357-0.511-0.702-0.783-1.028c-0.194-0.231-0.395-0.456-0.6-0.671 c-0.17-0.177-0.344-0.351-0.523-0.518c-0.156-0.145-0.317-0.289-0.478-0.425c-0.146-0.122-0.296-0.241-0.444-0.353 c-0.141-0.109-0.287-0.214-0.433-0.313c-0.137-0.095-0.275-0.188-0.42-0.274c-0.132-0.083-0.269-0.165-0.404-0.239 c-0.133-0.077-0.269-0.146-0.404-0.215c-0.134-0.068-0.267-0.13-0.402-0.188c-0.134-0.06-0.269-0.116-0.402-0.167 c-0.137-0.054-0.272-0.101-0.408-0.146c-0.139-0.043-0.275-0.084-0.415-0.126c-0.143-0.037-0.283-0.07-0.426-0.101 c-0.04-0.01-0.081-0.016-0.122-0.029c-0.105-0.019-0.215-0.035-0.32-0.054c-0.149-0.022-0.299-0.043-0.449-0.058 c-0.16-0.017-0.317-0.027-0.477-0.029c-0.167-0.006-0.334-0.006-0.501,0.002c-0.18,0.006-0.361,0.021-0.534,0.042 c-0.208,0.027-0.409,0.062-0.606,0.101c-0.261,0.058-0.521,0.13-0.769,0.219l-0.006,0.002c-0.108,0.037-0.216,0.078-0.322,0.122 l-7.664,3.263c0.107-0.045,0.217-0.087,0.326-0.122l5.287-2.292l-5.287,2.292c0.253-0.084,0.508-0.157,0.77-0.214 c0.201-0.042,0.401-0.074,0.605-0.099c0.178-0.019,7.981,21.822,6.952,22.212l7.663-3.104c1.03-0.398,1.936-1.067,2.678-1.958 c0.181-0.217,0.352-0.45,0.513-0.696c0.123-0.186,0.239-0.379,0.349-0.582c0.096-0.171,0.185-0.351,0.271-0.533 c0.076-0.167,0.149-0.338,0.218-0.512c0.065-0.163,0.125-0.33,0.183-0.501c0.052-0.155,0.099-0.312,0.145-0.472 c0.044-0.159,0.086-0.32,0.124-0.481c0.036-0.155,0.069-0.314,0.1-0.475c0.03-0.157,0.056-0.316,0.08-0.479 c0.024-0.157,0.044-0.32,0.062-0.48c0.018-0.163,0.032-0.326,0.043-0.493c0.013-0.165,0.021-0.334,0.025-0.501 c0.006-0.173,0.008-0.349,0.008-0.526C73.379,30.601,73.378,30.481,73.374,30.359z" fill="url(#SVGID_12)"/>
-<linearGradient id="SVGID_13" gradientUnits="userSpaceOnUse" x1="47.62" y1="18.01" x2="65.31" y2="44.62">
-<stop stop-color="#DEDEED" offset="0"/>
-<stop stop-color="#9646AC" offset="1"/>
-</linearGradient>
-<path d="M56.257,20.407c5.032,1.021,9.268,6.917,9.457,13.153c0.188,6.243-3.738,10.339-8.771,9.16 c-5.035-1.168-9.27-7.037-9.46-13.122C47.294,23.521,51.222,19.399,56.257,20.407z" fill="url(#SVGID_13)"/>
-</svg>
\ No newline at end of file
--- a/idlehomescreen/widgetmanager/gfx/qgn_menu_ovistore.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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="88" height="88" viewBox="0 0 88 88">
-<rect fill="none" height="88" width="88"/>
-<path d="M72.788,26.819c-0.062-0.962-0.861-1.714-1.828-1.714h-9.374l-3.919-7.69 c-0.059-0.172-0.094-0.207-0.19-0.452c-0.791-1.796-4.45-7.967-13.053-8.264c-0.083-0.013-0.182-0.022-0.299-0.024 c-0.05,0-0.091,0.001-0.125,0.005c-0.034-0.003-0.075-0.005-0.123-0.005c-0.124,0.001-0.227,0.013-0.313,0.026 c-4.807,0.133-8.208,2.236-10.261,4.326c-1.041,1.052-1.768,2.094-2.241,2.909c-0.238,0.407-0.417,0.755-0.536,1.027 c-0.099,0.24-0.134,0.28-0.191,0.448l-3.925,7.694h-9.372c-0.965,0-1.76,0.748-1.825,1.714l-3.253,50.56 c-0.034,0.496,0.147,1.002,0.49,1.369c0.344,0.366,0.834,0.577,1.336,0.577h60.432c0.507,0,0.984-0.209,1.332-0.577 c0.351-0.371,0.525-0.864,0.493-1.369L72.788,26.819z M34.615,25.105l2.443-4.796l0.067-0.155c0.042-0.09-0.003,0.007,0.061-0.129 c0.463-0.789,1.906-3.92,6.833-4.011c4.887,0.09,6.328,3.222,6.819,4.065c0.016,0.037,0.016,0.033,0.016,0.033 c0-0.004,0-0.008,0.02,0.041l0.068,0.155l2.439,4.796H34.615z" fill-opacity="0.2" />
-<path d="M70.959,26.939H60.468l-4.505-8.836c-0.036-0.209-2.893-7.362-11.749-7.577 c-0.031-0.001-0.058-0.018-0.09-0.018c-0.043,0-0.082,0.007-0.125,0.007c-0.042,0-0.082-0.007-0.125-0.007 c-0.032,0-0.057,0.016-0.089,0.018c-8.856,0.214-11.71,7.367-11.75,7.577l-4.503,8.836H17.04l-3.254,50.558h60.429L70.959,26.939z M35.426,19.479c0.036-0.087,0.043-0.105,0.104-0.236c0.49-0.956,2.593-4.998,8.469-5.059c5.878,0.062,7.979,4.103,8.469,5.059 c0.063,0.131,0.071,0.149,0.104,0.236l3.799,7.459H31.63L35.426,19.479z" fill-opacity="0.5" />
-<linearGradient id="SVGID_1" gradientUnits="userSpaceOnUse" x1="44" y1="22.03" x2="44" y2="75.13">
-<stop stop-color="#36A1DB" offset="0"/>
-<stop stop-color="#329CD8" offset="0.25"/>
-<stop stop-color="#258FCE" offset="0.53"/>
-<stop stop-color="#1179BE" offset="0.81"/>
-<stop stop-color="#0067B0" offset="1"/>
-</linearGradient>
-<polygon fill="url(#SVGID_1)" points="17.04,25.108 13.786,75.665 74.214,75.665 70.959,25.108 "/>
-<polygon fill="#FFFFFF" fill-opacity="0.15" points="71.803,34.501 71.2,25.108 17.278,25.108 14.987,60.72 " />
-<polygon fill="#FFFFFF" fill-opacity="0.3" points="15.745,73.831 18.763,26.937 69.246,26.937 69.25,26.953 70.881,25.108 17.046,25.108 13.792,75.665 13.825,75.665 " />
-<circle cx="25.24" cy="33.628" fill="#333333" r="2.67"/>
-<path d="M65.45,33.628c0,1.476-1.194,2.67-2.668,2.67c-1.478,0-2.672-1.194-2.672-2.67 c0-1.475,1.194-2.669,2.672-2.669C64.255,30.959,65.45,32.154,65.45,33.628z" fill="#333333"/>
-<path d="M32.783,63.008c-5.651,0-7.593-3.881-7.593-8.81c0-4.871,2.636-8.291,7.65-8.291 c5.19,0,7.565,3.449,7.565,8.406C40.405,59.503,37.998,63.008,32.783,63.008z M32.783,48.577c-2.579,0-2.782,3.128-2.782,5.537 c0,2.46,0.118,6.229,2.782,6.229s2.812-3.363,2.812-6.229C35.595,51.877,35.248,48.577,32.783,48.577z M39.396,46.139h4.843 l2.958,12.441l3.129-12.441h4.089l-4.374,14.377c-0.486,1.48-1.206,2.492-3.24,2.492c-2.035,0-2.79-1.012-3.24-2.492L39.396,46.139z M58.641,44.398c-1.479,0-2.55-0.754-2.55-2.146c0-1.392,1.041-2.146,2.55-2.146c1.421,0,2.547,0.783,2.547,2.146 C61.188,43.644,60.119,44.398,58.641,44.398z M56.295,60.883c0,0.419,0,1.198,0.654,1.663c0.343,0.24,0.884,0.462,1.648,0.462 c0.795,0,1.313-0.218,1.66-0.462c0.654-0.465,0.654-1.244,0.654-1.663V46.139h-4.57c0,0-0.161,0.006-0.312,0.006 c-0.446,0-0.813,0.01-1.069,0.357c-0.121,0.162-0.286,0.455-0.286,0.974c0,0.547,0.165,0.814,0.286,0.977 c0.257,0.347,0.623,0.35,1.069,0.35c0.15,0,0.265,0,0.265,0V60.883z" fill="#FFFFFF"/>
-<linearGradient id="SVGID_2" gradientUnits="userSpaceOnUse" x1="44" y1="14.09" x2="44" y2="62.39">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#B2B2C9" offset="1"/>
-</linearGradient>
-<path d="M64.475,32.969l-8.512-16.698c-0.036-0.209-2.893-7.362-11.749-7.577 c-0.031-0.001-0.058-0.018-0.09-0.018c-0.043,0-0.082,0.008-0.125,0.008c-0.042,0-0.082-0.008-0.125-0.008 c-0.032,0-0.057,0.017-0.089,0.018c-8.856,0.215-11.71,7.368-11.75,7.577l-8.51,16.698c-0.406,0.924,0.016,2.004,0.946,2.411 c0.239,0.104,0.488,0.153,0.733,0.153c0.705,0,1.377-0.409,1.677-1.096l8.544-16.788c0.036-0.088,0.043-0.106,0.104-0.236 c0.49-0.957,2.593-4.999,8.469-5.059c5.878,0.061,7.979,4.103,8.469,5.059c0.063,0.13,0.071,0.148,0.104,0.236l8.545,16.788 c0.302,0.688,0.973,1.096,1.676,1.096c0.247,0,0.496-0.05,0.735-0.153C64.459,34.974,64.878,33.894,64.475,32.969z" fill="url(#SVGID_2)"/>
-</svg>
\ No newline at end of file
--- a/idlehomescreen/widgetmanager/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-* Widget manager build information
-*
-*/
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/widgetmanager.iby               CORE_APP_LAYER_IBY_EXPORT_PATH(widgetmanager.iby)
-../rom/widgetmanager_resources.iby     LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(widgetmanager_resources.iby)
-
-../sis/widgetmanager_stub.sis          /epoc32/data/z/system/install/widgetmanager_stub.sis
-
-// cenrep  
-../conf/widgetmanager.confml          APP_LAYER_CONFML(widgetmanager.confml)
-../conf/widgetmanager_20026F53.crml   APP_LAYER_CRML(widgetmanager_20026F53.crml)
-
-../loc/widgetmanagerview.loc         APP_LAYER_LOC_EXPORT_PATH(widgetmanagerview.loc)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE widgetmanager.mif
-OPTION HEADERFILE widgetmanager.mbg
-OPTION SOURCEDIR ../gfx
-OPTION SOURCEFILE wmicons.txt
-END
-
-PRJ_MMPFILES
-
-widgetmanager.mmp
-
--- a/idlehomescreen/widgetmanager/group/widgetmanager.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +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:
-* Widget manager project definition file
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET widgetmanager.dll
-TARGETTYPE PLUGIN
-
-// ECom Dll recognition UID followed by the unique UID for this dll
-UID 0x10009D8D 0x20026F53
-
-VENDORID    VID_DEFAULT
-SECUREID    0x20026F53
-
-// SIS installation + IAD support
-VERSION 1.0
-paged
-
-LANGUAGE_IDS
-
-CAPABILITY CAP_ECOM_PLUGIN
-
-SOURCEPATH      ../src
-SOURCE  wmpluginproxy.cpp
-SOURCE  wmplugin.cpp
-SOURCE  wmresourceloader.cpp
-SOURCE  wmmaincontainer.cpp
-SOURCE  wmmaincontainerview.cpp
-SOURCE  wmwidgetdata.cpp
-SOURCE  wmlistbox.cpp
-SOURCE  wmimageconverter.cpp
-SOURCE  wmpersistentwidgetorder.cpp
-SOURCE  wmeffectmanager.cpp
-SOURCE  wmdetailsdlg.cpp
-SOURCE	wmportalbutton.cpp
-SOURCE  wmwidgetloaderao.cpp
-SOURCE  wmconfiguration.cpp
-SOURCE  wminstaller.cpp
-
-SOURCEPATH		../data
-START RESOURCE  20026F53.rss
-TARGETPATH		ECOM_RESOURCE_DIR
-TARGET          widgetmanager.rsc
-END //RESOURCE
-
-SOURCEPATH		../data
-START RESOURCE	widgetmanagerview.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END //RESOURCE
-
-USERINCLUDE .
-USERINCLUDE ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
-
-
-LIBRARY	    euser.lib
-LIBRARY     cone.lib
-LIBRARY     avkon.lib
-LIBRARY     eikcore.lib
-LIBRARY     estor.lib
-LIBRARY     eikcoctl.lib
-LIBRARY     eikctl.lib
-LIBRARY     eikdlg.lib
-
-LIBRARY     efsrv.lib // RFs
-LIBRARY     bafl.lib // BaflUtils
-LIBRARY     apgrfx.lib // RApaLsSession
-LIBRARY     commonengine.lib // StringLoader
-
-LIBRARY     aknicon.lib // AknIconUtility
-LIBRARY     imageconversion.lib // CImageDecoder
-LIBRARY     bitmaptransforms.lib // CBitmapScaler
-LIBRARY     fbscli.lib // CFbsBitmap
-LIBRARY     bitgdi.lib // CFbsBitmapDevice
-LIBRARY     gdi.lib // CFont
-LIBRARY     egul.lib // TextUtils
-LIBRARY     ecom.lib // ECom fw
-LIBRARY     aknskins.lib // AknsDrawUtils
-LIBRARY     aknskinsrv.lib // AknsDrawUtils
-LIBRARY     aknswallpaperutils.lib // AknsDrawUtils
-LIBRARY     hscontentcontrol.lib // CHsContentControlUi
-LIBRARY     apparc.lib // CApaCommandLine
-LIBRARY     aknlayout.lib // avkon layout
-LIBRARY     aknlayout2scalable.lib // scalable avkon layout
-LIBRARY     swinstcli.lib // widget uninstall
-LIBRARY     hscontentinfo.lib // CHsContentInfo
-LIBRARY     platformenv.lib  // DriveInfo::GetDefaultDrive
-LIBRARY	    svgengine.lib // CSvgEngineInterfaceImpl
-LIBRARY     gfxtrans.lib // effect manager
-LIBRARY     ws32.lib //WindowSession
-LIBRARY     widgetregistryclient.lib // WidgetRegistryClient
-LIBRARY     hlplch.lib // HlpLauncher
-LIBRARY     sysutil.lib //  diskspace
-LIBRARY     featmgr.lib // FeatureManager
-LIBRARY     etext.lib 
-LIBRARY     centralrepository.lib
-LIBRARY     bmpanim.lib // AknBitmap animation
-// End of file
--- a/idlehomescreen/widgetmanager/group/wmicons.txt	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
--c32,8 qgn_menu_hswidget
--c32,8 add_widget_button
--c32,8 qgn_menu_ovistore.svg
--- a/idlehomescreen/widgetmanager/inc/widgetmanager.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:
-* Declares resource ids for widgetmanager application.
-*
-*/
-
-
-/** WidgetManger viev uid */
-enum TWidgetManagerViewUids
-	{
-	EWmMainContainerViewId = 0x20026F53
-	};
-
-/** MainContainer View Commands */
-enum TWmMainContainerViewCommands
-    {
-    EWmMainContainerViewAddMenuItemCommand = 0x6000,
-    EWmMainContainerViewLaunchMenuItemCommand,
-    EWmMainContainerViewSearchMenuItemCommand,
-    EWmMainContainerViewSortAlphaMenuItemCommand,
-    EWmMainContainerViewUninstallMenuItemCommand,
-    EWmMainContainerViewHelpMenuItemCommand,
-    EWmMainContainerViewOpenPortalMenuItemCommand,
-    EWmMainContainerViewBackMenuItemCommand,
-    EWmMainContainerViewWiddetDetailsMenuItemCommand
-    };
-
-enum TWmMenuCmdIDs
-    {
-    ECbaAddToHs = 1
-    };
-
--- a/idlehomescreen/widgetmanager/inc/wmcommon.h	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-*
-*/
-
-
-#ifndef WMCOMMON_H
-#define WMCOMMON_H
-
-//includes
-#include <e32base.h>
-
-// widgetmanager UID
-const TUid KUidWidgetManager = { 0x200255FF };
-
-// HsContentInfo types
-_LIT8( KContentWidget, "widget" );
-_LIT8( KContentTemplate, "template" );
-
-// UI related const
-const TInt KWidgetHeight = 90;
-
-// UI component ID's
-enum TWmUiControlIds
-    {
-    EPortalOne = 0x1,
-    EPortalTwo,
-    ELastPortal,
-    EWidgetsList,
-    EFindBox,
-    EMaximumWidgets = 0xC8
-    };
-
-#endif //WMCOMMON_H
--- a/idlehomescreen/widgetmanager/inc/wmconfiguration.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +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:
-* WidgetManager configuration class
-*
-*/
-
-#ifndef WMCONFIGURATION_H
-#define WMCONFIGURATION_H
-
-// INCLUDE FILES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CRepository;
-class CWmResourceLoader;
-
-/**
- * Configuration class for Widget Manager
- * 
- * @class CWmConfiguration
- */
-NONSHARABLE_CLASS( CWmConfiguration ) : public CBase
-	{
-	
-public: // constructors and destructor
-	
-    /** Two-phased constructor. */
-	static CWmConfiguration* NewL(
-	        CWmResourceLoader& aResourceLoader );
-
-	/** Destructor */
-	virtual ~CWmConfiguration();
-	
-private:
-    /** constructor */
-    CWmConfiguration(
-            CWmResourceLoader& aResourceLoader );
-    
-    /** 2nd phase constructor */
-    void ConstructL();
-
-public: // API
-
-    /**
-     * portal button methods. This - along with the parameter -
-     * represents the action that the portal button is configured
-     * to do when pressed. The portal button itself should contain
-     * the execution code itself.
-     */
-    enum TMethod
-        {
-        ENone = 0, // no method
-        EHttp, // open browser to a certain page
-        EWidget, // open given widget with params
-        EApplication // launch an application
-        };
-
-    /**
-     * Number of portal buttons (1 or more)
-     */
-    TInt PortalButtonCount();
-
-    /**
-     * Label text to be displayed on a portal button
-     * @param aIndex index of the button, starting at 0
-     */
-    const TDesC& PortalButtonText( TInt aIndex );
-    
-    /**
-     * Icon to be displayed on a portal button
-     * Logo syntax follows the widget icon syntax in CWmImageConverter
-     * @param aIndex index of the button, starting at 0
-     */
-    const TDesC& PortalButtonIcon( TInt aIndex );
-    
-    /**
-     * Portal button action method.
-     * Defines what happens when the portal button is pressed.
-     * @param aIndex index of the button, starting at 0
-     */
-    TMethod PortalButtonPrimaryMethod( TInt aIndex );
-    
-    /**
-     * Service name for the primary method.
-     * For EHttp this is unused.
-     * For EWidget, this is the widget Bundle ID.
-     * For EApplication, this is the application name.
-     * @param aIndex index of the button, starting at 0
-     */
-    const TDesC& PortalButtonPrimaryService( TInt aIndex );
-    
-    /**
-     * parameters related to the method.
-     * For EHttp this is the HTTP address
-     * For EWidget the parameters passed to the widget
-     * For EApplication the params passed to the app.
-     * @param aIndex index of the button, starting at 0
-     */
-    const TDesC& PortalButtonPrimaryParams( TInt aIndex );
-    
-    /**
-     * Secondary method, which is excuted if
-     * primary method fails.
-     * Works like Primary method.
-     * @param aIndex index of the button, starting at 0
-     */
-    TMethod PortalButtonSecondaryMethod( TInt aIndex );
-    
-    /**
-     * Service name for the primary method.
-     * For EHttp this is unused.
-     * For EWidget, this is the widget Bundle ID.
-     * For EApplication, this is the application name.
-     * @param aIndex index of the button, starting at 0
-     */
-    const TDesC& PortalButtonSecondaryService( TInt aIndex );
-    
-    /**
-     * Parameters for Secondary method. Like Primary method
-     * Works like Primary params.
-     * @param aIndex index of the button, starting at 0
-     */
-    const TDesC& PortalButtonSecondaryParams( TInt aIndex );
-    
-private: // New functions
-    
-    void LoadConfigurationL();
-    TInt FindCorrectLanguageId();
-    HBufC* ReadParameterL( TInt aKey );
-    HBufC* ReadLocalisedParameterL( TInt aOffset );
-    void IndexConversion( TInt& aIndex );
-
-private:
-
-    /**
-     * the central repository
-     */
-    CRepository*            iRepository;
-
-    /**
-     * the resource loader
-     */
-    CWmResourceLoader&      iResourceLoader;
-
-    /**
-     * The index in cenrep that matches current
-     * system language
-     */
-    TInt                    iLanguageIndex;
-
-    /**
-     * OVI store button text
-     */
-    HBufC*                  iOviButtonTitle;
-    
-    /**
-     * OVI store button icon
-     */
-    HBufC*                  iOviButtonIcon;
-    
-    /**
-     * OVI store button browser Url
-     * (browser is used if OVI client is not working)
-     */
-    HBufC*                  iOviButtonUrl;
-    
-    /**
-     * OVI store button widget client param
-     */
-    HBufC*                  iOviStoreClientParam;
-    
-    /**
-     * OVI store button widget bundle ID
-     */
-    HBufC*                  iOviStoreBundleId;
-    
-    /**
-     * OPERATOR button text
-     */
-    HBufC*                  iOperatorButtonTitle;
-    
-    /**
-     * OPERATOR store icon
-     */
-    HBufC*                  iOperatorButtonIcon;
-    
-    /**
-     * OPERATOR store button browser Url
-     */
-    HBufC*                  iOperatorButtonUrl;
-    
-    };
-
-#endif // WMCONFIGURATION_H
-
-// End of File
--- a/idlehomescreen/widgetmanager/inc/wmcrkeys.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +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 __WMCRKEYS_H__
-#define __WMCRKEYS_H__
-
-// WidgetManager CR key
-const TUint32 KCrWidgetManagerm = 0x20026F53;
-
-
-
-// ************************************************************
-// LOCALISED parameters start here
-// Key Id's from 0x1 to 0x28 are reserved for languages.
-// LangId_0                 0x1
-// OviStoreBrowserUrl_0     0x2
-// OperatorUrl_0            0x3
-// OperatorButtonText_0     0x4
-// ...
-// LangId_1                 0x5
-// ...
-// LangId_9                 0x25
-// OviStoreBrowserUrl_9     0x26
-// OperatorUrl_9            0x27
-// OperatorButtonText_9     0x28 
-// ************************************************************
-
-/** localised set #0, language ID */
-const TUint32 KLangId0 = 0x1;
-/** localised set #0, Ovi store browser URL */
-const TUint32 KOviStoreBrowserUrl0 = 0x2;
-/** localised set #0, Operator button URL */
-const TUint32 KOperatorButtonUrl0 = 0x3;
-/** localised set #0, Operator button text */
-const TUint32 KOperatorButtonText0 = 0x4;
-
-/** localised set #1, language ID */
-const TUint32 KLangId1 = 0x5;
-
-/** localised set #9, language ID */
-const TUint32 KLangId9 = 0x25;
-
-
-// ************************************************************
-// NON-LOCALISED parameters
-// ************************************************************
-
-/** Key to Ovi Store Client param */
-const TUint32 KOviStoreClientParam = 0x29;
-
-/** Key to Operator button icon */
-const TUint32 KOperatorButtonIcon = 0x2A;
-
-/** Key to Ovi Store client BundleId */
-const TUint32 KOviStoreBundleId = 0x2B;
-
-
-
-#endif // __WMCRKEYS_H__
--- a/idlehomescreen/widgetmanager/inc/wmdetailsdlg.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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:
-* Declares widget details dialog for WidgetManager
-*
-*/
-
-#ifndef ___WMDETAILSDLG_H__
-#define ___WMDETAILSDLG_H__
-
-// INCLUDES
-#include <e32base.h>
-#include <AknDialog.h>
-
-// FORWARD DECLARATIONS
-class CAknMarqueeControl;
-class CEikRichTextEditor;
-class CAknsBasicBackgroundControlContext;
-
-// CLASS DECLARATIONS
-/**
- * CWmDetailsDlg
- */
-NONSHARABLE_CLASS( CWmDetailsDlg ): public CAknDialog
-	{
-public:
-    
-    /**
-     * Two-phased constructor.
-     */
-	static CWmDetailsDlg* NewL(
-	        const TDesC& aName,
-	        const TDesC& aDescription,
-	        TBool  aCanBeAdded,
-            const CFbsBitmap* aLogoBmp,
-            const CFbsBitmap* aLogoMask );
-
-    /** Destructor. */
-    ~CWmDetailsDlg();
-
-public: // New functions
-    /** From CAknDialog Initializes the dialog and calls
-        CAknDialog's ExecuteLD() */
-    TInt ExecuteLD();
-
-private: // Functions from base classes
-	
-	/** From CEikDialog Initializes dialog before layout*/
-	void PreLayoutDynInitL();
-	
-	/** From CEikDialog Handles button events and looks 
-		if the dialog can be closed */
-	TBool OkToExitL(TInt aButtonId);
-	
-	/** From CCoeControl Handles key events */
-	TKeyResponse OfferKeyEventL( 
-	        const TKeyEvent& aKeyEvent,TEventCode aType );
-
-	/** From CEikDialog Called by framework when dialog is activated */
-	void ActivateL();
-
-	/** From CAknDialog called to provide access to the contorols */	
-	TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-	
-	/** From CAknDialog */
-    void SetSizeAndPosition( const TSize& aSize );
-
-	/** From CCoeControl */
-	void SizeChanged();
-    
-    /** From CCoeControl */
-    TInt CountComponentControls() const;
-    CCoeControl* ComponentControl(TInt aIndex) const;
-    void Draw( const TRect& aRect ) const;
-    void FocusChanged( TDrawNow aDrawNow );
-
-private: // new functions
-    
-    /** Insert and format content */
-    void InsertAndFormatContentL();
-    
-    /** Redraw call back for marque control */
-    static TInt RedrawCallback( TAny* aPtr );
-    
-    /** start marque control */
-    void StartMarquee();
-    
-    /** stop marque control */
-    void StopMarquee();
-
-private:
-
-  	 /** Constructor for performing 1st stage construction */
-    CWmDetailsDlg( TBool  aCanBeAdded );
-
-    /** 2nd phase constructor */
-    void ConstructL(
-	        const TDesC& aName,
-	        const TDesC& aDescription,
-            const CFbsBitmap* aLogoBmp,
-            const CFbsBitmap* aLogoMask );
-
-private:
-	
-	/**
-     * Background context (not owned)
-     */
-	CAknsBasicBackgroundControlContext* iBgContext;
-	
-	/**
-     * Richtext editor
-     */
-	CEikRichTextEditor* iRtEditor;
-
-    /**
-     * Marquee control
-     */
-	CAknMarqueeControl* iMarquee;
-
-	/** 
-     * Name of widget 
-     */
-    HBufC*              iName;
-
-	/** 
-     * Description of widget 
-     */
-    HBufC*              iDescription;
-
-	/** 
-     * Logo image
-     */
-    CFbsBitmap*         iLogoBmp;
-
-	/** 
-     * Logo mask
-     */
-    CFbsBitmap*         iLogoMask;
-
-    /** 
-     * ETrue if widget can be added to HS 
-     */
-    TBool               iCanBeAdded;
-
-    /** 
-     * ETrue if widget name needs to be scrolled. 
-     */
-    TBool               iNeedToScroll;
-	};
-
-#endif ___WMDETAILSDLG_H__
-
-// End of File
--- a/idlehomescreen/widgetmanager/inc/wmeffectmanager.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +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:
-* CImageConverter declaration
-*
-*/
-
-#ifndef WMEFFECTMANAGER_H
-#define WMEFFECTMANAGER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-class CCoeEnv;
-// CONSTANTS
-// Effects
-const TInt KAppStartCommonDefaultStyle = 3;
-const TInt KAppExitCommonDefaultStyle = 5;
-
-/**
- *  Struct which holds needed info of effect.
- */
-NONSHARABLE_STRUCT( TWmEffect )
-    {
-    TInt iState;
-    TInt iType;
-    TInt iId;
-    };
-
-/**
- *  Effect manager.
- *  Handles starting and ending effects.
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CWmEffectManager ) : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @return new instance of CWmEffectManager.
-     */
-    static CWmEffectManager* NewL( CCoeEnv& aCoeEnv );
-
-    /**
-     * Destructor.
-     */
-    ~CWmEffectManager();
-    
-public:
-    /**
-     * Begin handling of fullscreen effect.
-     * @param aId effect id
-     */
-    void BeginFullscreenEffectL( TInt aId );
-    
-    /**
-     * When UiRendered is called effect is ended and will be drawn
-     */
-    void UiRendered();
-    
-private:    
-    /**
-     * C++ default constructor.
-     */
-    CWmEffectManager( CCoeEnv& aCoeEnv );
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-    
-private:
-    /**
-     * Starts fullscreen effect.
-     * @param aEffect effect data
-     */
-    void DoBeginFullscreenEffect( TWmEffect& aEffect );
-    
-    /**
-     * Removes and destroys effect from effect list.
-     * @param aEffect effect data
-     */
-    void RemoveEffect( TWmEffect* aEffect );
-    
-private: // data
-    /**
-     * List of started effects.
-     */
-    RPointerArray<TWmEffect> iEffects;
-    
-    /**
-     * COE env
-     */
-    CCoeEnv& iCoeEnv;
-    };
-
-#endif // WMEFFECTMANAGER_H
-
-// End of file
--- a/idlehomescreen/widgetmanager/inc/wmimageconverter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +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:
-* CWmImageConverter declaration
-*
-*/
-
-#ifndef WMIMAGECONVERTER_H
-#define WMIMAGECONVERTER_H
-
-//includes
-#include <e32std.h>
-#include <e32base.h>
-#include <f32file.h>
-#include <AknIconUtils.h> // MAknIconFileProvider
-
-// Forward declarations
-class CFbsBitmap;
-class CBitmapScaler;
-class CImageDecoder;
-class TAknsItemID;
-class CWmUnitTest;
-class MSvgError;
-
-// Class declaration
-/**
- *  MConverterObserver
- *  To notify when image is converted
- */
-NONSHARABLE_CLASS( MConverterObserver )
-    {
-    public:
-        virtual void NotifyCompletion( TInt aError ) = 0;
-    };
-
-// Class declaration
-/**
- * CWmImageConverter
- * Image converter
- */
-NONSHARABLE_CLASS ( CWmImageConverter ) : public CActive,
-        public MAknIconFileProvider
-    {
-    /** states for this converter */
-    enum TState 
-        {
-        EIdle = 0,
-        EDecoding,
-        EScalingBitmap,
-        EScalingMask,
-        EFailed
-        };
-
-public: //contructors/destructors
-    /**
-     * Two-phased constructor.
-     * @param aObserver observer
-     */
-    static CWmImageConverter* NewL( MConverterObserver* aObserver );    
-    
-    /** Destructor */
-    ~CWmImageConverter();
-        
-public: // interface methods
-    
-    /**
-     * Parses icon string and prepares logo image.
-     * 
-     * @param aWidth wanted widht
-     * @param aHeight wanted height
-     * @param aIconStr str containing logo icon
-     * Supported values:
-     * - skin(<major id> <minor id>):mif(<path> <bitmapid> <maskid>)
-     * - mif(<path> <bitmapid> <maskid>)
-     * - uid(<application uid>)
-     * - <file name>.<png/svg>
-     * 
-     * @return Error code 
-     */
-    TInt HandleIconString( TInt aWidth, TInt aHeight, const TDesC& aIconStr );
-
-    /**
-     * Returns converted bitmap. Caller takes ownership
-     * 
-     * @return CFbsBitmap
-     */
-    CFbsBitmap* Bitmap();
-    
-    /**
-     * Returns converted mask. Caller takes ownership
-     * 
-     * @return CFbsBitmap
-     */
-    CFbsBitmap* Mask();
-
-    /**
-     * sets the size for decoding
-     * @param aSize the logo size
-     */
-    void SetLogoSize( const TSize& aSize );
-
-    /** supported image conversion methods */
-    enum TConversionMethod
-        {
-        EUnrecognized, // we could not recognise the icon string
-        EUidIcon, // App.UID-coded icon
-        ESvgIcon, // Icon from SVG-file
-        ESkinIcon, // Icon from SKIN id
-        EMifIcon, // Icon from MIF file, known graphic index
-        ESkinAndMifIcon, // Icon from SKIN and MIF combination 
-        EImageIcon, // Icon from image file (jpeg or png)
-        };
-
-    /**
-     * The type of currently converted image.
-     * This method can be used to check if correct conversion was used.
-     * @return conversion method used for current image
-     */
-    TConversionMethod ConversionMethod();
-
-    /**
-     * Image convertion status
-     * 
-     * @return ETrue if processing image, false otherwise.
-     */
-    TBool IsProcessing();
-
-protected: // implementation of CActive
-    /**
-     * Implements cancellation of an outstanding request.
-     * 
-     * @see CActive::DoCancel
-     */
-    void DoCancel();
-    
-    /**
-     * Handles an active object's request completion event.
-     * 
-     * @see CActive::RunL
-     */
-    void RunL();
-    
-    /**
-     * RunError
-     * 
-     * @see CActive::RunError
-     */
-    TInt RunError(TInt aError);
-        
-private:
-    CWmImageConverter(); 
-    void ConstructL( MConverterObserver* aObserver );
-    void CheckSvgErrorL( MSvgError* aError );
-    void HandleIconStringL( TInt aWidth, TInt aHeight, 
-            const TDesC& aIconStr );
-
-private:
-    void ScaleBitmap( TInt aWidth, TInt aHeight );
-    void ScaleMask( TInt aWidth, TInt aHeight );
-    void CreateIconFromUidL( const TUid& aUid );
-    void CreateIconFromSvgL( const TDesC& aFileName );
-    void CreateIconFromOtherL( const TDesC& aFileName );
-    void CreateSkinOrMifIconL( 
-                    const TAknsItemID& aItemId, TInt aBitmapId, 
-                    TInt aMaskId, const TDesC& aFileName );
-    // resolvers
-    TBool ResolveUid( const TDesC& aPath, TUid& aUid );
-    TBool ResolveSkinId( const TDesC& aPath, TAknsItemID& aItemId );
-    TBool ResolveMifId( const TDesC& aPath, TInt& aBitmapId, 
-                        TInt& aMaskId, TDes& aFileName );
-    TBool ResolveSkinIdAndMifId( const TDesC& aPath, TAknsItemID& aItemId,
-                        TInt& aBitmapId, TInt& aMaskId, TDes& aFileName );
-    TBool EndsWith( const TDesC& aString, const TDesC& aPattern );
-
-    // helpers
-    TInt ParseNextUint( TLex& aLex, TUint& aValue );
-    
-private: // from MAknIconFileProvider
-
-    /** Returns an open file handle to the icon file. */
-	void RetrieveIconFileHandleL( RFile& aFile, const TIconFileType aType );
-    
-    /** Stops using this MAknIconFileProvider instance */
-    void Finished();
-    
-private:
-    /**
-     * Converter observer (not owned)
-     */
-    MConverterObserver*     iObserver;
-
-    /**
-     * decoded image
-     */
-    CFbsBitmap*             iBitmap;
-    
-    /**
-     * decoded image mask
-     */
-    CFbsBitmap*             iMask;
-    
-    /**
-     * decoder from ICL API
-     */
-    CImageDecoder*          iImageDecoder;
-    
-    /**
-     * bitmap scaler
-     */
-    CBitmapScaler*          iScaler;
-    
-    /**
-     * internal state
-     */
-    TState                  iState;
-    
-    /**
-     * File name to convert
-     */
-    TFileName               iFilename;
-    
-    /**
-     * size to convert
-     */
-    TSize                   iSize;
-    
-    /**
-     * is scaling needed
-     */
-    TBool                   iScaleNeeded;
-    
-    /**
-     * File handle
-     */
-    RFs                     iFs;
-
-    /**
-     * Conversion method for current image
-     */
-    TConversionMethod       iConversionMethod;
-
-    };
-
-#endif // #ifndef WMIMAGECONVERTER_H
-
-// end of file
--- a/idlehomescreen/widgetmanager/inc/wminstaller.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:
-* Handles istalling for wm
-*
-*/
-
-#ifndef __WMINSTALLER_
-#define __WMINSTALLER_
-
-#include <SWInstApi.h> //installer
-
-class CIdle;
-class CWmWidgetData;
-class TUid;
-
-/**
- * CWmInstaller 
- */
-NONSHARABLE_CLASS( CWmInstaller ) : public CActive
-    {
-public:
-    /**
-     * Two-phased constructors.
-     */
-    static CWmInstaller* NewL();
-    static CWmInstaller* NewLC();
-    
-    /** Destructor */
-    ~CWmInstaller();
-    
-private:    
-    /** constructor */
-    CWmInstaller();
-    
-    /** 2nd phase constructor */
-    void ConstructL();
-    
-protected: // implementation of CActive
-    /**
-     * Implements cancellation of an outstanding request.
-     * 
-     * @see CActive::DoCancel
-     */
-    void DoCancel();
-    
-    /**
-     * Handles an active object's request completion event.
-     * 
-     * @see CActive::RunL
-     */
-    void RunL();
-    
-    /**
-     * RunError
-     * 
-     * @see CActive::RunError
-     */
-    TInt RunError(TInt aError);
-
-private:
-    
-    static TInt CloseSwiSession( TAny* aPtr );
-    
-public:
-    /**
-     *  Uninstall given widget
-     *  
-     *  @param aData widget to unistall
-     */
-    void UninstallL( CWmWidgetData* aData );
-    
-	/**
-	 * Returns wrt widget uid current been unistalled. 
-	 * If installer is not active returns KNullUid.
-	 */
-    TUid UninstallUid();
-    
-private:
-    
-    /** 
-     * instance of the CIdle class for async swinstaller delete
-     */
-    CIdle* iIdle;
-    
-    /**
-     * silent installer
-     */
-    SwiUI::RSWInstSilentLauncher iInstaller;
-
-    /**
-     * wrt widget that is currently been uninstalled
-     */    
-    TUid iUid;
-    };
-
-#endif // __WMPLUGIN_
--- a/idlehomescreen/widgetmanager/inc/wmlistbox.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,403 +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:
-* Declares widget listbox for WidgetManager
-*
-*/
-
-#ifndef ___WMLISTBOX_H__
-#define ___WMLISTBOX_H__
-
-// INCLUDES
-#include <eiklbi.h>
-#include <eiktxlbx.h>
-#include <eiktxlbm.h>
-#include <eikfrlb.h>
-#include <eiktxlbm.h>
-#include <aknlists.h>
-
-#include <touchfeedback.h>
-#include <touchlogicalfeedback.h>
-#include <aknlongtapdetector.h> 
-#include "wmwidgetdataobserver.h"
-#include "wmwidgetdata.h"
-
-// FORWARD DECLARATIONS
-class CWmListBox;
-class CWmPlugin;
-class CListBoxView;
-class CFormattedCellListBoxData;
-class CAknLongTapDetector;
-class CWmListModel;
-class CWmWidgetData;
-class CAknStylusPopUpMenu;
-class MEikMenuObserver;
-
-// CLASS DECLARATIONS
-
-/**
- * CWmListItemDrawer
- */
-NONSHARABLE_CLASS( CWmListItemDrawer ): public CFormattedCellListBoxItemDrawer
-	{
-public:
-    /** Two-phased constructor. */
-	static CWmListItemDrawer* NewL(
-                CWmPlugin& aWmPlugin,
-                MTextListBoxModel* aTextListBoxModel,
-                const CFont* aFont,
-                CFormattedCellListBoxData* aFormattedCellData,
-                CWmListBox* aListBox  );
-
-    /** Destructor. */
-    ~CWmListItemDrawer();
-    
-    /** Default logo image. */
-    const CFbsBitmap* DefaultLogoImage();
-    /** Default logo mask. */
-    const CFbsBitmap* DefaultLogoMask();
-
-    /**
-     * re-size bitmaps to size provided by layout
-     */
-    void ResizeDefaultBitmaps();
-    
-    /**
-     * Responds to skin changed event.
-     */
-    void HandleSkinChanged();
-
-public:
-
-    /**
-     * from CFormattedCellListBoxItemDrawer:
-     * draws a single list box item
-     */
-    void DrawItem(
-                TInt aItemIndex, TPoint aItemRectPos, 
-                TBool aItemIsSelected, TBool aItemIsCurrent, 
-                TBool aViewIsEmphasized, TBool aViewIsDimmed ) const;
-    
-private:
-    /** Constructor for performing 1st stage construction */
-    CWmListItemDrawer( 
-                CWmPlugin& aWmPlugin,
-                MTextListBoxModel* aTextListBoxModel,  
-                const CFont* aFont,  
-                CFormattedCellListBoxData* aFormattedCellData,
-                CWmListBox* aListBox );
-
-    /** 2nd phase constructor */
-    void ConstructL();
-
-private: // data members
-
-    /** 
-     * the plugin root (not owned) 
-     */
-    CWmPlugin& iWmPlugin;
-
-    /** 
-     * pointer to the list box data (not owned) 
-     */
-    CFormattedCellListBoxData* iCellData;
-
-    /** 
-     * pointer to the listbox (not owned) 
-     */
-    CWmListBox* iListBox;
-
-    /** 
-     * current font used in drawing (not owned) 
-     */
-    const CFont*    iFont;
-
-    /**
-     * add-button colored bitmap (default color)
-     */
-    CFbsBitmap*         iAddWidgetBtnImage;
-    
-    /** 
-     * add-button mask 
-     */
-    CFbsBitmap*         iAddWidgetBtnMask;
-
-    /**
-     * add-button colored bitmap (highlighted color)
-     */
-    CFbsBitmap*         iAddWidgetBtnHighlightImage;
-    
-    /** 
-     * add-button mask 
-     */
-    CFbsBitmap*         iAddWidgetBtnHighlightMask;
-    
-    /** 
-     * default logo (when widget does not have one) bitmap 
-     */
-    CFbsBitmap*         iDefaultLogoImage;
-    
-    /** 
-     * default logo (when widget does not have one) mask 
-     */
-    CFbsBitmap*         iDefaultLogoImageMask;
-    
-	};
-
-
-
-// CLASS DECLARATIONS
-/**
- * CWmListBox
- */
-NONSHARABLE_CLASS( CWmListBox ): public CAknDouble2LargeStyleListBox,
-                      public MWmWidgetDataObserver
-	{
-public:
-    
-    /**
-     * Two-phased constructor.
-     */
-	static CWmListBox* NewL(
-	        CWmPlugin& aWmPlugin,
-            const TRect& aRect,
-            const CCoeControl* aParent,  
-            TInt aFlags = 0 );
-
-    /** Destructor. */
-    ~CWmListBox();
-
-public: // API for manipulating list content
-    
-    /** Default Logo. */
-    const CFbsBitmap* DefaultLogo();
-    /** Default Logo mask. */
-    const CFbsBitmap* DefaultMask();
-
-    /** 
-     * Findbox visibility
-     * 
-     * @param aVisibility sets find pane visibility
-     */
-    inline void SetFindPaneIsVisible( TBool aVisibility );
-    
-    /** 
-     * Currently selected item index 
-     * 
-     * @return return currently selected item 
-     */
-    TInt CurrentListBoxItemIndex();
-    
-    /** 
-     * real index for listbox item if findbox is active 
-     * 
-     * @return return index from original list for currently selected item
-     */
-    TInt RealIndex( TInt aIndex );
-    
-    /** 
-     * number of items in the widget data array (also items on the list) 
-     * 
-     * @return count of widget data array
-     */
-    inline TInt WidgetDataCount();
-    
-    /** 
-     * currently selected item
-     * @return the selected item, or NULL if nothing selected
-     */
-    CWmWidgetData* WidgetData();
-    
-    /** 
-     * gets an item by index 
-     * 
-     * @param aItemIndex index for item to return
-     */
-    CWmWidgetData& WidgetData( TInt aItemIndex );
-
-    /**
-     * gets the constant widget data array
-     */
-    inline const RWidgetDataValues& WidgetDataArray();
-
-    /** 
-     * inserts widget data to the model. Takes ownership of the object.
-     * The widget data will appear to correct location in natural order:
-     * - in previously saved position, if it has been viewed before
-     *   (widget data must have a pointer to persistent widget order)
-     * - in case this is a new widget, it will appear topmost
-     * - in case there is no persistent widgets order or it is empty,
-     *   the widget is added in alphabetical order
-     * 
-     * NOTE: caller must call HandleItemAdditionL() for the listbox after
-     * adding all widget datas to update the listbox correctly!
-     * 
-     * @param aWidget Data data to add
-     * @param aRedraw listbox update flag 
-     */
-    void AddWidgetDataL( CWmWidgetData* aWidgetData, TBool aRedraw = ETrue );
-    
-    /** 
-     * removes widget data from given index in the model
-     * The method reorganises the list model and size.
-     * Drawing is still needed to update the appearance.
-     * 
-     * @param aItemIndex index to remove
-     * */
-    void RemoveWidgetData( TInt aItemIndex/*, TBool aRedraw = ETrue*/ );
-    
-    /** 
-     * requests to redraw item in given index position 
-     * 
-     * @param aItemIndex index to redraw
-     */
-    void RedrawItem( TInt aItemIndex );
-
-    /** sort order of widgets in the list */
-    enum TSortOrder
-        {
-        /** sort list as it was on last run */
-        EStoredOrder,
-        /** sort alphabetically */
-        EAlphabetical,
-        /** show latest installed first */
-        ELatestFirst
-        };
-
-    /** 
-     * sets the list sort order 
-     * 
-     * @param aOrder sort order
-     */
-    void SetSortOrderL( TSortOrder aOrder );
-    
-    /**
-     * Responds to layout switched.
-     */
-    void HandleLayoutChanged();
-
-    /**
-     * Responds to skin changed.
-     */
-    void HandleSkinChanged();
-
-	/** 
-     * State of pointer down event 
-     * 
-     * @return ETrue if pointer is down
-     */
-    inline TBool PressedDown();
-
-    /**
-     * Returns size of logo 
-     * 
-     * @return Size of logo rect
-     */
-    TSize LogoSize();
-
-private: // from CEikTextListBox
-    /**
-     * Creates the item drawer.
-     * 
-     * @see CEikTextListBox::CreateItemDrawerL
-     */
-	void CreateItemDrawerL();
-	
-protected: // from base class CCoeControl
-    
-    /**
-     * Sets the control's extent, specifying a rectangle.
-     * 
-     * @see CCoeControl::SizeChanged
-     */
-    void SizeChanged();
-
-private: // from base class CCoeControl
-
-    /*
-     * Draws the control.
-     * 
-     * @see CCoeControl::Draw
-     */
-    void Draw( const TRect& aRect ) const;
-
-	/**
-	 * Handles pointer events.
-	 * 
-	 * @see CCoeControl::HandlePointerEventL
-	 */
-	void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-	
-private:
-  	 /** Constructor for performing 1st stage construction */
-    CWmListBox( CWmPlugin& aWmPlugin );
-
-    /** 2nd phase constructor */
-    void ConstructL(
-            const TRect& aRect,
-            const CCoeControl* aParent,
-            TInt aFlags );
-    
-
-protected: // from MWmWidgetDataObserver
-
-    /** 
-     * widget needs redrawing 
-     * 
-     * @param aWidgetData item to redraw
-     */
-    void HandleWidgetDataChanged( CWmWidgetData* aWidgetData );
-
-private: // own methods
-
-    /** 
-     * linear order for sorting, depending on the sort type being used 
-     */
-    TLinearOrder<CWmWidgetData> SortOrder( TSortOrder aOrder );
-
-private:
-
-    /** 
-     * the plugin root (not owned) 
-     */
-    CWmPlugin&          iWmPlugin;
-
-    /** 
-     * array of widget data objects (the list model) 
-     */
-    RWidgetDataValues   iWidgetDatas;
-
-    /** 
-     * the currently active item ADD button's rectangle, for push recognition 
-     */
-    TRect               iButtonRect;
-
-    /** 
-     * state of list box find pane 
-     */
-    TBool               iFindPaneIsVisible;
-	
-	/** 
-     * state of pointer pressed down and hold 
-     */
-    TBool               iPressedDown;
-	
-    /** size of logo rect in list item */
-    TSize               iLogoSize;    
-	};
-#include "wmlistbox.inl"
-
-#endif ___WMLISTBOX_H__
-
-// End of File
--- a/idlehomescreen/widgetmanager/inc/wmlistbox.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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:
-* Inline function definitions for CWmListBox
-*
-*/
-
-#ifndef WMLISTBOX_INL_
-#define WMLISTBOX_INL_
-
-/** 
- * Findbox visibility
- * 
- * @param aVisibility sets find pane visibility
- */
- inline void CWmListBox::SetFindPaneIsVisible( TBool aVisibility )
-        { iFindPaneIsVisible = aVisibility; }
- 
- /** 
-  * number of items in the widget data array (also items on the list) 
-  * 
-  * @return count of widget data array
-  */
- inline TInt CWmListBox::WidgetDataCount()
-     { return iWidgetDatas.Count(); }
- 
- /**
-  * gets the constant widget data array
-  */
- inline const RWidgetDataValues& CWmListBox::WidgetDataArray()
-     { return iWidgetDatas; }
-
-/** 
-  * State of pointer down event 
-  * 
-  * @return ETrue if pointer is down
-  */
- inline TBool CWmListBox::PressedDown()
-     { return iPressedDown; }
- 
-	 
-#endif /* WMLISTBOX_INL_ */
--- a/idlehomescreen/widgetmanager/inc/wmmaincontainer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,382 +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:
-* Declares main container control for Widget Manager application.
-*
-*/
-
-#ifndef WMMAINCONTAINER_H
-#define WMMAINCONTAINER_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include <f32file.h>
-#include <coecobs.h>
-#include <coecntrl.h>
-#include <AknsUtils.h>
-#include <gulicon.h>
-#include <eiklbo.h>  // MEikListBoxObserver
-
-// FORWARD DECLARATIONS
-class CWmPlugin;
-class CWmListBox;
-class CAknsBasicBackgroundControlContext;
-class CAknViewAppUi;
-class CAknSearchField;
-class CCoeControl;
-class CAknSearchField;
-class CWmPortalButton;
-class CWmWidgetLoaderAo;
-class CWmMainContainerView;
-class CWmConfiguration;
-
-/**
- * Container class for WmMainContainer
- * 
- * @class	CWmMainContainer WmMainContainer.h
- */
-NONSHARABLE_CLASS( CWmMainContainer ) : public CCoeControl,
-                                        public MEikListBoxObserver
-	{
-public: // constructors and destructor
-	
-    /*
-     * Two-phased constructor.
-     * 
-     * @param aRect container rect
-     * @param aWmPlugin wm plugin
-     */
-	static CWmMainContainer* NewL( 
-		const TRect& aRect,
-		CWmPlugin& aWmPlugin );
-
-    /*
-     * Two-phased constructor.
-     * 
-     * @param aRect container rect
-     * @param aWmPlugin wm plugin
-     */
-	static CWmMainContainer* NewLC( 
-		const TRect& aRect,
-		CWmPlugin& aWmPlugin );	
-
-	 /** Destructor */
-	virtual ~CWmMainContainer();
-	
-private:
-    /** constructor */
-	CWmMainContainer(
-	    CWmPlugin& aWmPlugin );
-    
-    /** 2nd phase constructor */
-    void ConstructL( 
-            const TRect& aRect );
-
-public: // new functions	
-
-    /** 
-     * @return true, if portal button is currently selected 
-     */
-    TBool PortalSelected();
-    
-    /** 
-     * @return true, if a widget in list is currently selected 
-     */
-    TBool WidgetSelected();
-    
-    /** 
-     * @return true, ADD command is possible
-     */
-    TBool CanDoAdd(); 
-    
-    /** 
-     * @return true, if UNINSTALL command is possible
-     */
-    TBool CanDoUninstall();
-    
-    /** 
-     * @return true, if LAUNCH command is possible
-     */
-    TBool CanDoLaunch();
-
-    /**
-     * @return true, if FIND command is possible
-     */
-    TBool CanDoFind();
-    
-    /**
-     * @return true, if SORT command is possible
-     */
-    TBool CanDoSort();
-    
-    /**
-     * @return true, if DETAILS command is possible
-     */
-    TBool CanDoDetails();
-    
-    /**
-     * @return true, if HELP command is possible
-     */
-    TBool CanDoHelp();
-    
-    /** 
-     * executes widget details dialog launch 
-     */
-    void LaunchDetailsDialogL();
-
-    /** 
-	 * executes widget addition to home screen 
-	 */
-	void AddWidgetToHomeScreenL();
-	
-	/** 
-	 * executes widget launch 
-	 */
-	void LaunchWidgetL();
-	
-	/** 
-	 * executes findbox activation 
-	 */
-	void ActivateFindPaneL();
-
-    /** 
-	 * executes findbox deactivation 
-	 */
-    void DeactivateFindPaneL();
-	
-    /** 
-     * sorts the widget list in alphabetical order
-     */
-    void SortListAlphabeticallyL();
-
-	/** 
-	 * executes widget uninstall 
-	 */
-	void UninstallWidgetL();
-
-    /**
-     * opens currently selected portal
-     */
-    void OpenPortalL();
-
-    /**
-     * Selection key (middle soft key)
-     */
-    void SelectL();
-    
-    /**
-     * Show widget manager help
-     */
-    void ShowHelpL();
-
-    /** 
-     * handles situation when widget list has changed.
-     * in practice reloads the widget list from the widgets API
-     * and redraws the screen.
-     */
-	void HandleWidgetListChanged();
-
-public:
-
-    /**
-     * Handles key events.
-     * 
-     * @see CCoeControl::OfferKeyEventL
-     */
-	TKeyResponse OfferKeyEventL( 
-			const TKeyEvent& aKeyEvent, 
-			TEventCode aType );
-	
-	/**
-	 * Handles a change to the control's resources
-	 * 
-	 * @see CCoeControl::HandleResourceChange
-	 */
-	void HandleResourceChange( TInt aType );
-	
-	/**
-	 * Handles pointer events.
-	 * 
-	 * @see CCoeControl::HandlePointerEventL
-	 */
-	void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-	
-	/**
-	 * Moves focus to the OVI button
-	 * @param aIndex 0=first button, 1=second (if it exists)
-	 */
-    void SetFocusToPortalButton( TInt aIndex );
-
-    /**
-     * Moves focus to the widgets list, alternatively also setting the currently
-     * selected item.
-     * @param aIndex the item in widgets list to highlight during setting focus.
-     *        By default the previously selected item will be highlighted.
-     */
-    void SetFocusToWidgetList( TInt aIndex = KErrUnknown );
-
-    /*
-     * Tells if user inputs should be handeled or not. If ret is EFalse wm 
-     * can ignore user inputs. This is becouse closing view is async and user
-     * might give some inputs before view is closed. 
-     */
-    TBool ClosingDown();
-        
-    /*
-     * To set iClosingDown. See above.
-     */
-    void SetClosingDown( TBool aClosingDown );
-
-    /**
-     * access to WM configuration
-     */
-    CWmConfiguration& Configuration();
-    
-protected: // from base class CCoeControl
-    
-    /**
-     * Sets the control's extent, specifying a rectangle.
-     * 
-     * @see CCoeControl::SizeChanged
-     */
-    void SizeChanged();
-
-private: // from base class CCoeControl
-
-    /*
-     * Draws the control.
-     * 
-     * @see CCoeControl::Draw
-     */
-    void Draw( const TRect& aRect ) const;
-    
-    /**
-    * Suppy Mop object for control context
-    * @param TTypeUid aId
-    */
-    TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-
-private: // from MEikListBoxObserver
-
-    /**
-     * List box observer interface.
-     * 
-     * @see MEikListBoxObserver::HandleListBoxEventL
-     */
-    void HandleListBoxEventL(
-                        CEikListBox* aListBox,
-                        TListBoxEvent aEventType);
-
-private: // New functions
-    
-    void AddControlL( CCoeControl* aControl, TInt aControlId );
-    void InitializeControlsL( const TRect& aRect );
-    void LayoutControls();
-    void StartLoadingWidgetsL();
-    void RemoveCtrlsFromStack();
-    void UpdateFocusMode();
-    CCoeControl* FindChildControlByPoint( const TPoint& aPoint );
-    void HandleFindSizeChanged();
-    TKeyResponse MoveFocusByKeys(
-            const TKeyEvent& aKeyEvent, 
-            TEventCode aType );
-    TKeyResponse HandleButtonKeyEventL( 
-            const TKeyEvent& aKeyEvent, 
-            TEventCode aType );
-    TKeyResponse HandleListKeyEventL( 
-            const TKeyEvent& aKeyEvent, 
-            TEventCode aType );
-    TKeyResponse HandleSearchKeyEventL( 
-            const TKeyEvent& aKeyEvent, 
-            TEventCode aType );
-private:
-
-    /**
-     * the plugin root
-     */
-    CWmPlugin&              iWmPlugin;
-
-    /**
-     * the widgets list
-     */
-    CWmListBox*             iWidgetsList;
-
-    /**
-	 * search filed
-	 */
-    CAknSearchField* 		iFindbox;
-    
-    /**
-	 * search filed visibility switch
-	 */
-    TBool            		iFindPaneIsVisible;
-    
-    /**
-     * background
-     */
-    CAknsBasicBackgroundControlContext* iBgContext;
-    
-    /**
-     * portal button
-     * (if there is only one button, this is it)
-     */
-    CWmPortalButton*         iPortalButtonOne;
-
-    /**
-     * portal button
-     * (if there is only one button, this is NULL)
-     */
-    CWmPortalButton*         iPortalButtonTwo;
-
-    /** whether we are orientated in landscape */
-    TBool                   iLandscape;
-
-    /** whether we have mirrored layout */
-    TBool                   iMirrored;
-
-    /** focus modes */
-    enum TWmFocusMode
-        {
-        ENowhere,
-        EPortal,
-        EList,
-        EFind
-        };
-
-    /**
-     * current widget manager focus mode
-     */
-    TWmFocusMode            iFocusMode;
-    
-    /**
-     * AO for loading widgets into the list UI
-     */
-    CWmWidgetLoaderAo*      iWidgetLoader;
-    
-    /**
-     * If this is set to ETrue it means wmview is closing and all user inputs
-     * should be ignored.
-     */
-    TBool                   iClosingDown;
-    
-    /**
-     * The configuration
-     */
-    CWmConfiguration*       iConfiguration;
-    
-    };
-
-#endif // WMMAINCONTAINER_H
-
-// End of File
--- a/idlehomescreen/widgetmanager/inc/wmmaincontainerview.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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:
-* Declares main container view for Widget Manager application.
-*
-*/
-
-#ifndef WMMAINCONTAINERVIEW_H
-#define WMMAINCONTAINERVIEW_H
-
-#include <aknview.h>
-
-
-class CWmMainContainer;
-class CWmPlugin;
-
-/**
- * Avkon view class for WmMainContainerView. It is register with the view server
- * by the AppUi. It owns the container control.
- * @class	CWmMainContainerView WmMainContainerView.h
- */						
-NONSHARABLE_CLASS( CWmMainContainerView ) : public CAknView
-	{
-
-public: // constructors and destructor
-	/**
-	 * Two-phased constructor.
-	 * 
-	 * @param aWmPlugin wm plugin
-	 */
-	static CWmMainContainerView* NewL( CWmPlugin& aWmPlugin );
-	
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aWmPlugin wm plugin
-     */
-	static CWmMainContainerView* NewLC( CWmPlugin& aWmPlugin );	
-	
-	/** Destructor */
-	virtual ~CWmMainContainerView();
-
-	
-public:	// from base class CAknView
-    /**
-     * Returns views id, intended for overriding by sub classes.
-     * 
-     * @see CAknView::Id
-     */
-	TUid Id() const;
-	
-	/**
-	 * Command handling function intended for overriding by sub classes.
-	 *
-	 * @see CAknView::HandleCommandL
-	 */
-	void HandleCommandL( TInt aCommand );
-
-public:	
-	/**
-	 * Creates CWmMainContainer
-	 */
-	CWmMainContainer* CreateContainerL();
-	
-private:
-    CWmMainContainerView( CWmPlugin& aWmPlugin );    
-    void ConstructL();    
-    
-protected: // from base class CAknView
-    /**
-     * Avkon view architecture system.
-     * 
-     * @see CAknView::DoActivateL
-     */
-	void DoActivateL(
-		const TVwsViewId& aPrevViewId,
-		TUid aCustomMessageId,
-		const TDesC8& aCustomMessage );
-	
-	/**
-	 * View deactivation function intended for overriding by sub classes.
-	 * 
-	 * @see CAknView::DoActivateL
-	 */
-	void DoDeactivate();
-	
-   /**
-     * Event handler for status pane size changes.
-     * 
-     * @see CAknView::HandleStatusPaneSizeChange
-     */
-	void HandleStatusPaneSizeChange();
-
-protected:	// From MEikMenuObserver
-    /*
-     * Menu observer interface.
-     * 
-     * @see MEikMenuObserver::DynInitMenuPaneL
-     */
-    void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
-
-private:
-    
-    /** menu commands */
-    TBool HandleOpenMenuItemSelectedL();
-    TBool HandleAddMenuItemSelectedL();
-    TBool HandleLaunchMenuItemSelectedL();
-    TBool HandleSearchMenuItemSelectedL();
-    TBool HandleSortAlphaMenuItemSelectedL();
-    TBool HandleUninstallMenuItemSelectedL();
-    TBool HandleHelpMenuItemSelectedL();
-	TBool HandleDetailsMenuItemSelectedL();
-	TBool HandleDeactivateFindPaneL();
-	/** setup status pane */
-	void SetupStatusPaneL();
-
-private:
-    /** 
-     * the container 
-     */
-	CWmMainContainer* iWmMainContainer;
-
-	/** 
-	 * the plugin root (not owned) 
-	 */
-	CWmPlugin& iWmPlugin;
-
-	};
-
-#endif // WMMAINCONTAINERVIEW_H
--- a/idlehomescreen/widgetmanager/inc/wmpersistentwidgetorder.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +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:
-* Defines an ordered list of widget id's with persistence capability
-*
-*/
-
-#ifndef WMPERSISTENTWIDGETORDER_H
-#define WMPERSISTENTWIDGETORDER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "wmwidgetdata.h"
-
-// FORWARD DECLARATIONS
-class RFs;
-
-// CLASS DECLARATION
-/**
- *  CWmPersistentWidgetOrder
- * This class is an ordered list of widget identifiers. The list can be
- * serialised and extract from stream and persisted. The list can be used
- * in sorting a pointer array of CWmWidgetData.
- */
-NONSHARABLE_CLASS( CWmPersistentWidgetOrder ) : public CBase
-    {
-
-public: // Constructors and destructor
-    /** 
-     * static constructor.
-     */
-    static CWmPersistentWidgetOrder* NewL( RFs& aFs );
-
-    /** Destructor. */
-    ~CWmPersistentWidgetOrder();
-
-private: // private construction
-
-    /**
-     * constructor
-     */
-    CWmPersistentWidgetOrder( RFs& aFs );
-
-    /**
-     * 2nd phase constructor
-     */
-    void ConstructL();
-
-
-public: // API
-
-    /**
-     * Loads the persistent widget list from storage.
-     * This is typically done once after construction.
-     * The instance can now be used to sort widget data.
-     */
-    void LoadL();
-  
-    /**
-     * Stores a sorted array of WmWidgetData types. Note that
-     * the order will be directly stored and a copy will not
-     * be kept locally, so this instance can not be used to
-     * sort widget data until LoadL() is called.
-     * 
-     * @param aArray the array of widget daya types
-     */
-    void StoreL( const RWidgetDataValues& aArray );
-
-    /**
-     * Retrieves an index of given widget data object within the list.
-     * This index can be used to sort and organise. Note that LoadL()
-     * must be used prior to calling this method, and before that
-     * there must be something persisted.
-     * 
-     * @param aWidgetData data to seek index of in the sorted order
-     * @return the index found, or KErrNotFound if widget is new
-     */
-    TInt IndexOf( const CWmWidgetData& aWidgetData ) const;
-
-    /**
-     * checks if the persistent widget order is empty. In this case it does
-     * not make any sense to use the object to sort anything.
-     * Note that before loading the object is always empty.
-     */
-    TBool IsEmpty() const;
-
-protected:
-
-    /**
-     * Cleans up the array
-     */
-    void CleanupArray();
-
-    /**
-     * build the storage file path and name. The storage file will be located
-     * in host process private directory.
-     * @param aPathBuf a buffer to receive the complete file path
-     */
-    void GetStoreFileNameL( TDes& aPathBuf );
-
-    /**
-     * Unique tag of a widget
-     */
-    class Tag
-        {
-        public:
-            /** constructs a tag from parameters */
-            Tag( TInt32 aUid, HBufC16* aPublisherId );
-
-            /** compares a tag agains a widget data */
-            TBool Matches( const CWmWidgetData& aWidgetData ) const;
-
-            /** widget uid */
-            TInt32 iUid;
-
-            /** widget publisher id */
-            HBufC16* iPublisherId;
-        };
-
-private: // data members
-
-    /** the file session */
-    RFs& iFs;
-
-    /** array of widget tags for sorting */
-    RArray<Tag> iTagArray;
-
-    };
-
-
-#endif // WMPERSISTENTWIDGETORDER_H
--- a/idlehomescreen/widgetmanager/inc/wmplugin.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +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:
-* widget manager plugin declaration
-*
-*/
-
-#ifndef __WMPLUGIN_
-#define __WMPLUGIN_
-
-//  INCLUDES
-#include <e32base.h>
-#include <vwsdef.h>
-
-#include <hscontentcontrolui.h>
-#include <hscontentcontroller.h>
-#include <hscontentinfo.h>
-
-class CAknViewAppUi;
-class CWmResourceLoader;
-class CWmMainContainer;
-class CWmEffectManager;
-class CWmWidgetData;
-class CWmInstaller;
-
-/**
- * CWmPlugin 
- */
-NONSHARABLE_CLASS( CWmPlugin ) : public CHsContentControlUi
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-    static CWmPlugin* NewL();
-    
-    /** Destructor */
-    ~CWmPlugin();
-
-public: // From MHsContentControlUi
-
-    /** 
-     * shows the widget manager UI 
-     * 
-     * @see MHsContentControlUi::Activate
-     */
-    void Activate();
-    
-    /** 
-     * Notifies widget list changes 
-     * 
-     * @see MHsContentControlUi::NotifyWidgetListChanged
-     */
-    void NotifyWidgetListChanged();
-        
-public: // plugin services
-
-    /** 
-     * whether widget manager UI is showing 
-     * 
-     * @return return ETrue if wm UI is showed 
-     */
-    TBool IsActive();
-
-    /** 
-     * hides widget manager UI 
-     */
-    void Deactivate();
-
-    /** 
-     * main view activated. Sets the previous view ID and main container 
-     *
-     * @param aPreviousViewId
-     * @param aWmMainContainer 
-     */
-    void MainViewActivated( 
-            const TVwsViewId& aPreviousViewId,
-            CWmMainContainer* aWmMainContainer );
-
-    /** 
-     * main view was deactivated 
-     */
-    void MainViewDeactivated();
-
-    /** Postponed command to execute when widgetmanager has deactivated */
-    enum TCommand
-        {
-        /** no command */
-        ENone,
-        /** add content to home screen */
-        EAddToHomescreen
-        };
-    
-    /**
-     * Sets a postponed command. The postponed command will be executed after
-     * widget manager has been deactivated.
-     * 
-     * @param aCommand the command to be executed
-     * @param aContent content parameter related to the command
-     */
-    void SetPostponedCommandL(
-            TCommand aCommand, CHsContentInfo& aContent );
-    
-    /** 
-     * the CAknViewAppUi reference
-     * 
-     * @return returns CAknViewAppUi 
-     */
-    CAknViewAppUi& ViewAppUi();
-
-    /** 
-     * the resource loader 
-     * 
-     * @return returns CWmResourceLoader
-     */
-    CWmResourceLoader& ResourceLoader();
-    
-    /** 
-     * the content controller ref
-     * 
-     * @return returns MHsContentController
-     */
-    MHsContentController& ContentController();
-
-    /**
-     * the shared file server reference
-     */
-    RFs& FileServer();
-    
-    /** prestored action to be executed. */
-    void ExecuteCommandL();
-    
-    /**
-     * reference to iWmInstaller
-     */
-    CWmInstaller& WmInstaller();
-    
-private:
-    /** constructor */
-    CWmPlugin();
-    /** 2nd phase constructor */
-    void ConstructL();
-    
-    /**
-     * Sets forwarding numeric keys to phone.
-     * 
-     * @param aEnabled ETrue if numeric keys are forwarded to phone
-     */
-    void ForwardNumericKeysToPhone( TBool aEnabled );
-
-private: // data members
-
-    /**
-     * the host application view app UI (not owned)
-     */
-    CAknViewAppUi*  iViewAppUi;
-
-    /**
-     * main container (not owned)
-     */
-    CWmMainContainer*  iWmMainContainer;
-
-    /**
-     * resource loader
-     */
-    CWmResourceLoader* iResourceLoader;
-
-    /**
-     * previous view ID (shown when main view closed)
-     */
-    TVwsViewId iPreviousViewUid;
-	
-    /**
-     * Takes care of fancy UI effects
-     */    
-    CWmEffectManager* iEffectManager;
-    
-    /**
-     * The file server session
-     */
-    RFs* iFs;
-
-    /**
-     * command to be executed when widgetmanager has
-     * been deactivated
-     */
-    TCommand iPostponedCommand;
-    
-    /**
-     * content info as parameter to iPostponedCommand
-     */
-    CHsContentInfo* iPostponedContent;
-    
-    /**
-     * ActiveSchedulerWait used to wait while previous view is
-	 * being activated upon deletion.
-     */
-    CActiveSchedulerWait* iWait;
-    
-    /*
-     * Handles installation
-     */
-    CWmInstaller* iWmInstaller;
-    };
-
-#endif // __WMPLUGIN_
-
--- a/idlehomescreen/widgetmanager/inc/wmportalbutton.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +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:
-* Declares portal button for WidgetManager
-*
-*/
-
-#ifndef ___WMPORTALBUTTON_H__
-#define ___WMPORTALBUTTON_H__
-
-#include <aknbutton.h>	// CAknButton
-#include "wmimageconverter.h"
-#include "wmcommon.h"
-
-// FORWARD DECLARATIONS
-class CWmMainContainer;
-class CFbsBitmap;
-
-/**
- * Portal button ( ovi, operator ) class for Wm
- * 
- * @class   CWmPortalButton wmportalbutton.h
- */
-NONSHARABLE_CLASS( CWmPortalButton ) : public CAknButton,
-                                       public MConverterObserver,
-                                       public MCoeControlObserver
-    {
-public:
-    /*
-     * Two-phased constructor.
-     * 
-     * @param aParent button title text
-     * @param aPortalButtonIndex index of this button (0 or 1)
-     */
-    static CWmPortalButton* NewL(
-            const CCoeControl* aParent,
-            TInt aPortalButtonIndex = 0 );
-    
-    /** Destructor */
-    virtual ~CWmPortalButton();
-                                      
-public: // Functions from base class
-
-    /*
-     * Draws the control.
-     * 
-     * @see CCoeControl::Draw
-     */
-    void Draw( const TRect& /*aRect*/ ) const;
-    
-    /**
-     * Sets the control's extent, specifying a rectangle.
-     * 
-     * @see CCoeControl::SizeChanged
-     */
-    void SizeChanged();
-    
-    /**
-     * Executes action for button pressed
-     */
-    void ExecuteL();
-    
-protected: // from MConverterObserver
-
-    /** image conversin completed */
-    void NotifyCompletion( TInt aError );
-
-protected: // from MCoeControlObserver
-
-    /** Observes the button's own activity  */
-    void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
-    
-protected: // Constructors
-    
-    /** Constructor for performing 1st stage construction */
-    CWmPortalButton( const TInt aFlags,
-            TInt aPortalButtonIndex );
-    
-    /** 2nd phase constructor */
-    void ConstructL( 
-            CWmMainContainer* aParent,
-            const TDesC& aText = KNullDesC,
-            const TDesC& aIcon = KNullDesC );
-    
-private:
-
-    /** size of button icon, defined in the layout */
-    TSize LayoutIconSize() const;
-    
-    /** Draws text over button */
-    void DrawText( CWindowGc& aGc,
-                   const TDesC& aText, 
-                   TAknTextComponentLayout& aLayout,
-                   TInt aMargin ) const;
-
-private: //data members
-
-    /**
-     * the image converter utility
-     */    
-    CWmImageConverter*  iImageConverter;
-
-    /**
-     * Parent control
-     */ 
-    CWmMainContainer* iWmMainContainer;
-
-    /** 
-     * Button index
-     */ 
-    TInt iPortalButtonIndex;
-
-    /** icon */
-    CFbsBitmap* iButtonIcon;
-    
-    /** icon mask */
-    CFbsBitmap* iButtonIconMask;
- 	};
-
-#endif //___WMPORTALBUTTON_H__
-
-// End of File
--- a/idlehomescreen/widgetmanager/inc/wmresourceloader.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +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:
-* loads widget manager resources and icons
-*
-*/
-
-
-#ifndef WMRESOURCELOADER_H_
-#define WMRESOURCELOADER_H_
-
-// INCLUDE FILES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CEikonEnv;
-class CAknInformationNote;
-
-/**
- * CWmResourceLoader
- */
-NONSHARABLE_CLASS( CWmResourceLoader ) : public CBase
-    {
-
-public: // construction/destruction
-	/** 
-	 * static constructor 
-	 * 
-	 * @param aCoeEnv Control environment.
-	 */
-	static CWmResourceLoader* NewL(
-	        CEikonEnv& aEnv );
-	
-	/** destructor */
-	~CWmResourceLoader();
-
-public: // services
-
-    /**
-     * shows a simple info popup with OK button
-     * @param aResourceId the resource id of string to be shown
-     * @param aString additional string to be replaced into %U
-     */
-    void InfoPopupL( TInt aResourceId, const TDesC& aString );
-
-    /**
-     * shows a standard error popup
-     * @param aErrorCode a system-wide standard error code 
-     */
-    void ErrorPopup( TInt aErrorCode );
-
-    /** icon file path */
-    const TDesC& IconFilePath();
-
-    /** default no description text */
-    const TDesC& NoDescription();
-
-    /** wrt specific description text */
-    const TDesC& WrtDescription();
-    
-    /** uninstalling text to replace widget name */
-    const TDesC& Uninstalling();
-    
-    /** query popup*/
-    TBool QueryPopupL( TInt aResourceId, const TDesC& aString );
-	
-private: // internal methods
-
-    /** constructor */
-    CWmResourceLoader(
-            CEikonEnv& aEnv );
-    
-    /** 2nd phase constructor */
-    void ConstructL();
-
-    /** load the resource */
-    void LoadResourcesL();
-
-    /** free resources */
-    void UnloadResources();
-
-    /** find icon file path */
-    void DetermineIconFilePath();
-
-private: // members
-    
-    /**
-     * the environment
-     */
-    CEikonEnv&    iEnv;
-
-    /**
-     * name of this DLL
-     */
-    TFileName   iDllName;
-
-    /**
-     * resource file offset
-     */
-    TInt        iResourceFileOffset;
-
-    /**
-     * ICON file
-     */
-    TFileName   iMifFile;
-    
-    /**
-     * info note dialog
-     */
-    CAknInformationNote *iNote;
-
-    /**
-     * Default no description text
-     */    
-    HBufC*      iNoDescription;
-
-    /**
-     * Wrt specific description text
-     */    
-    HBufC*      iWrtDescription;
-    
-    /**
-     * text to replace title
-     */    
-    HBufC*      iUninstalling;
-    };
-
-#endif // WMRESOURCELOADER_H_
--- a/idlehomescreen/widgetmanager/inc/wmwidgetdata.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +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:
-* CWmWidgetData declaration
-*
-*/
-
-
-#ifndef WMWIDGETDATA_H
-#define WMWIDGETDATA_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <f32file.h>
-#include <bamdesca.h>
-#include <hscontentinfo.h>
-
-#include "wmimageconverter.h"
-
-// FORWARD DECLARATIONS
-class CDictionaryFileStore;
-class MWmWidgetDataObserver;
-class CFbsBitmap;
-class CHsContentInfo;
-class CWmPersistentWidgetOrder;
-class RWidgetRegistryClientSession;
-class CWmResourceLoader;
-
-// CLASS DECLARATION
-/**
- * CWmWidgetData is a representation of a widget in CWmListBox. it
- * stores all data required for drawing the item in a list box, and
- * handling the list item.
- */
-NONSHARABLE_CLASS( CWmWidgetData )
-    : public CBase
-    , public MConverterObserver
-    {
-
-public: // types
-
-    /** widget type */
-    enum TWidgetType
-            {
-            EUnknown,
-            ENative,
-            ECps // wrt widgets included in this category
-            };
-
-public: // construction
-    /**
-     * static constructor
-     * @param aLogoSize size of logo image.
-     * @param aHsContentInfo (takes ownership)
-     * @param aRegistryClientSession (does not take ownership)
-     */
-    static CWmWidgetData* NewL(
-            const TSize& aLogoSize,
-            CWmResourceLoader& aWmResourceLoader,
-            CHsContentInfo* aHsContentInfo,
-            RWidgetRegistryClientSession* aRegistryClientSession );
-
-    /**
-     * static constructor, leaves object in cleanup stack
-     * @param aLogoSize size of logo image.
-     * @param aHsContentInfo (takes ownership)
-     * @param aRegistryClientSession (does not take ownership)
-     */
-    static CWmWidgetData* NewLC(
-            const TSize& aLogoSize,
-            CWmResourceLoader& aWmResourceLoader,
-            CHsContentInfo* aHsContentInfo,
-            RWidgetRegistryClientSession* aRegistryClientSession );
-        
-    /** Destructor. */
-    ~CWmWidgetData();
-
-private: // private construction
-    /** Constructor for performing 1st stage construction */
-    CWmWidgetData( const TSize& aLogoSize, 
-            CWmResourceLoader& aWmResourceLoader );
-
-    /** 2nd phase constructor */
-    void ConstructL(
-            CHsContentInfo* aHsContentInfo,
-            RWidgetRegistryClientSession* aRegistryClientSession );
-
-    /**
-     * Initialisation routine
-     * called from ConstructL and whenever the content type changes
-     */
-    void InitL(
-            CHsContentInfo* aHsContentInfo,
-            RWidgetRegistryClientSession* aRegistryClientSession );
-
-public: // external handles
-
-    /** current uninstall animation bitmap */
-    const CFbsBitmap* AnimationBitmap( const TSize& aSize );
-
-    /** current uninstall animation mask */
-    const CFbsBitmap* AnimationMask( const TSize& aSize );
-    
-    /**
-     * @return ETrue if widget is being uninstalled.
-     */
-    TBool IsUninstalling();
-    
-    /**
-     * @return ETrue if logo is being created,false otherwise.
-     */
-    TBool IsPrepairingLogo();
-    
-    /** 
-     * sets an observer for callbacks 
-     *
-     * @param aObserver notifications when changes occur in widget data
-     */
-    void SetObserver( MWmWidgetDataObserver* aObserver );
-
-    /**
-     * persistent widget order handle, which is used in comparing
-     */
-    void SetPersistentWidgetOrder(
-            const CWmPersistentWidgetOrder* aPersistentWidgetOrder );
-    
-    /**
-     * Init logo re-creation
-     */
-    void ReCreateLogo( const TSize& aSize );
-    
-    /**
-     * returns widget description
-     */
-    const TDesC& Description() const;
-    
-    /**
-     * Replaces the content of this widget data. The method is called
-     * during widget update. If widget values change, a change event is
-     * fired for the observer.
-     * 
-     * @param aHsContentInfo new content (takes ownership)
-     * @return ETrue if content was changed
-     */
-    TBool ReplaceContentInfoL(
-            CHsContentInfo* aHsContentInfo );
-    
-public: // comparing / sorting
-    /** whether this object represents the same widget as aContentInfo */
-    TBool EqualsTo( CHsContentInfo& aContentInfo );
-    
-    /** comparator function for sort by name (compare two names)*/    
-    static TInt CompareByName(
-                        const CWmWidgetData& aDataOne,
-                        const CWmWidgetData& aDataTwo );
-
-    /**
-     * comparator function for sorting by stored order
-     **/
-    static TInt CompareByPersistentWidgetOrder(
-            const CWmWidgetData& aDataOne,
-            const CWmWidgetData& aDataTwo );
-
-public: // methods to read the content
-    
-    /** the HsContent info */
-    inline CHsContentInfo& HsContentInfo();
-
-    /** the HsContent info */
-    inline const CHsContentInfo& HsContentInfo() const;
-
-    /** widget name */
-    inline const TDesC& Name() const;
-
-    /** widget uid */
-    inline TUid Uid() const;
-    
-    /** cps widget publisher id */
-    inline const TDesC& PublisherId() const;
-    
-    /** cps widget publisher uid */
-    TUid PublisherUid();
-    
-    /** widget type */
-    inline TWidgetType WidgetType() const;
-
-    /** running install animation index */
-    inline TInt InstallAnimationIndex() const;
-
-    /** the logo bitmap */
-    inline const CFbsBitmap* LogoImage();
-
-    /** the logo bitmap */
-    inline const CFbsBitmap* LogoImageMask();
-
-    /** whether the widget data is valid or not */
-    inline TBool IsValid();
-    
-    /** sets the widget data validity */
-    inline void SetValid( TBool aValid );
-    
-	/** start animation for uninstallation*/
-    void VisualizeUninstallL();
-	
-protected: // from MConverterObserver
-
-    /** image conversin completed */
-    void NotifyCompletion( TInt aError );
-
-private: // new functions
-    
-    /** uninstall animation related*/
-    void PrepairAnimL();
-    void DestroyAnimData();
-    static TInt Tick( TAny* aPtr );
-    
-    /** fetches publisher uid from widget registry*/
-    void FetchPublisherUidL( 
-            RWidgetRegistryClientSession* aRegistryClientSession );
-
-    /** Converts uid to TUid from TDesC8 */
-    TUid UidFromString( const TDesC8& aUidString ) const;
-    
-    /** Logo icon string handling */
-    void HandleIconString( const TDesC& aIconStr );
-    void FireDataChanged();
-
-private: // data members
-    
-    /* reference to resource loader */
-    CWmResourceLoader& iWmResourceLoader;
-    
-    /* the image converter utility */
-    CWmImageConverter*    iImageConverter;
-
-    /* observes this widget representation (NOT OWNED) */
-    MWmWidgetDataObserver* iObserver;
-
-    /** the widget logo bitmap */
-    CFbsBitmap*         iLogoImage;
-
-    /** the widget logo mask */
-    CFbsBitmap*         iLogoImageMask;
-
-    /** The CHsContentInfo that corresponds to this list row */
-    CHsContentInfo*     iHsContentInfo;
-
-    /** type oif the widget */
-    TWidgetType         iWidgetType;
-
-    /** persistent order of widgets (used in sorting) */
-    const CWmPersistentWidgetOrder* iPersistentWidgetOrder;
-
-    /** wrt widget publisher uid */
-    TUid                iPublisherUid;
-    
-    /** size of logo rect in list item */
-    TSize               iLogoSize;
-    
-    /** validity of the widget - used during list refresh */
-    TBool               iValid;
-
-    /* Array of uninstall animation bitmaps*/
-    RArray<CFbsBitmap*> iUninstallAnimIcons;
-    
-    /** periodic timer for updating animation */
-    CPeriodic*          iPeriodic;
-    
-    /* uninstall animation index */
-    TInt                iAnimationIndex;
-
-    /** uninstallation switch */
-    TBool               iAsyncUninstalling;
-    
-    /** logo changed switch */
-    TBool               iFireLogoChanged;
-
-    /**
-     * ActiveSchedulerWait used to wait while logo image
-     * is being prepaired.
-     */
-    CActiveSchedulerWait* iWait;
-    };
-
-
-/**
- * Pointer array of widget data objects.
- * Also acts as an adapter to a descriptor array, providing the
- * widget names as descriptor array elements.
- */
-NONSHARABLE_CLASS( RWidgetDataValues ) : public RPointerArray<CWmWidgetData>,
-    public MDesCArray
-    {
-    protected: // from MDesCArray
-        /** returns number of items in the pointer array */
-        inline TInt MdcaCount() const;
-
-        /** returns the pointed widget name */
-        inline TPtrC16 MdcaPoint(TInt aIndex) const;
-    };
-
-#include "wmwidgetdata.inl"
-#endif // WMWIDGETDATA_H
--- a/idlehomescreen/widgetmanager/inc/wmwidgetdata.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-* CWmWidgetData , RWidgetDataValues inline function definitions
-*
-*/
-
-#ifndef WMWIDGETDATA_INL_
-#define WMWIDGETDATA_INL_
-
-    /** the HsContent info */
-    inline CHsContentInfo& CWmWidgetData::HsContentInfo()
-        { return *iHsContentInfo; }
-
-    /** the HsContent info */
-    inline const CHsContentInfo& CWmWidgetData::HsContentInfo() const
-        { return *iHsContentInfo; }
-
-    /** widget name */
-    inline const TDesC& CWmWidgetData::Name() const
-        { return iHsContentInfo->Name(); }
-
-    /** widget uid */
-    inline TUid CWmWidgetData::Uid() const
-        { return UidFromString( iHsContentInfo->Uid() ); };
-    
-    /** cps widget publisher id */
-    inline const TDesC& CWmWidgetData::PublisherId() const
-        { return iHsContentInfo->PublisherId(); }
-    
-    /** widget type */
-    inline CWmWidgetData::TWidgetType CWmWidgetData::WidgetType() const
-        { return iWidgetType; }
-
-    /** the logo bitmap */
-    inline const CFbsBitmap* CWmWidgetData::LogoImage()
-        { return iLogoImage; }
-
-    /** the logo bitmap */
-    inline const CFbsBitmap* CWmWidgetData::LogoImageMask()
-        { return iLogoImageMask; }
-  
-    /** whether the widget data is valid or not */
-    inline TBool CWmWidgetData::IsValid()
-        { return iValid; }
-    
-    /** sets the widget data validity */
-    inline void CWmWidgetData::SetValid( TBool aValid )
-        { iValid = aValid; }
-    
-    
-    //From  RWidgetDataValues
-    
-    /** returns number of items in the pointer array */
-    inline TInt RWidgetDataValues::MdcaCount() const
-        {
-        return Count();
-        }
-    /** returns the pointed widget name */
-    inline TPtrC16 RWidgetDataValues::MdcaPoint(TInt aIndex) const
-        {
-        const TPtrC16 ptr( (*this)[aIndex]->Name() );
-        return ptr;
-        }
-
-#endif /* WMWIDGETDATA_INL_ */
--- a/idlehomescreen/widgetmanager/inc/wmwidgetdataobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-* Observer for changes in the widget data
-*
-*/
-
-
-#ifndef WMWIDGETDATAOBSERVER_H
-#define WMWIDGETDATAOBSERVER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// Forward declarations
-class CWmWidgetData;
-
-// CLASS DECLARATION
-
-/**
- * Observer class for receiving notifications
- * when changes occur in widget data
- */
-NONSHARABLE_CLASS( MWmWidgetDataObserver )
-    {
-    public:
-        /**
-         * A single widget data has changed.
-         * @param aWidgetData pointer to the data where change
-         *        has occurred
-         */
-        virtual void HandleWidgetDataChanged(
-                            CWmWidgetData* aWidgetData ) = 0;
-
-    };
-
-#endif // WMWIDGETDATAOBSERVER_H
--- a/idlehomescreen/widgetmanager/inc/wmwidgetloaderao.h	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-* Active object to load widgets into list
-*
-*/
-
-#ifndef WMWIDGETLOADERAO_H_
-#define WMWIDGETLOADERAO_H_
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CWmPlugin;
-class CWmListBox;
-class CHsContentInfo;
-class CWmWidgetData;
-class CWmPersistentWidgetOrder;
-class RWidgetRegistryClientSession;
-
-// CLASS DECLARATIONS
-
-/**
- * Active object to load widgets into list
- */
-NONSHARABLE_CLASS( CWmWidgetLoaderAo ) : public CAsyncOneShot
-    {
-    
-public:
-	/**
-     * Static constructor
-     */
-	static CWmWidgetLoaderAo* NewL(
-	        CWmPlugin& aWmPlugin,
-	        CWmListBox& aTargetList );
-	
-    /**
-     * Destructor.
-     */
-	~CWmWidgetLoaderAo();
-
-    /**
-     * Starts the load process by activating the AO
-     */
-    void StartLoading();
-    
-private:
-    
-    /**
-     * Constructor
-     */
-    CWmWidgetLoaderAo(
-            CWmPlugin& aWmPlugin,
-            CWmListBox& aTargetList );
-    
-    /**
-     * 2nd phase constructor
-     */
-    void ConstructL();
-
-protected: // from CActive
-    
-    /**
-     * AO body
-     */
-    void RunL();
-
-    /**
-     * AO error handler
-     */
-    TInt RunError( TInt aError );
-
-private:
-
-    /**
-     * loads widgets into the listbox
-     */
-    void DoLoadWidgetsL();
-
-    /**
-     * finds a widget data entry from iWidgetsList that matches
-     * given content info. returns a pointer to the data found,
-     * or NULL if not found
-     */
-    CWmWidgetData* FindWidgetData( CHsContentInfo& aContentInfo );
-    
-    /**
-     * adds a widget data entry to iWidgetsList
-     * takes ownership of aContentInfo
-     */
-    void AddWidgetDataL( CHsContentInfo* aContentInfo );
-    
-    /**
-     * cleanup resources allocated runing one single run
-     */
-    void Cleanup();
-    
-private: // data
-
-    /** reference to the widget manager root */
-    CWmPlugin& iWmPlugin;
-
-    /** target where widgets are to be loaded */
-    CWmListBox& iWidgetsList;
-    
-    /** widget registry */
-    RWidgetRegistryClientSession* iWidgetRegistry;
-    
-    /** persistent widget order */
-    CWmPersistentWidgetOrder* iWidgetOrder;
-    
-	/** uid of currently unistalled widget */
-    TUid iUninstallUid;
-    };
-
-#endif // WMWIDGETLOADERAO_H_
--- a/idlehomescreen/widgetmanager/loc/widgetmanagerview.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /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: Localisation file of Widget Manager 
-*
-*/
-
-
-
-// TITLES OF EACH VIEW
-
-// d: Title of Application
-// d: 
-// d: 
-// l: title_pane_t2/opt12
-// w:
-// r: TB9.2
-#define qtn_wm_title_text "Widget Catalog"
-
-
-
-// OPTIONS-MENU MENUITEMS
-
-// d: Add-menuitem in Options-menu 
-// d: 
-// d: 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_options_wm_add "Add To Home screen"
-
-// d: Launch-menuitem in Options-menu
-// d: 
-// d: 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_options_wm_launch_widget "Launch"
-
-// d: Search-menuitem in Options-menu
-// d: 
-// d: 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_options_wm_search "Search"
-
-// d: Uninstall-menuitem in Options-menu 
-// d: 
-// d: 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_options_wm_uninstall "Uninstall"
-
-// d: Open-menuitem in Options-menu 
-// d: 
-// d: 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_options_wm_open "Open"
-
-// d: Sort alphabetically-menuitem in Options-menu
-// d: 
-// d: 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_options_wm_sort_alpha "Sort alphabetically"
-
-// d: Details-menuitem in Options-menu
-// d: 
-// d: 
-// l: list_single_pane_t1_cp2
-// w:
-// r: TB9.2
-//
-#define qtn_options_wm_details "Details"
-
-
-// MISC
-
-// d: Text displayed on OVI Store button 
-// d: 
-// d: 
-// l: wgtman_btn_pane_t1
-// w:
-// r: TB9.2
-//
-#define qtn_wm_ovi_store_title "Get more"
-
-// d: Info popup to indicate that an item can not be added to home screen
-// d: because current view is full
-// d: 
-// l: popup_note_window
-// w:
-// r: TB9.2
-//
-#define qtn_hs_add_widget_no_space_note "Not enough space to add new widget to active page. Remove some content first."
-
-// d: Info popup to indicate that an item can not be added to home screen
-// d: because maximum instance count of current widget would be exceeded in whole Home screen
-// d: 
-// l: popup_note_window
-// w:
-// r: TB9.2
-//
-#define qtn_hs_add_widget_max_count_note "Unable to add. Home screen does not allow more instances of this widget."
-
-// d: widget details dialog left softkey for adding widget to home screen
-// d: Note: widgets dialog is not necessarily full screen width, which may affect
-// d: string max length!
-// l: control_pane_t1/opt7
-// w:
-// r: TB9.2
-//
-#define qtn_wm_details_add_to_hs "Add"
-
-// d: widget details dialog - no description
-// d: 
-// d: 
-// l: listrow_wgtman_pane_t2
-// w:
-// r: TB9.2
-//
-#define qtn_wm_details_no_description "No description available"
-
-// d: widget uninstall not allowed
-// d: 
-// d: 
-// l: popup_note_window
-// w:
-// r: TB9.2
-//
-#define qtn_wm_uninst_not_allowed "%U can not be uninstalled"
-
-// d: widget details dialog default text for wrt widgets
-// d: 
-// d: 
-// l: popup_note_window
-// w:
-// r: TB9.2
-//
-#define qtn_wm_widget_details_wrt "Home Screen application that uses internet connection to show dynamic updates from web."
-
-// d: Query for unistallation
-// d: 
-// d: 
-// l: query
-// w:
-// r: TB9.2
-//
-#define qtn_wm_uninstall_widget_query "Uninstall %U?"
-
-// d: Note when installer allready inuse
-// d: 
-// d: 
-// l: popup_note_window
-// w:
-// r: TB9.2
-//
-#define qtn_wm_uninst_process_busy "Installation process already ongoing. Try again later."
-
-// d: Note when trying to add widget hs and max number of allowed instances 
-// d: of that widget is already reached in active page
-// d: 
-// l: popup_note_window
-// w:
-// r: TB9.2
-//
-#define qtn_hs_add_widget_max_reached "Unable to add. No more instances allowed of this item for active page."
-
-// d: Replace widget name when uninstalling
-// d: 
-// d: 
-// l: listrow_wgtman_pane_t1
-// w:
-// r: TB9.2
-//
-#define qtn_wm_uninstall_text "Uninstalling.."
--- a/idlehomescreen/widgetmanager/rom/widgetmanager.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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:
-* widgetmanager binaries
-*/
-
-#ifndef WIDGETMANAGER_IBY
-#define WIDGETMANAGER_IBY
-
-// widgetmanager plugin
-ECOM_PLUGIN( widgetmanager.dll, widgetmanager.rsc )
-
-// widgetmanager icons
-data=DATAZ_\resource\apps\widgetmanager.mif	\resource\apps\widgetmanager.mif
-
-// widgetmanager stub sis
-data=ZSYSTEM\install\widgetmanager_stub.sis system\install\widgetmanager_stub.sis
-
-// cenrep
-data=DATAZ_\private\10202be9\20026F53.txt           private\10202be9\20026F53.txt
-
-#endif // WIDGETMANAGER_IBY
-
--- a/idlehomescreen/widgetmanager/rom/widgetmanager_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* widgetmanager resource binaries
-*/
-
-#ifndef WIDGETMANAGER_RESOURCES_IBY
-#define WIDGETMANAGER_RESOURCES_IBY
-
-
-// widgetmanager resources
-data=DATAZ_\APP_RESOURCE_DIR\widgetmanagerview.rsc  APP_RESOURCE_DIR\widgetmanagerview.rsc
-
-#endif // WIDGETMANAGER_RESOURCES_IBY
-
--- a/idlehomescreen/widgetmanager/sis/Create_update_sisx.bat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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
-
-rem Change dll versions for IAD update
-call elftran.exe -version 1.1 \epoc32\release\armv5\urel\widgetmanager.dll
-call elftran.exe -version 1.1 \epoc32\release\armv5\udeb\widgetmanager.dll
-
-rem make sure cenrep file exists
-call \ext\tools\toolsextensions\ConfigurationTool\cli_build.cmd -master_conf s60 -impl ..\conf -confml ..\conf -no_iby
-
-rem Create wm sis&sisx files
-makesis widgetmanager_udeb.pkg
-signsis widgetmanager_udeb.SIS widgetmanager_udeb.SISX Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-makesis widgetmanager_urel.pkg
-signsis widgetmanager_urel.SIS widgetmanager_urel.SISX Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-
-rem Create wm stubsis file
-makesis -s widgetmanager_stub.pkg
-
Binary file idlehomescreen/widgetmanager/sis/Nokia_RnDCert_02.der has changed
--- a/idlehomescreen/widgetmanager/sis/Nokia_RnDCert_02.key	Tue Feb 02 00:04:13 2010 +0200
+++ /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/idlehomescreen/widgetmanager/sis/backup_registration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration>
-  <system_backup/>
-  <restore requires_reboot = "no"/>
-</backup_registration>
--- a/idlehomescreen/widgetmanager/sis/widgetmanager_stub.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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: widgetmanager_stub.pkg
-;
-
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"Widget Manager"},(0x20026F53),1,0,0,TYPE=SA
-
-;Localized Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
Binary file idlehomescreen/widgetmanager/sis/widgetmanager_stub.sis has changed
--- a/idlehomescreen/widgetmanager/sis/widgetmanager_udeb.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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: widgetmanager.pkg
-;
-
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"Widget Manager"},(0x20026F53),1,1,0,TYPE=SA,RU
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 5.0
-[0x1028315F], 0, 0, 0, {"S60ProductID"}
-
-;We need to force update to be installed to c-drive
-;becouse we are part of the homescreen. If update was installed to memcard
-;homescreen will be closed when memcard is removed.
-
-; widgetmanager plugin and plugin resource
-"\epoc32\release\armv5\udeb\widgetmanager.dll"          -"C:\sys\bin\widgetmanager.dll"
-"\epoc32\data\z\resource\plugins\widgetmanager.rsc"     -"C:\resource\plugins\widgetmanager.rsc"
-
-; widgetmanager resource file
-"\epoc32\data\z\resource\apps\widgetmanagerview.rsc"    -"C:\resource\apps\widgetmanagerview.rsc"
-
-; These two languages are added just for testing. If sis update is really used for providing
-; updates to end user these need to be fixed.
-"\epoc32\data\z\resource\apps\widgetmanagerview.r01"    -"C:\resource\apps\widgetmanagerview.r01"
-"\epoc32\data\z\resource\apps\widgetmanagerview.r02"    -"C:\resource\apps\widgetmanagerview.r02"
-
-; widgetmanager icons
-"\epoc32\data\z\resource\apps\widgetmanager.mif"        -"C:\resource\apps\widgetmanager.mif"
-
-; cenrep
-"\epoc32\data\z\private\10202be9\20026F53.txt"           -"C:\private\10202be9\20026F53.txt"
-
--- a/idlehomescreen/widgetmanager/sis/widgetmanager_urel.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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: widgetmanager.pkg
-;
-
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"Widget Manager"},(0x20026F53),1,1,0,TYPE=SA,RU
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 5.0
-[0x1028315F], 0, 0, 0, {"S60ProductID"}
-
-;We need to force update to be installed to c-drive
-;becouse we are part of the homescreen. If update was installed to memcard
-;homescreen will be closed when memcard is removed.
-
-; widgetmanager plugin and plugin resource
-"\epoc32\release\armv5\urel\widgetmanager.dll"          -"C:\sys\bin\widgetmanager.dll"
-"\epoc32\data\z\resource\plugins\widgetmanager.rsc"     -"C:\resource\plugins\widgetmanager.rsc"
-
-; widgetmanager resource file
-"\epoc32\data\z\resource\apps\widgetmanagerview.rsc"    -"C:\resource\apps\widgetmanagerview.rsc"
-
-; These two languages are added just for testing. If sis update is really used for providing
-; updates to end user these need to be fixed.
-"\epoc32\data\z\resource\apps\widgetmanagerview.r01"    -"C:\resource\apps\widgetmanagerview.r01"
-"\epoc32\data\z\resource\apps\widgetmanagerview.r02"    -"C:\resource\apps\widgetmanagerview.r02"
-
-; widgetmanager icons
-"\epoc32\data\z\resource\apps\widgetmanager.mif"        -"C:\resource\apps\widgetmanager.mif"
-
-; cenrep
-"\epoc32\data\z\private\10202be9\20026F53.txt"           -"C:\private\10202be9\20026F53.txt"
-
--- a/idlehomescreen/widgetmanager/src/wmconfiguration.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,363 +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:
-* WidgetManager configuration class
-*
-*/
-
-// INCLUDE FILES
-#include <centralrepository.h>
-#include <StringLoader.h>
-#include <aknsconstants.h>
-
-#include <widgetmanagerview.rsg>
-#include <widgetmanager.mbg>
-#include "wmconfiguration.h"
-#include "wmresourceloader.h"
-#include "wmcrkeys.h"
-
-// some constants regarging the central repository localised section.
-// these will ensure CR localisation section compatibility even if
-// new strings are added
-const TInt KLangOffsetOviStoreUrl = KOviStoreBrowserUrl0 - KLangId0;
-const TInt KLangOffsetOperatorUrl = KOperatorButtonUrl0 - KLangId0;
-const TInt KLangOffsetOperatorText = KOperatorButtonText0 - KLangId0;
-const TInt KLangGroupSize = KLangId1 - KLangId0;
-const TUint32 KLastLangId = KLangId9;
-
-
-// ---------------------------------------------------------
-// CWmConfiguration::NewL
-// ---------------------------------------------------------
-//
-CWmConfiguration* CWmConfiguration::NewL(
-        CWmResourceLoader& aResourceLoader )
-    {
-    CWmConfiguration* self = new (ELeave) CWmConfiguration( aResourceLoader );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::CWmConfiguration()
-// ---------------------------------------------------------
-//
-CWmConfiguration::CWmConfiguration(
-        CWmResourceLoader& aResourceLoader )
-    : iResourceLoader( aResourceLoader )
-	{
-    iRepository = NULL;
-    iOviStoreBundleId = NULL;
-    iOviStoreClientParam = NULL;
-    iOviButtonTitle = NULL;
-    iOviButtonIcon = NULL;
-    iOviButtonUrl = NULL;
-    iOperatorButtonTitle = NULL;
-    iOperatorButtonIcon = NULL;
-    iOperatorButtonUrl = NULL;
-	}
-
-// ---------------------------------------------------------
-// CWmConfiguration::~CWmConfiguration()
-// ---------------------------------------------------------
-//
-CWmConfiguration::~CWmConfiguration()
-	{
-    delete iRepository;
-    delete iOviStoreBundleId;
-    delete iOviStoreClientParam;
-    delete iOviButtonTitle;
-    delete iOviButtonIcon;
-    delete iOviButtonUrl;
-    delete iOperatorButtonTitle;
-    delete iOperatorButtonIcon;
-    delete iOperatorButtonUrl;
-	}
-
-// ---------------------------------------------------------
-// CWmConfiguration::ConstructL
-// ---------------------------------------------------------
-//
-void CWmConfiguration::ConstructL()
-	{
-	// localised ovistore button text
-    iOviButtonTitle = StringLoader::LoadL( R_QTN_WM_GO_TO_OVI_STORE );
-
-    // ovistore icon descriptor. It will look something like this:
-    // skin( 0x101f86e3 0x23f6 ):mif( z:\resource\apps\widgetmanager.mif 16388 16389 )
-    _LIT( KSkinMifIconFormat, "skin( 0x%x 0x%x ):mif( %S %d %d )");
-    const TInt KMaxIconDescriptorLength = 256;
-    TBuf<KMaxIconDescriptorLength> buf;
-    buf.Format( KSkinMifIconFormat(),
-             EAknsMajorGeneric, EAknsMinorGenericQgnMenuOviStore,
-             &iResourceLoader.IconFilePath(),
-             EMbmWidgetmanagerQgn_menu_ovistore,
-             EMbmWidgetmanagerQgn_menu_ovistore_mask );
-    iOviButtonIcon = buf.AllocL();
-
-    // read data from repository
-    TRAP_IGNORE( LoadConfigurationL(); );
-
-	}
-
-// ---------------------------------------------------------
-// CWmConfiguration::LoadConfigurationL
-// ---------------------------------------------------------
-//
-void CWmConfiguration::LoadConfigurationL()
-    {
-    iRepository = CRepository::NewL( 
-            TUid::Uid( KCrWidgetManagerm ) );
-
-    // read fixed parameters
-    iOviStoreBundleId = ReadParameterL( KOviStoreBundleId );
-    iOviStoreClientParam = ReadParameterL( KOviStoreClientParam );
-    // determine language and read localised parameters
-    iLanguageIndex = FindCorrectLanguageId();
-    iOviButtonUrl = ReadLocalisedParameterL( KLangOffsetOviStoreUrl );
-    iOperatorButtonTitle = ReadLocalisedParameterL( KLangOffsetOperatorText );
-    iOperatorButtonUrl = ReadLocalisedParameterL( KLangOffsetOperatorUrl );
-
-    if ( iOperatorButtonUrl && iOperatorButtonUrl->Length() > 0 )
-        {
-        // construct the operator button icon.
-        iOperatorButtonIcon = ReadParameterL( KOperatorButtonIcon );
-        }
-
-    delete iRepository;
-    iRepository = NULL;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::FindCorrectLanguageId
-// ---------------------------------------------------------
-//
-TInt CWmConfiguration::FindCorrectLanguageId()
-    {
-    TInt languageIndex = KErrNotFound; // the correct language
-    TInt englishIndex = KErrNotFound; // english
-    TInt anyIndex = KErrNotFound; // backup - any existing
-    TLanguage sysLang = User::Language();
-    
-    //read language id's from cenrep, find a match
-    for( TUint32 i=KLangId0; i<=KLastLangId && languageIndex<0; i+=KLangGroupSize )
-        {
-        TInt crLang = 0;
-        if ( iRepository->Get( i, crLang ) == KErrNone )
-            {
-            if ( crLang == sysLang && languageIndex < 0 )
-                { languageIndex = i; }
-            if ( crLang == ELangEnglish && englishIndex < 0 )
-                { englishIndex = i; }
-            if ( crLang > 0 && anyIndex < 0 )
-                { anyIndex = i; }
-            }
-        }
-    
-    // if correct language was not found, use english
-    if ( languageIndex < 0 ) languageIndex = englishIndex;
-    // if english was not found, use any configured language
-    if ( languageIndex < 0 ) languageIndex = anyIndex;
-    // if there are no languages configured, we're in trouble...
-    if ( languageIndex < 0 ) languageIndex = 0;
-    
-    return languageIndex;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::ReadParameterL
-// ---------------------------------------------------------
-//
-HBufC* CWmConfiguration::ReadParameterL( TInt aKey )
-    {
-    TBuf<NCentralRepositoryConstants::KMaxUnicodeStringLength> buf;
-    TInt err = iRepository->Get( aKey, buf );
-
-    HBufC* heapBuffer = NULL;
-    if ( err == KErrNone )
-        {
-        heapBuffer = HBufC::NewL( buf.Length() );
-        heapBuffer->Des().Copy( buf );
-        }
-    return heapBuffer;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::ReadLocalisedParameterL
-// ---------------------------------------------------------
-//
-HBufC* CWmConfiguration::ReadLocalisedParameterL(
-        TInt aOffset )
-    {
-    TBuf<NCentralRepositoryConstants::KMaxUnicodeStringLength> buf;
-    TInt err = KErrNone;
-    
-    err = iRepository->Get( iLanguageIndex + aOffset, buf );
-    if ( err != KErrNone || buf.Length() == 0 )
-        {
-        // This language is empty. Try default language (index 0)
-        err = iRepository->Get( KLangId0 + aOffset, buf );
-        }
-
-    // construct string in heap
-    HBufC* heapBuffer = NULL;
-    if ( err == KErrNone )
-        {
-        heapBuffer = buf.AllocL();
-        }
-    return heapBuffer;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonCount
-// ---------------------------------------------------------
-//
-TInt CWmConfiguration::PortalButtonCount()
-    {
-    if ( iOperatorButtonUrl && iOperatorButtonUrl->Length() > 0 )
-        return 2;
-    return 1;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonText
-// ---------------------------------------------------------
-//
-const TDesC& CWmConfiguration::PortalButtonText( TInt aIndex )
-    {
-    IndexConversion( aIndex );
-    if ( aIndex == 0 && iOviButtonTitle )
-        return *iOviButtonTitle;
-    if ( aIndex == 1 && iOperatorButtonTitle )
-        return *iOperatorButtonTitle;
-    return KNullDesC;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonIcon
-// ---------------------------------------------------------
-//
-const TDesC& CWmConfiguration::PortalButtonIcon( TInt aIndex )
-    {
-    IndexConversion( aIndex );
-    if ( aIndex == 0 && iOviButtonIcon )
-        return *iOviButtonIcon;
-    if ( aIndex == 1 && iOperatorButtonIcon )
-        return *iOperatorButtonIcon;
-    return KNullDesC;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonPrimaryMethod
-// ---------------------------------------------------------
-//
-CWmConfiguration::TMethod
-    CWmConfiguration::PortalButtonPrimaryMethod( TInt aIndex )
-    {
-    IndexConversion( aIndex );
-    if ( aIndex == 0 && iOviStoreBundleId && iOviStoreBundleId->Length() > 0 )
-        return EWidget;
-    if ( aIndex == 1 && iOperatorButtonUrl && iOperatorButtonUrl->Length() > 0 )
-        return EHttp;
-    return ENone;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonPrimaryService
-// ---------------------------------------------------------
-//
-const TDesC&
-    CWmConfiguration::PortalButtonPrimaryService( TInt aIndex )
-    {
-    IndexConversion( aIndex );
-    if ( aIndex == 0 && iOviStoreBundleId && iOviStoreBundleId->Length() > 0 )
-        return *iOviStoreBundleId;
-    return KNullDesC;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonPrimaryParams
-// ---------------------------------------------------------
-//
-const TDesC&
-    CWmConfiguration::PortalButtonPrimaryParams( TInt aIndex )
-    {
-    IndexConversion( aIndex );
-    if ( aIndex == 0 && iOviStoreClientParam )
-        return *iOviStoreClientParam;
-    if ( aIndex == 1 && iOperatorButtonUrl )
-        return *iOperatorButtonUrl;
-    return KNullDesC;
-    }
-
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonSecondaryMethod
-// ---------------------------------------------------------
-//
-CWmConfiguration::TMethod
-    CWmConfiguration::PortalButtonSecondaryMethod( TInt aIndex )
-    {
-    IndexConversion( aIndex );
-    if ( aIndex == 0 && iOviButtonUrl && iOviButtonUrl->Length() > 0 )
-        return EHttp;
-    return ENone;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonSecondaryService
-// ---------------------------------------------------------
-//
-const TDesC&
-    CWmConfiguration::PortalButtonSecondaryService( TInt aIndex )
-    {
-    IndexConversion( aIndex );
-    return KNullDesC;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::PortalButtonSecondaryParams
-// ---------------------------------------------------------
-//
-const TDesC&
-    CWmConfiguration::PortalButtonSecondaryParams( TInt aIndex )
-    {
-    IndexConversion( aIndex );
-    if ( aIndex == 0 && iOviButtonUrl )
-        return *iOviButtonUrl;
-    return KNullDesC;
-    }
-
-// ---------------------------------------------------------
-// CWmConfiguration::IndexConversion
-// ---------------------------------------------------------
-//
-void CWmConfiguration::IndexConversion( TInt& /*aIndex*/ )
-    {
-    // if there is a need to configure switching button places
-    // (operator button left, then OVI button) then this method
-    // would have something like this:
-    
-    // if ( iSwitchButtons ) aIndex = 1 - aIndex;
-    
-    // but for now, this method is empty.
-    }
-
-
-
-
-// End of File
-
--- a/idlehomescreen/widgetmanager/src/wmdetailsdlg.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,562 +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:
-* Implementation of the widget details dlg for WidgetManager
-*
-*/
-
-// INCLUDE FILES
-#include <gdi.h>
-#include <eikrted.h> // for CRichTextEditor
-#include <txtrich.h> // for CRichText
-#include <AknUtils.h> // for AknUtils
-#include <AknsUtils.h> // MAknsSkinInstance
-#include <AknsDrawUtils.h> // AknsDrawUtils
-#include <applayout.cdl.h> //layout
-#include <layoutmetadata.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknMarqueeControl.h>
-#include <widgetmanagerview.rsg>
-#include "widgetmanager.hrh"
-#include "wmdetailsdlg.h"
-
-
-// CONSTANTS
-
-
-// MEMBER FUNCTIONS
-
-// ---------------------------------------------------------
-// CWmDetailsDlg::NewL
-// ---------------------------------------------------------
-//
-CWmDetailsDlg* CWmDetailsDlg::NewL(
-			const TDesC& aName,
-	        const TDesC& aDescription,
-	        TBool  aCanBeAdded,
-            const CFbsBitmap* aLogoBmp,
-            const CFbsBitmap* aLogoMask )
-    {
-    CWmDetailsDlg* self = new ( ELeave ) CWmDetailsDlg( aCanBeAdded );
-    CleanupStack::PushL( self );
-    self->ConstructL( aName, aDescription, aLogoBmp, aLogoMask );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmDetailsDlg::CWmDetailsDlg
-// ---------------------------------------------------------
-//
-CWmDetailsDlg::CWmDetailsDlg( TBool  aCanBeAdded )
-    : CAknDialog(),
-    iCanBeAdded( aCanBeAdded ),
-    iNeedToScroll( EFalse )
-    {
-    iBorder = TGulBorder::ERaisedControl;    
-    }
-
-// ---------------------------------------------------------
-// CWmDetailsDlg::~CWmDetailsDlg
-// ---------------------------------------------------------
-//
-CWmDetailsDlg::~CWmDetailsDlg()
-    {
-    StopMarquee();
-    iEikonEnv->RemoveFromStack( iRtEditor );
-    iEikonEnv->RemoveFromStack( this );
-    delete iRtEditor;
-    delete iMarquee;
-    delete iName;
-    delete iDescription;
-    delete iLogoBmp;
-    delete iLogoMask;
-    delete iBgContext;
-    }
-
-// -----------------------------------------------------------------------------
-// CWmDetailsDlg::ExecuteLD
-// -----------------------------------------------------------------------------
-//
-TInt CWmDetailsDlg::ExecuteLD()
-    {
-    if ( iCanBeAdded )
-        {
-        return CAknDialog::ExecuteLD( R_WM_DETAILS_ADD_DIALOG );
-        }
-    else
-        {
-        return CAknDialog::ExecuteLD( R_WM_DETAILS_ONLY_DIALOG );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmDetailsDlg::ConstructL
-// ---------------------------------------------------------
-//
-void CWmDetailsDlg::ConstructL(
-			const TDesC& aName,
-	        const TDesC& aDescription,
-            const CFbsBitmap* aLogoBmp,
-            const CFbsBitmap* aLogoMask )
-    {
-    if ( !aLogoBmp )
-        {
-        User::Leave( KErrArgument );
-        }
- 
-	CAknDialog::ConstructL( R_AVKON_DIALOG_EMPTY_MENUBAR );
-    
-	iBgContext = CAknsBasicBackgroundControlContext::NewL( 
-	        KAknsIIDQsnFrPopupCenter, TRect(0,0,1,1), EFalse);
-
-	iName = aName.AllocL();
-	iDescription = aDescription.AllocL();
-
-	// create bitmap and duplicate handle
-	iLogoBmp = new ( ELeave ) CFbsBitmap;
-    TSize newSize = TSize( aLogoBmp->SizeInPixels().iWidth ,
-                           aLogoBmp->SizeInPixels().iHeight );
-    User::LeaveIfError( iLogoBmp->Create( newSize, aLogoBmp->DisplayMode() ) );    
-    User::LeaveIfError( iLogoBmp->Duplicate( aLogoBmp->Handle() ) );
-	
-    if ( aLogoMask )
-        {
-        iLogoMask = new ( ELeave ) CFbsBitmap;
-        newSize = TSize( aLogoMask->SizeInPixels().iWidth ,
-                         aLogoMask->SizeInPixels().iHeight );
-        User::LeaveIfError( iLogoMask->Create( newSize, aLogoMask->DisplayMode() ) );    
-        User::LeaveIfError( iLogoMask->Duplicate( aLogoMask->Handle() ) );
-        }
-    
-    iEikonEnv->AddWindowShadow( static_cast<CCoeControl*>(this) );
-    }
-
-// -----------------------------------------------------------------------------
-// CWmDetailsDlg::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CWmDetailsDlg::OkToExitL( TInt aButtonId )
-	{
-    if ( aButtonId == ECbaAddToHs ||
-		aButtonId == EAknSoftkeyClose )
-        {
-        // Close dlg
-        return ETrue;
-        }
-    return EFalse;
-	}
-
-// -----------------------------------------------------------------------------
-// CWmDetailsDlg::PreLayoutDynInitL
-// -----------------------------------------------------------------------------
-//
-void CWmDetailsDlg::PreLayoutDynInitL()
-    {
-    iRtEditor = new(ELeave) CEikRichTextEditor();
-    iRtEditor->ConstructL( this, 
-                        0, 
-                        0, 
-                        CEikEdwin::EReadOnly | 
-                        CEikEdwin::ENoAutoSelection | 
-                        CEikEdwin::EAvkonDisableCursor |
-                        CEikEdwin::EDisplayOnly );
-    iRtEditor->SetContainerWindowL(*this);
-    iRtEditor->SetAknEditorFlags( 
-                    EAknEditorFlagEnableScrollBars | 
-                    EEikEdwinAvkonDisableCursor |
-                    EEikEdwinDisplayOnly |
-                    EEikEdwinReadOnly );
-
-    CEikScrollBarFrame* scrollBarFrame = iRtEditor->CreateScrollBarFrameL();
-    scrollBarFrame->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-                                             CEikScrollBarFrame::EOff ); // set to EAuto 
-                                             // when layout fixed. ~wk04_2010
-                                             // currently scrollbar overlaps cba.
-    
-    iMarquee = CAknMarqueeControl::NewL();
-    TCallBack callback( RedrawCallback, this );
-    iMarquee->SetRedrawCallBack( callback );
-    iMarquee->SetLoops( 1 );
-    iMarquee->SetContainerWindowL( *this );
-    
-    InsertAndFormatContentL();
-    iRtEditor->UpdateScrollBarsL();
-    }
-
-//------------------------------------------------------------------------------
-// CWmDetailsDlg::InsertAndFormatContentL
-//------------------------------------------------------------------------------
-//
-void CWmDetailsDlg::InsertAndFormatContentL()
-    {
-    CRichText* richText = iRtEditor->RichText();
-    
-    richText->Reset();
-    richText->InsertL( richText->DocumentLength(), *iDescription );
-
-    // change the color of the text according to the skin color
-    TRgb color = KRgbBlack;
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsUtils::GetCachedColor(skin, color, KAknsIIDQsnTextColors, 
-                                                    EAknsCIQsnTextColorsCG6 );
-
-    // Format text 
-    iRtEditor->SetSelectionL( 0, richText->DocumentLength() );
-
-    // Get a logical font to base my font on:
-    const CFont* logicalFont = AknLayoutUtils::FontFromId(EAknLogicalFontPrimarySmallFont);
-    // Extract font information
-    TFontSpec fontspec = logicalFont->FontSpecInTwips();
-    TCharFormat charFormat(fontspec.iTypeface.iName, fontspec.iHeight);
-    TCharFormatMask charFormatMask;
-    CParaFormat paraFormat;
-    TParaFormatMask paraFormatMask;
-    if ( Layout_Meta_Data::IsMirrored() )
-        {
-        paraFormat.iHorizontalAlignment = CParaFormat::ERightAlign;
-        }
-    else
-        {
-        paraFormat.iHorizontalAlignment = CParaFormat::ELeftAlign;
-        }
-    charFormat.iFontPresentation.iTextColor = color;
-    paraFormatMask.SetAttrib(EAttAlignment);
-    charFormatMask.SetAttrib(EAttFontTypeface);
-    charFormatMask.SetAttrib(EAttFontHeight);
-    charFormatMask.SetAttrib(EAttColor);
-    iRtEditor->ApplyParaFormatL(&paraFormat, paraFormatMask);
-    iRtEditor->ApplyCharFormatL(charFormat, charFormatMask);
-    iRtEditor->ClearSelectionL();
-    }
-
-//------------------------------------------------------------------------------
-// CWmDetailsDlg::CountComponentControls
-//------------------------------------------------------------------------------
-//
-TInt CWmDetailsDlg::CountComponentControls() const
-    {
-    TInt count( 0 );
-    if ( iRtEditor )
-        count++;
-    if ( iMarquee )
-        count++;
-    return count;
-    }
-
-//------------------------------------------------------------------------------
-// CWmDetailsDlg::ComponentControl
-//------------------------------------------------------------------------------
-//
-CCoeControl* CWmDetailsDlg::ComponentControl(TInt aIndex) const
-    {
-    switch (aIndex)
-        {
-        case 0:
-            return iRtEditor;
-        case 1:
-            return iMarquee;
-        default:
-            return NULL;
-        }
-    }
-
-//------------------------------------------------------------------------------
-// CWmDetailsDlg::ActivateL
-//------------------------------------------------------------------------------
-//
-void CWmDetailsDlg::ActivateL()
-	{
-    CAknDialog::ActivateL();
-	iEikonEnv->EikAppUi()->AddToStackL( this, ECoeStackPriorityDialog );
-    iEikonEnv->EikAppUi()->AddToStackL( iRtEditor );    
-    iRtEditor->SetFocus( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// CWmDetailsDlg::SetSizeAndPosition
-// -----------------------------------------------------------------------------
-//
-void CWmDetailsDlg::SetSizeAndPosition( const TSize& /*aSize*/ )
-    {    
-    TRect mainPane;
-    AknLayoutUtils::LayoutMetricsRect(
-            AknLayoutUtils::EApplicationWindow, mainPane );
-    TAknWindowLineLayout dlgWindow = AknLayoutScalable_Apps
-               ::popup_wgtman_window().LayoutLine();
-    AknLayoutUtils::LayoutControl( this, mainPane, dlgWindow );
-    }
-
-// -----------------------------------------------------------------------------
-// CWmDetailsDlg::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CWmDetailsDlg::SizeChanged()
-    {
-    CAknDialog::SizeChanged();
-    TRect rect = Rect();
-    if ( iBgContext ) { iBgContext->SetRect( rect ); }
-    if ( iRtEditor ) 
-        {
-        TAknLayoutRect layoutRect;
-        TAknWindowLineLayout contentPane = AknLayoutScalable_Apps
-                   ::wgtman_content_pane().LayoutLine();        
-        TAknWindowLineLayout rtePane = AknLayoutScalable_Apps
-                   ::wgtman_list_pane().LayoutLine();
-        layoutRect.LayoutRect( rect, contentPane );
-        AknLayoutUtils::LayoutControl( iRtEditor, layoutRect.Rect(), rtePane );
-        CEikScrollBarFrame* sbFrame = iRtEditor->ScrollBarFrame();
-        if ( sbFrame && sbFrame->VScrollBarVisibility() != CEikScrollBarFrame::EOff )
-            {
-            CEikScrollBar* scrollBar = sbFrame->VerticalScrollBar();
-            TAknWindowLineLayout scrollPane = AknLayoutScalable_Apps
-                           ::scroll_pane_cp036().LayoutLine();
-            AknLayoutUtils::LayoutControl( scrollBar, layoutRect.Rect(), scrollPane );
-            }
-        TRAP_IGNORE( 
-            iRtEditor->SetSkinBackgroundControlContextL( iBgContext );
-            InsertAndFormatContentL(); );
-
-        StartMarquee();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CWmDetailsDlg::SupplyMopObject
-// ----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CWmDetailsDlg::MopSupplyObject( TTypeUid aId )
-    {
-    if ( aId.iUid == MAknsControlContext::ETypeId )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CAknDialog::MopSupplyObject( aId );
-    }
-	
-// ----------------------------------------------------------------------------
-// CWmDetailsDlg::OfferKeyEventL
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CWmDetailsDlg::OfferKeyEventL( const TKeyEvent& aKeyEvent,TEventCode aType )
-	{
-	if (aType == EEventKey)
-		{
-		switch (aKeyEvent.iCode)
-			{			
-			case EKeyEscape:
-				{
-				// framework calls this when dialog must shut down
-				return CAknDialog::OfferKeyEventL( aKeyEvent, aType );
-        		}
-			case EKeyDownArrow:
-                {
-                if ( iRtEditor )
-                    {
-                    iRtEditor->MoveCursorL(TCursorPosition::EFPageDown, EFalse);
-                    return EKeyWasConsumed;
-                    }
-                }
-            case EKeyUpArrow:
-                {
-                if ( iRtEditor )
-                    {
-                    iRtEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse);
-                    return EKeyWasConsumed;
-                    }
-                }				
-            default:
-				{
-				if ( iRtEditor )
-					{
-					return iRtEditor->OfferKeyEventL( aKeyEvent, aType );
-					}
-			    break;
-				}
-			}
-		}
-	return CAknDialog::OfferKeyEventL( aKeyEvent, aType);
-	}
-
-// -----------------------------------------------------------------------------
-// CWmDetailsDlg::Draw
-// -----------------------------------------------------------------------------
-//
-void CWmDetailsDlg::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc();
-    TRect rect = Rect();
-    TRect innerRect( rect );
-    TRgb color = KRgbBlack;
-    const TInt offSet = 5;
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-
-    // draw background
-    if ( !AknsDrawUtils::Background( skin, cc, this, gc, innerRect ) )
-        {
-        gc.SetPenStyle( CGraphicsContext::ENullPen );
-        gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-        gc.SetBrushColor( AKN_LAF_COLOR( 0 ) );
-        gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-        gc.DrawRect( innerRect );
-        gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-        }
-
-    // draw logo
-    TAknLayoutRect layoutRect;
-    TAknWindowLineLayout headingPane = AknLayoutScalable_Apps
-               ::wgtman_heading_pane().LayoutLine();        
-    layoutRect.LayoutRect( rect, headingPane );
-
-    if( iLogoBmp && iLogoMask )
-        {
-        TAknLayoutRect logoLayout;
-        logoLayout.LayoutRect( layoutRect.Rect(),AknLayoutScalable_Apps
-                ::wgtman_heading_pane_g1().LayoutLine() );        
-        logoLayout.DrawImage( gc, iLogoBmp, iLogoMask );
-        }
-    
-    AknsUtils::GetCachedColor( 
-                    skin, color, 
-                    KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
-
-    // DRAW TEXT
-    TAknTextLineLayout titleTextLayout = 
-              AknLayoutScalable_Apps::wgtman_heading_pane_t1().LayoutLine();
-    TAknLayoutText textLayoutTitle;
-    textLayoutTitle.LayoutText( layoutRect.Rect(), titleTextLayout );
-    
-    const CFont* font = textLayoutTitle.Font();
-    if ( !font ) 
-        {
-        font = AknLayoutUtils::FontFromId( EAknLogicalFontPrimaryFont ); 
-        }
-
-    gc.UseFont( font );
-    gc.SetPenColor( color );
-    gc.SetPenStyle( CGraphicsContext::ESolidPen );
-    
-    TBool truncate( ETrue );
-
-    // check if name needs scrolling
-    if ( textLayoutTitle.Font()->TextWidthInPixels( *iName ) > 
-        textLayoutTitle.TextRect().Width() && IsFocused() )
-        {
-        const_cast<CWmDetailsDlg&>(*this).iNeedToScroll = ETrue;
-        const_cast<CWmDetailsDlg&>(*this).StartMarquee();
-        truncate = iMarquee->DrawText(
-                        gc, textLayoutTitle.TextRect(), *iName,               
-                        (textLayoutTitle.TextRect().Height() - font->FontMaxDescent()),
-                        CGraphicsContext::ELeft, *font );
-        }
-
-    if ( truncate )
-        {
-        const_cast<CWmDetailsDlg&>(*this).StopMarquee();
-        textLayoutTitle.DrawText( gc, *iName, ETrue, color );
-        }
-
-    gc.DiscardFont();
-
-    // draw the rounded rectangle as border
-    const TInt KFrameRoundRadius = 3;
-    const TInt KBorderWidth = 2;
-    gc.SetPenSize( TSize( KBorderWidth, KBorderWidth ) );    
-    gc.DrawRoundRect( innerRect, TSize( KFrameRoundRadius, KFrameRoundRadius ) );
-    
-    // draw shadow
-    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-    gc.SetPenStyle( CGraphicsContext::ESolidPen );
-    gc.SetBrushColor( color );
-    gc.SetPenColor( color );
-    TRect rightShadowArea = Rect();
-    rightShadowArea.iTl.iX = rightShadowArea.iBr.iX - offSet;
-    rightShadowArea.iTl.iY += offSet/2;
-    gc.DrawRect(rightShadowArea);
-    TRect bottomShadowArea = Rect();
-    bottomShadowArea.iTl.iX += offSet/2;
-    bottomShadowArea.iTl.iY += bottomShadowArea.iBr.iY - offSet;
-    gc.DrawRect( bottomShadowArea );
-    gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-    gc.SetPenStyle( CGraphicsContext::ENullPen );
-    }
-
-// ---------------------------------------------------------
-// CWmDetailsDlg::RedrawCallback
-// ---------------------------------------------------------
-//
-TInt CWmDetailsDlg::RedrawCallback( TAny* aPtr )
-    {
-    CWmDetailsDlg* self = 
-        static_cast<CWmDetailsDlg*>( aPtr );
-    if ( !self->iNeedToScroll )
-        {
-        self->StopMarquee();    
-        }
-    self->DrawDeferred();
-    return static_cast<TBool>( ETrue );
-    }
-
-// ---------------------------------------------------------
-// CWmDetailsDlg::StartMarquee
-// ---------------------------------------------------------
-//
-void CWmDetailsDlg::StartMarquee()
-    {
-    if ( iMarquee && iNeedToScroll &&
-        !iMarquee->IsMarqueeOn() )
-        {
-        iMarquee->Reset();
-        iMarquee->EnableMarquee( iNeedToScroll );
-        iMarquee->Start();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmDetailsDlg::StopMarquee
-// ---------------------------------------------------------
-//
-void CWmDetailsDlg::StopMarquee()
-    {
-    if ( iMarquee && iMarquee->IsMarqueeOn() )
-        {
-        iMarquee->EnableMarquee( EFalse );
-        iMarquee->Stop();        
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmDetailsDlg::FocusChanged
-// ---------------------------------------------------------
-//
-void CWmDetailsDlg::FocusChanged( TDrawNow aDrawNow )
-    {
-    CCoeControl::FocusChanged( aDrawNow );
-    if ( IsFocused() )
-        {
-        StartMarquee();
-        }
-    else
-        {
-        StopMarquee();
-        }
-    }
-
-
-// End of File
-
--- a/idlehomescreen/widgetmanager/src/wmeffectmanager.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +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:  Effect manager.
-*
-*/
-
-
-// SYSTEM INCLUDE FILES
-#include <eikapp.h>
-#include <aknappui.h>
-#include <gfxtranseffect/gfxtranseffect.h>  // For transition effects
-#include <akntranseffect.h>                 // For transition effects
-
-// INCLUDE FILES
-#include "wmeffectmanager.h"
-
-// CONSTANTS
-const TInt KEffectTypeFullscreen = 1;
-
-const TInt KWaitForLayout = 1;
-const TInt KEffectStarted = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CWmEffectManager::CWmEffectManager( CCoeEnv& aCoeEnv ): iCoeEnv (aCoeEnv)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CWmEffectManager::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CWmEffectManager* CWmEffectManager::NewL( CCoeEnv& aCoeEnv )
-    {
-    CWmEffectManager* self = new (ELeave) CWmEffectManager( aCoeEnv );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CWmEffectManager::~CWmEffectManager()
-    {
-    GfxTransEffect::AbortFullScreen();
-    iEffects.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CWmEffectManager::BeginFullscreenEffectL
-// -----------------------------------------------------------------------------
-//
-void CWmEffectManager::BeginFullscreenEffectL( TInt aId )
-    {
-    TWmEffect* effect = new (ELeave) TWmEffect;
-    CleanupStack::PushL( effect );
-    effect->iId = aId;
-    effect->iType = KEffectTypeFullscreen;
-    effect->iState = KWaitForLayout;
-    iEffects.Append( effect );
-    
-    CleanupStack::Pop( effect );
-
-    DoBeginFullscreenEffect( *effect );
-    }
-
-// -----------------------------------------------------------------------------
-// CWmEffectManager::UiRendered
-// -----------------------------------------------------------------------------
-//
-void CWmEffectManager::UiRendered()
-    {
-    for ( TInt i = 0; i < iEffects.Count(); )
-        {
-        TWmEffect* effect = iEffects[i];
-        if ( effect && effect->iState == KEffectStarted )
-            {
-            GfxTransEffect::EndFullScreen();
-            RemoveEffect( effect );
-            }
-        else
-            {
-            // RemoveEffect() will remove from iEffects array and
-            // thats why we need to have conter in else
-            i++;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CWmEffectManager::DoBeginFullscreenEffect
-// -----------------------------------------------------------------------------
-//
-void CWmEffectManager::DoBeginFullscreenEffect( TWmEffect& aEffect )
-    {
-    if ( iCoeEnv.WsSession().GetFocusWindowGroup() != 
-         iCoeEnv.RootWin().Identifier() )
-        {
-        // Window group is not focused
-        RemoveEffect( &aEffect );
-        return;
-        }
-
-    const TInt flags( AknTransEffect::TParameter::EActivateExplicitCancel );
-    const TUid targetAppUid( iAvkonAppUi->Application()->AppDllUid() );
-
-    // Set effect begin point
-    GfxTransEffect::BeginFullScreen( aEffect.iId , iAvkonAppUi->ClientRect(),
-        AknTransEffect::EParameterType, AknTransEffect::GfxTransParam(
-        targetAppUid, flags ) );
-    
-    aEffect.iState = KEffectStarted;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::RemoveEffect
-// -----------------------------------------------------------------------------
-//
-void CWmEffectManager::RemoveEffect( TWmEffect* aEffect )
-    {
-    TInt index = iEffects.Find( aEffect );
-    if ( index != KErrNotFound )
-        {
-        TWmEffect* temp = iEffects[index];
-        iEffects.Remove( index );
-        delete temp;
-        }
-    }
-
-// End fo file
-
--- a/idlehomescreen/widgetmanager/src/wmimageconverter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,955 +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:
-* CWmImageConverter implementation
-*
-*/
-
-#include <fbs.h>
-#include <eikdef.h>
-#include <eikenv.h>
-#include <bautils.h>
-#include <imageconversion.h>
-#include <bitmaptransforms.h>
-#include <AknIconUtils.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <avkon.mbg>
-#include <apgcli.h>
-#include <SVGEngineInterfaceImpl.h>
-#include <widgetregistryconstants.h> // KWidgetUidLowerBound, KWidgetUidUpperBound
-
-#include "wmimageconverter.h"
-
-_LIT( KSkin, 		  "skin" );
-_LIT( KMif, 		  "mif" );
-_LIT( KUid,           "uid" );
-_LIT( KColon,		  ":" );
-_LIT( KSvgExt,        ".svg" );
-_LIT( KHexPrefix,     "0x" );
-const TUint KLeftParenthesis = '(';
-
-// ---------------------------------------------------------
-// CWmImageConverter::NewL
-// ---------------------------------------------------------
-//
-CWmImageConverter* CWmImageConverter::NewL( MConverterObserver* aObserver )
-    {
-    CWmImageConverter* self = 
-        new(ELeave) CWmImageConverter();
-    CleanupStack::PushL( self );    
-    self->ConstructL( aObserver );
-    CleanupStack::Pop(self);
-    return self; 
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::CWmImageConverter 
-// ---------------------------------------------------------
-//
-CWmImageConverter::CWmImageConverter() 
-    : CActive( EPriorityStandard )
-    {
-    iState = EIdle;
-    iBitmap = NULL;
-    iMask = NULL;
-    iObserver = NULL;
-    iConversionMethod = EUnrecognized;
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::ConstructL
-// ---------------------------------------------------------
-//
-void CWmImageConverter::ConstructL( MConverterObserver* aObserver )
-    {
-    User::LeaveIfError( iFs.Connect() );
-    iFs.ShareProtected();
-    iScaler = CBitmapScaler::NewL();
-    iObserver = aObserver;
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::~CWmImageConverter
-// ---------------------------------------------------------
-//
-CWmImageConverter::~CWmImageConverter()
-    {
-    Cancel();
-    delete iImageDecoder;
-    iFs.Close(); 
-    if ( iBitmap ) 
-        {
-        delete iBitmap;
-        iBitmap = NULL;
-        }
-    if ( iMask )
-        {
-        delete iMask; 
-        iMask = NULL;
-        }
-    delete iScaler;
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::HandleIconString
-// ---------------------------------------------------------
-//
-TInt CWmImageConverter::HandleIconString( 
-                            TInt aWidth, TInt aHeight, 
-                            const TDesC& aIconStr )
-    {
-    TInt err( KErrNone );
-    TRAP( err, HandleIconStringL( aWidth, aHeight, aIconStr ); );
-    if ( KErrNone != err )
-        {
-        iState = EFailed;
-        if ( iBitmap ) 
-            {
-            delete iBitmap;
-            iBitmap = NULL;
-            }
-        if ( iMask )
-            {
-            delete iMask; 
-            iMask = NULL;
-            }
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::HandleIconStringL
-// ---------------------------------------------------------
-//
-void CWmImageConverter::HandleIconStringL( 
-                            TInt aWidth, TInt aHeight, 
-                            const TDesC& aIconStr )
-    {
-    iConversionMethod = EUnrecognized;
-    iState = EDecoding;
-    if ( aIconStr.Length() )
-        {
-        TAknsItemID skinItemId;
-        skinItemId.iMajor = 0;
-        skinItemId.iMinor = 0;
-        TInt bitmapId( KErrNotFound );
-        TInt maskId( KErrNotFound );
-        TUid appUid;
-        iFilename = KNullDesC;
-        iScaleNeeded = EFalse;
-        iSize.SetSize( aWidth, aHeight );
-        
-        if ( ResolveSkinIdAndMifId( 
-                aIconStr, skinItemId, bitmapId, maskId, iFilename ) )
-            {
-            if ( bitmapId >= 0 && skinItemId.iMajor > 0 )
-                iConversionMethod = ESkinAndMifIcon;
-            else if ( bitmapId >= 0 )
-                iConversionMethod = EMifIcon;
-            else
-                iConversionMethod = ESkinIcon;
-            CreateSkinOrMifIconL( 
-                    skinItemId, bitmapId, maskId, iFilename );
-            }
-        else if ( ResolveUid( aIconStr, appUid ) )
-            {
-            iConversionMethod = EUidIcon;
-            CreateIconFromUidL( appUid );
-            }
-        else if ( EndsWith( aIconStr, KSvgExt ) )
-            {
-            // filename_with_full_path.svg
-            iConversionMethod = ESvgIcon;
-            CreateIconFromSvgL( aIconStr );
-            }
-        else if ( BaflUtils::FileExists( iFs, aIconStr ) )
-            {
-            // filename_with_full_path.png/jpg
-            iConversionMethod = EImageIcon;
-            CreateIconFromOtherL( aIconStr );
-            }
-        else
-            {
-            User::Leave( KErrArgument );
-            }
-        }
-    else
-        {            
-        User::Leave( KErrArgument );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::CreateIconFromUidL
-// ---------------------------------------------------------
-//
-void CWmImageConverter::CreateIconFromUidL( const TUid& aUid )
-    {
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* mask = NULL;
-    
-    if ( aUid.iUid >= KWidgetUidLowerBound &&
-       aUid.iUid < KWidgetUidUpperBound  )
-        {
-        // AknsUtils::CreateAppIconLC panics incase of WRT
-
-        RApaLsSession lsSession;
-        User::LeaveIfError( lsSession.Connect() );
-        CleanupClosePushL( lsSession );
-        
-        const TInt KAppSizeArraySize = 3;
-        CArrayFixFlat<TSize>* sizeArray = new (ELeave)
-            CArrayFixFlat<TSize>( KAppSizeArraySize );
-        CleanupStack::PushL( sizeArray );
-        User::LeaveIfError( lsSession.GetAppIconSizes( aUid, *sizeArray ) );
-        TSize size;
-        for( TInt i=0; i < sizeArray->Count(); i++ )
-            {
-            size = (*sizeArray)[i];
-            if ( size == iSize )
-                {
-                break;
-                }
-            }
-        CApaMaskedBitmap* maskedBmp = CApaMaskedBitmap::NewLC();
-        User::LeaveIfError( lsSession.GetAppIcon( aUid, size, *maskedBmp ) );
-        iBitmap = static_cast<CFbsBitmap*>( maskedBmp );  // ownership transfered
-        
-        iMask = new ( ELeave ) CFbsBitmap;
-        User::LeaveIfError( iMask->Create( 
-                                    maskedBmp->Mask()->SizeInPixels(), 
-                                    maskedBmp->Mask()->DisplayMode() ) );
-        // duplicate mask, origional is owned by maskedBmp
-        iMask->Duplicate( maskedBmp->Mask()->Handle() );
-        CleanupStack::Pop( maskedBmp );
-        maskedBmp = NULL;
-        CleanupStack::PopAndDestroy(sizeArray); 
-        CleanupStack::PopAndDestroy( &lsSession );
-
-        // scale or notify
-        if ( size == iSize )
-            {
-            iState = EIdle;
-            iObserver->NotifyCompletion( KErrNone );
-            }
-        else
-            {
-            iScaleNeeded = ETrue;
-            ScaleBitmap( iSize.iWidth, iSize.iHeight );
-            }
-        }
-    else if ( aUid.iUid != KNullUid.iUid )
-        {
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        TInt err( KErrNone );
-        TRAP( err,
-                {
-                AknsUtils::CreateAppIconLC( skin, aUid,
-                        EAknsAppIconTypeContext, bitmap, mask );
-                CleanupStack::Pop( 2 ); // for trap
-                }
-            );
-        
-        if( KErrNone != err )
-            {
-            // If icon is not created, try to create default application icon
-            AknsUtils::CreateIconLC( skin,
-                KAknsIIDQgnMenuUnknownLst, bitmap, mask,
-                AknIconUtils::AvkonIconFileName(),
-                EMbmAvkonQgn_menu_unknown_lst,
-                EMbmAvkonQgn_menu_unknown_lst_mask );
-            CleanupStack::Pop( 2 ); // for trap
-            }
-        
-        iBitmap = bitmap;
-        iMask = mask;
-                
-        err = AknIconUtils::SetSize( iBitmap , iSize, EAspectRatioNotPreserved );
-        if ( KErrNone == err )
-            {
-            err = AknIconUtils::SetSize( iMask , iSize, EAspectRatioNotPreserved );
-            }
-
-        // notify observer
-        iState = EIdle;
-        iObserver->NotifyCompletion( err );
-        }
-    else
-        {
-        iState = EIdle;
-        User::Leave( KErrArgument );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::CreateIconFromSvgL
-// ---------------------------------------------------------
-//
-void CWmImageConverter::CreateIconFromSvgL( const TDesC& aFileName )
-    {
-    if ( iBitmap )
-        {
-        delete iBitmap;
-        iBitmap = NULL;
-        }
-    if ( iMask )
-        {
-        delete iMask;
-        iMask = NULL;
-        }
-
-    TDisplayMode mode = CEikonEnv::Static()->ScreenDevice()->DisplayMode();
-    if ( mode >= ERgb ) // currently svg engine doesn't render correctly
-        { mode = EColor16M; } // in this or above mode ( ou1cimx1#229434 )
-    TFontSpec fontspec;
-    
-    CFbsBitmap* frameBuffer = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( frameBuffer );
-    frameBuffer->Create( iSize, mode );
-    
-    CSvgEngineInterfaceImpl* svgEngine = CSvgEngineInterfaceImpl::NewL( 
-            frameBuffer, NULL, fontspec );
-    CleanupStack::PushL( svgEngine );
-    
-    svgEngine->SetDRMMode( EFalse );
-
-    TInt domHandle;
-    CheckSvgErrorL( svgEngine->PrepareDom( aFileName, domHandle ) );
-    
-    CFbsBitmap* bitmap = new(ELeave) CFbsBitmap;    
-    CleanupStack::PushL( bitmap );
-    User::LeaveIfError( bitmap->Create( iSize, mode ) );
-    
-    CFbsBitmap* mask = new(ELeave) CFbsBitmap;    
-    CleanupStack::PushL( mask );
-    User::LeaveIfError( mask->Create( iSize, EGray256 ) );
-    
-    CheckSvgErrorL( svgEngine->UseDom( domHandle, bitmap, mask ) );
-
-    MSvgError* err;
-    svgEngine->Start( err );
-    CheckSvgErrorL( err );
-    
-    CheckSvgErrorL( svgEngine->UseDom( domHandle, NULL, NULL ) );
-    CheckSvgErrorL( svgEngine->DeleteDom( domHandle ) );
-
-    CleanupStack::Pop( mask );
-    CleanupStack::Pop( bitmap );
-    CleanupStack::PopAndDestroy( svgEngine );
-    CleanupStack::PopAndDestroy( frameBuffer );
-    
-    iBitmap = bitmap;
-    iMask = mask;
-    iState = EIdle;
-    iObserver->NotifyCompletion( KErrNone );
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::CheckSvgErrorL
-// ---------------------------------------------------------
-//
-void CWmImageConverter::CheckSvgErrorL( MSvgError* aError )
-    {
-    if ( aError )
-        {
-        User::LeaveIfError( aError->SystemErrorCode() );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::CreateIconFromOtherL
-// ---------------------------------------------------------
-//
-void CWmImageConverter::CreateIconFromOtherL( const TDesC& aFileName )
-    {
-    if ( IsActive() )
-        {
-        User::Leave( KErrNotReady );
-        }
-    
-    if ( iImageDecoder ) delete iImageDecoder; iImageDecoder = NULL;
-    if (iBitmap) {delete iBitmap; iBitmap = NULL;}
-    if (iMask) {delete iMask; iMask = NULL;}
-    
-    iFilename.Copy( aFileName );
-    
-    // create the decoder
-    iImageDecoder = CImageDecoder::FileNewL( iFs, iFilename );
-    
-    TSize size = iImageDecoder->FrameInfo().iOverallSizeInPixels;
-
-    // create the destination bitmap
-    iBitmap = new (ELeave) CFbsBitmap();
-    iBitmap->Create( size,
-                     iImageDecoder->FrameInfo().iFrameDisplayMode ); 
-    
-    iMask = new (ELeave) CFbsBitmap();
-    iMask->Create( size, EGray256 ); 
-    
-    if ( size != iSize )
-        {
-        iScaleNeeded = ETrue;
-        }
-
-    // start conversion to bitmap
-    iImageDecoder->Convert( &iStatus, *iBitmap, *iMask );
-    SetActive();
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::DoCancel
-// ---------------------------------------------------------
-//
-void CWmImageConverter::DoCancel()
-    {
-    if( iState == EDecoding && 
-       iConversionMethod == EImageIcon )
-        {
-        iImageDecoder->Cancel();
-        iState = EIdle;
-        if ( iObserver )
-            {            
-            iObserver->NotifyCompletion( KErrCancel );
-            }
-        }    
-    else if( iState == EScalingBitmap ||
-        iState == EScalingMask )
-        {
-        iScaler->Cancel();
-        iState = EIdle;
-        if ( iObserver )
-            {            
-            iObserver->NotifyCompletion( KErrCancel );
-            }
-        }    
-    else
-        {
-        // State is EIdle, do nothing
-        }    
-    iScaleNeeded = EFalse;
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::RunL
-// ---------------------------------------------------------
-//
-void CWmImageConverter::RunL()
-    {
-    switch( iState ) 
-        {
-        case EDecoding:
-            {
-            if( iStatus.Int() == KErrNone )
-                {
-                if ( iScaleNeeded )
-                    {
-                    ScaleBitmap( iSize.iWidth, iSize.iHeight );
-                    }
-                else
-                    {
-                    iState = EIdle;
-                    if ( iObserver )
-                        {
-                        iObserver->NotifyCompletion( KErrNone );
-                        }
-                    }
-                break;
-                }
-            else if( iStatus.Int() == KErrUnderflow ) 
-                {
-                iImageDecoder->ContinueConvert( &iStatus );
-                SetActive();
-                break;
-                }
-            else if ( iStatus.Int() == KErrCorrupt )
-                {
-                iState = EIdle;
-                iScaleNeeded = EFalse;
-                if ( iBitmap )
-                    {
-                    delete iBitmap;
-                    iBitmap = NULL;
-                    }
-                if ( iMask )
-                    {
-                    delete iMask;
-                    iMask = NULL;
-                    }
-                if ( iObserver )
-                    {
-                    iObserver->NotifyCompletion( KErrCorrupt );
-                    }
-                break;
-                }
-            else
-                {
-                // Unknown error
-                iState = EIdle;
-                iScaleNeeded = EFalse;
-                if ( iBitmap )
-                    {
-                    delete iBitmap;
-                    iBitmap = NULL;
-                    }
-                if ( iMask )
-                    {
-                    delete iMask;
-                    iMask = NULL;
-                    }
-                if ( iObserver )
-                    {
-                    iObserver->NotifyCompletion( iStatus.Int() );
-                    }
-                break;
-                }
-            }
-        case EScalingBitmap:
-            {
-            if( iStatus.Int() == KErrNone && iMask )
-                {
-                ScaleMask( iSize.iWidth, iSize.iHeight );
-                }
-            else
-                {
-                iState = EIdle;
-                iScaleNeeded = EFalse;
-                if ( iObserver )
-                    {
-                    iObserver->NotifyCompletion( iStatus.Int() );
-                    }                
-                }
-            break;
-            }
-        case EScalingMask:
-            {
-            iState = EIdle;
-            iScaleNeeded = EFalse;
-            if ( iObserver )
-                {
-                iObserver->NotifyCompletion( iStatus.Int() );
-                }
-            break;
-            }
-        default:
-            break;
-        }   
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::RunError
-// ---------------------------------------------------------
-//
-TInt CWmImageConverter::RunError(TInt /*aError*/)
-    {
-    // Our RunL does not contain any method calls that would leave, so this method
-    // should never be called.
-    iScaleNeeded = EFalse;
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::ScaleBitmap
-// ---------------------------------------------------------
-//
-void CWmImageConverter::ScaleBitmap( TInt aWidth, TInt aHeight )
-    {
-    if ( !IsActive() && 
-         iBitmap &&
-        ( iState == EDecoding || iState == EIdle ) )
-        {
-        iState = EScalingBitmap;
-        // the maintain aspect ratio is by default set to true
-        iScaler->Scale( &iStatus, *iBitmap, TSize( aWidth,aHeight ), EFalse );        
-        SetActive();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::ScaleMask
-// ---------------------------------------------------------
-//
-void CWmImageConverter::ScaleMask( TInt aWidth, TInt aHeight )
-    {
-    if ( !IsActive() && 
-        iState == EScalingBitmap &&
-        iMask )
-        {
-        iState = EScalingMask;
-        // the maintain aspect ratio is by default set to true
-        iScaler->Scale( &iStatus, *iMask, TSize(aWidth,aHeight), EFalse );        
-        SetActive();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::Bitmap
-// ---------------------------------------------------------
-//
-CFbsBitmap* CWmImageConverter::Bitmap()
-    {
-    CFbsBitmap* bitmap = NULL;
-    if (iState == EIdle &&
-        iBitmap )
-        {
-        bitmap = iBitmap;  // ownership taken
-        iBitmap = NULL;
-        }
-    return bitmap;
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::Mask
-// ---------------------------------------------------------
-//
-CFbsBitmap* CWmImageConverter::Mask()
-    {
-    CFbsBitmap* mask = NULL;
-    if (iState == EIdle &&
-        iMask )
-        {
-        mask = iMask;  // ownership taken
-        iMask = NULL;
-        }
-    return mask;
-    }
-
-// ---------------------------------------------------------
-// CWmImageConverter::EndsWith
-// ---------------------------------------------------------
-//
-TBool CWmImageConverter::EndsWith( const TDesC& aString, 
-                                const TDesC& aPattern )
-    {
-    return ( aString.Right( aPattern.Length() ) == aPattern );
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::ResolveUid
-// ---------------------------------------------------------------------------
-//
-TBool CWmImageConverter::ResolveUid( 
-                const TDesC& aPath, TUid& aUid )
-    {
-    // Syntax: uid(0x12345678)
-    TInt error = KErrNotFound;
-    TInt pos = aPath.FindF( KUid );
-    if( pos == 0 )
-        {
-        // Skip uid token
-        pos += KUid().Length();
-
-        // Initialize lexer
-        TLex lex( aPath.Mid( pos ) );
-        lex.SkipSpaceAndMark();
-        
-        // Check left parenthesis
-        if ( lex.Get() == KLeftParenthesis )
-            {
-            error = ParseNextUint( lex, (TUint&)aUid.iUid );
-            }
-        }
-    
-    return (error == KErrNone );
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::ResolveSkinId
-// ---------------------------------------------------------------------------
-//
-TBool CWmImageConverter::ResolveSkinId( 
-                const TDesC& aPath, TAknsItemID& aItemId )
-    {
-    // Syntax: skin(major minor)
-    TInt error = KErrNotFound;
-    TInt pos = aPath.FindF( KSkin );
-    if( pos == 0 )
-        {
-        // Skip skin token
-        pos += KSkin().Length();
-
-        // Initialize lexer
-        TLex lex( aPath.Mid( pos ) );
-        lex.SkipSpaceAndMark();
-        
-        // Check left parenthesis
-        if ( lex.Get() == KLeftParenthesis )
-           {
-           TUint majorId = 0;
-           TUint minorId = 0;
-           error = ParseNextUint( lex, majorId );
-           error |= ParseNextUint( lex, minorId );
-           aItemId.Set( majorId, minorId );
-           }        
-        }
-
-    return (error == KErrNone );
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::ResolveMifId
-// ---------------------------------------------------------------------------
-//
-TBool CWmImageConverter::ResolveMifId( 
-                const TDesC& aPath, TInt& aBitmapId,
-                TInt& aMaskId, TDes& aFileName )
-    {
-    // Syntax: mif(filename bimapId maskId)
-   TInt error = KErrNotFound;
-   TInt pos = aPath.FindF( KMif );
-   if( pos == 0 )
-        {
-        // Skip mif token
-        pos += KMif().Length();
-        // Initialize lexer
-        TLex lex( aPath.Mid( pos ) );
-        lex.SkipSpaceAndMark();
-        
-        // Check left parenthesis
-        if ( lex.Get() == KLeftParenthesis )
-           {
-           lex.SkipSpaceAndMark();
-           lex.SkipCharacters();
-           // Resolve MifFile name
-           aFileName.Copy(lex.MarkedToken());
-           if( aFileName.Length()!= 0)
-               {
-               TUint bitmap, mask;
-               error = ParseNextUint( lex, bitmap );
-               ParseNextUint( lex, mask ); // mask is not mandatory
-               aBitmapId = bitmap;
-               aMaskId = mask;
-               }
-           }        
-        }    
-    return ( error == KErrNone );
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::ResolveSkinIdAndMifId
-// ---------------------------------------------------------------------------
-//
-TBool CWmImageConverter::ResolveSkinIdAndMifId( 
-                const TDesC& aPath, TAknsItemID& aItemId,
-                TInt& aBitmapId, TInt& aMaskId, TDes& aFileName )
-   {
-   // Syntax: skin(major minor):mif(filename bimapId maskId) 
-   TBool result = ResolveSkinId( aPath, aItemId );
-   if ( result )
-	   {
-	   TInt pos = aPath.FindF( KColon );
-	   if ( pos != KErrNotFound )
-	       {
-	       TPtrC ptr = aPath.Mid( pos+1 );
-	       result = ResolveMifId( ptr, aBitmapId, aMaskId, aFileName );
-	       }
-	   }
-   else
-       {
-       result = ResolveMifId( aPath, aBitmapId, aMaskId, aFileName );
-       }
-   return result;
-   }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::CreateSkinOrMifIconL
-// ---------------------------------------------------------------------------
-//
-void CWmImageConverter::CreateSkinOrMifIconL( 
-                const TAknsItemID& aItemId, TInt aBitmapId, 
-                TInt aMaskId, const TDesC& aFileName )
-    {
-    iFilename = aFileName;
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* mask = NULL;
-    
-    // Load from skin 
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    if ( skin && aItemId.iMajor != 0 && aItemId.iMinor != 0 )
-        {
-        TInt err( KErrNone );
-        CAknsMaskedBitmapItemData* itemData = NULL;
-        TRAP( err, itemData = 
-                    static_cast<CAknsMaskedBitmapItemData*>(
-                    skin->CreateUncachedItemDataL( aItemId, EAknsITMaskedBitmap ) ); );
-        if( itemData && KErrNone == err )
-            {
-            CleanupStack::PushL( itemData );
-            // Detach bitmaps
-            bitmap = itemData->Bitmap();
-            itemData->SetBitmap( NULL );
-            mask = itemData->Mask();
-            itemData->SetMask( NULL );
-            CleanupStack::PopAndDestroy( itemData );
-            }
-        else
-            {
-            // look in imagetable
-            CAknsImageTableItemData* iconData = NULL;
-            TRAP( err, iconData = static_cast<CAknsImageTableItemData*>(
-                            skin->CreateUncachedItemDataL( aItemId, EAknsITImageTable ) ); );
-            if( iconData && KErrNone == err )
-                {
-                CleanupStack::PushL( iconData );
-                if( iconData->NumberOfImages() )
-                    {                        
-                    TAknsItemID iconIId;
-                    iconIId.Set( iconData->ImageIID(0) );
-                    TRAP( err, AknsUtils::CreateIconL( 
-                            skin, iconIId, bitmap, mask, KNullDesC, -1, -1 ); );
-                    }
-                CleanupStack::PopAndDestroy( iconData );
-                }
-            }
-        
-        if ( KErrNone == err && bitmap )
-            {
-            TInt err = AknIconUtils::SetSize( bitmap , iSize, EAspectRatioNotPreserved );
-            if ( KErrNone == err  )
-                {
-                if ( mask )
-                    {
-                    err = AknIconUtils::SetSize( mask , iSize, EAspectRatioNotPreserved );
-                    }
-                iBitmap = bitmap;
-                iMask = mask;
-                iState = EIdle;
-                // notify observer                    
-                iObserver->NotifyCompletion( KErrNone );
-                return;
-                }
-            else
-                {
-                if ( bitmap ) { delete bitmap; bitmap = NULL; }
-                if ( mask ){ delete mask; mask = NULL; }
-                }
-            }
-        }
-    
-    if( aBitmapId != KErrNotFound && !bitmap && 
-       aFileName.Length() && BaflUtils::FileExists( iFs, aFileName ) )
-        {
-        if ( aMaskId != KErrNotFound )
-          {
-          // Create icon from Mif filename , bitmap id and mask id          
-          AknIconUtils::CreateIconL(
-                  bitmap, mask, *this, aBitmapId, aMaskId );
-          }
-        else
-          {
-          bitmap = AknIconUtils::CreateIconL( *this, aBitmapId );
-          }
-        }
-    else
-        {
-        iState = EIdle;
-        User::Leave( KErrArgument );
-        }
-    
-    iBitmap = bitmap;
-    iMask = mask;
-
-    TInt err = AknIconUtils::SetSize( iBitmap , iSize, EAspectRatioNotPreserved );
-    if ( KErrNone == err && iMask )
-        {
-        err = AknIconUtils::SetSize( iMask , iSize, EAspectRatioNotPreserved );
-        }
-    
-    iState = EIdle;
-    // notify observer
-    iObserver->NotifyCompletion( err );
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::ParseNextUint()
-// ---------------------------------------------------------------------------
-//
-TInt CWmImageConverter::ParseNextUint( TLex& aLex, TUint& aValue )
-    {
-    TInt error = KErrNone;
-    aLex.SkipSpaceAndMark();
-    aLex.SkipCharacters();
-
-    TPtrC mtoken = aLex.MarkedToken();
-    TInt pos = mtoken.FindF( KHexPrefix );
-    if ( pos == 0 )
-        {
-		TLex innerLex( mtoken.Mid( KHexPrefix().Length() ) );
-        error = innerLex.Val( aValue, EHex );
-        }
-    else
-        {
-        TLex innerLex( mtoken );
-        error = innerLex.Val( aValue, EDecimal );
-        }
-
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::SetLogoSize()
-// ---------------------------------------------------------------------------
-//
-void CWmImageConverter::SetLogoSize( const TSize& aSize )
-    {
-    iSize = aSize;
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::ConversionMethod()
-// ---------------------------------------------------------------------------
-//
-CWmImageConverter::TConversionMethod CWmImageConverter::ConversionMethod()
-    {
-    return iConversionMethod;
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::RetrieveIconFileHandleL
-// ---------------------------------------------------------------------------
-//
-void CWmImageConverter::RetrieveIconFileHandleL( 
-    RFile& aFile, const TIconFileType /*aType*/ )
-    {
-	TInt err = aFile.Open( iFs, iFilename, 
-	        EFileRead | EFileShareReadersOnly );
-	if ( KErrNone != err )
-	    {
-        iState = EIdle;
-        User::Leave( err );
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::Finished
-// ---------------------------------------------------------------------------
-//
-void CWmImageConverter::Finished()
-    {
-    // finishes using the icon file. No actions needed here.
-    }
-
-// ---------------------------------------------------------------------------
-// CWmImageConverter::IsProcessing
-// ---------------------------------------------------------------------------
-//
-TBool CWmImageConverter::IsProcessing()
-    {
-    return ( ( ( iState != EIdle && iState != EFailed ) ||
-            IsActive() ) ? ETrue : EFalse );
-    }
-
-// End of file
-
--- a/idlehomescreen/widgetmanager/src/wminstaller.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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:
-* widget manager plugin implementation
-*
-*/
-
-#include <e32base.h>
-
-#include "wminstaller.h"
-#include "wmwidgetdata.h"
-
-
-// CONSTANTS
-_LIT8( KWrtMime, "application/x-nokia-widget");
-
-// ---------------------------------------------------------
-// CWmInstaller::NewL
-// ---------------------------------------------------------
-//
-CWmInstaller* CWmInstaller::NewL()
-    {
-    CWmInstaller* self = CWmInstaller::NewLC();
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::NewLC
-// ---------------------------------------------------------
-//
-CWmInstaller* CWmInstaller::NewLC()
-    {
-    CWmInstaller* self = new ( ELeave ) CWmInstaller();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::CWmInstaller
-// ---------------------------------------------------------
-//
-CWmInstaller::CWmInstaller() : CActive( EPriorityStandard )
-    {
-    iUid = KNullUid;
-    iIdle = NULL;
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::ConstructL
-// ---------------------------------------------------------
-//
-void CWmInstaller::ConstructL()
-    {
-    iIdle = CIdle::NewL( CActive::EPriorityStandard );
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::~CWmInstaller
-// ---------------------------------------------------------
-//
-CWmInstaller::~CWmInstaller()
-    {
-    Cancel();
-
-    if ( iIdle && iIdle->IsActive() )
-        {
-        iIdle->Cancel();
-        }
-    delete iIdle;
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::DoCancel
-// ---------------------------------------------------------
-//
-void CWmInstaller::DoCancel()
-    {
-    if ( IsActive() )
-        {
-        iInstaller.CancelAsyncRequest( 
-                SwiUI::ERequestSilentUninstall );
-
-        // close session
-        iInstaller.Close();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::RunL
-// ---------------------------------------------------------
-//
-void CWmInstaller::RunL()
-    {
-    // close SWI session
-    if ( iIdle && iIdle->IsActive() )
-        {
-        iIdle->Cancel();
-        }
-    iIdle->Start( TCallBack( CloseSwiSession, this ) );
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::CloseSwiSession
-// ---------------------------------------------------------
-//
-TInt CWmInstaller::CloseSwiSession( TAny* aPtr )
-    {
-    CWmInstaller* self = static_cast< CWmInstaller* >( aPtr );
-    if ( self->iIdle->IsActive() )
-      {
-      self->iIdle->Cancel(); 
-      }
-    
-    self->iUid = KNullUid;
-    
-    self->iInstaller.Close();
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::RunError
-// ---------------------------------------------------------
-//
-TInt CWmInstaller::RunError(TInt /*aError*/)
-    {   
-    // close SWI session
-    if ( iIdle && iIdle->IsActive() )
-        {
-        iIdle->Cancel();
-        }
-    iIdle->Start( TCallBack( CloseSwiSession, this ) );
-
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::UninstallL
-// ---------------------------------------------------------
-//
-void CWmInstaller::UninstallL( CWmWidgetData* aData )
-    {
-    if ( IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    else
-        {
-        User::LeaveIfError( iInstaller.Connect() );
-        iUid = aData->PublisherUid();
-        SwiUI::TUninstallOptions optionsUninstall;
-        optionsUninstall.iBreakDependency = SwiUI::EPolicyAllowed;
-        optionsUninstall.iKillApp = SwiUI::EPolicyAllowed;
-        SwiUI::TUninstallOptionsPckg uninstallOptionsPkg( optionsUninstall );
-        iInstaller.SilentUninstall( iStatus, iUid, 
-                                uninstallOptionsPkg, KWrtMime );
-        
-        aData->VisualizeUninstallL();
-        SetActive();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmInstaller::Uid
-// ---------------------------------------------------------
-//
-TUid CWmInstaller::UninstallUid()
-    {
-    if ( IsActive() )
-        {
-        return iUid;
-        }
-    else
-        {
-        return KNullUid;
-        }
-    }
--- a/idlehomescreen/widgetmanager/src/wmlistbox.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,778 +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 widget listbox for WidgetManager
-*
-*/
-
-// INCLUDE FILES
-#include <coemain.h>
-#include <AknsDrawUtils.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include <aknlayout.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknLayout.lag>
-#include <AknIconArray.h>
-#include <gulicon.h>
-#include <widgetmanagerview.rsg>
-#include <widgetmanager.mbg>
-#include "wmcommon.h"
-#include "wmplugin.h"
-#include "wmresourceloader.h"
-#include "wmlistbox.h"
-#include "wmwidgetdata.h"
-
-// CONSTANTS
-
-// MEMBER FUNCTIONS
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::NewL
-// ---------------------------------------------------------
-//
-CWmListItemDrawer* CWmListItemDrawer::NewL(
-        CWmPlugin& aWmPlugin,
-        MTextListBoxModel* aTextListBoxModel,  
-        const CFont* aFont,  
-        CFormattedCellListBoxData* aFormattedCellData,
-        CWmListBox* aListBox  )
-    {
-    CWmListItemDrawer* self = new ( ELeave ) CWmListItemDrawer(
-            aWmPlugin,
-            aTextListBoxModel,
-            aFont,
-            aFormattedCellData,
-            aListBox );
-    CleanupStack::PushL(self);   
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::CWmListItemDrawer
-// ---------------------------------------------------------
-//
-CWmListItemDrawer::CWmListItemDrawer(
-        CWmPlugin& aWmPlugin,
-        MTextListBoxModel* aTextListBoxModel,  
-        const CFont* aFont,  
-        CFormattedCellListBoxData* aFormattedCellData,
-        CWmListBox* aListBox )
-    : CFormattedCellListBoxItemDrawer( aTextListBoxModel,aFont,aFormattedCellData ),
-    iWmPlugin( aWmPlugin )
-	{    
-    iCellData = aFormattedCellData;
-    iListBox = aListBox;
-    iFont = aFont;
-	}
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::ConstructL
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::ConstructL()
-    {
-    SetSkinEnabledL( ETrue );
-    
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsUtils::CreateIconL(
-            skin,
-            KAknsIIDQgnMenuHswidget,
-            iDefaultLogoImage,
-            iDefaultLogoImageMask,
-            iWmPlugin.ResourceLoader().IconFilePath(),
-            EMbmWidgetmanagerQgn_menu_hswidget,
-            EMbmWidgetmanagerQgn_menu_hswidget_mask
-            );
-
-    AknsUtils::CreateColorIconL(
-            skin,
-            KAknsIIDQgnIndiWmAdd,
-            KAknsIIDQsnTextColors,
-            EAknsCIQsnTextColorsCG6,
-            iAddWidgetBtnImage,
-            iAddWidgetBtnMask,
-            iWmPlugin.ResourceLoader().IconFilePath(),
-            EMbmWidgetmanagerAdd_widget_button,
-            EMbmWidgetmanagerAdd_widget_button_mask,
-            KRgbBlack );
-
-    AknsUtils::CreateColorIconL(
-            skin,
-            KAknsIIDQgnIndiWmAdd,
-            KAknsIIDQsnTextColors,
-            EAknsCIQsnTextColorsCG10,
-            iAddWidgetBtnHighlightImage,
-            iAddWidgetBtnHighlightMask,
-            iWmPlugin.ResourceLoader().IconFilePath(),
-            EMbmWidgetmanagerAdd_widget_button,
-            EMbmWidgetmanagerAdd_widget_button_mask,
-            KRgbWhite );
-    
-    // This is temporary fix for ou1cimx1#228810
-    // Can be removed when avkon provides real fix for this error.
-    // Currently forever loop in CFormattedCellListBoxData::DrawFormattedSimple
-    // never exits if there is no iconarray and name contains tab+digit which  
-    // confuses listbox e.g. considering name as icon index 
-    CArrayPtr<CGulIcon>* dummyArray = new( ELeave ) CAknIconArray(2);
-    CleanupStack::PushL(dummyArray);
-    CGulIcon* dummyIcon = CGulIcon::NewLC();
-    CGulIcon* dummyIcon2 = CGulIcon::NewLC();
-    dummyArray->AppendL(dummyIcon);
-    dummyArray->AppendL(dummyIcon2);
-    ColumnData()->SetIconArray(dummyArray);
-    CleanupStack::Pop(3);
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::~CWmListItemDrawer
-// ---------------------------------------------------------
-//
-CWmListItemDrawer::~CWmListItemDrawer()
-	{
-    iCellData = NULL;
-    iListBox = NULL;
-
-    // dispose icons
-    delete iDefaultLogoImage;
-    delete iDefaultLogoImageMask;
-    delete iAddWidgetBtnImage;
-    delete iAddWidgetBtnMask;
-    delete iAddWidgetBtnHighlightImage;
-    delete iAddWidgetBtnHighlightMask;
-	}
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::ResizeDefaultBitmaps
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::ResizeDefaultBitmaps()
-    {
-	TAknWindowLineLayout logoPane = 
-	          AknLayoutScalable_Apps::listrow_wgtman_pane_g1().LayoutLine();
-    TAknWindowLineLayout addPane = 
-              AknLayoutScalable_Apps::listrow_wgtman_pane_g2().LayoutLine();
-    TAknLayoutRect layoutRect;
-    TRect rect = TRect( ItemCellSize() );
-    layoutRect.LayoutRect( rect, logoPane );
-    
-    // RESIZE DEFAULT LOGO BITMAPS ACCORDING TO LAYOUT
-    TSize size = layoutRect.Rect().Size();
-    AknIconUtils::SetSize( 
-        iDefaultLogoImage, size, EAspectRatioPreserved );
-    AknIconUtils::SetSize( 
-        iDefaultLogoImageMask, size, EAspectRatioPreserved );
-    
-    // RESIZE ADD BTN BITMAPS ACCORDING TO LAYOUT
-    layoutRect.LayoutRect( rect, addPane );
-    size = layoutRect.Rect().Size();
-    AknIconUtils::SetSize( 
-        iAddWidgetBtnImage, size, EAspectRatioPreserved );
-    AknIconUtils::SetSize( 
-        iAddWidgetBtnMask, size, EAspectRatioPreserved );
-    AknIconUtils::SetSize( 
-        iAddWidgetBtnHighlightImage, size, EAspectRatioPreserved );
-    AknIconUtils::SetSize( 
-        iAddWidgetBtnHighlightMask, size, EAspectRatioPreserved );
-    }
-	
-// ---------------------------------------------------------
-// CWmListItemDrawer::DrawItem
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::DrawItem( TInt aItemIndex, TPoint aItemRectPos, 
-                            TBool aItemIsSelected, TBool aItemIsCurrent, 
-                            TBool aViewIsEmphasized, TBool aViewIsDimmed ) const
-    {
-    TSize cellSize = ItemCellSize();
-    
-    CWmWidgetData& wData = iListBox->WidgetData( aItemIndex );
-    // Get graphics context which is used for drawing.
-    CWindowGc& gc = *Gc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TInt selectedIndex = iListBox->CurrentItemIndex();
-    TBool isInFocus = ( selectedIndex == aItemIndex );
-    TBool listFocused = iListBox->IsFocused();
-    TRect itemRect = TRect( aItemRectPos, cellSize );
-
-    if ( isInFocus && listFocused )
-        {
-        // force baseclass to draw highlight and animation for this item
-        CFormattedCellListBoxItemDrawer::DrawItemText( 
-                aItemIndex, itemRect,
-                aItemIsCurrent, aViewIsEmphasized,
-                ( isInFocus || aItemIsSelected ) );
-		
-		if ( iListBox->PressedDown() )
-			{
-			TRect innerRect( itemRect );
-    	    const TInt highlightOffset = 3;
-	        innerRect.Shrink( highlightOffset, highlightOffset );
-			AknsDrawUtils::DrawFrame( skin,
-                                      gc,
-                                      itemRect,
-                                      innerRect,
-                                      KAknsIIDQsnFrListPressed,
-                                      KAknsIIDQsnFrListCenterPressed );
-			}
-        }
-    else
-        {
-        // to prevent item staying highlighted when list isn't focused.
-        CFormattedCellListBoxItemDrawer::DrawEmptyItem( 
-                                aItemIndex, aItemRectPos, aViewIsDimmed );
-        }
-
-    
-    // DRAW LOGO
-    CFbsBitmap* bitmap = const_cast<CFbsBitmap*>(wData.LogoImage());
-    CFbsBitmap* mask = const_cast<CFbsBitmap*>(wData.LogoImageMask());
-    TAknLayoutRect logoLayout;
-    logoLayout.LayoutRect( itemRect,
-             AknLayoutScalable_Apps::listrow_wgtman_pane_g1().LayoutLine() );
-
-    if ( !bitmap && !wData.IsPrepairingLogo() )
-        {
-        logoLayout.DrawImage( gc, iDefaultLogoImage, iDefaultLogoImageMask );
-        }
-    else if( bitmap && mask )
-        {
-        logoLayout.DrawImage( gc, bitmap, mask );
-        }
-
-    TRgb textColor;
-    TAknsQsnTextColorsIndex index = ( isInFocus && listFocused )? 
-                EAknsCIQsnTextColorsCG10 : EAknsCIQsnTextColorsCG6;
-
-    AknsUtils::GetCachedColor( 
-                    skin, textColor, KAknsIIDQsnTextColors, index );
-
-    // DRAW TEXT
-    gc.UseFont( iFont );
-    gc.SetPenColor( textColor );
-    gc.SetPenSize( TSize(2,2) );
-
-    TAknTextLineLayout titleTextLayout = 
-              AknLayoutScalable_Apps::listrow_wgtman_pane_t1().LayoutLine();
-
-    TAknLayoutText textLayoutTitle;
-    textLayoutTitle.LayoutText( itemRect, titleTextLayout );
-    textLayoutTitle.DrawText( gc, wData.Name(), ETrue, textColor );
-    
-    if ( !wData.IsUninstalling() &&
-        wData.HsContentInfo().CanBeAdded() )
-        {
-        // DRAW ADD BUTTON
-        TAknLayoutRect addButtonLayout;
-        addButtonLayout.LayoutRect( itemRect,
-                AknLayoutScalable_Apps::listrow_wgtman_pane_g2().LayoutLine() );
-        if ( isInFocus && listFocused )
-            {
-            addButtonLayout.DrawImage( gc,                    
-                    iAddWidgetBtnHighlightImage, iAddWidgetBtnHighlightMask );
-            }
-        else
-            {
-            addButtonLayout.DrawImage( gc, 
-                    iAddWidgetBtnImage, iAddWidgetBtnMask );
-            }        
-        }
-
-    if ( !wData.IsUninstalling() )
-        {
-        TAknTextLineLayout descTextLayout =
-            AknLayoutScalable_Apps::listrow_wgtman_pane_t2().LayoutLine();
-        gc.SetPenSize(TSize(1,1));
-        // DRAW DESCRIPTION TEXT
-        TAknLayoutText textLayoutDes;
-        textLayoutDes.LayoutText( itemRect, descTextLayout );
-        textLayoutDes.DrawText( gc, wData.Description(), ETrue, textColor );
-        }
-    else
-        {
-        // draw animation
-        TAknLayoutRect animationLayout;
-        animationLayout.LayoutRect( itemRect,
-             AknLayoutScalable_Apps::wait_bar_pane_cp09().LayoutLine() );
-        TSize size = animationLayout.Rect().Size();
-        CFbsBitmap* animBitmap = 
-                const_cast<CFbsBitmap*>(wData.AnimationBitmap( size ));
-        CFbsBitmap* animMask = 
-                const_cast<CFbsBitmap*>(wData.AnimationMask( size ));
-        if ( animBitmap && animMask )
-            {
-            animationLayout.DrawImage( gc, animBitmap, animMask );
-            }
-        }
-    gc.DiscardFont();
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::DefaultLogoImage()
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmListItemDrawer::DefaultLogoImage()
-    {
-    return iDefaultLogoImage;
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::DefaultLogoMask()
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmListItemDrawer::DefaultLogoMask()
-    {
-    return iDefaultLogoImageMask;
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::HandleSkinChanged
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::HandleSkinChanged()
-    {
-    CFbsBitmap* addWidgetBtnImage( NULL );
-    CFbsBitmap* addWidgetBtnMask( NULL );
-    CFbsBitmap* addWidgetBtnHighlightImage( NULL );
-    CFbsBitmap* addWidgetBtnHighlightMask( NULL );
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    TRAPD( err, 
-        AknsUtils::CreateColorIconLC(
-                skin,
-                KAknsIIDQgnIndiWmAdd,
-                KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG6,
-                addWidgetBtnImage,
-                addWidgetBtnMask,
-                iWmPlugin.ResourceLoader().IconFilePath(),
-                EMbmWidgetmanagerAdd_widget_button,
-                EMbmWidgetmanagerAdd_widget_button_mask,
-                KRgbBlack );
-        
-        AknsUtils::CreateColorIconLC(
-                skin,
-                KAknsIIDQgnIndiWmAdd,
-                KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG10,
-                addWidgetBtnHighlightImage,
-                addWidgetBtnHighlightMask,
-                iWmPlugin.ResourceLoader().IconFilePath(),
-                EMbmWidgetmanagerAdd_widget_button,
-                EMbmWidgetmanagerAdd_widget_button_mask,
-                KRgbWhite );
-        
-        CleanupStack::Pop( 4 ); // pop icons
-        );
-    
-    if ( KErrNone == err )
-        {
-        // delete old icons
-        delete iAddWidgetBtnImage;
-        iAddWidgetBtnImage = NULL;
-        delete iAddWidgetBtnMask;
-        iAddWidgetBtnMask = NULL;
-        delete iAddWidgetBtnHighlightImage;
-        iAddWidgetBtnHighlightImage = NULL;
-        delete iAddWidgetBtnHighlightMask;
-        iAddWidgetBtnHighlightMask = NULL;
-        
-        // transfer ownership
-        iAddWidgetBtnImage = addWidgetBtnImage;
-        addWidgetBtnImage = NULL;
-        iAddWidgetBtnMask = addWidgetBtnMask;
-        addWidgetBtnMask = NULL;
-        iAddWidgetBtnHighlightImage = addWidgetBtnHighlightImage;
-        addWidgetBtnHighlightImage = NULL;
-        iAddWidgetBtnHighlightMask = addWidgetBtnHighlightMask;
-        addWidgetBtnHighlightMask = NULL;
-        
-        // resize new created icons
-        ResizeDefaultBitmaps();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::NewL
-// ---------------------------------------------------------
-//
-CWmListBox* CWmListBox::NewL(
-        CWmPlugin& aWmPlugin,
-        const TRect& aRect,
-        const CCoeControl* aParent,
-        TInt aFlags )
-    {
-    CWmListBox* self = new ( ELeave ) CWmListBox( aWmPlugin);
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aParent, aFlags );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::CWmListBox
-// ---------------------------------------------------------
-//
-CWmListBox::CWmListBox( CWmPlugin& aWmPlugin ):
-    CAknDouble2LargeStyleListBox(),
-    iWmPlugin( aWmPlugin )
-    {
-    iFindPaneIsVisible = EFalse;
-	iPressedDown = EFalse;
-	iLogoSize = TSize( 0, 0);
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::~CWmListBox
-// ---------------------------------------------------------
-//
-CWmListBox::~CWmListBox()
-    {
-    iWidgetDatas.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::ConstructL
-// ---------------------------------------------------------
-//
-void CWmListBox::ConstructL(
-        const TRect& aRect,
-        const CCoeControl* aParent,
-        TInt aFlags )
-    {
-    CEikFormattedCellListBox::ConstructL( aParent, aFlags );
-    SetContainerWindowL( *aParent );    
-
-    // set model point to the widgets array
-    Model()->SetItemTextArray( &iWidgetDatas );
-    Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
-    // set empty-text to null
-    View()->SetListEmptyTextL( KNullDesC );
-
-    SetRect( aRect );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::WidgetData
-// ---------------------------------------------------------
-//
-CWmWidgetData* CWmListBox::WidgetData()
-    {
-    TInt index = CurrentListBoxItemIndex();
-    return (index>=0 ? iWidgetDatas[index] : NULL);
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::WidgetData
-// ---------------------------------------------------------
-//
-CWmWidgetData& CWmListBox::WidgetData( TInt aItemIndex )
-    {
-    return *iWidgetDatas[ RealIndex( aItemIndex ) ];
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::AddWidgetDataL
-// ---------------------------------------------------------
-//
-void CWmListBox::AddWidgetDataL( CWmWidgetData* aWidgetData,
-        TBool aRedraw )
-    {
-    aWidgetData->SetObserver( this );
-    iWidgetDatas.InsertInOrderAllowRepeatsL( aWidgetData,
-            SortOrder(EStoredOrder) );
-    if ( aRedraw ) { HandleItemAdditionL(); }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::RemoveWidgetData
-// ---------------------------------------------------------
-//
-void CWmListBox::RemoveWidgetData( TInt aItemIndex )
-    {
-    TInt realIndex = RealIndex( aItemIndex );
-    TBool current = ( aItemIndex == CurrentItemIndex() );
-    // remove widget data
-    CWmWidgetData* data = iWidgetDatas[realIndex];
-    iWidgetDatas.Remove( realIndex );
-    // reorganise
-    TRAP_IGNORE(
-        AknListBoxUtils::HandleItemRemovalAndPositionHighlightL(
-            this, realIndex, current ) );
-    
-    // delete now
-    delete data;
-    data = NULL;
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::RedrawItem
-// ---------------------------------------------------------
-//
-void CWmListBox::RedrawItem( TInt aItemIndex )
-    {
-    if ( aItemIndex >= 0 &&
-        aItemIndex < Model()->NumberOfItems() )
-        {
-        View()->DrawItem( aItemIndex );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::SetSortOrderL
-// ---------------------------------------------------------
-//
-void CWmListBox::SetSortOrderL( TSortOrder aOrder )
-    {
-    // now sort the existing data
-    iWidgetDatas.Sort( SortOrder( aOrder ) );
-    DrawNow();
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::CreateItemDrawerL
-// ---------------------------------------------------------
-//
-void CWmListBox::CreateItemDrawerL()
-    {
-    CFormattedCellListBoxData* cellData = CFormattedCellListBoxData::NewL();
-    CleanupStack::PushL( cellData );
-    iItemDrawer = CWmListItemDrawer::NewL(
-            iWmPlugin,
-            Model(),
-            iEikonEnv->DenseFont(),
-            cellData,
-            this );
-    CleanupStack::Pop(); // cellData
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::HandleLayoutChanged
-// ---------------------------------------------------------
-//
-void CWmListBox::HandleLayoutChanged()
-    {
-    iLogoSize = TSize( 0, 0);
-	iLogoSize = LogoSize();
-    for ( TInt i=0; i<iWidgetDatas.Count(); i++)
-        {
-        iWidgetDatas[i]->ReCreateLogo( iLogoSize );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::HandleSkinChanged
-// ---------------------------------------------------------
-//
-void CWmListBox::HandleSkinChanged()
-    {
-    CWmListItemDrawer* itemDrawer = 
-                        static_cast <CWmListItemDrawer*>( iItemDrawer );
-    if ( itemDrawer )
-        {
-        itemDrawer->HandleSkinChanged();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::HandleWidgetDataChanged
-// ---------------------------------------------------------
-//
-void CWmListBox::HandleWidgetDataChanged( CWmWidgetData* aWidgetData )
-    {
-    if ( !iFindPaneIsVisible )
-        {
-        // spontaneous change in the model. Cause table to redraw
-        TInt index = iWidgetDatas.Find( aWidgetData );
-        if ( index >= 0 )
-            {
-            // redraw item.
-            RedrawItem( RealIndex( index ) );
-            }
-        }
-    else
-        {
-        // redraw everything
-        Parent()->DrawDeferred();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::SortOrder
-// ---------------------------------------------------------
-//
-TLinearOrder<CWmWidgetData> CWmListBox::SortOrder( TSortOrder aOrder )
-    {
-    if ( aOrder == EStoredOrder )
-        {
-        return TLinearOrder<CWmWidgetData>(
-                CWmWidgetData::CompareByPersistentWidgetOrder );
-        }
-    else
-        {
-        return TLinearOrder<CWmWidgetData>(
-                CWmWidgetData::CompareByName );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::CurrentListBoxItemIndex
-// ---------------------------------------------------------
-//
-TInt CWmListBox::CurrentListBoxItemIndex()
-    {
-    TInt index( KErrNotFound );
-    if ( Model()->NumberOfItems() > 0 )
-        {
-        index = CurrentItemIndex();
-        }
-    return RealIndex( index );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::RealIndex
-// ---------------------------------------------------------
-//
-TInt CWmListBox::RealIndex( TInt aIndex )
-    {
-    TInt realIndex = aIndex;
-    if ( iFindPaneIsVisible && aIndex >= 0 )
-        {
-        realIndex = static_cast<CAknFilteredTextListBoxModel*>(Model())->Filter()
-                ->FilteredItemIndex( aIndex );
-        }
-    return realIndex;    
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::SizeChanged
-// ---------------------------------------------------------
-//
-void CWmListBox::SizeChanged()
-    {
-    CAknDouble2LargeStyleListBox::SizeChanged();
-    
-    CWmListItemDrawer* itemDrawer = 
-                    static_cast <CWmListItemDrawer*>( iItemDrawer );
-    if ( itemDrawer )
-        {
-        return itemDrawer->ResizeDefaultBitmaps();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::Draw
-// ---------------------------------------------------------
-//
-void CWmListBox::Draw( const TRect& aRect ) const
-    {
-    CWindowGc& gc = SystemGc(); 
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    AknsDrawUtils::Background( skin, cc, this, gc, Rect() );
-    CAknDouble2LargeStyleListBox::Draw( aRect );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::HandlePointerEventL
-// ---------------------------------------------------------
-//
-void CWmListBox::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    CAknDouble2LargeStyleListBox::HandlePointerEventL( aPointerEvent );
-
-    // Check if pointer is down ( needed for drawing correct hightlight frame )
-	if ( Rect().Contains( aPointerEvent.iPosition ) )
-		{
-        TInt itemIndex = CurrentListBoxItemIndex();
-        TBool itemPointed = View()->XYPosToItemIndex(
-                                aPointerEvent.iPosition,
-                                itemIndex );
-        if ( itemIndex >= 0 && itemPointed )
-            {
-            if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-                {
-                iPressedDown = ETrue;
-                // redraw item
-                RedrawItem( itemIndex );
-                }
-            else if( aPointerEvent.iType == TPointerEvent::EButton1Up )
-                {
-                iPressedDown = EFalse;
-                // redraw item
-                RedrawItem( itemIndex );
-                }
-            }
-		}
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::LogoSize
-// ---------------------------------------------------------
-//
-TSize CWmListBox::LogoSize()
-    {
-    TSize size( iLogoSize );    
-    if ( size.iWidth == 0 || size.iHeight == 0 )
-        {
-        TAknLayoutRect rowLayoutRect;
-        rowLayoutRect.LayoutRect( Rect(),
-                AknLayoutScalable_Apps::listrow_wgtman_pane().LayoutLine() );
-        TAknLayoutRect logoLayoutRect;
-        logoLayoutRect.LayoutRect( rowLayoutRect.Rect(),
-                AknLayoutScalable_Apps::listrow_wgtman_pane_g1().LayoutLine() );
-        size = logoLayoutRect.Rect().Size();
-        iLogoSize = size;
-        }
-    return size;
-    }
-
-
-// ---------------------------------------------------------
-// CWmListBox::DefaultLogo
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmListBox::DefaultLogo()
-    {
-    CWmListItemDrawer* itemDrawer = 
-                    static_cast <CWmListItemDrawer*>( iItemDrawer );
-    if ( itemDrawer )
-        {
-        return itemDrawer->DefaultLogoImage();
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::DefaultMask
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmListBox::DefaultMask()
-    {
-    CWmListItemDrawer* itemDrawer = 
-                    static_cast <CWmListItemDrawer*>( iItemDrawer );
-    if ( itemDrawer )
-        {
-        return itemDrawer->DefaultLogoMask();
-        }
-    return NULL;
-    }
-
-// End of File
-
--- a/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1380 +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 container control for WidgetManager application.
-*
-*/
-
-// INCLUDE FILES
-#include <aknViewAppUi.h>
-#include <eikappui.h>
-#include <widgetmanagerview.rsg>
-#include <coemain.h>
-#include <eikenv.h>
-#include <barsread.h>
-#include <AknUtils.h>
-#include <barsread.h>
-#include <StringLoader.h>
-#include <eikenv.h>
-#include <AknIconArray.h>
-#include <aknstyluspopupmenu.h> 
-#include <avkon.loc>
-#include <aknlayout.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknLayout.lag>
-#include <AknsSkinInstance.h>
-#include <AknIconUtils.h>
-#include <AknsDrawUtils.h>
-#include <aknenv.h>
-#include <aknlists.h>
-#include <eikclbd.h>
-#include <aknsfld.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <apgcli.h>
-#include <widgetmanager.mbg>
-#include <avkon.rsg>
-#include <coecobs.h>
-#include <coecntrl.h>
-#include <featmgr.h>     // FeatureManager
-#include <hlplch.h>      // HlpLauncher
-#include <csxhelp/hmsc.hlp.hrh>
-#include <aisystemuids.hrh>
-
-#include "wmcommon.h"
-#include "wmplugin.h"
-#include "wmmaincontainer.h"
-#include "wmmaincontainerview.h"
-#include "wmresourceloader.h"
-#include "widgetmanager.hrh"
-#include "wmlistbox.h"
-#include "wmpersistentwidgetorder.h"
-#include "wmdetailsdlg.h"
-#include "wmportalbutton.h"
-#include "wmwidgetloaderao.h"
-#include "wmconfiguration.h"
-#include "wminstaller.h"
-
-// CONSTANTS
-const TInt KTextLimit = 40; // Text-limit for find-field
-const TInt KMinWidgets = 1; // minimum number of widgets to show findpane
-
-// ---------------------------------------------------------
-// CWmMainContainer::CWmMainContainer()
-// ---------------------------------------------------------
-//
-CWmMainContainer::CWmMainContainer( CWmPlugin& aWmPlugin ) :
-    iWmPlugin( aWmPlugin )
-	{
-    iWidgetsList = NULL;
-    iFindbox = NULL;
-    iFindPaneIsVisible = EFalse;
-    iBgContext = NULL;
-    iFocusMode = ENowhere;
-    iClosingDown = ETrue;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainer::~CWmMainContainer()
-// ---------------------------------------------------------
-//
-CWmMainContainer::~CWmMainContainer()
-	{
-    RemoveCtrlsFromStack();
-    Components().ResetAndDestroy();
-    delete iWidgetLoader;
-    iWidgetsList = NULL;
-    iPortalButtonOne = NULL;
-    iPortalButtonTwo = NULL;
-    iFindbox = NULL;
-	delete iBgContext;
-	delete iConfiguration;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainer::NewL
-// ---------------------------------------------------------
-//
-CWmMainContainer* CWmMainContainer::NewL( 
-    const TRect& aRect,
-    CWmPlugin& aWmPlugin )
-	{
-	CWmMainContainer* self = CWmMainContainer::NewLC( 
-        aRect, 
-        aWmPlugin );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainer::NewLC
-// ---------------------------------------------------------
-//
-CWmMainContainer* CWmMainContainer::NewLC( 
-    const TRect& aRect,
-    CWmPlugin& aWmPlugin )
-	{
-	CWmMainContainer* self = new (ELeave) CWmMainContainer( aWmPlugin );
-	CleanupStack::PushL( self );
-	self->ConstructL( aRect );
-	return self;
-	}
-
-// ---------------------------------------------------------
-// ScreenRect
-// rectangle representing the screen
-// ---------------------------------------------------------
-//
-TRect ScreenRect()
-    {
-    TRect screen;
-    CCoeEnv* env = CCoeEnv::Static();
-    if ( env )
-        {
-        CWsScreenDevice* screenDevice = env->ScreenDevice();
-        if ( screenDevice )
-            screen.SetRect( TPoint(0,0), screenDevice->SizeInPixels() );
-        }
-    return screen;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::ConstructL
-// ---------------------------------------------------------
-//
-void CWmMainContainer::ConstructL( 
-		const TRect& aRect )
-	{  
-    // Initialize control array
-	InitComponentArrayL();
-	Components().SetControlsOwnedExternally( ETrue );
-
-    // create the UI
-    CreateWindowL();
-
-	// background context
-	iBgContext = CAknsBasicBackgroundControlContext::NewL( 
-	        KAknsIIDQsnBgScreen, ScreenRect() , ETrue);
-
-    // load configuration
-    iConfiguration = CWmConfiguration::NewL( iWmPlugin.ResourceLoader() );
-    
-	// set up controls
-	InitializeControlsL( aRect );
-
-	// set size and activate
-	SetRect( aRect );
-    ActivateL();
-	
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainer::SizeChanged
-// ---------------------------------------------------------
-//
-void CWmMainContainer::SizeChanged()
-	{
-	CCoeControl::SizeChanged();
-    iBgContext->SetRect( ScreenRect() );
-	LayoutControls();
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainer::LayoutControls
-// ---------------------------------------------------------
-//
-void CWmMainContainer::LayoutControls()
-	{
-    TRect rect( Rect() );
-
-    // determine layout type
-    iLandscape = Layout_Meta_Data::IsLandscapeOrientation();
-    iMirrored = Layout_Meta_Data::IsMirrored();
-    
-    // layout iPortalButtons
-	if ( iConfiguration->PortalButtonCount() == 1 )
-	    {
-	    // one button
-	    TAknWindowLineLayout btnPane = AknLayoutScalable_Apps
-	       ::wgtman_btn_pane( iLandscape ? 1 : 0 ).LayoutLine();
-	    AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, btnPane );
-	    }
-	else
-	    {
-	    // two buttons
-        TInt variety = (iLandscape ? 3 : 2);
-        TAknWindowLineLayout oviBtnLayout = AknLayoutScalable_Apps
-                ::wgtman_btn_pane( variety ).LayoutLine();
-        TAknWindowLineLayout operatorBtnLayout = AknLayoutScalable_Apps
-                ::wgtman_btn_pane_cp_01( variety ).LayoutLine();
-        AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, oviBtnLayout );
-        AknLayoutUtils::LayoutControl( iPortalButtonTwo, rect, operatorBtnLayout );
-	    }
-    
-	// layout iWidgetsList
-    TAknWindowLineLayout listPane = AknLayoutScalable_Apps
-        ::listscroll_wgtman_pane( iLandscape ? 1 : 0 ).LayoutLine();
-    if( iFindbox && iFindPaneIsVisible )
-        {
-		TAknLayoutRect layoutRect;
-        layoutRect.LayoutRect( rect, listPane );
-		iWidgetsList->SetRect( layoutRect.Rect() );
-        HandleFindSizeChanged();
-        }
-    else
-        {
-        AknLayoutUtils::LayoutControl( iWidgetsList, rect, listPane );
-        }
-
-    DrawDeferred();
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainer::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CWmMainContainer::OfferKeyEventL( 
-        const TKeyEvent& aKeyEvent, 
-        TEventCode aType )
-    {
-    TKeyResponse keyResponse( EKeyWasNotConsumed );
-
-    // This is a bug fix for ou1cimx1#217716 & ou1cimx1#217667.
-    // For some weird reason homescreen is genarating one extra EEventKey 
-    // when using Nokia SU-8W bluetooth keyboard & backspace key. This if is to 
-    // ignore that event. Extra event allways has iModifiers set to 
-    // EModifierAutorepeatable.
-    if ( aType == EEventKey && 
-             aKeyEvent.iScanCode == EStdKeyBackspace && 
-             aKeyEvent.iModifiers == EModifierAutorepeatable )
-        {
-        return EKeyWasNotConsumed;
-        }
-    
-    // Handle search keyevent
-    keyResponse = HandleSearchKeyEventL( aKeyEvent, aType );
-    
-    // Move focus between controls
-    if ( keyResponse == EKeyWasNotConsumed )
-        {
-        keyResponse = MoveFocusByKeys( aKeyEvent, aType );
-        }
-    
-    // Handle list keyevent
-    if ( keyResponse == EKeyWasNotConsumed )
-        {
-        keyResponse = HandleListKeyEventL( aKeyEvent, aType );
-        }
-    
-    // Handle buttons keyevent
-    if ( keyResponse == EKeyWasNotConsumed )
-        {
-        keyResponse = HandleButtonKeyEventL( aKeyEvent, aType );
-        }
-    
-    // Update ui if needed 
-    if ( keyResponse == EKeyWasConsumed )
-        {
-        DrawDeferred();
-        }
-    
-    // Do not let UI framework forward the keys to child controls as
-    // we have already done that.
-    return EKeyWasConsumed;
-    }
-
-TKeyResponse CWmMainContainer::HandleSearchKeyEventL( 
-        const TKeyEvent& aKeyEvent, 
-        TEventCode aType )
-    {
-    TKeyResponse keyResponse( EKeyWasNotConsumed );
-    
-    // open search field with alpha digit numbers
-    if ( aType == EEventKeyDown && !iFindPaneIsVisible && 
-            aKeyEvent.iScanCode < EStdKeyF1 &&
-        TChar( aKeyEvent.iScanCode ).IsAlphaDigit() )
-        {
-        ActivateFindPaneL();
-        
-        if ( iFindPaneIsVisible )
-            {
-            return EKeyWasConsumed;
-            }
-        }
-    
-    if ( iFindPaneIsVisible && aType == EEventKey )
-        {
-        if ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo )
-            {
-            DeactivateFindPaneL();
-            return EKeyWasConsumed;
-            }
-        
-        TBool needsRefresh( EFalse );
-       
-        if ( iFindbox->TextLength() == 0 
-                && aKeyEvent.iScanCode == EStdKeyBackspace )
-            {
-            // if lenght is 0 and backspace is pressed AknFind will deactivate
-            // searchbox so we don't want to pass this event to AknFind
-            keyResponse = EKeyWasConsumed;
-            }
-        else
-            {
-            keyResponse = AknFind::HandleFindOfferKeyEventL( 
-                    aKeyEvent, aType, this, 
-                    iWidgetsList, iFindbox, ETrue, needsRefresh );
-            }
-        if ( needsRefresh )
-            {
-            DrawNow();
-            }
-        }
-
-    return keyResponse;
-    }
-
-TKeyResponse CWmMainContainer::HandleListKeyEventL( 
-        const TKeyEvent& aKeyEvent, 
-        TEventCode aType )
-    {
-    TKeyResponse keyResponse( EKeyWasNotConsumed );
-    
-    // pass key event except backpace or delete key event to widgets list if focused
-    if ( iWidgetsList->IsFocused() )
-        {
-        if ( ( aType == EEventKey ) && ( aKeyEvent.iCode == EKeyBackspace 
-                || aKeyEvent.iCode == EKeyDelete ) )
-            {
-            if( CanDoUninstall() )
-                {
-                UninstallWidgetL();
-                }
-            else
-                {
-                CWmWidgetData* data = iWidgetsList->WidgetData();
-                if( data != NULL )
-                    iWmPlugin.ResourceLoader().InfoPopupL(
-                         R_QTN_WM_UNINST_NOT_ALLOWED, data->Name() );
-                }
-            keyResponse = EKeyWasConsumed;
-            }
-        else 
-            {
-            //passing to listbox handler
-            keyResponse = iWidgetsList->OfferKeyEventL( 
-                    aKeyEvent, aType );
-            }
-        }
-    
-    return keyResponse;
-    }
-
-TKeyResponse CWmMainContainer::HandleButtonKeyEventL( 
-        const TKeyEvent& aKeyEvent, 
-        TEventCode aType )
-    {
-    TKeyResponse keyResponse( EKeyWasNotConsumed );
-    
-    // pass key event to portal button if focused
-    if ( iPortalButtonOne->IsFocused() )
-        {
-        keyResponse = iPortalButtonOne->OfferKeyEventL(
-                            aKeyEvent, aType );
-        }
-
-    // pass key event to the other portal button if exists and focused
-    if ( iPortalButtonTwo && iPortalButtonTwo->IsFocused() )
-        {
-        keyResponse = iPortalButtonTwo->OfferKeyEventL(
-                            aKeyEvent, aType );
-        }
-    
-    return keyResponse;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::MoveFocusByKeys
-// ---------------------------------------------------------
-//
-TKeyResponse CWmMainContainer::MoveFocusByKeys(
-                        const TKeyEvent& aKeyEvent, 
-                        TEventCode aType )
-    {
-    TKeyResponse keyResponse( EKeyWasNotConsumed );
-
-    if ( iWidgetsList->IsFocused() )
-        {
-        // ------------------------------------
-        // focus is in the WIDGETS LIST
-        // ------------------------------------
-        if ( !iLandscape &&
-                aKeyEvent.iScanCode == EStdKeyUpArrow &&
-                iWidgetsList->CurrentItemIndex() == 0 )
-            {
-            // widget list top -> up -> ovi button (portrait)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( !iLandscape &&
-                aKeyEvent.iScanCode == EStdKeyDownArrow &&
-                iWidgetsList->CurrentItemIndex() ==
-                   iWidgetsList->Model()->NumberOfItems() - 1 )
-            {
-            // widget list bottom -> down -> ovi button (portrait)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( iLandscape && !iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyRightArrow )
-            {
-            // widget list -> right -> ovi button (landscape normal)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( iLandscape && iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyLeftArrow )
-            {
-            // widget list -> left -> ovi button (landscape mirrored)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        }
-    else if ( iPortalButtonOne->IsFocused() )
-        {
-        // ------------------------------------
-        // focus is in the FIRST PORTAL BUTTON
-        // ------------------------------------
-        if ( !iLandscape &&
-                aKeyEvent.iScanCode == EStdKeyDownArrow )
-            {
-            // left portal -> down -> widget list top (portrait)
-            if ( aType == EEventKey )
-                SetFocusToWidgetList( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( !iLandscape &&
-                aKeyEvent.iScanCode == EStdKeyUpArrow )
-            {
-            // left portal -> up -> widget list bottom (portrait)
-            if ( aType == EEventKey )
-                SetFocusToWidgetList( iWidgetsList->Model()->NumberOfItems()-1 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( !iLandscape && !iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyRightArrow &&
-                iConfiguration->PortalButtonCount() > 1 )
-            {
-            // left portal -> right -> right portal (portrait normal)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 1 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( !iLandscape && iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyLeftArrow &&
-                iConfiguration->PortalButtonCount() > 1 )
-            {
-            // right portal -> left -> left portal (portrait mirrored)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 1 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( iLandscape && !iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyLeftArrow )
-            {
-            // upper portal -> left -> widget list (landscape normal)
-            if ( aType == EEventKey )
-                SetFocusToWidgetList();
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( iLandscape && iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyRightArrow )
-            {
-            // upper portal -> right -> widget list (landscape mirrored)
-            if ( aType == EEventKey )
-                SetFocusToWidgetList();
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( iLandscape &&
-                aKeyEvent.iScanCode == EStdKeyDownArrow &&
-                iConfiguration->PortalButtonCount() > 1 )
-            {
-            // upper portal -> down -> lower portal (landscape)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 1 );
-            keyResponse = EKeyWasConsumed;
-            }
-        }
-    else if ( iPortalButtonTwo && iPortalButtonTwo->IsFocused() )
-        {
-        // ------------------------------------
-        // focus is in the SECOND PORTAL BUTTON
-        // ------------------------------------
-        if ( !iLandscape &&
-                aKeyEvent.iScanCode == EStdKeyDownArrow )
-            {
-            // right portal -> down -> widget list top (portrait)
-            if ( aType == EEventKey )
-                SetFocusToWidgetList( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( !iLandscape &&
-                aKeyEvent.iScanCode == EStdKeyUpArrow )
-            {
-            // right portal -> up -> widget list bottom (portrait)
-            if ( aType == EEventKey )
-                SetFocusToWidgetList( iWidgetsList->Model()->NumberOfItems()-1 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( !iLandscape && !iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyLeftArrow &&
-                iConfiguration->PortalButtonCount() > 1 )
-            {
-            // right portal -> left -> left portal (portrait normal)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( !iLandscape && iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyRightArrow &&
-                iConfiguration->PortalButtonCount() > 1 )
-            {
-            // left portal -> right -> right portal (portrait mirrored)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( iLandscape && !iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyLeftArrow )
-            {
-            // lower portal -> left -> widget list (landscape normal)
-            if ( aType == EEventKey )
-                SetFocusToWidgetList();
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( iLandscape && iMirrored &&
-                aKeyEvent.iScanCode == EStdKeyRightArrow )
-            {
-            // lower portal -> right -> widget list (landscape mirrored)
-            if ( aType == EEventKey )
-                SetFocusToWidgetList();
-            keyResponse = EKeyWasConsumed;
-            }
-        else if ( iLandscape &&
-                aKeyEvent.iScanCode == EStdKeyUpArrow )
-            {
-            // lower portal -> up -> upper portal (landscape)
-            if ( aType == EEventKey )
-                SetFocusToPortalButton( 0 );
-            keyResponse = EKeyWasConsumed;
-            }
-        }
-    else
-        {
-        // ------------------------------------
-        // focus is NOWHERE
-        // ------------------------------------
-        if ( aKeyEvent.iScanCode == EStdKeyUpArrow ||
-                aKeyEvent.iScanCode == EStdKeyDownArrow ||
-                aKeyEvent.iScanCode == EStdKeyLeftArrow ||
-                aKeyEvent.iScanCode == EStdKeyRightArrow )
-            {
-            // no focus -> key hit -> focus list
-            if ( aType == EEventKey )
-                SetFocusToWidgetList();
-            keyResponse = EKeyWasConsumed;
-            }
-        }
-
-    return keyResponse;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::SetFocusToPortalButton
-// ---------------------------------------------------------
-//
-void CWmMainContainer::SetFocusToPortalButton( TInt aIndex )
-    {
-    if ( aIndex != 0 && iPortalButtonTwo )
-        {
-        iWidgetsList->SetFocus(EFalse);
-        iPortalButtonOne->SetFocus(EFalse);
-        iPortalButtonTwo->SetFocus(ETrue);
-        }
-    else
-        {
-        iWidgetsList->SetFocus(EFalse);
-        if ( iPortalButtonTwo )
-            iPortalButtonTwo->SetFocus(EFalse);
-        iPortalButtonOne->SetFocus(ETrue);
-        }
-    DrawDeferred();
-    UpdateFocusMode();
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::SetFocusToWidgetList
-// ---------------------------------------------------------
-//
-void CWmMainContainer::SetFocusToWidgetList( TInt aIndex )
-    {
-    iPortalButtonOne->SetFocus(EFalse);
-    if ( iPortalButtonTwo )
-        iPortalButtonTwo->SetFocus(EFalse);
-    if ( aIndex >= 0 && aIndex < iWidgetsList->Model()->NumberOfItems() )
-        {
-        iWidgetsList->SetCurrentItemIndex( aIndex );
-        }
-    iWidgetsList->SetFocus(ETrue);
-    DrawDeferred();
-    UpdateFocusMode();
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::UpdateFocusMode
-// ---------------------------------------------------------
-//
-void CWmMainContainer::UpdateFocusMode()
-    {
-    if ( iPortalButtonOne->IsFocused() )
-        {
-        // PORTAL BUTTON is focused
-        iFocusMode = EPortal;
-        }
-    else if ( iPortalButtonTwo && iPortalButtonTwo->IsFocused() )
-        {
-        // SECOND PORTAL BUTTON is focused
-        iFocusMode = EPortal;
-        }
-    else if( ( iFindPaneIsVisible ) && 
-        ( iFindbox->IsFocused() || iWidgetsList->IsFocused() ) )
-        {
-        // FIND MODE
-        iFocusMode = EFind;
-        }
-    else if ( iWidgetsList->IsFocused() )
-        {
-        // WIDGETS LIST is focused 
-        iFocusMode = EList;
-        }
-    else
-        {
-        // NO focus
-        iFocusMode = ENowhere;
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::FindChildControlByPoint
-// ---------------------------------------------------------
-//
-CCoeControl* CWmMainContainer::FindChildControlByPoint(
-        const TPoint& aPoint )
-    {
-    CCoeControl* theControl = NULL;
-    CCoeControlArray::TCursor cursor = Components().Begin();
-    CCoeControl* c;
-    while((c=cursor.Control<CCoeControl>()) != NULL )
-        {
-        if(c->IsVisible())
-            {
-            if ( c->Rect().Contains( aPoint ) ) theControl = c;
-            }
-        cursor.Next();
-        }
-    return theControl;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::HandlePointerEventL
-// ---------------------------------------------------------
-//
-void CWmMainContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    if ( !iClosingDown  )
-        {
-		
-		if (aPointerEvent.iType == TPointerEvent::EButton1Down)
-			{
-	        // Check if user clicked a child control
-	        CCoeControl* control = FindChildControlByPoint( aPointerEvent.iPosition );
-	        if ( control && !control->IsFocused() )
-	            {
-	            // set focus to selected list box item.           
-                if ( control == iWidgetsList )
-                    {
-                    TInt itemIndex = iWidgetsList->CurrentListBoxItemIndex();
-                    TBool itemPointed = iWidgetsList->View()->XYPosToItemIndex(
-                            aPointerEvent.iPosition,
-                            itemIndex );
-                    if ( itemIndex >= 0 && itemPointed )
-                        {
-                        iWidgetsList->SetCurrentItemIndex( itemIndex );
-                        }
-                    }
-	            
-	            // remove focus from ALL other child controls.
-	            CCoeControlArray::TCursor cursor = Components().Begin();
-	            CCoeControl* c;
-	            while ((c=cursor.Control<CCoeControl>()) != NULL )
-	                {
-	                if ( c != control && c->IsFocused() ) c->SetFocus( EFalse );
-	                cursor.Next();
-	                }
-	            
-	            // Set focus to the control that was clicked
-	            control->SetFocus( ETrue );
-	                            
-	            // update focus mode accordingly
-	            UpdateFocusMode();
-	            // repaint
-	            DrawDeferred();
-	            }
-			}
-        
-        CCoeControl::HandlePointerEventL( aPointerEvent );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::InitializeControlsL
-// ---------------------------------------------------------
-//
-void CWmMainContainer::InitializeControlsL( const TRect& /*aRect*/ )
-	{
-	// Create portal buttons
-    iPortalButtonOne = CWmPortalButton::NewL( this, 0 );
-    iPortalButtonOne->SetMopParent( this );    
-    AddControlL( iPortalButtonOne, EPortalOne );
-    if ( iConfiguration->PortalButtonCount() > 1 )
-        {
-        iPortalButtonTwo = CWmPortalButton::NewL( this, 1 );
-        iPortalButtonTwo->SetMopParent( this );    
-        AddControlL( iPortalButtonTwo, EPortalTwo );
-        }
-    
-    // Create widget list box
-    iWidgetsList = CWmListBox::NewL(
-            iWmPlugin,
-            TRect(),
-            this );
-    iWidgetsList->SetMopParent( this );
-    AddControlL( iWidgetsList, EWidgetsList );
-	iWidgetsList->ActivateL();
-    iWidgetsList->SetListBoxObserver( this );
-    
-    // Create scroll bar.
-    iWidgetsList->CreateScrollBarFrameL( ETrue );
-    iWidgetsList->ScrollBarFrame()->SetScrollBarVisibilityL(
-        CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-    iWidgetsList->UpdateScrollBarsL(); 
-    
-    // search field
-    iFindbox = CAknSearchField::NewL( *this,
-                        CAknSearchField::EAdaptiveSearch,
-                        0, KTextLimit );
-    AddControlL( iFindbox, EFindBox );
-
-    UpdateFocusMode();
-    StartLoadingWidgetsL();
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::HandleWidgetListChanged
-// ---------------------------------------------------------
-//
-void CWmMainContainer::HandleWidgetListChanged()
-    {
-    TRAP_IGNORE( StartLoadingWidgetsL(); );
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::StartLoadingWidgetsL
-// ---------------------------------------------------------
-//
-void CWmMainContainer::StartLoadingWidgetsL()
-    {
-    if ( !iWidgetLoader )
-        {
-        // create the widget loader AO
-        iWidgetLoader = CWmWidgetLoaderAo::NewL( iWmPlugin, *iWidgetsList );
-        }
-    iWidgetLoader->StartLoading();
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CWmMainContainer::HandleResourceChange( TInt aType )
-	{
-    CCoeControl::HandleResourceChange( aType );
-	
-    if ( KEikDynamicLayoutVariantSwitch == aType )
-        {
-        TRect rect;
-        AknLayoutUtils::LayoutMetricsRect( 
-                            AknLayoutUtils::EMainPane, rect );
-        SetRect( rect );
-        
-        // notify widgetlist
-        iWidgetsList->HandleLayoutChanged();
-        }
-    else if ( KAknsMessageSkinChange == aType )
-        {
-        // notify widgetlist , colored add icon need to be updated 
-        iWidgetsList->HandleSkinChanged();
-        }
-	}
-
-
-// ---------------------------------------------------------
-// CWmMainContainer::MopSupplyObject
-// ---------------------------------------------------------
-//
-TTypeUid::Ptr CWmMainContainer::MopSupplyObject( TTypeUid aId )
-    {
-    if ( aId.iUid == MAknsControlContext::ETypeId )
-        {
-        return MAknsControlContext::SupplyMopObject( 
-                                            aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::Draw
-// ---------------------------------------------------------
-//
-void CWmMainContainer::Draw( const TRect& /*aRect*/ ) const
-	{
-	CWindowGc& gc = SystemGc();	
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    AknsDrawUtils::Background( skin, cc, this, gc, Rect() );
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainer::AddControlL
-// ---------------------------------------------------------
-//
-void CWmMainContainer::AddControlL( 
-                                CCoeControl* aControl, 
-                                TInt aControlId )
-    {
-    Components().AppendLC( aControl, aControlId ); // Ownership transfered 
-    CleanupStack::Pop(aControl);    
-    iWmPlugin.ViewAppUi().AddToStackL( aControl );
-    aControl->MakeVisible( ETrue );
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::PortalSelected
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::PortalSelected()
-    {    
-    return ( iFocusMode == EPortal );
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::WidgetSelected
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::WidgetSelected() 
-    {
-    return ( iFocusMode == EList ) || ( iFocusMode == EFind );
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::CanDoAdd
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::CanDoAdd()
-    {
-    TBool retVal = EFalse;
-    CWmWidgetData* data = iWidgetsList->WidgetData();
-    if ( WidgetSelected() && data && !data->IsUninstalling() )
-        {
-        if ( data->HsContentInfo().CanBeAdded() )
-            retVal = ETrue;
-        }
-    return retVal;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::CanDoUninstall
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::CanDoUninstall() 
-    {
-    TBool retVal( EFalse );
-    CWmWidgetData* data = iWidgetsList->WidgetData();
-    if ( WidgetSelected() && data && !data->IsUninstalling() )
-        {
-        if ( data->WidgetType() == CWmWidgetData::ECps &&
-                data->PublisherUid() != KNullUid )
-            {
-            retVal = ETrue;
-            }
-        }
-    return retVal;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::CanDoLaunch
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::CanDoLaunch() 
-    {
-    TBool retVal(EFalse);
-    
-    if ( WidgetSelected() )
-        {
-        CWmWidgetData* data = iWidgetsList->WidgetData();
-        if ( data && !data->IsUninstalling() )
-            {
-            if ( data->WidgetType() == CWmWidgetData::ECps &&
-                data->PublisherUid() != KNullUid )
-                {
-                retVal = ETrue;
-                }
-            }
-        }
-    return retVal;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::CanDoFind
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::CanDoFind()
-    {
-    TBool canDo( !iFindPaneIsVisible );
-    if ( canDo )
-        {
-        canDo = ( iFocusMode == EList || iFocusMode == ENowhere );
-        }
-    return canDo;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::CanDoSort
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::CanDoSort()
-    {
-    return !iFindPaneIsVisible;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::CanDoDetails
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::CanDoDetails()
-    {
-    return ( WidgetSelected() && iWidgetsList->WidgetData() 
-            && !iWidgetsList->WidgetData()->IsUninstalling() );
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainer::CanDoHelp
-// ---------------------------------------------------------
-//
-TBool CWmMainContainer::CanDoHelp()
-    {
-    return FeatureManager::FeatureSupported( KFeatureIdHelp );
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::AddWidgetToHomeScreenL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::AddWidgetToHomeScreenL()
-    {
-    CWmWidgetData* data = iWidgetsList->WidgetData();
-    if ( !iClosingDown && data && !data->IsUninstalling() )
-        {
-        if ( iFindbox && iFindPaneIsVisible )
-            {
-            DeactivateFindPaneL();
-            }
-
-        // set add to homescreen to be executed later
-        iWmPlugin.SetPostponedCommandL(
-            CWmPlugin::EAddToHomescreen,
-            data->HsContentInfo() );
-
-        // check if we can add any widgets to hs. 
-        TBool hsContentFull = ETrue;
-        for ( TInt i=0; i<iWidgetsList->WidgetDataCount(); i++ )
-            {
-            CHsContentInfo& info = iWidgetsList->WidgetData(i).HsContentInfo();
-            if ( info.CanBeAdded() ) 
-                {
-                hsContentFull = EFalse;
-                break;
-                }
-            }
-        
-        // do not deactivate wm if wrt widget already exists on hs,
-        // instead of that show popup info note.
-        if ( CWmWidgetData::ECps == data->WidgetType() &&
-            !data->HsContentInfo().CanBeAdded() &&
-            !hsContentFull )
-            {
-            iWmPlugin.ExecuteCommandL();
-            }
-        else
-            {
-            iWmPlugin.Deactivate();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::LaunchWidgetL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::LaunchWidgetL()
-    {
-    if ( CanDoLaunch() )
-        {
-        CWmWidgetData* data = iWidgetsList->WidgetData();
-        
-        HBufC* param = KNullDesC().AllocLC(); // launch params
-        
-        RApaLsSession appArc;
-        User::LeaveIfError( appArc.Connect() ); // connect to AppArc server
-        CleanupClosePushL( appArc );
-        TThreadId id;
-        User::LeaveIfError( appArc.StartDocument(
-            *param, data->PublisherUid(), id ) );
-    
-        CleanupStack::PopAndDestroy( &appArc );      
-        CleanupStack::PopAndDestroy( param );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::ActivateFindPaneL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::ActivateFindPaneL()
-    {
-    if ( iFindbox && !iFindPaneIsVisible &&
-            iWidgetsList->Model()->NumberOfItems() > KMinWidgets )
-        {
-		// enable filtering
-        CAknFilteredTextListBoxModel* m = 
-                static_cast <CAknFilteredTextListBoxModel*> ( iWidgetsList->Model() );
-        if ( m )
-            {
-            m->CreateFilterL( iWidgetsList, iFindbox );
-            if ( m->Filter() )
-                {
-                m->Filter()->SetParentControl( this );
-                }
-            }
-
-        iFindbox->ActivateL();
-        iFindbox->ResetL();
-        iFindbox->SetSearchTextL( KNullDesC );
-        iFindbox->SetSkinEnabledL( ETrue );
-
-        iFindPaneIsVisible = ETrue;
-        iFindbox->MakeVisible( ETrue );
-        
-        // layout listbox and findbox
-        LayoutControls();        
-        
-        iFindbox->SetFocus( ETrue );
-        iWidgetsList->SetFindPaneIsVisible( ETrue );
-
-        // set soft key set
-        CEikButtonGroupContainer* cbaGroup =
-            CEikButtonGroupContainer::Current();
-        cbaGroup->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_CANCEL__SELECT );
-        cbaGroup->DrawNow();
-
-        UpdateFocusMode();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::DeactivateFindPaneL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::DeactivateFindPaneL()
-    {
-    if( iFindbox && iFindPaneIsVisible )
-	    {
-        // notify search field we're shutting down
-        TKeyEvent keyEvent = { EKeyNo, EStdKeyNo, 0, 0  };
-        iFindbox->OfferKeyEventL( keyEvent, EEventKey );
-        
-        // reset findbox
-        iFindbox->ResetL();
-
-        // reset filter
-        CAknFilteredTextListBoxModel* m = 
-                static_cast <CAknFilteredTextListBoxModel*> ( iWidgetsList->Model() );
-        if ( m && m->Filter() )
-            {
-            m->Filter()->ResetFilteringL();
-            m->RemoveFilter();
-            }
-
-        iFindbox->MakeVisible( EFalse );
-        iFindbox->SetFocus( EFalse );
-        iFindPaneIsVisible = EFalse;
-        iWidgetsList->SetFindPaneIsVisible( EFalse );
-        
-        LayoutControls();
-        iWidgetsList->SetFocus( ETrue );
-
-        // set soft key set
-        CEikButtonGroupContainer* cbaGroup =
-            CEikButtonGroupContainer::Current();
-        cbaGroup->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_BACK__SELECT );
-        cbaGroup->DrawNow();
-
-        UpdateFocusMode();
-        DrawNow();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::SortListAlphabeticallyL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::SortListAlphabeticallyL()
-    {
-    if ( iWidgetsList )
-        {
-        iWidgetsList->SetSortOrderL( CWmListBox::EAlphabetical );
-       
-        //store changed list order
-        CWmPersistentWidgetOrder* widgetOrder =
-            CWmPersistentWidgetOrder::NewL( iWmPlugin.FileServer() );
-        CleanupStack::PushL( widgetOrder );
-        widgetOrder->StoreL( iWidgetsList->WidgetDataArray() );
-        CleanupStack::PopAndDestroy( widgetOrder );
-
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::UninstallWidgetL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::UninstallWidgetL()
-    {
-    if ( CanDoUninstall() )
-        {
-        CWmWidgetData* data = iWidgetsList->WidgetData();
-        if ( data )
-            {
-            if ( iWmPlugin.ResourceLoader().QueryPopupL( 
-                    R_QTN_WM_UNINSTALL_WIDGET_QUERY, data->Name() ) )
-                {
-                
-                TRAPD( err, iWmPlugin.WmInstaller().UninstallL( data ) );
-                if ( err != KErrNone )
-                    {
-                    iWmPlugin.ResourceLoader().InfoPopupL( 
-                            R_QTN_WM_UNINST_PROCESS_BUSY, KNullDesC );
-                    }
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::OpenPortalL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::OpenPortalL()
-    {
-    if ( !iClosingDown )
-        {
-        // execute whichever of the portal buttons happens to be active
-        if ( iPortalButtonOne->IsFocused() )
-            iPortalButtonOne->ExecuteL();
-        else if ( iPortalButtonTwo && iPortalButtonTwo->IsFocused() )
-            iPortalButtonTwo->ExecuteL();
-        else if ( !iPortalButtonTwo )
-            iPortalButtonOne->ExecuteL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::SelectL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::SelectL()
-    {
-    if ( WidgetSelected() )
-        AddWidgetToHomeScreenL();
-    else if ( PortalSelected() )
-        OpenPortalL();
-    else
-        SetFocusToWidgetList();
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::ShowHelpL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::ShowHelpL()
-    {
-    TUid fwUid = TUid::Uid( AI_UID3_AIFW_COMMON );
-    // retrieve resolve host application help context
-    CArrayFix<TCoeHelpContext>* helpContext =
-        iEikonEnv->EikAppUi()->AppHelpContextL();
-
-    // add the widget manager entry into the help context
-    CleanupStack::PushL( helpContext );
-    helpContext->InsertL( 0, TCoeHelpContext(
-            fwUid, KWM_HLP_WIDGET_COLLECTION ) );
-    CleanupStack::Pop( helpContext );
-
-    // launch help
-    HlpLauncher::LaunchHelpApplicationL(
-          iEikonEnv->WsSession(),
-          helpContext );
-    helpContext = 0; // HlpLauncher takes ownership of helpContext
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::RemoveCtrlsFromStack
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::RemoveCtrlsFromStack()
-    {    
-    for ( TInt i=0; i < CountComponentControls(); i++ ) 
-        {
-        CCoeControl* ctl = ComponentControl( i ) ;
-        if ( ctl )
-            {
-            iWmPlugin.ViewAppUi().RemoveFromStack( ctl );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWmMainContainer::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-//
-void CWmMainContainer::HandleListBoxEventL(
-        CEikListBox* /*aListBox*/, TListBoxEvent aEventType )
-    {
-    if ( ( aEventType == EEventEnterKeyPressed ||
-           aEventType == EEventItemSingleClicked ) 
-           && !iClosingDown )    
-        {
-        AddWidgetToHomeScreenL();
-        }
-    }
-
-// ----------------------------------------------------
-// CWmMainContainer::LaunchDetailsDialogL
-// ----------------------------------------------------
-//
-void CWmMainContainer::LaunchDetailsDialogL()
-    {
-    CWmWidgetData* data = iWidgetsList->WidgetData();
-    if ( data )
-        {
-        const CFbsBitmap* logo = ( data->LogoImage() ) ? 
-                    data->LogoImage() : iWidgetsList->DefaultLogo();
-        const CFbsBitmap* mask = ( data->LogoImageMask() ) ? 
-                    data->LogoImageMask() : iWidgetsList->DefaultMask();
-        
-        CWmDetailsDlg* dlg = CWmDetailsDlg::NewL(
-                data->Name(), data->Description(), 
-                data->HsContentInfo().CanBeAdded(),
-                logo, mask );
-
-        if ( dlg && dlg->ExecuteLD() == ECbaAddToHs )
-            {
-            AddWidgetToHomeScreenL();
-            }
-        }
-    }
-
-// ----------------------------------------------------
-// CWmMainContainer::SetClosingDown
-// ----------------------------------------------------
-//
-void CWmMainContainer::SetClosingDown( TBool aClosingDown )
-    {
-    iClosingDown = aClosingDown;
-    }
-
-// ----------------------------------------------------
-// CWmMainContainer::ClosingDown
-// ----------------------------------------------------
-//
-TBool CWmMainContainer::ClosingDown()
-    {
-    return iClosingDown;
-    }
-
-// ----------------------------------------------------
-// CWmMainContainer::Configuration
-// ----------------------------------------------------
-//
-CWmConfiguration& CWmMainContainer::Configuration()
-    {
-    return *iConfiguration;
-    }
-
-// ----------------------------------------------------
-// CWmMainContainer::HandleFindSizeChanged
-// ----------------------------------------------------
-//
-void CWmMainContainer::HandleFindSizeChanged()
-    {    
-    TAknWindowLineLayout findPane = 
-            AknLayoutScalable_Avkon::find_pane().LayoutLine();
-
-    TAknWindowLineLayout listPane;
-
-    TRect listRect = iWidgetsList->Rect();
-    listPane.il = listRect.iTl.iX;
-    listPane.it = listRect.iTl.iY;
-    listPane.ib = 0;
-    listPane.iH = TUint16( listRect.Height() - ( findPane.iH - 1 ) );
-    listPane.iW = listRect.Width();
-    listPane.ir = ELayoutEmpty;
-    
-    // set findpane width equal to listwidth
-    findPane.iW = listPane.iW;
-
-    TRect rect = Rect();
-    AknLayoutUtils::LayoutControl( iFindbox, rect, findPane );
-    AknLayoutUtils::LayoutControl( iWidgetsList, rect, listPane );
-    
-    iWidgetsList->DrawNow();
-    }
-
-
-// End of File
-
--- a/idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +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 main container view for WidgetManager application.
-*
-*/
-
-// INCLUDES
-#include <aknViewAppUi.h>
-#include <eikmenub.h>
-#include <avkon.hrh>
-#include <akncontext.h>
-#include <akntitle.h>
-#include <StringLoader.h>
-#include <barsread.h>
-#include <eikbtgpc.h>
-#include <widgetmanagerview.rsg>
-#include <hscontentcontroller.h>
-
-#include "wmplugin.h"
-#include "widgetmanager.hrh"
-#include "wmmaincontainerview.h"
-#include "wmresourceloader.h"
-#include "wmmaincontainer.h"
-#include <avkon.rsg>
-
-
-// ---------------------------------------------------------
-// CWmMainContainerView::CWmMainContainerView()
-// ---------------------------------------------------------
-//
-CWmMainContainerView::CWmMainContainerView(
-        CWmPlugin& aWmPlugin ):
-    iWmPlugin( aWmPlugin )
-	{
-	iWmMainContainer = NULL;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::~CWmMainContainerView()
-// ---------------------------------------------------------
-//
-CWmMainContainerView::~CWmMainContainerView()
-	{
-    if ( iWmMainContainer != NULL )
-        {
-        AppUi()->RemoveFromViewStack( *this, iWmMainContainer );
-        delete iWmMainContainer;
-        iWmMainContainer = NULL;
-        }
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::NewL
-// ---------------------------------------------------------
-//
-CWmMainContainerView* CWmMainContainerView::NewL(
-        CWmPlugin& aWmPlugin )
-	{
-	CWmMainContainerView* self = CWmMainContainerView::NewLC(
-	        aWmPlugin );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::NewLC
-// ---------------------------------------------------------
-//
-CWmMainContainerView* CWmMainContainerView::NewLC(
-        CWmPlugin& aWmPlugin )
-	{
-	CWmMainContainerView* self = 
-        new ( ELeave ) CWmMainContainerView( aWmPlugin );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::ConstructL
-// ---------------------------------------------------------
-//
-void CWmMainContainerView::ConstructL()
-	{
-	BaseConstructL( R_WM_MAIN_CONTAINER_VIEW );
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::Id
-// ---------------------------------------------------------
-//
-TUid CWmMainContainerView::Id() const
-	{
-	return TUid::Uid( EWmMainContainerViewId );
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleCommandL
-// ---------------------------------------------------------
-//
-void CWmMainContainerView::HandleCommandL( TInt aCommand )
-	{
-    if ( !iWmMainContainer->ClosingDown() )
-        {
-        switch ( aCommand )
-            {
-            case EWmMainContainerViewOpenPortalMenuItemCommand:
-                HandleOpenMenuItemSelectedL();
-                break;
-            case EWmMainContainerViewAddMenuItemCommand:
-                HandleAddMenuItemSelectedL();
-                break;
-            case EWmMainContainerViewLaunchMenuItemCommand:
-                HandleLaunchMenuItemSelectedL();
-                break;
-            case EWmMainContainerViewSearchMenuItemCommand: // flow through
-            case EAknSoftkeySearch:
-                HandleSearchMenuItemSelectedL();
-                break;
-            case EWmMainContainerViewSortAlphaMenuItemCommand:
-                HandleSortAlphaMenuItemSelectedL();
-                break;
-            case EWmMainContainerViewUninstallMenuItemCommand:
-                HandleUninstallMenuItemSelectedL();
-                break;
-            case EWmMainContainerViewHelpMenuItemCommand:
-                HandleHelpMenuItemSelectedL();
-                break;
-            case EWmMainContainerViewBackMenuItemCommand: // flow through
-            case EAknSoftkeyBack:
-                iWmPlugin.Deactivate();
-                break;
-            case EWmMainContainerViewWiddetDetailsMenuItemCommand:
-                HandleDetailsMenuItemSelectedL();
-                break;
-            case EAknSoftkeySelect:
-		        if ( iWmMainContainer )
-		            iWmMainContainer->SelectL();
-		        break;
-            case EAknSoftkeyCancel: // flow through
-            case EEikCmdCanceled:
-                {
-                HandleDeactivateFindPaneL();
-                break;
-                }
-            default:
-                break;
-            }
-        }
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::DoActivateL
-// ---------------------------------------------------------
-//
-void CWmMainContainerView::DoActivateL( 
-		const TVwsViewId& aPrevViewId,
-		TUid /*aCustomMessageId*/,
-		const TDesC8& /*aCustomMessage*/ )
-	{
-	if ( iWmMainContainer == NULL )
-		{
-		iWmMainContainer = CreateContainerL();
-		iWmMainContainer->SetMopParent( this );
-		AppUi()->AddToStackL( *this, iWmMainContainer );
-		}
-	
-	SetupStatusPaneL();
-   
-    iWmPlugin.MainViewActivated( aPrevViewId, iWmMainContainer );
-    StatusPane()->SwitchLayoutL( 
-            R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT );
-    StatusPane()->ApplyCurrentSettingsL();
-    StatusPane()->DrawNow();
-    CEikButtonGroupContainer* bgc( Cba() );
-        
-    CEikCba* cba = static_cast< CEikCba* >( bgc->ButtonGroup() );
-    if ( cba ) 
-        {
-        
-        bgc->SetBoundingRect( TRect() );
-        cba->DrawNow();
-        }
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::DoDeactivate
-// ---------------------------------------------------------
-//
-void CWmMainContainerView::DoDeactivate()
-	{
-	if ( iWmMainContainer != NULL )
-		{
-		AppUi()->RemoveFromViewStack( *this, iWmMainContainer );
-		delete iWmMainContainer;
-		iWmMainContainer = NULL;
-		}
-
-	iWmPlugin.MainViewDeactivated();
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleStatusPaneSizeChange
-// ---------------------------------------------------------
-//
-void CWmMainContainerView::HandleStatusPaneSizeChange()
-	{
-	CAknView::HandleStatusPaneSizeChange();
-	
-	// this may fail, but we're not able to propagate exceptions here
-	TVwsViewId view;
-	AppUi()->GetActiveViewId( view );
-	if ( view.iViewUid == Id() )
-		{
-		if ( iWmMainContainer ) 
-		    {
-		    iWmMainContainer->SetRect( AppUi()->ClientRect() );
-		    }
-		}
-	
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::SetupStatusPaneL
-// ---------------------------------------------------------
-//
-void CWmMainContainerView::SetupStatusPaneL()
-	{	
-	// setup the title pane
-	TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle );
-	CEikStatusPaneBase::TPaneCapabilities subPaneTitle = 
-		StatusPane()->PaneCapabilities( titlePaneUid );
-	if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() )
-		{
-		CAknTitlePane* title = static_cast< CAknTitlePane* >( 
-			StatusPane()->ControlL( titlePaneUid ) );
-		if ( title )
-		    {
-		    TResourceReader reader;
-            iEikonEnv->CreateResourceReaderLC( 
-                    reader, R_WM_MAIN_CONTAINER_TITLE_RESOURCE );
-            title->SetFromResourceL( reader );
-            title->DrawDeferred();
-            CleanupStack::PopAndDestroy(); // reader internal state
-		    }
-		}
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::CreateContainerL
-// ---------------------------------------------------------
-//
-CWmMainContainer* CWmMainContainerView::CreateContainerL()
-	{
-	return CWmMainContainer::NewL( ClientRect(), iWmPlugin );
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::DynInitMenuPaneL
-// ---------------------------------------------------------
-//
-void CWmMainContainerView::DynInitMenuPaneL( 
-        TInt aResourceId, CEikMenuPane* aMenuPane )
-    {
-    if ( aResourceId == R_WM_MAIN_CONTAINER_MENU_PANE &&
-         iWmMainContainer )
-        {
-        aMenuPane->SetItemDimmed( EWmMainContainerViewAddMenuItemCommand,
-                !iWmMainContainer->CanDoAdd() );
-        aMenuPane->SetItemDimmed( EWmMainContainerViewWiddetDetailsMenuItemCommand,
-                !iWmMainContainer->CanDoDetails() );
-        aMenuPane->SetItemDimmed( EWmMainContainerViewLaunchMenuItemCommand,
-                !iWmMainContainer->CanDoLaunch() );
-        aMenuPane->SetItemDimmed( EWmMainContainerViewSearchMenuItemCommand,
-                !iWmMainContainer->CanDoFind() );
-        aMenuPane->SetItemDimmed( EWmMainContainerViewSortAlphaMenuItemCommand,
-                !iWmMainContainer->CanDoSort() );
-        aMenuPane->SetItemDimmed( EWmMainContainerViewHelpMenuItemCommand,
-                !iWmMainContainer->CanDoHelp() );
-		aMenuPane->SetItemDimmed( EWmMainContainerViewUninstallMenuItemCommand,
-                !iWmMainContainer->CanDoUninstall() );
-        if ( !iWmMainContainer->PortalSelected() )
-            aMenuPane->DeleteMenuItem( EWmMainContainerViewOpenPortalMenuItemCommand );
-        if ( !iWmMainContainer->WidgetSelected() )
-            aMenuPane->DeleteMenuItem( EWmMainContainerViewAddMenuItemCommand );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleOpenMenuItemSelectedL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleOpenMenuItemSelectedL()
-    {
-    if ( iWmMainContainer && iWmMainContainer->PortalSelected() )
-        {       
-        iWmMainContainer->OpenPortalL();
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleDetailsMenuItemSelectedL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleDetailsMenuItemSelectedL()
-    {
-    if ( iWmMainContainer && iWmMainContainer->WidgetSelected() )
-        {       
-        iWmMainContainer->LaunchDetailsDialogL();
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleAddMenuItemSelectedL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleAddMenuItemSelectedL()
-	{
-	if ( iWmMainContainer && iWmMainContainer->WidgetSelected() )
-	    {	    
-	    iWmMainContainer->AddWidgetToHomeScreenL();
-	    }
-	return ETrue;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleLaunchMenuItemSelectedL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleLaunchMenuItemSelectedL()
-	{
-    if ( iWmMainContainer && iWmMainContainer->WidgetSelected() )
-        {
-        iWmMainContainer->LaunchWidgetL();
-        }
-	return ETrue;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleSearchMenuItemSelectedL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleSearchMenuItemSelectedL()
-	{
-    if ( iWmMainContainer )
-        {
-        iWmMainContainer->ActivateFindPaneL();
-        }
-	return ETrue;
-	}
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleSortAlphaMenuItemSelectedL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleSortAlphaMenuItemSelectedL()
-    {
-    if ( iWmMainContainer )
-        {
-        iWmMainContainer->SortListAlphabeticallyL();
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleUninstallMenuItemSelectedL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleUninstallMenuItemSelectedL()
-    {
-    if ( iWmMainContainer )
-        {
-        iWmMainContainer->UninstallWidgetL();
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleHelpMenuItemSelectedL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleHelpMenuItemSelectedL()
-    {
-    iWmMainContainer->ShowHelpL();
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CWmMainContainerView::HandleDeactivateFindPaneL
-// ---------------------------------------------------------
-//
-TBool CWmMainContainerView::HandleDeactivateFindPaneL()
-    {
-    if ( iWmMainContainer )
-        {       
-        iWmMainContainer->DeactivateFindPaneL();
-        }
-    return ETrue;
-    }
-
-// End of file
--- a/idlehomescreen/widgetmanager/src/wmpersistentwidgetorder.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +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:
-* Defines an ordered list of widget id's with persistence capability
-*
-*/
-
-// INCLUDES
-#include <s32file.h> // RFile
-#include <s32std.h> // streams
-#include <driveinfo.h>
-#include <sysutil.h> 
-
-#include "wmwidgetdata.h"
-#include "wmpersistentwidgetorder.h"
-
-// CONSTANTS
-_LIT( KStoreFileName, "wmlistorder.dat" );
-
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::NewL
-// ---------------------------------------------------------
-//
-CWmPersistentWidgetOrder* CWmPersistentWidgetOrder::NewL( RFs& aFs )
-    {
-    CWmPersistentWidgetOrder* self =
-        new (ELeave) CWmPersistentWidgetOrder( aFs );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::CWmPersistentWidgetOrder
-// ---------------------------------------------------------
-//
-CWmPersistentWidgetOrder::CWmPersistentWidgetOrder( RFs& aFs )
-    : iFs( aFs )
-    {
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::ConstructL
-// ---------------------------------------------------------
-//
-void CWmPersistentWidgetOrder::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::~CWmPersistentWidgetOrder
-// ---------------------------------------------------------
-//
-CWmPersistentWidgetOrder::~CWmPersistentWidgetOrder()
-    {
-    CleanupArray();
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::LoadL
-// ---------------------------------------------------------
-//
-void CWmPersistentWidgetOrder::LoadL()
-    {
-    // 1. empty the in-mempory storage
-    CleanupArray();
-    // 2. create stream for reading data from a file
-    TFileName storeFileName;
-    GetStoreFileNameL( storeFileName );
-    CPermanentFileStore* fileStore = NULL;
-    fileStore = CPermanentFileStore::OpenL(
-            iFs, storeFileName, EFileRead );
-    CleanupStack::PushL( fileStore );
-    RStoreReadStream reader;
-    reader.OpenLC( *fileStore, fileStore->Root() );
-    // 3. read all contents from the stream
-    TInt arrayCount = reader.ReadInt32L();
-    while( iTagArray.Count() < arrayCount )
-        {
-        TInt32 uid = reader.ReadInt32L();
-        TInt32 publisherIdLen = reader.ReadInt32L();
-        HBufC16* publisherId = HBufC16::NewLC(publisherIdLen);
-        TPtr16 publisherIdPtr = publisherId->Des();
-        reader.ReadL( publisherIdPtr, publisherIdLen );
-        iTagArray.AppendL( Tag( uid, publisherId ) );
-        CleanupStack::Pop( publisherId );
-        }
-    // 4. cleanup
-    CleanupStack::PopAndDestroy( &reader );
-    CleanupStack::PopAndDestroy( fileStore );
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::StoreL
-// ---------------------------------------------------------
-//
-void CWmPersistentWidgetOrder::StoreL( const RWidgetDataValues& aArray )
-    {
-    // 1. create stream for storing the data to a file
-    TFileName storeFileName;
-    GetStoreFileNameL( storeFileName );
-    CPermanentFileStore* fileStore = CPermanentFileStore::ReplaceLC(
-            iFs, storeFileName, EFileWrite );
-    fileStore->SetTypeL( KPermanentFileStoreLayoutUid );
-    RStoreWriteStream writer;
-    TStreamId id = writer.CreateLC( *fileStore );
-    // 2. write all content to the stream
-    writer.WriteInt32L( aArray.Count() );
-    for( TInt i=0; i<aArray.Count(); ++i )
-        {
-        TInt32 uid = aArray[i]->Uid().iUid;
-        const TDesC16& publisherId = aArray[i]->HsContentInfo().PublisherId();
-        writer.WriteInt32L( uid );
-        writer.WriteInt32L( publisherId.Length() );
-        writer.WriteL( publisherId, publisherId.Length() );
-        }
-    // 3. check available space and commit the stream
-    TInt streamsize = writer.Sink()->SizeL();
-    TBool belowCriticalLevel = SysUtil::DiskSpaceBelowCriticalLevelL(
-            &iFs, streamsize, EDriveC );
-    if( !belowCriticalLevel )
-        {
-        writer.CommitL();
-        fileStore->SetRootL(id);
-        fileStore->CommitL();        
-        }
-    // 4. cleanup
-    CleanupStack::PopAndDestroy( &writer );
-    CleanupStack::PopAndDestroy( fileStore );
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::CleanupArray
-// ---------------------------------------------------------
-//
-void CWmPersistentWidgetOrder::CleanupArray()
-    {
-    for( TInt i=0; i<iTagArray.Count(); ++i )
-        {
-        delete iTagArray[i].iPublisherId;
-        iTagArray[i].iPublisherId = 0;
-        }
-    iTagArray.Close();
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::GetStoreFileNameL
-// ---------------------------------------------------------
-//
-void CWmPersistentWidgetOrder::GetStoreFileNameL(
-        TDes& aPathBuf )
-    {
-    // get default drive for phone memory
-    TInt driveNum = EDriveC;
-    User::LeaveIfError( DriveInfo::GetDefaultDrive(
-        DriveInfo::EDefaultPhoneMemory, driveNum ) );
-    // make sure the directory exists
-    iFs.CreatePrivatePath( driveNum ); // ignore errors
-    // build the store path
-    TChar driveLetter;
-    User::LeaveIfError( iFs.DriveToChar( driveNum, driveLetter ) );
-    aPathBuf.Append( driveLetter );
-    aPathBuf.Append( _L(":") );
-    TFileName privatePath;
-    User::LeaveIfError( iFs.PrivatePath( privatePath ) );
-    aPathBuf.Append( privatePath );
-    aPathBuf.Append( KStoreFileName );
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::IndexOf
-// ---------------------------------------------------------
-//
-TInt CWmPersistentWidgetOrder::IndexOf( const CWmWidgetData& aWidgetData ) const
-    {
-    TInt found = KErrNotFound;
-    for( TInt i=0; i<iTagArray.Count() && found<0; ++i )
-        {
-        if ( iTagArray[i].Matches( aWidgetData ) )
-            found = i;
-        }
-    return found;
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::IsEmpty
-// ---------------------------------------------------------
-//
-TBool CWmPersistentWidgetOrder::IsEmpty() const
-    {
-    return iTagArray.Count() == 0;
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::Tag::Tag
-// ---------------------------------------------------------
-//
-CWmPersistentWidgetOrder::Tag::Tag(
-        TInt32 aUid, HBufC16* aPublisherId )
-    {
-    iUid = aUid;
-    iPublisherId = aPublisherId;
-    }
-
-// ---------------------------------------------------------
-// CWmPersistentWidgetOrder::Tag::Matches
-// ---------------------------------------------------------
-//
-TBool CWmPersistentWidgetOrder::Tag::Matches(
-        const CWmWidgetData& aWidgetData ) const
-    {
-    return ( aWidgetData.Uid().iUid == iUid &&
-            aWidgetData.HsContentInfo().PublisherId() == *iPublisherId );
-    }
-
-
-// end of file
--- a/idlehomescreen/widgetmanager/src/wmplugin.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,354 +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:
-* widget manager plugin implementation
-*
-*/
-
-// INCLUDE FILES
-#include <bautils.h>
-#include <coemain.h>
-#include <aknViewAppUi.h>
-#include <eikappui.h>
-#include <eikapp.h>
-#include <e32property.h>
-#include <e32base.h>
-#include <activeidle2domainpskeys.h>
-#include <widgetmanagerview.rsg>
-
-#include "wmcommon.h"
-#include "widgetmanager.hrh"
-#include "wmmaincontainer.h"
-#include "wmmaincontainerview.h"
-#include "wmresourceloader.h"
-#include "wmplugin.h"
-#include "wmeffectmanager.h"
-#include "wmwidgetdata.h"
-#include "wminstaller.h"
-
-
-// ---------------------------------------------------------
-// CWmPlugin::NewL
-// ---------------------------------------------------------
-//
-CWmPlugin* CWmPlugin::NewL()
-    {
-    CWmPlugin* self = new( ELeave ) CWmPlugin();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::~CWmPlugin
-// ---------------------------------------------------------
-//
-CWmPlugin::~CWmPlugin()
-    {
-    iPostponedCommand = ENone;
-
-    // delete WM UI resources
-    if ( iViewAppUi )
-        {
-        if ( iWmMainContainer && IsActive() )
-            {
-            // WM is showing. Hide first!
-            iWmMainContainer->SetClosingDown( ETrue );
-            TRAPD( err, iViewAppUi->ActivateLocalViewL(
-                            iPreviousViewUid.iViewUid ); );
-            if ( KErrNone == err )
-                {
-                // wait until previous view is switched on top
-                // then continue destruction.
-                iWait->Start();
-                }
-            else
-                {
-                // try to activate default view
-                TVwsViewId viewId;
-                if ( iViewAppUi->GetDefaultViewId( viewId ) != KErrNone )
-                    {
-                    viewId.iAppUid = iViewAppUi->Application()->AppDllUid();
-                    viewId.iViewUid = TUid::Uid( 1 );
-                    }
-                
-                TRAPD( err, iViewAppUi->ActivateLocalViewL( viewId.iViewUid ); );
-                if ( KErrNone == err )
-                    {
-                    // wait until previous view is switched on top
-                    // then continue destruction.
-                    iWait->Start();
-                    }
-                }
-            }
-        // remove view from appui (also deletes it)
-        iViewAppUi->RemoveView( 
-                TUid::Uid( EWmMainContainerViewId ) );
-        }
-
-    // delete other members
-    delete iResourceLoader;
-    delete iEffectManager;
-    delete iPostponedContent;
-    delete iWait;
-	delete iWmInstaller;
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::CWmPlugin
-// ---------------------------------------------------------
-//
-CWmPlugin::CWmPlugin()
-    {
-    iPreviousViewUid.iViewUid = KNullUid;
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::ConstructL
-// ---------------------------------------------------------
-//
-void CWmPlugin::ConstructL()
-    {
-    iWmMainContainer = NULL;
-	
-    // store static view app ui
-    CEikonEnv* eikonEnv = CEikonEnv::Static();
-    if ( !eikonEnv ) User::Leave( KErrUnknown );
-    iViewAppUi = (CAknViewAppUi*)eikonEnv->EikAppUi();
-    if ( !iViewAppUi ) User::Leave( KErrUnknown );
-
-    // create resource loader
-    iFs = &eikonEnv->FsSession();
-    iResourceLoader = CWmResourceLoader::NewL( *eikonEnv );
-    iEffectManager = CWmEffectManager::NewL( *eikonEnv );
-    
-    // wait object
-    iWait = new (ELeave) CActiveSchedulerWait();
-    
-    // main view
-    CWmMainContainerView* mainView =
-            CWmMainContainerView::NewL( *this );
-    CleanupStack::PushL( mainView );
-	iViewAppUi->AddViewL( mainView );	
-	CleanupStack::Pop( mainView );
-	
-    iWmInstaller = CWmInstaller::NewL();
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::Activate
-// ---------------------------------------------------------
-//
-void CWmPlugin::Activate()
-    {
-    if ( !IsActive() && iHsContentController )
-        {
-        TRAP_IGNORE( 
-            iEffectManager->BeginFullscreenEffectL( 
-                KAppStartCommonDefaultStyle );
-            iViewAppUi->ActivateLocalViewL( 
-                TUid::Uid( EWmMainContainerViewId ) ); 
-            );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::IsActive
-// ---------------------------------------------------------
-//
-TBool CWmPlugin::IsActive()
-    {
-    return ( iPreviousViewUid.iViewUid != KNullUid );
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::Deactivate
-// ---------------------------------------------------------
-//
-void CWmPlugin::Deactivate()
-    {
-    if ( IsActive() )
-        {
-        iWmMainContainer->SetClosingDown( ETrue );
-        TRAP_IGNORE( 
-            iEffectManager->BeginFullscreenEffectL(
-                KAppExitCommonDefaultStyle );
-            iViewAppUi->ActivateLocalViewL(
-                iPreviousViewUid.iViewUid ); 
-            );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::MainViewActivated
-// ---------------------------------------------------------
-//
-void CWmPlugin::MainViewActivated( 
-                    const TVwsViewId& aViewId,
-                    CWmMainContainer* aWmMainContainer )
-    {
-    iPreviousViewUid = aViewId;
-    iWmMainContainer = aWmMainContainer;
-    iEffectManager->UiRendered();
-    iWmMainContainer->SetClosingDown( EFalse );
-    
-    // Don't forward numeric keys to phone
-    ForwardNumericKeysToPhone( EFalse );
-    }    
-
-// ---------------------------------------------------------
-// CWmPlugin::MainViewDeactivated
-// ---------------------------------------------------------
-//
-void CWmPlugin::MainViewDeactivated()
-    {
-    // Forward numeric keys to phone
-    ForwardNumericKeysToPhone( ETrue );
-    
-    iPreviousViewUid.iViewUid = KNullUid;
-    iWmMainContainer = NULL;
-    if ( iEffectManager && !iWait->IsStarted() )
-        {
-        iEffectManager->UiRendered();
-        }
-
-    TRAP_IGNORE( ExecuteCommandL(); );
-
-    if ( iWait->IsStarted() ) { iWait->AsyncStop(); }
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::ForwardNumericKeysToPhone
-// ---------------------------------------------------------
-//
-void CWmPlugin::ForwardNumericKeysToPhone( TBool aEnabled )
-    {
-    TInt value = aEnabled ? 
-        EPSAiForwardNumericKeysToPhone : 
-        EPSAiDontForwardNumericKeysToPhone;
-    
-    RProperty::Set(
-        KPSUidAiInformation,
-        KActiveIdleForwardNumericKeysToPhone,
-        value );
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::SetPostponedCommandL
-// ---------------------------------------------------------
-//
-void CWmPlugin::SetPostponedCommandL(
-        TCommand aCommand, CHsContentInfo& aContentInfo )
-    {
-    iPostponedCommand = aCommand;
-    delete iPostponedContent;
-    iPostponedContent = NULL;
-    iPostponedContent = aContentInfo.CloneL();
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::ExecuteCommandL
-// ---------------------------------------------------------
-//
-void CWmPlugin::ExecuteCommandL()
-    {
-    if ( iPostponedCommand == EAddToHomescreen )
-        {
-        TInt err = ContentController().AddWidgetL( *iPostponedContent );
-        if ( err == KHsErrorViewFull ||
-                err == KHsErrorDoesNotFit )
-            {
-            ResourceLoader().InfoPopupL(
-                R_QTN_HS_ADD_WIDGET_NO_SPACE_NOTE, KNullDesC );
-            }
-        else if ( err == KHsErrorMaxInstanceCountExceeded )
-            {
-            ResourceLoader().InfoPopupL(
-                R_QTN_HS_ADD_WIDGET_MAX_COUNT_NOTE, KNullDesC );
-            }
-        else if ( err == KErrNoMemory )
-            {
-            ResourceLoader().InfoPopupL(
-                R_QTN_HS_HS_MEMORY_FULL, KNullDesC );
-            }
-        else if ( ( err != KErrNone ) && ( err != KErrDiskFull ) )
-            {
-            ResourceLoader().ErrorPopup( err );
-            }
-        }
-    iPostponedCommand = ENone;
-    delete iPostponedContent;
-    iPostponedContent = NULL;
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::MainViewDeactivated
-// ---------------------------------------------------------
-//
-CAknViewAppUi& CWmPlugin::ViewAppUi()
-    {
-    return *iViewAppUi;
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::MainViewDeactivated
-// ---------------------------------------------------------
-//
-CWmResourceLoader& CWmPlugin::ResourceLoader()
-    {
-    return *iResourceLoader;
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::MainViewDeactivated
-// ---------------------------------------------------------
-//
-MHsContentController& CWmPlugin::ContentController()
-    {
-    return *iHsContentController;
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::MainViewDeactivated
-// ---------------------------------------------------------
-//
-RFs& CWmPlugin::FileServer()
-    {
-    return *iFs;
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::NotifyWidgetListChanged
-// ---------------------------------------------------------
-//
-void CWmPlugin::NotifyWidgetListChanged()
-    {
-    if ( iWmMainContainer && !iWmMainContainer->ClosingDown() )
-        {
-        iWmMainContainer->HandleWidgetListChanged();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmPlugin::WmInstaller
-// ---------------------------------------------------------
-//
-CWmInstaller& CWmPlugin::WmInstaller()
-    {
-    return *iWmInstaller;
-    }
-
-// End of file
-
--- a/idlehomescreen/widgetmanager/src/wmpluginproxy.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-* widget manager plugin proxy
-*
-*/
-
-#include <e32std.h>
-#include <implementationproxy.h>
-
-#include "wmplugin.h"
-
-// Map the interface implementation UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( 0x20026F53, CWmPlugin::NewL )
-    };
-
-
-// Exported proxy for instantiation method resolution.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-    return ImplementationTable;
-    }
--- a/idlehomescreen/widgetmanager/src/wmportalbutton.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,560 +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 portal button for WidgetManager
-*
-*/
-
-// INCLUDE FILES
-#include <aknlayoutscalable_apps.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <aknbutton.h>
-#include <AknsDrawUtils.h>
-#include <AknBidiTextUtils.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <gulicon.h>
-#include <avkon.mbg>
-#include <widgetmanager.mbg>
-#include <apgcli.h>
-#include <apgtask.h>
-#include <widgetregistryclient.h> // widgetreqistry
-
-
-#include "wmportalbutton.h"
-#include "wmcommon.h"
-#include "wmplugin.h"
-#include "wmresourceloader.h"
-#include "wmmaincontainer.h"
-#include "wmconfiguration.h"
-
-// CONSTANTS
-_LIT( KBrowserPrefix, "4 ");
-
-// MEMBER FUNCTIONS
-
-// ---------------------------------------------------------
-// CWmPortalButton::NewL
-// ---------------------------------------------------------
-//
-CWmPortalButton* CWmPortalButton::NewL( 
-        const CCoeControl* aParent,
-        TInt aPortalButtonIndex )
-	{
- 	CWmPortalButton* self = new (ELeave) CWmPortalButton( 
-                KAknButtonTextInsideFrame, aPortalButtonIndex );
-
- 	CleanupStack::PushL( self );
-    
-    CWmMainContainer* mainContainer =
-        static_cast <CWmMainContainer*>( 
-            const_cast <CCoeControl*>( aParent ) );
-
-    self->ConstructL( mainContainer,
-            mainContainer->Configuration().PortalButtonText( aPortalButtonIndex ),
-            mainContainer->Configuration().PortalButtonIcon( aPortalButtonIndex ) );
-    
-    CleanupStack::Pop( self );
-    return self;
-	}
-
-// ---------------------------------------------------------
-// CWmPortalButton::~CWmPortalButton
-// ---------------------------------------------------------
-//
-CWmPortalButton::~CWmPortalButton()
-    {    
-    delete iButtonIcon;
-    delete iButtonIconMask;
-    
-    // if MAknIconFileProvider was used to create image from icon string
-    // then it'll try accessing imageconverter after bitmap deletion
-    // for de-reference open file count, so it should be deleted last.
-    delete iImageConverter;
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::CWmPortalButton
-// ---------------------------------------------------------
-//
-CWmPortalButton::CWmPortalButton( 
-                        const TInt aFlags,
-                        TInt aPortalButtonIndex )
-    :CAknButton( aFlags ),
-    iPortalButtonIndex( aPortalButtonIndex )
-    {
-    iButtonIcon = NULL;
-    iButtonIconMask = NULL;
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::ConstructL
-// ---------------------------------------------------------
-//
-void CWmPortalButton::ConstructL( 
-        CWmMainContainer* aParent,
-        const TDesC& aText,
-        const TDesC& aIcon )
-    {
-    if (  !aParent )
-        {
-        User::Leave( KErrArgument );
-        }
-    SetContainerWindowL( *aParent );
-    
-    // Obtain pointer to main container.
-    iWmMainContainer = aParent;
-    
-    // construct the button
-    CAknButton::ConstructL( NULL, NULL, NULL, NULL, aText, KNullDesC, 0 );
-
-    TAknsItemID frameId = KAknsIIDQgnHomeWmButton;
-    TAknsItemID frameCenterId = KAknsIIDQgnHomeWmButtonCenter;
-    TAknsItemID framePressedId = KAknsIIDQgnHomeWmButtonPressed;
-    TAknsItemID framePressedCenterId = KAknsIIDQgnHomeWmButtonPressedCenter;
-
-    SetFocusing( ETrue );
-    SetBackgroundIds( frameId,
-                      framePressedId,
-                      KAknsIIDQsnFrButtonInactive,
-                      framePressedId,
-                      KAknsIIDQsnFrButtonInactive );
-    SetFrameAndCenterIds( 
-                        frameId,
-						frameCenterId,
-						KAknsIIDDefault,
-						KAknsIIDDefault,
-						KAknsIIDDefault,
-						KAknsIIDDefault,
-						framePressedId,
-						framePressedCenterId,
-						KAknsIIDDefault,
-						KAknsIIDDefault );
-    
-    // start image converter for the icon
-    iImageConverter = CWmImageConverter::NewL( this );
-    TSize iconsize( LayoutIconSize() );
-    iImageConverter->HandleIconString(
-            iconsize.iWidth, iconsize.iHeight, aIcon );
-    // observe our own press events
-    SetObserver( this );
-    
-    // ready to be drawn
-    ActivateL();
-    }
-
-// ---------------------------------------------------------------------------
-// Runs HTTP method: (starts browser or brongs browser to foreground)
-// ---------------------------------------------------------------------------
-//
-void TryRunHttpL( const TDesC& aParam )
-    {
-    RApaLsSession session;
-    User::LeaveIfError( session.Connect() );
-    CleanupClosePushL( session );
-
-    // browser start parameters
-    const TUid KOSSBrowserUidValue = { 0x10008D39 };
-    HBufC* param = HBufC::NewLC( aParam.Length() + 
-            KBrowserPrefix().Length() );
-    
-    param->Des().Copy( KBrowserPrefix );
-    param->Des().Append( aParam );
-    
-    TUid id( KOSSBrowserUidValue );
-    
-    TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-    TApaTask task = taskList.FindApp( id );
-    if( task.Exists() )
-        {
-        task.BringToForeground();
-        HBufC8* param8 = HBufC8::NewLC(param->Length());
-        param8->Des().Append(*param);
-        task.SendMessage(TUid::Uid(0), *param8); // UID not used
-        CleanupStack::PopAndDestroy(param8);
-        }
-    else
-        {
-        if( !session.Handle() )
-            {
-            User::LeaveIfError( session.Connect() );
-            }
-        TThreadId thread;
-        User::LeaveIfError(session.StartDocument(*param, KOSSBrowserUidValue, thread));
-        }
-    
-    CleanupStack::PopAndDestroy( param );
-    CleanupStack::PopAndDestroy( &session );
-    }
-
-// ---------------------------------------------------------------------------
-// Runs WIDGET method: (launches given widget with parameters)
-// ---------------------------------------------------------------------------
-//
-void TryRunWidgetL( const TDesC& aBundleId, const TDesC& aParam )
-    {
-    RApaLsSession session;
-    User::LeaveIfError( session.Connect() );
-    CleanupClosePushL( session );
-    TApaAppInfo appInfo;
-    TUid launchUid;
-    
-    // Get widget uid    
-    RWidgetRegistryClientSession widgetSession;
-    User::LeaveIfError( widgetSession.Connect() );    
-    CleanupClosePushL( widgetSession );
-    launchUid.iUid = widgetSession.GetWidgetUidL( aBundleId );
-    CleanupStack::PopAndDestroy( &widgetSession );
-
-    // prepare widget start params
-    User::LeaveIfError( session.GetAppInfo( appInfo, launchUid ) );
-    CApaCommandLine* commandLine = CApaCommandLine::NewLC();
-    commandLine->SetExecutableNameL( appInfo.iFullName );
-    HBufC8* buf8 = HBufC8::NewLC( aParam.Length() );
-    buf8->Des().Copy( aParam );
-
-    // do the launch
-    commandLine->SetTailEndL( *buf8 );
-    User::LeaveIfError( session.StartApp( *commandLine ) );
-    
-    CleanupStack::PopAndDestroy( buf8 );
-    CleanupStack::PopAndDestroy( commandLine );
-    CleanupStack::PopAndDestroy( &session );
-    }
-
-// ---------------------------------------------------------------------------
-// Runs APPLICATION method: (launches given application with parameters)
-// ---------------------------------------------------------------------------
-//
-void TryRunApplicationL( const TDesC& /*aApplication*/, const TDesC& /*aParam*/ )
-    {
-    // This method has not been implemented
-    User::Leave( KErrNotSupported );
-    }
-
-// ---------------------------------------------------------------------------
-// Tries to open a portal with given method and parameters.
-// this method may be called twice on a portal button, if a primary
-// method fails.
-// ---------------------------------------------------------------------------
-//
-void TryOpenPortalL(
-        CWmConfiguration::TMethod aMethod, const TDesC& aService,
-        const TDesC& aParam )
-    {
-    // open portal according to the method.
-    if ( aMethod == CWmConfiguration::EHttp )
-        { TryRunHttpL( aParam ); }
-    else if ( aMethod == CWmConfiguration::EWidget )
-        { TryRunWidgetL( aService, aParam ); }
-    else if ( aMethod == CWmConfiguration::EApplication )
-        { TryRunApplicationL( aService, aParam ); }
-    else
-        { User::Leave( KErrNotSupported ); }
-    }
-
-// ---------------------------------------------------------------------------
-// Opens a portal. Called when user presses a portal button. tries the
-// primary method, and if if fails, tries the secondary. If it fails,
-// gives up.
-// ---------------------------------------------------------------------------
-//
-void OpenPortalL(
-        CWmConfiguration& aConfiguration, TInt aPortalIndex )
-    {
-    TRAPD( err,
-        TryOpenPortalL(
-            aConfiguration.PortalButtonPrimaryMethod( aPortalIndex ),
-            aConfiguration.PortalButtonPrimaryService( aPortalIndex ),
-            aConfiguration.PortalButtonPrimaryParams( aPortalIndex ) ); );
-    if ( err != KErrNone )
-        {
-        // if secondary method fails, leave will be propagated.
-        TryOpenPortalL(
-            aConfiguration.PortalButtonSecondaryMethod( aPortalIndex ),
-            aConfiguration.PortalButtonSecondaryService( aPortalIndex ),
-            aConfiguration.PortalButtonSecondaryParams( aPortalIndex ) );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::ExecuteL
-// ---------------------------------------------------------
-//
-void CWmPortalButton::ExecuteL()
-    {
-    OpenPortalL( iWmMainContainer->Configuration(), iPortalButtonIndex );
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::HandleControlEventL
-// ---------------------------------------------------------
-//
-void CWmPortalButton::HandleControlEventL( CCoeControl* /*aControl*/,
-        TCoeEvent aEventType )
-    {
-    // execute portal action when button pressed (short or long press)
-    if ( aEventType == EEventStateChanged ||
-        aEventType == ELongPressEndedEvent )
-        {
-        ExecuteL();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::LayoutIconSize
-// ---------------------------------------------------------
-//
-TSize CWmPortalButton::LayoutIconSize() const
-    {
-    TBool landscape = Layout_Meta_Data::IsLandscapeOrientation();
-    TAknLayoutRect imageLayout;
-    if ( iWmMainContainer->Configuration().PortalButtonCount() == 1 )
-        {
-        imageLayout.LayoutRect( Rect(), AknLayoutScalable_Apps::
-                wgtman_btn_pane_g1( landscape ? 1 : 0).LayoutLine() );
-        }
-    else
-        {
-        TInt variety = (landscape ? 5 : 4);
-        imageLayout.LayoutRect( Rect(), AknLayoutScalable_Apps
-                ::wgtman_btn_pane_g1( variety ).LayoutLine() );
-        }
-    
-    return imageLayout.Rect().Size();
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::SizeChanged
-// ---------------------------------------------------------
-//
-void CWmPortalButton::SizeChanged()
-    {    
-    CAknButton::SizeChanged();
-
-    SetTextVerticalAlignment( CAknButton::ECenter );
-    
-    // resize icon
-    if ( iButtonIcon && iButtonIconMask )
-        {
-        TSize size = LayoutIconSize();
-        AknIconUtils::SetSize( 
-            iButtonIcon, size, EAspectRatioPreserved );
-        AknIconUtils::SetSize( 
-            iButtonIconMask, size, EAspectRatioPreserved );
-        }
-        
-    TBool landscape = Layout_Meta_Data::IsLandscapeOrientation();
-    SetTextAndIconAlignment( 
-            landscape ? CAknButton::EIconOverText : CAknButton::EIconBeforeText );
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::NotifyCompletion
-// ---------------------------------------------------------
-//
-void CWmPortalButton::NotifyCompletion( TInt aError )
-    {
-    if ( KErrNone == aError )
-        {
-        // take ownership of icon
-        delete iButtonIcon;
-        iButtonIcon = NULL;
-        iButtonIcon = iImageConverter->Bitmap();
-        delete iButtonIconMask;
-        iButtonIconMask = NULL;
-        iButtonIconMask = iImageConverter->Mask();
-        if ( iButtonIcon && iButtonIconMask )
-            {
-            TSize size = LayoutIconSize();
-            AknIconUtils::SetSize( 
-                    iButtonIcon, size, EAspectRatioPreserved );
-            AknIconUtils::SetSize( 
-                    iButtonIconMask, size, EAspectRatioPreserved );
-            DrawDeferred();            
-            }
-        }
-    else
-        {
-        // no image available. Do nothing.
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::Draw
-// ---------------------------------------------------------
-//
-void CWmPortalButton::Draw( const TRect& /*aRect*/ ) const
-    {
-    TRect rect = Rect();
-
-    TAknLayoutRect centerLayout;
-    centerLayout.LayoutRect( rect,
-        AknLayoutScalable_Avkon::toolbar_button_pane_g1().LayoutLine() );
-    TRect innerRect = centerLayout.Rect();
-
-    CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
- 	TAknsItemID frameId = ( KAknsIIDQgnHomeWmButton );
-    TAknsItemID frameCenterId = ( KAknsIIDQgnHomeWmButtonCenter );
- 	
-    if ( iButtonPressed )
-    	{
-        frameId = ( KAknsIIDQgnHomeWmButtonPressed );
-        frameCenterId = ( KAknsIIDQgnHomeWmButtonPressedCenter );
-    	}
-    else if ( IsDimmed() )
-        {
-    	frameId = KAknsIIDQsnFrButtonInactive;
-    	frameCenterId = KAknsIIDQsnFrButtonCenterInactive;
-        }
-    else if ( IsFocused() )
-        {
-        frameId = KAknsIIDQsnFrList;
-        frameCenterId = KAknsIIDQsnFrListCenter;
-        }
-    
-    iBgContext->SetFrame( frameId );
-    iBgContext->SetCenter( frameCenterId );
-    iBgContext->SetFrameRects( rect, innerRect );
-
-    if ( !AknsDrawUtils::Background( skin, iBgContext, NULL, 
-                    gc, rect, KAknsDrawParamNoClearUnderImage ) )
-        {
-        gc.SetBrushColor( KRgbRed );
-        gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-        gc.DrawRect( rect );
-        }
-    gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-	
-    CAknButtonState* state = State();
-    if ( state )
-        {
-        TBool landscape = Layout_Meta_Data::IsLandscapeOrientation();
-        
-        // draw image if one exists
-        if ( iButtonIcon && iButtonIconMask )
-            {
-            TAknLayoutRect imageLayout;
-            if ( iWmMainContainer->Configuration().PortalButtonCount() == 1 )
-                {
-                imageLayout.LayoutRect( rect, AknLayoutScalable_Apps::
-                        wgtman_btn_pane_g1( landscape ? 3 : 0).LayoutLine() );
-                }
-            else
-                {
-                TInt variety = (landscape ? 7 : 4);
-                imageLayout.LayoutRect( rect, AknLayoutScalable_Apps
-                        ::wgtman_btn_pane_g1( variety ).LayoutLine() );
-                }
-            imageLayout.DrawImage( gc, iButtonIcon, iButtonIconMask );
-            }
-        
-        // draw text if portrait        
-        if ( !landscape )
-            {
-            TAknTextComponentLayout leftLayout;
-            TInt variety = 
-                ((iWmMainContainer->Configuration().PortalButtonCount()== 2)? 4:0 );
-            leftLayout = AknLayoutScalable_Apps::wgtman_btn_pane_t1( variety  );
-            DrawText( gc, state->Text(), leftLayout, 1 );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmPortalButton::DrawText
-// ---------------------------------------------------------
-//
-void CWmPortalButton::DrawText( 
-                        CWindowGc& aGc,
-                        const TDesC& aText,
-                        TAknTextComponentLayout& aLayout,
-                        TInt aMargin ) const
-    {
-    TAknLayoutText layoutText;
-    layoutText.LayoutText(Rect(), aLayout.LayoutLine() );
-    
-    const CFont* font = layoutText.Font();
-    TRect textRect = layoutText.TextRect();
-    
-    aGc.UseFont( font );
-    
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    TRgb textColor( layoutText.Color() );
-
-    if ( IsDimmed() )
-        {
-        const TInt KAlpha = 77;
-        textColor = iEikonEnv->ControlColor( EColorButtonText, *this );        
-        // try over-writing color from theme, ignore error.
-        AknsUtils::GetCachedColor( 
-                skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
-        textColor.SetAlpha( KAlpha );
-        }
-    else if ( IsFocused() || iButtonPressed )
-        {
-        textColor = iEikonEnv->ControlColor( EColorButtonTextPressed, *this );
-        // try over-writing color from theme, ignore error.
-        AknsUtils::GetCachedColor( 
-                skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG10 );
-        }
-    else if ( textColor.Internal() <= 0 )
-        {
-        textColor = iEikonEnv->ControlColor( EColorButtonText, *this );
-        // try over-writing color from theme, ignore error.
-        AknsUtils::GetCachedColor( 
-                skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );        
-        }
-    aGc.SetPenColor( textColor);
-    
-    // Layout data not correct, add some space for text
-    textRect.iBr.iX += aMargin;
-    textRect.iTl.iX -= aMargin;
-    
-    // buffer for visually ordered text
-    TBuf<255 + KAknBidiExtraSpacePerLine> visualText; 
-    TInt clipWidth = textRect.Width();
-
-    // bidi processing - using AknBidiTextUtils.
-    AknBidiTextUtils::ConvertToVisualAndClip(
-        aText,
-        visualText,
-        *font,
-        clipWidth,
-        clipWidth );
-
-    TInt baselineOffset = 0;
-    switch ( iVerticalAlignment )
-        {
-        case ETop:
-            baselineOffset = font->AscentInPixels();
-            break;
-
-        case EBottom:
-            baselineOffset = textRect.Height();
-            break;
-
-        default:  // centered
-            baselineOffset = font->AscentInPixels() +
-                           ( textRect.Height() - font->AscentInPixels() ) / 2;
-        }
-        
-    aGc.DrawText( visualText, textRect, 
-            baselineOffset, layoutText.Align() );    
-    }
-
-// End of file
--- a/idlehomescreen/widgetmanager/src/wmresourceloader.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +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:
-* loads widget manager resources and icons
-*
-*/
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <eikappui.h>
-#include <aknapp.h>
-#include <bautils.h>
-#include <StringLoader.h>
-#include <aknnotewrappers.h>
-#include <widgetmanagerview.rsg>
-
-#include "wmresourceloader.h"
-
-// CONSTANTS
-_LIT( KZdrive, "Z:" );
-_LIT( KRelativeMifPath, "\\resource\\apps\\widgetmanager.mif" );
-_LIT( KRelativeResourcePathWithWildcard, "\\resource\\apps\\widgetmanagerview.r*" );
-_LIT( KRelativeResourcePath, "\\resource\\apps\\widgetmanagerview.rsc" );
-
-// ---------------------------------------------------------
-// CWmResourceLoader::NewL
-// ---------------------------------------------------------
-//
-CWmResourceLoader* CWmResourceLoader::NewL(
-        CEikonEnv& aEnv )
-    {
-    CWmResourceLoader* self = new (ELeave) CWmResourceLoader( aEnv );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::CWmResourceLoader
-// ---------------------------------------------------------
-//
-CWmResourceLoader::CWmResourceLoader( CEikonEnv& aEnv )
-    : iEnv( aEnv )
-    {
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::~CWmResourceLoader
-// ---------------------------------------------------------
-//
-CWmResourceLoader::~CWmResourceLoader()
-    {
-    UnloadResources();
-    delete iNote;
-    delete iNoDescription;
-    delete iWrtDescription;
-    delete iUninstalling;
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::ConstructL
-// ---------------------------------------------------------
-//
-void CWmResourceLoader::ConstructL()
-    {
-    Dll::FileName( iDllName );
-
-    LoadResourcesL();
-    DetermineIconFilePath();
-    
-    iNoDescription = StringLoader::LoadL( 
-            R_QTN_WM_DETAILS_NO_DESCRIPTION, &iEnv  );
-    
-    iWrtDescription = StringLoader::LoadL( 
-            R_QTN_WM_WIDGET_DETAILS_WRT, &iEnv  );
-    
-    iUninstalling = StringLoader::LoadL( 
-            R_QTN_WM_UNINSTALL_TEXT, &iEnv  );
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::LoadResourcesL
-// ---------------------------------------------------------
-//
-void CWmResourceLoader::LoadResourcesL()
-    {    
-    TFileName resourceFile;
-    RFs& fs = iEnv.FsSession();
-    TPtrC dllDrive = iDllName.Left(2); 
-    resourceFile.Copy( dllDrive );
-    resourceFile.Append( KRelativeResourcePathWithWildcard );
-    BaflUtils::NearestLanguageFile( fs, resourceFile );
-    if ( !BaflUtils::FileExists( fs, resourceFile ) )
-        {
-        resourceFile.Copy( dllDrive );
-        resourceFile.Append( KRelativeResourcePath );
-        BaflUtils::NearestLanguageFile( fs, resourceFile );
-        if ( !BaflUtils::FileExists( fs, resourceFile ) &&
-            dllDrive != KZdrive() )
-            {
-            // try to load resource from ROM ( partial upgrade case )
-            resourceFile.Copy( KZdrive );
-            resourceFile.Append( KRelativeResourcePathWithWildcard );
-            BaflUtils::NearestLanguageFile( fs, resourceFile );
-            if ( !BaflUtils::FileExists( fs, resourceFile ) )
-                {
-                resourceFile.Copy( KZdrive );
-                resourceFile.Append( KRelativeResourcePath );
-                BaflUtils::NearestLanguageFile( fs, resourceFile );
-                }
-            }
-        }
-    iResourceFileOffset = iEnv.AddResourceFileL( resourceFile );
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::UnloadResources
-// ---------------------------------------------------------
-//
-void CWmResourceLoader::UnloadResources()
-    {
-    if ( iResourceFileOffset )
-        {
-        iEnv.DeleteResourceFile( iResourceFileOffset );        
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::DetermineIconFilePath
-// ---------------------------------------------------------
-//
-void CWmResourceLoader::DetermineIconFilePath()
-    {
-    RFs& fs = iEnv.FsSession();
-    iMifFile.Copy( iDllName.Left(2) );
-    iMifFile.Append( KRelativeMifPath );
-    if ( !BaflUtils::FileExists( fs, iMifFile ) )
-        {
-        // Load from ROM ( partial upgrade case )
-        iMifFile.Copy( KZdrive );
-        iMifFile.Append( KRelativeMifPath );        
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::IconFilePath
-// ---------------------------------------------------------
-//
-const TDesC& CWmResourceLoader::IconFilePath()
-    {
-    return iMifFile;
-    }
-
-// ---------------------------------------------------------
-// LoadStringLC
-// loads a string from resource. If an additional string is
-// given (the length is greater than zero) uses a different
-// StringLoader method to load.
-// ---------------------------------------------------------
-//
-HBufC* LoadStringLC( TInt aResourceId, const TDesC& aString, CEikonEnv* aEnv )
-    {
-    if ( aString.Length() > 0 )
-        return StringLoader::LoadLC( aResourceId, aString, aEnv );
-    else
-        return StringLoader::LoadLC( aResourceId, aEnv );
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::InfoPopupL
-// ---------------------------------------------------------
-//
-void CWmResourceLoader::InfoPopupL( TInt aResourceId, const TDesC& aString )
-    {
-    HBufC* infoMsg = LoadStringLC( aResourceId, aString, &iEnv );
-    iNote = new (ELeave) CAknInformationNote( &iNote );
-    iNote->SetTimeout( CAknNoteDialog::ELongTimeout );
-    iNote->ExecuteLD( *infoMsg );
-    CleanupStack::PopAndDestroy( infoMsg );
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::QueryPopupL
-// ---------------------------------------------------------
-//
-TBool CWmResourceLoader::QueryPopupL( TInt aResourceId, const TDesC& aString )
-    {
-    HBufC* queryMsg = LoadStringLC( aResourceId, aString, &iEnv );
-    TBool resp = iEnv.QueryWinL( *queryMsg, KNullDesC );
-    CleanupStack::PopAndDestroy( queryMsg );
-    return resp;
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::ErrorPopup
-// ---------------------------------------------------------
-//
-void CWmResourceLoader::ErrorPopup( TInt aErrorCode )
-    {
-    iEnv.HandleError( aErrorCode );
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::NoDescription
-// ---------------------------------------------------------
-//
-const TDesC& CWmResourceLoader::NoDescription()
-    {
-    return *iNoDescription;
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::WrtDescription
-// ---------------------------------------------------------
-//
-const TDesC& CWmResourceLoader::WrtDescription()
-    {
-    return *iWrtDescription;
-    }
-
-// ---------------------------------------------------------
-// CWmResourceLoader::Uninstalling
-// ---------------------------------------------------------
-//
-const TDesC& CWmResourceLoader::Uninstalling()
-    {
-    return *iUninstalling;
-    }
-
-// end of file
-
--- a/idlehomescreen/widgetmanager/src/wmwidgetdata.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,601 +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:
-* CWmWidgetData implementation.
-*
-*/
-
-
-// INCLUDE FILES
-#include <fbs.h>
-#include <bautils.h>
-#include <s32file.h>
-#include <hscontentinfo.h>
-#include <widgetregistryclient.h> // widgetreqistry
-#include <eikenv.h>
-#include <avkon.mbg>
-#include <avkon.rsg>
-#include <AknsDrawUtils.h>
-#include <AknBitmapAnimation.h>
-#include <barsread.h>
-#include <widgetmanagerview.rsg>
-
-#include "wmwidgetdata.h"
-#include "wmwidgetdataobserver.h"
-#include "wmpersistentwidgetorder.h"
-#include "wmresourceloader.h"
-#include "wmcommon.h"
-
-// ---------------------------------------------------------
-// CWmWidgetData::NewL
-// ---------------------------------------------------------
-//
-CWmWidgetData* CWmWidgetData::NewL(
-        const TSize& aLogoSize,
-        CWmResourceLoader& aWmResourceLoader,
-        CHsContentInfo* aHsContentInfo,
-        RWidgetRegistryClientSession* aRegistryClientSession )
-    {
-    CWmWidgetData* self = CWmWidgetData::NewLC( 
-            aLogoSize, aWmResourceLoader,
-            aHsContentInfo, aRegistryClientSession );
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::NewLC
-// ---------------------------------------------------------
-//
-CWmWidgetData* CWmWidgetData::NewLC(
-        const TSize& aLogoSize,
-        CWmResourceLoader& aWmResourceLoader,
-        CHsContentInfo* aHsContentInfo,
-        RWidgetRegistryClientSession* aRegistryClientSession )
-    {
-    CWmWidgetData* self = new ( ELeave ) CWmWidgetData( 
-            aLogoSize, aWmResourceLoader );
-    CleanupStack::PushL(self);
-    self->ConstructL( aHsContentInfo, aRegistryClientSession );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::CWmWidgetData
-// ---------------------------------------------------------
-//
-CWmWidgetData::CWmWidgetData( const TSize& aLogoSize, 
-        CWmResourceLoader& aWmResourceLoader )
-    : iWmResourceLoader( aWmResourceLoader )
-    {
-    iLogoImage = NULL;    
-    iLogoImageMask = NULL;
-    iHsContentInfo = NULL;
-    iWidgetType = CWmWidgetData::EUnknown;
-    iPublisherUid = KNullUid;
-    iLogoSize = aLogoSize;
-    iPeriodic = NULL;
-    iAnimationIndex = 0;
-    iAsyncUninstalling = EFalse;
-    iFireLogoChanged = EFalse;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::ConstructL
-// ---------------------------------------------------------
-//
-void CWmWidgetData::ConstructL( 
-        CHsContentInfo* aHsContentInfo,
-        RWidgetRegistryClientSession* aRegistryClientSession )
-    {
-    InitL( aHsContentInfo, aRegistryClientSession );
-
-    // start decoding the icon
-    iImageConverter = CWmImageConverter::NewL( this );
-    iWait = new (ELeave) CActiveSchedulerWait();
-    iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
-
-    // start logo handling
-    iImageConverter->SetLogoSize( iLogoSize );
-    HandleIconString( HsContentInfo().IconPath() );
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::InitL
-// ---------------------------------------------------------
-//
-void CWmWidgetData::InitL(
-        CHsContentInfo* aHsContentInfo,
-        RWidgetRegistryClientSession* aRegistryClientSession )
-    {
-    // analyse the widget type
-    if ( aHsContentInfo->Type() == KContentTemplate )
-        {
-        iWidgetType = CWmWidgetData::ECps; // wrt widgets included in this gategory
-        }
-    else if ( aHsContentInfo->Type() == KContentWidget )
-        {
-        iWidgetType = CWmWidgetData::ENative;
-        }
-
-    // take ownership of the content info
-    iHsContentInfo = aHsContentInfo;
-
-    // get publisher uid from widget registry
-    FetchPublisherUidL( aRegistryClientSession );
-
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::~CWmWidgetData
-// ---------------------------------------------------------
-//
-CWmWidgetData::~CWmWidgetData()
-    {
-    if ( iWait && iWait->IsStarted() )
-        {
-        iWait->AsyncStop();
-        }
-    delete iWait;
-    SetObserver( NULL );
-    DestroyAnimData();
-    delete iPeriodic;
-    delete iLogoImage;
-    delete iLogoImageMask;
-    delete iImageConverter;
-    delete iHsContentInfo;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::SetObserver
-// ---------------------------------------------------------
-//
-void CWmWidgetData::SetObserver( MWmWidgetDataObserver* aObserver )
-    {
-    iObserver = aObserver;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::SetObserver
-// ---------------------------------------------------------
-//
-void CWmWidgetData::SetPersistentWidgetOrder(
-        const CWmPersistentWidgetOrder* aPersistentWidgetOrder )
-    {
-    iPersistentWidgetOrder = aPersistentWidgetOrder;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::EqualsTo
-// ---------------------------------------------------------
-//
-TBool CWmWidgetData::EqualsTo( CHsContentInfo& aContentInfo )
-    {
-    return (
-        HsContentInfo().Uid() == aContentInfo.Uid() &&
-        HsContentInfo().PublisherId() == aContentInfo.PublisherId() );
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::CompareByName
-// ---------------------------------------------------------
-//
-TInt CWmWidgetData::CompareByName( 
-        const CWmWidgetData& aDataOne, const CWmWidgetData& aDataTwo )
-    {
-    // negate the result for ascending alphabetical order
-    TInt result = aDataOne.Name().CompareC( aDataTwo.Name() );
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::CompareByPersistentWidgetOrder
-// ---------------------------------------------------------
-//
-TInt CWmWidgetData::CompareByPersistentWidgetOrder( 
-        const CWmWidgetData& aDataOne, const CWmWidgetData& aDataTwo )
-    {
-    TInt result;
-    const CWmPersistentWidgetOrder* order = aDataOne.iPersistentWidgetOrder;
-    if ( order && !order->IsEmpty() )
-        {
-        result = order->IndexOf( aDataOne ) - order->IndexOf( aDataTwo );
-        }
-    else
-        {
-        // fallback: if persistent widget order is not available
-        // or it is empty (this is the case on first start, or if the persistent
-        // file is corrupted or deleted) -> order widgets by name.
-        result = CompareByName( aDataOne, aDataTwo );
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::NotifyCompletion
-// ---------------------------------------------------------
-//
-void CWmWidgetData::NotifyCompletion( TInt aError )
-    {
-    delete iLogoImage;
-    iLogoImage = NULL;
-    delete iLogoImageMask;
-    iLogoImageMask = NULL;
-    if ( KErrNone != aError )
-        {
-        // no image available. Do nothing.
-        }
-    else
-        {
-        iLogoImage = iImageConverter->Bitmap();
-        iLogoImageMask = iImageConverter->Mask();
-
-        if ( iWait && iWait->IsStarted() )
-            {
-            iWait->AsyncStop();
-            }
-        if ( iFireLogoChanged ) 
-            {
-            iFireLogoChanged = EFalse;
-            FireDataChanged(); 
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::HandleIconString
-// ---------------------------------------------------------
-//
-void CWmWidgetData::HandleIconString( const TDesC& aIconStr )
-    {
-    HBufC* iconStr = NULL;
-    if ( aIconStr.Length() == 0 && 
-        iPublisherUid != KNullUid )
-        {
-        // workaround for wrt widgets icon
-        _LIT( KUidTag, "uid(0x%x)" );
-        const TInt KLength = 32;
-        TBuf<KLength> uidBuf;
-        uidBuf.Format( KUidTag, iPublisherUid.iUid );
-        iconStr = uidBuf.Alloc();
-        }
-    else
-        {
-        iconStr = aIconStr.Alloc();
-        }
-
-    TSize size( iLogoSize );
-    if ( iLogoImage ) { size = iLogoImage->SizeInPixels(); }
-    if ( size != iLogoSize &&
-        iLogoSize.iWidth > 0 && iLogoSize.iHeight > 0 )
-        {
-        size = iLogoSize;
-        }
-    TInt err = iImageConverter->HandleIconString( 
-            size.iWidth, size.iHeight, *iconStr );
-    
-    delete iconStr;
-    iconStr = NULL;
-    
-    // handle result
-    if ( KErrNone == err && IsPrepairingLogo() )
-        {
-        iWait->Start();
-        }
-    else if ( KErrNone != err && iFireLogoChanged )
-        {
-        FireDataChanged(); // draw default icon
-        iFireLogoChanged = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::FireDataChanged
-// ---------------------------------------------------------
-//
-void CWmWidgetData::FireDataChanged()
-    {
-    if ( iObserver )
-        {
-        iObserver->HandleWidgetDataChanged( this );
-        }
-    }
-
-// ----------------------------------------------------
-// CWmWidgetData::UidFromString
-// ----------------------------------------------------
-//
-TUid CWmWidgetData::UidFromString( const TDesC8& aUidString ) const
-    {
-    TUid uid( TUid::Null() );
-    const TInt KHexPrefixLength = 2;
-    if ( aUidString.Length() > KHexPrefixLength )
-        {
-        TUint id = 0;
-        TLex8 lex( aUidString.Mid( KHexPrefixLength ) );
-        if ( lex.Val( id, EHex ) == KErrNone )
-            {
-            uid.iUid = (TInt32)id;
-            }
-        }
-    return uid;
-    }
-
-// ----------------------------------------------------
-// CWmWidgetData::PublisherUid
-// ----------------------------------------------------
-//
-TUid CWmWidgetData::PublisherUid()
-    {    
-    return iPublisherUid;
-    }
-
-// ----------------------------------------------------
-// CWmWidgetData::FetchPublisherUidL
-// ----------------------------------------------------
-//
-void CWmWidgetData::FetchPublisherUidL( 
-            RWidgetRegistryClientSession* aRegistryClientSession )
-    {
-    if ( iPublisherUid == KNullUid && 
-        PublisherId() != KNullDesC &&
-        iWidgetType != CWmWidgetData::ENative &&
-        aRegistryClientSession )
-        {
-        TInt widgetUid = aRegistryClientSession->GetWidgetUidL( PublisherId() );
-        if ( widgetUid != 0 )
-            {
-            // WRT widget
-            iPublisherUid = TUid::Uid( widgetUid );            
-            }
-        else
-            {
-            iPublisherUid = KNullUid;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::Description
-// ---------------------------------------------------------
-//
-const TDesC& CWmWidgetData::Description() const
-    {
-    if ( iHsContentInfo->Description().Length() <= 0 &&
-        &iWmResourceLoader )
-        {
-        return ( ( iPublisherUid != KNullUid ) ? 
-            iWmResourceLoader.WrtDescription() : 
-            iWmResourceLoader.NoDescription() );
-        }
-    return iHsContentInfo->Description(); 
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::ReCreateLogo
-// ---------------------------------------------------------
-//
-void CWmWidgetData::ReCreateLogo( const TSize& aSize )
-    {    
-    delete iLogoImage;
-    iLogoImage = NULL;
-    delete iLogoImageMask;
-    iLogoImageMask = NULL;
-    
-    if ( iWait && iWait->IsStarted() )
-        {
-        iWait->AsyncStop();
-        }
-    
-    iFireLogoChanged = ETrue;
-    iLogoSize = aSize;
-    HandleIconString( HsContentInfo().IconPath() );
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::ReplaceContentInfoL
-// ---------------------------------------------------------
-//
-TBool CWmWidgetData::ReplaceContentInfoL(
-        CHsContentInfo* aHsContentInfo )
-    {
-    TBool sameAppearance = (
-            iHsContentInfo->Name() == aHsContentInfo->Name() &&
-            iHsContentInfo->Description() == aHsContentInfo->Description() &&
-            iHsContentInfo->CanBeAdded() == aHsContentInfo->CanBeAdded() );
-    TBool sameLogo = (
-            iHsContentInfo->IconPath() == aHsContentInfo->IconPath() );
-
-    // delete the old content info
-    delete iHsContentInfo;
-    iHsContentInfo = NULL;
-
-    // re-init the object
-    InitL( aHsContentInfo, NULL );
-
-    if ( !sameAppearance )
-        {
-        // fire change event -> widget redrawn
-        FireDataChanged();
-        }
-    
-    if ( !sameLogo )
-        {
-        // re-convert image
-        // change event will be fired later when bitmap is ready
-        ReCreateLogo( iLogoSize );
-        }
-
-    return !( sameAppearance && sameLogo );
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::IsPrepairingLogo
-// ---------------------------------------------------------
-//
-TBool CWmWidgetData::IsPrepairingLogo()
-    {
-    TBool prepairing( EFalse );            
-    if ( !iLogoImage )
-        {
-        prepairing = iImageConverter->IsProcessing();
-        }
-    return prepairing;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::VisualizeUninstall
-// ---------------------------------------------------------
-//
-void CWmWidgetData::VisualizeUninstallL()
-    {   
-    DestroyAnimData();
-    PrepairAnimL();
-    
-    iHsContentInfo->SetNameL( iWmResourceLoader.Uninstalling() );
-    iAsyncUninstalling = ETrue;
-    iAnimationIndex = 0;
-    const TInt tickInterval = 400000;
-    iPeriodic->Start(
-            tickInterval,tickInterval,TCallBack(Tick, this));
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::PrepairAnimL
-// ---------------------------------------------------------
-//
-void CWmWidgetData::PrepairAnimL()
-    {
-    TInt resourceId = R_QGN_GRAF_WAIT_BAR_ANIM;
-    CAknBitmapAnimation* aknAnimation = CAknBitmapAnimation::NewL();
-    CleanupStack::PushL( aknAnimation );
-    aknAnimation->SetScaleModeForAnimationFrames(EAspectRatioNotPreserved);
-    TAknsItemID iid;
-    iid.Set(EAknsMajorAvkon, resourceId );
-    if ( !aknAnimation ->ConstructFromSkinL( iid ) )
-        {
-        TResourceReader readerForAnimation;
-        CCoeEnv::Static()->CreateResourceReaderLC( readerForAnimation,resourceId );
-        aknAnimation->ConstructFromResourceL( readerForAnimation );
-        CleanupStack::PopAndDestroy();
-        }
-    TInt endFrame = aknAnimation ->BitmapAnimData()->FrameArray().Count()-1;
-    for ( TInt i=0; i<=endFrame; i++ )
-        {
-        aknAnimation ->BitmapAnimData()->FrameArray().At(i)->SetBitmapsOwnedExternally( ETrue );
-        CFbsBitmap* bitmap  = aknAnimation ->BitmapAnimData()->FrameArray().At(i)->Bitmap();
-        CFbsBitmap* bitmapMask = aknAnimation ->BitmapAnimData()->FrameArray().At(i)->Mask();
-        if ( bitmap && bitmapMask )
-            {
-            iUninstallAnimIcons.AppendL( bitmap );
-            iUninstallAnimIcons.AppendL( bitmapMask );
-            }
-        }
-    CleanupStack::PopAndDestroy( aknAnimation );
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::DestroyAnimData
-// ---------------------------------------------------------
-//
-void CWmWidgetData::DestroyAnimData()
-    {
-    if ( iPeriodic && iPeriodic->IsActive() )
-        {
-        iPeriodic->Cancel();
-        }
-        
-    for( TInt i=0; i < iUninstallAnimIcons.Count(); i++ )
-        {
-        CFbsBitmap* bitmap = iUninstallAnimIcons[i];
-        delete bitmap; bitmap = NULL;
-        }
-    iUninstallAnimIcons.Close();    
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::Tick
-// ---------------------------------------------------------
-//
-TInt CWmWidgetData::Tick( TAny* aPtr )
-    {
-    CWmWidgetData* self = static_cast< CWmWidgetData* >( aPtr );
-    self->iAnimationIndex += 2;
-    if ( self->iAnimationIndex >= self->iUninstallAnimIcons.Count() -1 )
-        {
-        self->iAnimationIndex = 0; // restart from beginging
-        }
-    self->FireDataChanged();
-    return 1;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::AnimationBitmap
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmWidgetData::AnimationBitmap( const TSize& aSize )
-    {
-    CFbsBitmap* bitmap = NULL;
-    if ( iUninstallAnimIcons.Count() )
-        {
-        TInt index = iAnimationIndex;
-        if ( index >= iUninstallAnimIcons.Count() - 1 )
-            {
-            index = 0;
-            }
-        bitmap = iUninstallAnimIcons[index];
-        if ( bitmap->SizeInPixels() != aSize )
-            {
-            AknIconUtils::SetSize( bitmap, aSize, 
-                    EAspectRatioNotPreserved );
-            }               
-        }
-    return bitmap;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::AnimationMask
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmWidgetData::AnimationMask( const TSize& aSize )
-    {
-    CFbsBitmap* mask = NULL;
-    if ( iUninstallAnimIcons.Count() )
-        {
-        TInt index = iAnimationIndex+1;
-        if ( index >= iUninstallAnimIcons.Count() )
-            {
-            index = 1;
-            }
-        mask = iUninstallAnimIcons[index];
-        if ( mask && mask->SizeInPixels() != aSize )
-            {
-            AknIconUtils::SetSize( mask, aSize,
-                    EAspectRatioNotPreserved );
-            }
-        }    
-    return mask;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetData::IsUninstalling
-// ---------------------------------------------------------
-//
-TBool CWmWidgetData::IsUninstalling()
-    {
-    return iAsyncUninstalling;
-    }
-
-// End of file
-
--- a/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +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:
-* Active object to load widgets into list
-*
-*/
-
-// INCLUDE FILES
-#include "wmcommon.h"
-#include "wmplugin.h"
-#include "wmresourceloader.h"
-#include "wmpersistentwidgetorder.h"
-#include "wmlistbox.h"
-#include "wmwidgetloaderao.h"
-#include "wminstaller.h"
-
-#include <hscontentcontroller.h> // content control api
-#include <hscontentinfoarray.h> // content control api
-#include <widgetregistryclient.h> // widget reqistry
-#include <avkon.rsg> // avkon resources
-#include <barsread.h> // TResourceReader
-
-// ---------------------------------------------------------------------------
-// CWmWidgetLoaderAo::NewL
-// ---------------------------------------------------------------------------
-//
-CWmWidgetLoaderAo* CWmWidgetLoaderAo::NewL(
-        CWmPlugin& aWmPlugin,
-        CWmListBox& aTargetList )
-    {
-    CWmWidgetLoaderAo* self = new (ELeave) CWmWidgetLoaderAo(
-            aWmPlugin, aTargetList );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CWmWidgetLoaderAo::NewL
-// ---------------------------------------------------------------------------
-//
-CWmWidgetLoaderAo::CWmWidgetLoaderAo(
-        CWmPlugin& aWmPlugin,
-        CWmListBox& aTargetList )
-    : CAsyncOneShot( EPriorityStandard )
-    , iWmPlugin( aWmPlugin )
-    , iWidgetsList( aTargetList )
-    {
-    iWidgetRegistry = NULL;
-    iWidgetOrder = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CWmWidgetLoaderAo::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWmWidgetLoaderAo::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CWmWidgetLoaderAo::~CWmWidgetLoaderAo
-// ---------------------------------------------------------------------------
-//
-CWmWidgetLoaderAo::~CWmWidgetLoaderAo()
-    {
-    // cancel ongoing operation
-    Cancel();
-
-    // cleanup run data
-    Cleanup();
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CWmWidgetLoaderAo::StartLoading
-// ---------------------------------------------------------------------------
-//
-void CWmWidgetLoaderAo::StartLoading()
-    {
-    if ( IsActive() )
-        {
-        // cancel ongoing process
-        Cancel();
-        }
-    Call();
-    }
-
-// ---------------------------------------------------------------------------
-// CWmWidgetLoaderAo::RunL
-// ---------------------------------------------------------------------------
-//
-void CWmWidgetLoaderAo::RunL()
-    {
-    DoLoadWidgetsL();
-    Cleanup();
-    }
-
-// ---------------------------------------------------------------------------
-// CWmWidgetLoaderAo::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CWmWidgetLoaderAo::RunError( TInt /*aError*/ )
-    {
-    Cleanup();
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetLoaderAo::DoLoadWidgetsL
-// ---------------------------------------------------------
-//
-void CWmWidgetLoaderAo::DoLoadWidgetsL()
-    {
-    // Check if unistallation is ongoing for for some widget
-	// iUninstallUid is null no uninstallation is ongoing
-    iUninstallUid = iWmPlugin.WmInstaller().UninstallUid();
-    
-    // 1. load the widgets array
-    MHsContentController& controller = iWmPlugin.ContentController();    
-    CHsContentInfoArray* contentInfoArray = CHsContentInfoArray::NewL();
-    CleanupStack::PushL( contentInfoArray );
-    controller.WidgetListL( *contentInfoArray );
-    
-    // 2. load the widget order
-    iWidgetOrder = CWmPersistentWidgetOrder::NewL( iWmPlugin.FileServer() );
-    TRAPD( loadError, iWidgetOrder->LoadL() );
-
-    // 3. prepare the widget data list
-    for( TInt i=0; i<iWidgetsList.WidgetDataCount(); ++i )
-        {
-        iWidgetsList.WidgetData(i).SetPersistentWidgetOrder( iWidgetOrder );
-        iWidgetsList.WidgetData(i).SetValid( EFalse );
-        }
-
-    // 4. loop through the content array and compare it against the existing
-    // widget data.
-    TInt widgetsAdded = 0;
-    TInt widgetsChanged = 0;
-    while( contentInfoArray->Array().Count() > 0 )
-        {
-        CHsContentInfo* contentInfo = contentInfoArray->Array()[0];
-        contentInfoArray->Array().Remove( 0 );
-
-        // check if this widget exists.
-        // if it does, keep the existing one
-        // if it does not, add it
-        CWmWidgetData* existingData = FindWidgetData( *contentInfo );
-        if ( existingData )
-            {
-            // update existing widget data
-            existingData->SetValid( ETrue );
-            if ( existingData->ReplaceContentInfoL( contentInfo ) )
-                {
-                ++widgetsChanged;
-                }
-            }
-        else
-            {
-            // add a new widget data
-            AddWidgetDataL( contentInfo );
-            ++widgetsAdded;
-            }
-        }
-
-    // 5: finally, remove all UI widgets that during the loading process were
-    // NOT marked as VALID. those widgets do not exist anymore.
-    TInt widgetsRemoved = 0;
-    for( TInt i=0; i<iWidgetsList.WidgetDataCount(); i++ )
-        {
-        if( !iWidgetsList.WidgetData(i).IsValid() )
-            {
-            iWidgetsList.RemoveWidgetData( i );
-            ++widgetsRemoved;
-            }
-        }
-    
-    // update listbox
-    if ( widgetsAdded > 0 )
-        {
-        iWidgetsList.HandleItemAdditionL();
-        }
-    
-    if ( widgetsRemoved > 0 || widgetsAdded > 0 ||
-        widgetsChanged > 0 )
-        {
-        iWidgetsList.DrawDeferred();
-        }
-
-    // 6: cleanup
-    CleanupStack::PopAndDestroy( contentInfoArray );
-
-    // 7. check list empty condition
-    if ( iWidgetsList.WidgetDataCount() == 0 )
-        {
-        TResourceReader rr;
-        CEikonEnv::Static()->CreateResourceReaderLC(
-                rr, R_AVKON_LISTBOX_DEFAULT_EMPTY_TEXT );
-        TPtrC empty= rr.ReadTPtrC();
-        iWidgetsList.View()->SetListEmptyTextL( empty );
-        CleanupStack::PopAndDestroy();
-        iWidgetsList.DrawDeferred();
-        }
-    
-    // 8. store list order if necessary
-    if ( loadError != KErrNone || widgetsAdded > 0 || widgetsRemoved > 0 )
-        {
-        iWidgetOrder->StoreL( iWidgetsList.WidgetDataArray() );
-        }
-
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetLoaderAo::FindWidgetDataL
-// ---------------------------------------------------------
-//
-CWmWidgetData* CWmWidgetLoaderAo::FindWidgetData(
-        CHsContentInfo& aContentInfo )
-    {
-    CWmWidgetData* data = NULL;
-    for( TInt i=0; i<iWidgetsList.WidgetDataCount() && !data; ++i )
-        {
-        if ( iWidgetsList.WidgetData(i).EqualsTo( aContentInfo ) )
-            {
-            data = &iWidgetsList.WidgetData(i);
-            }
-        }
-    return data;
-    }
-
-// ---------------------------------------------------------
-// CWmWidgetLoaderAo::AddWidgetDataL
-// ---------------------------------------------------------
-//
-void CWmWidgetLoaderAo::AddWidgetDataL(
-        CHsContentInfo* aContentInfo )
-    {
-    CleanupStack::PushL( aContentInfo );
-    if ( !iWidgetRegistry )
-        {
-        iWidgetRegistry = new (ELeave) RWidgetRegistryClientSession();
-        User::LeaveIfError( iWidgetRegistry->Connect() );
-        }
-    CleanupStack::Pop( aContentInfo );
-    
-    CWmWidgetData* widgetData = CWmWidgetData::NewLC( 
-            iWidgetsList.LogoSize(),
-            iWmPlugin.ResourceLoader(),
-            aContentInfo, iWidgetRegistry );
-    widgetData->SetPersistentWidgetOrder( iWidgetOrder );
-    widgetData->SetValid( ETrue );
-    iWidgetsList.AddWidgetDataL( widgetData, EFalse );
-    if ( iUninstallUid != KNullUid 
-            && iUninstallUid == widgetData->PublisherUid() )
-        {
-        widgetData->VisualizeUninstallL();
-        }
-    
-    CleanupStack::Pop( widgetData );
-    }
-
-// ---------------------------------------------------------------------------
-// CWmWidgetLoaderAo::Cleanup
-// ---------------------------------------------------------------------------
-//
-void CWmWidgetLoaderAo::Cleanup()
-    {
-    // disconnect widget registry
-    if ( iWidgetRegistry )
-        {
-        iWidgetRegistry->Disconnect();
-        iWidgetRegistry->Close();
-        delete iWidgetRegistry;
-        iWidgetRegistry = NULL;
-        }
-    
-    // delete widget order and references to it
-    for( TInt i=0; i<iWidgetsList.WidgetDataCount(); ++i )
-        {
-        iWidgetsList.WidgetData(i).SetPersistentWidgetOrder( NULL );
-        }
-    delete iWidgetOrder;
-    iWidgetOrder = NULL;
-    }
-
-// end of file
-
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/bwins/wmunittestu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * LibEntryL(class CTestModuleIf &)
-
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/conf/ui_wmunittest.cfg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1093 +0,0 @@
-//-------------------------------------------------------------------------------
-// constants
-//-------------------------------------------------------------------------------
-//
-[Define]
-
-TRUE 1
-FALSE 0
-
-OK 0
-FAIL -1
-
-MAX_WIDGET_AMOUNT 1000 // non-functional requirement
-
-NAME 100
-DESCRIPTION 101
-LOGO_PATH 102
-CAN_BE_ADDED 103
-CAN_BE_REMOVED 104
-
-EUnrecognized 0
-EUidIcon 1
-ESvgIcon 2
-ESkinIcon 3
-EMifIcon 4
-ESkinAndMifIcon 5 
-EImageIcon 6
-
-[Enddefine]
-
-//-------------------------------------------------------------------------------
-// Test cases for the plugin
-//-------------------------------------------------------------------------------
-//
-
-
-// Tests WmPlugin construction
-[Test]
-title WmPlugin create/delete
-create wmunittest test
-test HeapSet
-test PluginCreate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Heap usage logging
-[Test]
-title WmPlugin memcon test
-create wmunittest test
-test HeapSet
-test LogHeap "before wm"
-test PluginCreate
-test LogHeap "wm Active"
-//
-test SetMass 10
-test PluginActivate
-pause 500
-test LogHeap "10 widgets"
-//
-test SetMass 20
-test PluginWidgetsChanged
-pause 250
-test LogHeap "20 widgets"
-//
-test SetMass 30
-test PluginWidgetsChanged
-pause 250
-test LogHeap "30 widgets"
-//
-test SetMass 40
-test PluginWidgetsChanged
-pause 250
-test LogHeap "40 widgets"
-//
-test SetMass 50
-test PluginWidgetsChanged
-pause 250
-test LogHeap "50 widgets"
-//
-test SetMass 60
-test PluginWidgetsChanged
-pause 250
-test LogHeap "60 widgets"
-//
-test SetMass 70
-test PluginWidgetsChanged
-pause 250
-test LogHeap "70 widgets"
-//
-test SetMass 80
-test PluginWidgetsChanged
-pause 250
-test LogHeap "80 widgets"
-//
-test SetMass 90
-test PluginWidgetsChanged
-pause 250
-test LogHeap "90 widgets"
-//
-test SetMass 100
-test PluginWidgetsChanged
-pause 250
-test LogHeap "100 widgets"
-//
-test SetMass 200
-test PluginWidgetsChanged
-pause 250
-test LogHeap "200 widgets"
-//
-test SetMass 300
-test PluginWidgetsChanged
-pause 250
-test LogHeap "300 widgets"
-//
-test SetMass 400
-test PluginWidgetsChanged
-pause 250
-test LogHeap "400 widgets"
-//
-test SetMass 500
-test PluginWidgetsChanged
-pause 250
-test LogHeap "500 widgets"
-//
-test PluginDeactivate
-pause 250
-test LogHeap "wm deactive"
-//
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-test LogHeap "after wm"
-delete test
-[Endtest] 
-
-// Tests WmPlugin Activate method
-[Test]
-title WmPlugin activate/deactivate
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 10
-test PluginActivate
-pause 500
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin NotifyWidgetListChanged 10->10 wigets
-[Test]
-title WmPlugin notify 10->10
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 10
-test PluginActivate
-pause 500
-test SetMass 10
-test PluginWidgetsChanged
-pause 500
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin NotifyWidgetListChanged 10->11 widgets
-[Test]
-title WmPlugin notify 10->11
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 10
-test PluginActivate
-pause 500
-test SetMass 11
-test PluginWidgetsChanged
-pause 500
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin NotifyWidgetListChanged 10->9 widgets
-[Test]
-title WmPlugin notify 10->9
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 10
-test PluginActivate
-pause 500
-test SetMass 9
-test PluginWidgetsChanged
-pause 500
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin NotifyWidgetListChanged 0->10 widgets
-[Test]
-title WmPlugin notify 0->10
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 0
-test PluginActivate
-pause 500
-test SetMass 10
-test PluginWidgetsChanged
-pause 500
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin NotifyWidgetListChanged 10->0 widgets
-[Test]
-title WmPlugin notify 10->0
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 10
-test PluginActivate
-pause 500
-test SetMass 0
-test PluginWidgetsChanged
-pause 500
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin NotifyWidgetListChanged with ridiculous amount of widgets
-// testing the OOM error handling
-[Test]
-title WmPlugin notify OOM
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 10
-test PluginActivate
-pause 500
-test SetMass 10000
-test PluginWidgetsChanged
-pause 500
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin with large data amount
-[Test]
-title WmPlugin capacity
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass MAX_WIDGET_AMOUNT
-test PluginActivate
-pause 3000
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests WmPlugin by notifying widget list changed hundreds of times
-// with different widget amounts and different timeouts. Target is to
-// interrupt the previous update process test that it is cancelled ok
-[Test]
-title WmPlugin robustness
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 5
-test PluginActivate
-pause 500
-loop 100
-test SetMass 10
-test PluginWidgetsChanged
-pause 10
-test SetMass 15
-test PluginWidgetsChanged
-pause 90
-test SetMass 11
-test PluginWidgetsChanged
-pause 50
-test SetMass 16
-test PluginWidgetsChanged
-pause 120
-endloop
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests WmPlugin by notifying widget list changed hundreds of times
-// with no change in the widget list at all -> there should be no
-// unnecessary drawing in widget manager UI at all
-[Test]
-title WmPlugin robustness 2
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 5
-test PluginActivate
-pause 500
-loop 100
-test SetMass 10
-test PluginWidgetsChanged
-endloop
-pause 500
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-
-//-------------------------------------------------------------------------------
-// Test cases for notifications where widget data changes
-//-------------------------------------------------------------------------------
-//
-
-// Tests WmPlugin Notify one widget name changes
-[Test]
-title WmPlugin change name
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 5
-test PluginActivate
-pause 1000
-test ChangeContent 1 NAME "New widget name!"
-test PluginWidgetsChanged
-pause 1000
-test ChangeContent 1 NAME "Name changes again!"
-test PluginWidgetsChanged
-pause 1000
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin Notify one widget descr. changes
-[Test]
-title WmPlugin change description
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 5
-test PluginActivate
-pause 1000
-test ChangeContent 1 DESCRIPTION "New description!"
-test PluginWidgetsChanged
-pause 1000
-test ChangeContent 1 DESCRIPTION "Description changes again!"
-test PluginWidgetsChanged
-pause 1000
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin Notify one widget logo changes
-[Test]
-title WmPlugin change logo
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 5
-test PluginActivate
-pause 1000
-test ChangeContent 1 LOGO_PATH "uid(0x10005901)"
-test PluginWidgetsChanged
-pause 1000
-test ChangeContent 1 LOGO_PATH "c:\testframework\wmunittest\wmlogo\logo.svg"
-test PluginWidgetsChanged
-pause 1000
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests WmPlugin Notify CanbeAdded values change
-[Test]
-title WmPlugin change plus-sign
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 5
-test PluginActivate
-pause 1000
-test ChangeContent 1 CAN_BE_ADDED "0"
-test PluginWidgetsChanged
-pause 1000
-test ChangeContent 1 CAN_BE_ADDED "1"
-test PluginWidgetsChanged
-pause 1000
-test PluginDeactivate
-pause 500
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-
-
-//-------------------------------------------------------------------------------
-// Test cases for the persistent widget order
-//-------------------------------------------------------------------------------
-//
-
-// Tests persistent widget order NewL method
-[Test]
-title Widget order create
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test WidgetOrderCheckIsEmpty TRUE
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Test persistent widget order STORE method
-[Test]
-title Widget order store
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test SetMass 5
-test WidgetOrderSave
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Test persistent widget order STORE method when storing an empty array
-[Test]
-title Widget order store empty
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test SetMass 0
-test WidgetOrderSave
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-
-// Tests persistent widget order LOAD method
-[Test]
-title Widget order load
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test SetMass 5
-test WidgetOrderSave
-test WidgetOrderDelete
-test WidgetOrderCreate
-test WidgetOrderLoad
-test WidgetOrderCheckIsEmpty FALSE
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests persistent widget order LOAD method when count is ZERO
-[Test]
-title Widget order load empty
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test SetMass 0
-test WidgetOrderSave
-test WidgetOrderDelete
-test WidgetOrderCreate
-test WidgetOrderLoad
-test WidgetOrderCheckIsEmpty TRUE
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests persistent widget order INDEXOF method
-[Test]
-title Widget order use
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test SetMass 8
-test WidgetOrderSave
-test WidgetOrderDelete
-test WidgetOrderCreate
-test WidgetOrderLoad
-test WidgetOrderCheckIsEmpty FALSE
-test SetMass 7
-test WidgetOrderUse
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests persistent widget order INDEXOF method when class is empty
-[Test]
-title Widget order use empty
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test SetMass 0
-test WidgetOrderSave
-test WidgetOrderDelete
-test WidgetOrderCreate
-test WidgetOrderLoad
-test WidgetOrderCheckIsEmpty TRUE
-test SetMass 18
-test WidgetOrderUse
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests persistent widget order with large data amount
-[Test]
-title Widget order capacity
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test SetMass MAX_WIDGET_AMOUNT
-test WidgetOrderSave
-test WidgetOrderDelete
-test WidgetOrderCreate
-test WidgetOrderLoad
-test SetMass MAX_WIDGET_AMOUNT
-test WidgetOrderUse
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests persistent widget order save & load 100 times in sequence
-[Test]
-title Widget order robustness
-create wmunittest test
-test HeapSet
-test WidgetOrderCreate
-test SetMass 100
-loop 100
-test WidgetOrderSave
-endloop
-test WidgetOrderDelete
-test WidgetOrderCreate
-test SetMass 100
-loop 100
-test WidgetOrderLoad
-endloop
-test WidgetOrderUse
-test WidgetOrderDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-
-//-------------------------------------------------------------------------------
-// Test cases for the image converter
-//-------------------------------------------------------------------------------
-//
-
-// Tests image converter NewL method
-[Test]
-title Image converter create delete
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConversionMethod EUnrecognized
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests malformed icon string formats
-[Test]
-title malformed image formats
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "foo bar"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "*************"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "uid skin mif logo icon jpg jpeg icon"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "girl.jpg"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "dirty_hack.exe"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "c:/testframework/wmunittest/wmlogo/logo.jpg"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "skin[0x10005a26 0x1000]"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "skin(0x10005a26)"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "mif(c:\testframework\wmunittest\wmlogo\logo.mif)"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "mif(c:\testframework\wmunittest\wmlogo\logo.mif XXX YYY)"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "mif  ( 16384 16385)"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "skin( 0x100056c6 0x86 ):mif ( c:\testframework\wmunittest\wmlogo\logo.mif )"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "    uid(0x10005901)"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "uidaan(0x10005901)"
-test ImageConverterWaitResult FAIL
-test ImageConverterConvert "uid (%%%)"
-test ImageConverterWaitResult FAIL
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-
-// the SKIN test will never pass on STIF because STIF AppUI does
-// not have EAknEnableSkin flag defined in its BaseConstructL
-// therefore commented out.
-
-/*
-// Tests image converter with skin syntax
-[Test]
-title Image converter skin
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "skin(270501603 4145)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod ESkinIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter with skin syntax (hex)
-[Test]
-title Image converter skin (hex)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "skin(0x101F86E3 0x100d)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod ESkinIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter with skin syntax (padded with spaces)
-[Test]
-title Image converter skin (padded)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "skin ( 270501603 4145 ) "
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod ESkinIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-*/
-
-// Tests image converter skin method with null skin item ids
-[Test]
-title Image converter skin (null)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "skin(0 0)"
-test ImageConverterWaitResult FAIL
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter with skin/mif syntax
-[Test]
-title Image converter skin/mif
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "skin(270501603 4145):mif(c:\testframework\wmunittest\wmlogo\logo.mif 16384 16385)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod ESkinAndMifIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests image converter with skin/mif syntax (hex)
-[Test]
-title Image converter skin/mif (hex)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "skin(0x101F86E3 0x1031):mif(c:\testframework\wmunittest\wmlogo\logo.mif 0x4000 0x4001)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod ESkinAndMifIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests image converter with skin/mif syntax (padded with spaces)
-[Test]
-title Image converter skin/mif (padded)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "skin (  0x101F86E3 0x1031  ) :mif ( c:\testframework\wmunittest\wmlogo\logo.mif   0x4000  0x4001 ) "
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod ESkinAndMifIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest] 
-
-// Tests image converter mif method
-[Test]
-title Image converter mif
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "mif(c:\testframework\wmunittest\wmlogo\logo.mif 16384 16385)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EMifIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter mif method, mask missing
-[Test]
-title Image converter mif (no mask)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "mif(c:\testframework\wmunittest\wmlogo\logo.mif 16384)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EMifIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter mif method (hex)
-[Test]
-title Image converter mif (hex)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "mif(c:\testframework\wmunittest\wmlogo\logo.mif 0x4000 0x4001)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EMifIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter mif method (padded with spaces)
-[Test]
-title Image converter mif (padded)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "mif (  c:\testframework\wmunittest\wmlogo\logo.mif  16384  16385  ) "
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EMifIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-
-// Tests image converter mif method with invalid path
-[Test]
-title Image converter mif (invalid path)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "mif(c:\blabla.mif 16384 16385)"
-test ImageConverterWaitResult FAIL
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter mif method with invalid bitmap & mask ids
-[Test]
-title Image converter mif (invalid ids)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "mif(c:\testframework\wmunittest\wmlogo\logo.mif 1 2)"
-test ImageConverterWaitResult FAIL
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter uid method
-[Test]
-title Image converter uid
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "uid(268458241)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EUidIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter uid method (hex)
-[Test]
-title Image converter uid (hex)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "uid(0x10005901)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EUidIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter uid method (padded with spaces)
-[Test]
-title Image converter uid (padded)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "uid (  0x10005901  ) "
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EUidIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter uid method with null uid
-[Test]
-title Image converter uid (null)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "uid(0x0)"
-test ImageConverterWaitResult FAIL
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter uid method with wrt widget uid.
-[Test]
-title Image converter wrt widget
-create wmunittest test
-test HeapSet
-test InstallWrtWidget "c:\testframework\wmunittest\wmlogo\test.wgz"
-test ImageConverterCreate
-test ImageConverterConvert "uid(0x2000DAD2)"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EUidIcon
-test ImageConverterDelete
-test UninstallWrtWidget "0x2000DAD2"
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter svg method
-[Test]
-title Image converter svg
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "c:\testframework\wmunittest\wmlogo\logo.svg"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod ESvgIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter svg method corrupt file.
-[Test]
-title Image converter svg (corrupted)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "c:\testframework\wmunittest\wmlogo\logocorrupt.svg"
-test ImageConverterWaitResult FAIL
-test ImageConverterConversionMethod ESvgIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter png method
-[Test]
-title Image converter png
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "c:\testframework\wmunittest\wmlogo\logo.png"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EImageIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter png method corrupt file.
-[Test]
-title Image converter png (corrupted)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "c:\testframework\wmunittest\wmlogo\logocorrupt.png"
-test ImageConverterWaitResult FAIL
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter jpeg method
-[Test]
-title Image converter jpeg
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "c:\testframework\wmunittest\wmlogo\logo.jpg"
-test ImageConverterWaitResult OK
-test ImageConverterConversionMethod EImageIcon
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter jpeg method
-[Test]
-title Image converter jpeg (corrupted)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "c:\testframework\wmunittest\wmlogo\logocorrupt.jpg"
-test ImageConverterWaitResult FAIL
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-
-
-// Tests image converter cancel when idle
-[Test]
-title Image converter cancel (idle)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test CancelConvert
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter cancel (mif conversion)
-[Test]
-title Image converter cancel (mif)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "mif(c:\testframework\wmunittest\wmlogo\logo.mif 16384 16385)"
-test CancelConvert
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter cancel (uid conversion)
-[Test]
-title Image converter cancel (uid)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "uid(268458241)"
-test CancelConvert
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter cancel (svg conversion)
-[Test]
-title Image converter cancel (svg)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "c:\testframework\wmunittest\wmlogo\logo.svg"
-test CancelConvert
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-// Tests image converter cancel (jpg conversion)
-[Test]
-title Image converter cancel (jpg)
-create wmunittest test
-test HeapSet
-test ImageConverterCreate
-test ImageConverterConvert "c:\testframework\wmunittest\wmlogo\logo.jpg"
-test CancelConvert
-test ImageConverterDelete
-test HeapCheck
-delete test
-[Endtest]
-
-
-//-------------------------------------------------------------------------------
-// Misc Test cases
-//-------------------------------------------------------------------------------
-//
-
-// Tests error note
-[Test]
-title Other error note
-create wmunittest test
-test HeapSet
-test PluginCreate
-test PluginActivate
-test ErrorPopup
-pause 3000
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-
-/*
-// Test for heikki to play :)
-[Test]
-title WmPlugin 1h test
-create wmunittest test
-test HeapSet
-test PluginCreate
-test SetMass 500
-test PluginActivate
-pause 3600000
-test PluginDelete
-test HeapCheck
-delete test
-[Endtest]
-*/
-
-
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/conf/wmunittest.bat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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 *
-rem */
-
-ATSInterface.exe -testmodule TestScripter -config c:\testframework\ui_wmunittest.cfg
-
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/conf/wmunittest.ini	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-#
-# This is STIF initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#   + XML, Test report will be xml type, for example 'TestReport.xml'.
-#          Note, that xml format is available only when output is set to FILE.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module.
-# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
-#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
-#
-
-[Engine_Defaults]
-
-TestReportMode= FullReport    # Possible values are: 'Empty', 'Summary', 'Environment',
-                              #                      'TestCases' or 'FullReport'
-
-CreateTestReport= YES         # Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= WidgetManager
-
-TestReportFormat= TXT         # Possible values: TXT, HTML or XML
-TestReportOutput= FILE        # Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-DisableMeasurement= stifmeasurementdisablenone  # Possible values are:
-              # 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
-              # 'stifmeasurementplugin01', 'stifmeasurementplugin02',
-              # 'stifmeasurementplugin03', 'stifmeasurementplugin04',
-              # 'stifmeasurementplugin05' or 'stifbappeaprofiler'
-
-Timeout= 0                    # Default timeout value for each test case. In milliseconds
-UITestingSupport= YES        # Possible values: YES or NO
-#SeparateProcesses= YES       # Possible values: YES or NO (default: NO)
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# Widget manager unit tests
-[New_Module]
-ModuleName= testscripter
-TestCaseFile= c:\testframework\ui_wmunittest.cfg
-[End_Module]
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIF logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-#	- Will write log file in unicode format.
-#		+ YES, Log file will be written in unicode format
-#		+ NO, Log will be written as normal, not unicode, file.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-#NOTE: TestEngine and TestServer logging settings cannot change here
-
-#CreateLogDirectories= YES    # Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML         # Possible values: TXT or HTML
-#EmulatorOutput= FILE         # Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML         # Possible values: TXT or HTML
-#HardwareOutput= FILE         # Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE  # Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES       # Possible values: YES or NO
-#WithTimeStamp= YES           # Possible values: YES or NO
-#WithLineBreak= YES           # Possible values: YES or NO
-#WithEventRanking= YES        # Possible values: YES or NO
-
-#FileUnicode= YES             # Possible values: YES or NO
-#AddTestCaseTitle= YES        # Possible values: YES or NO
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set filters to be used by ConsoleUI.
-# 	If you want to use filter with ConsoleUI, simply remove comments
-# 	from section below and provide valid filter entries.
-#   Each filter line has to start with "filter= " keyword.
-#   Filter can contain special wildcard characters:
-#     *  which stands for none or any literal;
-#     ?  which stands for single character.
-#   Filters are not case-sensitive.
-
-#[Filters]
-#filter= *math*
-#filter= *radio*
-#[End_Filters]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
Binary file idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logo.jpg has changed
Binary file idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logo.mif has changed
Binary file idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logo.png has changed
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logo.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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="32px"
-   height="32px"
-   id="svg2466"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="drawing.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape">
-  <defs
-     id="defs2468">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 16 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="32 : 16 : 1"
-       inkscape:persp3d-origin="16 : 10.666667 : 1"
-       id="perspective2474" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="15.938205"
-     inkscape:cx="9.927765"
-     inkscape:cy="10.627086"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     inkscape:window-width="1680"
-     inkscape:window-height="1031"
-     inkscape:window-x="0"
-     inkscape:window-y="0" />
-  <metadata
-     id="metadata2471">
-    <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
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <image
-       y="5.765738"
-       x="-0.030936712"
-       id="image2462"
-       height="18.19879"
-       width="31.139833"
-       sodipodi:absref="Y:\HS_Domain\homescreen\idlehomescreen\data\qhd_tch\shortcut2_2001f484\gfx\shortcut2logo.png"
-       xlink:href="Y:\HS_Domain\homescreen\idlehomescreen\data\qhd_tch\shortcut2_2001f484\gfx\shortcut2logo.png"
-       transform="matrix(1,0,2.5955691e-2,0.9996631,0,0)" />
-  </g>
-</svg>
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logocorrupt.jpg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
- JFIF  ` `   6Exif  II*         &   JZP `N:ymC%0A 
-~5;ܬz9բs7(dU	=]_.%P93̧_dPh
-l8,2>
W9>Mɮ\te?~jATۍz;桹 YoI,fI]Q,X
-)\{S幭*5*|	 i  l #^ʮYC،׍8o@$_ױ>RzY|Tr>)-k$
v~o@GGlnU^O^`l1qsֱ5MrO
-S@eViCn󥋩
-ſu9RA
b0n{Jʲ Z(W:t(N<wF	o Fj˶?o %8 V1OҪZ |+VIOғ(qޞ$:_jJ8s)q |}|&)V}ҍ[h@$luYN>LW7Q0/͏*ϛZ<zN]KHd[(hN'PjW[6ȿyARem/o}7}m82
-\ϙrlr Q]k2%l;<rE?5&ȟ2q? ko4Ց!=܄dG̬	RP rngy
ǚg|#-ԗֱuQʜ	 I; 9 
-Nןsɝ)Sm=k+@**FV3ee=5wZO"85Znu%^ѷ߱R+CHnNe2 $;5
-V7X)gǭq6LDg`*IvU
-qIǥ|mX:i(.nf:xx*z43[!^ysuqg7X2O?G^\׊t.o3>e{}IBi-r ?L~5  Rrwf$(0QE s߄b9#Q{-%[HKv 8?νB<Vˎ3 \,v m"%|?O)(+Ή(ld[77X}ɮpU(=h
-ZJ(#^g_ ^peuhًla$PVtfxmNPeb	$~#vO([wU
-Z'e⺺(mʫ^gy巃4fYi.d^33` +$	Q
-u-Bi G Ѝ]5JI   R MyJ7x _?UP x  K ߣ QE /_?UP x /(/{ ~ G_*(  K ߣ Rf{E ~ E f{E ~ G_*( _ T ߣ QE /_*?UP = G /{ ~ E  x *(  K ߣ Rf{E ~ E f{E ~ K = G  ? _ T ߣ QE /? _ TQ@_*h ⨢/{ ~ G_*(  K ߣ Rf{E ~ E /Lh ⨢"9>j|_RI'<E 
\ No newline at end of file
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logocorrupt.png	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-PNG
-
-   
IHDR  <   W   #n|   sRGB    gAMA  a    cHRM  z&         u0  `  :  pQ<  IDATx^Xٺ5{=3 !4@=3ą@1 ݝ
Wu@&YOujZw__~]Wՠ>/=VCw{c@S{yȺ cosH8o z
eˮԔVVrlF-D#׃^TMzO0Bס3WڇNi=_n@m~׿oq3טCiZu4t-)HLKLL R2Pa@LtqTLYYBi5z!#9}>rs>9=/dd~n^'>ǁﷺI	e 06Ecg@[ndqu9<1w>'l7AO;Pځj>/oߤ1E?ꗁ>fG.[[RSYT]Vá7d⠶"Z-&'hH(|jh~@@EٟM;|o֤O"I,j	"A*7-b$-D+>9.|?~N/i^_(56}&x %菴l1_~+\}vj4TVVŕ]=7xJhАRVTFĵۛ::;;[:n[OЌA`   śE
-@I[I5</
-~5,&ч-6B=@Oz|gS&OfYؘ;>9]<{k7aGddҸ/[6L,3&g3PM{lڭG7ylԼ+,vw
oE?-tk!K,q.x_.3܂;LSsj2O`]'݊}VZ]07o`R7V2b☳W]Q]x7R.r-wgϞ㗽x$]\ZX.955qix0<rk=sk2k}R|9~B0nKG-kbϑKF-u]vH0Z$%WьHOHbsԨG[PD`8H+lD
-Ʈ&zs]Tmw!hmtmC;k	I!xn^L#t,bD?D9G-?|;..[Tͯ-/E*H4YZ mrTlbD4iUɟFHfyCȴzF,xO|W{kon5wM5)(MTJjܘQGӐM-x^n=cu Q׭Y`|0vy(-Xp9L>d윙K|=ß=rx1C'#ɓ켜?!G{{Gʥw;0u}
-8>[Qb	n0Ti_WsMPhp>Rr+ZdL-ĕkdVZq2j%]8zEeÖX;lЕ.CW:
_:b瘥N\쬰NS縬Ԃ>?%-FIZ+N} ́-;{c<x̘|ۉ_5jP+K/s#SU+CM;UvJ3IuGVvNNNҮ$Uf|礛OBW%BXI˯Jhq1_y7n=u0ԝ+/~s[d<y_zۏS~r<?5CƏn_x7~s}C!nsk?̼iqsG=qg:a,D:~8#fymBb\!c	i8EiXXIʚJЀHGR<e"fqzqQJaa2(O.$E%)y)9)IiH7TH%)IeiIY__j9U[:ɽ[;jh>
			#cr4KZMۿik
~ -/!86?)89ieHleEyꚚ⒲¼‚<uyٚ(O&1QEa܄a	_Wm9}ų,8vsC:wCݲ}x_V_xb*iN5}ޮz'^ o_amvЇAn=pᛧ>}<}"+I+T[y>vޱ[go`wXSP|=[cƮawjjڡ5vE=M+
-5]+ZsgƎpMZ?]+XsG3§kh=mtm\oƎKu_x>(3$*<:&/0"(_"&z^3<$k֭eU&mmrs
S4L{+=9~,pz?=iQ-}?j+?~0xs$<29Oy0l3
d7ϴ#1N5t/ϸ
-IPyZIo'lZ{AIZ*Ko^pymO_|sovg8sƹ7޾uSn҅WN\vҵ3_8K\xx܃o!&pڹ7.]uԅӧ.]tmKg/a&laz9D!Y1H" lq}O=5E7$$T&'9	16x%{[{p2EĘ/, _0D

-1	 	p/ro쀈WObc0a8	@ ~ءݫw K
-꧿~y
-
|.(b0t$#3%NvP{Nc#]sc]K]Vv@I?}86s28hHc8yK&sRəga@7FFnL$HgT3HvcbGiRC{jon!>-kua7*q*WQET-YߥW!JRiwf8A+'5:5 C瀀R?׉*@8KZrA#^2Z<ZxfVYn9 L>8X/*Ē12(B@]~[k"ƋFl2SB{L)d.^JNա"^I3 PM!əG1++ORC09
-> (o-Jf
)Ɣ/<,~%@5j269(O@S0*|[҂9@LTnPNjU=M*̀	)viOi}`O9?'h[{
fn}`\2;J'Gg| &4r\49M%94׈|+"ȿ5#gDIK:Q!+מ93}LvgHɸ4'S-_4@^AS\&$8\)se @#~Wd,EZ
t~Yz_S\f=Y"΀LԢgr
$7)oј5`҂i?6?N]?&XCWo{HSV蟴p  70Š(~]	2٠1%Z" U?zq*#i?檤zHscbVVLڏ3"KСC9tA/a#L a3fLOtAopG͊CgTQԂC%m}@?D=&4kbR=Ƈ=@TdYt
-bU6+֓H8u%cK@*/
-9,Q%8x_IB/+i`lH|
ߒz(T%߼IZhbda1HfKi{G1?ЕGF2Äli
-b@o~cI1WMqV1< t9SOG`7$T}i(w)JjPsʲ1}>5"^Ғ%	`#ET
-5KZ꽂LcL.QtESsV$o!ׂQovϼ\K@
-X<*uXdbwiO=ƤߤSS1x:ȈZ$0@8t"E2Ċ3qR([Xjl'I]$
u*{v~h/UH\>	AV0VPapdi&mZ,B 
-sĀAD~uWPO[@ηjϯuU;|~ͻ7vhYT.
-kLc!Zȇ *8	AEwSS\:?[]_o/_}~ͻ;
-m,(	xmZu*TH 0Cu$fH@~Su0@]G
-@uOW}vh|:6@@d@ *cx
--Q񙊼k1>~U}a{_-9}~A#@߷/ԧHZrS+%ЂpDiЍ)K3Їh#3|=]z'oח'4@ۿTwQ!A i{pHK	Xhl6@s][@k;;`:_>&84*ta ^g<b    IENDB`
\ No newline at end of file
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/logocorrupt.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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: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"
-   id="svg2466"
-   inkscape:version="0.46"
-   sodipodi:docname="drawing.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape">
-         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
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-       id="image2462"
-       height="18.19879"
-       width="31.139833"
-       sodipodi:absref="Y:\HS_Domain\homescreen\idlehomescreen\data\qhd_tch\shortcut2_2001f484\gfx\shortcut2logo.png"
-       xlink:href="Y:\HS_Domain\homescreen\idlehomescreen\data\qhd_tch\shortcut2_2001f484\gfx\shortcut2logo.png"
-       transform="matrix(1,0,2.5955691e-2,0.9996631,0,0)" />
-  </g>
-</svg>
Binary file idlehomescreen/widgetmanager/tsrc/wmunittest/data/wmlogo/test.wgz has changed
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/eabi/wmunittestu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/group/Create_sisx.bat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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
-
-rem Create wm sis&sisx files
-makesis wmunittest.pkg
-signsis wmunittest.SIS wmunittest.SISX Nokia_RnDCert_02.der Nokia_RnDCert_02.key
Binary file idlehomescreen/widgetmanager/tsrc/wmunittest/group/Nokia_RnDCert_02.der has changed
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/group/Nokia_RnDCert_02.key	Tue Feb 02 00:04:13 2010 +0200
+++ /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/idlehomescreen/widgetmanager/tsrc/wmunittest/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-* Widget manager unit tests
-*/
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTEXPORTS
-// test case configuration
-../conf/wmunittest.bat              /epoc32/winscw/c/wmunittest.bat
-../conf/wmunittest.ini              /epoc32/winscw/c/testframework/testframework.ini
-../conf/ui_wmunittest.cfg           /epoc32/winscw/c/testframework/ui_wmunittest.cfg
-// test data
-../data/wmlogo/logo.jpg             /epoc32/winscw/c/testframework/wmunittest/wmlogo/logo.jpg
-../data/wmlogo/logo.mif             /epoc32/winscw/c/testframework/wmunittest/wmlogo/logo.mif
-../data/wmlogo/logo.png             /epoc32/winscw/c/testframework/wmunittest/wmlogo/logo.png
-../data/wmlogo/logo.svg             /epoc32/winscw/c/testframework/wmunittest/wmlogo/logo.svg
-../data/wmlogo/logocorrupt.jpg      /epoc32/winscw/c/testframework/wmunittest/wmlogo/logocorrupt.jpg
-../data/wmlogo/logocorrupt.png      /epoc32/winscw/c/testframework/wmunittest/wmlogo/logocorrupt.png
-../data/wmlogo/logocorrupt.svg      /epoc32/winscw/c/testframework/wmunittest/wmlogo/logocorrupt.svg
-../data/wmlogo/test.wgz             /epoc32/winscw/c/testframework/wmunittest/wmlogo/test.wgz
-
-PRJ_TESTMMPFILES
-wmunittest.mmp
-
-//  End of File
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/group/wmunittest.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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: MMP file for STIF Test Framework's TestScripter 
-* testclass test module.
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-#include <bldvariant.hrh>
-
-TARGET          wmunittest.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-VENDORID        VID_DEFAULT
-SECUREID        0x101FB3E3
-
-DEFFILE         wmunittest.def
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/libc
-SYSTEMINCLUDE   /epoc32/include/ecom
-
-SOURCEPATH      ../../../src
-SOURCE 	        wmplugin.cpp
-SOURCE          wmresourceloader.cpp
-SOURCE          wmmaincontainer.cpp
-SOURCE          wmmaincontainerview.cpp
-SOURCE          wmwidgetdata.cpp
-SOURCE          wmlistbox.cpp
-SOURCE          wmimageconverter.cpp
-SOURCE          wmpersistentwidgetorder.cpp
-SOURCE          wmeffectmanager.cpp
-SOURCE          wmdetailsdlg.cpp
-SOURCE          wmportalbutton.cpp
-SOURCE          wmwidgetloaderao.cpp
-SOURCE          wmconfiguration.cpp
-SOURCE          wminstaller.cpp
-
-SOURCEPATH      ../src
-SOURCE          wmunittest.cpp
-SOURCE          wmunittest_all.cpp
-SOURCE          wmunittest_plugin.cpp
-SOURCE          wmunittest_sortorder.cpp
-SOURCE          wmunittest_converter.cpp
-
-// same as in widgetmanager.mmp
-LIBRARY	    euser.lib
-LIBRARY     cone.lib
-LIBRARY     avkon.lib
-LIBRARY     eikcore.lib
-LIBRARY     estor.lib
-LIBRARY     eikcoctl.lib
-LIBRARY     eikctl.lib
-LIBRARY	    eikdlg.lib
-LIBRARY     efsrv.lib // RFs
-LIBRARY     bafl.lib // BaflUtils
-LIBRARY     apgrfx.lib // RApaLsSession
-LIBRARY     commonengine.lib // StringLoader
-LIBRARY     aknicon.lib // AknIconUtility
-LIBRARY     imageconversion.lib // CImageDecoder
-LIBRARY     bitmaptransforms.lib // CBitmapScaler
-LIBRARY     fbscli.lib // CFbsBitmap
-LIBRARY     gdi.lib // CFont
-LIBRARY     egul.lib // TextUtils
-LIBRARY     ecom.lib // ECom fw
-LIBRARY     aknskins.lib // AknsDrawUtils
-LIBRARY     aknskinsrv.lib // AknsDrawUtils
-LIBRARY     aknswallpaperutils.lib // AknsDrawUtils
-LIBRARY     hscontentcontrol.lib // CHsContentControlUi
-LIBRARY     apparc.lib // CApaCommandLine
-LIBRARY     aknlayout.lib // avkon layout
-LIBRARY     aknlayout2scalable.lib // scalable avkon layout
-LIBRARY     swinstcli.lib // widget uninstall
-LIBRARY     hscontentinfo.lib // CHsContentInfo
-LIBRARY     platformenv.lib  // DriveInfo::GetDefaultDrive
-LIBRARY	    svgengine.lib // CSvgEngineInterfaceImpl
-LIBRARY     gfxtrans.lib // effect manager
-LIBRARY     ws32.lib //WindowSession
-LIBRARY     widgetregistryclient.lib // WidgetRegistryClient
-LIBRARY     hlplch.lib // HlpLauncher
-LIBRARY     sysutil.lib //  diskspace
-LIBRARY     featmgr.lib // FeatureManager
-LIBRARY     etext.lib 
-LIBRARY     centralrepository.lib
-LIBRARY     bmpanim.lib // AknBitmap animation
-
-// libraries needed by the test framework
-LIBRARY     stiftestinterface.lib
-
-// End of File
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/group/wmunittest.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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:
-;
-; 	Installation file for STIF
-;
-
-; Languages
-&EN
-
-; Provide value for uid
-#{"STIF"},(0x101FB3E3),1,1,0,TYPE=SA
-
-; Series60 product id for S60 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-
-; Install files
-
-"\epoc32\release\armv5\udeb\wmunittest.dll"   -   "!:\sys\bin\wmunittest.dll"
-
-"..\conf\wmunittest.bat"                      -   "!:\wmunittest.bat"
-"..\conf\wmunittest.ini"                      -   "!:\testframework\testframework2.ini"
-"..\conf\ui_wmunittest.cfg"                   -   "!:\testframework\ui_wmunittest.cfg"
-
-"..\data\wmlogo\logo.jpg"                     -   "!:\testframework\wmunittest\wmlogo\logo.jpg"
-"..\data\wmlogo\logo.mif"                     -   "!:\testframework\wmunittest\wmlogo\logo.mif"
-"..\data\wmlogo\logo.png"                     -   "!:\testframework\wmunittest\wmlogo\logo.png"
-"..\data\wmlogo\logo.svg"                     -   "!:\testframework\wmunittest\wmlogo\logo.svg"
-"..\data\wmlogo\logocorrupt.jpg"              -   "!:\testframework\wmunittest\wmlogo\logocorrupt.jpg"
-"..\data\wmlogo\logocorrupt.png"              -   "!:\testframework\wmunittest\wmlogo\logocorrupt.png"
-"..\data\wmlogo\logocorrupt.svg"              -   "!:\testframework\wmunittest\wmlogo\logocorrupt.svg"
-"..\data\wmlogo\test.wgz"                     -   "!:\testframework\wmunittest\wmlogo\test.wgz"
-
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/inc/wmunittest.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +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: STIF testclass declaration
-*
-*/
-
-#ifndef WMUNITTEST_H
-#define WMUNITTEST_H
-
-//  INCLUDES
-#include <stiflogger.h>
-#include <testscripterinternal.h>
-#include <stiftestmodule.h>
-#include <testclassassert.h>
-#include <s32file.h> // RFs
-
-#include "wmimageconverter.h" // MConverterObserver
-#include <hscontentcontroller.h>
-
-// MACROS
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-// MACROS FOR THE TEST CASES
-#define _LOG(a) iLog->Log(_L(a))
-#define _RETURN(a, b) iLog->Log(_L("\treturn: %d"),b); \
-                     iLog->Log(_L(a)); \
-                     return b; \
-
-#define _CLEANUPCHECK_BEGIN \
-    CBase* __check = new (ELeave) CBase(); \
-    CleanupStack::PushL( __check );
-
-#define _CLEANUPCHECK_END \
-    CleanupStack::PopAndDestroy( __check );
-
-
-// Logging path & file
-_LIT( KWmUnitTestLogPath, "\\logs\\testframework\\wmunittest\\" ); 
-_LIT( KWmUnitTestLogFile, "wmunittest.txt" ); 
-
-// FORWARD DECLARATIONS
-class CWmPlugin;
-class CWmPersistentWidgetOrder;
-class CWmImageConverter;
-class CHsContentInfo;
-class CHsContentInfoArray;
-class RWidgetDataValues;
-
-
-// CLASS DECLARATION
-/**
-*  test class for STIF Test Framework TestScripter.
-*/
-NONSHARABLE_CLASS(CWmUnitTest) : public CScriptBase,
-                                 public MConverterObserver,
-                                 public MHsContentController
-    {
-    public: // Constructors and destructor
-        /** static constructor */
-        static CWmUnitTest* NewL( CTestModuleIf& aTestModuleIf );
-        /** desctructor */
-        ~CWmUnitTest();
-
-    private: // private stuff
-        /** default constructor */
-        CWmUnitTest( CTestModuleIf& aTestModuleIf );
-        /** 2nd phase constructor */
-        void ConstructL();
-        /** version check */
-        void SendTestClassVersion();
-
-    public: // Test run API
-
-        /** From CScriptBase Runs a script line. */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-    
-    public: // from MConverterObserver
-
-        virtual void NotifyCompletion( TInt aError );
-
-    public: // from MHsContentController
-
-        
-        TInt WidgetListL( CHsContentInfoArray& aArray );
-        TInt ViewListL( CHsContentInfoArray& aArray );
-        TInt AppListL( CHsContentInfoArray& aArray );
-        TInt AddWidgetL( CHsContentInfo& aInfo );
-        TInt RemoveWidgetL( CHsContentInfo& aInfo );
-        TInt AddViewL( CHsContentInfo& aInfo );
-        TInt RemoveViewL( CHsContentInfo& aInfo );
-        TInt ActivateViewL( CHsContentInfo& aInfo );
-        TInt ActivateAppL( CHsContentInfo& aInfo );
-        TInt ActiveViewL( CHsContentInfo& aInfo );
-        TInt ActiveAppL( CHsContentInfo& aInfo );
-        
-    private: // Test methods
-
-        // GENERAL
-        
-        // sets heap reference value
-        TInt HeapSetL( CStifItemParser& aItem );
-        // Log heap usage to file
-        TInt LogHeapL( CStifItemParser& aItem );
-        // compares heap against reference, logs warning if no match
-        TInt HeapCheckL( CStifItemParser& aItem );
-        // sets the mass of data for next test case
-        TInt SetMassL( CStifItemParser& aItem );
-		// install and uninstall wrt widget for tests
-		TInt InstallWrtWidgetL( CStifItemParser& aItem );
-		TInt UninstallWrtWidgetL( CStifItemParser& aItem );
-		// test error note
-		TInt ErrorPopupL( CStifItemParser& aItem );
-		
-        // TESTING THE PLUGIN
-        
-        // creates the WM plugin
-        TInt PluginCreateL( CStifItemParser& aItem );
-        // deletes WM plugin
-        TInt PluginDeleteL( CStifItemParser& aItem );        
-        // calls Activate method for WM plugin
-        TInt PluginActivateL( CStifItemParser& aItem );
-        // calls Deactivate method for WM plugin
-        TInt PluginDeactivateL( CStifItemParser& aItem );
-        // calls NotifyWidgetListChanged method for WM plugin
-        TInt PluginWidgetsChangedL( CStifItemParser& aItem );
-        // changes test content
-        TInt ChangeContentL( CStifItemParser& aItem );
-        
-        // TESTING THE WIDGET SORTING AND ORDER
-        
-        // creates WM persistent widget order object
-        TInt WidgetOrderCreateL( CStifItemParser& aItem );
-        // deletes WM persistent widget order object
-        TInt WidgetOrderDeleteL( CStifItemParser& aItem );
-        // tests WM persistent widget order's LOAD method
-        TInt WidgetOrderLoadL( CStifItemParser& aItem );
-        // tests WM persistent widget order's SAVE method
-        TInt WidgetOrderSaveL( CStifItemParser& aItem );
-        // tests WM persistent widget order's SAVE method
-        TInt WidgetOrderCheckIsEmptyL( CStifItemParser& aItem );
-        // calls WM persistent widget order's API methods
-        TInt WidgetOrderUseL( CStifItemParser& aItem );
-
-        // TESTING IMAGE CONVERSION ROUTINES
-       
-        // creates image converter object
-        TInt ImageConverterCreateL( CStifItemParser& aItem );
-        // deletes image converter object
-        TInt ImageConverterDeleteL( CStifItemParser& aItem );
-        // calls image converter's main conversion method
-        TInt ImageConverterConvertL( CStifItemParser& aItem );
-        // checks image converter callback and checks its result
-        TInt ImageConverterWaitResultL( CStifItemParser& aItem );
-        // gets and checks the conversion method from image converter
-        TInt ImageConverterConversionMethodL( CStifItemParser& aItem );
-        // cancel ongoing convert
-        TInt CancelConvertL( CStifItemParser& aItem );
-
-
-    private: // members used in testing
-
-        void CreateContentInfoArrayL( CHsContentInfoArray& aArray, TInt aCount );
-        void CreateWidgetDataArrayL( RWidgetDataValues& aArray, TInt aCount );
-
-        // file server
-        RFs iFs;
-
-        // the WM plugin instance
-        CWmPlugin* iWmPlugin;
-
-        // the WM persistent widget order instance
-        CWmPersistentWidgetOrder* iWmWidgetOrder;
-
-        // the Image converter instance
-        CWmImageConverter* iImageConverter;
-        
-        // amount of heap allocated in HeapSet
-        TInt iHeapSize;
-        
-        // image converter response ready
-        TBool iConversionReady;
-        
-        // image converter result
-        TInt iConversionError;
-        
-        // switch for active schedular wait
-        TBool iWaiting;
-
-        // multipurpose test data count
-        TInt iMass;
-
-        // requested changes to the content
-        TInt iChangeIndex;
-        TInt iChangeType;
-        HBufC16* iChangeValue;
-    };
-
-
-#endif      // WMUNITTEST_H
-
-// End of File
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +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 testclass implementation.
-*
-*/
-
-// INCLUDE FILES
-#include <stiftestinterface.h>
-#include <settingserverclient.h>
-
-#include "wmunittest.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::CWmUnitTest
-// -----------------------------------------------------------------------------
-//
-CWmUnitTest::CWmUnitTest( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    iChangeValue = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CWmUnitTest::ConstructL()
-    {
-    iLog = CStifLogger::NewL( KWmUnitTestLogPath, 
-            KWmUnitTestLogFile,
-            CStifLogger::ETxt,
-            CStifLogger::EFile,
-            EFalse );
-    
-    SendTestClassVersion();
-    
-    User::LeaveIfError( iFs.Connect() );
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::NewL
-// -----------------------------------------------------------------------------
-//
-CWmUnitTest* CWmUnitTest::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    CWmUnitTest* self = new (ELeave) CWmUnitTest( aTestModuleIf );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::~CWmUnitTest
-// -----------------------------------------------------------------------------
-//
-CWmUnitTest::~CWmUnitTest()
-    { 
-    // Delete logger
-    delete iLog; 
-    // close file server
-    iFs.Close();
-    }
-
-//-----------------------------------------------------------------------------
-// CWmDeploymentClientTest::SendTestClassVersion
-//-----------------------------------------------------------------------------
-//
-void CWmUnitTest::SendTestClassVersion()
-	{
-	TVersion moduleVersion;
-	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
-	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
-	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-	
-	TFileName moduleName;
-	moduleName = _L("wmunittest.dll");
-
-	TBool newVersionOfMethod = ETrue;
-	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL() - polymorphic Dll entry point.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-    return ( CScriptBase* ) CWmUnitTest::NewL( aTestModuleIf );
-    }
-
-
-//  End of File
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_all.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +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: list of all test blocks
-*
-*/
-
-//INCLUDE FILES
-#include <e32svr.h>
-#include <stdlib.h>
-#include <stifparser.h>
-#include <stiftestinterface.h>
-#include <bautils.h>
-#include <aknsskininstance.h>
-#include <swinstapi.h>
-#include <swinstdefs.h>
-#include <coemain.h>
-#include <EIKENV.H> 
-#include "wmunittest.h"
-#include "wmresourceloader.h"
-
-// CONSTANTS
-_LIT( KHexPrefix,     "0x" );
-_LIT8( KWrtMime, "application/x-nokia-widget");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::RunMethodL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-    static TStifFunctionInfo const KFunctions[] =
-        {
-        // general test blocks
-        ENTRY( "HeapSet", CWmUnitTest::HeapSetL ),
-        ENTRY( "LogHeap", CWmUnitTest::LogHeapL ),
-        ENTRY( "HeapCheck", CWmUnitTest::HeapCheckL ),
-        ENTRY( "SetMass", CWmUnitTest::SetMassL ),
-        ENTRY( "ErrorPopup", CWmUnitTest::ErrorPopupL ),
-        
-		// install/uninstall wrt widget for test
-		ENTRY( "InstallWrtWidget", CWmUnitTest::InstallWrtWidgetL ),
-		ENTRY( "UninstallWrtWidget", CWmUnitTest::UninstallWrtWidgetL ),
-
-        // test blocks for the plugin
-        ENTRY( "PluginCreate", CWmUnitTest::PluginCreateL ),
-        ENTRY( "PluginDelete", CWmUnitTest::PluginDeleteL ),
-        ENTRY( "PluginActivate", CWmUnitTest::PluginActivateL ),
-        ENTRY( "PluginDeactivate", CWmUnitTest::PluginDeactivateL ),
-        ENTRY( "PluginWidgetsChanged", CWmUnitTest::PluginWidgetsChangedL ),
-        ENTRY( "ChangeContent", CWmUnitTest::ChangeContentL ),
-
-        // test blocks for the persistent widget order class
-        ENTRY( "WidgetOrderCreate", CWmUnitTest::WidgetOrderCreateL ),
-        ENTRY( "WidgetOrderDelete", CWmUnitTest::WidgetOrderDeleteL ),
-        ENTRY( "WidgetOrderLoad", CWmUnitTest::WidgetOrderLoadL ),
-        ENTRY( "WidgetOrderSave", CWmUnitTest::WidgetOrderSaveL ),
-        ENTRY( "WidgetOrderCheckIsEmpty", CWmUnitTest::WidgetOrderCheckIsEmptyL ),
-        ENTRY( "WidgetOrderUse", CWmUnitTest::WidgetOrderUseL ),
-        
-        // test blocks for the image converter
-        ENTRY( "ImageConverterCreate", CWmUnitTest::ImageConverterCreateL ),
-        ENTRY( "ImageConverterDelete", CWmUnitTest::ImageConverterDeleteL ),
-        ENTRY( "ImageConverterConvert", CWmUnitTest::ImageConverterConvertL ),
-        ENTRY( "ImageConverterWaitResult", CWmUnitTest::ImageConverterWaitResultL ),
-        ENTRY( "ImageConverterConversionMethod", CWmUnitTest::ImageConverterConversionMethodL ),
-        ENTRY( "CancelConvert", CWmUnitTest::CancelConvertL ),
-        
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::HeapSetL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::HeapSetL( CStifItemParser& /*aItem*/ )
-    {
-    User::Heap().AllocSize( iHeapSize );
-    _RETURN("HeapSetL End", KErrNone);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::LogHeapL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::LogHeapL( CStifItemParser& aItem )
-    {
-    TPtrC inputStr;
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    User::LeaveIfError( aItem.GetNextString( inputStr ) );
-
-    TInt size = 0;
-    User::Heap().AllocSize( size );
-    iLog->Log( _L("Heap usage, %S: %d"), &inputStr, size );
-    _RETURN("LogHeapL End", KErrNone);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::HeapCheckL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::HeapCheckL( CStifItemParser& /*aItem*/ )
-    {
-    TInt ret = KErrNone;
-    TInt heapSizeAtCheckpoint;
-    User::Heap().AllocSize( heapSizeAtCheckpoint );
-    if ( iHeapSize != heapSizeAtCheckpoint )
-        {
-        //ret = KErrTooBig; <-- not reliable
-        _LOG("Warning: potential memory leak detected!!!");
-        }
-    _RETURN("HeapCheckL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::SetMassL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::SetMassL( CStifItemParser& aItem )
-    {
-    aItem.GetNextInt( iMass );
-    _RETURN("SetMassL End", KErrNone);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::InstallWrtWidgetL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::InstallWrtWidgetL( CStifItemParser& aItem )
-    {
-	TInt ret = KErrNone;
-    TPtrC inputStr;
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    User::LeaveIfError( aItem.GetNextString( inputStr ) );
-    if ( inputStr.Length() == 0 ) User::Leave( KErrArgument );
-	
-	// install widget
-    SwiUI::RSWInstSilentLauncher installer;
-    User::LeaveIfError( installer.Connect() );
-    CleanupClosePushL( installer );
-
-    SwiUI::TInstallReqPckg installReqPckg;
-    SwiUI::TInstallOptions options;
-    TRequestStatus status = KRequestPending;
-    
-    options.iUpgrade = SwiUI::EPolicyAllowed;
-    options.iOptionalItems = SwiUI::EPolicyAllowed;
-    options.iOCSP = SwiUI::EPolicyAllowed;
-    options.iIgnoreOCSPWarnings = SwiUI::EPolicyAllowed;
-    options.iUntrusted = SwiUI::EPolicyAllowed;
-    options.iPackageInfo = SwiUI::EPolicyAllowed;
-    options.iCapabilities = SwiUI::EPolicyAllowed;
-    options.iKillApp = SwiUI::EPolicyAllowed;
-    options.iOverwrite = SwiUI::EPolicyAllowed;
-    options.iDownload = SwiUI::EPolicyAllowed;
-    options.iDrive = 'C';
-    options.iLang = User::Language();
-    options.iUsePhoneLang = ETrue;
-    options.iUpgradeData = SwiUI::EPolicyAllowed;
-    
-    SwiUI::TInstallOptionsPckg optionsPkg( options );
-    installer.SilentInstall( status , inputStr, optionsPkg );
-    User::WaitForRequest( status );
-    ret = status.Int();
-	CleanupStack::PopAndDestroy( &installer );
-    _RETURN("InstallWrtWidgetL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::UninstallWrtWidgetL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::UninstallWrtWidgetL( CStifItemParser& aItem )
-    {
-    TInt ret = KErrNone;
-	TPtrC inputStr;
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    User::LeaveIfError( aItem.GetNextString( inputStr ) );
-    if ( inputStr.Length() == 0 ) User::Leave( KErrArgument );
-
-	TUid uid;
-	TLex lex( inputStr );
-	lex.SkipSpaceAndMark();
-	TPtrC mtoken = lex.MarkedToken();
-	TInt pos = mtoken.FindF( KHexPrefix );
-	if ( pos == 0 )
-		{
-		TLex lex( mtoken.Mid( KHexPrefix().Length() ) );
-		TUint id = 0;
-		ret = lex.Val( id, EHex );
-		uid = TUid::Uid( (TInt)id );
-		}
-	else
-		{
-		TInt id( 0 );
-		ret = lex.Val( id );
-		uid.iUid = id;
-		}
-
-	if ( ret == KErrNone )
-		{
-		// Uninstall widget
-		SwiUI::RSWInstSilentLauncher installer;
-		User::LeaveIfError( installer.Connect() );
-		CleanupClosePushL( installer );
-		
-		TRequestStatus status = KRequestPending;
-		SwiUI::TUninstallOptions optionsUninstall;
-		optionsUninstall.iBreakDependency = SwiUI::EPolicyAllowed;
-		optionsUninstall.iKillApp = SwiUI::EPolicyAllowed;
-		SwiUI::TUninstallOptionsPckg uninstallOptionsPkg( optionsUninstall );
-		
-		installer.SilentUninstall( status, uid, uninstallOptionsPkg, KWrtMime );
-		User::WaitForRequest( status );				
-		CleanupStack::PopAndDestroy( &installer );
-		}
-	
-    _RETURN("UninstallWrtWidgetL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::ErrorPopup
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::ErrorPopupL( CStifItemParser& /*aItem*/ )
-    {
-    CWmResourceLoader* res = CWmResourceLoader::NewL( *CEikonEnv::Static() );
-    res->ErrorPopup(KErrNone);
-    delete res;
-    _RETURN("ErrorPopupL End", KErrNone);
-    }
-// End of File
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_converter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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: test blocks for CWmImageConverter
-*
-*/
-
-//INCLUDE FILES
-#include <e32svr.h>
-#include <stdlib.h>
-#include <stifparser.h>
-#include <stiftestinterface.h>
-#include <bautils.h>
-#include <aknsskininstance.h>
-#include "wmunittest.h"
-// components to test
-#include "wmimageconverter.h"
-
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::ImageConverterCreateL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::ImageConverterCreateL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iImageConverter != 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    _CLEANUPCHECK_BEGIN
-    iImageConverter = CWmImageConverter::NewL( this );
-    _CLEANUPCHECK_END
-    _RETURN("ImageConverterCreateL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::ImageConverterDeleteL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::ImageConverterDeleteL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iImageConverter == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    delete iImageConverter;
-    iImageConverter = 0;
-    _RETURN("ImageConverterDeleteL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::ImageConverterConvertL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::ImageConverterConvertL( CStifItemParser& aItem )
-    {
-    if ( iImageConverter == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    iConversionReady = EFalse;
-    TPtrC inputStr;
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    User::LeaveIfError( aItem.GetNextString( inputStr ) );
-    if ( inputStr.Length() == 0 ) User::Leave( KErrArgument );
-
-    TInt err = iImageConverter->HandleIconString( 40, 40, inputStr );
-    if ( err != KErrNone )
-        {
-        _LOG("ImageConverterConvertL:HandleIconString returns Error!!!");
-        iConversionReady = ETrue;
-        iConversionError = err;
-        }
-
-    _RETURN("ImageConverterConvertL End", ret );
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::ImageConverterWaitResultL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::ImageConverterWaitResultL( CStifItemParser& aItem )
-    {
-    if ( iImageConverter == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    TInt expectedResult;
-
-    User::LeaveIfError( aItem.GetNextInt( expectedResult ) );    
-
-    iWaiting = EFalse;
-    if ( !iConversionReady )
-        {
-        iWaiting = ETrue;
-        CActiveScheduler::Start();
-        iWaiting = EFalse;
-        }
-
-    // check conversion error
-    if ( expectedResult == KErrNone && iConversionError != KErrNone )
-        {
-        _LOG("ImageConverterWaitResultL: expected ok, returns error");
-        ret = iConversionError;
-        }
-    else if ( expectedResult != KErrNone && iConversionError == KErrNone )
-        {
-        _LOG("ImageConverterWaitResultL: expected error, returns ok");
-        ret = KErrGeneral;
-        }
-
-    _RETURN("ImageConverterWaitResultL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::NotifyCompletion
-// -----------------------------------------------------------------------------
-//
-void CWmUnitTest::NotifyCompletion( TInt aError )
-    {
-    if ( !iConversionReady )
-        {
-        iConversionReady = ETrue;
-        iConversionError = aError;
-        if ( iWaiting )
-            {
-            CActiveScheduler::Stop();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::ImageConverterConversionMethodL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::ImageConverterConversionMethodL( CStifItemParser& aItem )
-    {
-    if ( iImageConverter == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    TInt conversionMethod;
-
-    User::LeaveIfError( aItem.GetNextInt( conversionMethod ) );    
-
-    // check conversion method
-    if ( conversionMethod != iImageConverter->ConversionMethod() )
-        ret = KErrGeneral;
-
-    _RETURN("ImageConverterConversionMethodL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::CancelConvertL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::CancelConvertL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iImageConverter == 0 ) User::Leave( KErrArgument );
-    iImageConverter->Cancel();
-    _RETURN("CancelConvertL End", KErrNone);
-    }
-// End of File
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_plugin.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /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: test blocks for CWmPlugin
-*
-*/
-
-//INCLUDE FILES
-#include <e32svr.h>
-#include <stdlib.h>
-#include <stifparser.h>
-#include <stiftestinterface.h>
-#include <bautils.h>
-#include <aknsskininstance.h>
-#include "wmunittest.h"
-// components to test
-#include "wmplugin.h"
-#include <hscontentinfo.h>
-#include <hscontentinfoarray.h>
-
-// MACROS
-#define _LOG(a) iLog->Log(_L(a))
-#define _RETURN(a, b) iLog->Log(_L("\treturn: %d"),b); \
-                     iLog->Log(_L(a)); \
-                     return b; \
-
-#define _CLEANUPCHECK_BEGIN \
-    CBase* __check = new (ELeave) CBase(); \
-    CleanupStack::PushL( __check );
-
-#define _CLEANUPCHECK_END \
-    CleanupStack::PopAndDestroy( __check );
-
-// CONSTANTS
-const TInt KName = 100;
-const TInt KDescription = 101;
-const TInt KLogoPath = 102;
-const TInt KCanBeAdded = 103;
-const TInt KCanBeRemoved = 104;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::PluginCreateL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::PluginCreateL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmPlugin != 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    _CLEANUPCHECK_BEGIN
-    iWmPlugin = CWmPlugin::NewL();
-    iWmPlugin->SetContentController( this );
-    _CLEANUPCHECK_END
-    _RETURN("PluginCreateL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::PluginDeleteL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::PluginDeleteL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmPlugin == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    delete iWmPlugin;
-    iWmPlugin = 0;
-    _RETURN("PluginDeleteL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::PluginActivateL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::PluginActivateL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmPlugin == 0 ) User::Leave( KErrArgument );
-    iWmPlugin->Activate();
-    _RETURN("PluginActivateL End", KErrNone);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::PluginDeactivateL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::PluginDeactivateL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmPlugin == 0 ) User::Leave( KErrArgument );
-    iWmPlugin->Deactivate();
-    _RETURN("PluginActivateL End", KErrNone);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::PluginWidgetsChangedL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::PluginWidgetsChangedL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmPlugin == 0 ) User::Leave( KErrArgument );
-    iWmPlugin->NotifyWidgetListChanged();
-    _RETURN("PluginWidgetsChangedL End", KErrNone);
-    }
-
-// =============================================================================
-// Methods from MHsContentController
-// =============================================================================
-
-TInt CWmUnitTest::WidgetListL( CHsContentInfoArray& aArray )
-    {
-    CreateContentInfoArrayL( aArray, iMass );
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::ViewListL( CHsContentInfoArray& /*aArray*/ )
-    {
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::AppListL( CHsContentInfoArray& /*aArray*/ )
-    {
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::AddWidgetL( CHsContentInfo& /*aInfo*/ )
-    {
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::RemoveWidgetL( CHsContentInfo& /*aInfo*/ )
-    {
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::AddViewL( CHsContentInfo& /*aInfo*/ )
-    {
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::RemoveViewL( CHsContentInfo& /*aInfo*/ )
-    {
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::ActivateViewL( CHsContentInfo& /*aInfo*/ )
-    {
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::ActivateAppL( CHsContentInfo& /*aInfo*/ )
-    {
-    return KErrNone;
-    }
-
-TInt CWmUnitTest::ActiveViewL( CHsContentInfo& /*aInfo*/ )
-    {
-    return 0;
-    }
-
-TInt CWmUnitTest::ActiveAppL( CHsContentInfo& /*aInfo*/ )
-    {
-    return 0;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::ChangeContentL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::ChangeContentL( CStifItemParser& aItem )
-    {
-    aItem.GetNextInt( iChangeIndex );    
-    aItem.GetNextInt( iChangeType );
-    TPtrC changeValue;
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    aItem.GetNextString( changeValue );
-    delete iChangeValue;
-    iChangeValue = NULL;
-    iChangeValue = changeValue.AllocL();
-    _RETURN("ChangeContentL End", KErrNone);
-    }
-
-// string -> bool conversion function
-TBool s2b( const TDesC& str )
-    {
-    return ( str == _L("1") ? ETrue : EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::CreateContentInfoArrayL
-// -----------------------------------------------------------------------------
-//
-void CWmUnitTest::CreateContentInfoArrayL( CHsContentInfoArray& aArray, TInt aCount )
-    {
-    for( TInt i=0; i<aCount; ++i )
-        {
-        CHsContentInfo* info = CHsContentInfo::NewLC();
-        TBuf<64> name;
-        name.Format( _L("Widget_%d"), i );
-        info->SetNameL( name );
-        TBuf8<20> id;
-        id.Format( _L8("0x%x"), i );
-        info->SetUidL( id );
-        info->SetTypeL( _L8("template") );
-        info->SetPublisherIdL( _L("teron.pub") );
-        info->SetIconPathL( _L("uid(0x2000DAD2)") );
-        info->SetCanBeAdded( ETrue );
-        info->SetDescriptionL(_L("Default plaa plaa plaa plaa plaa plaa plaa"));
-        
-        aArray.Array().AppendL( info );
-        CleanupStack::Pop( info );
-        }
-    
-    // change content
-    if ( iChangeIndex >= 0 && iChangeIndex < aCount )
-        {
-        CHsContentInfo* info = aArray.Array()[iChangeIndex];
-        if ( iChangeType == KName )
-            { info->SetNameL( *iChangeValue ); }
-        else if ( iChangeType == KDescription )
-            { info->SetDescriptionL( *iChangeValue ); }
-        else if ( iChangeType == KLogoPath )
-            { info->SetIconPathL( *iChangeValue ); }
-        else if ( iChangeType == KCanBeAdded )
-            { info->SetCanBeAdded( s2b(*iChangeValue) ); }
-        else if ( iChangeType == KCanBeRemoved )
-            { info->SetCanBeRemoved( s2b(*iChangeValue) ); }
-        }
-    }
-
-// End of File
--- a/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_sortorder.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +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:  test blocks for CWmPersistentWidgetorder
-*
-*/
-
-//INCLUDE FILES
-#include <e32svr.h>
-#include <stdlib.h>
-#include <stifparser.h>
-#include <stiftestinterface.h>
-#include <bautils.h>
-#include <aknsskininstance.h>
-#include "wmunittest.h"
-// components to test
-#include "wmpersistentwidgetorder.h"
-#include "wmwidgetdata.h"
-#include <hscontentinfo.h>
-#include <hscontentinfoarray.h>
-#include <widgetregistryclient.h> // widgetreqistry
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::WidgetOrderCreateL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::WidgetOrderCreateL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmWidgetOrder != 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    _CLEANUPCHECK_BEGIN
-    iWmWidgetOrder = CWmPersistentWidgetOrder::NewL( iFs );
-    _CLEANUPCHECK_END
-    _RETURN("WidgetOrderCreateL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::WidgetOrderDeleteL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::WidgetOrderDeleteL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmWidgetOrder == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    delete iWmWidgetOrder;
-    iWmWidgetOrder = 0;
-    _RETURN("WidgetOrderDeleteL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::WidgetOrderLoadL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::WidgetOrderLoadL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmWidgetOrder == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    _CLEANUPCHECK_BEGIN
-    iWmWidgetOrder->LoadL();
-    _CLEANUPCHECK_END
-    _RETURN("WidgetOrderLoadL End", ret);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::WidgetOrderSaveL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::WidgetOrderSaveL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmWidgetOrder == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-
-    _CLEANUPCHECK_BEGIN
-    RWidgetDataValues array;
-    CleanupClosePushL( array );
-    CreateWidgetDataArrayL( array, iMass );
-    iWmWidgetOrder->StoreL( array );
-    array.ResetAndDestroy();
-    CleanupStack::Pop( &array );
-    _CLEANUPCHECK_END
-
-    _RETURN("WidgetOrderSaveL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::WidgetOrderCheckIsEmptyL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::WidgetOrderCheckIsEmptyL( CStifItemParser& aItem )
-    {
-    if ( iWmWidgetOrder == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-    TInt expectedResult;
-    aItem.GetNextInt( expectedResult );
-
-    if ( iWmWidgetOrder->IsEmpty() && !expectedResult )
-        ret = KErrGeneral;
-    if ( !iWmWidgetOrder->IsEmpty() && expectedResult )
-        ret = KErrGeneral;
-
-    _RETURN("WidgetOrderCheckIsEmptyL End", ret);
-    }
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::WidgetOrderUseL
-// -----------------------------------------------------------------------------
-//
-TInt CWmUnitTest::WidgetOrderUseL( CStifItemParser& /*aItem*/ )
-    {
-    if ( iWmWidgetOrder == 0 ) User::Leave( KErrArgument );
-    TInt ret = KErrNone;
-
-    _CLEANUPCHECK_BEGIN
-    // test IndexOf
-    RWidgetDataValues array;
-    CreateWidgetDataArrayL( array, iMass );
-    for( TInt i=0; i<array.Count() && ret==KErrNone; ++i )
-        {
-        TInt index = iWmWidgetOrder->IndexOf( *array[i] );
-        if ( index < KErrNotFound || index >= array.Count() )
-            ret = KErrUnknown; // illegal index
-        }
-    array.ResetAndDestroy();
-    _CLEANUPCHECK_END
-
-    _RETURN("WidgetOrderUseL End", ret);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CWmUnitTest::CreateWidgetDataArrayL
-// -----------------------------------------------------------------------------
-//
-void CWmUnitTest::CreateWidgetDataArrayL( RWidgetDataValues& aArray, TInt aCount )
-    {
-    // first create an array of content info classes
-    CHsContentInfoArray* contentArray = CHsContentInfoArray::NewL();
-    CleanupStack::PushL( contentArray );
-    CreateContentInfoArrayL( *contentArray, aCount );
-    // connect to widget registry
-    RWidgetRegistryClientSession registryClient;
-    User::LeaveIfError( registryClient.Connect() );
-    CleanupClosePushL( registryClient );
-    TSize dummySize(40,40);
-    CWmResourceLoader* resLoader = NULL; // not used in this case
-    while( contentArray->Array().Count() > 0 )
-        {        
-        CWmWidgetData* data = CWmWidgetData::NewL(
-                dummySize, *resLoader, 
-                contentArray->Array()[0],
-                &registryClient);
-
-        contentArray->Array().Remove( 0 );
-        CleanupStack::PushL( data );
-        aArray.AppendL( data );
-        CleanupStack::Pop( data );
-        }
- 
-    registryClient.Disconnect();
-    CleanupStack::PopAndDestroy( &registryClient );
-    CleanupStack::PopAndDestroy( contentArray );
-    }
-
-
-// End of File
--- a/idlehomescreen/xmluicontroller/group/aixmluimain.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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: 
-*
-*/
-
-#include <platform_paths.hrh>
-
-#include        <platform/mw/aisystemuids.hrh>
-#include        <data_caging_paths.hrh>
-
-TARGET          ai3xmluimain.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D AI3_UID_ECOM_DLL_UICONTROLLER_XML
-VENDORID        VID_DEFAULT
-CAPABILITY      CAP_ECOM_PLUGIN
-
-SOURCEPATH      ../src
-SOURCE          xmluicontroller.cpp
-SOURCE          application.cpp
-SOURCE          document.cpp
-SOURCE          appui.cpp
-SOURCE          aixuikoneventhandler.cpp
-SOURCE          aieventhandler.cpp
-SOURCE          contentrenderer.cpp
-SOURCE          activetransactionstack.cpp
-SOURCE          transactionfactoryimpl.cpp
-SOURCE          transaction.cpp
-SOURCE          transactionelement.cpp
-SOURCE          texttransactionelement.cpp
-SOURCE          newstickertransactionelement.cpp
-SOURCE          imagetransactionelement.cpp
-SOURCE          emptycontenttransactionelement.cpp
-SOURCE          xmlnodeidgenerator.cpp
-SOURCE          aixmluiutils.cpp
-SOURCE          xmluicontrollerpanic.cpp
-SOURCE          databuffertransactionelement.cpp
-SOURCE          newstickercallbackhandler.cpp
-SOURCE          csspropertymap.cpp
-SOURCE          aipolicyelement.cpp
-SOURCE          policyevaluator.cpp
-SOURCE          psobserver.cpp
-SOURCE          pmodtiterator.cpp
-SOURCE          contentpublisher.cpp
-SOURCE          globalqueryhandler.cpp
-SOURCE          onlineofflinehelper.cpp
-
-
-START RESOURCE  ai3xmluimain.rss
-TARGET          ai3xmluimain.rsc
-
-END
-START RESOURCE  ai3xmlui.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-
-END
-
-USERINCLUDE     .
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../help/inc
-
-USERINCLUDE     ../../xmluirendering/uiengine/inc
-USERINCLUDE     ../../sapiwrapper/hspswrapper/inc // hspswrapper
-
-SYSTEMINCLUDE   .
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib efsrv.lib
-LIBRARY         ecom.lib centralrepository.lib
-LIBRARY         fbscli.lib apparc.lib cone.lib
-LIBRARY         eikcore.lib eikcoctl.lib egul.lib avkon.lib aknskins.lib
-LIBRARY         xn3layoutengine.lib xn3utils.lib xn3domdocument.lib
-LIBRARY         aiidleint.lib aiutils.lib
-LIBRARY         imageconversion.lib
-LIBRARY         apgrfx.lib
-LIBRARY         bafl.lib
-LIBRARY         flogger.lib
-LIBRARY         aknicon.lib
-LIBRARY         cdlengine.lib liwservicehandler.lib
-LIBRARY         hlplch.lib commonengine.lib
-LIBRARY         charconv.lib
-LIBRARY         aknnotify.lib 
-LIBRARY         networkhandling.lib
-LIBRARY         profileeng.lib
-
-
--- a/idlehomescreen/xmluicontroller/group/backup_registration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration>
-    <proxy_data_manager sid = "0x10202BE9" />
-    <restore requires_reboot = "no"/>
-</backup_registration>
--- a/idlehomescreen/xmluicontroller/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-#ifdef RD_CUSTOMIZABLE_AI
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-//backup_registration.xml  /epoc32/data/z/private/10275102/backup_registration.xml
-//backup_registration.xml  /epoc32/release/winscw/udeb/z/private/10275102/backup_registration.xml
-//backup_registration.xml  /epoc32/release/winscw/urel/z/private/10275102/backup_registration.xml
-
-//../rom/activeidle2.iby                                  CORE_APP_LAYER_IBY_EXPORT_PATH(activeidle2.iby)
-//../rom/activeidle2_resources.iby                        LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(activeidle2_resources.iby)
-../rom/ai3xmluicontroller.iby                  CORE_APP_LAYER_IBY_EXPORT_PATH(ai3xmluicontroller.iby)
-../rom/ai3xmluicontroller_resources.iby        LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(ai3xmluicontroller_resources.iby)
-
-// Generic configuration interface for component cenrep settings
-//../conf/activeidle2.confml                  APP_LAYER_CONFML(activeidle2.confml)
-//../conf/activeidle2_10275102.crml           APP_LAYER_CRML(activeidle2_10275102.crml)
-
-PRJ_EXTENSIONS
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE activeidle2.mif
-OPTION HEADERFILE activeidle2.mbg
-OPTION SOURCES -c8,8 qgn_indi_tb_appsgrid \
-               -c8,8 qgn_indi_tb_dialler \
-               -c8,8 qgn_indi_tb_profiles
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE homescreen_aif.mif
-OPTION SOURCES -c8,8 qgn_menu_idlestate
-END
-
-
-PRJ_MMPFILES
-
-#ifdef __SCALABLE_ICONS
-// gnumakefile icons.mk
-// gnumakefile icons_aif_scalable.mk
-#else
- gnumakefile icons_aif_bitmaps.mk
-#endif
-
-aixmluimain.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-#endif // RD_CUSTOMIZABLE_AI
-
--- a/idlehomescreen/xmluicontroller/group/icons.mk	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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: 
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\activeidle2.mif
-HEADERFILENAME=$(HEADERDIR)\activeidle2.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-        /c8,8 qgn_indi_tb_appsgrid.svg \
-        /c8,8 qgn_indi_tb_dialler.svg \
-        /c8,8 qgn_indi_tb_profiles.svg 
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
\ No newline at end of file
--- a/idlehomescreen/xmluicontroller/group/icons_aif_bitmaps.mk	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  scalable icons makefile for project ?myapp
-#
-
-ifeq (WINS,$(findstring WINS,$(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=$(EPOCROOT)epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=$(EPOCROOT)epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\homescreen_aif.mbm
-
-MAKMAKE : 
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_idlestate_lst.bmp \
-		/c8,8 qgn_menu_idlestate_cxt.bmp
-
-BLD : ;
-
-CLEAN : ;
-
-LIB : ;
-
-CLEANLIB : ;
-
-RESOURCE : ;
-
-FREEZE : ;
-
-SAVESPACE : ;
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : ;
--- a/idlehomescreen/xmluicontroller/group/icons_aif_scalable.mk	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  scalable icons makefile for project home screen
-#
-
-ifeq (WINS,$(findstring WINS,$(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=$(EPOCROOT)epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=$(EPOCROOT)epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\homescreen_aif.mif
-
-MAKMAKE : ;
-
-BLD : ;
-
-CLEAN : ;
-
-LIB : ;
-
-CLEANLIB : ;
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_idlestate.svg
-
-FREEZE : ;
-
-SAVESPACE : ;
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : ;
--- a/idlehomescreen/xmluicontroller/inc/activetransactionstack.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Active transaction stack
-*
-*/
-
-
-#ifndef C_ACTIVETRANSACTIONSTACK_H
-#define C_ACTIVETRANSACTIONSTACK_H
-
-#include <e32base.h>
-
-
-namespace AiXmlUiController
-    {
-    class MTransaction;
-    class CTransaction;
-    }
-
-
-namespace AiXmlUiController
-{
-
-/**
-*  @ingroup group_xmluicontroller
-* 
-*  CActiveTransactionStack is a stack for CTransactions
-*
-*  @lib AiXmlUiMain
-*/
-class CActiveTransactionStack : public CBase
-    {
-public:  // Constructors and destructor
-    
-    static CActiveTransactionStack* NewL();
-    
-    virtual ~CActiveTransactionStack();
-
-    // New functions
-    
-    /**
-    * Checks if stack is empty.
-    * @return ETrue if stack is empty
-    */
-    TBool IsEmpty() const;
-    
-    /**
-    * Pushes a transaction into the stack.
-    * @param aTransaction the transaction
-    */
-    void Push( MTransaction* aTransaction );
-    
-    /**
-    * Pops the topmost transaction from the stack.
-    * @return the topmost transaction from the stack
-    */
-    MTransaction* Pop();
-    
-    /**
-    * Returns the topmost transaction from the stack.
-    * @return the topmost transaction from the stack
-    */
-    MTransaction* Top() const;
-    
-    /**
-    * Lookups a transaction from the stack.
-    * @param aTxId the transaction id of the transaction
-    * @return the transaction with aTxId from the stack
-    */
-    MTransaction* Lookup( TInt aTxId ) const;
-    
-    /**
-    * Removes a transaction from the stack.
-    * @param aTxId the transaction id of the transaction
-    * @return the transaction with aTxId from the stack
-    */
-    MTransaction* Remove( TInt aTxId );
-    
-private:
-
-    CActiveTransactionStack();
-    
-    CTransaction* DoTop() const;
-    
-    CTransaction* DoLookup( TInt aTxId ) const;
-
-private:    // Data
-    
-    /**
-     * Doubly linked list of transactions
-     */ 
-    TDblQue< CTransaction > iTransactions;
-    };
-    
-} // namespace AiXmlUiController
-
-#endif      // C_ACTIVETRANSACTIONSTACK_H
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/aiapplicationeventhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Interface for handling application events.
-*
-*/
-
-
-#ifndef M_AIAPPLICATIONEVENTHANDLER_H
-#define M_AIAPPLICATIONEVENTHANDLER_H
-
-namespace AiXmlUiController
-{
-    
-/**
- *  Extension of the CAiContentPublisher interface, which allows Active Idle
- *  Framework to notify their plug-ins that they must to handle event.
- *  Plug-ins must provide implementation of interface only if they are
- *  supporting event model (e.g. provides possibility to manipulate with
- *  engine properties via UI).
- *
- *  @lib AiXmlUiMain
- */
-class MAiApplicationEventHandler
-    {
-    
-protected:
-
-    /**
-     * Protected destructor prevents deletion through this interface.
-     */
-    ~MAiApplicationEventHandler() { }
-
-public:  // New functions
-    /**
-     * Invoked by the framework when plug-in must handle an event.
-     *
-     * @param aEvent - unique identifier of event.
-     * @param aParam - parameters associated with event. Each UI Definition
-     *        declares events in the format: <event name>(<event params>),
-     *        where <event name> is mapped by the framework to unique
-     *        identifier suppied in aEvent, <event params> are provided to
-     *        plug-in as-is in the descriptor.
-     * @return ETrue if event was handled by this handler.
-     */
-    virtual TBool HandleApplicationEvent(TInt aEvent, const TDesC8& aParam) = 0;
-
-    };
-    
-} // namespace AiXmlUiController
-
-#endif  // M_AIAPPLICATIONEVENTHANDLER_H
-
-// End of File.
--- a/idlehomescreen/xmluicontroller/inc/aieventhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +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:  Used for handling system events (events with EventHandler-prefix).
-*
-*/
-
-
-#ifndef C_AIEVENTHANDLER_H
-#define C_AIEVENTHANDLER_H
-
-#include <e32base.h>
-
-class CXnDomNode;
-class CLiwServiceHandler;
-class MLiwInterface;
-class CLiwDefaultMap;
-
-namespace AiXmlUiController
-{
-class CXmlUiController;
-
-/**
- * 
- *  This class is used for handling and passing events.
- *
- *  Class handles some of the events itself and uses Action Handler Service for the rest.
- *
- *  @lib AiXmlUiMain
- */
-class CAIEventHandler : public CBase
-    {
-public:
-    // Constructor
-    static CAIEventHandler* NewL( CXmlUiController& aUiController );
-    
-    // Destructor
-    ~CAIEventHandler();
-
-    /**
-     * Handles the restricted ( can be triggered only from view) events and forwards the rest
-     * into appropriate functions.
-     * 
-     * @param aEventText Full event name (prefix/event)
-     * @param aEvent Includes rest of the parameters. 
-     */
-    void HandleEventL( const TDesC8& aEventText, CXnDomNode& aEvent );
-
-private:
-    
-    CAIEventHandler( CXmlUiController& aUiController );
-                          
-    void ConstructL();
-    
-    void LaunchAppL( CXnDomNode& aEventNode );
-    
-    void ActivateViewL( CXnDomNode& aEventNode );
-    
-    void ExecuteAppLauncherL( CLiwDefaultMap& map );
-    
-    MLiwInterface* ActionHandlerInterfaceL( );
-    
-private: // data
-    /**
-     * Reference to XML ui controller.
-     */
-    CXmlUiController& iUiController;
-    
-    /**
-     * Action Handler service handler.
-     * Own.
-     */
-    CLiwServiceHandler* iServiceHandler;
-    };
-}
-
-#endif // C_AIEVENTHANDLER_H
--- a/idlehomescreen/xmluicontroller/inc/aipolicyelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Policy element
-*
-*/
-
-
-#ifndef T_AIPOLICYELEMENT_H
-#define T_AIPOLICYELEMENT_H
-
-
-#include <e32std.h>
-
-class CXnNodeAppIf;
-
-namespace AiXmlUiController
-{
-    
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  Active Idle publishing policy element
- *
- *  @lib AiXmlUiMain
- */
-class TAiPolicyElement
-    {
-
-public:
-
-    TAiPolicyElement();
-
-    TAiPolicyElement( CXnNodeAppIf& aTarget, const TDesC8& aPolicy );
-
-    CXnNodeAppIf& Target() const;
-
-    TPtrC8 Name() const;
-    
-    TPtrC8 Value() const;
-    
-    TPtrC8 Policy() const;
-
-private: // data
-
-    /**
-     * Target element for policy. Not own.
-     */
-    CXnNodeAppIf* iTarget;
-    
-    /**
-     * Policy string
-     */
-    TPtrC8 iPolicy;
-
-    TInt iSeparator;
-    };
-    
-typedef RArray< TAiPolicyElement > RAiPolicyElementArray;
-    
-} // namespace AiXmlUiController
-
-#endif // T_AIPOLICYELEMENT_H
--- a/idlehomescreen/xmluicontroller/inc/aiuieventhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Interface for handling UI events.
-*
-*/
-
-
-#ifndef M_AIUIEVENTHANDLER_H
-#define M_AIUIEVENTHANDLER_H
-
-
-namespace AiXmlUiController
-{
-
-/**
- *  Extension of the CAiContentPublisher interface, which allows Active Idle
- *  Framework to notify their plug-ins that they must to handle event.
- *  Plug-ins must provide implementation of interface only if they are
- *  supporting event model (e.g. provides possibility to manipulate with
- *  engine properties via UI).
- *
- *  @lib AiXmlUiMain
- */
-class MAiUiEventHandler
-    {
-protected:
-
-    /**
-     * Protected destructor prevents deletion through this interface.
-     */
-    ~MAiUiEventHandler() { }
-
-public:  // New functions
-
-    /**
-     * Invoked by the framework when plug-in must handle an event.
-     *
-     * @param aEvent - event.
-     * @param aParam - parameters associated with event. Each UI Definition
-     *        declares events in the format: <event name>(<event params>),
-     *        where <event name> is mapped by the framework to unique
-     *        identifier suppied in aEvent, <event params> are provided to
-     *        plug-in as-is in the descriptor.
-     * @return ETrue if event was handled by this handler.
-     */
-    virtual TBool HandleUiEvent(TAny* aEvent, const TDesC8& aParam) = 0;
-
-    };
-    
-} // namespace AiXmlUiController
-
-#endif  // M_AIUIEVENTHANDLER_H
-
-// End of File.
--- a/idlehomescreen/xmluicontroller/inc/aixmluiconstants.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2005-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:  XML UI specific UI definitions and constants
-*
-*/
-
-
-#ifndef AIXMLUICONSTANTS_H
-#define AIXMLUICONSTANTS_H
-
-#include <e32std.h>
-#include <aicontentmodel.h>
-
-namespace AiUiDef
-    {
-    namespace xml
-        {
-        namespace id
-            {
-            _LIT( KContentIdSeparator, "/" );
-            _LIT( KSettingsIdSeparator, "/" );
-            }
-        
-        namespace property
-            {
-            _LIT8( KClass, "class" );
-            _LIT8( KType, "type" );
-            _LIT8( KName, "name" );
-            _LIT8( KValue, "value" );
-            _LIT8( KLoadOrdinal, "load_ordinal" );
-            _LIT8( KId, "id" );
-            _LIT8( KUid, "uid" );
-            _LIT8( KViewId, "viewid" );
-            _LIT8( KMessageId, "messageid" );
-            _LIT8( KMessage, "message" );
-            }
-            
-        namespace propertyClass
-            {
-            _LIT8( KContentSource, "ContentSource" );
-            _LIT( KSettings, "Settings" );
-            }
-        namespace general
-            {
-            _LIT ( KGeneral, "General" );
-            _LIT ( KDontOpenLogsOnSendKey, "DontOpenLogsOnSendKey" );
-            }
-        namespace policy
-            {
-            _LIT8( KContent, "policy/Content" );
-            _LIT8( KEmptyContent, "policy/emptyContent" );
-            _LIT8( KResource, "policy/Resource" );
-            _LIT8( KVisibilityPolicy, "policy/Visibility" );
-            _LIT8( KContentChanged, "policy/ContentChanged" );
-            _LIT8( KCondition, "if" );
-            }   // End of namespace policy
-                    
-        namespace name
-            {
-            _LIT8( KOrdinal, "ordinal" );
-            _LIT8( KPriority, "priority" );
-            _LIT8( KTarget, "target" );
-            
-            }   // End of namespace name   
-                    
-        namespace value
-            {
-            _LIT8( KShowTooltips, "ShowTooltips" );
-            }
-            
-        namespace event
-            {
-            _LIT8( KUiEventPrefix, "ui/" );
-            _LIT8( KEventHandlerPrefix, "EventHandler/" );
-            _LIT8( KFocusGained, "focusgained" );
-            _LIT8( KSetElementSizeToCPS, "setelementsizetocps" );
-            _LIT( KNewstickerTitleScrolled, "TitleScrolled" );
-            _LIT( KNewstickerTitleToScroll, "TitleToScroll" );
-            _LIT8( KEventShowHelp, "ShowHelp" );
-            _LIT8( KEventSetOnline, "SetOnline" );
-            _LIT8( KEventSetOffline, "SetOffline" );
-            _LIT8( KEventLaunchApp, "LaunchApp");
-            _LIT8( KEventActivateView, "ActivateView");
-            _LIT8( KEventActivatePhoneView, "ActivatePhoneView");
-            }
-           
-        namespace css
-            {
-            _LIT8( KSeparator, ":" );
-            _LIT8( KValueTerminator, ";" );
-            _LIT8( KPercentage, "%" );
-            _LIT8( KPixel, "px" );
-            _LIT8( KUnitValue, "u" );
-            }
-        namespace element
-            {
-            _LIT8( KPlugin, "plugin" );
-            _LIT( K16Plugin, "plugin" );
-            _LIT8( KImage, "image" );
-            _LIT8( KText, "text" );
-            _LIT8( KConfiguration, "configuration" );
-            _LIT8( KNewsTicker, "newsticker" );            
-            _LIT8( KAnimation, "animation" ); 
-            }
-        
-         }   // End of namespace xml
-    
-    }   // End of namespace AiUiDef
-
-#define KContentTypeText TPtrC8( reinterpret_cast< const TText8* >( KAiContentTypeText ) )
-#define KContentTypeBitmap TPtrC8( reinterpret_cast< const TText8* >( KAiContentTypeBitmap ) )
-_LIT8( KContentTypeImage, "image/" );
-_LIT8( KContentTypeImageSvg, "image/svg+xml" );
-_LIT( KTargetSliderVolumeValue, "slider::volume" );
-const TText KComma = ',';
-const TText KLeftParenthesis = '(';
-const TText KRightParenthesis = ')';
-const TText KNotOperator = '!';
-const TText KAndOperator = '+';
-const TText KWhiteSpace = ' ';
-
-
-#endif // AIXMLUICONSTANTS_H
--- a/idlehomescreen/xmluicontroller/inc/aixmluiutils.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Collection of common utility functions
-*
-*/
-
-
-#ifndef AIXMLUIUTILS_H
-#define AIXMLUIUTILS_H
-
-#include <e32std.h>
-
-class CXnNodeAppIf;
-class CGulIcon;
-class TAiPolicyElement;
-class RPropertyHashMap;
-
-namespace AiXmlUiController
-    {
-    class CCssPropertyMap;
-  
-  
-/**
- * Finds a property element identified by the specified class.
- *
- * @param aUiElement the UI element associated with the property.
- * @param aPropertyClass the class of the property.
- * @return pointer array to the property elements. Ownership of the array
- *         is transferred. Ownership of the elements is not transferred.
- */
-RPointerArray< CXnNodeAppIf > FindPropertyElementL( CXnNodeAppIf& aUiElement,
-                                                    const TDesC8& aPropertyClass );
-
-/**
- * Finds a property element identified by the specified class.
- *
- * @param aArray The Array where to append the nodes. 
- * @param aUiElement the UI element associated with the property.
- * @param aPropertyClass the class of the property.
- * @return pointer array to the property elements. Ownership of the array
- *         is transferred. Ownership of the elements is not transferred.
- */
-void FindPropertyElementL( RPointerArray< CXnNodeAppIf >& aArray, CXnNodeAppIf& aUiElement, const TDesC8& aPropertyClass );
-
-/**
- * Gets a property value from an UI element. The ownership of value is
- * transferred to caller.
- *
- * @param aUiElement the UI element to fecth the value from
- * @param aPropertyName the name of the property to fetch.
- * @return the value or NULL.
- */
-HBufC* PropertyValueL( const CXnNodeAppIf& aUiElement,
-                       const TDesC8& aPropertyName );
-
-/**
- * Gets a property value from an UI element.
- *
- * @param aUiElement the UI element to fecth the value from
- * @param aPropertyName the name of the property to fetch.
- * @return the value or NULL.
- */
-const TDesC8* PropertyValue( const CXnNodeAppIf& aUiElement,
-                             const TDesC8& aPropertyName );
-
-/**
- * Sets a property value into an UI element
- *
- * @param aUiElement the UI element to set the value into.
- * @param aPropertyName the name of the property to set.
- * @param aPropertyValue the new value.
- * @param aPropertyMap map of the original property values
- */
-void SetPropertyL( CXnNodeAppIf& aUiElement,
-                   const TDesC8& aPropertyName,
-                   const TDesC8& aPropertyValue,
-                   CCssPropertyMap& aPropertyMap );
-
-/**
- * Sets a property values into hash map
- *
- * @param aArray the element array.
- * @param aPropertyMap map of the original property values
- * @param aPropertyHashMap hash map of the new property value arrays
- */
-void SetPropertiesToHashMapL( RArray<TAiPolicyElement>& aArray,
-                              CCssPropertyMap& aPropertyMap,
-                              RPropertyHashMap& aPropertyHashMap );
-
-/**
- * Sets all property values into an UI element(s)
- *
- * @param aPropertyMap map of the property arrays
- */
-void SetPropertyArraysL( RPropertyHashMap& aPropertyHashMap );
-
-/**
- * Sets a property value directly into an UI element
- *
- * @param aUiElement the UI element to set the value into.
- * @param aPropertyName the name of the property to set.
- * @param aPropertyValue the new value.
- */
-void SetPropertyToNodeL( 
-    CXnNodeAppIf& aNode, 
-    const TDesC8& aPropertyName, 
-    const TDesC8& aNewValueString );
-
-/**
- * Leaves with specific error if given pointer is null.
- *
- * @param aPtr pointer to test.
- * @param aError error for leave.
- * @return aPtr if it is not NULL.
- */
-template< class PtrT > inline
-PtrT* LeaveIfNull( PtrT* aPtr, TInt aError );
-
-/**
- * Loads a resource icon from the skin or from a mif-file 
- * and puts it into cleanup stack.
- *
- * Leavecodes: 
- * - KErrNotSupported: Filetype is not supported
- * - KErrNotFound: Syntax is incorrect or icon not found 
- *
- * Syntaxes:
- * - Skin: SKIN(<majorid> <minorid>)
- * - Mif: file_name.mif#<index_in_mif>
- *
- * @param aResource resource node.
- * @return icon.
- */
-CGulIcon* LoadIconLC( CXnNodeAppIf& aResource );
-
-    }
-
-#include "aixmluiutils.inl"
-
-#endif // AIXMLUIUTILS_H
--- a/idlehomescreen/xmluicontroller/inc/aixmluiutils.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Inline utilities
-*
-*/
-
-
-// This is an utility which absolutely should be in euser lib / e32std.h!
-template< class PtrT > inline
-PtrT* AiXmlUiController::LeaveIfNull( PtrT* aPtr, TInt aError )
-    {
-    if ( !aPtr )
-        {
-        User::Leave( aError );
-        }
-        
-    return aPtr;
-    }
--- a/idlehomescreen/xmluicontroller/inc/aixuikoneventhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Used for handling XUIKON events
-*
-*/
-
-
-#ifndef C_EVENTHANDLER_H
-#define C_EVENTHANDLER_H
-
-#include <e32base.h>
-
-#include "xnvolumecontrolobserver.h"
-#include "xnvolumecontrol.h"
-
-class CXnNodeAppIf;
-class CXnProperty;
-class MAiFwEventHandler;
-class MAiStrParser;
-class TXnUiEngineAppIf;
-class CXnDomNode;
-
-namespace AiXmlUiController
-{
-    
-class CXmlUiController;
-class CContentRenderer;
-class MAiUiEventHandler;
-class MAiApplicationEventHandler;
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  This class is used for handling XUIKON events.
- *
- *  Events described in Content Model are handled in here. This class parses
- *  the events and decides what to do with them. Events are either consumed in
- *  UI or in case of a plug-in event forwarded to XML AI Framework for further
- *  processing.
- *
- *  @lib AiXmlUiMain
- */
-class CAIXuikonEventHandler : public CBase,
-                              public MXnVolumeControlObserver
-    {
-public:
-
-    static CAIXuikonEventHandler* NewL(CXmlUiController& aXmlUiController,
-                                       CContentRenderer& aRenderer);
-    ~CAIXuikonEventHandler();
-
-    /**
-    * Handle interaction notification from XUIKON UI engine.
-    *
-    * @see CXnAppUiAdapter::HandleXuikonEventL
-    */
-    void HandleXuikonEventL( CXnNodeAppIf& aOrigin,
-                             CXnNodeAppIf& aTrigger,
-                             CXnDomNode& aTriggerDefinition,
-                             CXnDomNode& aEvent );
-
-    /**
-    * Set handler for plug-in events
-    * @param aPluginEventHandler Pointer to event handler
-    */
-    void SetFwEventHandler( MAiFwEventHandler* aPluginEventHandler );
-
-    /**
-    * Set handler for UI events
-    * @param aUiEventHandler Pointer to event handler
-    */
-    void SetUiEventHandler( MAiUiEventHandler* aUiEventHandler );
-
-    /**
-    * Set handler for application events
-    * @param aApplicationEventHandler Pointer to event handler
-    */
-    void SetApplicationEventHandler( MAiApplicationEventHandler* 
-                                        aApplicationEventHandler );
-
-// from MXnVolumeControlObserver
-    
-    /**
-    * Called when volume value is changed.
-    */
-    void VolumeChanged( TInt aValue );
-
-private:
-    CAIXuikonEventHandler(CXmlUiController& aUiController,
-                          CContentRenderer& aRenderer);
-                          
-    void ConstructL();
-    
-    TBool HandleSystemEventL( const TDesC8& aEventText, CXnDomNode& aEvent );
-    
-    TBool HandleUiEventL( const TDesC8& aEventText, CXnNodeAppIf& aOrigin );
-    
-    TBool HandleApplicationEventL( const TDesC8& aEventText );
-    
-    void DispatchEventL( CXnDomNode& aEvent,
-                         CXnNodeAppIf& aOrigin,
-                         CXnDomNode& aTriggerDefinition );
-                         
-    void HandlePluginEventL( CXnDomNode& aEvent );
-        
-    void ParseParameterStringL(const TDesC8& aSourcePtr, TPtrC8& aTargetPtr);    
-    
-private: // data
-
-    class CNullEventHandler;
-
-    /**
-     * String parser utility. Own.
-     */
-    MAiStrParser* iStrParser;
-
-    /**
-     * Reference to XML ui controller.
-     */
-    CXmlUiController& iUiController;
-    
-    /**
-     * Reference to content renderer.
-     */
-    CContentRenderer& iContentRenderer;
-    
-    /**
-     * Null event handler.
-     */
-    CNullEventHandler* iNullEventHandler;
-
-    /**
-     * Plug-in event handler.
-     * Doesn't own.
-     */
-     MAiFwEventHandler* iFwEventHandler;
-
-    /**
-     * UI event handler.
-     * Doesn't own.
-     */
-     MAiUiEventHandler* iUiEventHandler;
-
-    /**
-     * Application event handler.
-     * Doesn't own.
-     */
-     MAiApplicationEventHandler* iApplicationEventHandler;
-     
-    /**
-     * Volume control event.
-     * Owned.
-     */
-    HBufC* iVolumeEvent;
-
-    /**
-     * Volume control interface.
-     * Not owned.
-     */
-    XnVolumeControlInterface::MXnVolumeControlInterface* iVolumeControl;
-    };
-
-} // namespace AiXmlUiController
-
-#endif // C_EVENTHANDLER_H
--- a/idlehomescreen/xmluicontroller/inc/aixuikonmenueventhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Used for handling XUIKON menu events
-*
-*/
-
-
-#ifndef C_MENUEVENTHANDLER_H
-#define C_MENUEVENTHANDLER_H
-
-#include <e32base.h>
-#include "xnmenu.h"
-#include "xnbitmap.h"
-
-class CXnNodeAppIf;
-class TXnUiEngineAppIf;
-class MAiStrParser;
-class MAiFwEventHandler;
-class MAiPSPropertyObserver;
-class CXnAppUiAdapter;
-class CXnDomNode;
-class XnMenuInterface::MXnMenuObserver;
-
-enum TAICBA
-    {
-    EAIMenuOff = 1,
-    EAIMenuOn
-    };
-
-
-namespace AiXmlUiController
-{
-    
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  This class is used for handling XUIKON events.
- *
- *  Menu events are handled in here. This class parses
- *  the events and decides what to do with them.
- *
- *  @lib AiXmlUiMain
- */
-class CAIXuikonMenuEventHandler : public CBase, public XnMenuInterface::MXnMenuObserver
-    {
-public:
-
-    static CAIXuikonMenuEventHandler* NewL(TXnUiEngineAppIf& aUiEngine,
-                                           MAiFwEventHandler* aFwEventHandler,
-                                           CXnAppUiAdapter* aAppUi);
-    
-    ~CAIXuikonMenuEventHandler();
-
-    TBool HandleEventL( const TDesC8& aEventString8, CXnNodeAppIf* aOrigin = NULL, CXnDomNode* aEvent = NULL );
-        	
-private:
-    CAIXuikonMenuEventHandler(TXnUiEngineAppIf& aUiEngine,
-                              MAiFwEventHandler* aFwEventHandler,
-                              CXnAppUiAdapter* aAppUi);
-                          
-    void ConstructL();
-    
-    static TInt HandleKeylockEvent(TAny* aSelf);
-    
-    void SetCBALabelsL(TAICBA aCBA, CXnDomNode* aEvent);
-
-    void ShowMenuL(TBool aShow, const TDesC8& aMenuId, CXnDomNode* aEvent);
-
-    void ShowMenuItemL(const TDesC8& aMenuItemId, TBool aShow, CXnDomNode* aEvent );
-    
-    TBool IsMenuItemVisibleL( const TDesC8& aMenuItemId, CXnDomNode* aEvent );
-
-    void ParseParameterStringL(const TDesC8& aSourcePtr, TPtrC8& aTargetPtr);
-
-    void RecurseChildrenL(TBool aShow, CXnNodeAppIf* aNode);
-
-    void DoMacrosetL(const TDesC8& aMacrosetNodeId, CXnDomNode* aEvent);
-
-    void GetTextFromElementL(HBufC8*& aMemberPtr, const TDesC8& aItemId, CXnDomNode* aEvent);
-    
-    TBool HandleMacroOperationL(const TDesC8& aSourcePtr, CXnNodeAppIf& aTargetNode, CXnDomNode& aEvent );
-
-    TBool AttemptRestoreSoftkeyIconL(
-                            XnMenuInterface::MXnMenuInterface* aControl,
-                            XnImageInterface::MXnImageInterface* aIconControl,
-                            CXnNodeAppIf* aSourceNode,
-                            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos );
-
-    void SetSoftkeyLabelL(
-                            XnMenuInterface::MXnMenuInterface* aControl,
-                            const TDesC8* aLabel,
-                            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos );
-                            
-    void SetObserverL( const TDesC8& aParam, CXnDomNode* aEvent );                            
-    
-    TBool InitEditModeMenuItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused, const TDesC8& aSource );
-    
-    TBool InitDefaultModeMenuItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused, const TDesC8& aSource );
-    
-    CXnProperty* GetWidgetPropertyL(CXnNodeAppIf& aPlugin, const TDesC8& aProperty);
-
-private: // from XnMenuInterface::MXnMenuObserver
-    TBool DynInitMenuItemL( CXnNodeAppIf& aMenuItem );
-    
-private:    
-    TBool DynInitItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused );
-
-private: // data
-
-    /**
-     * Current CBA mode, menu/normal(shortcut).
-     */
-    TAICBA iCurrentCBA;
-
-    /**
-     * Pointer to UI engine IF. Not own.
-     */
-    TXnUiEngineAppIf* iUiEngine;
-
-    /**
-     * String parser utility. Own.
-     */
-    MAiStrParser* iStrParser;
-    
-    /**
-     * Menu item Open event string.
-     * Own.
-     */
-    HBufC* iActivationEvent;
-
-    /**
-     * Menu item settings event string.
-     * Own.
-     */
-    HBufC* iSettingsEvent;
-    
-    /**
-     * Close action id.
-     * Own.
-     */
-    TPtrC8 iCloseActionId;
-    
-    /**
-     * Menu mode softkey labels.
-     * Own.
-     */
-    HBufC8* iMenuModeLskLabel;
-    HBufC8* iMenuModeRskLabel;
-
-    /**
-     * Normal mode softkey labels.
-     * Own.
-     */
-    HBufC8* iNormalModeLskLabel;
-    HBufC8* iNormalModeRskLabel;
-    
-    /**
-     * Normal mode softkey label ids.
-     * Own.
-     */
-    TPtrC8 iNormalModeLskLabelId;
-    TPtrC8 iNormalModeRskLabelId;
-
-    /**
-     * Normal mode softkey icon ids.
-     * Own.
-     */
-    TPtrC8 iNormalModeLskIconId;
-    TPtrC8 iNormalModeRskIconId;
-
-    /**
-     * App softkey ids.
-     * Own.
-     */
-    TPtrC8 iLskId;
-    TPtrC8 iRskId;
-
-    TPtrC8 iLskMenuModeNode;
-    TPtrC8 iRskMenuModeNode;
-    /**
-     * Plug-in event handler.
-     * Doesn't own.
-     */
-    MAiFwEventHandler* iFwEventHandler;
-    
-    /**
-    * Observers keylock status
-    * Owned
-    */
-    MAiPSPropertyObserver* 	iKeylockObserver;
-    
-    /**
-    * Pointer to Appui for closing the menubar when necessary
-    * Not owned
-    */
-    CXnAppUiAdapter* iAppUi;
-    /**
-     * For comparing has the bitmap changed. RSK
-     * Not owned.
-     */
-    CFbsBitmap* iMenumodeBitmapRsk;
-    /**
-     * For comparing has the bitmap changed. LSK
-     * Not owned.
-     */
-    CFbsBitmap* iMenumodeBitmapLsk;
-    
-    };
-
-} // namespace AiXmlUiController
-
-#endif // C_MENUEVENTHANDLER_H
--- a/idlehomescreen/xmluicontroller/inc/application.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Application
-*
-*/
-
-
-#ifndef C_APPLICATION_H
-#define C_APPLICATION_H
-
-#include <aisystemuids.hrh>
-#include "xnapplication.h"
-#include "ai3.hrh"
-
-#ifdef FF_HOMESCREEN_COMMON_IDLEFW
-const TUid KUidXmlUiApp = { AI_UID3_AIFW_EXE };
-#else
-const TUid KUidXmlUiApp = { AI3_UID_EXE_TEST_APPLICATION };
-#endif // FF_HOMESCREEN_COMMON_IDLEFW
-
-
-namespace AiXmlUiController
-{
-    
-class CXmlUiController;
-
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- * Application class of XML UI Controller application 
- *
- *  @lib AiXmlUiMain
- */
-class CApplication : public CXnApplication
-    {
-    
-public:   // Constructors and destructor
-
-    static CApplication* New(CXmlUiController& aUiCtl);
-
-    virtual ~CApplication();
-    
-public:  // Functions from base classes
-
-    CApaDocument* CreateDocumentL();
-
-    virtual TUid AppDllUid() const;
-
-    virtual TFileName ResourceFileName() const;
-
-private:
-
-    CApplication(TUid aAppUid, CXmlUiController& aUiCtl);
-
-private:     // Data
-
-    /**
-     * UI Controller. Not own
-     */
-    CXmlUiController&   iUiCtl;
-
-    };
-
-} // namespace AiXmlUiController
-
-#endif  // C_APPLICATION_H
-
-// End of File.
--- a/idlehomescreen/xmluicontroller/inc/appui.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2005-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:  App UI
-*
-*/
-
-
-#ifndef C_APPUI_H
-#define C_APPUI_H
-
-#include <coeview.h>
-#include "xnappuiadapter.h"
-
-
-class CAiUiIdleIntegration;
-class MAiUiFrameworkObserver;
-
-namespace AiXmlUiController
-{        
-class CContentRenderer;
-class CXmlUiController;
-class CAIXuikonEventHandler;
-class COnlineOfflineHelper;
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  AppUI class of XML UI Controller application
- *
- *  @lib AiXmlUiMain
- */
-NONSHARABLE_CLASS( CAppUi ) : public CXnAppUiAdapter, 
-    public MCoeViewActivationObserver
-    {    
-public:   // Constructors and destructor
-
-    static CAppUi* NewL( CXmlUiController& aUiCtl );
-
-    ~CAppUi();
-    
-public:  
-    // new functions
-    CCoeEnv* CoeEnv() { return iCoeEnv; }
-            
-private:  
-    // from CXnAppUiAdapter
-    void PrepareToExit();
-    
-    void HandleForegroundEventL( TBool aForeground );
-    
-    void HandleCommandL( TInt aCommand );
-    
-    void HandleResourceChangeL( TInt aType );
-
-    void HandleXuikonEventL( CXnNodeAppIf& aOrigin, CXnNodeAppIf& aTrigger,  
-         CXnDomNode& aTriggerDefinition, CXnDomNode& aEvent ); 
-                                                          
-    void HandleWsEventL( const TWsEvent& aEvent, 
-            CCoeControl* aDestination );
-
-    void LoadDataPluginsL( RPointerArray< CXnNodeAppIf >& aList );
-          
-    void DestroyDataPluginsL( RPointerArray< CXnNodeAppIf >& aList );
-           
-    void SetOnlineStateL( RPointerArray< CXnNodeAppIf >& aList );
-    
-    TBool DynInitMenuItemL( const TDesC& aItemType, 
-        RPointerArray< CXnNodeAppIf >* aList = NULL );
-
-    void HandlePageSwitch();
-    
-    void HandleEnterEditModeL( TBool aEnter );
-	
-private:
-    // new functions
-    void LoadNativeDataPluginsL();
-    void DestroyNativeDataPluginsL();
-    
-private:
-    // from MCoeViewActivationObserver
-    
-    /**
-     * @see MCoeViewActivationObserver
-     */
-    void HandleViewActivation( const TVwsViewId& aNewlyActivatedViewId, 
-        const TVwsViewId& aViewIdToBeDeactivated );
-           
-public: 
-    // new functions
-    
-    /**
-     * Sets plugins online state
-     * 
-     * @since S60 5.0
-     * @param aOnline ETrue to enter online, EFalse to offline
-     * 
-     */
-    void SetOnlineStateL( TBool aOnline );
-    
-    /**
-     * Gets Ui controller
-     *
-     * @since S60 5.0
-     * @return Ui Controller
-     */
-    CXmlUiController& UiController() const;
-               
-private: 
-    // Constructors
-
-    CAppUi( CXmlUiController& aUiCtl, TUid aAppUid );
-    
-    void ConstructL();
-          
-private:     
-    // data
-
-    /**
-     * UI Controller implementation. Not own.
-     */
-    CXmlUiController& iUiCtl;
-
-    /**
-     * Event handler. Own.
-     */
-    CAIXuikonEventHandler* iEventHandler;
-    
-    /**
-     * Content renderer. Own.
-     */
-    CContentRenderer* iContentRenderer;
-    
-    /**
-     * Ui framework event observer. Not own.
-     */
-    MAiUiFrameworkObserver* iUiFwObserver;
-    
-    /**
-     * Idle Integration helper object. Own.
-     */
-    CAiUiIdleIntegration* iIdleIntegration;
-
-    /**
-     * Online/Offline helper object. Own.
-     */
-    COnlineOfflineHelper* iHelper;    
-    
-    /**
-     * Flag to indicate whether native plugins are loaded.
-     */
-    TBool iNativePluginsLoaded;
-    
-    /**
-     * Flag to indicate whether edit mode is active.
-     */
-    TBool iIsEditModeActive;
-    };
-    
-}  // namespace AiXmlUiController
-    
-#endif  // C_APPUI_H
-
-// End of File.
--- a/idlehomescreen/xmluicontroller/inc/contentpublisher.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +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: 
-*
-*/
-/*
-* ==============================================================================
-*  Name        : contentpublisher.h
-*  Part of     : 
-*  Interface   : Implemetation of CContentPublisher
-*  Description :
-*  Version     :
-
-*/
-
-#ifndef CONTENTPUBLISHER_H
-#define CONTENTPUBLISHER_H
-
-#include <e32base.h>
-#include <liwcommon.h>
-
-// FORWARD DECLARATIONS
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-class MLiwInterface;
-class CAknGlobalConfirmationQuery;
-
-namespace AiXmlUiController
-{
-class CXmlUiController;
-class CGlobalQueryHandler;
-
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  Interface to publish data to Content Publishing Service
- * 
- *  @since S60 5.1
- */
-class CContentPublisher : public CBase, public MLiwNotifyCallback
-    {
-    public:
-        /**
-        * Two-phased constructor.
-        */
-        static CContentPublisher* NewL(CXmlUiController& aUiController);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CContentPublisher();
-        
-    private:
-        CContentPublisher(CXmlUiController& aUiController);
-        void ConstructL();
-
-    public:  //from MLiwNotifyCallbackc
-        
-        /**
-        * Handles notifications caused by an asynchronous Execute*CmdL call
-        * or an event.
-        *
-        * @param aCmdId The service command associated to the event.
-        * @param aEventId occurred event, see LiwCommon.hrh.
-        * @param aEventParamList Event parameters, if any, as defined per
-        *        each event.
-        * @param aInParamList Input parameters, if any, given in the
-        *        related HandleCommmandL.
-        * @return Error code for the call back.
-        */
-        virtual TInt HandleNotifyL(
-            TInt aCmdId,
-            TInt /*aEventId*/,
-            CLiwGenericParamList& aEventParamList,
-            const CLiwGenericParamList& /*aInParamList*/);
-        
-    public: // New functions
-    	
-		/**
-		* Sets given values to Content Publisher Service.
-		* @since Series 60 5.1
-		* @param aElementName The name of the element, which values are set.
-		* @param aWidth Width of the element
-		* @param aHeight Height of the element
-		*/    
-		void PublishSizeL( const TDesC& aElementName,
-				TInt aWidth, TInt aHeight );
-    
-    private:
-    	
-        void InitCpsInterfaceL();
-        void AddDataL( const TDesC& aPublisherId,
-                const TDesC& aContentType, const TDesC& aContentId,
-                const TInt aData1, const TDesC8& aDataKey1,
-                const TInt aData2, const TDesC8& aDataKey2 );
-        
-        void GetDataL( const TDesC& aPublisherId, const TDesC& aContentType, 
-        		const TDesC& aContentId, CLiwDefaultMap* aOutDataMap);
-        
-        void HandlePublisherInfoL( const TDesC& aPubInfo);
-        void RegisterListenerL();
-        void UnRegisterListenerL();
-        
-        /**
-         * Displayes global query for 'go online' or 'go offline' confirmations
-         * @param aResourceId resource id for the text string
-         * @param aSetOnline if ETrue then set widgets online if confirmation accepted,
-         *     if EFalse then set widgets offline if confirmation accepted 
-         */
-        void ShowGlobalQueryL( TInt aResourceId, TBool aSetOnline );
-        
-    private:
-		MLiwInterface* iCpsInterface;
-		CLiwServiceHandler* iServiceHandler;
-		
-	    /**
-	     * Reference to XML ui controller.
-	     */
-	    CXmlUiController& iUiController;
-	    
-	    CGlobalQueryHandler* iGlobalQueryHandler;
-	    CAknGlobalConfirmationQuery* iGlobalConfirmationQuery;
-	    
-    };
-
-}// namespace AiXmlUiController
-#endif //CONTENTPUBLISHER_H
-
-
-
-
-
--- a/idlehomescreen/xmluicontroller/inc/contentrenderer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,318 +0,0 @@
-/*
-* Copyright (c) 2005-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:  MAiContentObserver implementation for XML UI controller
-*
-*/
-
-
-#ifndef C_CONTENTRENDERER_H
-#define C_CONTENTRENDERER_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include "xnnewsticker.h"
-#include "xnproperty.h"
-#include "aicontentobserver.h"
-
-class TXnUiEngineAppIf;
-class CXnNodeAppIf;
-class CGulIcon;
-class MAiFwEventHandler;
-struct TAiPublisherInfo;
-
-namespace AiUtility
-    {
-    class CContentPriorityMap;
-    }
-
-namespace AiXmlUiController
-    {
-    class CActiveTransactionStack;
-    class CTransactionFactoryImpl;
-    class MTransactionElement;
-    class MTransaction;
-    class CAppUi;
-    class CXmlNodeIdGenerator;
-    class CNewstickerCallbackHandler;
-    class CCssPropertyMap;
-    class CPolicyEvaluator;
-    class TAiPolicyElement;
-    }
-
-
-namespace AiXmlUiController
-{
-
-/**
-*  @ingroup group_xmluicontroller
-* 
-*  CContentRenderer renders the content of the content publisher plug-ins
-*
-*  @lib AiXmlUiMain
-*/
-class CContentRenderer : public CBase,
-                         public MAiContentObserver,
-                         public XnNewstickerInterface::MXnNewstickerCallbackInterface
-    {
-public:  // Constructors and destructor
-    
-    static CContentRenderer* NewL( CAppUi& aAppUi );
-    
-    virtual ~CContentRenderer();
-
-    /**
-     * Sets event handler.
-     * 
-     * @param aFwEventHandler the event handler to use.
-     */
-    void SetEventHandler( MAiFwEventHandler& aFwEventHandler );
-
-    /**
-     * Resets content renderer for new theme.
-     */
-    void Reset();
-
-    /**
-     * Cleans all content items published by aPlugin.
-     */
-    void CleanPluginFromUi( MAiPropertyExtension& aPlugin );
-
-// Functions from MAiContentObserver
-
-    TInt StartTransaction( TInt aTxId );
-
-    TInt Commit( TInt aTxId );
-
-    TInt CancelTransaction( TInt aTxId );
-
-    TBool CanPublish( MAiPropertyExtension& aPlugin,
-                      TInt aContent,
-                      TInt aIndex );
-
-    TInt Publish( MAiPropertyExtension& aPlugin,
-                  TInt aContent,
-                  TInt aResource,
-                  TInt aIndex );
-
-    TInt Publish( MAiPropertyExtension& aPlugin,
-                  TInt aContent,
-                  const TDesC16& aText,
-                  TInt aIndex );
-
-    TInt Publish( MAiPropertyExtension& aPlugin,
-                  TInt aContent,
-                  const TDesC8& aBuf,
-                  TInt aIndex );
-
-    TInt Publish( MAiPropertyExtension& aPlugin,
-                  TInt aContent,
-                  RFile& aFile,
-                  TInt aIndex );
-
-    TInt Clean( MAiPropertyExtension& aPlugin, TInt aContent, TInt aIndex );
-
-    TAny* Extension( TUid aUid );
-    
-    TBool RequiresSubscription( const TAiPublisherInfo& aPublisherInfo ) const;
-    
-    TInt SetProperty(MAiPropertyExtension& aPlugin,
-            const TDesC8& aElementId,
-            const TDesC8& aPropertyName,
-            const TDesC8& aPropertyValue );
-       
-    TInt SetProperty(MAiPropertyExtension& aPlugin,
-            const TDesC8& aElementId,
-            const TDesC8& aPropertyName,
-            const TDesC8& aPropertyValue,  
-            MAiContentObserver::TValueType aValueType);  
-    
-    CXnDomPropertyValue::TPrimitiveValueType 
-        DomPropertyValueType(MAiContentObserver::TValueType aValueType);
-
-private:
-
-    CContentRenderer( CAppUi& aAppUi );
-    
-    void ConstructL();
-    
-    void DoStartTransactionL( TInt aTxId );
-
-    TInt CanPublishL( MAiPropertyExtension& aPlugin,
-                      TInt aContent,
-                      TInt aIndex );
-
-    TInt DoPublishL( MAiPropertyExtension& aPlugin,
-                     TInt aContent,
-                     TInt aResource,
-                     TInt aIndex);
-    
-    TInt DoPublishL( MAiPropertyExtension& aPlugin,
-                     TInt aContent,
-                     const TDesC16& aText,
-                     TInt aIndex );
-    
-    TInt DoPublishL( MAiPropertyExtension& aPlugin,
-                     TInt aContent,
-                     const TDesC8& aBuf,
-                     TInt aIndex );
-    
-    TInt DoPublishL( MAiPropertyExtension& aPlugin,
-                     TInt aContent,
-                     RFile& aFile,
-                     TInt aIndex );
-    
-    TInt DoCleanL( MAiPropertyExtension& aPlugin,
-                   TInt aContent,
-                   TInt aIndex );
-    
-    void SetImmediateMode( TBool aImmediateMode );
-    
-    TBool IsImmediateMode() const;
-    
-    void ProcessTransactionElementL( MTransactionElement* aElement );
-
-    CXnNodeAppIf* FindNodeByClassL( const TDesC& aCid,
-                                    TInt aIndex,
-                                    const TDesC8& aNs );
-
-    CXnNodeAppIf* FindNodeByIdL( const TDesC& aCid, const TDesC& aNs = KNullDesC );
-
-    CXnNodeAppIf* FindNodeByIdL( const TDesC8& aCid, const TDesC8& aNs = KNullDesC8 );
-    
-    TInt PublishIconL( MAiPropertyExtension& aPlugin,
-                       const TDesC& aCid,
-                       CGulIcon* aIcon,
-                       TInt aIndex,
-                       CXnNodeAppIf* aResource = NULL );
-                       
-    TInt PublishDataL( MAiPropertyExtension& aPlugin,
-                       const TDesC& aCid,
-                       const TDesC8& aData,
-                       const TDesC8& aContentType,
-                       TInt aIndex,
-                       CXnNodeAppIf* aResource = NULL );
-    
-    TBool AllowPublishByPriority( CXnNodeAppIf& aUiElement,
-                                  TInt aNewPriority ) const;
-    
-    void StartContentRefresh();
-    
-    TInt RefreshContentL( HBufC* aUiElementId,
-                          TInt aOldPriority );
-    
-    static TInt RefreshContentCallback( TAny* aContentRenderer );
-    
-    void SendRefreshContentEventL();
-    
-    TBool IsParentNewsticker( CXnNodeAppIf& aTarget );
-    
-    void RegisterNewstickerCallbackInterfaceL( CXnNodeAppIf& aTarget );
-    
-    TInt SetPropertyL(MAiPropertyExtension& aPlugin,
-               const TDesC8& aElementId,
-               const TDesC8& aPropertyName,
-               const TDesC8& aPropertyValue,  
-               MAiContentObserver::TValueType aValueType);
-
-// From XnNewstickerInterface::MXnNewstickerCallbackInterface    
-
-    void TitleScrolled(TInt aTitleIndex);
-    
-    void TitleToScroll(TInt aTitleIndex);
-    
-    void CleanPluginFromUiL( MAiPropertyExtension& aPlugin );
-    
-    void ProcessContentChangesL( MTransaction& aTr );
-    void ProcessContentChangeL( TAiPolicyElement& aElement );     
-
-private:    // Data
-    
-    /**
-     * Transaction stack. Own.
-     */
-    CActiveTransactionStack* iStack;
-    
-    /**
-     * Factory for transacations. Own.
-     */
-    CTransactionFactoryImpl* iFactory;
-    
-    /**
-     * Immediate mode flag. Own.
-     */
-    TBool iImmediateMode;
-    
-    /**
-     * App UI
-     */
-    CAppUi& iAppUi;
-    
-    /**
-     * Node lookup id generator. Own.
-     */
-    CXmlNodeIdGenerator* iNodeIdGenerator;
-    
-    /**
-     * Content priority map. Own.
-     */
-    AiUtility::CContentPriorityMap* iContentPriorityMap;
-    
-    /**
-     * Map of refreshable ui elements.
-     */
-    RPtrHashMap< TDesC, TInt > iRefreshableUiElements;
-    
-    /**
-     * Timer for asynchronous content refreshing
-     */
-    CPeriodic* iTimer;
-    
-    /**
-     * Fw event handler needed for content refresh event notifications.
-     * Not own.
-     */
-    MAiFwEventHandler* iFwEventHandler;
-    
-    /**
-     * Newsticker callback handler
-     */
-    CNewstickerCallbackHandler* iCallbackHandler;
-    
-    /**
-     * Pointer descriptor to newsticker plugin name
-     */
-    TPtrC iNTPublisher;
-    
-    /**
-     * Newsticker element property class.
-     */
-    HBufC* iNTClass;
-    
-    /**
-     * CSS property map. Own
-     */
-    CCssPropertyMap* iPropertyMap;
-    
-    /**
-     * Publishing policy evaluator. Own.
-     */
-    CPolicyEvaluator* iPolicyEvaluator;
-    
-    };
-
-} // namespace AiXmlUiController
-
-#endif      // C_CONTENTRENDERER_H  
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/csspropertymap.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Utility for caching CSS property values
-*
-*/
-
-
-#ifndef C_CSSPROPERTYMAP_H
-#define C_CSSPROPERTYMAP_H
-
-
-#include <e32base.h>
-#include <e32hashtab.h>
-
-class CXnProperty;
-class CXnDomPropertyValue;
-
-namespace AiXmlUiController
-{
-
-typedef RPtrHashMap< TDesC8, CXnDomPropertyValue > RDomPropertyValueMap;
-typedef RPtrHashMap< TDesC8, RDomPropertyValueMap > RElementMap;
-
-
-/*
- *  @ingroup group_xmluicontroller
- * 
- *  Utility for storing CSS property values. 
- *
- *  @lib AiXmlUiMain
- */
-class CCssPropertyMap : public CBase
-    {
-
-public:
-
-    static CCssPropertyMap* NewL();
-
-    virtual ~CCssPropertyMap();
-
-    /**
-     * Stores property value.
-     *
-     * @param aElementId Ui element id to associate property value with
-     * @param aProperty property to store
-     */
-
-    void StorePropertyValueL( const TDesC8& aElementId, CXnProperty& aProperty );
-    
-    /**
-     * Finds property value.
-     *
-     * @param aElementId Ui element Id to associate property value
-     * @param aName property name for lookup
-     * @return property value or NULL.
-     */
-    CXnDomPropertyValue* FindPropertyValue( const TDesC8& aElementId, const TDesC8& aName );
-
-    void Reset();
-
-private:
-
-    CCssPropertyMap();
-
-private: // data
-
-    /**
-     * Hashmap of element specific property value maps. Own.
-     */
-    RElementMap iElementMap;
-    
-    };
-
-} // namespace AiXmlUiController
-
-#endif // C_CSSPROPERTYMAP_H
--- a/idlehomescreen/xmluicontroller/inc/databuffertransactionelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Data buffer transaction
-*
-*/
-
-
-#ifndef C_DATABUFFERTRANSACTIONELEMENT_H
-#define C_DATABUFFERTRANSACTIONELEMENT_H
-
-#include "transactionelement.h"
-
-namespace AiUtility
-    {
-    class CContentPriorityMap;
-    }
-
-class CXnNodeAppIf;
-
-namespace AiXmlUiController
-{
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- * CDataBufferTransactionElement corresponds one text content publishing operation.
- *
- *  @lib AiXmlUiMain
- */
-class CDataBufferTransactionElement : public CTransactionElement
-    {
-public:  // Constructors and destructor
-    
-    static CDataBufferTransactionElement*
-        NewL( AiUtility::CContentPriorityMap& aContentPriorityMap );
-    
-    virtual ~CDataBufferTransactionElement();
-
-// New functions
-    
-    /**
-    * Initializes this transaction element to publish content aData
-    * to node aTarget.
-    *
-    * @param aTarget - the target of publishing.
-    * @param aData - the content. 
-    */
-    void InitializeL(CXnNodeAppIf& aTarget, const TDesC8& aData);
-    
-    /**
-     * Checks if given content type is supported by target ui element.
-     *
-     * @param aTarget target ui element.
-     * @param aContentType content type
-     * @return ETrue if content type is supported
-     */
-    static TBool IsSupported( CXnNodeAppIf& aTarget,
-                              const TDesC8& aContentType );
-    
-// Functions from CTransactionElement
-
-    void Reset();
-
-    void UpdateDataL();
-    
-private:
-
-    CDataBufferTransactionElement(
-        AiUtility::CContentPriorityMap& aContentPriorityMap );
-
-    void CheckTypeL( CXnNodeAppIf& aTarget );
-    
-    void SetDataL();
-    
-private:    // Data
-
-    /**
-     * New content.
-     */
-    TPtrC8 iNewData;
-        
-    };
-
-}   // namespace AiXmlUiController
-
-#endif      // C_TEXTTRANSACTIONELEMENT_H  
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/document.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Document
-*
-*/
-
-
-#ifndef C_DOCUMENT_H
-#define C_DOCUMENT_H
-
-#include "xndocument.h"
-
-namespace AiXmlUiController
-{
-    
-class CXmlUiController;
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- * Document class of XML UI Controller application. 
- *
- * @lib AiXmlUiMain
- */
-class CDocument : public CXnDocument
-    {
-    
-public:   // Constructors and destructor
-
-    static CDocument* NewL(CEikApplication &aApp, CXmlUiController& aUiCtl);
-
-    virtual ~CDocument();
-
-public:  // Functions from CXnDocument
-
-    CEikAppUi* CreateAppUiL();
-
-private:
-
-    CDocument(CEikApplication &aApp, CXmlUiController& aUiCtl);
-
-private:     // Data
-
-    CXmlUiController& iUiCtl;
-
-    };
-
-} // namespace AiXmlUiController
-    
-#endif  // C_DOCUMENT_H
-
-// End of File.
--- a/idlehomescreen/xmluicontroller/inc/dynamicthememodifier.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:  This file contains the header file of the CDynamicThemeModifier class.
-*
-*/
-
-
-#ifndef __DYNAMICTHEMEMODIFIER_H__
-#define __DYNAMICTHEMEMODIFIER_H__
-
-// INCLUDES
-#include <e32base.h>
-#include <centralrepository.h>
-#include <cenrepnotifyhandler.h>
-//#include <xnclient.h>
-//#include <xncontentaccessclient.h>
-//#include <xnrequestclient.h>
-//#include <xnresult.h>
-
-
-//class MAiPSPropertyObserver;
-
-namespace AiXmlUiController
-{
-
-// CLASS DECLARATION
-
-/**
-*  This class updates the theme dynamically as it is being somehow modified.
-*
-*  It connects to XUIKON Content Access API and modifies e.g. NT visibility
-*  in theme level as user changes appropriate setting in GS. Appropriate CenRep
-*  keys are being observed and theme modifications are launched based on changes
-*  in those keys.
-*
-*  @since S60 3.2
-*/
-class CDynamicThemeModifier : public CBase,
-                                	public MCenRepNotifyHandlerCallback,
-									public MXnThemeManagementServiceObserver,
-                                	public MXnContentAccessServiceObserver,
-                                	public MXnClientRequestServiceObserver
-
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CDynamicThemeModifier* NewL();
-
-        /**
-        * Destructor.
-        */
-        ~CDynamicThemeModifier();
-
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CDynamicThemeModifier();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-
-    private:	// New methods
-
-        /**
-         * Load AI2 themes.
-         */
-        void LoadThemesL();
-
-        /**
-         * Load settings from active theme.
-         */
-        void LoadSettingsFromThemeL();
-
-        /**
-         * Handle NT visibility in theme.
-         * @param ETrue for showing NewsTicker, EFalse for hiding it.
-         */
-        void EnableNewsTickerL( TBool aEnabled );
-
-
-    private:	// From base classes
-
-        void HandleXnClientMessage( TXnServiceCompletedMessage aMessage );
-        void HandleXnRequestClientMessage( TXnServiceCompletedMessage /*aMessage*/ ) {};
-        void XnSettingsUpdated() {};
-        void HandleNotifyInt( TUint32 aId, TInt aNewValue );
-
-
-
-    private:    // Data
-
-        CArrayPtrFlat<CXnODT>* iThemeArray;
-        CXnClient* iXnClient;
-        CXnContentAccessClient* iXnContentAccessClient;
-        CXnRequestClient* iXnRequestClient;
-        CXnResult* iXnResult;
-        CXnDomDocument* iDomDocument;
-        CXnODT* iOdt;
-        CRepository* iNTCenRep;
-        CRepository* iAiCenRep;
-        CCenRepNotifyHandler* iNTCenRepObserver;
-        TInt iNumberOfHeaders;
-        TInt iEnabledInCenRep;
-
-    };
-    
-}   // namespace 
-
-#endif      // __DYNAMICTHEMEMODIFIER_H__
-
-// End of File
--- a/idlehomescreen/xmluicontroller/inc/emptycontenttransactionelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction element for publishing empty content
-*
-*/
-
-
-#ifndef C_EMPTYCONTENTTRANSACTIONELEMENT_H
-#define C_EMPTYCONTENTTRANSACTIONELEMENT_H
-
-#include "transactionelement.h"
-
-namespace AiUtility
-    {
-    class CContentPriorityMap;
-    }
-
-namespace AiXmlUiController
-{
-    
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  Transaction element for publishing empty content to UI element.
- *  Empty content is published by applying empty content policy
- *
- *  @lib AiXmlUiMain
- */
-class CEmptyContentTransactionElement : public CTransactionElement
-    {
-
-public:
-
-    static CEmptyContentTransactionElement*
-        NewL( AiUtility::CContentPriorityMap& aContentPriorityMap );
-
-    virtual ~CEmptyContentTransactionElement();
-
-    /**
-     * Initializes this element to publish into the given UI element.
-     *
-     * @param aTarget target UI element.
-     * @param aIndex Newsticker title index to clean
-     */
-    void InitializeL( CXnNodeAppIf& aTarget,
-                      TInt aIndex );
-
-protected:  // from base class CTransactionElement
-
-    void Reset();
-    
-    void UpdateDataL();
-
-private:
-
-    CEmptyContentTransactionElement(
-        AiUtility::CContentPriorityMap& aContentPriorityMap );
-
-    // Index for newsticker title to clean.
-    TInt iIndex;
-
-    };
-    
-}   // namespace AiXmlUiController
-
-#endif // C_EMPTYCONTENTTRANSACTIONELEMENT_H
--- a/idlehomescreen/xmluicontroller/inc/globalqueryhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Global query active object
-*
-*/
-
-#ifndef GLOBALQUERYHANDLER_H
-#define GLOBALQUERYHANDLER_H
-
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-namespace AiXmlUiController
-{
-class CXmlUiController;
-
-/**
- * Active object class to handle global query presses.
- */
-class CGlobalQueryHandler : public CActive
-    {
-    
-public:
-    /**
-     * @param Reference to CXmlUiController which SetPluginsOnline function is called when user accepts query
-     */
-    static CGlobalQueryHandler* NewL(CXmlUiController& aUiController);
-    
-    /**
-     * 
-     */
-    ~CGlobalQueryHandler();
-    
-    /**
-     * Value of the SetPluginsOnline when user accepts query.
-     * Activates this active object
-     * @param aOnline value of the function call, ETrue/EFalse.  
-     */
-    void SetOnlineParamAndActivate(TBool aOnline);
-    
-private:
-    /**
-     * @param Reference to CXmlUiController which SetPluginsOnline function is called when user accepts query
-     */
-    CGlobalQueryHandler(CXmlUiController& aUiController);
-    
-    /**
-     *  
-     */
-    void ConstructL();
-    
-private: // from CActive
-    /**
-     * From CActive
-     */
-    void RunL();
-    
-    /**
-     * From CActive
-     */
-    void DoCancel();
-    
-private: // data
-    /**
-     * Controller, which is used when query is accepted
-     */
-    CXmlUiController& iUiController;
-    
-    /**
-     * Value of the CXmlUiController::SetPluginsOnline function call when user accepts query 
-     */
-    TBool iSetOnline;
-    };
-
-
-}// namespace AiXmlUiController
-#endif //CONTENTPUBLISHER_H
-
-
-
-
-
--- a/idlehomescreen/xmluicontroller/inc/imagetransactionelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2005-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 transaction element
-*
-*/
-
-
-#ifndef C_IMAGETRANSACTIONELEMENT_H
-#define C_IMAGETRANSACTIONELEMENT_H
-
-#include "transactionelement.h"
-
-class CGulIcon;
-class CXnNodeAppIf;
-class RFile;
-
-namespace AiUtility
-    {
-    class CContentPriorityMap;
-    }
-
-namespace AiXmlUiController
-{
-class CKamikazeImageDecoder;    
-    
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  CImageTransactionElement is a transaction element for publishing images.
- *
- *  @lib AiXmlUiMain
- */
-class CImageTransactionElement : public CTransactionElement
-    {
-
-public:
-
-    static CImageTransactionElement*
-        NewL( AiUtility::CContentPriorityMap& aContentPriorityMap );
-
-    virtual ~CImageTransactionElement();
-
-    /**
-     * Initializes this transaction element.
-     *
-     * @param aTarget the node to publish bitmap and mask.
-     * @param aIcon the icon to publish. Ownership is transferred.
-     */
-    void InitializeL(CXnNodeAppIf& aTarget, CGulIcon* aIcon );
-    
-    /**
-     * Initializes this transaction element from file.
-     *
-     * @param aTarget the node to publish bitmap.
-     * @param aFile the open file handle to read bitmap data.
-     */
-    void InitializeL(CXnNodeAppIf& aTarget,
-                     RFile& aFile);
-    
-    static TBool IsSupported( CXnNodeAppIf& aTarget );
-    
-    void Reset();
-
-    void UpdateDataL();
-
-            
-private:
-
-    CImageTransactionElement( AiUtility::CContentPriorityMap& aContentPriorityMap );
-    
-    void CheckTypeL( CXnNodeAppIf& aTarget );
-    
-private: // data
-
-
-    /**
-     * Icon to be published.
-     * Own.
-     */
-    CGulIcon* iNewIcon;
-
-    /**
-     * Asynchronous image decoder. Executed and 
-     * self destroyed when decoding is ready. Not own.
-     */
-    CKamikazeImageDecoder* iImageDecoder;
-    
-    };
-    
-} // namespace AiXmlUiController
-
-#endif // C_IMAGETRANSACTIONELEMENT_H
--- a/idlehomescreen/xmluicontroller/inc/mpscallback.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Callback for Publish & Subscribe observation
-*
-*/
-
-
-#ifndef M_PSCALLBACK_H
-#define M_PSCALLBACK_H
-
-#include <e32base.h>
-
-namespace AiXmlUiController
-{
-	
-class MPSCallback
-	{
-	public:
-	
-		/**
-		 * Callback method for P&S observer.
-		 * Called when appropriate value has been updated.
-		 * @param aKey Key that has been observed.
-		 * @param aValue New Value
-		 */
-		virtual void ValueUpdatedL( TInt aKey, TInt aValue ) = 0;	
-   
-    protected:
-
-        /**
-         * Protected destructor prevents deletion through this interface.
-         */
-        MPSCallback() {};	
-	};
-	
-} // namespace AiXmlUiController
-
-#endif // M_PSCALLBACK_H
--- a/idlehomescreen/xmluicontroller/inc/mtransaction.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction base class
-*
-*/
-
-
-#ifndef M_TRANSACTION_H
-#define M_TRANSACTION_H
-
-#include <e32hashtab.h>
-
-
-inline TUint32 NodeHash(const TAny* aPtr)
-    {
-    return (TUint32)aPtr;
-    };
-
-inline TBool NodeRelation(const TAny* aPtr1, const TAny* aPtr2)
-    {
-    return aPtr1 == aPtr2;
-    };
-
-// Default functions for xnnode type
-
-TEMPLATE_SPECIALIZATION class RHashTableBase::Defaults<
-                                        CXnNodeAppIf,
-                                        RHashTableBase::EDefaultSpecifier_Normal>
-	{
-public:
-	inline static TGeneralHashFunction32 Hash();
-	inline static TGeneralIdentityRelation Id();
-	};
-
-inline TGeneralHashFunction32 RHashTableBase::Defaults<
-                                        CXnNodeAppIf,
-                                        RHashTableBase::EDefaultSpecifier_Normal>::Hash()
-	{return (TGeneralHashFunction32)&NodeHash;}
-
-inline TGeneralIdentityRelation RHashTableBase::Defaults<
-                                        CXnNodeAppIf,
-                                        RHashTableBase::EDefaultSpecifier_Normal>::Id()
-	{return (TGeneralIdentityRelation)&NodeRelation;}
-
-	
-namespace AiXmlUiController
-{
-    
-class CTransactionElement;
-class MTransactionElement;
-class MTransactionFactory;
-
-typedef RPointerArray<CXnProperty> RPropertyArray;
-
-typedef RPtrHashMap<CXnNodeAppIf, RPropertyArray> RPropertyHashMap;
-
-/**
- *  MTransaction represents a transaction of publish operations.
- *
- *  @lib AiXmlUiMain
- */
-class MTransaction
-    {
-
-public:
-
-    /**
-     * Appends a transaction element in this transaction.
-     *
-     * @param aElement the transaction element
-     */
-    virtual void Append(MTransactionElement& aElement) = 0;
-    
-    /**
-     * Commits this transaction by committing all transaction elements.
-     *
-     * @param [out] aLayoutChanged true if UI layout changes
-     */
-    virtual void CommitL( TBool& aLayoutChanged, RPropertyHashMap& aPropertyHashMap ) = 0;
-    
-    /**
-     * Resets this transaction for reuse.
-     *
-     * @param aFactory the factory which created this transaction
-     */
-    virtual void Reset(MTransactionFactory& aFactory) = 0;
-    
-    virtual TDblQueIter<CTransactionElement> ElementIter() = 0;
-protected:
-
-    ~MTransaction() {};
-
-    };
-
-} // namespace AiXmlUiController
-
-#endif // M_UPDATETRANSACTION_H
--- a/idlehomescreen/xmluicontroller/inc/mtransactionelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction element base class
-*
-*/
-
-
-#ifndef M_TRANSACTIONELEMENT_H
-#define M_TRANSACTIONELEMENT_H
-
-#include <e32def.h>
-#include "aipolicyelement.h"
-#include "transaction.h"
-
-
-namespace AiXmlUiController
-{
-
-/**
- * MTransactionElement declatres the public interface for transaction elements.
- * MTransactionElement corresponds one publish operation within a
- * transaction scope.
- *
- * @lib AiXmlUiMain
- */
-class MTransactionElement
-    {
-public: // New functions
-    
-    /**
-     * Commits the publish operation and actually updates the UI control/element.
-     *
-     * @param [out] aLayoutChanged true if UI layout changes 
-     * @see UpdateDataL()
-     * @see ApplyPublishingPolicy()
-     */
-    void CommitL( TBool& aLayoutChanged, RPropertyHashMap& aPropertyHashMap );
-
-    /**
-     * Resets the transaction element and clears the references to content
-     * and UI control/element.
-     *
-     */
-    virtual void Reset() = 0;
-    
-    /**
-     * Returns the array of associated content policy elements.
-     *
-     */
-    virtual RAiPolicyElementArray& PolicyArray() = 0;
-    
-    /**
-     * Return the target UI element for this transaction element
-     */
-    virtual CXnNodeAppIf& Target() const = 0 ;
-    
-protected:  // New functions
-
-    /**
-     * Updates UI control / element data.
-     *
-     * @since S60 3.2
-     */
-    virtual void UpdateDataL() = 0;
-    
-    /**
-     * Applies current publishing policy to UI control / element.
-     *
-     * @param [out] aLayoutChanged true if UI layout changes
-     */
-    virtual void ApplyPublishingPolicy( TBool& aLayoutChanged,
-                                        RPropertyHashMap& aPropertyHashMap ) = 0;
-    
-protected:  // Constructors and destructor
-    
-    ~MTransactionElement() {};
-    
-    };
-
-}   // namespace AiXmlUiController
-
-#endif      // M_TRANSACTIONELEMENT_H  
-           
-//  End of File
\ No newline at end of file
--- a/idlehomescreen/xmluicontroller/inc/newstickercallbackhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Callback handler of newsticker component callbacks
-*
-*/
-
-
-#ifndef C_NEWSTICKERCALLBACKHANDLER_H
-#define C_NEWSTICKERCALLBACKHANDLER_H
-
-
-#include <e32base.h>
-
-class MAiFwEventHandler;
-
-namespace AiXmlUiController
-{
-    
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  Helper class to handle newsticker component callbacks.
- *
- *  @lib AiXmlUiMain
- */
-class CNewstickerCallbackHandler : public CBase
-    {
-
-public:
-
-    static CNewstickerCallbackHandler* NewLC( MAiFwEventHandler& aFwEventHandler );
-
-    virtual ~CNewstickerCallbackHandler();
-
-    /**
-     * Sends TitleScrolled event to newsticker plugin
-     *
-     * @param aPublisherName    Plugin name
-     * @param aPublishingClass  content selector
-     * @param aIndex            Index of the scrolled title
-     */
-    void TitleScrolledL( const TDesC& aPublisherName,
-                         const TDesC& aPublishingClass,
-                         TInt aIndex );
-
-    /**
-     * Sends TitleToScroll event to newsticker plugin
-     *
-     * @param aPublisherName    Plugin name
-     * @param aPublishingClass  content selector
-     * @param aIndex            Index of the scrolled title
-     */
-    void TitleToScrollL( const TDesC& aPublisherName,
-                         const TDesC& aPublishingClass,
-                         TInt aIndex );
-
-private:
-
-    CNewstickerCallbackHandler( MAiFwEventHandler& aFwEventHandler );
-
-    void SendEventToNewstickerPluginL( const TDesC& aEvent, 
-                                       const TDesC& aPublisherName,
-                                       const TDesC& aPublishingClass,
-                                       TInt aIndex);
-
-private: // data
-
-    /**
-     * Event handler for events
-     */
-    MAiFwEventHandler& iFwEventHandler;
-
-    /**
-     * Event buffer.
-     * Own.
-     */
-    HBufC* iEventBuffer;
-
-    };
-
-} // namespace AiXmlUiController
-
-#endif // C_NEWSTICKERCALLBACKHANDLER_H
--- a/idlehomescreen/xmluicontroller/inc/newstickertransactionelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2005-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:  News ticker transaction element
-*
-*/
-
-
-#ifndef C_NEWSTICKERTRANSACTIONELEMENT_H
-#define C_NEWSTICKERTRANSACTIONELEMENT_H
-
-#include "transactionelement.h"
-
-
-namespace AiUtility
-    {
-    class CContentPriorityMap;
-    }
-
-class CXnNodeAppIf;
-
-namespace AiXmlUiController
-{
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- * CNewTickerTransactionElement corresponds news ticker content publishing operation.
- *
- *  @lib AiXmlUiMain
- */
-class CNewsTickerTransactionElement : public CTransactionElement
-    {
-public:  // Constructors and destructor
-    
-    static CNewsTickerTransactionElement*
-        NewL( AiUtility::CContentPriorityMap& aContentPriorityMap );
-    
-    virtual ~CNewsTickerTransactionElement();
-
-// New functions
-    
-    /**
-    * Initializes this transaction element to publish text content aText
-    * to text interface of node aTarget.
-    *
-    * @param aTarget - the target of publishing.
-    * @param aText - the text content. 
-    * @param aIndex - index of the news ticker element to be updated
-    */
-    void InitializeL(CXnNodeAppIf& aTarget, const TDesC& aText, TInt aIndex);
- 
-    /**
-     * @return ETrue if aTarget node is supported 
-     */
-    static TBool IsSupported( CXnNodeAppIf& aTarget );
-    
-    /**
-     * from CTransactionElement
-     */
-    void Reset();
-
-    /**
-     * from CTransactionElement
-     */
-    void UpdateDataL();
-    
-private: // New methods
-
-    /**
-     * constructor 
-     */
-    CNewsTickerTransactionElement( AiUtility::CContentPriorityMap& aContentPriorityMap );
-
-    /**
-     * 
-     */
-    void CheckTypeL( CXnNodeAppIf& aTarget );
-    /**
-     * 
-     */
-    void SetTextL();
-    
-private:    // Data
-
-    /**
-     * New text content.
-     */
-    TPtrC iNewText;
-    
-    /**
-     * Index of the news ticker element to be updated
-     */
-    TInt iIndex;
-        
-    };
-
-}   // namespace AiXmlUiController
-
-#endif      // C_NEWSTICKERTRANSACTIONELEMENT_H  
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/onlineofflinehelper.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Helper for online/offline state handling
-*
-*/
-
-#ifndef ONLINEOFFLINEHELPER_H
-#define ONLINEOFFLINEHELPER_H
-
-#include <e32base.h>
-#include <NWHandlingEngine.h>
-#include <MProfileChangeObserver.h>
-#include <babitflags.h>
-
-// Forward declrations
-class CNWSession;
-class CProfileChangeNotifyHandler;
-class CXnNodeAppIf;
-
-namespace AiXmlUiController
-{
-// Forward declrations
-class CXmlUiController;
-
-// Classe declaration
-
-
-/**
- * Online/offline state helper
- *
- * @ingroup group_aixmluimain
- * @lib ai3xmluimain.lib
- * @since S60 5.0
- */
-
-class COnlineOfflineHelper : public CBase, 
-    public MNWMessageObserver, public MProfileChangeObserver
-    {    
-public:
-    // Constructors
-
-    /**
-     * Two-phased constructor.
-     */
-    static COnlineOfflineHelper* NewL( CXmlUiController& aUiCtl );
-    
-public:
-    // Destructor
-    
-    ~COnlineOfflineHelper();
-        
-private:
-    /*
-     * C++ default constructor
-     */
-    COnlineOfflineHelper( CXmlUiController& aUiCtl );
-    
-    /**
-     *  2nd phase constructor
-     */
-    void ConstructL();    
-
-public:
-    // New functions
-    
-    /*
-     * Determines if online menuitem can be shown
-     * 
-     * @since S60 5.0
-     * @return ETrue if item can be shown, EFalse otherwise
-     */
-    TBool ShowOnlineItem() const;
-
-    /*
-     * Determines if offline menuitem can be shown
-     * 
-     * @since S60 5.0
-     * @return ETrue if item can be shown, EFalse otherwise
-     */    
-    TBool ShowOfflineItem() const;
-    
-    /*
-     * Check and set whether online/offline state is needed by plugins
-     * 
-     * @since S60 5.0
-     * @param aList List of plugins 
-     */
-    void ProcessOnlineStateL( RPointerArray< CXnNodeAppIf >& aList );
-
-    /*
-     * Set online or offline state based on user selection
-     * 
-     * @since S60 5.0
-     * @param aOnline ETrue to set online, EFalse to offline 
-     */    
-    void ProcessOnlineStateL( TBool aOnline );
-    
-private:    
-    // from MNWMessageObserver
-
-    /**
-     * From MNWMessageObserver.
-     * Called by network handling engine when network info changes.
-     *
-     * @since S60 5.0
-     * @param aMessage is type of the change.
-     */
-    void HandleNetworkMessage( const TNWMessages aMessage );
-
-    /**
-     * From MNWMessageObserver.
-     * Called if network handling engine fails.
-     *
-     * @since S60 5.0
-     * @param aOperation is failed operation.
-     * @param aErrorCode is fail reason.
-     */
-    void HandleNetworkError( const TNWOperation aOperation, TInt aErrorCode );
-
-private:
-    // from MProfileChangeObserver
-
-    /**
-     * Called when active profile changes.
-     *
-     * @since S60 5.0
-     * @param aProfileEvent Profile event.
-     * @param aProfileId New profile id.
-     */
-    void HandleActiveProfileEventL( TProfileEvent aProfileEvent, TInt aProfileId );
-    
-private:
-    // New functions
-    
-    TBool HasNetworkInfoChanged( const TNWMessages aMsg );
-    void InterpretNWMessageL( const TNWMessages aMessage, const TNWInfo );
-    
-    void SetOnlineL( TBool aOnline );
-private:
-    // Data types
-    
-    /**
-     * Network related message flags
-     */    
-    enum TNetInfoFlags 
-        {
-        ENetworkProviderNameReceived        = 0x00000001,
-        ENetworkProviderNameOk              = 0x00000002,
-        EServiceProviderNameReceived        = 0x00000004,
-        EServiceProviderNameOk              = 0x00000008,
-        ERegistrationStatusReceived         = 0x00000010,
-        ENetworkInfoChangeReceived          = 0x00000020,
-        EProgrammableOperatorInfoReceived   = 0x00000040,
-        EProgrammableOperatorInfoReceivedOk = 0x00000080
-        };
-    
-    enum
-        {
-        EOnline,
-        EUtilizeOnline,
-        ERoamingShown,
-        EOfflineProfile
-        };
-private: 
-    // data
-    
-    /**
-     * UI controller
-     * Not own
-     */    
-    CXmlUiController& iUiCtl;
-    
-    /**
-    * Session to network handling engine.
-    * Own.
-    */
-   CNWSession* iSession;
-
-   /**
-   * Profile change handler.
-   * Own.
-   */   
-   CProfileChangeNotifyHandler* iHandler;
-
-   /**
-    * Cached network info structure.
-    */
-   TNWInfo iInfo;
-   
-   /**
-    * Previous network information.
-    */
-   TNWInfo iOldInfo;
-
-   /**
-    * Subset of sum of TNetInfoFlags.
-    */    
-   TUint iReceivedMessageFlags;
-   
-   /**
-    * Subset of sum of old TNetInfoFlags.
-    */    
-   TUint iOldReceivedMessageFlags;
-   
-   /**
-    * current state of network
-    */    
-   TNWRegistrationStatus iCurrentNwStatus;
-
-   /**
-    * Flags
-    */
-   TBitFlags32 iFlags;
-   };
-
-}// namespace AiXmlUiController
-#endif //ONLINEOFFLINEHELPER_H
-
-
-
-
-
--- a/idlehomescreen/xmluicontroller/inc/pmodtiterator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* 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:  ODT iterator.
-*
-*/
-
-
-
-#ifndef C_PMODTITERATOR_H
-#define C_PMODTITERATOR_H
-
-//  INCLUDES
-#include <e32base.h>
-
-
-// FORWARD DECLARATIONS
-class CXnNodeAppIf;
-
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xmluicontroller
-* 
-*  Depth iterator walks through the dom tree using the depth first
-*  principle.
-*
-*  @lib presentationmanager.lib
-*  @since S60 v5.0
-*/
-class CPmODTIterator: public CBase
-    {
-   public:        
-        static CPmODTIterator* NewL( CXnNodeAppIf& aRootNode );
-        
-        virtual ~CPmODTIterator();
-
-    public:
-    	
-        /**
-         * Returns the first node of the dom tree.
-         *
-         * @since S60 v5.0
-         * @return First node.
-         */
-        CXnNodeAppIf* First();
-    	
-    	  /**
-         * Returns the next node according to depth first principle.
-         *
-         * @since S60 v5.0
-         * @return Next node.
-         */
-        CXnNodeAppIf* NextL();
-        
-        /**
-         * Skips the current node branch and returns next sibling
-         * or parent's sibling. Returns NULL if no nodes left.
-         *
-         * @since S60 v5.0
-         * @return Sibling node.
-         */
-        CXnNodeAppIf* SkipBranchL();
-        
-   private:
-        
-        CPmODTIterator( CXnNodeAppIf& aRootNode );
-
-        void ConstructL(); 
-        
-        /**
-        * Push node to stack.
-        * @param aNode Node to push 
-        */
-        void PushL( CXnNodeAppIf& aNode );
-        
-        /**
-        * Pop node from the stack.
-        * @return Pointer to node
-        */
-        CXnNodeAppIf* Pop();
-        
-   private:
-        /**
-         * Follow tree hierarchy with stack
-         * Own.
-         */
-        RPointerArray<CXnNodeAppIf> iDepthLevel;
-        
-        /**
-         * First node
-         * Own.
-         */
-        CXnNodeAppIf* iFirst;
-        
-        /**
-         * Current node.
-         * Own.
-         */
-        CXnNodeAppIf* iCurrent;
-                   
-    };
-
-#endif      // C_PMODTITERATOR_H  
--- a/idlehomescreen/xmluicontroller/inc/policyevaluator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Policy evaluator
-*
-*/
-
-
-#ifndef C_POLICYEVALUATOR_H
-#define C_POLICYEVALUATOR_H
-
-
-#include <e32base.h>
-#include "aipolicyelement.h"
-
-class CXnNodeAppIf;
-   
-namespace AiXmlUiController
-{
-    
-    
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  Policy evaluator class
- *
- *  @lib AiXmlUiMain
- */
-class CPolicyEvaluator : public CBase
-    {
-
-public:
-
-    static CPolicyEvaluator* NewL();
-
-    virtual ~CPolicyEvaluator();
-
-    /**
-     * Evaluates content policy for ui element. 
-     *
-     * @param aTarget target ui element
-     * @param aPolicyArray array of found policies to fill
-     * @leave 
-     */
-    void EvaluateContentPolicyL( CXnNodeAppIf& aTarget,
-                                 RAiPolicyElementArray& aPolicyArray );
-    
-    /**
-     * Evaluates empty content policy for ui element. 
-     *
-     * @param aTarget target ui element
-     * @param aPolicyArray array of found policies to fill
-     * @leave 
-     */
-    void EvaluateEmptyContentPolicyL( CXnNodeAppIf& aTarget,
-                                      RAiPolicyElementArray& aPolicyArray );
-
-    /**
-     * Evaluates Visiblity policy for ui element. 
-     *
-     * @param aTarget target ui element
-     * @param aResource resource element to publish
-     * @param aPolicyArray array of found policies to fill
-     * @leave 
-     */
-    void EvaluateVisibilityPolicyL( CXnNodeAppIf& aTarget,
-                                    RAiPolicyElementArray& aPolicyArray );
-
-    /**
-     * Evaluates ContentChanged policy for ui element. 
-     *
-     * @param aTarget target ui element
-     * @param aResource resource element to publish
-     * @param aPolicyArray array of found policies to fill
-     * @leave 
-     */
-    void EvaluateContentChangedPolicyL( CXnNodeAppIf& aTarget,
-                                    RAiPolicyElementArray& aPolicyArray );
-
-    /**
-     * Evaluates resource policy for ui element. 
-     *
-     * @param aTarget target ui element
-     * @param aResource resource element to publish
-     * @param aPolicyArray array of found policies to fill
-     * @leave 
-     */
-    void EvaluateResourcePolicyL( CXnNodeAppIf& aTarget,
-                                  CXnNodeAppIf& aResource,
-                                  RAiPolicyElementArray& aPolicyArray );
-private:
-
-    CPolicyEvaluator();
-
-    void ConstructL();
-    
-    void EvaluatePolicyL( CXnNodeAppIf& aTarget,
-                          RAiPolicyElementArray& aPolicyArray,
-                          const TDesC8& aPolicyClass );
-    
-    TBool MatchCondition( const TDesC8& aId,
-                          const TDesC8& aCondition );
-                          
-    TBool MatchVisibilityConditionL( const TDesC8& aCondition,
-                                    CXnNodeAppIf& aProperty,
-                                    RAiPolicyElementArray& aPolicyArray );
-                          
-    };
-
-} // namespace AiXmlUiController
-    
-#endif // C_POLICYEVALUATOR_H
--- a/idlehomescreen/xmluicontroller/inc/psobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Observer for changes in Publish & Subscribe keys
-*
-*/
-
-
-#ifndef C_PSOBSERVER_H
-#define C_PSOBSERVER_H
-
-#include <e32property.h>
-#include <e32base.h>
-
-
-namespace AiXmlUiController
-{
-
-class MPSCallback;
-
-/**
-*  @ingroup group_xmluicontroller
-* 
-*  Observer for changes in Publish & Subcribe keys
-*
-*  @lib AiXmlUiMain
-*/
-class CPSObserver : public CActive
-    {
-	public:  // Constructors and destructor
-	    
-	    static CPSObserver* NewL( MPSCallback& aCallback, TUid aCategory, TInt aKey );
-	    
-	    virtual ~CPSObserver();
-
-	    /**
-	     * Returns the current value of the monitored
-	     * P&S key. 
-	     * 
-	     * @param aValue Value is placed here
-	     * 
-	     * @return KErrNone if succesfull
-	     */
-	    TInt GetValue( TInt &aValue ) const;
-	    
-	private:
-
-		CPSObserver( MPSCallback& aCallback, TUid aCategory, TInt aKey );
-		void ConstructL();
-		
-
-	private:	// from CActive
-
-		void RunL();
-		void DoCancel();
-		TInt RunError();	
-		
-
-	private:    // Data
-
-	    RProperty iProperty;
-	    MPSCallback& iCallback;
-	    TUid iCategory;
-	    TInt iKey;
-	    
-   };
-
-} // namespace AiXmlUiController
-
-#endif      // C_PSOBSERVER_H 
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/texttransactionelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Text transaction element
-*
-*/
-
-
-#ifndef C_TEXTTRANSACTIONELEMENT_H
-#define C_TEXTTRANSACTIONELEMENT_H
-
-#include "transactionelement.h"
-
-
-namespace AiUtility
-    {
-    class CContentPriorityMap;
-    }
-
-class CXnNodeAppIf;
-
-namespace AiXmlUiController
-{
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- * CTextTransactionElement corresponds one text content publishing operation.
- *
- *  @lib AiXmlUiMain
- */
-class CTextTransactionElement : public CTransactionElement
-    {
-public:  // Constructors and destructor
-    
-    static CTextTransactionElement*
-        NewL( AiUtility::CContentPriorityMap& aContentPriorityMap );
-    
-    virtual ~CTextTransactionElement();
-
-// New functions
-    
-    /**
-    * Initializes this transaction element to publish text content aText
-    * to text interface of node aTarget.
-    *
-    * @param aTarget - the target of publishing.
-    * @param aText - the text content. 
-    */
-    void InitializeL(CXnNodeAppIf& aTarget, const TDesC& aText);
-    
-    static TBool IsSupported( CXnNodeAppIf& aTarget );
-    
-// Functions from CTransactionElement
-
-    void Reset();
-
-    void UpdateDataL();
-    
-private: // New methods
-
-    CTextTransactionElement( AiUtility::CContentPriorityMap& aContentPriorityMap );
-
-    void CheckTypeL( CXnNodeAppIf& aTarget );
-    
-    void SetTextL();
-    
-private:    // Data
-
-    /**
-     * New text content.
-     */
-    
-    HBufC* iNewText;
-        
-    };
-
-}   // namespace AiXmlUiController
-
-#endif      // C_TEXTTRANSACTIONELEMENT_H  
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/transaction.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction
-*
-*/
-
-
-#ifndef C_TRANSACTION_H
-#define C_TRANSACTION_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include <e32hashtab.h>
-#include "xnproperty.h"
-#include "xnnodeappif.h"
-#include "mtransaction.h"
-
-
-namespace AiXmlUiController
-    {
-    class MTransactionElement;
-    class CTransactionElement;
-    class MTransactionFactory;
-    }
-
-
-namespace AiXmlUiController
-{
-
-/**
-*  @ingroup group_xmluicontroller
-* 
-*  CTransaction collects the transaction elements of one transaction
-*
-*  @lib AiXmlUiMain
-*/
-class CTransaction : public CBase, public MTransaction
-    {
-public:  // Constructors and destructor
-    
-    static CTransaction* NewL();
-    
-    virtual ~CTransaction();
-
-// From MTransaction
-    
-    void Append(MTransactionElement& aElement);
-    
-    void CommitL(TBool& aLayoutChanged, RPropertyHashMap& aPropertyHashMap);
-    
-    void Reset(MTransactionFactory& aFactory);
-    
-    TDblQueIter<CTransactionElement> ElementIter();
-
-    
-// New functions
-    
-    /**
-     * Returns the transaction id of this transaction
-     */
-    TInt Id() const;
-    
-    /**
-     * Initializes transaction.
-     * @param aTxId transaction id.
-     */
-    void Initialize(TInt aTxId);
-    
-    /**
-     * Returns the doubly linked list link offset.
-     */
-    inline static TInt LinkOffset();
-    
-    /**
-     * Returns the singly linked list link offset
-     */
-    inline static TInt FactoryLinkOffset();
-    
-    /**
-     * Deques this transaction from a doubly linked list
-     */
-    void Deque();
-    
-private:
-
-    CTransaction();
-
-private:    // Data
-    
-    /**
-     * Transaction identifier.
-     */
-    TInt iTxId;
-    
-    /**
-     * Doubly linked list of transaction elements.
-     */
-    TDblQue<CTransactionElement> iTransactionElements;
-   
-    /**
-     * Doubly linked list link item.
-     */
-    TDblQueLink iLink;
-    
-    /**
-     * Singly linked list link item.
-     */
-    TSglQueLink iFactoryLink;
-        
-    };
-        
-// Inline implementations
-
-TInt CTransaction::LinkOffset()
-    {
-    return _FOFF(CTransaction, iLink);
-    }
-
-TInt CTransaction::FactoryLinkOffset()
-    {
-    return _FOFF(CTransaction, iFactoryLink);
-    }
-
-} // namespace AiXmlUiController
-
-#endif      // C_TRANSACTION_H 
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/transactionelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction element
-*
-*/
-
-
-#ifndef C_TRANSACTIONELEMENT_H
-#define C_TRANSACTIONELEMENT_H
-
-#include <e32base.h>
-#include "mtransactionelement.h"
-
-class CXnNodeAppIf;
-class MXnComponentInterface;
-
-namespace AiUtility
-    {
-    class CContentPriorityMap;
-    }
-
-namespace AiXmlUiController
-    {
-    class CCssPropertyMap;
-    }
-
-// CLASS DECLARATION
-
-namespace AiXmlUiController
-    {
-
-    /**
-     *  @ingroup group_xmluicontroller
-     * 
-     * CTransactionElement is abstract base class for transaction elements.
-     * CTransactionElement corresponds one publish operation within a
-     * transaction scope.
-     *
-     * @lib AiXmlUiMain
-     */
-    class CTransactionElement : public CBase, public MTransactionElement
-        {
-        public:  // Constructors and destructor
-            
-            virtual ~CTransactionElement();
-
-        public: // New functions
-            
-            void Reset();
-            
-            RAiPolicyElementArray& PolicyArray();
-            
-            /**
-             * Sets current content priority value.
-             *
-             * @param aPriority priority of current content
-             * @post iContentPriority == aPriority
-             */
-            void SetContentPriority( TInt aPriority );
-            
-            /**
-             * Sets CSS property map to use.
-             *
-             * @param aPropertyMap CSS property map
-             */
-            void SetCssPropertyMap( CCssPropertyMap* aPropertyMap );
-
-            /**
-             * Returns the target node.
-             */
-            CXnNodeAppIf& Target() const;
-            
-            /**
-             * Returns offset to iElementLink.
-             */
-            inline static TInt LinkOffset();
-            
-            /**
-             * Returns offset to iFactoryLink.
-             */
-            inline static TInt FactoryLinkOffset();
-            
-        protected:  // New functions
-        
-            CTransactionElement( AiUtility::CContentPriorityMap& aContentPriorityMap );
-        
-            /**
-             * Sets the target node.
-             */    
-            void SetTarget(CXnNodeAppIf& aTarget);
-            
-            
-            /**
-             * Applies publishing policy to target UI element.
-             * The policy is applied by modifying CSS property defined
-             * by non-empty content.
-             */
-            void ApplyPublishingPolicy( TBool& aLayoutChanged,
-                                        RPropertyHashMap& aPropertyHashMap );
-            
-            void DoApplyPublishingPolicyL( TBool& aLayoutChanged,
-                                           RPropertyHashMap& aPropertyHashMap );
-            
-            /**
-             * Updates current content priority into content priority map.
-             */
-            void UpdateContentPriorityL();
-            
-            /**
-             * Clears current content priorty in the content priority map.
-             */
-            void ClearContentPriorityL();
-            
-            MXnComponentInterface& ComponentInterfaceL() const;
-            
-        private:
-            
-            /**
-             * Array of policy elements
-             */
-            RAiPolicyElementArray iPolicyArray;
-            
-            /**
-             * Content priority map
-             */
-            AiUtility::CContentPriorityMap& iContentPriorityMap;
-            
-            /**
-             * CSS property map. Not own.
-             */
-            CCssPropertyMap* iPropertyMap;
-        
-            /**
-             * Target node. Not own.
-             */
-            CXnNodeAppIf* iTarget;
-            
-            /**
-             *  Content priority.
-             */
-            TInt iContentPriority;
-            
-            /**
-             * Link in a doubly linked list of a transaction.
-             */
-            TDblQueLink iElementLink;
-        
-            /**
-             * Link in a singly linked list of a factory.
-             */
-            TSglQueLink iFactoryLink;
-            
-        };
-    
-    TInt CTransactionElement::LinkOffset()
-        {
-        return _FOFF(CTransactionElement, iElementLink);
-        }
-        
-    TInt CTransactionElement::FactoryLinkOffset()
-        {
-        return _FOFF(CTransactionElement, iFactoryLink);
-        }
-        
-    }   // namespace AiXmlUiController
-
-#endif      // C_TRANSACTIONELEMENT_H  
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/transactionfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction factory
-*
-*/
-
-
-#ifndef M_TRANSACTIONFACTORY_H
-#define M_TRANSACTIONFACTORY_H
-
-namespace AiXmlUiController
-    {
-    class MTransaction;
-    class MTransactionElement;
-    }
-
-class CXnNodeAppIf;
-class CGulIcon;
-class RFile;
-
-
-namespace AiXmlUiController
-{
-
-/**
-*  MTransactionFactory provides life-cycle management of transactions and
-*  transaction elements.
-*
-*  @lib AiXmlUiMain
-*/
-class MTransactionFactory
-    {
-public:
-
-    // New functions
-    
-    /**
-    * Creates a new transaction.
-    *
-    * @param aTxId the transaction identifier
-    */
-    virtual MTransaction* CreateTransactionL( TInt aTxId ) = 0;
-    
-    /**
-    * Releases a transaction element.
-    *
-    * @param aTransaction the transaction to release
-    */
-    virtual void ReleaseTransaction( MTransaction* aTransaction ) = 0;
-
-    /**
-    * Creates a new text transaction element.
-    *
-    * @param aTarget the target node of the transaction element
-    * @param aText the text to update 
-    */
-    virtual MTransactionElement*
-        CreateTextTransactionElementL( CXnNodeAppIf& aTarget,
-                                       const TDesC& aText,
-                                       TInt aPriority ) = 0;
-
-    /**
-    * Creates a new data buffer transaction element.
-    *
-    * @param aTarget the traget node of the transaction element
-    * @param aData the data to update
-    */
-    virtual MTransactionElement*
-        CreateDataBufferTransactionElementL( CXnNodeAppIf& aTarget,
-                                             const TDesC8& aData,
-                                             TInt aPriority ) = 0;
-
-    /**
-    * Creates a new empty content transaction element.
-    *
-    * @param aTarget the target node of the transaction element
-    * @param aText the text to update 
-    */
-    virtual MTransactionElement*
-        CreateEmptyContentTransactionElementL( CXnNodeAppIf& aTarget,
-                                               TInt aIndex ) = 0;
-
-    /**
-    * Creates a new image transaction element.
-    *
-    * @param aTarget the target node of the transaction element
-    * @param aIcon the icon to update. Ownership transferred.
-    */
-    virtual MTransactionElement*
-        CreateImageTransactionElementL( CXnNodeAppIf& aTarget,
-                                        CGulIcon* aIcon,
-                                        TInt aPriority ) = 0;
-    
-    /**
-    * Creates a new image transaction element.
-    *
-    * @param aTarget the target node of the transaction element
-    * @param aFile the file to read image data from.
-    */
-    virtual MTransactionElement*
-        CreateImageTransactionElementL( CXnNodeAppIf& aTarget,
-                                        RFile& aFile,
-                                        TInt aPriority ) = 0;
-
-    /**
-    * Releases a transaction element.
-    *
-    * @param aElement the element to release.
-    */
-    virtual void ReleaseTransactionElement(
-        MTransactionElement* aElement ) = 0;
-
-    /**
-    * Checks if given content type is supported by target element.
-    *
-    * @param aTarget the target UI element.
-    * @param aContentType the content type
-    * @return ETrue if content type is supported, otherwise EFalse.
-    */
-    virtual TBool IsSupported( CXnNodeAppIf& aTarget,
-                               const TDesC8& aContentType ) = 0;
-
-protected:
-
-    ~MTransactionFactory(){};
-        
-    };
-
-} // namespace AiXmlUiController
-
-#endif      // M_TRANSACTIONFACTORY_H  
-           
-//  End of File
\ No newline at end of file
--- a/idlehomescreen/xmluicontroller/inc/transactionfactoryimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction factory implementation
-*
-*/
-
-
-#ifndef C_TRANSACTIONFACTORYIMPL_H
-#define C_TRANSACTIONFACTORYIMPL_H
-
-
-#include <e32base.h>
-#include "transactionfactory.h"
-
-namespace AiUtility
-    {
-    class CContentPriorityMap;
-    }
-
-namespace AiXmlUiController
-{
-    
-class CTransaction;
-class CTransactionElement;
-class CCssPropertyMap;
-
-
-/**
-*  @ingroup group_xmluicontroller
-* 
-*  CTransactionFactoryImpl implements MTransactionFactory.
-*  It provides a recycling pool of transaction objects.
-*
-*  @lib AiXmlUiMain
-*/
-class CTransactionFactoryImpl: public CBase, public MTransactionFactory
-    {
-public:  // Constructors and destructor
-    
-    static CTransactionFactoryImpl*
-        NewL( AiUtility::CContentPriorityMap& aContentPriorityMap,
-              CCssPropertyMap& aPropertyMap );
-    
-    virtual ~CTransactionFactoryImpl();
-
-// Functions from MTransactionFactory
-
-    MTransaction* CreateTransactionL( TInt aTxId );
-    
-    void ReleaseTransaction( MTransaction* aTransaction );
-
-    MTransactionElement* CreateTextTransactionElementL( CXnNodeAppIf& aTarget,
-                                                        const TDesC& aText,
-                                                        TInt aPriority );
-    
-    MTransactionElement* CreateDataBufferTransactionElementL( 
-                                                        CXnNodeAppIf& aTarget,
-                                                        const TDesC8& aData,
-                                                        TInt aPriority );
-
-    MTransactionElement* CreateEmptyContentTransactionElementL( CXnNodeAppIf& aTarget,
-                                                                TInt aIndex );
-
-    MTransactionElement* CreateImageTransactionElementL( CXnNodeAppIf& aTarget,
-                                                         CGulIcon* aIcon,        
-                                                         TInt aPriority );
-    
-    MTransactionElement* CreateImageTransactionElementL( CXnNodeAppIf& aTarget,
-                                                         RFile& aFile,
-                                                         TInt aPriority );
-    
-    /**
-     * @param aTarget
-     * @param aText new text
-     * @param aPriority
-     * @param aIndex Index of the news ticker element updated
-     */
-    MTransactionElement* CreateNewsTickerTransactionElementL( CXnNodeAppIf& aTarget,
-                                                        const TDesC& aText,
-                                                        TInt aPriority,
-                                                        TInt aIndex );
-    
-    void ReleaseTransactionElement( MTransactionElement* aElement );
-
-    TBool IsSupported( CXnNodeAppIf& aTarget, const TDesC8& aContentType );
-
-private: // Construction
-
-    CTransactionFactoryImpl(
-        AiUtility::CContentPriorityMap& aContentPriorityMap,
-        CCssPropertyMap& aPropertyMap );
-
-    void ConstructL();
-    
-    template<class T> T* NewInstanceL();
-    
-// New methods    
-    
-    void DeleteTransactionList( TSglQue< CTransaction >& aList );
-    
-    void DeleteElementList( TSglQue< CTransactionElement >& aList );
-                
-private: // Data
-    
-    /**
-     * List of available transactions.
-     */
-    TSglQue< CTransaction > iAvailableTransactions;
-    
-    /**
-     * List of reserved transactions.
-     */
-    TSglQue< CTransaction > iReservedTransactions;
-    
-    /**
-     * List of available transaction elements.
-     */
-    TSglQue< CTransactionElement > iAvailableElements;
-    
-    /**
-     * List of reserved transaction elements.
-     */
-    TSglQue< CTransactionElement > iReservedElements;
-    
-    /**
-     * Reference to UI controller's content priority map
-     */
-    AiUtility::CContentPriorityMap& iContentPriorityMap;
-    
-    /**
-     * UI controller's CSS property map. Not own.
-     */
-    CCssPropertyMap& iPropertyMap;
-    };
-
-} // namespace AiXmlUiController
-
-#endif      // C_TRANSACTIONFACTORYIMPL_H  
-           
-//  End of File
--- a/idlehomescreen/xmluicontroller/inc/xmlnodeidgenerator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Builder class for XML UI node identifiers.
-*
-*/
-
-
-#ifndef C_XMLNODEIDGENERATOR_H
-#define C_XMLNODEIDGENERATOR_H
-
-#include <e32base.h>
-
-class MAiPropertyExtension;
-struct TAiPublisherInfo;
-struct TAiContentItem;
-
-namespace AiXmlUiController
-{
-
-/**
-*  @ingroup group_xmluicontroller
-* 
-*  Xml node id generator.Generates an identifier that is used to look up 
-*  settings node from XML UI model.
-*
-*  @lib AiXmlUiMain
-*/
-class CXmlNodeIdGenerator : public CBase
-    {
-public: // Construction
-
-    static CXmlNodeIdGenerator* NewL();
-    
-    ~CXmlNodeIdGenerator();
-
-// New methods
-
-    /**
-     * Generates an identifier that is used to look up settings node from 
-     * XML UI model.
-     *
-     * @param aPubInfo      Active Idle publisher info to use in the 
-     *                      identifier generation.
-     * @return content node identifier.
-     */
-    TPtrC SettingsNodeIdL( const TAiPublisherInfo& aPubInfo);
-    
-    /**
-     * Generates an identifier that is used to look up content node from 
-     * XML UI model.
-     *
-     * @param aPlugin       Active Idle publisher to use in the identifier 
-     *                      generation.
-     * @param aContentItem  Active Idle content item to use in the 
-     *                      identifier generation.
-     * @return content node identifier.
-     */
-    TPtrC ContentNodeIdL(MAiPropertyExtension& aPlugin, const TAiContentItem& aContentItem);
-    
-    /**
-     * Generates an identifier that is used to look up content node from 
-     * XML UI model.
-     *
-     * @param aPubInfo      Active Idle publisher info to use in the 
-     *                      identifier generation.
-     * @param aContentItem  Active Idle content item to use in the 
-     *                      identifier generation.
-     * @return content node identifier.
-     */
-    TPtrC ContentNodeIdL(const TAiPublisherInfo& aPubInfo, const TAiContentItem& aContentItem);
-    
-    /**
-     * Generates an identifier that is used to look up resource node from 
-     * XML UI model.
-     *
-     * @param aPlugin       Active Idle publisher to use in the identifier 
-     *                      generation.
-     * @param aContentItem  Active Idle content item to use in the 
-     *                      identifier generation.
-     * @return resource node identifier.
-     */
-    TPtrC ResourceNodeIdL(MAiPropertyExtension& aPlugin, const TAiContentItem& aContentItem);
-    
-    /**
-     * Generates an identifier that is used to look up resource node from 
-     * XML UI model.
-     *
-     * @param aPubInfo      Active Idle publisher info to use in the 
-     *                      identifier generation.
-     * @param aContentItem  Active Idle content item to use in the 
-     *                      identifier generation.
-     * @return resource node identifier.
-     */
-    TPtrC ResourceNodeIdL(const TAiPublisherInfo& aPubInfo, const TAiContentItem& aContentItem);
-    
-private: // Construction
-
-    CXmlNodeIdGenerator();
-    
-    void ConstructL();
-    
-private: // Data
-
-    HBufC* iContentNodeIdBuf;
-    
-    };
-        
-}  // namespace AiXmlUiController
-
-#endif // C_XMLNODEIDGENERATOR_H
--- a/idlehomescreen/xmluicontroller/inc/xmluicontroller.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +0,0 @@
-/*
-* Copyright (c) 2005-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:  XML UI Controller main class
-*
-*/
-
-
-#ifndef C_XMLUICONTROLLER_H
-#define C_XMLUICONTROLLER_H
-
-#include <aisystemuids.hrh>
-#include "aiuicontroller.h"
-#include "aiuieventhandler.h"
-
-
-const TInt KImplementationUidXmlUiController = AI3_UID_ECOM_IMPLEMENTATION_UICONTROLLER_XML;
-const TUid KUidXmlUiController = { KImplementationUidXmlUiController };
-
-
-class CApaApplication;
-class TXnUiEngineAppIf;
-class CXnNodeAppIf;
-class CRepository;
-
-namespace AiXmlUiController
-{
-
-class CAppUi;
-class CAIXuikonEventHandler;
-class CXmlNodeIdGenerator;
-class CContentRenderer;
-class CContentPublisher;
-
-
-/**
- *  @ingroup group_xmluicontroller
- * 
- *  Active Idle XML UI Controller.
- */
-class CXmlUiController : public CAiUiController,
-                         public MAiMainUiController,
-                         public MAiUiEventHandler
-    {
-public:   
-    // Constructors and destructor
-
-    static CXmlUiController* NewL();
-    
-    ~CXmlUiController();
-
-public: 
-    // New functions
-    
-    /**
-     * Sets content observer.
-     * 
-     * @since S60 5.0
-     * @param aObserver Conten observer 
-     */
-    void SetObserver( MAiContentObserver& aObserver );
-
-    /**
-     * Set the app ui when created.
-     * 
-     * @since S60 5.0
-     * @param aAppUi AppUi
-     */
-    void SetAppUi( CAppUi& aAppUi );
-    
-    /**
-     * Get app ui.
-     * 
-     * @since S60 5.0
-     * @return AppUi
-     */
-    CAppUi* AppUi() const;
-
-    /**
-     * Creates and returns Xuikon event handler.
-     * 
-     * @since S60 5.0
-     * @param aContentRender Content renderer
-     * @return Xuikon event handler
-     */
-    CAIXuikonEventHandler* CreateXuikonEventHandlerL(
-        CContentRenderer& aRenderer );
-    
-    /**
-     * Call from App Ui ConstructL to notify AI FW that the App env is ready.
-     * 
-     * @since S60 5.0
-     */
-    void NotifyAppEnvReadyL();
-
-    /**
-     * Gets UiFw observer
-     *
-     * @since S60 5.0
-     * @return UiFw observer     
-     */
-    MAiUiFrameworkObserver* UiFrameworkObserver() const;
-
-    /**
-     * Gets UiFw event handler 
-     *
-     * @since S60 5.0
-     * @return UiFw event handler     
-     */    
-    MAiFwEventHandler* FwEventHandler() const;
-    
-    /**
-     * Gets UiEngine.
-     *
-     * @since S60 5.0
-     * @return UiEngine     
-     */        
-    TXnUiEngineAppIf* UiEngineL() const;
-    
-	/**
-	 * Get settings repository.
-	 * 
-	 * @since S60 5.0
-	 * @return Settings repository
-	 */
-    CRepository& SettingsRepository() const;
-
-    /**
-     * Gets native ui publishers
-     * 
-     * @since S60 5.0
-     * @param aPlugins Array where plugins are appended.
-     */
-    void PublisherInfoL( RAiPublisherInfoArray& aPlugins );
-
-    /**
-     * Gets xml ui publishers
-     * 
-     * @since S60 5.0
-     * @param aSource Xml node which defineds the publisher
-     * @param aInfo Publisher info filled based aSource information
-     */    
-    void PublisherInfoL( CXnNodeAppIf& aSource,
-                         TAiPublisherInfo& aInfo );
-
-public: 
-    // from CAiUiController
-
-    void LoadUIDefinitionL();
-    
-    void GetPluginsL( RAiPublisherInfoArray& aPlugins );
-                                             
-    void GetSettingsL( const TAiPublisherInfo& aPubInfo, 
-        RAiSettingsItemArray& aSettings );
-    
-    void ActivateUI();
-    
-    MAiContentObserver& GetContentObserver();
-    
-    void SetEventHandler( MAiFwEventHandler& aFwEventHandler );
-    
-    void RemovePluginFromUI( MAiPropertyExtension& aPlugin );
-            
-    MAiMainUiController* MainInterface();
-    
-    MAiSecondaryUiController* SecondaryInterface();
-        
-private: 
-    // from MAiMainUiController
-
-    void RunApplicationL();
-    
-    CCoeEnv& CoeEnv();
-    
-    void SetUiFrameworkObserver( MAiUiFrameworkObserver& aObserver );
-        
-    void Exit();
-    
-    TBool IsMenuOpen();
-    
-private: 
-    // from MAiUiEventHandler
-
-    TBool HandleUiEvent(TAny* aEvent, const TDesC8& aParam);
-              
-private: 
-    // Constructors
-
-    CXmlUiController();
-    
-    void ConstructL();
-
-private: 
-    // New methods    
-    static CApaApplication* NewApplication();
-    
-    void HandleFocusGainedL( const TDesC8& aUiElement1, const TDesC8& aUiElement2, CXnNodeAppIf& aOrigin );
-    
-    void HandleSetElementSizeL( const TDesC8& aElementName, CXnNodeAppIf& aOrigin );
-    
-    static TInt ExitTimerCallBack(TAny *aSelf);
-
-    void GetSettingsFromCRL( const TAiPublisherInfo& aPubInfo, RAiSettingsItemArray &aPluginSettings );
-    
-    void GetContentItemL(  CXnNodeAppIf& aNode, RAiSettingsItemArray& aSettings, HBufC*& aItemName );
-    
-    void GetConfigurationsL( CXnNodeAppIf& aNode, RAiSettingsItemArray& aSettings, const TDesC& aConfOwner );
-    
-    void GetContentModelL(const TAiPublisherInfo& aPubInfo, RAiSettingsItemArray& aSettings);
-                
-private: // data
-        
-    /**
-     * Ai content observer. Not own.
-     */
-    MAiContentObserver* iObserver;
-    
-    /**
-     * Ui framework observer. Not own.
-     */
-    MAiUiFrameworkObserver* iUiFrameworkObserver;
-    
-    /**
-     * Event handler. Not own.
-     */
-    MAiFwEventHandler* iFwEventHandler;
-    
-    /**
-     * Node id generator. Own.
-     */
-    CXmlNodeIdGenerator* iNodeIdGenerator;
-    
-    /**
-     * App UI. Not own.
-     */
-    CAppUi* iAppUi;
-    
-    /**
-     * Timer to call AppUi's exit. Own.
-    **/
-    CPeriodic *iExitTimer; 
-    
-    /**
-     * Cenrep. Own.
-     */
-    CRepository *iAISettingsRepository;
-
-    /**
-     * CPS publisher. Own.
-     */
-    CContentPublisher* iCPSpublisher;
-    
-    /**
-     * Flag to indicate whether running as main UI controller
-     */
-    TBool iRunningAsMain;
-    };    
-}  // namespace AiXmlUiController
-
-#endif  // C_XMLUICONTROLLER_H
--- a/idlehomescreen/xmluicontroller/inc/xmluicontroller.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-*
-*/
-
-
-#include "appui.h"
-
-using namespace AiXmlUiController;
-
-inline TXnUiEngineAppIf* CXmlUiController::UiEngineL() const
-    {
-    return iAppUi ? iAppUi->UiEngineL() : NULL;
-    }
--- a/idlehomescreen/xmluicontroller/inc/xmluicontrollerpanic.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Module specific panic definitions
-*
-*/
-
-
-#ifndef XMLUICONTROLLERPANIC_H
-#define XMLUICONTROLLERPANIC_H
-
-namespace AiXmlUiController
-{
-    
-    enum TAiXmlUiControllerPanic
-        {
-        ETransactionStackEmpty,
-        ETransactionStackNotEmpty,
-        ETransactionElementListNotEmpty,
-        ETargetNodeNull,
-        ETargetNodeNotNull,
-        EBitmapNull,
-        ECriticalPointerNull
-        };
-        
-    void Panic( TAiXmlUiControllerPanic aPanic );
-    
-} // namespace AiXmlUiController
-
-#endif // XMLUICONTROLLERPANIC_H
\ No newline at end of file
--- a/idlehomescreen/xmluicontroller/rom/ai3xmluicontroller.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies 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 project ActiveIdle3
-*
-*/
-
-
-#ifndef XMLUICONTROLLER_IBY
-#define XMLUICONTROLLER_IBY
-
-
-#include <data_caging_paths_for_iby.hrh>
-
-ECOM_PLUGIN( ai3xmluimain.dll, ai3xmluimain.rsc )
-data=\epoc32\data\Z\resource\apps\ai3xmlui.rsc      APP_RESOURCE_DIR\ai3xmlui.rsc
-
-// Reference UI theme
-//data=CPRIVATE\10207254\themes\3772834016\270513751\285221529\1.0\TMP04f65.o0000				PRIVATE\10207254\themes\271012080\270513751\271063147\1.0\TMP04f65.o0000
-
-
-// NOTE!! FILES BELOW ARE INCLUDED TO IMAGE BY OLD XUIKON AND ACTIVEIDLE2. UNCOMMENT WHEN AI2 AND XUIKON
-//        ARE REMOVED FROM RELEASE.
-
-// Theme skeletons
-//data=ZPRIVATE\10207254\themes\271012080\270513751\271063149\1.0\AI.o0000                                 PRIVATE\10207254\themes\271012080\270513751\271063149\1.0\AI.o0000
-//data=ZPRIVATE\10207254\themes\271012080\270513751\271063148\1.0\BI.o0000                                 PRIVATE\10207254\themes\271012080\270513751\271063148\1.0\BI.o0000
-//data=ZPRIVATE\10207254\themes\271012080\270513751\271063147\1.0\CI.o0000                                 PRIVATE\10207254\themes\271012080\270513751\271063147\1.0\CI.o0000
-//data=ZPRIVATE\10207254\themes\271012080\270513751\271068379\1.0\FT.o0000								 PRIVATE\10207254\themes\271012080\270513751\271068379\1.0\FT.o0000
-
-// Semitransparencymask for Navibar (AI) theme
-//data=ZPRIVATE\10207254\themes\271012080\270513751\271063149\1.0\sources\qsn_fr_popup_sub_mask_icon.svg                                 PRIVATE\10207254\themes\271012080\270513751\271063149\1.0\sources\qsn_fr_popup_sub_mask_icon.svg
-//data=ZPRIVATE\10207254\themes\271012080\270513751\271063148\1.0\sources\idle_toolbaricons.mif                                PRIVATE\10207254\themes\271012080\270513751\271063148\1.0\sources\idle_toolbaricons.mif
-//data=ZPRIVATE\10207254\themes\271012080\270513751\271068379\1.0\sources\idle_toolbaricons.mif                                 PRIVATE\10207254\themes\271012080\270513751\271068379\1.0\sources\idle_toolbaricons.mif
-
-//data=ZPRIVATE\10207254\themes\271012080\270513751\271068379\1.0\sources\fmradioclassicidle.mif                                PRIVATE\10207254\themes\271012080\270513751\271068379\1.0\sources\fmradioclassicidle.mif
-
-//data=ZPRIVATE\10275102\backup_registration.xml  private\10275102\backup_registration.xml
-
-
-#endif // XMLUICONTROLLER_IBY
--- a/idlehomescreen/xmluicontroller/rom/ai3xmluicontroller_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies 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 project ActiveIdle3
-*
-*/
-
-#ifndef XMLUICONTROLLERRESOURCES_IBY
-#define XMLUICONTROLLERRESOURCES_IBY
-
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=\epoc32\data\Z\resource\apps\ai3xmlui.rsc      APP_RESOURCE_DIR\ai3xmlui.rsc
-
-#endif // XMLUICONTROLLERRESOURCES_IBY
--- a/idlehomescreen/xmluicontroller/src/activetransactionstack.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Active transaction stack
-*
-*/
-
-
-#include    "activetransactionstack.h"
-#include    "transaction.h"
-#include    "xmluicontrollerpanic.h"
-
-
-
-using namespace AiXmlUiController;
-
-// ========================== MEMBER FUNCTIONS ===============================
-
-CActiveTransactionStack::CActiveTransactionStack()
-    : iTransactions( CTransaction::LinkOffset() )
-    {
-    }
-
-CActiveTransactionStack* CActiveTransactionStack::NewL()
-    {
-    CActiveTransactionStack* self = new( ELeave ) CActiveTransactionStack;
-    
-    return self;
-    }
-    
-CActiveTransactionStack::~CActiveTransactionStack()
-    {
-    __ASSERT_DEBUG( IsEmpty(), Panic( ETransactionStackNotEmpty ) );
-    }
-
-TBool CActiveTransactionStack::IsEmpty() const
-    {
-    return iTransactions.IsEmpty();
-    }
-            
-void CActiveTransactionStack::Push( MTransaction* aTransaction )
-    {
-    CTransaction* tr = dynamic_cast< CTransaction* >( aTransaction );
-    
-    if ( tr )
-        {
-        iTransactions.AddFirst( *tr );
-        }
-    }
-
-MTransaction* CActiveTransactionStack::Pop()
-    {
-    CTransaction* tr = DoTop();
-    if ( tr )
-        {
-        tr->Deque();
-        }
-        
-    return tr;
-    }
-    
-MTransaction* CActiveTransactionStack::Top() const
-    {
-    return DoTop();
-    }
-            
-MTransaction* CActiveTransactionStack::Lookup( TInt aTxId ) const
-    {
-    return DoLookup( aTxId );
-    }
-            
-MTransaction* CActiveTransactionStack::Remove( TInt aTxId )
-    {
-    CTransaction* tr = DoLookup( aTxId );
-    
-    if ( tr )
-        {
-        tr->Deque();
-        }
-    
-    return tr;
-    }
-
-CTransaction* CActiveTransactionStack::DoTop() const
-    {
-    __ASSERT_ALWAYS( !iTransactions.IsEmpty(), Panic( ETransactionStackEmpty ) );
-
-    CTransaction* tr = iTransactions.First();
-    return tr;
-    }
-
-CTransaction* CActiveTransactionStack::DoLookup( TInt aTxId ) const
-    {
-    // Iterate over transactions and search transaction with aTxId
-    TDblQueIter< CTransaction >
-        iter( const_cast< TDblQue< CTransaction >& >( iTransactions ) );
-    iter.SetToFirst();
-    
-    while ( iter )
-        {
-        CTransaction* tr = iter++;
-        
-        if ( tr->Id() == aTxId )
-            {
-            // Match. Return transaction 
-            return tr;
-            }        
-        }
-        
-    return NULL;
-    }
-    
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/ai3xmlui.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-*
-*/
-
-
-// ========== RESOURCE IDENTIFIER =============================================
-
-NAME    AI3X
-
-// ========== INCLUDE FILES ===================================================
-
-#include <eikon.rh>
-#include <eikcore.rsg>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <e32keys.h>
-#include <activeidle3.loc>
-// ========== RESOURCE DEFINITIONS ============================================
-
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf = ""; }
-
-RESOURCE EIK_APP_INFO
-{
-    cba     = R_AVKON_SOFTKEYS_EMPTY;
-    status_pane = r_xui_status_pane;
-}
-
-// -----------------------------------------------------------------------------
-//   
-//    r_idle_title_pane
-//    It defines idle's status pane. Title pane is empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_xui_title_pane
-    {
-    txt = " "; 
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_idle_status_pane
-//    It defines idle's status pane.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE STATUS_PANE_APP_MODEL r_xui_status_pane
-    {
-    layout = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT_NO_SOFTKEYS;
-    panes =
-        {
-        SPANE_PANE
-            {
-            id = EEikStatusPaneUidTitle;
-            type = EAknCtTitlePane;
-            resource = r_xui_title_pane;
-            }
-        };
-    }
-
-RESOURCE AVKON_SKEY_LIST r_xui_default_skey_list
-    {
-    list =
-        {
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;}
-#ifdef __QWERTY_INPUT
-        , 
-        AVKON_SKEY_INFO {key='+'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='+'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='+'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;}
-#endif // __QWERTY_INPUT        
-        };
-    }
-
-RESOURCE TBUF r_qtn_hs_switch_online
-    {
-    buf = qtn_hs_switch_online;
-    }
-
-RESOURCE TBUF r_qtn_hs_disable_network
-    {
-    buf = qtn_hs_disable_network;
-    }
-
-RESOURCE TBUF r_qtn_hs_automatic_offline
-    {
-    buf = qtn_hs_automatic_offline;
-    }
-    
-RESOURCE TBUF r_qtn_hs_operation_failed_no_disk
-    {
-    buf = qtn_hs_operation_failed_no_disk;
-    }
-
-// home screen online dialog
-RESOURCE DIALOG r_yes_no_hs_online
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                label = qtn_hs_switch_online;
-                };
-            }
-        };
-    }
-
-
-// disable home screen network dialog
-RESOURCE DIALOG r_disable_hs_network
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                label = qtn_hs_disable_network;
-                };
-            }
-        };
-    }
--- a/idlehomescreen/xmluicontroller/src/ai3xmluimain.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-*
-*/
-
-
-#include <platform/mw/aiuicontrolleruid.hrh>
-#include <platform/mw/aisystemuids.hrh>
-#include <ecom/registryinfov2.rh>
-
-// ========== RESOURCE DEFINITIONS ============================================
-
-RESOURCE REGISTRY_INFO registry_info
-{
-    resource_format_version = RESOURCE_FORMAT_VERSION_2;
-    // UID for the DLL
-    dll_uid = AI3_UID_ECOM_DLL_UICONTROLLER_XML;
-
-    // Interface info array
-    interfaces =
-    {
-        INTERFACE_INFO
-        {
-            // UID of the implemented interface
-            interface_uid = AI_UID_ECOM_INTERFACE_UICONTROLLER;
-
-            implementations =
-            {
-                IMPLEMENTATION_INFO
-                {
-                    implementation_uid =  AI3_UID_ECOM_IMPLEMENTATION_UICONTROLLER_XML;
-                    version_no         =  1;
-                    display_name       =  "AI3 User Interface";
-                    default_data       =  " ";
-                    opaque_data        =  " ";
-                    rom_only           =  1;
-                }
-            };
-        }
-    };
-}
-
-// End of File.
--- a/idlehomescreen/xmluicontroller/src/aieventhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +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:  Used for handling system events (events with EventHandler-prefix).
-*
-*/
-
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-#include <liwcommon.h>
-#include <UikonInternalPSKeys.h>
-#include <e32property.h>
-
-#include "aieventhandler.h"
-#include "aixmluiconstants.h"
-#include "xmluicontroller.h"
-#include "appui.h"
-#include "xndomnode.h"
-#include "xnuiengineappif.h"
-#include "xnnodeappif.h"
-#include "aistrcnv.h"
-
-#include <csxhelp/hmsc.hlp.hrh>
-#include <hlplch.h>
-
-using namespace AiXmlUiController;
-
-// Action Handler LIW commands
-_LIT8( KAHInterface, "IDataAction");
-_LIT8( KAHService, "Service.ActionHandler");
-
-_LIT( KLaunchApplication, "launch_application" );
-_LIT( KViewActivation, "view_activation" );
-_LIT( KCmdLine, "cmd_line");
-
-_LIT8( KType, "type" );
-_LIT8( KLaunchMethod, "launch_method" );
-_LIT8( KApplicationUid, "application_uid" );
-_LIT8( KViewId, "view_id" );
-_LIT8( KViewAppUid, "view_app_uid" );
-_LIT8( KMessageUid, "message_uid" );
-_LIT8( KAdditionalData, "additional_data" );
-_LIT8( KPluginId, "plugin_id" );
-_LIT8( KData, "data");
-_LIT8( KExecute, "Execute" );
-
-const TInt32 KCASpaAppLauncherPlugin = {0x10282E5F};
-const TUid KVoiceCallUidViewId = { 0x10282D81 };
-const TUid KVideoCallUid = { 0x101F8681 };
-
-// ======== LOCAL FUNCTIONS ========
-// ----------------------------------------------------------------------------
-// Shows the Homescreen specific help item
-// ----------------------------------------------------------------------------
-//
-static void ShowHelpL( const TDesC& aHelpString )
-    {
-    TUid fwUid = TUid::Uid( AI_UID3_AIFW_COMMON );
-    TCoeContextName helpString;
-    helpString.Copy( aHelpString );
-    
-    CArrayFixFlat<TCoeHelpContext>* array = 
-    new (ELeave) CArrayFixFlat<TCoeHelpContext>(1);
-    CleanupStack::PushL( array );
-    
-    array->AppendL( TCoeHelpContext( fwUid, helpString ) );
-    
-    HlpLauncher::LaunchHelpApplicationL( 
-    CCoeEnv::Static()->WsSession(), array );
-    
-    CleanupStack::Pop( array );
-    }
-
-// ---------------------------------------------------------------------------
-// Activates Phone application either in video call or normal view
-// ---------------------------------------------------------------------------
-//
-static void ActivatePhoneViewL( CXmlUiController& aUiController )
-    {
-    TInt topMostAppId = 0;
-    RProperty::Get( KPSUidUikon, KUikVideoCallTopApp, topMostAppId );
-    TUid appId(TUid::Uid(topMostAppId));
-    if( appId == KVideoCallUid)
-        {
-        const TVwsViewId viewId(appId, appId);
-        aUiController.AppUi()->ActivateViewL( viewId, KNullUid, KNullDesC8());  
-        }
-    else
-        {
-        const TVwsViewId viewId(appId, KVoiceCallUidViewId);
-        aUiController.AppUi()->ActivateViewL( viewId, KVoiceCallUidViewId, KNullDesC8());
-        }
-    }
-// ======== MEMBER FUNCTIONS ========
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::CAIXuikonEventHandler()
-// ----------------------------------------------------------------------------
-//
-CAIEventHandler::CAIEventHandler( CXmlUiController& aUiController )
-    : iUiController( aUiController ) 
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CAISystemEventHandler::ConstructL()
-// ----------------------------------------------------------------------------
-//
-void CAIEventHandler::ConstructL()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CAISystemEventHandler::NewL()
-// ----------------------------------------------------------------------------
-//
-CAIEventHandler* CAIEventHandler::NewL( CXmlUiController& aUiController )
-    {
-    CAIEventHandler* self =
-        new ( ELeave ) CAIEventHandler( aUiController );
-    CleanupStack::PushL( self );    
-    self->ConstructL();    
-    CleanupStack::Pop( self );    
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CAISystemEventHandler::~CAISystemEventHandler()
-// ----------------------------------------------------------------------------
-//
-CAIEventHandler::~CAIEventHandler()
-    {
-    if( iServiceHandler )
-        {
-        iServiceHandler->Reset();
-        }
-    delete iServiceHandler;
-    }
-
-// ----------------------------------------------------------------------------
-// Handles the restricted ( can be triggered only from view) events and forwards 
-// the rest into appropriate functions.
-// ----------------------------------------------------------------------------
-//
-void CAIEventHandler::HandleEventL( const TDesC8& aEventText, CXnDomNode& aEvent )
-    {
-    const TDesC8& prefix( AiUiDef::xml::event::KEventHandlerPrefix );
-    const TDesC8& event( aEventText.Mid( prefix.Length() ) );
-    const TDesC8& ns( iUiController.UiEngineL()->ActiveView()->Namespace() );
-    // These events can be excuted from view only
-    if( aEvent.Namespace() == ns)
-        {
-        if ( event == AiUiDef::xml::event::KEventSetOnline )
-            {
-            iUiController.AppUi()->SetOnlineStateL( ETrue );
-            }
-        else if ( event == AiUiDef::xml::event::KEventSetOffline )
-            {
-            iUiController.AppUi()->SetOnlineStateL( EFalse );
-            }    
-        else if ( event == AiUiDef::xml::event::KEventShowHelp )
-            {
-            if( iUiController.UiEngineL()->IsEditMode() )
-                {
-                ShowHelpL( KSET_HLP_HOME_SCREEN_EDIT );
-                }
-            else
-                {
-                ShowHelpL( KSET_HLP_HOME_SCREEN );
-                }
-            }
-        else if ( event == AiUiDef::xml::event::KEventActivatePhoneView )
-            {
-            ActivatePhoneViewL( iUiController );
-            }
-        }
-
-    if( event == AiUiDef::xml::event::KEventLaunchApp )
-        {
-        LaunchAppL( aEvent );
-        }
-    else if( event == AiUiDef::xml::event::KEventActivateView )
-        {
-        ActivateViewL( aEvent );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// Launches app using Action Handler
-// ----------------------------------------------------------------------------
-//
-void CAIEventHandler::LaunchAppL( CXnDomNode& aEventNode )
-    { 
-    const TDesC8& uidStr( aEventNode.AttributeValue( AiUiDef::xml::property::KUid ));
-    TInt32 uid( 0 );
-    User::LeaveIfError( AiUtility::ParseInt( uid, uidStr ) );
-    
-    CLiwDefaultMap* map = CLiwDefaultMap::NewL(); 
-    map->PushL();
-    map->InsertL( KType, TLiwVariant( KLaunchApplication ));
-    map->InsertL( KLaunchMethod, TLiwVariant( KCmdLine ));
-    map->InsertL( KApplicationUid, TLiwVariant( uid ));
-
-    ExecuteAppLauncherL( *map );
-
-    CleanupStack::PopAndDestroy( map );
-    }
-
-// ----------------------------------------------------------------------------
-// Activates view using Action Handler
-// ----------------------------------------------------------------------------
-//
-void CAIEventHandler::ActivateViewL( CXnDomNode& aEventNode )
-    {
-    const TDesC8& uidStr( aEventNode.AttributeValue( AiUiDef::xml::property::KUid ));
-    const TDesC8& viewIdStr( aEventNode.AttributeValue( AiUiDef::xml::property::KViewId ));
-    const TDesC8& messageIdStr( aEventNode.AttributeValue( AiUiDef::xml::property::KMessageId ));
-    const TDesC8& messageStr( aEventNode.AttributeValue( AiUiDef::xml::property::KMessage ));
-
-    CLiwDefaultMap* map = CLiwDefaultMap :: NewL(); 
-    map->PushL();
-    map->InsertL( KType, TLiwVariant( KViewActivation ));
-    TInt32 uid( 0 );    
-    User::LeaveIfError( AiUtility::ParseInt( uid, uidStr ) );
-    map->InsertL( KViewAppUid, TLiwVariant( uid ));
-    
-    TInt32 viewId( 0 );
-    User::LeaveIfError( AiUtility::ParseInt( viewId, viewIdStr ) );
-    map->InsertL( KViewId, TLiwVariant( viewId ));
-    
-    if( messageIdStr.Length() != 0 )
-        {
-        TInt32 messageId( 0 );
-        User::LeaveIfError( AiUtility::ParseInt( messageId, messageIdStr ) );
-        map->InsertL( KMessageUid, TLiwVariant( messageId ));
-        
-        map->InsertL( KAdditionalData, TLiwVariant( messageStr ));
-        }
-
-    ExecuteAppLauncherL( *map );
-
-    CleanupStack::PopAndDestroy( map );
-    }
-
-// ----------------------------------------------------------------------------
-// Calls the actual LIW interface
-// ----------------------------------------------------------------------------
-//
-void CAIEventHandler::ExecuteAppLauncherL( CLiwDefaultMap& aMap )
-    {
-    MLiwInterface* msgInterface = ActionHandlerInterfaceL( );
-    if( msgInterface && iServiceHandler )
-        {
-        CLiwGenericParamList& inparam = iServiceHandler->InParamListL();
-        CLiwGenericParamList& outparam = iServiceHandler->OutParamListL();
-        
-        TLiwGenericParam pluginUid( KPluginId, TLiwVariant( TUid::Uid( KCASpaAppLauncherPlugin )));
-        inparam.AppendL( pluginUid );
-
-        TLiwGenericParam data( KData, TLiwVariant( &aMap ));
-        inparam.AppendL( data );
-
-        msgInterface ->ExecuteCmdL(KExecute, inparam, outparam);
-        msgInterface->Close();
-
-        outparam.Reset();
-        inparam.Reset();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// Gets the Action Handler interface
-// ----------------------------------------------------------------------------
-//
-MLiwInterface* CAIEventHandler::ActionHandlerInterfaceL( )
-    {
-    if( !iServiceHandler )
-        {
-        iServiceHandler = CLiwServiceHandler::NewL();
-        }
-    CLiwGenericParamList& inParam = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParam = iServiceHandler->OutParamListL();
-
-    CLiwCriteriaItem* crit = CLiwCriteriaItem::NewL( KLiwCmdAsStr, KAHInterface, KAHService);
-
-    CleanupStack::PushL( crit );
-    crit->SetServiceClass( TUid::Uid( KLiwClassBase ));
-    
-    RCriteriaArray a;
-    a.AppendL(crit);    
-    
-    iServiceHandler->AttachL(a);
-    iServiceHandler->ExecuteServiceCmdL( *crit, inParam, outParam ); 
-    
-    CleanupStack::PopAndDestroy( crit );
-    a.Reset();
-    
-    // find service interface
-    TInt pos = 0;
-    MLiwInterface* msgInterface = NULL;
-    outParam.FindFirst( pos, KAHInterface );
-    if ( pos != KErrNotFound ) 
-        {
-        msgInterface = (outParam)[pos].Value().AsInterface(); 
-        }
-    
-    outParam.Reset();
-    inParam.Reset();
-
-    return msgInterface;
-    }
-
-// End of file
--- a/idlehomescreen/xmluicontroller/src/aipolicyelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Policy element
-*
-*/
-
-
-#include "aipolicyelement.h"
-#include "aixmluiconstants.h"
-#include "xmluicontrollerpanic.h"
-
-using namespace AiXmlUiController;
-
-// ======== MEMBER FUNCTIONS ========
-
-TAiPolicyElement::TAiPolicyElement()
-    : iTarget( NULL ),
-      iPolicy( KNullDesC8 ),
-      iSeparator( KErrNotFound )
-    {
-    }
-
-TAiPolicyElement::TAiPolicyElement( CXnNodeAppIf& aTarget, const TDesC8& aPolicy )
-    : iTarget( &aTarget ),
-      iPolicy( aPolicy )
-    {
-    iSeparator = iPolicy.Find( AiUiDef::xml::css::KSeparator );
-    }
-
-CXnNodeAppIf& TAiPolicyElement::Target() const
-    {
-    if ( !iTarget )
-        {
-        AiXmlUiController::Panic( ETargetNodeNull );
-        }
-        
-    return *iTarget;
-    }
-
-TPtrC8 TAiPolicyElement::Name() const
-    {
-    if ( iSeparator < 0 )
-        {
-        return TPtrC8( KNullDesC8 );
-        }
-        
-    return TLex8( iPolicy.Left( iSeparator ) ).NextToken();
-    }
-
-TPtrC8 TAiPolicyElement::Policy() const
-    {
-    return iPolicy;
-    }
-
-TPtrC8 TAiPolicyElement::Value() const
-    {
-    if ( iSeparator < 0 )
-        {
-        return TPtrC8( KNullDesC8 );
-        }
-        
-    TPtrC8 value( TLex8( iPolicy.Mid( iSeparator + 1 ) ).NextToken() );
-    
-    TInt terminatorPos = value.Find( AiUiDef::xml::css::KValueTerminator );
-    
-    if ( terminatorPos > KErrNotFound )
-        {
-        return value.Left( terminatorPos );
-        }
-    else
-        {
-        return value;
-        }
-    }
--- a/idlehomescreen/xmluicontroller/src/aixmluiutils.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1079 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Common utility functions
-*
-*/
-
-
-#include "xnchilditeratorbuilder.h"
-#include "xnnodeappif.h"
-#include "xnproperty.h"
-#include "xndomlist.h"
-#include "mxndomlistitem.h"
-#include "xndomproperty.h"
-#include "xndompropertyvalue.h"
-#include "xnuiengineappif.h"
-
-#include <AknsItemID.h>
-#include <AknsUtils.h>
-#include <AknsSkinInstance.h>
-#include <gulicon.h>
-#include <SVGEngineInterfaceImpl.h>
-#include <gdi.h>
-#include <mifconvdefs.h>
-#include "xnnode.h"	
-
-#include "aixmluiutils.h"
-#include "aixmluiconstants.h"
-#include "csspropertymap.h"
-#include "aipolicyelement.h"
-#include "transaction.h"
-#include "debug.h"
-
-#include "xnbreadthfirsttreeiterator.h"
-namespace
-    {
-    
-    /**
-     * CSS Property value update types.
-     */
-    enum TPropertyUpdateType
-        {
-        EAbsoluteValue = 0,
-        EAddition,
-        ESubtraction,
-        EIncrementalAddition,
-        EIncrementalSubtraction
-        };
-    
-    /**
-     *
-     */
-    _LIT8( KAdditionOperator, "+" );
-
-    _LIT8( KIncrementalAdditionOperator, "++" );
-    
-    _LIT8( KSubtractionOperator, "-" );
-
-    _LIT8( KIncrementalSubtractionOperator, "--" );
-    
-    const TInt KLenAddSubOperator = 1;
-
-    const TInt KLenIncrementalOperator = 2;
-         
-    _LIT( KMIFExtension, ".mif" );
-    
-   // _LIT( KSVGExtension, ".svg" );
-    
-    _LIT( KHashmark, "#" );
-    
-    const TUint8 KDoubleQuote = '"';
-    
-    const TUint8 KSingleQuote = '\'';
-    
-    const TInt KLenDoubleQuotes = 2;
-    const TInt KDepthT = 1;
-    
-    class TIconProvider : public MAknIconFileProvider
-    {
-    public:
-        /**
-        * Constructor
-        * @param aFile File handle to use
-        */
-        TIconProvider(RFile& aFile) : iFile(aFile)
-            {
-            }
-    public:
-
-        /**
-        * Destructor.
-        */
-        virtual ~TIconProvider()
-            {
-            iFile.Close();
-            }
-        // Functions from base classes
-        /**
-        * From MAknIconFileProvider Returns an open file handle to the icon file.
-        * This method should leave if an icon file with specified type does
-        * not exist. That may be the case e.g. with MBM file,
-        * if there are no bitmap icons.
-        *
-        * Note! RFs::ShareProtected must be called to the RFs instance used
-        * for opening the file.
-        *
-        * @param aFile Icon file should be opened in this file handle, which
-        * is an empty file handle, when the AknIcon framework calls this method.
-        * The AknIcon framework takes care of closing the file handle after
-        * having used it.
-        * @param aType Icon file type.
-        */
-        virtual void RetrieveIconFileHandleL(
-            RFile& aFile, const TIconFileType /*aType*/ )
-            {
-            aFile.Duplicate(iFile);
-            }
-
-        /**
-        * From MAknIconFileProvider With this method, AknIcon framework informs that it does not use
-        * this MAknIconFileProvider instance any more. After this call,
-        * it is ok to delete the object. This can be implemented simply
-        * e.g. by deleting self in this callback.
-        * Normally, this callback is invoked when the icon in question
-        * is deleted.
-        * Note, however, that if the same MAknIconFileProvider instance is
-        * supplied in multiple CreateIcon calls, then it must be accessible
-        * by AknIcon framework until it has signalled a matching amount
-        * of these callbacks.
-        */
-        virtual void Finished()
-            {
-            iFile.Close();
-            delete this;
-            }
-    private:
-        // file to use
-        RFile iFile;        
-    }; 
-    
-     /**
-     * Tests if string ends with given pattern
-     * 
-     * @param aString input string
-     * @param aPattern test pattern
-     * @return ETrue if string ends with given pattern.
-     */
-    TBool EndsWith( const TDesC8& aString, const TDesC8& aPattern )
-        {
-        return ( aString.Right( aPattern.Length() ) == aPattern );
-        }
-
-  /**
-     * Tests if string ends with given pattern
-     * 
-     * @param aString input string
-     * @param aPattern test pattern
-     * @return ETrue if string ends with given pattern.
-     */
-    TBool EndsWith( const TDesC& aString, const TDesC& aPattern )
-        {
-        return ( aString.Right( aPattern.Length() ) == aPattern );
-        }    
-    /**
-     * Removes pattern from the end of string. Function does not validate
-     * that the pattern is in the end of string. It just cuts out the number
-     * of aPattern length characters from the string.
-     *
-     * @param aString input string
-     * @param aPattern pattern
-     * @return string without pattern.
-     */
-    TPtrC8 Strip( const TDesC8& aString, const TDesC8& aPattern )
-        {
-        return aString.Left( aString.Length() - aPattern.Length() );
-        }
-    
-    /**
-     * Selects a proper string data value type
-     */
-    CXnDomPropertyValue::TPrimitiveValueType SelectStringDataType(
-                                                    const TDesC8& aPropertyName,
-                                                    const TDesC8& aPropertyValue )
-        {
-        if ( aPropertyName == XnPropertyNames::style::common::KDisplay
-             && ( aPropertyValue == XnPropertyNames::style::common::display::KBlock
-                  || aPropertyValue == XnPropertyNames::style::common::display::KNone ) )
-            {
-            return CXnDomPropertyValue::EString;
-            }
-        
-        if ( aPropertyName == XnPropertyNames::style::common::KVisibility
-             && ( aPropertyValue == XnPropertyNames::style::common::visibility::KVisible
-                  || aPropertyValue == XnPropertyNames::style::common::visibility::KHidden ) )
-            {
-            return CXnDomPropertyValue::EString;
-            }
-        if ( aPropertyName == XnPropertyNames::style::common::KNavIndex )
-            {
-            return CXnDomPropertyValue::EIdent;
-            }
-            
-        return CXnDomPropertyValue::EUnknown;
-        }
-    
-    /**
-     * Validates string
-     */
-    TBool IsValidCssString( const TDesC8& aString )
-        {
-        // Null string or unquoted string is not a CSS string
-        if ( aString.Length() < KLenDoubleQuotes )
-            {
-            return EFalse;
-            }
-        
-        const TUint8 quotationMark( aString[0] );    
-        if ( ( quotationMark == KDoubleQuote || quotationMark == KSingleQuote )
-             && aString[ aString.Length() - 1 ] == quotationMark )
-            {
-            return ETrue;
-            }
-        
-        return EFalse;
-        }
-    
-    /**
-     * Removes extra quotes from strings. Assumes that the string is quoted.
-     */ 
-    TPtrC8 RemoveQuotes( const TDesC8& aString )
-        {
-        return aString.Mid( 1, aString.Length() - KLenDoubleQuotes );
-        }
-    
-    /**
-     * Parses a primitive data type of a string.
-     *
-     * @param aInputValue[in]   input value with primitive type information.
-     * @param aStringValue[out] value without type information.
-     * @param aFloatValue       value as float if type is a numerical type.
-     * @param aPrimitiveType[out]        primitive type.
-     * @param aUpdateType[out]  update type
-     */
-    void ParseCSSValue( const TDesC8& aInputValue,
-                        TPtrC8& aStringValue,
-                        TReal& aFloatValue,
-                        CXnDomPropertyValue::TPrimitiveValueType& aPrimitiveType,
-                        TPropertyUpdateType& aUpdateType )
-        {
-        aPrimitiveType = CXnDomPropertyValue::EUnknown;
-        aUpdateType = EAbsoluteValue;
-        
-        TPtrC8 unit;
-        
-        // Recognise type
-        
-        if ( EndsWith( aInputValue, AiUiDef::xml::css::KPercentage ) )
-            {
-            unit.Set( AiUiDef::xml::css::KPercentage );
-            aPrimitiveType = CXnDomPropertyValue::EPercentage;
-            }
-        else if ( EndsWith( aInputValue, AiUiDef::xml::css::KPixel ) )
-            {
-            unit.Set( AiUiDef::xml::css::KPixel );
-            aPrimitiveType = CXnDomPropertyValue::EPx;
-            }
-        else if ( EndsWith( aInputValue, AiUiDef::xml::css::KUnitValue ) )
-            {
-            unit.Set( AiUiDef::xml::css::KUnitValue );
-            aPrimitiveType = CXnDomPropertyValue::EUnitValue;
-            }
-        else if ( IsValidCssString( aInputValue ) )
-            {
-            aPrimitiveType = CXnDomPropertyValue::EString;
-            aStringValue.Set( RemoveQuotes( aInputValue ) );
-            return;
-            }
-            
-        // Validate type
-        switch ( aPrimitiveType )
-            {
-            // Supported float types
-            case CXnDomPropertyValue::EPercentage:
-            case CXnDomPropertyValue::EPx:
-            case CXnDomPropertyValue::EUnitValue: // fallthrough
-                {
-                // Remove unit
-                aStringValue.Set( Strip( aInputValue, unit ) );
-                
-                // Determine update type
-                if ( aStringValue.Find( KIncrementalAdditionOperator ) == 0 )
-                    {
-                    aUpdateType = EIncrementalAddition;
-                    
-                    // Remove sign
-                    aStringValue.Set( aStringValue.Mid( KLenIncrementalOperator ) );
-                    }
-                else if ( aStringValue.Find( KAdditionOperator ) == 0 )
-                    {
-                    aUpdateType = EAddition;
-                    
-                    // Remove sign
-                    aStringValue.Set( aStringValue.Mid( KLenAddSubOperator ) );
-                    }
-                else if ( aStringValue.Find( KIncrementalSubtractionOperator ) == 0 )
-                    {
-                    // Use addition, so only one sign has to be removed
-                    aUpdateType = EAddition;
-                    
-                    aStringValue.Set( aStringValue.Mid( KLenAddSubOperator ) );
-                    }
-                else if ( aStringValue.Find( KSubtractionOperator ) == 0 )
-                    {
-                    // Use addition, so sign does not have to be removed
-                    aUpdateType = EAddition;
-                    }
-
-                if ( TLex8( aStringValue ).Val( aFloatValue ) != KErrNone )
-                    {
-                    // Not a numerical value. Restore value
-                    aPrimitiveType = CXnDomPropertyValue::EUnknown;
-                    aUpdateType = EAbsoluteValue;
-                    aStringValue.Set( aInputValue );
-                    }
-                
-                break;
-                }
-            
-            // string types    
-            default:
-                {
-                aStringValue.Set( aInputValue );
-                break;
-                }
-            
-            }
-        }
-    
-    /**
-     * Updates property value
-     *
-     * @param aValue property value to update.
-     * @param aStringValue new value as string
-     * @param aFloatValue new value as float (for number types)
-     * @param aPrimitiveType type of value
-     * @param aUpdateType type to update the value.
-     */
-    void UpdatePropertyValueL( CXnDomPropertyValue& aValue,
-                               const TDesC8& aStringValue,
-                               const TReal& aFloatValue,
-                               CXnDomPropertyValue::TPrimitiveValueType aPrimitiveType,
-                               TPropertyUpdateType aUpdateType )
-        {
-        switch ( aPrimitiveType )
-            {
-            // Supported float types
-            case CXnDomPropertyValue::EPercentage:
-            case CXnDomPropertyValue::EPx:
-            case CXnDomPropertyValue::EUnitValue: // fallthrough
-                {
-                TReal floatValue( aFloatValue );
-                // Select update type
-                switch ( aUpdateType )
-                    {
-                    case EAddition:  // fallthrough
-                    case EIncrementalAddition:
-                        {
-                        floatValue += aValue.FloatValueL();
-                        break;
-                        }
-                        
-                    case ESubtraction: // fallthrough
-                    case EIncrementalSubtraction:
-                        {
-                        floatValue = aValue.FloatValueL() - aFloatValue;
-                        break;
-                        }
-                    
-                    case EAbsoluteValue:
-                    default:
-                        {
-                        break;
-                        }
-                    }
-                
-                // Set new value as float
-                aValue.SetFloatValueL( aPrimitiveType, floatValue );
-                
-                break;
-                }
-            
-            // string types
-            case CXnDomPropertyValue::EUnknown:
-                {
-                // Use current type
-                aPrimitiveType = Max( aValue.PrimitiveValueType(), CXnDomPropertyValue::EUnknown );
-                
-                // Fall through to update...
-                }
-                
-            default: // fallthrough
-                {
-				if( aPrimitiveType == CXnDomPropertyValue::ENumber )
-					{
-					TReal floatValue;
-					TLex8( aStringValue ).Val( floatValue );
-					aValue.SetFloatValueL( aPrimitiveType, floatValue );
-					}
-				else
-					{
-                    // Set new value as string
-                     aValue.SetStringValueL( aPrimitiveType, aStringValue );
-					}
-                break;
-                }
-            }
-        }
-    
-    /**
-     * Creates a new property.
-     *
-     * @param aUiElement ui element to hold the property.
-     * @param aPropertyName name of the property.
-     * @param aPropertyValue value of the property.
-     */
-    void CreatePropertyL( CXnNodeAppIf& aUiElement,
-                          const TDesC8& aPropertyName,
-                          const TDesC8& aPropertyValue )
-        {
-        // Create new property value and property
-        CXnDomPropertyValue* value = CXnDomPropertyValue::NewL(
-                                                &aUiElement.UiEngineL()->StringPool() );
-        CleanupStack::PushL( value );
-        
-        CXnProperty* property = CXnProperty::NewL(
-                                                aPropertyName,
-                                                value,
-                                                aUiElement.UiEngineL()->StringPool() );
-        CleanupStack::Pop( value );
-        CleanupStack::PushL( property );
-        
-        // Parse CSS value
-        TPtrC8 stringValue;
-        TReal floatValue( 0 );
-        CXnDomPropertyValue::TPrimitiveValueType primitiveType(
-                                                CXnDomPropertyValue::EUnknown );
-        TPropertyUpdateType updateType( EAbsoluteValue );
-        
-        ParseCSSValue( aPropertyValue,
-                       stringValue,
-                       floatValue,
-                       primitiveType,
-                       updateType );
-        
-        if ( primitiveType == CXnDomPropertyValue::EUnknown )
-            {
-            primitiveType = SelectStringDataType( aPropertyName, aPropertyValue );
-            }
-            
-        // Update CSS value               
-        UpdatePropertyValueL( *value,
-                              stringValue,
-                              floatValue,
-                              primitiveType,
-                              updateType );
-        
-        // Add property to UI element                      
-        aUiElement.SetPropertyL( property );
-        
-        CleanupStack::Pop( property );
-        }
-    
-    
-    // Icon utilities
-    
-    _LIT( KSkin, "skin" );
-    const TUint KLeftParenthesis = '(';
-    
-    /**
-     * Resolves skin item id from pattern SKIN( <majorId> <minorId> (<colourGroupId>) ).
-     * The colourGroupId in the syntax is optional, and if no value found then
-     * aColourValue will be -1
-     *
-     * @param aItemId skin item id to fill
-     * @param aColourValue colour value to fill. 
-     * @param aPath   skin item id string     
-     * 
-     * @return ETrue if id was succesfully parsed.
-     */
-    TBool ResolveSkinItemId( TAknsItemID& aItemId, TInt& aColourValue, const TDesC& aPath )
-        {
-        // Syntax: skin( <major> <minor> )
-        TInt pos = aPath.FindF( KSkin );
-        aColourValue = -1;
-        if( pos != KErrNotFound )
-            {
-            // Skip skin token
-            pos += KSkin().Length();
-            
-            // Initialize lexer
-            TLex lex( aPath.Mid( pos ) );
-            lex.SkipSpace();
-            
-            // Check left parenthesis
-            if (lex.Get() != KLeftParenthesis )
-                {
-                return EFalse;
-                }
-            
-            lex.SkipSpace();
-            
-            TInt majorId( 0 );        
-            TInt minorId( 0 );
-            
-            // Resolve major id        
-            TInt error = lex.Val( majorId );
-            
-            // Resolve minor id
-            lex.SkipSpace();
-            error |= lex.Val( minorId );
-            
-            // initilize skin item id object
-            aItemId.Set( majorId, minorId );
-            
-            lex.SkipSpace();
-            TInt colorError = lex.Val( aColourValue );
-            if ( colorError != KErrNone || aColourValue < 0)
-                {
-                aColourValue = -1;
-                }
-                        
-            // Check error
-            return ( error == KErrNone );
-            }
-         
-        return EFalse;
-        }
-        
-	 /**
-     * Resolves MIF files filename and id from syntax
-     * mif_filename.mif#id. If the syntax is incorrect
-     * aId is -1 and filename zeroed and EFalse is returned
-     *
-     * @param aPath The path to extract the data from
-     * @param aId	Id to fill
-     * @param aFilename Filename to fill
-     * @return ETrue if id was succesfully parsed.
-     */
-    TBool ResolveMifIdAndPathL( const TDesC& aPath, TInt& aId, TDes& aFilename )
-        {
-        // Syntax: mif_filename.mif#index
-        TInt pos = aPath.FindF( KHashmark );
-        aFilename.Zero();
-        if( pos != KErrNotFound )
-            {
-            aFilename = (aPath.Left(pos));
-            if ( ! EndsWith( aFilename, KMIFExtension ) )
-            	{
-            	aFilename.Zero();
-            	return EFalse;
-            	}
-            
-            TLex lex(aPath.Mid(pos+1));
-            TInt error = lex.Val(aId);
-            if ( error != KErrNone )
-            	{
-            	aId = -1;
-            	return EFalse;
-            	}
-            return ETrue;
-            }
-           return EFalse;
-            
-            
-      
-        }        
-
-    /**
-    * Loads a bitmap icon from a MIF-file loaded to Xuikon by using
-    * <FileResource> tag
-    *
-    * @param aNode Resource node
-    * @param aFilename The filename to load
-    * @param aBitmap The bitmap to fill
-    * @param aBitmapMask The mask to fill
-    * @param aMifId The id of the icon in the MIF-file
-    *
-	* @return KErrNone if loading was successful KErrNotFound if not
-	*/
-    TInt LoadMIFBitmapL( CXnNodeAppIf &aNode, 
-    	const TDesC &aPath,
-    	CFbsBitmap*& aBitmap,
-    	CFbsBitmap*& aBitmapMask,
-    	TInt aMifId )
-    	{
-    	RFile tempFile;
-    	    	
-    	if ( aMifId < 0 )
-    		{
-    		return KErrNotFound;
-    		}
-    	  
-    	TInt err = aNode.UiEngineL()->GetThemeResource( aPath, tempFile );
-
-		if ( err != KErrNone )
-			{
-			tempFile.Close();
-			return err;
-			}
-    	
-    	//Requires an open RFile handle
-    	TIconProvider *iconProvider = 
-    		new (ELeave) TIconProvider(tempFile);
-
-    	CleanupStack::PushL( iconProvider );
-    	// Mask is next after bitmap
-        AknIconUtils::CreateIconL(aBitmap,aBitmapMask, *iconProvider,
-            aMifId+KMifIdFirst,aMifId+KMifIdFirst+1);
-
-    	CleanupStack::Pop(iconProvider); // iconProvider
-          
-        return KErrNone;
-    	}
-    }
-
-namespace AiXmlUiController
-{
-
-RPointerArray< CXnNodeAppIf >
-    FindPropertyElementL( CXnNodeAppIf& aUiElement, const TDesC8& aPropertyClass )
-    {
-    CXnBreadthFirstTreeIterator< CXnNodeAppIf >* iterator = 
-            CXnBreadthFirstTreeIterator< CXnNodeAppIf >::NewL( aUiElement, 
-            KDepthT );
-    CleanupDeletePushL( iterator );
-    
-    RPointerArray< CXnNodeAppIf > nodes;
-    
-    CleanupClosePushL( nodes );
-    
-    CXnNodeAppIf* child = iterator->Value() ;
-    
-    while ( child )
-        {
-        CXnProperty* classProperty = child->GetPropertyL(
-                                            XnPropertyNames::common::KClass );
-        
-        if ( classProperty && ( classProperty->StringValue() == aPropertyClass ) )
-            {
-            User::LeaveIfError( nodes.Append( child ) );
-            }
-        
-        child = iterator->NextL();
-        }
-    
-    CleanupStack::Pop( &nodes );
-    
-    CleanupStack::PopAndDestroy( iterator );
-    
-    return nodes;
-    }
-
-void FindPropertyElementL( RPointerArray< CXnNodeAppIf >& aArray, CXnNodeAppIf& aUiElement, const TDesC8& aPropertyClass )
-    {
-    CXnBreadthFirstTreeIterator< CXnNodeAppIf >* iterator = 
-            CXnBreadthFirstTreeIterator< CXnNodeAppIf >::NewL( aUiElement,
-            KDepthT );
-    CleanupDeletePushL( iterator );
-       
-    CXnNodeAppIf* child =  iterator->Value();
-    
-    while ( child )
-        {
-        CXnProperty* classProperty = child->GetPropertyL(
-                                            XnPropertyNames::common::KClass );
-        
-        if ( classProperty && ( classProperty->StringValue() == aPropertyClass ) )
-            {
-            User::LeaveIfError( aArray.Append( child ) );
-            }
-        
-        child = iterator->NextL();
-        }
-   
-    CleanupStack::PopAndDestroy( iterator );
-    }
-
-HBufC* PropertyValueL( const CXnNodeAppIf& aUiElement,
-                       const TDesC8& aPropertyName )
-    {
-    CXnProperty* property = aUiElement.GetPropertyL( aPropertyName );
-    
-    if ( property )
-        {
-        return property->StringValueL();
-        }
-        
-    return NULL;
-    }
-
-const TDesC8* PropertyValue( const CXnNodeAppIf& aUiElement,
-                             const TDesC8& aPropertyName )
-    {
-    CXnProperty* property = NULL;
-    TRAP_IGNORE( property = aUiElement.GetPropertyL( aPropertyName ) );
-    
-    if ( property )
-        {
-        return &property->StringValue();
-        }
-        
-    return NULL;
-    }
-
-void SetPropertyL( CXnNodeAppIf& aUiElement,
-                   const TDesC8& aPropertyName,
-                   const TDesC8& aPropertyValue,
-                   CCssPropertyMap& aPropertyMap )
-    {
-    CXnProperty* property = aUiElement.GetPropertyL( aPropertyName );
-    
-    if ( !property )
-        {
-        // Create new property
-        CreatePropertyL( aUiElement, aPropertyName, aPropertyValue );
-        return;
-        }
-    
-    // Clone property for update
-    property = property->CloneL();
-    CleanupStack::PushL( property );
-    
-    CXnDomProperty* domProperty = property->Property();
-    MXnDomListItem* item = domProperty->PropertyValueList().First();
-
-    CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >( item );
-    
-    if ( value )
-        {
-        TPtrC8 stringValue;
-        TReal floatValue(0);
-                
-        CXnDomPropertyValue::TPrimitiveValueType primitiveType(
-                                                CXnDomPropertyValue::EUnknown );
-        TPropertyUpdateType updateType( EAbsoluteValue );
-        
-        ParseCSSValue( aPropertyValue,
-                       stringValue,
-                       floatValue,
-                       primitiveType,
-                       updateType );
-        
-        if ( primitiveType == CXnDomPropertyValue::EUnknown )
-            {
-            primitiveType = SelectStringDataType( aPropertyName, aPropertyValue );
-            }
-        
-        if ( updateType != EAbsoluteValue &&
-             updateType != EIncrementalAddition &&
-             updateType != EIncrementalSubtraction )
-            {
-            // Use original value from property map
-            const TDesC8* elementId = PropertyValue( aUiElement,
-                                                     XnPropertyNames::common::KId );
-            CXnDomPropertyValue* original = NULL;
-            if( elementId )
-                {
-                original = aPropertyMap.FindPropertyValue(
-                                                        *elementId,
-                                                        aPropertyName );
-                }
-            else
-                {
-                User::Leave( KErrNotSupported );
-                }
-            
-            if ( original )
-                {
-                // Clone original value 
-                value = original->CloneL();
-                CleanupStack::PopAndDestroy( property ); // Old clone
-                CleanupStack::PushL( value );
-                property = CXnProperty::NewL( aPropertyName,
-                                              value,
-                                              aUiElement.UiEngineL()->StringPool() );
-                CleanupStack::Pop( value );
-                CleanupStack::PushL( property );
-                }
-            else
-                {
-                // store original value
-                aPropertyMap.StorePropertyValueL( *elementId, *property );
-                }
-            }
-        
-        UpdatePropertyValueL( *value,
-                              stringValue,
-                              floatValue,
-                              primitiveType,
-                              updateType );
-            
-            aUiElement.SetPropertyL( property );
-            CleanupStack::Pop( property );
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-
-void SetPropertiesToHashMapL( RArray<TAiPolicyElement>& aArray,
-                              CCssPropertyMap& aPropertyMap,
-                              RPropertyHashMap& aPropertyHashMap )
-    {
-    TBool propertyAdded = EFalse;
-    if( !aArray.Count() )
-        {
-        return;
-        }
-        
-    CXnNodeAppIf& uiElement = aArray[0].Target();
-    RPointerArray<CXnProperty>* propertyArray = NULL;
-    
-    propertyArray = aPropertyHashMap.Find( uiElement );
-    
-    if( !propertyArray )
-        {
-        // Create new one.
-        propertyArray = new(ELeave) RPropertyArray;
-        CleanupStack::PushL( propertyArray );
-        aPropertyHashMap.InsertL( &uiElement, propertyArray );
-        CleanupStack::Pop( propertyArray );
-        }
-    
-    for( TInt i = 0; i < aArray.Count(); ++i )
-        {
-        const TDesC8& propertyName = aArray[i].Name();
-        const TDesC8& propertyValue = aArray[i].Value();
-
-        CXnProperty* property = uiElement.GetPropertyL( propertyName );
-        
-        if ( !property )
-            {
-            // Create new property
-            CreatePropertyL( uiElement, propertyName, propertyValue );
-            propertyAdded = ETrue;
-            continue;
-            }
-        
-        // Clone property for update
-        property = property->CloneL();
-        CleanupStack::PushL( property );
-        
-        CXnDomProperty* domProperty = property->Property();
-        MXnDomListItem* item = domProperty->PropertyValueList().First();
-
-        CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >( item );
-        
-        if ( value )
-            {
-            TPtrC8 stringValue;
-            TReal floatValue(0);
-                    
-            CXnDomPropertyValue::TPrimitiveValueType primitiveType(
-                                                    CXnDomPropertyValue::EUnknown );
-            TPropertyUpdateType updateType( EAbsoluteValue );
-            
-            ParseCSSValue( propertyValue,
-                           stringValue,
-                           floatValue,
-                           primitiveType,
-                           updateType );
-            
-            if ( primitiveType == CXnDomPropertyValue::EUnknown )
-                {
-                primitiveType = SelectStringDataType( propertyName, propertyValue );
-                }
-            
-            if ( updateType != EAbsoluteValue )
-                {
-                // Use original value from property map
-                const TDesC8* elementId = PropertyValue( uiElement,
-                                                         XnPropertyNames::common::KId );
-                CXnDomPropertyValue* original = NULL;
-                if( elementId )
-                    {
-                    original = aPropertyMap.FindPropertyValue(
-                                                            *elementId,
-                                                            propertyName );
-                    }
-                else
-                    {
-                    User::Leave( KErrNotSupported );
-                    }
-                
-                if ( original )
-                    {
-                    // Clone original value 
-                    value = original->CloneL();
-                    CleanupStack::PopAndDestroy( property ); // Old clone
-                    CleanupStack::PushL( value );
-                    property = CXnProperty::NewL( propertyName,
-                                                  value,
-                                                  uiElement.UiEngineL()->StringPool() );
-                    CleanupStack::Pop( value );
-                    CleanupStack::PushL( property );
-                    }
-                else
-                    {
-                    // store original value
-                    aPropertyMap.StorePropertyValueL( *elementId, *property );
-                    }
-                }
-            
-                UpdatePropertyValueL( *value,
-                                      stringValue,
-                                      floatValue,
-                                      primitiveType,
-                                      updateType );
-                propertyArray->AppendL( property );
-                CleanupStack::Pop( property );
-            }
-        }
-        
-    if( !propertyAdded && !propertyArray->Count() )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-
-void SetPropertyArraysL( RPropertyHashMap& aPropertyHashMap )
-    {
-    TPtrHashMapIter<CXnNodeAppIf, RPropertyArray> iter( aPropertyHashMap );
-    iter.Reset();
-    
-    const CXnNodeAppIf* targetNode = (const CXnNodeAppIf*)iter.NextKey();
-    
-    while( targetNode )
-        {
-        CXnNodeAppIf* targetNonConst = const_cast<CXnNodeAppIf*>(targetNode);
-        RPointerArray<CXnProperty>* propertyArray = aPropertyHashMap.Find(*targetNode);
-        if( propertyArray )
-            {
-            targetNonConst->SetPropertyArrayL( propertyArray ); // Assumes ownership
-                                                                // of CXnProperty's in the array
-                                                                // but not the array itself.
-            propertyArray->Close(); // Close and delete the array to free all memory.
-            delete propertyArray;
-            aPropertyHashMap.Remove( targetNode ); // Remove the key from hash map
-                                                   // as the array is now destroyed.
-            iter.Reset(); // Reset the iterator to avoid panic.
-            }
-        targetNode =  (CXnNodeAppIf*)iter.NextKey();
-        }
-
-    }
-
-CGulIcon* LoadIconLC( CXnNodeAppIf& aResource )
-    {
-    // Resolve icon path
-    HBufC* pathBuffer = PropertyValueL( aResource, XnPropertyNames::image::KPath );
-    CleanupStack::PushL( pathBuffer );
-  	
-    LeaveIfNull( pathBuffer, KErrNotFound );
-    
-    CFbsBitmap *bitmap = NULL;
-    CFbsBitmap *mask = NULL;
-    CGulIcon* icon = NULL;
-
-	TFileName fileName;
-	TInt mifId(0);
-  
-  	//Assume that the filetype is not supported
-    TInt err = KErrNotSupported;
-    
-    // Resolve icon id    
-    TAknsItemID iconId;
-    
-    // Possible color index
-    TInt colorValue(-1);
-    
-    TBool inSkin = ResolveSkinItemId( iconId, colorValue, *pathBuffer );
-    
-    // SKIN(<major> <minor> (<optionalColourGroup>))
-    if ( inSkin )
-        {
-        // Load from skin
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        err = KErrNone;
-        // Load the icon with colour group support but only if it is valid
-        // see AknsConstants.h for these   
-        if ( colorValue >= EAknsCIQsnTextColorsCG1 && 
-             colorValue <= EAknsCIQsnTextColorsCG62 )
-            {
-            CFbsBitmap* bitmap = NULL;
-            CFbsBitmap* mask = NULL;
-            AknsUtils::CreateColorIconLC(
-                skin,
-                iconId,
-                KAknsIIDQsnTextColors,
-                colorValue,
-                bitmap,
-                mask,
-                KNullDesC,  /* no backup */
-                0,          /* no backup */
-                0,          /* no backup */
-                KRgbBlack );
-            
-            if ( bitmap )
-                {
-                icon = CGulIcon::NewL( bitmap, mask );              
-                }
-            else
-                {
-                err = KErrNotFound;
-                }
-            CleanupStack::Pop( 2 ); // bitmap, mask
-            }
-        // No colour group support
-        else
-            {
-            icon = AknsUtils::CreateGulIconL( skin, iconId, KNullDesC, 0, 0 );            
-            }
-
-    	if ( !icon ) // Syntax correct but icon not found
-    		{
-    		err = KErrNotFound;	
-    		} 
-        }
-   	
-	// MIF-file <filename.mif>#<index_in_mif>
-    else if ( ResolveMifIdAndPathL( *pathBuffer, mifId, fileName ) )
-    	{
-		err = LoadMIFBitmapL( aResource, fileName, bitmap, mask, mifId );
-		
-		if ( err == KErrNone && bitmap )
-			{
-			// Ownership of bitmap and mask transferred to CGulIcon
-			icon = CGulIcon::NewL( bitmap, mask );	
-			}
-		else // Syntax correct but the icon was not found
-			{
-			err = KErrNotFound;
-			}
-    	}
-	CleanupStack::PopAndDestroy( pathBuffer );      
-    CleanupStack::PushL( icon );
-    
-  	User::LeaveIfError( err );
-    return icon;
-    }
-    
-void SetPropertyToNodeL( 
-    CXnNodeAppIf& aNode, 
-    const TDesC8& aPropertyName, 
-    const TDesC8& aNewValueString )
-	{
-	// Set defined property to defined node.
-    CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( &aNode.UiEngineL()->StringPool() );
-    CleanupStack::PushL(newValue);
-    newValue->SetStringValueL(CXnDomPropertyValue::EString, aNewValueString);
-    CXnProperty* prop = CXnProperty::NewL(aPropertyName, newValue, aNode.UiEngineL()->StringPool());
-    CleanupStack::PushL(prop);
-	aNode.SetPropertyL(prop);
-    CleanupStack::Pop(prop);
-    CleanupStack::Pop(newValue);				        
-	}
-	
-} // namespace AiXmlUiController
--- a/idlehomescreen/xmluicontroller/src/aixmluiutils.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Inline utilities
-*
-*/
-
-
-// This is an utility which absolutely should be in euser lib / e32std.h!
-template< class PtrT > inline
-PtrT* AiXmlUiController::LeaveIfNull( PtrT* aPtr, TInt aError )
-    {
-    if ( !aPtr )
-        {
-        User::Leave( aError );
-        }
-        
-    return aPtr;
-    }
--- a/idlehomescreen/xmluicontroller/src/aixuikoneventhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,552 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Used for handling XUIKON events
-*
-*/
-
-
-#include "aixuikoneventhandler.h"
-#include "aifweventhandler.h"
-#include "aiuieventhandler.h"
-#include "aiapplicationeventhandler.h"
-#include "aiconsts.h"
-#include "xmluicontroller.h"
-#include "aixmluiconstants.h"
-#include "aixmluiutils.h"
-#include "contentrenderer.h"
-#include <activeidle2domainpskeys.h>
-#include <activeidle2domaincrkeys.h>
-#include <csxhelp/hmsc.hlp.hrh>
-#include <aisystemuids.hrh>
-
-#include "xnnodeappif.h"
-#include "xnuiengineappif.h"
-#include "xnproperty.h"
-#include "xndomnode.h"
-#include "xntype.h"
-#include "xndomlist.h"      // for cxndomlist
-#include "xndomattribute.h" // for cxndomattribute
-#include <e32svr.h>
-#include <aiutility.h>
-#include <aistrparser.h>
-#include <layoutmetadata.cdl.h>
-#include <e32property.h>
-#include <centralrepository.h>
-#include <AknUtils.h>
-#include <akntoolbar.h>
-#include <aknappui.h>
-#include <hlplch.h>
-#include <aknlistquerydialog.h> 
-#include <ai3xmlui.rsg>
-#include <aknnotewrappers.h> 
-#include <StringLoader.h>
-#include "xndompropertyvalue.h"
-#include "xnnodeappif.h"
-#include "appui.h"
-#include "xndomproperty.h"
-#include "xnplugindefs.h"
-#include "aieventhandler.h"
-
-const TInt KAiMaxNumberCharacters = 5;
-
-namespace AiXmlUiController
-    {
-    class CAIXuikonEventHandler::CNullEventHandler :
-            public CBase,
-            public MAiFwEventHandler,
-            public MAiUiEventHandler,
-            public MAiApplicationEventHandler
-        {
-        
-    private: // from MAiFwEventHandler        
-        void AppEnvReadyL();
-        void HandleUiReadyEventL( CAiUiController& aUiController );
-        void HandleActivateUI();
-        void HandleUiShutdown( CAiUiController& aUiController );
-        void CriticalStartupPhaseOver( TInt aStageInteger );
-        void HandleLoadPluginL( const TAiPublisherInfo& aPublisherInfo  );
-        void HandleDestroyPluginL( const TAiPublisherInfo& aPublisherInfo );        
-        void HandlePluginEvent( const TDesC& aParam );
-        void HandlePluginEventL( const TAiPublisherInfo& aPublisherInfo, const TDesC& aParam );
-        TBool HasMenuItemL( const TAiPublisherInfo& aPublisherInfo, const TDesC& aMenuItem );
-        TBool RefreshContent( const TDesC& aContentCid );
-        TBool QueryIsMenuOpen();
-        void ProcessStateChange( TAifwStates aSate );
-        
-    private: // from MAiUiEventHandler                                 
-        TBool HandleUiEvent( TAny* aEvent, const TDesC8& aParam );
-
-    private: // from MAiApplicationEventHandler                        
-        TBool HandleApplicationEvent( TInt aEvent, const TDesC8& aParam );
-        };
-    }
-
-using namespace AiXmlUiController;
-using namespace AiUiDef::xml::event;
-
-// ======== MEMBER FUNCTIONS ========
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::CAIXuikonEventHandler()
-// ----------------------------------------------------------------------------
-//
-CAIXuikonEventHandler::CAIXuikonEventHandler( CXmlUiController& aUiController,
-                                             CContentRenderer& aRenderer )
-    : iUiController(aUiController),
-      iContentRenderer(aRenderer)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::ConstructL()
-// ----------------------------------------------------------------------------
-//
-void CAIXuikonEventHandler::ConstructL()
-    {
-    iStrParser = AiUtility::CreateStrParserL();
-    iNullEventHandler = new ( ELeave ) CNullEventHandler;
-    iFwEventHandler = iNullEventHandler;
-    iUiEventHandler = iNullEventHandler;
-    iApplicationEventHandler = iNullEventHandler;
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::NewL()
-// ----------------------------------------------------------------------------
-//
-CAIXuikonEventHandler* CAIXuikonEventHandler::NewL(
-        CXmlUiController& aUiController,
-        CContentRenderer& aRenderer )
-    {
-    CAIXuikonEventHandler* self =
-        new ( ELeave ) CAIXuikonEventHandler( aUiController, aRenderer );
-    CleanupStack::PushL( self );    
-    self->ConstructL();    
-    CleanupStack::Pop( self );    
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::~CAIXuikonEventHandler()
-// ----------------------------------------------------------------------------
-//
-CAIXuikonEventHandler::~CAIXuikonEventHandler()
-    {
-    delete iNullEventHandler;
-    delete iVolumeEvent;
-    
-    Release( iStrParser );
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::SetFwEventHandler()
-// ----------------------------------------------------------------------------
-//
-void CAIXuikonEventHandler::SetFwEventHandler( 
-    MAiFwEventHandler* aFwEventHandler )
-    {
-    if ( aFwEventHandler )
-        {
-        iFwEventHandler = aFwEventHandler;
-        }
-    else
-        {
-        iFwEventHandler = iNullEventHandler;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::SetUiEventHandler()
-// ----------------------------------------------------------------------------
-//
-void CAIXuikonEventHandler::SetUiEventHandler( 
-    MAiUiEventHandler* aUiEventHandler )
-    {
-    if ( aUiEventHandler )
-        {
-        iUiEventHandler = aUiEventHandler;
-        }
-    else
-        {
-        iUiEventHandler = iNullEventHandler;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::SetApplicationEventHandler()
-// ----------------------------------------------------------------------------
-//
-void CAIXuikonEventHandler::SetApplicationEventHandler(
-    MAiApplicationEventHandler* aApplicationEventHandler )
-    {
-    if ( aApplicationEventHandler )
-        {
-        iApplicationEventHandler = aApplicationEventHandler;
-        }
-    else
-        {
-        iApplicationEventHandler = iNullEventHandler;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::HandleXuikonEventL()
-// ----------------------------------------------------------------------------
-//
-void CAIXuikonEventHandler::HandleXuikonEventL( CXnNodeAppIf& aOrigin,
-    CXnNodeAppIf& /*aTrigger*/, CXnDomNode& aTriggerDefinition, 
-    CXnDomNode& aEvent )                                                                                              
-    {
-    DispatchEventL( aEvent, aOrigin, aTriggerDefinition );
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::HandleXuikonActionL()
-// ----------------------------------------------------------------------------
-//
-inline TBool CAIXuikonEventHandler::HandleSystemEventL(  
-    const TDesC8& aEventText, CXnDomNode& aEvent )
-    {
-    const TDesC8& prefix( AiUiDef::xml::event::KEventHandlerPrefix );   
-    TInt pos( aEventText.Find( prefix ) );
-    if ( pos != 0 )
-        {
-        // Event is not targeted here
-        return EFalse;
-        }
-    CAIEventHandler* handler = CAIEventHandler::NewL( iUiController );
-    CleanupStack::PushL( handler );
-    handler->HandleEventL( aEventText, aEvent );
-    CleanupStack::PopAndDestroy( handler );
-    return ETrue;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::ParseParameterStringL()
-// ----------------------------------------------------------------------------
-//
-void CAIXuikonEventHandler::ParseParameterStringL( const TDesC8& aSourcePtr,
-    TPtrC8& aTargetPtr )
-    {
-    // Parses parameter string between the first '(' and last ')'
-    // Trailing and heading white spaces ARE NOT handled!
-    
-    const TInt separatorPos = aSourcePtr.Locate( KEventParameterSeparator );
-    User::LeaveIfError( separatorPos );
-
-    const TInt eventSeparatorPos = aSourcePtr.LocateReverse(
-                                                KEventParameterSeparatorEnd );
-    User::LeaveIfError( eventSeparatorPos );
-
-    // separatorPos + 1 must be smaller than eventSeparatorPos - 1
-    User::LeaveIfError( ( eventSeparatorPos ) - ( separatorPos + 1 ) );
-    
-    // Extract event and parameter string
-    TPtrC8 menuName( aSourcePtr.Mid( separatorPos + 1,
-                    ( eventSeparatorPos ) - ( separatorPos + 1 ) ) );
-    
-    aTargetPtr.Set( menuName );
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::HandleUiEventL()
-// ----------------------------------------------------------------------------
-//
-inline TBool CAIXuikonEventHandler::HandleUiEventL( const TDesC8& aEventText, 
-    CXnNodeAppIf& aOrigin )
-    {    
-    if ( aEventText.Left( KUiEventPrefix().Length() ) == KUiEventPrefix )
-        {
-        iUiEventHandler->HandleUiEvent( (TAny*)&aOrigin, aEventText );
-        
-        return ETrue;
-        }
-
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::HandleApplicationEventL()
-// ----------------------------------------------------------------------------
-//
-inline TBool CAIXuikonEventHandler::HandleApplicationEventL(
-    const TDesC8& aEventText )
-    {
-    return iApplicationEventHandler->HandleApplicationEvent( 0, aEventText );
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::VolumeChanged()
-// ----------------------------------------------------------------------------
-//
-void CAIXuikonEventHandler::VolumeChanged( TInt aValue )
-    {
-    TRAP_IGNORE(
-        // Ignore errors, missing one event is not fatal enough to panic
-        HBufC* volumeString( HBufC::NewLC( KAiMaxNumberCharacters ) );
-                
-        volumeString->Des().Num( aValue );
-
-        HBufC* eventString( iVolumeEvent->AllocLC() );
-        
-        TInt foundAt( eventString->Des().Find( KTargetSliderVolumeValue ) );
-        
-        if( foundAt >= 0 )
-            {
-            eventString->Des().Replace( foundAt, 
-                    KTargetSliderVolumeValue().Length(), *volumeString );
-            }
-        
-        // TODO: implement namespace properly
-        iFwEventHandler->HandlePluginEvent( *eventString );
-        
-        CleanupStack::PopAndDestroy( 2, volumeString );
-        ); // TRAP_IGNORE
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::HandlePluginEventL()
-// ----------------------------------------------------------------------------
-//
-inline
-void CAIXuikonEventHandler::HandlePluginEventL( CXnDomNode& aEvent )                                          
-    {       
-    const TDesC8& event8( 
-        aEvent.AttributeValue( XnPropertyNames::action::event::KName ) );    
-    
-    HBufC16* event( NULL );
-    
-    event = iStrParser->CopyToBufferL( event, event8 );
-    
-    if ( !event || *event == KNullDesC )
-        {
-        // No event defined
-        return;
-        }
-    
-    CleanupStack::PushL( event );
-
-    TXnUiEngineAppIf* engine( iUiController.UiEngineL() );
-    
-    const TDesC8& broadcast( 
-        aEvent.AttributeValue( XnPropertyNames::action::event::KBroadcast ) );
-            
-    if ( broadcast == XnPropertyNames::KTrue )
-        {
-        // Broadcast events are allowed only from view's namespace
-        if ( engine->ActiveView()->Namespace() == aEvent.Namespace() )
-            {
-            _LIT8( KGlobal, "global" );
-            
-            // Get all plugins
-            RPointerArray< CXnNodeAppIf > 
-                list( engine->FindContentSourceNodesL( KGlobal ) );
-            
-            CleanupClosePushL( list );
-        
-            // Broadcast event to all plugins
-            for ( TInt i = 0; i < list.Count(); i++ )
-                {
-                TAiPublisherInfo info;
-                
-                iUiController.PublisherInfoL( *list[i], info );
-        
-                // Forward event to AiFw
-                iFwEventHandler->HandlePluginEventL( info, *event );                
-                }
-            
-            CleanupStack::PopAndDestroy( &list );                
-            }                
-        }
-    else
-        {
-        const TDesC8& ns( aEvent.Namespace() );
-    
-        // Get plugins from the event's namespace
-        RPointerArray< CXnNodeAppIf > 
-            list( engine->FindContentSourceNodesL( ns ) );
-        
-        CleanupClosePushL( list );
-
-        if ( list.Count() == 1 )
-            {
-            // Only one data plugin in this namespace,
-            // it must handle this event.
-            TAiPublisherInfo info;
-            
-            iUiController.PublisherInfoL( *list[0], info );
-    
-            // Forward event to AiFw
-            iFwEventHandler->HandlePluginEventL( info, *event );
-            }
-        else if ( list.Count() > 1 )
-            {
-            const TDesC8& destination( 
-                aEvent.AttributeValue( 
-                        XnPropertyNames::action::event::KDestination ) );
-            
-            // Multiple data plugins in this namespace,
-            // resolve destination
-            CXnNodeAppIf* eventHandler( 
-                engine->FindNodeByIdL( destination, ns ) );
-            
-            if ( eventHandler )
-                {            
-                TAiPublisherInfo info;
-                
-                iUiController.PublisherInfoL( *eventHandler, info );
-                
-                // Forward event to AiFw
-                iFwEventHandler->HandlePluginEventL( info, *event );            
-                }
-            else
-                {
-                // No exact destination defined,  
-                // try to find a correct plugin based on event
-                const TInt pos( event->Locate( KPluginEventSeparator ) );
-                
-                if ( pos != KErrNotFound )
-                    {
-                    // Extract plugin name
-                    TPtrC pluginName( event->Left( pos ) );
-                    
-                    for ( TInt i = 0; i < list.Count(); i++ )
-                        {
-                        TAiPublisherInfo info;
-                        
-                        iUiController.PublisherInfoL( *list[i], info );
-                        
-                        if( info.iName == pluginName )
-                            {
-                            // Forward Plug-in events to AI FW for further 
-                            // dispatching to the target Plug-in
-                            iFwEventHandler->HandlePluginEventL( info,*event );                                                             
-                            break;
-                            }
-                        }
-                    }                
-                }
-            }                        
-            
-        CleanupStack::PopAndDestroy( &list );    
-        }        
-    
-    CleanupStack::PopAndDestroy( event ); 
-    }
-
-// ----------------------------------------------------------------------------
-// CAIXuikonEventHandler::DispatchEventL()
-// ----------------------------------------------------------------------------
-//
-void CAIXuikonEventHandler::DispatchEventL( CXnDomNode& aEvent,
-    CXnNodeAppIf& aOrigin, CXnDomNode& /*aTriggerDefinition*/ )                                            
-    {
-    const TDesC8& aEventString8( 
-        aEvent.AttributeValue( XnPropertyNames::action::event::KName ) );
-
-    // First check if the event is a XUIKON-specific event
-    if( !HandleSystemEventL( aEventString8, aEvent ) )
-        {
-        // Next check if it is a UI event
-        if( !HandleUiEventL( aEventString8, aOrigin ) )
-            {
-            // Next check if it is an application event
-            if( !HandleApplicationEventL( aEventString8 ) )
-                {                
-                // Assume that it is a Plug-in event
-                HandlePluginEventL( aEvent );
-                }
-            }
-        }
-    }
-
-// CAIXuikonEventHandler::CNullEventHandler
-void CAIXuikonEventHandler::CNullEventHandler::AppEnvReadyL()
-    {
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::HandleUiReadyEventL
-        ( CAiUiController& /*aUiController*/ )
-    {
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::HandleActivateUI()
-    {   
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::HandlePluginEvent
-    ( const TDesC& /*aParam*/ )
-    {
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::HandlePluginEventL
-    (const TAiPublisherInfo& /*aPublisherInfo*/, const TDesC& /*aParam*/ )
-    {
-    }
-
-TBool CAIXuikonEventHandler::CNullEventHandler::HasMenuItemL( 
-    const TAiPublisherInfo& /*aPublisherInfo*/, const TDesC& /*aMenuItem*/ )    
-    {
-    return EFalse;
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::HandleUiShutdown
-    ( CAiUiController& /*aUiController*/ )
-    {
-    }
-
-TBool CAIXuikonEventHandler::CNullEventHandler::RefreshContent( 
-    const TDesC& /*aContentCid*/ )
-    {
-    return EFalse;
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::CriticalStartupPhaseOver( 
-    TInt /*aStageInteger*/ )
-    {
-    }
-
-TBool CAIXuikonEventHandler::CNullEventHandler::QueryIsMenuOpen()
-    {
-    return EFalse;
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::ProcessStateChange( 
-		TAifwStates /*aSate*/)     
-    {    
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::HandleLoadPluginL(
-    const TAiPublisherInfo& /*aPluginToLoad*/ )
-    {    
-    }
-
-void CAIXuikonEventHandler::CNullEventHandler::HandleDestroyPluginL(
-    const TAiPublisherInfo& /*aPluginToDestroy*/ )
-    {    
-    }
-
-TBool CAIXuikonEventHandler::CNullEventHandler::HandleUiEvent
-        (TAny* /*aEvent*/, const TDesC8& /*aParam*/)
-    {
-    return EFalse;
-    }
-
-TBool CAIXuikonEventHandler::CNullEventHandler::HandleApplicationEvent
-        (TInt /*aEvent*/, const TDesC8& /*aParam*/)
-    {
-    return EFalse;
-    }
-
-// End of file
--- a/idlehomescreen/xmluicontroller/src/aixuikonmenueventhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1742 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Used for handling XUIKON menu events
-*
-*/
-
-
-#include "aixuikonmenueventhandler.h"
-#include "aiconsts.h"
-#include "aixmluiconstants.h"
-#include "aixmluiutils.h"
-
-#include "mxncomponentinterface.h"
-#include "xnmenuadapter.h"
-#include "xnappuiadapter.h"
-#include "xntext.h"
-#include "xnnodeappif.h"
-#include "xndomnode.h"
-#include "xndomlist.h"
-#include "xntype.h"
-#include <gulicon.h>
-#include <aiutility.h>
-#include <aistrparser.h>
-#include "aifweventhandler.h"
-#include "xnproperty.h"
-#include "xnuiengineappif.h"
-#include "xndompropertyvalue.h"
-#include <aipspropertyobserver.h>
-#include <avkondomainpskeys.h> 
-#include <aknviewappui.h>		//CaknViewAppui
-#include "xnplugindefs.h"
-
-_LIT8( KMenubar, "menubar" );
-_LIT8( KClass, "class" );
-_LIT8( KId, "id" );
-_LIT8( KEditWidget, "edit_widget" );
-_LIT8( KRemoveItem, "removeitem" );
-_LIT8( KWidget, "widget" );
-_LIT8( KRemovable, "removable" );
-_LIT ( KMenuItem, "menuitem");
-
-using namespace AiXmlUiController;
-
-
-// ---------------------------------------------------------------------------
-// FindFromContentModelL
-// ---------------------------------------------------------------------------
-// 
-static CXnNodeAppIf* FindFromContentModelL( CXnNodeAppIf* aNode )
-    {
-    if ( !aNode )
-        {
-        return NULL;
-        }
-
-    CXnProperty* node = aNode->GetPropertyL( KClass ); 
-    if ( node && node->StringValue() == KContentSource )
-        {
-        return aNode;
-        }
-
-    // Recurse children        
-    RPointerArray< CXnNodeAppIf > children( aNode->ChildrenL() );
-    CleanupClosePushL( children );
-
-    CXnNodeAppIf* retval( NULL );
-
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNodeAppIf* node( FindFromContentModelL( children[i] ) );
-
-        if ( node )
-            {
-            retval = node;
-            break;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &children );
-
-    return retval;
-    }
-
-// ---------------------------------------------------------------------------
-// FindFromConfigurationL
-// ---------------------------------------------------------------------------
-// 
-static CXnNodeAppIf* FindFromConfigurationL( CXnNodeAppIf* aNode )
-    {
-    if ( !aNode )
-        {
-        return NULL;
-        }
-    // Is this node type of settingsconfiguration
-    if ( aNode->Type()->Type() == KSettingsConfiguration )
-        {
-        return aNode;
-        }
-
-    // Recurse children        
-    RPointerArray< CXnNodeAppIf > children( aNode->ChildrenL() );
-    CleanupClosePushL( children );
-
-    CXnNodeAppIf* retval( NULL );
-
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {               
-        CXnNodeAppIf* node( FindFromConfigurationL( children[i] ) );
-        
-        if ( node )
-            {
-            retval = node;
-            break;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &children );
-
-    return retval;
-    }
-
-// ---------------------------------------------------------------------------
-// DeletePluginNames
-// ---------------------------------------------------------------------------
-// 
-static void DeletePluginNames( TAny* aObject )
-    {
-    reinterpret_cast<
-        RPointerArray<HBufC16>*>( aObject )->ResetAndDestroy();
-    }
-
-CAIXuikonMenuEventHandler::CAIXuikonMenuEventHandler( TXnUiEngineAppIf& aUiEngine,
-                                                      MAiFwEventHandler* aFwEventHandler,
-                                                      CXnAppUiAdapter* aAppUi )
-  : iCurrentCBA( EAIMenuOff ),
-    iUiEngine( &aUiEngine ),
-    iFwEventHandler( aFwEventHandler ),
-    iAppUi( aAppUi )
-    {
-    }
-
-void CAIXuikonMenuEventHandler::ConstructL()
-    {
-    iStrParser = AiUtility::CreateStrParserL();
-    iKeylockObserver = AiUtility::CreatePSPropertyObserverL
-        ( TCallBack( HandleKeylockEvent, this ),
-            KPSUidAvkonDomain, KAknKeyguardStatus );  
-    }
-
-void CAIXuikonMenuEventHandler::SetObserverL( const TDesC8& aParam, CXnDomNode* aEvent )
-    {
-    if ( aEvent )
-        {
-        CXnNodeAppIf* node( iUiEngine->FindNodeByIdL( aParam, aEvent->Namespace() ) );
-        
-        if ( node && node->Type()->Type() == KMenubar )
-            {
-            XnMenuInterface::MXnMenuInterface* menuIf( NULL );
-            XnComponentInterface::MakeInterfaceL( menuIf, *node );
-    
-            if ( menuIf )
-                {
-                menuIf->SetObserver( *this );
-                }
-            }
-        }
-    }
-
-TInt CAIXuikonMenuEventHandler::HandleKeylockEvent( TAny* aSelf )
-    {
-    // Stop displaying menu when keylock is activated.
-    CAIXuikonMenuEventHandler* self = 
-        static_cast<CAIXuikonMenuEventHandler*>( aSelf );
-    TInt err = KErrNone;
-    TInt value = EKeyguardNotActive;
-    if ( self )
-        {
-        TInt err = self->iKeylockObserver->Get( value );
-        if ( err == KErrNone )
-            {
-			if ( value > EKeyguardNotActive )
-				{
-		        if ( self->iAppUi && self->iCurrentCBA == EAIMenuOn )
-		        	{
-		        	self->iAppUi->StopDisplayingMenuBar();
-		        	TRAP_IGNORE( self->iUiEngine->RefreshMenuL() );
-		        	}			
-				}        				
-            }
-        }
-    return err;
-    }
-
-CAIXuikonMenuEventHandler* CAIXuikonMenuEventHandler::NewL( TXnUiEngineAppIf& aUiEngine,
-                                                            MAiFwEventHandler* aFwEventHandler,
-                                                            CXnAppUiAdapter* aAppUi )
-    {
-    CAIXuikonMenuEventHandler* self = 
-        new( ELeave ) CAIXuikonMenuEventHandler( aUiEngine, aFwEventHandler, aAppUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-CAIXuikonMenuEventHandler::~CAIXuikonMenuEventHandler()
-    {
-    Release ( iKeylockObserver );
-    Release( iStrParser );
-    delete iActivationEvent;
-    delete iSettingsEvent;
-                
-    // Delete stored label id's
-    delete iMenuModeLskLabel;
-    delete iMenuModeRskLabel;
-    delete iNormalModeLskLabel;
-    delete iNormalModeRskLabel;  
-    }
-
-TBool CAIXuikonMenuEventHandler::HandleEventL( const TDesC8& aEventString8, CXnNodeAppIf* aOrigin, CXnDomNode* aEvent )
-    {
-    if ( aEventString8 == AiUiDef::xml::event::KScreenDeviceChange )
-        {
-        iUiEngine = iAppUi->UiEngineL();
-        return ETrue;
-        }
-    else if ( aEventString8.Left(KAIDynamicMenuPrefixLen).Compare( KAIDynamicMenuPrefix ) != 0 )
-        {
-        // For optimization when dynamic menu prefix is not found from event string start
-        // return immediate from here.
-        return EFalse;
-        }
-
-    if ( (iCurrentCBA == EAIMenuOff && aEventString8.Find(KAIMenuEventIfMenuOff) >= 0 ) ||
-        (iCurrentCBA == EAIMenuOn && aEventString8.Find(KAIMenuEventIfMenuOn) >= 0) )
-        {
-        TPtrC8 eventString;
-        ParseParameterStringL(aEventString8, eventString);
-        if ( !HandleEventL(eventString, aOrigin, aEvent ) )
-            {
-            // Default action from the event string
-            HBufC16* eventString16 = NULL;
-            eventString16 = iStrParser->CopyToBufferL( eventString16, eventString );
-            CleanupStack::PushL( eventString16 );
-            if ( iFwEventHandler && eventString16 )
-                {
-                iFwEventHandler->HandlePluginEvent( *eventString16 );
-                }
-            CleanupStack::PopAndDestroy( eventString16 );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8 == KAIMenuEventInitPluginItems )
-        {
-        if ( !aEvent )
-            {
-            return ETrue;
-            }
-
-        CXnDomList& children( aEvent->ChildNodes() );
-
-        TInt count( children.Length() );
-
-        for ( TInt i = 0; i < count; i++ )
-            {
-            CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-
-            const TDesC8& type( node->Name() );
-
-            if ( type == XnPropertyNames::action::KProperty )
-                {
-                const TDesC8& id( node->AttributeValue( 
-                                    XnPropertyNames::action::KValue ) );
-
-                if ( id != KNullDesC8 )
-                    {
-                    CXnNodeAppIf* nodeById( iUiEngine->FindNodeByIdL( id, aEvent->Namespace() ) );
-                    
-                    if ( nodeById )
-                        {                            
-                        TBool showItem( DynInitItemL( *nodeById, aOrigin ) ); 
-                                                    
-                        const TDesC8 *value( NULL );
-                        
-                        if ( showItem )
-                            {
-                            value = &XnPropertyNames::style::common::display::KBlock;
-                            }
-                        else
-                            {
-                            value = &XnPropertyNames::style::common::display::KNone;
-                            }            
-
-                        CXnDomStringPool& sp( aEvent->StringPool() );
-
-                        // create property
-                        CXnProperty* prop = CXnProperty::NewL( XnPropertyNames::style::common::KDisplay, 
-                                                               *value, 
-                                                               CXnDomPropertyValue::EString, 
-                                                               sp );
-
-                        CleanupStack::PushL( prop );
-
-                        // and set it
-                        nodeById->SetPropertyL( prop );
-
-                        CleanupStack::Pop( prop );
-                        }
-                    }
-                }
-            }
-
-        return ETrue;
-        }
-    else if ( aEventString8 == KAIMenuEventInitEmptyItems  ||
-              aEventString8 == KAIMenuEventInitWidgetItems )
-        {
-        if ( !aEvent )
-            {
-            return ETrue;
-            }
-
-        CXnProperty* pluginId( aOrigin->GetPropertyL( KPluginId ) );
-        CXnProperty* pluginName( aOrigin->GetPropertyL( KPluginName ) );
-
-        TBool showItem( EFalse );
-
-        if ( aEventString8 == KAIMenuEventInitWidgetItems )
-            {
-            if( pluginId && pluginName && pluginName->StringValue() != KDummy8 )                        
-                {
-                // check if plugin can be removed
-                CXnProperty* removable = GetWidgetPropertyL(*aOrigin, KRemovable);
-                if ( removable && removable->StringValue() == XnPropertyNames::KFalse )
-                    {
-                    showItem = EFalse;
-                    }
-                else
-                    {
-                    showItem = ETrue;
-                    }
-                }                                
-            }
-        else
-            {
-            if ( pluginId && pluginName && pluginName->StringValue() == KDummy8 )
-                {
-                showItem = ETrue;
-                }
-            }
-
-        CXnDomList& children( aEvent->ChildNodes() );
-
-        TInt count( children.Length() );
-
-        for ( TInt i = 0; i < count; i++ )
-            {
-            CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-
-            const TDesC8& type( node->Name() );
-
-            if ( type == XnPropertyNames::action::KProperty )
-                {
-                const TDesC8& id( node->AttributeValue( 
-                                    XnPropertyNames::action::KValue ) );
-
-                if ( id != KNullDesC8 )
-                    {
-                    CXnNodeAppIf* nodeById( iUiEngine->FindNodeByIdL( id, aEvent->Namespace() ) );
-
-                    if ( nodeById )
-                        {
-                        const TDesC8 *value( NULL );
-
-                        if ( showItem )
-                            {
-                            value = &XnPropertyNames::style::common::display::KBlock;
-                            }
-                        else
-                            {
-                            value = &XnPropertyNames::style::common::display::KNone;
-                            }
-
-                        CXnDomStringPool& sp( aEvent->StringPool() );
-
-                        // create property
-                        CXnProperty* prop = CXnProperty::NewL( XnPropertyNames::style::common::KDisplay, 
-                                                               *value, 
-                                                               CXnDomPropertyValue::EString, 
-                                                               sp );
-
-                        CleanupStack::PushL( prop );
-
-                        // and set it
-                        nodeById->SetPropertyL( prop );
-
-                        CleanupStack::Pop( prop );
-                        }
-                    }
-                }
-            }
-
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventIfMenuOff ) >= 0 )
-        {
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventIfMenuOn ) >= 0 )
-        {
-        return ETrue;
-        }
-    else if ( aEventString8.Compare( KAIMenuEventGenerateSetActivationEvent ) == 0 )
-        {
-        // Generate set plugin event
-        if ( iFwEventHandler && iActivationEvent )
-            {
-            iFwEventHandler->HandlePluginEvent( *iActivationEvent );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventSetActivationEvent ) >= 0 )
-        {
-        // find event string
-        TPtrC8 eventString;
-        ParseParameterStringL( aEventString8, eventString );
-        delete iActivationEvent;
-        iActivationEvent = NULL;
-        // store activation event (plugin event string)
-        iActivationEvent = iStrParser->CopyToBufferL( iActivationEvent, eventString );
-        return ETrue;
-        }
-    else if (aEventString8.Compare( KAIMenuEventGenerateOpenSettingsEvent ) == 0)
-        {
-        // Generate set plugin event
-        if ( iFwEventHandler && iSettingsEvent )
-            {
-            iFwEventHandler->HandlePluginEvent( *iSettingsEvent );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventSetOpenSettingsnEvent ) >= 0 )
-        {
-        // find event string
-        TPtrC8 eventString;
-        ParseParameterStringL( aEventString8, eventString );
-        delete iSettingsEvent;
-        iSettingsEvent = NULL;
-        // store activation event (plugin event string)
-        iSettingsEvent = iStrParser->CopyToBufferL( iSettingsEvent, eventString );
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventShowMenuItem ) >= 0 )
-        {
-        if (iCurrentCBA == EAIMenuOn)
-            {
-            // find node by id
-            TPtrC8 menuItem;
-            ParseParameterStringL( aEventString8, menuItem );
-            // set visibility property to visible
-            ShowMenuItemL( menuItem, ETrue, aEvent );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventHideMenuItem ) >= 0 )
-        {
-        if ( iCurrentCBA == EAIMenuOn )
-            {
-            // find node by id
-            TPtrC8 menuItem;
-            ParseParameterStringL( aEventString8, menuItem );
-            // set visibility property to visible
-            ShowMenuItemL( menuItem, EFalse, aEvent );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventShowHideMenuItem ) >= 0 )
-            {
-            if ( iCurrentCBA == EAIMenuOn )
-                {
-                // find node by id
-                TPtrC8 menuItem;
-                ParseParameterStringL( aEventString8, menuItem );
-                // set visibility property
-                if ( IsMenuItemVisibleL( menuItem, aEvent ) )
-                    {
-                    ShowMenuItemL( menuItem, EFalse, aEvent );
-                    }
-                else
-                    {
-                    ShowMenuItemL( menuItem, ETrue, aEvent );
-                    }
-                }
-            return ETrue;
-            }
-    else if ( aEventString8.Compare( KAIMenuEventMenuOn ) == 0 )
-        {
-        if ( iCurrentCBA != EAIMenuOn )
-            {
-            // also updates current state
-            SetCBALabelsL( EAIMenuOn, aEvent );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Compare( KAIMenuEventMenuOff ) == 0 )
-        {
-        if ( iCurrentCBA != EAIMenuOff )
-            {
-            // also updates current state
-            SetCBALabelsL( EAIMenuOff, aEvent );
-            }
-        return ETrue;
-        }
-    else if ( ( aEventString8.Find( KAIMenuEventShowAll ) ) >= 0 )
-        {
-        if ( iCurrentCBA == EAIMenuOn )
-            {
-            // Show all menu items. Xuikon actually open the menu it self..
-            TPtrC8 menu;
-            ParseParameterStringL( aEventString8, menu );
-            ShowMenuL( ETrue, menu, aEvent );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventRefresh ) >= 0 )
-        {
-        if ( iCurrentCBA == EAIMenuOn )
-            {
-            iUiEngine->RefreshMenuL();
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventHideAll ) >= 0 )
-        {
-        // Hide all menu items
-        TPtrC8 menu;
-        ParseParameterStringL( aEventString8, menu );
-        ShowMenuL( EFalse, menu, aEvent );
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventSetCloseAction ) >= 0 )
-        {
-        // Set menu mode close action / RSK action
-        TPtrC8 closeActionId;
-        ParseParameterStringL( aEventString8, closeActionId );
-
-        // Store close action macroset node id
-        iCloseActionId.Set( closeActionId );
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventCloseAction ) >= 0 )
-        {
-        // Decide action
-        if ( iCurrentCBA == EAIMenuOff )
-            {
-            TPtrC8 eventString;
-            ParseParameterStringL( aEventString8, eventString );
-            
-            // Default action
-            HBufC16* eventString16 = NULL;
-            eventString16 = iStrParser->CopyToBufferL( eventString16, eventString );
-            CleanupStack::PushL( eventString16 );
-            if ( iFwEventHandler && eventString16 )
-                {
-                iFwEventHandler->HandlePluginEvent( *eventString16 );
-                }
-            CleanupStack::PopAndDestroy( eventString16 );
-            }
-        else
-            {
-            DoMacrosetL( iCloseActionId, aEvent );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventSetSoftKeyId ) >= 0 )
-        {
-        // Store softkey labels and label node id's
-        TPtrC8 softkeyString;
-        ParseParameterStringL( aEventString8, softkeyString );
-        TPtrC8 softkeyId;
-        ParseParameterStringL( softkeyString, softkeyId );
-        if ( softkeyString.Find( KAIMenuModeLsk ) >= 0)
-            {
-            GetTextFromElementL( iMenuModeLskLabel, softkeyId, aEvent );
-            if ( iMenuModeLskLabel && iMenuModeLskLabel->Length() <= 0 )
-                {
-                delete iMenuModeLskLabel;
-                iMenuModeLskLabel = NULL;
-                }
-            iLskMenuModeNode.Set( softkeyId );
-            }
-        else if ( softkeyString.Find( KAIMenuModeRsk ) >= 0 )
-            {
-            GetTextFromElementL( iMenuModeRskLabel, softkeyId, aEvent );
-            if ( iMenuModeLskLabel && iMenuModeRskLabel->Length() <= 0 )
-                {
-                delete iMenuModeRskLabel;
-                iMenuModeRskLabel = NULL;
-                }
-            iRskMenuModeNode.Set( softkeyId );
-            }
-        else if ( softkeyString.Find( KAINormalModeLskLabel ) >= 0)
-            {
-            GetTextFromElementL( iNormalModeLskLabel, softkeyId, aEvent );
-            iNormalModeLskLabelId.Set( softkeyId );
-            }
-        else if ( softkeyString.Find( KAINormalModeRskLabel ) >= 0)
-            {
-            GetTextFromElementL( iNormalModeRskLabel, softkeyId, aEvent );
-            iNormalModeRskLabelId.Set( softkeyId );
-            }
-        else if ( softkeyString.Find( KAINormalModeLskIcon ) >= 0)
-            {
-            iNormalModeLskIconId.Set( softkeyId );
-            }
-        else if ( softkeyString.Find( KAINormalModeRskIcon ) >= 0)
-            {
-            iNormalModeRskIconId.Set( softkeyId );
-            }
-        else if ( softkeyString.Find( KAIMenuLsk ) >= 0)
-            {
-            iLskId.Set( softkeyId );
-            }
-        else if ( softkeyString.Find( KAIMenuRsk ) >= 0)
-            {
-            iRskId.Set( softkeyId );
-            }
-
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventSettingsReady ) >= 0)
-        {
-        SetCBALabelsL( EAIMenuOff, aEvent );
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventDoMacroset ) >= 0 )
-        {
-        // Do defined macro set
-        
-        // Parse macroset node id
-        TPtrC8 macroNodeId;
-        ParseParameterStringL( aEventString8, macroNodeId );
-        if ( macroNodeId != KNullDesC8 )
-            {
-            DoMacrosetL( macroNodeId, aEvent );
-            }
-        return ETrue;
-        }
-    else if ( aEventString8.Find( KAIMenuEventSetDynMenuItemObserver ) >= 0 )
-        {
-        TPtrC8 eventString;
-        ParseParameterStringL( aEventString8, eventString );
-        SetObserverL( eventString, aEvent );
-        return ETrue;
-        }
-    else if ( aEventString8 ==  KAIToggleWidgetsState )
-        {
-        iFwEventHandler->SetPluginsVisibility( iUiEngine->WidgetsVisible() );
-        return ETrue;
-        }
-    else
-        {
-        // Handlers for macroset operations
-        TPtrC8 targetNodeName;
-        ParseParameterStringL( aEventString8, targetNodeName );
-        TBool handledEvent = EFalse;
-        
-        if ( targetNodeName != KNullDesC8 )
-            {
-            CXnNodeAppIf* eventTargetNode = NULL;
-            if ( aEvent )
-                {
-                eventTargetNode = iUiEngine->FindNodeByIdL( targetNodeName, aEvent->Namespace() );
-                }
-            if ( eventTargetNode )
-                {
-                handledEvent = HandleMacroOperationL(
-                                    aEventString8, *eventTargetNode, *aEvent );
-                iUiEngine->RenderUIL( NULL );
-                }
-            }
-        return handledEvent;
-        }
-    }
-
-void CAIXuikonMenuEventHandler::ParseParameterStringL( const TDesC8& aSourcePtr,
-                                                       TPtrC8& aTargetPtr )
-    {
-    // Parses parameter string between the first '(' and last ')'
-    // Trailing and heading white spaces ARE NOT handled!
-    
-    const TInt separatorPos = aSourcePtr.Locate( KEventParameterSeparator );
-    User::LeaveIfError( separatorPos );
-
-    const TInt eventSeparatorPos = aSourcePtr.LocateReverse(
-                                                KEventParameterSeparatorEnd );
-    User::LeaveIfError( eventSeparatorPos );
-
-    // separatorPos + 1 must be smaller than eventSeparatorPos - 1
-    User::LeaveIfError( ( eventSeparatorPos ) - ( separatorPos + 1 ) );
-    
-    // Extract event and parameter string
-    TPtrC8 menuName( aSourcePtr.Mid( separatorPos + 1,
-                                    ( eventSeparatorPos ) - ( separatorPos + 1 ) ) );
-    
-    aTargetPtr.Set( menuName );
-    }
-
-void CAIXuikonMenuEventHandler::SetCBALabelsL( TAICBA aCBA, CXnDomNode* aEvent )
-    {
-    // Set CBA labels according to mode, to the predefined CBA nodes
-    if ( (iLskId == KNullDesC8) || (iRskId == KNullDesC8) || !aEvent )
-        {
-        return;
-        }
-    CXnNodeAppIf* lskNode = iUiEngine->FindNodeByIdL( iLskId, aEvent->Namespace() );
-    CXnNodeAppIf* rskNode = iUiEngine->FindNodeByIdL( iRskId, aEvent->Namespace() );
-
-    TBool propertyUpdated = EFalse;
-
-    if ( rskNode && lskNode )
-        {
-        CXnNodeAppIf* menuBar = lskNode->ParentL();
-
-        XnMenuInterface::MXnMenuInterface* lskControl = NULL;
-        XnMenuInterface::MXnMenuInterface* rskControl = NULL;
-
-        if ( menuBar )
-            {
-            XnComponentInterface::MakeInterfaceL( lskControl, *menuBar );
-            XnComponentInterface::MakeInterfaceL( rskControl, *menuBar );
-            }
-        if ( !lskControl || !rskControl )
-            {
-            return;
-            }
-        switch ( aCBA )
-            {
-            case EAIMenuOff:
-                {
-                CXnNodeAppIf* lskIconNode = NULL;
-                CXnNodeAppIf* rskIconNode = NULL;
-                XnImageInterface::MXnImageInterface* lskIconControl = NULL;
-                XnImageInterface::MXnImageInterface* rskIconControl = NULL;
-                if ( iNormalModeLskIconId != KNullDesC8 )
-                    {
-                    lskIconNode = iUiEngine->FindNodeByIdL( iNormalModeLskIconId, aEvent->Namespace() );
-                    XnComponentInterface::MakeInterfaceL( lskIconControl, *lskIconNode );
-                    }
-
-                if ( iNormalModeRskIconId != KNullDesC8 )
-                    {
-                    rskIconNode = iUiEngine->FindNodeByIdL( iNormalModeRskIconId, aEvent->Namespace() );
-                    XnComponentInterface::MakeInterfaceL( rskIconControl, *rskIconNode );
-                    }
-
-                // Try to set the icon, if the icon setting fails
-                // try to set the text
-                if ( !AttemptRestoreSoftkeyIconL( lskControl,
-                     lskIconControl,
-                     lskIconNode,
-                     XnMenuInterface::MXnMenuInterface::ELeft ) )
-                    {
-                    if ( iNormalModeLskLabelId != KNullDesC8 )
-                        {
-                        GetTextFromElementL( iNormalModeLskLabel, iNormalModeLskLabelId, aEvent );
-                        }
-
-                    SetSoftkeyLabelL( lskControl, iNormalModeLskLabel,
-                            XnMenuInterface::MXnMenuInterface::ELeft );
-                    }
-
-                if ( !AttemptRestoreSoftkeyIconL( rskControl,
-                     rskIconControl,
-                     rskIconNode,
-                     XnMenuInterface::MXnMenuInterface::ERight ) )
-                    {
-                    if ( iNormalModeRskLabelId != KNullDesC8 )
-                        {
-                        GetTextFromElementL( iNormalModeRskLabel, iNormalModeRskLabelId, aEvent );
-                        }
-
-                    SetSoftkeyLabelL( rskControl, iNormalModeRskLabel,
-                            XnMenuInterface::MXnMenuInterface::ERight );
-                    }
-                propertyUpdated = ETrue;
-                break;
-                }
-            case EAIMenuOn:
-                {
-                // Need to set the bitmaps back after
-                // the menu is closed
-                iMenumodeBitmapLsk = NULL;
-                iMenumodeBitmapRsk = NULL;
-                if ( !iMenuModeLskLabel )
-                    {
-                    GetTextFromElementL( iMenuModeLskLabel, iLskMenuModeNode, aEvent );
-                    }
-                SetSoftkeyLabelL( lskControl, iMenuModeLskLabel,
-                        XnMenuInterface::MXnMenuInterface::ELeft );
-
-                if ( !iMenuModeRskLabel )
-                    {
-                    GetTextFromElementL( iMenuModeRskLabel, iRskMenuModeNode, aEvent );
-                    }
-                SetSoftkeyLabelL( rskControl, iMenuModeRskLabel,
-                        XnMenuInterface::MXnMenuInterface::ERight );
-                propertyUpdated = ETrue;
-                break;
-                }
-            default:
-                break;
-            }
-        }
-    iCurrentCBA = aCBA;
-    if ( propertyUpdated )
-        {
-    	iUiEngine->RefreshMenuL();
-        }
-    }
-
-void CAIXuikonMenuEventHandler::ShowMenuL( TBool aShow, const TDesC8& aMenuId, CXnDomNode* aEvent )
-    {
-    if ( aEvent )
-        {
-        // Show or hide all menu items
-        CXnNodeAppIf* lskNode = iUiEngine->FindNodeByIdL( aMenuId, aEvent->Namespace() );
-
-        if ( lskNode )
-            {
-            RecurseChildrenL( aShow, lskNode );
-            }
-        }
-    }
-
-void CAIXuikonMenuEventHandler::RecurseChildrenL( TBool aShow, CXnNodeAppIf* aNode )
-    {
-    RPointerArray<CXnNodeAppIf> children = aNode->ChildrenL();
-    CleanupClosePushL( children );
-
-    for ( TInt i=0; i<children.Count(); i++ )
-        {
-        CXnNodeAppIf* node = children[i];
-        if ( node && ( node->Type()->Type() == KAIMenuItem || 
-                       node->Type()->Type() == KAIMenu ) )
-            {
-            if ( aShow )
-                {
-                SetPropertyToNodeL( *node, XnPropertyNames::style::common::KVisibility,
-                    XnPropertyNames::style::common::visibility::KVisible );
-                }
-            else
-                {
-                SetPropertyToNodeL( *node, XnPropertyNames::style::common::KVisibility,
-                    XnPropertyNames::style::common::visibility::KHidden );
-                }
-
-            if ( node->Type()->Type() == KAIMenu )
-                {
-                RecurseChildrenL(aShow, node);
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-void CAIXuikonMenuEventHandler::DoMacrosetL( const TDesC8& aMacrosetNodeId, CXnDomNode* aEvent )
-    {
-    if ( !aEvent )
-        {
-        return;
-        }
-    // Do operations in a macroset
-    CXnNodeAppIf* actionNode = iUiEngine->FindNodeByIdL( aMacrosetNodeId, aEvent->Namespace() );
-    if ( !actionNode )
-        {
-        return;
-        }
-    RPointerArray<CXnNodeAppIf> children = actionNode->ChildrenL();
-    for ( TInt i=0; i<children.Count(); i++ )
-        {
-        CXnNodeAppIf* node = children[i];
-        const TDesC8* value =
-            PropertyValue( *node, XnPropertyNames::action::event::KName );
-        if ( value )
-            {
-            // Set display none
-            TPtrC8 targetNodeName;
-            ParseParameterStringL( *value, targetNodeName );
-            
-            if ( targetNodeName != KNullDesC8 )
-                {
-                CXnNodeAppIf* eventTargetNode = iUiEngine->FindNodeByIdL( targetNodeName, aEvent->Namespace() );
-                if ( eventTargetNode )
-                    {
-                    HandleMacroOperationL( *value, *eventTargetNode, *aEvent );
-                    }
-                }
-            }
-        }
-    children.Reset();
-    }
-
-void CAIXuikonMenuEventHandler::ShowMenuItemL( const TDesC8& aMenuItemId, TBool aShow, CXnDomNode* aEvent )
-    {
-    if ( aEvent )
-        {
-        // Show a single menuitem
-        CXnNodeAppIf* itemNode = iUiEngine->FindNodeByIdL( aMenuItemId, aEvent->Namespace() );
-        if ( itemNode && ( itemNode->Type()->Type() == KAIMenuItem ||
-                           itemNode->Type()->Type() == KAIMenu ) )
-            {
-            if ( aShow )
-                {
-                SetPropertyToNodeL( *itemNode, XnPropertyNames::style::common::KVisibility,
-                        XnPropertyNames::style::common::visibility::KVisible );
-                }
-            else
-                {
-                SetPropertyToNodeL( *itemNode, XnPropertyNames::style::common::KVisibility,
-                        XnPropertyNames::style::common::visibility::KHidden );
-                }
-            }
-        }
-    }
-
-TBool CAIXuikonMenuEventHandler::IsMenuItemVisibleL( const TDesC8& aMenuItemId, CXnDomNode* aEvent )
-    {
-    TBool ret = EFalse;
-    if ( aEvent )
-        {
-        CXnNodeAppIf* itemNode = iUiEngine->FindNodeByIdL( aMenuItemId, aEvent->Namespace() );
-        if ( itemNode && ( itemNode->Type()->Type() == KAIMenuItem ||
-                           itemNode->Type()->Type() == KAIMenu ) )
-            {
-            CXnProperty* visibility = itemNode->GetPropertyL( XnPropertyNames::style::common::KVisibility );
-            if ( visibility && (visibility->StringValue() == XnPropertyNames::style::common::visibility::KVisible) )
-                {
-                ret = ETrue;
-                }
-            }
-        }
-    return ret;
-    }
-
-void CAIXuikonMenuEventHandler::GetTextFromElementL( HBufC8*& aMemberPtr,
-                                                     const TDesC8& aItemId,
-                                                     CXnDomNode* aEvent )
-    {
-    delete aMemberPtr;
-    aMemberPtr = NULL;
-    if ( aEvent )
-        {
-        CXnNodeAppIf* labelNode = iUiEngine->FindNodeByIdL( aItemId, aEvent->Namespace() );
-        
-        if ( labelNode )
-            {
-            if ( labelNode->Type() )
-                {
-                const TDesC8& type = labelNode->Type()->Type();
-                if ( type == XnTextInterface::MXnTextInterface::Type() )
-                    {
-                    XnTextInterface::MXnTextInterface* textControl = NULL;
-                    XnComponentInterface::MakeInterfaceL( textControl, *labelNode );
-                    if ( textControl )
-                        {
-                        // Set text
-                        aMemberPtr = iStrParser->CopyToBufferL( aMemberPtr,
-                                                                *(textControl->Text()) );
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-TBool CAIXuikonMenuEventHandler::HandleMacroOperationL( const TDesC8& aSourcePtr,
-                                                        CXnNodeAppIf& aTargetNode,
-                                                        CXnDomNode& aEvent )
-    {
-    if ( aSourcePtr.Find( KAIMenuEventSetFocus ) >= 0 )
-        {
-        // Set focus
-        aTargetNode.SetStateL( XnPropertyNames::style::common::KFocus );
-        return ETrue;
-        }
-    else if ( aSourcePtr.Find( KAIMenuEventSetDisplayNone ) >= 0 )
-        {
-        SetPropertyToNodeL( aTargetNode, XnPropertyNames::style::common::KDisplay,
-                XnPropertyNames::style::common::display::KNone );
-        return ETrue;
-        }
-    else if ( aSourcePtr.Find( KAIMenuEventSetDisplayBlock) >= 0 )
-        {
-        SetPropertyToNodeL( aTargetNode, XnPropertyNames::style::common::KDisplay,
-                XnPropertyNames::style::common::display::KBlock );
-        return ETrue;
-        }
-    else 
-        {
-        HandleEventL( aSourcePtr, &aTargetNode, &aEvent );
-        return ETrue;
-        }
-    }
-
-TBool CAIXuikonMenuEventHandler::AttemptRestoreSoftkeyIconL(
-                            XnMenuInterface::MXnMenuInterface* aControl,
-                            XnImageInterface::MXnImageInterface* aIconControl,
-                            CXnNodeAppIf* aSourceNode,
-                            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos )
-    {
-    if ( aControl && aSourceNode )
-        {
-        const TDesC8* isVisible =
-                    PropertyValue( *aSourceNode,
-                            XnPropertyNames::style::common::KVisibility );
-
-        // node not "visible" so assume that text has been published
-        // after image
-        if ( !isVisible || *isVisible == XnPropertyNames::style::common::visibility::KHidden )
-            {
-            return EFalse;
-            }
-
-        CGulIcon* icon = NULL;
-        TBool transferOwnership = ETrue;
-        // First try to get the icon from image interface
-        if ( aIconControl )
-            {
-            CFbsBitmap* bitmap = NULL;
-            CFbsBitmap* mask = NULL;
-            aIconControl->ContentBitmaps( bitmap, mask );
-            if ( bitmap )
-                {
-                icon = CGulIcon::NewL( bitmap, mask );
-                icon->SetBitmapsOwnedExternally( ETrue );
-                // image adapter wants to keep ownership
-                transferOwnership = EFalse;
-                CleanupStack::PushL( icon );
-                }
-            }
-        // Then try to load it ourselves.
-        if ( !icon )
-            {
-            const TDesC8* value =
-                PropertyValue( *aSourceNode, XnPropertyNames::image::KPath );
-
-            if ( value )
-                {
-                icon = LoadIconLC( *aSourceNode );
-                icon->SetBitmapsOwnedExternally( ETrue );
-                // transfer ownerhsip to menunode
-                transferOwnership = ETrue;
-                }
-            }
-        // This icon is already in menu, no need to set it
-        // again
-        if ( icon &&
-             (icon->Bitmap() == iMenumodeBitmapLsk ||
-             icon->Bitmap() == iMenumodeBitmapRsk) )
-            {
-            CleanupStack::PopAndDestroy( icon );
-            return ETrue;
-            }
-        else if ( icon )
-            {
-            switch ( aPos )
-                {
-                case XnMenuInterface::MXnMenuInterface::ELeft:
-                    iMenumodeBitmapLsk = icon->Bitmap();
-                    break;
-                case XnMenuInterface::MXnMenuInterface::ERight:
-                    iMenumodeBitmapRsk = icon->Bitmap();
-                    break;
-                default:
-                    break;
-                }
-            aControl->SetSoftKeyImageL(
-                icon->Bitmap(),
-                icon->Mask(),
-                aPos,
-                ETrue, /* preserve aspect ratio */
-                EFalse, /* !invert mask */
-                transferOwnership
-                );
-            CleanupStack::PopAndDestroy( icon );
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-void CAIXuikonMenuEventHandler::SetSoftkeyLabelL(
-                            XnMenuInterface::MXnMenuInterface* aControl,
-                            const TDesC8* aLabel,
-                            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos )
-    {
-    if ( aControl && aLabel )
-        {
-        HBufC16* string16 = NULL;
-        string16 = iStrParser->CopyToBufferL( string16, *aLabel );
-        CleanupStack::PushL( string16 );
-        // Trapped because this will leave when setting the same again
-        TRAP_IGNORE(
-            aControl->SetSoftKeyTextL( *string16, aPos );
-            )
-        CleanupStack::PopAndDestroy( string16 );
-        }
-    }
-
-TBool CAIXuikonMenuEventHandler::InitEditModeMenuItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused, const TDesC8& aSource )
-    {
-    TBool showItem( EFalse );
-    CXnNodeAppIf* focused( aFocused );
-    
-    if ( focused && aSource == KContentModel )
-        {
-        CXnNodeAppIf* node = FindFromContentModelL( focused );
-        if ( !node ) 
-            {
-            // no plugin or no launch action
-            return showItem;
-            }
-        CXnProperty* plugin ( node->GetPropertyL( KName ) ) ;
-        if ( !plugin )
-            {
-            // no plugin or no launch action
-            return showItem;
-            }
-        HBufC* pluginName( plugin->StringValueL() );
-        CleanupStack::PushL( pluginName );
-        HBufC* item ( aMenuItem.GetPropertyL( KName )->StringValueL() ); 
-        CleanupStack::PushL( item );
-
-        showItem = iFwEventHandler->HasMenuItem( *pluginName , *item );
-
-        if ( showItem )
-            {
-            // pluginName/menuitem(item)
-            // Create launch event and store it to menuitem's property
-            HBufC8* eventstr = HBufC8::NewLC( pluginName->Length() 
-                                              + 15 // / ( ) 
-                                              + item->Length() );
-            TPtr8 str ( eventstr->Des() );
-            str.Copy( pluginName->Des() );
-            str.Append( TChar( '/' ));
-            str.Append( KMenuItem );
-            str.Append( TChar( '(' ));
-            str.Append( item->Des() );
-            str.Append( TChar( ')' ));
-
-            CXnDomStringPool& sp( iUiEngine->StringPool() );
-
-            CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( sp );
-            CleanupStack::PushL( newValue );
-
-            newValue->SetStringValueL( CXnDomPropertyValue::EString, str );
-
-            CXnProperty* prop = CXnProperty::NewL( XnPropertyNames::menu::KEvent, 
-                                                   newValue, sp );
-
-            CleanupStack::Pop( newValue );
-
-            CleanupStack::PushL( prop );
-
-            // and set it
-            aMenuItem.SetPropertyL( prop );
-            CleanupStack::Pop( prop );
-
-            CleanupStack::PopAndDestroy(eventstr ); // eventstr, children
-            }
-
-        CleanupStack::PopAndDestroy( item );
-        CleanupStack::PopAndDestroy( pluginName );
-        }
-    else if ( focused && aSource == KConfigurationModel ) 
-        {
-        CXnNodeAppIf* node( FindFromConfigurationL( focused ) );
-
-        if ( node )
-            {
-            CXnProperty* launch( node->GetPropertyL( KLaunch ) );
-            CXnProperty* plugin( node->GetPropertyL( KName ) );
-
-            if ( !launch || !plugin )
-                {
-                // no plugin or no launch action
-                return showItem;
-                }
-
-            HBufC* pluginName( plugin->StringValueL() );
-            CleanupStack::PushL( pluginName );
-
-            CXnProperty* prop( aMenuItem.GetPropertyL( KName ) );
-
-            if ( prop )
-                {
-                HBufC* item( prop->StringValueL() );
-                CleanupStack::PushL( item );
-
-                showItem = iFwEventHandler->HasMenuItem( *pluginName, *item );
-
-                CleanupStack::PopAndDestroy( item );
-                }
-            else
-                {
-                showItem = iFwEventHandler->HasMenuItem( *pluginName, KNullDesC );
-                }
-
-            CleanupStack::PopAndDestroy( pluginName );
-
-            if ( showItem )
-                {
-                // Create launch event and store it to menuitem's property
-                RPointerArray<CXnNodeAppIf> children( node->ChildrenL() );
-                CleanupClosePushL( children );
-
-                TInt count( children.Count() );
-
-                TInt length( launch->StringValue().Length() + 2 ); // +2 for '(' and ')'
-
-                for ( TInt i = 0; i < count; i++ )
-                    {
-                    if ( i > 0 )
-                        {
-                        length += 1;
-                        }
-
-                    CXnProperty* prop( children[i]->GetPropertyL( KName ) );
-
-                    if ( prop )
-                        {
-                        length += prop->StringValue().Length();
-                        }
-                    }
-
-                HBufC8* eventstr = HBufC8::NewLC( length );
-
-                TPtr8 str( eventstr->Des() );
-
-                str.Append( launch->StringValue() );
-
-                str.Append( TChar( '(' ) );
-
-                for ( TInt i = 0; i < count; i++ )
-                    {
-                    if ( i > 0 )
-                        {
-                        str.Append( TChar( ',' ) ); 
-                        }
-
-                    CXnProperty* prop( children[i]->GetPropertyL( KName ) );
-
-                    if ( prop )
-                        {
-                        str.Append( prop->StringValue() );
-                        }
-                    }
-
-                str.Append( TChar( ')' ) );
-
-                CXnDomStringPool& sp( iUiEngine->StringPool() );
-
-                CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( sp );
-                CleanupStack::PushL( newValue );
-
-                newValue->SetStringValueL( CXnDomPropertyValue::EString, str );
-
-                CXnProperty* prop = CXnProperty::NewL( XnPropertyNames::menu::KEvent, 
-                                                       newValue, sp );
-
-                CleanupStack::Pop( newValue );
-
-                CleanupStack::PushL( prop );
-
-                // and set it
-                aMenuItem.SetPropertyL( prop );
-                CleanupStack::Pop( prop );
-
-                CleanupStack::PopAndDestroy( 2, &children ); // eventstr, children
-                }
-            }
-        }
-
-    return showItem;
-    }
-
-TBool CAIXuikonMenuEventHandler::InitDefaultModeMenuItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused, const TDesC8& aSource )
-    {
-    TBool showItem( EFalse );
-    TInt len( 0 );
-    if ( aSource == KContentModel )
-        {
-        CXnProperty* prop( aMenuItem.GetPropertyL( KName ) );
-        if ( !prop )
-            {
-            return showItem;
-            }
-
-        RPointerArray<HBufC16> plnNames;
-        CleanupStack::PushL( TCleanupItem( DeletePluginNames, &plnNames ) );
-
-        CXnNodeAppIf* focused( aFocused );
-        HBufC* item ( prop->StringValueL() );
-	    CleanupStack::PushL( item );
-	   
-	    if( item->Des() == KHSOnLine_OffLine() ) 
-	    	{
-	    	TBool webContent = EFalse;
-	    	RPointerArray<CXnNodeAppIf> plugins = iUiEngine->FindNodeByClassL( KContentSource16 ) ;
-	    	CleanupClosePushL( plugins );
-			if( plugins.Count() <= 0  )
-				{
-				CleanupStack::PopAndDestroy(&plugins);
-				CleanupStack::PopAndDestroy( item );
-				CleanupStack::PopAndDestroy(&plnNames);
-				return showItem;
-				}
-			for (TInt i = 0; i < plugins.Count(); i++)
-				{
-				 CXnProperty* property ( plugins[i]->GetPropertyL( KName ) ) ;
-				 if ( property )
-					 {
-					 HBufC16* pluginName ( property->StringValueL() );
-					 CleanupStack::PushL( pluginName ); 
-					 if( iFwEventHandler->HasMenuItem( *pluginName , *item ) )
-						 {
-                         webContent = ETrue;	 
-                         CleanupStack::PopAndDestroy( pluginName );
-						 break;
-						 }
-				     CleanupStack::PopAndDestroy( pluginName );
-					 }
-				}
-			CleanupStack::PopAndDestroy(&plugins);
-			
-			// At least one widget using web content
-	    	if ( webContent )
-	    		{
-	    		CXnProperty* status( aMenuItem.GetPropertyL(KStatus) );
-				if ( status )
-					{
-					HBufC* statusValue ( status->StringValueL() );
-					CleanupStack::PushL( statusValue );
-					if ( (statusValue->Des() == KHSOnLine()) && !iFwEventHandler->IsPluginsOnline() )
-					   {
-					   plnNames.AppendL( KHSOnLine().Alloc() );
-					   len = KHSOnLine().Length();
-					   }
-					else if ( (statusValue->Des() == KHSOffLine()) && iFwEventHandler->IsPluginsOnline() )
-					   {
-					   plnNames.AppendL( KHSOffLine().Alloc() );
-					   len = KHSOffLine().Length();
-					   }
-					 CleanupStack::PopAndDestroy( statusValue );
-					}
-	    		}
-	    	}
-	    else
-	    	{
-			if( focused )  
-				{
-				RPointerArray< CXnNodeAppIf > plugins;
-				CleanupClosePushL( plugins );
-				
-				iUiEngine->GetPluginNodeArrayL( plugins );
-							
-				CXnNodeAppIf* node( NULL );
-				
-				for( ; focused; focused = focused->ParentL() )
-					{
-					if( plugins.Find( focused ) != KErrNotFound )
-						{                    
-						node = FindFromContentModelL( focused );                    
-						break;
-						}
-					}
-					
-				CleanupStack::PopAndDestroy( &plugins );
-							 
-				 if( !node ) 
-					 {
-					 // no plugin or no launch action
-					 CleanupStack::PopAndDestroy(item );
-					 CleanupStack::PopAndDestroy(&plnNames);
-					 return showItem;
-					 }
-				 CXnProperty* plugin ( node->GetPropertyL( KName ) ) ;
-				 if( !plugin )
-					{
-					// no plugin or no launch action
-					CleanupStack::PopAndDestroy(item );
-					CleanupStack::PopAndDestroy(&plnNames);
-					return showItem;
-					}
-				 HBufC16* pluginName( plugin->StringValueL() );
-				 CleanupStack::PushL( pluginName );
-				 if( iFwEventHandler->HasMenuItem( *pluginName , *item ) )
-					 {
-					 plnNames.AppendL( pluginName );
-					 len += pluginName->Length();
-					 CleanupStack::Pop( pluginName );
-					 } 
-				 else
-					 {
-					 CleanupStack::PopAndDestroy( pluginName );
-					 }
-				}
-		   else
-			   {
-				RPointerArray<CXnNodeAppIf> plugins = iUiEngine->FindNodeByClassL( KContentSource16 ) ;
-				if( plugins.Count() <= 0  )
-					{
-					CleanupStack::PopAndDestroy( item );
-					CleanupStack::PopAndDestroy(&plnNames);
-					return showItem;
-					}
-				CleanupClosePushL( plugins );
-				for (TInt i = 0; i < plugins.Count(); i++)
-					{
-					 CXnProperty* property ( plugins[i]->GetPropertyL( KName ) ) ;
-					 if ( property )
-						 {
-						 HBufC16* pluginName ( property->StringValueL() );
-						 CleanupStack::PushL( pluginName ); 
-						 if( iFwEventHandler->HasMenuItem( *pluginName , *item ) )
-							 {
-							 plnNames.AppendL( pluginName );	 
-							 len += pluginName->Length();
-							 CleanupStack::Pop( pluginName );
-							 }
-						 else
-							 {
-							 CleanupStack::PopAndDestroy( pluginName );
-							 }
-						 }
-					}
-				 CleanupStack::PopAndDestroy(&plugins);
-			   }
-	    	}
-	    
-         TInt count = plnNames.Count();
-    	 if( count > 0 )
-            {
-            showItem = ETrue;
-            // [pluginName1,...]/menuitem(item)
-            // Create launch event and store it to menuitem's property
-            HBufC8* eventstr = HBufC8::NewLC( len + 
-                                              + 15 // / ( ) [ ]
-                                              + item->Length() );
-            TPtr8 str ( eventstr->Des() );
-            str.Copy( KOpenBrace );
-            for ( TInt i = 0; i < count; i++ )
-                {
-                str.Append( plnNames[i]->Des() );
-                if ( i+1 != count ) str.Append( TChar( ',' ) );
-                }
-            str.Append( KCloseBrace );
-            str.Append( TChar( '/' ) );
-            str.Append( KMenuItem );
-            str.Append( TChar( '(' ) );
-            str.Append( item->Des() );
-            str.Append( TChar( ')' ) );
-
-            CXnDomStringPool& sp( iUiEngine->StringPool() );
-
-            CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( sp );
-            CleanupStack::PushL( newValue );
-
-            newValue->SetStringValueL( CXnDomPropertyValue::EString, str );
-
-            CXnProperty* prop = CXnProperty::NewL( XnPropertyNames::menu::KEvent, 
-                                                   newValue, sp );
-
-            CleanupStack::Pop( newValue );
-
-            CleanupStack::PushL( prop );
-
-            // and set it
-            aMenuItem.SetPropertyL( prop );
-            CleanupStack::Pop( prop );
-
-            CleanupStack::PopAndDestroy( eventstr ); // eventstr, children
-            }
-
-        CleanupStack::PopAndDestroy( item );
-        CleanupStack::PopAndDestroy( &plnNames );
-        }
-    else if ( aFocused && aSource == KConfigurationModel ) 
-        {
-        CXnNodeAppIf* node( FindFromConfigurationL( aFocused ) );
-
-        if ( node )
-            {
-            CXnProperty* launch( node->GetPropertyL( KLaunch ) );
-            CXnProperty* plugin( node->GetPropertyL( KName ) );
-
-            if ( !launch || !plugin )
-                {
-                // no plugin or no launch action
-                return showItem;
-                }
-
-            HBufC* pluginName( plugin->StringValueL() );
-            CleanupStack::PushL( pluginName );
-
-            CXnProperty* prop( aMenuItem.GetPropertyL( KName ) );
-
-            if ( prop )
-                {
-                HBufC* item( prop->StringValueL() );
-                CleanupStack::PushL( item );
-
-                showItem = iFwEventHandler->HasMenuItem( *pluginName, *item );
-
-                CleanupStack::PopAndDestroy( item );
-                }
-            else
-                {
-                showItem = iFwEventHandler->HasMenuItem( *pluginName, KNullDesC );
-                }
-
-            CleanupStack::PopAndDestroy( pluginName );
-
-            if ( showItem )
-                {
-                // Create launch event and store it to menuitem's property
-                RPointerArray<CXnNodeAppIf> children( node->ChildrenL() );
-                CleanupClosePushL( children );
-
-                TInt count( children.Count() );
-
-                TInt length( launch->StringValue().Length() + 2 ); // +2 for '(' and ')'
-
-                for ( TInt i = 0; i < count; i++ )
-                    {
-                    if ( i > 0 )
-                        {
-                        length += 1;
-                        }
-
-                    CXnProperty* prop( children[i]->GetPropertyL( KName ) );
-
-                    if ( prop )
-                        {
-                        length += prop->StringValue().Length();
-                        }
-                    }
-
-                HBufC8* eventstr = HBufC8::NewLC( length );
-
-                TPtr8 str( eventstr->Des() );
-
-                str.Append( launch->StringValue() );
-
-                str.Append( TChar( '(' ) );
-
-                for ( TInt i = 0; i < count; i++ )
-                    {
-                    if ( i > 0 )
-                        {
-                        str.Append( TChar( ',' ) ); 
-                        }
-
-                    CXnProperty* prop( children[i]->GetPropertyL( KName ) );
-
-                    if ( prop )
-                        {
-                        str.Append( prop->StringValue() );
-                        }
-                    }
-
-                str.Append( TChar( ')' ) );
-
-                CXnDomStringPool& sp( iUiEngine->StringPool() );
-
-                CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( sp );
-                CleanupStack::PushL( newValue );
-
-                newValue->SetStringValueL( CXnDomPropertyValue::EString, str );
-
-                CXnProperty* prop = CXnProperty::NewL( XnPropertyNames::menu::KEvent, 
-                                                       newValue, sp );
-
-                CleanupStack::Pop( newValue );
-
-                CleanupStack::PushL( prop );
-
-                // and set it
-                aMenuItem.SetPropertyL( prop );
-                CleanupStack::Pop( prop );
-
-                CleanupStack::PopAndDestroy( 2, &children ); // eventstr, children
-                }
-            }
-        }
-
-    // Currently we don't support default mode dynamic menu item for ConfigurationModel
-    return showItem;
-    }
-
-CXnProperty* CAIXuikonMenuEventHandler::GetWidgetPropertyL(CXnNodeAppIf& aPlugin, const TDesC8& aProperty)
-    {
-    CXnProperty* retval = NULL;
-    RPointerArray<CXnNodeAppIf> children(aPlugin.ChildrenL());
-    CleanupClosePushL( children );
-    TInt childCount = children.Count();
-    for (TInt i = 0; i < childCount; i++)
-        {
-        //search for widget element and get given property
-        CXnNodeAppIf* widget = children[i];
-        if (widget && widget->InternalDomNodeType() == KWidget)
-            {
-            retval = widget->GetPropertyL(aProperty);
-            i = childCount;
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    return retval;
-    }
-
-TBool CAIXuikonMenuEventHandler::DynInitItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aFocused )
-    {
-    CXnProperty* prop( aMenuItem.GetPropertyL( KSource ) );
-    if ( prop )
-        {
-        if ( prop && prop->StringValue().Length() > 0 )
-            {
-            if ( iUiEngine->IsEditMode() )
-                {
-                return InitEditModeMenuItemL( aMenuItem, aFocused, prop->StringValue() );
-                }
-            else
-                {
-                return InitDefaultModeMenuItemL( aMenuItem, aFocused, prop->StringValue() ); 
-                }
-            }
-        }
-    else
-        {
-        CXnProperty* idProp( aMenuItem.GetPropertyL( KId ) );
-        if ( idProp )
-            {
-            const TDesC8& id = idProp->StringValue();
-            if ( id == KEditWidget )
-                {                
-                if ( aFocused )
-                    {
-                    for ( CXnNodeAppIf* candidate = aFocused; candidate; candidate = candidate->ParentL() )
-                        {
-                        if ( candidate->InternalDomNodeType() == KPlugin && !iUiEngine->IsEditMode() )
-                            {
-                            return ETrue;
-                            }
-                        }
-                    }
-                }
-            else if( id == KRemoveItem && iUiEngine->IsEditMode() )
-                {
-                // get plugin node from focused
-                CXnNodeAppIf* node = aFocused;
-                CXnNodeAppIf* pluginNode = NULL;
-                for(; node && node->Type()->Type() != KView; node = node->ParentL() )
-                    {
-                    CXnProperty* configurationId( node->GetPropertyL( KConfigurationId ) );
-                    CXnProperty* pluginId( node->GetPropertyL( KPluginId ) );
-                    
-                    if( configurationId && pluginId )
-                        {           
-                        pluginNode = node;
-                        break;
-                        }
-                    }
-                
-                if( pluginNode )
-                    {
-                    // check if plugin can be removed
-                    CXnProperty* removable = GetWidgetPropertyL(*pluginNode, KRemovable);
-                    if ( removable && removable->StringValue() == XnPropertyNames::KFalse )
-                        {
-                        return EFalse;
-                        }
-                    // hide menu item if the focused plugin is an "empty" widget
-                    CXnProperty* pluginName = pluginNode->GetPropertyL( KPluginName );
-                    if( pluginName )
-                        {
-                        const TDesC8& nameStr = pluginName->StringValue();
-                        if( nameStr == KDummy8 )
-                            {
-                            return EFalse;
-                            }
-                        else
-                            {
-                            return ETrue;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        
-    return EFalse;        
-    }
-
-
-TBool CAIXuikonMenuEventHandler::DynInitMenuItemL( CXnNodeAppIf& aMenuItem )
-    {      
-    TBool ret = EFalse;
-    if( !iUiEngine->WidgetsVisible() )
-        {
-        // only online/offline dynamic menu item is allowed to show now
-        CXnProperty* prop( aMenuItem.GetPropertyL(KName) );
-        if ( prop )
-        	{
-        	HBufC* item ( prop->StringValueL() );
-        	CleanupStack::PushL( item );
-        	if (item->Des() == KHSOnLine_OffLine() )
-        		{
-        		ret = DynInitItemL( aMenuItem, iUiEngine->FocusedNode() );
-        		}
-        	CleanupStack::PopAndDestroy( item );
-        	}
-        }
-    else
-    	{
-    	ret = DynInitItemL( aMenuItem, iUiEngine->FocusedNode() );
-    	}
-    return ret;
-    }
-    
--- a/idlehomescreen/xmluicontroller/src/application.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Application class
-*
-*/
-
-
-#include <bautils.h>
-#include <aisystemuids.hrh>
-#include "application.h"
-#include "document.h"
-#include <coemain.h>
-#include <data_caging_path_literals.hrh>
-#include "debug.h"
-
-namespace AiXmlUiController {
-
-
-_LIT( KAiXmlUiResourceDrive, "z:" );
-_LIT( KAiXmlUiResourceFile, "Ai3XmlUi.rsc" );
-
-
-// ========== MEMBER FUNCTIONS ================================================
-
-CApplication::CApplication(TUid aAppUid, CXmlUiController& aUiCtl)
-    : CXnApplication(aAppUid),
-      iUiCtl(aUiCtl)
-    {
-    }
-
-CApplication* CApplication::New(CXmlUiController& aUiCtl)
-    {
-    CApplication* self = NULL;
-    
-    __TIME("XML UI: Create Application",
-    	self = new CApplication(KUidXmlUiApp, aUiCtl);
-    )
-    __HEAP("XML UI: Create Application");
-
-    return self;
-    }
-
-CApplication::~CApplication()
-    {
-    }
-
-CApaDocument* CApplication::CreateDocumentL()
-    {
-    return CDocument::NewL(*this, iUiCtl);
-    }
-
-TUid CApplication::AppDllUid() const
-    {
-    return KUidXmlUiApp;
-    }
-
-TFileName CApplication::ResourceFileName() const
-    {
-    
-    TFileName resFile;
-    resFile.Append( KAiXmlUiResourceDrive );
-    resFile.Append( KDC_APP_RESOURCE_DIR );
-    resFile.Append( KAiXmlUiResourceFile );
-    BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), resFile );
-    
-    return resFile;
-    }
-
-} // namespace AiXmlUiController
--- a/idlehomescreen/xmluicontroller/src/appui.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,490 +0,0 @@
-/*
-* Copyright (c) 2005-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:  App ui
-*
-*/
-
-// System includes
-#include <centralrepository.h>
-#include <avkon.rsg>                    // For status pane layout resource ids
-#include <startupdomainpskeys.h>
-#include <e32property.h>                // For RProperty
-#include <activeidle2domainpskeys.h>
-#include <AknDlgShut.h>                 // Avkon dialog shutter.
-#include <aknview.h>
-
-// User includes
-#include <activeidle2domaincrkeys.h>
-#include <aifweventhandler.h>
-#include <ai3xmlui.rsg>
-
-#include "appui.h"
-#include "application.h"
-#include "xmluicontroller.h"
-#include "aixuikoneventhandler.h"
-#include "aiuiframeworkobserver.h"
-#include "aixmluiconstants.h"
-#include "contentrenderer.h"
-#include "psobserver.h"
-
-#include "aipropertyextension.h"
-#include "aicontentmodel.h"
-#include "aiuiidleintegration.h"
-#include "xmluicontrollerpanic.h"
-
-#include "debug.h"
-#include "ai3perf.h"
-#include "xndomnode.h"
-#include "xnproperty.h"
-#include "xnuiengineappif.h"
-#include "onlineofflinehelper.h"
-
-using namespace AiXmlUiController;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ----------------------------------------------------------------------------
-// CAppUi::CAppUi
-// ----------------------------------------------------------------------------
-//
-CAppUi::CAppUi( CXmlUiController& aUiCtl, TUid aAppUid )
-    : CXnAppUiAdapter( aAppUid ), iUiCtl( aUiCtl )            
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::ConstructL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::ConstructL()
-    {
-    AI3_PERF_START(perfdata, "xmluicontroller: CAppUi::ConstructL")
-        
-    // Always reset the phoneforward P&S key on startup just in case
-    RProperty::Set(KPSUidAiInformation,
-                      KActiveIdleForwardNumericKeysToPhone,
-                      EPSAiForwardNumericKeysToPhone);
-
-    // Initialize with empty title pane so it's not shown on startup.                  
-    __HEAP("XML UI: Init - Construct App UI")
-    __TIME("XML UI: XnAppUiAdapted::ConstructL",
-        CXnAppUiAdapter::ConstructL();       
-    ) 
-    
-    // Register for XML UI view activation & deactivation
-    AddViewActivationObserverL( this );
-    
-    // Disable CCoeEnv exit checks.
-    // Active Idle Framework will perform the checks.
-    iCoeEnv->DisableExitChecks(ETrue);
-    
-    __TIME("XML UI: Construct Content Renderer",
-        iContentRenderer = CContentRenderer::NewL( *this );
-    )
-    __HEAP("XML UI: Construct Content Renderer");
-
-    TXnUiEngineAppIf* uiEngine = UiEngineL();
-    __ASSERT_ALWAYS( uiEngine, Panic(ECriticalPointerNull) );
-    
-    iUiCtl.SetObserver( *iContentRenderer );
-    
-    iContentRenderer->SetEventHandler( *iUiCtl.FwEventHandler() );
-    
-    iUiCtl.SetAppUi( *this );
-    
-    iEventHandler = iUiCtl.CreateXuikonEventHandlerL( *iContentRenderer );
-
-    iUiFwObserver = iUiCtl.UiFrameworkObserver();
-
-    TAiIdleKeySoundConfig keySoundConfig;
-    keySoundConfig.iKeySounds = KeySounds();
-    keySoundConfig.iContextResId = R_XUI_DEFAULT_SKEY_LIST;
-    
-    iIdleIntegration = CAiUiIdleIntegration::NewL
-        ( *iEikonEnv, keySoundConfig, iUiCtl.FwEventHandler() );
-                 
-    iHelper = COnlineOfflineHelper::NewL( iUiCtl );
-    
-    iUiCtl.NotifyAppEnvReadyL();
-    
-    LoadNativeDataPluginsL();
-
-    CAknAppUiBase::SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort |
-                                     CAknAppUiBase::EDisableSendKeyLong );
-    
-    iIsEditModeActive = EFalse;
-
-   
-    __HEAP("XML UI: Done - Construct App UI");
-    AI3_PERF_STOP(perfdata, "xmluicontroller: CAppUi::ConstructL")
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::NewL()
-// ----------------------------------------------------------------------------
-//
-CAppUi* CAppUi::NewL( CXmlUiController& aUiCtl )
-    {
-    CAppUi* self = new ( ELeave ) CAppUi( aUiCtl, KUidXmlUiApp );
-
-    // ConstructL is called by the UI framework
-
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::~CAppUi()
-// ----------------------------------------------------------------------------
-//
-CAppUi::~CAppUi()
-    {
-    delete iHelper;
-    delete iEventHandler;
-    delete iContentRenderer;
-    delete iIdleIntegration;           
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::PrepareToExit()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::PrepareToExit()
-    {
-    iUiCtl.FwEventHandler()->HandleUiShutdown( iUiCtl );
-    
-    CXnAppUiAdapter::PrepareToExit();
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::HandleForegroundEventL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::HandleForegroundEventL( TBool aForeground )
-    {
-    CXnAppUiAdapter::HandleForegroundEventL( aForeground );
-    
-    if( iUiFwObserver )
-        {
-        iUiFwObserver->HandleForegroundEvent( aForeground );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::HandleCommandL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::HandleCommandL(TInt aCommand)
-    {
-    switch( aCommand )
-        {
-        case EEikCmdExit:
-            {
-            Exit();
-            break;
-            }
-        case EAknSoftkeyExit:
-        case EAknCmdExit:
-            {
-#ifdef _DEBUG
-
-            Exit();
-            break;            
-#endif // _DEBUG
-            }            
-        default:
-            {
-            break;
-            }            
-        }        
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::HandleResourceChangeL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CXnAppUiAdapter::HandleResourceChangeL( aType );
-    
-    if( iUiFwObserver )
-        {
-        iUiFwObserver->HandleResourceChange( aType );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::HandleWsEventL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::HandleWsEventL( const TWsEvent& aEvent, 
-    CCoeControl* aDestination )
-    {    
-    if( aEvent.Type() == KAknUidValueEndKeyCloseEvent )
-        {
-        // End key close event, run dialog shutter
-        // to dismiss open dialogs
-        if ( IsDisplayingMenuOrDialog() )
-            {
-            AknDialogShutter::ShutDialogsL( 
-                *static_cast< CEikonEnv* >( CCoeEnv::Static() ) );             
-            }
-        else
-            {
-            TKeyEvent key;
-            
-            key.iScanCode = EStdKeyNo;
-            key.iCode = EStdKeyNull;
-            key.iModifiers = 0;
-            key.iRepeats = 0;
-            
-            iCoeEnv->SimulateKeyEventL( key, EEventKey );            
-            }        
-        }
-         	  
-    if( iIdleIntegration )
-        {
-        // Forward window server events first to idle integration library
-        iIdleIntegration->HandleWsEventL( aEvent, aDestination );
-        }
-
-    // Call base class to let the UI framework handle the event
-    // Don't trap here, because there could be leaves which need to
-    // handled by base classes/UI framework like KLeaveExit, KErrNoMemory etc.
-    CXnAppUiAdapter::HandleWsEventL( aEvent, aDestination );
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::HandleXuikonEventL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::HandleXuikonEventL( CXnNodeAppIf& aOrigin, 
-    CXnNodeAppIf& aTrigger, 
-    CXnDomNode& aTriggerDefinition, 
-    CXnDomNode& aEvent )
-    {
-    __PRINTS("*** UC: Init - Event Management ***");
-
-	if( iEventHandler )
-	    {
-	__TIME("UC: Event Management",
-    	iEventHandler->HandleXuikonEventL( aOrigin, 
-                                           aTrigger, 
-                                           aTriggerDefinition, 
-                                           aEvent );
-	);
-	    }
-	__PRINTS("*** UI: Done - Event Management");
-    }
-    
-// ----------------------------------------------------------------------------
-// CAppUi::LoadDataPluginsL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::LoadDataPluginsL( RPointerArray< CXnNodeAppIf >& aList )
-    {
-    for( TInt i = 0; i < aList.Count(); i++ )
-        {
-        TAiPublisherInfo info;
-        
-        iUiCtl.PublisherInfoL( *aList[i], info );
-                
-        iUiCtl.FwEventHandler()->HandleLoadPluginL( info );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::LoadNativeDataPluginsL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::LoadNativeDataPluginsL()
-    {
-    if ( !iNativePluginsLoaded )
-        {
-        RAiPublisherInfoArray plugins;
-        CleanupClosePushL( plugins );
-        
-        iUiCtl.PublisherInfoL( plugins );
-        
-        for ( TInt i = 0; i < plugins.Count(); i++ )
-            {
-            iUiCtl.FwEventHandler()->HandleLoadPluginL( plugins[i] );
-            }
-        
-        CleanupStack::PopAndDestroy( &plugins );
-        
-        iNativePluginsLoaded = ETrue;
-        }              
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::DestroyDataPluginsL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::DestroyDataPluginsL( RPointerArray< CXnNodeAppIf >& aList )
-    {
-    for( TInt i = 0; i < aList.Count(); i++ )
-        {
-        TAiPublisherInfo info;
-        
-        iUiCtl.PublisherInfoL( *aList[i], info );
-                
-        iUiCtl.FwEventHandler()->HandleDestroyPluginL( info );
-        }    
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::DestroyNativeDataPluginsL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::DestroyNativeDataPluginsL()
-    {
-    if ( iNativePluginsLoaded )
-        {                
-        RAiPublisherInfoArray plugins;
-        CleanupClosePushL( plugins );
-        
-        iUiCtl.PublisherInfoL( plugins );
-        
-        for ( TInt i = 0; i < plugins.Count(); i++ )
-            {
-            iUiCtl.FwEventHandler()->HandleDestroyPluginL( plugins[i] );
-            }
-        
-        CleanupStack::PopAndDestroy( &plugins );
-        
-        iNativePluginsLoaded = EFalse;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::DynInitMenuItemL()
-// ----------------------------------------------------------------------------
-//
-TBool CAppUi::DynInitMenuItemL( const TDesC& aItemType, 
-    RPointerArray< CXnNodeAppIf >* aList )
-    {
-    _LIT( KOnline, "hs_online" );
-    _LIT( KOffline, "hs_offline" );
-    
-    TBool retval( EFalse );
-               
-    if( aItemType == KOnline )
-        {
-        return iHelper->ShowOnlineItem();
-        }
-    else if( aItemType == KOffline )
-        {
-        return iHelper->ShowOfflineItem();
-        }
-    else if( aList )
-        {
-        RPointerArray< CXnNodeAppIf >& list( *aList );
-        
-        for( TInt i = 0; !retval && i < list.Count(); i++ )
-            {
-            TAiPublisherInfo info;
-                           
-            iUiCtl.PublisherInfoL( *list[i], info );
-                                   
-            retval = iUiCtl.FwEventHandler()->HasMenuItemL( info, aItemType );                                                
-            }        
-        }
-                          
-    return retval;
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::SetOnlineStateL()
-// Called always by view manager when view is activated.
-// ----------------------------------------------------------------------------
-//
-void CAppUi::SetOnlineStateL( RPointerArray< CXnNodeAppIf >& aList )
-    {
-    iHelper->ProcessOnlineStateL( aList );
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::SetOnlineL()
-// Called always when user changed HS online/offline status from option menu.
-// ----------------------------------------------------------------------------
-//
-void CAppUi::SetOnlineStateL( TBool aOnline )
-    {
-    iHelper->ProcessOnlineStateL( aOnline );
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::HandleViewActivation()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::HandleViewActivation( const TVwsViewId& aNewlyActivatedViewId, 
-    const TVwsViewId& aViewIdToBeDeactivated )
-    {
-    if ( iIsEditModeActive )
-        {
-        return;
-        }
-    
-    // Get Xml Ui view id       
-    TVwsViewId viewId( View().ViewId() );
-    
-    if ( viewId == aNewlyActivatedViewId )
-        {        
-        // Xml Ui view became active
-        TRAP_IGNORE( LoadNativeDataPluginsL() );
-        }
-    else if ( viewId == aViewIdToBeDeactivated )
-        {
-        // Xml Ui view became inactive 
-        TRAP_IGNORE( DestroyNativeDataPluginsL() );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::UiController()
-// ----------------------------------------------------------------------------
-//
-CXmlUiController& CAppUi::UiController() const
-    {
-    return iUiCtl;
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::HandlePageSwitch()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::HandlePageSwitch()
-    {
-    iUiCtl.FwEventHandler()->ProcessStateChange( EAifwPageSwitch );
-    }
-
-// ----------------------------------------------------------------------------
-// CAppUi::HandleEnterEditModeL()
-// ----------------------------------------------------------------------------
-//
-void CAppUi::HandleEnterEditModeL( TBool aEnter )
-    {
-    if ( aEnter )
-        {
-        DestroyNativeDataPluginsL();
-        iIsEditModeActive = ETrue;
-        }
-    else
-        {
-        LoadNativeDataPluginsL();
-        iIsEditModeActive = EFalse;
-        }
-    }
-
-// End of File.
--- a/idlehomescreen/xmluicontroller/src/contentpublisher.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +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:  Content Publishing Service interface.
-*
-*/
-
-#include "contentpublisher.h"
-#include "globalqueryhandler.h"
-
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-#include <liwgenericparam.h>
-#include <AknQueryDialog.h>
-#include <ai3xmlui.rsg>
-#include "xmluicontroller.h"
-#include <AknGlobalConfirmationQuery.h>
-#include <StringLoader.h> // StringLoader
-
-using namespace AiXmlUiController;
-
-_LIT8( KCPService, "Service.ContentPublishing" );
-_LIT8( KCPInterface, "IDataSource" );
-
-_LIT8( KType, "type" );
-_LIT( KCpData, "cp_data" );
-
-_LIT8( KPublisherId, "publisher" );
-_LIT8( KContentTypeId, "content_type" );
-_LIT8( KContentId, "content_id" );
-_LIT8( KResults, "results" );
-
-_LIT(KAI3HSPublisher,"ai3homescreen");
-_LIT(KContentType,"wideimage");
-
-_LIT8( KAPStatus, "apstatus");
-_LIT(KNetwork, "network");
-
-_LIT( KDisConnected, "disconnected");
-_LIT( KConnected, "connected");
-
-_LIT(KPublisher16, "publisher");
-
-
-_LIT8( KRequestNotification, "RequestNotification" );
-_LIT8( KDataMap, "data_map" );
-
-_LIT8( KItem, "item" );
-_LIT8( KAdd, "Add" );
-_LIT8( KGetList, "GetList" );
-_LIT8( KFilter,        "filter" );
-_LIT8( KWidth, "width");
-_LIT8( KHeight, "height");
-_LIT8( KChangeInfo,    "change_info" );
-// ============================ LOCAL FUNCTIONS ===============================
-
-
-static void DoResetAndDestroy( TAny* aPtr )
-    {
-    __ASSERT_DEBUG( aPtr, User::Invariant() );
-    reinterpret_cast< RCriteriaArray* >( aPtr )->ResetAndDestroy();
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-// 
-CContentPublisher* CContentPublisher::NewL(CXmlUiController& aUiController)
-    {
-    CContentPublisher* self = new (ELeave) CContentPublisher(aUiController);
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//   
-CContentPublisher::~CContentPublisher()
-    {
-    TRAP_IGNORE(UnRegisterListenerL());
-    if( iCpsInterface )
-        {
-        iCpsInterface->Close();
-        iCpsInterface = NULL;
-        }
-    if( iServiceHandler )
-        {
-        iServiceHandler->Reset();
-        delete iServiceHandler;
-        iServiceHandler = NULL;
-        }
-    delete iGlobalQueryHandler;
-    delete iGlobalConfirmationQuery;    
-    }
-
-// -----------------------------------------------------------------------------
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-CContentPublisher::CContentPublisher(CXmlUiController& aUiController): iUiController( aUiController )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-void CContentPublisher::ConstructL()
-    {
-    InitCpsInterfaceL();
-    RegisterListenerL();
-    iGlobalQueryHandler = CGlobalQueryHandler::NewL(iUiController);
-    iGlobalConfirmationQuery = CAknGlobalConfirmationQuery::NewL();
-    
-    }
-
-// -----------------------------------------------------------------------------
-// Publishes a given width and height to Content Publishing Service
-// -----------------------------------------------------------------------------
-//
-void CContentPublisher::PublishSizeL( const TDesC& aElementName,
-        TInt aWidth, TInt aHeight )
-    {
-    AddDataL( KAI3HSPublisher() ,KContentType(), aElementName,
-            aWidth, KWidth, aHeight, KHeight );
-    }
-
-// -----------------------------------------------------------------------------
-// Uses the CPS interface to add given data
-// -----------------------------------------------------------------------------
-//
-void CContentPublisher::AddDataL( 
-        const TDesC& aPublisherId, const TDesC& aContentType, const TDesC& aContentId,
-        const TInt aData1, const TDesC8& aDataKey1,
-        const TInt aData2, const TDesC8& aDataKey2 )
-    {
-    CLiwGenericParamList& inparam = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outparam = iServiceHandler->OutParamListL();
-
-    TLiwGenericParam cptype( KType, TLiwVariant( KCpData ));
-    cptype.PushL();
-    
-    inparam.AppendL( cptype );
-    
-    CLiwDefaultMap* cpdatamap = CLiwDefaultMap::NewLC();
-    CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-    
-    // Add data to data map
-    map->InsertL( aDataKey1,  TLiwVariant( aData1 ));
-    map->InsertL( aDataKey2,  TLiwVariant( aData2 ));
-
-    // Create content data map
-    cpdatamap->InsertL( KPublisherId, TLiwVariant( aPublisherId ));
-    cpdatamap->InsertL( KContentTypeId, TLiwVariant( aContentType )); 
-    cpdatamap->InsertL( KContentId, TLiwVariant( aContentId ));
-    cpdatamap->InsertL( KDataMap, TLiwVariant(map) );
-            
-    TLiwGenericParam item( KItem, TLiwVariant( cpdatamap ));     
-    item.PushL(); 
-       
-    inparam.AppendL( item );
-    
-    iCpsInterface->ExecuteCmdL( KAdd , inparam, outparam);
-
-    CleanupStack::PopAndDestroy( &item );
-    CleanupStack::PopAndDestroy( map );
-    CleanupStack::PopAndDestroy( cpdatamap );
-    CleanupStack::PopAndDestroy( &cptype );
-
-    outparam.Reset();
-    inparam.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// Uses the CPS interface to get data
-// -----------------------------------------------------------------------------
-//
-void CContentPublisher::GetDataL( 
-        const TDesC& aPublisherId, const TDesC& aContentType, const TDesC& aContentId,
-        CLiwDefaultMap* aOutDataMap)
-    {
-    CLiwGenericParamList& inParamList  = iServiceHandler->InParamListL();
-	CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
-	
-	TLiwGenericParam type( KType, TLiwVariant( KCpData ) );
-	inParamList.AppendL( type );
-	
-	CLiwDefaultMap* cpdatamap = CLiwDefaultMap::NewLC();
-
-	// Create content data map
-	cpdatamap->InsertL( KPublisherId, TLiwVariant( aPublisherId ));
-	cpdatamap->InsertL( KContentTypeId, TLiwVariant( aContentType )); 
-	cpdatamap->InsertL( KContentId, TLiwVariant( aContentId ));
-	  
-	//append filter to input param
-	TLiwGenericParam item( KFilter, TLiwVariant( cpdatamap ));
-	inParamList.AppendL( item );
-    CleanupStack::PopAndDestroy( cpdatamap );
-	 
-    iCpsInterface->ExecuteCmdL( KGetList, inParamList, outParamList);
-
-    type.Reset();
-	item.Reset();
-	inParamList.Reset();
-	
-	//extracts data map
-	TInt pos = 0;
-	outParamList.FindFirst( pos, KResults );
-	if( pos != KErrNotFound )
-		// results present
-		{
-		//extract iterator on results list
-		TLiwVariant variant = (outParamList)[pos].Value();
-		variant.PushL();
-		CLiwIterable* iterable = variant.AsIterable();
-		iterable->Reset();
-		//get next result
-		if( iterable->NextL( variant ) )
-			{
-			//extract content map
-			CLiwDefaultMap *map = CLiwDefaultMap::NewLC();
-			variant.Get( *map );
-			if( map->FindL( KDataMap, variant) )
-				{
-				 variant.Get( *aOutDataMap );
-				}
-			CleanupStack::PopAndDestroy( map );
-			}
-		iterable->Reset();
-		CleanupStack::PopAndDestroy( &variant );
-		variant.Reset();
-		}
-	outParamList.Reset();
-    	
-    }
-
-// -----------------------------------------------------------------------------
-// Gets the CPS messaging interface
-// -----------------------------------------------------------------------------
-//
-void CContentPublisher::InitCpsInterfaceL()
-    {
-    if( !iServiceHandler )
-        {
-        iServiceHandler = CLiwServiceHandler::NewL();
-        }
-    
-    CLiwGenericParamList& inParam = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParam = iServiceHandler->OutParamListL();
-    
-    RCriteriaArray a;
-    TCleanupItem item( DoResetAndDestroy, &a );
-    CleanupStack::PushL( item );
-    
-    CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC( KLiwCmdAsStr, KCPInterface,
-        KCPService  );
-    crit->SetServiceClass( TUid::Uid(KLiwClassBase) );
-    
-    a.AppendL(crit);    
-    
-    CleanupStack::Pop( crit );
-    
-    iServiceHandler->AttachL(a);
-    iServiceHandler->ExecuteServiceCmdL( *crit, inParam, outParam ); 
-    
-    CleanupStack::PopAndDestroy(); // item;
-        
-    // find service interface
-    TInt pos = 0;
-    MLiwInterface* msgInterface = NULL;
-    outParam.FindFirst( pos, KCPInterface );
-    if ( pos != KErrNotFound ) 
-        {
-        msgInterface = (outParam)[pos].Value().AsInterface(); 
-        }
-    outParam.Reset();
-    inParam.Reset();
-    iCpsInterface = msgInterface;
-    }
-
-void CContentPublisher::RegisterListenerL()
-	{
-	CLiwGenericParamList& inparam = iServiceHandler->InParamListL();
-	CLiwGenericParamList& outparam =  iServiceHandler->OutParamListL();
-	CLiwDefaultMap*  reqFilter = CLiwDefaultMap::NewLC();
-	
-	// Listen all the information(contentId) from publisher 
-	reqFilter->InsertL( KPublisherId, TLiwVariant( KAI3HSPublisher ));
-	reqFilter->InsertL( KContentTypeId, TLiwVariant(KPublisher16 ));
-	
-	// Type of the registry  (content registry)
-	inparam.AppendL(TLiwGenericParam(KType, TLiwVariant(KCpData)));
-	// fill in input list for RequestNotification command
-	inparam.AppendL(TLiwGenericParam(KFilter, TLiwVariant(reqFilter)));
-   
-	TRAP_IGNORE( iCpsInterface->ExecuteCmdL( 
-			KRequestNotification,
-				inparam,
-				outparam,
-				0,
-				this ) );
-	
-	outparam.Reset();
-	inparam.Reset();
-	CleanupStack::PopAndDestroy(reqFilter );  
-	}
-
-void CContentPublisher::UnRegisterListenerL()
-	{
-	CLiwGenericParamList& inparam = iServiceHandler->InParamListL();
-	CLiwGenericParamList& outparam =  iServiceHandler->OutParamListL();
- 
-	// Unregister the reuqest notification 
-	TRAP_IGNORE( iCpsInterface->ExecuteCmdL( 
-			KRequestNotification,
-				inparam,
-				outparam,
-				KLiwOptCancel,
-				this ) ); 
-	
-	outparam.Reset();
-	inparam.Reset();
-	}
-
-TInt CContentPublisher::HandleNotifyL(
-        TInt aErrorCode,
-        TInt /*aEventId*/,
-        CLiwGenericParamList& aEventParamList,
-        const CLiwGenericParamList& /*aInParamList*/ )
-   {
-   TInt pos( 0 );
-   aEventParamList.FindFirst(pos, KChangeInfo);
-   if (pos != KErrNotFound)
-    {
-    // Get list of maps
-    TLiwVariant variant = (aEventParamList)[pos].Value();
-    variant.PushL();
-    const CLiwList* changeMapsList = variant.AsList();
-    // Iter through list content
-    for (TInt i = 0; i < changeMapsList->Count() ; ++i)
-	    {
- 		if ( changeMapsList->AtL(i, variant) ) 
- 			{
-			const CLiwMap* map  = variant.AsMap();
-			if( map->FindL( KPublisherId, variant) )
-				 {
-				 HBufC* publisher = variant.AsDes().AllocLC();
-				 if ( publisher && ( publisher->Des() == KAI3HSPublisher ) 
-					  && map->FindL( KContentTypeId, variant) )
-					{
-					 HBufC* contentType = variant.AsDes().AllocLC();
-					 if ( contentType && ( contentType->Des() ==  KPublisher16 )
-						  && map->FindL( KContentId, variant ) )
-						 {
-						 HBufC* contentId = variant.AsDes().AllocLC();
-						 if ( contentId )
-							 {
-							 HandlePublisherInfoL( *contentId );
-							 }
-						 CleanupStack::PopAndDestroy( contentId );
-						 }
-					 CleanupStack::PopAndDestroy( contentType );
-					}
-			  CleanupStack::PopAndDestroy( publisher );
-				 }
-			}
-	   }
-    CleanupStack::PopAndDestroy(&variant); 
-    }
-   return aErrorCode;
-   }
-
-void CContentPublisher::HandlePublisherInfoL( const TDesC& aPubInfo)
-	{
-	//Currently HS will handle only network status update form publisher
-	if ( aPubInfo == KNetwork )
-		{
-		CLiwDefaultMap *outDataMap = CLiwDefaultMap::NewLC();
-		GetDataL( KAI3HSPublisher(), KPublisher16, KNetwork(), outDataMap );
-		TLiwVariant variant;
-		variant.PushL();
-		if ( outDataMap->FindL(KAPStatus, variant))
-			{
-			HBufC16* netStatus = variant.AsDes().AllocLC();
-            if ( netStatus->Des() == KDisConnected() )
-                {
-                ShowGlobalQueryL(R_QTN_HS_DISABLE_NETWORK, EFalse );
-                }
-            else if ( netStatus->Des() == KConnected() )
-                {
-                ShowGlobalQueryL(R_QTN_HS_SWITCH_ONLINE, ETrue );
-                }
-			CleanupStack::PopAndDestroy( netStatus );
-			}
-		CleanupStack::PopAndDestroy( &variant );
-		CleanupStack::PopAndDestroy(outDataMap);
-		}
-    }
-
-
-void CContentPublisher::ShowGlobalQueryL( TInt aResourceId, TBool aSetOnline )
-    {
-    if ( !iGlobalQueryHandler->IsActive() )
-        {
-        HBufC* confirmationText = StringLoader::LoadLC(aResourceId);
-        iGlobalConfirmationQuery->ShowConfirmationQueryL(
-                iGlobalQueryHandler->iStatus,
-            *confirmationText, 
-            R_AVKON_SOFTKEYS_YES_NO);
-        iGlobalQueryHandler->SetOnlineParamAndActivate(aSetOnline);
-        CleanupStack::PopAndDestroy(); //confirmationText
-        }
-    }
-// END OF FILE
--- a/idlehomescreen/xmluicontroller/src/contentrenderer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1796 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Content renderer implementation
-*
-*/
-
-// System includes
-#include    <e32hashtab.h>
-#include    <utf.h>
-#include    <gulicon.h>
-
-// User includes
-
-#include    "contentrenderer.h"
-#include    "appui.h"
-#include    "activetransactionstack.h"
-#include    "transactionfactoryimpl.h"
-#include    "mtransaction.h"
-#include    "mtransactionelement.h"
-#include    "aixmluiutils.h"
-#include    "xmluicontroller.h"
-#include    "xmlnodeidgenerator.h"
-#include    "aixmluiconstants.h"
-#include    "aifweventhandler.h"
-#include    "databuffertransactionelement.h"
-#include    "newstickercallbackhandler.h"
-#include    "newstickertransactionelement.h"
-#include    "csspropertymap.h"
-#include    "policyevaluator.h"
-#include    "debug.h"
-#include    "xnuiengineappif.h"
-#include    "xnnodeappif.h"
-#include    "xnproperty.h"
-#include    "mxncomponentinterface.h"
-#include    "xntext.h"
-#include    "xnbitmap.h"
-#include    "xntype.h"
-#include    "xnmenuadapter.h"
-#include    "xnlistquerydialogadapter.h"
-#include    "mxncomponentinterface.h"
-#include    "aistrcnv.h"
-#include    "contentprioritymap.h"
-#include    "ainativeuiplugins.h"
-
-using namespace AiXmlUiController;
-using namespace AiUiDef::xml;
-using namespace XnTextInterface;
-using namespace XnImageInterface;
-
-namespace
-    {
-    typedef RPointerArray<CXnNodeAppIf> RXnNodeArray;
-
-    /**
-     * Gets content item iterator.
-     *
-     * @param aPlugin plugin to fetch the iterator
-     * @param aContentType type of iterator (content/resource/event)
-     * @return the iterator
-     * @leave KErrNotSupported if plugin does not provide iterator
-     */ 
-    static MAiContentItemIterator& ContentItemIteratorL( MAiPropertyExtension& aPlugin,
-                                                         TInt aContentType )
-        {
-        MAiContentItemIterator* iter =
-            static_cast< MAiContentItemIterator* >( aPlugin.GetPropertyL( aContentType ) );
-
-        if ( !iter )
-            {
-            User::Leave( KErrNotSupported );
-            }
-
-        return *iter;
-        }
-
-    /**
-     * Gets the content priority associated in the property element.
-     *
-     * @param aPropertyElement the property element
-     * @return priority value or KErrNotFound for non-prioritized element
-     */
-    TInt GetContentPriority( CXnNodeAppIf& aPropertyElement )
-        {
-        TInt32 priority( KErrNotFound );
-        
-        const TDesC8* name = PropertyValue( aPropertyElement,
-                                            property::KName );
-                                            
-        
-        if ( name && *name == name::KPriority )
-            {
-            const TDesC8* value = PropertyValue( aPropertyElement,
-                                                 property::KValue );
-            if ( value )
-                {
-                AiUtility::ParseInt( priority, *value );
-                }
-            }
-            
-        return priority;
-        }
-    
-    /**
-     * Remove elements from array which do not contain priority or priority is not lower than
-     * the given value.
-     * 
-     * @param aElements array of elements
-     * @param aLastPriority upper bound of priority value (excluded from the array)
-     */
-    void RemoveNonPriorityElements( RPointerArray< CXnNodeAppIf>& aElements,
-                                    TInt aLastPriority )
-        {
-        //  Remove non priority elements and higher priority elements
-
-        TInt elementCount = aElements.Count();    
-        for ( TInt i = 0; i < elementCount; )
-            {
-            CXnNodeAppIf* current = aElements[i];
-            
-            // Check name attribute
-            const TDesC8* name = PropertyValue( *current, property::KName );
-            
-            if ( !name || *name != name::KPriority )
-                {
-                // Remove current
-                aElements.Remove( i );
-                --elementCount;
-                }
-            else
-                {
-                // Check current priority
-                const TDesC8* value = PropertyValue( *current, property::KValue );
-                
-                if ( !value ) // value not present
-                    {
-                    aElements.Remove( i );
-                    --elementCount;
-                    continue;
-                    }
-                
-                TInt32 currentPriority( KErrNotFound );
-                if ( AiUtility::ParseInt( currentPriority, *value ) != KErrNone )
-                    {
-                    // value is not integer
-                    aElements.Remove( i );
-                    --elementCount;
-                    continue;
-                    }
-                    
-                if ( currentPriority < aLastPriority )
-                    {
-                    // Keep element and iterate further
-                    ++i;
-                    }
-                else
-                    {
-                    // priority is too high
-                    aElements.Remove( i );
-                    --elementCount;
-                    }
-                }
-            }
-        }
-    
-    /**
-     * Descending priority order for prioritized content selectors.
-     *
-     * @param aNode1 First node to compare
-     * @param aNode2 Second node to compare
-     * @return 0 nodes have equal priority
-     * @return >0 aNode1 has lower priority
-     * @return <0 aNode2 has lower priority
-     */
-    TInt DescendingPriorityOrder( const CXnNodeAppIf& aNode1,
-                                  const CXnNodeAppIf& aNode2 )
-        {
-        // Array content has been validated, so no checks are needed
-        const TDesC8* value1 = PropertyValue( aNode1,
-                                              property::KValue );
-        
-        const TDesC8* value2 = PropertyValue( aNode2,
-                                              property::KValue );
-        
-        TInt32 priority1( KErrNotFound );
-        AiUtility::ParseInt( priority1, *value1 );
-        
-        TInt32 priority2( KErrNotFound );
-        AiUtility::ParseInt( priority2, *value2 );
-        
-        if ( priority1 == priority2 )
-            {
-            return 0;
-            }
-            
-        return ( priority1 < priority2 ) ? 1 : -1;
-        }
-    
-    /**
-     * Removes duplicate entries in content change array
-     */
-    void RemoveDuplicateContentChangesL( RAiPolicyElementArray& aArray )
-        {
-        for ( TInt i = 0; i < aArray.Count(); ++i )
-            {
-            HBufC* id = PropertyValueL( aArray[i].Target(), 
-                                            AiUiDef::xml::property::KId );
-            if ( id )
-                {
-                CleanupStack::PushL( id );
-                for ( TInt j = i; j < aArray.Count(); ++j )
-                    {
-                    HBufC* id2 = PropertyValueL( aArray[j].Target(), 
-                                                           AiUiDef::xml::property::KId );
-                    if ( id2)
-                        {
-                        CleanupStack::PushL( id2 );
-                        // Same id and same policy
-                        if ( i != j &&
-                             id->Compare( *id2 ) == 0 && 
-                             ( aArray[i].Policy().Compare( aArray[j].Policy()) == 0) 
-                                )
-                            {
-                            aArray.Remove( j );
-                            --j;
-                            }
-                        }
-                    CleanupStack::PopAndDestroy( id2 );
-                    
-                    }
-                CleanupStack::PopAndDestroy( id );
-                }
-            }
-        }
-    /**
-     * Cleanup item for cleanup of TPtrHashMapIter
-     */            
-    class TMapCleanupItem
-        {
-    public:
-        
-        TMapCleanupItem( TPtrHashMapIter< TDesC, TInt >& aIterator );
-        
-        /**
-         * Removes the pointers in the map and deletes the objects
-         * referenced by the pointers.
-         */ 
-        void Release();
-                
-    private:
-            
-        TPtrHashMapIter< TDesC, TInt > iIterator;
-        
-        };
-
-    /**
-     * Helper to handle cleanup of map iterator
-     * @param aMapCleanupItem 
-     */
-    void CleanupRelease( TAny* aMapCleanupItem )
-        {
-        if ( aMapCleanupItem )
-            {
-            static_cast< TMapCleanupItem* >( aMapCleanupItem )->Release();
-            }
-        }
-
-    /**
-     * Helper to push map iterator into cleanup stack.
-     *
-     * @param aCleanupItem item to push into cleanup stack
-     **/
-    void CleanupReleasePushL( TMapCleanupItem& aCleanupItem )
-        {
-        CleanupStack::PushL( TCleanupItem( CleanupRelease,
-                                           &aCleanupItem ) );
-        }
-
-    
-    }
-
-TMapCleanupItem::TMapCleanupItem( TPtrHashMapIter< TDesC, TInt >& aIterator )
-    : iIterator( aIterator )
-    {
-    }
-
-void TMapCleanupItem::Release()
-    {
-    // Delete current key and value
-    const TDesC* key = iIterator.CurrentKey();
-    const TInt* value = iIterator.CurrentValue();
-    
-    delete key;
-    delete value;
-    
-    // Remove mapping from the map.
-    iIterator.RemoveCurrent();
-    }
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-CContentRenderer::CContentRenderer( CAppUi& aAppUi )
-    : iAppUi( aAppUi )
-    {
-    }
-
-void CContentRenderer::ConstructL()
-    {
-    iContentPriorityMap = AiUtility::CContentPriorityMap::NewL();
-    iPropertyMap = CCssPropertyMap::NewL();
-    iFactory = CTransactionFactoryImpl::NewL(*iContentPriorityMap,
-                                             *iPropertyMap);
-    iStack = CActiveTransactionStack::NewL();
-    iNodeIdGenerator = CXmlNodeIdGenerator::NewL();
-    iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-    iPolicyEvaluator = CPolicyEvaluator::NewL();
-    }
-
-CContentRenderer* CContentRenderer::NewL( CAppUi& aAppUi )
-    {
-    CContentRenderer* self = new( ELeave ) CContentRenderer( aAppUi );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-CContentRenderer::~CContentRenderer()
-    {
-    delete iPolicyEvaluator;
-    
-    if ( iTimer )
-        {
-        iTimer->Cancel();
-        delete iTimer;
-        }
-        
-    delete iNodeIdGenerator;
-    
-    if ( iStack )
-        {
-        while ( !iStack->IsEmpty() )
-            {
-            MTransaction* tr = iStack->Pop();
-            iFactory->ReleaseTransaction( tr );
-            }
-
-        delete iStack;
-        }
-    
-    delete iFactory;
-    
-    iRefreshableUiElements.ResetAndDestroy();
-    
-    delete iNTClass;
-    
-    delete iPropertyMap;
-    
-    delete iContentPriorityMap;
-    delete iCallbackHandler;
-    }
-
-void CContentRenderer::SetEventHandler( MAiFwEventHandler& aFwEventHandler )
-    {
-    iFwEventHandler = &aFwEventHandler;
-    }
-
-void CContentRenderer::Reset()
-    {
-    iContentPriorityMap->Reset();
-    iPropertyMap->Reset();
-    }
-
-void CContentRenderer::CleanPluginFromUi( MAiPropertyExtension& aPlugin )
-    {
-    // Create transaction to clean UI
-    TInt txId = reinterpret_cast< TInt >( &aPlugin );
-    
-    TBool txCreated = ( StartTransaction( txId ) == KErrNone );
-    
-    // Clean plugin
-    TRAPD( cleanError, CleanPluginFromUiL( aPlugin ) );
-    
-    // Commit transaction
-    if ( txCreated )
-        {
-        if (cleanError )
-            {
-            CancelTransaction( txId );
-            }
-        else
-            {
-            Commit( txId );
-            }
-        }
-    }
-
-TInt CContentRenderer::StartTransaction( TInt aTxId )
-    {
-    __PRINT(__DBG_FORMAT("\t[I]\tXML UI: Start transaction id=%d"), aTxId);
-    __HEAP("XML UI: Start transaction");
-    __TICK("XML UI: Start transaction");
-    TRAPD( error, DoStartTransactionL( aTxId ) );
-
-    if ( error )
-        {
-        SetImmediateMode( ETrue );
-        }
-
-    return error;
-    }
-
-TInt CContentRenderer::Commit( TInt aTxId )
-    {
-    // Remove transaction with aTxId from stack
-    MTransaction* tr = iStack->Remove( aTxId );
-
-    if ( tr )
-        {
-        // Commit transaction        
-        RPropertyHashMap propertyHashMap;
-        
-        TBool layoutChanged( EFalse );
-        
-        TRAPD( error, tr->CommitL( layoutChanged, propertyHashMap ) );
-        if( error == KErrNone )
-            {
-            TRAP_IGNORE( SetPropertyArraysL( propertyHashMap ) );
-            }
-        propertyHashMap.Close();
-
-        __TICK("XML UI: Commit transaction");
-        __HEAP("XML UI: Commit transaction");
-        __PRINT(__DBG_FORMAT("\t[I]\tXML UI: Commit transaction id=%d"), aTxId);
-       
-        StartContentRefresh();
-        
-        TRAP_IGNORE
-            (
-            iAppUi.UiEngineL()->RenderUIL();                                  //jtm+++
-            ProcessContentChangesL( *tr );
-            );
-                
-        
-        iFactory->ReleaseTransaction( tr );  
-        
-        return error;
-        }
-        
-    return KErrNotSupported;
-    }
-
-void CContentRenderer::ProcessContentChangesL( MTransaction& aTr )
-    {
-    TDblQueIter<CTransactionElement> iter = aTr.ElementIter();
-    RAiPolicyElementArray contentChangedArray;
-    CleanupClosePushL( contentChangedArray );
-
-    while ( iter )
-          {
-          CTransactionElement* element = iter++;
-          CXnNodeAppIf& target = element->Target();
-          
-          // Find own and parents policy/ContentChanged nodes 
-          iPolicyEvaluator->EvaluateContentChangedPolicyL( target, 
-                  contentChangedArray);
-
-          iPolicyEvaluator->EvaluateContentChangedPolicyL( *(target.ParentL()), 
-                  contentChangedArray);
-          }
-       
-    ::RemoveDuplicateContentChangesL( contentChangedArray );
-        
-    for ( TInt i = 0; i < contentChangedArray.Count(); ++i )
-        {
-        ProcessContentChangeL( contentChangedArray[i] );
-        }
-    CleanupStack::PopAndDestroy();
-    }
-
-void CContentRenderer::ProcessContentChangeL( TAiPolicyElement& aElement )
-    {
-    const TDesC8* id = PropertyValue( aElement.Target(), 
-                                AiUiDef::xml::property::KId );
-    if ( id )
-        {
-        CXnNodeAppIf* targetNode = FindNodeByIdL( *id, aElement.Target().Namespace() );
-        if ( targetNode )
-            {                     
-            if ( aElement.Policy() == AiUiDef::xml::value::KShowTooltips )
-                {
-                targetNode->ShowTooltipsL();
-                }                   
-            }        
-        }
-    }
-
-TInt CContentRenderer::CancelTransaction( TInt aTxId )
-    {
-    // Remove transaction with aTxId from stack
-    MTransaction* tr = iStack->Remove( aTxId );
-
-    if ( tr )
-        {
-        // Release transaction to factory
-        __TICK("XML UI: Cancel transaction");
-        __HEAP("XML UI: Cancel transaction");
-        __PRINT(__DBG_FORMAT("\t[I]\tXML UI: Cancel transaction id=%d"), aTxId);
-
-        iFactory->ReleaseTransaction( tr );
-
-        return KErrNone;
-        }
-
-    return KErrNotSupported;
-    }
-
-TBool CContentRenderer::CanPublish( MAiPropertyExtension& aPlugin,
-                                    TInt aContent,
-                                    TInt aIndex )
-    {
-    TInt error( KErrNone );
-    TInt retval( KErrNone );
-    __PRINTS("*** UC: Init - Content Validation ***");
-	__TIME("UC: Content Validation",
-        TRAP( error, retval = CanPublishL( aPlugin, aContent, aIndex ) );
-        );
-    __HEAP("UC: Content Validation");
-    __PRINTS("*** UC: Done - Content Validation ***");
-
-    return ( error == KErrNone && retval == KErrNone );
-    }
-
-TInt CContentRenderer::Publish( MAiPropertyExtension& aPlugin,
-                                TInt aContent,
-                                TInt aResource,
-                                TInt aIndex )
-    {
-	TInt error( KErrNone );
-	TInt retval( KErrNone );
-	__PRINTS("*** UC: Init - Content Publishing (Resource) ***");
-	__TIME("UC: Content Publishing (Resource)",
-    	TRAP( error, retval = DoPublishL( aPlugin, aContent, aResource, aIndex ) );
-    );
-    __HEAP("UC: Content Publishing (Resource)");
-    __PRINTS("*** UC: Done - Content Publishing (Resource) ***");
-
-    if( !error && retval )
-        {
-        error = retval;
-        }
-    
-    return error;
-    }
-
-TInt CContentRenderer::Publish( MAiPropertyExtension& aPlugin,
-                                TInt aContent,
-                                const TDesC16& aText,
-                                TInt aIndex )
-    {
-    TInt error( KErrNone );
-    TInt retval( KErrNone );
-    
-    __PRINTS("*** UC: Init - Content Publishing (Value-Text) ***");
-   	__TIME("UC: Content Publishing (Value-Text)",
-    	TRAP( error, retval = DoPublishL( aPlugin, aContent, aText, aIndex ) );
-    );
-    __HEAP("UC: Content Publishing (Value-Text)");
-    __PRINTS("*** UC: Done - Content Publishing (Value-Text) ***");
-
-    if( !error && retval )
-        {
-        error = retval;
-        }
-
-    return error;
-    }
-
-TInt CContentRenderer::Publish( MAiPropertyExtension& aPlugin,
-                                TInt aContent,
-                                const TDesC8& aBuf,
-                                TInt aIndex )
-    {
-    TInt error( KErrNone );
-    TInt retval( KErrNone );
-    
-    __PRINTS("*** UC: Init - Content Publishing (Value-Buf) ***");
-    __TIME("UC: Content Publishing (Value-Buf)",
-    	TRAP( error, retval = DoPublishL( aPlugin, aContent, aBuf, aIndex ) );
-    )
-    __HEAP("UC: Content Publishing (Value-Buf)");
-    __PRINTS("*** UC: Done - Content Publishing (Value-Buf) ***");
-
-    if( !error && retval )
-        {
-        error = retval;
-        }
-    
-    return error;
-    }
-
-TInt CContentRenderer::Publish( MAiPropertyExtension& aPlugin,
-                                TInt aContent,
-                                RFile& aFile,
-                                TInt aIndex )
-    {
-    TInt error( KErrNone );
-    TInt retval( KErrNone );
-    	
-	__PRINTS("*** UC: Init - Content Publishing (Value-RFile) ***");
-    __TIME("UC: Content Publishing (Value-RFile)",
-    	TRAP( error, retval = DoPublishL( aPlugin, aContent, aFile, aIndex ) );
-    );
-    __HEAP("UC: Content Publishing (Value-RFile)");
-    __PRINTS("*** UC: Done - Content Publishing (Value-RFile) ***");
-
-    if( !error && retval )
-        {
-        error = retval;
-        }
-    
-    return error;
-    }
-
-TInt CContentRenderer::Clean( MAiPropertyExtension& aPlugin, TInt aContent, TInt aIndex )
-    {
-    TInt error( KErrNone );
-    TInt retval( KErrNone );
-            
-    __PRINTS("*** UC: Init - Content Publishing (Clean) ***");
-    __TIME("UC: Content Publishing (Clean)",
-    	TRAP( error, retval = DoCleanL( aPlugin, aContent, aIndex ) );
-    );
-    __HEAP("UC: Content Publishing (Clean)");
-    __PRINTS("*** UC: Done - Content Publishing (Clean) ***");
-
-    if( !error && retval )
-        {
-        error = retval;
-        }
-    
-    return error;
-    }
-
-TAny* CContentRenderer::Extension( TUid /*aUid*/ )
-    {
-    // No extensions supported
-    return NULL;
-    }
-
-TBool CContentRenderer::RequiresSubscription( 
-    const TAiPublisherInfo& aPublisherInfo ) const
-    {
-    if ( aPublisherInfo.iNamespace == KNativeUiNamespace )
-        {
-        // Not targeted to this content renderer
-        return EFalse;
-        }
-        
-    return ETrue;
-    }
-
-TInt CContentRenderer::SetProperty( MAiPropertyExtension& aPlugin,
-        const TDesC8& aElementId,
-        const TDesC8& aPropertyName,
-        const TDesC8& aPropertyValue ) 
-    {
-   return ( SetProperty( aPlugin, aElementId, 
-               aPropertyName, aPropertyValue,
-               MAiContentObserver::EValueString ) );
-    }
-
-TInt CContentRenderer::SetProperty( MAiPropertyExtension& aPlugin,
-        const TDesC8& aElementId,
-        const TDesC8& aPropertyName,
-        const TDesC8& aPropertyValue,
-        MAiContentObserver::TValueType aValueType) 
-    {
-    TInt error( KErrNone );
-    TInt retval( KErrNone );
-
-    TRAP( error, retval = SetPropertyL( aPlugin, aElementId, aPropertyName,
-            aPropertyValue, aValueType ) );
-    
-    if( !error && retval )
-     {
-     error = retval;
-     }
-    
-    return error;
-    }
-
-TInt CContentRenderer::SetPropertyL( MAiPropertyExtension& aPlugin,
-        const TDesC8& aElementId,
-        const TDesC8& aPropertyName,
-        const TDesC8& aPropertyValue,
-        MAiContentObserver::TValueType aValueType) 
-    {
-    TInt err = KErrNone;
-    // Find node
-    CXnNodeAppIf* targetNode = FindNodeByIdL( aElementId, aPlugin.PublisherInfoL()->iNamespace );
-    if ( targetNode )
-       {
-       CXnDomStringPool& sp( targetNode->UiEngineL()->StringPool() );
-              
-       CXnProperty* prop = CXnProperty::NewL( 
-               aPropertyName,
-               aPropertyValue,
-               DomPropertyValueType(aValueType), sp );
-                      
-       CleanupStack::PushL( prop );
-    
-       targetNode->SetPropertyL( prop );
-      
-       CleanupStack::Pop( prop );
-       }
-    else
-       {
-       err = KErrNotFound;
-       }
-    return err;
-    }
-
-
-CXnDomPropertyValue::TPrimitiveValueType 
-    CContentRenderer::DomPropertyValueType(
-            MAiContentObserver::TValueType aValueType)
-    {
-    CXnDomPropertyValue::TPrimitiveValueType type = 
-            CXnDomPropertyValue::EUnknown;
-    switch ( aValueType )
-        {
-        case MAiContentObserver::EValueNumber :
-            {
-            type = CXnDomPropertyValue::ENumber;
-            }
-            break;
-        case MAiContentObserver::EValuePercentage :
-            {
-            type = CXnDomPropertyValue::EPercentage;
-            }
-            break;
-        case MAiContentObserver::EValuePx :
-            {
-            type = CXnDomPropertyValue::EPx;
-            }
-            break;
-        case MAiContentObserver::EValueString :
-            {
-            type = CXnDomPropertyValue::EString;
-            }
-            break;
-        case MAiContentObserver::EValueRgbColor :
-            {
-            type = CXnDomPropertyValue::ERgbColor;
-            }
-            break;
-        case MAiContentObserver::EValueUnitValue :
-            {
-            type = CXnDomPropertyValue::EUnitValue;
-            }
-            break;
-        default:
-            {
-            type = CXnDomPropertyValue::EUnknown;
-            }
-        }
-    return type;
-    }
-
-void CContentRenderer::DoStartTransactionL( TInt aTxId )
-    {
-    MTransaction* tr = iFactory->CreateTransactionL( aTxId );
-    iStack->Push(tr);
-    SetImmediateMode(EFalse);
-    }
-
-TInt CContentRenderer::CanPublishL( MAiPropertyExtension& aPlugin,
-                                    TInt aContent,
-                                    TInt aIndex )
-    {
-    // Get content item for aContent
-    MAiContentItemIterator& iter( 
-            ContentItemIteratorL( aPlugin, EAiPublisherContent ) );
-    
-    const TAiContentItem& item( iter.ItemL( aContent ) );
-
-    // Lookup ui element
-    const TDesC& nodeId( iNodeIdGenerator->ContentNodeIdL( aPlugin, item ) );
-
-    CXnNodeAppIf* property( FindNodeByClassL( nodeId, aIndex, 
-                            aPlugin.PublisherInfoL()->iNamespace ) ); 
- 
-    if( !property )
-        {
-        return KErrNotFound;
-        }
-    
-    // Check content priority
-    TInt priority( GetContentPriority( *property ) );
-
-    CXnNodeAppIf* target( property->ParentL() );
-    
-    if( !target )
-        {
-        return KErrNotSupported;
-        }
-
-    if ( !AllowPublishByPriority( *target, priority ) )
-        {
-        return KErrAccessDenied;        
-        }
-
-    // Check if content type is supported by target
-    const TDesC8& contentType( ContentType( item ) );
-
-    if ( !iFactory->IsSupported( *target, contentType ) &&
-          target->Type()->Type() != XnPropertyNames::listquerydialog::KListQueryDialog )
-        {
-        return KErrNotSupported;
-        }
-    
-    return KErrNone;
-    }
-
-TInt CContentRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                   TInt aContent,
-                                   TInt aResource,
-                                   TInt aIndex )
-    {
-    TAiPublisherInfo *info = static_cast<TAiPublisherInfo*>(aPlugin.GetPropertyL( EAiPublisherInfo ));
-    if (!info)
-        {
-        return KErrNotFound;
-        }
-    // Read ref value.
-    MAiContentItemIterator& refIter( ContentItemIteratorL( aPlugin, EAiPublisherResources ) );
-    const TAiContentItem& ref( refIter.ItemL( aResource ) );
-
-    const TDesC8& refType( ContentType( ref ) );
-
-    // Resolve source node
-    const TDesC& nodeId = iNodeIdGenerator->ResourceNodeIdL(aPlugin, ref);
-    HBufC8* nodeId8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L(nodeId);
-    CleanupStack::PushL(nodeId8);
-    CXnNodeAppIf* source = NULL;
-    __TIME_MARK(xmlOverhead);
-    source = FindNodeByIdL( *nodeId8, info->iNamespace );
-    __TIME_ENDMARK("XML UI: Lookup node by id", xmlOverhead);
-    __PRINT(__DBG_FORMAT("\t[I]\tXML UI: Lookup node by id=%S"), &nodeId);
-    
-    CleanupStack::PopAndDestroy(nodeId8);
-    
-    // Fetch content id
-    MAiContentItemIterator& iter = ContentItemIteratorL( aPlugin, EAiPublisherContent );
-    const TAiContentItem& item = iter.ItemL( aContent );
-
-    const TDesC& targetId = iNodeIdGenerator->ContentNodeIdL(aPlugin, item);
-
-    TInt retval( KErrNotSupported );
-
-    // Check types
-    if ( refType == KContentTypeText )
-        {
-        // Fetch text
-        const TDesC8& text = source->GetPCData();
-        
-        // Delegate to data publishing function
-        retval = PublishDataL( aPlugin,
-                               targetId,
-                               text,
-                               refType,
-                               aIndex,
-                               source );
-        }
-    else if ( refType.Find( KContentTypeImage ) != KErrNotFound )
-        {
-        // Fetch icon
-        CGulIcon* icon = LoadIconLC( *source ); 
-        
-       // Delegate to icon publishing function
-        retval = PublishIconL( aPlugin,
-                               targetId,
-                               icon,
-                               aIndex,
-                               source );
-        
-        CleanupStack::Pop( icon );
-        }
-    
-    return retval;
-    }
-
-TInt CContentRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                   TInt aContent,
-                                   const TDesC16& aText,
-                                   TInt aIndex )
-    {
-    // Resolve content item
-    MAiContentItemIterator& iter( 
-            ContentItemIteratorL( aPlugin, EAiPublisherContent ) );
-    
-    const TAiContentItem& item( iter.ItemL( aContent ) );
-
-    const TDesC8& type( ContentType( item ) );
-
-    if ( type == KContentTypeText )
-        {
-        // Find ui element
-        const TDesC& nodeId = iNodeIdGenerator->ContentNodeIdL( aPlugin, item );
-
-        __TIME_MARK(xmlOverhead);
-
-        CXnNodeAppIf* property( FindNodeByClassL( nodeId, aIndex, 
-                                                  aPlugin.PublisherInfoL()->iNamespace ) );
-
-        if( !property )
-            {
-            return KErrNotFound;
-            }
-        
-        TInt priority( GetContentPriority( *property ) );
-        
-        __TIME_ENDMARK("XML UI: Lookup node by class", xmlOverhead);
-    	__PRINT(__DBG_FORMAT("\t[I]\tXML UI: Lookup node by class=%S"), &nodeId);
-
-        //Navigate to parent
-        CXnNodeAppIf* target( property->ParentL() );
-
-        if( !target )
-            {
-            return KErrNotSupported;
-            }
-        
-        // Check priority
-        if ( AllowPublishByPriority( *target, priority ) )
-            {
-            // Check if target is newsticker
-            MTransactionElement* element( NULL );
-            
-            if ( IsParentNewsticker( *target ) )
-                {
-                // Register callback interface for newsticker
-                CXnNodeAppIf *parent( target->ParentL() );
-                
-                if( !parent )
-                    {
-                    return KErrNotFound;
-                    }
-                                
-                RegisterNewstickerCallbackInterfaceL( *parent );
-                
-                const TAiPublisherInfo* info( aPlugin.PublisherInfoL() );
-                
-                if ( info )
-                    {
-                    iNTPublisher.Set( info->iName );
-                    iNTClass = AiUtility::CopyToBufferL( iNTClass, nodeId );
-                    }
-                
-                element = iFactory->CreateNewsTickerTransactionElementL( *target,
-                                                                    aText,
-                                                                    priority, 
-                                                                    aIndex );
-                }
-            else if( target->Type()->Type() == 
-                     XnListQueryDialogInterface::MXnListQueryDialogInterface::Type())
-                {
-                // Get the data interface for dialog and publish data
-                XnListQueryDialogInterface::MXnListQueryDialogInterface* listQuery( NULL );
-                XnComponentInterface::MakeInterfaceL( listQuery, *target );
-                LeaveIfNull( listQuery, KErrNotSupported );
-                listQuery->ReplaceItemL( aText, aIndex -1 );// plugins publish ordinals not indexes
-                return KErrNone;
-                }
-            else
-                {
-                // Create transaction element for text
-                // Not put to cleanupstack, because element is from our pool!
-                element = iFactory->CreateTextTransactionElementL( *target,
-                                                                    aText,
-                                                                    priority );
-                }
-            
-            iPolicyEvaluator->EvaluateContentPolicyL( *target,
-                                                      element->PolicyArray() );
-            iPolicyEvaluator->EvaluateVisibilityPolicyL( *target,
-                                                         element->PolicyArray() );
-
-            ProcessTransactionElementL( element );
-            }
-        else
-            {
-            return KErrAccessDenied;            
-            }
-        }
-    else
-        {
-        return KErrNotSupported;
-        }
-    
-    return KErrNone;
-    }
-
-TInt CContentRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                   TInt aContent,
-                                   const TDesC8& aBuf,
-                                   TInt aIndex )
-    {
-    // resolve content item
-    MAiContentItemIterator& iter( 
-            ContentItemIteratorL( aPlugin, EAiPublisherContent ) );
-    
-    const TAiContentItem& item( iter.ItemL( aContent ) );
-
-    const TDesC8& type( ContentType( item ) );
-
-    TInt retval( KErrNotSupported );
-    
-    if( type == KContentTypeBitmap )
-        {
-        // Unpack icon from pointer
-        CGulIcon* icon( LeaveIfNull( UnpackPtr<CGulIcon>( aBuf ), KErrArgument ) );
-
-        const TDesC& nodeId( iNodeIdGenerator->ContentNodeIdL( aPlugin, item ) );
-        
-        // Publish icon
-        retval = PublishIconL( aPlugin, nodeId, icon, aIndex );
-        }
-    else if ( type == KContentTypeImageSvg )
-        {
-        // Get node id
-        const TDesC& nodeId( iNodeIdGenerator->ContentNodeIdL( aPlugin, item ) );
-        
-        // Publish SVG data
-        retval = PublishDataL( aPlugin, nodeId, aBuf, KContentTypeImageSvg, aIndex );
-        }
-
-    return retval;
-    }
-
-TInt CContentRenderer::DoPublishL( MAiPropertyExtension& aPlugin,
-                                   TInt aContent,
-                                   RFile& aFile,
-                                   TInt aIndex)
-    {
-    //Resolve content item
-    MAiContentItemIterator& iter( 
-            ContentItemIteratorL( aPlugin, EAiPublisherContent ) );
-    
-    const TAiContentItem& item( iter.ItemL( aContent ) );
-
-    const TDesC8& type( ContentType( item ) );
-
-    // Image support
-    if ( type.Find( KContentTypeImage ) != KErrNotFound )
-        {
-        // Find ui element
-        const TDesC& nodeId( iNodeIdGenerator->ContentNodeIdL( aPlugin, item ) );
-
-        CXnNodeAppIf* property( FindNodeByClassL( nodeId, aIndex, 
-                                aPlugin.PublisherInfoL()->iNamespace ) );
-        
-        if( !property )
-            {
-            return KErrNotFound;
-            }
-        
-        // Check priority
-        TInt priority( GetContentPriority( *property ) );
-        
-        CXnNodeAppIf* target( property->ParentL() );
-        
-        if( !target )
-            {
-            return KErrNotSupported;
-            }
-
-        if ( AllowPublishByPriority( *target, priority ) )
-            {
-            // Check if target is newsticker
-            if ( IsParentNewsticker( *target ) )
-                {
-                // Register callback interface
-                CXnNodeAppIf *parent( target->ParentL() );
-                
-                if( !parent )
-                    {
-                    return KErrNotFound;
-                    }
-                                
-                RegisterNewstickerCallbackInterfaceL( *parent );
-                
-                const TAiPublisherInfo* info( aPlugin.PublisherInfoL() );
-                
-                if( info )
-                    {
-                    iNTPublisher.Set( info->iName );
-                    iNTClass = AiUtility::CopyToBufferL( iNTClass, nodeId );
-                    }
-                }
-            
-            // Create transaction element for file
-            MTransactionElement* element =
-                iFactory->CreateImageTransactionElementL( *target,
-                                                          aFile,
-                                                          priority );
-            
-            iPolicyEvaluator->EvaluateContentPolicyL( *target,
-                                                      element->PolicyArray() );
-            iPolicyEvaluator->EvaluateVisibilityPolicyL( *target,
-                                                         element->PolicyArray() );
-            
-            ProcessTransactionElementL( element );
-            }
-        else
-            {
-            return KErrAccessDenied;
-            }
-        }
-    else 
-        {
-        return KErrNotSupported;        
-        }
-    
-    return KErrNone;
-    }
-
-TInt CContentRenderer::DoCleanL( MAiPropertyExtension& aPlugin,
-                                 TInt aContent,
-                                 TInt aIndex )
-    {
-    // Resolve content item
-    MAiContentItemIterator& iter( 
-            ContentItemIteratorL( aPlugin, EAiPublisherContent ) );
-    
-    const TAiContentItem& item( iter.ItemL( aContent ) );
-
-    const TDesC& nodeId( iNodeIdGenerator->ContentNodeIdL( aPlugin, item ) );
-
-    CXnNodeAppIf* property( FindNodeByClassL( nodeId, aIndex, 
-                            aPlugin.PublisherInfoL()->iNamespace ) );
-
-    if( !property )
-        {
-        return KErrNotFound;
-        }
-    
-    TInt priority( GetContentPriority( *property ) );
-
-    // Navigate to parent
-    CXnNodeAppIf* target( property->ParentL() );
-
-    if( !target )
-        {
-        return KErrNotSupported;
-        }
-    
-    if ( !AllowPublishByPriority( *target, priority ) )
-        {
-        return KErrAccessDenied;
-        }
-
-    if ( IsParentNewsticker( *target ) )
-        {
-        CXnNodeAppIf *parent( target->ParentL() );
-        
-        if( !parent )
-            {
-            return KErrNotFound;
-            }
-               
-        RegisterNewstickerCallbackInterfaceL( *parent );
-        
-        const TAiPublisherInfo* info( aPlugin.PublisherInfoL() );
-        
-        if( info )
-            {
-            iNTPublisher.Set( info->iName );
-            iNTClass = AiUtility::CopyToBufferL( iNTClass, nodeId );
-            }
-        }
-    if( target->Type()->Type() ==
-        XnListQueryDialogInterface::MXnListQueryDialogInterface::Type())
-        {
-        // Get the data interface for dialog and delete data
-        XnListQueryDialogInterface::MXnListQueryDialogInterface* listQuery( NULL );
-        XnComponentInterface::MakeInterfaceL( listQuery, *target );
-        LeaveIfNull( listQuery, KErrNotSupported );
-        listQuery->DeleteItem( aIndex -1 );// plugins publish ordinals not indexes
-        return KErrNone;
-        }
-    
-    // Create transaction element for empty content
-    MTransactionElement* element =
-        iFactory->CreateEmptyContentTransactionElementL( *target, aIndex );
-
-    iPolicyEvaluator->EvaluateEmptyContentPolicyL( *target,
-                                                   element->PolicyArray() );
-    iPolicyEvaluator->EvaluateVisibilityPolicyL( *target,
-                                                   element->PolicyArray() );
-
-    ProcessTransactionElementL( element );
-      
-    if ( priority > KErrNotFound ) // Only for prioritized elements
-        {
-        // Add current ui element into content refresh map
-        HBufC* uiElementId = PropertyValueL( *target,
-                                         XnPropertyNames::common::KId );
-        return RefreshContentL( uiElementId, priority );
-        }
-    
-    return KErrNone;
-    }
-
-void CContentRenderer::SetImmediateMode( TBool aImmediateMode )
-    {
-    iImmediateMode = aImmediateMode;
-    }
-
-TBool CContentRenderer::IsImmediateMode() const
-    {
-    return iImmediateMode;
-    }
-
-void CContentRenderer::ProcessTransactionElementL( MTransactionElement* aElement )
-    {
-    LeaveIfNull( aElement, KErrArgument );
-    
-    if ( IsImmediateMode() || iStack->IsEmpty() )
-        {
-        // No transaction. Commit element immediately
-        TBool layoutChanged = EFalse;
-        
-        RPropertyHashMap propertyHashMap;
-        aElement->CommitL(layoutChanged, propertyHashMap);
-        SetPropertyArraysL( propertyHashMap );
-        propertyHashMap.Close();
-        
-        iFactory->ReleaseTransactionElement( aElement );
-        StartContentRefresh();
-        
-        // Re-layout
-        iAppUi.UiEngineL()->RenderUIL();
-        }
-    else
-        {
-        // Append transaction element to transaction
-        MTransaction* tr = iStack->Top();
-        tr->Append( *aElement );
-        }
-    }
-
-CXnNodeAppIf* CContentRenderer::FindNodeByClassL( const TDesC& aCid,
-                                                  TInt aIndex,
-                                                  const TDesC8& aNs )
-    {
-    // Find node
-    HBufC8* classId = CnvUtfConverter::ConvertFromUnicodeToUtf8L(aCid);
-    CleanupStack::PushL(classId);
-    
-    RPointerArray<CXnNodeAppIf> nodes = iAppUi.UiEngineL()->FindNodeByClassL( *classId, aNs );
-
-    CleanupStack::PopAndDestroy(classId);
-
-    CleanupClosePushL( nodes );
-
-    for ( TInt i = 0; i < nodes.Count(); ++i )
-        {
-        CXnNodeAppIf* node = nodes[i];
-
-        const TDesC8* name =
-            PropertyValue( *node, AiUiDef::xml::property::KName );
-
-        if ( name && ( *name == AiUiDef::xml::name::KOrdinal ) )
-            {
-            const TDesC8* value =
-                PropertyValue( *node, AiUiDef::xml::property::KValue );
-
-            if ( value )
-                {
-                // Try to parse index from string either
-
-                TInt32 index( 0 );
-                User::LeaveIfError( AiUtility::ParseInt( index, *value ) );
-
-                if ( index == aIndex )
-                    {
-                    CleanupStack::PopAndDestroy(&nodes);
-                    return node;
-                    }
-                }
-            }
-        else if ( name && ( *name == AiUiDef::xml::name::KTarget ) )
-            {            
-            const TDesC8* target =
-                           PropertyValue( *node, AiUiDef::xml::property::KValue );
-            
-            CXnNodeAppIf* targetNode = FindNodeByIdL( *target, node->Namespace() );
-            if ( targetNode )
-                {
-                CleanupStack::PopAndDestroy( &nodes );
-                return targetNode;
-                }
-            }
-        else if ( nodes.Count() == 1 ) // Only one node in class
-            {
-            // No ordinal specified
-			node = nodes[ 0 ];
-			CleanupStack::PopAndDestroy(&nodes);
-            return node;
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &nodes );
-    
-    return NULL; // Never reached. Needed to omit compiler warning
-    }
-
-CXnNodeAppIf* CContentRenderer::FindNodeByIdL( const TDesC& aCid, const TDesC& aNs )
-    {
-    // Find node
-    return LeaveIfNull( iAppUi.UiEngineL()->FindNodeByIdL( aCid, aNs ),
-                        KErrNotFound );
-    }
-
-CXnNodeAppIf* CContentRenderer::FindNodeByIdL( const TDesC8& aCid, const TDesC8& aNs )
-    {
-    // Find node
-    return LeaveIfNull( iAppUi.UiEngineL()->FindNodeByIdL( aCid, aNs ),
-                        KErrNotFound );
-    }
-
-TInt CContentRenderer::PublishIconL( MAiPropertyExtension& aPlugin,
-                                     const TDesC& aCid,
-                                     CGulIcon* aIcon,
-                                     TInt aIndex,
-                                     CXnNodeAppIf* aResource )
-    {
-    // Find proiperty element by class
-    CXnNodeAppIf* property( FindNodeByClassL( aCid, aIndex, 
-                            aPlugin.PublisherInfoL()->iNamespace ) );
-    
-    if( !property )
-        {
-        return KErrNotFound;
-        }
-    
-    // Get priority information
-    TInt priority( GetContentPriority( *property ) );
-    
-    // Navigate to parent
-    CXnNodeAppIf* target( property->ParentL() );
-    
-    if( !target )
-        {
-        return KErrNotFound;
-        }
-
-    // Check priority
-    if ( !AllowPublishByPriority( *target, priority ) )
-        {
-        return KErrAccessDenied;        
-        }
-    
-    // Special handling of newsticker
-    if ( IsParentNewsticker( *target ) )
-        {
-        // Register callback interface
-        CXnNodeAppIf *parent( target->ParentL() );
-        
-        if( !parent )
-            {
-            return KErrNotFound;
-            }
-                
-        RegisterNewstickerCallbackInterfaceL( *parent );
-        
-        const TAiPublisherInfo* info( aPlugin.PublisherInfoL() );
-        
-        if( info )
-            {
-            iNTPublisher.Set( info->iName );
-            iNTClass = AiUtility::CopyToBufferL( iNTClass, aCid );
-            }
-        }
-
-    MTransactionElement* element =
-        iFactory->CreateImageTransactionElementL( *target,
-                                                  aIcon,
-                                                  priority );
-
-    if ( aResource )
-        {
-        iPolicyEvaluator->EvaluateResourcePolicyL( *target,
-                                                   *aResource,
-                                                   element->PolicyArray() );
-        iPolicyEvaluator->EvaluateContentPolicyL( *target,
-                                                  element->PolicyArray() );
-        iPolicyEvaluator->EvaluateVisibilityPolicyL( *target,
-                                                     element->PolicyArray() );
-        }
-
-    else
-        {
-        iPolicyEvaluator->EvaluateContentPolicyL( *target,
-                                                  element->PolicyArray() );
-        iPolicyEvaluator->EvaluateVisibilityPolicyL( *target,
-                                                     element->PolicyArray() );
-        }
-
-    ProcessTransactionElementL( element );
-    
-    return KErrNone;
-    }
-
-TInt CContentRenderer::PublishDataL( MAiPropertyExtension& aPlugin,
-                                     const TDesC& aCid,
-                                     const TDesC8& aData,
-                                     const TDesC8& aContentType,
-                                     TInt aIndex,
-                                     CXnNodeAppIf* aResource )
-    {
-    CXnNodeAppIf* property( FindNodeByClassL( aCid, aIndex, 
-                            aPlugin.PublisherInfoL()->iNamespace ) );
-
-    if( !property )
-        {
-        return KErrNotFound;
-        }
-    
-    TInt priority( GetContentPriority( *property ) );
-    
-    // Navigate to parent
-    CXnNodeAppIf* target( property->ParentL() );
-    
-    if( !target )
-        {
-        return KErrNotFound;
-        }
-
-    if ( !AllowPublishByPriority( *target, priority ) )
-        {
-        return KErrAccessDenied;        
-        }
-
-    if ( !CDataBufferTransactionElement::IsSupported( *target, aContentType ) )
-        {
-        return KErrNotSupported;        
-        }
-        
-    // Handle newsticker 
-    if ( IsParentNewsticker( *target ) )
-        {
-        CXnNodeAppIf *parent( target->ParentL() );
-        
-        if( !parent )
-            {
-            return KErrNotFound;
-            }
-                
-        RegisterNewstickerCallbackInterfaceL( *parent );
-        
-        const TAiPublisherInfo* info( aPlugin.PublisherInfoL() );
-        
-        if( info )
-            {
-            iNTPublisher.Set( info->iName );
-            iNTClass = AiUtility::CopyToBufferL( iNTClass, aCid );
-            }
-        }
-        
-    MTransactionElement* element =
-        iFactory->CreateDataBufferTransactionElementL( *target,
-                                                       aData,
-                                                       priority );
-    
-    if ( aResource )
-        {
-        iPolicyEvaluator->EvaluateResourcePolicyL( *target,
-                                                   *aResource,
-                                                   element->PolicyArray() );
-        iPolicyEvaluator->EvaluateContentPolicyL( *target,
-                                                  element->PolicyArray() );
-        iPolicyEvaluator->EvaluateVisibilityPolicyL( *target,
-                                                     element->PolicyArray() );
-        }
-    else
-        {
-        iPolicyEvaluator->EvaluateContentPolicyL( *target,
-                                                  element->PolicyArray() );
-        iPolicyEvaluator->EvaluateVisibilityPolicyL( *target,
-                                                     element->PolicyArray() );
-        }
-
-    ProcessTransactionElementL( element );
-    
-    return KErrNone;
-    }
-
-TBool CContentRenderer::AllowPublishByPriority( CXnNodeAppIf& aUiElement,
-                                                TInt aPriority ) const
-    {
-    // Get ui element id
-    const TDesC8* uiElementId = PropertyValue( aUiElement,
-                                               XnPropertyNames::common::KId );
-                                         
-    if ( uiElementId )
-        {
-        // compare given priority with the current value of ui element
-        return iContentPriorityMap->OverrideContent( *uiElementId, aPriority );
-        }
-    
-    return EFalse; // priority cannot be used, because ui element does not have id
-    }
-
-void CContentRenderer::StartContentRefresh()
-    {
-    // Cancel ongoing refresh
-    iTimer->Cancel();
-    
-    if ( iRefreshableUiElements.Count() > 0 )
-        {
-        // Refreshable elements exist. Start timer to make refresh asynchronous 
-        iTimer->Start( TTimeIntervalMicroSeconds32( 0 ),
-                       TTimeIntervalMicroSeconds32( 0 ),
-                       TCallBack( RefreshContentCallback, this ) );
-        }
-    }
-
-/**
- * Adds ui element to list of refreshable elements
- *
- * @param aUiElementId ui element id
- * @param aOldPriority old priority value
- */                         
-TInt CContentRenderer::RefreshContentL( HBufC* aUiElementId,
-                                        TInt aOldPriority )
-    {
-    if( !aUiElementId )
-        {
-        return KErrArgument;
-        }
-        
-    // Take ownership of aUiElementId
-    CleanupStack::PushL( aUiElementId );
-    
-    if ( !iFwEventHandler )
-        {
-        // Content refresh event cannot be sent
-        CleanupStack::PopAndDestroy( aUiElementId );
-        return KErrNotReady;
-        }
-    
-    // Find current mapping
-    TInt* oldPriority = iRefreshableUiElements.Find( *aUiElementId );
-    
-    if ( oldPriority )
-        {
-        // Update mapping
-        *oldPriority = aOldPriority;
-        CleanupStack::PopAndDestroy( aUiElementId );
-        }
-    else
-        {
-        // Create new mapping
-        oldPriority = new( ELeave ) TInt( aOldPriority );
-        CleanupStack::PushL( oldPriority );
-    
-        User::LeaveIfError( iRefreshableUiElements.Insert( aUiElementId,
-                                                           oldPriority ) );
-                                                       
-        CleanupStack::Pop( 2, aUiElementId );
-        }
-    
-    return KErrNone;
-    }
-
-/**
- * Callback function to make content refreshing asynchronous
- */    
-TInt CContentRenderer::RefreshContentCallback( TAny* aContentRenderer )
-    {
-    if ( !aContentRenderer )
-        {
-        return KErrArgument;
-        }
-        
-    CContentRenderer* renderer = static_cast< CContentRenderer* >( aContentRenderer );
-    TRAP_IGNORE( renderer->SendRefreshContentEventL() );
-    return KErrNone;
-    }
-
-/**
- * Sends Refresh content event to framework.
- * Event is sent for content selectors with lower priority than the
- * last content which has been cleaned from ui element.
- */ 
-void CContentRenderer::SendRefreshContentEventL()
-    {
-    // Cancel periodic timer.
-    iTimer->Cancel();
-    
-    // Get ui element id and old content priority
-    TPtrHashMapIter< TDesC, TInt> iter( iRefreshableUiElements );
-    iter.Reset();
-    
-    const TDesC* uiElementId = iter.NextKey(); // Never NULL
-    TInt priority = *( iter.CurrentValue() );
-    
-    //  Cleanup item for iterator 
-    TMapCleanupItem cleanup( iter );
-    CleanupReleasePushL( cleanup );
-    
-    // Lookup ui element
-    CXnNodeAppIf* uiElement = FindNodeByIdL( *uiElementId );
-    
-    // Remove current ui element from the map
-    CleanupStack::PopAndDestroy( &cleanup );
-    
-    // Find lower priority content elements associated to this ui element
-    RPointerArray< CXnNodeAppIf > children = uiElement->ChildrenL();
-    
-    // Remove higher priority content elements
-    RemoveNonPriorityElements( children, priority );
-        
-    // Sort array to descending order
-    children.Sort( TLinearOrder< CXnNodeAppIf >( DescendingPriorityOrder ) );
-    
-    // Send event for content selectors in descending priority order.
-    // Continue until first content gets published or array exhausts.
-    for ( TInt i = 0; i < children.Count(); ++i )
-        {
-        CXnNodeAppIf* current = children[ i ];
-        
-        // Get content selector
-        const HBufC* contentSelector = PropertyValueL( *current,
-                                                       XnPropertyNames::common::KClass );
-        
-        if ( contentSelector && iFwEventHandler->RefreshContent( *contentSelector ))
-            {
-            break;
-            }
-        }
-    
-    // Free content selector array
-    children.Reset();
-    
-    // Continue content refresh for next ui element.
-    StartContentRefresh();    
-    }
-
-void CContentRenderer::TitleScrolled( TInt aTitleIndex )
-    {
-    if ( iCallbackHandler )
-        {
-        TRAP_IGNORE( iCallbackHandler->TitleScrolledL( iNTPublisher,
-                                                       *iNTClass,
-                                                       aTitleIndex ) );
-        }
-    }
-    
-void CContentRenderer::TitleToScroll( TInt aTitleIndex )
-    {
-    if ( iCallbackHandler )
-        {
-        TRAP_IGNORE( iCallbackHandler->TitleToScrollL( iNTPublisher,
-                                                       *iNTClass,
-                                                       aTitleIndex ) );        
-        }
-    }
-
-TBool CContentRenderer::IsParentNewsticker( CXnNodeAppIf& aTarget )
-    {
-    CXnNodeAppIf* parent = NULL;
-    TRAP_IGNORE( parent = aTarget.ParentL() );
-    if ( !parent )
-        {
-        return EFalse;
-        }
-    CXnType* typeInfo = parent->Type();
-    
-    if ( !typeInfo )
-        {
-        return EFalse;
-        }
-        
-    return ( typeInfo->Type() == XnNewstickerInterface::MXnNewstickerInterface::Type());
-    }
-    
-void CContentRenderer::RegisterNewstickerCallbackInterfaceL( CXnNodeAppIf& aTarget )
-    {
-    if ( !iCallbackHandler )
-        {
-        // Instantiate callback handler
-        CNewstickerCallbackHandler* handler = CNewstickerCallbackHandler::NewLC( *iFwEventHandler );
-
-        // Set callback handler
-        iCallbackHandler = handler;
-        CleanupStack::Pop( handler );
-        }
-        // Obtain newsticker component interface
-        XnNewstickerInterface::MXnNewstickerInterface* newsticker = NULL;
-        XnComponentInterface::MakeInterfaceL( newsticker, aTarget );
-        
-        LeaveIfNull( newsticker, KErrGeneral );
-        
-        // Set callback interface
-        newsticker->SetCallbackInterfaceL( this );
-    }
-
-void CContentRenderer::CleanPluginFromUiL( MAiPropertyExtension& aPlugin )
-    {
-    TInt itemCount = 0;
-    
-    // Resolve content items
-    MAiContentItemIterator& iter = ContentItemIteratorL( aPlugin, EAiPublisherContent );
-    iter.Reset();
-    
-    // Clean all content items
-    while ( iter.HasNext() )
-        {
-        const TAiContentItem& item = iter.NextL();
-
-        const TDesC& nodeId = iNodeIdGenerator->ContentNodeIdL( aPlugin, item );
-        
-        // Find nodes
-        HBufC8* nodeId8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L(nodeId);
-        CleanupStack::PushL(nodeId8);
-
-        RPointerArray<CXnNodeAppIf> nodes = iAppUi.UiEngineL()->FindNodeByClassL( 
-            *nodeId8, aPlugin.PublisherInfoL()->iNamespace );
-
-        CleanupStack::PopAndDestroy(nodeId8);
-
-        itemCount += nodes.Count(); 
-        
-        CleanupClosePushL( nodes );
-
-        for ( TInt i = 0; i < nodes.Count(); ++i )
-            {
-            CXnNodeAppIf* property = nodes[i];
-            
-            TInt priority = GetContentPriority( *property );
-
-            // Navigate to parent
-            CXnNodeAppIf* target = LeaveIfNull( property->ParentL(), KErrNotFound );
-
-            if ( AllowPublishByPriority( *target, priority ) )
-                {
-                // Create transaction element for empty content
-                MTransactionElement* element =
-                    iFactory->CreateEmptyContentTransactionElementL( *target, 0 );
-
-                iPolicyEvaluator->EvaluateEmptyContentPolicyL( *target,
-                                                               element->PolicyArray() );
-                iPolicyEvaluator->EvaluateVisibilityPolicyL( *target,
-                                                               element->PolicyArray() );
-                                                      
-                ProcessTransactionElementL( element );
-                  
-                if ( priority > KErrNotFound ) // Only for prioritized elements
-                    {
-                    // Add current ui element into content refresh map
-                    HBufC* uiElementId = PropertyValueL( *target,
-                                                         XnPropertyNames::common::KId );
-                    RefreshContentL( uiElementId, priority );
-                    }
-                }
-            }
-            
-        CleanupStack::PopAndDestroy(&nodes);
-        }
-        
-    if ( itemCount == 0 )
-        {
-        //Nothing to clean from UI. Cancel transaction outside current trap harness
-        User::Leave( KErrNotFound );
-        }
-    }
-
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/csspropertymap.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2005-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:  DOM property map
-*
-*/
-
-
-#include "xnproperty.h"
-#include "xndomproperty.h"
-#include "xndompropertyvalue.h"
-#include "xndomlist.h"
-
-#include "csspropertymap.h"
-#include "aixmluiutils.h"
-
-using namespace AiXmlUiController;
-
-// ======== MEMBER FUNCTIONS ========
-
-CCssPropertyMap::CCssPropertyMap()
-    {
-    }
-
-CCssPropertyMap* CCssPropertyMap::NewL()
-    {
-    CCssPropertyMap* self = new( ELeave ) CCssPropertyMap;
-    return self;
-    }
-
-CCssPropertyMap::~CCssPropertyMap()
-    {
-    Reset();
-    iElementMap.Close();
-    }
-
-
-void CCssPropertyMap::StorePropertyValueL( const TDesC8& aElementId,
-                                           CXnProperty& aProperty )
-    {
-    RDomPropertyValueMap* propertyMap = iElementMap.Find( aElementId );
-    
-    if ( !propertyMap )
-        {
-        // Create new entry
-        propertyMap = new( ELeave ) RDomPropertyValueMap;
-        
-        CleanupStack::PushL( propertyMap );
-        
-        iElementMap.InsertL( aElementId.AllocLC(), propertyMap );
-        
-        CleanupStack::Pop( 2, propertyMap );
-        }
-        
-    // Clone property value
-    CXnDomProperty* property = aProperty.Property();
-    CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-                                            property->PropertyValueList().First() );
-    LeaveIfNull( value, KErrArgument );
-    
-    value = value->CloneL();
-    CleanupStack::PushL( value );
-    
-    // Store value
-    propertyMap->InsertL( property->Name().AllocLC(), value );
-    
-    CleanupStack::Pop( 2, value );
-    
-    }
-    
-CXnDomPropertyValue* CCssPropertyMap::FindPropertyValue( const TDesC8& aElementId,
-                                                         const TDesC8& aName )
-    {
-    RDomPropertyValueMap* propertyMap = iElementMap.Find( aElementId );
-    
-    if ( !propertyMap )
-        {
-        return NULL;
-        }
-        
-    return propertyMap->Find( aName );
-    }
-
-void CCssPropertyMap::Reset()
-    {
-    TPtrHashMapIter< TDesC8, RDomPropertyValueMap > mapIter( iElementMap );
-    mapIter.Reset();
-    
-    while ( mapIter.NextKey() )
-        {
-        // Reset map for current key
-        RDomPropertyValueMap* map = const_cast< RDomPropertyValueMap* >( 
-                                                    mapIter.CurrentValue() );
-        map->ResetAndDestroy();
-        
-        // Delete current key and map
-        delete mapIter.CurrentKey();
-        delete map;
-        
-        // Remove map (pointer) for current key
-        mapIter.RemoveCurrent();
-        }
-    
-    }
--- a/idlehomescreen/xmluicontroller/src/databuffertransactionelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Data buffer transaction element
-*
-*/
-
-
-#include    "databuffertransactionelement.h"
-#include    "aixmluiutils.h"
-
-#include    "xntype.h"
-#include    "xntext.h"
-#include    "xnnewsticker.h"
-#include    "xnmenuadapter.h"
-#include    "mxncomponentinterface.h"
-#include    "xnvolumecontrol.h"
-#include    "xnnodeappif.h"
-#include    "xnuiengineappif.h"
-#include    "xnproperty.h"
-#include    "xndompropertyvalue.h"
-#include    "aistrcnv.h"
-#include    "aixmluiconstants.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-using namespace AiXmlUiController;
-using namespace XnTextInterface;
-
-CDataBufferTransactionElement::CDataBufferTransactionElement(AiUtility::CContentPriorityMap& aContentPriorityMap)
-    : CTransactionElement(aContentPriorityMap)
-    {
-    }    
-
-CDataBufferTransactionElement* CDataBufferTransactionElement::NewL(AiUtility::CContentPriorityMap& aContentPriorityMap)
-    {
-    CDataBufferTransactionElement* self = new( ELeave ) CDataBufferTransactionElement(aContentPriorityMap);
-    
-    return self;
-    }
-
-CDataBufferTransactionElement::~CDataBufferTransactionElement()
-    {
-    }
-
-void CDataBufferTransactionElement::InitializeL( CXnNodeAppIf& aTarget, const TDesC8& aData )
-    {
-    CheckTypeL( aTarget );
-    SetTarget( aTarget );
-    iNewData.Set( aData );
-    }
-
-void CDataBufferTransactionElement::UpdateDataL()
-    {
-    // Set new text
-    SetDataL();
-    
-    // Update content priority
-    UpdateContentPriorityL();
-    }
-    
-void CDataBufferTransactionElement::Reset()
-    {
-    CTransactionElement::Reset();
-    
-    iNewData.Set( KNullDesC8);
-    }
-
-TBool CDataBufferTransactionElement::IsSupported( CXnNodeAppIf& aTarget,
-                                                  const TDesC8& aContentType )
-    {
-    // Get target type info
-    CXnType* typeInfo = aTarget.Type();
-    
-    if ( !typeInfo )
-        {
-        return EFalse;
-        }
-    
-    const TDesC8& type = typeInfo->Type();
-    
-    if ( aContentType == KContentTypeText ) // Text
-        {
-        // Text element and menu item supports
-        return ( type == XnTextInterface::MXnTextInterface::Type() ||
-                 type == KXnMenuItem || 
-                 type == KXnMenu ||
-                 type == XnPropertyNames::softkey::KNodeName ||
-                 type == XnPropertyNames::volumecontrol::KSlider );
-        }
-    else if ( aContentType == KContentTypeImageSvg ) // SVG image
-        {
-        // Newsticker support
-        return ( type == XnNewstickerInterface::MXnNewstickerInterface::Type() );
-        }
-        
-    return EFalse;
-    }
-
-void CDataBufferTransactionElement::CheckTypeL( CXnNodeAppIf& aTarget )
-    {
-    // Get type info
-    const TDesC8& type = LeaveIfNull( aTarget.Type(), KErrNotSupported )->Type();
-    
-    // Text element, menu item, and newsticker supported
-    if ( type != XnTextInterface::MXnTextInterface::Type() &&
-         type != KXnMenuItem &&
-         type != KXnMenu &&
-         type != XnPropertyNames::softkey::KNodeName && 
-         type != XnPropertyNames::volumecontrol::KSlider &&
-         type != XnNewstickerInterface::MXnNewstickerInterface::Type() )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-
-void CDataBufferTransactionElement::SetDataL()
-    {
-    // Get type info
-    const TDesC8& type = LeaveIfNull( Target().Type(), KErrNotSupported )->Type();
-    
-    if ( type == XnTextInterface::MXnTextInterface::Type() ) // Text element
-        {
-        // Set character data directly to target
-        Target().SetPCDataL( iNewData );
-        }
-    else if (  type == XnPropertyNames::softkey::KNodeName ||
-            type == KXnMenuItem || 
-            type == KXnMenu ) // menu item
-        {
-        // Update label attribute value.
-        
-        // 
-        CXnNodeAppIf& target = Target();
-        
-        // Create new new label attribute value
-        CXnDomPropertyValue* propertyValue =
-            CXnDomPropertyValue::NewL( &target.UiEngineL()->StringPool() );
-    
-        CleanupStack::PushL( propertyValue );
-    
-        propertyValue->SetStringValueL( CXnDomPropertyValue::EString,
-                                        iNewData );
-    
-        CXnProperty* newProperty = CXnProperty::NewL( XnPropertyNames::menu::KLabel,
-                                                      propertyValue,
-                                                      target.UiEngineL()->StringPool() );
-        CleanupStack::Pop( propertyValue );
-        
-        CleanupStack::PushL( newProperty );
-
-        // Set label attribute
-        target.SetPropertyL( newProperty );
-        
-        CleanupStack::Pop( newProperty );
-        
-        // Refresh menu
-        target.UiEngineL()->RefreshMenuL();
-        }
-    else if ( type == XnPropertyNames::volumecontrol::KSlider ) // slider
-        {
-        // Get volume control interface
-        XnVolumeControlInterface::MXnVolumeControlInterface* volumeControl = NULL;
-        XnComponentInterface::MakeInterfaceL( volumeControl, Target() );
-        LeaveIfNull( volumeControl, KErrNotSupported );
-        
-        TInt32 volume = 0;
-        User::LeaveIfError( AiUtility::ParseInt( volume, iNewData ) );
-        volumeControl->SetValue( volume );
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-    
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/document.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Document class
-*
-*/
-
-
-#include "document.h"
-#include "application.h"
-#include "appui.h"
-#include "debug.h"
-
-using namespace AiXmlUiController;
-
-// ========== MEMBER FUNCTIONS ================================================
-
-CDocument::CDocument(CEikApplication &aApp, CXmlUiController& aUiCtl)
-    : CXnDocument(aApp, KUidXmlUiApp),
-      iUiCtl(aUiCtl)
-    {
-    }
-CDocument* CDocument::NewL(CEikApplication &aApp, CXmlUiController& aUiCtl)
-    {
-    CDocument* self = NULL;
-    
-    __TIME("XML UI: Create Document",
-    	self = new (ELeave) CDocument(aApp, aUiCtl);
-	);
-	__HEAP("XML UI: Create Document");
-
-    return self;
-    }
-
-CDocument::~CDocument()
-    {
-    }
-
-CEikAppUi* CDocument::CreateAppUiL()
-    {
-    return CAppUi::NewL(iUiCtl);
-    }
-
-// End of File.
--- a/idlehomescreen/xmluicontroller/src/dynamicthememodifier.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,331 +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:  This module contains the implementation of
-* 					CDynamicThemeModifier class member functions.
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include "dynamicthememodifier.h"
-#include <aisystemuids.hrh>
-#include "xnodt.h"
-#include "xndomdocument.h"
-#include "xndomattribute.h"
-#include "xndomnode.h"
-#include "xndomlist.h"
-#include "xndomdepthiterator.h"
-#include <activeidle2domaincrkeys.h>
-
-// CONSTANTS
-#define NEWS_TICKER_GENERAL_SETTINGS_UID 0x10207196
-const TUid KCRUidNewsTicker = {NEWS_TICKER_GENERAL_SETTINGS_UID};
-
-/**
- * KGSNewsTickerStatus
- * CenRep key for "NewsTicker activated"
- * Off = 0
- * On = 1
- */
-const TUint32 KGSNewsTickerStatus = 0x00000004;
-
-/**
- * KAINTInTheme
- * CenRep key for "NewsTicker implemented in AI2 theme"
- * No = 0
- * Yes = 1
- */
-const TUint32 KAiNTInTheme = 0x00000800;
-const TInt KThemeArrayGranularity = 4;
-
-_LIT8( KProperty, "property" );
-_LIT8( KControl, "control" );
-_LIT8( KName, "name" );
-_LIT8( KValue, "value" );
-_LIT8( KBlock, "block" );
-_LIT8( KNone, "none" );
-
-using namespace AiXmlUiController;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CDynamicThemeModifier::CDynamicThemeModifier
-// -----------------------------------------------------------------------------
-//
-CDynamicThemeModifier::CDynamicThemeModifier()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CDynamicThemeModifier::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CDynamicThemeModifier::ConstructL()
-    {
-    // NT is not shown in theme by default. 
-    // This is overridden later if it really is implemented (some other theme 
-    // Basic activated)
-    iAiCenRep = CRepository::NewL( TUid::Uid( KCRUidActiveIdleLV ) );
-    User::LeaveIfError( iAiCenRep->Set( KAiNTInTheme, 0 ) );
-
-	// Check if NT settings are visible in GS
-    iNTCenRep = CRepository::NewL( KCRUidNewsTicker );
-    User::LeaveIfError( iNTCenRep->Get( KGSNewsTickerStatus, iEnabledInCenRep ) );
-    
-    iNTCenRepObserver = CCenRepNotifyHandler::NewL( *this, 
-                                                *iNTCenRep, 
-                                                CCenRepNotifyHandler::EIntKey, 
-                                                KGSNewsTickerStatus );    
-    iNTCenRepObserver->StartListeningL();
-    
-    LoadThemesL();    
-    }
-
-// -----------------------------------------------------------------------------
-// CDynamicThemeModifier::NewL
-// -----------------------------------------------------------------------------
-//
-CDynamicThemeModifier* CDynamicThemeModifier::NewL()
-    {
-    CDynamicThemeModifier* self = new( ELeave ) CDynamicThemeModifier;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-
-// Destructor
-CDynamicThemeModifier::~CDynamicThemeModifier()
-    {
-    if( iThemeArray )
-	    {
-	    iThemeArray->ResetAndDestroy();
-	    delete iThemeArray;    	
-	    }
-    delete iOdt;
-    delete iDomDocument;
-    delete iXnResult;
-    delete iXnRequestClient;
-    delete iXnContentAccessClient;
-    delete iXnClient;
-    if( iNTCenRepObserver )
-	    {
-	    iNTCenRepObserver->StopListening();	
-	    delete iNTCenRepObserver;
-	    }
-    delete iNTCenRep;
-    delete iAiCenRep;
-    }
-
-// ---------------------------------------------------------------------------
-// CDynamicThemeModifier::LoadThemesL
-// ---------------------------------------------------------------------------
-//
-void CDynamicThemeModifier::LoadThemesL()
-    {
-    const TUid KUidAI2 = TUid::Uid( AI_UID3_AIFW_EXE );
-    
-    iXnClient = CXnClient::NewL( *this );
-    // we're only interested in AI2 themes
-    iXnContentAccessClient = CXnContentAccessClient::NewL( *this,
-    														KUidAI2.iUid );
-    iXnRequestClient = CXnRequestClient::NewL( *this, KUidAI2.iUid );    														
-    iXnResult = CXnResult::NewL();
-
-    CXnODT* odt = CXnODT::NewL();
-    CleanupStack::PushL( odt );
-
-    odt->SetAppUid( KUidAI2.iUid );
-
-    iThemeArray = new( ELeave ) CArrayPtrFlat<CXnODT>( KThemeArrayGranularity );
-
-    // theme array gets filled up by XnClient after this
-    // HandleXnClientMessage() is a callback method that we're interested in
-    TXnServiceCompletedMessage ret =
-    	iXnClient->XnGetListHeaders( *odt, *iThemeArray );
-
-    if( ret == EXnGetListHeadersSuccess || ret == EXnGetListHeadersEmpty )
-        {
-		iXnClient->GetXnResult( *iXnResult );
-		iNumberOfHeaders = iXnResult->iIntValue1;
-        iXnClient->XnGetNextHeader();
-        }
-
-    CleanupStack::PopAndDestroy( odt );
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CDynamicThemeModifier::HandleXnClientMessage
-// -----------------------------------------------------------------------------
-//
-void CDynamicThemeModifier::HandleXnClientMessage(
-									TXnServiceCompletedMessage aMessage )
-    {
-    // wait until all themes are fetched before loading settings
-    if( ( aMessage == EXnGetListHeadersUpdate ) &&
-        ( iThemeArray->Count() == iNumberOfHeaders ) )
-        {
-        TRAP_IGNORE( LoadSettingsFromThemeL() );
-        }
-
-    else if( aMessage == EXnGetListHeadersFailed )
-        {
-        if (iXnClient)
-        	{
-            iXnClient->XnCancelGetListHeaders();
-        	}
-
-        if ( iThemeArray )
-    		{
-    		iThemeArray->ResetAndDestroy();
-    		delete iThemeArray;
-    		iThemeArray = NULL;
-    		}
-        }
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// CDynamicThemeModifier::LoadSettingsFromThemeL
-// -----------------------------------------------------------------------------
-//
-void CDynamicThemeModifier::LoadSettingsFromThemeL()
-    {    
-    for( TInt i = 0; i < iThemeArray->Count(); i++ )
-	    {
-   	   	CXnODT* odt = iThemeArray->At( i );
-
-   	    // activated theme found -> load settings
-   	   	if( odt->Flags() & EXnThemeStatusActive )
-   	   	    {
-   	   	    delete iDomDocument;
-   	   	    iDomDocument = NULL;
-            iDomDocument = CXnDomDocument::NewL();
-
-            TXnServiceCompletedMessage ret = 
-                iXnContentAccessClient->XnLoadSettings( *odt, *iDomDocument );
-        	if( ret == EXnSettingsLoaded )
-        	    {
-        	    delete iOdt;
-        	    iOdt = NULL;
-			    iOdt = odt->CloneL();
-	            odt = NULL;
-	            // update theme to match CenRep value	            
-			    EnableNewsTickerL( TBool( iEnabledInCenRep ) );	
-	            break;	            
-                }
-   	   	    }
-	    }
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CDynamicThemeModifier::EnableNewsTickerL
-// -----------------------------------------------------------------------------
-//
-void CDynamicThemeModifier::EnableNewsTickerL( TBool aEnabled )
-    {
-    TInt found = 0;
-	CXnDomDepthIterator* iterator =
-		CXnDomDepthIterator::NewL( *iDomDocument->RootNode() );
-	CleanupStack::PushL( iterator );
-
-	CXnDomNode* node = iterator->First();
-
-	if( !node )
-	    {
-	    CleanupStack::PopAndDestroy( iterator );
-	    return;
-	    }
-
-	// find <control> tag
-	while( node )
-	    {
-		if( !node->Name().Compare( KControl ) )
-		    {
-			break;
-		    }
-		node = iterator->NextL();
-	    }
-
-	if( !node->Name().Compare( KControl ) )
-	    {
-		node = iterator->NextL();
-
-		while( node )
-    		{
-			// look for <property> tag...
-            if( !node->Name().Compare( KProperty ) )
-    		    {
-				// ...with attribute "value"...
-    			if( !node->AttributeValue( KName ).Compare( KValue ) )
-    			    {
-    			    found = 1;
-    				CXnDomAttribute* attr = static_cast<CXnDomAttribute*>
-    					( node->AttributeList().FindByName( KValue) );
-
-					// ...update it accordingly...
-    				if( aEnabled )
-    				    {
-    				    attr->SetValueL( KBlock );
-    				    }
-                    else
-    				    {
-    				    attr->SetValueL( KNone );
-    				    }
-    		        }
-    		    }
-    	    node = iterator->NextL();
-    		}
-
-		// ...and communicate the changes via Content Access API.		
-        for( TInt i = 0; i < iThemeArray->Count(); i++ )
-    	    {
-       	   	CXnODT* odt = iThemeArray->At( i );
-    		
-			// This might return an error if settings were not found from theme.
-			// However, we don't need to take any actions since appropriate 
-			// theme is left untouched in that case anyway
-            iXnContentAccessClient->XnUpdateSettings( *odt, *iDomDocument );
-    	    }
-
-		// if found == 1, then NT is implemented in theme 
-		// -> NT settings can be shown in GS
-		User::LeaveIfError( iAiCenRep->Set( KAiNTInTheme, found ) );
-		CleanupStack::PopAndDestroy( iterator );
-	    }
-    }
-
-// -----------------------------------------------------------------------------
-//  CDynamicThemeModifier::HandleNotifyInt
-//  Callback method for observing CenRep changes
-// -----------------------------------------------------------------------------
-//
-void CDynamicThemeModifier::HandleNotifyInt( TUint32 /*aId*/, TInt aNewValue )
-    {
-    iEnabledInCenRep = TBool( aNewValue );
-    TRAP_IGNORE( EnableNewsTickerL( iEnabledInCenRep ) );
-    ;
-    }
-
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/emptycontenttransactionelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction element for publishing empty content
-*
-*/
-
-
-#include "xntype.h"
-#include "xnnewsticker.h"
-#include "xnbitmap.h"
-#include "xntext.h"
-#include "emptycontenttransactionelement.h"
-#include "aixmluiconstants.h"
-#include "aixmluiutils.h"
-
-using namespace AiXmlUiController;
-using namespace XnImageInterface;
-using namespace XnTextInterface;
-using namespace AiUiDef::xml;
-
-const TInt KControlIndexOffset = 1;
-
-// ======== MEMBER FUNCTIONS ========
-
-CEmptyContentTransactionElement::CEmptyContentTransactionElement(
-                                AiUtility::CContentPriorityMap& aContentPriorityMap)
-    : CTransactionElement( aContentPriorityMap ),
-      iIndex( KErrNotFound )
-    {
-    }
-
-CEmptyContentTransactionElement* CEmptyContentTransactionElement::NewL(
-                                AiUtility::CContentPriorityMap& aContentPriorityMap)
-    {
-    CEmptyContentTransactionElement* self =
-            new( ELeave ) CEmptyContentTransactionElement( aContentPriorityMap );
-    return self;
-    }
-
-CEmptyContentTransactionElement::~CEmptyContentTransactionElement()
-    {
-    }
-
-void CEmptyContentTransactionElement::InitializeL( CXnNodeAppIf& aTarget, TInt aIndex )
-    {
-    SetTarget( aTarget );
-    
-    // Indexes in XML theme run 1...n, but in control interface 0...n-1
-    iIndex = aIndex - KControlIndexOffset;
-    }
-
-void CEmptyContentTransactionElement::Reset()
-    {
-    CTransactionElement::Reset();
-    iIndex = KErrNotFound;
-    }
-
-void CEmptyContentTransactionElement::UpdateDataL()
-    {
-    CXnType* type = Target().Type();
-
-    if ( type->Type() == XnImageInterface::MXnImageInterface::Type() )
-        {
-        MXnImageInterface* imageIntr = NULL;
-        if ( !XnComponentInterface::MakeInterfaceL( imageIntr, Target() ) )
-            {
-            User::Leave( KErrNotSupported );
-            }
-        // Clears the bitmaps from component
-        imageIntr->SetContentBitmaps( NULL, NULL );
-        }
-    else if ( type->Type() == XnTextInterface::MXnTextInterface::Type() ) // text element
-            {
-            // Get control interface
-            XnTextInterface::MXnTextInterface* textControl = NULL;
-            XnComponentInterface::MakeInterfaceL( textControl, Target() );
-            LeaveIfNull( textControl, KErrNotSupported );
-            
-            // Clears the text from component
-            textControl->SetTextL( KNullDesC );
-            }
-    else
-        {
-        CXnNodeAppIf* parent = Target().ParentL();
-        LeaveIfNull( parent, KErrNotSupported );
-        const TDesC8& type = LeaveIfNull( parent->Type(), KErrNotSupported )->Type();
-            
-        if ( type == XnNewstickerInterface::MXnNewstickerInterface::Type() )
-            {
-            XnNewstickerInterface::MXnNewstickerInterface* newsticker = NULL;
-            XnComponentInterface::MakeInterfaceL( newsticker, *parent );
-            LeaveIfNull( newsticker, KErrGeneral );
-            TInt titleIndexVal = -1;
-            CXnProperty* titleIndex = Target().GetPropertyL( XnPropertyNames::title::KTitleIndex );
-            if ( titleIndex )
-                {
-                TLex8 lex( titleIndex->StringValue() );
-                TInt err = lex.Val( titleIndexVal );
-                if ( err == KErrNone && titleIndexVal > -1 )
-                    {
-                    newsticker->DeleteTitle( titleIndexVal );
-                    }
-                }
-            }
-        }
-    // Clear current content priority
-    ClearContentPriorityL();
-    }
--- a/idlehomescreen/xmluicontroller/src/globalqueryhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Global query active object
-*
-*/
-
-#include "globalqueryhandler.h"
-#include "xmluicontroller.h"
-#include "appui.h"
-
-#include <avkon.hrh> //EAknSoftkeyOk, EAknSoftkeyCancel, EAknSoftkeyDone
-
-using namespace AiXmlUiController;
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-CGlobalQueryHandler* CGlobalQueryHandler::NewL(
-    CXmlUiController& aUiController )
-    {
-    CGlobalQueryHandler* self =  
-            new ( ELeave )CGlobalQueryHandler( aUiController );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
- 
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CGlobalQueryHandler::CGlobalQueryHandler( CXmlUiController& aUiController ) 
-    : CActive( EPriorityStandard ), iUiController( aUiController )                 
-    {
-    CActiveScheduler::Add( this );
-    }
-        
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CGlobalQueryHandler::ConstructL()
-    {    
-    }
-      
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CGlobalQueryHandler::~CGlobalQueryHandler() 
-    { 
-    Cancel(); 
-    }
- 
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CGlobalQueryHandler::DoCancel()
-    {
-    }
- 
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CGlobalQueryHandler::RunL()
-    {
-    if( iStatus == EAknSoftkeyOk || iStatus == EAknSoftkeyYes )        
-        {
-        iUiController.AppUi()->SetOnlineStateL( iSetOnline );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CGlobalQueryHandler::SetOnlineParamAndActivate( TBool aOnline )
-    { 
-    iSetOnline = aOnline;
-    
-    SetActive();
-    }
-
-// END OF FILE
-
--- a/idlehomescreen/xmluicontroller/src/imagetransactionelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,474 +0,0 @@
-/*
-* Copyright (c) 2005-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 transaction element
-*
-*/
-
-
-#include "xnbitmap.h"
-#include "xnnewsticker.h"
-#include "xntype.h"
-#include "xnmenu.h"
-#include "xnmenuadapter.h"
-#include "xnuiengineappif.h"
-
-#include <imageconversion.h>
-#include <gulicon.h>
-
-#include "imagetransactionelement.h"
-#include "xmluicontrollerpanic.h"
-#include "aixmluiutils.h"
-#include "xnuiengineappif.h"
-
-using namespace AiXmlUiController;
-using namespace XnImageInterface;
-using namespace ContentAccess;
-
-namespace AiXmlUiController
-    {
-
-TBool IsNodeVisible( CXnNodeAppIf& aNode )
-    {
-    CXnProperty* propVisibility = aNode.GetPropertyL( XnPropertyNames::style::common::KVisibility );;
-
-    if( propVisibility )
-        {
-        const TDesC8& visibility = propVisibility->StringValue();
-
-        if( visibility == XnPropertyNames::style::common::visibility::KHidden )
-            {
-            return EFalse;
-            }    
-        }
-
-    CXnProperty* propDisplay = aNode.GetPropertyL( XnPropertyNames::style::common::KDisplay );
-
-    if( propDisplay )
-        {
-        const TDesC8& display = propDisplay->StringValue();
-
-        if( display == XnPropertyNames::style::common::display::KNone )
-            {
-            return EFalse;
-            }
-        }
-
-    CXnProperty* propDisabled = aNode.GetPropertyL( XnPropertyNames::common::KDisabled );
-
-    if( propDisabled )
-        {
-        const TDesC8& disabled = propDisabled->StringValue();
-
-        if( disabled == XnPropertyNames::KTrue )
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-/**
- * Uses CImageDecoder to decode images asynchronously.
- * When decoding is done, it tries to find target and set
- * image into element. Destroys itself at end of RunL method.
- */
-class CKamikazeImageDecoder: public CActive
-    {
-public:
-    static CKamikazeImageDecoder* NewL(
-            RFile& aFile, const TDesC8& aNodeId, 
-            const TDesC8& aNodeNs, TXnUiEngineAppIf& aUiEngine);
-    ~CKamikazeImageDecoder();
-public:
-    /**
-     * Start decoding and forget instance. 
-     * Destroyes itself.
-     */
-    void DecodeLD();
-private:
-    // from CActive
-    void DoCancel();
-    void RunL();
-private:    
-    void ConstructL(RFile& aFile, const TDesC8& aNodeId,const TDesC8& aNodeNs);
-    CKamikazeImageDecoder(TXnUiEngineAppIf& aUiEngine);
-    void SetImageL();
-private:
-    /**
-     * Image decoder. Own.
-     */
-    CImageDecoder* iDecoder;
-    /**
-     * Target node id
-     */
-    HBufC8* iNodeId;
-    /**
-     * Target node namespace
-     */
-    HBufC8* iNodeNs;
-    /**
-     * Provides services to find target
-     */
-    TXnUiEngineAppIf& iUiEngine;
-    /**
-     * Icon. Own.
-     */
-    CGulIcon* iIcon;
-    };
-
-CKamikazeImageDecoder* CKamikazeImageDecoder::NewL(
-    RFile& aFile, 
-    const TDesC8& aNodeId,
-    const TDesC8& aNodeNs,
-    TXnUiEngineAppIf& aUiEngine)
-    {
-    CKamikazeImageDecoder* p = new (ELeave)CKamikazeImageDecoder(aUiEngine);
-    CleanupStack::PushL(p);
-    p->ConstructL(aFile,aNodeId,aNodeNs);
-    CleanupStack::Pop(p);
-    return p;
-    }
-
-CKamikazeImageDecoder::CKamikazeImageDecoder(TXnUiEngineAppIf& aUiEngine):
-    CActive(CActive::EPriorityStandard ), iUiEngine(aUiEngine)
-    {
-    CActiveScheduler::Add( this );
-    }
-
-CKamikazeImageDecoder::~CKamikazeImageDecoder()
-    {
-    Cancel();
-    delete iDecoder;
-    delete iNodeId;
-    delete iNodeNs;
-    delete iIcon;
-    }
-
-void CKamikazeImageDecoder::ConstructL(
-    RFile& aFile, 
-    const TDesC8& aNodeId, 
-    const TDesC8& aNodeNs)
-    {
-    // Create new decoder for file
-    iDecoder = CImageDecoder::FileNewL( aFile, EView );
-    iNodeId = aNodeId.AllocL();
-    iNodeNs = aNodeNs.AllocL();
-    iIcon = CGulIcon::NewL();
-    }
-
-void CKamikazeImageDecoder::DecodeLD()
-    {
-    TFrameInfo frameInfo = iDecoder->FrameInfo(0);
-    CFbsBitmap* bitmap = new( ELeave ) CFbsBitmap;
-    iIcon->SetBitmap( bitmap );
-    
-    User::LeaveIfError( bitmap->Create( frameInfo.iOverallSizeInPixels,
-                        frameInfo.iFrameDisplayMode ) );
-    
-    CFbsBitmap* mask(0);
-    if ( frameInfo.iFlags & TFrameInfo::ETransparencyPossible )
-        {
-        mask = new( ELeave ) CFbsBitmap;
-        iIcon->SetMask( mask );
-        User::LeaveIfError( mask->Create( frameInfo.iOverallSizeInPixels,
-                                          ( ( frameInfo.iFlags & TFrameInfo::EAlphaChannel )
-                                          ? EGray256 : EGray2 ) ) );
-        }
-    
-    if(iIcon->Mask())
-        {
-        iDecoder->Convert( &iStatus, *bitmap, *mask );
-        }
-    else
-        {
-        iDecoder->Convert( &iStatus, *bitmap );
-        }
-    SetActive();
-    }
-
-void CKamikazeImageDecoder::DoCancel()
-    {
-    iDecoder->Cancel();
-    }
-
-void CKamikazeImageDecoder::SetImageL()
-    {
-     
-    // Find target
-    CXnNodeAppIf* node = iUiEngine.FindNodeByIdL(*iNodeId,*iNodeNs);
-    if(!node)
-        {
-        return;
-        }
-        
-    const TDesC8& type = node->Type()->Type();
-    
-    if ( type == XnImageInterface::MXnImageInterface::Type() )
-        {
-        MXnImageInterface* imageIntr = NULL;
-        if ( !XnComponentInterface::MakeInterfaceL( imageIntr, *node ) )
-            {
-            return;
-            }
-        // Set new bitmaps. Ownership is transferred to MXnImageInterface
-        iIcon->SetBitmapsOwnedExternally( ETrue );
-        imageIntr->SetContentBitmaps( iIcon->Bitmap(), iIcon->Mask() );
-      
-        }
-    // Menu softkey icons
-    else if ( ( ( type == KXnMenuItem || type == KXnMenu ) &&
-                IsNodeVisible( *node ) ) ||
-              type == XnPropertyNames::softkey::KNodeName )
-        {
-        CXnNodeAppIf* menuBar = node->ParentL();
-        
-        XnMenuInterface::MXnMenuInterface::TSoftKeyPosition softkeyPosition = 
-            XnMenuInterface::MXnMenuInterface::ELeft;
-                    
-        CXnProperty* property = 
-            node->GetPropertyL( XnPropertyNames::softkey::KTypeAttribute );     
-        if ( property && property->StringValue() == XnPropertyNames::softkey::type::KRight )
-            {
-            softkeyPosition = XnMenuInterface::MXnMenuInterface::ERight;
-            }
-        else if ( property && property->StringValue() == XnPropertyNames::softkey::type::KLeft )
-            {
-            softkeyPosition = XnMenuInterface::MXnMenuInterface::ELeft;
-            }
-        else  // Image can be published only to RSK or LSK
-            {
-            return;
-            }
-            
-        XnMenuInterface::MXnMenuInterface* menuIf = NULL;
-        
-        XnComponentInterface::MakeInterfaceL( menuIf, *menuBar );
-        if ( menuIf )
-            {
-            // Use black mask and preserver aspect ratio
-           
-            menuIf->SetSoftKeyImageL( iIcon->Bitmap(), 
-                                          iIcon->Mask(), 
-                                          softkeyPosition, 
-                                          node,
-                                          ETrue, 
-                                          ETrue ); 
-            iIcon->SetBitmapsOwnedExternally( ETrue );
-            }
-        if( menuBar )
-            {
-            iUiEngine.RefreshMenuL();
-            }
-        }
-        
-    }
-
-void CKamikazeImageDecoder::RunL()
-    {
-    CleanupStack::PushL(this);
-    if(iStatus == KErrNone)
-        {
-        SetImageL();
-        iUiEngine.RenderUIL();
-        }
-    CleanupStack::PopAndDestroy(this);
-    }
-     
-// ======== MEMBER FUNCTIONS ========
-
-CImageTransactionElement::CImageTransactionElement(
-                                AiUtility::CContentPriorityMap& aContentPriorityMap)
-    : CTransactionElement(aContentPriorityMap)
-    {
-    }
-
-CImageTransactionElement* CImageTransactionElement::NewL(
-                                AiUtility::CContentPriorityMap& aContentPriorityMap)
-    {
-    CImageTransactionElement* self = new( ELeave ) CImageTransactionElement(
-                                                            aContentPriorityMap );
-    return self;
-    }
-
-CImageTransactionElement::~CImageTransactionElement()
-    {
-    delete iNewIcon;
-    delete iImageDecoder;
-    }
-
-void CImageTransactionElement::InitializeL( CXnNodeAppIf& aTarget,
-                                            CGulIcon* aIcon )
-    {
-    CheckTypeL( aTarget );
-    
-    LeaveIfNull( aIcon, KErrArgument );
-    
-    SetTarget( aTarget );
-    iNewIcon = aIcon;
-    }
-
-void CImageTransactionElement::InitializeL( CXnNodeAppIf& aTarget,
-                                            RFile& aFile )
-    {
-    CheckTypeL( aTarget );
-   
-    const TDesC8* nodeId = &KNullDesC8;
-    
-    CXnProperty* property = aTarget.GetPropertyL(XnPropertyNames::common::KId);
-    if(property)
-        {
-        nodeId = &property->StringValue();
-        }
-    if ( iImageDecoder )
-        {
-        delete iImageDecoder;
-        iImageDecoder = NULL;
-        }
-    iImageDecoder = CKamikazeImageDecoder::NewL(
-                        aFile,*nodeId,aTarget.Namespace(),*aTarget.UiEngineL()); 
-    
-    SetTarget( aTarget );
-    }
-
-
-void CImageTransactionElement::UpdateDataL()
-    {
-    if ( iImageDecoder )
-        {
-        iImageDecoder->DecodeLD();
-        iImageDecoder = NULL; // self destroy
-        }
-    else
-        {
-        __ASSERT_DEBUG( iNewIcon, Panic( EBitmapNull ) );
-    
-        const TDesC8& type = LeaveIfNull( Target().Type(), KErrNotSupported )->Type();
-        
-        if ( type == XnImageInterface::MXnImageInterface::Type() )
-            {
-            MXnImageInterface* imageIntr = NULL;
-            if ( !XnComponentInterface::MakeInterfaceL( imageIntr, Target() ) )
-                {
-                User::Leave( KErrNotSupported );
-                }
-            // Set new bitmaps. Ownership is transferred to MXnImageInterface
-            iNewIcon->SetBitmapsOwnedExternally( ETrue );
-            imageIntr->SetContentBitmaps( iNewIcon->Bitmap(), iNewIcon->Mask() );
-            }
-        // Menu softkey icons
-        else if ( ( ( type == KXnMenuItem || type == KXnMenu ) &&
-                    IsNodeVisible( Target() ) ) ||
-                  type == XnPropertyNames::softkey::KNodeName )
-            {
-            CXnNodeAppIf* menuBar = Target().ParentL();
-            
-            XnMenuInterface::MXnMenuInterface::TSoftKeyPosition softkeyPosition = 
-                XnMenuInterface::MXnMenuInterface::ELeft;
-                        
-            CXnProperty* property = 
-                Target().GetPropertyL( XnPropertyNames::softkey::KTypeAttribute );     
-            if ( property && property->StringValue() == XnPropertyNames::softkey::type::KRight )
-                {
-                softkeyPosition = XnMenuInterface::MXnMenuInterface::ERight;
-                }
-            else if ( property && property->StringValue() == XnPropertyNames::softkey::type::KLeft )
-                {
-                softkeyPosition = XnMenuInterface::MXnMenuInterface::ELeft;
-                }
-            else  // Image can be published only to RSK or LSK
-                {
-                delete iNewIcon;
-                iNewIcon = NULL;            
-                User::Leave( KErrNotSupported );
-                }
-                
-            XnMenuInterface::MXnMenuInterface* menuIf = NULL;
-            
-            XnComponentInterface::MakeInterfaceL( menuIf, *menuBar );
-            if ( menuIf )
-                {
-                // Use black mask and preserver aspect ratio
-                TRAPD(err,
-                    menuIf->SetSoftKeyImageL( iNewIcon->Bitmap(), 
-                                              iNewIcon->Mask(), 
-                                              softkeyPosition, 
-                                              &Target(),
-                                              ETrue, 
-                                              ETrue ) 
-                );
-                // Menuinterface takes ownership
-                if ( err == KErrNone )
-                    {
-                    iNewIcon->SetBitmapsOwnedExternally( ETrue );
-                    }
-                if( menuBar )
-                    {
-                    menuBar->UiEngineL()->RefreshMenuL();
-                    }
-                }
-            }
-        else
-            {
-            User::Leave( KErrNotSupported );
-            }
-        }
-    
-    delete iNewIcon;
-    iNewIcon = NULL;
-    
-    UpdateContentPriorityL();
-    }
-
-void CImageTransactionElement::Reset()
-    {
-    if ( iImageDecoder )
-        {
-        delete iImageDecoder;
-        iImageDecoder = NULL;
-        }
-    
-    CTransactionElement::Reset();
-
-    delete iNewIcon;
-    iNewIcon = NULL;
-    }
-
-TBool CImageTransactionElement::IsSupported( CXnNodeAppIf& aTarget )
-    {
-    // Get type info
-    CXnType* typeInfo = aTarget.Type();
-    
-    if ( !typeInfo )
-        {
-        return EFalse;
-        }
-    
-    const TDesC8& type = typeInfo->Type();
-    
-    // image element and newsticker supported
-    return ( type == XnImageInterface::MXnImageInterface::Type() ||
-             type == XnNewstickerInterface::MXnNewstickerInterface::Type() ||
-             type == XnMenuInterface::MXnMenuInterface::Type() ||
-             type == KXnMenuItem ||
-             type == KXnMenu ||
-             type == XnPropertyNames::softkey::KNodeName );
-    }
-
-void CImageTransactionElement::CheckTypeL( CXnNodeAppIf& aTarget )
-    {
-    if ( !IsSupported( aTarget ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-} // ns
--- a/idlehomescreen/xmluicontroller/src/newstickercallbackhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Callback handler for newsticker component callbacks
-*
-*/
-
-
-#include "newstickercallbackhandler.h"
-#include "aifweventhandler.h"
-#include "aiconsts.h"
-#include "aixmluiconstants.h"
-#include "aistrcnv.h"
-
-using namespace AiXmlUiController;
-
-const TInt KRadix = 10;
-const TText16 KPluginEventParameterSeparator = ',';
-const TText16 KEventParameterTerminator = ')';
-
-static TInt IndexLength( TInt aIndex )
-    {
-    TInt length = 0;
-
-    if ( aIndex < 0 )
-        {
-        ++length;
-        }
-
-    do
-        {
-        aIndex /= KRadix;
-        ++length;
-        }
-    while ( aIndex != 0 );
-
-    return length;
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-CNewstickerCallbackHandler::CNewstickerCallbackHandler( MAiFwEventHandler& aFwEventHandler )
-    : iFwEventHandler( aFwEventHandler )
-    {
-    }
-
-CNewstickerCallbackHandler* CNewstickerCallbackHandler::NewLC( MAiFwEventHandler& aFwEventHandler )
-    {
-    CNewstickerCallbackHandler* self = new( ELeave ) CNewstickerCallbackHandler( aFwEventHandler );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-
-CNewstickerCallbackHandler::~CNewstickerCallbackHandler()
-    {
-    delete iEventBuffer;
-    }
-
-
-void CNewstickerCallbackHandler::TitleScrolledL( const TDesC& aPublisherName,
-                                                 const TDesC& aPublishingClass,
-                                                 TInt aIndex )
-    {
-    SendEventToNewstickerPluginL( AiUiDef::xml::event::KNewstickerTitleScrolled,
-                                    aPublisherName,
-                                    aPublishingClass,
-                                    aIndex);
-    }
-
-void CNewstickerCallbackHandler::TitleToScrollL( const TDesC& aPublisherName,
-                                                 const TDesC& aPublishingClass,
-                                                 TInt aIndex )
-    {
-    SendEventToNewstickerPluginL( AiUiDef::xml::event::KNewstickerTitleToScroll,
-                                    aPublisherName,
-                                    aPublishingClass,
-                                    aIndex);
-    }
-
-
-void CNewstickerCallbackHandler::SendEventToNewstickerPluginL( const TDesC& aEvent,
-                                                        const TDesC& aPublisherName,
-                                                        const TDesC& aPublishingClass,
-                                                        TInt aIndex)
-    {
-        // Calculate event buffer length
-    TInt length = aPublisherName.Length()
-                  + KPluginEventSeparatorLength
-                  + aEvent.Length()
-                  + KEventParameterSeparatorLength
-                  + aPublishingClass.Length()
-                  + KEventParameterSeparatorLength
-                  + IndexLength( aIndex )
-                  + KEventParameterSeparatorLength;
-
-    // Allocate event buffer
-    TPtr event = AiUtility::EnsureBufMaxLengthL( iEventBuffer, length );
-
-    // Create event string
-    event.Zero();
-    event.Append( aPublisherName );
-    event.Append( KPluginEventSeparator );
-    event.Append( aEvent );
-    event.Append( KEventParameterSeparator );
-    event.Append( aPublishingClass );
-    event.Append( KPluginEventParameterSeparator );
-    event.AppendNum( aIndex );
-    event.Append( KEventParameterTerminator );
-
-    // Send event to plugin
-    // TODO: fix namespace
-    iFwEventHandler.HandlePluginEvent( event );
-    }
--- a/idlehomescreen/xmluicontroller/src/newstickertransactionelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2005-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:  News ticker transaction element
-*
-*/
-
-
-#include    "newstickertransactionelement.h"
-#include    "aixmluiutils.h"
-
-#include    "xntype.h"
-#include    "xnproperty.h"
-#include    "xntext.h"
-#include    "xnmenuadapter.h"
-#include    "xnnewsticker.h"
-//#include    <xnmarquee.h>
-#include    "mxncomponentinterface.h"
-#include    "xnnodeappif.h"
-#include    "xnuiengineappif.h"
-#include    "xnproperty.h"
-#include    "xndompropertyvalue.h"
-#include    "xnvolumecontrol.h"
-#include    "aistrcnv.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-using namespace AiXmlUiController;
-using namespace XnTextInterface;
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CNewsTickerTransactionElement::CNewsTickerTransactionElement(AiUtility::CContentPriorityMap& aContentPriorityMap)
-    : CTransactionElement(aContentPriorityMap)
-    {
-    }    
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CNewsTickerTransactionElement* CNewsTickerTransactionElement::NewL(AiUtility::CContentPriorityMap& aContentPriorityMap)
-    {
-    CNewsTickerTransactionElement* self = new( ELeave ) CNewsTickerTransactionElement(aContentPriorityMap);
-    
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CNewsTickerTransactionElement::~CNewsTickerTransactionElement()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CNewsTickerTransactionElement::InitializeL( CXnNodeAppIf& aTarget, const TDesC& aText, TInt aIndex )
-    {
-    CheckTypeL( aTarget );
-    SetTarget( aTarget );
-    iNewText.Set( aText );
-    iIndex = aIndex;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CNewsTickerTransactionElement::UpdateDataL()
-    {
-    // Set new text
-    SetTextL();
-    
-    // Update content priority
-    UpdateContentPriorityL();
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CNewsTickerTransactionElement::Reset()
-    {
-    CTransactionElement::Reset();
-    
-    iNewText.Set( KNullDesC );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CNewsTickerTransactionElement::IsSupported( CXnNodeAppIf& aTarget )
-    {
-    //  Is supported only if parent is <newsticker>
-    CXnNodeAppIf* ntNode = NULL;
-    
-    TRAP_IGNORE( ntNode = aTarget.ParentL() );
-    
-    if ( !ntNode )
-        {
-        return EFalse;
-        }
-    
-    CXnType* typeInfo = ntNode->Type();
-    
-    if ( !typeInfo )
-        {
-        return EFalse;
-        }
-    
-    const TDesC8& type = typeInfo->Type();
-    
-    // Text element, menu item, newsticker, and marquee supported
-    return ( type == XnNewstickerInterface::MXnNewstickerInterface::Type() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CNewsTickerTransactionElement::CheckTypeL( CXnNodeAppIf& aTarget )
-    {
-    if ( !IsSupported( aTarget ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CNewsTickerTransactionElement::SetTextL()
-    {      
-    // Titles are published to <newsticker> children elements
-    CXnNodeAppIf* ntNode = Target().ParentL();
-    LeaveIfNull( ntNode, KErrNotSupported );
-    
-    // Get type info
-    const TDesC8& type = LeaveIfNull( ntNode->Type(), KErrNotSupported )->Type();
-    if ( type == XnNewstickerInterface::MXnNewstickerInterface::Type() )
-        {
-        // Get Newsticker control interface
-        XnNewstickerInterface::MXnNewstickerInterface* newsTicker = NULL;
-
-        XnComponentInterface::MakeInterfaceL( newsTicker, *ntNode );
-        LeaveIfNull( newsTicker, KErrNotSupported );
-        
-        TInt titleIndexVal = -1;
-        CXnProperty* titleIndex = Target().GetPropertyL( XnPropertyNames::title::KTitleIndex );
-        if ( titleIndex )
-            {
-            TLex8 lex( titleIndex->StringValue() );
-            TInt err = lex.Val( titleIndexVal );
-            if ( err == KErrNone && titleIndexVal > -1 )
-                {
-                newsTicker->UpdateTitleL( iNewText, titleIndexVal );            
-                }            
-            }
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-    
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/onlineofflinehelper.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Helper for online/offline state handling
-*
-*/
-
-// System includes
-#include <NetworkHandlingProxy.h>
-#include <CNWSession.h>
-#include <MProfileEngine.h>
-#include <CProfileChangeNotifyHandler.h>
-#include <aifweventhandler.h>
-#include <ai3xmlui.rsg>
-#include <AknQueryDialog.h>
-#include <AknGlobalNote.h>
-#include <StringLoader.h>
-
-// User includes
-#include <activeidle2domaincrkeys.h>
-#include "onlineofflinehelper.h"
-#include "xmluicontroller.h"
-#include "appui.h"
-
-// Constants
-const TInt KOfflineProfileId( 5 );
-
-using namespace AiXmlUiController;
-
-// ============================ LOCAL FUNCTIONS ==============================
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// COnlineOfflineHelper::NewL
-// ---------------------------------------------------------------------------
-//
-COnlineOfflineHelper* COnlineOfflineHelper::NewL( CXmlUiController& aUiCtl )    
-    {
-    COnlineOfflineHelper* self = new ( ELeave )COnlineOfflineHelper( aUiCtl );                 
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
- 
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::COnlineOfflineHelper
-// ----------------------------------------------------------------------------
-//
-COnlineOfflineHelper::COnlineOfflineHelper( CXmlUiController& aUiCtl )
-    : iUiCtl( aUiCtl )
-    {    
-    }
-        
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::ConstructL
-// ----------------------------------------------------------------------------
-//
-void COnlineOfflineHelper::ConstructL()
-    { 
-    //Create network handling engine session.
-    iSession = CreateL( *this, iInfo );
-
-    iHandler = CProfileChangeNotifyHandler::NewL( this );
-    
-    MProfileEngine* engine( CreateProfileEngineL() );
-    
-    if( engine->ActiveProfileId() == KOfflineProfileId )
-        {
-        iFlags.Set( EOfflineProfile );
-        }
-    
-    engine->Release();
-    
-    TInt value( 0 );
-    
-    if ( iUiCtl.SettingsRepository().Get(  KAIWebStatus, value ) == KErrNone )
-        {
-        if( value && iFlags.IsClear( EOfflineProfile ) )
-            {
-            iFlags.Set( EOnline );
-            }                    
-        }
-    
-    // Update repository
-    iUiCtl.SettingsRepository().Set(  KAIWebStatus, iFlags.IsSet( EOnline ) ); 
-    
-    iCurrentNwStatus = ENWRegistrationUnknown;    
-    }
-      
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::~COnlineOfflineHelper
-// ----------------------------------------------------------------------------
-//
-COnlineOfflineHelper::~COnlineOfflineHelper() 
-    {
-    delete iHandler;
-    delete iSession;
-    // Whether the user choice EOnline should be stored in cenrep ?
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::ShowOnlineItem
-// ----------------------------------------------------------------------------
-//
-TBool COnlineOfflineHelper::ShowOnlineItem() const
-    {
-    if ( iFlags.IsSet( EUtilizeOnline ) )
-    	{
-    	TInt value ( KErrNotFound );
-    	if ( iUiCtl.SettingsRepository().Get(  KAIWebStatus, value ) == KErrNone )
-    		{
-    		return ( !value );
-    		}
-    	}
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::ShowOfflineItem
-// ----------------------------------------------------------------------------
-//
-TBool COnlineOfflineHelper::ShowOfflineItem() const
-    {
-    if ( iFlags.IsSet( EUtilizeOnline ) )
-		{
-		TInt value ( KErrNotFound );
-		if ( iUiCtl.SettingsRepository().Get(  KAIWebStatus, value ) == KErrNone )
-			{
-			return ( value );
-			}
-		}
-     return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::ProcessOnlineStateL
-// ----------------------------------------------------------------------------
-//
-void COnlineOfflineHelper::ProcessOnlineStateL( 
-    RPointerArray< CXnNodeAppIf >& aList )
-    {
-    _LIT( KOnlineOffline, "online_offline" );
-
-    iFlags.Clear( EUtilizeOnline );
-                   
-    // Check if data plugins are using online_offline
-    for ( TInt i = 0; i < aList.Count(); i++ )
-        {
-        TAiPublisherInfo info;
-        
-        iUiCtl.PublisherInfoL( *aList[i], info );
-                         
-        if( iUiCtl.FwEventHandler()->HasMenuItemL( info, KOnlineOffline() ) )
-            {
-            iFlags.Set( EUtilizeOnline );            
-            break;                       
-            }
-        }    
-    
-    if( iFlags.IsSet( EUtilizeOnline ) )
-        {
-        TInt value( 0 );
-        iUiCtl.SettingsRepository().Get( KAIWebStatus, value );
-        
-        if ( value )
-        	{
-            // Switch to online
-        	SetOnlineL( ETrue );
-        	}
-        else
-        	{
-            // Switch to offline
-        	SetOnlineL( EFalse );
-        	}                
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::ProcessOnlineStateL
-// ----------------------------------------------------------------------------
-//
-void COnlineOfflineHelper::ProcessOnlineStateL( TBool aOnline )
-    {
-    // User has selected online/offline item from menu
-    if( iFlags.IsSet( EUtilizeOnline ) )
-    	{
-    	 // Don't show R_YES_NO_HS_ONLINE query as user selected online
-    	 if (aOnline )
-			{
-			iFlags.Set( EOnline );
-			// Save state
-			iUiCtl.SettingsRepository().Set( KAIWebStatus, ETrue );
-			// Run state change.
-			iUiCtl.FwEventHandler()->ProcessStateChange( EAifwOnline  );     
-			}
-    	 else
-    		 {
-    		 iFlags.Clear( EOnline );
-    		 // Save state
-			 iUiCtl.SettingsRepository().Set( KAIWebStatus, EFalse );
-			 // Run state change.
-			 iUiCtl.FwEventHandler()->ProcessStateChange( EAifwOffline  );
-    		 }
-    	}
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::SetOnline
-// ----------------------------------------------------------------------------
-//
-void COnlineOfflineHelper::SetOnlineL( TBool aOnline )    
-    {
-    
-    // Save state
-    iUiCtl.SettingsRepository().Set( KAIWebStatus, aOnline );
-
-    if( aOnline )
-        {
-        // Run state change.
-        iUiCtl.FwEventHandler()->ProcessStateChange( EAifwOnline  );        
-        }
-    else  
-        {
-		// Run state change.
-		iUiCtl.FwEventHandler()->ProcessStateChange( EAifwOffline );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::HandleNetworkMessage
-// ----------------------------------------------------------------------------
-//
-void COnlineOfflineHelper::HandleNetworkMessage( const TNWMessages aMessage )
-    {        
-    if ( HasNetworkInfoChanged( aMessage ) )
-        {
-        // Interpret new nw state
-        TRAP_IGNORE( InterpretNWMessageL( aMessage, iInfo ) );  
-        }                       
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::InterpretNWMessage
-// ----------------------------------------------------------------------------
-//
-void COnlineOfflineHelper::InterpretNWMessageL( const TNWMessages aMessage, 
-    const TNWInfo aNWInfo )
-    {       
-    switch ( aMessage )
-        {
-        case MNWMessageObserver::ENWMessageNetworkRegistrationStatusChange:
-        case MNWMessageObserver::ENWMessageCurrentHomeZoneMessage:
-            {
-            switch ( aNWInfo.iRegistrationStatus )
-                {
-                case ENWRegisteredRoaming:
-                    if( iFlags.IsSet( EOnline ) )
-                        {
-                        // Process to offline state. 
-                        // Don't change the user selection.
-                        SetOnlineL ( EFalse );
-                        // Show roaming notification
-						CAknGlobalNote* note = CAknGlobalNote::NewLC();
-						HBufC* msg( StringLoader::LoadLC( R_QTN_HS_AUTOMATIC_OFFLINE ) );
-						note->SetSoftkeys(R_AVKON_SOFTKEYS_OK_EMPTY); 
-						note->ShowNoteL( EAknGlobalInformationNote, *msg );
-						CleanupStack::PopAndDestroy( 2, note ); // msg    
-                        }
-                    
-                    iCurrentNwStatus = aNWInfo.iRegistrationStatus;
-                    break;
-                case ENWRegisteredOnHomeNetwork:
-                	// Reset to user selection
-                	SetOnlineL(iFlags.IsSet( EOnline ) );
-                	
-                    iCurrentNwStatus = aNWInfo.iRegistrationStatus;
-                    break;                     
-                default:                        
-                    // unknown state                    
-                    iCurrentNwStatus = ENWRegistrationUnknown;
-                    break;
-                }
-            }
-        }       
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::HandleNetworkError
-// ----------------------------------------------------------------------------
-//
-void COnlineOfflineHelper::HandleNetworkError( const TNWOperation aOperation, 
-    TInt /*aErrorCode*/ )
-    {
-     switch ( aOperation )
-        {
-        case MNWMessageObserver::ENWGetNetworkProviderName:
-            iReceivedMessageFlags |= ENetworkProviderNameReceived;
-            iReceivedMessageFlags &= ~ENetworkProviderNameOk;
-            iInfo.iNPName.Zero();
-            break;
-        case MNWMessageObserver::ENWGetProgrammableOperatorName:
-            iReceivedMessageFlags |= EProgrammableOperatorInfoReceived;
-            iReceivedMessageFlags &= ~EProgrammableOperatorInfoReceivedOk;
-            iInfo.iOperatorNameInfo.iName.Zero();
-            break;
-        case MNWMessageObserver::ENWGetServiceProviderName:
-            iReceivedMessageFlags |= EServiceProviderNameReceived;
-            iReceivedMessageFlags &= ~EServiceProviderNameOk;
-            iInfo.iServiceProviderNameDisplayReq = RMobilePhone::KDisplaySPNNotRequired;
-            iInfo.iSPName.Zero();
-            iInfo.iPLMNField.Zero();
-            break;
-        default:
-            break;
-        }
-    
-    HandleNetworkMessage( TNWMessages( KErrGeneral ) );
-    }
-
-// ----------------------------------------------------------------------------
-// COnlineOfflineHelper::HasNetworkInfoChanged
-// ----------------------------------------------------------------------------
-//
-TBool COnlineOfflineHelper::HasNetworkInfoChanged( const TNWMessages aMsg )
-    {
-    TBool result( ETrue );
-    
-    // pass through
-    if ( aMsg == MNWMessageObserver::ENWMessageCurrentHomeZoneMessage   ||
-         aMsg == MNWMessageObserver::ENWMessageNetworkConnectionFailure ||
-         aMsg == MNWMessageObserver::ENWMessageCurrentCellInfoMessage   ||
-         aMsg == MNWMessageObserver::ENWMessageNetworkRegistrationStatusChange )
-        {
-        return result;
-        }
-    
-    result = ( iReceivedMessageFlags != iOldReceivedMessageFlags );
-    
-    if ( !result )
-        {
-         result = iInfo.iRegistrationStatus != iOldInfo.iRegistrationStatus;             
-        }
-
-    iOldReceivedMessageFlags = iReceivedMessageFlags;
-    iOldInfo = iInfo;
-
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// COnlineOfflineHelper::HandleActiveProfileEventL
-// ---------------------------------------------------------------------------
-//
-void COnlineOfflineHelper::HandleActiveProfileEventL(
-    TProfileEvent aProfileEvent, TInt aProfileId )                                                        
-    {
-    //Profile activated or modified.
-    if ( aProfileEvent == EProfileNewActiveProfile )         
-        {
-        if( aProfileId == KOfflineProfileId )
-            {
-            iFlags.Set( EOfflineProfile );
-            // Don't change the user selection.
-            SetOnlineL( EFalse );
-            }
-        else
-            {
-            iFlags.Clear( EOfflineProfile );
-            // Reset to user selection
-            SetOnlineL(iFlags.IsSet( EOnline ) );
-            }
-        }
-    
-    delete iHandler;
-    iHandler = NULL;
-    
-    iHandler = CProfileChangeNotifyHandler::NewL( this );        
-    }
-
- // End of file
-
--- a/idlehomescreen/xmluicontroller/src/pmodtiterator.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* 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:  DT iterator.
-*
-*/
-
-
-
-// INCLUDE FILES
-//#include    "xndomlist.h"
-#include    "xnnodeappif.h"
-
-#include    "pmodtiterator.h"
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Finds next sibling.
-// Returns NULL if there is no siblings left or there is no parent i.e this is a
-// root node
-// Returns: CXnDomNode* Pointer to the node or NULL
-//          
-// -----------------------------------------------------------------------------
-//
-
-static CXnNodeAppIf* NextSiblingL( CXnNodeAppIf& aNode )
-    {
-    CXnNodeAppIf* left( NULL );
-    CXnNodeAppIf* parent( NULL );
-    TRAP_IGNORE( parent = aNode.ParentL() );
-    if ( parent )
-        {
-        RPointerArray<CXnNodeAppIf> nodeList;
-        TRAP_IGNORE( nodeList = parent->ChildrenL() );
-        CleanupClosePushL( nodeList );
-        TInt currentIndex( nodeList.Find( &aNode ) );
-        TInt nextIndex( ++currentIndex );
-        TInt length( nodeList.Count() );
-        if ( nextIndex < length )  
-            {
-            left = nodeList[ nextIndex ];
-            }
-        CleanupStack::PopAndDestroy( &nodeList );
-        }
-    return left;     
-    }
-    
-    
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPmODTIterator::CPmODTIterator( CXnNodeAppIf& aRootNode  ):
-    iFirst(&aRootNode), iCurrent(&aRootNode)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPmODTIterator::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// NewL
-// -----------------------------------------------------------------------------
-//
-CPmODTIterator* CPmODTIterator::NewL( CXnNodeAppIf& aRootNode )
-    {
-    CPmODTIterator* self = new( ELeave ) CPmODTIterator( aRootNode );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CPmODTIterator::~CPmODTIterator()
-    {
-    iDepthLevel.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// First node
-// -----------------------------------------------------------------------------
-//
-CXnNodeAppIf* CPmODTIterator::First()
-    {
-    return iFirst;
-    }
-    
-// -----------------------------------------------------------------------------
-// Next node
-// -----------------------------------------------------------------------------
-//
-CXnNodeAppIf* CPmODTIterator::NextL()
-    {
-    CXnNodeAppIf* firstChild( NULL );     
-    
-    //Initialise iCurrent if the whole tree has been walked through 
-    if (!iCurrent) 
-        {
-        iCurrent = iFirst;
-        }
-    RPointerArray<CXnNodeAppIf> children = iCurrent->ChildrenL();
-    if( children.Count() > 0 )
-        {
-        firstChild = children[0];
-        }
-    children.Close();
-        
-    // Current node has childs left
-    if (firstChild)
-        {
-        //Keep count of depth level
-        PushL( *iCurrent );
-        iCurrent = firstChild;
-        }
-    else //If current node has siblings left
-        {
-        SkipBranchL();
-        }
-    return iCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-// SkipBranch
-// -----------------------------------------------------------------------------
-//
-CXnNodeAppIf* CPmODTIterator::SkipBranchL()
-    {
-    CXnNodeAppIf* sibling = NextSiblingL(*iCurrent);
-    if(sibling)
-        {
-        iCurrent = sibling;    
-        }
-    else //Current node don't have any childs or siblings left
-        {
-        // Reverse the tree by moving up in hierarchy
-        // Move up one level in hierarchy and check if siblings exists or we are in a 
-        // root level
-        TBool stop( EFalse );
-        while( !stop && iDepthLevel.Count() )
-            {
-            iCurrent = Pop();                   //Reach the previous level
-            sibling = NextSiblingL( *iCurrent ); //Check if siblings exist
-            if ( sibling && iDepthLevel.Count() )
-                {
-                iCurrent = sibling;
-                stop = ETrue;
-                }
-            else                                //We didn't find any siblings
-                {
-                iCurrent = NULL;
-                }
-            }
-        }
-    return iCurrent;
-    }
-    
-// -----------------------------------------------------------------------------
-// Push node into stack.
-// -----------------------------------------------------------------------------
-//
-void CPmODTIterator::PushL( CXnNodeAppIf& aNode )
-    {
-    iDepthLevel.AppendL( &aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// Pop node from stack.
-// -----------------------------------------------------------------------------
-//
-CXnNodeAppIf* CPmODTIterator::Pop()
-    {
-    CXnNodeAppIf* pop = NULL;
-    TInt count( iDepthLevel.Count() );
-    if ( count )
-        {
-        pop = iDepthLevel[ count-1 ];
-        iDepthLevel.Remove( count-1 );
-        }
-    return pop;    
-    }
--- a/idlehomescreen/xmluicontroller/src/policyevaluator.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,514 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Policy evaluator
-*
-*/
-
-
-#include "xnnodeappif.h"
-#include "xnproperty.h"
-#include "xnuiengineappif.h"
-#include "policyevaluator.h"
-#include "aipolicyelement.h"
-#include "aixmluiutils.h"
-#include "aistrcnv.h"
-#include "aixmluiconstants.h"
-
-namespace
-    {
-
-    void ReplaceCharacters( TDes8& aDes,
-                            TChar aOriginal,
-                            TChar aNew )
-        {
-        if ( aDes.Length() == 0 )
-            {
-            return;
-            }
-
-        TPtr8 des = aDes.MidTPtr(0);
-        TInt pos = des.Locate( aOriginal );
-
-        while ( pos != KErrNotFound )
-            {
-            des[ pos++ ] = aNew;
-
-            if ( pos == des.Length() )
-                {
-                break;
-                }
-
-            des.Set( des.MidTPtr( pos ) );
-            pos = des.Locate( aOriginal );
-            }
-        }
-
-    }
-
-using namespace AiXmlUiController;
-
-enum EAI2Policies
-    {
-    KAI2PolUnset = 0,
-    KAI2PolShow,
-    KAI2PolHide,
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-CPolicyEvaluator::CPolicyEvaluator()
-    {
-    }
-
-
-void CPolicyEvaluator::ConstructL()
-    {
-    }
-
-
-CPolicyEvaluator* CPolicyEvaluator::NewL()
-    {
-    CPolicyEvaluator* self = new( ELeave ) CPolicyEvaluator;
-    return self;
-    }
-
-
-CPolicyEvaluator::~CPolicyEvaluator()
-    {
-    }
-
-void CPolicyEvaluator::EvaluateContentPolicyL( CXnNodeAppIf& aTarget,
-                                               RAiPolicyElementArray& aPolicyArray )
-    {
-    EvaluatePolicyL( aTarget,
-                     aPolicyArray,
-                     AiUiDef::xml::policy::KContent );
-    }
-
-void CPolicyEvaluator::EvaluateEmptyContentPolicyL( CXnNodeAppIf& aTarget,
-                                                    RAiPolicyElementArray& aPolicyArray )
-    {
-    EvaluatePolicyL( aTarget,
-                     aPolicyArray,
-                     AiUiDef::xml::policy::KEmptyContent );
-    }
-
-void CPolicyEvaluator::EvaluateVisibilityPolicyL( CXnNodeAppIf& aTarget,
-                                                  RAiPolicyElementArray& aPolicyArray )
-    {
-    EvaluatePolicyL( aTarget,
-                     aPolicyArray,
-                     AiUiDef::xml::policy::KVisibilityPolicy );
-    }
-
-void CPolicyEvaluator::EvaluateContentChangedPolicyL( CXnNodeAppIf& aTarget,
-                                                  RAiPolicyElementArray& aPolicyArray )
-    {
-    EvaluatePolicyL( aTarget,
-                     aPolicyArray,
-                     AiUiDef::xml::policy::KContentChanged );
-    }
-
-void CPolicyEvaluator::EvaluateResourcePolicyL( CXnNodeAppIf& aTarget,
-                                                CXnNodeAppIf& aResource,
-                                                RAiPolicyElementArray& aPolicyArray )
-    {
-    RPointerArray< CXnNodeAppIf > policyArray =
-        FindPropertyElementL( aTarget,
-                              AiUiDef::xml::policy::KResource );
-
-    CleanupClosePushL( policyArray );
-
-    aPolicyArray.ReserveL( aPolicyArray.Count() + policyArray.Count() );
-
-    for ( TInt i = 0; i < policyArray.Count(); ++i )
-        {
-        CXnNodeAppIf* property = policyArray[ i ];
-
-        // Get name property to lookup target ui element
-        const TDesC8* name = PropertyValue( *property,
-                                      AiUiDef::xml::property::KName );
-                
-        CXnNodeAppIf* target = NULL;
-        if( name )
-            {
-            // Lookup target ui element
-            target = property->UiEngineL()->FindNodeByIdL( *name, property->Namespace() );
-            }
-
-        if ( !target )
-            {
-            // No target found. Continue with next property
-            continue;
-            }
-
-        const TDesC8* value = PropertyValue( *property,
-                                             AiUiDef::xml::property::KValue );
-
-        if ( !value )
-            {
-            // No value found. Continue with next property
-            continue;
-            }
-
-        // Check if resource matches condition
-        const TDesC8* id = PropertyValue( aResource,
-                                          XnPropertyNames::common::KId );
-
-        if ( !id )
-            {
-            continue;
-            }
-
-        TInt conditionEnd = value->Locate( KRightParenthesis );
-
-        if ( conditionEnd++ < 0 )
-            {
-            continue;
-            }
-
-        TPtrC8 condition( value->Left( conditionEnd ) );
-        TPtrC8 cssValue( value->Mid( conditionEnd ) );
-
-        HBufC8* condBuffer = condition.AllocL();
-        TPtr8 condPtr = condBuffer->Des();
-        ReplaceCharacters( condPtr, KLeftParenthesis, KWhiteSpace );
-        ReplaceCharacters( condPtr, KComma, KWhiteSpace );
-        ReplaceCharacters( condPtr, KRightParenthesis, KWhiteSpace );
-
-        if ( MatchCondition( *id, condPtr ) )
-            {
-            // Append target and value.
-            // This cannot fail because space has been reserved.
-            aPolicyArray.Append( TAiPolicyElement( *target, cssValue ) );
-            }
-
-        delete condBuffer;
-        }
-
-    CleanupStack::PopAndDestroy( &policyArray );
-    }
-
-void CPolicyEvaluator::EvaluatePolicyL( CXnNodeAppIf& aTarget,
-                                        RAiPolicyElementArray& aPolicyArray,
-                                        const TDesC8& aPolicyClass )
-    {
-    RPointerArray< CXnNodeAppIf > policyArray =
-        FindPropertyElementL( aTarget,
-                              aPolicyClass );
-
-    CleanupClosePushL( policyArray );
-
-    aPolicyArray.ReserveL( aPolicyArray.Count() + policyArray.Count() );
-
-    for ( TInt i = 0; i < policyArray.Count(); ++i )
-        {
-        CXnNodeAppIf* property = policyArray[ i ];
-
-        // Get name property to lookup target ui element
-        const TDesC8* name = PropertyValue( *property,
-                                      AiUiDef::xml::property::KName );
-                
-        CXnNodeAppIf* target = NULL;
-        if( name )
-            {
-            // Lookup target ui element
-            target = property->UiEngineL()->FindNodeByIdL( *name, property->Namespace() );
-            }
-
-        if ( !target )
-            {
-            // No target found. Continue with next property
-            continue;
-            }
-
-        const TDesC8* value = PropertyValue( *property,
-                                             AiUiDef::xml::property::KValue );
-
-        if ( !value )
-            {
-            // No value found. Continue with next property
-            continue;
-            }
-
-        if( aPolicyClass == AiUiDef::xml::policy::KVisibilityPolicy )
-            {
-            TInt conditionEnd = value->Locate( KRightParenthesis );
-
-            if ( conditionEnd++ < 0 )
-                {
-                continue;
-                }
-
-            TPtrC8 condition( value->Left( conditionEnd ) );
-            TPtrC8 cssValue( value->Mid( conditionEnd ) );
-
-            HBufC8* condBuffer = condition.AllocLC();
-            TPtr8 condPtr = condBuffer->Des();
-            ReplaceCharacters( condPtr, KLeftParenthesis, KWhiteSpace );
-            ReplaceCharacters( condPtr, KComma, KWhiteSpace );
-            ReplaceCharacters( condPtr, KRightParenthesis, KWhiteSpace );
-
-            if ( MatchVisibilityConditionL( condPtr, *property, aPolicyArray ) )
-                {
-                // Append target and value.
-                // This cannot fail because space has been reserved.
-                aPolicyArray.Append( TAiPolicyElement( *target, cssValue ) );
-                }
-
-            CleanupStack::PopAndDestroy( condBuffer );
-            }
-        else
-            {
-            // Append target and value.
-            // This cannot fail because space has been reserved.
-            aPolicyArray.Append( TAiPolicyElement( *target, *value ) );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &policyArray );
-    }
-
-TBool CPolicyEvaluator::MatchCondition( const TDesC8& aId,
-                                        const TDesC8& aCondition )
-    {
-    TBool negation = EFalse;
-
-    TLex8 parser( aCondition );
-
-    if ( parser.NextToken() == AiUiDef::xml::policy::KCondition )
-        {
-        // Condition found
-        parser.SkipSpace();
-
-        // check negation
-        if ( parser.Get() == KNotOperator )
-            {
-            negation = ETrue;
-            }
-        else
-            {
-            parser.UnGet();
-            }
-
-        parser.SkipSpace();
-
-        TBool found = EFalse;
-
-        // Find id from the list. Stop when found or in the end of string.
-        while ( !parser.Eos() )
-            {
-            if ( parser.NextToken() == aId )
-                {
-                found = ETrue;
-                break;
-                }
-            }
-
-        // Test if id matches the given condition
-        return ( ( found && !negation ) || ( !found && negation ) ); // found XOR negation
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    }
-
-TBool CPolicyEvaluator::MatchVisibilityConditionL( const TDesC8& aCondition,
-                                                  CXnNodeAppIf& aProperty,
-                                                  RAiPolicyElementArray& aPolicyArray )
-    {
-    TBool negation = EFalse;
-    TBool andOperation = EFalse;
-    TInt nodesVisible = 0; // for managing the end of 'or' op.
-
-    TLex8 parser( aCondition );
-
-    if ( parser.NextToken() == AiUiDef::xml::policy::KCondition )
-        {
-        // Condition found
-        parser.SkipSpace();
-
-        // check negation
-        if ( parser.Get() == KNotOperator )
-            {
-            negation = ETrue;
-            }
-        else
-            {
-            parser.UnGet();
-            }
-
-        if ( parser.Get() == KAndOperator )
-            {
-            andOperation = ETrue;
-            }
-        else
-            {
-            parser.UnGet();
-            }
-
-        parser.SkipSpace();
-
-        // Determine aCondition lists visibilities. Stop when:
-        //     - Eos reached
-        //     - First 'false' in 'and' op
-        //     - First 'true' in 'or' op
-        while ( !parser.Eos() )
-            {
-            TPtrC8 id( parser.NextToken() );
-            CXnNodeAppIf* target = NULL;
-            TBool nodeVisible = EFalse;
-
-            TBool displayBlockSet = KAI2PolUnset;
-            TBool visibilityVisibleSet = KAI2PolUnset;
-
-            // Lookup target ui element
-            target = aProperty.UiEngineL()->FindNodeByIdL( id, aProperty.Namespace() );
-
-            if( target )
-                {
-                // first try to first the display or visibility property updates from policy array
-                for( TInt i = 0; i < aPolicyArray.Count(); ++i )
-                    {
-                    if( &(aPolicyArray[i].Target()) == target )
-                        {
-                        if( aPolicyArray[i].Name() == XnPropertyNames::style::common::KDisplay )
-                            {
-                            if( aPolicyArray[i].Value() ==
-                                    XnPropertyNames::style::common::display::KBlock )
-                                {
-                                displayBlockSet = KAI2PolShow;
-                                }
-                            else if( aPolicyArray[i].Value() ==
-                                    XnPropertyNames::style::common::display::KNone )
-                                {
-                                displayBlockSet = KAI2PolHide;
-                                }
-                            }
-                        if( aPolicyArray[i].Name() == XnPropertyNames::style::common::KVisibility )
-                            {
-                            if( aPolicyArray[i].Value() ==
-                                    XnPropertyNames::style::common::visibility::KVisible )
-                                {
-                                visibilityVisibleSet = KAI2PolShow;
-                                }
-                            else if( aPolicyArray[i].Value() ==
-                                    XnPropertyNames::style::common::visibility::KHidden )
-                                {
-                                visibilityVisibleSet = KAI2PolHide;
-                                }
-                            }
-                        }
-                    }
-
-                HBufC* displayPropertyValue = NULL;
-                if( !displayBlockSet )
-                    {
-                    // Only check CSS if policy array did not set the value
-                    displayPropertyValue = PropertyValueL(
-                                            *target,
-                                            XnPropertyNames::style::common::KDisplay );
-                    CleanupStack::PushL( displayPropertyValue );
-
-                    if( displayPropertyValue )
-                        {
-                        HBufC8* buf8 = NULL;
-                        buf8 = AiUtility::CopyToBufferL( buf8, *displayPropertyValue );
-                        if( buf8 )
-                            {
-                            if( *buf8 == XnPropertyNames::style::common::display::KBlock )
-                                {
-                                displayBlockSet = KAI2PolShow;
-                                }
-                            else
-                                {
-                                displayBlockSet = KAI2PolHide;
-                                }
-                            delete buf8;
-                            }
-                        }
-                    CleanupStack::PopAndDestroy( displayPropertyValue );
-                    }
-
-                if( !visibilityVisibleSet )
-                    {
-                    displayPropertyValue = PropertyValueL(
-                                            *target,
-                                            XnPropertyNames::style::common::KVisibility );
-                    CleanupStack::PushL( displayPropertyValue );
-
-                    if( displayPropertyValue )
-                        {
-                        // only if visiblity property is set we affect nodeVisible variable
-                        HBufC8* buf8 = NULL;
-                        buf8 = AiUtility::CopyToBufferL( buf8, *displayPropertyValue );
-                        if( buf8 )
-                            {
-                            if( *buf8 == XnPropertyNames::style::common::visibility::KVisible )
-                                {
-                                visibilityVisibleSet = KAI2PolShow;
-                                }
-                            else
-                                {
-                                visibilityVisibleSet = KAI2PolHide;
-                                }
-                            delete buf8;
-                            }
-                        }
-                    CleanupStack::PopAndDestroy( displayPropertyValue );
-                    }
-                }
-
-            // At least one value has to be 'not unset'
-            // and neither can be 'hide'
-            if( ( displayBlockSet || visibilityVisibleSet ) &&
-                ( ( displayBlockSet != KAI2PolHide ) &&
-                  ( visibilityVisibleSet != KAI2PolHide ) ) )
-                {
-                nodeVisible = ETrue;
-                }
-
-            if( nodeVisible )
-                {
-                ++nodesVisible;
-                if( !andOperation && !negation )
-                    {
-                    // 'Or' ends to first true
-                    // 'Not and' ends to first true
-                    return ETrue;
-                    }
-                }
-            else if( !nodeVisible && andOperation && !negation )
-                {
-                // 'And' ends to first false
-                return EFalse;
-                }
-
-            parser.SkipSpace();
-            }
-        if( nodesVisible > 0 && !negation )
-            {
-            return ETrue;
-            }
-        if( nodesVisible == 0 && negation )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// End of file.
--- a/idlehomescreen/xmluicontroller/src/psobserver.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Observer for changes in Publish & Subscribe keys
-*
-*/
-
-
-#include "psobserver.h"
-#include "mpscallback.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-using namespace AiXmlUiController;
-
-CPSObserver::CPSObserver( MPSCallback& aCallback, TUid aCategory, TInt aKey ) :
-    CActive( CActive::EPriorityStandard ),
-	iCallback( aCallback ),	
-	iCategory( aCategory ), 
-	iKey( aKey )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-CPSObserver* CPSObserver::NewL( MPSCallback& aCallback, TUid aCategory, TInt aKey )
-    {
-    CPSObserver* self = new( ELeave ) CPSObserver( aCallback, aCategory, aKey );
-    CleanupStack::PushL( self );
-    self->ConstructL();    
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-CPSObserver::~CPSObserver()
-    {
-    Cancel();
-    }
-
-void CPSObserver::ConstructL()
-    {
-    // subscribe for changes
-    User::LeaveIfError( iProperty.Attach( iCategory, iKey ) );
-    iProperty.Subscribe( iStatus );
-    SetActive();
-    }
-
-void CPSObserver::RunL()
-	{
-    iProperty.Subscribe( iStatus );
-    SetActive();
-
-    TInt value;
-    if( iProperty.Get( iCategory, iKey, value ) != KErrNotFound )
-        {
-		iCallback.ValueUpdatedL( iKey, value );
-        }
-	}
-
-TInt CPSObserver::RunError()
-	{
-	Cancel();
-	return KErrNone;		
-	}
-
-void CPSObserver::DoCancel()
-	{
-    iProperty.Close();
-	}
-
-TInt CPSObserver::GetValue( TInt &aValue ) const
-    {
-    return iProperty.Get( iCategory, iKey, aValue );
-    }
-
-
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/texttransactionelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Text transaction element
-*
-*/
-
-
-#include    "texttransactionelement.h"
-#include    "aixmluiutils.h"
-
-#include    "xntype.h"
-#include    "xnproperty.h"
-#include    "xntext.h"
-#include    "xnmenuadapter.h"
-#include    "xnnewsticker.h"
-//#include    <xnmarquee.h>
-#include    "mxncomponentinterface.h"
-#include    "xnnodeappif.h"
-#include    "xnuiengineappif.h"
-#include    "xnproperty.h"
-#include    "xndompropertyvalue.h"
-#include    "xnvolumecontrol.h"
-#include    "aistrcnv.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-using namespace AiXmlUiController;
-using namespace XnTextInterface;
-
-CTextTransactionElement::CTextTransactionElement(AiUtility::CContentPriorityMap& aContentPriorityMap)
-    : CTransactionElement(aContentPriorityMap)
-    {
-    }    
-
-CTextTransactionElement* CTextTransactionElement::NewL(AiUtility::CContentPriorityMap& aContentPriorityMap)
-    {
-    CTextTransactionElement* self = new( ELeave ) CTextTransactionElement(aContentPriorityMap);
-    
-    return self;
-    }
-
-CTextTransactionElement::~CTextTransactionElement()
-    {
-    if (iNewText)
-        {
-        delete iNewText;
-        iNewText = NULL;
-        }
-    }
-
-void CTextTransactionElement::InitializeL( CXnNodeAppIf& aTarget, const TDesC& aText )
-    {
-    CheckTypeL( aTarget );
-    SetTarget( aTarget );
-    
-    if (iNewText)
-        {
-        delete iNewText;
-        iNewText = NULL;
-        }
-    iNewText = aText.AllocL();    
-    }
-
-void CTextTransactionElement::UpdateDataL()
-    {
-    // Set new text
-    SetTextL();
-    
-    // Update content priority
-    UpdateContentPriorityL();
-    }
-    
-void CTextTransactionElement::Reset()
-    {
-    CTransactionElement::Reset();
-    
-    
-    if (iNewText)   
-        {
-        delete iNewText;
-        iNewText = NULL;
-        }
-    }
-
-TBool CTextTransactionElement::IsSupported( CXnNodeAppIf& aTarget )
-    {
-    CXnType* typeInfo = aTarget.Type();
-    
-    if ( !typeInfo )
-        {
-        return EFalse;
-        }
-    
-    const TDesC8& type = typeInfo->Type();
-    
-    // Text element, menu item, newsticker, and marquee supported
-    return ( type == XnTextInterface::MXnTextInterface::Type() ||
-             type == KXnMenuItem ||
-             type == KXnMenu ||
-             type == XnPropertyNames::softkey::KNodeName || 
-             type == XnPropertyNames::volumecontrol::KSlider /*||
-             type == XnNewstickerInterface::MXnNewstickerInterface::Type() ||
-             type == XnMarqueeInterface::MXnMarqueeInterface::Type() */);
-    }
-
-void CTextTransactionElement::CheckTypeL( CXnNodeAppIf& aTarget )
-    {
-    if ( !IsSupported( aTarget ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-
-void CTextTransactionElement::SetTextL()
-    {
-    // Get type info
-    const TDesC8& type = LeaveIfNull( Target().Type(), KErrNotSupported )->Type();
-    
-    if ( type == XnTextInterface::MXnTextInterface::Type() ) // text element
-        {
-        // Get control interface
-        XnTextInterface::MXnTextInterface* textControl = NULL;
-        XnComponentInterface::MakeInterfaceL( textControl, Target() );
-        LeaveIfNull( textControl, KErrNotSupported );
-        
-        // Set text
-        
-        textControl->SetTextL( *iNewText );
-        }
-       
- // Menu softkey texts
-    else if ( type == XnPropertyNames::softkey::KNodeName)
-        {
-        CXnNodeAppIf& target = Target();
-        // Set the label of the softkey
-        CXnDomPropertyValue* propertyValue =
-            CXnDomPropertyValue::NewL( &target.UiEngineL()->StringPool() );
-    
-        CleanupStack::PushL( propertyValue );
-    
-        // Convert unicode to UTF-8
-        HBufC8* textBuf = NULL;
-        
-        textBuf = AiUtility::CopyToBufferL( textBuf, *iNewText );
-        CleanupStack::PushL( textBuf );
-        
-        propertyValue->SetStringValueL( CXnDomPropertyValue::EString,
-                                        *textBuf );
-    
-        CleanupStack::PopAndDestroy( textBuf );
-        
-        CXnProperty* newProperty = CXnProperty::NewL( XnPropertyNames::menu::KLabel,
-                                                      propertyValue,
-                                                      target.UiEngineL()->StringPool() );
-        CleanupStack::Pop( propertyValue );
-        
-        CleanupStack::PushL( newProperty );
-
-        target.SetPropertyL( newProperty );
-        
-        CleanupStack::Pop( newProperty );
-        target.UiEngineL()->RefreshMenuL(); 
-       
-        }            
-        
-    else if ( type == XnPropertyNames::volumecontrol::KSlider ) // slider
-        {
-        // Get volume control interface
-        XnVolumeControlInterface::MXnVolumeControlInterface* volumeControl = NULL;
-        XnComponentInterface::MakeInterfaceL( volumeControl, Target() );
-        LeaveIfNull( volumeControl, KErrNotSupported );
-        
-        TInt32 volume = 0;
-        
-        User::LeaveIfError( AiUtility::ParseInt( volume, *iNewText ) );
-        volumeControl->SetValue( volume );
-        }
-/*    else if ( type == XnNewstickerInterface::MXnNewstickerInterface::Type() )
-        {
-        // Get Newsticker control interface
-        XnNewstickerInterface::MXnNewstickerInterface* newsTicker = NULL;
-        XnComponentInterface::MakeInterfaceL( newsTicker, Target() );
-        LeaveIfNull( newsTicker, KErrNotSupported );
-        
-        // Append new title
-        newsTicker->ClearTitles();
-        newsTicker->AppendTitleL( iNewText );
-        }
-    else if ( type == XnMarqueeInterface::MXnMarqueeInterface::Type() )
-        {
-        // Get marquee interface
-        XnMarqueeInterface::MXnMarqueeInterface* marquee = NULL;
-        XnComponentInterface::MakeInterfaceL( marquee, Target() );
-        LeaveIfNull( marquee, KErrNotSupported );
-        
-        // Set new text
-        marquee->SetTextL( iNewText );
-        }*/
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-    
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/transaction.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction base class
-*
-*/
-
-
-#include    "transaction.h"
-#include    "transactionelement.h"
-#include    "transactionfactory.h"
-#include    "xmluicontrollerpanic.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-using namespace AiXmlUiController;
-
-CTransaction::CTransaction()
-    : iTransactionElements(CTransactionElement::LinkOffset())
-    {
-    }
-
-CTransaction* CTransaction::NewL()
-    {
-    CTransaction* self = new( ELeave ) CTransaction;
-    
-    return self;
-    }
-    
-CTransaction::~CTransaction()
-    {
-    __ASSERT_DEBUG( iTransactionElements.IsEmpty(), Panic( ETransactionElementListNotEmpty ) );
-    }
-
-TInt CTransaction::Id() const
-    {
-    return iTxId;
-    }
-    
-void CTransaction::Initialize(TInt aTxId)
-    {
-    iTxId = aTxId;
-    }
-    
-void CTransaction::Append(MTransactionElement& aElement )
-    {
-    iTransactionElements.AddLast(dynamic_cast<CTransactionElement&>(aElement));
-    }
-    
-void CTransaction::CommitL( TBool& aLayoutChanged, RPropertyHashMap& aPropertyHashMap )
-    {
-    aLayoutChanged = EFalse;
-        
-    if ( iTransactionElements.IsEmpty() )
-        {
-        // Nothing to do
-        return;
-        }
-    
-    // Initialize iterator
-    TDblQueIter<CTransactionElement> iter( iTransactionElements );
-    iter.SetToFirst();
-
-    // Commit transaction elements    
-    while ( iter )
-        {
-        // Commit element and advance iterator 
-        (iter++)->CommitL( aLayoutChanged, aPropertyHashMap );
-        }
-    }
-
-void CTransaction::Reset(MTransactionFactory& aFactory)
-    {
-    Deque();
-    iTxId = 0;
-    
-    TDblQueIter<CTransactionElement> iter( iTransactionElements );
-    iter.SetToFirst();
-    
-    while ( iter )
-        {
-        CTransactionElement* element = iter++;
-        aFactory.ReleaseTransactionElement( element );
-        }
-        
-    __ASSERT_DEBUG( iTransactionElements.IsEmpty(), Panic( ETransactionElementListNotEmpty ) );
-    }
-
-TDblQueIter<CTransactionElement> CTransaction::ElementIter()
-    {
-    TDblQueIter<CTransactionElement> iter( iTransactionElements );
-    iter.SetToFirst();
-    return iter;
-    }
-
-void CTransaction::Deque()
-    {
-    iLink.Deque();
-    }
-
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/transactionelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* Copyright (c) 2005-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:  ?Description
-*
-*/
-
-
-#include    "xnnodeappif.h"
-#include    "xnuiengineappif.h"
-#include    "xnproperty.h"
-
-#include    "transactionelement.h"
-#include    "xmluicontrollerpanic.h"
-#include    "aixmluiutils.h"
-#include    "aixmluiconstants.h"
-
-#include    "contentprioritymap.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-using namespace AiXmlUiController;
-using namespace AiUiDef::xml;
-
-/**
- * Template method implementation
- */
-void MTransactionElement::CommitL( TBool& aLayoutChanged, RPropertyHashMap& aPropertyHashMap )
-    {
-    // Update UI element data
-    UpdateDataL();
-    
-    // Update CSS properties
-    ApplyPublishingPolicy( aLayoutChanged, aPropertyHashMap );
-    }
-
-CTransactionElement::CTransactionElement( AiUtility::CContentPriorityMap& aContentPriorityMap )
-    : iContentPriorityMap( aContentPriorityMap ),
-      iContentPriority( KErrNotFound )
-    {
-    }
-
-CTransactionElement::~CTransactionElement()
-    {
-    }
-    
-void CTransactionElement::Reset()
-    {
-    iTarget = NULL;
-    
-    iContentPriority = KErrNotFound;
-    
-    iElementLink.Deque();
-    
-    iPolicyArray.Reset();
-    }
-    
-RAiPolicyElementArray& CTransactionElement::PolicyArray()
-    {
-    return iPolicyArray;
-    }
-
-void CTransactionElement::SetContentPriority( TInt aPriority )
-    {
-    iContentPriority = aPriority;
-    }
-
-void CTransactionElement::SetCssPropertyMap( CCssPropertyMap* aPropertyMap )
-    {
-    iPropertyMap = aPropertyMap;
-    }
-
-void CTransactionElement::SetTarget(CXnNodeAppIf& aTarget)
-    {
-    __ASSERT_DEBUG( !iTarget, Panic( ETargetNodeNotNull ) );
-    iTarget = &aTarget;
-    }
-
-void CTransactionElement::ApplyPublishingPolicy( TBool& aLayoutChanged, RPropertyHashMap& aPropertyHashMap )
-    {
-    // Ignore errors if CSS property could not be modified
-    TRAP_IGNORE( DoApplyPublishingPolicyL( aLayoutChanged, aPropertyHashMap ) );
-    }
-            
-void CTransactionElement::DoApplyPublishingPolicyL( TBool& aLayoutChanged, RPropertyHashMap& aPropertyHashMap )
-    {
-    RArray<CXnNodeAppIf*> targetArray;
-    CleanupClosePushL( targetArray );
-    
-    for ( TInt i = 0; i < iPolicyArray.Count() && iPropertyMap; ++i )
-        {
-        TAiPolicyElement& element = iPolicyArray[ i ];
-        
-        RArray<TAiPolicyElement> elementArray;
-        CleanupClosePushL( elementArray );
-        
-        TBool found = EFalse;
-        for( TInt i2 = 0; i2 < targetArray.Count(); ++i2 )
-            {
-            // find from target array
-            if( targetArray[i2] == &(element.Target()) )
-                {
-                found = ETrue;
-                break;
-                }
-            }
-            
-        if( !found )
-            {
-            // Mark this target to be processed
-            targetArray.Append( &(element.Target()) );
-            
-            for( TInt i3 = 0; i3 < iPolicyArray.Count(); ++i3 )
-                {
-                TAiPolicyElement& element2 = iPolicyArray[ i3 ];
-                // find form target array
-                if( &(element.Target()) == &(element2.Target()) )
-                    {
-                    elementArray.Append( element2 );
-                    }
-                }
-                
-            SetPropertiesToHashMapL( elementArray, *iPropertyMap, aPropertyHashMap );
-            
-            }
-        
-        CleanupStack::PopAndDestroy(); // elementArray    
-            
-        /*SetPropertyL( element.Target(),
-                      element.Name(),
-                      element.Value(),
-                      *iPropertyMap );*/
-        }
-    
-    CleanupStack::PopAndDestroy(); // targetArray
-    
-    if ( iPolicyArray.Count() > 0 )
-        {
-        aLayoutChanged |= ETrue;
-        }
-    }
-    
-CXnNodeAppIf& CTransactionElement::Target() const
-    {
-    __ASSERT_DEBUG( iTarget, Panic( ETargetNodeNull ) );
-    return *iTarget;
-    }
-
-void CTransactionElement::UpdateContentPriorityL()
-    {
-    if ( iTarget && iContentPriority > KErrNotFound ) // Clear must be done with ClearContentPriority
-        {
-        const TDesC8* uiElementId = LeaveIfNull( PropertyValue( 
-                                                        *iTarget,
-                                                        XnPropertyNames::common::KId ),
-                                           KErrGeneral );
-    
-        User::LeaveIfError( iContentPriorityMap.SetCurrentPriority(
-                                                        *uiElementId,
-                                                        iContentPriority ) );
-        }
-    }
-            
-void CTransactionElement::ClearContentPriorityL()
-    {
-    if( iTarget )
-        {
-        const TDesC8* uiElementId = LeaveIfNull( PropertyValue(
-                                                            *iTarget,
-                                                            XnPropertyNames::common::KId ),
-                                           KErrGeneral );
-        
-        iContentPriorityMap.ClearPriority( *uiElementId );
-        }
-    }
-    
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/transactionfactoryimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,337 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Transaction factory implementation
-*
-*/
-
-
-#include    "transactionfactoryimpl.h"
-
-#include    "transaction.h"
-#include    "texttransactionelement.h"
-#include    "databuffertransactionelement.h"
-#include    "imagetransactionelement.h"
-#include    "emptycontenttransactionelement.h"
-#include    "newstickertransactionelement.h"
-#include    "aixmluiconstants.h"
-
-using namespace AiXmlUiController;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-CTransactionFactoryImpl::CTransactionFactoryImpl(
-                            AiUtility::CContentPriorityMap& aContentPriorityMap,
-                            CCssPropertyMap& aPropertyMap )
-    : iAvailableTransactions( CTransaction::FactoryLinkOffset() ),
-      iReservedTransactions( CTransaction::FactoryLinkOffset() ),
-      iAvailableElements( CTransactionElement::FactoryLinkOffset() ),
-      iReservedElements( CTransactionElement::FactoryLinkOffset() ),
-      iContentPriorityMap( aContentPriorityMap ),
-      iPropertyMap( aPropertyMap )
-    {
-    }
-
-CTransactionFactoryImpl* CTransactionFactoryImpl::NewL(
-                            AiUtility::CContentPriorityMap& aContentPriorityMap,
-                            CCssPropertyMap& aPropertyMap )
-    {
-    CTransactionFactoryImpl* self =
-                new( ELeave ) CTransactionFactoryImpl( aContentPriorityMap,
-                                                       aPropertyMap );
-    
-    return self;
-    }
-    
-CTransactionFactoryImpl::~CTransactionFactoryImpl()
-    {
-    // Delete transaction objects
-    DeleteTransactionList( iAvailableTransactions );
-    DeleteTransactionList( iReservedTransactions );
-    
-    // Delete transaction elements
-    DeleteElementList( iAvailableElements );
-    DeleteElementList( iReservedElements );
-    }
-
-MTransaction* CTransactionFactoryImpl::CreateTransactionL( TInt aTxId )
-    {
-    CTransaction* tr = NULL;
-    
-    if ( iAvailableTransactions.IsEmpty() ) // No free transactions
-        {
-        tr = CTransaction::NewL();
-        }
-    else
-        {
-        // Take first available transaction and remove from queue
-        tr = iAvailableTransactions.First();
-        iAvailableTransactions.Remove( *tr );
-        }
-    
-    // Initialize with id
-    tr->Initialize(aTxId);
-    
-    // Reserve
-    iReservedTransactions.AddFirst( *tr );
-
-    return tr;
-    }
-            
-void CTransactionFactoryImpl::ReleaseTransaction( MTransaction* aTransaction )
-    {
-    CTransaction* tr = dynamic_cast< CTransaction* >( aTransaction );
-    if ( tr )
-        {
-        // Reset transaction for reuse
-        tr->Reset( *this );
-        
-        // Deque from reserved list
-        iReservedTransactions.Remove( *tr );
-        
-        // Enque to available list
-        iAvailableTransactions.AddFirst( *tr );
-        }
-    }
-
-MTransactionElement* CTransactionFactoryImpl::CreateTextTransactionElementL(
-    CXnNodeAppIf& aTarget,
-    const TDesC& aText,
-    TInt aPriority )
-    {
-    // Instantiate new element
-    CTextTransactionElement* element = NewInstanceL< CTextTransactionElement >();
-    
-    CleanupStack::PushL( element );
-    
-    // Initialize element
-    element->InitializeL( aTarget, aText );
-    
-    CleanupStack::Pop( element );
-    
-    // Reserve
-    iReservedElements.AddLast( *element );
-    
-    // Set content priority
-    element->SetContentPriority( aPriority );
-    
-    return element;
-    }
-
-MTransactionElement*
-    CTransactionFactoryImpl::CreateDataBufferTransactionElementL(
-        CXnNodeAppIf& aTarget,
-        const TDesC8& aData,
-        TInt aPriority )
-    {
-    // Instantiate element
-    CDataBufferTransactionElement* element = NewInstanceL< CDataBufferTransactionElement >();
-    CleanupStack::PushL( element );
-    
-    // Initialize
-    element->InitializeL( aTarget, aData );
-    CleanupStack::Pop( element );
-    
-    // Reserve
-    iReservedElements.AddLast( *element );
-    
-    // Set content priority
-    element->SetContentPriority( aPriority );
-    
-    return element;
-    }    
-
-MTransactionElement*
-    CTransactionFactoryImpl::CreateEmptyContentTransactionElementL(
-        CXnNodeAppIf& aTarget,
-        TInt aIndex)
-    {
-    // Instantiate
-    CEmptyContentTransactionElement* element = NewInstanceL< CEmptyContentTransactionElement >();
-    
-    CleanupStack::PushL( element );
-    
-    // Initialize
-    element->InitializeL( aTarget, aIndex );
-    
-    CleanupStack::Pop( element );
-    
-    // Reserve
-    iReservedElements.AddLast( *element );
-    
-    return element;
-    }
-  
-MTransactionElement* CTransactionFactoryImpl::CreateImageTransactionElementL( CXnNodeAppIf& aTarget,
-                                                                              CGulIcon* aIcon,
-                                                                              TInt aPriority )
-    {
-    // Instantiate
-    CImageTransactionElement* element = NewInstanceL< CImageTransactionElement >();
-    
-    CleanupStack::PushL( element );
-    
-    // Initialize
-    element->InitializeL( aTarget, aIcon );
-    
-    CleanupStack::Pop( element );
-    
-    // Reserve
-    iReservedElements.AddLast( *element );
-    
-    // Set priority
-    element->SetContentPriority( aPriority );
-    
-    return element;
-    }
-
-MTransactionElement* CTransactionFactoryImpl::CreateImageTransactionElementL(
-    CXnNodeAppIf& aTarget,
-    RFile& aFile,
-    TInt aPriority )
-    {
-    // Instantiate
-    CImageTransactionElement* element = NewInstanceL< CImageTransactionElement >();
-    
-    CleanupStack::PushL( element );
-    
-    // Initialize
-    element->InitializeL( aTarget, aFile );
-    
-    CleanupStack::Pop( element );
-    
-    // Reserve
-    iReservedElements.AddLast( *element );
-    
-    // Set priority
-    element->SetContentPriority( aPriority );
-    
-    return element;
-    }
-
-MTransactionElement* CTransactionFactoryImpl::CreateNewsTickerTransactionElementL(
-    CXnNodeAppIf& aTarget,
-    const TDesC& aText,
-    TInt aPriority, 
-    TInt aIndex )
-    {
-    // Instantiate new element
-    CNewsTickerTransactionElement* element = NewInstanceL< CNewsTickerTransactionElement >();
-    
-    CleanupStack::PushL( element );
-    
-    // Initialize element
-    element->InitializeL( aTarget, aText, aIndex );
-    
-    CleanupStack::Pop( element );
-    
-    // Reserve
-    iReservedElements.AddLast( *element );
-    
-    // Set content priority
-    element->SetContentPriority( aPriority );
-    
-    return element;
-    }
-            
-void CTransactionFactoryImpl::ReleaseTransactionElement( MTransactionElement* aElement)
-    {
-    CTransactionElement* element = dynamic_cast< CTransactionElement* >( aElement );
-    
-    if ( element )
-        {
-        // Reset element
-        element->Reset();
-        
-        // Move element from reserved list to available
-        iReservedElements.Remove( *element );
-        iAvailableElements.AddFirst( *element );
-        }
-    }
-
-TBool CTransactionFactoryImpl::IsSupported( CXnNodeAppIf& aTarget, const TDesC8& aContentType )
-    {
-    // Check if target node and content type is supported
-    if ( aContentType == KContentTypeText )
-        {
-        return CTextTransactionElement::IsSupported( aTarget ) || CNewsTickerTransactionElement::IsSupported( aTarget );
-        }
-    else if ( aContentType == KContentTypeBitmap )
-        {
-        return CImageTransactionElement::IsSupported( aTarget );
-        }
-    else
-        {
-        return CDataBufferTransactionElement::IsSupported( aTarget, aContentType ); 
-        }
-    }
-
-template< class T > T* CTransactionFactoryImpl::NewInstanceL()
-    {
-    T* instance = NULL;
-    
-    // Iterate list of transaction elements
-    TSglQueIter< CTransactionElement > iter( iAvailableElements );
-    iter.SetToFirst();
-    
-    while ( iter )
-        {
-        instance = dynamic_cast< T* >( iter++ );   // NULL if not T*
-        
-        if ( instance )
-            {
-            // Deque first instance of class T and quit
-            iAvailableElements.Remove( *instance );
-            return instance;
-            }
-        }
-    
-    // Not found from list. Instantiate
-    instance = T::NewL(iContentPriorityMap);
-    instance->SetCssPropertyMap( &iPropertyMap );    
-    
-    return instance;
-    }
-
-void CTransactionFactoryImpl::DeleteTransactionList( TSglQue< CTransaction >& aList )
-    {
-    TSglQueIter< CTransaction > trIter( aList );
-    trIter.SetToFirst();
-    
-    while (trIter)
-        {
-        // Get first transaction and remove it from the list
-        CTransaction* first = trIter++;
-        aList.Remove( *first );
-        
-        // Delete
-        first->Reset( *this );
-        delete first;
-        }
-    }
-            
-void CTransactionFactoryImpl::DeleteElementList( TSglQue< CTransactionElement >& aList )
-    {
-    TSglQueIter< CTransactionElement > iter( aList );
-    iter.SetToFirst();
-        
-    while ( iter )
-        {
-        CTransactionElement* element = iter++;
-        aList.Remove( *element );
-        
-        delete element;
-        }
-    }
-
-//  End of File
--- a/idlehomescreen/xmluicontroller/src/xmlnodeidgenerator.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Builder class for XML UI node identifiers.
-*
-*/
-
-
-#include "xmlnodeidgenerator.h"
-#include "aipropertyextension.h"
-#include "aicontentmodel.h"
-#include "aixmluiutils.h"
-#include "aixmluiconstants.h"
-#include "aistrcnv.h"
-
-using namespace AiXmlUiController;
-
-CXmlNodeIdGenerator::CXmlNodeIdGenerator()
-    {
-    }
-    
-CXmlNodeIdGenerator* CXmlNodeIdGenerator::NewL()
-    {
-    return new(ELeave) CXmlNodeIdGenerator;
-    }
-    
-CXmlNodeIdGenerator::~CXmlNodeIdGenerator()
-    {
-    delete iContentNodeIdBuf;
-    }
-
-TPtrC CXmlNodeIdGenerator::SettingsNodeIdL( const TAiPublisherInfo& aPubInfo )
-    {
-    const TInt idLength = aPubInfo.iName.Length()
-                          + AiUiDef::xml::id::KSettingsIdSeparator().Length()
-                          + AiUiDef::xml::propertyClass::KSettings().Length();
-    TPtr bufPtr( AiUtility::EnsureBufMaxLengthL( iContentNodeIdBuf, idLength ) );
-    
-    bufPtr.Copy( AiUiDef::xml::propertyClass::KSettings );
-    bufPtr.Append( AiUiDef::xml::id::KSettingsIdSeparator );
-    bufPtr.Append( aPubInfo.iName );
-    
-    return bufPtr;
-    }
-
-TPtrC CXmlNodeIdGenerator::ContentNodeIdL(MAiPropertyExtension& aPlugin, const TAiContentItem& aContentItem)
-    {
-    TAiPublisherInfo* info = static_cast<TAiPublisherInfo*>( aPlugin.GetPropertyL( EAiPublisherInfo ) );
-    
-    LeaveIfNull( info, KErrNotFound );
-    
-    return ContentNodeIdL(*info, aContentItem);
-    }
-    
-TPtrC CXmlNodeIdGenerator::ContentNodeIdL
-        ( const TAiPublisherInfo& aPubInfo, const TAiContentItem& aContentItem )
-    {
-    const TDesC& contentCid = ContentCid( aContentItem );
-    
-    // Calculate buffer size and ensure buffer has enough room
-    const TInt idLength = aPubInfo.iName.Length()
-                          + AiUiDef::xml::id::KContentIdSeparator().Length()
-                          + contentCid.Length();
-    TPtr bufPtr( AiUtility::EnsureBufMaxLengthL( iContentNodeIdBuf, idLength ) );
-    
-    // Copy publisher info name to the buffer
-    bufPtr.Copy( aPubInfo.iName );
-    
-    // Append separator
-    bufPtr.Append( AiUiDef::xml::id::KContentIdSeparator );
-    
-    // Append content item id
-    bufPtr.Append( contentCid );
-    
-    return bufPtr;
-    }
-
-TPtrC CXmlNodeIdGenerator::ResourceNodeIdL
-        ( MAiPropertyExtension& aPlugin, const TAiContentItem& aContentItem )
-    {
-    TAiPublisherInfo* info = static_cast<TAiPublisherInfo*>( aPlugin.GetPropertyL( EAiPublisherInfo ) );
-    
-    LeaveIfNull( info, KErrNotFound );
-    
-    return ResourceNodeIdL(*info, aContentItem);
-    }
-
-TPtrC CXmlNodeIdGenerator::ResourceNodeIdL
-        ( const TAiPublisherInfo& aPubInfo, const TAiContentItem& aContentItem )
-    {
-    // Resources node id is similar to content node id
-    return ContentNodeIdL( aPubInfo, aContentItem );
-    }
--- a/idlehomescreen/xmluicontroller/src/xmluicontroller.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1024 +0,0 @@
-/*
-* Copyright (c) 2005-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:  XML UI Controller main class
-*
-*/
-
-// System includes
-#include <ecom/implementationproxy.h>
-#include <AknQueryDialog.h>
-#include <eikstart.h>
-#include <apgtask.h>
-#include <centralrepository.h>
-#include <e32property.h>
-
-// User includes
-#include <activeidle2domainpskeys.h>
-#include <activeidle2domaincrkeys.h>
-#include <aiscutplugindomaincrkeys.h>
-#include <aisystemuids.hrh>
-#include <ai3xmlui.rsg>
-
-#include "xmluicontroller.h"
-
-#include "xnuiengineappif.h"
-#include "xnnodeappif.h"
-#include "xnproperty.h"
-#include "xntype.h"
-#include "aistrcnv.h"
-
-#include "application.h"
-#include "appui.h"
-#include "xmlnodeidgenerator.h"
-#include "aixuikoneventhandler.h"
-#include "aixmluiutils.h"
-#include "aiutility.h"
-#include "aipluginsettings.h"
-#include "aixmluiconstants.h"
-#include "aifweventhandler.h"
-#include "debug.h"
-#include "aiconsts.h"
-#include "contentrenderer.h"
-#include "xmluicontrollerpanic.h"
-#include "pmodtiterator.h"
-#include "contentpublisher.h"
-#include "xnplugindefs.h"
-#include "ainativeuiplugins.h"
-
-
-using namespace AiXmlUiController;
-
-const TInt KOneSecondInMicroS = 1000*1000;
-const TInt KAI2CrKeyIncrementBy2 = 2;
-
-typedef TBuf<32> TNamespace;
-
-_LIT( KSettingsDummyData, "" );
-
-// ======== LOCAL FUNCTIONS ========
-// ----------------------------------------------------------------------------
-// ResolveEventParameters()
-// ----------------------------------------------------------------------------
-//
-static void ResolveEventParameters( const TDesC8& aEventString, 
-    TPtrC8& aParam1, TPtrC8& aParam2 )
-    {
-    TInt  paramPos( aEventString.Locate( KEventParameterSeparator ) );
-    
-    TLex8 lex( aEventString.Mid( ++paramPos ) );
-    
-    aParam1.Set( lex.NextToken() );   // first ui element id
-    
-    TInt commaPos( aParam1.LocateReverse( KComma ) );
-    
-    if( commaPos != KErrNotFound )
-        {
-        // Strip comma
-        aParam1.Set( aParam1.Left( commaPos ) );
-        
-        aParam2.Set( lex.NextToken() );   // second ui element id
-        
-        TInt rightParenthesis( aParam2.LocateReverse( KRightParenthesis ) );
-        
-        if( rightParenthesis != KErrNotFound )
-            {
-            aParam2.Set( aParam2.Left( rightParenthesis ) );
-            }        
-        }
-    else
-        {
-        // Strip right parenthesis
-        aParam1.Set( aParam1.Left( aParam1.Length() -1 ) );
-        }
-    }
-
-// ======== MEMBER FUNCTIONS ========
-// ----------------------------------------------------------------------------
-// CXmlUiController::CXmlUiController()
-// ----------------------------------------------------------------------------
-//
-CXmlUiController::CXmlUiController()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::ConstructL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::ConstructL()
-    {       
-    iNodeIdGenerator = CXmlNodeIdGenerator::NewL();  
-    
-    iAISettingsRepository = 
-        CRepository::NewL( TUid::Uid( KCRUidActiveIdleLV ) ); 
-        
-    // Indicate to wserv plugin if it launches logs on send key or not              
-    RProperty::Set( KPSUidAiInformation, KActiveIdleActOnSendKey, ETrue );                     
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::NewL()
-// ----------------------------------------------------------------------------
-//
-CXmlUiController* CXmlUiController::NewL()
-    {
-    CXmlUiController* self = new ( ELeave ) CXmlUiController;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    
-    // Set XML UI Controller object to TLS for access in static
-    // CXmlUiController::NewApplication
-    User::LeaveIfError( Dll::SetTls( self ) );
-    
-    CleanupStack::Pop( self ); 
-
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::~CXmlUiController()
-// ----------------------------------------------------------------------------
-//
-CXmlUiController::~CXmlUiController()
-    {
-    delete iNodeIdGenerator;
-    delete iExitTimer;
-    delete iAISettingsRepository;
-    delete iCPSpublisher;
-    
-    // Reset TLS pointer to this set in NewL
-    Dll::SetTls( NULL );
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::Exit()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::Exit()
-    {
-    if( iExitTimer )
-        {
-        iExitTimer->Cancel();
-        
-        iExitTimer->Start( 0, KOneSecondInMicroS,           
-           TCallBack( ExitTimerCallBack, this ) );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::ExitTimerCallBack()
-// ----------------------------------------------------------------------------
-//
-TInt CXmlUiController::ExitTimerCallBack(TAny *aSelf)
-    {
-     CXmlUiController* self =
-         static_cast< CXmlUiController* >( aSelf );
-    
-    if( self )
-        {
-        self->iExitTimer->Cancel();
-        
-        self->iAppUi->Exit();        
-        }
-    
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::SetObserver()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::SetObserver( MAiContentObserver& aObserver )
-    {
-    iObserver = &aObserver;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::SetAppUi()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::SetAppUi( CAppUi& aAppUi )
-    {
-    iAppUi = &aAppUi;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::AppUi()
-// ----------------------------------------------------------------------------
-//
-CAppUi* CXmlUiController::AppUi() const
-    {
-    return iAppUi;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::UiEngineL()
-// ----------------------------------------------------------------------------
-//
-TXnUiEngineAppIf* CXmlUiController::UiEngineL() const
-    {
-    return iAppUi ? iAppUi->UiEngineL() : NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::SettingsRepository()
-// ----------------------------------------------------------------------------
-//
-CRepository& CXmlUiController::SettingsRepository() const
-    {
-    return *iAISettingsRepository;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::CreateXuikonEventHandlerL()
-// ----------------------------------------------------------------------------
-//
-CAIXuikonEventHandler* CXmlUiController::CreateXuikonEventHandlerL(
-    CContentRenderer& aRenderer )
-    {
-    CAIXuikonEventHandler* eventHandler = 
-        CAIXuikonEventHandler::NewL( *this, aRenderer );
-    
-    eventHandler->SetFwEventHandler( iFwEventHandler );
-    eventHandler->SetUiEventHandler( this );
-    
-    return eventHandler;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::NotifyAppEnvReadyL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::NotifyAppEnvReadyL()
-    {
-    if( iFwEventHandler )
-        {
-        iFwEventHandler->AppEnvReadyL();
-        iFwEventHandler->HandleUiReadyEventL( *this );
-        }
-    
-    if( !iCPSpublisher )
-        {
-        iCPSpublisher = CContentPublisher::NewL( *this );
-        }
-    
-    if( !iExitTimer )
-        {
-        iExitTimer = CPeriodic::NewL( CActive::EPriorityStandard );        
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::LoadUIDefinition()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::LoadUIDefinitionL()
-    {
-    // No implementation required
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::GetPluginsL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::GetPluginsL( RAiPublisherInfoArray& /*aPlugins*/ )
-    {   
-    // No implementation required
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::PublisherInfo()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::PublisherInfoL( RAiPublisherInfoArray& aPlugins )
-    {
-    // This method returns plugins with namespace KNativeUiNamespace
-    if ( iRunningAsMain )
-        {
-        // This plugin is used to publish data on secondary ui controller side       
-        TAiPublisherInfo deviceStatus;
-        deviceStatus.iUid = KDeviceStatusPluginUid;
-        deviceStatus.iName.Copy( KDeviceStatusPluginName );
-        deviceStatus.iNamespace.Copy( KNativeUiNamespace );
-                
-        aPlugins.AppendL( deviceStatus );               
-        }        
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::PublisherInfoL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::PublisherInfoL( CXnNodeAppIf& aSource,
-    TAiPublisherInfo& aInfo )
-    {
-    // Fetch uid from XML and convert it to TUid
-    const TDesC8* uid( PropertyValue( aSource, 
-        AiUiDef::xml::property::KValue ) ); 
-
-    if ( !uid )
-        {
-        return;
-        }
-        
-    _LIT8( KPrefix, "0x" );
-    
-    const TInt pos( uid->FindF( KPrefix ) );
-
-    if( pos != KErrNotFound )
-         {
-         TLex8 lex( uid->Mid( pos + KPrefix().Length() ) );
-          
-         // Hex parsing needs unsigned int
-         TUint32 value = 0;
-         const TInt parseResult = lex.Val( value, EHex );
-         
-         if ( parseResult == KErrNone )
-             {
-             TInt32 value32( value );
-             
-             aInfo.iUid = TUid::Uid( value32 );            
-             }
-         }
-     
-    // Fetch plug-in name from XML
-    HBufC* pluginName( PropertyValueL( aSource, 
-                AiUiDef::xml::property::KName ) ); 
-            
-    CleanupStack::PushL( pluginName );
-
-    if ( pluginName )
-        {
-        aInfo.iName.Copy( *pluginName );
-        }
-    
-    CleanupStack::PopAndDestroy( pluginName );
-        
-    aInfo.iNamespace.Copy( aSource.Namespace() );    
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::GetSettingsL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::GetSettingsL( const TAiPublisherInfo& aPubInfo,     
-    RAiSettingsItemArray& aSettings )
-    {
-    if ( aPubInfo.iNamespace == KNativeUiNamespace )
-        {
-        // This controller doesn't provide settings for native ui namespace
-        return;
-        }
-    
-    const TDesC& classId( iNodeIdGenerator->SettingsNodeIdL( aPubInfo ) );
-    
-    TNamespace ns;
-    
-    ns.Copy( aPubInfo.iNamespace );
-       
-    // Find settings nodes
-    RPointerArray< CXnNodeAppIf > nodes( 
-        UiEngineL()->FindNodeByClassL( classId, ns ) );
-    
-    CleanupClosePushL( nodes );
-    
-    // Reserve space for settings
-    aSettings.ReserveL( aSettings.Count() + nodes.Count() );
-    
-    // Collect settings
-    TInt count( nodes.Count() );
-    
-    for( TInt i = 0; i < count; ++i )
-        {
-        CXnNodeAppIf* node( nodes[i] );
-        
-        const TDesC8* name( 
-                PropertyValue( *node, AiUiDef::xml::property::KName ) );
-        
-        HBufC* value( 
-                PropertyValueL( *node, AiUiDef::xml::property::KValue ) );        
-        
-        CleanupStack::PushL( value );
-        
-        if( name && value )
-            {
-            MAiPluginSettings* settings( AiUtility::CreatePluginSettingsL() );
-            CleanupDeletePushL( settings );
-            
-            MAiPluginSettingsItem& item( settings->AiPluginSettingsItem() ); 
-            item.SetPublisherId( aPubInfo.iUid );
-            
-            TInt32 key( 0 );
-            
-            User::LeaveIfError( AiUtility::ParseInt( key, *name ) );
-            
-            item.SetKey( key );            
-            item.SetValueL( *value, EFalse );
-            
-            // Append settings into array.
-            // This can not fail because space has been reserved.
-            aSettings.Append( settings );            
-            CleanupStack::Pop( settings );
-            }
-            
-        CleanupStack::PopAndDestroy( value );
-        }
-    
-    CleanupStack::PopAndDestroy( &nodes );
-    
-    GetSettingsFromCRL( aPubInfo, aSettings );
-    GetContentModelL( aPubInfo, aSettings );
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::GetSettingsFromCRL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::GetSettingsFromCRL( const TAiPublisherInfo& aPubInfo, 
-    RAiSettingsItemArray &aPluginSettings )                            
-    {
-    if ( aPubInfo.iNamespace == KNativeUiNamespace )
-        {
-        // This controller doesn't provide settings for native ui namespace
-        return;
-        }
-    
-    /*
-    * The settings are stored in the cenrep starting from 0x1000. 
-    * 0x1000 is the name of the plugin which this setting belongs to (for example Settings/Shortcut)
-    * 0x1001 is the id of the setting (for example 1)
-    * 0x1002 is the value of the setting (for example localapp:0x012345678)
-    * 
-    * So three keys per setting.
-    * 
-    * Settings from cenrep override those from XML
-    */
-    
-    TUint32 crKey( KAIPluginSettingsKeyRangeStart );
-
-    TBool moreSettings( ETrue );
-    
-    HBufC* pluginId = HBufC::NewLC(
-            NCentralRepositoryConstants::KMaxUnicodeStringLength );
-    
-    HBufC* settingValue = HBufC::NewLC(
-            NCentralRepositoryConstants::KMaxUnicodeStringLength );
-    
-    HBufC* settingKey = HBufC::NewLC(
-            NCentralRepositoryConstants::KMaxUnicodeStringLength );
-    
-    TPtr pluginIdPtr( pluginId->Des() );
-    TPtr settingValuePtr( settingValue->Des() );
-    TPtr settingKeyPtr( settingKey->Des() );
-    
-    TInt32 settingId( 0 );
-
-    TInt err( KErrNone );
-    TBool settingFound( EFalse );
-    
-    while( moreSettings )
-        {
-        settingFound = EFalse;
-        
-        pluginIdPtr.Zero();
-        settingValuePtr.Zero();
-        settingKeyPtr.Zero();
-        
-        //Get the name of plugin with the Settings/ prefix
-        err = iAISettingsRepository->Get( crKey++, pluginIdPtr );       
-   
-        // remove the Settings/ prefix if it is located at the start of the string
-        if( pluginIdPtr.FindC( AiUiDef::xml::propertyClass::KSettings ) == 0 )
-            {   
-            pluginIdPtr.Delete( 0, 
-                    AiUiDef::xml::id::KSettingsIdSeparator().Length() +
-                    AiUiDef::xml::propertyClass::KSettings().Length() );               
-            }
-            
-        // does the setting belong to this plugin
-        if( err == KErrNone && pluginIdPtr == aPubInfo.iName )
-            {
-            // Get the settings id 
-            err = iAISettingsRepository->Get( crKey++, settingKeyPtr );
-            
-            if( err == KErrNone )
-                {
-                err = AiUtility::ParseInt( settingId,settingKeyPtr );
-                }
-            
-            if( err == KErrNone )
-                {                
-                // Get the actual value of the setting
-                err = iAISettingsRepository->Get( crKey++, settingValuePtr );    
-                
-                // Ignore possible placeholder data in cenrep                                
-                if( err == KErrNone && settingValuePtr.Compare( KSettingsDummyData ) != 0 )
-                    {
-                    // Try to find an existing setting for this
-                    for( TInt j = 0; j < aPluginSettings.Count(); j++  )
-                        {
-                        MAiPluginSettings* setting( aPluginSettings[j] );                         
-                        MAiPluginSettingsItem& item( setting->AiPluginSettingsItem() );                       
-                        
-                        // Existing setting found => replace it
-                        if( item.Key() == settingId && item.PublisherId() == aPubInfo.iUid )
-                            {
-                            item.SetValueL( settingValuePtr, EFalse );
-                            settingFound = ETrue;
-                            break;
-                            }
-                        }
-                    
-                    // Existing setting not found => append new one ONLY if we
-                    // are dealing with the icon overrides or toolbar shortcuts
-                    if( !settingFound && 
-                       ( ( settingId & KScutFlagBitToolbarShortcut ) || 
-                         ( settingId & KScutFlagBitIconOverride ) ) )
-                        {
-                        MAiPluginSettings* settings( AiUtility::CreatePluginSettingsL() );
-                        CleanupDeletePushL( settings );
-                        
-                        MAiPluginSettingsItem& item( settings->AiPluginSettingsItem() );
-                        
-                        item.SetPublisherId( aPubInfo.iUid );
-                        item.SetKey( settingId );                
-                        item.SetValueL( settingValuePtr, EFalse );                                            
-                        
-                        aPluginSettings.Append( settings );                        
-                        CleanupStack::Pop( settings );
-                        }
-                    }
-                }                                 
-            else
-                {
-                // no settings id found => invalid settings in cenrep
-                __PRINT8( __DBG_FORMAT8("CXmlUiController::GetSettingsFromCRL: ERROR: invalid settings. key: %d pluginname: %S id: %d value: %S"), crKey, pluginId, settingId, settingValue );                    
-                }            
-            }               
-        else if( err != KErrNone )
-            {
-            // name of the plugin not found => no more settings
-            moreSettings = EFalse;            
-            }                          
-        else
-            {
-            // not the correct setting for this plugin
-            crKey += KAI2CrKeyIncrementBy2;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( 3, pluginId ); // settingValue, settingKey
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::GetContentModelL()
-// ----------------------------------------------------------------------------
-//
-// ContentModelL()
-void CXmlUiController::GetContentModelL( const TAiPublisherInfo& aPubInfo,         
-    RAiSettingsItemArray& aSettings )
-    {
-    if ( aPubInfo.iNamespace == KNativeUiNamespace )
-        {
-        // This controller doesn't provide content model for native ui namespace
-        return;
-        }
-    
-    // Find the node for the publisher
-	// TODO Does not work if widget is in view  
-    RPointerArray<CXnNodeAppIf> list( 
-        UiEngineL()->FindContentSourceNodesL( aPubInfo.iNamespace ) );
-    CleanupClosePushL( list );
-    
-    CXnNodeAppIf* publisherNode( NULL );
-    
-    if ( list.Count() > 0 )
-        {
-        publisherNode = list[0];
-        }
-         
-    CleanupStack::PopAndDestroy( &list );
-    
-    if( !publisherNode )
-        {
-        return;
-        }
-    
-    // Find ui plugin node for the data plugin
-    CXnNodeAppIf* parentNode( publisherNode->ParentL() );
-    
-    // parent must be correct type
-    if( parentNode->InternalDomNodeType() == _L8("widget") )
-        {
-        // Get plugin configurations
-        GetConfigurationsL( *parentNode, aSettings, AiUiDef::xml::element::K16Plugin());
-        CPmODTIterator* iter = CPmODTIterator::NewL( *parentNode );
-        CleanupStack::PushL( iter );
-        CXnNodeAppIf* node = iter->First();
-        while( node )
-            {
-            const TDesC8& nodeType = node->Type()->Type();
-            if( nodeType == XnPropertyNames::action::KActions)
-                {
-                node = iter->SkipBranchL();
-                }
-            // Get the content model and configuration for the supported elements
-            else if( nodeType == AiUiDef::xml::element::KImage ||
-                     nodeType == AiUiDef::xml::element::KText ||
-                     nodeType == AiUiDef::xml::element::KNewsTicker ||
-                     nodeType == AiUiDef::xml::element::KAnimation )
-                {
-                // Is created in GetContenItem and used in GetConfigurationsL
-                HBufC* confOwner( NULL );
-                // get content item for the element, confOwner is filled
-                GetContentItemL( *node, aSettings, confOwner );
-                if( confOwner )
-                    {
-                    CleanupStack::PushL( confOwner );
-                    // get configurations for the element
-                    GetConfigurationsL( *node, aSettings, *confOwner );
-                    CleanupStack::PopAndDestroy( confOwner );
-                    }
-                node = iter->SkipBranchL();
-                }
-            else
-                {
-                node = iter->NextL();
-                }
-            }
-        CleanupStack::PopAndDestroy( iter );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::GetContentItemL()
-// ----------------------------------------------------------------------------
-//
-// ContentItemL()
-void CXmlUiController::GetContentItemL( CXnNodeAppIf& aNode, 
-    RAiSettingsItemArray& aSettings, HBufC*& aItemName )
-    {
-    // Find property node
-    RPointerArray<CXnNodeAppIf> childNodes( aNode.ChildrenL() );
-    CleanupClosePushL( childNodes );
-    
-    TInt count( childNodes.Count() );
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        CXnNodeAppIf* node( childNodes[i] );
-        
-        if( node->Type()->Type() == XnPropertyNames::action::KProperty )
-            {
-            HBufC* name = PropertyValueL( *node, AiUiDef::xml::property::KClass );
-            CleanupStack::PushL( name );
-        
-            if( name )
-                {
-                // Content model found for the element, create content item
-                MAiPluginSettings* settings = AiUtility::CreatePluginSettingsL();
-                CleanupDeletePushL( settings );
-                
-                MAiPluginContentItem& item = settings->AiPluginContentItem();
-                
-                // Type of the element is needed in content model 
-                HBufC* type( NULL ); 
-                type = AiUtility::CopyToBufferL( type, aNode.Type()->Type());
-                CleanupStack::PushL( type );
-                item.SetTypeL( *type );
-                CleanupStack::PopAndDestroy( type );
-                
-                item.SetNameL( *name );
-                
-                aItemName = name;
-                aSettings.AppendL( settings );
-                CleanupStack::Pop( settings );
-                }
-            
-            // Ownership is given to aItemName
-            CleanupStack::Pop( name );
-            
-            // First property element, which has class attribute is selected
-            break;
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &childNodes );
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::GetConfigurationsL()
-// ----------------------------------------------------------------------------
-//
-// ConfigurationItemsL()
-void CXmlUiController::GetConfigurationsL( CXnNodeAppIf& aNode, 
-    RAiSettingsItemArray& aSettings, const TDesC& aConfOwner  )
-    {    
-    // Find configuration nodes
-    RPointerArray< CXnNodeAppIf > nodes( aNode.ChildrenL() );
-    CleanupClosePushL( nodes );
-
-    // Collect settings
-    TInt count( nodes.Count() );
-    
-    for( TInt j = 0; j < count; j++ )
-        {
-        CXnNodeAppIf* node( nodes[j] );
-        
-        if( node->Type()->Type() == AiUiDef::xml::element::KConfiguration )
-            {
-            HBufC* name( PropertyValueL( *node, AiUiDef::xml::property::KName ) );
-            CleanupStack::PushL( name );
-
-            HBufC* value( PropertyValueL( *node, AiUiDef::xml::property::KValue ) );
-            CleanupStack::PushL( value );
-
-            MAiPluginSettings* settings = AiUtility::CreatePluginSettingsL();
-            CleanupDeletePushL( settings );
-               
-            MAiPluginConfigurationItem& item( settings->AiPluginConfigurationItem() );
-     
-            item.SetOwnerL( aConfOwner );
-            item.SetNameL( *name );
-            item.SetValueL( *value );
-            
-            // Append settings into array.
-            aSettings.AppendL( settings );
-        
-            CleanupStack::Pop( settings );
-            CleanupStack::PopAndDestroy( value );    
-            CleanupStack::PopAndDestroy( name );        
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &nodes );
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::ActivateUI()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::ActivateUI()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::GetContentObserver()
-// ----------------------------------------------------------------------------
-//
-MAiContentObserver& CXmlUiController::GetContentObserver()
-    {
-    return *iObserver;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::SetEventHandler()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::SetEventHandler( MAiFwEventHandler& aFwEventHandler )
-    {
-    iFwEventHandler = &aFwEventHandler;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::RemovePluginFromUI()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::RemovePluginFromUI( MAiPropertyExtension& aPlugin )
-    {
-    CContentRenderer* contentRenderer = 
-        static_cast< CContentRenderer* >( iObserver );
-    
-    if ( contentRenderer )
-        {
-        contentRenderer->CleanPluginFromUi( aPlugin );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::FwEventHandler()
-// ----------------------------------------------------------------------------
-//
-MAiFwEventHandler* CXmlUiController::FwEventHandler() const
-    {
-    return iFwEventHandler;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::MainInterface()
-// ----------------------------------------------------------------------------
-//
-MAiMainUiController* CXmlUiController::MainInterface()
-    {
-    return this;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::SecondaryInterface()
-// ----------------------------------------------------------------------------
-//
-MAiSecondaryUiController* CXmlUiController::SecondaryInterface()
-    {
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::RunApplicationL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::RunApplicationL()
-    {
-    iRunningAsMain = ETrue;
-    
-    User::LeaveIfError( 
-        EikStart::RunApplication( &CXmlUiController::NewApplication ) );
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::CoeEnv()
-// ----------------------------------------------------------------------------
-//
-CCoeEnv& CXmlUiController::CoeEnv()
-    {
-    __ASSERT_ALWAYS( iAppUi, Panic(ECriticalPointerNull) );
-    return *iAppUi->CoeEnv();
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::SetUiFrameworkObserver()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::SetUiFrameworkObserver( 
-    MAiUiFrameworkObserver& aObserver )
-    {
-    iUiFrameworkObserver = &aObserver;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::IsMenuOpen()
-// ----------------------------------------------------------------------------
-//
-TBool CXmlUiController::IsMenuOpen()
-    {
-    TBool menuOpen( EFalse );
-    TRAP_IGNORE( menuOpen = UiEngineL()->IsMenuDisplaying() );
-    return menuOpen;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::UiFrameworkObserver()
-// ----------------------------------------------------------------------------
-//
-MAiUiFrameworkObserver* CXmlUiController::UiFrameworkObserver() const
-    {
-    return iUiFrameworkObserver;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::HandleUiEvent()
-// ----------------------------------------------------------------------------
-//
-TBool CXmlUiController::HandleUiEvent( TAny* aEvent, const TDesC8& aParam )
-    {
-    CXnNodeAppIf* event( static_cast<CXnNodeAppIf*>( aEvent ) );
-    
-    TBool retval( EFalse );
-    
-    if( event )
-        {
-        TPtrC8 param1;
-        TPtrC8 param2;
-        const TDesC8& eventString(
-                aParam.Mid( AiUiDef::xml::event::KUiEventPrefix().Length() ) );
-        
-        // Extract event name
-        TInt  paramPos( eventString.Locate( KEventParameterSeparator ) );
-        
-        const TDesC8& eventName( eventString.Left( Max( 0, paramPos ) ) );
-    
-        if( eventName == AiUiDef::xml::event::KFocusGained )
-            {
-            // Resolve event parameters
-            ResolveEventParameters( eventString, param1, param2 );
-            
-            TRAP_IGNORE( HandleFocusGainedL( param1, param2, *event ) );    
-            
-            retval = ETrue;
-            }
-        else if( eventName == AiUiDef::xml::event::KSetElementSizeToCPS )
-            {
-            // Resolve event parameters
-            ResolveEventParameters( eventString, param1, param2 );
-            
-            TRAP_IGNORE( HandleSetElementSizeL( param1, *event ));
-            
-            retval = ETrue;
-            }
-        }
-    
-    return retval;
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::HandleSetElementSizeL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::HandleSetElementSizeL( const TDesC8& aElementName, 
-    CXnNodeAppIf& aOrigin )
-    {
-    __UHEAP_MARK;
-    // Resolve ui elements
-    CXnNodeAppIf* element( 
-            UiEngineL()->FindNodeByIdL( aElementName, aOrigin.Namespace() ) );
-    
-    LeaveIfNull( element, KErrNotFound );
-
-    TRect rect( element->Rect() );
-    
-    HBufC* elementName( NULL );
-    elementName = AiUtility::CopyToBufferL( elementName, aElementName );
-    CleanupStack::PushL( elementName );
-    
-    iCPSpublisher->PublishSizeL( *elementName, rect.Width(), rect.Height() );
-    
-    CleanupStack::PopAndDestroy( elementName );
-    
-    __UHEAP_MARKEND;    
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::HandleFocusGainedL()
-// ----------------------------------------------------------------------------
-//
-void CXmlUiController::HandleFocusGainedL( const TDesC8& aUiElement1,
-    const TDesC8& aUiElement2, CXnNodeAppIf& aOrigin )
-    {
-    // Resolve ui elements
-    CXnNodeAppIf* element1( 
-        UiEngineL()->FindNodeByIdL( aUiElement1, aOrigin.Namespace() ) );
-    
-    LeaveIfNull( element1, KErrNotFound );
-    
-    CXnNodeAppIf* element2( 
-        UiEngineL()->FindNodeByIdL( aUiElement2, aOrigin.Namespace() ) );
-    
-    LeaveIfNull( element2, KErrNotFound );
-    
-    // swap display properties between ui elements
-    CXnProperty* display1( 
-        element1->GetPropertyL( XnPropertyNames::style::common::KDisplay ) );
-    
-    LeaveIfNull( display1, KErrNotFound );
-    
-    CXnProperty* display2(
-        element2->GetPropertyL( XnPropertyNames::style::common::KDisplay ) );
-    
-    LeaveIfNull( display2, KErrNotFound );
-    
-    display1 = display1->CloneL();
-    CleanupStack::PushL( display1 );
-    
-    display2 = display2->CloneL();
-    CleanupStack::PushL( display2 );
-    
-    element1->SetPropertyL( display2 );
-    CleanupStack::Pop( display2 );
-    
-    element2->SetPropertyL( display1 );
-    CleanupStack::Pop( display1 );
-    }
-
-// ----------------------------------------------------------------------------
-// CXmlUiController::NewApplication()
-// ----------------------------------------------------------------------------
-//
-CApaApplication* CXmlUiController::NewApplication()
-    {
-    CXmlUiController* self = static_cast<CXmlUiController*>(Dll::Tls());
-    __ASSERT_ALWAYS( self, Panic(ECriticalPointerNull) );
-    return CApplication::New(*self);
-    }
-
-const TImplementationProxy KImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY(KImplementationUidXmlUiController, CXmlUiController::NewL)
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(KImplementationTable) / sizeof(TImplementationProxy);
-    return KImplementationTable;
-    }
-
--- a/idlehomescreen/xmluicontroller/src/xmluicontrollerpanic.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Module specific panic definitions
-*
-*/
-
-
-#include <e32std.h>
-#include "xmluicontrollerpanic.h"
-
-using namespace AiXmlUiController;
-
-void AiXmlUiController::Panic( TAiXmlUiControllerPanic aPanic )
-    {
-    _LIT( KPanicCategory, "XmlUiController" );
-    User::Panic( KPanicCategory, aPanic );
-    }
--- a/idlehomescreen/xmluirendering/dom/bwins/xn3domdocumentu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-EXPORTS
-	??1CXnDomAttribute@@UAE@XZ @ 1 NONAME ; CXnDomAttribute::~CXnDomAttribute(void)
-	?Value@CXnDomAttribute@@QAEABVTDesC8@@XZ @ 2 NONAME ; class TDesC8 const & CXnDomAttribute::Value(void)
-	?NewL@CXnDomDocument@@SAPAV1@AAVRReadStream@@@Z @ 3 NONAME ; class CXnDomDocument * CXnDomDocument::NewL(class RReadStream &)
-	?InternalizeL@CXnDomDocument@@QAEXAAVRReadStream@@@Z @ 4 NONAME ; void CXnDomDocument::InternalizeL(class RReadStream &)
-	?SetContentType@CXnDomNode@@QAEXABW4TContentType@@@Z @ 5 NONAME ; void CXnDomNode::SetContentType(enum TContentType const &)
-	?RemoveItem@CXnDomList@@QAEXPAVMXnDomListItem@@@Z @ 6 NONAME ; void CXnDomList::RemoveItem(class MXnDomListItem *)
-	?SwapStringPoolL@CXnDomList@@QAEXPAVCXnDomStringPool@@@Z @ 7 NONAME ; void CXnDomList::SwapStringPoolL(class CXnDomStringPool *)
-	?MarshallL@CXnDomDocument@@QAEPAVHBufC8@@XZ @ 8 NONAME ; class HBufC8 * CXnDomDocument::MarshallL(void)
-	??1CXnDomDepthIterator@@UAE@XZ @ 9 NONAME ; CXnDomDepthIterator::~CXnDomDepthIterator(void)
-	?IsValueSet@CXnDomProperty@@QAEHXZ @ 10 NONAME ; int CXnDomProperty::IsValueSet(void)
-	?SetPCDataL@CXnDomNode@@QAEXABVTDesC8@@@Z @ 11 NONAME ; void CXnDomNode::SetPCDataL(class TDesC8 const &)
-	?DescendantCount@CXnDomNode@@QBEHXZ @ 12 NONAME ; int CXnDomNode::DescendantCount(void) const
-	?IsAutoIdent@CXnDomPropertyValue@@QAEHXZ @ 13 NONAME ; int CXnDomPropertyValue::IsAutoIdent(void)
-	?AttributeList@CXnDomNode@@QBEAAVCXnDomList@@XZ @ 14 NONAME ; class CXnDomList & CXnDomNode::AttributeList(void) const
-	?StringValue@CXnDomPropertyValue@@QAEABVTDesC8@@XZ @ 15 NONAME ; class TDesC8 const & CXnDomPropertyValue::StringValue(void)
-	?AddItemL@CXnDomList@@QAEXPAVMXnDomListItem@@@Z @ 16 NONAME ; void CXnDomList::AddItemL(class MXnDomListItem *)
-	?AddChildL@CXnDomNode@@QAEXPAV1@H@Z @ 17 NONAME ; void CXnDomNode::AddChildL(class CXnDomNode *, int)
-	?IsInheritIdent@CXnDomPropertyValue@@QAEHXZ @ 18 NONAME ; int CXnDomPropertyValue::IsInheritIdent(void)
-	?Parent@CXnDomNode@@QBEPAV1@XZ @ 19 NONAME ; class CXnDomNode * CXnDomNode::Parent(void) const
-	?Name@CXnDomAttribute@@UAEABVTDesC8@@XZ @ 20 NONAME ; class TDesC8 const & CXnDomAttribute::Name(void)
-	?CloneL@CXnDomProperty@@QAEPAV1@XZ @ 21 NONAME ; class CXnDomProperty * CXnDomProperty::CloneL(void)
-	?Last@CXnDomList@@QAEPAVMXnDomListItem@@XZ @ 22 NONAME ; class MXnDomListItem * CXnDomList::Last(void)
-	?StringValueL@CXnDomPropertyValue@@QAEABVTDesC8@@XZ @ 23 NONAME ; class TDesC8 const & CXnDomPropertyValue::StringValueL(void)
-	?SetPseudoClass@CXnDomProperty@@QAEXW4TPseudoClass@1@@Z @ 24 NONAME ; void CXnDomProperty::SetPseudoClass(enum CXnDomProperty::TPseudoClass)
-	?ReplaceChildL@CXnDomNode@@QAEXPAV1@0@Z @ 25 NONAME ; void CXnDomNode::ReplaceChildL(class CXnDomNode *, class CXnDomNode *)
-	?Length@CXnDomList@@QBEHXZ @ 26 NONAME ; int CXnDomList::Length(void) const
-	?SetOwnershipL@CXnDomNode@@QAEXABVTDesC8@@@Z @ 27 NONAME ; void CXnDomNode::SetOwnershipL(class TDesC8 const &)
-	?AppendPCDataL@CXnDomNode@@QAEXABVTDesC8@@@Z @ 28 NONAME ; void CXnDomNode::AppendPCDataL(class TDesC8 const &)
-	?ReleaseData@CXnDomPropertyValue@@QAEXXZ @ 29 NONAME ; void CXnDomPropertyValue::ReleaseData(void)
-	?ItemIndex@CXnDomList@@QBEHABVMXnDomListItem@@@Z @ 30 NONAME ; int CXnDomList::ItemIndex(class MXnDomListItem const &) const
-	?FloatValueL@CXnDomPropertyValue@@QBENXZ @ 31 NONAME ; double CXnDomPropertyValue::FloatValueL(void) const
-	?LayoutNode@CXnDomNode@@QAEPAVCXnNode@@XZ @ 32 NONAME ; class CXnNode * CXnDomNode::LayoutNode(void)
-	?StringPoolIndexL@CXnDomPropertyValue@@QBEFXZ @ 33 NONAME ; short CXnDomPropertyValue::StringPoolIndexL(void) const
-	?FindByName@CXnDomList@@QAEPAVMXnDomListItem@@ABVTDesC8@@@Z @ 34 NONAME ; class MXnDomListItem * CXnDomList::FindByName(class TDesC8 const &)
-	?First@CXnDomList@@QAEPAVMXnDomListItem@@XZ @ 35 NONAME ; class MXnDomListItem * CXnDomList::First(void)
-	?ValueStringPoolIndex@CXnDomAttribute@@QBEFXZ @ 36 NONAME ; short CXnDomAttribute::ValueStringPoolIndex(void) const
-	?NewL@CXnDomDocument@@SAPAV1@PBVHBufC8@@@Z @ 37 NONAME ; class CXnDomDocument * CXnDomDocument::NewL(class HBufC8 const *)
-	?DeleteChild@CXnDomNode@@QAEXPAV1@@Z @ 38 NONAME ; void CXnDomNode::DeleteChild(class CXnDomNode *)
-	?NewL@CXnDomPropertyValue@@SAPAV1@PAVCXnDomStringPool@@@Z @ 39 NONAME ; class CXnDomPropertyValue * CXnDomPropertyValue::NewL(class CXnDomStringPool *)
-	?AddChildL@CXnDomNode@@QAEXPAV1@@Z @ 40 NONAME ; void CXnDomNode::AddChildL(class CXnDomNode *)
-	?SwapStringPoolL@CXnDomAttribute@@QAEXPAVCXnDomStringPool@@@Z @ 41 NONAME ; void CXnDomAttribute::SwapStringPoolL(class CXnDomStringPool *)
-	?ChildNodes@CXnDomNode@@QAEAAVCXnDomList@@XZ @ 42 NONAME ; class CXnDomList & CXnDomNode::ChildNodes(void)
-	?NodeId@CXnDomNode@@QBEHXZ @ 43 NONAME ; int CXnDomNode::NodeId(void) const
-	?IsNoneIdent@CXnDomPropertyValue@@QAEHXZ @ 44 NONAME ; int CXnDomPropertyValue::IsNoneIdent(void)
-	?NewL@CXnDomProperty@@SAPAV1@ABVTDesC8@@PAVCXnDomStringPool@@@Z @ 45 NONAME ; class CXnDomProperty * CXnDomProperty::NewL(class TDesC8 const &, class CXnDomStringPool *)
-	?ItemIndex@CXnDomNode@@QBEHABVMXnDomListItem@@@Z @ 46 NONAME ; int CXnDomNode::ItemIndex(class MXnDomListItem const &) const
-	?Item@CXnDomList@@QBEPAVMXnDomListItem@@H@Z @ 47 NONAME ; class MXnDomListItem * CXnDomList::Item(int) const
-	?ExternalizeL@CXnDomDocument@@QBEXAAVRWriteStream@@@Z @ 48 NONAME ; void CXnDomDocument::ExternalizeL(class RWriteStream &) const
-	?SetNamespaceL@CXnDomNode@@QAEXABVTDesC8@@@Z @ 49 NONAME ; void CXnDomNode::SetNamespaceL(class TDesC8 const &)
-	?CloneL@CXnDomPropertyValue@@QAEPAV1@XZ @ 50 NONAME ; class CXnDomPropertyValue * CXnDomPropertyValue::CloneL(void)
-	?ContentType@CXnDomNode@@QAEABW4TContentType@@XZ @ 51 NONAME ; enum TContentType const & CXnDomNode::ContentType(void)
-	?DeleteItem@CXnDomList@@QAEXPAVMXnDomListItem@@@Z @ 52 NONAME ; void CXnDomList::DeleteItem(class MXnDomListItem *)
-	?PCData@CXnDomNode@@QAEABVTDesC8@@XZ @ 53 NONAME ; class TDesC8 const & CXnDomNode::PCData(void)
-	?Reset@CXnDomList@@QAEXXZ @ 54 NONAME ; void CXnDomList::Reset(void)
-	?SwapStringPoolL@CXnDomPropertyValue@@QAEXPAVCXnDomStringPool@@@Z @ 55 NONAME ; void CXnDomPropertyValue::SwapStringPoolL(class CXnDomStringPool *)
-	?PropertyList@CXnDomNode@@QAEAAVCXnDomList@@XZ @ 56 NONAME ; class CXnDomList & CXnDomNode::PropertyList(void)
-	?CloneL@CXnDomAttribute@@QAEPAV1@XZ @ 57 NONAME ; class CXnDomAttribute * CXnDomAttribute::CloneL(void)
-	?RootNode@CXnDomDocument@@QBEPAVCXnDomNode@@XZ @ 58 NONAME ; class CXnDomNode * CXnDomDocument::RootNode(void) const
-	??1CXnDomPropertyValue@@UAE@XZ @ 59 NONAME ; CXnDomPropertyValue::~CXnDomPropertyValue(void)
-	?SetLayoutNode@CXnDomNode@@QAEXPAVCXnNode@@@Z @ 60 NONAME ; void CXnDomNode::SetLayoutNode(class CXnNode *)
-	?PropertyValueList@CXnDomProperty@@QAEAAVCXnDomList@@XZ @ 61 NONAME ; class CXnDomList & CXnDomProperty::PropertyValueList(void)
-	??1CXnDomDocument@@UAE@XZ @ 62 NONAME ; CXnDomDocument::~CXnDomDocument(void)
-	?StringPool@CXnDomDocument@@QBEPAVCXnDomStringPool@@XZ @ 63 NONAME ; class CXnDomStringPool * CXnDomDocument::StringPool(void) const
-	?DeleteItem@CXnDomList@@QAEXH@Z @ 64 NONAME ; void CXnDomList::DeleteItem(int)
-	?NewL@CXnDomDepthIterator@@SAPAV1@AAVCXnDomNode@@@Z @ 65 NONAME ; class CXnDomDepthIterator * CXnDomDepthIterator::NewL(class CXnDomNode &)
-	?RemoveItem@CXnDomList@@QAEXH@Z @ 66 NONAME ; void CXnDomList::RemoveItem(int)
-	?CloneL@CXnDomDocument@@QAEPAV1@XZ @ 67 NONAME ; class CXnDomDocument * CXnDomDocument::CloneL(void)
-	?NameStringPoolIndex@CXnDomAttribute@@QBEFXZ @ 68 NONAME ; short CXnDomAttribute::NameStringPoolIndex(void) const
-	?PrimitiveValueType@CXnDomPropertyValue@@QBE?AW4TPrimitiveValueType@1@XZ @ 69 NONAME ; enum CXnDomPropertyValue::TPrimitiveValueType CXnDomPropertyValue::PrimitiveValueType(void) const
-	?StringPool@CXnDomNode@@QBEPAVCXnDomStringPool@@XZ @ 70 NONAME ; class CXnDomStringPool * CXnDomNode::StringPool(void) const
-	?SetInherited@CXnDomProperty@@QAEXH@Z @ 71 NONAME ; void CXnDomProperty::SetInherited(int)
-	?SetRgbColorL@CXnDomPropertyValue@@QAEXABVTRgb@@@Z @ 72 NONAME ; void CXnDomPropertyValue::SetRgbColorL(class TRgb const &)
-	?AttributeValue@CXnDomNode@@QBEABVTDesC8@@ABV2@@Z @ 73 NONAME ; class TDesC8 const & CXnDomNode::AttributeValue(class TDesC8 const &) const
-	?SetRootNode@CXnDomDocument@@QAEXPAVCXnDomNode@@@Z @ 74 NONAME ; void CXnDomDocument::SetRootNode(class CXnDomNode *)
-	?DeleteAttributeList@CXnDomNode@@QAEXXZ @ 75 NONAME ; void CXnDomNode::DeleteAttributeList(void)
-	?Inherited@CXnDomProperty@@QAEHXZ @ 76 NONAME ; int CXnDomProperty::Inherited(void)
-	?NewL@CXnDomDocument@@SAPAV1@XZ @ 77 NONAME ; class CXnDomDocument * CXnDomDocument::NewL(void)
-	?SetValueL@CXnDomAttribute@@QAEXABVTDesC8@@@Z @ 78 NONAME ; void CXnDomAttribute::SetValueL(class TDesC8 const &)
-	?AddItemL@CXnDomList@@QAEXPAVMXnDomListItem@@H@Z @ 79 NONAME ; void CXnDomList::AddItemL(class MXnDomListItem *, int)
-	?Namespace@CXnDomNode@@QAEABVTDesC8@@XZ @ 80 NONAME ; class TDesC8 const & CXnDomNode::Namespace(void)
-	?NewL@CXnDomAttribute@@SAPAV1@ABVTDesC8@@PAVCXnDomStringPool@@@Z @ 81 NONAME ; class CXnDomAttribute * CXnDomAttribute::NewL(class TDesC8 const &, class CXnDomStringPool *)
-	?NewL@CXnDomProperty@@SAPAV1@FPAVCXnDomStringPool@@@Z @ 82 NONAME ; class CXnDomProperty * CXnDomProperty::NewL(short, class CXnDomStringPool *)
-	?ReadL@CXnDomDocument@@QAEPAVCXnDomNode@@AAVRReadStream@@@Z @ 83 NONAME ; class CXnDomNode * CXnDomDocument::ReadL(class RReadStream &)
-	?SwapStringPoolL@CXnDomProperty@@QAEXPAVCXnDomStringPool@@@Z @ 84 NONAME ; void CXnDomProperty::SwapStringPoolL(class CXnDomStringPool *)
-	?SetNodeId@CXnDomNode@@QAEXH@Z @ 85 NONAME ; void CXnDomNode::SetNodeId(int)
-	?PseudoClass@CXnDomProperty@@QBE?AW4TPseudoClass@1@XZ @ 86 NONAME ; enum CXnDomProperty::TPseudoClass CXnDomProperty::PseudoClass(void) const
-	?SetStringValueL@CXnDomPropertyValue@@QAEXW4TPrimitiveValueType@1@ABVTDesC8@@@Z @ 87 NONAME ; void CXnDomPropertyValue::SetStringValueL(enum CXnDomPropertyValue::TPrimitiveValueType, class TDesC8 const &)
-	?SetFloatValueL@CXnDomPropertyValue@@QAEXW4TPrimitiveValueType@1@N@Z @ 88 NONAME ; void CXnDomPropertyValue::SetFloatValueL(enum CXnDomPropertyValue::TPrimitiveValueType, double)
-	?Name@CXnDomNode@@UAEABVTDesC8@@XZ @ 89 NONAME ; class TDesC8 const & CXnDomNode::Name(void)
-	?RgbColorValueL@CXnDomPropertyValue@@QBEABVTRgb@@XZ @ 90 NONAME ; class TRgb const & CXnDomPropertyValue::RgbColorValueL(void) const
-	?First@CXnDomDepthIterator@@UAEPAVCXnDomNode@@XZ @ 91 NONAME ; class CXnDomNode * CXnDomDepthIterator::First(void)
-	?Name@CXnDomProperty@@UAEABVTDesC8@@XZ @ 92 NONAME ; class TDesC8 const & CXnDomProperty::Name(void)
-	?NextL@CXnDomDepthIterator@@UAEPAVCXnDomNode@@XZ @ 93 NONAME ; class CXnDomNode * CXnDomDepthIterator::NextL(void)
-	?StringPoolIndex@CXnDomProperty@@QBEFXZ @ 94 NONAME ; short CXnDomProperty::StringPoolIndex(void) const
-	?CreateElementNSL@CXnDomDocument@@QAEPAVCXnDomNode@@ABVTDesC8@@0@Z @ 95 NONAME ; class CXnDomNode * CXnDomDocument::CreateElementNSL(class TDesC8 const &, class TDesC8 const &)
-	?CloneL@CXnDomNode@@QAEPAV1@AAVCXnDomStringPool@@@Z @ 96 NONAME ; class CXnDomNode * CXnDomNode::CloneL(class CXnDomStringPool &)
-	?SetStringPoolIndexL@CXnDomPropertyValue@@QAEXW4TPrimitiveValueType@1@F@Z @ 97 NONAME ; void CXnDomPropertyValue::SetStringPoolIndexL(enum CXnDomPropertyValue::TPrimitiveValueType, short)
-	?StringPool@CXnDomProperty@@QBEPAVCXnDomStringPool@@XZ @ 98 NONAME ; class CXnDomStringPool * CXnDomProperty::StringPool(void) const
-	?SetParent@CXnDomNode@@QAEXPAV1@@Z @ 99 NONAME ; void CXnDomNode::SetParent(class CXnDomNode *)
-	?DomNodeCount@CXnDomDocument@@QBEHXZ @ 100 NONAME ; int CXnDomDocument::DomNodeCount(void) const
-	?CloneL@CXnDomProperty@@QAEPAV1@AAVCXnDomStringPool@@@Z @ 101 NONAME ; class CXnDomProperty * CXnDomProperty::CloneL(class CXnDomStringPool &)
-	?SwapStringPoolL@CXnDomNode@@QAEXPAVCXnDomStringPool@@@Z @ 102 NONAME ; void CXnDomNode::SwapStringPoolL(class CXnDomStringPool *)
-	?Size@CXnDomDocument@@QBEHXZ @ 103 NONAME ; int CXnDomDocument::Size(void) const
-	?StringPool@CXnDomList@@QBEPAVCXnDomStringPool@@XZ @ 104 NONAME ; class CXnDomStringPool * CXnDomList::StringPool(void) const
-	??1CXnDomProperty@@UAE@XZ @ 105 NONAME ; CXnDomProperty::~CXnDomProperty(void)
-	?LastNode@CXnDomDocument@@QBEPAVCXnDomNode@@XZ @ 106 NONAME ; class CXnDomNode * CXnDomDocument::LastNode(void) const
-
--- a/idlehomescreen/xmluirendering/dom/eabi/xn3domdocumentu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-EXPORTS
-	_ZN10CXnDomList10DeleteItemEP14MXnDomListItem @ 1 NONAME
-	_ZN10CXnDomList10DeleteItemEi @ 2 NONAME
-	_ZN10CXnDomList10FindByNameERK6TDesC8 @ 3 NONAME
-	_ZN10CXnDomList10RemoveItemEP14MXnDomListItem @ 4 NONAME
-	_ZN10CXnDomList10RemoveItemEi @ 5 NONAME
-	_ZN10CXnDomList15SwapStringPoolLEP16CXnDomStringPool @ 6 NONAME
-	_ZN10CXnDomList4LastEv @ 7 NONAME
-	_ZN10CXnDomList5FirstEv @ 8 NONAME
-	_ZN10CXnDomList5ResetEv @ 9 NONAME
-	_ZN10CXnDomList8AddItemLEP14MXnDomListItem @ 10 NONAME
-	_ZN10CXnDomList8AddItemLEP14MXnDomListItemi @ 11 NONAME
-	_ZN10CXnDomNode10ChildNodesEv @ 12 NONAME
-	_ZN10CXnDomNode10LayoutNodeEv @ 13 NONAME
-	_ZN10CXnDomNode10SetPCDataLERK6TDesC8 @ 14 NONAME
-	_ZN10CXnDomNode11ContentTypeEv @ 15 NONAME
-	_ZN10CXnDomNode11DeleteChildEPS_ @ 16 NONAME
-	_ZN10CXnDomNode12PropertyListEv @ 17 NONAME
-	_ZN10CXnDomNode13AppendPCDataLERK6TDesC8 @ 18 NONAME
-	_ZN10CXnDomNode13ReplaceChildLEPS_S0_ @ 19 NONAME
-	_ZN10CXnDomNode13SetLayoutNodeEP7CXnNode @ 20 NONAME
-	_ZN10CXnDomNode13SetNamespaceLERK6TDesC8 @ 21 NONAME
-	_ZN10CXnDomNode13SetOwnershipLERK6TDesC8 @ 22 NONAME
-	_ZN10CXnDomNode14SetContentTypeERK12TContentType @ 23 NONAME
-	_ZN10CXnDomNode15SwapStringPoolLEP16CXnDomStringPool @ 24 NONAME
-	_ZN10CXnDomNode19DeleteAttributeListEv @ 25 NONAME
-	_ZN10CXnDomNode4NameEv @ 26 NONAME
-	_ZN10CXnDomNode6CloneLER16CXnDomStringPool @ 27 NONAME
-	_ZN10CXnDomNode6PCDataEv @ 28 NONAME
-	_ZN10CXnDomNode9AddChildLEPS_ @ 29 NONAME
-	_ZN10CXnDomNode9AddChildLEPS_i @ 30 NONAME
-	_ZN10CXnDomNode9NamespaceEv @ 31 NONAME
-	_ZN10CXnDomNode9SetNodeIdEi @ 32 NONAME
-	_ZN10CXnDomNode9SetParentEPS_ @ 33 NONAME
-	_ZN14CXnDomDocument11SetRootNodeEP10CXnDomNode @ 34 NONAME
-	_ZN14CXnDomDocument12InternalizeLER11RReadStream @ 35 NONAME
-	_ZN14CXnDomDocument16CreateElementNSLERK6TDesC8S2_ @ 36 NONAME
-	_ZN14CXnDomDocument4NewLEPK6HBufC8 @ 37 NONAME
-	_ZN14CXnDomDocument4NewLER11RReadStream @ 38 NONAME
-	_ZN14CXnDomDocument4NewLEv @ 39 NONAME
-	_ZN14CXnDomDocument5ReadLER11RReadStream @ 40 NONAME
-	_ZN14CXnDomDocument6CloneLEv @ 41 NONAME
-	_ZN14CXnDomDocument9MarshallLEv @ 42 NONAME
-	_ZN14CXnDomDocumentD0Ev @ 43 NONAME
-	_ZN14CXnDomDocumentD1Ev @ 44 NONAME
-	_ZN14CXnDomDocumentD2Ev @ 45 NONAME
-	_ZN14CXnDomProperty10IsValueSetEv @ 46 NONAME
-	_ZN14CXnDomProperty12SetInheritedEi @ 47 NONAME
-	_ZN14CXnDomProperty14SetPseudoClassENS_12TPseudoClassE @ 48 NONAME
-	_ZN14CXnDomProperty15SwapStringPoolLEP16CXnDomStringPool @ 49 NONAME
-	_ZN14CXnDomProperty17PropertyValueListEv @ 50 NONAME
-	_ZN14CXnDomProperty4NameEv @ 51 NONAME
-	_ZN14CXnDomProperty4NewLERK6TDesC8P16CXnDomStringPool @ 52 NONAME
-	_ZN14CXnDomProperty4NewLEsP16CXnDomStringPool @ 53 NONAME
-	_ZN14CXnDomProperty6CloneLER16CXnDomStringPool @ 54 NONAME
-	_ZN14CXnDomProperty6CloneLEv @ 55 NONAME
-	_ZN14CXnDomProperty9InheritedEv @ 56 NONAME
-	_ZN14CXnDomPropertyD0Ev @ 57 NONAME
-	_ZN14CXnDomPropertyD1Ev @ 58 NONAME
-	_ZN14CXnDomPropertyD2Ev @ 59 NONAME
-	_ZN15CXnDomAttribute15SwapStringPoolLEP16CXnDomStringPool @ 60 NONAME
-	_ZN15CXnDomAttribute4NameEv @ 61 NONAME
-	_ZN15CXnDomAttribute4NewLERK6TDesC8P16CXnDomStringPool @ 62 NONAME
-	_ZN15CXnDomAttribute5ValueEv @ 63 NONAME
-	_ZN15CXnDomAttribute6CloneLEv @ 64 NONAME
-	_ZN15CXnDomAttribute9SetValueLERK6TDesC8 @ 65 NONAME
-	_ZN15CXnDomAttributeD0Ev @ 66 NONAME
-	_ZN15CXnDomAttributeD1Ev @ 67 NONAME
-	_ZN15CXnDomAttributeD2Ev @ 68 NONAME
-	_ZN19CXnDomDepthIterator4NewLER10CXnDomNode @ 69 NONAME
-	_ZN19CXnDomDepthIterator5FirstEv @ 70 NONAME
-	_ZN19CXnDomDepthIterator5NextLEv @ 71 NONAME
-	_ZN19CXnDomDepthIteratorD0Ev @ 72 NONAME
-	_ZN19CXnDomDepthIteratorD1Ev @ 73 NONAME
-	_ZN19CXnDomDepthIteratorD2Ev @ 74 NONAME
-	_ZN19CXnDomPropertyValue11IsAutoIdentEv @ 75 NONAME
-	_ZN19CXnDomPropertyValue11IsNoneIdentEv @ 76 NONAME
-	_ZN19CXnDomPropertyValue11ReleaseDataEv @ 77 NONAME
-	_ZN19CXnDomPropertyValue11StringValueEv @ 78 NONAME
-	_ZN19CXnDomPropertyValue12SetRgbColorLERK4TRgb @ 79 NONAME
-	_ZN19CXnDomPropertyValue12StringValueLEv @ 80 NONAME
-	_ZN19CXnDomPropertyValue14IsInheritIdentEv @ 81 NONAME
-	_ZN19CXnDomPropertyValue14SetFloatValueLENS_19TPrimitiveValueTypeEd @ 82 NONAME
-	_ZN19CXnDomPropertyValue15SetStringValueLENS_19TPrimitiveValueTypeERK6TDesC8 @ 83 NONAME
-	_ZN19CXnDomPropertyValue15SwapStringPoolLEP16CXnDomStringPool @ 84 NONAME
-	_ZN19CXnDomPropertyValue19SetStringPoolIndexLENS_19TPrimitiveValueTypeEs @ 85 NONAME
-	_ZN19CXnDomPropertyValue4NewLEP16CXnDomStringPool @ 86 NONAME
-	_ZN19CXnDomPropertyValue6CloneLEv @ 87 NONAME
-	_ZN19CXnDomPropertyValueD0Ev @ 88 NONAME
-	_ZN19CXnDomPropertyValueD1Ev @ 89 NONAME
-	_ZN19CXnDomPropertyValueD2Ev @ 90 NONAME
-	_ZNK10CXnDomList10StringPoolEv @ 91 NONAME
-	_ZNK10CXnDomList4ItemEi @ 92 NONAME
-	_ZNK10CXnDomList6LengthEv @ 93 NONAME
-	_ZNK10CXnDomList9ItemIndexERK14MXnDomListItem @ 94 NONAME
-	_ZNK10CXnDomNode10StringPoolEv @ 95 NONAME
-	_ZNK10CXnDomNode13AttributeListEv @ 96 NONAME
-	_ZNK10CXnDomNode14AttributeValueERK6TDesC8 @ 97 NONAME
-	_ZNK10CXnDomNode15DescendantCountEv @ 98 NONAME
-	_ZNK10CXnDomNode6NodeIdEv @ 99 NONAME
-	_ZNK10CXnDomNode6ParentEv @ 100 NONAME
-	_ZNK10CXnDomNode9ItemIndexERK14MXnDomListItem @ 101 NONAME
-	_ZNK14CXnDomDocument10StringPoolEv @ 102 NONAME
-	_ZNK14CXnDomDocument12DomNodeCountEv @ 103 NONAME
-	_ZNK14CXnDomDocument12ExternalizeLER12RWriteStream @ 104 NONAME
-	_ZNK14CXnDomDocument4SizeEv @ 105 NONAME
-	_ZNK14CXnDomDocument8LastNodeEv @ 106 NONAME
-	_ZNK14CXnDomDocument8RootNodeEv @ 107 NONAME
-	_ZNK14CXnDomProperty10StringPoolEv @ 108 NONAME
-	_ZNK14CXnDomProperty11PseudoClassEv @ 109 NONAME
-	_ZNK14CXnDomProperty15StringPoolIndexEv @ 110 NONAME
-	_ZNK15CXnDomAttribute19NameStringPoolIndexEv @ 111 NONAME
-	_ZNK15CXnDomAttribute20ValueStringPoolIndexEv @ 112 NONAME
-	_ZNK19CXnDomPropertyValue11FloatValueLEv @ 113 NONAME
-	_ZNK19CXnDomPropertyValue14RgbColorValueLEv @ 114 NONAME
-	_ZNK19CXnDomPropertyValue16StringPoolIndexLEv @ 115 NONAME
-	_ZNK19CXnDomPropertyValue18PrimitiveValueTypeEv @ 116 NONAME
-	_ZTI10CXnDomList @ 117 NONAME
-	_ZTI10CXnDomNode @ 118 NONAME
-	_ZTI14CXnDomDocument @ 119 NONAME
-	_ZTI14CXnDomProperty @ 120 NONAME
-	_ZTI15CXnDomAttribute @ 121 NONAME
-	_ZTI16CXnDomStringPool @ 122 NONAME
-	_ZTI19CXnDomDepthIterator @ 123 NONAME
-	_ZTI19CXnDomPropertyValue @ 124 NONAME
-	_ZTV10CXnDomList @ 125 NONAME
-	_ZTV10CXnDomNode @ 126 NONAME
-	_ZTV14CXnDomDocument @ 127 NONAME
-	_ZTV14CXnDomProperty @ 128 NONAME
-	_ZTV15CXnDomAttribute @ 129 NONAME
-	_ZTV16CXnDomStringPool @ 130 NONAME
-	_ZTV19CXnDomDepthIterator @ 131 NONAME
-	_ZTV19CXnDomPropertyValue @ 132 NONAME
-	_ZThn4_N10CXnDomNode4NameEv @ 133 NONAME
-	_ZThn4_N14CXnDomProperty4NameEv @ 134 NONAME
-	_ZThn4_N14CXnDomPropertyD0Ev @ 135 NONAME
-	_ZThn4_N14CXnDomPropertyD1Ev @ 136 NONAME
-	_ZThn4_N15CXnDomAttribute4NameEv @ 137 NONAME
-	_ZThn4_N15CXnDomAttributeD0Ev @ 138 NONAME
-	_ZThn4_N15CXnDomAttributeD1Ev @ 139 NONAME
-	_ZThn4_N19CXnDomDepthIterator5FirstEv @ 140 NONAME
-	_ZThn4_N19CXnDomDepthIterator5NextLEv @ 141 NONAME
-	_ZThn4_N19CXnDomDepthIteratorD0Ev @ 142 NONAME
-	_ZThn4_N19CXnDomDepthIteratorD1Ev @ 143 NONAME
-	_ZThn4_N19CXnDomPropertyValueD0Ev @ 144 NONAME
-	_ZThn4_N19CXnDomPropertyValueD1Ev @ 145 NONAME
-
--- a/idlehomescreen/xmluirendering/dom/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  bld.inf for XnDomDocument.dll
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-WINSCW ARMV5
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-xndomdocument.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/group/xndomdocument.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Project .mmp file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET      xn3domdocument.dll
-CAPABILITY  CAP_GENERAL_DLL
-TARGETTYPE  dll
-UID         0x1000008d 0x10207392
-VENDORID    VID_DEFAULT
-
-SOURCEPATH  ../src 
-
-SOURCE      xndomdocument.cpp
-SOURCE      xndomnode.cpp
-SOURCE      xndomattribute.cpp
-SOURCE      xndomproperty.cpp
-SOURCE      xndompropertyvalue.cpp
-SOURCE      xndomlist.cpp
-SOURCE      xndomdepthiterator.cpp
-SOURCE      xndomstringpool.cpp
-SOURCE      xndomstringpooloptimizer.cpp
-
-USERINCLUDE . 
-USERINCLUDE ../inc
-USERINCLUDE ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY     euser.lib
-LIBRARY     estor.lib
-LIBRARY     gdi.lib
-
-
-
-LANG      SC
-
-START WINS      
-
-END
-
-START MARM
-
-END
--- a/idlehomescreen/xmluirendering/dom/src/xndomattribute.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Represent single xmluiml attribute
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndomattribute.h"
-#include    "xndomstringpool.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::CXnDomAttribute
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomAttribute::CXnDomAttribute( CXnDomStringPool* aStringPool ):
-    iStringPool( aStringPool ),
-    iNameRef( KErrNotFound ),
-    iValueRef( KErrNotFound )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomAttribute::ConstructL( const TDesC8& aName )
-    {
-    iNameRef = iStringPool->AddStringL( aName );
-    }
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomAttribute* CXnDomAttribute::NewL( 
-    const TDesC8& aName,
-    CXnDomStringPool* aStringPool )
-    {
-    CXnDomAttribute* self = new( ELeave ) CXnDomAttribute( aStringPool );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aName );
-    CleanupStack::Pop( self );
-
-    return self;
-    }    
-
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::NewL
-// Two-phased stream constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomAttribute* CXnDomAttribute::NewL( 
-    RReadStream& aStream, 
-    CXnDomStringPool* aStringPool )
-    {
-    CXnDomAttribute* self = new( ELeave ) CXnDomAttribute( aStringPool );
-    CleanupStack::PushL( self );
-    aStream >> *self;
-    CleanupStack::Pop( self );
-
-    return self;
-    }    
-    
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::~CXnDomAttribute
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomAttribute::~CXnDomAttribute()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::CloneL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomAttribute* CXnDomAttribute::CloneL()
-    {
-    CXnDomAttribute* clone = new (ELeave)CXnDomAttribute( iStringPool );
-    clone->iNameRef = iNameRef;
-    clone->iValueRef = iValueRef;
-    return clone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::CloneL
-// -----------------------------------------------------------------------------
-//
-CXnDomAttribute* CXnDomAttribute::CloneL( CXnDomStringPool& aStringPool )
-    {
-    const TDesC8& name = iStringPool->String( iNameRef );
-    
-    CXnDomAttribute* clone = CXnDomAttribute::NewL( name, &aStringPool );
-    CleanupStack::PushL( clone );
-    if ( iValueRef > KErrNotFound )
-        {
-        const TDesC8& value = iStringPool->String( iValueRef );
-        clone->SetValueL( value );
-        }
-    CleanupStack::Pop( clone );    
-    return clone;
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::Name
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnDomAttribute::Name()
-    {
-    return iStringPool->String( iNameRef );
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomProperty::NameStringPoolIndex
-// -----------------------------------------------------------------------------
-//        
-EXPORT_C TInt16 CXnDomAttribute::NameStringPoolIndex()const
-    {
-    return iNameRef;    
-    }    
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::Value
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnDomAttribute::Value()
-    {
-    if ( iValueRef > KErrNotFound )
-        {
-        return iStringPool->String( iValueRef );
-        }
-    return KNullDesC8;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomProperty::ValueStringPoolIndex
-// -----------------------------------------------------------------------------
-//        
-EXPORT_C TInt16 CXnDomAttribute::ValueStringPoolIndex()const
-    {
-    return iValueRef;    
-    }    
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::SetValueL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomAttribute::SetValueL( const TDesC8& aValue )
-    {
-    iValueRef = iStringPool->AddStringL( aValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::SwapStringPoolL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomAttribute::SwapStringPoolL( CXnDomStringPool* aStringPool )
-    {
-    if( !aStringPool )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    iNameRef = aStringPool->AddStringL( iStringPool->String( iNameRef ) );
-    iValueRef = aStringPool->AddStringL( iStringPool->String( iValueRef ) );
-    
-    iStringPool = aStringPool;
-    }
-   
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::Size
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomAttribute::Size() const
-    {
-    TInt size( 0 );
-    
-    size += sizeof(TInt16); // iNameRef     
-      
-    size += sizeof(TInt16); // iValueRef
-    
-    return size;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::ExternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomAttribute::ExternalizeL( RWriteStream& aStream ) const
-    {
-    aStream.WriteInt16L( iNameRef );
-    aStream.WriteInt16L( iValueRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::InternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomAttribute::InternalizeL( RReadStream& aStream )
-    {
-    iNameRef = aStream.ReadInt16L();
-    iValueRef = aStream.ReadInt16L();
-    }
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/src/xndomdepthiterator.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Depth iterator walks the dom tree using depth first principle.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndomdepthiterator.h"
-#include    "xndomlist.h"
-#include    "xndomnode.h"
-
-
-// Queue granularity value
-/**
-*/
-const TInt KMemoryAloc = 64;
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnDomDepthIterator::CXnDomDepthIterator
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomDepthIterator::CXnDomDepthIterator( CXnDomNode* aRootNode ):
-    iStack( KMemoryAloc ), iStart( aRootNode ), iCurrent( aRootNode )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDepthIterator::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomDepthIterator::ConstructL()
-    {
-      iStack.AppendL( iStart );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDepthIterator::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomDepthIterator* CXnDomDepthIterator::NewL( CXnDomNode& aRootNode )
-    {
-    CXnDomDepthIterator* self = new( ELeave ) CXnDomDepthIterator( &aRootNode );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDepthIterator::~CXnDomDepthIterator()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomDepthIterator::~CXnDomDepthIterator()
-    {
-     iStack.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDepthIterator::First
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomNode* CXnDomDepthIterator::First()
-    {
-    return iStart;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomDepthIterator::Next
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomNode* CXnDomDepthIterator::NextL()
-    {
-    if( iStack.Count() )
-        {
-        // Pop
-        TInt topIndex( iStack.Count() - 1 );
-        iCurrent = iStack[topIndex];
-        iStack.Remove( topIndex );
-        
-        CXnDomList& currentChildNodes( iCurrent->ChildNodes() );
-        TInt currentChildCount( currentChildNodes.Length() );
-       
-        // Push left most child to top
-        for( TInt i = currentChildCount - 1; i >= 0; --i )
-            {
-            iStack.AppendL( static_cast< CXnDomNode* >(
-                    currentChildNodes.Item( i ) ) );
-            }
-        }
-    else
-        {
-        iCurrent = NULL;
-        iStack.Reset();
-        iStack.AppendL( iStart );
-        }
-    return iCurrent;
-    }
-
-/*
-// -----------------------------------------------------------------------------
-// CXnDomDepthIterator::PushL
-// -----------------------------------------------------------------------------
-//
-void CXnDomDepthIterator::PushL( CXnDomNode& aNode )
-    {
-    iDepthLevel.AppendL( &aNode );
-    }
-*/
-// -----------------------------------------------------------------------------
-// CXnDomDepthIterator::Pop
-// -----------------------------------------------------------------------------
-//
-/*
-CXnDomNode* CXnDomDepthIterator::Pop()
-    {
-    CXnDomNode* pop = NULL;
-    TInt count( iDepthLevel.Count() );
-    if ( count )
-        {
-        pop = iDepthLevel[ count-1 ];
-        iDepthLevel.Remove( count-1 );
-        }
-    return pop;    
-    }
-*/     
-    
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/src/xndomdocument.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Represents the entire xmluiml specific xml and css data. 
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndomdocument.h"
-#include    "xndomnode.h"
-#include    "xndomlist.h"
-#include    "xndomstringpool.h"
-#include    <s32mem.h>
-
-    
-// ============================ MEMBER FUNCTIONS ===============================    
-// -----------------------------------------------------------------------------
-// CXnDomDocument::CloneL()
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomDocument* CXnDomDocument::CloneL()
-    {
-    CXnDomDocument* clone = new (ELeave) CXnDomDocument;
-    CleanupStack::PushL( clone );
-    
-    clone->iDomStringPool = iDomStringPool->CloneL();
-    if ( iRootNode )
-        {
-        clone->iRootNode = iRootNode->CloneL( *clone->iDomStringPool );
-        }
-    
-    CleanupStack::Pop( clone );
-    return clone;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomDocument::CreateElementNSL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomNode* CXnDomDocument::CreateElementNSL( 
-    const TDesC8& aName, 
-    const TDesC8& aNamespace )
-    {
-    return CXnDomNode::NewL( aName, aNamespace, iDomStringPool );
-    }
-// -----------------------------------------------------------------------------
-// CXnDomDocument::CXnDomDocument
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomDocument::CXnDomDocument()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomDocument::ConstructL()
-    {
-    iDomStringPool = CXnDomStringPool::NewL();
-    // Add KNullDesC8 to string pool index 0 for safety reasons.
-    // Some components use 0 as initial value for their string references.
-    iDomStringPool->AddStringL( KNullDesC8 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomDocument* CXnDomDocument::NewL()
-    {
-    CXnDomDocument* self = new( ELeave ) CXnDomDocument;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomDocument::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomDocument* CXnDomDocument::NewL( 
-    RReadStream& aStream )
-    {
-    CXnDomDocument* self = new( ELeave ) CXnDomDocument;
-    
-    CleanupStack::PushL( self );
-    aStream >> *self;
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::NewL
-// Constructs CXnDomDocument from streamed HBufC8.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomDocument* CXnDomDocument::NewL( 
-    const HBufC8* aBufStream )
-    {
-    RDesReadStream readStream( *aBufStream );
-    CleanupClosePushL( readStream );
-    CXnDomDocument* self = CXnDomDocument::NewL( readStream );
-    CleanupStack::PopAndDestroy( &readStream );
-    return self;   
-    }
-
-// Destructor
-EXPORT_C CXnDomDocument::~CXnDomDocument()
-    {
-    if ( iRootNode )
-        {
-        delete iRootNode;
-        }
-    
-    if ( iDomStringPool )
-        {
-        delete iDomStringPool;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::DomNodeCount
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CXnDomDocument::DomNodeCount() const
-    {
-    TInt count( 0 );
-    if ( iRootNode )
-        {
-        count = iRootNode->DescendantCount();
-        }
-    return count;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::ExternalizeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomDocument::ExternalizeL( RWriteStream& aStream ) const
-    {
-    aStream << *iDomStringPool;
-        
-    if ( iRootNode )
-        {
-        aStream.WriteInt8L( ETrue );    //Root node exist
-        aStream << *iRootNode;
-        }
-    else
-        {
-        aStream.WriteInt8L( EFalse );
-        }    
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomDocument::InternalizeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomDocument::InternalizeL( RReadStream& aStream )
-    {
-    if(iDomStringPool)
-        {
-        delete iDomStringPool;
-        iDomStringPool = NULL;    
-        }
-    iDomStringPool = CXnDomStringPool::NewL( aStream );
-        
-    if ( iRootNode )
-        {
-        delete iRootNode;
-        iRootNode = NULL;
-        }
-    
-    TBool rootNodeExist( aStream.ReadInt8L() );
-    if ( rootNodeExist )
-        {    
-        iRootNode = CXnDomNode::NewL( aStream, iDomStringPool );
-        }
-    }          
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::SetRootNode
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomDocument::SetRootNode( CXnDomNode* aRootNode )
-    {
-    iRootNode = aRootNode;
-    iRootNode->SetParent( NULL );
-    }          
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::RootNode
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomNode* CXnDomDocument::RootNode() const
-    {
-    return iRootNode;
-    }          
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::LastNode
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomNode* CXnDomDocument::LastNode() const
-    {
-    CXnDomNode* last = NULL;
-    if ( iRootNode )
-        {
-        last = iRootNode;
-        CXnDomNode* tmp = iRootNode;
-        while( tmp )
-            {
-            last = tmp;
-            tmp = static_cast<CXnDomNode*>( last->ChildNodes().Last() );
-            }
-        }
-    return last;
-    }          
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::Size
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CXnDomDocument::Size() const
-    {
-   	TInt size( 1 ); //Root node information takes one byte
-    size += iDomStringPool->Size();
-        
-    if ( iRootNode )
-        {
-        
-        size += iRootNode->Size();
-        }
-    
-    return size;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::MarshallL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* CXnDomDocument::MarshallL()
-    {
-    TInt dataLength = Size();
-    HBufC8* writeBuf = HBufC8::NewLC( dataLength );
-    TPtr8 p( writeBuf->Des() );
-    RDesWriteStream writeStream( p );     //stream over the buffer
-    CleanupClosePushL( writeStream );
-    writeStream << *this; //Stream object
-    CleanupStack::PopAndDestroy( &writeStream );
-    CleanupStack::Pop( writeBuf );
-    return writeBuf;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::StringPool
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomStringPool* CXnDomDocument::StringPool() const
-    {
-    return iDomStringPool;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomDocument::ReadL
-// Read contents from a stream.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomNode* CXnDomDocument::ReadL( 
-    RReadStream& aStream )
-    {    
-    CXnDomStringPool* localStringPool = CXnDomStringPool::NewL( ETrue );
-    CleanupStack::PushL( localStringPool );
-    aStream >> *localStringPool;
-    
-    iDomStringPool->AddAllL( *localStringPool );
-    
-    CXnDomNode* rootNode = NULL;    
-    
-    TBool rootNodeExist( aStream.ReadInt8L() );
-    if ( rootNodeExist )
-        {
-        rootNode = CXnDomNode::NewL( aStream, localStringPool );
-        CleanupStack::PushL( rootNode );
-        rootNode->SwapStringPoolL( iDomStringPool );   
-        CleanupStack::Pop( rootNode );
-        }
-        
-    CleanupStack::PopAndDestroy( localStringPool );
-    
-    return rootNode;
-    }
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/src/xndomlist.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,398 +0,0 @@
-/*
-* Copyright (c) 2005,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:  List class to hold CXnDomList objects.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndomlist.h"
-#include    "xndomnode.h"
-#include    "xndomattribute.h"
-#include    "xndomproperty.h"
-#include    "xndompropertyvalue.h"
-#include    "xndomstringpool.h"
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnDomList::CXnDomList
-// C++ parameter constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomList::CXnDomList( 
-    TListType aListType, 
-    CXnDomStringPool* aStringPool,
-    TInt aGranularity ):
-    iListType( aListType ),
-    iList( aGranularity ), 
-    iStringPool( aStringPool )
-    {
-    }
-// -----------------------------------------------------------------------------
-// CXnDomList::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomList::ConstructL()
-    {
-   
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomList::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomList* CXnDomList::NewL( 
-    TListType aListType, 
-    CXnDomStringPool* aStringPool,
-    TInt aGranularity)
-    {
-    CXnDomList* self = 
-        new( ELeave ) CXnDomList( aListType, aStringPool,aGranularity );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomList::NewL
-// Two-phased stream constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomList* CXnDomList::NewL( 
-    RReadStream& aStream, 
-    CXnDomStringPool* aStringPool )
-    {
-    CXnDomList* self = new( ELeave ) CXnDomList( ENodeList, aStringPool );
-    
-    CleanupStack::PushL( self );
-   
-    aStream >> *self;
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-    
-// Destructor
-CXnDomList::~CXnDomList()
-    {
-    iList.ResetAndDestroy();    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomList::Reset
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomList::Reset()
-    {
-    iList.Reset();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomList::AddItemL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomList::AddItemL( MXnDomListItem* aItem )
-    {
-    iList.AppendL( aItem );
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomList::AddItemL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomList::AddItemL( MXnDomListItem* aItem, TInt aIndex )
-    {
-    iList.InsertL( aItem, aIndex );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomList::RemoveItem
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomList::RemoveItem( TInt aIndex )
-    {
-    iList.Remove( aIndex);
-    iList.Compress();
-    }
-// -----------------------------------------------------------------------------
-// CXnDomList::DeleteItem
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomList::DeleteItem( TInt aIndex )
-    {
-    delete iList[ aIndex ];
-    iList.Remove( aIndex);
-    iList.Compress();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomList::RemoveItem
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomList::RemoveItem( MXnDomListItem* aItem ) 
-    {
-    MXnDomListItem* tmp = NULL;
-    TInt count( iList.Count() );
-    TBool stop( EFalse );
-    for ( TInt i=0; i<count && !stop; i++ )    
-        {
-        tmp = iList[i];
-        if ( tmp == aItem )
-            {
-            iList.Remove( i );
-            iList.Compress();
-            stop = ETrue;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomList::DeleteItem
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomList::DeleteItem( MXnDomListItem* aItem ) 
-    {
-    MXnDomListItem* tmp = NULL;
-    TInt count( iList.Count() );
-    TBool stop( EFalse );
-    for ( TInt i=0; i<count && !stop ; i++ )    
-        {
-        tmp = iList[i];
-        if ( tmp == aItem )
-            {
-            delete iList[i];
-            iList.Remove( i );
-            iList.Compress();
-            stop = ETrue;
-            }
-        }
-    }    
-// -----------------------------------------------------------------------------
-// CXnDomList::Item
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C MXnDomListItem* CXnDomList::Item( TInt aIndex )const
-    {
-    
-    return iList[ aIndex ];
-    }    
-// -----------------------------------------------------------------------------
-// CXnDomList::Length
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CXnDomList::Length() const
-    {
-   
-    return iList.Count();    
-    }
-// -----------------------------------------------------------------------------
-// CXnDomList::First
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnDomListItem* CXnDomList::First()
-    {
-    if ( iList.Count() )
-        {
-        return iList[ 0 ];
-        }
-    else
-        {
-        return NULL;
-        }
-    }    
-    
-// -----------------------------------------------------------------------------
-// CXnDomList::Last
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnDomListItem* CXnDomList::Last()
-    {
-    TInt count( iList.Count() );
-    if ( count )
-        {
-        return  iList[ count-1 ];
-        }
-    else
-        {
-        return NULL;
-        }
-   
-    }    
-    
-
-// -----------------------------------------------------------------------------
-// CXnDomList::FindByName
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnDomListItem* CXnDomList::FindByName( const TDesC8& aName )
-    {
-    
-    if ( iListType == CXnDomList::EPropertyValueList )
-        {
-        return NULL;
-        }
-        
-    MXnDomListItem* tmp = NULL;
-    TInt count( iList.Count() );
-    for ( TInt i=0; i<count; i++ )    
-        {
-        tmp = iList[ i ];
-        
-        if ( aName.Compare( tmp->Name() ) == 0 )
-            {
-            return tmp;
-            }
-        }
-    return NULL; 
-    }
-        
-// -----------------------------------------------------------------------------
-// CXnDomList::ItemIndex
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CXnDomList::ItemIndex( const MXnDomListItem& aItem ) const
-    {
-    
-    MXnDomListItem* tmp = NULL;
-    TInt count( iList.Count() );
-    for ( TInt i=0; i<count; i++ )    
-        {
-        tmp = iList[ i ];
-        if ( tmp == &aItem )
-            {
-            return i;
-            }
-        }
-    return KErrNotFound;   
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomList::StringPool
-// -----------------------------------------------------------------------------
-//        
-EXPORT_C CXnDomStringPool* CXnDomList::StringPool() const
-    {
-    return iStringPool;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomAttribute::SwapStringPoolL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomList::SwapStringPoolL( CXnDomStringPool* aStringPool )
-    {
-    if( !aStringPool )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    iStringPool = aStringPool;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomList::Size
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomList::Size() const
-    {
-    TInt size = 0;
-    
-    size += sizeof(TInt8);      //Type
-    size += sizeof(TInt32);     //Item count
-   
-    TInt count( iList.Count() );
-    for ( TInt i=0; i<count; i++ )    
-        {
-        size += iList[ i ]->Size();
-        }
-    return size;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomList::ExternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomList::ExternalizeL( RWriteStream& aStream ) const
-    {
-    aStream.WriteInt8L( iListType );
-    
-   
-    TInt count( iList.Count() );
-    aStream.WriteInt32L( count );
-    
-    
-    for ( TInt i=0; i<count; i++ )    
-        {
-        aStream << *iList[ i ];
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomList::InternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomList::InternalizeL( RReadStream& aStream )
-    {
-    iListType = static_cast<CXnDomList::TListType>( aStream.ReadInt8L() );    
-    
-    TInt count ( aStream.ReadInt32L() );
-    for ( TInt i=0; i<count; i++ )
-        {
-        MXnDomListItem* item = NULL;
-        
-        switch( iListType )
-        	{
-        	case CXnDomList::ENodeList:
-    			{
-    			item = CXnDomNode::NewL( aStream, iStringPool );
-    			}
-        	break;
-        	
-        	case CXnDomList::EAttributeList:
-    			{
-    			item = CXnDomAttribute::NewL( aStream, iStringPool );
-    			}
-        	break;
-        	case CXnDomList::EPropertyList:
-        		{
-        		item = CXnDomProperty::NewL( aStream, iStringPool );
-        		}
-        	break;
-        	case CXnDomList::EPropertyValueList:
-        		{
-        		item = CXnDomPropertyValue::NewL( aStream, iStringPool );
-        		}
-        	break;
-        	
-        	default:
-        		User::Leave(KErrArgument);
-        		break;
-        	}
-        CleanupDeletePushL( item );	
-        iList.AppendL( item );
-        CleanupStack::Pop( item );
-        }
-    }
-
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/src/xndomnode.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,637 +0,0 @@
-/*
- * Copyright (c) 2005,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:  Primary datatype for the entire Document Object Model.
- *
- */
-
-// INCLUDE FILES
-#include    "xndomnode.h"
-#include    "xndomattribute.h"
-#include    "xndomproperty.h"
-#include    "xndomlist.h"
-#include    "xndomstringpool.h"
-
-// LOCAL CONSTANTS AND MACROS
-const TInt KNotDefined = -1;
-const TInt KPropertyListGranularity = 8;
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::CXnDomNode
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomNode::CXnDomNode(CXnDomStringPool* aStringPool) :
-    iNameRef( KNotDefined ),
-    iNSRef( KNotDefined ),
-    iStringPool( aStringPool ),
-    iNodeId( KNotDefined )    
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomNode::ConstructL(const TDesC8& aName, const TDesC8& aNS)
-    {
-    iNameRef = iStringPool->AddStringL(aName);
-    iNSRef = iStringPool->AddStringL(aNS);
-
-    iChildList = CXnDomList::NewL(CXnDomList::ENodeList, iStringPool);
-    iAttributeList
-            = CXnDomList::NewL(CXnDomList::EAttributeList, iStringPool);
-    iPropertyList = CXnDomList::NewL(CXnDomList::EPropertyList, iStringPool,
-            KPropertyListGranularity);
-
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomNode* CXnDomNode::NewL(const TDesC8& aName, const TDesC8& aNS,
-        CXnDomStringPool* aStringPool)
-    {
-    CXnDomNode* self = new (ELeave) CXnDomNode(aStringPool);
-
-    CleanupStack::PushL(self);
-    self->ConstructL(aName, aNS);
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::NewL
-// Two-phased stream constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomNode* CXnDomNode::NewL(RReadStream& aStream,
-        CXnDomStringPool* aStringPool)
-    {
-    CXnDomNode* self = new (ELeave) CXnDomNode(aStringPool);
-
-    CleanupStack::PushL(self);
-
-    aStream >> *self;
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-// Destructor
-CXnDomNode::~CXnDomNode()
-    {
-    delete iChildList;
-    delete iAttributeList;
-    delete iPropertyList;
-
-    delete iPCData;
-    }
-
-// ---------------------------------------------------------------------
-// CXnDomNode::CloneL
-// Clones this node and it's child nodes. This is a recursive function.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomNode* CXnDomNode::CloneL(CXnDomStringPool& aStringPool)
-    {
-    const TDesC8& name = iStringPool->String(iNameRef);
-    const TDesC8& ns = iStringPool->String(iNSRef);
-
-    CXnDomNode* clone = CXnDomNode::NewL(name, ns, &aStringPool);
-    CleanupStack::PushL(clone);
-    if (iPCData)
-        {
-        clone->AppendPCDataL(*iPCData);
-        }
-    clone->iNodeId = iNodeId;
-
-    TInt childCount(iChildList->Length());
-
-    for (TInt i = 0; i < childCount; i++)
-        {
-        CXnDomNode* childClone =
-                static_cast<CXnDomNode*> (iChildList->Item(i))->CloneL(
-                        aStringPool);
-        CleanupStack::PushL(childClone);
-        childClone->iParentNode = clone;
-        clone->iChildList->AddItemL(childClone);
-        CleanupStack::Pop(childClone);
-        }
-
-    TInt attrCount(iAttributeList->Length());
-    for (TInt j = 0; j < attrCount; j++)
-        {
-        CXnDomAttribute
-                * attrClone =
-                        static_cast<CXnDomAttribute*> (iAttributeList->Item(j))->CloneL(
-                                aStringPool);
-        CleanupStack::PushL(attrClone);
-        clone->iAttributeList->AddItemL(attrClone);
-        CleanupStack::Pop(attrClone);
-        }
-
-    TInt propertyCount(iPropertyList->Length());
-    for (TInt k = 0; k < propertyCount; k++)
-        {
-        CXnDomProperty
-                * propClone =
-                        static_cast<CXnDomProperty*> (iPropertyList->Item(k))->CloneL(
-                                aStringPool);
-        CleanupStack::PushL(propClone);
-        clone->iPropertyList->AddItemL(propClone);
-        CleanupStack::Pop(propClone);
-        }
-    CleanupStack::Pop(clone);
-    return clone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::Name
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnDomNode::Name()
-    {
-    if( iNameRef == KNotDefined )
-        {
-        return KNullDesC8();
-        }
-    else        
-        {
-        return iStringPool->String( iNameRef );
-        }       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::Namespace
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnDomNode::Namespace()
-    {
-    if( iNSRef == KNotDefined )
-        {
-        return KNullDesC8();
-        }
-    else        
-        {
-        return iStringPool->String( iNSRef );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::AttributeList
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomList& CXnDomNode::AttributeList() const
-    {
-    return *iAttributeList;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomNode::PropertyList
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomList& CXnDomNode::PropertyList()
-    {
-    return *iPropertyList;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomNode::SetParent
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomNode::SetParent(CXnDomNode* aParent)
-    {
-    iParentNode = aParent;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomNode::Parent
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomNode* CXnDomNode::Parent() const
-    {
-    return iParentNode;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomNode::AddChildL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomNode::AddChildL(CXnDomNode* aNode)
-    {
-    aNode->SetParent(this);
-    iChildList->AddItemL(aNode);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::AddChildL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomNode::AddChildL(CXnDomNode* aNode, TInt aIndex)
-    {
-    aNode->SetParent(this);
-    iChildList->AddItemL(aNode, aIndex);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::DeleteChild
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomNode::DeleteChild(CXnDomNode* aNode)
-    {
-    iChildList->DeleteItem(aNode);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::ReplaceChildL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomNode::ReplaceChildL(CXnDomNode* aNode,
-        CXnDomNode* aNewNode)
-    {
-    CXnDomNode* swapChild = NULL;
-    CXnDomList& childList = aNode->ChildNodes();
-    TInt childCount(childList.Length());
-    for (TInt i = 0; i < childCount; i++)
-        {
-        swapChild = static_cast<CXnDomNode*> (childList.Item(i));
-        aNewNode->AddChildL(swapChild); //Let the new node adopt the child
-        childList.RemoveItem(swapChild); //Remove it from the orginal parent
-        }
-    iChildList->DeleteItem(aNode); // Delete the old child
-
-    aNewNode->SetParent(this); //Set new child
-    iChildList->AddItemL(aNewNode);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::ChildNodes
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C CXnDomList& CXnDomNode::ChildNodes()
-    {
-    return *iChildList;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomNode::SetNodeId
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C void CXnDomNode::SetNodeId(const TInt aNodeId)
-    {
-    iNodeId = aNodeId;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomNode::NodeId
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C TInt CXnDomNode::NodeId() const
-    {
-    return iNodeId;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::ItemIndex
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C TInt CXnDomNode::ItemIndex(const MXnDomListItem& aItem) const
-    {
-    return iChildList->ItemIndex(aItem);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::AppendPCDataL
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C void CXnDomNode::AppendPCDataL(const TDesC8& aPCData)
-    {
-    if (iPCData)
-        {
-        iPCData = iPCData->ReAllocL(iPCData->Length() + aPCData.Length());
-        iPCData->Des().Append(aPCData);
-        }
-    else
-        {
-        iPCData = aPCData.AllocL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::PCData
-// -----------------------------------------------------------------------------
-//  
-EXPORT_C const TDesC8& CXnDomNode::PCData()
-    {
-    if (iPCData)
-        {
-        return *iPCData;
-        }
-    return KNullDesC8;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::SetPCDataL
-// -----------------------------------------------------------------------------
-//  
-EXPORT_C void CXnDomNode::SetPCDataL(const TDesC8& aPCData)
-    {
-    if (iPCData)
-        {
-        delete iPCData;
-        iPCData = NULL;
-        }
-    iPCData = aPCData.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::ContentType
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C const TContentType& CXnDomNode::ContentType()
-    {
-    return iContentType;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::SetContentType
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C void CXnDomNode::SetContentType(const TContentType& aContentType)
-    {
-    iContentType = aContentType;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::StringPool
-// -----------------------------------------------------------------------------
-//        
-EXPORT_C CXnDomStringPool* CXnDomNode::StringPool() const
-    {
-    return iStringPool;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::Size
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomNode::Size() const
-    {
-    TInt size(0);
-
-    size += sizeof(TInt16); //iNameRef
-    size += sizeof(TInt16); //iNSRef
-    size += sizeof(TBool); //iRefNode
-    if (iPCData)
-        {
-        size += sizeof(TInt8);
-        size += sizeof(TInt16);
-        size += iPCData->Size();
-        size++;
-        }
-    else
-        {
-        size += sizeof(TInt8);
-        }
-
-    size += sizeof(TInt32); //For nodeId
-    size += iAttributeList->Size();
-    size += iPropertyList->Size();
-
-    size += iChildList->Size();
-
-    return size;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomNode::ExternalizeL
-// NOTE: This function is not implemented yet!
-// -----------------------------------------------------------------------------
-//
-void CXnDomNode::ExternalizeL(RWriteStream& aStream) const
-    {
-    aStream.WriteInt16L(iNameRef);
-    aStream.WriteInt16L(iNSRef);
-    aStream.WriteInt8L( 0 ); // ref node legacy.
-
-    if (iPCData)
-        {
-        aStream.WriteInt8L(ETrue);
-        aStream.WriteInt16L(iPCData->Length());
-        aStream << *iPCData;
-        }
-    else
-        {
-        aStream.WriteInt8L(EFalse);
-        }
-
-    aStream.WriteInt32L(iNodeId);
-    aStream << *iChildList;
-    aStream << *iAttributeList;
-    aStream << *iPropertyList;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::InternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomNode::InternalizeL( RReadStream& aStream )
-    {
-    iNameRef = aStream.ReadInt16L();
-    
-    iNSRef = KNotDefined; // This is set later by call to setnamespace,    
-    aStream.ReadInt16L(); // so only consume legacy data from stream.
-    
-    aStream.ReadInt8L(); // Consume legacy ref node parameter.
-
-    TInt len(0);
-    TBool exist(aStream.ReadInt8L());
-    if (exist)
-        {
-        len = aStream.ReadInt16L();
-        delete iPCData;
-        iPCData = NULL;
-        iPCData = HBufC8::NewL(aStream, len);
-        }
-
-    iNodeId = aStream.ReadInt32L();
-
-    iChildList = CXnDomList::NewL(aStream, iStringPool);
-    TInt count(iChildList->Length());
-    for (TInt i = 0; i < count; i++)
-        {
-        CXnDomNode* node = static_cast<CXnDomNode*> (iChildList->Item(i));
-        if (node)
-            {
-            node->SetParent(this);
-            }
-        else
-            {
-            User::Leave(KErrArgument);
-            }
-        }
-
-    iAttributeList = CXnDomList::NewL(aStream, iStringPool);
-    iPropertyList = CXnDomList::NewL(aStream, iStringPool);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::DescendantCount
-// Recursive counting function
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C TInt CXnDomNode::DescendantCount() const
-    {
-    TInt count(1); //Node itself
-
-    TInt length(iChildList->Length());
-    for (TInt i = 0; i < length; i++)
-        {
-        count
-                += static_cast<CXnDomNode*> (iChildList->Item(i))->DescendantCount();
-        }
-
-    return count;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::DeleteAttributeList
-// Deletes the attribute list
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C void CXnDomNode::DeleteAttributeList()
-    {
-    delete iAttributeList;
-    iAttributeList = NULL;
-
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::AttributeValue
-// Returns value of "name" attribute
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C const TDesC8& CXnDomNode::AttributeValue(const TDesC8& aAttribute) const
-    {
-    CXnDomAttribute* attribute =
-            static_cast<CXnDomAttribute*> (iAttributeList->FindByName(
-                    aAttribute));
-    if (attribute)
-        {
-        return attribute->Value();
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::SetLayoutNode
-// Sets pointer to associated layout node
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C void CXnDomNode::SetLayoutNode(CXnNode* aNode)
-    {
-    iLayoutNode = aNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::LayoutNode
-// Gets pointer to associated layout node
-// -----------------------------------------------------------------------------
-//   
-EXPORT_C CXnNode* CXnDomNode::LayoutNode()
-    {
-    return iLayoutNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::SetNamespaceL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomNode::SetNamespaceL(const TDesC8& aNS)
-    {
-    iNSRef = iStringPool->AddStringL(aNS);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::SetOwnershipL
-// Clones this node and it's child nodes and sets new namespace. This is a
-// recursive function.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomNode::SetOwnershipL(const TDesC8& aNS)
-    {
-    TInt childCount(iChildList->Length());
-
-    SetNamespaceL(aNS);
-    for (TInt i = 0; i < childCount; i++)
-        {
-        CXnDomNode* child = static_cast<CXnDomNode*> (iChildList->Item(i));
-        child->SetOwnershipL(aNS);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::SwapStringPoolL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomNode::SwapStringPoolL( CXnDomStringPool* aStringPool )
-    {
-    if( !aStringPool )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    if( iNameRef != KNotDefined )
-        {
-        iNameRef = aStringPool->AddStringL( iStringPool->String( iNameRef ) );
-        }
-
-    if( iNSRef != KNotDefined )
-        {
-        iNSRef = aStringPool->AddStringL( iStringPool->String( iNSRef ) );
-        }
-    
-    iChildList->SwapStringPoolL( aStringPool );
-    TInt count = iChildList->Length();    
-    for( TInt i = 0; i < count; i++ )
-        {
-        CXnDomNode* obj =
-                static_cast<CXnDomNode*> ( iChildList->Item( i ) );
-        obj->SwapStringPoolL( aStringPool );
-        }
-    
-    iAttributeList->SwapStringPoolL( aStringPool );
-    count = iAttributeList->Length();    
-    for( TInt i = 0; i < count; i++ )
-        {    
-        CXnDomAttribute* obj =
-                static_cast<CXnDomAttribute*> ( iAttributeList->Item( i ) );
-        obj->SwapStringPoolL( aStringPool );
-        }
-    
-    count = iPropertyList->Length();    
-    iPropertyList->SwapStringPoolL( aStringPool );
-    for( TInt i = 0; i < count; i++ )
-        {
-        CXnDomProperty* obj =
-                static_cast<CXnDomProperty*> ( iPropertyList->Item( i ) );
-        obj->SwapStringPoolL( aStringPool );
-        }
-    
-    iStringPool = aStringPool;
-    }
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/src/xndomproperty.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Represents a Css property.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndomproperty.h"
-#include    "xndompropertyvalue.h"
-#include    "xndomlist.h"
-#include    "xndomstringpool.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnDomProperty::CXnDomProperty
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomProperty::CXnDomProperty( CXnDomStringPool* aStringPool ):
-    iStringPool( aStringPool )
-    {
-    }
-// -----------------------------------------------------------------------------
-// CXnDomProperty::CXnDomProperty
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomProperty::CXnDomProperty( 
-    TInt16 aStringPoolIndex, 
-    CXnDomStringPool* aStringPool ):
-    iStringPool( aStringPool ),
-    iNameRef( aStringPoolIndex )
-    {
-    }    
-// -----------------------------------------------------------------------------
-// CXnDomProperty::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomProperty::ConstructL( const TDesC8& aName )
-    {
-    iNameRef = iStringPool->AddStringL( aName );
-    iPropValList = CXnDomList::NewL( CXnDomList::EPropertyValueList, iStringPool );
-    }
-// -----------------------------------------------------------------------------
-// CXnDomProperty::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomProperty::ConstructL()
-    {
-    iPropValList = CXnDomList::NewL( CXnDomList::EPropertyValueList, iStringPool );
-    }
-// -----------------------------------------------------------------------------
-// CXnDomProperty::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomProperty* CXnDomProperty::NewL( 
-    const TDesC8& aName,
-    CXnDomStringPool* aStringPool )
-    {
-    CXnDomProperty* self = new( ELeave ) CXnDomProperty( aStringPool );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aName );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::NewL
-// Two-phased stream constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomProperty* CXnDomProperty::NewL( 
-    RReadStream& aStream, 
-    CXnDomStringPool* aStringPool )
-    {
-    CXnDomProperty* self = 
-        new( ELeave ) CXnDomProperty( aStringPool );
-    
-    CleanupStack::PushL( self );
-    
-    aStream >> *self;
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomProperty::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomProperty* CXnDomProperty::NewL( 
-    TInt16 aStringPoolIndex,
-    CXnDomStringPool* aStringPool )
-    {
-    CXnDomProperty* self = 
-        new (ELeave) CXnDomProperty( aStringPoolIndex, aStringPool );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }       
-// Destructor
-EXPORT_C CXnDomProperty::~CXnDomProperty()
-    {
-    delete iPropValList;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomProperty::CloneL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomProperty* CXnDomProperty::CloneL()
-    {
-    CXnDomProperty* clone = new (ELeave)CXnDomProperty( iStringPool );
-    CleanupStack::PushL(clone);
-    
-    clone->iPropValList = CXnDomList::NewL( CXnDomList::EPropertyValueList, iStringPool );
-    clone->iNameRef = iNameRef;
-    
-    TInt count( iPropValList->Length() );
-    for (TInt i = 0; i < count; ++i)
-        {
-        CXnDomPropertyValue* val = static_cast<CXnDomPropertyValue*>( iPropValList->Item(i) );
-        CXnDomPropertyValue* cloneVal = val->CloneL();
-        CleanupStack::PushL( cloneVal );
-        clone->iPropValList->AddItemL( cloneVal );
-        CleanupStack::Pop( cloneVal );
-        }
-    clone->iInherited = iInherited;
-    clone->iPseudoClass = iPseudoClass;    
-    CleanupStack::Pop(clone);
-    return clone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::CloneL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomProperty* CXnDomProperty::CloneL( CXnDomStringPool& aStringPool )
-    {
-    const TDesC8& name = iStringPool->String( iNameRef );
-    CXnDomProperty* clone = CXnDomProperty::NewL( name, &aStringPool );
-    CleanupStack::PushL(clone);
-    
-    TInt count( iPropValList->Length() );
-    for (TInt i = 0; i < count; ++i)
-        {
-        CXnDomPropertyValue* val = static_cast<CXnDomPropertyValue*>( iPropValList->Item(i) );
-        CXnDomPropertyValue* cloneVal = val->CloneL( aStringPool );
-        CleanupStack::PushL( cloneVal );
-        clone->iPropValList->AddItemL( cloneVal );
-        CleanupStack::Pop( cloneVal );
-        }
-    clone->iInherited = iInherited;
-    clone->iPseudoClass = iPseudoClass;    
-    CleanupStack::Pop(clone);
-    return clone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::Name
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnDomProperty::Name()
-    {
-    return iStringPool->String( iNameRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::PropertyValue
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomList& CXnDomProperty::PropertyValueList()
-    {
-    return *iPropValList;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::IsValueSet
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C TBool CXnDomProperty::IsValueSet()
-    {
-    return (iPropValList->Length() > 0);
-    }                  
-           
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::Inherited
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C TBool CXnDomProperty::Inherited()
-    {
-    return iInherited;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomProperty::SetInherited
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CXnDomProperty::SetInherited( TBool aInherited )
-    {
-    iInherited = aInherited;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::StringPool
-// -----------------------------------------------------------------------------
-//        
-EXPORT_C CXnDomStringPool* CXnDomProperty::StringPool() const
-    {
-    return iStringPool;
-    }                      
-// -----------------------------------------------------------------------------
-// CXnDomProperty::StringPoolIndex
-// -----------------------------------------------------------------------------
-//        
-EXPORT_C TInt16 CXnDomProperty::StringPoolIndex()const
-    {
-    return iNameRef;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::SwapStringPoolL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomProperty::SwapStringPoolL( CXnDomStringPool* aStringPool )
-    {
-    if( !aStringPool )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    iNameRef = aStringPool->AddStringL( iStringPool->String( iNameRef ) );
-
-    TInt count = iPropValList->Length();
-    for( TInt i = 0; i < count; i++ )
-        {
-        CXnDomPropertyValue* val =
-                static_cast<CXnDomPropertyValue*>( iPropValList->Item(i) );
-        val->SwapStringPoolL( aStringPool );
-        }
-
-    iStringPool = aStringPool;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::PseudoClass
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomProperty::TPseudoClass CXnDomProperty::PseudoClass() const
-    {
-    return iPseudoClass;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomProperty::SetPseudoClass
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomProperty::SetPseudoClass( TPseudoClass aPseudoClass )
-    {
-    iPseudoClass = aPseudoClass;
-    }       
-        
-// -----------------------------------------------------------------------------
-// CXnDomProperty::Size
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomProperty::Size() const
-    {
-    TInt size( 0 );
-    
-    size += sizeof(TInt16); //iNameRef
-    size += iPropValList->Size();
-    size += sizeof(TInt8);    //iInherited
-    size += sizeof(TInt8);  //iPseudoClass
-    
-    return size;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomProperty::ExternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomProperty::ExternalizeL( RWriteStream& aStream ) const
-    {
-    aStream.WriteInt16L( iNameRef );
-    aStream << *iPropValList;
-    aStream.WriteInt8L( iInherited );
-    aStream.WriteInt8L( iPseudoClass );   
-    }
-// -----------------------------------------------------------------------------
-// CXnDomProperty::InternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomProperty::InternalizeL( RReadStream& aStream )
-    {
-    iNameRef = aStream.ReadInt16L();
-    iPropValList = CXnDomList::NewL( aStream, iStringPool );
-    
-    iInherited =  TBool( aStream.ReadInt8L() );
-    iPseudoClass = TPseudoClass( aStream.ReadInt8L() );
-    }
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/src/xndompropertyvalue.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,782 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Property's value encapsulation. 
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndompropertyvalue.h"
-#include    "xndomstringpool.h"
-#include    <gdi.h>
-// LOCAL CONSTANTS AND MACROS
-_LIT8(KInherit, "inherit");
-_LIT8(KAuto,    "auto");
-_LIT8(KNone,    "none");
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::CXnDomPropertyValue
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomPropertyValue::CXnDomPropertyValue( CXnDomStringPool* aStringPool ):
-    iStringPool( aStringPool ),	
-    iPrimitiveValueType( (TPrimitiveValueType)KErrNotFound )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomPropertyValue::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomPropertyValue* CXnDomPropertyValue::NewL( 
-    CXnDomStringPool* aStringPool )
-    {
-    CXnDomPropertyValue* self = new( ELeave ) CXnDomPropertyValue( aStringPool );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::NewL
-// Two-phased stream constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomPropertyValue* CXnDomPropertyValue::NewL( 
-    RReadStream& aStream,
-    CXnDomStringPool* aStringPool )
-    {
-    CXnDomPropertyValue* self = new( ELeave ) CXnDomPropertyValue( aStringPool );
-    
-    CleanupStack::PushL( self );
-    aStream >> *self;
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-    
-// Destructor
-EXPORT_C CXnDomPropertyValue::~CXnDomPropertyValue()
-    {
-    ReleaseData();     
-    }
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::CloneL()
-// Make a copy from this object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomPropertyValue* CXnDomPropertyValue::CloneL()
-    {
-    CXnDomPropertyValue* clone = CXnDomPropertyValue::NewL( iStringPool );
-    CleanupStack::PushL( clone );
-    clone->iPrimitiveValueType = iPrimitiveValueType;
-    
-    
-    switch( iPrimitiveValueType )
-        {
-        // allowed cases for real value
-	    case ENumber:
-	    case EPercentage:
-	    case EEms:
-	    case EExs:
-	    case EPx:
-	    case ECm:
-	    case EMm:
-	    case EIn:
-	    case EPt:
-	    case EPc:
-	    case EDeg:
-	    case ERad:
-	    case EGrad:
-	    case EMs:
-	    case ES:
-	    case EHz:
-	    case EKHz:
-	    case EUnitValue:
-	        {
-	        clone->iData.iRealValue = new (ELeave) TReal( *iData.iRealValue );
-	        break;
-	        }
-        // allowed cases for string value
-	    case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-	        {
-	        clone->iData.iStringRef = iData.iStringRef;
-	        clone->iIdent = iIdent;
-	        break;
-	        }
-
-	    case ERgbColor:
-	    case ERgbaColor:
-	        {
-	        clone->iData.iRgbColor = new (ELeave) TRgb( *iData.iRgbColor );
-#ifdef SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
-	        clone->iData.iRgbColor->SetAlpha( iData.iRgbColor->Alpha() );
-#endif	        	        
-	        break;
-	        }
-        default:
-            break;
-        }
-    CleanupStack::Pop( clone );
-    return clone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::CloneL( CXnDomStringPool& aStringPool )
-// Make a copy from this object
-// -----------------------------------------------------------------------------
-//
-CXnDomPropertyValue* CXnDomPropertyValue::CloneL( CXnDomStringPool& aStringPool )
-    {
-    CXnDomPropertyValue* clone = CXnDomPropertyValue::NewL( &aStringPool );
-    CleanupStack::PushL( clone );
-    clone->iPrimitiveValueType = iPrimitiveValueType;
-    
-    
-    switch( iPrimitiveValueType )
-        {
-        // allowed cases for real value
-	    case ENumber:
-	    case EPercentage:
-	    case EEms:
-	    case EExs:
-	    case EPx:
-	    case ECm:
-	    case EMm:
-	    case EIn:
-	    case EPt:
-	    case EPc:
-	    case EDeg:
-	    case ERad:
-	    case EGrad:
-	    case EMs:
-	    case ES:
-	    case EHz:
-	    case EKHz:
-	    case EUnitValue:
-	        {
-	        clone->iData.iRealValue = new (ELeave) TReal( *iData.iRealValue );
-	        break;
-	        }
-        // allowed cases for string value
-	    case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-	        {
-	        const TDesC8& value = iStringPool->String( iData.iStringRef );
-            clone->iData.iStringRef = aStringPool.AddStringL( value );
-	        clone->iIdent = iIdent;
-	        break;
-	        }
-
-	    case ERgbColor:
-	    case ERgbaColor:
-	        {
-	        clone->iData.iRgbColor = new (ELeave) TRgb( *iData.iRgbColor );
-#ifdef SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
-	        clone->iData.iRgbColor->SetAlpha( iData.iRgbColor->Alpha() );
-#endif	        	        
-	        break;
-	        }
-        default:
-            break;
-        }
-    CleanupStack::Pop( clone );
-    return clone;
-    }
-
-// -----------------------------------------------------------------------------
-// TReal CXnDomPropertyValue::FloatValueL
-// Returns the float value
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CXnDomPropertyValue::FloatValueL() const
-    {
-    switch ( iPrimitiveValueType )
-        {
-        // allowed cases for real value
-	    case ENumber:
-	    case EPercentage:
-	    case EEms:
-	    case EExs:
-	    case EPx:
-	    case ECm:
-	    case EMm:
-	    case EIn:
-	    case EPt:
-	    case EPc:
-	    case EDeg:
-	    case ERad:
-	    case EGrad:
-	    case EMs:
-	    case ES:
-	    case EHz:
-	    case EKHz:
-	    case EUnitValue:
-	        break;
-
-	    
-	    default:
-	        User::Leave( KErrNotSupported );
-	        break;
-        }    
-    
-    return *iData.iRealValue;
-    }
-
-// -----------------------------------------------------------------------------
-// TReal CXnDomPropertyValue::SetFloatValueL
-// Sets the float value
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomPropertyValue::SetFloatValueL( 
-    TPrimitiveValueType aValueType,
-    TReal aFloatValue )
-    {
-   
-    switch ( aValueType )
-        {
-        // allowed cases for real value
-	    case ENumber:
-	    case EPercentage:
-	    case EEms:
-	    case EExs:
-	    case EPx:
-	    case ECm:
-	    case EMm:
-	    case EIn:
-	    case EPt:
-	    case EPc:
-	    case EDeg:
-	    case ERad:
-	    case EGrad:
-	    case EMs:
-	    case ES:
-	    case EHz:
-	    case EKHz:
-	    case EUnitValue:
-	        break;
-
-	    default:  // not supported real value
-	        User::Leave( KErrNotSupported );
-	        break;
-        }
-    
-    ReleaseData();
-    
-    iPrimitiveValueType = aValueType;
-    iData.iRealValue = new ( ELeave ) TReal( aFloatValue );
-    }
-
-// -----------------------------------------------------------------------------
-// const TDesC& CXnDomPropertyValue::StringValueL
-// Returns the string value
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnDomPropertyValue::StringValueL() 
-    {
-    switch ( iPrimitiveValueType )
-        {
-        // allowed cases for string value
-	    case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-	        break;
-
-	    default:  // not supported string value
-	        User::Leave( KErrNotSupported );
-	        break;
-        }
-    
-    
-    return iStringPool->String( iData.iStringRef );
-    }
-// -----------------------------------------------------------------------------
-// const TDesC& CXnDomPropertyValue::StringValue
-// Returns the string value
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnDomPropertyValue::StringValue() 
-    {
-    switch ( iPrimitiveValueType )
-        {
-        // allowed cases for string value
-        case EString:
-        case EIdent:
-        case EUri:
-        case EAttr:
-        case EUnknown:
-            break;
-
-        default:  // not supported string value
-            return KNullDesC8;
-           
-        }
-    
-    
-    return iStringPool->String( iData.iStringRef );
-    }
-// -----------------------------------------------------------------------------
-// TReal CXnDomPropertyValue::SetStringValueL
-// Sets the string value
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomPropertyValue::SetStringValueL(
-    TPrimitiveValueType aValueType,
-    const TDesC8& aStringValue )
-    {
-    
-    switch ( aValueType )
-        {
-        // allowed cases for string value
-	    case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-	        break;
-
-	    default:  // not supported string value
-	        User::Leave( KErrNotSupported );
-	        break;
-        }
-    
-    ReleaseData();
-    
-    iPrimitiveValueType = aValueType;
-    TInt stringRef = iStringPool->AddStringL( aStringValue );
-    iData.iStringRef = stringRef;
-    
-    if ( aStringValue.Compare( KAuto ) == 0 )
-        {
-        iIdent = EAuto;
-        }
-    else if ( aStringValue.Compare( KNone ) == 0 )
-        {
-        iIdent = ENone;
-        }
-    else if ( aStringValue.Compare( KInherit ) == 0 )
-        {
-        iIdent = EInherit;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// const TRgb& CXnDomPropertyValue::RgbColorValueL
-// Returns the TRgb object if supported
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TRgb& CXnDomPropertyValue::RgbColorValueL() const
-    {
-    if ( ERgbColor != iPrimitiveValueType &&
-            ERgbaColor != iPrimitiveValueType )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    return *iData.iRgbColor;
-    }
-
-// -----------------------------------------------------------------------------
-// TCSSPrimitiveValueType CXnDomPropertyValue::PrimitiveValueType
-// Returns the primitive value type of the object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomPropertyValue::TPrimitiveValueType 
-    CXnDomPropertyValue::PrimitiveValueType() const
-    {
-    return iPrimitiveValueType;
-    }
-
-
-    
-// -----------------------------------------------------------------------------
-// void CXnDomPropertyValue::SetRgbColor
-// Sets the CSS rgba object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomPropertyValue::SetRgbColorL( const TRgb& aColor )
-    {
-    ReleaseData();
-    iPrimitiveValueType =  ERgbColor;
-    iData.iRgbColor = new (ELeave) TRgb(aColor);
-    }
-    
-// -----------------------------------------------------------------------------
-// void CXnDomPropertyValue::ReleaseData
-// Releases the union loaded heap allocated data
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomPropertyValue::ReleaseData()
-    {
-    switch( iPrimitiveValueType )
-        {
-        // allowed cases for real value
-	     case ENumber:
-	    case EPercentage:
-	    case EEms:
-	    case EExs:
-	    case EPx:
-	    case ECm:
-	    case EMm:
-	    case EIn:
-	    case EPt:
-	    case EPc:
-	    case EDeg:
-	    case ERad:
-	    case EGrad:
-	    case EMs:
-	    case ES:
-	    case EHz:
-	    case EKHz:
-	    case EUnitValue:
-	        {
-	        delete iData.iRealValue;
-	        iData.iRealValue = NULL;
-	        break;
-	        }
-	    
-
-        // allowed cases for string value
-	    case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-	        {
-	        iData.iStringRef = -1;
-	        iData.iStringRef = NULL;
-	        iIdent = ENotSet;
-	        break;
-	        }
-
-	    case ERgbColor:
-	    case ERgbaColor:
-	        {
-	        delete iData.iRgbColor;
-	        iData.iRgbColor = NULL;
-	        break;
-	        }
-
-	    
-        default:
-            break;
-        }
-    }
-// -----------------------------------------------------------------------------
-// void CXnDomPropertyValue::IsInheritIdent
-// Compares if value is 'inherit' 
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnDomPropertyValue::IsInheritIdent()
-    {
-    return (iIdent == EInherit? ETrue : EFalse); 
-    }
-
-// -----------------------------------------------------------------------------
-// void CXnDomPropertyValue::IsAutoIdent
-// Compares if value is 'auto' 
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnDomPropertyValue::IsAutoIdent()
-    {
-    return (iIdent == EAuto? ETrue : EFalse); 
-    }
-
-// -----------------------------------------------------------------------------
-// void CXnDomPropertyValue::IsNoneIdent
-// Compares if value is 'none' 
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnDomPropertyValue::IsNoneIdent()
-    {
-    return (iIdent == ENone? ETrue : EFalse); 
-    }
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::SetStringPoolIndexL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomPropertyValue::SetStringPoolIndexL(
-    TPrimitiveValueType aValueType,
-    TInt16 aStringPoolIndex )
-    {
-    switch(aValueType)
-        {
-        case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-	        break;
-	    default:
-	         User::Leave( KErrNotSupported );
-        }
-    ReleaseData();    
-    iPrimitiveValueType = aValueType;
-    iData.iStringRef = aStringPoolIndex;    
-    }
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::SetStringPoolIndexL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt16 CXnDomPropertyValue::StringPoolIndexL()const
-    {
-    switch(iPrimitiveValueType)
-        {
-        case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-	        break;
-	    default:
-	         User::Leave( KErrNotSupported );
-        }
-    return iData.iStringRef;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::SwapStringPoolL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnDomPropertyValue::SwapStringPoolL( CXnDomStringPool* aStringPool )
-    {
-    if( !aStringPool )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    if( iPrimitiveValueType == EString ||
-        iPrimitiveValueType == EIdent ||
-        iPrimitiveValueType == EUri ||
-        iPrimitiveValueType == EAttr ||
-        iPrimitiveValueType == EUnknown )
-        {
-        if( iData.iStringRef != NULL &&
-            iData.iStringRef != -1 )
-            {
-            iData.iStringRef =
-                    aStringPool->AddStringL( iStringPool->String( iData.iStringRef ) );
-            }
-        }
-    
-    iStringPool = aStringPool;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::Size()const
-// Count size of this object's data.
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomPropertyValue::Size()const
-    {
-    TInt size( 0 );
-    
-    size += sizeof(TInt8);  //iPrimitiveValueType
-    
-    switch( iPrimitiveValueType )
-        {
-        // allowed cases for real value
-	    case ENumber:
-	    case EPercentage:
-	    case EEms:
-	    case EExs:
-	    case EPx:
-	    case ECm:
-	    case EMm:
-	    case EIn:
-	    case EPt:
-	    case EPc:
-	    case EDeg:
-	    case ERad:
-	    case EGrad:
-	    case EMs:
-	    case ES:
-	    case EHz:
-	    case EKHz:
-        case EUnitValue:
-            {
-            size += sizeof(TReal);
-            }
-            break;
-        // allowed cases for string value
-	    case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-            {
-            size += sizeof(TInt16);
-            size += sizeof(TIdentType);
-            }
-            break;
-        case ERgbColor:
-        case ERgbaColor:
-            {
-            size += sizeof(TRgb);
-            }
-            break;
-        default:
-            break;
-        }
-    return size;
-    }
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::ExternalizeL
-// Serializing data to stream.
-// -----------------------------------------------------------------------------
-//
-void CXnDomPropertyValue::ExternalizeL( RWriteStream& aStream ) const
-    {
-    aStream.WriteInt8L( iPrimitiveValueType );
-    
-    
-    switch( iPrimitiveValueType )
-        {
-        // allowed cases for real value
-	    case ENumber:
-	    case EPercentage:
-	    case EEms:
-	    case EExs:
-	    case EPx:
-	    case ECm:
-	    case EMm:
-	    case EIn:
-	    case EPt:
-	    case EPc:
-	    case EDeg:
-	    case ERad:
-	    case EGrad:
-	    case EMs:
-	    case ES:
-	    case EHz:
-	    case EKHz:
-	    case EUnitValue:
-            {
-            aStream << *iData.iRealValue;
-            }
-            break;
-        // allowed cases for string value
-	    case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-            {
-            aStream << iData.iStringRef;
-            aStream.WriteInt8L( iIdent ); 
-            }
-            break;
-        case ERgbColor:
-        case ERgbaColor:
-            {
-            aStream << *iData.iRgbColor;
-            }
-            break;
-        default:
-            break;
-        }
-    }
-// -----------------------------------------------------------------------------
-// CXnDomPropertyValue::InternalizeL
-// Deserializing data from stream to object
-// -----------------------------------------------------------------------------
-//
-void CXnDomPropertyValue::InternalizeL( RReadStream& aStream )
-    {
-    iPrimitiveValueType = static_cast<TPrimitiveValueType>( aStream.ReadInt8L() );
-    
-    ReleaseData();
-    
-    switch( iPrimitiveValueType )
-        {
-        // allowed cases for real value
-	    case ENumber:
-	    case EPercentage:
-	    case EEms:
-	    case EExs:
-	    case EPx:
-	    case ECm:
-	    case EMm:
-	    case EIn:
-	    case EPt:
-	    case EPc:
-	    case EDeg:
-	    case ERad:
-	    case EGrad:
-	    case EMs:
-	    case ES:
-	    case EHz:
-	    case EKHz:
-	    case EUnitValue:
-	        {
-	        iData.iRealValue  = new ( ELeave ) TReal();
-	        aStream >> *iData.iRealValue;
-	        }
-	        break;
-
-        // allowed cases for string value
-	    case EString:
-	    case EIdent:
-	    case EUri:
-	    case EAttr:
-	    case EUnknown:
-            {
-            aStream >> iData.iStringRef;
-            iIdent = static_cast<TIdentType>( aStream.ReadInt8L() );
-            }
-            break;
-        case ERgbColor:
-        case ERgbaColor:
-            {
-            iData.iRgbColor = new (ELeave) TRgb();
-            aStream >> *iData.iRgbColor;
-            }
-            break;
-        
-        default:
-            break;
-        }
-    }
-
- 
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/src/xndomstringpool.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Represent string pool for dom strings
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndomstringpool.h"
-#include    "xndomstringpooloptimizer.h"
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::CXnDomStringPool
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomStringPool::CXnDomStringPool( const TBool aAllowDuplicates ) :
-    iAllowDuplicates( aAllowDuplicates )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnDomStringPool::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomStringPool* CXnDomStringPool::NewL( const TBool aAllowDuplicates )
-    {
-    CXnDomStringPool* self =
-            new( ELeave ) CXnDomStringPool( aAllowDuplicates );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }    
-
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::NewL
-// Two-phased stream constructor.
-// -----------------------------------------------------------------------------
-//
-CXnDomStringPool* CXnDomStringPool::NewL( RReadStream& aStream,
-        const TBool aAllowDuplicates )
-    {
-    CXnDomStringPool* self = new( ELeave ) CXnDomStringPool( aAllowDuplicates );
-    CleanupStack::PushL( self );
-    aStream >> *self;
-    CleanupStack::Pop(self);
-
-    return self;
-    }    
-    
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::~CXnDomStringPool
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXnDomStringPool::~CXnDomStringPool()
-    {
-    iStringPool.ResetAndDestroy();
-    iStringPoolOptimizer.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::CloneL
-// -----------------------------------------------------------------------------
-//
-CXnDomStringPool* CXnDomStringPool::CloneL()
-    {    
-    CXnDomStringPool* clone = NULL;    
-    if( iAllowDuplicates )
-        {
-        clone = CXnDomStringPool::NewL( ETrue );
-        }
-    else
-        {
-        clone = CXnDomStringPool::NewL( EFalse );
-        }    
-    CleanupStack::PushL( clone );
-    
-    TInt count( iStringPool.Count() );
-    for ( TInt i = 0; i < count; i++ )
-        {    
-        HBufC8* tmp = iStringPool[i]->Des().AllocLC();
-        clone->DoAddStringL( tmp );
-        CleanupStack::Pop( tmp );
-        }
-    CleanupStack::Pop( clone );
-    return clone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::AddStringL
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomStringPool::AddStringL( const TDesC8& aString )
-    {   
-    TInt index = iStringPoolOptimizer.GetIndex( aString );
-
-    if( index == KErrNotFound )
-        {
-        HBufC8* string = aString.AllocLC();
-        index = DoAddStringL( string );        
-        CleanupStack::Pop( string );        
-        }    
-    
-    return index;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::AddStringL
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomStringPool::AddStringL( HBufC8* aString )
-    {   
-    if( !aString )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    TInt index = iStringPoolOptimizer.GetIndex( *aString );    
-    
-    if( index == KErrNotFound )
-        {
-        index = DoAddStringL( aString );       
-        }
-    else
-        {
-        delete aString;
-        }
-    
-    return index;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::AddStringL
-// -----------------------------------------------------------------------------
-//
-void CXnDomStringPool::AddAllL( CXnDomStringPool& aStringPool )
-    {
-    const TInt count = aStringPool.Count();
-    for( TInt i = 0; i < count; i++ )
-        {
-        AddStringL( aStringPool.String( i ) );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomNode::String
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CXnDomStringPool::String( const TInt aStringRef )
-    {       
-    if( aStringRef >= 0 && aStringRef < iStringPool.Count() )
-        {
-        return (*iStringPool[ aStringRef ]);
-        }
-    else
-        {
-        return KNullDesC8;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::Size
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomStringPool::Size() const
-    {
-    TInt size( 0 );
-    
-    TInt count( iStringPool.Count() );
-    for ( TInt i=0; i<count; i++ )
-        {
-        size += sizeof(TInt16);     //Length
-        size++;                     //HBufC control mark
-        size++;                     //HBufC control mark
-        size += iStringPool[i]->Size();  //Buffer sixe in bytes     
-        }
-    return size;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::Count
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomStringPool::Count() const
-    {
-    return iStringPool.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::ExternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomStringPool::ExternalizeL( RWriteStream& aStream ) const
-    {
-    TInt count( iStringPool.Count() );
-    aStream.WriteInt16L( count );
-    
-    for ( TInt i=0; i<count; i++ )
-        {
-        aStream.WriteInt16L( iStringPool[i]->Length() );
-        aStream << *iStringPool[i];      
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::InternalizeL
-// -----------------------------------------------------------------------------
-//
-void CXnDomStringPool::InternalizeL( RReadStream& aStream )
-    {
-    TInt len(0);
-    TInt16 count ( aStream.ReadInt16L() );    
-
-    for ( TInt i=0; i<count; i++ )
-        {
-        len = aStream.ReadInt16L();
-        HBufC8* tmp = HBufC8::NewLC( aStream, len );
-        AddStringL( tmp ); // OWNERSHIP TRANSFERRED!        
-        CleanupStack::Pop( tmp );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomStringPool::DoAddStringL
-// -----------------------------------------------------------------------------
-//
-TInt CXnDomStringPool::DoAddStringL( HBufC8* aNewString )
-    {
-    if( !aNewString )
-        {
-        User::Leave( KErrArgument );
-        }       
-    
-    TInt index = iStringPool.Count();
-    
-    if( !iAllowDuplicates )
-        {
-        TXnDomStringPoolOptimizerEntry tmp( index, *aNewString );
-        iStringPoolOptimizer.AddEntryL( tmp );
-        }
-    
-    iStringPool.AppendL( aNewString );       
-        
-    return index;
-    }
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/dom/src/xndomstringpooloptimizer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-/*
-* Copyright (c) 2005,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:  Optimizer module for CXnDomStringPool.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "xndomstringpooloptimizer.h"
-
-const TInt KMaxEstimateThreshold = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizerEntry::TXnDomStringPoolOptimizerEntry
-// -----------------------------------------------------------------------------
-//
-TXnDomStringPoolOptimizerEntry::TXnDomStringPoolOptimizerEntry( TInt aIndex,
-        const TDesC8& aString) :         
-        iIndex( aIndex ),
-        iString( aString )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizer::AddEntryL
-// -----------------------------------------------------------------------------
-//
-void TXnDomStringPoolOptimizer::AddEntryL( TXnDomStringPoolOptimizerEntry& aEntry )
-    {
-    TBool positionFound = EFalse;
-    
-    if( iEntries.Count() > 0 )
-        {    
-        const TInt estimate = FindInsertionIndexEstimate(
-                aEntry.iString,
-                0,
-                iEntries.Count() - 1 );        
-        
-        if( estimate != KErrNotFound )
-            {
-            for( TInt i = estimate; i < iEntries.Count(); i++ )
-                {
-                if( aEntry.iString.Compare( iEntries[i].iString ) < 0 )
-                    {
-                    positionFound = ETrue;
-                    iEntries.InsertL( aEntry, i );
-                    break;
-                    }
-                }
-            }
-        }
-    
-    if( !positionFound )
-        {
-        iEntries.AppendL( aEntry );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizer::TXnDomStringPoolOptimizerGetIndex
-// -----------------------------------------------------------------------------
-//
-TInt TXnDomStringPoolOptimizer::GetIndex( const TDesC8& aString )
-    {
-    if( iEntries.Count() == 0 )
-        {
-        return KErrNotFound;
-        }    
-    
-    TInt index = FindEntry( aString, 0, iEntries.Count() - 1 );
-    if( index > 0 && index < iEntries.Count() )
-        {
-        return iEntries[index].iIndex;
-        }
-    else
-        {
-        // Error code.
-        return index;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizer::Close
-// -----------------------------------------------------------------------------
-//
-void TXnDomStringPoolOptimizer::Close()
-    {
-    iEntries.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizer::Count
-// -----------------------------------------------------------------------------
-//
-TInt TXnDomStringPoolOptimizer::Count()
-    {
-    return iEntries.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizer::Entry
-// -----------------------------------------------------------------------------
-//
-TXnDomStringPoolOptimizerEntry& TXnDomStringPoolOptimizer::Entry(
-        const TInt aIndex )
-    {    
-    return iEntries[ aIndex ];
-    }
-
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizer::Reset
-// -----------------------------------------------------------------------------
-//
-void TXnDomStringPoolOptimizer::Reset()
-    {
-    iEntries.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizer::FindEntry
-// -----------------------------------------------------------------------------
-//
-TInt TXnDomStringPoolOptimizer::FindEntry( const TDesC8& aString,
-        const TInt aLeft,
-        const TInt aRight )
-    {    
-    if( aLeft > aRight )
-        {
-        return KErrNotFound;
-        }
-    
-    const TUint middle = ( aLeft + aRight ) >> 1; // >> 1 means "divided by two".    
-    TXnDomStringPoolOptimizerEntry& entryAtMiddle = iEntries[ middle ];    
-    const TInt comparisonResult = aString.Compare( entryAtMiddle.iString );
-    
-    if( comparisonResult > 0 )
-        {
-        return FindEntry( aString, middle + 1, aRight);
-        }
-    else if( comparisonResult < 0 )
-        {
-        return FindEntry( aString, aLeft, middle - 1 );
-        }
-    else
-        {
-        return  middle;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// TXnDomStringPoolOptimizer::FindEntry
-// -----------------------------------------------------------------------------
-//
-TInt TXnDomStringPoolOptimizer::FindInsertionIndexEstimate( const TDesC8& aString,
-        const TInt aLeft,
-        const TInt aRight )
-    {
-    if( ( aRight - aLeft ) <= KMaxEstimateThreshold )
-        {
-        return aLeft;
-        }
-    
-    const TUint middle = ( aLeft + aRight ) >> 1;      
-         
-    TXnDomStringPoolOptimizerEntry& entryAtMiddle = iEntries[ middle ];    
-    const TInt comparisonResult = aString.Compare( entryAtMiddle.iString );
-        
-    if( comparisonResult > 0 )
-        {
-        return FindInsertionIndexEstimate( aString, middle, aRight);
-        }
-    else if( comparisonResult < 0 )
-        {
-        return FindInsertionIndexEstimate( aString, aLeft, middle );
-        }
-    else
-        {
-        // Should not go here. There should be only one of a kind in the list.
-        return KErrNotFound;
-        }
-    }
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/ecomelement/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  Collection bld.inf file for EcomElement components 
-*
-*/
-
-#include	"../xnecomelementproxy/group/bld.inf"
-#include	"../xndomvisitor/group/bld.inf"
-PRJ_PLATFORMS
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  Project bld.inf file
-*
-*/
-
-
-
-PRJ_PLATFORMS
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-xndomvisitor.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/group/xndomvisitor.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  Project .mmp file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET      xn3domvisitor.dll
-TARGETTYPE  PLUGIN
-UID         0x10009d8d 0x102072BE
-CAPABILITY  CAP_ECOM_PLUGIN
-VENDORID    VID_DEFAULT
-
-SOURCEPATH	../src
-SOURCE      xndomvisitorproxy.cpp 
-SOURCE      xndomvisitor.cpp
-
-START RESOURCE  102072BE.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3domvisitor.rsc
-#endif
-END
-
-
-USERINCLUDE . 
-USERINCLUDE ../inc
-USERINCLUDE ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY			ecom.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY   	    flogger.lib
-LIBRARY			charconv.lib
-
-LANG			SC
--- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xndomvisitor.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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:  Visitor class to modify DOM node element's data 
-*
-*/
-
-
-
-#ifndef XN_DOM_VISITOR_H
-#define XN_DOM_VISITOR_H
-
-#include <e32base.h>
-#include "mxndomvisitor.h"
-
-// CLASS FORWARD
-
-
-// CLASS DECLARATION
-
-/**
-*  Visitor class modifies DOM node element's data.
-*
-*  @lib xndomvisitor.dll
-*  @since Series 60 3.1
-*/
-class CXnDomVisitor: public CBase, public MXnDomVisitor
-    {
-    public:
-        /**
-        * NewL construction
-        */
-        static MXnDomVisitor* NewL();
-    
-    public: // New functions
-        
-        /**
-        * Documented in MXnDomVisitor::IsVersion
-        */
-        TBool IsVersion( const TDesC8& aVersion );
-        
-        /**
-        * Documented in MXnDomVisitor::ModifyDataL
-        */
-        void ModifyDataL( CXnDomNode& aNode );
-        
-        /**
-        * Documented in MXnDomVisitor::SetElementTypeL
-        */
-        void SetElementTypeL( CXnDomNode& aNode );
-        
-        /**
-        * Documented in MXnDomVisitor::SetDtorKey
-        */
-        void SetDtorKey( const TUid aDtorKey );
-        
-        /**
-        * Documented in MXnDomVisitor::Release
-        */
-        void Release();
-    
-    private:
-        /**
-        * Destructor
-        */
-        ~CXnDomVisitor();
-        
-        /**
-        * C++ default constructor
-        */
-        CXnDomVisitor();
-        
-    private:
-        //ECom destructor key
-        TUid iDtorKey;
-    };
-
-#endif      // XN_DOM_VISITOR_H  
-            
-// End of File
--- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xndomvisitor.rh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  Visitor class to modify DOM nodes data
-*
-*/
-
-
-
-#ifndef XN_DOM_VISITOR_RH_H
-#define XN_DOM_VISITOR_RH_H
-
-
-// CONSTANTS
-// implementation interface uid
-#define	KXnDomVisitorIId				0x10207396
-//implementation uid
-#define KXnDomVisitorImplUid		0x10207397
-
-#endif      // XN_DOM_VISITOR_RH_H  
-            
-// End of File
--- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xnliteral.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,298 +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:  Literal definitions 
-*
-*/
-
-
-
-#ifndef XN_LITERAL_H
-#define XN_LITERAL_H
-
-#include "xndomnode.h"
-#include <stringtablesupport.h>
-// MODULE LITERAL DEFINITIONS
-//Core
-_STLIT8(KProperty,    "property");
-
-//Ui
-_STLIT8(KXmluiml,     "xmluiml");
-_STLIT8(KHeader,      "header");
-_STLIT8(KInclude,     "include");
-_STLIT8(KViews,       "views");
-_STLIT8(KView,        "view");
-_STLIT8(KPanes,       "panes");
-_STLIT8(KStatusPane,  "statuspane");
-_STLIT8(KMainPane,    "mainpane");
-_STLIT8(KControlPane, "controlpane");
-_STLIT8(KDialogs,     "dialogs");
-_STLIT8(KDialog,      "dialog");
-_STLIT8(KNote,        "note");
-
-//Header
-_STLIT8(KUiDefinition,"uidefinition");
-_STLIT8(KApplication, "application");
-_STLIT8(KDesc,        "desc");
-
-//Control
-_STLIT8(KButton,      "button");
-_STLIT8(KGrid,        "grid");
-_STLIT8(KListItem,    "listitem");
-_STLIT8(KDataGrid,    "datagrid");
-_STLIT8(KGridCellTemplate,    "gridcelltemplate");
-_STLIT8(KList,        "list");
-_STLIT8(KDataList,    "datalist");
-_STLIT8(KListRowTemplate, "listrowtemplate");
-_STLIT8(KMenuBar,     "menubar");
-_STLIT8(KMenu,        "menu");
-_STLIT8(KMenuItem,    "menuitem");
-_STLIT8(KText,        "text");
-_STLIT8(KImage,       "image");
-_STLIT8(KEditor,      "editor");
-_STLIT8(KMarquee,	"marquee");
-_STLIT8(KNewsticker, "newsticker");
-_STLIT8(KAnimation,  "animation");
-_STLIT8(KTooltip,	"tooltip");
-//XHTML
-_STLIT8(KObject,	"object");
-_STLIT8(KParam,		"param");
-
-//Box
-_STLIT8(KBox,         "box");
-
-//Interaction
-_STLIT8(KAction,      "action");
-_STLIT8(KTrigger,     "trigger");
-_STLIT8(KEvent,       "event");
-
-
-//PROPERTY LITERAL DEFINITIONS
-
-//Common properties
-_STLIT8(KDisplay,          "display");
-_STLIT8(KDisplayPriority,  "_s60-display-priority");
-_STLIT8(KVisibility,       "visibility");
-_STLIT8(KInitialFocus, 	   "_s60-initial-focus");
-
-
-_STLIT8(KBlockProgression, "block-progression");
-_STLIT8(KDirection,        "direction");
-
-_STLIT8(KWidth,            "width");
-_STLIT8(KHeight,           "height");
-
-_STLIT8(KMarginTop,        "margin-top");
-_STLIT8(KMarginRight,      "margin-right");
-_STLIT8(KMarginBottom,     "margin-bottom");
-_STLIT8(KMarginLeft,       "margin-left");
-_STLIT8(KBorderWidth,      "border-width");
-_STLIT8(KBorderTopWidth,   "border-top-width");
-_STLIT8(KBorderRightWidth, "border-right-width");
-_STLIT8(KBorderBottomWidth,"border-bottom-width");
-_STLIT8(KBorderLeftWidth,  "border-left-width");
-
-_STLIT8(KPaddingTop,       "padding-top");
-_STLIT8(KPaddingRight,     "padding-right");
-_STLIT8(KPaddingBottom,    "padding-bottom");
-_STLIT8(KPaddingLeft,      "padding-left");
-
-_STLIT8(KPosition,         "position");
-_STLIT8(KTop,              "top");
-_STLIT8(KRight,            "right");
-_STLIT8(KBottom,           "bottom");
-_STLIT8(KLeft,             "left");
-_STLIT8(KMinWidth,         "min-width");
-_STLIT8(KMaxWidth,         "max-width");
-_STLIT8(KMinHeight,        "min-height");
-_STLIT8(KMaxHeight,        "max-height");
-
-_STLIT8(KColor,            "color");
-_STLIT8(KBGColor,          "background-color");
-_STLIT8(KBGImg,            "background-image");
-_STLIT8(KBGSize,           "background-size");
-_STLIT8(KBGRepeat,         "background-repeat");
-_STLIT8(KBGPos,            "background-position");
-
-_STLIT8(KBorderTopStyle,   "border-top-style");
-_STLIT8(KBorderRightStyle, "border-right-style");
-_STLIT8(KBorderBottomStyle,"border-bottom-style");
-_STLIT8(KBorderLeftStyle,  "border-left-style");
-_STLIT8(KBorderColor,      "border-color");
-_STLIT8(KBorderImg,        "border-image");
-
-
-//Element with text properties
-_STLIT8(KTextOverflowMode, "text-overflow-mode");
-
-_STLIT8(KFontFamily,       "font-family");
-_STLIT8(KFontSize,         "font-size");
-_STLIT8(KFontWeight,       "font-weight");
-_STLIT8(KFontStyle,        "font-style");
-_STLIT8(KTextDecoration,   "text-decoration");
-
-//For text,list,datalist, grid, datagrid elements
-_STLIT8(KOverflow,          "overflow");
-
-//List And grid properties
-_STLIT8(KVisibleRows,      "_s60-visible-list-rows");
-_STLIT8(KInitialSelection, "_s60-initial-list-selection");
-_STLIT8(KFocusHorLooping,  "_s60-list-focus-horizontal-looping");
-_STLIT8(KFocusVerLooping,  "_s60-list-focus-vertical-looping");
-
-//Datagrid & grid properties
-_STLIT8(KGridColumns,       "_s60-grid-columns");
-_STLIT8(KS60GridOrientation, "_s60-grid-orientation");
-_STLIT8(KS60GridVerDirection, "_s60-grid-ver-direction"); //lr, rl
-_STLIT8(KS60GridHorDirection, "_s60-grid-hor-direction"); //tb, bt
-
-//Views and view properties
-_STLIT8(KViewDecoration,       "_s60-view-decoration");
-_STLIT8(KTabStyle,             "_s60-tab-style");
-_STLIT8(KTabColor,             "_s60-tab-color");
-_STLIT8(KTabImg,               "_s60-tab-image");
-_STLIT8(KViewTransitionEffect, "_s60-view-transition-effect");
-
-//View
-_STLIT8(KTabLabel,             "_s60-tab-label");
-
-//Function pointer
-typedef void (*FuncPtr) (TAny*);
-       
-//Struct to hold type and function which operates it
-typedef struct
-    {
-    const void* iName;
-    FuncPtr   iFuncPtr;
-    TContentType iContentType;
-    }TXnElementVisitor;
-    
-//Struct to follow up if property has capability to inherit  
-typedef struct
-    {
-    const void* iName;
-    TBool       iInherit;
-    }TXnPropertyProxy;
-
-
-// Common properties intermediate table 
-const TXnPropertyProxy KXnCommonPropertyTable[] =
-	{
-	    {(const void*)&KDisplay,             EFalse},
-	    {(const void*)&KDisplayPriority,     EFalse},
-	    {(const void*)&KVisibility,          ETrue},
-		{(const void*)&KInitialFocus,        EFalse},
-	    
-	    {(const void*)&KBlockProgression,    ETrue},
-	    {(const void*)&KDirection,           ETrue},
-	    
-	    {(const void*)&KWidth,               EFalse},
-	    {(const void*)&KHeight,              EFalse},
-	    
-	    {(const void*)&KMarginTop,           EFalse},
-	    {(const void*)&KMarginRight,         EFalse},
-	    {(const void*)&KMarginBottom,        EFalse},
-	    {(const void*)&KMarginLeft,          EFalse},
-	    {(const void*)&KBorderWidth,         EFalse},
-	    {(const void*)&KBorderTopWidth,      EFalse},
-	    {(const void*)&KBorderRightWidth,    EFalse},
-	    {(const void*)&KBorderBottomWidth,   EFalse},
-	    {(const void*)&KBorderLeftWidth,     EFalse},
-	    
-	    {(const void*)&KPaddingTop,          EFalse},
-	    {(const void*)&KPaddingRight,        EFalse},
-	    {(const void*)&KPaddingBottom,       EFalse},
-	    {(const void*)&KPaddingLeft,         EFalse},
-	    
-	    {(const void*)&KPosition,            EFalse},
-	    {(const void*)&KTop,                 EFalse},
-	    {(const void*)&KRight,               EFalse},
-	    {(const void*)&KBottom,              EFalse},
-	    {(const void*)&KLeft,                EFalse},
-	    
-	    {(const void*)&KMinWidth,            EFalse},
-	    {(const void*)&KMaxWidth,            EFalse},
-	    {(const void*)&KMinHeight,           EFalse},
-	    {(const void*)&KMaxHeight,           EFalse},
-	    
-	    //Appearance
-	    {(const void*)&KColor,               ETrue},
-	    {(const void*)&KBGColor,             EFalse},
-	    {(const void*)&KBGImg,               EFalse},
-	    {(const void*)&KBGSize,              EFalse},
-	    {(const void*)&KBGRepeat,            EFalse},
-	    {(const void*)&KBGPos,               EFalse},
-	    
-	    {(const void*)&KBorderTopStyle,      EFalse},
-	    {(const void*)&KBorderRightStyle,    EFalse},
-	    {(const void*)&KBorderBottomStyle,   EFalse},
-	    {(const void*)&KBorderLeftStyle,     EFalse},
-	    {(const void*)&KBorderColor,         EFalse},
-	    {(const void*)&KBorderImg,           EFalse}
-	    
-	};
-
-
-const TXnPropertyProxy KXnElementWithTextPropertyTable[] =
-	{
-	    {(const void*)&KTextOverflowMode,   EFalse},
-	    {(const void*)&KFontFamily,         ETrue},
-	    {(const void*)&KFontSize,           ETrue},
-	    {(const void*)&KFontWeight,         ETrue},
-	    {(const void*)&KFontStyle,          ETrue},
-	    {(const void*)&KTextDecoration,     EFalse}
-	};
-
-const TXnPropertyProxy KXnTextElementPropertyTable[] =
-	{
-	    {(const void*)&KOverflow,       EFalse}
-	};
-	
-const TXnPropertyProxy KXnGridAndListPropertyTable[] =
-	{
-	    {(const void*)&KVisibleRows,          EFalse},
-	    {(const void*)&KInitialSelection,     EFalse},
-	    {(const void*)&KFocusHorLooping,      EFalse},
-	    {(const void*)&KFocusVerLooping,      EFalse},
-	    {(const void*)&KOverflow,             EFalse}
-	};
-
-const TXnPropertyProxy KXnDataGridAndGridPropertyTable[] =
-	{
-	    {(const void*)&KGridColumns,            EFalse},
-	    {(const void*)&KS60GridOrientation,     EFalse},
-	    {(const void*)&KS60GridVerDirection,    EFalse},
-	    {(const void*)&KS60GridHorDirection,    EFalse}
-	};
-	
-const TXnPropertyProxy KXnViewsAndViewPropertyTable[] =
-	{
-	    {(const void*)&KViewDecoration,          EFalse},
-	    {(const void*)&KTabStyle,                ETrue},
-	    {(const void*)&KTabColor,                ETrue},
-	    {(const void*)&KTabImg,                  EFalse},
-	    {(const void*)&KViewTransitionEffect,    EFalse}
-	};
-
-const TXnPropertyProxy KXnViewPropertyTable[] =
-	{
-	    
-	    {(const void*)&KTabLabel,   EFalse}
-	   
-	};				    
-// CLASS DECLARATION
-
-
-#endif      // MXN_DOM_VISITOR_H  
-            
-// End of File
--- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/102072BE.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 102072BE.RSS
-//
-#include <ecom/registryinfo.rh>
-#include "xndomvisitor.rh"
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = 0x102072BE;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = KXnDomVisitorIId;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = KXnDomVisitorImplUid;
-                version_no = 1;
-                display_name = "Node element ns";
-                default_data = "inheritpropertyvisitor";
-                opaque_data = "";
-                }
-            };    
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/xndomvisitor.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +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:  Visitor class to modify DOM node element's data 
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndomvisitor.h"
-#include    "xnliteral.h"
-#include    "xndomlist.h"
-#include    "xndomproperty.h"
-#include    "xndomstringpool.h"
-#include    <ecom/ecom.h>
-
-// CONSTANTS
-_LIT8(KNS, "inheritpropertyvisitor");
-
-//Function declarations
-LOCAL_C void SetPropertiesL( const TXnPropertyProxy aTable[], TInt aCount, TAny* aData );
-LOCAL_C void SetCommonPropertiesL( TAny* aData );
-LOCAL_C void SetElementWithTextPropertiesL( TAny* aData );
-LOCAL_C void SetTextElementPropertiesL( TAny* aData );
-LOCAL_C void SetGridAndListPropertiesL( TAny* aData );
-LOCAL_C void SetDataGridAndGridPropertiesL( TAny* aData );
-LOCAL_C void SetViewsAndViewPropertiesL( TAny* aData );
-LOCAL_C void SetViewPropertiesL( TAny* aData );
-
-const TXnElementVisitor KXnElementVisitorTable[]=
-    {
-        { (const void*)&KProperty,          NULL,                           EEmpty},
-        { (const void*)&KXmluiml,           NULL,                           EEmpty},
-        { (const void*)&KInclude,           NULL,                           EEmpty},
-        { (const void*)&KViews,             NULL,                           EEmpty},
-        { (const void*)&KView,              &SetViewPropertiesL,            EEmpty},
-        { (const void*)&KPanes,             &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KStatusPane,        &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KMainPane,          &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KControlPane,       &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KDialogs,           &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KDialog,            &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KNote,              &SetTextElementPropertiesL,     EEmpty},
-        { (const void*)&KUiDefinition,      NULL,                           EEmpty},
-        { (const void*)&KApplication,       NULL,                           EEmpty},
-        { (const void*)&KDesc,              NULL,                           EPCData},
-        { (const void*)&KButton,            &SetTextElementPropertiesL,     EEmpty},
-        { (const void*)&KGrid,              &SetDataGridAndGridPropertiesL, EEmpty},
-        { (const void*)&KListItem,          &SetElementWithTextPropertiesL, EEmpty},
-        { (const void*)&KDataGrid,          &SetDataGridAndGridPropertiesL, EEmpty},
-        { (const void*)&KGridCellTemplate,  &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KList,              &SetGridAndListPropertiesL,     EEmpty},
-        { (const void*)&KDataList,          &SetGridAndListPropertiesL,     EEmpty},
-        { (const void*)&KListRowTemplate,   &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KMenuBar,           NULL,                           EEmpty},
-        { (const void*)&KMenu,              NULL,                           EEmpty},
-        { (const void*)&KMenuItem,          NULL,                           EEmpty},
-        { (const void*)&KText,              &SetTextElementPropertiesL,     EPCData},
-        { (const void*)&KImage,             &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KEditor,            &SetElementWithTextPropertiesL, EEmpty},
-	    { (const void*)&KMarquee,           &SetElementWithTextPropertiesL, EPCData},
-	    { (const void*)&KNewsticker,        &SetElementWithTextPropertiesL, EPCData},
-	    { (const void*)&KAnimation,         &SetCommonPropertiesL,          EPCData},
-
-        { (const void*)&KObject,            NULL,          		            EPCData},
-        { (const void*)&KParam,             NULL,          		            EEmpty},
-	    { (const void*)&KTooltip,           &SetElementWithTextPropertiesL, EEmpty},
-        
-	    { (const void*)&KBox,               &SetCommonPropertiesL,          EEmpty},
-        { (const void*)&KAction,            NULL,                           EEmpty},
-        { (const void*)&KTrigger,           NULL,                           EEmpty},
-        { (const void*)&KEvent,             NULL,                           EEmpty}
-    };
-
-// ============================ LOCAL FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// SetPropertiesL Set properties which can inherit and doesn't exist yet.
-// Returns: On return proeprty list contains properties which can inherit 
-// -----------------------------------------------------------------------------
-//
-LOCAL_C void SetPropertiesL( 
-    const TXnPropertyProxy aTable[], 
-    TInt aItemCount, 
-    TAny* aData )
-    {
-    CXnDomList* propertyList = reinterpret_cast<CXnDomList*>( aData );
-    CXnDomStringPool* stringPool = propertyList->StringPool();
-    
-    for ( TInt i=0; i<aItemCount; i++ )
-        {
-        CXnDomProperty* property = NULL;
-        const TDesC8* name = 
-            reinterpret_cast<const TDesC8*>( aTable[i].iName );
-        
-        CXnDomProperty* foundProperty = 
-            static_cast<CXnDomProperty*>( propertyList->FindByName( *name ) );
-        if (  aTable[i].iInherit )
-            {
-            if (!foundProperty)
-                {
-                property = CXnDomProperty::NewL( *name, stringPool );
-                property->SetInherited( aTable[i].iInherit );
-                CleanupStack::PushL( property );
-                propertyList->AddItemL( property );
-                CleanupStack::Pop( property );
-                }
-            else
-                {
-                foundProperty->SetInherited( aTable[i].iInherit );
-                }    
-            }
-        }
-    }
-    
-LOCAL_C void SetCommonPropertiesL( TAny* aData )
-    {
-    TInt count( sizeof (KXnCommonPropertyTable) / sizeof(TXnPropertyProxy) );
-    SetPropertiesL( KXnCommonPropertyTable, count, aData );
-    }
-
-LOCAL_C void SetElementWithTextPropertiesL( TAny* aData )
-    {
-    SetCommonPropertiesL( aData );
-    TInt count( sizeof (KXnElementWithTextPropertyTable) / sizeof(TXnPropertyProxy) );
-    SetPropertiesL( KXnElementWithTextPropertyTable, count, aData );
-    }    
-
-LOCAL_C void SetTextElementPropertiesL( TAny* aData )
-    {
-    SetElementWithTextPropertiesL( aData );
-    TInt count( sizeof (KXnTextElementPropertyTable) / sizeof(TXnPropertyProxy) );
-    SetPropertiesL( KXnTextElementPropertyTable, count, aData );
-    }
-
-LOCAL_C void SetGridAndListPropertiesL( TAny* aData )
-    {
-    SetCommonPropertiesL( aData );
-    TInt count( sizeof (KXnGridAndListPropertyTable) / sizeof(TXnPropertyProxy) );
-    SetPropertiesL( KXnGridAndListPropertyTable, count, aData );
-    }
-
-LOCAL_C void SetDataGridAndGridPropertiesL( TAny* aData )
-    {
-    SetGridAndListPropertiesL( aData );
-    TInt count( sizeof (KXnDataGridAndGridPropertyTable) / sizeof(TXnPropertyProxy) );
-    SetPropertiesL( KXnDataGridAndGridPropertyTable, count, aData );
-    }
-        
-
-LOCAL_C void SetViewsAndViewPropertiesL( TAny* aData )
-    {
-    SetCommonPropertiesL( aData );
-    TInt count( sizeof (KXnViewsAndViewPropertyTable) / sizeof(TXnPropertyProxy) );
-    SetPropertiesL( KXnViewsAndViewPropertyTable, count, aData );
-    }
-    
-LOCAL_C void SetViewPropertiesL( TAny* aData )
-    {
-    SetViewsAndViewPropertiesL( aData );
-    TInt count( sizeof (KXnViewPropertyTable) / sizeof(TXnPropertyProxy) );
-    SetPropertiesL( KXnViewPropertyTable, count, aData );
-    }
-
-
-    
-        
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnDomVisitor::NewL
-// -----------------------------------------------------------------------------    
-MXnDomVisitor* CXnDomVisitor::NewL()
-    {
-    return new (ELeave) CXnDomVisitor();
-    }    
-
-// -----------------------------------------------------------------------------
-// CXnDomVisitor::CXnDomVisitor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnDomVisitor::CXnDomVisitor()
-    {
-    }
-
-
-// Destructor
-CXnDomVisitor::~CXnDomVisitor()
-    {
-    REComSession::DestroyedImplementation( iDtorKey );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomVisitor::IsVersion
-// -----------------------------------------------------------------------------    
-TBool CXnDomVisitor::IsVersion( const TDesC8& aVersion )
-    {
-    return (KNS().Compare( aVersion ) == 0);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomVisitor::ModifyDataL
-// -----------------------------------------------------------------------------    
-void CXnDomVisitor::ModifyDataL( CXnDomNode& aNode )
-    {
-    TInt count( sizeof(KXnElementVisitorTable) / sizeof( TXnElementVisitor ) );
-
-    TBool found = EFalse;    
-    for ( TInt i=0; i<count && !found; i++ )   
-        {
-        const TDesC8* name = 
-            reinterpret_cast<const TDesC8*>( KXnElementVisitorTable[i].iName );
-            
-        if ( name && name->Compare( aNode.Name() ) == 0)
-            {
-            if ( KXnElementVisitorTable[i].iFuncPtr )
-                {
-                KXnElementVisitorTable[i].iFuncPtr( &aNode.PropertyList() );
-                }
-            found = ETrue;   
-            }    
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnDomVisitor::SetElementTypeL
-// -----------------------------------------------------------------------------    
-void CXnDomVisitor::SetElementTypeL( CXnDomNode& aNode )
-    {
-    TInt count( sizeof(KXnElementVisitorTable) / sizeof( TXnElementVisitor ) );
-
-    TBool found = EFalse;    
-    for ( TInt i=0; i<count && !found; i++ )   
-        {
-        const TDesC8* name = 
-            reinterpret_cast<const TDesC8*>( KXnElementVisitorTable[i].iName );
-            
-        if ( name && name->Compare( aNode.Name() ) == 0)
-            {
-            aNode.SetContentType(KXnElementVisitorTable[i].iContentType);
-            found = ETrue;   
-            }    
-        }
-    }
-// -----------------------------------------------------------------------------
-// CXnDomVisitor::CreateElementL
-// -----------------------------------------------------------------------------                               
-void CXnDomVisitor::SetDtorKey( const TUid aDtorKey )
-    {
-    iDtorKey = aDtorKey;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDomVisitor::Release
-// -----------------------------------------------------------------------------                               
-void CXnDomVisitor::Release()
-    {
-    delete this;
-    }
-
-//  End of File  
-
--- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/xndomvisitorproxy.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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:  ECom plugins implementation proxy
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xndomvisitor.h"
-#include    "xndomvisitor.rh"
-
-#include	<e32base.h>
-#include 	<ecom/implementationproxy.h>
-
-
-
-// Provides a key value pair table, this is used to identify
-// the correct construction function for the requested interface.
-const TImplementationProxy ImplementationTable[] =
-	{
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY( KXnDomVisitorImplUid, CXnDomVisitor::NewL )
-#else
-    {KXnDomVisitorImplUid, CXnDomVisitor::NewL }
-#endif
-	};
-
-// Function used to return an instance of the proxy table.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-	{
-	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-	return ImplementationTable;
-	}
-	
-//  End of File  
--- a/idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/bwins/xn3ecomelementproxyu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?CreateImplementationL@TXnEComElementProxy@@SAPAVMXnDomVisitor@@ABVTDesC8@@@Z @ 1 NONAME ; class MXnDomVisitor * TXnEComElementProxy::CreateImplementationL(class TDesC8 const &)
-
--- a/idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/eabi/xn3ecomelementproxyu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_ZN19TXnEComElementProxy21CreateImplementationLERK6TDesC8 @ 1 NONAME
-
--- a/idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  Bld.inf file for EcomElementProxy module
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-xnecomelementproxy.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/group/xnecomelementproxy.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:  Project makefile for
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET      xn3ecomelementproxy.dll
-CAPABILITY  CAP_GENERAL_DLL
-TARGETTYPE  dll
-UID         0x1000008d 0x10207393
-
-VENDORID    VID_DEFAULT
-
-
-SOURCEPATH	../src 
-SOURCE      xnecomelementproxy.cpp
-
-
-USERINCLUDE . 
-USERINCLUDE ../inc
-USERINCLUDE ../../../../inc
-USERINCLUDE ../../xndomvisitor/inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         ecom.lib 
-LIBRARY         charconv.lib 
-
-LANG			SC
-
-START WINS      
-
-END
-
-START MARM
-
-END
-
-
-
--- a/idlehomescreen/xmluirendering/ecomelement/xnecomelementproxy/src/xnecomelementproxy.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:  Entry point for accessing xmluiml language specific element plugins.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xnecomelementproxy.h"
-#include    "utf.h"
-#include    "xndomvisitor.rh"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TXnEComElementProxy::CreateImplementationL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnDomVisitor * TXnEComElementProxy::CreateImplementationL( 
-    const TDesC8& aNS )
-	{
-	TUid dtor={0};
-    TUid interfaceUid = {KXnDomVisitorIId};
-	// Let's find namespace e.g http://www.series60.com/xml/xmluiml/1
-    TEComResolverParams resolverParams;
-	resolverParams.SetDataType( aNS );
-	resolverParams.SetWildcardMatch( ETrue );
-	
-	TAny * ecom = NULL;
-#ifdef _DEBUG
-	TRAPD(err, ecom= REComSession::CreateImplementationL( interfaceUid, dtor,
-	                NULL, resolverParams));
-	if( err != KErrNone )
-	    {
-	    REComSession::FinalClose();
-	    User::Leave( err );
-	    }
-#else
-    ecom= REComSession::CreateImplementationL( interfaceUid, dtor,
-	                NULL, resolverParams);
-#endif
-    MXnDomVisitor* element = element = reinterpret_cast<MXnDomVisitor*>(ecom);	    
-	element->SetDtorKey( dtor );
-    
-    return element;
-	}
-//  End of File  
--- a/idlehomescreen/xmluirendering/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:  Master bld.inf which builds all Xuikon Framework's essential
-*                components, variant dependent initial data, and testing modules.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include <bldvariant.hrh>
-#include "../inc/xuikon_builds_cfg.hrh"
-
-// building Xuikon Framework always-needed modules:
-#include "../dom/group/bld.inf"
-#include "../uiresource/group/bld.inf"
-#include "../odt/group/bld.inf"
-
-
-#include "../utils/group/bld.inf"
-#include "../renderingplugins/extrenderingplugin/group/bld.inf"
-#include "../uiengine/group/bld.inf"
-#include "../renderingplugins/xntextfactory/group/bld.inf"
-#include "../renderingplugins/xnviewfactory/group/bld.inf"
-#include "../renderingplugins/xnbitmapfactory/group/bld.inf"
-#include "../renderingplugins/xnmenufactory/group/bld.inf"
-#include "../renderingplugins/xnpopupfactory/group/bld.inf"
-#include "../renderingplugins/xnnppluginfactory/group/bld.inf"
-#include "../renderingplugins/xnclockfactory/group/bld.inf"
-#include "../renderingplugins/xnvolumecontrolfactory/group/bld.inf"
-#include "../renderingplugins/xnnewstickerfactory/group/bld.inf"
-#include "../renderingplugins/xntexteditorfactory/group/bld.inf"
-#include "../renderingplugins/xnanimationfactory/group/bld.inf"
-#include "../ecomelement/group/bld.inf"
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-../rom/ai3xmluirendering.iby     	CORE_APP_LAYER_IBY_EXPORT_PATH(ai3xmluirendering.iby)
-../rom/ai3xmluirendering_resources.iby	LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(ai3xmluirendering_resources.iby)
-
-PRJ_MMPFILES
--- a/idlehomescreen/xmluirendering/inc/xntimemon.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +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 CXN3TIMEMON_H
-#define CXN3TIMEMON_H
-
-//  INCLUDES
-#include <e32debug.h>
-#include <e32base.h>
-#include <e32std.h>
-#include <hal.h>
-#include <e32cmn.h>
-
-/**
-*  ?one_line_short_description.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since Series ?XX ?SeriesXX_version
-*/
-class CXn3TimeMon : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXn3TimeMon * NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXn3TimeMon ();
-
-    public: // New functions
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        inline static TTime StartTiming( const TDesC& aMsg );
-
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        inline static void StopTiming( TTime aStartTime, const TDesC& aMsg );
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        inline static void PrintUserMem(const TDesC& aMsg);
-
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXn3TimeMon ();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-inline TTime CXn3TimeMon::StartTiming(const TDesC& aMsg )
-    {
-    TTime startTime;
-    startTime.HomeTime(); 
-    RDebug::Print( aMsg );
-    return startTime;
-    }
-
-inline void CXn3TimeMon::StopTiming( TTime aStartTime, const TDesC& aMsg )
-    {
-    // calculating service time
-    TTime readyTime;
-    readyTime.HomeTime();
-    TTimeIntervalMicroSeconds delay = readyTime.MicroSecondsFrom( aStartTime );
-    TTime transferTime(delay.Int64());
-    TBuf<64> timeString;
-    transferTime.FormatL(timeString,_L(" Time: %S%C microseconds"));
-    TBuf<256> tmp;
-    tmp.Append( aMsg );
-    tmp.Append( timeString );
-    RDebug::Print( tmp ); 
-    }
-
-inline void CXn3TimeMon::PrintUserMem(const TDesC& aMsg)
-    {
-    TBuf<512> buffer;
-    TInt    freeRAM;
-    HAL::Get( HALData::EMemoryRAMFree, freeRAM );
-    RHeap heap = User::Heap();
-    heap.Open();
-    TInt _size = heap.Size();
-    TInt largest = 0;
-    TInt available = heap.Available( largest );
-    heap.Close();
-    _LIT( KMemoryFormat, "FreeRAM: %d kB, User: - heap %d kB, available %d kB, largest block %d kB" );
-    buffer.Format( KMemoryFormat, ( freeRAM / 1024), (_size / 1024),
-                                    (available / 1024), (largest / 1024 ) );
-
-    RDebug::Print( _L("Xuikon:RAM:%S: %S"), &aMsg, &buffer ); 
-    }
-
-#endif      // CXN3TIMEMON_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/inc/xuikon_builds_cfg.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +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:  Build-flags definition file for Xuikon R&D. Should be deleted in product.
-*
-*/
-
-
-#ifndef __XUIKON_BUILDS_HRH__
-#define __XUIKON_BUILDS_HRH__
-
-
-#undef __3D_MENU
-
-
-// Support for theme installation in UiEngine
-//#define __XN3_THEME_INSTALLER
-#undef __XN3_THEME_INSTALLER
-
-// _XN3_INTERNAL_ is for Xuikon internal image builds, never defined in official 
-// builds. The flag controls definition repository file exporting and iby-exporting. 
-
-// Comment/uncomment the next lines (#define _XN3_INTERNAL_) if you are going to build internal/official build. 
-// The flag presumes that XuikonTestTools are located under Xuikon/internal-folder.
-//#define _XN3_INTERNAL_
-#undef _XN3_INTERNAL_
-
-// _XN3_DEBUG_ controls Xuikon debug-build. Can be used with internal and external 
-// builds as an additional build flag.
-// Comment/uncomment the next line (#define _XN3_DEBUG_) if you are willing to allow RDebug-prints 
-// and Xuikon modified MemMon-app included in Xuikon-build. Its in your responsibility if you do so.
-//#define _XN3_DEBUG_
-#undef _XN3_DEBUG_
-
-// Support for detecting file changes in emulator
-#undef _XN3_EMULATOR_SUPPORT_
-
-// Flag for performace test instrumentations
-//#define _XN3_PERFORMANCE_TEST_
-#undef _XN3_PERFORMANCE_TEST_
-
-#ifdef _XN3_DEBUG_
-#define _XN3_PERFORMANCE_TEST_
-#if defined(WINSCW) || defined(__WINS__) //WINSCW for MMP 
-#define _XN3_EMULATOR_SUPPORT_
-#endif
-#endif
-
-// Comment/uncomment the next line (#define _XN3_SECURITY_NOT_IN_USE_) if you are willing to take access rights 
-// and validity checks off in Xuikon-build.
-//#define _XN3_SECURITY_NOT_IN_USE_
-#undef _XN3_SECURITY_NOT_IN_USE_
-
-// using memory chunks in theme load
-//#define _XN3_USE_CHUNK_MODE_
-
-// using file handle in theme load - default
-#undef _XN3_USE_CHUNK_MODE_
-
-#endif// __XUIKON_BUILDS_HRH__
--- a/idlehomescreen/xmluirendering/odt/bwins/xn3odtu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	?DomDocument@CXnODT@@QBEAAVCXnDomDocument@@XZ @ 1 NONAME ; class CXnDomDocument & CXnODT::DomDocument(void) const
-	?InternalizeHeaderL@CXnODT@@SAXAAVRReadStream@@@Z @ 2 NONAME ; void CXnODT::InternalizeHeaderL(class RReadStream &)
-	?InternalizeDomDocumentL@CXnODT@@QAEPAVCXnDomNode@@AAVRReadStream@@@Z @ 3 NONAME ; class CXnDomNode * CXnODT::InternalizeDomDocumentL(class RReadStream &)
-	?NewL@CXnODT@@SAPAV1@XZ @ 4 NONAME ; class CXnODT * CXnODT::NewL(void)
-	?InternalizeResourceListL@CXnODT@@SAPAV?$CArrayPtrSeg@VCXnResource@@@@AAVRReadStream@@@Z @ 5 NONAME ; class CArrayPtrSeg<class CXnResource> * CXnODT::InternalizeResourceListL(class RReadStream &)
-
--- a/idlehomescreen/xmluirendering/odt/eabi/xn3odtu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	_ZN6CXnODT18InternalizeHeaderLER11RReadStream @ 1 NONAME
-	_ZN6CXnODT23InternalizeDomDocumentLER11RReadStream @ 2 NONAME
-	_ZN6CXnODT24InternalizeResourceListLER11RReadStream @ 3 NONAME
-	_ZN6CXnODT4NewLEv @ 4 NONAME
-	_ZNK6CXnODT11DomDocumentEv @ 5 NONAME
-	_ZTI6CXnODT @ 6 NONAME ; #<TI>#
-	_ZTV6CXnODT @ 7 NONAME ; #<VT>#
-
--- a/idlehomescreen/xmluirendering/odt/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  ?Description
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-//Exporting new system headers:
-
-PRJ_MMPFILES
-xnodt.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-//  End of File  
\ No newline at end of file
--- a/idlehomescreen/xmluirendering/odt/group/xnodt.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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:  MMP-file for XnODT
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          xn3odt.dll
-TARGETTYPE      dll
-
-SOURCEPATH      ../src
-SOURCE          xnodt.cpp
-
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-LIBRARY         euser.lib
-LIBRARY         efsrv.lib
-LIBRARY         estor.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY         xn3resource.lib
-LANG            SC
-
-//end of file
--- a/idlehomescreen/xmluirendering/odt/src/xnodt.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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:  Class represents an Object Description Tree of Xuikon.
-*
-*/
-
-#include <s32strm.h>
-#include <s32mem.h>
-#include "xndomdocument.h"
-#include "xnresource.h"
-#include "xnodt.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnODT::CXnODT
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnODT::CXnODT()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODT::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnODT::ConstructL()
-    {
-    iDomDocument = CXnDomDocument::NewL();    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODT::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnODT* CXnODT::NewL()
-    {
-    CXnODT* self = new( ELeave ) CXnODT;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// Destructor
-CXnODT::~CXnODT()
-    {
-    delete iDomDocument;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODT::InternalizeHeaderL
-// Internalizes the ODT header
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------       
-EXPORT_C void CXnODT::InternalizeHeaderL( RReadStream& aStream )
-    {
-    // Dummy internalize to support legacy for backward compatibility
-    
-    // iAppUid 
-    (void)aStream.ReadUint32L();
-    // iProviderUid
-    (void)aStream.ReadUint32L();    
-    // iThemeUid
-    (void)aStream.ReadUint32L();
-           
-    // iProviderName
-    HBufC::NewLC( aStream, KMaxFileName );        
-    // iThemeFullName
-    HBufC::NewLC( aStream, KMaxFileName );
-    // iThemeShortName
-    HBufC::NewLC( aStream, KMaxFileName );
-    // iThemeVersion
-    HBufC::NewLC( aStream, KMaxFileName );
-    
-    CleanupStack::PopAndDestroy( 4 );
-    
-    // iScreenSizeX
-    (void)aStream.ReadUint32L();
-    // iScreenSizeY
-    (void)aStream.ReadUint32L();
-    // iLanguage
-    (void)aStream.ReadInt32L();
-    // iFlags
-    (void)aStream.ReadUint32L();
-    
-    // consumes header delimiter
-    (void)aStream.ReadInt16L();    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODT::InternalizeResourceListL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-EXPORT_C CArrayPtrSeg< CXnResource >* CXnODT::InternalizeResourceListL( 
-    RReadStream& aStream )
-    {
-    CArrayPtrSeg< CXnResource >* list = 
-        new( ELeave ) CArrayPtrSeg<CXnResource>( 4 ); 
-
-    CleanupStack::PushL( list );
-    
-    // stream in the resource list
-    TInt count( aStream.ReadInt32L() );
-    
-    for ( TInt i = 0; i < count; i++ ) 
-        {
-        CXnResource* resource = CXnResource::NewL();
-        CleanupStack::PushL( resource );
-        
-        resource->InternalizeL( aStream );
-        
-        list->AppendL( resource );
-        CleanupStack::Pop( resource ); // now owned by array        
-        }
-    
-    CleanupStack::Pop( list );
-    
-    return list;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODT::InternalizeDomDocumentL
-// Internalizes the ODT with shared document 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------       
-EXPORT_C CXnDomNode* CXnODT::InternalizeDomDocumentL( RReadStream& aStream )
-    {    
-    return ( iDomDocument->ReadL( aStream ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODT::DomDocument
-// Get DomDocument
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomDocument& CXnODT::DomDocument() const
-    {
-    return *iDomDocument;
-    }
-              
-//  End of File  
--- a/idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/bwins/extrenderingplugin.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	?SizeChanged@CXnExtRenderingPluginAdapter@@UAEXXZ @ 1 NONAME ; void CXnExtRenderingPluginAdapter::SizeChanged(void)
-	?NewL@CXnExtRenderingPluginAdapter@@SAPAV1@VTUid@@@Z @ 2 NONAME ; class CXnExtRenderingPluginAdapter * CXnExtRenderingPluginAdapter::NewL(class TUid)
-	?ExitPowerSaveModeL@CXnExtRenderingPluginAdapter@@UAEXXZ @ 3 NONAME ; void CXnExtRenderingPluginAdapter::ExitPowerSaveModeL(void)
-	?FocusChanged@CXnExtRenderingPluginAdapter@@UAEXW4TDrawNow@@@Z @ 4 NONAME ; void CXnExtRenderingPluginAdapter::FocusChanged(enum TDrawNow)
-	?SkinChanged@CXnExtRenderingPluginAdapter@@UAEXXZ @ 5 NONAME ; void CXnExtRenderingPluginAdapter::SkinChanged(void)
-	?ImplUid@CXnExtRenderingPluginAdapter@@QBE?AVTUid@@XZ @ 6 NONAME ; class TUid CXnExtRenderingPluginAdapter::ImplUid(void) const
-	??1CXnExtRenderingPluginAdapter@@UAE@XZ @ 7 NONAME ; CXnExtRenderingPluginAdapter::~CXnExtRenderingPluginAdapter(void)
-	?EnterPowerSaveModeL@CXnExtRenderingPluginAdapter@@UAEXXZ @ 8 NONAME ; void CXnExtRenderingPluginAdapter::EnterPowerSaveModeL(void)
-
--- a/idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/eabi/extrenderingplugin.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-EXPORTS
-	_ZN28CXnExtRenderingPluginAdapter11SizeChangedEv @ 1 NONAME
-	_ZN28CXnExtRenderingPluginAdapter11SkinChangedEv @ 2 NONAME
-	_ZN28CXnExtRenderingPluginAdapter12FocusChangedE8TDrawNow @ 3 NONAME
-	_ZN28CXnExtRenderingPluginAdapter18ExitPowerSaveModeLEv @ 4 NONAME
-	_ZN28CXnExtRenderingPluginAdapter19EnterPowerSaveModeLEv @ 5 NONAME
-	_ZN28CXnExtRenderingPluginAdapter4NewLE4TUid @ 6 NONAME
-	_ZN28CXnExtRenderingPluginAdapterD0Ev @ 7 NONAME
-	_ZN28CXnExtRenderingPluginAdapterD1Ev @ 8 NONAME
-	_ZN28CXnExtRenderingPluginAdapterD2Ev @ 9 NONAME
-	_ZNK28CXnExtRenderingPluginAdapter7ImplUidEv @ 10 NONAME
-	_ZTI28CXnExtRenderingPluginAdapter @ 11 NONAME
-	_ZTV28CXnExtRenderingPluginAdapter @ 12 NONAME
-
--- a/idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:  External rendering plugin bld file
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-extrenderingplugin.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/group/extrenderingplugin.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  external rendering plugin project file
-*
-*/
-
-#include <platform_paths.hrh>
-
- 
-TARGET            extrenderingplugin.dll
-TARGETTYPE        dll
-
-CAPABILITY        CAP_GENERAL_DLL
-VENDORID          VID_DEFAULT
-
-USERINCLUDE       ../inc
-USERINCLUDE       ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH        ../src
-
-SOURCE            xnextrenderingpluginadapter.cpp
-
-//By default, the build tools look for the WINSCW def file in a BWINS directory
-//(at the same level as the directory containing the mmp file), 
-//the GCC ARM def file in a BMARM directory, and the ARMV5 def file in a EABI directory. 
-//If def files are stored in these locations, the project files does not need to specify
-//the location of the def files explicitly. If you want to store the def files in some other 
-//location, you will need to specify in the project file where the .def files are using 
-//the deffile keyword.
-
-//The following commented out code shows how the build system uses the implicit
-// location for defiles. To create the DEF files Choose Project > Freeze Exports from Carbide
-// or run 'abld freeze' from the command-line
-//#if defined (WINS)
-//  DEFFILE ../bwins/extrenderingplugin.def
-//#elif defined (GCC32)
-//  DEFFILE ../bmarm/extrenderingplugin.def
-//#else 
-//  DEFFILE ../eabi/extrenderingplugin.def
-//#endif
-
-nostrictdef
-
-LIBRARY           euser.lib
-LIBRARY           estor.lib
-LIBRARY           ecom.lib
-LIBRARY           charconv.lib
-LIBRARY           cone.lib
-
-LANG              SC
-
-#ifdef ENABLE_ABIV2_MODE
-DEBUGGABLE
-#endif
-
--- a/idlehomescreen/xmluirendering/renderingplugins/extrenderingplugin/src/xnextrenderingpluginadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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:  External rendering plugin adapter base class implementation
-*
-*/
-
-// System include files
-#include <ecom/ecom.h>
-#include <ecom/implementationinformation.h>
-#include <xnextrenderingpluginadapter.h>
-
-// Local constants
-
-// ======== MEMBER FUNCTIONS ========
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginAdapter::NewL()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CXnExtRenderingPluginAdapter* CXnExtRenderingPluginAdapter::NewL( TUid aImplUid )
-    {
-    TAny* ptr = REComSession::CreateImplementationL( aImplUid,
-        _FOFF( CXnExtRenderingPluginAdapter, iDestructKey ) );
-
-    CXnExtRenderingPluginAdapter* adapter =
-        reinterpret_cast< CXnExtRenderingPluginAdapter* >( ptr );
-        
-    if( adapter )
-        {
-        adapter->iImplUid = aImplUid;
-        }
-    
-    return adapter;
-    }
-    
-// -----------------------------------------------------------------------
-// CXnExtRenderingPluginAdapter::ImplUid()
-// -----------------------------------------------------------------------
-//
-EXPORT_C TUid CXnExtRenderingPluginAdapter::ImplUid() const
-    {
-    return iImplUid;
-    }
-    
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginAdapter::~CXnExtRenderingPluginAdapter()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CXnExtRenderingPluginAdapter::~CXnExtRenderingPluginAdapter()
-    {
-    REComSession::DestroyedImplementation( iDestructKey );
-    }
-  
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginAdapter::EnterPowerSaveModeL()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CXnExtRenderingPluginAdapter::EnterPowerSaveModeL()
-	{
-	}    
-	
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginAdapter::ExitPowerSaveModeL()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CXnExtRenderingPluginAdapter::ExitPowerSaveModeL()
-	{
-	}
-	
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginAdapter::SkinChanged()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CXnExtRenderingPluginAdapter::SkinChanged()
-	{
-	}  	
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginAdapter::FocusChanged()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CXnExtRenderingPluginAdapter::FocusChanged( TDrawNow /*aDrawNow*/ )
-	{
-	}
-	
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginAdapter::SizeChanged()
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CXnExtRenderingPluginAdapter::SizeChanged()
-	{
-	}
-
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Building information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xnanimationfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/group/xnanimationfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon Animation plugin.
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include  <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3animationfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_ANIMATIONFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xnanimationfactory.cpp
-SOURCE          xnanimation.cpp
-SOURCE          xnanimationadapter.cpp 
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY	        euser.lib  
-LIBRARY         cone.lib
-LIBRARY	        xn3layoutengine.lib
-LIBRARY	        xn3utils.lib
-LIBRARY         avkon.lib
-LIBRARY         aknskins.lib 
-
-LANG            SC
-
-START RESOURCE  xn3animationfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3animationfactory.rsc
-#endif
-END
--- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/inc/xnanimationadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implements Xuikon animation component.
-*
-*/
-
-
-
-#ifndef _XNANIMATIONAPADAPTER_H
-#define _XNANIMATIONAPADAPTER_H
-
-//  INCLUDES
-#include "xncontroladapter.h"
-
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-class CAknBitmapAnimation;
-class CXnAnimationControl;
-class CPeriodic;
-
-// CLASS DECLARATION
-/**
-*  @ingroup group_xnbitmapfactory
-*  @lib xn3bitmapfactory.dll
-*  @since Series 60 3.1
-*/
-class CXnAnimationAdapter : public CXnControlAdapter
-   {
-    public:
-        /**
-         * 2 phase construction.
-         */
-        static CXnAnimationAdapter* NewL(CXnNodePluginIf& aNode);
-    
-        /**
-         * Destructor.
-         */
-        virtual ~CXnAnimationAdapter();
-    
-    public: // From Base classes 
-        /**
-        * From CXnControlAdapter Handles the property changes.
-        * @since Series 60 3.1
-        * @return void.
-        */    
-        void DoHandlePropertyChangeL(CXnProperty* aProperty = NULL);
-        
-    protected:
-        /**
-         * From CCoeControl.
-         * Draws the control.
-         * 
-         * @param aRect TRect to draw
-         */
-        void Draw(const TRect& aRect) const;
-        
-        /**
-        * From CCoeControl.
-        * Control   visual state.
-        * 
-        * @param aVisible visibility (ETrue/EFalse)
-        */
-        void MakeVisible( TBool aVisible );
-        
-    private:
-        /**
-        * Constructor 
-        * 
-        * @param aNode plugin node
-        */
-        CXnAnimationAdapter(CXnNodePluginIf& aNode);
-        
-        /**
-        * 2nd phase constructor 
-        * 
-        * @param aNode plugin node
-        */
-        void ConstructL(CXnNodePluginIf& aNode);
-    
-        /**
-        * Periodic timer call back  
-        * 
-        * @param aAny pointer reference
-        */
-        static TInt TimerCallBack(TAny* aAny);
-        
-        /**
-        * Update the next image for animation  
-        * 
-        */
-        void Update();
-    
-        /**
-        * Starts the animation   
-        * 
-        */
-        void StartAnimation();
-        
-        /**
-        * Stops the animation   
-        * 
-        */
-        void StopAnimation();
-        
-    private: // Data
-        
-        // UI node, not owned
-        CXnNodePluginIf& iNode;
-       
-        // Image Skind Id
-        TAknsItemID iSkinId;
-       
-        // Timer for animation, owned  
-        CPeriodic* iPeriodicTimer;
-   };
-
-#endif      // _XNANIMATIONAPADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/inc/xnanimationfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Factory for creating CXnAnimation -component
-*
-*/
-
-#ifndef _XNANIMATIONFACTORY_H
-#define _XNANIMATIONFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-#include <e32base.h>
-#include <e32std.h>
-
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-// FORWARD DECLARATIONS
-class CXnComponent;
-class CXnMap;
-class CXnType;
-
-// CLASS DECLARATION
-/**
-*  @ingroup group_xnanimationfactory
-*  Layout Area UI factory interface for creating UI representations of the layout areas.
-*  This class is wrapper for containing CAnimation
-*
-*  @lib xn3animationfactory.dll
-*  @since Series 60 3.1
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnAnimationFactory : public MXnComponentFactory, public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnAnimationFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnAnimationFactory();
-
-    public: // Functions from base classes
-
-		/**
-		* @see MXnComponentFactory.h
-		*/
-        TXnComponentFactoryResponse MakeXnComponentL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnComponent*& aTargetComponent
-        										);
-
-		/**
-		* @see MXnComponentFactory.h
-		*/
-        CXnControlAdapter* MakeXnControlAdapterL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnControlAdapter* aParent = NULL
-        										);
-
-    private:
-
-        /**
-        * 2nd phase constructor. 
-        */
-        void ConstructL();
-
-        /**
-        * C++ default constructor. 
-        */
-        CXnAnimationFactory();
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNANIMATIONFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xn3animationfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 102073FE.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_ANIMATIONFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_ANIMATIONFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnAnimation";
-                default_data = "animation";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimation.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon Animation component.
-*
-*/
-
-
-
-#include "xnanimation.h"
-#include "xnanimationadapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnAnimation::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnAnimation* CXnAnimation::NewL()
-    {
-	CXnAnimation* self = new( ELeave ) CXnAnimation;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimation::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnAnimation::ConstructL()
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnAnimation::CXnAnimation
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnAnimation::CXnAnimation()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimation::~CXnAnimation
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnAnimation::~CXnAnimation()
-    {
-    }
-
-// ---------------------------------------------------------
-// CXnAnimation::MakeInterfaceL
-// ---------------------------------------------------------
-XnComponentInterface::MXnComponentInterface* CXnAnimation::MakeInterfaceL(const TDesC8& aType)
-    {
-    if (aType != XnAnimationInterface::KType)
-        {
-        return NULL;
-        }
-    XnAnimationInterface::MXnAnimationInterface* animationintr = static_cast<XnAnimationInterface::MXnAnimationInterface*>(this);
-    return animationintr;
-    }           
--- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon Bitmap Plugin.
-*
-*/
-#include <AknsUtils.h>
-#include <aknsdrawutils.h>
-#include <aknsconstants.h>
-#include <barsread.h>
-#include "xnnodepluginif.h"
-#include "xndomproperty.h"
-#include "xnproperty.h"
-#include "xncontroladapter.h"
-
-#include "xnanimationadapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnAnimationAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnAnimationAdapter* CXnAnimationAdapter::NewL(CXnNodePluginIf& aNode)
-    {
-	CXnAnimationAdapter* self = new( ELeave ) CXnAnimationAdapter( aNode );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aNode );
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimationAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnAnimationAdapter::ConstructL(CXnNodePluginIf& aNode)
-    {
-    CXnControlAdapter::ConstructL( aNode );
-    iSkinId = KAknsIIDNone;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnAnimationAdapter::CXnAnimationAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnAnimationAdapter::CXnAnimationAdapter(CXnNodePluginIf& aNode) : iNode( aNode )    
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimationAdapter::~CXnAnimationAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnAnimationAdapter::~CXnAnimationAdapter()
-    {
-    StopAnimation();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnAnimationAdapter::Draw
-// -----------------------------------------------------------------------------
-//
-void CXnAnimationAdapter::Draw(const TRect& aRect) const
-    {
-    CXnControlAdapter::Draw( aRect );    
-    AknsDrawUtils::DrawCachedImage( AknsUtils::SkinInstance(),
-               SystemGc(), aRect, iSkinId  );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimationAdapter::HandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CXnAnimationAdapter::DoHandlePropertyChangeL( CXnProperty* aProperty )
-    {
-    if( aProperty )
-        {
-        const TDesC8& name( aProperty->Property()->Name( ) );
-        
-        if( name == XnPropertyNames::style::common::KDisplay )
-           {
-           const TDesC8& display( aProperty->StringValue() );
- 
-           if( display == XnPropertyNames::style::common::display::KBlock )
-               {
-               StartAnimation();
-               }    
-           else
-               {
-               StopAnimation();
-               }
-           }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::MakeVisible()
-// -----------------------------------------------------------------------------
-//
-void CXnAnimationAdapter::MakeVisible( TBool aVisible )
-    {
-    TBool visible( IsVisible() ? ETrue : EFalse );
-    if ( visible == aVisible ) { return; }
-    
-    CCoeControl::MakeVisible( aVisible );
-    
-    if ( aVisible )
-        {
-        StartAnimation();
-        }
-    else
-        {
-        StopAnimation();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimationAdapter::Update
-// -----------------------------------------------------------------------------
-//
-void CXnAnimationAdapter::Update()
-    {
-    if ( iPeriodicTimer && iPeriodicTimer->IsActive() )
-        {
-        switch( iSkinId.iMinor )
-            {
-            case EAknsMinorGenericQgnHomeRefreshing1:
-                {
-                iSkinId.Set(KAknsIIDQgnHomeRefreshing2);
-                }
-                break;
-            case EAknsMinorGenericQgnHomeRefreshing2:
-                {
-                iSkinId.Set(KAknsIIDQgnHomeRefreshing3);
-                }
-                break;
-            case EAknsMinorGenericQgnHomeRefreshing3:
-                {
-                iSkinId.Set(KAknsIIDQgnHomeRefreshing4);
-                }
-                break;                
-            case EAknsMinorGenericQgnHomeRefreshing4:
-                {
-                iSkinId.Set(KAknsIIDQgnHomeRefreshing1);
-                }
-                break;
-            default :
-                break;
-            };
-        DrawNow();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CXnAnimationAdapter::PeriodicTimerCallBack(TAny* aAny)
-// The call back function.
-// ----------------------------------------------------------------------------
-//
-TInt CXnAnimationAdapter::TimerCallBack(TAny* aAny)
-    {
-    CXnAnimationAdapter* self = static_cast<CXnAnimationAdapter*> (aAny);
-
-    // Update widget
-    self->Update();
-
-    return KErrNone; // Return value ignored by CPeriodic
-    }
-
-// ----------------------------------------------------------------------------
-// CXnAnimationAdapter::StartAnimation()
-// ----------------------------------------------------------------------------
-//
-void CXnAnimationAdapter::StartAnimation()
-    {
-    if ( !iPeriodicTimer && IsVisible() )
-        {
-       TRAPD(err, iPeriodicTimer = CPeriodic::NewL(CActive::EPriorityIdle) );
-       if ( err == KErrNone )
-           {
-		   const TInt KPeriodicTimerInterval = 100000; // 0.1 sec
-           iPeriodicTimer->Start( KPeriodicTimerInterval,
-                   KPeriodicTimerInterval, TCallBack( TimerCallBack, this ) );
-           iSkinId = KAknsIIDQgnHomeRefreshing1;
-           }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CXnAnimationAdapter::StopAnimation()
-// ----------------------------------------------------------------------------
-//
-void CXnAnimationAdapter::StopAnimation()
-    {
-    if ( iPeriodicTimer && iPeriodicTimer->IsActive() )
-        {
-        iPeriodicTimer->Cancel();
-        }
-    delete iPeriodicTimer;
-    iPeriodicTimer = NULL;
-    iSkinId = KAknsIIDNone;
-    }
-
-// End of File
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation for factory creating container for Active Idle plugins.
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-#include "xnanimationfactory.h"
-#include "xnanimationadapter.h"
-#include "xnanimation.h"
-#include <aisystemuids.hrh>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-_LIT8(KXnAnimation, "animation");
-// -----------------------------------------------------------------------------
-// CXnAnimationFactory::MakeXnComponentL
-// -----------------------------------------------------------------------------
-//
-
-MXnComponentFactory::TXnComponentFactoryResponse CXnAnimationFactory::MakeXnComponentL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnComponent*& aTargetComponent
-										)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if (aNode.Type()->Type() == KXnAnimation)
-        {
-        aTargetComponent = CXnAnimation::NewL();
-        retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;
-	    }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimationFactory::MakeXnControlAdapterL
-// -----------------------------------------------------------------------------
-//
-
-CXnControlAdapter* CXnAnimationFactory::MakeXnControlAdapterL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnControlAdapter* /*aParent*/
-										)
-    {
-    return CXnAnimationAdapter::NewL(aNode);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnAnimationFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnAnimationFactory* CXnAnimationFactory::NewL()
-    {
-    CXnAnimationFactory* self = new( ELeave ) CXnAnimationFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimationFactory::CXnAnimationFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnAnimationFactory::CXnAnimationFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimationFactory::~CXnAnimationFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnAnimationFactory::~CXnAnimationFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAnimationFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnAnimationFactory::ConstructL()
-    {
-    }
-
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-    #ifdef __EABI__ 
-    	IMPLEMENTATION_PROXY_ENTRY(AI3_UID_RENDERING_PLUGIN_ANIMATIONFACTORY_IMPLEMENTATION, CXnAnimationFactory::NewL)
-    #else
-        {{AI3_UID_RENDERING_PLUGIN_ANIMATIONFACTORY_IMPLEMENTATION}, CXnAnimationFactory::NewL}
-    #endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
--- a/idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Building information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xnbitmapfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/group/xnbitmapfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon Bitmap plugin.
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3bitmapfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_BITMAPFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xnbitmapfactory.cpp
-SOURCE          xnbitmap.cpp
-SOURCE			xnbitmapadapter.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY	        euser.lib  
-LIBRARY         cone.lib
-LIBRARY	        xn3layoutengine.lib
-LIBRARY	        xn3utils.lib
-LIBRARY         avkon.lib
-
-LANG            SC
-
-START RESOURCE  xn3bitmapfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3bitmapfactory.rsc
-#endif
-END
--- a/idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/inc/xnbitmapadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implements Xuikon image component.
-*
-*/
-
-
-
-#ifndef _XNBITMAPADAPTER_H
-#define _XNBITMAPADAPTER_H
-
-//  INCLUDES
-#include "xncontroladapter.h"
-
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-
-// CLASS DECLARATION
-/**
-*  @ingroup group_xnbitmapfactory
-*  @lib xn3bitmapfactory.dll
-*  @since Series 60 3.1
-*/
-class CXnBitmapAdapter : public CXnControlAdapter
-   {
-public:
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnBitmapAdapter* NewL(CXnNodePluginIf& aNode);
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnBitmapAdapter();
-	
-
-public: // New functions
-    /**
-    * Sets content bitmaps. Ownership is transferred.
-    * @since Series 60 3.1
-    * @param aBitmap Bitmap to draw
-    * @param aMask Mask to use
-    */        
-    void SetContentBitmaps(CFbsBitmap* aBitmap, CFbsBitmap* aMask);   
-
-    /**
-    * Gets content bitmaps. Ownership not is transferred.
-    * @since Series 60 3.1
-    * @param aBitmap Bitmap to draw
-    * @param aMask Mask to use
-    */        
-    void ContentBitmaps(CFbsBitmap*& aBitmap, CFbsBitmap*& aMask);
-   
-public: // From Base classes 
-    /**
-    * From CXnControlAdapter Handles the property changes.
-    * @since Series 60 3.1
-    * @return void.
-    */    
-    void DoHandlePropertyChangeL(CXnProperty* aProperty = NULL);
-    
-    /**
-    * From CCoeControl Handles the resource change.
-    * @since Series 60 3.1
-    * @param aType A type of the resource change
-    * @return void.
-    */
-    void HandleScreenDeviceChangedL();
-
-    /**
-    * See CCoeControl documentation
-    */    	
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-    /**
-    * From CCoeControl Handles the skin change
-    * @since Series 60 3.2
-    * @return void.
-    */
-    void SkinChanged();
-
-protected:
-	/**
-    * Size change notification
-    */ 
-    void SizeChanged();    
-	void Draw(const TRect& aRect) const;
-
-private:
-	CXnBitmapAdapter(CXnNodePluginIf& aNode);
-	void ConstructL(CXnNodePluginIf& aNode);
-
-    void InitializeBitmapsL();
-private: // Data
-    // UI node, not owned
-    CXnNodePluginIf& iNode;
-    // Whether the bitmaps has been loaded or not.
-    mutable TBool iAreBitmapsLoaded;
-    // Whether the data API has been used or not.
-    TBool iAreBitmapsSet;
-    // Path of the bitmap
-    HBufC* iPath;
-    // The size of the current bitmap
-    TSize iBitmapSize;
-	// The path of the fallback image
-    HBufC* iFallbackPath;
-	// Whether fallback path has changed and bitmaps need to be reloaded
-    TBool iFallbackPathChange;
-   };
-
-
-
-#endif      // XNBITMAPADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/inc/xnbitmapfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Factory for creating CXnBitmap -component
-*
-*/
-
-
-
-#ifndef _XNBITMAPFACTORY_H
-#define _XNBITMAPFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-#include <e32base.h>
-#include <e32std.h>
-
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-// FORWARD DECLARATIONS
-class CXnComponent;
-class CXnMap;
-class CXnType;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnbitmapfactory
-*  Layout Area UI factory interface for creating UI representations of the layout areas.
-*  This class is wrapper for containing CBitmap
-*
-*  @lib xn3bitmapfactory.dll
-*  @since Series 60 3.1
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnBitmapFactory : public MXnComponentFactory, public CBase
-    {
-    public: // Data types
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnBitmapFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnBitmapFactory();
-
-    public: // Functions from base classes
-
-		/**
-		* @see MXnComponentFactory.h
-		*/
-        TXnComponentFactoryResponse MakeXnComponentL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnComponent*& aTargetComponent
-        										);
-
-		/**
-		* @see MXnComponentFactory.h
-		*/
-        CXnControlAdapter* MakeXnControlAdapterL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnControlAdapter* aParent = NULL
-        										);
-
-    private:
-
-        /**
-        * 2nd phase constructor. 
-        */
-        void ConstructL();
-
-        /**
-        * C++ default constructor. 
-        */
-        CXnBitmapFactory();
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNBITMAPFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/src/xn3bitmapfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 102073FE.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_BITMAPFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_BITMAPFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnImage";
-                default_data = "image";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/src/xnbitmap.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon Bitmap component.
-*
-*/
-
-
-
-#include "xnbitmap.h"
-#include "xnbitmapadapter.h"
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-
-
-// -----------------------------------------------------------------------------
-// CXnBitmap::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnBitmap* CXnBitmap::NewL()
-    {
-	CXnBitmap* self = new( ELeave ) CXnBitmap;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmap::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnBitmap::ConstructL()
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnBitmap::CXnBitmap
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnBitmap::CXnBitmap()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmap::~CXnBitmap
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnBitmap::~CXnBitmap()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmap::SetContentBitmaps
-// -----------------------------------------------------------------------------
-//
-void CXnBitmap::SetContentBitmaps(CFbsBitmap* aBitmap, CFbsBitmap* aMask)
-    {
-    (static_cast<CXnBitmapAdapter*>(ControlAdapter()))->SetContentBitmaps(aBitmap, aMask);
-    }   
-
-// -----------------------------------------------------------------------------
-// CXnBitmap::ContentBitmaps
-// -----------------------------------------------------------------------------
-//
-void CXnBitmap::ContentBitmaps(CFbsBitmap*& aBitmap, CFbsBitmap*& aMask)
-    {
-    (static_cast<CXnBitmapAdapter*>(ControlAdapter()))->ContentBitmaps(aBitmap, aMask);
-    }
-
-// ---------------------------------------------------------
-// ---------------------------------------------------------
-XnComponentInterface::MXnComponentInterface* CXnBitmap::MakeInterfaceL(const TDesC8& aType)
-    {
-    if (aType != XnImageInterface::KType)
-        {
-        return NULL;
-        }
-    XnImageInterface::MXnImageInterface* imgintr = static_cast<XnImageInterface::MXnImageInterface*>(this);
-    return imgintr;
-    }           
--- a/idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/src/xnbitmapadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,297 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon Bitmap Plugin.
-*
-*/
-
-
-#include "xnnodepluginif.h"
-#include "xndomproperty.h"
-#include "xnproperty.h"
-#include "xncontroladapter.h"
-
-#include "xnbitmapadapter.h"
-
-_LIT(KSkin, "skin(");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnBitmapAdapter* CXnBitmapAdapter::NewL(CXnNodePluginIf& aNode)
-    {
-	CXnBitmapAdapter* self = new( ELeave ) CXnBitmapAdapter( aNode );
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aNode );
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::ConstructL(CXnNodePluginIf& aNode)
-    {
-    CXnControlAdapter::ConstructL( aNode );
-    
-    iAreBitmapsLoaded = EFalse;
-    
-    iFallbackPathChange = ETrue;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::CXnBitmapAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnBitmapAdapter::CXnBitmapAdapter(CXnNodePluginIf& aNode) : iNode( aNode )    
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::~CXnBitmapAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnBitmapAdapter::~CXnBitmapAdapter()
-    {
-    delete iPath;
-    delete iFallbackPath;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::SetContentBitmaps
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::SetContentBitmaps(CFbsBitmap* aBitmap, CFbsBitmap* aMask)
-    {    
-    CXnControlAdapter::SetContentBitmaps( aBitmap, aMask );
-    
-    iAreBitmapsSet = ETrue;
-    
-    TRAP_IGNORE( iNode.SetDirtyL() );
-    }   
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::ContentBitmaps
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::ContentBitmaps(CFbsBitmap*& aBitmap, CFbsBitmap*& aMask)
-    {    
-    CXnControlAdapter::ContentBitmaps( aBitmap, aMask );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::Draw
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::Draw(const TRect& aRect) const
-    {        
-    CXnControlAdapter::Draw( aRect );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::SizeChanged()
-    {
-    CXnControlAdapter::SizeChanged();
-    
-    if ( !iAreBitmapsSet )
-        {
-        TSize size( Rect().Size() );
-        
-        if( size != iBitmapSize )
-            {            
-            iBitmapSize = size;
-            
-            iAreBitmapsLoaded = EFalse;
-            
-            TRAP_IGNORE( InitializeBitmapsL() );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::HandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::DoHandlePropertyChangeL( CXnProperty* aProperty )
-    {
-    TBool reConstruct( ETrue );
-
-    if( aProperty )
-        {
-        const TDesC8& name( aProperty->Property()->Name( ) );
-        
-        //If display changed no need to reconstruct
-        if( name == XnPropertyNames::style::common::KDisplay( ) )
-            {
-            reConstruct = EFalse;
-            }        
-        // Visibility changed, no need to do anything.
-        else if( name == XnPropertyNames::style::common::KVisibility( ) )
-            {
-            return;
-            }
-        else if( name == XnPropertyNames::appearance::common::KFallBackImage )
-            {
-            HBufC* fallbackPath( aProperty->StringValueL( ) );
-            
-            if( fallbackPath )
-                {
-                CleanupStack::PushL( fallbackPath );
-                
-                if( iFallbackPath )
-                    {
-                    if( ( *fallbackPath ).Compare( *iFallbackPath ) )
-                        {
-                        delete iFallbackPath;
-                        iFallbackPath = NULL;
-                        iFallbackPath = fallbackPath->AllocL( );
-                        iFallbackPathChange = ETrue;
-                        }
-                    }
-                else
-                    {
-                    iFallbackPath = fallbackPath->AllocL( );
-                    iFallbackPathChange = ETrue;
-                    }
-                    
-                CleanupStack::PopAndDestroy( fallbackPath );
-                }
-            }
-        }
-
-    //If data API has been used don't load new bitmaps.
-    if( !iAreBitmapsSet && reConstruct )
-        {
-        InitializeBitmapsL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::HandleScreenDeviceChangedL( )
-    {
-    CXnControlAdapter::HandleScreenDeviceChangedL();        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::HandlePointerEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-void CXnBitmapAdapter::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {        
-    CXnControlAdapter::HandlePointerEventL( aPointerEvent );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::SkinChanged
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::SkinChanged()
-    {
-    CXnControlAdapter::SkinChanged();
-    
-    if( iPath )
-        {
-        TInt pos( iPath->FindF( KSkin ) );
-        
-        if( pos != KErrNotFound )
-            {
-            iBitmapSize = Rect().Size();
-            
-            iAreBitmapsLoaded = EFalse;
-            
-            TRAP_IGNORE( InitializeBitmapsL() );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapAdapter::InitializeBitmapsL
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapAdapter::InitializeBitmapsL( )
-    {
-    TBool pathChanged( EFalse );
-    
-    CXnProperty* pathProperty( iNode.PathL( ) );
-    CXnProperty* maskPathProperty( iNode.MaskPathL( ) );
-
-    if ( !pathProperty )
-        {
-        return;
-        }
-        
-    HBufC* path( pathProperty->StringValueL( ) );
-    
-    if( !path )
-        {
-        return;
-        }
-        
-    CleanupStack::PushL( path );
-    
-    HBufC* maskPath( NULL );
-    
-    if( maskPathProperty )
-        {
-        maskPath = maskPathProperty->StringValueL( );
-        }
-        
-    CleanupStack::PushL( maskPath );
-
-    if( !iPath )
-        {
-        iPath = path->AllocL( );
-        }
-
-    if( path->Des( ) != iPath->Des( ) )
-        {
-        pathChanged = ETrue;
-        }
-
-    if( !iAreBitmapsLoaded || pathChanged || iFallbackPathChange )
-        {
-        delete iPath;
-        iPath = NULL;
-        iPath = path->AllocL( );
-      
-        CXnControlAdapter::SetContentBitmaps( *path, ( maskPath )
-                                                ? maskPath->Des( ) : KNullDesC() );
-        
-        iAreBitmapsLoaded = ETrue;
-        iFallbackPathChange = EFalse;
-        
-        iNode.SetDirtyL();
-        }
-            
-    CleanupStack::PopAndDestroy( 2, path );
-    }
-    
-// End of File
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xnbitmapfactory/src/xnbitmapfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation for factory creating container for Active Idle plugins.
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-
-#include "xnbitmapfactory.h"
-#include "xnbitmapadapter.h"
-
-#include "xnbitmap.h"
-#include <aisystemuids.hrh>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-_LIT8(KXnBitmap, "image");
-// -----------------------------------------------------------------------------
-// CXnBitmaplFactory::MakeXnComponentL
-// -----------------------------------------------------------------------------
-//
-
-MXnComponentFactory::TXnComponentFactoryResponse CXnBitmapFactory::MakeXnComponentL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnComponent*& aTargetComponent
-										)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if (aNode.Type()->Type() == KXnBitmap)
-        {
-        aTargetComponent = CXnBitmap::NewL();
-        retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;
-	    }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmaplFactory::MakeXnControlAdapterL
-// -----------------------------------------------------------------------------
-//
-
-CXnControlAdapter* CXnBitmapFactory::MakeXnControlAdapterL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnControlAdapter* /*aParent*/
-										)
-    {
-    return CXnBitmapAdapter::NewL(aNode);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnBitmaplFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBitmapFactory* CXnBitmapFactory::NewL()
-    {
-    CXnBitmapFactory* self = new( ELeave ) CXnBitmapFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapFactory::CXnBitmapFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnBitmapFactory::CXnBitmapFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapFactory::~CXnBitmapFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnBitmapFactory::~CXnBitmapFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBitmapFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnBitmapFactory::ConstructL()
-    {
-    }
-
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-    #ifdef __EABI__ 
-    	IMPLEMENTATION_PROXY_ENTRY(AI3_UID_RENDERING_PLUGIN_BITMAPFACTORY_IMPLEMENTATION, CXnBitmapFactory::NewL)
-    #else
-        {{AI3_UID_RENDERING_PLUGIN_BITMAPFACTORY_IMPLEMENTATION}, CXnBitmapFactory::NewL}
-    #endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  Building information file
-'*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xnclockfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/group/xnclockfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon clock plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3clockfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_CLOCKFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xnclockfactory.cpp
-SOURCE          xnclock.cpp
-SOURCE          xnclockadapter.cpp
-SOURCE          xnclockcontrol.cpp
-SOURCE          xnclockface.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY	        euser.lib  
-LIBRARY         eikcoctl.lib
-LIBRARY         cone.lib
-LIBRARY	        xn3layoutengine.lib
-LIBRARY	        xn3utils.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY         avkon.lib
-LIBRARY         cenrepnotifhandler.lib
-LIBRARY         aknskins.lib
-LIBRARY         aknicon.lib
-LIBRARY         fbscli.lib
-LIBRARY         gdi.lib
-
-LANG            SC
-
-START RESOURCE        xn3clockfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3clockfactory.rsc
-#endif
-END
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Wrapper class for CAknSkinnableClock
-*
-*/
-
-
-
-#ifndef _XNCLOCKADAPTER_H
-#define _XNCLOCKADAPTER_H
-
-//  INCLUDES
-#include "xncontroladapter.h"
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-class CXnClockControl;
-class CAknLayoutFont;
-class CFont;
-class TRgb;
-
-// CLASS DECLARATION
-/**
-*  @ingroup group_xnclockfactory
-*  @lib xnclockfactory.lib
-*  @since S60
-*/
-class CXnClockAdapter : public CXnControlAdapter, 
-                        public MCoeMessageMonitorObserver
-    {
-public:
-    enum TClockFont
-        {
-        EDigitalFont,
-        EAmPmFont,
-        EDateFont
-        };
-    
-public: // constructor and destructor
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnClockAdapter* NewL( CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-
-	/**
-	 * Destructor.
-	 */
-	~CXnClockAdapter();
-
-public: // New functions
-
-    /** 
-    * Gets font based on type
-    * 
-    * @return Font based on aType, NULL if not found
-    */    
-    const CAknLayoutFont* FontL( const TInt aType );
-        
-    /**
-    * Gets text color
-    * 
-    * @return Text color
-    */
-    const TRgb& TextColorL();
-
-    /**
-    * Gets date information
-    * 
-    * @return A node which holds date information
-    */    
-    CXnNodePluginIf* Date() const;
-
-    /**
-    * Gets day information
-    * 
-    * @return A node which holds day information
-    */    
-    CXnNodePluginIf* Day() const;
-
-    /**
-    * Calls DrawNow, if node is laidout
-    */        
-    void UpdateDisplay() const;
-
-public: // from base classes
-
-    /**
-    * @see CXnControlAdapter documentation
-    */    	
-    void DoHandlePropertyChangeL( CXnProperty* aProperty = NULL ); 
-
-    /*
-     * @see CXnControlAdapter documentation
-     */  
-    void SkinChanged();
-
-    /*     
-     * @see CXnControlAdapter documentation
-     */  
-    void HandleScreenDeviceChangedL();
-
-    /*     
-     * @see CCoeControl documentation
-     */      
-    void SizeChanged();
-    
-    /**
-    * @see CCoeControl documentation
-    */    	            
-    void Draw( const TRect& aRect ) const;
-
-    /**
-    * @see CCoeControl documentation
-    */    	            
-    void MakeVisible( TBool aVisible );
-
-private: // from MCoeMessageMonitorObserver
-    /**
-    * @see MCoeMessageMonitorObserver documentation
-    */
-    void MonitorWsMessage( const TWsEvent& aEvent );
-    
-private: // constructors
-
-    /**
-    * C++ default constructor.
-    */
-	CXnClockAdapter( CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-
-    /**
-    * By default Symbian 2nd phase constructor is private.
-    */	
-	void ConstructL();
-
-private: // New functions
-
-    /*
-     * Create font
-     */    
-    void CreateFontL( const TInt aType );
-
-    /*
-     * Create color
-     */        
-    void CreateColorL();
-        
-private:
-    // Parent control, not owned
-    CXnControlAdapter*  		iParent;        
-    // UI node, not owned
-    CXnNodePluginIf&    		iNode;
-    // Digital clock date information, not owned
-    CXnNodePluginIf*            iDate;
-    // Analog clock day information, not owned
-    CXnNodePluginIf*            iDay;
-    // Clock control, owned    
-    CXnClockControl*            iClockControl;  
-    // Digital clock font, not owned
-    CFont*                      iDigitalFont;   
-    // AmPm font, not owned
-    CFont*                      iAmPmFont;      
-    // Date font, not owned
-    CFont*                      iDateFont;      
-    // Font color
-    TRgb                        iColor;
-    // Flag for initializing font color
-    TBool                       iColorSet;
-    // Flag indicating foreground state
-    TBool                       iForeground;
-    };
-
-#endif      // _XNCLOCKADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockcontrol.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Control for xuikon's skinnable clock.
-*
-*/
-
-
-#ifndef _XNCLOCKCONTROL_H
-#define _XNCLOCKCONTROL_H
-
-// INCLUDES
-
-// FORWARD DECLARATIONS
-class CWindowGc;
-class CXnClockAdapter;
-class CXnClockChangeHandler;
-class CXnClockFace;
-
-// CLASS DECLARATION
-/**
-*  @ingroup group_xnclockfactory
-*  @lib xnclockfactory.lib
-*  @since S60
-*/
-class CXnClockControl : public CBase
-    {
-public: // Constructors and destructor
-
-    /**
-    * Two-phased constructor.
-    *
-    * @since S60 5.1
-    *
-    * @param  aContainerWindow   Container window for the clock component.
-    *
-    * @param  aFormatFromLocale  Boolean flag to indicate whether the clock
-    *                            format should be updated from the locale.
-    *
-    * @param  aContextPaneClock  Boolean flag that indicates whether the
-    *                            clock is in the context pane.
-    *
-    * @return Newly constructed object.
-    */
-    static CXnClockControl* NewL( CXnClockAdapter* aAdapter,
-                                  const TBool aFormatFromLocale,
-                                  const TClockFormat aFormat );
-                                              
-
-    /**
-    * Destructor.
-    */
-    virtual ~CXnClockControl();
-
-public: // New functions
-
-    /**
-    * Updates the double buffer and redraws the clock.
-    */
-    void UpdateDisplay();
-
-    /**
-    * Sets the format of the clock.
-    *
-    * @param  aFormatFromLocale  Wheter clock is getting format from locale
-    * @param  aFormat  New clock format.
-    */
-    void SetFormatL( const TBool aFormatFromLocale, 
-                     const TClockFormat aFormat );
-
-    /**
-    * Gets the clock format 
-    *    
-    * @return Clock format.
-    */    
-    TClockFormat Format() const;
-    
-    /**
-    * Updates time and locale state of the clock.
-    */
-    void TimeOrLocaleChanged();
-    
-    /**
-    * Draws the clock
-    *
-    * @param aGc Context where to draw
-    * @param aRect Rect Clock rect 
-    */
-    void Draw( CWindowGc& aGc, const TRect& aRect ) const;
-    
-    /**
-    * Starts the clock timer.
-    * Used when the clock gains visibility.
-    */
-    void StartTimer();
-
-    /**
-    * Stops the clock timer.
-    * Used when the clock loses visibility.
-    */
-    void StopTimer();
-
-private: // New functions
-
-    /**
-    * Timer callback for clock updates
-    *
-    * @param  aThis  Pointer to the skinnable clock instance.
-    *
-    * @return Always returns @c KErrNone.
-    */
-    static TInt TimerCallback( TAny* aThis );
-
-private:
-
-    /**
-    * C++ default constructor.
-    */
-    CXnClockControl( CXnClockAdapter* aAdapter,
-                     const TBool aFormatFromLocale,
-                     const TClockFormat aFormat );
-                        
-    /**
-    * By default Symbian 2nd phase constructor is private.
-    */
-    void ConstructL();
-
-private: // data
-
-    // Timer, owned
-    CPeriodic*              iTimer;
-    // Clock face, owned
-    CXnClockFace*           iFace;
-    // Clock change handler, owned
-    CXnClockChangeHandler*  iHandler;
-    // Clock adapter, not owned
-    CXnClockAdapter*        iAdapter;            
-    // Clock format
-    TClockFormat            iClockFormat;    
-    // Flag indicating whetger format clock from locale
-    TBool                   iFormatFromLocale;    
-    };
-
-#endif // _XNCLOCKCONTROL_H
-
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockface.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon clock face.
-*
-*/
-
-
-#ifndef _XNCLOCKFACE_H
-#define _XNCLOCKFACE_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CXnClockAdapter;
-class CWindowGc;
-
-// CLASS DECLARATIONS
-/**
-*  @ingroup group_xnclockfactory
-*  @lib xnclockfactory.lib
-*  @since S60
-*/
-class CXnClockFace : public CBase
-    {
-    public: // Destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual inline ~CXnClockFace() {};
-
-    public: // New methods
-
-        /**
-        * Draws the given time to the given buffer bitmap.
-        *
-        * @since S60 5.1
-        *
-        * @param aAdapter Clock adapter
-        *   
-        * @param aGc Graphics context that can be used to draw to
-        *   the clock
-        *
-        * @param aRect Rect where to scale the clock
-        *                   
-        * @param aTime Time to be used for drawing.
-        */
-        virtual void DrawL( CXnClockAdapter& aAdapter,
-                            CWindowGc& aGc, 
-                            const TRect& aRect, 
-                            const TTime& aTime ) = 0;                                    
-    };
-
-class CXnClockFaceDigital : public CXnClockFace
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnClockFaceDigital* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnClockFaceDigital();
-    
-    public:  // Functions from CXnClockFace
-        
-        /**
-        * @see CXnClockFace::DrawL
-        */
-        void DrawL( CXnClockAdapter& aAdapter,
-                    CWindowGc& aGc, 
-                    const TRect& aRect, 
-                    const TTime& aTime );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnClockFaceDigital();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-    };
-
-class CXnClockFaceAnalog : public CXnClockFace
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnClockFaceAnalog* NewL();
-                                                 
-        /**
-        * Destructor.
-        */
-        virtual ~CXnClockFaceAnalog();
-    
-    public:  // Functions from CXnClockFace
-                    
-        /**
-        * @see CXnClockFace::DrawL
-        */           
-        void DrawL( CXnClockAdapter& aAdapter,
-                    CWindowGc& aGc, 
-                    const TRect& aRect, 
-                    const TTime& aTime ); 
-
-    private: // New functions
-
-        /**
-        * Draws the hands of the clock.
-        *
-        * @param aGc Graphics context that can be used to draw to the
-        *   clock
-        *
-        * @param aRect Rectangle defining the size of the clock.
-        *
-        * @param aDateTime Time to be used for drawing.
-        */                       
-        void DrawHandsL( CWindowGc& aGc, const TRect& aRect,
-                         const TDateTime& aDateTime );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnClockFaceAnalog();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data                
-    };
-
-#endif      // _XNCLOCKFACE_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Factory for creating CXnClock -component
-*
-*/
-
-
-
-#ifndef _XNCLOCKFACTORY_H
-#define _XNCLOCKFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-#include <e32base.h>
-#include <e32std.h>
-
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-
-// FORWARD DECLARATIONS
-class CXnComponent;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnclockfactory
-* 
-*  Component factory interface for creating UI representations of the elements.
-*  This class is wrapper for containing CAknSkinnableClock
-*
-*  @lib xnclockfactory.lib
-*  @since S60
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnClockFactory : public MXnComponentFactory, public CBase
-    {
-    public: // Data types
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnClockFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnClockFactory();
-
-
-    public: // Functions from base classes
-
-        /**
-        * Creates the Xuikon component for clock component.
-        * @param aNode Corresponding DOM-node
-        * @param aTargetComponent Pointer reference to the component to be created.
-        */
-        virtual TXnComponentFactoryResponse MakeXnComponentL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnComponent*& aTargetComponent
-        										);
-        
-        /**
-        * Creates the control adapter for clock component.
-        * @param aNode Corresponding DOM-node
-        */
-        virtual CXnControlAdapter* MakeXnControlAdapterL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnControlAdapter* aParent
-        										);
-
-    private:
-
-        /**
-        * 2nd phase constructor. 
-        */
-        void ConstructL();
-
-        /**
-        * C++ default constructor. 
-        */
-        CXnClockFactory();
-
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNCLOCKFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xn3clockfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:
-*
-*/
-// xn3clockfactory.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_CLOCKFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_CLOCKFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnClock";
-                default_data = "clock";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclock.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation wrapper for CAknSkinnableClock
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-#include "xncomponent.h"
-#include "xnclock.h"
-#include "xnclockadapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnClock::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnClock* CXnClock::NewL()
-    {
-	CXnClock* self = new( ELeave ) CXnClock;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClock::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnClock::ConstructL()
-    {
-    CXnComponent::ConstructL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnClock::ConstructL
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnClock::CXnClock()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClock::ConstructL
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnClock::~CXnClock()
-    {
-    }
-    
-// ---------------------------------------------------------
-// ---------------------------------------------------------
-XnComponentInterface::MXnComponentInterface* CXnClock::MakeInterfaceL(const TDesC8& aType)
-    {
-    if( aType != XnClockInterface::KType )
-        {
-        return NULL;
-        }
-        
-    XnClockInterface::MXnClockInterface* clockIf = static_cast< XnClockInterface::MXnClockInterface* >( this );
-    
-    return clockIf;
-    }        
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,555 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation wrapper for CAknSkinnableClock
-*
-*/
-
-// SYSTEM INCLUDE FILES
-#include <e32base.h>
-#include <e32const.h>
-#include <AknLayoutFont.h>
-#include <AknsUtils.h>
-
-// USER INCLUDE FILES
-#include "xndomproperty.h"
-#include "xndomlist.h"
-#include "xnproperty.h"
-#include "xntype.h"
-#include "xnuienginepluginif.h"
-#include "xnnodepluginif.h"
-#include "xncontroladapter.h"
-#include "xnclockcontrol.h"
-#include "xnclockadapter.h"
-#include "c_xnutils.h"
-
-// CONSTANTS
-_LIT8( KDateInformation, "Clock/DateInformation" );
-_LIT8( KDayInformation, "Clock/DayInformation" );
-
-_LIT( KDigitalFont, "EAknLogicalFontDigitalFont" );
-_LIT( KAmPmFont, "EAknLogicalFontSecondaryFont" );
-_LIT( KDateFont, "EAknLogicalFontSecondaryFont" );
-
-// ============================ LOCAL FUNCTIONS ===============================    
-
-// -----------------------------------------------------------------------------
-// ClockFormat
-// Resolves the clock format
-// -----------------------------------------------------------------------------
-//
-static TClockFormat ClockFormat( CXnProperty* aProperty, TBool& aUseLocale )
-    {
-    // Default, from locale    
-    TClockFormat format( TLocale().ClockFormat() );
-    
-    aUseLocale = ETrue;
-    
-    if( aProperty )
-        {
-        const TDesC8& name( aProperty->Property()->Name() );
-        
-        if( name == XnPropertyNames::clock::KS60Format )
-            {                                                        
-            const TDesC8& value( aProperty->StringValue() );            
-                                    
-            if( value == XnPropertyNames::clock::format::KDigital )
-                {                          
-                format = EClockDigital;
-                aUseLocale = EFalse;
-                }
-            else if( value == XnPropertyNames::clock::format::KAnalog )
-                {
-                format = EClockAnalog;
-                aUseLocale = EFalse;
-                }                        
-            }    
-        }
-    
-    return format;
-    }
-    
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnClockAdapter* CXnClockAdapter::NewL( CXnControlAdapter* aParent, 
-    CXnNodePluginIf& aNode )
-    {
-	CXnClockAdapter* self = new( ELeave ) CXnClockAdapter( aParent, aNode );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::CXnClockAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnClockAdapter::CXnClockAdapter( CXnControlAdapter* aParent, 
-    CXnNodePluginIf& aNode )
-    : iParent( aParent ), iNode( aNode )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::~CXnClockAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnClockAdapter::~CXnClockAdapter()
-    {    
-    iCoeEnv->RemoveMessageMonitorObserver( *this );    
-    
-    delete iClockControl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnClockAdapter::ConstructL()
-    {
-    CXnControlAdapter::ConstructL( iNode );     
-            
-    RPointerArray< CXnNodePluginIf > children( iNode.ChildrenL() );
-    CleanupClosePushL( children );
-    
-    for( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNodePluginIf* child( children[i] );
-        
-        CXnProperty* id( child->IdL() );
-        
-        if( id )         
-            {
-            if( id->StringValue() == KDateInformation )
-                {
-                iDate = child;                               
-                }
-            else if( id->StringValue() == KDayInformation )
-                {
-                iDay = child;
-                }
-            }
-        }
-        
-    CleanupStack::PopAndDestroy( &children );
-    
-    TBool useLocale;
-
-    CXnProperty* prop( 
-        iNode.GetPropertyL( XnPropertyNames::clock::KS60Format ) );    
-    
-    TClockFormat format( ClockFormat( prop, useLocale ) );   
-    
-    iClockControl = CXnClockControl::NewL( this, useLocale, format );    
-    
-    iCoeEnv->AddMessageMonitorObserverL( *this );
-	}
- 
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::DoHandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CXnClockAdapter::DoHandlePropertyChangeL( CXnProperty* aProperty )
-    {        
-    if( aProperty )
-        {
-        const TDesC8& name( aProperty->Property()->Name() );
-        
-        if( name == XnPropertyNames::clock::KS60Format )
-            {
-            TBool useLocale;
-            
-            TClockFormat format( ClockFormat( aProperty, useLocale ) );
-            
-            iClockControl->SetFormatL( useLocale, format );
-            }
-        else if( name == XnPropertyNames::clock::KS60DigitalFontSize )            
-            {
-            iDigitalFont = NULL;            
-            }
-        else if( name == XnPropertyNames::clock::KS60AmPmFontSize )
-            {
-            iAmPmFont = NULL;
-            }
-        else if( name == XnPropertyNames::clock::KS60DateFontSize )
-            {
-            iDateFont = NULL;
-            }
-        else if( name == XnPropertyNames::appearance::common::KColor )
-            {
-            iColorSet = EFalse;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::UpdateDisplay
-// Draws the clock component
-// -----------------------------------------------------------------------------
-//
-void CXnClockAdapter::UpdateDisplay() const
-    {    
-    if ( !iNode.Rect().IsEmpty() )
-        {
-        DrawNow();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::Draw
-// Draws the clock component
-// -----------------------------------------------------------------------------
-//
-void CXnClockAdapter::Draw( const TRect& aRect ) const
-    {                           
-    CXnControlAdapter::Draw( aRect );
-    
-    CWindowGc& gc( SystemGc() );
-           
-    iClockControl->Draw( gc, iNode.Rect() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::MakeVisible
-// 
-// -----------------------------------------------------------------------------
-//        
-void CXnClockAdapter::MakeVisible( TBool aVisible )
-    {
-    TBool visible( IsVisible() );
-    
-    if ( aVisible != visible )
-        {
-        CCoeControl::MakeVisible( aVisible );
-
-        if ( !aVisible )
-            {
-            iClockControl->StopTimer();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::MonitorWsMessage
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnClockAdapter::MonitorWsMessage( const TWsEvent& aEvent )
-    {   
-    TInt type( aEvent.Type() );
-    
-    TBool foreground( iForeground );
-        
-    if( type == KAknFullOrPartialForegroundGained )
-        {
-        iForeground = ETrue;        
-        }
-    else if( type == KAknFullOrPartialForegroundLost )        
-        {
-        iForeground = EFalse;        
-        }
-
-    if( foreground != iForeground && IsVisible() )            
-        {
-        if( iForeground )
-            {
-            UpdateDisplay(); // starts timer after update
-            }
-        else
-            {
-            iClockControl->StopTimer();
-            }            
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::FontL
-// 
-// -----------------------------------------------------------------------------
-//    
-const CAknLayoutFont* CXnClockAdapter::FontL( const TInt aType )
-    {
-    CFont* font( NULL );
-    
-    if( aType == EDigitalFont )
-        {
-        if( !iDigitalFont )
-            {            
-            CreateFontL( aType );
-            }
-        
-        font = iDigitalFont;        
-        }
-    else if( aType == EAmPmFont )
-        {
-        if( !iAmPmFont )
-            {
-            CreateFontL( aType );        
-            }
-        
-        font = iAmPmFont;
-        }
-    else if( aType == EDateFont )
-        {
-        if( !iDateFont )
-            {
-            CreateFontL( aType );        
-            }
-        
-        font = iDateFont;        
-        }
-    
-    if( font )
-        {
-        return CAknLayoutFont::AsCAknLayoutFontOrNull( font );
-        }
-    
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::TextColorL
-// 
-// -----------------------------------------------------------------------------
-//    
-const TRgb& CXnClockAdapter::TextColorL()
-    {    
-    if( !iColorSet )
-        {
-        CreateColorL();
-        }
-        
-    return iColor;            
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::Date
-// 
-// -----------------------------------------------------------------------------
-//    
-CXnNodePluginIf* CXnClockAdapter::Date() const
-    {
-    return iDate;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::Day
-// 
-// -----------------------------------------------------------------------------
-//    
-CXnNodePluginIf* CXnClockAdapter::Day() const
-    {
-    return iDay;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::CreateFontL
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnClockAdapter::CreateFontL( const TInt aType )   
-    {
-    TFontSpec spec;
-    TInt dummy;
-
-    if( aType == EDigitalFont )
-        {
-        iDigitalFont = NULL;
-        
-        CXnProperty* prop( iNode.GetPropertyL( 
-            XnPropertyNames::clock::KS60DigitalFontSize ) );
-
-        // default
-        TInt height( ( iNode.Rect().Height() / 3 ) * 2 );
-
-        if ( prop )
-            {
-            height = iNode.UiEngineL()->VerticalPixelValueL(
-                prop, iNode.Rect().Height() );
-            }
-                                            
-        // No need to relase avkon font
-        CXnUtils::CreateFontL( KDigitalFont, 
-                               height,
-                               spec.iFontStyle,
-                               iDigitalFont,
-                               dummy );
-        }
-    else if( aType == EAmPmFont )
-        {
-        iAmPmFont = NULL;
-
-        CXnProperty* prop( iNode.GetPropertyL( 
-            XnPropertyNames::clock::KS60AmPmFontSize ) );
-        
-        // default
-        TInt height( ( iNode.Rect().Height() / 5 ) );
-
-        if ( prop )
-            {
-            height = iNode.UiEngineL()->VerticalPixelValueL(
-                prop, iNode.Rect().Height() );
-            }        
-        
-        // No need to relase avkon font
-        CXnUtils::CreateFontL( KAmPmFont, 
-                               height,
-                               spec.iFontStyle,
-                               iAmPmFont,
-                               dummy );      
-        }
-    else if( aType == EDateFont )
-        {
-        iDateFont = NULL;
-        
-        CXnProperty* prop( iNode.GetPropertyL( 
-            XnPropertyNames::clock::KS60DateFontSize ) );
-        
-        // default 
-        TInt height( ( iNode.Rect().Height() / 5 ) );
-        
-        if ( prop )
-            {
-            height = iNode.UiEngineL()->VerticalPixelValueL(
-                prop, iNode.Rect().Height() );
-            }
-        
-        // No need to relase avkon font
-        CXnUtils::CreateFontL( KDateFont, 
-                               height,
-                               spec.iFontStyle,
-                               iDateFont,
-                               dummy );              
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::CreateColorL
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnClockAdapter::CreateColorL()
-    {        
-    TRgb color;
-            
-    TInt result( KErrNone );
-        
-    CXnProperty* prop( iNode.GetPropertyL( 
-        XnPropertyNames::appearance::common::KColor ) );
-    
-    if( !prop )
-        {
-        return;
-        }
-        
-    CXnDomProperty* domProp( prop->Property() );
-    
-    MAknsSkinInstance* skin( AknsUtils::SkinInstance() );
-    
-    if( domProp )
-        {        
-        CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >
-                                        ( domProp->PropertyValueList().Item( 0 ) );
-        
-        if( value->PrimitiveValueType() == CXnDomPropertyValue::ERgbColor )
-            {
-            color = value->RgbColorValueL();                
-            }
-        else if( !value->IsAutoIdent() )
-        	{
-            HBufC* str( prop->StringValueL() );
-            CleanupStack::PushL( str );
-            
-            CXnUtils::StripQuotes( str );
-            
-            TInt index( 0 );
-            TAknsItemID skinID;
-            
-            TBool idResolved( CXnUtils::ResolveSkinItemIDL( *str, skinID, index ) );
-            
-            result = KErrNotFound;
-            
-            if( idResolved )
-            	{                	
-            	result = AknsUtils::GetCachedColor( skin, color, skinID, index );
-            	}                        
-
-        	CleanupStack::PopAndDestroy( str );                	
-        	}
-        	
-        if( value->IsAutoIdent() || result != KErrNone )
-            {                                
-            result = AknsUtils::GetCachedColor( skin, color, 
-                                                KAknsIIDQsnTextColors,
-                                                EAknsCIQsnTextColorsCG6 );
-            }
-        }
-        
-    if( result == KErrNone )
-        {
-        iColorSet = ETrue;
-        iColor = color;
-        }            
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::SkinChanged
-// Skin change notification
-// -----------------------------------------------------------------------------
-//  
-void CXnClockAdapter::SkinChanged()
-    {
-    iAmPmFont = iDigitalFont = iDateFont = NULL;
-    iColorSet = EFalse;
-    
-    CXnControlAdapter::SkinChanged();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::HandleScreenDeviceChangedL
-// Screen device change notification
-// -----------------------------------------------------------------------------
-//  
-void CXnClockAdapter::HandleScreenDeviceChangedL()
-    {
-    iAmPmFont = iDigitalFont = iDateFont = NULL;
-    iColorSet = EFalse;
-    
-    CXnControlAdapter::HandleScreenDeviceChangedL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockAdapter::SizeChanged
-// Size changed notification
-// -----------------------------------------------------------------------------
-//  
-void CXnClockAdapter::SizeChanged()
-    {
-    iAmPmFont = iDigitalFont = iDateFont = NULL;
-    iColorSet = EFalse;
-    
-    CXnControlAdapter::SizeChanged();    
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockcontrol.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Implementation for xuikon clock.
-*
-*/
-
-
-// SYSTEM INCLUDE FILES
-#include <e32std.h>         // for RChangeNotifier
-
-// USER INCLUDE FILES
-#include "xncontroladapter.h"
-#include "xnclockadapter.h"
-#include "xnclockface.h"
-
-#include "xnclockcontrol.h"
-
-
-// LOCAL CONSTANTS AND MACROS
-static const TInt KIntervalTime( 60000000 ); // in microseconds
-
-
-// MODULE DATA STRUCTURES
-class CXnClockChangeHandler : public CActive
-    {
-    public: // Constructor and destructor
-        static CXnClockChangeHandler* NewL(
-            CXnClockControl& aClient )
-            {
-            CXnClockChangeHandler* self =
-                new (ELeave) CXnClockChangeHandler( aClient );
-            CleanupStack::PushL( self );
-            self->ConstructL();
-            CleanupStack::Pop( self );
-            return self;
-            }
-
-        virtual ~CXnClockChangeHandler()
-            {
-            Cancel();
-            iChangeNotifier.Close();
-            }
-
-    private: // From CActive
-        void DoCancel()
-            {
-            iChangeNotifier.LogonCancel();
-            // Return value is ignored.
-            }
-
-        void RunL()
-            {
-            if( iStatus.Int() & ( EChangesLocale | EChangesSystemTime ) )
-                {
-                iClient.TimeOrLocaleChanged();
-                }
-
-            User::LeaveIfError( iChangeNotifier.Logon( iStatus ) );
-            SetActive();
-            }
-
-    private: // Private constructors
-        void ConstructL()
-            {
-            User::LeaveIfError( iChangeNotifier.Create() );
-            User::LeaveIfError( iChangeNotifier.Logon( iStatus ) );
-            SetActive();
-            }
-
-        CXnClockChangeHandler( CXnClockControl& aClient )
-            : CActive( EPriorityStandard ), iClient( aClient )
-            {
-            CActiveScheduler::Add( this );
-            }
-
-    private: // Data
-        RChangeNotifier  iChangeNotifier;
-        CXnClockControl& iClient;
-    };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::CXnClockControl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnClockControl::CXnClockControl( CXnClockAdapter* aAdapter,
-                                  const TBool aFormatFromLocale,
-                                  const TClockFormat aFormat )
-    : iAdapter( aAdapter ), 
-      iClockFormat( aFormat ),
-      iFormatFromLocale ( aFormatFromLocale )      
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnClockControl::ConstructL()
-    {           
-    iTimer = CPeriodic::NewL( CActive::EPriorityHigh );
-            
-    SetFormatL( iFormatFromLocale, iClockFormat );
-
-    iHandler = CXnClockChangeHandler::NewL( *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnClockControl* CXnClockControl::NewL( CXnClockAdapter* aAdapter,
-                                        const TBool aFormatFromLocale,
-                                        const TClockFormat aFormat )
-    {
-    CXnClockControl* self =
-        new (ELeave) CXnClockControl( aAdapter, aFormatFromLocale, aFormat );
-        
-    CleanupStack::PushL( self );    
-    self->ConstructL();
-    
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXnClockControl::~CXnClockControl()
-    {
-    delete iHandler;
-    delete iTimer;
-    delete iFace;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::UpdateDisplay
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnClockControl::UpdateDisplay()
-    {
-    if( !iFace )
-        {
-        return;
-        }
-            
-    iAdapter->UpdateDisplay();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::TimeOrLocaleChanged
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnClockControl::TimeOrLocaleChanged()
-    {
-    TLocale locale;
-
-    if( iFormatFromLocale && ( locale.ClockFormat() != iClockFormat ) )
-        {
-        TRAP_IGNORE( SetFormatL( iFormatFromLocale, locale.ClockFormat() ) );        
-        }
-        
-    UpdateDisplay();        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::SetFormatL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnClockControl::SetFormatL( const TBool aFormatFromLocale, 
-                                  const TClockFormat aFormat )
-    {
-    TClockFormat format( aFormat );
-    
-    if( aFormatFromLocale )
-        {
-        format = TLocale().ClockFormat();                
-        }
-        
-    iFormatFromLocale = aFormatFromLocale;
-        
-    if( format == iClockFormat && iFace )
-        {
-        // Already correct face
-        return;    
-        }      
-            
-    iClockFormat = format;
-    
-    delete iFace;
-    iFace = NULL;
-
-    if( format == EClockAnalog )
-        {
-        iFace = CXnClockFaceAnalog::NewL();
-        }
-    else if( format == EClockDigital )
-        {
-        iFace = CXnClockFaceDigital::NewL();
-        }                
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::Format
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//       
-TClockFormat CXnClockControl::Format() const
-    {
-    return iClockFormat;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::Draw
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//       
-void CXnClockControl::Draw( CWindowGc& aGc, const TRect& aRect ) const
-    {
-    if( iFace && !aRect.IsEmpty() )
-        {
-        TTime homeTime;
-        homeTime.HomeTime();
-
-        TRAP_IGNORE( iFace->DrawL( *iAdapter, aGc, aRect, homeTime ) );
-        
-        // Ensure timer is active
-        const_cast< CXnClockControl* >( this )->StartTimer();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::TimerCallback
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CXnClockControl::TimerCallback( TAny* aThis )
-    {
-    CXnClockControl* self = static_cast< CXnClockControl* >( aThis );
-
-    // Update the clock display
-    self->UpdateDisplay();
-
-    // Adjust the timer delay if necessary
-    TTime time;
-    time.HomeTime();
-    TDateTime dateTime( time.DateTime() );
-
-    if( dateTime.Second() > 0 )
-        {
-        self->iTimer->Cancel();
-        self->iTimer->After( KIntervalTime -
-            1000000 * dateTime.Second() - dateTime.MicroSecond() );
-        }
-
-    return KErrNone;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnClockControl::StartTimer
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnClockControl::StartTimer()
-    {
-    if ( iTimer && !iTimer->IsActive() )
-        {
-        TTime time;
-        time.HomeTime();
-        TDateTime dateTime( time.DateTime() );
-        TCallBack callBack( TimerCallback, this );
-
-        iTimer->Start(
-            TTimeIntervalMicroSeconds32(
-                KIntervalTime - 1000000 * dateTime.Second() - dateTime.MicroSecond() ),
-            TTimeIntervalMicroSeconds32( KIntervalTime ),
-            callBack );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockControl::StopTimer
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnClockControl::StopTimer()
-    {
-    if ( iTimer && iTimer->IsActive() )
-        {
-        iTimer->Cancel();
-        }
-    }
-
-//  End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockface.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,369 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation for xuikon clock face.
-*
-*/
-
-
-// SYSTEM INCLUDE FILES
-#include <e32math.h>
-#include <bitdev.h>
-#include <AknsUtils.h>
-#include <AknIconUtils.h>
-#include <AknBidiTextUtils.h>
-#include <AknLayoutFont.h>
-#include <AknUtils.h>
-#include <gdi.h>
-
-// USER INCLUDE FILES
-#include "xnnodepluginif.h"
-#include "xnclockadapter.h"
-#include "xntext.h"
-
-#include "xnclockface.h"
-
-
-// LOCAL CONSTANTS AND MACROS
-_LIT( KAmPmFormat, "%B" );
-_LIT( KTimeFormat, "%J%:1%T" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnClockFaceDigital::CXnClockFaceDigital
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnClockFaceDigital::CXnClockFaceDigital()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFaceDigital::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnClockFaceDigital::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFaceDigital::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnClockFaceDigital* CXnClockFaceDigital::NewL()
-    {
-    CXnClockFaceDigital* self =
-        new ( ELeave ) CXnClockFaceDigital();
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXnClockFaceDigital::~CXnClockFaceDigital()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFaceDigital::DrawL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnClockFaceDigital::DrawL( CXnClockAdapter& aAdapter, CWindowGc& aGc, 
-    const TRect& aRect, const TTime& aTime )
-    {        
-    TBuf< KMaxTimeFormatSpec > time;
-    aTime.FormatL( time, KTimeFormat() );         
-
-    TBuf< KMaxTimeFormatSpec > ampm;
-    aTime.FormatL( ampm, KAmPmFormat() );
-    
-    AknTextUtils::LanguageSpecificNumberConversion( time );
-    
-    const CAknLayoutFont* clockFont( 
-            aAdapter.FontL( CXnClockAdapter::EDigitalFont ) );
-    
-    const CAknLayoutFont* ampmFont( 
-            aAdapter.FontL( CXnClockAdapter::EAmPmFont ) );
-
-    const CAknLayoutFont* dateFont( 
-            aAdapter.FontL( CXnClockAdapter::EDateFont ) );
-    
-    const TRgb& color( aAdapter.TextColorL() );
-    
-    CXnNodePluginIf* date( aAdapter.Date() );
-        
-    TInt ampmWidth( 0 );
-    
-    if( TLocale().TimeFormat() == ETime12 )
-        {                
-        // Measure the full width of the ampm string 
-        ampmWidth = AknBidiTextUtils::MeasureTextBoundsWidth( *ampmFont, ampm, 
-            CFont::TMeasureTextInput::EFVisualOrder );                                    
-        }
-    
-    const TInt deltaHeight( aRect.Height() - clockFont->TextPaneHeight() );
-    TInt offset( clockFont->TextPaneTopToBaseline() + deltaHeight / 2 );
-    
-    if( date )
-        {
-        // When date string is shown, time string must be lifted up
-        offset -= ( dateFont->TextPaneHeight() / 2 );
-        }
-    
-    // Measure the full width of the time string 
-    TInt textWidth( AknBidiTextUtils::MeasureTextBoundsWidth( *clockFont, time, 
-        CFont::TMeasureTextInput::EFVisualOrder ) );
-    
-    TInt extraWidth( aRect.Width() - ampmWidth - textWidth );
-    
-    TInt margin( extraWidth / 2 );
-   
-    aGc.SetPenColor( color );
-    
-    aGc.UseFont( clockFont );
-
-    CGraphicsContext::TTextAlign align;
-    
-    TBool mirrored( AknLayoutUtils::LayoutMirrored() );
-    
-    if( mirrored )
-        {
-        align = CGraphicsContext::ERight;
-        }
-    else
-        {
-        align = CGraphicsContext::ELeft;
-        }        
-       
-    aGc.DrawText( time, aRect, offset, align, margin );
-
-    aGc.DiscardFont();
-    
-    if( TLocale().TimeFormat() == ETime12 )
-        {
-        TRect ampmRect( aRect );
-    
-        if( mirrored )
-            {
-            ampmRect.iBr.iX -= ( textWidth + ( margin / 2 ) );
-            }
-        else
-            {
-            ampmRect.iTl.iX += ( textWidth + ( margin / 2 ) );
-            }            
-                            
-        extraWidth = ampmRect.Width() - ampmWidth;
-        
-        margin = extraWidth / 2;
-
-        aGc.UseFont( ampmFont );
-                
-        aGc.DrawText( ampm, ampmRect, offset, align, margin );
-        
-        aGc.DiscardFont();
-        }    
-    
-    if( date )
-        {
-        const TDesC* dateStr( &KNullDesC() );
-                    
-        CXnText* textIf( NULL );
-
-        XnComponentInterface::MakeInterfaceL( textIf, date->AppIfL() );                                 
-
-        if( textIf )
-            {
-            dateStr = textIf->Text();
-            }        
-                
-        // Measure the full width of the time string 
-        TInt dateWidth( AknBidiTextUtils::MeasureTextBoundsWidth( *dateFont, *dateStr, 
-            CFont::TMeasureTextInput::EFVisualOrder ) );
-        
-        TInt width( aRect.Width() - dateWidth );
-        TInt margin( width / 2 );
-        
-        // Move date string down by text pane height and 5% of rect height
-        offset += dateFont->TextPaneHeight() + ( aRect.Height() / 20 );
-        
-        aGc.UseFont( dateFont );
-                     
-        aGc.DrawText( *dateStr, aRect, offset, align, margin );
-        
-        aGc.DiscardFont();        
-        }    
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnClockFaceAnalog::CXnClockFaceAnalog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnClockFaceAnalog::CXnClockFaceAnalog()     
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFaceAnalog::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnClockFaceAnalog::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFaceAnalog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnClockFaceAnalog* CXnClockFaceAnalog::NewL()    
-    {
-    CXnClockFaceAnalog* self =
-        new( ELeave ) CXnClockFaceAnalog();
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXnClockFaceAnalog::~CXnClockFaceAnalog()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFaceAnalog::DrawL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnClockFaceAnalog::DrawL( CXnClockAdapter& /*aAdapter*/, CWindowGc& aGc, 
-    const TRect& aRect, const TTime& aTime )
-    {
-    TSize faceSize( aRect.Size() );
-    
-    TDateTime dateTime( aTime.DateTime() );
-    
-    MAknsSkinInstance* skin( AknsUtils::SkinInstance() );
- 
-    // 1-2: Face number 1
-    CFbsBitmap* skinBmp( NULL );
-    CFbsBitmap* skinMask( NULL );
-
-    AknsUtils::GetCachedMaskedBitmap( skin,
-                                      KAknsIIDQsnHomeClockAnalogueFace,
-                                      skinBmp,
-                                      skinMask );
-
-    // If there is no bitmap, don't draw
-    if( !skinBmp )
-        {
-        return;
-        }
-
-    User::LeaveIfError( AknIconUtils::SetSize( skinBmp, faceSize ) );
-
-    if( skinMask )
-        {
-        User::LeaveIfError( AknIconUtils::SetSize( skinMask, faceSize ) );
-        
-        aGc.BitBltMasked( aRect.iTl,
-                          skinBmp,
-                          TRect( TPoint( 0, 0 ), skinBmp->SizeInPixels() ),
-                          skinMask,
-                          ETrue );
-        }
-    else
-        {
-        aGc.BitBlt( aRect.iTl, skinBmp );
-        }
-
-    aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-    aGc.SetPenStyle( CGraphicsContext::ESolidPen );
-  
-    DrawHandsL( aGc, aRect, dateTime );
-    }
-            
-// -----------------------------------------------------------------------------
-// CXnClockFaceAnalog::DrawHands
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnClockFaceAnalog::DrawHandsL( CWindowGc& aGc,
-                                     const TRect& aRect,
-                                     const TDateTime& aDateTime )                                    
-    {
-    TRect rect( aRect );
-            
-    CFbsBitmap* hrbitmap( NULL );
-    CFbsBitmap* hrmask( NULL );
-
-    CFbsBitmap* minbitmap( NULL );
-    CFbsBitmap* minmask( NULL );
-
-    MAknsSkinInstance* skin( AknsUtils::SkinInstance() );
-
-    AknsUtils::GetCachedMaskedBitmap(
-            skin, KAknsIIDQsnHomeClockAnaloguePointerHour, 
-            hrbitmap, hrmask );
-
-    AknsUtils::GetCachedMaskedBitmap(
-            skin, KAknsIIDQsnHomeClockAnaloguePointerMinute,
-            minbitmap, minmask );
-
-    User::LeaveIfError( AknIconUtils::SetSizeAndRotation(        
-                            hrbitmap,
-                            rect.Size(),
-                            EAspectRatioPreserved,
-                            aDateTime.Hour() * 30 + aDateTime.Minute() / 2 ) );
-
-    aGc.BitBltMasked( rect.iTl,
-                      hrbitmap,
-                      TRect( TPoint( 0, 0 ), hrbitmap->SizeInPixels() ),
-                      hrmask,
-                      EFalse );
-
-
-    User::LeaveIfError( AknIconUtils::SetSizeAndRotation(
-                            minbitmap,
-                            rect.Size(),
-                            EAspectRatioPreserved,
-                            aDateTime.Minute() * 6 ) );
-
-    aGc.BitBltMasked( rect.iTl,
-                      minbitmap,
-                      TRect( TPoint( 0, 0 ), minbitmap->SizeInPixels() ),
-                      minmask,
-                      EFalse );
-    }
-    
-//  End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for factory creating CXnClock-element
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "xnclockfactory.h"
-#include "xnclockadapter.h"
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-#include "xndomnode.h"
-
-#include "xnclock.h"
-
-_LIT8( KXnClock, "clock" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CXnClockFactory::MakeXnComponentL
-// Creates the Xuikon component for clock control
-// -----------------------------------------------------------------------------
-//
-MXnComponentFactory::TXnComponentFactoryResponse CXnClockFactory::MakeXnComponentL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnComponent*& aTargetComponent
-        								)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if( aNode.Type()->Type() == KXnClock )
-        {
-    	CXnClock* container = CXnClock::NewL();
-    	
-        aTargetComponent = static_cast< CXnComponent* >( container );
-        
-  	    retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;	    	    
-	    }
-	    
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFactory::MakeXnControlAdapterL
-// Creates the control adapter for clock control
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnClockFactory::MakeXnControlAdapterL(
-                                        CXnNodePluginIf& aNode,
-                                        CXnControlAdapter* aParent)
-    {
-    return CXnClockAdapter::NewL( aParent, aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnClockFactory* CXnClockFactory::NewL()
-    {
-    CXnClockFactory* self = new( ELeave ) CXnClockFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFactory::CXnClockFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnClockFactory::CXnClockFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFactory::~CXnClockFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnClockFactory::~CXnClockFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnClockFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnClockFactory::ConstructL()
-    {
-    }
-
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY( 0x2001CB52, CXnClockFactory::NewL ) 
-#else
-    { { 0x2001CB52 }, CXnClockFactory::NewL }
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Building information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-ARMV5 WINSCW
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-xnmenufactory.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
--- a/idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/group/xnmenufactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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:  ECOM-plugin for menu-component
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3menufactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_MENUFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xnmenu.cpp
-SOURCE          xnmenufactory.cpp
-SOURCE          xnmenuadapter.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib  
-LIBRARY         eikcore.lib  
-LIBRARY         eikcoctl.lib
-LIBRARY         cone.lib
-LIBRARY         xn3layoutengine.lib
-LIBRARY         xn3utils.lib
-LIBRARY         avkon.lib
-LIBRARY         aknlayout2scalable.lib
-LIBRARY         cdlengine.lib
-LIBRARY         aknicon.lib
-LIBRARY         fbscli.lib
-LIBRARY         bitgdi.lib
-LIBRARY         bitmaptransforms.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY         charconv.lib
-
-START RESOURCE  xn3menufactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3menufactory.rsc
-#endif
-END
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/inc/xnmenufactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002-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:  
-*
-*/
-
-
-
-#ifndef _XNMENUFACTORY_H
-#define _XNMENUFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-
-
-// CONSTANTS
-_LIT8(KMenu, "menubar");
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnmenufactory
-*  Layout Area UI factory interface for creating UI representations of the layout areas.
-*  This class is wrapper for containing menu
-*
-*  @lib xn3menufactory.dll
-*  @since S60 3.1
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnMenuFactory : public MXnComponentFactory, public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnMenuFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnMenuFactory();
-        
-
-    public: // Functions from base classes
-
-
-        /**
-        * From MXnComponentFactory Interface for creating Ui control component.
-        * @since Series 60 3.1
-        * @param aNode Component's node.
-        * @param aTargetComponent Created component is set here.
-        * @return EXnFactoryResponseComponentConstructed if component created.
-        */
-        TXnComponentFactoryResponse MakeXnComponentL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnComponent*& aTargetComponent
-        										);
-        /**
-        * From MXnComponentFactory Interface for creating Ui control adapter.
-        * @since Series 60 3.1
-        * @param aNode Component's node.
-        * @param aParent Parent of the adapter, which is created here.
-        * @return Created control adapter.
-        */        
-        CXnControlAdapter* MakeXnControlAdapterL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnControlAdapter* aParent
-        										);
-        
-    private:
-
-        /**
-        * 2nd phase constructor. 
-        */
-        void ConstructL();
-
-        /**
-        * C++ default constructor. 
-        */
-        CXnMenuFactory();
-
-    private:    // Data
-        // Reserved pointer for future extension
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNMENUFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/src/xn3menufactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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 <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_MENUFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_MENUFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnMenu";
-                default_data = "menubar";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/src/xnmenu.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +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:  Implementation for wrapper for a menu
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "xnmenu.h"
-#include "xnmenuadapter.h"
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CXnMenu::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnMenu* CXnMenu::NewL()
-    {
-    CXnMenu* self = new( ELeave ) CXnMenu;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenu::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnMenu::ConstructL()
-    {
-    CXnComponent::ConstructL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenu::ConstructL
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnMenu::CXnMenu()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenu::ConstructL
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnMenu::~CXnMenu()
-    {
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CXnMenu::SetSoftKeyImageL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenu::SetSoftKeyImageL( CFbsBitmap* aBitmap, CFbsBitmap* aMask,        
-    TSoftKeyPosition aPos, TBool aPreserveAspectRatio, TBool aInvertMask,
-    TBool aTransferOwnership )
-    {
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-    adapter->SetSoftKeyImageL( aBitmap, aMask, aPos, NULL, aPreserveAspectRatio, aInvertMask, aTransferOwnership );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenu::SetSoftKeyImageL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenu::SetSoftKeyImageL( CFbsBitmap* aBitmap, CFbsBitmap* aMask,        
-    TSoftKeyPosition aPos, CXnNodeAppIf* aNode, TBool aPreserveAspectRatio, TBool aInvertMask,
-    TBool aTransferOwnership )
-    {
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-    adapter->SetSoftKeyImageL( aBitmap, aMask, aPos, aNode, aPreserveAspectRatio, aInvertMask, aTransferOwnership );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenu::SetSoftKeyImageL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenu::SetSoftKeyImageL( const TAknsItemID& aId,
-    const TDesC& aBmpFile,
-    const TInt32 aBmp, const TInt32 aBmpM,
-    XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos, 
-    TBool aEnable )
-    {
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-    adapter->SetSoftKeyImageL( aId, aBmpFile, aBmp, aBmpM, aPos, aEnable );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenu::SetSoftKeyTextL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenu::SetSoftKeyTextL( const TDesC& aText, TSoftKeyPosition aPos )
-    {
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-    adapter->SetSoftKeyTextL( aText, aPos );       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenu::SetSoftKeyL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenu::SetSoftKeyL( CXnNodePluginIf* aSoftkeyNode, TSoftKeyPosition aPos )
-    {
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-    adapter->SetSoftKeyL( aSoftkeyNode, aPos );       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenu::SoftKeyL
-// 
-// -----------------------------------------------------------------------------
-//
-CXnNodePluginIf* CXnMenu::SoftKeyL( TSoftKeyPosition aPos )
-    {
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-    return adapter->SoftKeyL( aPos );       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenu::SetObserver
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenu::SetObserver( XnMenuInterface::MXnMenuObserver& aObserver )
-    {
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-    adapter->SetObserver( aObserver );           
-    }        
-
-// -----------------------------------------------------------------------------
-// CXnMenu::RemoveObserver
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenu::RemoveObserver()
-    {
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-    adapter->RemoveObserver();           
-    }        
-
-// -----------------------------------------------------------------------------
-// CXnMenu::TryDisplayingMenuBarL
-// 
-// -----------------------------------------------------------------------------
-//        
-void CXnMenu::TryDisplayingMenuBarL( const TDesC& aMenuNodeId )
-    {    
-    CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >( ControlAdapter() );
-           
-    adapter->TryDisplayingMenuL( aMenuNodeId );               
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenu::MakeInterfaceL
-// 
-// -----------------------------------------------------------------------------
-//
-XnComponentInterface::MXnComponentInterface* CXnMenu::MakeInterfaceL(
-    const TDesC8& aType)  
-    {
-    if( aType != XnMenuInterface::KType )
-        {
-        return NULL;
-        }
-        
-    return static_cast<XnMenuInterface::MXnMenuInterface*>( this );
-    }
--- a/idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/src/xnmenuadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2823 +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:  Implementation for wrapper for a menu
-*
-*/
-
-// System includes
-#include <utf.h>
-#include <aknappui.h>
-#include <e32base.h>
-#include <coecntrl.h>
-#include <eikbtgpc.h>
-#include <eikcba.h>
-#include <barsread.h>
-#include <eiksoftkeyimage.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-#include <AknStatuspaneUtils.h>
-#include <AknUtils.h>
-#include <AknIconUtils.h>
-#include <eikspane.h>
-#include <AknSgcc.h>
-#include <aknview.h>
-#include <AknsConstants.h>
-
-// User includes
-#include "xnnodepluginif.h"
-#include "xntype.h"
-#include "xnproperty.h"
-
-#include "xndompropertyvalue.h"
-#include "xndomproperty.h"
-#include "xndomlist.h"
-
-#include "xnuienginepluginif.h"
-#include "xncomponent.h"
-
-#include "xnappuiadapter.h"
-#include "xnbitmap.h"
-#include "xnmenuadapter.h"
-#include "xncomponentnodeimpl.h"
-#include "c_xnutils.h"
-
-#undef _AVKON_CBA_LSC
-
-_LIT8( KWidgetSpecific, "Menu/WidgetSpecific" );
-_LIT8( KViewSpecific, "Menu/ViewSpecific" );
-_LIT8( KWidgetsHidden, "Menu/WidgetsHidden" );
-_LIT8( KWidgetsShown, "Menu/WidgetsShown" );
-_LIT8( KEditMode, "Menu/EditMode" );
-_LIT8( KAlwaysShown, "Menu/AlwaysShown" );
-_LIT8( KHsShowHelp, "hs_show_help" );
-
-const TInt KMenuCommandFirst         = 6000;
-const TInt KMenuCommandLast          = 6199;
-const TInt KCBACommandFirst          = 6200;
-const TInt KCBACommandSecond         = 6201;
-const TInt KCBACommandMiddle         = 6202; 
-
-const TInt KXnMenuArrayGranularity   = 6;
-const TInt KWideScreenWidth          = 640;
-
-using namespace XnPropertyNames;
-
-static CXnNodePluginIf* FindChildL(CXnNodePluginIf& aNode, 
-    const TDesC8& aType, const TDesC8& aTarget = KNullDesC8);
-	
-class CXnSoftkeyItem: public CBase
-    { 
-public:           
-    CXnSoftkeyItem() 
-    : iNode( NULL ),         
-      iPosition( 0 ), 
-      iCommandId( 0 ),      
-      iLabel( NULL ),
-      iBitmap( NULL ),
-      iMask( NULL ),
-      iImageOn( EFalse ),  
-      iInvertMask( EFalse ),
-      iPreserveAspectRatio( EFalse ),            
-      iUpdateAppearance( ETrue ),
-      iOwnBitmaps( ETrue ),
-      iDefault( EFalse ),
-      iId( KAknsIIDQsnIconColors ),
-      iBmpFile( NULL ),
-      iBmp( 0 ),
-      iBmpM( 0 )
-        {
-        }  
-                              
-    ~CXnSoftkeyItem()
-        {
-        Reset();            
-        }
-        
-    void Reset()
-        {
-        delete iLabel;
-        iLabel = NULL;        
-        if ( iOwnBitmaps )
-            {
-            delete iBitmap;
-            iBitmap = NULL;
-            delete iMask;            
-            iMask = NULL;            
-            }
-        else
-            {
-            iBitmap = NULL;
-            iMask = NULL;
-            }
-        
-        iImageOn = EFalse;        
-        iInvertMask = EFalse;
-        iPreserveAspectRatio = EFalse;
-        delete iBmpFile;
-        iBmpFile = NULL;
-        }        
-        
-    CXnNodePluginIf* iNode;
-    TInt             iPosition;
-    TInt             iCommandId;    
-    HBufC*           iLabel;
-    CFbsBitmap*      iBitmap;
-    CFbsBitmap*      iMask;    
-    TBool            iImageOn;
-    TBool            iInvertMask;
-    TBool            iPreserveAspectRatio;    
-    TBool            iUpdateAppearance;
-    TBool            iOwnBitmaps;
-    TBool            iDefault;
-    TAknsItemID      iId;
-    HBufC*           iBmpFile;
-    TInt32           iBmp;
-    TInt32           iBmpM;
-    };
-
-
-inline TAknWindowComponentLayout DoCompose( TAknWindowComponentLayout aLine1, 
-    TAknWindowComponentLayout aLine2 ) 
-    { 
-    return TAknWindowComponentLayout::Compose( aLine1, aLine2 ); 
-    }
-
-inline TAknTextComponentLayout DoComposeText( TAknWindowComponentLayout aLine1, 
-    TAknTextComponentLayout aLine2 ) 
-    { 
-    return TAknWindowComponentLayout::ComposeText( aLine1, aLine2 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// IsNodeVisibleL
-// 
-// -----------------------------------------------------------------------------
-//
-static TBool IsNodeVisibleL(CXnNodePluginIf& aNode)
-    {          
-    CXnProperty* propVisibility = aNode.VisibilityL();
-    
-    if( propVisibility )
-        {
-        const TDesC8& visibility = propVisibility->StringValue();
-    
-        if( visibility == XnPropertyNames::style::common::visibility::KHidden )
-            {
-            return EFalse;
-            }    
-        }
-        
-    CXnProperty* propDisplay = aNode.DisplayL();
-    
-    if( propDisplay )
-        {
-        const TDesC8& display = propDisplay->StringValue();
-        
-        if( display == XnPropertyNames::style::common::display::KNone )
-            {
-            return EFalse;
-            }
-        }
-        
-    CXnProperty* propDisabled = aNode.GetPropertyL( XnPropertyNames::common::KDisabled );
-    
-    if( propDisabled )
-        {
-        const TDesC8& disabled = propDisabled->StringValue();
-        
-        if( disabled == XnPropertyNames::KTrue )
-            {
-            return EFalse;
-            }
-        }
-        
-    return ETrue;
-    }
-
-#ifdef _AVKON_CBA_LSC
-// -----------------------------------------------------------------------------
-// 
-// Calculate touch sensitive softkey area for Top button (landscape)
-// -----------------------------------------------------------------------------         
-static TRect SoftkeyRectTopTouch()
-    {
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-    TAknLayoutRect layoutRect;
-
-    TAknWindowComponentLayout rightAreaLayout(
-            AknLayoutScalable_Avkon::area_side_right_pane( 0 ) );
-
-
-    layoutRect.LayoutRect( screen, DoCompose( rightAreaLayout,
-            AknLayoutScalable_Avkon::sctrl_sk_top_pane() ).LayoutLine() );
-    TRect topSKRect( layoutRect.Rect() );
-    
-    layoutRect.LayoutRect( topSKRect, 
-                    AknLayoutScalable_Avkon::aid_touch_sctrl_top().LayoutLine() );
-    return layoutRect.Rect();
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// Calculate touch sensitive softkey area for right button (portrait)
-// -----------------------------------------------------------------------------         
-static TRect SoftkeyRectRightTouch()
-    {
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-    TAknLayoutRect layoutRect;
-
-    TAknWindowComponentLayout bottomAreaLayout(
-            AknLayoutScalable_Avkon::area_bottom_pane( 0 ) );
-
-
-    layoutRect.LayoutRect( screen, DoCompose( bottomAreaLayout,
-            AknLayoutScalable_Avkon::control_bg_pane() ).LayoutLine() );
-    TRect rightSKRect( layoutRect.Rect() );
-    layoutRect.LayoutRect(
-    		rightSKRect,
-            AknLayoutScalable_Avkon::aid_touch_ctrl_right().LayoutLine() );
-    return layoutRect.Rect();
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// Calculate touch sensitive softkey area for left button (portrait)
-// -----------------------------------------------------------------------------         
-static TRect SoftkeyRectLeftTouch()
-    {
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-    TAknLayoutRect layoutRect;
-
-    TAknWindowComponentLayout bottomAreaLayout(
-            AknLayoutScalable_Avkon::area_bottom_pane( 0 ) );
-
-
-    layoutRect.LayoutRect( screen, DoCompose( bottomAreaLayout,
-            AknLayoutScalable_Avkon::control_bg_pane() ).LayoutLine() );
-    TRect leftSKRect( layoutRect.Rect() );
-    layoutRect.LayoutRect(
-    		leftSKRect,
-            AknLayoutScalable_Avkon::aid_touch_ctrl_left().LayoutLine() );
- 
-    return layoutRect.Rect();
-
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// Calculate touch sensitive softkey area for Bottom button (landscape)
-// -----------------------------------------------------------------------------         
-static TRect SoftkeyRectBottomTouch()
-    {
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-    
-    TAknLayoutRect layoutRect;
-        
-    TAknWindowComponentLayout rightAreaLayout( AknLayoutScalable_Avkon::area_side_right_pane( 0 ) );
-        
-    layoutRect.LayoutRect( screen, DoCompose( rightAreaLayout,
-                    AknLayoutScalable_Avkon::sctrl_sk_bottom_pane() ).LayoutLine() );
-    TRect bottomSKRect( layoutRect.Rect() );
-            
-    layoutRect.LayoutRect( bottomSKRect,
-                    AknLayoutScalable_Avkon::aid_touch_sctrl_bottom().LayoutLine() );
-    return layoutRect.Rect();
-    }
-#endif
-// -----------------------------------------------------------------------------
-// 
-// Calculate (whole) softkey area for Bottom button (landscape)
-// -----------------------------------------------------------------------------         
-static TBool HDLayoutActive()
-    {
-    TInt resourceId = 0;
-    CEikStatusPaneBase* statusPane = CEikStatusPaneBase::Current();
-    
-    if ( statusPane ) // Return the resource ID of app statuspane if it exists.
-        {
-        resourceId = statusPane->CurrentLayoutResId();
-        }
-    else // If this app does not have statuspane, then we ask the layout from AknCapServer.
-        {
-        resourceId = CAknSgcClient::CurrentStatuspaneResource();
-        }    
-    
-    TBool retVal = EFalse;
-    
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // Can be widescreen only in landscape orientation.
-        retVal = ( resourceId == R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL ||
-                   resourceId == R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE  ||
-                   resourceId == R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT ||
-                   resourceId == R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT );
-        }
-        
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// Calculate softkey image graphics area for Bottom button (landscape)
-// -----------------------------------------------------------------------------         
-static TRect SoftkeyRectBottomGraphics()
-    {
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-    TAknWindowComponentLayout rightAreaLayout(
-        AknLayoutScalable_Avkon::area_side_right_pane( 0 ) );
-        
-    TAknWindowComponentLayout bottomSKLayout(
-        DoCompose( rightAreaLayout,
-                   AknLayoutScalable_Avkon::sctrl_sk_bottom_pane() ) );
-
-    // Calculate softkey rects.
-    // Left (bottom in landscape) softkey layout.
-    TAknLayoutRect leftSoftkeyLayoutRect;
-    leftSoftkeyLayoutRect.LayoutRect( screen,
-                                      bottomSKLayout.LayoutLine() );
-    TRect leftSoftKeyButtonRect( leftSoftkeyLayoutRect.Rect() );
-
-    // Calculate softkey image layout.
-    // Left (bottom in landscape) softkey layout.
-    TAknWindowLineLayout leftSoftkeyImageLayout( 
-        DoCompose(
-            bottomSKLayout,
-            AknLayoutScalable_Avkon::sctrl_sk_bottom_pane_g1() ).LayoutLine() );
-            
-
-    TAknLayoutRect qgn_graf_sk_left;
-    qgn_graf_sk_left.LayoutRect( screen, leftSoftkeyImageLayout );
-    
-    return qgn_graf_sk_left.Rect();    
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// Calculate softkey image graphics area for Top button (landscape)
-// -----------------------------------------------------------------------------         
-static TRect SoftkeyRectTopGraphics()
-    {
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
-    TAknWindowComponentLayout rightAreaLayout(
-        AknLayoutScalable_Avkon::area_side_right_pane( 0 ) );
-        
-    TAknWindowComponentLayout topSKLayout(
-        DoCompose( rightAreaLayout,
-                   AknLayoutScalable_Avkon::sctrl_sk_top_pane() ) );
-        
-    // Calculate softkey rects.
-    // Right (top in landscape) softkey layout.
-    TAknLayoutRect rightSoftkeyLayoutRect;
-    rightSoftkeyLayoutRect.LayoutRect( screen,
-                                       topSKLayout.LayoutLine() );
-    TRect rightSoftKeyButtonRect( rightSoftkeyLayoutRect.Rect() );
-    
-    // Left (bottom in landscape) softkey layout.
-    // Right (top in landscape) softkey layout.
-    TAknWindowLineLayout rightSoftkeyImageLayout( 
-        DoCompose(
-            topSKLayout,
-            AknLayoutScalable_Avkon::sctrl_sk_top_pane_g1() ).LayoutLine() );
-            
-    TAknLayoutRect qgn_graf_sk_right;
-    qgn_graf_sk_right.LayoutRect( screen, rightSoftkeyImageLayout );
-    return qgn_graf_sk_right.Rect();    
-    }
-    
-
-// -----------------------------------------------------------------------------
-// SoftkeyRectL
-// Calculate soft key rect
-// -----------------------------------------------------------------------------             
-static TRect SoftkeyRectL( CEikButtonGroupContainer& aContainer, TInt aPos, TBool aImageOn )
-    {
-    TRect rect;
-    
-    if( AknStatuspaneUtils::StaconPaneActive() )   
-        {
-        TInt variety( 0 );
-                        
-        if( AknStatuspaneUtils::StaconSoftKeysLeft() )
-            {
-            variety = 1;
-            }
-        
-        TRect parentRect( iAvkonAppUi->ApplicationRect() );
-                                                                              
-        switch( aPos )
-            {
-            case CEikButtonGroupContainer::ELeftSoftkeyPosition:
-                {
-                TAknWindowComponentLayout layout0( AknLayoutScalable_Avkon::area_bottom_pane( 2 ) );
-                TAknWindowComponentLayout layout1( AknLayoutScalable_Avkon::stacon_bottom_pane() );
-
-                // If clock is shown in stacon, cba area is smaller.
-                TInt bottomCbaVariety( variety );
-                
-                if( AknStatuspaneUtils::ExtendedStaconPaneActive() )
-                    {
-                    bottomCbaVariety += 2;
-                    }
-
-                TAknWindowComponentLayout layout2( AknLayoutScalable_Avkon::control_bottom_pane_stacon( bottomCbaVariety ) );    
-                                                                                                                       
-                if( aImageOn ) 
-                    {
-                    // Icon layout
-                    TAknWindowComponentLayout iconLayout( AknLayoutScalable_Avkon::control_bottom_pane_stacon_g1() );
-                                            
-                    TAknWindowComponentLayout lskIconLayout( DoCompose( layout0, 
-                        DoCompose( layout1, DoCompose( layout2, iconLayout ) ) ) );
-                        
-                    TAknWindowLineLayout lskIcon( lskIconLayout.LayoutLine() );                    
-                    
-                    TAknLayoutRect qgn_icon_lsk;
-                    
-                    qgn_icon_lsk.LayoutRect( parentRect, lskIcon );
-                    
-                    rect = qgn_icon_lsk.Rect();
-                    }
-                else
-                    {
-                    // Text layout
-                    TAknTextComponentLayout textLayout( AknLayoutScalable_Avkon::control_bottom_pane_stacon_t1( variety ) );
-                    
-                    TAknTextComponentLayout lskTextLayout( DoComposeText( layout0, 
-                        DoComposeText( layout1, DoComposeText( layout2, textLayout ) ) ) );
-                                                                                         
-                    TAknTextLineLayout lskText( lskTextLayout.LayoutLine() );                
-                    
-                    TAknLayoutText qgn_text_lsk;
-                    
-                    qgn_text_lsk.LayoutText( parentRect, lskText );
-                    
-                    rect = qgn_text_lsk.TextRect();
-                    }                       
-                }
-                break;
-            case CEikButtonGroupContainer::ERightSoftkeyPosition:
-                {                                            
-                TAknWindowComponentLayout layout0( AknLayoutScalable_Avkon::area_top_pane( 2 ) );
-                TAknWindowComponentLayout layout1( AknLayoutScalable_Avkon::stacon_top_pane() );
-                        
-                TInt topCbaVariety( variety );
-                
-                if( AknStatuspaneUtils::ExtendedStaconPaneActive() )
-                    {
-                    topCbaVariety += 4;
-                    }
-                
-                TAknWindowComponentLayout layout2( AknLayoutScalable_Avkon::control_top_pane_stacon( topCbaVariety ) );    
-                          
-                if( aImageOn ) 
-                    {
-                    // Icon layout
-                    TAknWindowComponentLayout iconLayout( AknLayoutScalable_Avkon::control_top_pane_stacon_g1() );
-                                            
-                    TAknWindowComponentLayout rskIconLayout( DoCompose( layout0, 
-                        DoCompose( layout1, DoCompose( layout2, iconLayout ) ) ) );
-                        
-                    TAknWindowLineLayout rskIcon( rskIconLayout.LayoutLine() );                    
-                    
-                    TAknLayoutRect qgn_icon_rsk;
-                    
-                    qgn_icon_rsk.LayoutRect( parentRect, rskIcon );
-                    
-                    rect = qgn_icon_rsk.Rect();
-                    }
-                else
-                    {
-                    // Text layout                                                          
-                    TAknTextComponentLayout textLayout( AknLayoutScalable_Avkon::control_top_pane_stacon_t1( variety ) );
-                    
-                    TAknTextComponentLayout rskTextLayout( DoComposeText( layout0, 
-                        DoComposeText( layout1, DoComposeText( layout2, textLayout ) ) ) );
-                                                                                         
-                    TAknTextLineLayout rskText( rskTextLayout.LayoutLine() );                
-                                       
-                    TAknLayoutText qgn_text_rsk;
-                    
-                    qgn_text_rsk.LayoutText( parentRect, rskText );
-                    
-                    rect = qgn_text_rsk.TextRect();
-                    }      
-                }
-                break;
-            default:
-                User::Leave( KErrNotSupported );
-                break;
-                
-            }                                  
-        }
-    else
-        {        
-        TInt textVariety( 0 );
-        TInt graphVariety( 0 );
-        
-        TBool mskEnabled( AknLayoutUtils::MSKEnabled() && Layout_Meta_Data::IsMSKEnabled() );
-        
-        if ( mskEnabled )            
-            {
-            textVariety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 3;
-            graphVariety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 4;
-            }
-        else
-            {
-            textVariety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 0;
-            graphVariety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 4;
-            }
-
-        CEikCba* cba( static_cast< CEikCba* >( aContainer.ButtonGroup() ) );
-        
-        TRect parentRect( cba->Rect() );
-        
-        switch( aPos )
-            {
-            case CEikButtonGroupContainer::ELeftSoftkeyPosition:
-                {                                
-                if( aImageOn )
-                    {
-                    if ( HDLayoutActive() &&
-                         AKN_LAYOUT_WINDOW_screen.iW == KWideScreenWidth )
-                        {
-                        rect = SoftkeyRectBottomGraphics();
-                        }
-                     else
-                        {
-                            
-                        TAknLayoutRect qgn_icon_lsk;
-                        
-                        qgn_icon_lsk.LayoutRect( parentRect,
-                            AknLayoutScalable_Avkon::control_pane_g1( graphVariety ).LayoutLine() );
-                            
-                        rect = qgn_icon_lsk.Rect();
-                        }
-                    }
-                else
-                    {
-                    TAknLayoutText qgn_text_lsk;
-                    
-                    qgn_text_lsk.LayoutText( parentRect,                     
-                        AknLayoutScalable_Avkon::control_pane_t1( textVariety ).LayoutLine() );
-                    
-                    rect = qgn_text_lsk.TextRect();
-                    }  
-                }
-                break;
-            case CEikButtonGroupContainer::ERightSoftkeyPosition:
-                {                                
-                if( aImageOn )
-                    {
-                    if ( HDLayoutActive() &&
-                         AKN_LAYOUT_WINDOW_screen.iW == KWideScreenWidth )
-                        {
-                        rect = SoftkeyRectTopGraphics();
-                        }
-                     else
-                        {
-                        TAknLayoutRect qgn_icon_rsk;
-                        
-                        qgn_icon_rsk.LayoutRect( parentRect,
-                            AknLayoutScalable_Avkon::control_pane_g2( graphVariety ).LayoutLine() );                       
-                            
-                        rect = qgn_icon_rsk.Rect();
-                        }
-                    }
-                else
-                    {
-                    TAknLayoutText qgn_text_rsk;
-                    
-                    qgn_text_rsk.LayoutText( parentRect,                     
-                        AknLayoutScalable_Avkon::control_pane_t2( textVariety ).LayoutLine() );                   
-                    
-                    rect = qgn_text_rsk.TextRect();
-                    }    
-                }
-                break;
-            case CEikButtonGroupContainer::EMiddleSoftkeyPosition:
-                {                                
-                if( !mskEnabled || aImageOn )
-                    {
-                    // No msk, or asking image size for msk
-                    User::Leave( KErrNotSupported );
-                    }
-                else
-                    {
-                    TAknLayoutText qgn_text_msk;
-                    
-                    qgn_text_msk.LayoutText( parentRect,                     
-                        AknLayoutScalable_Avkon::control_pane_t3( textVariety ).LayoutLine() );
-                    
-                    rect = qgn_text_msk.TextRect();
-                    }    
-                }
-                break;                                                                                                        
-            default:
-                User::Leave( KErrNotFound );
-                break;
-            }                
-        }        
-        
-    return rect;                       
-    }
-// -----------------------------------------------------------------------------
-// Get softkey image rect
-// -----------------------------------------------------------------------------
-static TRect SoftkeyImageRect(CEikButtonGroupContainer& aContainer, TInt aPosition)
-    {
-    TRect ret;
-#ifndef _AVKON_CBA_LSC    
-    TAknLayoutRect softkeyImg;
-    CEikCba* cba( static_cast< CEikCba* >( aContainer.ButtonGroup() ) );
-    TRect parentRect( cba->Rect() );
-    
-    if(Layout_Meta_Data::IsLandscapeOrientation())
-        {
-        if(aPosition == CEikButtonGroupContainer::ELeftSoftkeyPosition)
-            {
-            TAknWindowComponentLayout wcl = AknLayoutScalable_Avkon::control_pane_g1(2);
-            softkeyImg.LayoutRect(parentRect,wcl.LayoutLine() ); 
-            }
-        else if(aPosition == CEikButtonGroupContainer::ERightSoftkeyPosition)
-            {
-            TAknWindowComponentLayout wcl = AknLayoutScalable_Avkon::control_pane_g2(2);
-            softkeyImg.LayoutRect(parentRect,wcl.LayoutLine() );     
-            }
-        }
-    else
-        {
-        if(aPosition == CEikButtonGroupContainer::ELeftSoftkeyPosition)
-            {
-            TAknWindowComponentLayout wcl = AknLayoutScalable_Avkon::control_pane_g1(4);
-            softkeyImg.LayoutRect(parentRect,wcl.LayoutLine() );  
-            }
-        else if(aPosition == CEikButtonGroupContainer::ERightSoftkeyPosition)
-            {
-            TAknWindowComponentLayout wcl = AknLayoutScalable_Avkon::control_pane_g2(4);
-            softkeyImg.LayoutRect(parentRect,wcl.LayoutLine() );  
-       
-            }
-        }
-    ret = softkeyImg.Rect();
-#else
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        if(aPosition == CEikButtonGroupContainer::ELeftSoftkeyPosition)
-            {
-            ret = SoftkeyRectTopTouch();
-            }
-        else if(aPosition == CEikButtonGroupContainer::ERightSoftkeyPosition)
-            {
-            ret = SoftkeyRectBottomTouch();
-            }
-        }
-    else // portrait
-        {
-        if(aPosition == CEikButtonGroupContainer::ELeftSoftkeyPosition)
-           {
-           ret = SoftkeyRectLeftTouch();
-           }
-       else if(aPosition == CEikButtonGroupContainer::ERightSoftkeyPosition)
-           {
-           ret = SoftkeyRectRightTouch();
-           }
-        }
-#endif    
-    return ret; 
-    }
-    
-// -----------------------------------------------------------------------------
-// CopyBitmapLC
-// Copy bitmap
-// -----------------------------------------------------------------------------         
-static CFbsBitmap* CopyBitmapL( const CFbsBitmap* aBitmap ) 
-    {   
-    CFbsBitmap* copy = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( copy );
-    
-    copy->Create( aBitmap->SizeInPixels(), aBitmap->DisplayMode() );
-
-    CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL( copy );
-    CleanupStack::PushL( dev );
-    
-    CFbsBitGc* gc = CFbsBitGc::NewL();
-    CleanupStack::PushL( gc );
-    
-    gc->Activate( dev );
-    gc->BitBlt( TPoint( 0, 0 ), aBitmap );
-
-    CleanupStack::PopAndDestroy( 2 ); // gc, dev
-    
-    CleanupStack::Pop( copy );
-    
-    return copy;
-    }
-       
-// -----------------------------------------------------------------------------
-// MenuTypeL
-// This is used to deactivate "active applications" menu item using the theme
-// Get the "menutype" property from menubar and check if it has value
-// "menuoptions" (default) or "menuoptionsnotaskswapper" and return
-// correct menu type.
-// -----------------------------------------------------------------------------     
-static CEikMenuBar::TMenuType MenuTypeL( CXnNodePluginIf& aMenubarNode )
-    {
-    CEikMenuBar::TMenuType menuType( CEikMenuBar::EMenuOptions );
-    
-    CXnProperty* property( aMenubarNode.GetPropertyL( XnPropertyNames::menu::KMenuType ) );
-                                        
-    if( property )
-        {                
-        if( property->StringValue() == XnPropertyNames::menu::menutype::KMenuOptionsNoTaskSwapper )
-            {
-            menuType = CEikMenuBar::EMenuOptionsNoTaskSwapper;
-            }
-        }
-
-    return menuType;
-    }
-    
-// -----------------------------------------------------------------------------
-// FindChildL
-// 
-// -----------------------------------------------------------------------------
-static CXnNodePluginIf* FindChildL( CXnNodePluginIf& aNode, 
-    const TDesC8& aType, const TDesC8& aTarget )    
-    {
-    RPointerArray<CXnNodePluginIf> children( aNode.ChildrenL() );
-    CleanupClosePushL( children );
-    
-    CXnNodePluginIf* retval( NULL );
-
-    for( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNodePluginIf* child( children[i] );
-        
-        if( child->Type()->Type() == aType )
-            {
-            if( aTarget == KNullDesC8 )
-                {
-                retval = child;
-                break;
-                }
-            else
-                {
-                CXnProperty* target( child->GetPropertyL( KXnTarget ) );
-                
-                if( target && target->StringValue() == aTarget )
-                    {
-                    retval = child;
-                    break;
-                    }       
-                
-                CXnProperty* source( child->GetPropertyL( KXnSource ) );
-                                               
-                if( source && source->StringValue() == aTarget )
-                    {
-                    retval = child;
-                    break;
-                    }                               
-                }
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &children );
-    
-    return retval;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnMenuAdapter* CXnMenuAdapter::NewL( CXnControlAdapter* aParent, CXnNodePluginIf& aNode )
-    {
-	CXnMenuAdapter* self = new( ELeave ) CXnMenuAdapter;
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aParent, aNode );
-    CleanupStack::Pop( self );
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::ConstructL( CXnControlAdapter* /*aParent*/, CXnNodePluginIf& aNode )
-    {
-    iRootNode = &aNode;      
-    
-    CXnControlAdapter::ConstructL( aNode );        
-    
-    iUiEngine = iRootNode->UiEngineL();
-    
-    CAknAppUi* appui( iAvkonAppUi );
-    
-    iPreviousMenuPaneId = appui->StatusPane()->CurrentLayoutResId();
-    
-    CEikMenuBar* current( iEikonEnv->AppUiFactory()->SwapMenuBar( NULL ) );    
-    appui->RemoveFromStack( current );                
-	
-    delete current;
-	current = NULL;
-		   
-    InitSoftkeyItemsL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::CXnMenuAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnMenuAdapter::CXnMenuAdapter(): 
-    iMenuItems( KXnMenuArrayGranularity ), 
-    iIdCounter( KMenuCommandFirst )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::~CXnMenuAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnMenuAdapter::~CXnMenuAdapter()
-    {
-    StopDisplayingMenu();
-
-    if ( iAvkonAppUi )
-        {
-        iAvkonAppUi->RemoveFromStack( iMenuBar );
-        }
-
-    if ( iMenuBar )
-        {
-        delete iMenuBar;
-        }
-
-    iSoftkeyItems.ResetAndDestroy();
-    iMenuItems.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// Create scaled bitmap from source bitmap.
-// -----------------------------------------------------------------------------
-//
-void CreateScaledBitmapL(
-    const TRect& aRect,
-    CFbsBitmap*& aTrgBitmap, 
-    CFbsBitmap* aSrcBitmap,
-    TBool aPreserveAspectRatio )    
-    {
-    TRect destRect = aRect;
-        
-    if( aPreserveAspectRatio )
-    	{
-	    // Calculate the bitmap image dimensions so that it uses maximum space 
-	    // of the given rectangle and maintains aspect ratio.
-    	TInt srcHeight = aSrcBitmap->SizeInPixels().iHeight;
-    	TInt srcWidth = aSrcBitmap->SizeInPixels().iWidth;
-    	TReal scaleRatio( 1 ); //no scale as defaul
-
-		// If any dimension is 0, then we do not bother to scale
-    	if( aRect.Width() > 0 && aRect.Height() > 0 )
-    		{
-	    	TReal xRatio = ( (TReal )srcWidth / ( TReal )aRect.Width() );
-	    	TReal yRatio = ( ( TReal )srcHeight / ( TReal )aRect.Height() );
-	    	
-	    	//Find out appropriate scaling factor
-	   		xRatio > yRatio ? ( scaleRatio = xRatio ) : ( scaleRatio = yRatio );
-    		}
-    	
-    	// Scale the size for target bitmap
-    	destRect.SetHeight( srcHeight / scaleRatio );
-		destRect.SetWidth( srcWidth / scaleRatio );
-    	}
-
-    aTrgBitmap = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( aTrgBitmap );
-    
-    // It is allowed to create zero height or width bitmap.    
-    TInt err( aTrgBitmap->Create( destRect.Size(), aSrcBitmap->DisplayMode() ) );
-
-    if( err == KErrNone )
-        {
-		CXnUtils::ScaleBitmapL( destRect, aTrgBitmap, aSrcBitmap );
-        }
-
-    // we do not own the bitmap so just Pop.
-    CleanupStack::Pop( aTrgBitmap );
-    }    
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::PrepareSoftkeyImageL
-// Make a copy of originals and scale them to right size.
-// Finally place the scaled icon to right position of drawing area.
-// -----------------------------------------------------------------------------         
-CEikImage* CXnMenuAdapter::PrepareSoftkeyImageL( const CXnSoftkeyItem& aItem, const TSize& aSize )
-    {                         
-    CFbsBitmap* bitmap( NULL );
-    CFbsBitmap* mask( NULL );
-    
-    // Start from bitmap
-    CFbsBitmap* source( aItem.iBitmap );    
-        
-    TInt count( 0 );
-           
-    // Go through bitmap and mask
-    for( TInt i = 0; i < 2; i++ )
-        {
-        if( !source )
-            {
-            source = aItem.iMask;
-            continue;
-            }
-            
-        CFbsBitmap* scaled( NULL );            
-
-        TScaleMode mode( aItem.iPreserveAspectRatio ? EAspectRatioPreserved : EAspectRatioNotPreserved );
-            
-        if( AknIconUtils::IsMifIcon( source ) )
-            {                       
-            AknIconUtils::SetSize( source, aSize, mode );
-            
-            scaled = CopyBitmapL( source );
-            }
-        else
-            {                            
-            CreateScaledBitmapL( TRect( aSize ), scaled, source, mode == EAspectRatioPreserved );        
-            }
-
-        CleanupStack::PushL( scaled );                
-        
-        if( !aItem.iPreserveAspectRatio )                        
-            {                          
-            count++;
-                                 
-            if( i == 0 )
-                {                
-                bitmap = scaled;                                
-                }
-            else
-                {
-                mask = scaled;
-                }                                                                         
-            }
-        else
-            {                        
-            CFbsBitmap* target = new ( ELeave ) CFbsBitmap;
-            CleanupStack::PushL( target );
-
-            // Target is size of whole draw area
-            User::LeaveIfError( target->Create( aSize, source->DisplayMode() ) );
-        	
-    	    CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL( target );
-    	    CleanupStack::PushL( dev );
-    	    
-    	    CFbsBitGc* gc = CFbsBitGc::NewL();
-    	    CleanupStack::PushL( gc );
-    	    
-    	    gc->Activate( dev );
-    	    
-    	    gc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    	    gc->SetPenStyle( CGraphicsContext::ENullPen );
-    	    
-    	    if( aItem.iInvertMask )
-    	        {
-        	    // White, with full transparent alpha channel
-        	    gc->SetBrushColor( TRgb( 0x00FFFFFF, 0 ) );	       
-    	        }
-            else
-                {
-        	    // Black, with full transparent alpha channel
-        	    gc->SetBrushColor( TRgb( 0x00000000, 0 ) );
-                }	        
-    	    
-    	    // Make whole target area transparent
-    	    gc->DrawRect( TRect( aSize ) );
-    	   
-    	   	TPoint iconPos;
-    	   	
-    	   	switch( AknLayoutUtils::CbaLocation() )
-    	   	    {	   	    
-    	   	    case AknLayoutUtils::EAknCbaLocationBottom:
-    	   	        // Rsk must be moved to right, lsk is in correct place by default	   	        
-    	   	        if ( aItem.iPosition != CEikButtonGroupContainer::ELeftSoftkeyPosition )
-    	   	            {
-    	   	            iconPos.iX = aSize.iWidth - scaled->SizeInPixels().iWidth;
-    	   	            }
-    	   	        break;	   	    	   	   
-    	   	    case AknLayoutUtils::EAknCbaLocationRight:
-    	   	        // Rsk and lsk must be moved to right	   	       
-    	   	        iconPos.iX = aSize.iWidth - scaled->SizeInPixels().iWidth;
-    	   	        break;
-    	   	    case AknLayoutUtils::EAknCbaLocationLeft:
-    	   	        // Already in correct position
-    	   	    default:    	   	        
-    	   	        break;    
-    	   	    }
-    	   	
-    	   	// Align horizontally to center
-            iconPos.iY = iconPos.iX ? 0 : ( ( aSize.iHeight - scaled->SizeInPixels().iHeight ) / 2 );
-    	   		   	
-    	   	gc->SetBrushStyle( CGraphicsContext::ENullBrush );
-    	   			   	
-    	   	// Blit image to correct position
-    	   	gc->BitBlt( iconPos, scaled );    	
-
-    		CleanupStack::PopAndDestroy( 2, dev );    		    		    		    		
-    		
-    		CleanupStack::Pop( target );
-    		
-    		CleanupStack::PopAndDestroy( scaled );
-    		
-    		CleanupStack::PushL( target );
-            count++;                		    		
-            
-    		if( i == 0 )
-    		    {
-    		    bitmap = target;    		        		    
-    		    }
-            else
-                {
-                mask = target;
-                }    		        		      
-                
-            
-        	}                  
-        
-        // Go with mask next
-        source = aItem.iMask;
-        }    
-        
-    // Takes ownership of scaled bitmap and mask
-    CEikImage* image = new ( ELeave ) CEikImage;
-    
-    image->SetPictureOwnedExternally( EFalse );
-    image->SetPicture( bitmap, mask );        
-                       
-    CleanupStack::Pop( count ); 
-    
-    return image;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SetSoftkeyAppearanceL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::SetSoftkeyAppearanceL( CXnSoftkeyItem& aItem )
-    {
-    if( iContainer && IsNodeVisibleL( *aItem.iNode) )
-        {
-        if( aItem.iImageOn )
-            {
-            ChangeSoftkeyImageL( aItem );
-            }
-        else if( aItem.iLabel )// change label
-            {
-            if ( aItem.iPosition == CEikButtonGroupContainer::ELeftSoftkeyPosition )
-                {
-                EikSoftkeyImage::SetLabel( iContainer, ETrue );
-                }
-            else if ( aItem.iPosition == CEikButtonGroupContainer::ERightSoftkeyPosition )
-                {
-                EikSoftkeyImage::SetLabel( iContainer, EFalse );
-                }
-
-            iContainer->SetCommandL( aItem.iPosition, aItem.iCommandId, *aItem.iLabel );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::InitSoftkeyItemsL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::InitSoftkeyItemsL()
-    {                
-    // No layout calulations needed
-    iRootNode->SetLayoutCapable( EFalse );       
-    
-    // create softkeyitems to hold data
-    
-    RPointerArray< CXnNodePluginIf > children( iRootNode->ChildrenL() );
-    CleanupClosePushL( children );
-    CXnSoftkeyItem* item(0);
-    for(TInt i=0;i<children.Count();++i)
-        {
-        if(children[i]->Type()->Type() == XnPropertyNames::softkey::KNodeName)
-            {
-            item = AppendSoftkeyItemL(children[i]);
-            if(item)
-                {
-                item->iDefault = ETrue;
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    
-   }
-    
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::InitSoftkeyItemL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::InitSoftkeyItemImageL( CXnSoftkeyItem& aItem)
-    {
-    CXnNodePluginIf* node( aItem.iNode );
-    
-    // No layout calulations needed
-    node->SetLayoutCapable( EFalse );                                                                 
-
-    if ( aItem.iPosition == CEikButtonGroupContainer::EMiddleSoftkeyPosition )
-        {
-        aItem.iImageOn = ETrue;
-        return;
-        }
-
-    CXnProperty* pathProp( node->PathL() );
-    if( pathProp )
-        {     
-        HBufC* bitmapPath( NULL );                                  
-        HBufC* maskPath( NULL );
-        
-        bitmapPath = pathProp->StringValueL();
-        CleanupStack::PushL( bitmapPath );
-        TInt count( 1 );
-        
-        CXnProperty* maskProp( node->MaskPathL() );
-                                        
-        if( maskProp )
-            {
-            maskPath = maskProp->StringValueL();                                
-            CleanupStack::PushL( maskPath );
-            count++;
-            }
-                    
-        CFbsBitmap* bitmap( NULL );
-        CFbsBitmap* mask( NULL );
-                                                                    
-        // Call base class to get bitmap and mask                        
-        GetBitmapAndMask( bitmapPath ? *bitmapPath : KNullDesC(), 
-                          maskPath ? *maskPath : KNullDesC(), 
-                          bitmap, mask );                            
-                    
-        aItem.iImageOn = ETrue;
-        aItem.iBitmap = bitmap;
-        aItem.iMask = mask;
-        
-        CXnProperty* maskInvertedProp( node->GetPropertyL( XnPropertyNames::image::KMaskInverted ) );
-        
-        if( maskInvertedProp )
-            {                        
-            if( maskInvertedProp->StringValue() == XnPropertyNames::KTrue )
-                {
-                aItem.iInvertMask = ETrue;
-                }
-            }
-        
-        CXnProperty* aspectRatioProp( node->GetPropertyL( XnPropertyNames::image::KS60AspectRatio ) );
-        
-        if( aspectRatioProp )
-            {
-            if( aspectRatioProp->StringValue() == XnPropertyNames::image::KPreserve )
-                {
-                aItem.iPreserveAspectRatio = ETrue;
-                }
-            }
-                
-        CleanupStack::PopAndDestroy( count ); // path and/or mask
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::IsMskAvailable
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CXnMenuAdapter::IsMskAvailable()
-    {
-    if( AknLayoutUtils::MSKEnabled() && Layout_Meta_Data::IsMSKEnabled() )
-        {     
-        return ETrue;
-        }
-    
-    return EFalse;                
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::AddMenuItemL
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CXnMenuAdapter::AddMenuItemL( TInt aParentIndex, 
-    CXnNodePluginIf* aNode, RPointerArray< const TDesC8 >& aGroups )
-    {
-    if ( !aNode )
-        {
-        return 0;
-        }
-    
-    const TDesC8& name( aNode->Type()->Type() );
-    
-    TInt retval( 0 );
-    
-    TBool showByGroup( EFalse );
-    
-    const TDesC8* id( NULL );
-    
-    CXnProperty* prop( aNode->IdL() );
-    
-    if( prop )
-        {            
-        id = &prop->StringValue();
-        }
-    else
-        {
-        // If menuitem doesn't have id, group doesn't affect to it
-        showByGroup = ETrue;
-        }
-    
-    if( name == KXnMenuItem || 
-        name == KXnDynMenuItem || 
-        name == KXnWidgetMenuItem )
-        {               
-        const TDesC8& ns( aNode->Namespace() );
-                       
-        for( TInt i = 0; !showByGroup && i < aGroups.Count(); i++ )
-            {                       
-            const TDesC8& groupId( *(aGroups)[i] );
-        
-            CXnNodePluginIf* group( iUiEngine->FindNodeByIdL( groupId, ns ) );
-            
-            if( group )
-                {
-                RPointerArray< CXnNodePluginIf > 
-                    children( group->ChildrenL() );
-                
-                CleanupClosePushL( children );
-                
-                for( TInt j = 0; j < children.Count(); j++ )
-                    {
-                    CXnProperty* prop( children[j]->GetPropertyL( 
-                            XnPropertyNames::action::KName ) );
-                                        
-                    if( prop )
-                        {
-                        const TDesC8& name( prop->StringValue() );
-                            
-                        if( name == *id )
-                            {
-                            // The menuitem belongs to defined group
-                            showByGroup = ETrue;
-                            break;                            
-                            }
-                        }
-                    }
-                
-                CleanupStack::PopAndDestroy( &children );                
-                }            
-            }
-        
-        if( !showByGroup || !IsNodeVisibleL( *aNode ) )
-            {
-            // Menuitem is invisible  
-            return retval;
-            }
-        }
-               
-    TXnMenuItem item;
-
-    item.iAutomaticSP = ETrue;
-        
-    item.iParentIndex = aParentIndex;
-    item.iData.iFlags = 0;
-
-    CXnNodePluginIf* menuItem( NULL );
-    
-    if( name == KXnMenuItem || name == KXnDynMenuItem )
-        {
-        menuItem = aNode;
-        }
-    else if( name == KXnWidgetMenuItem )
-        {
-        TRAP_IGNORE( menuItem = FindWidgetMenuItemL( aNode ) );
-        }
-    
-    if( menuItem )
-        {
-        const TDesC8& type( menuItem->Type()->Type() );
-        
-        // check first if label comes from view
-        CXnProperty* label( aNode->LabelL() );
-        
-        if ( !label )
-            {
-            // get label from widget
-            label = menuItem->LabelL();
-            }
-        
-        if( label )
-            {
-            HBufC* itemLabel = label->StringValueL();
-            item.iData.iText.Copy( *itemLabel );
-            delete itemLabel;
-            }
-        else
-            {
-            item.iData.iText.Copy( KNullDesC );
-            }
-    
-        TBool okToAdd( ETrue );
-        
-        if( type == KXnDynMenuItem )
-            {
-            okToAdd = EFalse;
-            
-            if( iObserver )
-                {
-                okToAdd = iObserver->DynInitMenuItemL( menuItem->AppIfL() );
-                }            
-            }
-        
-        if( okToAdd )
-            {
-            if ( id && *id == KHsShowHelp )
-                {
-                // Help command id must be EAknCmdHelp to get editing input options
-                // shown correctly  
-                item.iData.iCommandId = EAknCmdHelp;
-                }
-            else
-                {
-                item.iData.iCommandId = iIdCounter++;
-                }
-            
-            item.iData.iCascadeId = 0;
-            item.iNode = menuItem;
-            item.iIsCascade = EFalse;
-            iMenuItems.AppendL( item );
-            
-            retval = 1;
-            }               
-        }
-    
-    if( name == KXnMenu )
-        {
-        // main level menu or submenu (cascade)               
-        item.iData.iCommandId = iIdCounter++;
-
-        if( aParentIndex == -1 )
-            {
-            item.iData.iCascadeId = R_AVKON_MENUPANE_EMPTY;
-            }
-        else
-            {
-            item.iData.iCascadeId = iIdCounter++;
-            }
-        
-        item.iNode = aNode;
-        item.iIsCascade = ETrue;        
-        iMenuItems.AppendL( item );
-
-        TInt currentIndex( iMenuItems.Count() - 1 );
-        
-        RPointerArray< CXnNodePluginIf > children( aNode->ChildrenL() );
-        CleanupClosePushL( children );
-
-        TInt count( 0 );
-        
-        for( TInt i = 0; i < children.Count(); i++ )
-            {
-            count += AddMenuItemL( currentIndex, children[i], aGroups );
-            }
-        
-        if( aParentIndex != -1 && count == 0 )
-            {
-            // Empty submenu, don't show it            
-            iMenuItems.Delete( currentIndex );
-            // Reverse counter as well
-            iIdCounter -= 2;
-            }
-        
-        CleanupStack::PopAndDestroy( &children );
-        
-        retval = count;
-        }
-
-    return retval;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::PopulateMenuL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::PopulateMenuL()
-    {
-    iMenuItems.Reset();
-
-    iIdCounter = KMenuCommandFirst;
-       
-    CXnNodePluginIf* focused( iUiEngine->FocusedNodeL() );
-    
-    const TDesC8& ns( iRootNode->Namespace() );
-    
-    TBool widgetSpecific( EFalse );
-    
-    for( ; focused ; focused = focused->ParentL() )
-        {
-        if( focused->AppIfL().InternalDomNodeType() == XnPropertyNames::KPlugin )
-            {
-            widgetSpecific = ETrue;
-            break;
-            }
-        }
-
-    TBool widgetsShown( iUiEngine->WidgetsVisible() );
-    
-    RPointerArray< const TDesC8 > groups;
-    CleanupClosePushL( groups );
-               
-    if( iUiEngine->EditMode() )
-        {
-        groups.AppendL( &KEditMode );
-        }
-    else
-        {
-        groups.AppendL( widgetSpecific ? &KWidgetSpecific : &KViewSpecific );
-        groups.AppendL( widgetsShown ? &KWidgetsShown : &KWidgetsHidden );        
-        }
-    
-    groups.AppendL( &KAlwaysShown );
-         
-    // Recursively add menuitems
-    AddMenuItemL( -1, iMenuBarNode, groups );
-    
-    CleanupStack::PopAndDestroy( &groups );
-    }
-  
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CXnMenuAdapter::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
-    {    
-    TKeyResponse resp( EKeyWasNotConsumed );
-    
-    if( IsMenuFocused() && aKeyEvent.iScanCode == EStdKeyNo )
-        {
-        StopDisplayingMenu();            
-        
-        iKeyEventNode = NULL;
-        
-        return resp;
-        }        
-
-    const TDesC8* pos( &KNullDesC8 );
-    
-    if( aKeyEvent.iScanCode == EStdKeyDevice0 )
-        {
-        pos = &XnPropertyNames::softkey::type::KLeft;
-        }
-    else if( aKeyEvent.iScanCode == EStdKeyDevice1 )
-        {
-        pos = &XnPropertyNames::softkey::type::KRight;
-        }
-    else if( aKeyEvent.iScanCode == EStdKeyDevice3 )
-        {
-        pos = &XnPropertyNames::softkey::type::KMiddle;
-        }            
-    
-    if( aType == EEventKeyDown )
-        {                                  
-        iKeyEventNode = FindSoftkeyNodeL( *pos );           
-        }
-            
-    if( aKeyEvent.iScanCode == EStdKeyDevice0 || 
-        aKeyEvent.iScanCode == EStdKeyDevice1 || 
-        aKeyEvent.iScanCode == EStdKeyDevice3 )
-        {
-        CXnNodePluginIf* node(  FindSoftkeyNodeL( *pos ) );
-        
-        if( node && node == iKeyEventNode )
-            {
-            // Let base class handle the event           
-            resp = CXnControlAdapter::OfferKeyEventL( aKeyEvent, aType );                                        
-            }            
-        }
-        
-    if( aType == EEventKeyUp )
-        {
-        iKeyEventNode = NULL;
-        }
-        
-    return resp;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {          
-    CXnNodePluginIf* node( FindSoftkeyItemByPosition( aPointerEvent.iParentPosition ) );
-    
-    if( aPointerEvent.iType  == TPointerEvent::EButton1Down )
-        {
-        // The sofkey node which received the button down event
-        iPointerEventNode = node;        
-        }
-        
-    if( node && node == iPointerEventNode )
-        {
-        iUiEngine->DisableRenderUiLC();
-        
-        // Handle event if location is in the grabbing node's area    
-        CXnControlAdapter::HandlePointerEventL( aPointerEvent );
-        
-        CleanupStack::PopAndDestroy();
-        }
-            
-    if( aPointerEvent.iType  == TPointerEvent::EButton1Up )
-        {
-        // Reset grabbing node after the up event
-        iPointerEventNode = NULL;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::DoEnterPowerSaveModeL
-// Enter power save mode
-// -----------------------------------------------------------------------------
-void CXnMenuAdapter::DoEnterPowerSaveModeL(TModeEvent /*aEvent*/)
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::DoExitPowerSaveModeL
-// Enter power save mode
-// -----------------------------------------------------------------------------
-void CXnMenuAdapter::DoExitPowerSaveModeL(TModeEvent /*aEvent*/)
-    {
-    } 
-       
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::RestoreMenuL
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::RestoreMenuL( CCoeControl* aMenuControl, TInt aResourceId,        
-    TMenuType aType )
-    {
-    // let all menu pane resources propogate to default implementation,
-    // otherwise panic when trying to display menu
-    if ( aType == MEikMenuObserver::EMenuPane )
-        {
-        if ( !( KMenuCommandFirst <= aResourceId && 
-                aResourceId <= KMenuCommandLast ) 
-            && aResourceId != R_AVKON_MENUPANE_EMPTY  )
-            {
-            MEikMenuObserver::RestoreMenuL( aMenuControl,aResourceId, aType );
-            }
-        else
-            {
-            AddItemsToMenuPaneL( ( CEikMenuPane* )aMenuControl, aResourceId );            
-            }
-        }  
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::DynInitMenuPaneL( TInt aResourceId, 
-    CEikMenuPane* aMenuPane )
-    {
-    if ( aResourceId == R_AVKON_MENUPANE_EMPTY )
-        {
-        RestoreMenuL( aMenuPane, aResourceId, MEikMenuObserver::EMenuPane );
-        }    
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SetEmphasis
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::SetEmphasis( CCoeControl* aMenuControl, 
-    TBool aEmphasis )
-    {
-    if ( iMenuBar && aMenuControl == iMenuBar )
-        {   
-        CXnAppUiAdapter* appui( 
-            static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) );
-
-        if ( aEmphasis && !iMenuShown )
-            {
-            iMenuShown = ETrue;
-
-            TRAP_IGNORE( appui->AddToStackL( appui->View(),
-                                             iMenuBar,
-                                             ECoeStackPriorityMenu ) );
-
-            iMenuBar->MakeVisible( ETrue );
-            }
-        else if ( !aEmphasis && iMenuShown )
-            {
-            iMenuShown = EFalse;
-         
-            appui->RemoveFromStack( iMenuBar );
-            
-            iMenuBar->MakeVisible( EFalse );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::ProcessCommandL
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::ProcessCommandL( TInt aCommand )
-    {     
-    if ( ( KMenuCommandFirst <= aCommand && aCommand <= KMenuCommandLast ) || 
-        aCommand == EAknCmdHelp )
-        {
-        // find item for this command
-        for ( TInt i = 0; i< iMenuItems.Count(); i++ )
-            {
-            if ( iMenuItems[i].iData.iCommandId == aCommand )
-                {
-                CXnNodePluginIf* node( iMenuItems[i].iNode );
-                
-                if ( node )
-                    {
-                    StopDisplayingMenu();
-                    
-                    iUiEngine->DisableRenderUiLC();
-                    
-                    node->SetStateL( XnPropertyNames::style::common::KActive );
-                    
-                    CleanupStack::PopAndDestroy();                 
-                    
-                    break;
-                    }                                    
-                }
-            }        
-        }
-    else
-        {
-        StopDisplayingMenu();
-
-        if( aCommand == EEikCmdEditPaste )
-            {
-            // Paste event for AknCcpuSupport
-            TKeyEvent pasteEvent = 
-                { EKeyF18, EEikCmdEditPaste, EModifierCtrl, 1 };  
-            
-            iCoeEnv->SimulateKeyEventL( pasteEvent, EEventKey );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SetContainerL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::SetContainerL( CEikButtonGroupContainer& aContainer )
-    {
-    
-    User::LeaveIfNull( &aContainer );
-    
-    TBool updateNeeded( EFalse );
-    
-    TInt statusPaneId( iAvkonAppUi->StatusPane()->CurrentLayoutResId() );
-    
-    if(iPreviousMenuPaneId != statusPaneId)
-        {
-        updateNeeded = ETrue;
-        iPreviousMenuPaneId = statusPaneId;
-        }
-    
- 	if((&aContainer) && (iContainer != &aContainer || updateNeeded))
-        {
-        iUpdateLskAppearance = ETrue;
-        iUpdateMskAppearance = ETrue;
-        iUpdateRskAppearance = ETrue;
-        }
- 	
-	iContainer = &aContainer;
-	
-    CEikCba* cba( static_cast< CEikCba* >( aContainer.ButtonGroup() ) );
-    cba->SetButtonGroupFlags( cba->ButtonGroupFlags() | EEikCbaFlagSemiTransparent );
-
-    UpdateSoftkeyAppearancesL();
-	    
-	if (iContainer)
-	    {
-        iContainer->DrawNow();        
-	    }
-    }
-
-//--------------------------------------------------------------
-// CXnMenuAdapter::IsMenuFocused
-// ------------------------------------------------------------        
-TBool CXnMenuAdapter::IsMenuFocused()
-    {
-    return iMenuShown;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::TryDisplayingMenuL
-// Displays options menu if it is defined for the softkey item
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::TryDisplayingMenuL( const TDesC& aMenuNodeId )
-    {
-    HBufC8* id = CnvUtfConverter::ConvertFromUnicodeToUtf8L( aMenuNodeId );
-    CleanupStack::PushL( id );
-    CXnNodePluginIf* node( iUiEngine->FindNodeByIdL( *id, iRootNode->Namespace() ) );
-    CleanupStack::PopAndDestroy( id );
-    
-    if( node && node->Type()->Type() == KXnMenu )
-        {
-        TryDisplayingMenuL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::TryDisplayingMenuL
-// Displays options menu if it is defined for the softkey item
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::TryDisplayingMenuL()
-    {
-    StopDisplayingMenu();
-    
-    CreateMenuBarL();    
-    
-    if ( iMenuBar )
-        {    
-        CEikMenuBarTitle* title = new( ELeave ) CEikMenuBarTitle;
-        CleanupStack::PushL( title );
-            
-        title->iData.iMenuPaneResourceId = R_AVKON_MENUPANE_EMPTY;    
-        title->iTitleFlags = 0;
-        
-        // this cannot be done earlyer, than this callback
-        iMenuBar->TitleArray()->AddTitleL( title );
-        CleanupStack::Pop( title );
-        
-        iMenuBar->TryDisplayMenuBarL();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::StopDisplayingMenu
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::StopDisplayingMenu()
-    {
-    if( iMenuShown && iMenuBar )
-        {
-        iMenuBar->StopDisplayingMenuBar();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::CreateMenuBarL
-// ---------------------------------------------------------------------------
-//
-void CXnMenuAdapter::CreateMenuBarL()
-    {
-    if ( iMenuBar )
-        {
-        // All ready created
-        return;
-        }
-    
-    // Create
-    RPointerArray< CXnNodePluginIf > children( iRootNode->ChildrenL() );
-    CleanupClosePushL( children );
-      
-    for( TInt i = 0; i < children.Count(); i++ )
-        {       
-        CXnNodePluginIf* node( children[i] );
-        
-        TPtrC8 type( node->Type()->Type() );
-                                                       
-        // Currently only one menubar is allowed,
-        // but it can be assigned to any of the CBAs
-        // To change this, we have to create and maintain a list of menubars 
-        if( type == KXnMenu )
-            {
-            iMenuBarNode = node;
-            
-            iMenuBar = new ( ELeave ) CEikMenuBar;
-            iMenuBar->ConstructL( this );
-            iMenuBar->SetMenuType( MenuTypeL( *iRootNode ) );
-                        
-            // All done
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-//--------------------------------------------------------------
-// CXnMenuAdapter::HandleResourceChange
-// Handles a change to the control's resources of type aType
-// ------------------------------------------------------------    
-void CXnMenuAdapter::HandleResourceChange( TInt aType )
-    {	
-    if( iMenuBar )
-        {
-        iMenuBar->HandleResourceChange( aType );
-        }   	
-    }
-   
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SetSoftKeyImageL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::SetSoftKeyImageL(
-    CFbsBitmap* aBitmap, 
-    CFbsBitmap* aMask, 
-    XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos, 
-    CXnNodeAppIf* aNode,
-    TBool aPreserveAspectRatio, TBool aInvertMask,
-    TBool aTransferOwnership)
-    {        
-    if( ( !aBitmap && !aMask ) || aPos == XnMenuInterface::MXnMenuInterface::ECenter )
-        {
-        // No images present and image can be set only to lsk or rsk         
-        User::Leave( KErrArgument );
-        }
-
-    CXnSoftkeyItem* softkey(NULL);
-    
-    if( aPos == XnMenuInterface::MXnMenuInterface::ELeft)
-        {
-        if( aNode )
-            {
-            softkey = SoftkeyItemL( aNode );
-            }
-        else
-            {
-            softkey = SoftkeyItemL(CEikButtonGroupContainer::ELeftSoftkeyPosition);
-            }
-        iUpdateLskAppearance = ETrue;
-        }
-    else if(aPos == XnMenuInterface::MXnMenuInterface::ERight)
-        {
-        if( aNode )
-            {
-            softkey = SoftkeyItemL( aNode );
-            }
-        else
-            {
-            softkey = SoftkeyItemL(CEikButtonGroupContainer::ERightSoftkeyPosition);
-            }
-        iUpdateRskAppearance = ETrue;
-        }
-    
-    if(softkey)
-        {
-        softkey->Reset();
-        softkey->iImageOn = ETrue;
-                                                                    
-        // Save new icon data
-        softkey->iBitmap = aBitmap;
-        softkey->iMask = aMask;
-        softkey->iPreserveAspectRatio = aPreserveAspectRatio;
-        softkey->iInvertMask = aInvertMask;
-        softkey->iOwnBitmaps = aTransferOwnership;
-        // Image set, mark node as dirty
-        softkey->iNode->SetDirtyL();
-                
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SetSoftKeyImageL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::SetSoftKeyImageL( const TAknsItemID& aId,
-    const TDesC& aBmpFile,
-    const TInt32 aBmp,
-    const TInt32 aBmpM,
-    XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos, 
-    TBool /*aEnable*/ )
-    {
-    CXnSoftkeyItem* softkey( NULL );
-
-    switch( aPos )
-        {
-        case XnMenuInterface::MXnMenuInterface::ECenter:
-            {
-            softkey = SoftkeyItemL( CEikButtonGroupContainer::EMiddleSoftkeyPosition );           
-            iUpdateMskAppearance = ETrue;
-            break;
-            }
-        // Currently only MSK icon updating supported here
-        case XnMenuInterface::MXnMenuInterface::ELeft:
-        case XnMenuInterface::MXnMenuInterface::ERight:
-        default:
-            {
-            break;
-            }
-        }
-
-    if( softkey )
-        {
-        softkey->Reset();
-        softkey->iImageOn = ETrue;
-
-        // Save new icon data
-        softkey->iBitmap = NULL;
-        softkey->iMask = NULL;
-        softkey->iPreserveAspectRatio = EFalse;
-        softkey->iInvertMask = EFalse;
-        softkey->iOwnBitmaps = ETrue;
-        delete softkey->iBmpFile;
-        softkey->iBmpFile = NULL;
-        softkey->iBmpFile = aBmpFile.AllocL();
-        softkey->iId.Set( aId );
-        softkey->iBmp = aBmp;
-        softkey->iBmpM = aBmpM;
-
-        // Image set, mark node as dirty
-        softkey->iNode->SetDirtyL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SetSoftKeyTextL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::SetSoftKeyTextL( const TDesC& aText, 
-    XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos )
-    {       
-    CXnSoftkeyItem* softkey(NULL);
-    
-    switch( aPos )
-        {
-        case XnMenuInterface::MXnMenuInterface::ELeft:
-            softkey = SoftkeyItemL(CEikButtonGroupContainer::ELeftSoftkeyPosition);
-            iUpdateLskAppearance = ETrue;
-            break;
-        case XnMenuInterface::MXnMenuInterface::ERight:
-            softkey = SoftkeyItemL(CEikButtonGroupContainer::ERightSoftkeyPosition);
-            iUpdateRskAppearance = ETrue;
-            break;
-        case XnMenuInterface::MXnMenuInterface::ECenter:  
-            softkey = SoftkeyItemL(CEikButtonGroupContainer::EMiddleSoftkeyPosition);           
-            iUpdateMskAppearance = ETrue;
-            break;
-        default:     
-            break;
-        }
-    if(softkey)
-        {
-        softkey->Reset();
-                                              
-        softkey->iImageOn = EFalse;    
-                                              
-        softkey->iLabel = aText.AllocL();
-        // Text set, mark parent as dirty
-        softkey->iNode->SetDirtyL();
-       }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SetSoftKeyL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::SetSoftKeyL( CXnNodePluginIf* aSoftkeyNode, 
-    XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos )
-    {
-
-    CXnSoftkeyItem* item = AppendSoftkeyItemL(aSoftkeyNode);
-    switch(aPos)
-        {
-        case XnMenuInterface::MXnMenuInterface::ELeft:
-            if(item)
-                {
-                iVisibleLSK = item;
-                }
-            else
-                {
-                iVisibleLSK = NULL;                
-                }
-            iUpdateLskAppearance = ETrue;
-            break;
-        case XnMenuInterface::MXnMenuInterface::ECenter:
-            if(item)
-                {
-                iVisibleMSK = item;
-                }
-            else
-                {
-                iVisibleMSK = NULL;                
-                }
-            iUpdateMskAppearance = ETrue;
-            break;
-        case XnMenuInterface::MXnMenuInterface::ERight:
-            if(item)
-                {
-                iVisibleRSK = item;
-                }
-            else
-                {
-                iVisibleRSK = NULL;                
-                }
-            iUpdateRskAppearance = ETrue;
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SoftKeyL
-// 
-// -----------------------------------------------------------------------------
-//
-CXnNodePluginIf* CXnMenuAdapter::SoftKeyL( XnMenuInterface::MXnMenuInterface::TSoftKeyPosition aPos )
-    {
-    CXnNodePluginIf* node(NULL);
-    CXnSoftkeyItem* item = SoftkeyItemL(aPos);
-    if(item)
-        {
-        node = item->iNode;
-        }
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::HandleScreenDeviceChangedL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnMenuAdapter::HandleScreenDeviceChangedL()
-    {
-    CXnSoftkeyItem* left = 
-        SoftkeyItemL(CEikButtonGroupContainer::ELeftSoftkeyPosition);
-    
-    CXnSoftkeyItem* middle = 
-            SoftkeyItemL(CEikButtonGroupContainer::EMiddleSoftkeyPosition);
-    CXnSoftkeyItem* right = 
-            SoftkeyItemL(CEikButtonGroupContainer::ERightSoftkeyPosition);
-            
-    if(left && left->iImageOn)
-        {
-        iUpdateLskAppearance = ETrue;
-        left->iNode->SetDirtyL();
-        }
-    if(right && right->iImageOn)
-        {
-        iUpdateRskAppearance = ETrue;
-        right->iNode->SetDirtyL();
-        }
-    if(middle && middle->iImageOn)
-        {
-        iUpdateMskAppearance = ETrue;
-        middle->iNode->SetDirtyL();
-        }
-    CXnControlAdapter::HandleScreenDeviceChangedL();
-    } 
-      
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::HandleMenuPropertyChangeL
-// Change softkey appearance
-// -----------------------------------------------------------------------------
-//    
-void CXnMenuAdapter::HandleMenuPropertyChangeL(CXnNodePluginIf* aNode, CXnProperty* aProperty)
-    {
-    if ( !aNode || !aProperty )
-        {
-        return;
-        }
-           
-    const TDesC8& type( aNode->Type()->Type() ); 
-    
-    if ( type != softkey::KNodeName)
-        {
-        return;
-        }
-            
-    // Find target softkey
-    CXnSoftkeyItem* softkey( SoftkeyItemL( aNode ) );
-        
-    if ( !softkey )
-        {
-        return;
-        }
-    
-    SetUpdateAppearanceL( softkey );  
-    
-    const TDesC8* name( &KNullDesC8() );
-    
-    if ( aProperty )
-        {
-        name = &aProperty->Property()->Name();
-        }
-    
-    if ( *name == menu::KLabel )
-       {             
-       softkey->Reset();
-       softkey->iImageOn = EFalse;    
-       softkey->iLabel = aProperty->StringValueL();              
-       }
-    else if ( *name == style::common::KDisplay )
-        {        
-        if ( aProperty->StringValue() == XnPropertyNames::style::common::display::KNone )
-            {
-            if ( softkey->iPosition == CEikButtonGroupContainer::ELeftSoftkeyPosition ) 
-                {
-                EikSoftkeyImage::SetLabel( iContainer,ETrue );
-                iContainer->SetCommandL( CEikButtonGroupContainer::ELeftSoftkeyPosition,KCBACommandFirst, KNullDesC );                
-                }
-            else if ( softkey->iPosition == CEikButtonGroupContainer::ERightSoftkeyPosition )
-                {
-                EikSoftkeyImage::SetLabel( iContainer,EFalse );
-                iContainer->SetCommandL( CEikButtonGroupContainer::ERightSoftkeyPosition,KCBACommandSecond, KNullDesC );                
-                }
-            else if ( softkey->iPosition == CEikButtonGroupContainer::EMiddleSoftkeyPosition )
-                {
-                iContainer->SetCommandL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,KCBACommandMiddle, KNullDesC );                
-                }
-            }
-        }
-    }    
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::SetObserver
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnMenuAdapter::SetObserver( XnMenuInterface::MXnMenuObserver& aObserver )   
-    {
-    iObserver = &aObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::RemoveObserver
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnMenuAdapter::RemoveObserver()   
-    {
-    iObserver = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::FindSoftKeyNodeByPosition
-// ---------------------------------------------------------------------------
-//
-TBool CXnMenuAdapter::FindSoftKeyNodeByPosition( 
-    const TPoint& aPosition, 
-    CXnNodePluginIf*& aNode )
-    {
-    CXnNodePluginIf* ret = FindSoftkeyItemByPosition(aPosition);
-    aNode = ret;
-    return (ret?ETrue:EFalse);
-    }
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::ButtonTouchableRectByPosition
-// Gets a CBA button rectangle. Touchable are is larger than controls rect
-// ---------------------------------------------------------------------------
-//
-TRect CXnMenuAdapter::ButtonTouchableRectByPosition( TInt aPosition)
-    {
-    TRect rect( 0, 0, 0, 0 );
-    
-    TRect button1Rect( 0, 0, 0, 0 );
-    TRect button2Rect( 0, 0, 0, 0 );
-    TRect buttonMSKRect( 0, 0, 0, 0 );
-     
-    // In touch layouts the button areas are read from the
-    // layout data because they are larger than the actual
-    // control size.
-#ifndef _AVKON_CBA_LSC
-    CCoeControl* container = iContainer->ButtonGroup()->AsControl();
-    TRect containerRect(container->PositionRelativeToScreen(),container->Size());
-    TAknLayoutRect layoutRect;
-    layoutRect.LayoutRect(
-        containerRect,
-        AknLayoutScalable_Avkon::control_pane_g6( 0 ).LayoutLine() );
-    button1Rect = layoutRect.Rect();
-    
-    layoutRect.LayoutRect(
-        containerRect,
-        AknLayoutScalable_Avkon::control_pane_g8( 0 ).LayoutLine() );
-    button2Rect = layoutRect.Rect();
-
-    layoutRect.LayoutRect(
-        containerRect,
-        AknLayoutScalable_Avkon::control_pane_g7( 0 ).LayoutLine() );
-    buttonMSKRect = layoutRect.Rect();
-#else           
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        button1Rect = SoftkeyRectTopTouch();
-        button2Rect= SoftkeyRectBottomTouch();
-        
-        }
-    else // portrait
-        {
-        button1Rect = SoftkeyRectLeftTouch();
-        button2Rect = SoftkeyRectRightTouch();
-        }
-#endif
-    
-    switch ( aPosition )
-        {
-        case CEikButtonGroupContainer::ELeftSoftkeyPosition:
-            {
-            rect = button1Rect;
-            break;
-            }
-
-        case CEikButtonGroupContainer::ERightSoftkeyPosition:
-            {
-            rect = button2Rect;
-            break;
-            }
-
-        case CEikButtonGroupContainer::EMiddleSoftkeyPosition:
-            {
-            rect = buttonMSKRect;
-            break;
-            }
-
-        default:
-            {
-            break;
-            }
-        }
-        
-        
-    return rect;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::FindSoftkeyNodeL
-// ---------------------------------------------------------------------------
-//
-CXnNodePluginIf* CXnMenuAdapter::FindSoftkeyNodeL(const TDesC8& aNodeType)
-    {
-    CXnNodePluginIf* ret(0);
-    
-    RPointerArray< CXnNodePluginIf > children( iRootNode->ChildrenL() );
-    CleanupClosePushL( children );
-    for(TInt i=0;i<children.Count();++i)
-        {
-        if(children[i]->Type()->Type() == XnPropertyNames::softkey::KNodeName)
-            {
-            if( SoftkeyPlaceL(*children[i]) == aNodeType 
-                && IsNodeVisibleL( *children[i]) )
-                {
-                ret = children[i];
-                break;
-                }
-            
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::UpdateSoftkeyAppearancesL
-// ---------------------------------------------------------------------------
-//
-void CXnMenuAdapter::UpdateSoftkeyAppearancesL()
-    {
-    
-    if(iUpdateLskAppearance)
-        {
-        CXnSoftkeyItem* left = 
-            SoftkeyItemL(CEikButtonGroupContainer::ELeftSoftkeyPosition);
-        if( left )
-            {
-            SetSoftkeyAppearanceL(*left);
-            }
-        iUpdateLskAppearance = EFalse;
-        }
-    if(iUpdateRskAppearance)
-        {
-        CXnSoftkeyItem* right = 
-            SoftkeyItemL(CEikButtonGroupContainer::ERightSoftkeyPosition);
-        if(right)
-            {
-            SetSoftkeyAppearanceL(*right);            
-            }
-        iUpdateRskAppearance = EFalse;
-        }
-    if(iUpdateMskAppearance)
-        {
-        CXnSoftkeyItem* middle = 
-            SoftkeyItemL(CEikButtonGroupContainer::EMiddleSoftkeyPosition);
-        if(middle)
-            {
-            SetSoftkeyAppearanceL(*middle);                
-            }
-        iUpdateMskAppearance = EFalse;
-        }
-    }
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::ChangeSoftkeyImageL
-// ---------------------------------------------------------------------------
-//
-void CXnMenuAdapter::ChangeSoftkeyImageL(const CXnSoftkeyItem& aSoftkey)
-    {
-    if ( aSoftkey.iPosition == CEikButtonGroupContainer::ELeftSoftkeyPosition || 
-            aSoftkey.iPosition == CEikButtonGroupContainer::ERightSoftkeyPosition )
-        {
-        TSize size;
-        if(AknLayoutUtils::PenEnabled())
-            {
-            size = SoftkeyImageRect(*iContainer,aSoftkey.iPosition).Size();
-            }
-        else
-            {
-            size = SoftkeyRectL( *iContainer,aSoftkey.iPosition, aSoftkey.iImageOn ).Size();
-            }
-
-        CEikImage* image( PrepareSoftkeyImageL( aSoftkey, size ) );
-        TBool left(ETrue);
-
-        if(aSoftkey.iPosition != CEikButtonGroupContainer::ELeftSoftkeyPosition)
-            {
-            left = EFalse;
-            }
-        EikSoftkeyImage::SetImage( iContainer, *image, left );
-        }
-    else if ( aSoftkey.iBmpFile )
-        {
-        CEikCba* cba = static_cast< CEikCba* >( iContainer->ButtonGroup() );
-        // use iAvkonAppUi
-        CAknAppUi* appUi = static_cast<CAknAppUi*>( CEikonEnv::Static()->AppUi() );
-        cba->UpdateMSKIconL(
-                aSoftkey.iId,
-                aSoftkey.iBmpFile->Des(),
-                aSoftkey.iBmp,
-                aSoftkey.iBmpM,
-                ETrue );
-        cba->DrawNow();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::AddItemsToMenuPaneL
-// ---------------------------------------------------------------------------
-//
-void CXnMenuAdapter::AddItemsToMenuPaneL(CEikMenuPane* aMenuPane, TInt aResourceId)
-    {   
-   TInt parentIndexForNotification( 0 );
-   
-   for ( TInt i = 0; i< iMenuItems.Count(); i++ )
-       {
-       // find items belong to this pane
-       TInt parent( iMenuItems[i].iParentIndex );
-       
-       if ( parent >= 0 )
-           {
-           TInt cid( iMenuItems[parent].iData.iCascadeId );
-           
-           if ( cid == aResourceId )
-               {
-               if ( parent > 0 )
-                   {
-                   parentIndexForNotification = parent;
-                   break;
-                   }
-               }
-           }
-       }
-   
-   TBool selectionEnabled( EFalse );
-   TBool isRadio( EFalse );            
-   
-   if ( parentIndexForNotification != 0 )
-       {
-       CXnNodePluginIf* node( iMenuItems[parentIndexForNotification].iNode );
-       
-       CXnProperty* property( node->GetPropertyL( _L8( "selectiontype" ) ) );
-       
-       if ( property && property->StringValue() == _L8( "multi" ) )
-           {
-           selectionEnabled = ETrue;
-           }
-       else if ( property && property->StringValue() == _L8( "single" ) )
-           {
-           selectionEnabled = ETrue;
-           isRadio = ETrue;
-           }
-           
-       node->SetStateL( XnPropertyNames::style::common::KActive );
-       node->UnsetStateL( XnPropertyNames::style::common::KActive );
-       }
-       
-   PopulateMenuL();        
-   
-   for ( TInt i = 0; i< iMenuItems.Count(); i++ )
-       {
-       // find items belong to this pane
-       TInt parent( iMenuItems[i].iParentIndex );
-       
-       if ( parent >= 0 )
-           {
-           TInt cid( iMenuItems[parent].iData.iCascadeId );
-           
-           if ( cid == aResourceId )
-               {
-               if ( selectionEnabled )
-                   {
-                   if ( !isRadio )
-                       {
-                       iMenuItems[i].iData.iFlags |= 
-                           EEikMenuItemCheckBox;
-                       }
-                   else
-                       {
-                       iMenuItems[i].iData.iFlags |= 
-                           EEikMenuItemRadioStart|
-                           EEikMenuItemRadioMiddle|
-                           EEikMenuItemRadioEnd;
-                       }
-                   }
-                   
-               aMenuPane->AddMenuItemL( iMenuItems[i].iData );
-               
-               if ( selectionEnabled )
-                   {
-                   CXnProperty* property( 
-                       iMenuItems[i].iNode->GetPropertyL( XnPropertyNames::menu::KChecked ) );                           
-                   
-                   if ( property && property->StringValue() == XnPropertyNames::KTrue )
-                       {
-                       aMenuPane->SetItemButtonState(
-                           iMenuItems[i].iData.iCommandId, EEikMenuItemSymbolOn );                                         
-                       }
-                   }
-               }
-           }
-       } // for end      
-    }
-
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::AppendSoftkeyItemL
-// ---------------------------------------------------------------------------
-//
-CXnSoftkeyItem* CXnMenuAdapter::AppendSoftkeyItemL(CXnNodePluginIf* aNode)
-    {
-    if(!aNode)
-        {
-        return NULL;
-        }
-    CXnProperty* property = 
-        aNode->GetPropertyL( XnPropertyNames::softkey::KTypeAttribute );     
-    if(!property)
-        {
-        return NULL;
-        }
-    const TDesC8& skType = property->StringValue();
-    if( skType != XnPropertyNames::softkey::type::KRight &&
-        skType != XnPropertyNames::softkey::type::KLeft &&
-        skType != XnPropertyNames::softkey::type::KMiddle )
-        {
-        return NULL;
-        }
-    for( TInt i=0; i<iSoftkeyItems.Count(); i++ )
-        {
-        if( iSoftkeyItems[i]->iNode == aNode )
-            {
-            return iSoftkeyItems[i];
-            }
-        }        
-    CXnSoftkeyItem* softkey(0);
-    softkey = new (ELeave) CXnSoftkeyItem;
-    CleanupStack::PushL(softkey);
-    
-    if ( skType == XnPropertyNames::softkey::type::KRight )
-       {
-       softkey->iPosition = CEikButtonGroupContainer::ERightSoftkeyPosition;
-       softkey->iCommandId = KCBACommandSecond;
-       }
-    else if ( skType == XnPropertyNames::softkey::type::KLeft )
-       {
-       softkey->iPosition = CEikButtonGroupContainer::ELeftSoftkeyPosition;
-       softkey->iCommandId = KCBACommandFirst;
-       }
-    else 
-        {
-        softkey->iPosition = CEikButtonGroupContainer::EMiddleSoftkeyPosition;
-        softkey->iCommandId = KCBACommandMiddle;
-        }
-
-    softkey->iNode = aNode;
-    
-    CXnProperty* labelProp( aNode->LabelL() );
-    CXnProperty* targetProp( aNode->GetPropertyL(KXnTarget) );
-
-    if(labelProp)
-       {
-       softkey->iImageOn = EFalse;
-       softkey->iLabel = labelProp->StringValueL();
-       }
-    else if(targetProp)
-        {
-        softkey->iImageOn = EFalse;
-        softkey->iLabel = FindSoftkeyLabelL(aNode);        
-        }
-    else
-       {
-       InitSoftkeyItemImageL( *softkey );
-       }
-
-    softkey->iUpdateAppearance = ETrue;
-    iSoftkeyItems.AppendL(softkey);
-    CleanupStack::Pop(softkey);
-    return softkey;
-    }
-// ---------------------------------------------------------------------------
-// CXnMenuAdapter::SoftkeyPlaceL
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CXnMenuAdapter::SoftkeyPlaceL(CXnNodePluginIf& aNode)
-    {
-    CXnProperty* property = 
-        aNode.GetPropertyL( XnPropertyNames::softkey::KTypeAttribute );                           
-                      
-    if( property)
-        {
-        return property->StringValue();
-        }
-    return KNullDesC8;                  
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::FindSoftkeyItemByPosition
-// 
-// -----------------------------------------------------------------------------
-CXnNodePluginIf* CXnMenuAdapter::FindSoftkeyItemByPosition( const TPoint& aPosition )
-    {
-    CXnNodePluginIf* softkey(0);            
-    TRAP_IGNORE( softkey = DoFindSoftkeyItemByPositionL( aPosition ) );    
-    return softkey;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::DoFindSoftkeyItemByPositionL
-// 
-// -----------------------------------------------------------------------------
-CXnNodePluginIf* CXnMenuAdapter::DoFindSoftkeyItemByPositionL( const TPoint& aPosition )
-    {            
-    TRect lsk( ButtonTouchableRectByPosition(CEikButtonGroupContainer::ELeftSoftkeyPosition) );
-    TRect rsk( ButtonTouchableRectByPosition(CEikButtonGroupContainer::ERightSoftkeyPosition) );
-    TRect msk( ButtonTouchableRectByPosition(CEikButtonGroupContainer::EMiddleSoftkeyPosition) );
-    
-    CXnNodePluginIf* softkey(NULL);
-    CXnSoftkeyItem* item(NULL);
-    if ( lsk.Contains(aPosition) )
-        {
-        item = SoftkeyItemL(CEikButtonGroupContainer::ELeftSoftkeyPosition);
-        }
-    else if(msk.Contains(aPosition))
-        {
-        item = SoftkeyItemL(CEikButtonGroupContainer::EMiddleSoftkeyPosition);
-        }
-    else if( rsk.Contains(aPosition) )
-        {
-        item = SoftkeyItemL(CEikButtonGroupContainer::ERightSoftkeyPosition);
-        }
-    if(item)
-        {
-        softkey = item->iNode;
-        }        
-    return softkey;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-CXnSoftkeyItem* CXnMenuAdapter::SoftkeyItemL(TInt aPosition)
-    {
-    CXnSoftkeyItem* softkeyItem(0);
-    if(iVisibleLSK && aPosition == CEikButtonGroupContainer::ELeftSoftkeyPosition)
-        {
-        return iVisibleLSK;
-        }
-    else if(iVisibleRSK && aPosition == CEikButtonGroupContainer::ERightSoftkeyPosition)
-        {
-        return iVisibleRSK;
-        }
-    else if(iVisibleMSK && aPosition == CEikButtonGroupContainer::EMiddleSoftkeyPosition)
-        {
-        return iVisibleMSK;
-        }
-
-    // return default
-    for(TInt i=0;i<iSoftkeyItems.Count();++i)
-        {
-        softkeyItem = iSoftkeyItems[i];
-        if(softkeyItem->iPosition == aPosition &&
-           softkeyItem->iDefault && 
-           IsNodeVisibleL(*softkeyItem->iNode))
-            {
-            return softkeyItem; 
-            }
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-CXnSoftkeyItem* CXnMenuAdapter::SoftkeyItemL(CXnNodePluginIf* aNode)
-    {
-    CXnSoftkeyItem* softkeyItem(0);
-    for(TInt i=0;i<iSoftkeyItems.Count();++i)
-       {
-       softkeyItem = iSoftkeyItems[i];
-       if(softkeyItem->iNode == aNode)
-           {
-           return softkeyItem; 
-           }
-       }
-    return NULL;
-    }
-
-CXnSoftkeyItem* CXnMenuAdapter::SoftkeyItemL(CXnNodeAppIf* aNode)
-    {
-    CXnSoftkeyItem* softkeyItem(0);
-    for(TInt i=0;i<iSoftkeyItems.Count();++i)
-       {
-       softkeyItem = iSoftkeyItems[i];
-       if(&(softkeyItem->iNode->AppIfL()) == aNode)
-           {
-           return softkeyItem; 
-           }
-       }
-    return NULL;
-    }
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-
-void CXnMenuAdapter::SetUpdateAppearanceL(CXnSoftkeyItem* aItem)
-    {
-    if ( aItem && IsNodeVisibleL( *aItem->iNode ) )
-        {
-        aItem->iNode->SetDirtyL();
-                
-        switch ( aItem->iPosition )
-            {
-            case CEikButtonGroupContainer::ELeftSoftkeyPosition:
-                iUpdateLskAppearance = ETrue;
-                iVisibleLSK = NULL;
-                break;
-            case CEikButtonGroupContainer::EMiddleSoftkeyPosition:
-                iUpdateMskAppearance = ETrue;
-                iVisibleMSK = NULL;
-                break;
-            case CEikButtonGroupContainer::ERightSoftkeyPosition:
-                iUpdateRskAppearance = ETrue;
-                iVisibleRSK = NULL;
-                break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::FindWidgetMenuItemL
-// 
-// -----------------------------------------------------------------------------
-CXnNodePluginIf* CXnMenuAdapter::FindWidgetMenuItemL( CXnNodePluginIf* aNode )
-    {    
-    CXnNodePluginIf* focusedNode( iUiEngine->FocusedNodeL() );
-
-    CXnNodePluginIf* menuItem( NULL );
-    
-    if ( focusedNode && aNode )
-        {
-        // Get <plugin> element
-        CXnNodePluginIf& pluginNode( iUiEngine->PluginNodeL( focusedNode ) );
-        
-        RPointerArray< CXnNodePluginIf > children( pluginNode.ChildrenL() );
-        CleanupClosePushL( children );
-        
-        CXnNodePluginIf* widgetExtNode( NULL );
-        
-        if( children.Count() > 0 )
-            {
-            // children[0] must be <widget> element
-            widgetExtNode = FindChildL( *children[0], KXnMenuExtension );
-            }
-                                                 
-        if( !widgetExtNode )
-            {
-            widgetExtNode = focusedNode;
-            }
-        
-        if ( widgetExtNode )
-            {
-            CXnProperty* prop( aNode->GetPropertyL( KXnSource ) );
-            
-            if ( prop )
-                {
-                const TDesC8& source( prop->StringValue() );
-                
-                // Try to find <menuitem>
-                menuItem = FindChildL( *widgetExtNode, 
-                                       KXnMenuItem, 
-                                       source );
-                
-                if ( !menuItem )
-                    {
-                    // Try to find <dynmenuitem>
-                    menuItem = FindChildL( *widgetExtNode, 
-                                           KXnDynMenuItem, 
-                                           source );
-                    }
-                }
-            }
-        
-        CleanupStack::PopAndDestroy( &children );
-        }
-    
-    if( menuItem && IsNodeVisibleL( *menuItem ) )
-        {
-        return menuItem;    
-        }
-    
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuAdapter::FindSoftkeyLabelL
-// 
-// -----------------------------------------------------------------------------
-HBufC* CXnMenuAdapter::FindSoftkeyLabelL( CXnNodePluginIf* aNode )
-    {
-    if( !aNode )
-        {
-        return NULL;
-        }
-    
-    CXnProperty* targerProp( aNode->GetPropertyL( KXnTarget ) );
-    
-    if ( targerProp && iRootNode )
-        {
-        CXnNodePluginIf* widgetSoftkeyNode( 
-                FindChildL( *iRootNode,               
-                            KXnWidgetSoftkey, 
-                            targerProp->StringValue() ) ); 
-                          
-        if ( widgetSoftkeyNode )
-            {
-            CXnProperty* label( widgetSoftkeyNode->LabelL() );
-            
-            if( label )
-                {
-                return label->StringValueL();
-                }
-            }
-        }
-    
-    return NULL;;
-    }
-
-//end of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnmenufactory/src/xnmenufactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:  Implementation for factory creating container for a menu
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "xnmenuadapter.h"
-#include "xnmenufactory.h"
-#include "xnmenu.h"
-
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-#include <aisystemuids.hrh>
-#include "xndomnode.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-MXnComponentFactory::TXnComponentFactoryResponse CXnMenuFactory::MakeXnComponentL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnComponent*& aTargetComponent
-        										
-										)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = 
-        MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if(aNode.Type()->Type() == KXnMenuBar)
-        {
-    	  CXnMenu* container = CXnMenu::NewL();
-        aTargetComponent = static_cast<CXnComponent*>(container);
-   	    retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;
-  	    return retVal;
-	    }
-    return retVal;
-    }
-
-CXnControlAdapter* CXnMenuFactory::MakeXnControlAdapterL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnControlAdapter* aParent
-										)
-    {
-    CXnControlAdapter* controlAdapter = CXnMenuAdapter::NewL( aParent, aNode );
-    return controlAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnMenuFactory* CXnMenuFactory::NewL()
-    {
-    CXnMenuFactory* self = new( ELeave ) CXnMenuFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuFactory::CXnMenuFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnMenuFactory::CXnMenuFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuFactory::~CXnMenuFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnMenuFactory::~CXnMenuFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMenuFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnMenuFactory::ConstructL()
-    {
-    }
-
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY(AI3_UID_RENDERING_PLUGIN_MENUFACTORY_IMPLEMENTATION, CXnMenuFactory::NewL) 
-#else
-    {{AI3_UID_RENDERING_PLUGIN_MENUFACTORY_IMPLEMENTATION}, CXnMenuFactory::NewL}
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Building information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xnnewstickerfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/group/xnnewstickerfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2002-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:  
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3newstickerfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_NEWSTICKERFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xnnewstickerfactory.cpp
-SOURCE          xnnewsticker.cpp
-SOURCE          xnnewstickeradapter.cpp
-SOURCE          xnnewstickercontrol.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib  
-LIBRARY         cone.lib
-LIBRARY         gdi.lib
-LIBRARY         egul.lib
-LIBRARY         charconv.lib
-LIBRARY         aknskins.lib
-LIBRARY         xn3layoutengine.lib
-LIBRARY         xn3utils.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY         avkon.lib
-LIBRARY         fbscli.lib
-LIBRARY         bitgdi.lib
-LIBRARY         aknicon.lib
-LIBRARY         svgengine.lib
-
-LANG            SC
-START RESOURCE  xn3newstickerfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3newstickerfactory.rsc
-#endif
-END
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/inc/xnnewstickeradapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,380 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Wrapper class for Newsticker text label.
-*
-*/
-
-
-#ifndef _XNNEWSTICKERADAPTER_H
-#define _XNNEWSTICKERADAPTER_H
-
-//  INCLUDES
-#include "xncontroladapter.h"
-#include "xnnewsticker.h"
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-class CXnNewstickerControl;
-class CAknMarqueeControl;
-
-// CONSTANTS
-// The default values for the newsticker control
-const TInt KXnNewstickerDelay = 1000000;   // start scrolling after a delay of 1 second
-const TInt KXnNewstickerInterval = 100000; // scroll 10 times in a second
-const TInt KXnNewstickerScrollAmount = 6;  // scroll 6 pixels at time
-const TInt KXnNewstickerLoops = 1;         // loop amount
-const TInt KNoDelay = 0;                   //  No delay to start the animation
-const TInt KAnimationTime = 6000000;       //  The animation lasts 6 seconds
-
-// CLASS DECLARATION
-
-/**
-* @ingroup group_xnnewstickerfactory
-* 
-*  Newsticker adapter class implementation.
-*
-*  @lib xnnewstickerfactory.dll
-*  @since Series 60 3.2
-*/
-class CXnNewstickerAdapter : public CXnControlAdapter,
-            XnNewstickerInterface::MXnNewstickerCallbackInterface
-    {
-    public:
-          
-        enum TScrollBehaviour
-            {
-            EScroll,
-            EAlternate,
-            EScrollAlternate,
-            };            
-            
-    public:
-
-    	/**
-    	* 2 phase construction.
-        * @param aParent Parent control
-        * @param aNode UI node
-    	*/
-    	static CXnNewstickerAdapter* NewL(CXnControlAdapter* aParent, CXnNodePluginIf& aNode);
-
-    	/**
-    	* Destructor.
-    	*/
-    	virtual ~CXnNewstickerAdapter();
-
-    public: // New functions
-
-        /**
-         * Append new title to the end of the title list.
-         * @param aTitle The new title to add.
-         */
-        void AppendTitleL( const TDesC& aTitle );
-
-        /**
-         * Insert new title to the end of the title list.
-         * @param aTitle The new title to add.
-         * @param aIndex The place to add the title.
-         */
-        void InsertTitleL( const TDesC& aTitle, TInt aIndex );
-
-        /**
-         * Update title text.
-         * @param aTitle The new title to add.
-         * @param aIndex The place to update the title.
-         */
-        void UpdateTitleL( const TDesC& aTitle, TInt aIndex );
-
-        /**
-         * Delete the title.
-         * @param aIndex The title index to delete.
-         */
-        void DeleteTitleL( TInt aIndex );
-
-    	/**
-    	 * Returns index of the currently selected title.
-    	 * @return The index of the current title.
-    	 */
-        TInt CurrentTitleIndex();
-
-    	/**
-    	 * Return the title of the given index.
-    	 * @param aIndex The index to return the title.
-    	 * @return The title of the given index.
-    	 */
-        const TDesC& Title( TInt aIndex );
-
-        /**
-         * Delete all titles.
-         */
-        void ClearTitles();
-
-        /**
-         * Set callback interface.
-         * @param aCallback The callback interface pointer.
-         */
-        void SetCallbackInterfaceL(
-            XnNewstickerInterface::MXnNewstickerCallbackInterface* aCallback );
-
-        /**
-         * Start showing the titles.
-         */
-        void Start();
-
-        /**
-         * Stop showing the titles.
-         */
-        void Stop();
-        
-        /**
-         * Stops alternate counter.
-         */
-        void StopAlternateCounter();
-        
-        /**
-         * Resets and unenables narquee control.
-         */
-        void StopMarquee();
-        
-        /**
-         * Starts alternate counter.
-         */
-        void StartAlternateCounter();
-
-        /**
-         * Callback which will be called by the CPeriodic.
-         * @param aPtr User defined pointer.
-         * @return ETrue if the method should be called again.
-         */
-        static TInt PeriodicEventL( TAny * aPtr );
-     
-        void MakeVisible( TBool aVisible );
-        
-    public: // from base classes
-
-        //  From MXnNewstickerCallbackInterface
-        /**
-         * Called when the title has been shown and is now offscreen.
-         * @param aTitleIndex The title that has been completely shown.
-         */
-        void TitleScrolled( TInt aTitleIndex );
-
-        /**
-        * See CCoeControl documentation
-        */    	
-        void SizeChanged();
-
-        /**
-        * See CXnControlAdapter documentation
-        */    	
-    	void Draw( const TRect& aRect ) const;
-
-        /**
-        * Enter power save mode. This is done when application goes to background or lights go off. 
-        * Derived classes should override this function and stop animations, timers etc. when the function is called.
-        */ 
-        void DoEnterPowerSaveModeL( TModeEvent aEvent );
-
-	   	/**
-        * Exit power save mode. This is done when application comes to foreground or lights go on. 
-        * Derived classes should override this function and restart animations, timers etc. when the function is called.
-        */ 
-        void DoExitPowerSaveModeL( TModeEvent aEvent );
-
-        /**
-        * From CXnControlAdapter Handles the property changes.
-        * @since Series 60 3.1
-        * @return void.
-        */ 
-        void DoHandlePropertyChangeL( CXnProperty* aProperty = NULL );
-
-	    /**
-        * Skin change notification.
-        * See CXnControlAdapter documentation
-        */        
-        void SkinChanged();
-        
-        /**
-        * Reports newsticker event
-        * 
-        */   
-        void ReportNewstickerEvent( const TDesC8& aEventName );
-        
-        /**
-        * Draws text
-        * Text drawing function is selected by scrolling behaviour
-        */
-        void DrawText( const TDesC& aText, const TRect& aRect  );
-        
-        /**
-        * ETrue if marquee control redrawing is needed. EFalse if truncated text is needed
-        */
-        TBool Redraw() { return iRedraw; }
-
-
-    private:
-
-    	CXnNewstickerAdapter( CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-
-    	void ConstructL( CXnControlAdapter* aParent );
-    	
-    	/**
-    	* Sets text properties, such as color, font, etc.
-    	*/
-    	void SetTextPropertiesL();	
-
-    	/**
-    	* Sets newsticker timing properties.
-    	*/
-        void SetNewstickerPropertiesL();
-        
-        /**
-         * From CoeControl,CountComponentControls.
-         */
-         TInt CountComponentControls() const;
-
-        /**
-         * From CCoeControl,ComponentControl.
-         */
-         CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * Callback function for marquee control
-        */    
-        static TInt RedrawCallback( TAny* aPtr );
-        
-        /**
-        *  FScrolls alternative text. Function is called by periodic timer
-        */    
-        void DoScroll();
-        
-        /**
-        *  Draws text directly to screen if scrollins is not needed
-        */  
-        void DrawStaticText( CWindowGc& aGc, const TDesC& aText ) const;
-        
-        /**
-        *  Draws scrolling text to screen via marquee control
-        */ 
-        TBool DrawMarqueeText( CWindowGc& aGc, const TDesC& aText ) const;               
-        
-    private:
-
-        /**
-        * The timer to use for scrolling events.
-        * Own.
-        */
-	    CPeriodic*                  iPeriodicTimer;
-
-        /**
-        * The callback interface which is used when a title has been shown.
-        * Not own.
-        */
-        XnNewstickerInterface::MXnNewstickerCallbackInterface*  iCallback;
-
-        /**
-        * The control handling the text title showing
-        * Own.
-        */
-        CXnNewstickerControl*       iControl;
-	    
-        /**
-         * The delay before first event
-         */  
-	    TInt                        iAlternateDelay;
-        
-        /**
-         * The alternate interval between ticks.
-         */	    
-	    TInt                        iAlternateInterval;
-
-        /**
-        * UI node
-        * Not own.
-        */
-        CXnNodePluginIf&            iNode;
-
-        /**
-        * Font for control.
-        * Not own.
-        */        
-        CFont*                      iFont;
-        
-        /**
-        * Whether the font needs to be released or not.
-        */        
-        TInt                       iReleaseFont;
-
-        /**
-        * For keeping track of the current powersave mode state
-        */       
-        TBool                       iPowerSaveMode;
-
-        /**
-        * Current scroll behaviour
-        */               
-        TScrollBehaviour            iScrollBehaviour;
-        
-        /**
-         * Restart animation after title has been updated
-         */
-        TBool                       iRestartAfterUpdate;
-        
-        /**
-        * marquee control for scrolling
-		* own
-        */ 
-       CAknMarqueeControl*         iMarqueeControl;
-       
-       /**
-       * Current text color
-       */ 
-       TRgb                        iTextColor;
-       
-       /**
-       * Current text alignment
-       */ 
-       TInt                        iTextAlignment;   
-       
-       /**
-       * Current baseline
-       */ 
-       TInt                        iTextBaseline;
-       
-       /**
-       * Current underlining behaviour
-       */ 
-       TFontUnderline              iUnderlining;       
-       
-       /**
-       * Current strikethrough behaviour
-       */ 
-       TFontStrikethrough          iStrikethrough;
-       
-       /**
-       * is scroll looping activated
-       */ 
-       TBool                    iScrollLooping;
-       
-       /**
-       * is marquee control redraw needed
-       */ 
-       TBool                    iRedraw;
-        
-        
-        
-    };
-
-#endif // XNNEWSTICKERADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/inc/xnnewstickercontrol.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Text scrolling functionality.
-*
-*/
-
-
-#ifndef XNNEWSTICKERCONTROL_H
-#define XNNEWSTICKERCONTROL_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CXnNewstickerAdapter;
-
-// CLASS DECLARATION
-
-/**
-* @ingroup group_xnnewstickerfactory
-* 
-*  Newsticker control for XUIKON text scrolling functionality.
-*
-*  @lib xn3newstickerfactory.dll
-*  @since Series 60 3.2
-*/
-class CXnNewstickerControl : public CBase
-    {
-    public:
-	
-        /**
-         * Two-phased constructor.
-         * @param aAdapter Parent control
-         * @param aLoops Max number of loops to be executed
-         * @param aScrollAmount The amount of pixels scrolled per iteration
-         * @param aScrollDelay The interval between iterations
-         * @param aStartDelay The delay before the animation starts
-         * @return Pointer to this.
-         */
-        static CXnNewstickerControl* NewL( CXnNewstickerAdapter* aAdapter );
-
-        // Routed from MXnNewstickerInterface.
-
-        /**
-         * Append new title to the end of the title list.
-         * @param aTitle The new title to add.
-         */
-        void AppendTitleL( const TDesC& aTitle );
-
-        /**
-         * Insert new title to the end of the title list.
-         * @param aTitle The new title to add.
-         * @param aIndex The place to add the title.
-         */
-        void InsertTitleL( const TDesC& aTitle, TInt aIndex );
-
-        /**
-         * Update title in the title list.
-         * @param aTitle The new title to add.
-         * @param aIndex The place to add the title.
-         */
-        void UpdateTitleL( const TDesC& aTitle, TInt aIndex );
-
-        /**
-         * Delete the title.
-         * @param aIndex The title index to delete.
-         */
-        void DeleteTitleL( TInt aIndex );
-
-    	/**
-    	 * Returns index of the currently selected title.
-    	 * @return The index of the current title.
-    	 */
-        TInt CurrentTitleIndex() const;
-
-    	/**
-    	 * Return the title of the given index.
-    	 * @param aIndex The index to return the title.
-    	 * @return The title of the given index.
-    	 */
-        const TDesC& Title(TInt aIndex) const;
-
-        /**
-         * Delete all titles.
-         */
-        void ClearTitles();
-
-        /**
-         * Return the number of titles in the list.
-         * @return The number of titles in the list.
-         */
-        TInt TitleCount() const;
-        
-        /** 
-        * Destructor
-        */
-        virtual ~CXnNewstickerControl();
-
-	    /**
-        * Selects title to be shown
-        */
-        const TDesC& SelectTitle();
-        
-        /**
-        * Sets the current title to default ( last one ) or move to next one
-        */
-        TBool SetCurrentTitle( TBool aSetDefault = EFalse );
-
-
-    private: 
-
-        CXnNewstickerControl(CXnNewstickerAdapter* aAdapter);
-
-        void ConstructL();
-        
-        /**
-         * Get the index of the next title that has content
-         * 
-         * @param aStartSearch The index where to start search
-         * @param aBackwards Search backwards
-         * 
-         * @return The next index that has content or -1 if nothing was found 
-         */
-        TInt GetNextTitleWithContent( TInt aStartSearch, TBool aBackwards = EFalse ) const;
-
-        /**
-        * Checks is there any visible titles in array
-        */
-        TBool IsVisibleTitles() const;
-        
-    private:    // Data
-        
-        /**
-        * The array for title texts
-        * owned
-        */
-        RPointerArray<HBufC>        iTitleTexts;
-        
-        /**
-        * The index of the title which is selected if user activates the
-        * control.
-        */
-        TInt                        iCurrentTitleIndex;
-        
-        /**
-         * Parent control adapter
-         * Not own.
-         */	            
-        CXnNewstickerAdapter*       iAdapter;
-        
-
-
-        
-    };
-
-#endif // XNNEWSTICKERCONTROL_H
-
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/inc/xnnewstickerfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Factory for creating CXnNewsticker -component
-*
-*/
-
-
-#ifndef _XNNEWSTICKERFACTORY_H
-#define _XNNEWSTICKERFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-
-// FORWARD DECLARATIONS
-class CXnComponent;
-
-// CLASS DECLARATION
-
-/**
-* @ingroup group_xnnewstickerfactory
-* 
-*  Component factory interface for creating UI representations of the newsticker element.
-*
-*  @lib xn3newstickerfactory.dll
-*  @since Series 60 3.2
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnNewstickerFactory : public MXnComponentFactory, public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnNewstickerFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnNewstickerFactory();
-        
-    public: // Functions from base classes
-
-        /**
-        * Creates the Xuikon component for newsticker component.
-        * @param aNode Corresponding DOM-node
-        * @param aTargetComponent Pointer reference to the component to be created.
-        * @return EXnFactoryResponseComponentConstructed if component created. 
-        */
-        virtual TXnComponentFactoryResponse MakeXnComponentL(CXnNodePluginIf& aNode,
-            CXnComponent*& aTargetComponent);
-
-        /**
-        * From MXnComponentFactory Interface for creating UI control adapter.
-        * @param aNode Component's node.
-        * @param aParent Parent of the adapter, which is created here.
-        * @return Created control adapter.
-        */        
-        virtual CXnControlAdapter* MakeXnControlAdapterL(CXnNodePluginIf& aNode,
-            CXnControlAdapter* aParent);
-        
-    private:
-
-        void ConstructL();
-
-        CXnNewstickerFactory();
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNNEWSTICKERFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xn3newstickerfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 10207483.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_NEWSTICKERFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_NEWSTICKERFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnNewsticker";
-                default_data = "newsticker";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewsticker.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation for the interface class CXnNewsticker.
-*
-*/
-
-
-#include <gulicon.h>
-
-#include "xnnewsticker.h"
-#include "xnnewstickeradapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNewsticker::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnNewsticker* CXnNewsticker::NewL()
-    {
-	CXnNewsticker* self = new(ELeave) CXnNewsticker;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewsticker::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNewsticker::ConstructL()
-    {
-    CXnComponent::ConstructL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnNewsticker::CXnNewsticker
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnNewsticker::CXnNewsticker()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewsticker::~CXnNewsticker
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnNewsticker::~CXnNewsticker()
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CXnNewsticker::AppendTitleL
-// ---------------------------------------------------------
-//
-void CXnNewsticker::AppendTitleL(const TDesC& aTitle)
-    {
-    (static_cast<CXnNewstickerAdapter*>
-            (ControlAdapter()))->AppendTitleL(aTitle);
-    }
-
-
-// ---------------------------------------------------------
-// CXnNewsticker::InsertTitleL
-// ---------------------------------------------------------
-//
-void CXnNewsticker::InsertTitleL(const TDesC& aTitle, TInt aIndex)
-    {
-    (static_cast<CXnNewstickerAdapter*>
-            (ControlAdapter()))->InsertTitleL(aTitle, aIndex);
-    }
-
-// ---------------------------------------------------------
-// CXnNewsticker::UpdateTitleL
-// ---------------------------------------------------------
-//
-void CXnNewsticker::UpdateTitleL(const TDesC& aTitle, TInt aIndex)
-    {
-    (static_cast<CXnNewstickerAdapter*>
-            (ControlAdapter()))->UpdateTitleL(aTitle, aIndex);
-    }
-
-
-// ---------------------------------------------------------
-// CXnNewsticker::DeleteTitle
-// ---------------------------------------------------------
-//
-void CXnNewsticker::DeleteTitle(TInt aIndex)
-    {
-    CXnNewstickerAdapter* adapter = 
-        static_cast<CXnNewstickerAdapter*>(ControlAdapter());
-    TRAP_IGNORE(adapter->DeleteTitleL(aIndex));
-    }
-
-
-// ---------------------------------------------------------
-// CXnNewsticker::CurrentTitleIndex
-// ---------------------------------------------------------
-//
-TInt CXnNewsticker::CurrentTitleIndex()
-    {
-    return (static_cast<CXnNewstickerAdapter*>
-            (ControlAdapter()))->CurrentTitleIndex();
-    }
-
-
-// ---------------------------------------------------------
-// CXnNewsticker::Title
-// ---------------------------------------------------------
-//
-const TDesC& CXnNewsticker::Title(TInt aIndex)
-    {
-    return (static_cast<CXnNewstickerAdapter*>
-            (ControlAdapter()))->Title(aIndex);
-    }
-
-// ---------------------------------------------------------
-// CXnNewsticker::ClearTitles
-// ---------------------------------------------------------
-//
-void CXnNewsticker::ClearTitles()
-    {
-    (static_cast<CXnNewstickerAdapter*>
-            (ControlAdapter()))->ClearTitles();
-    }
-
-// ---------------------------------------------------------
-// CXnNewsticker::SetCallbackInterfaceL
-// ---------------------------------------------------------
-//
-void CXnNewsticker::SetCallbackInterfaceL(
-    XnNewstickerInterface::MXnNewstickerCallbackInterface* aCallback)
-    {
-    (static_cast<CXnNewstickerAdapter*>
-            (ControlAdapter()))->SetCallbackInterfaceL(aCallback);
-    }
-
-// ---------------------------------------------------------
-// CXnNewsticker::MakeInterfaceL
-// ---------------------------------------------------------
-//
-XnComponentInterface::MXnComponentInterface* CXnNewsticker::MakeInterfaceL(const TDesC8& aType)
-   {
-   if (aType != XnNewstickerInterface::KType)
-       {
-       return NULL;
-       }
-    XnNewstickerInterface::MXnNewstickerInterface* newstickerintr = 
-        static_cast<XnNewstickerInterface::MXnNewstickerInterface*>(this);
-    return newstickerintr;
-   }
-    
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickeradapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,947 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation for wrapper for a label
-*
-*/
-
-// System includes
-#include <utf.h>
-#include <AknsUtils.h>
-#include <AknUtils.h>
-#include <AknMarqueeControl.h>
-#include <AknBidiTextUtils.h>
-
-// User includes
-#include "xnviewnodeimpl.h"
-#include "xndompropertyvalue.h"
-#include "xndomlist.h"
-#include "xnproperty.h"
-#include "xnnodepluginif.h"
-#include "xntype.h" 
-
-#include "c_xnutils.h"
-
-#include "xnnewstickeradapter.h"
-#include "xnnewstickercontrol.h"
-#include "xncomponentnodeimpl.h"
-
-
-const TInt KThousandCoef = 1000;
-const TInt KByteLength = 8;
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// GetIntPropertyL
-// Gets an integer property from the node.
-// Returns: aNode UI node
-//          aproperty The property that is to be found
-//          return The value of the property. If not found, KErrNotFound returned.
-// -----------------------------------------------------------------------------
-// 
-static TInt GetIntPropertyL( CXnNodePluginIf& aNode, const TDesC8& aProperty )
-    {
-    CXnProperty* prop = aNode.GetPropertyL(aProperty);
-    if(prop)
-        {        
-        CXnDomPropertyValue* value = 
-            static_cast<CXnDomPropertyValue*>( 
-                    prop->Property()->PropertyValueList().Item(0) );
-        
-        if(CXnDomPropertyValue::ENumber == value->PrimitiveValueType())
-            {
-            TInt integer = static_cast<TInt>( prop->FloatValueL() );
-            
-            return integer;
-            }
-        }
-    
-    return KErrNotFound;
-    }       
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::SetNewstickerPropertiesL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::SetNewstickerPropertiesL()
-    {
-    // scroll amount 
-    TInt scrollamount = GetIntPropertyL( iNode, 
-        XnPropertyNames::newsticker::KXnScrollAmount );   // px
-    
-    if( KErrNotFound == scrollamount )
-        {
-        scrollamount = KXnNewstickerScrollAmount;
-        }
-
-    CXnProperty* prop( iNode.GetPropertyL(
-            XnPropertyNames::newsticker::KScrollBehaviour ) );
-    
-    if( prop )
-        {
-        if ( prop->StringValue() == 
-                XnPropertyNames::newsticker::scroll_behaviour::KAlternate )
-            {
-            scrollamount = 0;
-            iScrollBehaviour = EAlternate;
-            }
-        else if ( prop->StringValue() == 
-                XnPropertyNames::newsticker::scroll_behaviour::KScrollAlternate )
-            {
-            iScrollBehaviour = EScrollAlternate;
-            }
-        else
-            {
-            iScrollBehaviour = EScroll;
-            }
-        }
-    else
-        {
-        iScrollBehaviour = EScroll;
-        }        
-        
-    iMarqueeControl->SetSpeedInPixels( scrollamount );
-    
-    if( iScrollBehaviour == EScroll )
-        {                    
-        // scroll delay
-        TInt scrolldelay = GetIntPropertyL( iNode, 
-            XnPropertyNames::newsticker::KXnScrollDelay );  // ms
-        
-        if( KErrNotFound == scrolldelay )
-            {
-            scrolldelay = KXnNewstickerInterval;
-            }
-        else 
-            {
-            scrolldelay *= KThousandCoef;    // change to microseconds
-            }
-        
-        iMarqueeControl->SetInterval( scrolldelay ); 
-        iAlternateInterval = scrolldelay;
-            
-        // start delay
-        TInt startdelay = GetIntPropertyL( iNode, 
-            XnPropertyNames::newsticker::KXnStartDelay ); // ms
-        
-        if( KErrNotFound == startdelay )
-            {
-            startdelay = KXnNewstickerDelay;
-            }
-        else 
-            {
-            startdelay *= KThousandCoef;    // change to microseconds
-            }
-        
-        iMarqueeControl->SetDelay( startdelay );
-        iAlternateDelay = startdelay;
-        }
-    else if( iScrollBehaviour == EScrollAlternate )
-		{
-        // scroll delay
-        TInt scrolldelay = GetIntPropertyL( iNode, 
-            XnPropertyNames::newsticker::KXnScrollDelay );  // ms
-        
-        if( KErrNotFound == scrolldelay )
-            {
-            scrolldelay = KXnNewstickerInterval;
-            }
-        else 
-            {
-            scrolldelay *= KThousandCoef;    // change to microseconds
-            }
-        
-        iMarqueeControl->SetInterval( scrolldelay );
-        iAlternateInterval = scrolldelay;
-
-        TInt alternateTime( GetIntPropertyL( iNode, XnPropertyNames::newsticker::KDisplayTime ) );
-        
-        if( alternateTime == KErrNotFound )
-            {
-            alternateTime = 0;
-            }
-
-        alternateTime *= KThousandCoef; // change to ms                        
-
-        iAlternateInterval = alternateTime;
-
-        // start delay
-        TInt startdelay = GetIntPropertyL( iNode, 
-            XnPropertyNames::newsticker::KXnStartDelay ); // ms
-        
-        if( KErrNotFound == startdelay )
-            {
-            startdelay = 0;
-            }
-        else 
-            {
-            startdelay *= KThousandCoef;    // change to microseconds
-            }
-        
-        iMarqueeControl->SetDelay( startdelay );
-        iAlternateDelay = startdelay;
-        }
-    else // TScrollBehaviour::EAlternate
-        {
-        TInt alternateTime( GetIntPropertyL( iNode, XnPropertyNames::newsticker::KDisplayTime ) );
-        
-        if( alternateTime == KErrNotFound )
-            {
-            alternateTime = 0;
-            }
-
-        alternateTime *= KThousandCoef; // change to ms                        
-
-        iMarqueeControl->SetDelay( 0 );
-        iMarqueeControl->SetInterval( alternateTime );
-        
-        iAlternateDelay = 0;
-        iAlternateInterval = alternateTime;
-        }        
-    
-    // _s60-scroll-loop property. True by default.
-    CXnProperty* loopProp( iNode.GetPropertyL(
-            XnPropertyNames::newsticker::KScrollLoop ) );
-    
-    if( loopProp && loopProp->StringValue() == XnPropertyNames::KFalse )
-        {
-        iScrollLooping = EFalse;
-        }
-    else
-        {
-        iScrollLooping = ETrue;
-        }    
-    
-    CXnProperty* restartProperty( iNode.GetPropertyL(
-            XnPropertyNames::newsticker::KRestartAfterUpdate ) );
-    
-    if ( restartProperty && restartProperty->StringValue() == XnPropertyNames::KTrue )
-        {
-        iRestartAfterUpdate = ETrue;
-        }
-     }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerAdapter* CXnNewstickerAdapter::NewL( CXnControlAdapter* aParent, 
-    CXnNodePluginIf& aNode )
-    {
-	CXnNewstickerAdapter* self = new( ELeave ) CXnNewstickerAdapter( aParent, aNode );
-    CleanupStack::PushL( self );
-    self->ConstructL( aParent );
-    CleanupStack::Pop();
-    
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::ConstructL( CXnControlAdapter* aParent )
-    {
-    CXnControlAdapter::ConstructL( iNode );
-    
-    iControl = CXnNewstickerControl::NewL( this );    
-    
-    iMarqueeControl = CAknMarqueeControl::NewL();
-    TCallBack callback( RedrawCallback, this );
-    iMarqueeControl->SetRedrawCallBack( callback );
-    iMarqueeControl->SetContainerWindowL( *aParent );
-    iMarqueeControl->ActivateL();
-    
-    iPeriodicTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-    
-    SetTextPropertiesL();
-    SetNewstickerPropertiesL();
-    
-    RPointerArray<CXnNodePluginIf> children = iNode.ChildrenL();
-    CleanupClosePushL( children );
-    
-    for( TInt i = 0; i < children.Count(); ++i )
-        {
-        CXnNodePluginIf* child( children[i] );
-        
-        CXnType* xnType = child->Type();
-        
-        // We only care for <title> nodes
-        if ( xnType && xnType->Type() == XnPropertyNames::title::KTitle )
-            {
-            // Append  title, if one is given from the theme use that.
-            // If no content yet available create empty title so that 
-            // indexing is always current
-            const TDesC8& pcData( child->GetPCData() );
-    
-            HBufC* pcData16 = CnvUtfConverter::ConvertToUnicodeFromUtf8L( pcData );
-            CleanupStack::PushL( pcData16 );
-    
-            TPtr ptr( pcData16->Des() );
-    
-            CXnUtils::CollapseWhiteSpace( iNode, ptr );
-    
-            if( ptr.Length() > 0 )
-                {
-                iControl->AppendTitleL( *pcData16 );
-                }
-            else
-                {
-                iControl->AppendTitleL( KNullDesC );
-                }
-    
-            CleanupStack::PopAndDestroy( pcData16 );
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    
-    iControl->SetCurrentTitle( ETrue );
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::CXnNewstickerAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerAdapter::CXnNewstickerAdapter( CXnControlAdapter* /*aParent*/, 
-    CXnNodePluginIf& aNode )
-    : iNode( aNode ),
-      iPowerSaveMode( ETrue ),
-      iRestartAfterUpdate( EFalse ),
-      iTextColor( KRgbBlack ),
-      iTextAlignment( ELayoutAlignLeft ),
-      iTextBaseline( 0 ),
-      iUnderlining( EUnderlineOff ),
-      iStrikethrough( EStrikethroughOff ),
-      iScrollLooping( ETrue ),
-      iRedraw( ETrue )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::~CXnNewstickerAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerAdapter::~CXnNewstickerAdapter()
-    {           
-    if( iPeriodicTimer && iPeriodicTimer->IsActive() )
-        {
-        iPeriodicTimer->Cancel();
-        }
-        
-    delete iPeriodicTimer;
-
-    if( iFont && ( iReleaseFont == 1 ) )
-        {
-        CWsScreenDevice* dev = iCoeEnv->ScreenDevice();
-        dev->ReleaseFont( iFont ); 
-        }
-    
-    delete iMarqueeControl;
-    delete iControl;
-
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::SetTextPropertiesL
-// Sets text properties, such as color, font, etc.
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::SetTextPropertiesL()
-    {
-    if (iFont && ( iReleaseFont == 1 ) )
-        {
-        CWsScreenDevice* dev = iCoeEnv->ScreenDevice();
-        dev->ReleaseFont(iFont); 
-        iFont = NULL;
-        }
-    
-    CXnUtils::CreateFontL(iNode, iFont, iReleaseFont);
-    
-    TBool colorSet(EFalse);
-    CXnProperty* colorProperty = iNode.GetPropertyL(XnPropertyNames::appearance::common::KColor);
-    
-    if( colorProperty )
-        {
-        CXnDomProperty* domProperty = colorProperty->Property();
-        if(domProperty)
-            {
-            TInt error( KErrNotSupported );
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >
-                                            ( domProperty->PropertyValueList().Item( 0 ) );
-            
-            if( value->IsAutoIdent() )
-                {
-                MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                error = AknsUtils::GetCachedColor( skinInstance, iTextColor, KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG6 );
-                }
-            else if( value->PrimitiveValueType() == CXnDomPropertyValue::ERgbColor )
-                {
-                iTextColor = value->RgbColorValueL();
-                error = KErrNone;
-                }
-            else
-                {
-                HBufC* colorString = colorProperty->StringValueL();
-                CleanupStack::PushL( colorString );
-                
-                CXnUtils::StripQuotes( colorString );
-                
-                TInt index = 0;
-                TAknsItemID skinID;
-                
-                TBool idResolved = CXnUtils::ResolveSkinItemIDL(
-                        colorString->Des(), skinID, index );
-                
-                if( idResolved )
-                    {
-                    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                    error = AknsUtils::GetCachedColor(
-                            skinInstance, iTextColor, skinID, index );
-                    }
-                else // use auto value if skin id is invalid.
-                    {
-                    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                    error = AknsUtils::GetCachedColor(skinInstance, iTextColor,
-                            KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6);
-                    }
-                CleanupStack::PopAndDestroy( colorString );                 
-                }
-            
-            if ( error == KErrNone )
-                {
-                colorSet = ETrue;
-                }
-            }
-        }
-
-    if( !colorSet ) // Use text skin color
-        {
-        MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-        TRgb textColor;
-        TInt error = AknsUtils::GetCachedColor( skinInstance, textColor, 
-            KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6);
-        if (error == KErrNone)
-            {
-            iTextColor = textColor;
-            }
-        }
-    
-    CXnProperty* textDecorationProp = 
-        iNode.GetPropertyL(XnPropertyNames::appearance::common::KTextDecoration);
-    
-    if( textDecorationProp )
-        {
-        CXnDomList& propertyValueList = textDecorationProp->Property()->PropertyValueList();
-        TInt valueCount = propertyValueList.Length();
-        
-        for( TInt i = 0; i < valueCount; ++i )
-            {
-            CXnDomPropertyValue* value = 
-                static_cast<CXnDomPropertyValue*>(propertyValueList.Item(i));
-            if (value->StringValueL() == 
-                XnPropertyNames::appearance::common::textdecoration::KUnderline)
-                {
-                iUnderlining = EUnderlineOn;
-                }
-            if (value->StringValueL() == 
-                XnPropertyNames::appearance::common::textdecoration::KLinethrough)
-                {
-                iStrikethrough = EStrikethroughOn;
-                }
-            }
-        }
-    
-    TGulAlignmentValue alignment = CXnUtils::TextAlignment( iNode );
-    
-    switch( alignment )
-        {
-        case EHCenterVCenter:            
-            iTextAlignment = ELayoutAlignCenter;                 
-            break;
-            
-        case EHRightVCenter:            
-            iTextAlignment = ELayoutAlignRight;                
-            break;
-            
-        default: 
-            iTextAlignment = ELayoutAlignLeft;
-            break;    
-        }   
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::AppendTitleL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::AppendTitleL( const TDesC& aTitle )
-    {
-    iControl->AppendTitleL( aTitle );
-    iNode.SetDirtyL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::InsertTitleL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::InsertTitleL( const TDesC& aTitle, TInt aIndex )
-    {
-    iControl->InsertTitleL( aTitle, aIndex );
-    iNode.SetDirtyL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::UpdateTitleL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::UpdateTitleL( const TDesC& aTitle, TInt aIndex )
-    {
-    iControl->UpdateTitleL( aTitle, aIndex );
-    iNode.SetDirtyL();
-    
-    if ( iRestartAfterUpdate )
-        {
-        Stop();
-        Start();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::DeleteTitleL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::DeleteTitleL( TInt aIndex )
-    {
-    iControl->DeleteTitleL( aIndex );
-    iNode.SetDirtyL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::CurrentTitleIndex
-// -----------------------------------------------------------------------------
-//
-TInt CXnNewstickerAdapter::CurrentTitleIndex()
-    {
-    return iControl->CurrentTitleIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::Title
-// -----------------------------------------------------------------------------
-//
-const TDesC& CXnNewstickerAdapter::Title( TInt aIndex )
-    {
-    return iControl->Title( aIndex );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::ClearTitles
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::ClearTitles()
-    {
-    iControl->ClearTitles();
-    TRAP_IGNORE( iNode.SetDirtyL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::SetCallbackInterfaceL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::SetCallbackInterfaceL(
-        XnNewstickerInterface::MXnNewstickerCallbackInterface* aCallback )
-    {
-    iCallback = aCallback;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::TitleScrolled
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::TitleScrolled( TInt aTitleIndex )
-    {
-    if( iCallback )
-        {
-        iCallback->TitleScrolled( aTitleIndex );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::StartL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::Start()
-    {
-    if( IsVisible() && !iPowerSaveMode )
-        {
-        if( iControl->TitleCount() < 1 )
-            {
-            // Nothing to show
-            return;
-            }
-        
-        switch( iScrollBehaviour )
-            {
-            case EScroll:
-                {
-                iMarqueeControl->EnableMarquee( ETrue );
-                iRedraw = ETrue;
-                }
-                break;
-                
-            case EAlternate:
-                {
-                iMarqueeControl->EnableMarquee( EFalse );
-                StartAlternateCounter();  
-                }
-                break;
-                
-            case EScrollAlternate:
-                {
-                iMarqueeControl->EnableMarquee( ETrue );
-                StartAlternateCounter(); 
-                iRedraw = ETrue;
-                }
-                break;
-                
-            default:
-                break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::Stop
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::Stop()
-    {  
-    StopAlternateCounter();
-    StopMarquee();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::StopAlternateCounter
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::StopAlternateCounter()
-    {
-    if( iPeriodicTimer && iPeriodicTimer->IsActive() )
-        {
-        iPeriodicTimer->Cancel();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::StopMarquee
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::StopMarquee()
-    {
-    iMarqueeControl->Reset();
-    iMarqueeControl->EnableMarquee( EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::StartCounter
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::StartAlternateCounter()
-    {
-    if( iPeriodicTimer && iPeriodicTimer->IsActive() )
-        {
-        iPeriodicTimer->Cancel();
-        }
-
-    iPeriodicTimer->Start(                
-        TTimeIntervalMicroSeconds32( iAlternateDelay ),
-        TTimeIntervalMicroSeconds32( iAlternateInterval ), 
-        TCallBack( CXnNewstickerAdapter::PeriodicEventL, this ) ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::PeriodicEventL
-// -----------------------------------------------------------------------------
-//
-TInt CXnNewstickerAdapter::PeriodicEventL( TAny* aPtr )
-    {
-    CXnNewstickerAdapter* self = static_cast< CXnNewstickerAdapter* >( aPtr );
-    self->DoScroll();
-  
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::MakeVisible()
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::MakeVisible( TBool aVisible )
-    {
-    if( aVisible )
-        {
-        Start();
-        }
-    else
-        {
-        Stop();
-        }
-    
-    CCoeControl::MakeVisible( aVisible );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::SizeChanged()
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::SizeChanged()
-    {
-    CXnControlAdapter::SizeChanged();         
-    iMarqueeControl->SetExtent( iNode.Rect().iTl, iNode.Rect().Size() );
-    
-    iTextBaseline = iNode.Rect().Height() / 2 + iFont->AscentInPixels() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::CountComponentControls() const
-// -----------------------------------------------------------------------------
-//
-TInt CXnNewstickerAdapter::CountComponentControls() const
-    {
-    return 1; // return nbr of controls inside this container
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::ComponentControl(TInt aIndex) const
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CXnNewstickerAdapter::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iMarqueeControl;
-            
-        default:
-            return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::DoHandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::DoHandlePropertyChangeL( CXnProperty* /*aProperty*/ )
-    {
-    SetTextPropertiesL();
-    SetNewstickerPropertiesL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::SkinChanged
-// -----------------------------------------------------------------------------
-// 
-void CXnNewstickerAdapter::SkinChanged() 
-    {
-    CXnControlAdapter::SkinChanged();
-    TRAP_IGNORE( SetTextPropertiesL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::ReportNewstickerEventL
-// -----------------------------------------------------------------------------
-// 
-void CXnNewstickerAdapter::ReportNewstickerEvent( const TDesC8& aEventName )
-    { 
-    TBuf8<KByteLength>index( KNullDesC8 );
-    index.Num( CurrentTitleIndex() );
-    
-    TRAP_IGNORE( iNode.ReportTriggerEventL( aEventName,
-            XnPropertyNames::action::trigger::name::KTitleIndex, index ); )
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::Draw
-// Draws the text component
-// -----------------------------------------------------------------------------
-void CXnNewstickerAdapter::Draw( const TRect& aRect ) const
-    {    
-    const_cast<CXnNewstickerAdapter*>(this)->DrawText( iControl->SelectTitle(), aRect );
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::DoEnterPowerSaveModeL
-// Enter power save mode
-// -----------------------------------------------------------------------------
-void CXnNewstickerAdapter::DoEnterPowerSaveModeL( TModeEvent /*aEvent*/ )
-    {     
-    iPowerSaveMode = ETrue;
-    Stop();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::DoExitPowerSaveModeL
-// Exit power save mode
-// -----------------------------------------------------------------------------
-void CXnNewstickerAdapter::DoExitPowerSaveModeL( TModeEvent /*aEvent*/ )
-    {
-    iPowerSaveMode = EFalse;
-    
-    if( IsVisible() )
-        {
-        Start();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::DrawText
-// Text drawing function is selected by scrolling behaviour
-// -----------------------------------------------------------------------------
-void CXnNewstickerAdapter::DrawText( const TDesC& aText, const TRect& aRect )
-    {    
-    CWindowGc& gc = SystemGc();
-    
-    TRect rect = iNode.Rect();
-           
-    CXnControlAdapter::Draw( aRect );
-    
-    gc.SetPenColor( iTextColor );
-    gc.UseFont( iFont );
-    gc.SetUnderlineStyle( iUnderlining );
-    gc.SetStrikethroughStyle( iStrikethrough );
-           
-    TInt textWidth = iFont->TextWidthInPixels( aText );
-    TInt rectWidth = rect.Width();
-    
-    switch( iScrollBehaviour )
-        {  
-        case EScroll:
-        case EScrollAlternate:
-            {
-            if( !iRedraw || textWidth < rectWidth )
-                {
-                iMarqueeControl->Stop();
-                DrawStaticText( gc, aText );
-                }
-            else
-                {
-                iMarqueeControl->Start();
-                TBool isLast = DrawMarqueeText( gc, aText );
-                
-                if( isLast )
-                    {
-                    if( !iScrollLooping )
-                        {
-                        iRedraw = EFalse;
-                        }
-                    
-                    iMarqueeControl->Reset();
-                    StartAlternateCounter();
-                    }
-                }
-            }
-            break;
-            
-        case EAlternate:
-            {
-            DrawStaticText( gc, aText );
-            }
-            break;
-            
-        default:
-            break;
-        }
-      }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::RedrawCallback
-// Callback function for marquee control
-// -----------------------------------------------------------------------------
-//
-TInt CXnNewstickerAdapter::RedrawCallback( TAny* aPtr )
-    {
-    CXnNewstickerAdapter* self = static_cast<CXnNewstickerAdapter*>( aPtr );
-    self->DrawNow();
-
-    return self->Redraw();
- 
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::DoScroll
-// Scrolls alternative text. Function is called by periodic timer
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::DoScroll()
-    {
-    ReportNewstickerEvent( XnPropertyNames::action::trigger::name::KTitleScrolled );
-    
-    if( iControl->SetCurrentTitle() )
-        {
-        // stop alternate scrolling if current index is last
-        StopAlternateCounter();
-        }
-    
-    DrawNow();
- 
-    ReportNewstickerEvent( XnPropertyNames::action::trigger::name::KTitleToScroll );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::DrawStatic
-// Draws text directly to screen when scrolling is not needed
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerAdapter::DrawStaticText( CWindowGc& aGc, const TDesC& aText ) const
-    { 
-    HBufC* text = HBufC::New( aText.Length() + KAknBidiExtraSpacePerLine );
-    
-    if( text )
-        {
-        TRect rect = iNode.Rect();
-        TInt maxLength = rect.Width();
-        TPtr ptr = text->Des();
-        AknBidiTextUtils::ConvertToVisualAndClip(
-                aText, ptr, *iFont, maxLength, maxLength );
-        
-        aGc.DrawText( *text, rect, iTextBaseline,
-                ( CGraphicsContext::TTextAlign )iTextAlignment );
-        
-        delete text;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::DrawScrolling
-// Draws scrolling text to screen via marquee control
-// -----------------------------------------------------------------------------
-//
-TBool CXnNewstickerAdapter::DrawMarqueeText( CWindowGc& aGc, const TDesC& aText ) const
-    {
-    TRect rect = iNode.Rect();
-    
-    // returns true when all loops have been executed
-    return iMarqueeControl->DrawText( aGc, rect, aText, iTextBaseline,
-            ( CGraphicsContext::TTextAlign )iTextAlignment, *iFont );
-    }
-
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickercontrol.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Text scrolling functionality.
-*
-*/
-
-
-// INCLUDE FILES
-#include <AknUtils.h>
-#include <AknsDrawUtils.h>
-#include <AknBidiTextUtils.h>
-
-#include "xnnewstickercontrol.h"
-#include "xnnewstickeradapter.h"
-
-
-// CONSTANTS
-   
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::CXnNewstickerControl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerControl::CXnNewstickerControl( CXnNewstickerAdapter* aAdapter ) :     
-    iCurrentTitleIndex( -1 ),
-    iAdapter( aAdapter )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerControl::ConstructL()
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerControl* CXnNewstickerControl::NewL( CXnNewstickerAdapter* aAdapter )
-    {
-    CXnNewstickerControl* self = new(ELeave)CXnNewstickerControl( aAdapter );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); // self   
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::~CXnNewstickerControl()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerControl::~CXnNewstickerControl()
-    {
-    iTitleTexts.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::AppendTitleL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerControl::AppendTitleL( const TDesC& aTitle )
-    {
-    HBufC* title = aTitle.AllocLC();
-    iTitleTexts.AppendL( title );
-    CleanupStack::Pop( title );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::InsertTitleL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerControl::InsertTitleL( const TDesC& aTitle, TInt aIndex )
-    {
-    if( aIndex >= 0 && aIndex < iTitleTexts.Count() )
-        {
-        HBufC* title = aTitle.AllocLC();
-        iTitleTexts.InsertL( title, aIndex );
-        CleanupStack::Pop( title );
-        }
-    else
-        {
-        AppendTitleL( aTitle );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::UpdateTitleL
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerControl::UpdateTitleL( const TDesC& aTitle, TInt aIndex )
-    {
-    if( aIndex >= 0 && aIndex < iTitleTexts.Count() )
-        {
-        HBufC* oldTitle = iTitleTexts[ aIndex ];
-        iTitleTexts.Remove( aIndex );
-        
-        delete oldTitle;
-        oldTitle = NULL;
-        
-        HBufC* title = aTitle.AllocLC();
-        iTitleTexts.InsertL( title, aIndex );
-        CleanupStack::Pop( title );   
-        }
-    else
-        {
-        AppendTitleL( aTitle );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::DeleteTitle
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerControl::DeleteTitleL( TInt aIndex )
-    {
-    TInt count = iTitleTexts.Count();
-    
-    if( aIndex >= 0 && aIndex < count )
-        {
-        // If the last item will be deleted
-        if(count == 1)
-            {
-            iAdapter->Stop();
-            iCurrentTitleIndex = -1;
-            }
-
-        UpdateTitleL( KNullDesC, aIndex );      
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::CurrentTitleIndex
-// -----------------------------------------------------------------------------
-//
-TInt CXnNewstickerControl::CurrentTitleIndex() const
-    {
-    return iCurrentTitleIndex;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::Title
-// -----------------------------------------------------------------------------
-//
-const TDesC& CXnNewstickerControl::Title( TInt aIndex ) const
-    {
-    if( aIndex >= 0 && aIndex < iTitleTexts.Count() )
-        {
-        return *iTitleTexts[ aIndex ];
-        }
-
-    return KNullDesC;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::ClearTitles
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerControl::ClearTitles()
-    {
-    iAdapter->Stop();
-    iCurrentTitleIndex = -1;
-    // Don't delete just clear the contents
-    for( TInt i=0; i < iTitleTexts.Count(); i++ )
-        {
-        TRAP_IGNORE( UpdateTitleL( KNullDesC, i ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::TitleCount
-// -----------------------------------------------------------------------------
-//
-TInt CXnNewstickerControl::TitleCount() const
-    {
-    return iTitleTexts.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::SelectTitle
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CXnNewstickerControl::SelectTitle()
-    {
-    if( IsVisibleTitles() ) 
-        { 
-        if( iCurrentTitleIndex < 0 || iCurrentTitleIndex >= iTitleTexts.Count() )
-            {
-            // Get the last title
-            TInt index = 
-                    GetNextTitleWithContent( iTitleTexts.Count() - 1, ETrue );
-            iCurrentTitleIndex = index;
-            }
-        
-        return Title( iCurrentTitleIndex );
-        }  
-    
-    return KNullDesC;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::GetNextTitleWithContent
-// -----------------------------------------------------------------------------
-//
-TInt CXnNewstickerControl::GetNextTitleWithContent( TInt aStartSearch, 
-        TBool aBackwards ) const
-    {
-    TInt dir = 1;
-    if( aBackwards )
-        {
-        dir = -1;
-        }
-    
-    for( TInt i = aStartSearch; i < iTitleTexts.Count() && i >= 0; i += dir )
-        {
-        if( iTitleTexts[i]->Compare( KNullDesC ) != KErrNone )
-            {
-            return i;
-            }
-        }
-    
-    return aStartSearch;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::SetCurrentTitle
-// -----------------------------------------------------------------------------
-//
-TBool CXnNewstickerControl::SetCurrentTitle( TBool aSetDefault )
-    {
-    TBool ret( EFalse );
-    TInt lastIndex( iTitleTexts.Count() - 1 );
-    
-    if( aSetDefault )
-        {
-        iCurrentTitleIndex = GetNextTitleWithContent( lastIndex, ETrue );
-        }
-    else if( iCurrentTitleIndex >= lastIndex )
-        {
-        iCurrentTitleIndex = GetNextTitleWithContent( 0 );
-        }
-    else
-        {
-        iCurrentTitleIndex = GetNextTitleWithContent( iCurrentTitleIndex + 1 );
-        }
-    
-    if( iCurrentTitleIndex == lastIndex)
-        {
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerControl::IsVisibleTitles
-// -----------------------------------------------------------------------------
-//
-TBool CXnNewstickerControl::IsVisibleTitles() const
-    {
-    for( TInt i=0; i < iTitleTexts.Count(); i++ )
-        {
-        if( iTitleTexts[i]->Compare( KNullDesC ) != KErrNone )
-            {
-            return ETrue;
-            }
-        }
-    
-    return EFalse;
-    }
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickerfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation for factory creating CXn3Newsticker-element
-*
-*/
-
-
-#include "xntype.h"
-#include "xnnodepluginif.h"
-#include "xnproperty.h"
-#include <ecom/implementationproxy.h>
-
-#include "xnnewstickerfactory.h"
-#include "xnnewstickeradapter.h"
-#include <aisystemuids.hrh>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// E32Dll implements the Symbian OS dll entry point
-// -----------------------------------------------------------------------------
-//
-#ifndef EKA2
-GLDEF_C TInt  E32Dll(TDllReason)
-    {
-    return KErrNone;
-    }
-#endif
-
-// -----------------------------------------------------------------------------
-// CXnEikLabelFactory::MakeXnComponentL
-// Creates the Xuikon component for label control
-// -----------------------------------------------------------------------------
-//
-MXnComponentFactory::TXnComponentFactoryResponse CXnNewstickerFactory::MakeXnComponentL(
-    CXnNodePluginIf& aNode, CXnComponent*& aTargetComponent)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = 
-        MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if(aNode.Type()->Type() == XnPropertyNames::newsticker::KXnNewsticker)
-        {
-    	CXnNewsticker* container = CXnNewsticker::NewL();
-    	aTargetComponent = static_cast<CXnComponent*>(container);
-	    retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;
-	    return retVal;
-	    }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerFactory::MakeXnControlAdapterL
-// Creates the control adapter for label control
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnNewstickerFactory::MakeXnControlAdapterL(
-    CXnNodePluginIf& aNode, CXnControlAdapter* aParent)
-    {
-    return CXnNewstickerAdapter::NewL(aParent, aNode);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerFactory* CXnNewstickerFactory::NewL()
-    {
-    CXnNewstickerFactory* self = new(ELeave) CXnNewstickerFactory;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerFactory::CXnNewstickerFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerFactory::CXnNewstickerFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerFactory::~CXnNewstickerFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnNewstickerFactory::~CXnNewstickerFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNewstickerFactory::ConstructL()
-    {
-    }
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY(AI3_UID_RENDERING_PLUGIN_NEWSTICKERFACTORY_IMPLEMENTATION,
-	        CXnNewstickerFactory::NewL) 
-#else
-    {{AI3_UID_RENDERING_PLUGIN_NEWSTICKERFACTORY_IMPLEMENTATION}, CXnNewstickerFactory::NewL}
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-    return ImplementationTable;
-    }
-
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Building information file
-*
-*/
-
-
-PRJ_PLATFORMS
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-xnnppluginfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/group/xnnppluginfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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:  Mmp-file for XnNPPluginFactory
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3nppluginfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_NPPLUGINFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xnnppluginfactory.cpp
-SOURCE          xnnpplugin.cpp
-SOURCE          xnnppluginadapter.cpp
-SOURCE          xnnpplugincontroladapter.cpp
-SOURCE          xnnppluginhandler.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY	        euser.lib
-LIBRARY         ecom.lib
-LIBRARY         cone.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib
-
-LIBRARY         xn3resource.lib
-
-LIBRARY	        xn3layoutengine.lib
-LIBRARY	        xn3utils.lib
-LIBRARY         xn3domdocument.lib
-
-START RESOURCE  xn3nppluginfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3nppluginfactory.rsc
-#endif
-END
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnpplugin.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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:  Wrapper class for Netscape Plugin API.
-*
-*/
-
-
-
-#ifndef _XNNPPLUGIN_H
-#define _XNNPPLUGIN_H
-
-//  INCLUDES
-#include "xncomponent.h"
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnnppluginfactory
-* 
-*  Wrapper class for Netscape Plugin API.
-*
-*  @lib xn3nppluginfactory.lib
-*  @since Series 60 3.1
-*/
-class CXnNPPlugin : public CXnComponent
-   {
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CXnNPPlugin* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CXnNPPlugin();
-
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CXnNPPlugin();
-    
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:
-   };
-
-#endif    // _XNNPPLUGIN_H
-
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnppluginadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +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:  Wrapper class for Netscape plugin implementation.
-*
-*/
-
-
-
-#ifndef _XNNPPLUGINADAPTER_H
-#define _XNNPPLUGINADAPTER_H
-
-//  INCLUDES
-#include "xncontroladapter.h"
-#include "xnnpplugincontroladapter.h"
-#include <npupp.h>
-
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-class CXnNPPluginHandler;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnnppluginfactory
-* 
-*  Wrapper class for Netscape plugin implementation.
-*
-*  @lib xn3nppluginfactory.lib
-*  @since Series 60 3.1
-*/
-class CXnNPPluginAdapter : public CXnControlAdapter
-   {
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        * @param aParent Parent of the adapter.
-        * @param aNode Corresponding DOM-node
-        */
-        static CXnNPPluginAdapter* NewL( CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CXnNPPluginAdapter();
-
-    public: // Functions from base classes
-
-        /**
-        * From CCoeControl Responds to changes to the size and position
-        * of the contents of this control.
-        * @since Series 60 3.1
-        * @return void
-        */
-        void SizeChanged();
-        
-        /**
-        * Enter power save mode. This is done when application goes to background or lights go off. 
-        * Derived classes should override this function and stop animations, timers etc. when the function is called.
-        */ 
-        void DoEnterPowerSaveModeL(TModeEvent aEvent);
-
-	   	/**
-        * Exit power save mode. This is done when application comes to foreground or lights go on. 
-        * Derived classes should override this function and restart animations, timers etc. when the function is called.
-        */ 
-        void DoExitPowerSaveModeL(TModeEvent aEvent);
-        
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CXnNPPluginAdapter();
- 
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-    
-        TInt ConstructPluginL( CXnControlAdapter* aParent );
-    
-    private: // Data
-        //Node interface, not owned
-        CXnNodePluginIf*            iNode;
-        //File server handle, owned
-        RFs                         iFs;
-        //CFileman instance, owned
-        CFileMan*                   iFileman;
-        //Stores the content file name, owned
-        HBufC*                      iContentFile;
-        //Pointer to plugin controller, owned
-        CXnNPPluginControlAdapter*   iPluginController;
-        //Pointer to plugin handler, owned
-        CXnNPPluginHandler*			iPluginHandler;
-        //Pointer to NPP instance, owned
-        NPP                         iInstance;
-        //Pointer to NPN functions, owned
-        NPPluginFuncs*              iPluginFuncs;
-   };
-
-#endif      // _XNNPPLUGINADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnpplugincontroladapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +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:  The plugin can use this interface to communicate with the browser.
-*
-*/
-
-
-
-#ifndef CPLUGINCONTROLADAPTER_H
-#define CPLUGINCONTROLADAPTER_H
-
-//  INCLUDES
-#include <pluginadapterinterface.h>
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnnppluginfactory
-* 
-*  The plugin can use this interface to communicate with the browser.
-*
-*  @lib xn3nppluginfactory.lib
-*  @since Series 60 3.1
-*/
-/* Note that inheritance order must be MPluginAdapter, CBase don't change it */
-class CXnNPPluginControlAdapter : public MPluginAdapter, public CBase
-    {        
-    public: // Functions from base classes
-
-        /**
-        * Gets the pointer to the minor version number of the plugin.
-        * @since Series 60 3.1
-        * @return 1.
-        */
-        TUint16 GetVersion() { return 1; };
-
-        /**
-        * Called when the plug-in has completed its creation.
-        * This function is called from the constructL function of the plug-in.
-        * @since Series 60 3.1
-        * @param aPluginControl A pointer to the plug-in control window
-        * @return None
-        */
-        void PluginConstructedL( CCoeControl* aPluginControl );
-
-        /**
-        * Called after the plug-in has been deleted.
-        * This function is called from the destructor of the plug-in.
-        * @since Series 60 3.1
-        * @return None
-        */
-        void PluginFinishedL();
-
-#ifndef __SERIES60_30__
-
-        /**
-        * Called by the plug-in to open a URL in the parent frame.
-        * This function is not implemented in Series 60.
-        * @since Series 60 3.1
-        * @param aUrl Name of the URL to open
-        * @return None
-        */
-        inline void OpenUrlL( const TDesC& /*aUrl*/ ) {};
-
-        /**
-        * Called by the plug-in to open a URL in a named window or frame.
-        * This function is not implemented in Series 60.
-        * @since Series 60 3.1
-        * @param aUrl Name of the URL to open
-        * @param aNewTargetWindowName The name of the target window or frame
-        * @return None
-        */
-        inline void OpenUrlInTargetWindowL( const TDesC& /*aUrl*/,
-                                     const TDesC& /*aNewTargetWindowName*/ ) {};
-
-        /**
-        * Specifies whether or not the frame has a previous navigation history item.
-        * This function is not implemented in Series 60.
-        * @since Series 60 3.1
-        * @return true if the frame has a previous navigation history item false otherwise
-        */
-        inline TBool HasNavigationHistoryPrevious() const { return EFalse; };
-
-        /**
-        * Informs the browser to load the next navigation history URL in its parent frame.
-        * This function is not implemented in Series 60.
-        * @since Series 60 3.1
-        * @return None
-        */
-        inline void LoadNavigationHistoryPreviousL() {};
-
-        /**
-        * Returns whether the frame has a next navigation history item. 
-        * This function is not implemented in Series 60.
-        * @since Series 60 3.1
-        * @return Returns whether the frame has a next navigation history item. 
-        */
-        inline TBool HasNavigationHistoryNext() const { return EFalse; };
-
-        /**
-        * Informs the browser to load the next navigation history URL in its parent frame.
-        * This function is not implemented in Series 60.
-        * @since Series 60 3.1
-        * @return None
-        */
-        inline void LoadNavigationHistoryNextL() {};
-
-#endif // __SERIES60_30__
-        /**
-        * Returns the window system level control object for the plug-in.
-        * @since Series 60 3.1
-        * @return A pointer to the parent control window.
-        */
-        CCoeControl* GetParentControl();
-
-        /**
-        * Returns the observer for the plug-in control.
-        * @since Series 60 3.1
-        * @return Observer that the plug-in can use to send events to the browser.
-        */
-        MCoeControlObserver* GetParentControlObserver();
-
-        /**
-        * Sets the plug-in notifier allowing the plug-in to control portions of the browser.
-        * @since Series 60 3.1
-        * @param aNotifier Pointer to an interface that the browser can use to send 
-        *                  events to the plug-in.
-        * @return None
-        */
-        void SetPluginNotifier( MPluginNotifier *aNotifier );
-        /**
-        * Tells the plugin adapter if plugin content can accept user interaction.  This function
-        * is called from the plugin.
-        * @since Series 60 3nd Edition
-        * @param None
-        * @return None
-        */
-        void SetContentInteractive(TBool /*aInteractive*/ );
-        
-    
-    public:	// Data
-        // Pointer to Browser Plugins control adapter, not owned
-        CCoeControl* iNPPControlAdapter;
-        // Pointer to parent control adapter, not owned
-        CCoeControl* iParentControlAdapter;
-        // Set by plugin. Notifies plugin through MPluginNotifier functions
-        MPluginNotifier* iPluginNotifier;
-};
-
-#endif      // CPLUGINCONTROLADAPTER_H
-
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnppluginfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +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:  Factory for creating CXnNPPlugin -component
-*
-*/
-
-
-#ifndef _XNNPPLUGINFACTORY_H
-#define _XNNPPLUGINFACTORY_H
-
-//  INCLUDES
-#include <ecom/implementationproxy.h>
-#include "xncomponentfactory.h"
-
-// FORWARD DECLARATIONS
-class CXnComponent;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnnppluginfactory
-* 
-*  Layout Area UI factory interface for creating UI representations of the layout areas.
-*  This class is wrapper for containing CBitmap
-*
-*  @lib xn3nppluginfactory.lib
-*  @since Series 60 3.1
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnNPPluginFactory : public MXnComponentFactory, public CBase
-    {
-    public: // Data types
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnNPPluginFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnNPPluginFactory();
-
-    public: // Functions from base classes
-        /**
-        * Creates the Xuikon component for text component.
-        * @param aNode Corresponding DOM-node
-        * @param aTargetComponent Pointer reference to the component to be created.
-        */
-        virtual TXnComponentFactoryResponse MakeXnComponentL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnComponent*& aTargetComponent );
-        /**
-        * Creates the control adapter for text component.
-        * @param aNode Corresponding DOM-node
-        * @param aParent Parent of the adapter, which is created here.
-        * @return Created control adapter.
-        */
-        virtual CXnControlAdapter* MakeXnControlAdapterL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnControlAdapter* aParent = NULL );
-    private:
-        /**
-        * C++ default constructor. 
-        */
-        CXnNPPluginFactory();
-        
-         /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount );
-
-#endif      // _XNNPPLUGINFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/inc/xnnppluginhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +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:  Loads the browser plugin via ECOM.
-*
-*/
-
-
-
-#ifndef XNNPPLUGINHANDLER_H
-#define XNNPPLUGINHANDLER_H
-
-//  INCLUDES
-#include    <e32base.h>
-#include    <npupp.h>
-
-// FORWARD DECLARATIONS
-class CEcomBrowserPluginInterface;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnnppluginfactory
-* 
-*  Loads the browser plugin via ECOM.
-*
-*  @lib xn3nppluginfactory.lib
-*  @since Series 60 3.1
-*/
-class CXnNPPluginHandler : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnNPPluginHandler* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnNPPluginHandler();
-
-
-    public: // New functions
-        /**
-        * Loads the plugin using ECOM interface. The mime type of the
-        * plugin is passed to the function.
-        * @since Series 60 3.1
-        * @param aResolveparam The mime type of the plugin to be loaded.
-        * @param aPluginFuncs Netscape plugin functions
-        * @return KErrNotFound if the mime type is not found.
-        */
-        TInt LoadSpecificPluginL( const TDesC8& aResolveparam,  NPPluginFuncs** aPluginFuncs );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnNPPluginHandler();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-        //Plugin interface, owned
-        CEcomBrowserPluginInterface* iPluginInterface;
-    };
-
-#endif      // XNNPPLUGINHANDLER_H   
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xn3nppluginfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 1020745A.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_NPPLUGINFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_NPPLUGINFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "Xnnppluginfactory";
-                default_data = "object";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnpplugin.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  Implementation for wrapper for Netscape Plugin API.
-*
-*/
-
-
-// INCLUDE FILES
-#include "xnnpplugin.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNPPlugin::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnNPPlugin* CXnNPPlugin::NewL()
-    {
-    CXnNPPlugin* self = new( ELeave ) CXnNPPlugin;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPlugin::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNPPlugin::ConstructL()
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnNPPlugin::CXnNPPlugin
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnNPPlugin::CXnNPPlugin()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPlugin::~CXnNPPlugin
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnNPPlugin::~CXnNPPlugin()
-    {
-    }
-    
-// End of file
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnppluginadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +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:  Implementation for wrapper for a Netscape Plugin API.
-*
-*/
-
-
-// INCLUDE FILES
-#include "xnnppluginadapter.h"
-#include "xnnpplugincontroladapter.h"
-#include "xnnppluginhandler.h"
-#include "xnproperty.h"
-#include "xndomproperty.h"
-#include "xndompropertyvalue.h"
-#include "xndomlist.h"
-#include "xnnodepluginif.h"
-#include "xnuienginepluginif.h"
-#include "xnresource.h"
-#include "c_xnutils.h"
-
-// MACROS
-_LIT8( KContentFile, "contentfile" );
-_LIT8( KMediaType, "mediatype" );
-
-// LOCAL FUNCTION PROTOTYPES
-const TDesC8& GetStringPropertyL( CXnNodePluginIf& aNode, const TDesC8& aProperty );
-CXnResource* FindResource(TXnUiEnginePluginIf& aEngine, const TDesC& aResourceFileName );
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// GetStringProperty Retrieves the string property for the node.
-// Returns: CXnNodePluginIf& aNode A node.
-//          TDesC8& aProperty A name of the property.
-//          const TDesC8 The value of property.
-// -----------------------------------------------------------------------------
-// 
-const TDesC8& GetStringPropertyL(
-    CXnNodePluginIf& aNode,
-    const TDesC8& aProperty )
-    {
-    CXnProperty* prop = aNode.GetPropertyL( aProperty );
-    if( prop )
-        {
-        CXnDomPropertyValue* value = 
-        static_cast<CXnDomPropertyValue*>(prop->Property()->PropertyValueList().Item(0));
-        if( CXnDomPropertyValue::EIdent == value->PrimitiveValueType() ||
-            CXnDomPropertyValue::EString == value->PrimitiveValueType() )
-            {
-            return prop->StringValue();
-            }
-        }
-    return KNullDesC8;
-    }
-
-// -----------------------------------------------------------------------------
-// FindResource Locates a resource from the resource list.
-// Returns: TXnUiEnginePluginIf& Pointer to UIEngine.
-//          const TDesC& The name of the resource file.
-//          CCnResource The actual resource.
-// -----------------------------------------------------------------------------
-//
-CXnResource* FindResource(
-    TXnUiEnginePluginIf& aEngine,
-    const TDesC& aResourceFileName )    
-    {
-    if (aResourceFileName == KNullDesC)
-        {
-        return NULL;
-        }
-    CArrayPtrSeg<CXnResource>& resources = aEngine.Resources();
-    for (TInt i = resources.Count() - 1; i >= 0; --i)
-        {
-        CXnResource* res = resources.At(i);
-        if (res->ResourceId().Compare(aResourceFileName) == 0 )
-            {
-            return res;
-            }
-        }
-    return NULL;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnNPPluginAdapter* CXnNPPluginAdapter::NewL(
-    CXnControlAdapter* aParent,
-    CXnNodePluginIf& aNode )
-    {
-    CXnNPPluginAdapter* self = new( ELeave ) CXnNPPluginAdapter;
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aParent, aNode );
-    CleanupStack::Pop();
-
-    return self;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginAdapter::CXnNPPluginAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnNPPluginAdapter::CXnNPPluginAdapter()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginAdapter::~CXnNPPluginAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnNPPluginAdapter::~CXnNPPluginAdapter()
-    {
-    //Clean up the content file from private folder.
-    iFs.Close(); 
-    delete iContentFile;    
-    
-    if( iPluginFuncs )
-        {        
-        iPluginFuncs->destroy(iInstance,NULL);
-        }
-    delete iPluginFuncs;
-    delete iPluginController;
-    delete iPluginHandler;
-    delete iInstance;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnNPPluginAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNPPluginAdapter::ConstructL( 
-    CXnControlAdapter* aParent,
-    CXnNodePluginIf& aNode )
-    {    
-    iNode = &aNode;
-    
-    CXnControlAdapter::ConstructL( aNode );
-    
-    iPluginHandler = CXnNPPluginHandler::NewL();
-
-    iPluginController = new (ELeave)CXnNPPluginControlAdapter;
-    ConstructPluginL( aParent );   
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginAdapter::ConstructPluginL
-// Function returns if something goes wrong in plugin loading.
-// -----------------------------------------------------------------------------
-//    
-TInt CXnNPPluginAdapter::ConstructPluginL( CXnControlAdapter* aParent )
-    {
-    const TDesC8& mimeType = GetStringPropertyL( *iNode, KMediaType );
-    const TDesC8& contentFile = GetStringPropertyL( *iNode, KContentFile );
-    
-    iContentFile = HBufC::NewL( contentFile.Length() );
-    TPtr cFilePtr = iContentFile->Des();
-    cFilePtr.Copy( contentFile );
-    
-    //Connect to file server
-    User::LeaveIfError( iFs.Connect() );
-    iFs.CreatePrivatePath( EDriveC );    
-    
-    // Return if plugin could not be loaded.
-    if( KErrNone != iPluginHandler->LoadSpecificPluginL( mimeType, &iPluginFuncs ))
-        {
-        return KErrGeneral;
-        }    
-
-    // Call parent
-    iPluginController->iParentControlAdapter = aParent;
-    
-    iInstance = ( NPP ) User::AllocL( sizeof( NPP_t ));
-    iInstance->ndata = ( void* ) iPluginController;
-    iInstance->pdata = NULL;
-    
-    CDesCArray* argn = new( ELeave ) CDesCArrayFlat(1);
-    CDesCArray* argv = new( ELeave ) CDesCArrayFlat(1);
-
-    argn->AppendL( KNullDesC );
-    argv->AppendL( KNullDesC );
-
-    if (( iPluginFuncs ) && ( iPluginFuncs->newp ))
-        {
-        TDesC8* string( NULL );
-        iPluginFuncs->newp(*string, iInstance, NP_EMBED, CONST_CAST( CDesCArray*, argn ),
-                           CONST_CAST( CDesCArray*, argv ), NULL);
-        }
-    else
-        {
-        delete argn;
-        delete argv;
-        return KErrGeneral;
-        }
-    
-    TRect rect = iNode->Rect();
-    // Coordinates for the plugin always start from (0,0) and are relative 
-    // to the parent CCoeControl
-    NPWindow window;
-    window.x = 0;
-    window.y = 0;
-    window.width = rect.Width();
-    window.height = rect.Height();
-    window.type = NPWindowTypeDrawable;
-    window.window = ( void* ) iPluginController;
-    window.clipRect.top = window.x;
-    window.clipRect.bottom = window.x + window.height;
-    window.clipRect.left = window.y;
-    window.clipRect.right = window.y + window.width;
-    // Finally set the window.       
-    iPluginFuncs->setwindow(iInstance,&window);
-    
-    NPStream* npstream = ( NPStream* )User::AllocL( sizeof( NPStream ));
-    npstream->url = NULL;
-    npstream->notifyData = NULL;
-    
-    TPtr resFileName = iContentFile->Des();
-    /*TInt bitmapIndex;
-    CXnResource* resource = CXnUtils::FindResource( iNode->UiEngineL()->Resources(),
-                                                   resFileName, bitmapIndex );
-    if( !resource )
-        {
-        User::Leave( KErrNotFound );
-        }
-    TParsePtrC pathParser( resource->FileName() );
-    TPtrC driveAndPath = pathParser.DriveAndPath();*/
-    
-    npstream->url = resFileName.AllocL();
-    
-    iPluginFuncs->asfile( iInstance, npstream, resFileName );
-    
-    // Tell the plugin to destroy its stream
-    iPluginFuncs->destroystream( iInstance, npstream, 0 );
-    // Delete the NPStream object    
-    delete npstream->url;
-    delete npstream;
-    delete argn;
-    delete argv;
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginAdapter::SizeChanged
-// (Other items were commented in header.)
-// -----------------------------------------------------------------------------
-//      
-void CXnNPPluginAdapter::SizeChanged()
-    {
-    if( iPluginFuncs )
-        {        
-        TRect rect = iNode->Rect();
-        // Coordinates for the plugin always start from (0,0) and are relative 
-        // to the parent CCoeControl
-        NPWindow window;
-        window.x = 0;
-        window.y = 0;
-        window.width = rect.Width();
-        window.height = rect.Height();
-        window.type = NPWindowTypeDrawable;
-        window.window = ( void* ) iPluginController;
-        window.clipRect.top = window.x;
-        window.clipRect.bottom = window.x + window.height;
-        window.clipRect.left = window.y;
-        window.clipRect.right = window.y + window.width;
-        // Finally set the window.
-        iPluginFuncs->setwindow(iInstance,&window);
-        // Set the correct position to the parent CCoeControl.
-        iPluginController->iNPPControlAdapter->SetPosition( TPoint( rect.iTl.iX, rect.iTl.iY ));
-        }
-    }
-// -----------------------------------------------------------------------------
-// CXnNPPluginAdapter::DoEnterPowerSaveModeL
-// Enter power save mode
-// -----------------------------------------------------------------------------
-void CXnNPPluginAdapter::DoEnterPowerSaveModeL(TModeEvent /*aEvent*/)
-    {
-    if ( iPluginController->iPluginNotifier )
-        {
-         iPluginController->iPluginNotifier->NotifyL
-        (MPluginNotifier::EApplicationFocusChanged, NULL);      
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginAdapter::DoExitPowerSaveModeL
-// Exit power save mode
-// -----------------------------------------------------------------------------
-void CXnNPPluginAdapter::DoExitPowerSaveModeL(TModeEvent /*aEvent*/)
-    {
-    if ( iPluginController->iPluginNotifier )
-        {
-        TBool param(ETrue);
-        iPluginController->iPluginNotifier->NotifyL 
-            (MPluginNotifier::EApplicationFocusChanged, &param );  
-       
-        }
-    }   
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnpplugincontroladapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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:  The plugin can use this interface to communicate with the browser.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xnnpplugincontroladapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginControlAdapter::PluginConstructedL
-// Other items were commented in header.
-// -----------------------------------------------------------------------------
-//
-void CXnNPPluginControlAdapter::PluginConstructedL( CCoeControl* aControl )
-    {
-    iNPPControlAdapter = aControl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginControlAdapter::PluginFinishedL
-// Other items were commented in header.
-// -----------------------------------------------------------------------------
-//
-void CXnNPPluginControlAdapter::PluginFinishedL()
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnNPPluginControlAdapter::GetParentControl
-// Other items were commented in header.
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CXnNPPluginControlAdapter::GetParentControl()
-    {
-    return iParentControlAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginControlAdapter::GetParentControlObserver
-// Other items were commented in header.
-// -----------------------------------------------------------------------------
-//      
-MCoeControlObserver* CXnNPPluginControlAdapter::GetParentControlObserver()
-    {
-    return iParentControlAdapter->Observer();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginControlAdapter::SetPluginNotifier
-// Other items were commented in header.
-// -----------------------------------------------------------------------------
-//
-void CXnNPPluginControlAdapter::SetPluginNotifier( MPluginNotifier* aNotifier )
-    {
-    iPluginNotifier = aNotifier;    
-    }
-// -----------------------------------------------------------------------------
-// CXnNPPluginControlAdapter::SetContentInteractive
-// Other items were commented in header.
-// -----------------------------------------------------------------------------
-//
-void CXnNPPluginControlAdapter::SetContentInteractive(TBool /*aInteractive*/ )
-    {
-    }
-
-    
-//  End of File  
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnppluginfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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:  Factory class for XnNPPlugin, which wraps the Netscape Plugin API.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "xnnppluginfactory.h"
-#include "xnnppluginadapter.h"
-#include "xnnpplugin.h"
-#include "xntype.h"
-#include "xnnodepluginif.h"
-#include <aisystemuids.hrh>
-
-// MACROS
-_LIT8( KXnObject, "object" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CXnEikLabelFactory::MakeXnComponentL
-// Creates the Xuikon component for label control
-// -----------------------------------------------------------------------------
-//
-MXnComponentFactory::TXnComponentFactoryResponse CXnNPPluginFactory::MakeXnComponentL( 
-    CXnNodePluginIf& aNode,
-    CXnComponent*& aTargetComponent )
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = 
-    MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if ( aNode.Type()->Type() == KXnObject )
-        {
-        aTargetComponent = CXnNPPlugin::NewL();
-        retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;
-        }
-    
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextFactory::MakeXnControlAdapterL
-// Creates the control adapter for label control
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnNPPluginFactory::MakeXnControlAdapterL( 
-    CXnNodePluginIf& aNode,
-    CXnControlAdapter* aParent )
-    {
-    return CXnNPPluginAdapter::NewL( aParent, aNode );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnNPPluginFactory* CXnNPPluginFactory::NewL()
-    {
-    CXnNPPluginFactory* self = new( ELeave ) CXnNPPluginFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginFactory::CXnNPPluginFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnNPPluginFactory::CXnNPPluginFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginFactory::~CXnNPPluginFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnNPPluginFactory::~CXnNPPluginFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNPPluginFactory::ConstructL()
-    {
-    }
- 
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-    #ifdef __EABI__ 
-        IMPLEMENTATION_PROXY_ENTRY( AI3_UID_RENDERING_PLUGIN_NPPLUGINFACTORY_IMPLEMENTATION, CXnNPPluginFactory::NewL )
-    #else
-        {{AI3_UID_RENDERING_PLUGIN_NPPLUGINFACTORY_IMPLEMENTATION}, CXnNPPluginFactory::NewL}
-    #endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-    
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnppluginfactory/src/xnnppluginhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Loads the browser plugin via ECOM.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xnnppluginhandler.h"
-#include    <ecom/implementationinformation.h>
-#include    <cecombrowserplugininterface.h>
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ParseAndMatchMimeTypeL Parses the matching mime types from the.given string.
-// Returns: TDesC8&: String that holds the mime types.
-//          TDesC8&: Mime type to match with.
-// -----------------------------------------------------------------------------
-//
-TBool ParseAndMatchMimeTypeL(
-    const TDesC8& aMIMEDescription,
-    const TDesC8& aMatch )
-    {
-    _LIT(KPatternPtr, ";|");
-
-    TUint    end = aMIMEDescription.Length();
-    TUint    i = 0;
-    TUint    marker = 0;
-    TUint    mimeSeparator = '|';
-
-    // Parse the aMIMEDescription string.
-    for (; i < end;)
-        {
-        // Search until end of buffer or match one of the delimiters ';' or '|'.
-        // We are looking for the mimeType, ie "text/html", "application/pdf", etc.
-        for (; (i < end) && (KPatternPtr().Locate((aMIMEDescription)[i]) == 
-                             KErrNotFound); i++)
-            {
-            // Walking the aMIMEDescription string
-            }
-
-        if (i > marker)
-            {
-            // Try matching the found mime type with the given type.
-            TPtrC8 newString( aMIMEDescription.Mid(marker, i - marker ).Ptr(), i - marker );
-            if( newString == aMatch )
-                {
-                return ETrue;
-                }
-            }
-
-        // Are we at the end of the supported mime string
-        if (i == end)
-            {
-            // This break with i=end means we leave outer for loop
-            break;
-            }
-
-        marker = ++i;
-        if ((aMIMEDescription)[i - 1] == mimeSeparator)
-            {
-            // Found a mime separator '|', get next supported mime
-            continue;
-            }        
-        }   // end of for
-        return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperGetUrl
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperGetUrl(NPP /*aInstance*/, const TDesC& /*aUrl*/, 
-        const TDesC* /*aWindowType*/ )
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperPostUrl
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperPostUrl(NPP /*aInstance*/, const TDesC& /*aUrl*/, 
-        const TDesC* /*aWindowType*/, const TDesC& /*aBuf*/, NPBool /*aFile*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperRequestRead
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperRequestRead(NPStream* /*aStream*/, 
-        NPByteRange* /*aRangeList*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperNewStream
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperNewStream(NPP /*aInstance*/, NPMIMEType /*aType*/, 
-        const TDesC* /*aWindowType*/, NPStream** /*aStream*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperWrite
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static TInt32 PluginWrapperWrite(NPP /*aInstance*/, NPStream* /*aStream*/, 
-        TInt32 /*aLen*/, void* /*aBuffer*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperDestroyStream
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperDestroyStream(NPP /*aInstance*/, 
-        NPStream* /*aStream*/, NPReason /*aReason*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperStatus
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static void PluginWrapperStatus(NPP /*aInstance*/, const TDesC& /*aMessage*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperUAgent
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static const TDesC* PluginWrapperUAgent(NPP /*aInstance*/)
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperMemAlloc
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static void* PluginWrapperMemAlloc( uint32 /*aSize*/ )
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperMemFree
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static void PluginWrapperMemFree( void* aPtr )
-    {
-    delete aPtr;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperMemFlush
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static uint32 PluginWrapperMemFlush(uint32 /*aSize*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperReloadPlugins
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static void PluginWrapperReloadPlugins(NPBool /*aReloadPages*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperGetJavaEnv
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static JRIEnv* PluginWrapperGetJavaEnv()
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperGetJavaPeer
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static jref PluginWrapperGetJavaPeer(NPP /*aInstance*/)
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperGetUrlNotify
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperGetUrlNotify(NPP /*aInstance*/, const TDesC& /*aUrl*/, 
-        const TDesC* /*aWindowType*/, void* /*aNotifyData*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperPostUrlNotify
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperPostUrlNotify(NPP /*aInstance*/, const TDesC& /*aUr*l*/, 
-        const TDesC* /*aWindowType*/, const TDesC& /*aBuf*/, NPBool /*aFile*/, void* /*aNotifyData*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperGetValue
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperGetValue(NPP /*aInstance*/, NPNVariable /*aVariable*/, 
-        void* /*aRetValue*/)
-    {
-    return NPERR_NO_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperSetValue
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static NPError PluginWrapperSetValue(NPP /*aInstance*/, NPPVariable /*aVariable*/, 
-        void * /*aRetValue*/)
-    {
-    return NPERR_GENERIC_ERROR;
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperInvalidateRect
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static void PluginWrapperInvalidateRect(NPP /*aInstance*/, NPRect * /*aRect*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperInvalidateRegion
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static void PluginWrapperInvalidateRegion(NPP /*aInstance*/, NPRegion /*aRegion*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// PluginWrapperForceRedraw
-// Unsupported.
-// -----------------------------------------------------------------------------
-//
-static void PluginWrapperForceRedraw(NPP /*aInstance*/)
-    {
-    }
-    
-const NPNetscapeFuncs PluginWrapperFuncs =
-    {
-    sizeof(NPNetscapeFuncs),
-    1,
-    PluginWrapperGetUrl,
-    PluginWrapperPostUrl,
-    PluginWrapperRequestRead,
-    PluginWrapperNewStream,
-    PluginWrapperWrite,
-    PluginWrapperDestroyStream,
-    PluginWrapperStatus,
-    PluginWrapperUAgent,
-    PluginWrapperMemAlloc,
-    PluginWrapperMemFree,
-    PluginWrapperMemFlush,
-    PluginWrapperReloadPlugins,
-    PluginWrapperGetJavaEnv,
-    PluginWrapperGetJavaPeer,
-    PluginWrapperGetUrlNotify,
-    PluginWrapperPostUrlNotify,
-    PluginWrapperGetValue,
-    PluginWrapperSetValue,
-    PluginWrapperInvalidateRect,
-    PluginWrapperInvalidateRegion,
-    PluginWrapperForceRedraw
-    };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginHandler::CXnNPPluginHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnNPPluginHandler::CXnNPPluginHandler()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNPPluginHandler::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnNPPluginHandler* CXnNPPluginHandler::NewL()
-    {
-    CXnNPPluginHandler* self = new( ELeave ) CXnNPPluginHandler;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-CXnNPPluginHandler::~CXnNPPluginHandler()
-    {
-    delete iPluginInterface;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNPPluginHandler::LoadSpecificPluginL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-TInt CXnNPPluginHandler::LoadSpecificPluginL(
-    const TDesC8& aResolveparam,
-    NPPluginFuncs** aPluginFuncs )
-    {
-    RImplInfoPtrArray implInfoArray;
-    CImplementationInformation* impl = NULL;
-    REComSession::ListImplementationsL( KBrowserPluginInterfaceUid, implInfoArray );     
-    TBool implFound( EFalse );
-    TInt count = implInfoArray.Count();
-    for(TInt index = 0; index < count; ++index )
-        {
-        impl = implInfoArray[index];
-        if( ParseAndMatchMimeTypeL( impl->DataType(), aResolveparam ) )
-            {
-            implFound = ETrue;
-            break;
-            }
-        }
-
-    if( !implFound )
-        {
-        implInfoArray.ResetAndDestroy();
-        implInfoArray.Close();
-        return KErrNotFound;
-        }
-        
-    NPPluginFuncs* pluginFuncs = (NPPluginFuncs*) User::AllocLC(sizeof (NPPluginFuncs));
-    Mem::FillZ((void*) pluginFuncs, sizeof (NPPluginFuncs));
-
-    iPluginInterface = CEcomBrowserPluginInterface::CreatePluginL( 
-         impl->ImplementationUid(),(NPNetscapeFuncs *) (&PluginWrapperFuncs), pluginFuncs );
-
-    CleanupStack::Pop(pluginFuncs);
-
-    *aPluginFuncs = pluginFuncs;
-    pluginFuncs = NULL;
-    
-    implInfoArray.ResetAndDestroy();
-    implInfoArray.Close();
-    return KErrNone;
-    }
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Building information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xnpopupfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/group/xnpopupfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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:  ECOM-plugin for popup-component
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3popupfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_POPUPFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xnpopupfactory.cpp
-SOURCE          xnpopup.cpp
-SOURCE          xnpopupadapter.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib  
-LIBRARY         eikcore.lib
-LIBRARY         cone.lib
-LIBRARY         xn3layoutengine.lib
-LIBRARY         xn3utils.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY	        avkon.lib
-LIBRARY         ws32.lib
-
-START RESOURCE  xn3popupfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3popupfactory.rsc
-#endif
-END
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/inc/xnpopupadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Control adapter class for tooltips and other popups
-*
-*/
-
-
-
-#ifndef _XNPOPUPADAPTER_H
-#define _XNPOPUPADAPTER_H
-
-//  INCLUDES
-#include "xncontroladapter.h"
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-
-// CLASS DECLARATION
-/**
-*  @ingroup group_xnpopupfactory
-*  @lib NONE
-*  @since Series 60 3.1
-*/
-class CXnPopupAdapter : public CXnControlAdapter
-    {
-public:
-    enum TPositionHint
-        {
-        ENone,
-        EAboveLeft,
-        EAboveRight,
-        EBelowLeft,
-        EBelowRight,
-        ELeft,
-        ERight
-        };
-        
-public:
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnPopupAdapter* NewL(CXnNodePluginIf& aNode, CXnControlAdapter* aParent);
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnPopupAdapter();
-
-public: // New functions
-  /**
-   *  Shows the popup
-   * @param aContainerRect Rectangle containing the control that has a popup. 
-   * The popup will not overlap with this rect.
-   */
-	void ShowPopupL(const TRect& aContainerRect);
-    void ShowPopupL(const TRect& aContainerRect, 
-    				TTimeIntervalMicroSeconds32 aShowDelay, 
-    				TTimeIntervalMicroSeconds32 aDisplayTime);
-	/**
-	 * Hides the popup
-	 */
-	void HidePopupL();
-	
-	/**
-	* @see CXnControlAdapter
-	*/
-	void DoEnterPowerSaveModeL( TModeEvent aEvent );
-	
-	/**
-	* @see CXnControlAdapter
-	*/
-    void HandleScreenDeviceChangedL();	
-
-	/**
-	* @see CXnControlAdapter
-	*/
-    void DoHandlePropertyChangeL(CXnProperty* aProperty = NULL); 
-   
-private:
-    void Draw(const TRect& aRect) const;
-
-	CXnPopupAdapter();
-	void ConstructL(CXnNodePluginIf& aNode, CXnControlAdapter* aParent);
-	
-    void CalculatePosition( TRect aPopupRect );
-
-private:
-	mutable CXnNodePluginIf* iNode;
-	CActive* iActiveObject;
-	CCoeAppUi* iAppUi;
-	TRect iContainerRect;
-	TRect iPopupRect;
-    TPositionHint iPositionHint;
-    };
-#endif      // _XNPOPUPADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/inc/xnpopupfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Factory class for creating tooltips and other popups
-*
-*/
-
-
-
-#ifndef _XNPOPUPFACTORY_H
-#define _XNPOPUPFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnpopupfactory
-*  
-*  Layout Area UI factory interface for creating UI representations of the layout areas.
-*  This class is wrapper for containing a popup
-*
-*  @lib NONE
-*  @since Series 60 3.1
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnPopupFactory : public MXnComponentFactory, public CBase
-    {
-    public: // Data types
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnPopupFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnPopupFactory();
-
-    public: // Functions from base classes
-
-
-        /**
-        * From MXnComponentFactory Interface for creating Ui control component.
-        * @since Series 60 3.1
-        * @param aNode Component's node.
-        * @param aTargetComponent Created component is set here.
-        * @return EXnFactoryResponseComponentConstructed if component created.
-        */
-        TXnComponentFactoryResponse MakeXnComponentL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnComponent*& aTargetComponent
-        										);
-        
-        /**
-        * From MXnComponentFactory Interface for creating Ui control adapter.
-        * @since Series 60 3.1
-        * @param aNode Component's node.
-        * @param aParent Parent of the adapter, which is created here.
-        * @return Created control adapter.
-        */        
-        CXnControlAdapter* MakeXnControlAdapterL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnControlAdapter* aParent
-        										);
-
-    private:
-
-        /**
-        * 2nd phase constructor. 
-        */
-        void ConstructL();
-
-        /**
-        * C++ default constructor. 
-        */
-        CXnPopupFactory();
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNEIKLABELFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xn3popupfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 1020747E.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_POPUPFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_POPUPFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnPopup";
-                default_data = "tooltip";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopup.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  Implementation for a popup 
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "xnpopup.h"
-#include "xnpopupadapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-
-
-// -----------------------------------------------------------------------------
-// CXnPopup::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnPopup* CXnPopup::NewL()
-    {
-	CXnPopup* self = new( ELeave ) CXnPopup;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopup::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnPopup::ConstructL()
-    {
-    CXnComponent::ConstructL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnPopup::ConstructL
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnPopup::CXnPopup()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopup::ConstructL
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnPopup::~CXnPopup()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnPopup::ShowPopup
-// Shows the popup
-// -----------------------------------------------------------------------------
-void CXnPopup::ShowPopupL(const TRect& aContainerRect)
-    {
-		static_cast<CXnPopupAdapter*>(ControlAdapter())->ShowPopupL(aContainerRect);    	
-    }
-void CXnPopup::ShowPopupL(const TRect& aContainerRect, TTimeIntervalMicroSeconds32 aShowDelay, TTimeIntervalMicroSeconds32 aDisplayTime)
-    {
-		static_cast<CXnPopupAdapter*>(ControlAdapter())->ShowPopupL(aContainerRect, aShowDelay, aDisplayTime);    	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopup::HidePopup
-// Hides the popup
-// -----------------------------------------------------------------------------
-void CXnPopup::HidePopupL()
-    {
-    static_cast<CXnPopupAdapter*>(ControlAdapter())->HidePopupL();    		
-    }
-// -----------------------------------------------------------------------------
-// CXnPopup::MakeInterfaceL
-// -----------------------------------------------------------------------------
-XnComponentInterface::MXnComponentInterface* CXnPopup::MakeInterfaceL(const TDesC8& aType)
-    {
-   if (aType != XnPopupInterface::KType)
-       {
-       return NULL;
-       }
-    XnPopupInterface::MXnPopupInterface* popup = static_cast<XnPopupInterface::MXnPopupInterface*>(this);
-    return popup;
-    }            
--- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopupadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,544 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for a popup
-*
-*/
-
-
-#include "xnpopupadapter.h"
-
-#include "xncomponentnodeimpl.h"
-#include "xnnodepluginif.h"
-#include "xnproperty.h"
-#include "xndompropertyvalue.h"
-#include "xndomlist.h"
-#include "xncomponent.h"
-
-#include <AknUtils.h>
-
-const TInt KStartDelay = 1000000;
-const TInt KDisplayTime = 0;
-
-// -----------------------------------------------------------------------------
-// Control
-// Gets a CXnControlAdapter from node
-// -----------------------------------------------------------------------------
-static CXnControlAdapter* Control( CXnNodePluginIf* aNode )
-    {      
-    if( aNode )
-        {
-    	CXnComponent* component( NULL );
-    			
-        if( aNode->ComponentNodeImpl() )
-            {
-            component = aNode->ComponentNodeImpl()->Component();
-            }
-                                    
-        if( component )
-            {
-            return component->ControlAdapter();               
-            }        
-        }
-        
-    return NULL;            
-    }
-
-// -----------------------------------------------------------------------------
-// IsNodeDisplayedL
-// 
-// -----------------------------------------------------------------------------
-static TBool IsNodeDisplayedL( CXnNodePluginIf* aNode )
-    {
-    CXnProperty* visibilityProp( aNode->VisibilityL() );    
-    
-    // Am I visible?
-    if( visibilityProp )
-        {
-        const TDesC8& visibility( visibilityProp->StringValue() );
-        
-        if( visibility != XnPropertyNames::style::common::visibility::KVisible )
-            {
-            return EFalse;
-            }
-        }                
-            
-    // Am I displayed?
-    CXnProperty* displayProp( aNode->DisplayL() );
-    
-    if( displayProp )
-        {
-        const TDesC8& display( displayProp->StringValue() );
-        
-        if( display != XnPropertyNames::style::common::display::KBlock )
-            {
-            return EFalse;
-            }                        
-        }
-    
-    return ETrue;
-    }
-    
-// -----------------------------------------------------------------------------
-// class CXnPopupController
-// 
-// -----------------------------------------------------------------------------
-class CXnPopupController : public CActive
-    {
-    public:
-        static CXnPopupController* NewL(CXnControlAdapter& aAdapter)
-            {
-            CXnPopupController* self = new (ELeave) CXnPopupController;
-            CleanupStack::PushL(self);
-            self->ConstructL(aAdapter);
-            CleanupStack::Pop(self);
-            return self;
-            }
-        ~CXnPopupController()
-            {
-            iDestroying = ETrue;
-            Cancel();
-            iTimer.Close();
-            }
-        void SetTimes(TTimeIntervalMicroSeconds32 aShowDelay, TTimeIntervalMicroSeconds32 aDisplayTime)
-            {
-            Cancel();
-            iShowDelay = aShowDelay;
-            iDisplayTime = aDisplayTime;
-            iShowing = ETrue;
-            iTimer.After(iStatus, aShowDelay);
-            SetActive();
-            }
-    private:
-        CXnPopupController() : CActive(0)
-            {
-            }
-        void ConstructL(CXnControlAdapter& aAdapter)
-            {
-            iAdapter = &aAdapter;
-            User::LeaveIfError(iTimer.CreateLocal());
-            CActiveScheduler::Add(this);
-            }
-        void RunL()
-            {
-            if (iShowing)
-                {
-                iAdapter->ActivateL();
-                iAdapter->MakeVisible(ETrue);
-                
-                // Check are childs visible
-                CXnNodePluginIf* node( iAdapter->Component()->Node() );
-                
-                RPointerArray<CXnNodePluginIf> children( node->ChildrenL() );
-                CleanupClosePushL( children );
-                
-                TInt visibleCount( 0 );
-                
-                for( TInt i = 0; i < children.Count(); i++ )
-                    {
-                    CXnNodePluginIf* child( children[i] );
-                    
-                    TBool visible( IsNodeDisplayedL( child ) );
-                                                           
-                    CCoeControl* control( Control( child ) );
-                    
-                    if( control )
-                        {
-                        control->MakeVisible( visible );
-                        }
-                    
-                    if( visible )
-                        {
-                        visibleCount++;                                                                                                
-                        }
-                    }
-                    
-                CleanupStack::PopAndDestroy( &children );
-                
-                if( visibleCount == 0 )
-                    {
-                    iAdapter->MakeVisible( EFalse );
-                    // Nothing to show
-                    return;
-                    }
-                                                
-                iAdapter->DrawNow();
-                iShowing = EFalse;
-                if (iDisplayTime.Int() != 0)
-                    {
-                    iHiding = ETrue;
-                    iTimer.After(iStatus, iDisplayTime);
-                    SetActive();
-                    }
-                }
-            else if (iHiding)
-                {
-                iAdapter->MakeVisible(EFalse);
-                iHiding = EFalse;
-                }
-            }
-        void DoCancel()
-            {
-            if (!iDestroying)
-                {
-                iAdapter->MakeVisible(EFalse);
-                }
-   
-            iTimer.Cancel();
-            }
-    private:
-        TBool iDestroying;
-        CXnControlAdapter* iAdapter;            
-        RTimer iTimer;
-        TBool iShowing;
-        TBool iHiding;
-        TTimeIntervalMicroSeconds32 iShowDelay;
-        TTimeIntervalMicroSeconds32 iDisplayTime;
-    };
-    
-
-static CActive* CreateActiveObjectL(CXnControlAdapter& aAdapter)
-    {
-    return CXnPopupController::NewL(aAdapter);
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnPopup::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnPopupAdapter* CXnPopupAdapter::NewL(CXnNodePluginIf& aNode, CXnControlAdapter* aParent)
-    {
-	CXnPopupAdapter* self = new( ELeave ) CXnPopupAdapter;
-
-    CleanupStack::PushL( self );
-    self->ConstructL(aNode, aParent);
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnPopupAdapter::ConstructL(CXnNodePluginIf& aNode, CXnControlAdapter* /*aParent*/)
-    {
-    MakeVisible(EFalse);
-    CXnProperty* positionHintProp = aNode.GetPropertyL(XnPropertyNames::tooltip::KPositionHint);
-    if( positionHintProp )
-        {
-        const TDesC8& displayHintVal = positionHintProp->StringValue();
-        if( displayHintVal == XnPropertyNames::tooltip::positionhint::KAboveLeft )
-            {
-            iPositionHint = EAboveLeft;
-            }
-        else if( displayHintVal == XnPropertyNames::tooltip::positionhint::KAboveRight )
-            {
-            iPositionHint = EAboveRight;
-            }
-        else if( displayHintVal == XnPropertyNames::tooltip::positionhint::KBelowLeft )
-            {
-            iPositionHint = EBelowLeft;
-            }
-        else if( displayHintVal == XnPropertyNames::tooltip::positionhint::KBelowRight )
-            {
-            iPositionHint = EBelowRight;
-            }        
-        else if( displayHintVal == XnPropertyNames::tooltip::positionhint::KRight )
-            {
-            iPositionHint = ERight;
-            }        
-        else if( displayHintVal == XnPropertyNames::tooltip::positionhint::KLeft )
-            {
-            iPositionHint = ELeft;
-            }
-        }    
-    if(iPositionHint == ENone)
-        {
-        // Use default value
-        if(AknLayoutUtils::LayoutMirrored())
-            {
-            iPositionHint = EAboveRight;
-            }
-        else
-            {
-            iPositionHint = EAboveLeft; 
-            }
-        }
-
-    CreateWindowL();    
-    
-    if( CAknEnv::Static()->TransparencyEnabled() )
-        {
-        // try to enable window transparency
-        if ( Window().SetTransparencyAlphaChannel() == KErrNone )
-            {
-            TRgb color( ~0 );
-            Window().SetBackgroundColor( color );
-            }
-        }
-    
-    CXnControlAdapter::ConstructL(aNode);
-    iNode = &aNode;
-    iAppUi = CCoeEnv::Static()->AppUi();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::CXnPopupAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnPopupAdapter::CXnPopupAdapter(): iPositionHint( ENone )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::~CXnPopupAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnPopupAdapter::~CXnPopupAdapter()
-    {
-    delete iActiveObject;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::ShowPopupL
-// Shows the popup
-// -----------------------------------------------------------------------------
-//
-void CXnPopupAdapter::ShowPopupL(const TRect& aContainerRect)
-    {
-    // Don't show tooltip if display property is none.
-    CXnProperty* displayProperty( iNode->DisplayL() );
-    
-    if( displayProperty )
-    	{
-    	const TDesC8& displayValue = displayProperty->StringValue();
-    	
-    	if( displayValue == XnPropertyNames::style::common::display::KNone )
-    		{
-    		return;
-    		}
-    	}
-    	
-    CXnProperty* visibilityProp( iNode->VisibilityL() );	
-    
-    if( visibilityProp )
-        {
-        const TDesC8& value( visibilityProp->StringValue() );
-        
-        if( value == XnPropertyNames::style::common::visibility::KHidden )
-            {
-            return;
-            }
-        }
-    
-    TTimeIntervalMicroSeconds32 startDelay(KStartDelay);
-    TTimeIntervalMicroSeconds32 displayTime(KDisplayTime);
-    CXnProperty* startDelayProperty = iNode->GetPropertyL(XnPropertyNames::tooltip::KStartDelay);
-    if (startDelayProperty)
-        {
-        CXnDomPropertyValue* value = static_cast<CXnDomPropertyValue*>(startDelayProperty->Property()->PropertyValueList().Item(0));
-        TInt factor = 1;
-        if (value->PrimitiveValueType() == CXnDomPropertyValue::ES)
-            {
-            factor = 1000000;
-            }
-        else if (value->PrimitiveValueType() == CXnDomPropertyValue::EMs)
-            {
-            factor = 1000;
-            }
-        startDelay = factor * static_cast<TInt>(startDelayProperty->FloatValueL());
-        }
-    CXnProperty* displayTimeProperty = iNode->GetPropertyL(XnPropertyNames::tooltip::KDisplayTime);
-    if (displayTimeProperty)
-        {
-        CXnDomPropertyValue* value = static_cast<CXnDomPropertyValue*>(displayTimeProperty->Property()->PropertyValueList().Item(0));
-        TInt factor = 1;
-        if (value->PrimitiveValueType() == CXnDomPropertyValue::ES)
-            {
-            factor = 1000000;
-            }
-        else if (value->PrimitiveValueType() == CXnDomPropertyValue::EMs)
-            {
-            factor = 1000;
-            }
-        displayTime = factor * static_cast<TInt>(displayTimeProperty->FloatValueL());
-        }
-    if (displayTime.Int() == 0 )
-        {
-        return;
-        }
-    ShowPopupL(aContainerRect, startDelay, displayTime);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::ShowPopupL
-// Shows the popup
-// -----------------------------------------------------------------------------
-//
-void CXnPopupAdapter::ShowPopupL(const TRect& aContainerRect, TTimeIntervalMicroSeconds32 aShowDelay, TTimeIntervalMicroSeconds32 aDisplayTime)
-    {
-    if (!iActiveObject)
-        {
-        iActiveObject = CreateActiveObjectL(*this);
-        }
-    
-    iActiveObject->Cancel();        
-    
-    // Calculates position according to position hint and 
-    // set new rect for CCoeControl.
-    CalculatePosition(aContainerRect);        
-
-    static_cast<CXnPopupController*>(iActiveObject)->SetTimes(aShowDelay, aDisplayTime);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::HidePopupL
-// Hides the popup
-// -----------------------------------------------------------------------------
-//
-void CXnPopupAdapter::HidePopupL()
-    {
-    if (!iActiveObject)
-        {
-        MakeVisible(EFalse);
-        return;
-        }
-    iActiveObject->Cancel();        
-    MakeVisible(EFalse);   
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::Draw
-// Draws the popup.
-// -----------------------------------------------------------------------------
-//
-void CXnPopupAdapter::Draw(const TRect& aRect) const
-    {    
-    CXnControlAdapter::Draw(aRect);
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::DoEnterPowerSaveModeL
-// Hides the popup when power save mode is entered.
-// -----------------------------------------------------------------------------
-//    
-void CXnPopupAdapter::DoEnterPowerSaveModeL( TModeEvent /*aEvent*/ )
-    {
-    HidePopupL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::Draw
-// Hides the popup when screen device is changed.
-// -----------------------------------------------------------------------------
-//       
-void CXnPopupAdapter::HandleScreenDeviceChangedL()
-	{
-	HidePopupL();
-    CXnControlAdapter::HandleScreenDeviceChangedL();
-	}
-
-// -----------------------------------------------------------------------------
-// CXnPopupAdapter::DoHandlePropertyChangeL
-// Handles property changes
-// -----------------------------------------------------------------------------
-//       	
-void CXnPopupAdapter::DoHandlePropertyChangeL(CXnProperty* aProperty)
-    {
-    if( aProperty )
-        {
-        const TDesC8& name( aProperty->Property()->Name() );
-                
-        if( name == XnPropertyNames::style::common::KDisplay )
-            {
-            const TDesC8& display( aProperty->StringValue() );
-            
-            if( display != XnPropertyNames::style::common::display::KBlock )
-                {
-                HidePopupL();
-                }                                    
-            }        
-        else if( name == XnPropertyNames::style::common::KVisibility )
-            {
-            const TDesC8& visibility( aProperty->StringValue() );
-            
-            if( visibility != XnPropertyNames::style::common::visibility::KVisible )
-                {
-                HidePopupL();
-                }            
-            }           
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CalculatePosition
-// 
-// -----------------------------------------------------------------------------
-void CXnPopupAdapter::CalculatePosition( TRect aPopupRect )
-    {
-    TRect clientRect = static_cast<CEikAppUi&>(*iAppUi).ClientRect();
-    TPoint offset(clientRect.iTl);
-    TRect controlRect = iNode->BorderRect();
-    TRect contentRect(0, 0, clientRect.iBr.iX, clientRect.iBr.iY); // entire screen except control pane
-    TRect rect;
-    switch(iPositionHint)
-        {
-        case CXnPopupAdapter::EAboveLeft:
-            rect = TRect(TPoint(aPopupRect.iTl.iX, aPopupRect.iTl.iY - controlRect.Height()), TPoint(aPopupRect.iTl.iX + controlRect.Width(), aPopupRect.iTl.iY));
-            break;
-        case CXnPopupAdapter::EAboveRight:
-            rect = TRect(TPoint(aPopupRect.iBr.iX - controlRect.Width(), aPopupRect.iTl.iY - controlRect.Height()), TPoint(aPopupRect.iBr.iX, aPopupRect.iTl.iY));
-            break;
-        case CXnPopupAdapter::EBelowLeft:
-            rect = TRect(TPoint(aPopupRect.iTl.iX, aPopupRect.iBr.iY), TPoint(aPopupRect.iTl.iX + controlRect.Width(), aPopupRect.iBr.iY + controlRect.Height()));
-            break;
-        case CXnPopupAdapter::EBelowRight:
-            rect = TRect(TPoint(aPopupRect.iBr.iX - controlRect.Width(), aPopupRect.iBr.iY), TPoint(aPopupRect.iBr.iX, aPopupRect.iBr.iY + controlRect.Height()));
-            break;
-        case CXnPopupAdapter::ERight:
-            rect = TRect(TPoint(aPopupRect.iBr.iX, aPopupRect.iTl.iY), TPoint(aPopupRect.iBr.iX + controlRect.Width(), aPopupRect.iTl.iY + controlRect.Height()));
-            break;
-        case CXnPopupAdapter::ELeft:
-            rect = TRect(TPoint(aPopupRect.iTl.iX - controlRect.Width(), aPopupRect.iTl.iY), TPoint(aPopupRect.iTl.iX, aPopupRect.iTl.iY + controlRect.Height()));
-            break;
-        default:
-            break;
-        }
-    rect.Move(offset);           
-    if(rect.iTl.iY < contentRect.iTl.iY)
-        {
-        rect.Move(0, contentRect.iTl.iY - rect.iTl.iY);
-        }
-    if(rect.iTl.iX < contentRect.iTl.iX)
-        {
-        rect.Move(contentRect.iTl.iX - rect.iTl.iX, 0);
-        }
-    if(rect.iBr.iY > contentRect.iBr.iY)
-        {
-        rect.Move(0, contentRect.iBr.iY - rect.iBr.iY);
-        }
-    if(rect.iBr.iX > contentRect.iBr.iX)
-        {
-        rect.Move(contentRect.iBr.iX - rect.iBr.iX, 0);
-        } 
-    this->SetRect( rect );
-    }
-
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopupfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation for factory creating a popup.
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-
-#include "xnpopupfactory.h"
-#include "xnpopup.h"
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnpopupadapter.h"
-#include "xnnodepluginif.h"
-#include <aisystemuids.hrh>
-
-// CONSTANTS
-_LIT8(KPopup, "tooltip");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// E32Dll implements the Symbian OS dll entry point
-// Entry point needed for EKA1 kernel only
-// -----------------------------------------------------------------------------
-//
-#ifndef EKA2
-GLDEF_C TInt  E32Dll(
-    TDllReason)
-    {
-
-    return KErrNone;
-
-    }
-#endif
-
-MXnComponentFactory::TXnComponentFactoryResponse CXnPopupFactory::MakeXnComponentL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnComponent*& aTargetComponent
-        										
-										)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if(aNode.Type()->Type() == KPopup)
-        {
-    	CXnPopup* container = CXnPopup::NewL();
-      aTargetComponent = static_cast<CXnComponent*>(container);
-	    retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;
-	    return retVal;
-	    }
-    return retVal;
-    }
-
-CXnControlAdapter* CXnPopupFactory::MakeXnControlAdapterL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnControlAdapter* aParent
-										)
-    {
-    CXnControlAdapter* controlAdapter = CXnPopupAdapter::NewL(aNode, aParent);
-    return controlAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnPopupFactory* CXnPopupFactory::NewL()
-    {
-    CXnPopupFactory* self = new( ELeave ) CXnPopupFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupFactory::CXnPopupFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnPopupFactory::CXnPopupFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupFactory::~CXnPopupFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnPopupFactory::~CXnPopupFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnPopupFactory::ConstructL()
-    {
-    }
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY(AI3_UID_RENDERING_PLUGIN_POPUPFACTORY_IMPLEMENTATION, CXnPopupFactory::NewL) 
-#else
-    {{AI3_UID_RENDERING_PLUGIN_POPUPFACTORY_IMPLEMENTATION}, CXnPopupFactory::NewL}
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  Building information file
-'*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xntexteditorfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/group/xntexteditorfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon text editor plugin
-*
-*/
-
-
-#include        <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3texteditorfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_TEXTEDITORFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xntexteditorfactory.cpp
-SOURCE          xntexteditor.cpp
-SOURCE          xntexteditoradapter.cpp
-SOURCE          xntexteditorpublisher.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY	        euser.lib  
-LIBRARY         eikcoctl.lib
-LIBRARY         eikctl.lib
-LIBRARY         form.lib
-LIBRARY         cone.lib
-LIBRARY         uiklaf.lib
-LIBRARY	        xn3layoutengine.lib
-LIBRARY	        xn3utils.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY         avkon.lib
-LIBRARY         fepbase.lib
-LIBRARY	        peninputClient.lib
-LIBRARY         liwservicehandler.lib
-LIBRARY         charconv.lib
-LIBRARY         eikcore.lib
-LIBRARY         gdi.lib
-LIBRARY         etext.lib
-LIBRARY         aknskins.lib
-   
-LANG            SC
-
-START RESOURCE  xn3texteditorfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3texteditorfactory.rsc
-#endif
-END
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditoradapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Wrapper class for CEikEdwin
-*
-*/
-
-#ifndef _XNTEXTEDITORADAPTER_H
-#define _XNTEXTEDITORADAPTER_H
-
-//  System includes
-#include <e32base.h>
-
-// User includes
-#include "xncontroladapter.h"
-#include "xnuienginepluginif.h"
-
-// Forward declarations
-class CXnNodePluginIf;
-class CEikEdwin;
-class CXnTextEditorPublisher;
-
-// CLASS DECLARATION
-class CXnTextEditorAdapter : public CXnControlAdapter
-    {
-public:
-    // constructor and destructor
-    
-    /**
-     * 2 phase construction.
-     */
-    static CXnTextEditorAdapter* NewL( 
-        CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-    
-    /**
-     * Destructor.
-     */
-    ~CXnTextEditorAdapter();
-
-public: 
-    // New functions
-
-    /**
-     * Gets editor
-     * 
-     * @since S60 5.0
-     * @return Editor, ownership is not transfered
-     */
-    CEikEdwin* Editor() const { return iEditor; };
-
-    /**
-     * Set text to the text field
-     * 
-     * @since S60 5.0
-     * @param aText Text to set     
-     */
-    void SetTextL( const TDesC& aText );
-    
-    /**
-     * Return the text of the text field
-     * 
-     * @since S60 5.0
-     * @return Text, ownership is transfered      
-     */
-    HBufC* Text() const;
-    
-public: // from base classes
-
-    /**
-    * See CCoeControl documentation
-    */    	
-    TInt CountComponentControls() const;
-
-    /**
-    * See CCoeControl documentation
-    */    	
-    CCoeControl* ComponentControl( TInt aIndex ) const;
-
-    /**
-    * See CCoeControl documentation
-    */    	
-    void SizeChanged();
-
-    /**
-    * See CCoeControl documentation
-    */    	
-    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);    
-    
-    /**
-    * See CXnControlAdapter documentation
-    */          
-    TBool RefusesFocusLoss() const;
-    
-    /**
-    * See CCoeControl documentation
-    */    	
-    void FocusChanged( TDrawNow aDrawNow );
-
-    /**
-    * See CCoeControl documentation
-    */          
-    void Draw( const TRect& aRect ) const;
-           
-private:
-    // from MCoeControlObserver
-    
-    /**
-    * See MCoeControlObserver documentation
-    */
-    void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
-        
-private:
-    // private constrcutors 
-
-	CXnTextEditorAdapter( CXnControlAdapter* aParent, CXnNodePluginIf& aNode );
-	
-	void ConstructL();
-
-private:
-    // new functions
-                 
-    void SetPropertiesL();
-
-private:
-    // data
-    /** Parent control, not owned */
-    CXnControlAdapter*  	iParent;
-    /** UI node, not owned */
-    CXnNodePluginIf&    	iNode; 
-    /** UI engine, not owned */
-    TXnUiEnginePluginIf*    iUiEngine;
-    /** Editor, owned */
-    CEikEdwin*              iEditor; 
-    /** CPS publisher wrapper, owned */
-    CXnTextEditorPublisher* iEditorPublisher;
-    // Font, owned */
-    CFont*                  iFont;  
-    /** Flag to indicate whether the font needs to be released or not */
-    TBool                   iReleaseFont;
-    /** Max line amount */
-    TInt                    iMaxLines; 
-    /** Flag to indicate whether focus loss is refused */
-    TBool                   iRefusesFocusLoss;
-    };
-
-#endif      // _XNTEXTEDITORADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditorfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Factory for creating CXnEditor -component
-*
-*/
-
-
-#ifndef _XNTEXTEDITORFACTORY_H
-#define _XNTEXTEDITORFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-#include <e32base.h>
-#include <e32std.h>
-
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-
-// FORWARD DECLARATIONS
-class CXnComponent;
-
-// CLASS DECLARATION
-
-/**
-*  Component factory interface for creating UI representations of the elements.
-*  This class is wrapper for containing CEikEdwin
-*
-*  @lib xneditorfactory.lib
-*  @since S60
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnTextEditorFactory : public MXnComponentFactory, public CBase
-    {
-public: // Data types
-
-public:  // Constructors and destructor
-    
-    /**
-    * Two-phased constructor.
-    */
-    static CXnTextEditorFactory* NewL();
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CXnTextEditorFactory();
-
-
-public: // Functions from base classes
-
-    /**
-    * Creates the Xuikon component for editor component.
-    * @param aNode Corresponding DOM-node
-    * @param aTargetComponent Pointer reference to the component to be created.
-    */
-    virtual TXnComponentFactoryResponse MakeXnComponentL( 
-                                            CXnNodePluginIf& aNode,
-                                            CXnComponent*& aTargetComponent);
-    
-    /**
-    * Creates the control adapter for editor component.
-    * @param aNode Corresponding DOM-node
-    */
-    virtual CXnControlAdapter* MakeXnControlAdapterL( 
-                                            CXnNodePluginIf& aNode,
-                                            CXnControlAdapter* aParent);
-
-private:
-
-    /**
-    * 2nd phase constructor. 
-    */
-    void ConstructL();
-
-    /**
-    * C++ default constructor. 
-    */
-    CXnTextEditorFactory();
-
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNTEXTEDITORFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditorpublisher.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2005-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:  CPS Publishing for text editor.
-*
-*/
-
-#ifndef XNTEXTEDITORPUBLISHER_H
-#define XNTEXTEDITORPUBLISHER_H
-
-#include <e32base.h>
-#include <eikedwob.h>
-
-// FORWARD DECLARATIONS
-class CLiwServiceHandler;
-class MLiwInterface;
-class CXnTextEditorAdapter;
-
-class CXnTextEditorPublisher : public CBase, public MEikEdwinObserver
-    {
-    public:
-        /**
-        * Two-phased constructor.
-        */
-        static CXnTextEditorPublisher* NewL( CXnTextEditorAdapter& aAdapter, 
-            const TDesC8& aNodeId );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CXnTextEditorPublisher();
-        
-    private:
-        CXnTextEditorPublisher( CXnTextEditorAdapter& aAdapter );
-        void ConstructL( const TDesC8& aNodeId );
-
-    public: // From MEikEdwinObserver
-        /**
-        * @see MEikEdwinObserver.
-        */    
-        void HandleEdwinEventL(CEikEdwin* aEdwin,TEdwinEvent aEventType);
-        
-        void PublishTextL( const TDesC& aText );
-
-    private: // New functions
-        void InitCpsInterfaceL();
-        void AddDataToCpsL( const TDesC& aPublisherId, const TDesC& aContentType, 
-            const TDesC& aContentId, const TDesC8& aDataKey, const TDesC& aData );
-        void RemoveDataFromCpsL( const TDesC& aPublisherId, const TDesC& aContentType, 
-            const TDesC& aContentId );
-
-
-    private:
-        CXnTextEditorAdapter&  iAdapter;
-        HBufC*                 iNodeId; // Own
-		MLiwInterface*         iCpsInterface; // Not own
-		CLiwServiceHandler*    iServiceHandler;	// Own
-		HBufC*                 iTextBuffer;   // Own
-    };
-
-#endif //XNTEXTEDITORPUBLISHER_H
-
-
-
-
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xn3texteditorfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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 <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_TEXTEDITORFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_TEXTEDITORFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnTextEditor";
-                default_data = "texteditor";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditor.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation wrapper for CEikEdwin
-*
-*/
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-#include "xncomponent.h"
-#include "xntexteditor.h"
-#include "xntexteditoradapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnTextEditor::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnTextEditor* CXnTextEditor::NewL()
-    {
-	CXnTextEditor* self = new( ELeave ) CXnTextEditor;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditor::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditor::ConstructL()
-    {
-    CXnComponent::ConstructL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextEditor::ConstructL
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnTextEditor::CXnTextEditor()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditor::ConstructL
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnTextEditor::~CXnTextEditor()
-    {
-    }
-
-// ---------------------------------------------------------
-// CXnTextEditor::SetTextL
-// ---------------------------------------------------------
-//
-void CXnTextEditor::SetTextL(const TDesC& aText)
-    {
-    (static_cast<CXnTextEditorAdapter*>(ControlAdapter()))->SetTextL(aText);
-    }
-    
-// ---------------------------------------------------------
-// CXnTextEditor::Text
-// ---------------------------------------------------------
-//
-const HBufC* CXnTextEditor::Text()
-    {
-    return (static_cast<CXnTextEditorAdapter*>(ControlAdapter()))->Text();   
-    }
-    
-// ---------------------------------------------------------
-// ---------------------------------------------------------
-XnComponentInterface::MXnComponentInterface* CXnTextEditor::MakeInterfaceL(const TDesC8& aType)
-    {
-    if( aType != XnTextEditorInterface::KType )
-        {
-        return NULL;
-        }
-        
-    XnTextEditorInterface::MXnTextEditorInterface* editorIf = static_cast< XnTextEditorInterface::MXnTextEditorInterface* >( this );
-    
-    return editorIf;
-    }        
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,505 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation wrapper for CEikEdwin
-*
-*/
-
-// System includes
-#include <e32base.h>
-#include <e32const.h>
-#include <e32property.h>
-
-#include <eikedwin.h>
-#include <AknUtils.h>
-#include <AknsUtils.h>
-#include <aknview.h>
-#include <aknedsts.h>
-#include <txtglobl.h>
-#include <txtfmlyr.h>
-#include <txtfrmat.h>
-#include <txtrich.h>
-#include <gdi.h>
-
-#include <activeidle2domainpskeys.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xndompropertyvalue.h"
-#include "xndomlist.h"
-#include "xndomproperty.h"
-#include "xnproperty.h"
-#include "xnnodepluginif.h"
-#include "xncontroladapter.h"
-#include "xntexteditoradapter.h"
-#include "xntexteditorpublisher.h"
-#include "xnnodepluginif.h"
-#include "xneditmode.h"
-#include "c_xnutils.h"
-
-const TInt KMaxLength = 100;
-
-_LIT8( KCpsPublishing, "cpspublishing" );
-_LIT8( KMaxLineAmount, "max-line-amount" );
-_LIT8( KMaxCharAmount, "max-char-amount" );
-
-_LIT( KEnterChar, "\x2029" );
-
-// Local macros
-#define IS_ARROW_KEY( k ) \
-    ( k == EStdKeyLeftArrow || k == EStdKeyRightArrow || \
-      k == EStdKeyUpArrow || k == EStdKeyDownArrow ) 
-
-// ============================ LOCAL FUNCTIONS ================================   
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnTextEditorAdapter* CXnTextEditorAdapter::NewL( CXnControlAdapter* aParent, 
-    CXnNodePluginIf& aNode )
-    {
-	CXnTextEditorAdapter* self = 
-        new( ELeave ) CXnTextEditorAdapter( aParent, aNode );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::CXnTextEditorAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnTextEditorAdapter::CXnTextEditorAdapter( CXnControlAdapter* aParent, 
-    CXnNodePluginIf& aNode )
-    : iParent( aParent ), iNode( aNode )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::~CXnTextEditorAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnTextEditorAdapter::~CXnTextEditorAdapter()
-    {    
-    if ( iAvkonAppUi )
-        {
-        iAvkonAppUi->RemoveFromStack( iEditor );
-        }
-    
-    if( iFont && iReleaseFont )
-        {
-        CWsScreenDevice* dev( iCoeEnv->ScreenDevice() );
-        dev->ReleaseFont( iFont );
-        }
-
-    delete iEditorPublisher;
-    delete iEditor;   
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorAdapter::ConstructL()
-    {
-    CXnControlAdapter::ConstructL( iNode );    
-    iUiEngine = iNode.UiEngineL();
-
-    // Max line amount
-    iMaxLines = 0;
-    
-    CXnProperty* maxlinesProp( iNode.GetPropertyL( KMaxLineAmount ) );
-        
-    if ( maxlinesProp )
-        {
-        iMaxLines = maxlinesProp->FloatValueL();
-        }
-
-    // Max char amount
-    TInt maxChars( KMaxLength );
-    
-    CXnProperty* maxcharsProp( iNode.GetPropertyL( KMaxCharAmount ) );    
-    
-    if ( maxcharsProp )
-        {
-        maxChars = maxcharsProp->FloatValueL();
-        }
-    
-    iEditor = new ( ELeave ) CEikEdwin;
-
-    iEditor->SetContainerWindowL( *iParent );
-    iEditor->ConstructL( 0, maxChars, maxChars, iMaxLines );
-    
-    // Set allowed input modes
-    iEditor->SetAknEditorAllowedInputModes( EAknEditorAllInputModes );
-
-    // Set the default input mode
-    iEditor->SetAknEditorInputMode( 
-        EAknEditorTextInputMode | EAknEditorNumericInputMode );
-                                    
-    // Set allowed case modes
-    iEditor->SetAknEditorPermittedCaseModes( EAknEditorAllCaseModes );
-
-    // Set the default case mode
-    iEditor->SetAknEditorCase( EAknEditorTextCase );
-        
-    iEditor->AddFlagToUserFlags( 
-        CEikEdwin::ENoAutoSelection | CEikEdwin::EAllowUndo );
-                                     
-    // Set numeric keymap
-    iEditor->SetAknEditorNumericKeymap( EAknEditorPlainNumberModeKeymap );
-    
-    iEditor->SetSuppressBackgroundDrawing( ETrue );
-                      
-    iEditor->SetObserver( this );
-                                        
-    // Default not focused                                  
-    iEditor->SetFocus( EFalse );                              
-        
-    SetPropertiesL();
-	}
- 
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::CountComponentControls
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CXnTextEditorAdapter::CountComponentControls() const
-    {
-    if( iEditor )
-        {
-        return 1;
-        }
-        
-    return 0;        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::ComponentControl
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-CCoeControl* CXnTextEditorAdapter::ComponentControl( TInt aIndex ) const
-    {
-    if( aIndex == 0 )
-        {
-        return iEditor;
-        }
-        
-    return NULL;        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::SizeChanged
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-void CXnTextEditorAdapter::SizeChanged()
-    {        
-    iEditor->SetRect( iNode.Rect() );  
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::OfferKeyEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-TKeyResponse CXnTextEditorAdapter::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    TKeyResponse ret( EKeyWasNotConsumed );
-
-    if ( !IsFocused() )
-        {
-        return ret;
-        }
-
-    ret = iEditor->OfferKeyEventL( aKeyEvent, aType );                    
-
-    if ( IS_ARROW_KEY( aKeyEvent.iScanCode ) )    
-        {                        
-        if ( ret == EKeyWasNotConsumed && aType == EEventKey )
-            {            
-            iRefusesFocusLoss = EFalse;
-            
-            ret = CXnControlAdapter::OfferKeyEventL( aKeyEvent, aType );
-            }                    
-        }
-
-    if ( aKeyEvent.iCode == EKeyEnter )
-        {
-        if ( iEditorPublisher && iMaxLines == 1 )
-            {
-            TInt length( iEditor->TextLength() );
-            
-            HBufC* content = HBufC::NewLC( length + 1 );
-            TPtr ptr( content->Des() );
-            
-            iEditor->GetText( ptr );
-            
-            ptr.Append( KEnterChar );
-            
-            iEditorPublisher->PublishTextL( *content );
-            
-            CleanupStack::PopAndDestroy( content );
-            }
-        }
-
-    return ret;        
-    }
- 
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::RefusesFocusLoss
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-TBool CXnTextEditorAdapter::RefusesFocusLoss() const
-    {    
-    return iRefusesFocusLoss;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::FocusChanged
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-void CXnTextEditorAdapter::FocusChanged( TDrawNow aDrawNow )
-    {
-    CXnAppUiAdapter* appui( 
-        static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) );
-    
-    TBool isFocused( IsFocused() ? ETrue : EFalse );
-      
-    TInt value;
-
-    if ( isFocused )
-        {      
-        value = EPSAiDontForwardNumericKeysToPhone;
-                       
-        TRAP_IGNORE( appui->AddToStackL( appui->View(), iEditor ) );
-        
-        // AddToStackL calls iEditor->SetFocus( ETrue ); 
-        }
-    else
-        {
-        value = EPSAiForwardNumericKeysToPhone;
-                                      
-        appui->RemoveFromStack( iEditor );
-        
-        iEditor->SetFocus( EFalse, aDrawNow );
-        }
-    
-    iRefusesFocusLoss = isFocused;
-    
-    RProperty::Set( KPSUidAiInformation,            
-                    KActiveIdleForwardNumericKeysToPhone,
-                    value );    
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::Draw
-// Draws the editor component
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorAdapter::Draw( const TRect& aRect ) const
-    {                           
-    CXnControlAdapter::Draw( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::HandleControlEventL
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnTextEditorAdapter::HandleControlEventL( CCoeControl* aControl, 
-    TCoeEvent aEventType )
-    {
-    if ( aControl == iEditor )
-        {
-        // If background drawing is suppressed, then we need to call draw here
-        if ( aEventType == EEventStateChanged )
-            {
-            DrawNow();                                    
-            }        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::SetTextL
-// Sets the new content to the underlying CEikEdwin
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorAdapter::SetTextL( const TDesC& aText )
-    {
-    iEditor->SetTextL( &aText );
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::Text
-// Returns the text contained in the underlying CEikEdwin
-// -----------------------------------------------------------------------------
-//
-HBufC* CXnTextEditorAdapter::Text() const
-    {
-    HBufC* text( NULL );
-    
-    TRAP_IGNORE( text = iEditor->GetTextInHBufL() );
-    
-    // Ownership is transfered to the calller
-    return text;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorAdapter::SetPropertiesL
-// Sets text properties
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorAdapter::SetPropertiesL()
-    {    
-    // Whether to publish text to CPS
-    CXnProperty* cpspublishingProp( iNode.GetPropertyL( KCpsPublishing ) );
-    CXnProperty* idProp( iNode.IdL() );
-    
-    if ( cpspublishingProp && idProp && 
-        cpspublishingProp->StringValue() == XnPropertyNames::KTrue )
-        {
-        iEditorPublisher = CXnTextEditorPublisher::NewL( 
-                *this, idProp->StringValue() );
-        }    
-
-    // Store current state
-    if ( iFont && iReleaseFont )
-        {
-        CWsScreenDevice* dev( iCoeEnv->ScreenDevice() );
-        dev->ReleaseFont( iFont ); 
-        iFont = NULL;
-        }
-    
-    // Get new font
-    CXnUtils::CreateFontL( iNode, iFont, iReleaseFont );
-    
-    // And set font
-    TCharFormat cf;
-    TCharFormatMask cfm;
-    cfm.SetAttrib( EAttColor );
-    cfm.SetAttrib( EAttFontTypeface );
-    cfm.SetAttrib( EAttFontHeight );
-    cfm.SetAttrib( EAttFontPosture );
-    cfm.SetAttrib( EAttFontStrokeWeight );
-    cfm.SetAttrib( EAttLineSpacing );
-    cfm.SetAttrib( EAttLineSpacingControl );
-    cf.iFontSpec = iFont->FontSpecInTwips();
-
-    // Set linespacing    
-    CXnProperty* lineSpaceProp( 
-        iNode.GetPropertyL( XnPropertyNames::appearance::common::KFontLineSpace ) );
-        
-    if ( lineSpaceProp )
-        {
-        TInt lineSpace = 
-            iUiEngine->VerticalPixelValueL( lineSpaceProp, iNode.Rect().Height() );
-        
-        CParaFormatLayer*pFormatLayer = CEikonEnv::NewDefaultParaFormatLayerL();
-        CleanupStack::PushL(pFormatLayer);
-        CParaFormat* paraformat = CParaFormat::NewLC(); 
-        TParaFormatMask paraFormatMask; 
-        paraFormatMask.SetAttrib(EAttLineSpacing);
-        paraFormatMask.SetAttrib(EAttLineSpacingControl);
-        paraformat->iLineSpacingControl = CParaFormat::ELineSpacingExactlyInTwips;
-        CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-        TInt lineHeight = screenDevice->VerticalPixelsToTwips( iFont->HeightInPixels() + lineSpace );
-        paraformat->iLineSpacingInTwips = lineHeight;
-        pFormatLayer->SetL(paraformat, paraFormatMask);
-        iEditor->SetParaFormatLayer(pFormatLayer); // Edwin takes the ownership
-        CleanupStack::PopAndDestroy(paraformat);
-        CleanupStack::Pop(pFormatLayer); 
-        }
- 
-    // Get text color and set it
-    TRgb textColor;
-    CXnProperty* colorProperty( 
-        iNode.GetPropertyL( XnPropertyNames::appearance::common::KColor ) );
-    
-    if ( colorProperty )
-        {
-        CXnDomProperty* domProperty( colorProperty->Property() );
-        
-        if ( domProperty )
-            {
-            TInt error( KErrNotSupported );
-            
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >( 
-                domProperty->PropertyValueList().Item( 0 ) );
-
-            if ( value->IsAutoIdent() )
-                {
-                MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                error = AknsUtils::GetCachedColor(skinInstance, textColor, KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG6);
-                }
-            else if ( value->PrimitiveValueType() == CXnDomPropertyValue::ERgbColor )
-                {
-                textColor = value->RgbColorValueL();
-                error = KErrNone;
-                }
-            else
-                {
-                HBufC* colorString = colorProperty->StringValueL();
-                CleanupStack::PushL( colorString );
-                CXnUtils::StripQuotes( colorString );
-                TInt index = 0;
-                TAknsItemID skinID;
-                TBool idResolved = CXnUtils::ResolveSkinItemIDL( colorString->Des(), skinID, index );
-                
-                if ( idResolved )
-                    {
-                    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                    error = AknsUtils::GetCachedColor( skinInstance, textColor, skinID, index );
-                    }
-                else // use auto value if skin id is invalid.
-                    {
-                    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                    error = AknsUtils::GetCachedColor(skinInstance, textColor, KAknsIIDQsnTextColors,
-                    EAknsCIQsnTextColorsCG6);
-                    }
-                
-                CleanupStack::PopAndDestroy( colorString );                 
-                }
-            
-            if ( error == KErrNone )
-                {
-                cf.iFontPresentation.iTextColor = textColor;
-                }
-            else
-                {
-                cf.iFontPresentation.iTextColor = KRgbBlack;                
-                }
-            }
-        }    
-    
-    CCharFormatLayer *pCharFL = CCharFormatLayer::NewL(cf,cfm);
-    iEditor->SetCharFormatLayer(pCharFL);
-    iEditor->SetTextBaselineSpacing( 2 );
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditorfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for factory creating CXnEditor-element
-* 
-*/
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "xntexteditorfactory.h"
-#include "xntexteditoradapter.h"
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-#include "xndomnode.h"
-#include "aisystemuids.hrh"
-
-#include "xntexteditor.h"
-
-_LIT8( KXnTextEditor, "texteditor" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorFactory::MakeXnComponentL
-// Creates the Xuikon component for editor control
-// -----------------------------------------------------------------------------
-//
-MXnComponentFactory::TXnComponentFactoryResponse CXnTextEditorFactory::MakeXnComponentL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnComponent*& aTargetComponent
-        								)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if( aNode.Type()->Type() == KXnTextEditor )
-        {
-    	CXnTextEditor* container = CXnTextEditor::NewL();
-    	
-        aTargetComponent = static_cast< CXnComponent* >( container );
-        
-  	    retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;	    	    
-	    }
-	    
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorFactory::MakeXnControlAdapterL
-// Creates the control adapter for editor control
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnTextEditorFactory::MakeXnControlAdapterL(
-                                        CXnNodePluginIf& aNode,
-                                        CXnControlAdapter* aParent)
-    {
-    return CXnTextEditorAdapter::NewL( aParent, aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnTextEditorFactory* CXnTextEditorFactory::NewL()
-    {
-    CXnTextEditorFactory* self = new( ELeave ) CXnTextEditorFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorFactory::CXnTextEditorFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnTextEditorFactory::CXnTextEditorFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorFactory::~CXnTextEditorFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnTextEditorFactory::~CXnTextEditorFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorFactory::ConstructL()
-    {
-    }
-
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY( AI3_UID_RENDERING_PLUGIN_TEXTEDITORFACTORY_IMPLEMENTATION, CXnTextEditorFactory::NewL ) 
-#else
-    { { AI3_UID_RENDERING_PLUGIN_TEXTEDITORFACTORY_IMPLEMENTATION }, CXnTextEditorFactory::NewL }
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditorpublisher.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +0,0 @@
-/*
-* Copyright (c) 2005-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:  CPS Publishing for text editor.
-*
-*/
-
-#include "xntexteditorpublisher.h"
-
-#include "xntexteditoradapter.h"
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-#include <liwgenericparam.h>
-#include <eikedwin.h>
-#include <eikedwin.h>
-#include <utf.h> 
-
-
-//#include <StringLoader.h> // StringLoader
-
-_LIT8( KCPService, "Service.ContentPublishing" );
-_LIT8( KCPInterface, "IDataSource" );
-
-_LIT8( KType, "type" );
-_LIT( KCpData, "cp_data" );
-
-_LIT8( KPublisherId, "publisher" );
-_LIT8( KContentTypeId, "content_type" );
-_LIT8( KContentId, "content_id" );
-
-_LIT(KAI3HSPublisher, "ai3homescreen");
-_LIT(KContentType, "editorinput");
-
-_LIT8( KData, "data");
-
-_LIT8( KDataMap, "data_map" );
-
-_LIT8( KItem, "item" );
-_LIT8( KAdd, "Add" );
-_LIT8( KDelete, "Delete" );
-
-// ============================ LOCAL FUNCTIONS ===============================
-static void DoResetAndDestroy( TAny* aPtr )
-    {
-    __ASSERT_DEBUG( aPtr, User::Invariant() );
-    reinterpret_cast< RCriteriaArray* >( aPtr )->ResetAndDestroy();
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-// 
-CXnTextEditorPublisher* CXnTextEditorPublisher::NewL( CXnTextEditorAdapter& aAdapter,
-    const TDesC8& aNodeId )
-    {
-    CXnTextEditorPublisher* self = new (ELeave) CXnTextEditorPublisher( aAdapter );
-    CleanupStack::PushL( self );
-    self->ConstructL( aNodeId );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//   
-CXnTextEditorPublisher::~CXnTextEditorPublisher()
-    {
-    if( iNodeId )
-        {
-        TRAP_IGNORE( RemoveDataFromCpsL( KAI3HSPublisher, KContentType, iNodeId->Des() ) );
-        }
-    if( iCpsInterface )
-        {
-        iCpsInterface->Close();
-        iCpsInterface = NULL;
-        }
-    if( iServiceHandler )
-        {
-        iServiceHandler->Reset();
-        delete iServiceHandler;
-        iServiceHandler = NULL;
-        }    
-    CEikEdwin* editor = iAdapter.Editor();
-    if( editor )
-        {
-        editor->RemoveEdwinObserver( this );    
-        }
-    delete iNodeId;
-    delete iTextBuffer;
-    }
-
-// -----------------------------------------------------------------------------
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-CXnTextEditorPublisher::CXnTextEditorPublisher( CXnTextEditorAdapter& aAdapter ) : 
-    iAdapter( aAdapter )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorPublisher::ConstructL( const TDesC8& aNodeId )
-    {
-    iNodeId = CnvUtfConverter::ConvertToUnicodeFromUtf8L( aNodeId );
-    InitCpsInterfaceL();
-    CEikEdwin* editor = iAdapter.Editor();
-    if( editor )
-        {
-        editor->SetEdwinObserver( this );  
-        TInt len = editor->MaxLength();
-        iTextBuffer = HBufC::NewL( len );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Uses the CPS interface to add given data
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorPublisher::AddDataToCpsL( const TDesC& aPublisherId, 
-    const TDesC& aContentType, const TDesC& aContentId, 
-    const TDesC8& aDataKey, const TDesC& aData )
-    {
-    if( iCpsInterface )
-        {
-        CLiwGenericParamList& inparam = iServiceHandler->InParamListL();
-        CLiwGenericParamList& outparam = iServiceHandler->OutParamListL();
-    
-        TLiwGenericParam cptype( KType, TLiwVariant( KCpData ));
-        cptype.PushL();
-        
-        inparam.AppendL( cptype );
-        
-        CLiwDefaultMap* cpdatamap = CLiwDefaultMap::NewLC();
-        CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-        
-        // Add data to data map
-        map->InsertL( aDataKey,  TLiwVariant( aData ));
-    
-        // Create content data map
-        cpdatamap->InsertL( KPublisherId, TLiwVariant( aPublisherId ));
-        cpdatamap->InsertL( KContentTypeId, TLiwVariant( aContentType )); 
-        cpdatamap->InsertL( KContentId, TLiwVariant( aContentId ));
-        cpdatamap->InsertL( KDataMap, TLiwVariant(map) );
-                
-        TLiwGenericParam item( KItem, TLiwVariant( cpdatamap ));     
-        item.PushL(); 
-           
-        inparam.AppendL( item );
-        
-        iCpsInterface->ExecuteCmdL( KAdd, inparam, outparam);
-    
-        CleanupStack::PopAndDestroy( 4, &cptype ); // &item, map, cpdatamap,
-    
-        outparam.Reset();
-        inparam.Reset();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CXnTextEditorPublisher::RemoveDataFromCpsL( const TDesC& aPublisherId, 
-    const TDesC& aContentType, const TDesC& aContentId )
-    {
-    if( iCpsInterface && iServiceHandler )
-        {   
-        CLiwGenericParamList& inparam = iServiceHandler->InParamListL();
-        CLiwGenericParamList& outparam = iServiceHandler->OutParamListL();
-
-        TLiwGenericParam cptype( KType, TLiwVariant( KCpData ));
-        cptype.PushL();
-        inparam.AppendL( cptype );
-        
-        CLiwDefaultMap* cpdatamap = CLiwDefaultMap::NewLC();
-        cpdatamap->InsertL( KPublisherId, TLiwVariant( aPublisherId ));
-        cpdatamap->InsertL( KContentTypeId, TLiwVariant( aContentType )); 
-        cpdatamap->InsertL( KContentId, TLiwVariant( aContentId ));
-        
-        TLiwGenericParam item( KItem, TLiwVariant( cpdatamap ));
-        item.PushL(); 
-        inparam.AppendL( item );
-                
-        iCpsInterface->ExecuteCmdL( KDelete, inparam, outparam );
-
-        CleanupStack::PopAndDestroy( 3, &cptype ); // cpdatamap, &item
-        outparam.Reset();
-        inparam.Reset();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Gets the CPS messaging interface
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorPublisher::InitCpsInterfaceL()
-    {
-    if( !iServiceHandler )
-        {
-        iServiceHandler = CLiwServiceHandler::NewL();
-        }
-    
-    CLiwGenericParamList& inParam = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParam = iServiceHandler->OutParamListL();
-    
-    RCriteriaArray a;
-    TCleanupItem item( DoResetAndDestroy, &a );
-    CleanupStack::PushL( item );
-    
-    CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC( KLiwCmdAsStr, KCPInterface,
-        KCPService  );
-    crit->SetServiceClass( TUid::Uid(KLiwClassBase) );
-    
-    a.AppendL(crit);    
-    
-    CleanupStack::Pop( crit );
-    
-    iServiceHandler->AttachL(a);
-    iServiceHandler->ExecuteServiceCmdL( *crit, inParam, outParam ); 
-    
-    CleanupStack::PopAndDestroy(); // item;
-        
-    // find service interface
-    TInt pos = 0;
-    MLiwInterface* msgInterface = NULL;
-    outParam.FindFirst( pos, KCPInterface );
-    if ( pos != KErrNotFound ) 
-        {
-        msgInterface = (outParam)[pos].Value().AsInterface(); 
-        }
-    outParam.Reset();
-    inParam.Reset();
-    iCpsInterface = msgInterface;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorPublisher::HandleEdwinEventL
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorPublisher::HandleEdwinEventL(CEikEdwin* aEdwin, TEdwinEvent aEventType)
-    {
-    if( aEventType == MEikEdwinObserver::EEventTextUpdate)
-        {
-        TPtr bufferDes = iTextBuffer->Des();
-        bufferDes.Zero();
-        aEdwin->GetText( bufferDes );
-        PublishTextL( bufferDes );
-        }         
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextEditorPublisher::PublishTextL
-// -----------------------------------------------------------------------------
-//
-void CXnTextEditorPublisher::PublishTextL( const TDesC& aText )
-    {      
-    AddDataToCpsL( KAI3HSPublisher, KContentType, iNodeId->Des(), KData, aText );    
-    }
-
-// END OF FILE
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  Building information file
-'*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xntextfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/group/xntextfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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:  
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3textfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_TEXTFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          xntextfactory.cpp
-SOURCE          xntext.cpp
-SOURCE          xntextadapter.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib  
-LIBRARY         eikcoctl.lib
-LIBRARY         cone.lib
-LIBRARY         gdi.lib
-LIBRARY         bitgdi.lib
-LIBRARY         fbscli.lib
-LIBRARY         egul.lib
-LIBRARY         charconv.lib
-LIBRARY         aknskins.lib
-LIBRARY         xn3layoutengine.lib
-LIBRARY         xn3utils.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY         fntstr.lib
-LIBRARY         aknpictograph.lib
-LIBRARY         avkon.lib
-LANG            SC
-
-START RESOURCE        xn3textfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3textfactory.rsc
-#endif
-END
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/inc/xntextadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Wrapper class for CEikLabel.
-*
-*/
-
-
-
-#ifndef _XNTEXTADAPTER_H
-#define _XNTEXTADAPTER_H
-
-//  INCLUDES
-#include "xncontroladapter.h"
-#include <e32base.h>
-#include <eiklabel.h>
-#include <AknPictographDrawerInterface.h> // for japanese variants
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-class CAknPictographInterface;
-
-// CLASS DECLARATION
-/**
-*  @ingroup group_xntextfactory
-*  @lib xn3textfactory.lib
-*  @since Series 60 3.1
-*/
-class CXnTextAdapter : public CXnControlAdapter,
-					   public MAknPictographAnimatorCallBack
-   {
-public:
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnTextAdapter* NewL(CXnControlAdapter* aParent, CXnNodePluginIf& aNode);
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnTextAdapter();
-
-public: // New functions
-    /**
-     * Sets the new content to the underlying CEikLabel
-     * @param aText The new content
-     */
-	void SetTextL(const TDesC& aText);
-	
-	/**
-	 * Returns the text contained in the underlying CEikLabel
-	 * @return TDesC* The text
-	 */
-	const TDesC* Text() const;
-
-public: // from base classes
-	TInt CountComponentControls() const;
-	CCoeControl* ComponentControl(TInt aIndex) const;
-    virtual void SizeChanged();
-    virtual void SkinChanged();
-    
-    /**
-    * From CXnControlAdapter Handles the property changes.
-    * @since Series 60 3.1
-    * @return void.
-    */  
-    void DoHandlePropertyChangeL(CXnProperty* aProperty = NULL); 
-    
-    /**
-    * From CCoeControl Handles the resource change.
-    * @since Series 60 3.1
-    * @param aType A type of the resource change
-    * @return void.
-    */
-    void HandleScreenDeviceChangedL();
-
-    /**
-    * See CCoeControl documentation
-    */    	
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-    
-    /**
-    * See MAknPictographInterface documentation
-    */
-    void DrawPictographArea();
-
-    /**
-    * See CXnControlAdapter documentation
-    */    	   
-    TSize MeasureAdaptiveContentL( const TSize& aAvailableSize );
-    
-private:
-
-	CXnTextAdapter(CXnControlAdapter* aParent, CXnNodePluginIf& aNode);
-	void ConstructL();
-	void ConstructTextL();
-    virtual void Draw(const TRect& aRect) const;
-    
-    void UpdateBackgroundL() const;
-    void DrawBackground(const TRect& aRect, CWindowGc& aGc) const;
-    TInt RestrictSizeL();
-    
-    void SetLineSpacingL( TInt aReference );
-    TSize MeasureTextL( const TSize& aAvailableSize );
-    void UpdateTextL( const TDesC* aText );
-    void UpdateTextL( const TDesC8& aText );
-
-	/**
-	 * Sets text properties, such as color, font, etc.
-     * @param aNode UI node
-     * @return ETrue if text needs reconstruction, EFalse otherwise
-	 */
-	TBool SetTextPropertiesL( CXnNodePluginIf& aNode );	
-    
-   	/**
-    * Same as SizeChanged(), but this is an L function.
-    */
-    void SizeChangedL();
-
-	
-private:
-    CEikLabel*                  iLabel;         // Label to draw text    
-    CXnControlAdapter*  		iParent;        // Parent control, not owned
-    CXnNodePluginIf&    		iNode;          // UI node, not owned
-    CFont*              		iFont;          // Used font, owned    
-    TBool               		iReleaseFont;   // Whether the font needs to be released or not.
-    TUint8               		iFlags;         // Flags for text properties
-    CAknPictographInterface* 	iPictographInterface; // Pictograph interface.    
-    CWindowGc*					iGc;            // Window graphics context. Not own.
-    mutable CFbsBitmap*			iBackgroundBitmap; // Pointer to background bitmap. Own.
-    TInt                        iMaxLines;      //Max lines for wrapped text string    
-    HBufC*                      iText;    
-   };
-
-
-
-#endif      // XNTEXTADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/inc/xntextfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Factory for creating CXnText -component
-*
-*/
-
-
-
-#ifndef _XNTEXTFACTORY_H
-#define _XNTEXTFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-#include <e32base.h>
-#include <e32std.h>
-
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-
-// FORWARD DECLARATIONS
-class CXnComponent;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xntextfactory
-* 
-*  Component factory interface for creating UI representations of the elements.
-*  This class is wrapper for containing CEikLabel
-*
-*  @lib xn3textfactory.lib
-*  @since Series 60 3.1
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnTextFactory : public MXnComponentFactory, public CBase
-    {
-    public: // Data types
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnTextFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnTextFactory();
-
-
-    public: // Functions from base classes
-
-        /**
-        * Creates the Xuikon component for text component.
-        * @param aNode Corresponding DOM-node
-        * @param aTargetComponent Pointer reference to the component to be created.
-        */
-        virtual TXnComponentFactoryResponse MakeXnComponentL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnComponent*& aTargetComponent
-        										);
-        
-        /**
-        * Creates the control adapter for text component.
-        * @param aNode Corresponding DOM-node
-        */
-        virtual CXnControlAdapter* MakeXnControlAdapterL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnControlAdapter* aParent
-        										);
-
-    private:
-
-        /**
-        * 2nd phase constructor. 
-        */
-        void ConstructL();
-
-        /**
-        * C++ default constructor. 
-        */
-        CXnTextFactory();
-
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNTEXTFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xn3textfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 1020726D.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_TEXTFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_TEXTFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnText";
-                default_data = "text";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntext.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for wrapper for CEikLabel
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-#include "xncomponent.h"
-#include "xntext.h"
-#include "xntextadapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-
-
-// -----------------------------------------------------------------------------
-// CXnText::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnText* CXnText::NewL()
-    {
-	CXnText* self = new( ELeave ) CXnText;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnText::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnText::ConstructL()
-    {
-    CXnComponent::ConstructL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnText::ConstructL
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnText::CXnText()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnText::ConstructL
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnText::~CXnText()
-    {
-    }
-    
-// ---------------------------------------------------------
-// CXnText::SetTextL
-// ---------------------------------------------------------
-//
-void CXnText::SetTextL(const TDesC& aText)
-    {
-    (static_cast<CXnTextAdapter*>(ControlAdapter()))->SetTextL(aText);
-    }
-	
-// ---------------------------------------------------------
-// CXnText::Text
-// ---------------------------------------------------------
-//
-const TDesC* CXnText::Text()
-    {
-    return (static_cast<CXnTextAdapter*>(ControlAdapter()))->Text();   
-    }
-
-// ---------------------------------------------------------
-// ---------------------------------------------------------
-XnComponentInterface::MXnComponentInterface* CXnText::MakeInterfaceL(const TDesC8& aType)
-    {
-    if (aType != XnTextInterface::KType)
-        {
-        return NULL;
-        }
-    XnTextInterface::MXnTextInterface* textintr = static_cast<XnTextInterface::MXnTextInterface*>(this);
-    return textintr;
-    }        
--- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntextadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1155 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for wrapper for a label
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-#include <gulcolor.h>
-#include <utf.h>
-
-#include <AknsUtils.h>
-#include <AknPictographInterface.h> // for japanese variants.
-#include <AknBidiTextUtils.h>
-#include <AknUtils.h>
-#include <AknLayoutFont.h>
-
-#include "xnnodepluginif.h"
-#include "xndompropertyvalue.h"
-#include "xndomproperty.h"
-#include "xndomlist.h"
-#include "xnproperty.h"
-#include "xncomponent.h"
-#include "xnuienginepluginif.h"
-#include "xncomponent.h"
-#include "xncontroladapter.h"
-#include "c_xnutils.h"
-#include "xntype.h"
-#include "xntextadapter.h"
-#include "xncomponentnodeimpl.h"
-#include "xnviewnodeimpl.h"
-#include "xneditmode.h"
-
-namespace XnText
-    {
-    const TUint8 KClip = 0x01;   
-    const TUint8 KEllipse = 0x02; 
-    const TUint8 KWrap = 0x04;    
-    const TUint8 KOverflowVisible = 0x08; 
-    const TUint8 KLtr = 0x10;     
-    const TUint8 KConstructText = 0x20;
-
-    _LIT8( tooltip, "tooltip" );
-    _LIT8( clock, "clock" );
-    }
-    
-// -----------------------------------------------------------------------------
-// IsBitSet
-// Test whether bit is set in a flag
-// -----------------------------------------------------------------------------
-static TBool IsBitSet(TUint8 aBit,TUint8 aFlag)
-    {
-    return ( aFlag & aBit );    
-    }
-    
-// -----------------------------------------------------------------------------
-// SetLabelTextL
-// Prepares text to label, wraps or clips if needed
-// -----------------------------------------------------------------------------
-static void SetLabelTextL( CEikLabel& aLabel, const TDesC& aSource, TInt aMaxLineWidth, 
-                           TInt aMaxLines, TUint8 aFlags, TBool aMeasureOnly = EFalse )    
-    {   
-    // By default, let the label do the logical to visual conversion                
-    TBool conversion( ETrue );
-    
-    if( IsBitSet( XnText::KOverflowVisible, aFlags ) || aSource == KNullDesC )
-        {        
-        // no clipping or wrapping needed if,
-        // overflow is visible
-        // no text or no space,
-        // or text fits to given space
-        aLabel.SetTextL( aSource );                        
-        }
-    else
-        {
-        AknBidiTextUtils::TParagraphDirectionality dir( AknBidiTextUtils::EImplicit );
-        
-        const CFont* font( aLabel.Font() );
-        
-        HBufC* buffer( NULL );
-        
-        if( IsBitSet( XnText::KEllipse, aFlags ) )
-    	    {	    
-            buffer = aSource.AllocLC();
-    	    
-    	    TPtr ptr( buffer->Des() );
-    	    	    	    
-            AknBidiTextUtils::ConvertToVisualAndClipL(
-    	                ptr, *font, aMaxLineWidth, aMaxLineWidth, dir );
-
-            
-            // The text is already in visual form, no need for conversion
-            conversion = EFalse;            
-            
-            aLabel.SetTextL( *buffer );            
-            
-            CleanupStack::PopAndDestroy( buffer );	        	                                    
-    	    }
-    	else if( IsBitSet( XnText::KWrap, aFlags ) )
-    	    {        	    
-    	    if( aMaxLines > 0 )
-    	        {
-        	    CArrayFixFlat< TInt >* array = new ( ELeave ) CArrayFixFlat< TInt >( 8 );
-        	    CleanupStack::PushL( array );
-    	        
-        	    for( TInt i = 0; i < aMaxLines; i++ )
-        	        {
-        	        array->AppendL( aMaxLineWidth );
-        	        }
-        	        
-                buffer = HBufC::NewLC( aSource.Length() + aMaxLines * 
-                                        ( KAknBidiExtraSpacePerLine + 1 ) );
-                
-                TPtr ptr( buffer->Des() );
-                
-        	    AknBidiTextUtils::ConvertToVisualAndWrapToStringL(
-        	                aSource, *array, *font, ptr, ETrue, dir );    	        
-    	        }
-            else
-                {
-        	    CArrayFixFlat< TPtrC >* array = new ( ELeave ) CArrayFixFlat< TPtrC >( 8 );
-        	    CleanupStack::PushL( array );
-                
-                HBufC* temp = AknBidiTextUtils::ConvertToVisualAndWrapToArrayL(
-                            aSource, aMaxLineWidth, *font, *array, dir );
-                            
-                CleanupStack::PushL( temp );
-                
-                TInt lineCount( array->Count() );
-                
-                buffer = HBufC::NewLC( temp->Length() + ( lineCount - 1 ) );
-                
-                TPtr ptr( buffer->Des() );
-                                                
-                for( TInt i = 0; i < lineCount; i++ )
-                    {
-                    TPtrC line( array->At( i ) );
-                    
-                    ptr.Append( line );
-                    
-                    if( i + 1 < lineCount )
-                        {
-                        ptr.Append( '\n' );
-                        }                    
-                    }
-                    
-                CleanupStack::Pop();
-                CleanupStack::PopAndDestroy( temp );
-                CleanupStack::PushL( buffer );                                                    
-                }    	        
-
-            // The text is already in visual form, no need for conversion
-            conversion = EFalse;
-
-            aLabel.SetTextL( *buffer );            
-                        
-            CleanupStack::PopAndDestroy( 2 ); // buffer, array                                       
-    	    }
-        else
-            {
-            aLabel.SetTextL( aSource );            
-            }    	                   
-        } 
-    
-    if( !aMeasureOnly )
-        {     
-        // Text is truly set, set conversion and defer draw
-        aLabel.UseLogicalToVisualConversion( conversion );                    
-        }
-    }
-      
-// -----------------------------------------------------------------------------
-// CopyBitmapData
-// Copies a data from source bitmap to target bitmap.
-// -----------------------------------------------------------------------------
-//
-static TInt CopyBitmapData(
-    CFbsBitmap& aTarget,
-    const CFbsBitmap& aSource,
-    TPoint aSourcePoint)
-	{
-    TSize targetSize(aTarget.SizeInPixels());
-    TSize sourceSize(aSource.SizeInPixels());
-    TInt lineLength(targetSize.iWidth);
-    TInt maxSourceLineLength(sourceSize.iWidth - aSourcePoint.iX);
-    if(lineLength > maxSourceLineLength)
-        {
-        lineLength = maxSourceLineLength;
-        }
-    TInt rowCount(targetSize.iHeight);
-    TInt maxSourceRowCount(sourceSize.iHeight - aSourcePoint.iY);
-    if(rowCount > maxSourceRowCount)
-        {
-        rowCount = maxSourceRowCount;
-        }
-
-    // Get bitmap display mode
-	TDisplayMode displayMode(aSource.DisplayMode());
-
-    // Create buffer for a scan line
-	HBufC8* scanLine = HBufC8::New(
-        aSource.ScanLineLength(lineLength, displayMode));
-    if(!scanLine)
-    	{
-    	return KErrNoMemory;
-    	}
-     
-	TPtr8 scanPtr(scanLine->Des());
-
-    // Copy all rows to destination bitmap
-	for(TInt row(0); row < rowCount; row++)
-		{
-		aSource.GetScanLine(scanPtr,
-            TPoint(aSourcePoint.iX, aSourcePoint.iY + row),
-            lineLength, displayMode);
-		aTarget.SetScanLine(scanPtr, row);
-		}
-    delete scanLine;
-	return KErrNone;
-	}        
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnTextAdapter* CXnTextAdapter::NewL(CXnControlAdapter* aParent, CXnNodePluginIf& aNode)
-    {
-	CXnTextAdapter* self = new( ELeave ) CXnTextAdapter( aParent, aNode );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::CXnTextAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnTextAdapter::CXnTextAdapter(CXnControlAdapter* aParent, CXnNodePluginIf& aNode)
-    : iParent( aParent ), iNode( aNode )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::~CXnTextAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnTextAdapter::~CXnTextAdapter()
-    {    
-    delete iLabel;
-    
-    delete iText;
-    
-    if( iFont && iReleaseFont )
-        {
-        CWsScreenDevice* dev = iCoeEnv->ScreenDevice();
-        dev->ReleaseFont( iFont ); 
-        }
-        
-    if( iPictographInterface )
-    	{
-    	delete iPictographInterface;
-    	}
-
-    delete iBackgroundBitmap;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnTextAdapter::ConstructL()
-    {
-    iGc = &SystemGc();
-       
-    iLabel = new ( ELeave ) CEikLabel;
-    iLabel->SetContainerWindowL( *iParent );
-    iLabel->SetTextL( KNullDesC );
-    
-    CXnControlAdapter::ConstructL( iNode );
-            
-    iPictographInterface = CAknPictographInterface::NewL( *iLabel, *this );
-    iLabel->EnablePictographsL( *iPictographInterface );
-                            
-    SetTextPropertiesL( iNode );
-    UpdateTextL( iNode.GetPCData() );    
-	}
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::ConstructTextL
-// Construct the text component according to properties.
-// -----------------------------------------------------------------------------
-//    
-void CXnTextAdapter::ConstructTextL()
-    {   
-    if( !iText )        
-        {
-        // CEikLabel will panic in ::Draw if text is not set
-        SetLabelTextL( *iLabel, KNullDesC, 0, 0, 0 );
-        return;
-        }
-    
-    if( !( iFlags & XnText::KConstructText ) )
-        {
-        return;
-        }
-                                   
-    TRect rect( iNode.Rect() );
-
-	SetLineSpacingL( rect.Height() );
-	
-	TInt flags( iFlags );
-	               
-    // Now we must restrict side into parent        
-    flags = RestrictSizeL();
-                                                                                                                  
-    SetLabelTextL( *iLabel, *iText, iLabel->Rect().Width(), iMaxLines, flags );                       
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::SetTextPropertiesL
-// Sets text properties, such as color, font, etc.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CXnTextAdapter::SetTextPropertiesL( CXnNodePluginIf& aNode )
-    {
-    // Store current state
-    const CFont* font( iFont );
-    TInt flags( iFlags );
-    TInt maxLines( iMaxLines );
-    
-    if( iFont && iReleaseFont )
-        {
-        CWsScreenDevice* dev = iCoeEnv->ScreenDevice();
-        dev->ReleaseFont( iFont ); 
-        iFont = NULL;
-        }
-    
-    // Find out the font and set it
-    CXnUtils::CreateFontL( aNode, iFont, iReleaseFont );
-    iLabel->SetFont( iFont );
-    
-    // Turn off all graphic context effects
-    iLabel->SetUnderlining( EFalse );
-    iLabel->SetStrikethrough( EFalse );
-    
-    //following data types are used due to we are handling text via CEikLabel instead of direct
-    //font color and effects manipulation via graphics context.
-    //We manipulate pen and brush colors indirectly via
-    //Label's OverrideColorL method applying EColorControlBackground and EColorLabelText parameters
-    //with corresponding RGB value.
-    TRgb textColor;
-    TRgb effectsColor;
-    TBool textColorSet( EFalse );
-    TBool effectsColorSet( EFalse );
-    TBool effectsDevColorSet( EFalse );
-    
-    CXnProperty* colorProperty = aNode.GetPropertyL( XnPropertyNames::appearance::common::KColor );
-    
-    if( colorProperty != NULL )
-        {
-        CXnDomProperty* domProperty = colorProperty->Property();
-        
-        if( domProperty )
-            {
-            TInt error( KErrNotSupported );
-
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >
-                                            ( domProperty->PropertyValueList().Item( 0 ) );
-            
-            if( value->IsAutoIdent() )
-                {
-                MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                error = AknsUtils::GetCachedColor(skinInstance, textColor, KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG6);
-                }
-            else if( value->PrimitiveValueType() == CXnDomPropertyValue::ERgbColor )
-                {
-                textColor = value->RgbColorValueL();
-                error = KErrNone;
-                }
-            else
-            	{
-                HBufC* colorString = colorProperty->StringValueL();
-                CleanupStack::PushL( colorString );
-                
-                CXnUtils::StripQuotes( colorString );
-                
-                TInt index = 0;
-                TAknsItemID skinID;
-                
-                TBool idResolved = CXnUtils::ResolveSkinItemIDL( colorString->Des(), skinID, index );
-                
-                if( idResolved )
-                	{
-                	MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                	error = AknsUtils::GetCachedColor( skinInstance, textColor, skinID, index );
-                	}
-                else // use auto value if skin id is invalid.
-                	{
-	                MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-	                error = AknsUtils::GetCachedColor(skinInstance, textColor, KAknsIIDQsnTextColors,
-	                EAknsCIQsnTextColorsCG6);
-	                }
-            	CleanupStack::PopAndDestroy( colorString );                	
-            	}
-            if (error == KErrNone)
-                {
-                textColorSet = ETrue;
-                }
-            }
-        }
-    
-    CXnProperty* effectsProperty = aNode.GetPropertyL(XnPropertyNames::appearance::common::KTextEffects);
-    if ( effectsProperty )
-        {
-        TInt error(KErrNotSupported);
-        effectsDevColorSet = ETrue; //some color needed, device color by default
-        CXnProperty* effectsColorProperty = aNode.GetPropertyL(XnPropertyNames::appearance::common::KEffectsColor);
-        if (effectsColorProperty)
-            {
-            CXnDomProperty* domProperty = effectsColorProperty->Property();
-            if( domProperty )
-                {
-                CXnDomPropertyValue* value = static_cast<CXnDomPropertyValue*>(domProperty->PropertyValueList().Item(0));
-                    if (value->IsAutoIdent())
-                        {
-                        MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                        error = AknsUtils::GetCachedColor(skinInstance, effectsColor, KAknsIIDQsnTextColors,
-                        EAknsCIQsnTextColorsCG6);
-                        }
-                    else if (value->PrimitiveValueType() == CXnDomPropertyValue::ERgbColor)
-                        {
-                        effectsColor = value->RgbColorValueL();
-                        error = KErrNone;
-                        }
-                        else
-                        	{
-                            HBufC* colorString = effectsColorProperty->StringValueL();
-                            CleanupStack::PushL( colorString );
-                            CXnUtils::StripQuotes( colorString );
-                            
-                            TInt index = 0;
-                            TAknsItemID skinID;
-                            
-                            TBool idResolved = CXnUtils::ResolveSkinItemIDL( colorString->Des(), skinID, index );
-                            if( idResolved )
-                            	{
-                            	MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-                            	error = AknsUtils::GetCachedColor( skinInstance, effectsColor, skinID, index );
-                            	}
-                            else // use auto value if skin id is invalid.
-                            	{
-            	                MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-            	                error = AknsUtils::GetCachedColor(skinInstance, effectsColor, KAknsIIDQsnTextColors,
-            	                EAknsCIQsnTextColorsCG6);
-            	                }
-                        	CleanupStack::PopAndDestroy( colorString );                	
-                        	}
-                if ( error == KErrNone )
-                	{
-                    effectsColorSet = ETrue; //theme color found
-                    effectsDevColorSet = EFalse;//device color not needed
-                    }
-                }
-            }
-        }
-
-    if ( textColorSet )
-        {
-        if ( effectsColorSet )
-            {//theme font color and theme effects color
-            iLabel->OverrideColorL(EColorControlBackground, textColor);
-            iLabel->OverrideColorL(EColorLabelText, effectsColor);
-            }
-        else if ( effectsDevColorSet )
-            {//theme font color and device effects color
-            iLabel->OverrideColorL(EColorControlBackground, textColor);
-            }
-        else
-            {//theme font color, but no effects defined
-            iLabel->OverrideColorL(EColorLabelText, textColor);
-            }
-        }
-    else if ( effectsColorSet )
-            {//device font color and theme effects color
-            iLabel->OverrideColorL(EColorLabelText, effectsColor);
-            }//else device font color and device effects color (default)
-
-    CXnProperty* textDecorationProp = aNode.GetPropertyL( XnPropertyNames::appearance::common::KTextDecoration );
-    
-    if( textDecorationProp )
-        {
-        CXnDomList& propertyValueList = textDecorationProp->Property()->PropertyValueList();
-        
-        TInt valueCount = propertyValueList.Length();
-        
-        for( TInt i = 0; i < valueCount; ++i )
-            {
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >( propertyValueList.Item( i ) );
-            
-            if( value->StringValueL() == XnPropertyNames::appearance::common::textdecoration::KUnderline )
-                {
-                iLabel->SetUnderlining( ETrue );
-                }
-
-            if( value->StringValueL() == XnPropertyNames::appearance::common::textdecoration::KLinethrough )
-                {
-                iLabel->SetStrikethrough( ETrue );
-                }
-            }
-        }
-       
-    iFlags = 0;
-    iFlags |= XnText::KEllipse; //default
-    iFlags |= XnText::KLtr; 
-    iMaxLines = 0;
-    
-    TGulAlignmentValue alignment = CXnUtils::TextAlignment( aNode );
-    
-    TInt labelAlignment( ELayoutAlignLeft ); // all are vertically top aligned by default (avkon)
-    
-    switch( alignment )
-        {
-        case EHCenterVCenter:            
-            labelAlignment = ELayoutAlignCenter;                 
-            break;
-        case EHRightVCenter:            
-            labelAlignment = ELayoutAlignRight;                
-            break;
-        default: 
-            break;    
-        }
-    
-    iLabel->SetLabelAlignment( labelAlignment ); // avkon extension needs this, it modifys horizontal alignment
-    iLabel->SetAlignment( alignment ); // call to have vertical alignment
-  
-    CXnProperty* direction = iNode.GetPropertyL( XnPropertyNames::style::common::KDirection );
-    const TDesC8* directionValue = &XnPropertyNames::style::common::direction::KLTR;
-    
-    if( direction )
-        {
-        directionValue = &direction->StringValue();    
-        }
-    
-    if( *directionValue == XnPropertyNames::style::common::direction::KRTL )
-        {
-        iLabel->SetLabelAlignment( ELayoutAlignBidi );     
-        iFlags &= ~XnText::KLtr;
-        }
-        	            
-    CXnProperty* overflowProp = aNode.GetPropertyL( XnPropertyNames::appearance::common::KTextOverflowMode );
-    
-    if( overflowProp )
-        {
-        CXnDomList& propertyValueList = overflowProp->Property()->PropertyValueList();
-        
-        TInt valueCount = propertyValueList.Length();
-        
-        for( TInt i = 0; i < valueCount; ++i )
-            {
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >( propertyValueList.Item( i ) );
-            
-            if( value->StringValueL() == XnPropertyNames::appearance::common::textoverflow::KClipMode )
-                {
-                iFlags |= XnText::KClip;
-                iFlags &= ~XnText::KWrap;
-                iFlags &= ~XnText::KEllipse;                
-                }
-            else if( value->StringValueL() == XnPropertyNames::appearance::common::textoverflow::KWrapMode )
-                {
-                iFlags |= XnText::KWrap;
-                iFlags &= ~XnText::KClip;
-                iFlags &= ~XnText::KEllipse;
-                }                
-            }
-            
-        //Get max lines amount for wrap
-        if( iFlags & XnText::KWrap )
-            {
-            CXnProperty* maxlinesProp = aNode.GetPropertyL( XnPropertyNames::appearance::common::textoverflow::KMaxLineAmount );
-            
-            if( maxlinesProp )
-                {
-                iMaxLines = static_cast< TInt >( maxlinesProp->FloatValueL() );
-                }
-            }
-        }
-        
-    CXnProperty* overflowProperty = iNode.GetPropertyL( XnPropertyNames::style::common::KOverflow );
-    
-    if( overflowProperty )
-        {
-        const TDesC8& overflowValue = overflowProperty->StringValue();
-        
-        if( overflowValue == XnPropertyNames::style::common::visibility::KVisible )
-            {
-            iFlags |= XnText::KOverflowVisible;
-            }
-        }
-        
-    if( flags & XnText::KConstructText )
-        {
-        iFlags |= XnText::KConstructText;
-        }
-        
-    if( font != iFont || flags != iFlags || maxLines != iMaxLines )
-        {
-        return ETrue;
-        }
-        
-    return EFalse;        
-    }
-        
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::SetTextL
-// Sets the new content to the underlying CEikLabel
-// -----------------------------------------------------------------------------
-//
-void CXnTextAdapter::SetTextL( const TDesC& aText )
-    {      
-    UpdateTextL( &aText );          
-    }
-	
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::Text
-// Returns the text contained in the underlying CEikLabel
-// -----------------------------------------------------------------------------
-//
-const TDesC* CXnTextAdapter::Text() const
-    {
-    if( iFlags & XnText::KConstructText )
-        {
-        return iText;
-        }
-    else
-        {
-        return iLabel->Text();
-        }            
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::CountComponentControls
-// Returns the number of component controls.
-// -----------------------------------------------------------------------------
-//
-TInt CXnTextAdapter::CountComponentControls() const
-    {
-    return 1;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::ComponentControl
-// Returns the component control of the given index
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CXnTextAdapter::ComponentControl(TInt aIndex) const
-    {
-    if( aIndex == 0 )
-        {
-        return iLabel;
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::DoHandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CXnTextAdapter::DoHandlePropertyChangeL(CXnProperty* aProperty)
-    {        
-    if( aProperty )
-        {
-        const TDesC8& name( aProperty->Property()->Name() );
-        
-        if( name == XnPropertyNames::style::common::KDisplay || 
-            name == XnPropertyNames::style::common::KVisibility ||
-            name == XnPropertyNames::style::common::KWidth ||
-            name == XnPropertyNames::style::common::KHeight )
-            {
-            return;
-            }
-        
-        if( name == XnPropertyNames::common::KPCData )
-            {
-            UpdateTextL( iNode.GetPCData() );
-            }
-        }
-               
-    if( SetTextPropertiesL( iNode ) )
-        {
-        iFlags |= XnText::KConstructText;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CXnTextAdapter::HandleScreenDeviceChangedL()
-    {
-    if( SetTextPropertiesL( iNode ) )
-        {
-        iFlags |= XnText::KConstructText;
-        }
-
-    CXnControlAdapter::HandleScreenDeviceChangedL();        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::HandlePointerEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-void CXnTextAdapter::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-	if( AknLayoutUtils::PenEnabled() )
-	    {
-	    CXnControlAdapter::HandlePointerEventL( aPointerEvent );
-	    }
-    }
-
-// ---------------------------------------------------------
-// CXnTextAdapter::SizeChanged()
-// Called by framework when the view size is changed
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CXnTextAdapter::SizeChanged()
-    {
-    TRAP_IGNORE( SizeChangedL() );
-    }
-    
- // ---------------------------------------------------------
-// CXnTextAdapter::SizeChangedL()
-// ---------------------------------------------------------
-//
-void CXnTextAdapter::SizeChangedL()
-    {
-    if( SetTextPropertiesL( iNode ) )
-        {
-        iFlags |= XnText::KConstructText;
-        }
-    
-    TRect rect( iNode.Rect() );
-
-    TRect labelRect( iLabel->Rect() );
-    iLabel->SetRect( rect );
-    
-    if( iText )
-        {
-    	TInt textWidth( iLabel->Font()->TextWidthInPixels( *iText ) );
-           
-        TInt rectWidth( rect.Width() );
-                
-        if( iFlags & XnText::KOverflowVisible ) 
-            {            
-            TBool isTooltip( iNode.ParentL()->Type()->Type() == XnText::tooltip );
-
-            // Tooltip can grow and shrink, others just grow                        
-            if( isTooltip || textWidth > rectWidth ) 
-                {    
-                rect = Rect();
-                                        
-                TInt dx( textWidth - rectWidth );
-                                                                                                                        
-                if( dx != 0 )
-                    {                
-                    rect.Resize( dx, 0 );
-                    SetSizeWithoutNotification( rect.Size() );                                                                
-
-                    // Update                 
-                    iLabel->SetRect( rect );                               
-                    }                       
-                }
-            }            
-        }
-    if( labelRect != iLabel->Rect() )
-    	{
-        iFlags |= XnText::KConstructText;
-    	}
-    }
-
-// ---------------------------------------------------------
-// CXnTextAdapter::SkinChanged()
-// Called by framework when the skin is changed
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CXnTextAdapter::SkinChanged()
-    {    
-    TRAP_IGNORE
-        ( 
-        if( SetTextPropertiesL( iNode ) )
-            {
-            iFlags |= XnText::KConstructText;
-            }
-        );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::Draw
-// Draws the text component
-// -----------------------------------------------------------------------------
-//
-void CXnTextAdapter::Draw(const TRect& aRect) const
-    {   
-    CXnTextAdapter* adapter = const_cast< CXnTextAdapter* >( this );
-
-    if( iFlags & XnText::KConstructText )
-        {
-        TRAPD( err, adapter->ConstructTextL() );                        
-        
-        adapter->iFlags &= ~XnText::KConstructText;
-        
-        if( err )
-            {
-            return;
-            }
-        }
-                               
-    CXnControlAdapter::Draw( aRect );
-    
-    if( iPictographInterface )
-    	{
-	    TRAP_IGNORE( UpdateBackgroundL() );
-	    iGc->BitBlt( iNode.Rect().iTl, iBackgroundBitmap );
-    	}
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::DrawPictographArea
-// Draws the text component
-// -----------------------------------------------------------------------------
-//    
-void CXnTextAdapter::DrawPictographArea()
-    {
-    DrawNow();	
-    }
-	
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::UpdateBackgroundL
-// -----------------------------------------------------------------------------
-//   	
-void CXnTextAdapter::UpdateBackgroundL() const
-	{
-	CGraphicsDevice* gdevice = iGc->Device();
-	TDisplayMode displayMode = gdevice->DisplayMode();
-	
-	// create "screenshot" from the background appearance
-	if( iBackgroundBitmap )
-		{
-		delete iBackgroundBitmap;
-		iBackgroundBitmap = NULL;
-		}
-
-	iBackgroundBitmap = new (ELeave) CFbsBitmap();
-	iBackgroundBitmap->Create( iNode.Rect().Size(), displayMode );
-	CFbsBitmap* tmpBitmap = new (ELeave) CFbsBitmap;
-	CleanupStack::PushL( tmpBitmap );
-	
-	CWsScreenDevice* scrDevice = static_cast<CWsScreenDevice*>( iGc->Device() );
-	TSize tmpSize = scrDevice->SizeInPixels();
-	tmpBitmap->Create( tmpSize, displayMode );
-	
-	CFbsBitmapDevice* tmpDevice = CFbsBitmapDevice::NewL( tmpBitmap );
-	CleanupStack::PushL( tmpDevice );
-	CBitmapContext* bc( NULL );
-	tmpDevice->CreateBitmapContext( bc );
-	CleanupStack::PushL( bc );
-	DrawBackground( iNode.Rect(), reinterpret_cast<CWindowGc&>( *bc ) );
-	CopyBitmapData( *iBackgroundBitmap, *tmpBitmap, iNode.Rect().iTl );
-	CleanupStack::PopAndDestroy( 3 );
-	}
-	
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::DrawBackground
-// -----------------------------------------------------------------------------
-//   	
-void CXnTextAdapter::DrawBackground(const TRect& aRect, CWindowGc& aGc) const
-	{
-	RPointerArray<CXnControlAdapter> adapters;
-
-	for( CXnNodePluginIf* node = &iNode; node; )
-		{
-        TRAP_IGNORE( 
-		    CXnControlAdapter* adapter( node->Control() );
-
-		    if ( adapter )
-    		    {
-	    	    adapters.AppendL( adapter );  
-		        }
-
-		    node = node->ParentL()
-		    );
-        }
-
-    for( TInt i = adapters.Count() - 1; i >= 0; --i )
-        {
-        adapters[i]->Draw( aRect, aGc );
-        }
-
-    adapters.Reset();
-	}    
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::MeasureAdaptiveContentL
-// -----------------------------------------------------------------------------
-// 
-TSize CXnTextAdapter::MeasureAdaptiveContentL( const TSize& aAvailableSize )
-    {         
-    TSize size;
-    
-    if( ( aAvailableSize.iWidth > 0 ) && ( aAvailableSize.iHeight > 0 ) )
-        {  
-        size = MeasureTextL( aAvailableSize );           
-        }
-        
-    return size;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::RestrictSizeL
-// -----------------------------------------------------------------------------
-//     
-TInt CXnTextAdapter::RestrictSizeL()
-    {        
-    CXnNodePluginIf* parent( iNode.ParentL() );
-    
-    if( !parent )
-        {
-        // No parent where to restrict own size
-        return iFlags;
-        }
-       
-    TRect parentRect( parent->Rect() );
-    
-    if( parentRect.IsEmpty() )
-        {
-        return iFlags;
-        }
-    
-    TRect rect( Rect() );
-    
-    TInt dx( 0 );
-    TInt dy( 0 );
-            
-    // Restrict own size inside parent rect to prevent flowing outside parent's rect
-    if( rect.iBr.iX > parentRect.iBr.iX )
-        {
-        dx = rect.iBr.iX - parentRect.iBr.iX;       
-        }
-        
-    if( rect.iBr.iY > parentRect.iBr.iY )
-        {
-        dy = rect.iBr.iY - parentRect.iBr.iY;
-        }
-
-    if( dx == 0 && dy == 0 )
-        {
-        // No need to change sizes
-        return iFlags;
-        }
-                
-    TInt flags( iFlags );
-    
-    if( parent->Type()->Type() == XnText::tooltip )
-        {
-        // Remove temporarily to allow tooltip truncation
-        flags &= ~XnText::KOverflowVisible;
-        }
-    
-    // Clip text again, parent size restriction may result in re-clipping    
-    if( !IsBitSet( XnText::KOverflowVisible, flags ) )
-        {
-        TSize size( rect.Size() );
-        
-        size.iWidth -= dx;
-        size.iHeight -= dy;
-        
-        // Update own size ...    
-        SetSizeWithoutNotification( size );
-
-        // ... and label        
-        rect = iLabel->Rect();
-        
-        rect.Resize( -dx, -dy );
-            
-        iLabel->SetRect( rect );               
-        }
-        
-    return flags;                                
-    }
-        
-// -----------------------------------------------------------------------------
-// CXnTextAdapter::SetLineSpacingL
-// -----------------------------------------------------------------------------
-//     
-void CXnTextAdapter::SetLineSpacingL( TInt aReference )
-    {
-    // Set linespacing, one pixel is the default
-    TInt lineSpace( 1 );
-    
-    CXnProperty* lineSpaceProp( 
-        iNode.GetPropertyL( XnPropertyNames::appearance::common::KFontLineSpace ) );
-
-    if( lineSpaceProp )
-        {        
-        lineSpace = iNode.UiEngineL()->VerticalPixelValueL( lineSpaceProp, aReference );
-        }
-        
-    if( lineSpace < 1 )
-        {
-        // Must be at least 1
-        lineSpace = 1;
-        }
-
-    const CAknLayoutFont* layoutFont( CAknLayoutFont::AsCAknLayoutFontOrNull( iFont ) );         
-        
-    if( layoutFont )
-        {
-        TInt textPaneHeight = layoutFont->TextPaneHeight();
-        
-        lineSpace += ( textPaneHeight - iFont->HeightInPixels() );        
-        }
-    /* end of CEikLabel fix */        
-    
-    iLabel->SetPixelGapBetweenLines( lineSpace );   
-    }
-
-// -----------------------------------------------------------------------------
-// MeasureTextL
-// Measures the text dimensions fitted to available size
-// -----------------------------------------------------------------------------
-//    
-TSize CXnTextAdapter::MeasureTextL( const TSize& aAvailableSize )    
-    {
-    TSize size;
-    
-    if( !iText || *iText == KNullDesC )
-        {
-        return size;
-        }
-                                              
-    // Save the current text before measure
-    HBufC* original( iLabel->Text()->AllocLC() );
-
-    SetLineSpacingL( 0 );
-                                                                                                                                                      
-    SetLabelTextL( *iLabel, *iText, aAvailableSize.iWidth, iMaxLines, iFlags, ETrue );
-    
-    TPtrC text( *iLabel->Text() );
-                    
-    // help CEikLabel to calculate its content size more precisely
-    iLabel->iMargin.iBottom = iLabel->Font()->DescentInPixels();
-
-    // Get the size needed for the text                        
-    size = iLabel->CalcMinimumSize( text );            
-    
-    // Restore original text
-    iLabel->SetTextL( *original );
-    CleanupStack::PopAndDestroy( original );        
-           
-    return size;                            	                  
-    }
-
-// -----------------------------------------------------------------------------
-// UpdateTextL
-// -----------------------------------------------------------------------------
-//    
-void CXnTextAdapter::UpdateTextL( const TDesC8& aText )
-    {
-    HBufC* text( CnvUtfConverter::ConvertToUnicodeFromUtf8L( aText ) );
-    
-    CleanupStack::PushL( text );
-    
-    UpdateTextL( text );
-    
-    CleanupStack::PopAndDestroy( text );
-    }
-
-// -----------------------------------------------------------------------------
-// UpdateTextL
-// -----------------------------------------------------------------------------
-//    
-void CXnTextAdapter::UpdateTextL( const TDesC* aText )
-    {
-    if( aText )
-        {
-        if( iText && *iText == *aText )
-            {
-            // New text is same as current
-            return;
-            }
-            
-        if( iText && iText->Des().MaxLength() >= aText->Length() )
-            {
-            // New text fits to earlier allocated space
-            *iText = *aText;
-            }
-        else
-            {
-            // Need to reserve space for new text
-            delete iText;
-            iText = NULL;
-            iText = aText->AllocL();
-            }            
-           
-    	TPtr ptr( iText->Des() );
-    	
-    	CXnUtils::CollapseWhiteSpace( iNode, ptr );	             
-            
-        iFlags |= XnText::KConstructText;
-        
-        iNode.SetDirtyL();
-        
-        const TDesC8& parentType( iNode.ParentL()->Type()->Type() );
-        
-        if( parentType == XnText::tooltip )
-        	{
-        	// Force tooltip text size to be recalculted by layout algorithm
-        	SetSizeWithoutNotification( TSize() );
-        	}
-        else if( parentType == XnText::clock )
-            {
-            iNode.ParentL()->SetDirtyL();
-            }
-        }
-    }
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntextfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for factory creating CXnText-element
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "xntextfactory.h"
-#include "xntextadapter.h"
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-#include <aisystemuids.hrh>
-#include "xndomnode.h"
-
-#include "xntext.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-_LIT8(KXnText, "text");
-
-// -----------------------------------------------------------------------------
-// CXnEikLabelFactory::MakeXnComponentL
-// Creates the Xuikon component for label control
-// -----------------------------------------------------------------------------
-//
-MXnComponentFactory::TXnComponentFactoryResponse CXnTextFactory::MakeXnComponentL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnComponent*& aTargetComponent
-        								)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if(aNode.Type()->Type() == KXnText)
-        {
-    	  CXnText* container = CXnText::NewL();
-        aTargetComponent = static_cast<CXnComponent*>(container);
-  	    retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;
-	      return retVal;
-	    }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextFactory::MakeXnControlAdapterL
-// Creates the control adapter for label control
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnTextFactory::MakeXnControlAdapterL(
-                                        CXnNodePluginIf& aNode,
-                                        CXnControlAdapter* aParent)
-    {
-    return CXnTextAdapter::NewL(aParent, aNode);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnTextFactory* CXnTextFactory::NewL()
-    {
-    CXnTextFactory* self = new( ELeave ) CXnTextFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextFactory::CXnTextFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnTextFactory::CXnTextFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextFactory::~CXnTextFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnTextFactory::~CXnTextFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnTextFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnTextFactory::ConstructL()
-    {
-    }
-
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY(AI3_UID_RENDERING_PLUGIN_TEXTFACTORY_IMPLEMENTATION, CXnTextFactory::NewL) 
-#else
-    {{AI3_UID_RENDERING_PLUGIN_TEXTFACTORY_IMPLEMENTATION}, CXnTextFactory::NewL}
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:  Building information file
-*
-*/
-
-
-PRJ_PLATFORMS
-ARMV5 WINSCW
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xnviewfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/group/xnviewfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002-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:  ECOM-plugin for view-component
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3viewfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_VIEWFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src 
-SOURCE          viewfactory.cpp
-SOURCE          view.cpp
-SOURCE          viewcontrol.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib  
-LIBRARY         cone.lib
-LIBRARY         eikcore.lib
-LIBRARY         aknskins.lib
-LIBRARY         xn3layoutengine.lib
-LIBRARY         xn3utils.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY         ws32.lib
-
-START RESOURCE        xn3viewfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3viewfactory.rsc
-#endif
-END
-
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/inc/view.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Wrapper class for CAknView.
-*
-*/
-
-
-
-#ifndef _VIEWPLUGIN_H
-#define _VIEWPLUGIN_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "xncomponent.h"
-
-
-// CLASS DECLARATION   
-/**
-*  @ingroup group_xnviewfactory
-*  @lib xn3viewfactory.dll
-*  @since S6060 3.1
-*/ 
-class CXnViewPlugin : public CXnComponent
-   {
-public:
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnViewPlugin* NewL();
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnViewPlugin();
-
-private:
-
-	CXnViewPlugin();
-	void ConstructL();
-	
-private:
-   };
-
-#endif      // _VIEWPLUGIN_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/inc/viewcontrol.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Xuikon View plugin.
-*
-*/
-
-#ifndef _VIEWCONTROL_H
-#define _VIEWCONTROL_H
-
-//  System includes
-#include <e32base.h>
-
-// User includes
-#include "xncontroladapter.h"
-
-// Forward declarations
-class CXnNodePluginIf;
-
-// Class declaration
-/**
-*  @ingroup group_xnviewfactory
-*  @lib xn3viewfactory.dll
-*  @since S6060 3.1
-*/   
-class CViewControl : public CXnControlAdapter
-   {
-public: 
-    // Constructors and destructor
-    
-    /**
-     * 2 phase construction.
-     */
-    static CViewControl* NewL( CXnNodePluginIf& aNode );
-
-    /**
-     * Destructor.
-     */
-    ~CViewControl();
-
-private: 
-    // Constructor
-    CViewControl();
-    
-    void ConstructL( CXnNodePluginIf& aNode );
-   
-private:
-    // data
-    
-   };
-
-#endif      // _VIEWCONTROL_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/inc/viewfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Factory for creating CXnView -component
-*
-*/
-
-
-
-#ifndef _XNVIEWFACTORY_H
-#define _XNVIEWFACTORY_H
-
-//  INCLUDES
-#include "xncomponentfactory.h"
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-// FORWARD DECLARATIONS
-
-/**
-*  @ingroup group_xnviewfactory
-* 
-*  Layout Area UI factory interface for creating UI representations of the layout areas.
-*  This class is wrapper for containing a box
-*
-*  @lib xn3viewfactory.dll
-*  @since S6060 3.1
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnViewFactory : public MXnComponentFactory, public CBase
-    {
-    public: // Data types
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnViewFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnViewFactory();
-
-    public: // Functions from base classes
-
-        /**
-        * From MXnComponentFactory Interface for creating a view component.
-        * @since Series 60 3.1
-        * @param aNode Component's node.
-        * @param aTargetComponent Created component is set here.
-        * @return EXnFactoryResponseComponentConstructed if component created.
-        */
-        TXnComponentFactoryResponse MakeXnComponentL(
-                CXnNodePluginIf& aNode, CXnComponent*& aTargetComponent );
-
-
-        /**
-        * From MXnComponentFactory Interface for creating Ui control adapter.
-        * @since Series 60 3.1
-        * @param aNode Component's node.
-        * @param aParent Parent of the adapter, which is created here.
-        * @return Created control adapter.
-        */  
-        CXnControlAdapter* MakeXnControlAdapterL(CXnNodePluginIf& aNode,
-                                                 CXnControlAdapter* aParent = NULL);
-
-    private:
-
-        /**
-        * 2nd phase constructor. 
-        */
-        void ConstructL();
-
-        /**
-        * C++ default constructor. 
-        */
-        CXnViewFactory();
-
-    private:    // Data
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNVIEWFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/src/view.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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:  Implementation for wrapper for a box
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "view.h"
-#include "xncomponent.h"
-#include "xncontroladapter.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-
-
-// -----------------------------------------------------------------------------
-// CXnViewPlugin::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnViewPlugin* CXnViewPlugin::NewL()
-    {
-	CXnViewPlugin* self = new( ELeave ) CXnViewPlugin;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewPlugin::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnViewPlugin::ConstructL()
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnViewPlugin::ConstructL
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnViewPlugin::CXnViewPlugin()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewPlugin::ConstructL
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnViewPlugin::~CXnViewPlugin()
-    {
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/src/viewcontrol.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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:  Implementation for wrapper for a box
-*
-*/
-
-// System includes
-#include <e32base.h>
-#include <coecntrl.h>
-
-// User includes
-#include "viewcontrol.h"
-    
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CViewControl::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CViewControl* CViewControl::NewL(CXnNodePluginIf& aNode)
-    {
-	CViewControl* self = new( ELeave ) CViewControl;
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aNode );
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CViewControl::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CViewControl::ConstructL(CXnNodePluginIf& aNode)
-    {
-    CXnControlAdapter::ConstructL( aNode );
-    }
-    
-// -----------------------------------------------------------------------------
-// CViewControl::ViewControl
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CViewControl::CViewControl()
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// CViewControl::~ViewControl
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CViewControl::~CViewControl()
-    {    
-    }
-    
-//end of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/src/viewfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation for factory creating container for a box
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "viewfactory.h"
-#include "view.h"
-#include "viewcontrol.h"
-#include "xncontroladapter.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-#include "xntype.h"
-#include <aisystemuids.hrh>
-
-// CONSTANTS
-_LIT8(KView, "view");
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnViewFactory::MakeXnComponentL
-// Creates the Xuikon component for view control
-// -----------------------------------------------------------------------------
-//
-MXnComponentFactory::TXnComponentFactoryResponse CXnViewFactory::MakeXnComponentL(  
-    CXnNodePluginIf& aNode, CXnComponent*& aTargetComponent )
-    {     
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if( aNode.Type()->Type() == KView )
-        {
-        CXnViewPlugin* container = CXnViewPlugin::NewL();
-        aTargetComponent = static_cast< CXnComponent* >( container );
-        
-        return MXnComponentFactory::EXnFactoryResponseComponentConstructed;;
-	    }
-    
-    return MXnComponentFactory::EXnFactoryResponseComponentNotSupported;;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnViewFactory::MakeXnControlAdapterL
-// Creates the control adapter for view control
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnViewFactory::MakeXnControlAdapterL( 
-   CXnNodePluginIf& aNode,
-   CXnControlAdapter* /*aParent*/)
-    {
-    return CViewControl::NewL( aNode ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewFactory* CXnViewFactory::NewL()
-    {
-    CXnViewFactory* self = new( ELeave ) CXnViewFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewFactory::CXnViewFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnViewFactory::CXnViewFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewFactory::~CXnViewFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewFactory::~CXnViewFactory()
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnViewFactory::ConstructL()
-    {
-    }
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY(AI3_UID_RENDERING_PLUGIN_VIEWFACTORY_IMPLEMENTATION, CXnViewFactory::NewL) 
-#else
-    {{AI3_UID_RENDERING_PLUGIN_VIEWFACTORY_IMPLEMENTATION}, CXnViewFactory::NewL}
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
-
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnviewfactory/src/xn3viewfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 102049AE.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_VIEWFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_VIEWFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnView";
-                default_data = "view";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Building information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-xnvolumecontrolfactory.mmp
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/group/xnvolumecontrolfactory.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2002-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:  
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include        <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3volumecontrolfactory.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d AI3_UID_RENDERING_PLUGIN_VOLUMECONTROLFACTORY
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          xnvolumecontrolfactory.cpp
-SOURCE          xnvolumecontrol.cpp
-SOURCE          xnvolumecontroladapter.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib  
-LIBRARY         eikcoctl.lib
-LIBRARY         cone.lib
-LIBRARY         xn3layoutengine.lib
-LIBRARY         xn3utils.lib
-LIBRARY         xn3domdocument.lib
-LIBRARY         avkon.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib
-LANG            SC
-
-RESOURCE        xn3volumecontrol.rss
-
-START RESOURCE        xn3volumecontrolfactory.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET xn3volumecontrolfactory.rsc
-#endif
-END
\ No newline at end of file
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/inc/xnvolumecontrol.rsg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-#define R_XNVOLUMECONTROLDYNAMIC                  1
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/inc/xnvolumecontroladapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Wrapper class for AknVolumeControl
-*
-*/
-
-
-#ifndef _XNVOLUMECONTROLADAPTER_H
-#define _XNVOLUMECONTROLADAPTER_H
-
-//  INCLUDES
-#include <e32base.h>
-#include "xncontroladapter.h"
-
-// FORWARD DECLARATIONS
-class CXnNodePluginIf;
-class MXnVolumeControlObserver;
-class CAknVolumeControl;
-
-// CLASS DECLARATION
-/**
-*  @ingroup group_xnvolumecontrolfactory
-*  @lib xnvolumecontrol.lib
-*  @since Series 60 3.2
-*/
-class CXnVolumeControlAdapter : public CXnControlAdapter, public MCoeControlBackground
-   {
-public:
-	/**
-	 * 2 phase construction.
-	 */
-	static CXnVolumeControlAdapter* NewL(CXnControlAdapter* aParent, CXnNodePluginIf& aNode);
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CXnVolumeControlAdapter();
-
-public: // New functions
-    /**
-    * Sets the value of the volume control
-    * @param aValue new value
-    */
-	void SetValueL( TInt aValue );
-	
-    /**
-    * Returns the value of the volume control
-    */	
-	TInt ValueL();
-	
-    /**
-    * Sets the range for the volume control
-    * @param aMinimumValue Minimum value
-    * @param aMaximumValue Maximum value
-    */	
-	void SetRangeL( TInt aMimimumValue, TInt aMaximumValue );
-	
-    /**
-    * Returns the minimum and maximum value of the volume control range
-    * @param aMinimumValue minimum value reference
-    * @param aMaximumValue maximum value reference
-    */	
-	void GetRangeL( TInt& aMinimumValue, TInt& aMaximumValue );
-	
-	/**
-	* Sets the observer for the volume control
-	* @param pointer to the observer
-	*/ 
-	void SetObserver( MXnVolumeControlObserver* aObserver );
-	
-public: // from base classes
-
-    /**
-    * From CXnControlAdapter Handles the property changes.
-    * @since Series 60 3.1
-    * @return void.
-    */  
-    void DoHandlePropertyChangeL( CXnProperty* aProperty = NULL ); 
-    
-    /**
-    * From CCoeControl Handles the resource change.
-    * @since Series 60 3.1
-    * @param aType A type of the resource change
-    * @return void.
-    */
-    void HandleScreenDeviceChangedL();
-
-    /**
-    * See CCoeControl documentation
-    */    	
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-    
-    /**
-    * See CCoeControl documentation
-    */    
-    void SizeChanged();
-    
-    /**
-    * See CCoeControl documentation
-    */    
-    TInt CountComponentControls() const;
-    
-    /**
-    * See CCoeControl documentation
-    */    
-    CCoeControl* ComponentControl( TInt aIndex ) const;
-
-  	/**
-    * From MCoeControlBackground. Draws the background for a given control.
-    * @param aGc Graphics context used for drawing.
-    * @param aControl The control being drawn.
-    * @param aRect The area to be redrawn.
-  	*/
-  	void Draw( CWindowGc& aGc, const CCoeControl& aControl,
-  	           const TRect& aRect ) const;
-
-private:
-	CXnVolumeControlAdapter(CXnControlAdapter* aParent, CXnNodePluginIf& aNode);
-	
-	void ConstructL();
-	
-    virtual void Draw(const TRect& aRect) const;
-    
-    /**
-    * Returns the current volume value from property
-    */
-    TInt GetCurrentValueL();
-    
-    /**
-    * Notifies the observer with new volume value
-    */
-    void NotifyObserverL();
-
-	/**
-	 * Sets volume control CSS properties
-     * @param aNode UI Node
-     * @return void
-	 */
-	void SetVolumeControlPropertiesL();
-	
-	/**
-	* Constructs the volume control component from resource
-	*/
-	void ConstructVolumeControlL();
-	
-private:
-    CXnControlAdapter*  		iParent;        // Parent control, not owned
-    CXnNodePluginIf&    		iNode;          // UI node, not owned
-    CAknVolumeControl*			iVolumeControl; // Avkon Volume control. Owned.
-    MXnVolumeControlObserver*   iObserver;      // Observer. Not owned.
-    TRect                       iHitRect;       // Rect where pointer event previously hit
-    TInt                        iSteps;         // number of steps
-    TInt                        iMutedValue;    // previous value when muted
-    TBool                       iMuted;         // is muted?    
-    TBool                       iButton1Down;   // Button 1 is pressed down
-    
-   };
-
-#endif      // _XNVOLUMECONTROLADAPTER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/inc/xnvolumecontrolfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Factory for creating CXnVolumeControl -component
-*
-*/
-
-
-#ifndef _XNVOLUMECONTROLFACTORY_H
-#define _XNVOLUMECONTROLFACTORY_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-#include "xncomponentfactory.h"
-
-// FORWARD DECLARATIONS
-class CXnComponent;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnvolumecontrolfactory
-* 
-*  Component factory interface for creating UI representations of the elements.
-*  This class is wrapper for containing CEikLabel
-*
-*  @lib xnvolumecontrol.lib
-*  @since Series 60 3.2
-*/
-// inheritance order must be this, despite codescanner warnings
-class CXnVolumeControlFactory : public MXnComponentFactory, public CBase
-    {
-    public: // Data types
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CXnVolumeControlFactory* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnVolumeControlFactory();
-
-
-    public: // Functions from base classes
-
-        /**
-        * Creates the Xuikon component for text component.
-        * @param aNode Corresponding DOM-node
-        * @param aTargetComponent Pointer reference to the component to be created.
-        */
-        virtual TXnComponentFactoryResponse MakeXnComponentL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnComponent*& aTargetComponent
-        										);
-        
-        /**
-        * Creates the control adapter for text component.
-        * @param aNode Corresponding DOM-node
-        */
-        virtual CXnControlAdapter* MakeXnControlAdapterL( 
-                                                CXnNodePluginIf& aNode,
-                                                CXnControlAdapter* aParent
-        										);
-
-    private:
-
-        /**
-        * 2nd phase constructor. 
-        */
-        void ConstructL();
-
-        /**
-        * C++ default constructor. 
-        */
-        CXnVolumeControlFactory();
-
-    };
-    
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-
-#endif      // _XNVOLUMECONTROLFACTORY_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xn3volumecontrol.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-*
-*/
-#include <avkon.hrh>
-#include <avkon.rh>  // VOLUME
-#include <avkon.mbg> // bitmap IDs
-#include <uikon.hrh>
-
-RESOURCE VOLUME r_xnvolumecontroldynamic
-    {
-		flags=EDynRangeSettingsVolumeControl;
-    value=1;
-    bmpfile=AVKON_BITMAP_FILE;
-    bmpid=EMbmAvkonQgn_indi_speaker;
-    bmpmask=EMbmAvkonQgn_indi_speaker_mask;
-    }
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xn3volumecontrolfactory.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-*
-*/
-// 1020726F.RSS
-//
-#include <ecom/registryinfo.rh>
-#include <platform/mw/aisystemuids.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = AI3_UID_RENDERING_PLUGIN_VOLUMECONTROLFACTORY;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = AI3_UID_RENDERING_PLUGIN_VOLUMECONTROLFACTORY_IMPLEMENTATION;
-                version_no = 1;
-                display_name = "XnVolumeControl";
-                default_data = "slider";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xnvolumecontrol.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for wrapper for AknVolumeControl
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include "xncomponent.h"
-#include "xnvolumecontrol.h"
-#include "xnvolumecontroladapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnText::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControl* CXnVolumeControl::NewL()
-    {
-	CXnVolumeControl* self = new( ELeave ) CXnVolumeControl;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnText::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnVolumeControl::ConstructL()
-    {
-    CXnComponent::ConstructL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnText::ConstructL
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControl::CXnVolumeControl()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnText::ConstructL
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControl::~CXnVolumeControl()
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnVolumeControl::SetValue
-// -----------------------------------------------------------------------------
-//    
-void CXnVolumeControl::SetValue( TInt aValue )
-	{
-	TRAP_IGNORE( (static_cast<CXnVolumeControlAdapter*>( ControlAdapter() ) )->
-		SetValueL( aValue ) );
-	}
-	
-// -----------------------------------------------------------------------------
-// CXnVolumeControl::Value
-// -----------------------------------------------------------------------------
-//    	
-TInt CXnVolumeControl::Value()
-	{
-	TInt value = 0;
-	TRAPD( err, value = (static_cast<CXnVolumeControlAdapter*>( ControlAdapter() ) )->ValueL() );
-	if( !err )
-		{
-		return value;
-		}
-	else return KErrNotFound;
-	}
-     
-// -----------------------------------------------------------------------------
-// CXnVolumeControl::SetRange
-// -----------------------------------------------------------------------------
-//         
-void CXnVolumeControl::SetRange( TInt aMinimumValue, TInt aMaximumValue )
-	{
-	TRAP_IGNORE( (static_cast<CXnVolumeControlAdapter*>( ControlAdapter() ) )->
-		SetRangeL( aMinimumValue, aMaximumValue ) );
-	}
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControl::GetRange
-// -----------------------------------------------------------------------------
-//    
-void CXnVolumeControl::GetRange( TInt& aMinimumValue, TInt& aMaximumValue )
-	{
-	TRAP_IGNORE( (static_cast<CXnVolumeControlAdapter*>( ControlAdapter() ) )->
-		GetRangeL( aMinimumValue, aMaximumValue ) );
-	}
-	
-// -----------------------------------------------------------------------------
-// CXnVolumeControl::SetObserver
-// -----------------------------------------------------------------------------
-//  	
-void CXnVolumeControl::SetObserver( MXnVolumeControlObserver* aObserver )
-    {
-    (static_cast<CXnVolumeControlAdapter*>( ControlAdapter() ) )->SetObserver( aObserver );
-    }
-
-// ---------------------------------------------------------
-// CXnVolumeControl::MakeInterfaceL
-// ---------------------------------------------------------
-XnComponentInterface::MXnComponentInterface* CXnVolumeControl::MakeInterfaceL(const TDesC8& aType)
-    {
-    if (aType != XnVolumeControlInterface::KType)
-        {
-        return NULL;
-        }
-    XnVolumeControlInterface::MXnVolumeControlInterface* volumeIF = static_cast<XnVolumeControlInterface::MXnVolumeControlInterface*>(this);
-    return volumeIF;
-    }        
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xnvolumecontroladapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,552 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for wrapper for a volume control component
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-#include <barsc.h>
-#include <Aknvolumecontrol.h>
-
-#include "xnnodepluginif.h"
-#include "xndompropertyvalue.h"
-#include "xndomproperty.h"
-#include "xndomlist.h"
-#include "xnproperty.h"
-#include "xncomponent.h"
-#include "xnuienginepluginif.h"
-#include "xncomponentnodeimpl.h"
-#include "xncontroladapter.h"
-#include "xntype.h"
-
-#include "xnvolumecontroladapter.h"
-#include "xnvolumecontrolobserver.h"
-#include "xnvolumecontrol.rsg"
-
-_LIT( KResourceFileName, "z:\\resource\\plugins\\xn3volumecontrol.rsc" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::NewL
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControlAdapter* CXnVolumeControlAdapter::NewL(CXnControlAdapter* aParent, 
-                                                       CXnNodePluginIf& aNode)
-    {
-	CXnVolumeControlAdapter* self = new( ELeave ) CXnVolumeControlAdapter(aParent, aNode);
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::CXnVolumeControlAdapter
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControlAdapter::CXnVolumeControlAdapter(CXnControlAdapter* aParent, 
-                                                 CXnNodePluginIf& aNode)
-    : iParent( aParent ), iNode( aNode )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::~CXnVolumeControlAdapter
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControlAdapter::~CXnVolumeControlAdapter()
-    {
-    delete iVolumeControl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnVolumeControlAdapter::ConstructL()
-    { 
-    ConstructVolumeControlL();
-    
-    iVolumeControl->SetValue( ValueL() );
-    
-    CXnControlAdapter::ConstructL( iNode );
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::ConstructVolumeControL
-// -----------------------------------------------------------------------------
-//    
-void CXnVolumeControlAdapter::ConstructVolumeControlL()
-	{	
-	delete iVolumeControl;
-	iVolumeControl = NULL;
-	
-    iVolumeControl = new ( ELeave ) CAknVolumeControl;
-    iVolumeControl->SetContainerWindowL( *iParent );		
-    iVolumeControl->SetBackground( this );
-		
-	RFs fsSession;
-	
-	TInt err( fsSession.Connect() );
-
-    if( err )	    
-	    {
-	    User::Leave( err );
-	    }
-		
-	CleanupClosePushL( fsSession );
-	
-	RResourceFile resourceFile;		
-	resourceFile.OpenL( fsSession, KResourceFileName );	
-	CleanupClosePushL( resourceFile );
-    
-	HBufC8* resource = resourceFile.AllocReadLC( R_XNVOLUMECONTROLDYNAMIC );
-	
-	TResourceReader reader;	
-	reader.SetBuffer( resource );
-	
-	iVolumeControl->ConstructFromResourceL( reader );
-	iVolumeControl->SetRect( iNode.Rect() );
-	
-	CleanupStack::PopAndDestroy( 3, &fsSession  ); // resource, resourceFile, fsSession
-				
-	SetVolumeControlPropertiesL();		
-	}
-    
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::SetObserver
-// -----------------------------------------------------------------------------
-//      
-void CXnVolumeControlAdapter::SetObserver( MXnVolumeControlObserver* aObserver )
-    {
-    iObserver = aObserver;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::SetValue
-// -----------------------------------------------------------------------------
-//    
-void CXnVolumeControlAdapter::SetValueL( TInt aValue )
-	{
-	TInt minRange;
-	TInt maxRange;
-
-	GetRangeL( minRange, maxRange );
-
-	if( aValue >= minRange && aValue <= maxRange )
-		{		    	
-		CXnDomStringPool& sp = iNode.UiEngineL()->StringPool();		
-		CXnDomPropertyValue* value = CXnDomPropertyValue::NewL( &sp );
-		CleanupStack::PushL( value );
-		value->SetFloatValueL( CXnDomPropertyValue::ENumber, aValue );
-		CXnProperty* valueProperty = CXnProperty::NewL( XnPropertyNames::action::KValue, value, sp );
-		CleanupStack::Pop( value );
-		CleanupStack::PushL( valueProperty );
-		iNode.SetPropertyL( valueProperty );
-		CleanupStack::Pop( valueProperty );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::Value
-// -----------------------------------------------------------------------------
-//
-TInt CXnVolumeControlAdapter::ValueL()
-	{
-	return GetCurrentValueL();
-	}
-	
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::SetRange
-// -----------------------------------------------------------------------------
-//	
-void CXnVolumeControlAdapter::SetRangeL( TInt aMinimumValue, TInt aMaximumValue )
-	{
-	CXnDomStringPool& sp = iNode.UiEngineL()->StringPool();
-	
-	// Set min value property
-	CXnDomPropertyValue* minValue = CXnDomPropertyValue::NewL( &sp );
-	CleanupStack::PushL( minValue );
-	minValue->SetFloatValueL( CXnDomPropertyValue::ENumber, aMinimumValue );
-	CXnProperty* minValueProperty = CXnProperty::NewL( XnPropertyNames::volumecontrol::KMinRange, minValue, sp );
-	CleanupStack::Pop( minValue );
-	CleanupStack::PushL( minValueProperty );
-	iNode.SetPropertyL( minValueProperty );
-	CleanupStack::Pop( minValueProperty );
-
-	// Set max value property
-	CXnDomPropertyValue* maxValue = CXnDomPropertyValue::NewL( &sp );
-	CleanupStack::PushL( maxValue );
-	maxValue->SetFloatValueL( CXnDomPropertyValue::ENumber, aMaximumValue );
-	CXnProperty* maxValueProperty = CXnProperty::NewL( XnPropertyNames::volumecontrol::KMaxRange, maxValue, sp );
-	CleanupStack::Pop( maxValue );
-	CleanupStack::PushL( maxValueProperty );
-	iNode.SetPropertyL( maxValueProperty );
-	CleanupStack::Pop( maxValueProperty );
-	
-	iVolumeControl->SetRange( aMinimumValue, aMaximumValue );
-	iSteps = aMaximumValue - aMinimumValue;
-	}
-	
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::GetRange
-// -----------------------------------------------------------------------------
-//	
-void CXnVolumeControlAdapter::GetRangeL( TInt& aMinimumValue, TInt& aMaximumValue )
-	{
-	CXnProperty* minRange = iNode.GetPropertyL( XnPropertyNames::volumecontrol::KMinRange );
-	if ( minRange )
-	    {
-	    aMinimumValue = static_cast<TInt>( minRange->FloatValueL() );
-	    }
-	else
-	    {
-	    aMinimumValue = 1;
-	    }
-	
-	CXnProperty* maxRange = iNode.GetPropertyL( XnPropertyNames::volumecontrol::KMaxRange );
-	if ( maxRange )
-	    {
-	    aMaximumValue = static_cast<TInt>( maxRange->FloatValueL() );
-	    }
-	else
-	    {
-	    aMaximumValue = aMinimumValue;
-	    }
-	}
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::DoHandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CXnVolumeControlAdapter::DoHandlePropertyChangeL( CXnProperty* aProperty )
-    {
-    if (aProperty)
-    	{
-    TInt minValue;
-    TInt maxValue;
-    GetRangeL( minValue, maxValue );
-    
-    if( aProperty->Property()->Name() == XnPropertyNames::volumecontrol::KVolumeLevelAdjustment )
-    	{
-    	CXnDomStringPool& sp = iNode.UiEngineL()->StringPool();
-    	CXnDomPropertyValue* value = CXnDomPropertyValue::NewL( &sp );
-    	CleanupStack::PushL( value );
-    	
-    	const TDesC8& strValue = aProperty->StringValue();
-    	// Increase volume
-    	if( strValue == XnPropertyNames::volumecontrol::KIncrease )
-    		{
-    		TInt newValue = ValueL() + 1;
-    		if( newValue >= minValue && newValue <= maxValue )
-    			{
-    			value->SetFloatValueL( CXnDomPropertyValue::ENumber, ValueL() + 1 );
-    			}
-    		else
-    			{
-    			CleanupStack::PopAndDestroy( value );    			
-    			return;
-    			}
-    		}
-    	// Decrease volume
-    	else if( strValue == XnPropertyNames::volumecontrol::KDecrease )
-    		{
-    		TInt newValue = ValueL() - 1;
-    		if( newValue >= minValue && newValue <= maxValue )
-    			{    		
-    			value->SetFloatValueL( CXnDomPropertyValue::ENumber, ValueL() - 1 );
-    			}
-    		else
-    			{
-    			CleanupStack::PopAndDestroy( value );    			
-    			return;
-    			}    			
-    		}
-    	// Mute
-    	else if( strValue == XnPropertyNames::volumecontrol::KMute )
-    		{
-    		if( iMuted )
-    			{
-    			value->SetFloatValueL( CXnDomPropertyValue::ENumber, iMutedValue );
-    			iMuted = EFalse;
-    			}
-    		else
-    			{
-    			value->SetFloatValueL( CXnDomPropertyValue::ENumber, minValue );
-    			iMutedValue = GetCurrentValueL();
-    			iMuted = ETrue;
-    			}
-    		}
-    	CXnProperty* valueProperty = CXnProperty::NewL( XnPropertyNames::action::KValue, value, sp );
-    	CleanupStack::Pop( value );
-    	CleanupStack::PushL( valueProperty );
-    	iNode.SetPropertyL( valueProperty );
-    	CleanupStack::Pop( valueProperty );  	
-    	}
-   	else if( aProperty->Property()->Name() == XnPropertyNames::action::KValue )
-   		{
-   		TInt newValue = static_cast<TInt>( aProperty->FloatValueL() );
-   		if( newValue >= minValue && newValue <= maxValue )
-   			{
-   			iVolumeControl->SetValue( newValue );
-   			NotifyObserverL();
-	   			}
-   			}
-    	}
-    else
-    	{
-    	return;
-   		}
-    }
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::HandleScreenDeviceChangedL
-// -----------------------------------------------------------------------------
-//
-void CXnVolumeControlAdapter::HandleScreenDeviceChangedL()
-    {
-    
-    ConstructVolumeControlL();
-            
-    CXnControlAdapter::HandleScreenDeviceChangedL();
-    }
-
-// ---------------------------------------------------------
-// CXnVolumeControlAdapter::SizeChanged()
-// Called by framework when the view size is changed
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CXnVolumeControlAdapter::SizeChanged()
-    {
-    CXnControlAdapter::SizeChanged();
-    if( iVolumeControl )
-        {
-        iVolumeControl->SetRect( iNode.Rect() );
-        }	
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::CountComponentControls
-// Returns the number of component controls.
-// -----------------------------------------------------------------------------
-//    
-TInt CXnVolumeControlAdapter::CountComponentControls() const
-	{
-    return 1;
-	}
-	
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::ComponentControl
-// Returns the component control of the given index
-// -----------------------------------------------------------------------------
-//	
-CCoeControl* CXnVolumeControlAdapter::ComponentControl( TInt aIndex ) const
-	{
-	if( aIndex == 0 )
-	    {
-	    return iVolumeControl;
-	    }
-	
-	return NULL;
-	}	
-
-// -----------------------------------------------------------------------------
-// CXnNewstickerAdapter::Draw
-// -----------------------------------------------------------------------------
-// 
-void CXnVolumeControlAdapter::Draw(CWindowGc& aGc, const CCoeControl& /*aControl*/,
-    const TRect& aRect) const
-    {
-    CXnControlAdapter::Draw( aRect, aGc );
-    }
-  	           
-// -----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::Draw
-// Draws the text component
-// -----------------------------------------------------------------------------
-//
-void CXnVolumeControlAdapter::Draw(const TRect& aRect) const
-    {
-    CXnControlAdapter::Draw( aRect );
-    }  
-
-// ----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::HandlePointerEventL
-// Handles the pointer events.
-// ----------------------------------------------------------------------------
-//
-void CXnVolumeControlAdapter::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {    
-    TRect rect( iVolumeControl->Rect() );
-    
-    TReal incrementWidth( TReal( rect.Width() ) / iSteps );
-                                    
-    TInt leftX( rect.iTl.iX );
-       
-    if( aPointerEvent.iType == TPointerEvent::EButton1Down || 
-        aPointerEvent.iType == TPointerEvent::EMove && iButton1Down )        
-        {   
-        // By default change the value
-        TBool valueSet( EFalse );
-                            
-        for( TInt i = 1; i <= iSteps && !valueSet; i++ )
-            {            
-            // Calculate pixel range 
-            TReal minX( leftX + ( ( i - 1 ) * incrementWidth ) );
-            TReal maxX( minX + incrementWidth );
-                       
-            if( aPointerEvent.iPosition.iX >= minX && aPointerEvent.iPosition.iX <= maxX )                
-                {                     
-                TBool changeValue( ETrue );
-                             
-                if( iHitRect == TRect::EUninitialized )
-                    {
-                    // Initialize                                    
-                    iHitRect = TRect( minX, rect.iTl.iY, maxX, rect.iBr.iY );                       
-                    }
-                else if( !( iHitRect.Contains( aPointerEvent.iPosition ) ) )
-                    {
-                    // Reset, as position is changed
-                    iHitRect = TRect( TRect::EUninitialized );
-                    changeValue = EFalse;
-                    }                        
-                else
-                    {
-                    // Still in same slot, do not change value
-                    changeValue = EFalse;
-                    }                        
-                
-                if( changeValue )
-                    {
-                    TInt value = ValueL();
-                    
-                    if( value == i )
-                        {
-                        value = value - 1;
-                        }
-                    else
-                        {
-                        value = i;
-                        }                    
-                                                  
-                    //SetValueL will notify also the observer
-                    SetValueL( value );                       
-                    DrawDeferred();                      
-                    valueSet = ETrue;                                        
-                    }
-                }                                        
-            }            
-        }
-                
-    if( aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        iButton1Down = ETrue;
-        }
-        
-    else if( aPointerEvent.iType == TPointerEvent::EButton1Up )
-        {
-        // Reset
-        iButton1Down = EFalse;        
-        iHitRect = TRect( TRect::EUninitialized );
-        }        
-	}
-	
-// ----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::SetVolumeControlProperties
-// Sets CSS properties for the volume control
-// ----------------------------------------------------------------------------
-//	
-void CXnVolumeControlAdapter::SetVolumeControlPropertiesL()
-	{
-	// Read minrange property
-	CXnProperty* minRange = iNode.GetPropertyL( XnPropertyNames::volumecontrol::KMinRange );
-	TInt minValue = 0;
-	
-	if( minRange )
-		{
-		minValue = static_cast<TInt>( minRange->FloatValueL() );
-		}
-		
-	// Read maxrange property
-	CXnProperty* maxRange = iNode.GetPropertyL( XnPropertyNames::volumecontrol::KMaxRange );
-	TInt maxValue = 20;
-	
-	if( maxRange )
-		{
-		maxValue = static_cast<TInt>( maxRange->FloatValueL() );
-		}
-				
-	SetRangeL( minValue, maxValue );
-	
-	TInt midRange( iSteps / 2 );
-	TInt volValue( 0 );
-	
-	if( iVolumeControl->Value() < minValue ||
-	    iVolumeControl->Value() > maxValue )
-		{
-		// Set around to mid
-		volValue = midRange;	
-		}
-			
-    // Read value property
-	CXnProperty* value = iNode.GetPropertyL( XnPropertyNames::action::KValue );
-	
-	if( value )
-		{
-		TInt valueProp = static_cast< TInt >( value->FloatValueL() );
-		
-		if( valueProp >= minValue && valueProp <= maxValue )
-		    {
-		    volValue = valueProp;
-		    }
-		}
-    	
-    SetValueL( volValue );			
-	}
-	
-// ----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::GetCurrentValue
-// ----------------------------------------------------------------------------
-//		
-TInt CXnVolumeControlAdapter::GetCurrentValueL()
-	{
-	CXnProperty* valueProperty = iNode.GetPropertyL( XnPropertyNames::action::KValue );
-	TInt retVal( 1 );
-	if ( valueProperty )
-	    {
-	    retVal = static_cast<TInt>( valueProperty->FloatValueL() );
-	    }
-    return retVal;    
-	}
-	
-// ----------------------------------------------------------------------------
-// CXnVolumeControlAdapter::NotifyObserver
-// ----------------------------------------------------------------------------
-//	
-void CXnVolumeControlAdapter::NotifyObserverL()
-	{	
-	if( iObserver )
-		{
-		iObserver->VolumeChanged( GetCurrentValueL() );
-		}
-	}
--- a/idlehomescreen/xmluirendering/renderingplugins/xnvolumecontrolfactory/src/xnvolumecontrolfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Implementation for factory creating CXnVolumeControl -element
-*
-*/
-
-
-#include <e32base.h>
-#include <coecntrl.h>
-#include <barsread.h>
-
-#include "xnvolumecontrolfactory.h"
-#include "xnvolumecontroladapter.h"
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-#include "xndomnode.h"
-#include "xncomponentnodeimpl.h"
-#include <aisystemuids.hrh>
-#include "xnvolumecontrol.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-_LIT8(KSlider, "slider" );
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlFactory::MakeXnComponentL
-// Creates the Xuikon component for label control
-// -----------------------------------------------------------------------------
-//
-MXnComponentFactory::TXnComponentFactoryResponse CXnVolumeControlFactory::MakeXnComponentL( 
-                                        CXnNodePluginIf& aNode,
-                                        CXnComponent*& aTargetComponent
-        								)
-    {
-    MXnComponentFactory::TXnComponentFactoryResponse retVal = MXnComponentFactory::EXnFactoryResponseComponentNotSupported;
-    // Check that the given type of a control is parent (or ancestor) of this control
-    if(aNode.Type()->Type() == KSlider)
-        {
-    	  CXnVolumeControl* container = CXnVolumeControl::NewL();	
-        aTargetComponent = static_cast<CXnComponent*>(container);
-  	    retVal = MXnComponentFactory::EXnFactoryResponseComponentConstructed;
-	    }
-    return retVal;  
-    }
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlFactory::MakeXnControlAdapterL
-// Creates the control adapter for label control
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnVolumeControlFactory::MakeXnControlAdapterL(
-                                            CXnNodePluginIf& aNode,
-                                            CXnControlAdapter* aParent)
-    {
-    return CXnVolumeControlAdapter::NewL(aParent, aNode);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlFactory::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControlFactory* CXnVolumeControlFactory::NewL()
-    {
-    CXnVolumeControlFactory* self = new( ELeave ) CXnVolumeControlFactory;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlFactory::CXnVolumeControlFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControlFactory::CXnVolumeControlFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlFactory::~CXnVolumeControlFactory
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnVolumeControlFactory::~CXnVolumeControlFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnVolumeControlFactory::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnVolumeControlFactory::ConstructL()
-    {
-    }
-
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY(AI3_UID_RENDERING_PLUGIN_VOLUMECONTROLFACTORY_IMPLEMENTATION, CXnVolumeControlFactory::NewL) 
-#else
-    {{AI3_UID_RENDERING_PLUGIN_VOLUMECONTROLFACTORY_IMPLEMENTATION}, CXnVolumeControlFactory::NewL}
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
--- a/idlehomescreen/xmluirendering/rom/ai3xmluirendering.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file for AI3 Framework's essential modules. Modules to
-*                be placed on ROM-image listed here are mandatory parts of AI3 
-*                Framework - Framework cannot start without.
-*
-*/
-
-
-#ifndef XMLUIRENDERING_IBY
-#define XMLUIRENDERING_IBY	
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\xn3ecomelementproxy.dll SHARED_LIB_DIR\xn3ecomelementproxy.dll
-file=ABI_DIR\BUILD_DIR\xn3layoutengine.dll SHARED_LIB_DIR\xn3layoutengine.dll
-file=ABI_DIR\BUILD_DIR\cpswrapper.dll SHARED_LIB_DIR\cpswrapper.dll
-file=ABI_DIR\BUILD_DIR\hspswrapper.dll SHARED_LIB_DIR\hspswrapper.dll
-file=ABI_DIR\BUILD_DIR\xn3utils.dll SHARED_LIB_DIR\xn3utils.dll
-file=ABI_DIR\BUILD_DIR\xn3domdocument.dll SHARED_LIB_DIR\xn3domdocument.dll
-file=ABI_DIR\BUILD_DIR\xn3odt.dll SHARED_LIB_DIR\xn3odt.dll
-file=ABI_DIR\BUILD_DIR\xn3resource.dll SHARED_LIB_DIR\xn3resource.dll
-file=ABI_DIR\BUILD_DIR\hscontentcontrol.dll SHARED_LIB_DIR\hscontentcontrol.dll
-file=ABI_DIR\BUILD_DIR\extrenderingplugin.dll SHARED_LIB_DIR\extrenderingplugin.dll
-
-// Volume Control
-data=\epoc32\data\z\resource\plugins\xn3volumecontrol.rsc \resource\plugins\xn3volumecontrol.rsc
-
-data=\epoc32\data\Z\resource\apps\xnuiengine.rsc      APP_RESOURCE_DIR\xnuiengine.rsc
-
-// Stock plugins
-ECOM_PLUGIN( xn3textfactory.dll , xn3textfactory.rsc )
-ECOM_PLUGIN( xn3viewfactory.dll , xn3viewfactory.rsc )
-ECOM_PLUGIN( xn3bitmapfactory.dll , xn3bitmapfactory.rsc )
-ECOM_PLUGIN( xn3menufactory.dll , xn3menufactory.rsc )
-ECOM_PLUGIN( xn3domvisitor.dll , xndomvisitor.rsc )
-ECOM_PLUGIN( xn3popupfactory.dll , xn3popupfactory.rsc )
-ECOM_PLUGIN( xn3newstickerfactory.dll , xn3newstickerfactory.rsc )
-ECOM_PLUGIN( xn3volumecontrolfactory.dll , xn3volumecontrolfactory.rsc )
-ECOM_PLUGIN( xn3clockfactory.dll , xn3clockfactory.rsc )
-ECOM_PLUGIN( xn3nppluginfactory.dll , xn3nppluginfactory.rsc )
-ECOM_PLUGIN( xn3texteditorfactory.dll , xn3texteditorfactory.rsc )
-ECOM_PLUGIN( xn3animationfactory.dll , xn3animationfactory.rsc )
-
-#endif // XMLUIRENDERING_IBY
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/rom/ai3xmluirendering_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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 "Eclipse Public License v1.0"
-* which accompanies 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 project ActiveIdle3
-*
-*/
-
-#ifndef XMLUIRENDERINGRESOURCES_IBY
-#define XMLUIRENDERINGRESOURCES_IBY
-
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=\epoc32\data\Z\resource\apps\xnuiengine.rsc      APP_RESOURCE_DIR\xnuiengine.rsc
-
-#endif // XMLUIRENDERINGRESOURCES_IBY
--- a/idlehomescreen/xmluirendering/uiengine/bwins/xn3layoutengineu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-EXPORTS
-	?SetComponentNeedsCreation@CXnComponentNodeImpl@@QAEXH@Z @ 1 NONAME ; void CXnComponentNodeImpl::SetComponentNeedsCreation(int)
-	?ScaleBitmapL@CXnUtils@@SAXABVTRect@@PAVCFbsBitmap@@1@Z @ 2 NONAME ; void CXnUtils::ScaleBitmapL(class TRect const &, class CFbsBitmap *, class CFbsBitmap *)
-	?IsFocusedState@CXnNodePluginIf@@QAEHXZ @ 3 NONAME ; int CXnNodePluginIf::IsFocusedState(void)
-	?ChildrenL@CXnNodePluginIf@@QAE?AV?$RPointerArray@VCXnNodePluginIf@@@@XZ @ 4 NONAME ; class RPointerArray<class CXnNodePluginIf> CXnNodePluginIf::ChildrenL(void)
-	?DynInitMenuItemL@CXnAppUiAdapter@@UAEHABVTDesC16@@PAV?$RPointerArray@VCXnNodeAppIf@@@@@Z @ 5 NONAME ; int CXnAppUiAdapter::DynInitMenuItemL(class TDesC16 const &, class RPointerArray<class CXnNodeAppIf> *)
-	?NewL@CXnComponent@@SAPAV1@XZ @ 6 NONAME ; class CXnComponent * CXnComponent::NewL(void)
-	?FindNodeByIdL@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@ABVTDesC8@@0@Z @ 7 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FindNodeByIdL(class TDesC8 const &, class TDesC8 const &)
-	?IsStateSet@CXnNodeAppIf@@QAEHABVTDesC8@@@Z @ 8 NONAME ; int CXnNodeAppIf::IsStateSet(class TDesC8 const &)
-	?FindNodeByIdL@TXnUiEnginePluginIf@@QAEPAVCXnNodePluginIf@@ABVTDesC16@@0@Z @ 9 NONAME ; class CXnNodePluginIf * TXnUiEnginePluginIf::FindNodeByIdL(class TDesC16 const &, class TDesC16 const &)
-	?AppIfL@CXnNodePluginIf@@QAEAAVCXnNodeAppIf@@XZ @ 10 NONAME ; class CXnNodeAppIf & CXnNodePluginIf::AppIfL(void)
-	??1MXnComponentFactory@@UAE@XZ @ 11 NONAME ; MXnComponentFactory::~MXnComponentFactory(void)
-	?ParentL@CXnNodePluginIf@@QBEPAV1@XZ @ 12 NONAME ; class CXnNodePluginIf * CXnNodePluginIf::ParentL(void) const
-	?EnterPowerSaveModeL@CXnControlAdapter@@QAEXW4TModeEvent@1@@Z @ 13 NONAME ; void CXnControlAdapter::EnterPowerSaveModeL(enum CXnControlAdapter::TModeEvent)
-	??0CXnComponentNodeImpl@@IAE@XZ @ 14 NONAME ; CXnComponentNodeImpl::CXnComponentNodeImpl(void)
-	?SetLocalUiZoomL@CXnControlAdapter@@UAEXW4TAknUiZoom@@@Z @ 15 NONAME ; void CXnControlAdapter::SetLocalUiZoomL(enum TAknUiZoom)
-	?SetDirtyL@CXnNodePluginIf@@QAEXXZ @ 16 NONAME ; void CXnNodePluginIf::SetDirtyL(void)
-	?Draw@CXnControlAdapter@@UBEXABVTRect@@AAVCWindowGc@@@Z @ 17 NONAME ; void CXnControlAdapter::Draw(class TRect const &, class CWindowGc &) const
-	?ShowTooltipsL@CXnNodeAppIf@@QAEXXZ @ 18 NONAME ; void CXnNodeAppIf::ShowTooltipsL(void)
-	?MakeInterfaceL@CXnNodePluginIf@@QAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 19 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnNodePluginIf::MakeInterfaceL(class TDesC8 const &)
-	?SetBorderRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 20 NONAME ; void CXnNodePluginIf::SetBorderRect(class TRect const &)
-	?RenderUIL@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 21 NONAME ; void TXnUiEnginePluginIf::RenderUIL(class CXnNodePluginIf *)
-	?TextAlignment@CXnUtils@@SA?AW4TGulAlignmentValue@@AAVCXnNodePluginIf@@@Z @ 22 NONAME ; enum TGulAlignmentValue CXnUtils::TextAlignment(class CXnNodePluginIf &)
-	?Property@CXnProperty@@QAEPAVCXnDomProperty@@XZ @ 23 NONAME ; class CXnDomProperty * CXnProperty::Property(void)
-	?Namespace@CXnNodePluginIf@@QAEABVTDesC8@@XZ @ 24 NONAME ; class TDesC8 const & CXnNodePluginIf::Namespace(void)
-	?AddDirtyNodeL@TXnUiEnginePluginIf@@QAEXAAVCXnNodePluginIf@@@Z @ 25 NONAME ; void TXnUiEnginePluginIf::AddDirtyNodeL(class CXnNodePluginIf &)
-	?SetPropertyL@CXnNodePluginIf@@QAEXPAVCXnProperty@@@Z @ 26 NONAME ; void CXnNodePluginIf::SetPropertyL(class CXnProperty *)
-	?HorizontalPixelValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 27 NONAME ; int TXnUiEnginePluginIf::HorizontalPixelValueL(class CXnProperty *, int)
-	?HandlePowerSaveModeL@CXnUtils@@SAHPAVCXnNode@@HH@Z @ 28 NONAME ; int CXnUtils::HandlePowerSaveModeL(class CXnNode *, int, int)
-	?ContentBitmaps@CXnControlAdapter@@QAEXAAPAVCFbsBitmap@@0@Z @ 29 NONAME ; void CXnControlAdapter::ContentBitmaps(class CFbsBitmap * &, class CFbsBitmap * &)
-	?HandlePropertyChangeL@CXnControlAdapter@@QAEXPAVCXnProperty@@@Z @ 30 NONAME ; void CXnControlAdapter::HandlePropertyChangeL(class CXnProperty *)
-	?FocusHorLoopingL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 31 NONAME ; class CXnProperty * CXnNodePluginIf::FocusHorLoopingL(void)
-	?Control@CXnNodePluginIf@@QBEPAVCXnControlAdapter@@XZ @ 32 NONAME ; class CXnControlAdapter * CXnNodePluginIf::Control(void) const
-	?GetPropertyL@CXnNodeAppIf@@QBEPAVCXnProperty@@AAV2@@Z @ 33 NONAME ; class CXnProperty * CXnNodeAppIf::GetPropertyL(class CXnProperty &) const
-	?MakeInterfaceL@CXnComponentNodeImpl@@UAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 34 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnComponentNodeImpl::MakeInterfaceL(class TDesC8 const &)
-	?SkinChanged@CXnControlAdapter@@UAEXXZ @ 35 NONAME ; void CXnControlAdapter::SkinChanged(void)
-	?SetContentBitmaps@CXnControlAdapter@@QAEXPAVCFbsBitmap@@0@Z @ 36 NONAME ; void CXnControlAdapter::SetContentBitmaps(class CFbsBitmap *, class CFbsBitmap *)
-	?FindNodeByClassL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC16@@0@Z @ 37 NONAME ; class RPointerArray<class CXnNodeAppIf> TXnUiEngineAppIf::FindNodeByClassL(class TDesC16 const &, class TDesC16 const &)
-	?ComponentNodeImpl@CXnNodePluginIf@@QAEPAVCXnComponentNodeImpl@@XZ @ 38 NONAME ; class CXnComponentNodeImpl * CXnNodePluginIf::ComponentNodeImpl(void)
-	??0CXnViewsNodeImpl@@IAE@XZ @ 39 NONAME ; CXnViewsNodeImpl::CXnViewsNodeImpl(void)
-	?HandlePointerEventL@CXnControlAdapter@@UAEXABUTPointerEvent@@@Z @ 40 NONAME ; void CXnControlAdapter::HandlePointerEventL(struct TPointerEvent const &)
-	??1CXnDocument@@UAE@XZ @ 41 NONAME ; CXnDocument::~CXnDocument(void)
-	?HandleResourceChangeL@CXnAppUiAdapter@@MAEXH@Z @ 42 NONAME ; void CXnAppUiAdapter::HandleResourceChangeL(int)
-	?DoEnterPowerSaveModeL@CXnControlAdapter@@UAEXW4TModeEvent@1@@Z @ 43 NONAME ; void CXnControlAdapter::DoEnterPowerSaveModeL(enum CXnControlAdapter::TModeEvent)
-	?CloneL@CXnProperty@@QAEPAV1@XZ @ 44 NONAME ; class CXnProperty * CXnProperty::CloneL(void)
-	?ReportTriggerEventL@CXnNodePluginIf@@QAEXABVTDesC8@@00@Z @ 45 NONAME ; void CXnNodePluginIf::ReportTriggerEventL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &)
-	?FocusedNodeL@TXnUiEnginePluginIf@@QAEPAVCXnNodePluginIf@@XZ @ 46 NONAME ; class CXnNodePluginIf * TXnUiEnginePluginIf::FocusedNodeL(void)
-	?FindContentSourceNodesL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC8@@@Z @ 47 NONAME ; class RPointerArray<class CXnNodeAppIf> TXnUiEngineAppIf::FindContentSourceNodesL(class TDesC8 const &)
-	?EqualsL@CXnProperty@@QBEHAAV1@@Z @ 48 NONAME ; int CXnProperty::EqualsL(class CXnProperty &) const
-	?ScreenDeviceSize@TXnUiEnginePluginIf@@QAE?AVTSize@@XZ @ 49 NONAME ; class TSize TXnUiEnginePluginIf::ScreenDeviceSize(void)
-	??0CXnControlAdapter@@IAE@XZ @ 50 NONAME ; CXnControlAdapter::CXnControlAdapter(void)
-	?VisibleRowsL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 51 NONAME ; class CXnProperty * CXnNodePluginIf::VisibleRowsL(void)
-	?UiEngineL@CXnNodeAppIf@@QAEPAVTXnUiEngineAppIf@@XZ @ 52 NONAME ; class TXnUiEngineAppIf * CXnNodeAppIf::UiEngineL(void)
-	?LongTapDetector@CXnControlAdapter@@QBEPAVCAknLongTapDetector@@XZ @ 53 NONAME ; class CAknLongTapDetector * CXnControlAdapter::LongTapDetector(void) const
-	??0CXnAppUiAdapter@@QAE@VTUid@@@Z @ 54 NONAME ; CXnAppUiAdapter::CXnAppUiAdapter(class TUid)
-	?Rect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 55 NONAME ; class TRect CXnNodePluginIf::Rect(void)
-	?AddChildL@CXnNodePluginIf@@QAEXPAV1@@Z @ 56 NONAME ; void CXnNodePluginIf::AddChildL(class CXnNodePluginIf *)
-	?SetNode@CXnComponent@@QAEXAAVCXnNodePluginIf@@@Z @ 57 NONAME ; void CXnComponent::SetNode(class CXnNodePluginIf &)
-	?ResetStylusCounter@CXnControlAdapter@@QAEXXZ @ 58 NONAME ; void CXnControlAdapter::ResetStylusCounter(void)
-	?SetComponent@CXnComponentNodeImpl@@QAEXPAVCXnComponent@@@Z @ 59 NONAME ; void CXnComponentNodeImpl::SetComponent(class CXnComponent *)
-	?LayoutUIL@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 60 NONAME ; void TXnUiEnginePluginIf::LayoutUIL(class CXnNodePluginIf *)
-	?LoadDataPluginsL@CXnAppUiAdapter@@UAEXAAV?$RPointerArray@VCXnNodeAppIf@@@@@Z @ 61 NONAME ; void CXnAppUiAdapter::LoadDataPluginsL(class RPointerArray<class CXnNodeAppIf> &)
-	?FocusVisible@TXnUiEnginePluginIf@@QAEHXZ @ 62 NONAME ; int TXnUiEnginePluginIf::FocusVisible(void)
-	?ExitPowerSaveModeL@CXnControlAdapter@@QAEXW4TModeEvent@1@@Z @ 63 NONAME ; void CXnControlAdapter::ExitPowerSaveModeL(enum CXnControlAdapter::TModeEvent)
-	?GetThemeResource@TXnUiEngineAppIf@@QAEHABVTDesC16@@AAVRFile@@@Z @ 64 NONAME ; int TXnUiEngineAppIf::GetThemeResource(class TDesC16 const &, class RFile &)
-	?ConstructL@CXnComponent@@IAEXXZ @ 65 NONAME ; void CXnComponent::ConstructL(void)
-	?FindResource@CXnUtils@@SAPAVCXnResource@@AAV?$CArrayPtrSeg@VCXnResource@@@@ABVTDesC16@@AAH@Z @ 66 NONAME ; class CXnResource * CXnUtils::FindResource(class CArrayPtrSeg<class CXnResource> &, class TDesC16 const &, int &)
-	?UnsetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 67 NONAME ; void CXnNodeAppIf::UnsetStateL(class TDesC8 const &)
-	?Uid@CXnDocument@@QAE?AVTUid@@XZ @ 68 NONAME ; class TUid CXnDocument::Uid(void)
-	?FocusChanged@CXnControlAdapter@@UAEXW4TDrawNow@@@Z @ 69 NONAME ; void CXnControlAdapter::FocusChanged(enum TDrawNow)
-	?SetBlank@CXnControlAdapter@@QAEXH@Z @ 70 NONAME ; void CXnControlAdapter::SetBlank(int)
-	?SetLayoutCapable@CXnNodePluginIf@@QAEXH@Z @ 71 NONAME ; void CXnNodePluginIf::SetLayoutCapable(int)
-	?MarginRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 72 NONAME ; class TRect CXnNodePluginIf::MarginRect(void)
-	?UiEngineL@CXnAppUiAdapter@@QAEPAVTXnUiEngineAppIf@@XZ @ 73 NONAME ; class TXnUiEngineAppIf * CXnAppUiAdapter::UiEngineL(void)
-	?SwipeEnabledL@TXnUiEnginePluginIf@@QAEHXZ @ 74 NONAME ; int TXnUiEnginePluginIf::SwipeEnabledL(void)
-	?SetFocusVisibleL@TXnUiEnginePluginIf@@QAEXH@Z @ 75 NONAME ; void TXnUiEnginePluginIf::SetFocusVisibleL(int)
-	?ActiveView@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@XZ @ 76 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::ActiveView(void)
-	?GridOrientationL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 77 NONAME ; class CXnProperty * CXnNodePluginIf::GridOrientationL(void)
-	?HandleXuikonEventL@CXnAppUiAdapter@@UAEXAAVCXnNodeAppIf@@0AAVCXnDomNode@@1@Z @ 78 NONAME ; void CXnAppUiAdapter::HandleXuikonEventL(class CXnNodeAppIf &, class CXnNodeAppIf &, class CXnDomNode &, class CXnDomNode &)
-	?RenderUIL@TXnUiEngineAppIf@@QAEXPAVCXnNodeAppIf@@@Z @ 79 NONAME ; void TXnUiEngineAppIf::RenderUIL(class CXnNodeAppIf *)
-	?DoHandlePropertyChangeL@CXnControlAdapter@@UAEXPAVCXnProperty@@@Z @ 80 NONAME ; void CXnControlAdapter::DoHandlePropertyChangeL(class CXnProperty *)
-	?ConstructL@CXnControlAdapter@@IAEXAAVCXnNodePluginIf@@@Z @ 81 NONAME ; void CXnControlAdapter::ConstructL(class CXnNodePluginIf &)
-	?FocusedNode@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@XZ @ 82 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FocusedNode(void)
-	?OfferKeyEventL@CXnControlAdapter@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 83 NONAME ; enum TKeyResponse CXnControlAdapter::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?IsDrawingAllowed@CXnControlAdapter@@QBEHXZ @ 84 NONAME ; int CXnControlAdapter::IsDrawingAllowed(void) const
-	?DisplayL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 85 NONAME ; class CXnProperty * CXnNodePluginIf::DisplayL(void)
-	?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@PAVCXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 86 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, class CXnDomPropertyValue *, class CXnDomStringPool &)
-	?Rect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 87 NONAME ; class TRect CXnNodeAppIf::Rect(void)
-	?NewL@CXnComponentNodeImpl@@SAPAV1@PAVCXnType@@@Z @ 88 NONAME ; class CXnComponentNodeImpl * CXnComponentNodeImpl::NewL(class CXnType *)
-	?GridVerDirectionL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 89 NONAME ; class CXnProperty * CXnNodePluginIf::GridVerDirectionL(void)
-	?WidgetsVisible@TXnUiEngineAppIf@@QBEHXZ @ 90 NONAME ; int TXnUiEngineAppIf::WidgetsVisible(void) const
-	?Type@CXnNodePluginIf@@QAEPAVCXnType@@XZ @ 91 NONAME ; class CXnType * CXnNodePluginIf::Type(void)
-	?MakeXnComponentL@MXnComponentFactory@@EAE?AW4TXnComponentFactoryResponse@1@AAVCXnNodePluginIf@@AAPAVCXnComponent@@@Z @ 92 NONAME ; enum MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::MakeXnComponentL(class CXnNodePluginIf &, class CXnComponent * &)
-	?ActivateViewL@TXnUiEngineAppIf@@QAEXAAVCXnNodeAppIf@@@Z @ 93 NONAME ; void TXnUiEngineAppIf::ActivateViewL(class CXnNodeAppIf &)
-	?UnsetStateL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 94 NONAME ; void CXnNodePluginIf::UnsetStateL(class TDesC8 const &)
-	?StringValueL@CXnProperty@@QAEPAVHBufC16@@XZ @ 95 NONAME ; class HBufC16 * CXnProperty::StringValueL(void)
-	?DisableRenderUiLC@TXnUiEnginePluginIf@@QAEXXZ @ 96 NONAME ; void TXnUiEnginePluginIf::DisableRenderUiLC(void)
-	?SetPropertyL@CXnNodeAppIf@@QAEXPAVCXnProperty@@@Z @ 97 NONAME ; void CXnNodeAppIf::SetPropertyL(class CXnProperty *)
-	?View@CXnAppUiAdapter@@QBEAAVCAknView@@XZ @ 98 NONAME ; class CAknView & CXnAppUiAdapter::View(void) const
-	?ViewNodeImpl@CXnNodePluginIf@@QAEPAVCXnViewNodeImpl@@XZ @ 99 NONAME ; class CXnViewNodeImpl * CXnNodePluginIf::ViewNodeImpl(void)
-	?StripQuotes@CXnUtils@@SAXAAPAVHBufC16@@@Z @ 100 NONAME ; void CXnUtils::StripQuotes(class HBufC16 * &)
-	?SetPCDataL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 101 NONAME ; void CXnNodePluginIf::SetPCDataL(class TDesC8 const &)
-	?DestroyDataPluginsL@CXnAppUiAdapter@@UAEXAAV?$RPointerArray@VCXnNodeAppIf@@@@@Z @ 102 NONAME ; void CXnAppUiAdapter::DestroyDataPluginsL(class RPointerArray<class CXnNodeAppIf> &)
-	?VisibilityL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 103 NONAME ; class CXnProperty * CXnNodePluginIf::VisibilityL(void)
-	?Draw@CXnControlAdapter@@MBEXABVTRect@@@Z @ 104 NONAME ; void CXnControlAdapter::Draw(class TRect const &) const
-	??1CXnApplication@@UAE@XZ @ 105 NONAME ; CXnApplication::~CXnApplication(void)
-	?DoesNodeNeedComponentImplL@MXnComponentFactory@@QAEHABVTDesC8@@@Z @ 106 NONAME ; int MXnComponentFactory::DoesNodeNeedComponentImplL(class TDesC8 const &)
-	?ConstructL@CXnViewsNodeImpl@@IAEXPAVCXnType@@@Z @ 107 NONAME ; void CXnViewsNodeImpl::ConstructL(class CXnType *)
-	?StringPool@TXnUiEngineAppIf@@QAEAAVCXnDomStringPool@@XZ @ 108 NONAME ; class CXnDomStringPool & TXnUiEngineAppIf::StringPool(void)
-	?UiEngineL@CXnNodePluginIf@@QAEPAVTXnUiEnginePluginIf@@XZ @ 109 NONAME ; class TXnUiEnginePluginIf * CXnNodePluginIf::UiEngineL(void)
-	?ShowFocus@TXnUiEnginePluginIf@@QAEHXZ @ 110 NONAME ; int TXnUiEnginePluginIf::ShowFocus(void)
-	?ResolveSkinItemIDL@CXnUtils@@SAHABVTDesC16@@AAVTAknsItemID@@@Z @ 111 NONAME ; int CXnUtils::ResolveSkinItemIDL(class TDesC16 const &, class TAknsItemID &)
-	?PluginNodeL@TXnUiEnginePluginIf@@QAEAAVCXnNodePluginIf@@PAV2@@Z @ 112 NONAME ; class CXnNodePluginIf & TXnUiEnginePluginIf::PluginNodeL(class CXnNodePluginIf *)
-	?VerticalPixelValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 113 NONAME ; int TXnUiEnginePluginIf::VerticalPixelValueL(class CXnProperty *, int)
-	?SetComponent@CXnControlAdapter@@QAEXPAVCXnComponent@@@Z @ 114 NONAME ; void CXnControlAdapter::SetComponent(class CXnComponent *)
-	??0MXnNodePredicate@@QAE@XZ @ 115 NONAME ; MXnNodePredicate::MXnNodePredicate(void)
-	??1CXnViewsNodeImpl@@UAE@XZ @ 116 NONAME ; CXnViewsNodeImpl::~CXnViewsNodeImpl(void)
-	?HandleControlEventL@CXnControlAdapter@@UAEXPAVCCoeControl@@W4TCoeEvent@MCoeControlObserver@@@Z @ 117 NONAME ; void CXnControlAdapter::HandleControlEventL(class CCoeControl *, enum MCoeControlObserver::TCoeEvent)
-	?ActivateViewL@TXnUiEnginePluginIf@@QAEXAAVCXnNodePluginIf@@@Z @ 118 NONAME ; void TXnUiEnginePluginIf::ActivateViewL(class CXnNodePluginIf &)
-	?HandleScreenDeviceChangedL@CXnControlAdapter@@UAEXXZ @ 119 NONAME ; void CXnControlAdapter::HandleScreenDeviceChangedL(void)
-	?SizeChanged@CXnControlAdapter@@MAEXXZ @ 120 NONAME ; void CXnControlAdapter::SizeChanged(void)
-	?CountComponentControls@CXnControlAdapter@@MBEHXZ @ 121 NONAME ; int CXnControlAdapter::CountComponentControls(void) const
-	?HideTooltipsL@CXnNodeAppIf@@QAEXXZ @ 122 NONAME ; void CXnNodeAppIf::HideTooltipsL(void)
-	?GetPropertyL@CXnNodeAppIf@@QBEPAVCXnProperty@@ABVTDesC8@@@Z @ 123 NONAME ; class CXnProperty * CXnNodeAppIf::GetPropertyL(class TDesC8 const &) const
-	?GridScrollBarWidthL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 124 NONAME ; class CXnProperty * CXnNodePluginIf::GridScrollBarWidthL(void)
-	?DeactivateFocusedNodeL@TXnUiEnginePluginIf@@QAEXXZ @ 125 NONAME ; void TXnUiEnginePluginIf::DeactivateFocusedNodeL(void)
-	?FindNodeByClassL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC8@@0@Z @ 126 NONAME ; class RPointerArray<class CXnNodeAppIf> TXnUiEngineAppIf::FindNodeByClassL(class TDesC8 const &, class TDesC8 const &)
-	?Match@MXnNodePredicate@@UAEHAAVCXnNode@@@Z @ 127 NONAME ; int MXnNodePredicate::Match(class CXnNode &)
-	?GetBitmapAndMask@CXnControlAdapter@@QAEXABVTDesC16@@0AAPAVCFbsBitmap@@1@Z @ 128 NONAME ; void CXnControlAdapter::GetBitmapAndMask(class TDesC16 const &, class TDesC16 const &, class CFbsBitmap * &, class CFbsBitmap * &)
-	?NewL@CXnViewsNodeImpl@@SAPAV1@PAVCXnType@@@Z @ 129 NONAME ; class CXnViewsNodeImpl * CXnViewsNodeImpl::NewL(class CXnType *)
-	?PaddingRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 130 NONAME ; class TRect CXnNodeAppIf::PaddingRect(void)
-	?SetMarginRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 131 NONAME ; void CXnNodePluginIf::SetMarginRect(class TRect const &)
-	?IsDialogDisplaying@TXnUiEnginePluginIf@@QAEHXZ @ 132 NONAME ; int TXnUiEnginePluginIf::IsDialogDisplaying(void)
-	?GetPropertyL@CXnNodePluginIf@@QBEPAVCXnProperty@@ABVTDesC8@@@Z @ 133 NONAME ; class CXnProperty * CXnNodePluginIf::GetPropertyL(class TDesC8 const &) const
-	?SetPropertyArrayL@CXnNodeAppIf@@QAEXPAV?$RPointerArray@VCXnProperty@@@@@Z @ 134 NONAME ; void CXnNodeAppIf::SetPropertyArrayL(class RPointerArray<class CXnProperty> *)
-	?RestorePreviousFocusedNode@TXnUiEnginePluginIf@@QAEXXZ @ 135 NONAME ; void TXnUiEnginePluginIf::RestorePreviousFocusedNode(void)
-	?EnterPowerSaveModeL@CXnComponent@@UAEXXZ @ 136 NONAME ; void CXnComponent::EnterPowerSaveModeL(void)
-	?SetRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 137 NONAME ; void CXnNodePluginIf::SetRect(class TRect const &)
-	??0CXnComponent@@IAE@XZ @ 138 NONAME ; CXnComponent::CXnComponent(void)
-	?CollapseWhiteSpace@CXnUtils@@SAXAAVCXnNodePluginIf@@AAVTDes16@@@Z @ 139 NONAME ; void CXnUtils::CollapseWhiteSpace(class CXnNodePluginIf &, class TDes16 &)
-	?SetHandleTooltip@CXnNodePluginIf@@QAEXH@Z @ 140 NONAME ; void CXnNodePluginIf::SetHandleTooltip(int)
-	??1CXnAppUiAdapter@@UAE@XZ @ 141 NONAME ; CXnAppUiAdapter::~CXnAppUiAdapter(void)
-	?SetOnlineStateL@CXnAppUiAdapter@@UAEXAAV?$RPointerArray@VCXnNodeAppIf@@@@@Z @ 142 NONAME ; void CXnAppUiAdapter::SetOnlineStateL(class RPointerArray<class CXnNodeAppIf> &)
-	?NewL@CXnControlAdapter@@SAPAV1@AAVCXnNodePluginIf@@@Z @ 143 NONAME ; class CXnControlAdapter * CXnControlAdapter::NewL(class CXnNodePluginIf &)
-	?EnableLongTapAnimation@CXnControlAdapter@@QAEXH@Z @ 144 NONAME ; void CXnControlAdapter::EnableLongTapAnimation(int)
-	?RefL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 145 NONAME ; class CXnProperty * CXnNodePluginIf::RefL(void)
-	?SetPaddingRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 146 NONAME ; void CXnNodePluginIf::SetPaddingRect(class TRect const &)
-	?FocusVerLoopingL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 147 NONAME ; class CXnProperty * CXnNodePluginIf::FocusVerLoopingL(void)
-	?SetFocusedNode@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 148 NONAME ; void TXnUiEnginePluginIf::SetFocusedNode(class CXnNodePluginIf *)
-	?ExitPowerSaveModeL@CXnComponent@@UAEXXZ @ 149 NONAME ; void CXnComponent::ExitPowerSaveModeL(void)
-	?EnableSwipeL@TXnUiEnginePluginIf@@QAEXH@Z @ 150 NONAME ; void TXnUiEnginePluginIf::EnableSwipeL(int)
-	?GetPCData@CXnNodeAppIf@@QBEABVTDesC8@@XZ @ 151 NONAME ; class TDesC8 const & CXnNodeAppIf::GetPCData(void) const
-	?Namespace@CXnNodeAppIf@@QAEABVTDesC8@@XZ @ 152 NONAME ; class TDesC8 const & CXnNodeAppIf::Namespace(void)
-	??1CXnComponentNodeImpl@@UAE@XZ @ 153 NONAME ; CXnComponentNodeImpl::~CXnComponentNodeImpl(void)
-	?SetPropertyWithoutNotificationL@CXnNodePluginIf@@QAEXPAVCXnProperty@@@Z @ 154 NONAME ; void CXnNodePluginIf::SetPropertyWithoutNotificationL(class CXnProperty *)
-	?GetPCData@CXnNodePluginIf@@QBEABVTDesC8@@XZ @ 155 NONAME ; class TDesC8 const & CXnNodePluginIf::GetPCData(void) const
-	?SetPCDataL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 156 NONAME ; void CXnNodeAppIf::SetPCDataL(class TDesC8 const &)
-	?Resources@TXnUiEnginePluginIf@@QAEAAV?$CArrayPtrSeg@VCXnResource@@@@XZ @ 157 NONAME ; class CArrayPtrSeg<class CXnResource> & TXnUiEnginePluginIf::Resources(void)
-	?SetContentBitmaps@CXnControlAdapter@@QAEXABVTDesC16@@0@Z @ 158 NONAME ; void CXnControlAdapter::SetContentBitmaps(class TDesC16 const &, class TDesC16 const &)
-	??1CXnControlAdapter@@UAE@XZ @ 159 NONAME ; CXnControlAdapter::~CXnControlAdapter(void)
-	??1MXnNodePredicate@@UAE@XZ @ 160 NONAME ; MXnNodePredicate::~MXnNodePredicate(void)
-	?HorizontalTwipValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 161 NONAME ; int TXnUiEnginePluginIf::HorizontalTwipValueL(class CXnProperty *, int)
-	?ConstructL@CXnAppUiAdapter@@UAEXXZ @ 162 NONAME ; void CXnAppUiAdapter::ConstructL(void)
-	?CreateFontL@CXnUtils@@SAXAAVCXnNodePluginIf@@AAPAVCFont@@AAH@Z @ 163 NONAME ; void CXnUtils::CreateFontL(class CXnNodePluginIf &, class CFont * &, int &)
-	??0CXnApplication@@QAE@VTUid@@@Z @ 164 NONAME ; CXnApplication::CXnApplication(class TUid)
-	?ComponentControl@CXnControlAdapter@@MBEPAVCCoeControl@@H@Z @ 165 NONAME ; class CCoeControl * CXnControlAdapter::ComponentControl(int) const
-	?HandlePageSwitch@CXnAppUiAdapter@@UAEXXZ @ 166 NONAME ; void CXnAppUiAdapter::HandlePageSwitch(void)
-	?HandleLongTapEventL@CXnControlAdapter@@UAEXABVTPoint@@0@Z @ 167 NONAME ; void CXnControlAdapter::HandleLongTapEventL(class TPoint const &, class TPoint const &)
-	?ParentL@CXnNodeAppIf@@QBEPAV1@XZ @ 168 NONAME ; class CXnNodeAppIf * CXnNodeAppIf::ParentL(void) const
-	??1CXnComponent@@UAE@XZ @ 169 NONAME ; CXnComponent::~CXnComponent(void)
-	?ControlAdapter@CXnComponent@@QAEPAVCXnControlAdapter@@XZ @ 170 NONAME ; class CXnControlAdapter * CXnComponent::ControlAdapter(void)
-	?DrawContentImage@CXnControlAdapter@@IBEXXZ @ 171 NONAME ; void CXnControlAdapter::DrawContentImage(void) const
-	?Component@CXnComponentNodeImpl@@QAEPAVCXnComponent@@XZ @ 172 NONAME ; class CXnComponent * CXnComponentNodeImpl::Component(void)
-	?GridScrollBarMarginL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 173 NONAME ; class CXnProperty * CXnNodePluginIf::GridScrollBarMarginL(void)
-	?WidgetsVisible@TXnUiEnginePluginIf@@QBEHXZ @ 174 NONAME ; int TXnUiEnginePluginIf::WidgetsVisible(void) const
-	?SetControlAdapter@CXnComponent@@QAEXPAVCXnControlAdapter@@@Z @ 175 NONAME ; void CXnComponent::SetControlAdapter(class CXnControlAdapter *)
-	?GridColumnsL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 176 NONAME ; class CXnProperty * CXnNodePluginIf::GridColumnsL(void)
-	?SetStateL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 177 NONAME ; void CXnNodePluginIf::SetStateL(class TDesC8 const &)
-	?DoesComponentNeedCreation@CXnComponentNodeImpl@@QBEHXZ @ 178 NONAME ; int CXnComponentNodeImpl::DoesComponentNeedCreation(void) const
-	??0CXnDocument@@QAE@AAVCEikApplication@@VTUid@@@Z @ 179 NONAME ; CXnDocument::CXnDocument(class CEikApplication &, class TUid)
-	?FindNodeByClassL@TXnUiEnginePluginIf@@QAE?AV?$RPointerArray@VCXnNodePluginIf@@@@ABVTDesC16@@@Z @ 180 NONAME ; class RPointerArray<class CXnNodePluginIf> TXnUiEnginePluginIf::FindNodeByClassL(class TDesC16 const &)
-	?GridHorDirectionL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 181 NONAME ; class CXnProperty * CXnNodePluginIf::GridHorDirectionL(void)
-	?InternalDomNodeType@CXnNodeAppIf@@QBEABVTDesC8@@XZ @ 182 NONAME ; class TDesC8 const & CXnNodeAppIf::InternalDomNodeType(void) const
-	?StringPool@TXnUiEnginePluginIf@@QAEAAVCXnDomStringPool@@XZ @ 183 NONAME ; class CXnDomStringPool & TXnUiEnginePluginIf::StringPool(void)
-	?SetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 184 NONAME ; void CXnNodeAppIf::SetStateL(class TDesC8 const &)
-	?Type@CXnNodeAppIf@@QAEPAVCXnType@@XZ @ 185 NONAME ; class CXnType * CXnNodeAppIf::Type(void)
-	?BorderRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 186 NONAME ; class TRect CXnNodeAppIf::BorderRect(void)
-	?IdL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 187 NONAME ; class CXnProperty * CXnNodePluginIf::IdL(void)
-	?RootNodeL@TXnUiEngineAppIf@@QAEAAVCXnNodeAppIf@@XZ @ 188 NONAME ; class CXnNodeAppIf & TXnUiEngineAppIf::RootNodeL(void)
-	?CreateXnComponentL@MXnComponentFactory@@QAE?AW4TXnComponentFactoryResponse@1@AAVCXnNodePluginIf@@AAPAVCXnComponent@@@Z @ 189 NONAME ; enum MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::CreateXnComponentL(class CXnNodePluginIf &, class CXnComponent * &)
-	?RefreshMenuL@TXnUiEngineAppIf@@QAEXXZ @ 190 NONAME ; void TXnUiEngineAppIf::RefreshMenuL(void)
-	?PaddingRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 191 NONAME ; class TRect CXnNodePluginIf::PaddingRect(void)
-	?MeasureAdaptiveContentL@CXnControlAdapter@@UAE?AVTSize@@ABV2@@Z @ 192 NONAME ; class TSize CXnControlAdapter::MeasureAdaptiveContentL(class TSize const &)
-	?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@0W4TPrimitiveValueType@CXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 193 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, class TDesC8 const &, enum CXnDomPropertyValue::TPrimitiveValueType, class CXnDomStringPool &)
-	?GetPropertyL@CXnNodePluginIf@@QBEPAVCXnProperty@@AAV2@@Z @ 194 NONAME ; class CXnProperty * CXnNodePluginIf::GetPropertyL(class CXnProperty &) const
-	?HitRegion@TXnUiEnginePluginIf@@QBEPAVCXnControlAdapter@@XZ @ 195 NONAME ; class CXnControlAdapter * TXnUiEnginePluginIf::HitRegion(void) const
-	?MarginRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 196 NONAME ; class TRect CXnNodeAppIf::MarginRect(void)
-	?MakeInterfaceL@CXnComponent@@UAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 197 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnComponent::MakeInterfaceL(class TDesC8 const &)
-	?EditMode@TXnUiEnginePluginIf@@QAEHXZ @ 198 NONAME ; int TXnUiEnginePluginIf::EditMode(void)
-	?FindNodeByIdL@TXnUiEnginePluginIf@@QAEPAVCXnNodePluginIf@@ABVTDesC8@@0@Z @ 199 NONAME ; class CXnNodePluginIf * TXnUiEnginePluginIf::FindNodeByIdL(class TDesC8 const &, class TDesC8 const &)
-	?EnableRenderUi@CXnUiEngineImpl@@CAXPAX@Z @ 200 NONAME ; void CXnUiEngineImpl::EnableRenderUi(void *)
-	?IsMenuDisplaying@TXnUiEnginePluginIf@@QAEHXZ @ 201 NONAME ; int TXnUiEnginePluginIf::IsMenuDisplaying(void)
-	?IsMenuDisplaying@TXnUiEngineAppIf@@QAEHXZ @ 202 NONAME ; int TXnUiEngineAppIf::IsMenuDisplaying(void)
-	?NewL@CXnProperty@@SAPAV1@PAVCXnDomProperty@@@Z @ 203 NONAME ; class CXnProperty * CXnProperty::NewL(class CXnDomProperty *)
-	?ConstructL@CXnComponentNodeImpl@@IAEXPAVCXnType@@@Z @ 204 NONAME ; void CXnComponentNodeImpl::ConstructL(class CXnType *)
-	?ChildrenL@CXnNodeAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@XZ @ 205 NONAME ; class RPointerArray<class CXnNodeAppIf> CXnNodeAppIf::ChildrenL(void)
-	?ConvertHslToRgb@CXnUtils@@SA?AVTRgb@@HHH@Z @ 206 NONAME ; class TRgb CXnUtils::ConvertHslToRgb(int, int, int)
-	?LoadBitmap@CXnControlAdapter@@QAEPAVCFbsBitmap@@ABVTDesC16@@@Z @ 207 NONAME ; class CFbsBitmap * CXnControlAdapter::LoadBitmap(class TDesC16 const &)
-	??0MXnComponentFactory@@IAE@XZ @ 208 NONAME ; MXnComponentFactory::MXnComponentFactory(void)
-	?SetComponent@CXnViewsNodeImpl@@QAEXPAVCXnComponent@@@Z @ 209 NONAME ; void CXnViewsNodeImpl::SetComponent(class CXnComponent *)
-	?BorderRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 210 NONAME ; class TRect CXnNodePluginIf::BorderRect(void)
-	?CreateDocumentL@CXnApplication@@MAEPAVCApaDocument@@XZ @ 211 NONAME ; class CApaDocument * CXnApplication::CreateDocumentL(void)
-	?CreateFontL@CXnUtils@@SAXABVTDesC16@@HVTFontStyle@@AAPAVCFont@@AAH@Z @ 212 NONAME ; void CXnUtils::CreateFontL(class TDesC16 const &, int, class TFontStyle, class CFont * &, int &)
-	?GetPluginNodeArrayL@TXnUiEngineAppIf@@QAEHAAV?$RPointerArray@VCXnNodeAppIf@@@@@Z @ 213 NONAME ; int TXnUiEngineAppIf::GetPluginNodeArrayL(class RPointerArray<class CXnNodeAppIf> &)
-	?MakeXnControlAdapterL@MXnComponentFactory@@EAEPAVCXnControlAdapter@@AAVCXnNodePluginIf@@PAV2@@Z @ 214 NONAME ; class CXnControlAdapter * MXnComponentFactory::MakeXnControlAdapterL(class CXnNodePluginIf &, class CXnControlAdapter *)
-	?IsDrawingAllowed@CXnNodePluginIf@@QBEHXZ @ 215 NONAME ; int CXnNodePluginIf::IsDrawingAllowed(void) const
-	?MakeInterfaceL@CXnNodeAppIf@@QAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 216 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnNodeAppIf::MakeInterfaceL(class TDesC8 const &)
-	?VerticalTwipValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 217 NONAME ; int TXnUiEnginePluginIf::VerticalTwipValueL(class CXnProperty *, int)
-	?Component@CXnControlAdapter@@QAEPAVCXnComponent@@XZ @ 218 NONAME ; class CXnComponent * CXnControlAdapter::Component(void)
-	?FloatValueL@CXnProperty@@QAENXZ @ 219 NONAME ; double CXnProperty::FloatValueL(void)
-	?SetUiEngine@TXnUiEngineAppIf@@QAEXPAVCXnUiEngine@@@Z @ 220 NONAME ; void TXnUiEngineAppIf::SetUiEngine(class CXnUiEngine *)
-	?FindNodeByIdL@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@ABVTDesC16@@0@Z @ 221 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FindNodeByIdL(class TDesC16 const &, class TDesC16 const &)
-	?IsEditMode@TXnUiEngineAppIf@@QAEHXZ @ 222 NONAME ; int TXnUiEngineAppIf::IsEditMode(void)
-	?ResolveSkinItemIDL@CXnUtils@@SAHABVTDesC16@@AAVTAknsItemID@@AAH@Z @ 223 NONAME ; int CXnUtils::ResolveSkinItemIDL(class TDesC16 const &, class TAknsItemID &, int &)
-	?RootNodeL@TXnUiEnginePluginIf@@QAEAAVCXnNodePluginIf@@XZ @ 224 NONAME ; class CXnNodePluginIf & TXnUiEnginePluginIf::RootNodeL(void)
-	?CreateAppUiL@CXnDocument@@UAEPAVCEikAppUi@@XZ @ 225 NONAME ; class CEikAppUi * CXnDocument::CreateAppUiL(void)
-	?PathL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 226 NONAME ; class CXnProperty * CXnNodePluginIf::PathL(void)
-	?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@NW4TPrimitiveValueType@CXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 227 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, double, enum CXnDomPropertyValue::TPrimitiveValueType, class CXnDomStringPool &)
-	?MaskPathL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 228 NONAME ; class CXnProperty * CXnNodePluginIf::MaskPathL(void)
-	?AppDllUid@CXnApplication@@MBE?AVTUid@@XZ @ 229 NONAME ; class TUid CXnApplication::AppDllUid(void) const
-	?DoExitPowerSaveModeL@CXnControlAdapter@@UAEXW4TModeEvent@1@@Z @ 230 NONAME ; void CXnControlAdapter::DoExitPowerSaveModeL(enum CXnControlAdapter::TModeEvent)
-	?LabelL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 231 NONAME ; class CXnProperty * CXnNodePluginIf::LabelL(void)
-	?Component@CXnViewsNodeImpl@@QAEPAVCXnComponent@@XZ @ 232 NONAME ; class CXnComponent * CXnViewsNodeImpl::Component(void)
-	?GetRgbValue@CXnUtils@@SAHAAVTRgb@@ABVTDesC8@@@Z @ 233 NONAME ; int CXnUtils::GetRgbValue(class TRgb &, class TDesC8 const &)
-	?StringValue@CXnProperty@@QAEABVTDesC8@@XZ @ 234 NONAME ; class TDesC8 const & CXnProperty::StringValue(void)
-	?SetVisible@CXnControlAdapter@@QAEXH@Z @ 235 NONAME ; void CXnControlAdapter::SetVisible(int)
-	?Node@CXnComponent@@QAEPAVCXnNodePluginIf@@XZ @ 236 NONAME ; class CXnNodePluginIf * CXnComponent::Node(void)
-	?HandleEnterEditModeL@CXnAppUiAdapter@@UAEXH@Z @ 237 NONAME ; void CXnAppUiAdapter::HandleEnterEditModeL(int)
-
--- a/idlehomescreen/xmluirendering/uiengine/eabi/xn3layoutengineu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +0,0 @@
-EXPORTS
-	_ZN11CXnDocument12CreateAppUiLEv @ 1 NONAME
-	_ZN11CXnDocument3UidEv @ 2 NONAME
-	_ZN11CXnDocumentC1ER15CEikApplication4TUid @ 3 NONAME
-	_ZN11CXnDocumentC2ER15CEikApplication4TUid @ 4 NONAME
-	_ZN11CXnDocumentD0Ev @ 5 NONAME
-	_ZN11CXnDocumentD1Ev @ 6 NONAME
-	_ZN11CXnDocumentD2Ev @ 7 NONAME
-	_ZN11CXnProperty11FloatValueLEv @ 8 NONAME
-	_ZN11CXnProperty11StringValueEv @ 9 NONAME
-	_ZN11CXnProperty12StringValueLEv @ 10 NONAME
-	_ZN11CXnProperty4NewLEP14CXnDomProperty @ 11 NONAME
-	_ZN11CXnProperty4NewLERK6TDesC8P19CXnDomPropertyValueR16CXnDomStringPool @ 12 NONAME
-	_ZN11CXnProperty4NewLERK6TDesC8S2_N19CXnDomPropertyValue19TPrimitiveValueTypeER16CXnDomStringPool @ 13 NONAME
-	_ZN11CXnProperty4NewLERK6TDesC8dN19CXnDomPropertyValue19TPrimitiveValueTypeER16CXnDomStringPool @ 14 NONAME
-	_ZN11CXnProperty6CloneLEv @ 15 NONAME
-	_ZN11CXnProperty8PropertyEv @ 16 NONAME
-	_ZN12CXnComponent10ConstructLEv @ 17 NONAME
-	_ZN12CXnComponent14ControlAdapterEv @ 18 NONAME
-	_ZN12CXnComponent14MakeInterfaceLERK6TDesC8 @ 19 NONAME
-	_ZN12CXnComponent17SetControlAdapterEP17CXnControlAdapter @ 20 NONAME
-	_ZN12CXnComponent18ExitPowerSaveModeLEv @ 21 NONAME
-	_ZN12CXnComponent19EnterPowerSaveModeLEv @ 22 NONAME
-	_ZN12CXnComponent4NewLEv @ 23 NONAME
-	_ZN12CXnComponent4NodeEv @ 24 NONAME
-	_ZN12CXnComponent7SetNodeER15CXnNodePluginIf @ 25 NONAME
-	_ZN12CXnComponentC1Ev @ 26 NONAME
-	_ZN12CXnComponentC2Ev @ 27 NONAME
-	_ZN12CXnComponentD0Ev @ 28 NONAME
-	_ZN12CXnComponentD1Ev @ 29 NONAME
-	_ZN12CXnComponentD2Ev @ 30 NONAME
-	_ZN12CXnNodeAppIf10BorderRectEv @ 31 NONAME
-	_ZN12CXnNodeAppIf10IsStateSetERK6TDesC8 @ 32 NONAME
-	_ZN12CXnNodeAppIf10MarginRectEv @ 33 NONAME
-	_ZN12CXnNodeAppIf10SetPCDataLERK6TDesC8 @ 34 NONAME
-	_ZN12CXnNodeAppIf11PaddingRectEv @ 35 NONAME
-	_ZN12CXnNodeAppIf11UnsetStateLERK6TDesC8 @ 36 NONAME
-	_ZN12CXnNodeAppIf12SetPropertyLEP11CXnProperty @ 37 NONAME
-	_ZN12CXnNodeAppIf13HideTooltipsLEv @ 38 NONAME
-	_ZN12CXnNodeAppIf13ShowTooltipsLEv @ 39 NONAME
-	_ZN12CXnNodeAppIf14MakeInterfaceLERK6TDesC8 @ 40 NONAME
-	_ZN12CXnNodeAppIf17SetPropertyArrayLEP13RPointerArrayI11CXnPropertyE @ 41 NONAME
-	_ZN12CXnNodeAppIf4RectEv @ 42 NONAME
-	_ZN12CXnNodeAppIf4TypeEv @ 43 NONAME
-	_ZN12CXnNodeAppIf9ChildrenLEv @ 44 NONAME
-	_ZN12CXnNodeAppIf9NamespaceEv @ 45 NONAME
-	_ZN12CXnNodeAppIf9SetStateLERK6TDesC8 @ 46 NONAME
-	_ZN12CXnNodeAppIf9UiEngineLEv @ 47 NONAME
-	_ZN14CXnApplication15CreateDocumentLEv @ 48 NONAME
-	_ZN14CXnApplicationC1E4TUid @ 49 NONAME
-	_ZN14CXnApplicationC2E4TUid @ 50 NONAME
-	_ZN14CXnApplicationD0Ev @ 51 NONAME
-	_ZN14CXnApplicationD1Ev @ 52 NONAME
-	_ZN14CXnApplicationD2Ev @ 53 NONAME
-	_ZN15CXnAppUiAdapter10ConstructLEv @ 54 NONAME
-	_ZN15CXnAppUiAdapter15SetOnlineStateLER13RPointerArrayI12CXnNodeAppIfE @ 55 NONAME
-	_ZN15CXnAppUiAdapter16DynInitMenuItemLERK7TDesC16P13RPointerArrayI12CXnNodeAppIfE @ 56 NONAME
-	_ZN15CXnAppUiAdapter16HandlePageSwitchEv @ 57 NONAME
-	_ZN15CXnAppUiAdapter16LoadDataPluginsLER13RPointerArrayI12CXnNodeAppIfE @ 58 NONAME
-	_ZN15CXnAppUiAdapter18HandleXuikonEventLER12CXnNodeAppIfS1_R10CXnDomNodeS3_ @ 59 NONAME
-	_ZN15CXnAppUiAdapter19DestroyDataPluginsLER13RPointerArrayI12CXnNodeAppIfE @ 60 NONAME
-	_ZN15CXnAppUiAdapter21HandleResourceChangeLEi @ 61 NONAME
-	_ZN15CXnAppUiAdapter9UiEngineLEv @ 62 NONAME
-	_ZN15CXnAppUiAdapterC1E4TUid @ 63 NONAME
-	_ZN15CXnAppUiAdapterC2E4TUid @ 64 NONAME
-	_ZN15CXnAppUiAdapterD0Ev @ 65 NONAME
-	_ZN15CXnAppUiAdapterD1Ev @ 66 NONAME
-	_ZN15CXnAppUiAdapterD2Ev @ 67 NONAME
-	_ZN15CXnNodePluginIf10BorderRectEv @ 68 NONAME
-	_ZN15CXnNodePluginIf10MarginRectEv @ 69 NONAME
-	_ZN15CXnNodePluginIf10SetPCDataLERK6TDesC8 @ 70 NONAME
-	_ZN15CXnNodePluginIf11PaddingRectEv @ 71 NONAME
-	_ZN15CXnNodePluginIf11UnsetStateLERK6TDesC8 @ 72 NONAME
-	_ZN15CXnNodePluginIf11VisibilityLEv @ 73 NONAME
-	_ZN15CXnNodePluginIf12GridColumnsLEv @ 74 NONAME
-	_ZN15CXnNodePluginIf12SetPropertyLEP11CXnProperty @ 75 NONAME
-	_ZN15CXnNodePluginIf12ViewNodeImplEv @ 76 NONAME
-	_ZN15CXnNodePluginIf12VisibleRowsLEv @ 77 NONAME
-	_ZN15CXnNodePluginIf13SetBorderRectERK5TRect @ 78 NONAME
-	_ZN15CXnNodePluginIf13SetMarginRectERK5TRect @ 79 NONAME
-	_ZN15CXnNodePluginIf14IsFocusedStateEv @ 80 NONAME
-	_ZN15CXnNodePluginIf14MakeInterfaceLERK6TDesC8 @ 81 NONAME
-	_ZN15CXnNodePluginIf14SetPaddingRectERK5TRect @ 82 NONAME
-	_ZN15CXnNodePluginIf16FocusHorLoopingLEv @ 83 NONAME
-	_ZN15CXnNodePluginIf16FocusVerLoopingLEv @ 84 NONAME
-	_ZN15CXnNodePluginIf16GridOrientationLEv @ 85 NONAME
-	_ZN15CXnNodePluginIf16SetHandleTooltipEi @ 86 NONAME
-	_ZN15CXnNodePluginIf16SetLayoutCapableEi @ 87 NONAME
-	_ZN15CXnNodePluginIf17ComponentNodeImplEv @ 88 NONAME
-	_ZN15CXnNodePluginIf17GridHorDirectionLEv @ 89 NONAME
-	_ZN15CXnNodePluginIf17GridVerDirectionLEv @ 90 NONAME
-	_ZN15CXnNodePluginIf19GridScrollBarWidthLEv @ 91 NONAME
-	_ZN15CXnNodePluginIf19ReportTriggerEventLERK6TDesC8S2_S2_ @ 92 NONAME
-	_ZN15CXnNodePluginIf20GridScrollBarMarginLEv @ 93 NONAME
-	_ZN15CXnNodePluginIf31SetPropertyWithoutNotificationLEP11CXnProperty @ 94 NONAME
-	_ZN15CXnNodePluginIf3IdLEv @ 95 NONAME
-	_ZN15CXnNodePluginIf4RectEv @ 96 NONAME
-	_ZN15CXnNodePluginIf4RefLEv @ 97 NONAME
-	_ZN15CXnNodePluginIf4TypeEv @ 98 NONAME
-	_ZN15CXnNodePluginIf5PathLEv @ 99 NONAME
-	_ZN15CXnNodePluginIf6AppIfLEv @ 100 NONAME
-	_ZN15CXnNodePluginIf6LabelLEv @ 101 NONAME
-	_ZN15CXnNodePluginIf7SetRectERK5TRect @ 102 NONAME
-	_ZN15CXnNodePluginIf8DisplayLEv @ 103 NONAME
-	_ZN15CXnNodePluginIf9AddChildLEPS_ @ 104 NONAME
-	_ZN15CXnNodePluginIf9ChildrenLEv @ 105 NONAME
-	_ZN15CXnNodePluginIf9MaskPathLEv @ 106 NONAME
-	_ZN15CXnNodePluginIf9NamespaceEv @ 107 NONAME
-	_ZN15CXnNodePluginIf9SetDirtyLEv @ 108 NONAME
-	_ZN15CXnNodePluginIf9SetStateLERK6TDesC8 @ 109 NONAME
-	_ZN15CXnNodePluginIf9UiEngineLEv @ 110 NONAME
-	_ZN15CXnUiEngineImpl14EnableRenderUiEPv @ 111 NONAME
-	_ZN16CXnViewsNodeImpl10ConstructLEP7CXnType @ 112 NONAME
-	_ZN16CXnViewsNodeImpl12SetComponentEP12CXnComponent @ 113 NONAME
-	_ZN16CXnViewsNodeImpl4NewLEP7CXnType @ 114 NONAME
-	_ZN16CXnViewsNodeImpl9ComponentEv @ 115 NONAME
-	_ZN16CXnViewsNodeImplC1Ev @ 116 NONAME
-	_ZN16CXnViewsNodeImplC2Ev @ 117 NONAME
-	_ZN16CXnViewsNodeImplD0Ev @ 118 NONAME
-	_ZN16CXnViewsNodeImplD1Ev @ 119 NONAME
-	_ZN16CXnViewsNodeImplD2Ev @ 120 NONAME
-	_ZN16MXnNodePredicate5MatchER7CXnNode @ 121 NONAME
-	_ZN16MXnNodePredicateC1Ev @ 122 NONAME
-	_ZN16MXnNodePredicateC2Ev @ 123 NONAME
-	_ZN16MXnNodePredicateD0Ev @ 124 NONAME
-	_ZN16MXnNodePredicateD1Ev @ 125 NONAME
-	_ZN16MXnNodePredicateD2Ev @ 126 NONAME
-	_ZN16TXnUiEngineAppIf10ActiveViewEv @ 127 NONAME
-	_ZN16TXnUiEngineAppIf10IsEditModeEv @ 128 NONAME
-	_ZN16TXnUiEngineAppIf10StringPoolEv @ 129 NONAME
-	_ZN16TXnUiEngineAppIf11FocusedNodeEv @ 130 NONAME
-	_ZN16TXnUiEngineAppIf11SetUiEngineEP11CXnUiEngine @ 131 NONAME
-	_ZN16TXnUiEngineAppIf12RefreshMenuLEv @ 132 NONAME
-	_ZN16TXnUiEngineAppIf13ActivateViewLER12CXnNodeAppIf @ 133 NONAME
-	_ZN16TXnUiEngineAppIf13FindNodeByIdLERK6TDesC8S2_ @ 134 NONAME
-	_ZN16TXnUiEngineAppIf13FindNodeByIdLERK7TDesC16S2_ @ 135 NONAME
-	_ZN16TXnUiEngineAppIf16FindNodeByClassLERK6TDesC8S2_ @ 136 NONAME
-	_ZN16TXnUiEngineAppIf16FindNodeByClassLERK7TDesC16S2_ @ 137 NONAME
-	_ZN16TXnUiEngineAppIf16GetThemeResourceERK7TDesC16R5RFile @ 138 NONAME
-	_ZN16TXnUiEngineAppIf16IsMenuDisplayingEv @ 139 NONAME
-	_ZN16TXnUiEngineAppIf19GetPluginNodeArrayLER13RPointerArrayI12CXnNodeAppIfE @ 140 NONAME
-	_ZN16TXnUiEngineAppIf23FindContentSourceNodesLERK6TDesC8 @ 141 NONAME
-	_ZN16TXnUiEngineAppIf9RenderUILEP12CXnNodeAppIf @ 142 NONAME
-	_ZN16TXnUiEngineAppIf9RootNodeLEv @ 143 NONAME
-	_ZN17CXnControlAdapter10ConstructLER15CXnNodePluginIf @ 144 NONAME
-	_ZN17CXnControlAdapter10LoadBitmapERK7TDesC16 @ 145 NONAME
-	_ZN17CXnControlAdapter10SetVisibleEi @ 146 NONAME
-	_ZN17CXnControlAdapter11SizeChangedEv @ 147 NONAME
-	_ZN17CXnControlAdapter11SkinChangedEv @ 148 NONAME
-	_ZN17CXnControlAdapter12FocusChangedE8TDrawNow @ 149 NONAME
-	_ZN17CXnControlAdapter12SetComponentEP12CXnComponent @ 150 NONAME
-	_ZN17CXnControlAdapter14ContentBitmapsERP10CFbsBitmapS2_ @ 151 NONAME
-	_ZN17CXnControlAdapter14OfferKeyEventLERK9TKeyEvent10TEventCode @ 152 NONAME
-	_ZN17CXnControlAdapter15SetLocalUiZoomLE10TAknUiZoom @ 153 NONAME
-	_ZN17CXnControlAdapter16GetBitmapAndMaskERK7TDesC16S2_RP10CFbsBitmapS5_ @ 154 NONAME
-	_ZN17CXnControlAdapter17SetContentBitmapsEP10CFbsBitmapS1_ @ 155 NONAME
-	_ZN17CXnControlAdapter17SetContentBitmapsERK7TDesC16S2_ @ 156 NONAME
-	_ZN17CXnControlAdapter18ExitPowerSaveModeLENS_10TModeEventE @ 157 NONAME
-	_ZN17CXnControlAdapter18ResetStylusCounterEv @ 158 NONAME
-	_ZN17CXnControlAdapter19EnterPowerSaveModeLENS_10TModeEventE @ 159 NONAME
-	_ZN17CXnControlAdapter19HandleControlEventLEP11CCoeControlN19MCoeControlObserver9TCoeEventE @ 160 NONAME
-	_ZN17CXnControlAdapter19HandleLongTapEventLERK6TPointS2_ @ 161 NONAME
-	_ZN17CXnControlAdapter19HandlePointerEventLERK13TPointerEvent @ 162 NONAME
-	_ZN17CXnControlAdapter20DoExitPowerSaveModeLENS_10TModeEventE @ 163 NONAME
-	_ZN17CXnControlAdapter21DoEnterPowerSaveModeLENS_10TModeEventE @ 164 NONAME
-	_ZN17CXnControlAdapter21HandlePropertyChangeLEP11CXnProperty @ 165 NONAME
-	_ZN17CXnControlAdapter22EnableLongTapAnimationEi @ 166 NONAME
-	_ZN17CXnControlAdapter23DoHandlePropertyChangeLEP11CXnProperty @ 167 NONAME
-	_ZN17CXnControlAdapter23MeasureAdaptiveContentLERK5TSize @ 168 NONAME
-	_ZN17CXnControlAdapter26HandleScreenDeviceChangedLEv @ 169 NONAME
-	_ZN17CXnControlAdapter4NewLER15CXnNodePluginIf @ 170 NONAME
-	_ZN17CXnControlAdapter8SetBlankEi @ 171 NONAME
-	_ZN17CXnControlAdapter9ComponentEv @ 172 NONAME
-	_ZN17CXnControlAdapterC1Ev @ 173 NONAME
-	_ZN17CXnControlAdapterC2Ev @ 174 NONAME
-	_ZN17CXnControlAdapterD0Ev @ 175 NONAME
-	_ZN17CXnControlAdapterD1Ev @ 176 NONAME
-	_ZN17CXnControlAdapterD2Ev @ 177 NONAME
-	_ZN19MXnComponentFactory16MakeXnComponentLER15CXnNodePluginIfRP12CXnComponent @ 178 NONAME
-	_ZN19MXnComponentFactory18CreateXnComponentLER15CXnNodePluginIfRP12CXnComponent @ 179 NONAME
-	_ZN19MXnComponentFactory21MakeXnControlAdapterLER15CXnNodePluginIfP17CXnControlAdapter @ 180 NONAME
-	_ZN19MXnComponentFactory26DoesNodeNeedComponentImplLERK6TDesC8 @ 181 NONAME
-	_ZN19MXnComponentFactoryC2Ev @ 182 NONAME
-	_ZN19MXnComponentFactoryD0Ev @ 183 NONAME
-	_ZN19MXnComponentFactoryD1Ev @ 184 NONAME
-	_ZN19MXnComponentFactoryD2Ev @ 185 NONAME
-	_ZN19TXnUiEnginePluginIf10StringPoolEv @ 186 NONAME
-	_ZN19TXnUiEnginePluginIf11PluginNodeLEP15CXnNodePluginIf @ 187 NONAME
-	_ZN19TXnUiEnginePluginIf12EnableSwipeLEi @ 188 NONAME
-	_ZN19TXnUiEnginePluginIf12FocusVisibleEv @ 189 NONAME
-	_ZN19TXnUiEnginePluginIf12FocusedNodeLEv @ 190 NONAME
-	_ZN19TXnUiEnginePluginIf13ActivateViewLER15CXnNodePluginIf @ 191 NONAME
-	_ZN19TXnUiEnginePluginIf13AddDirtyNodeLER15CXnNodePluginIf @ 192 NONAME
-	_ZN19TXnUiEnginePluginIf13FindNodeByIdLERK6TDesC8S2_ @ 193 NONAME
-	_ZN19TXnUiEnginePluginIf13FindNodeByIdLERK7TDesC16S2_ @ 194 NONAME
-	_ZN19TXnUiEnginePluginIf13SwipeEnabledLEv @ 195 NONAME
-	_ZN19TXnUiEnginePluginIf14SetFocusedNodeEP15CXnNodePluginIf @ 196 NONAME
-	_ZN19TXnUiEnginePluginIf16FindNodeByClassLERK7TDesC16 @ 197 NONAME
-	_ZN19TXnUiEnginePluginIf16IsMenuDisplayingEv @ 198 NONAME
-	_ZN19TXnUiEnginePluginIf16ScreenDeviceSizeEv @ 199 NONAME
-	_ZN19TXnUiEnginePluginIf16SetFocusVisibleLEi @ 200 NONAME
-	_ZN19TXnUiEnginePluginIf17DisableRenderUiLCEv @ 201 NONAME
-	_ZN19TXnUiEnginePluginIf18IsDialogDisplayingEv @ 202 NONAME
-	_ZN19TXnUiEnginePluginIf18VerticalTwipValueLEP11CXnPropertyi @ 203 NONAME
-	_ZN19TXnUiEnginePluginIf19VerticalPixelValueLEP11CXnPropertyi @ 204 NONAME
-	_ZN19TXnUiEnginePluginIf20HorizontalTwipValueLEP11CXnPropertyi @ 205 NONAME
-	_ZN19TXnUiEnginePluginIf21HorizontalPixelValueLEP11CXnPropertyi @ 206 NONAME
-	_ZN19TXnUiEnginePluginIf22DeactivateFocusedNodeLEv @ 207 NONAME
-	_ZN19TXnUiEnginePluginIf26RestorePreviousFocusedNodeEv @ 208 NONAME
-	_ZN19TXnUiEnginePluginIf8EditModeEv @ 209 NONAME
-	_ZN19TXnUiEnginePluginIf9LayoutUILEP15CXnNodePluginIf @ 210 NONAME
-	_ZN19TXnUiEnginePluginIf9RenderUILEP15CXnNodePluginIf @ 211 NONAME
-	_ZN19TXnUiEnginePluginIf9ResourcesEv @ 212 NONAME
-	_ZN19TXnUiEnginePluginIf9RootNodeLEv @ 213 NONAME
-	_ZN19TXnUiEnginePluginIf9ShowFocusEv @ 214 NONAME
-	_ZN20CXnComponentNodeImpl10ConstructLEP7CXnType @ 215 NONAME
-	_ZN20CXnComponentNodeImpl12SetComponentEP12CXnComponent @ 216 NONAME
-	_ZN20CXnComponentNodeImpl14MakeInterfaceLERK6TDesC8 @ 217 NONAME
-	_ZN20CXnComponentNodeImpl25SetComponentNeedsCreationEi @ 218 NONAME
-	_ZN20CXnComponentNodeImpl4NewLEP7CXnType @ 219 NONAME
-	_ZN20CXnComponentNodeImpl9ComponentEv @ 220 NONAME
-	_ZN20CXnComponentNodeImplC1Ev @ 221 NONAME
-	_ZN20CXnComponentNodeImplC2Ev @ 222 NONAME
-	_ZN20CXnComponentNodeImplD0Ev @ 223 NONAME
-	_ZN20CXnComponentNodeImplD1Ev @ 224 NONAME
-	_ZN20CXnComponentNodeImplD2Ev @ 225 NONAME
-	_ZN8CXnUtils11CreateFontLER15CXnNodePluginIfRP5CFontRi @ 226 NONAME
-	_ZN8CXnUtils11CreateFontLERK7TDesC16i10TFontStyleRP5CFontRi @ 227 NONAME
-	_ZN8CXnUtils11GetRgbValueER4TRgbRK6TDesC8 @ 228 NONAME
-	_ZN8CXnUtils11StripQuotesERP7HBufC16 @ 229 NONAME
-	_ZN8CXnUtils12FindResourceER12CArrayPtrSegI11CXnResourceERK7TDesC16Ri @ 230 NONAME
-	_ZN8CXnUtils12ScaleBitmapLERK5TRectP10CFbsBitmapS4_ @ 231 NONAME
-	_ZN8CXnUtils13TextAlignmentER15CXnNodePluginIf @ 232 NONAME
-	_ZN8CXnUtils15ConvertHslToRgbEiii @ 233 NONAME
-	_ZN8CXnUtils18CollapseWhiteSpaceER15CXnNodePluginIfR6TDes16 @ 234 NONAME
-	_ZN8CXnUtils18ResolveSkinItemIDLERK7TDesC16R11TAknsItemIDRi @ 235 NONAME
-	_ZN8CXnUtils20HandlePowerSaveModeLEP7CXnNodeii @ 236 NONAME
-	_ZNK11CXnProperty7EqualsLERS_ @ 237 NONAME
-	_ZNK12CXnNodeAppIf12GetPropertyLER11CXnProperty @ 238 NONAME
-	_ZNK12CXnNodeAppIf12GetPropertyLERK6TDesC8 @ 239 NONAME
-	_ZNK12CXnNodeAppIf19InternalDomNodeTypeEv @ 240 NONAME
-	_ZNK12CXnNodeAppIf7ParentLEv @ 241 NONAME
-	_ZNK12CXnNodeAppIf9GetPCDataEv @ 242 NONAME
-	_ZNK14CXnApplication9AppDllUidEv @ 243 NONAME
-	_ZNK15CXnAppUiAdapter4ViewEv @ 244 NONAME
-	_ZNK15CXnNodePluginIf12GetPropertyLER11CXnProperty @ 245 NONAME
-	_ZNK15CXnNodePluginIf12GetPropertyLERK6TDesC8 @ 246 NONAME
-	_ZNK15CXnNodePluginIf7ControlEv @ 247 NONAME
-	_ZNK15CXnNodePluginIf7ParentLEv @ 248 NONAME
-	_ZNK15CXnNodePluginIf9GetPCDataEv @ 249 NONAME
-	_ZNK16TXnUiEngineAppIf14WidgetsVisibleEv @ 250 NONAME
-	_ZNK17CXnControlAdapter15LongTapDetectorEv @ 251 NONAME
-	_ZNK17CXnControlAdapter16ComponentControlEi @ 252 NONAME
-	_ZNK17CXnControlAdapter16DrawContentImageEv @ 253 NONAME
-	_ZNK17CXnControlAdapter16IsDrawingAllowedEv @ 254 NONAME
-	_ZNK17CXnControlAdapter22CountComponentControlsEv @ 255 NONAME
-	_ZNK17CXnControlAdapter4DrawERK5TRect @ 256 NONAME
-	_ZNK17CXnControlAdapter4DrawERK5TRectR9CWindowGc @ 257 NONAME
-	_ZNK19TXnUiEnginePluginIf14WidgetsVisibleEv @ 258 NONAME
-	_ZNK19TXnUiEnginePluginIf9HitRegionEv @ 259 NONAME
-	_ZNK20CXnComponentNodeImpl25DoesComponentNeedCreationEv @ 260 NONAME
-	_ZTI11CXnDocument @ 261 NONAME
-	_ZTI11CXnProperty @ 262 NONAME
-	_ZTI12CXnComponent @ 263 NONAME
-	_ZTI14CXnApplication @ 264 NONAME
-	_ZTI15CXnAppUiAdapter @ 265 NONAME
-	_ZTI16CXnViewsNodeImpl @ 266 NONAME
-	_ZTI16MXnNodePredicate @ 267 NONAME
-	_ZTI17CXnControlAdapter @ 268 NONAME
-	_ZTI18CXnListQueryDialog @ 269 NONAME
-	_ZTI19MXnComponentFactory @ 270 NONAME
-	_ZTI20CXnComponentNodeImpl @ 271 NONAME
-	_ZTI27CXnNodeBreadthFirstIteratorI7CXnNodeE @ 272 NONAME
-	_ZTIN21CXnControlAdapterImpl13TIconProviderE @ 273 NONAME
-	_ZTV11CXnDocument @ 274 NONAME
-	_ZTV11CXnProperty @ 275 NONAME
-	_ZTV12CXnComponent @ 276 NONAME
-	_ZTV14CXnApplication @ 277 NONAME
-	_ZTV15CXnAppUiAdapter @ 278 NONAME
-	_ZTV16CXnViewsNodeImpl @ 279 NONAME
-	_ZTV16MXnNodePredicate @ 280 NONAME
-	_ZTV17CXnControlAdapter @ 281 NONAME
-	_ZTV18CXnListQueryDialog @ 282 NONAME
-	_ZTV19MXnComponentFactory @ 283 NONAME
-	_ZTV20CXnComponentNodeImpl @ 284 NONAME
-	_ZTV27CXnNodeBreadthFirstIteratorI7CXnNodeE @ 285 NONAME
-	_ZTVN21CXnControlAdapterImpl13TIconProviderE @ 286 NONAME
-	_ZThn52_N17CXnControlAdapter19HandleControlEventLEP11CCoeControlN19MCoeControlObserver9TCoeEventE @ 287 NONAME
-	_ZThn60_N17CXnControlAdapter19HandleLongTapEventLERK6TPointS2_ @ 288 NONAME
-	_ZN15CXnAppUiAdapter20HandleEnterEditModeLEi @ 289 NONAME
-
--- a/idlehomescreen/xmluirendering/uiengine/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  Building information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMv5 WINSCW
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xnlayoutengine.mmp
--- a/idlehomescreen/xmluirendering/uiengine/group/xnlayoutengine.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +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:
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <bldvariant.hrh>
-#include "../../inc/xuikon_builds_cfg.hrh"
-#include <platform/mw/aisystemuids.hrh>
-#include "../../../inc/ai3.hrh"
-
-TARGET          xn3layoutengine.dll
-TARGETTYPE      DLL
-UID             0x1000008d AI3_UID_LAYOUT_ENGINE
-
-VENDORID VID_DEFAULT
-CAPABILITY      CAP_GENERAL_DLL
-SOURCEPATH      ../src
-
-SOURCE    xnapplication.cpp
-SOURCE    xnappuiadapter.cpp
-SOURCE    xnappuiadapterimpl.cpp
-SOURCE    xncomponent.cpp
-SOURCE    xncomponentfactory.cpp
-SOURCE    xncomponentnodeimpl.cpp
-SOURCE    xncontroladapter.cpp
-SOURCE    xnpopupcontroladapter.cpp
-SOURCE    xncontroladapterimpl.cpp
-SOURCE    xnkeyeventdispatcher.cpp
-SOURCE    xndocument.cpp
-SOURCE    xnnode.cpp
-SOURCE    xnnodeappif.cpp
-SOURCE    xnnodepluginif.cpp
-SOURCE    xnnodeimpl.cpp
-SOURCE    xnnodepredicate.cpp
-SOURCE    xnodtparser.cpp
-SOURCE    xnpanic.cpp
-SOURCE    xnproperty.cpp
-SOURCE    xnpropertycomparator.cpp
-SOURCE    xnpropertylist.cpp
-SOURCE    xnuiengine.cpp
-SOURCE    xnuiengineappif.cpp
-SOURCE    xnuienginepluginif.cpp
-SOURCE    xnuiengineimpl.cpp
-SOURCE    xnviewadapter.cpp
-SOURCE    xnviewnodeimpl.cpp
-SOURCE    xnviewsnodeimpl.cpp
-SOURCE    xnutils.cpp
-SOURCE    xnuistatelistener.cpp
-SOURCE    xncomposer.cpp
-SOURCE    xneditmode.cpp
-SOURCE    xneditor.cpp
-SOURCE    xnpropertysubscriber.cpp
-SOURCE    xngesturehelper.cpp
-SOURCE    xngesture.cpp
-SOURCE    xngesturerecogniser.cpp
-SOURCE    xnpointarray.cpp
-SOURCE    xnhittest.cpp
-SOURCE    xnplugindata.cpp
-SOURCE    xnviewdata.cpp
-SOURCE    xnrootdata.cpp
-SOURCE    xnviewmanager.cpp
-SOURCE    xnwidgetextensionadapter.cpp
-SOURCE    xnscrollablecontroladapter.cpp
-SOURCE    xnoomsyshandler.cpp
-SOURCE    xnlistquerydialogadapter.cpp
-SOURCE    xnwallpaperview.cpp
-SOURCE    xnwallpapercontainer.cpp
-SOURCE    xneffectmanager.cpp
-SOURCE    xnbgcontrol.cpp 
-SOURCE    xninactivitymonitor.cpp 
-SOURCE    xnfocuscontrol.cpp
-SOURCE    xnextrenderingpluginwrapper.cpp
-SOURCE    xnbackgroundmanager.cpp
-
-START RESOURCE  xnuiengine.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-
-USERINCLUDE     ../inc                               // uiengine
-USERINCLUDE     ../../inc             				 // xmluirendering
-USERINCLUDE     ../../../inc                         // idlehomescreen
-USERINCLUDE     ../../../sapiwrapper/hspswrapper/inc    // hspswrapper
-USERINCLUDE     ../../../sapiwrapper/cpswrapper/inc     // cpswrapper
-USERINCLUDE     ../../../hscontentcontrol/inc           // hscontentcontrolfactory
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY    euser.lib
-LIBRARY    cone.lib
-LIBRARY    bafl.lib
-LIBRARY    eikcoctl.lib
-LIBRARY    eikcore.lib
-LIBRARY    egul.lib
-LIBRARY    fbscli.lib
-LIBRARY    ws32.lib
-LIBRARY    efsrv.lib
-LIBRARY    apparc.lib
-LIBRARY    ecom.lib
-LIBRARY    estor.lib
-LIBRARY    gdi.lib
-LIBRARY    hal.lib
-
-LIBRARY    liwservicehandler.lib
-LIBRARY    hspswrapper.lib
-LIBRARY    cpswrapper.lib
-LIBRARY    xn3utils.lib
-LIBRARY    xn3odt.lib
-LIBRARY    xn3domdocument.lib
-LIBRARY    avkon.lib
-LIBRARY    charconv.lib
-LIBRARY    aknicon.lib
-LIBRARY    inetprotutil.lib
-LIBRARY    xn3resource.lib
-LIBRARY    svgengine.lib
-LIBRARY    aknskins.lib
-LIBRARY    fntstr.lib
-LIBRARY    cdlengine.lib
-LIBRARY    aknlayout2scalable.lib
-LIBRARY    bitgdi.lib
-LIBRARY    hwrmlightclient.lib
-LIBRARY    commonengine.lib
-LIBRARY    aknnotify.lib
-LIBRARY    aknphysics.lib
-LIBRARY    gfxtrans.lib
-LIBRARY    aknswallpaperutils.lib
-LIBRARY    aknskinsrv.lib
-LIBRARY    centralrepository.lib
-LIBRARY    mgfetch.lib
-LIBRARY    hscontentcontrol.lib
-LIBRARY    hscontentinfo.lib
-LIBRARY    hsccproviderclient.lib
-LIBRARY    extrenderingplugin.lib
-LIBRARY    disknotifyhandler.lib
-LIBRARY	   platformenv.lib
-
-#if defined(_XN3_DEBUG_) || defined(AI3_DEBUG_PERFORMANCE)
-LIBRARY    flogger.lib
-#endif
-
-#ifdef RD_TACTILE_FEEDBACK
-LIBRARY    touchfeedback.lib
-#endif //RD_TACTILE_FEEDBACK
-
-
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnappuiadapterimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +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:  Adapter for Avkon for Xuikon
-*
-*/
-
-
-#ifndef XNAPPUIADAPTERIMPL_H
-#define XNAPPUIADAPTERIMPL_H
-
-// System includes
-#include <e32base.h>
-
-
-// Forward declarations
-class CXnUiEngine;
-class CXnAppUiAdapter;
-class CXnViewAdapter;
-class CXnViewManager;
-class CXnUiStateListener;
-class CHsContentControlFactory;
-class MHsContentControlUi;
-class CHsCcProviderClient;
-class CXnEffectManager;
-class MHsContentControl;
-
-// Constants
-
-// Class declaration
-
-/**
-*  Avkon Adapter for Xuikon
-*  
-*  @ingroup group_xnlayoutengine
-*  @lib xn3layoutengine.lib
-*  @since Series 60 3.1
-*/
-NONSHARABLE_CLASS( CXnAppUiAdapterImpl ) : public CBase    
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Second-phase constructor
-     * 
-     * @since Series 60 3.1
-     * @param aApplicationUid App Id 
-     * @param aAdapter An AppUi adapter
-     */
-    static CXnAppUiAdapterImpl* NewL( TUid aApplicationUid,
-        CXnAppUiAdapter& aAdapter );
-
-    /**
-     * Second-phase constructor
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-    /**
-     * Destructor.
-     */
-    ~CXnAppUiAdapterImpl();
-
-public:
-    // New functions
-        
-    /**
-     * Get the UI engine
-     * 
-     * @since Series 60 3.1
-     * @return UI engine
-     */
-    CXnUiEngine& UiEngine() const;
-
-    /**
-     * Get the View manager
-     * 
-     * @since S60 5.0
-     * @return ViewManager
-     */
-    CXnViewManager& ViewManager() const;
-
-    /**
-     * Get the View adapter
-     * 
-     * @since S60 5.0
-     * @return ViewAdapter
-     */
-    CXnViewAdapter& ViewAdapter() const;
-    
-    /**
-     * Get the UI state listener
-     * 
-     * @since S60 5.0
-     * @return UiStateListener
-     */
-    CXnUiStateListener& UiStateListener() const;
-    
-    /**
-     * Gets the Content control UI interface
-	 *
-	 * @since S60 5.0
-	 * @param aType Content control UI type
-     * @return Content control UI interface, NULL if not present
-     */
-    MHsContentControlUi* HsContentController( const TDesC8& aType ) const;
-		
-    /**
-     * Get the effect manager
-     * 
-     * @since S60 5.0
-     * @return Effect manager
-     */
-    CXnEffectManager* EffectManager() const;
-
-    /**
-     * Gets the Content control server interface
-     *
-     * @since S60 5.0
-     * @return Content control server interface, NULL if not present
-     */
-    MHsContentControl* HsContentControlSrv() const;
-
-    /**
-     * Reload the UI after application root configuration is changed
-     * 
-     * @since S60 5.0     
-     */
-    void ReloadUiL();
-
-    /**
-     * Handles a change to the control's resources of type aType
-     * 
-     * @since Series 60 3.1
-     * @param aType Changed resource type
-     */
-    void HandleResourceChangeL( TInt aType );
-    
-private:
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnAppUiAdapterImpl( TUid aApplicationUid,    
-            CXnAppUiAdapter& aAdapter );
-
-private:
-    // Data
-    /** AppUi, Not owned. */
-    CXnAppUiAdapter& iAdapter;    
-    /** Application uid */
-    TUid iApplicationUid;
-    /** UiEngine, Owned */
-    CXnUiEngine* iUiEngine;
-    /** View Adapter, Owned */
-    CXnViewAdapter* iViewAdapter;
-    /** View Manager, Owned */
-    CXnViewManager* iViewManager;
-    /** UI State listener, Owned */
-    CXnUiStateListener* iUiStateListener;
-    /** Content control factory, Owned */
-    CHsContentControlFactory* iContentControlFactory;
-    /** Content control provider client, Owned */
-    CHsCcProviderClient* iCcProviderClient;
-    /** Effect manager, Owned */
-    CXnEffectManager* iEffectManager;
-    /** Resource offset */
-    TInt iResourceOffset;    
-    };
-
-#endif      // XNAPPUIADAPTERIMPL_H
-            
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +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:  Background manager
-*
-*/
-
-#ifndef CXNBACKGROUNDMANAGER_H
-#define CXNBACKGROUNDMANAGER_H
-
-// System includes
-#include <coecntrl.h>
-#include <aknssrvclient.h>
-#include <coeview.h>
-#include <disknotifyhandler.h>
-
-// CLASS DECLARATION
-class CXnViewManager;
-class CXnViewData;
-class CAknsLayeredBackgroundControlContext;
-
-namespace hspswrapper
-    {
-    class CHspsWrapper;
-    }
-
-using namespace hspswrapper;
-
-/**
-*  Background manager.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CXnBackgroundManager ) : public CCoeControl,
-    public MAknsSkinChangeObserver, public MDiskNotifyHandlerCallback
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * @param aWrapper HSPS wrapper
-     * @return new instance of CXnWallpaperView.
-     */
-    static CXnBackgroundManager* NewL( CXnViewManager& aViewManager, CHspsWrapper& aWrapper );
-
-    /**
-     * Destructor.
-     */
-    ~CXnBackgroundManager();
-
-    /**
-     * Caches wallpaper image.
-     * 
-     * @since S60 5.0
-     * @param aFileName WallpaperImage image path and filename to be cached
-     * @param aViewData Page that owns the given wallpaper.
-     * @return Error code.
-     */            
-    TInt CacheWallpaperL( const TDesC& aFileName, CXnViewData& aViewData );
-
-    /**
-     * Changes wallpaper image of the current page.
-     * 
-     * @since S60 5.0
-     * @param aFileName WallpaperImage image path and filename
-     * @return Error code.
-     */            
-    TInt AddWallpaperL( const TDesC& aFileName );
-
-    /**
-     * Deletes wallpaper from the given page as well as from the cache.
-     * 
-     * @since S60 5.0
-     * @param aViewData Page where the wallpaper is to be destroyed.
-     */            
-    void DeleteWallpaper( CXnViewData& aViewData );
-
-    /**
-     * Checks whether page specific wallpaper feature is activated or not.
-     *  
-     * @since S60 5.0
-     */
-    TBool ActivatedL();
-
-    /**
-     * Shows wallpaper change dialog
-     * 
-     * @since S60 5.0
-     */
-    void SetWallpaperL();
-
-    /**
-     * Handles wallpaper changing in page change
-     * 
-     * @since S60 5.0
-     * @param aOldView         Old view
-     * @param aNewView         New view 
-     */
-    void WallpaperChanged( CXnViewData& aOldView, CXnViewData& aNewView );
-
-public: // Functions from base classes    
-
-    /**
-     * @see CCoeControl
-     */    
-    void MakeVisible( TBool aVisible );
-
-private: // Functions from base classes    
-
-    /**
-     * see CCoeControl 
-     */
-    void Draw(const TRect& aRect) const;  
-
-    /**
-     * see CCoeControl 
-     */
-    void SizeChanged();
-    
-    /**
-     * see MAknsSkinChangeObserver 
-     */
-    void SkinContentChanged();
-    
-    /**
-     * see MAknsSkinChangeObserver 
-     */
-    void SkinConfigurationChanged(
-        const TAknsSkinStatusConfigurationChangeReason aReason );
-    
-    /**
-     * see MAknsSkinChangeObserver 
-     */
-    void SkinPackageChanged(
-        const TAknsSkinStatusPackageChangeReason aReason );
-
-    /**
-    * From MDiskNotifyHandlerCallback.
-    */
-    void HandleNotifyDisk( TInt aError, const TDiskEvent& aEvent );
-
-private:
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnBackgroundManager( CXnViewManager& aViewManager, CHspsWrapper& aWrapper );
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-    void SaveWallpaperL();
-    TInt SetSettingPropertyL( const TDesC8& aPluginId, const TDesC8& aItemId,
-        const TDesC8& aPropertyName, const TDesC8& aPropertyValue );
-    void UpdateWallpapersL();
-    void CleanCache();
-    void RemoveWallpaperL( CXnViewData& aViewData );
-    void RemoveWallpaperFromCache( const TDesC& aFileName, CXnViewData* aViewData = NULL );
-    void RemovableDiskInsertedL();
-    void CheckFeatureTypeL();
-    TInt AddPageSpecificWallpaperL( const TDesC& aFileName );
-    TInt AddCommonWallpaperL( const TDesC& aFileName, TBool aSave = ETrue );
-    void ReadWallpaperFromCenrepL();
-    void UpdateScreen();
-
-private: // data
-
-    /**
-     * Provides needed services
-     */
-    CXnViewManager& iViewManager;
-    
-    /** 
-     * Hsps wrapper 
-     */
-    CHspsWrapper& iHspsWrapper;
-    
-    /** 
-     * skin server to detect when wallpaper has changed 
-     * Own.
-     */
-    RAknsSrvSession iSkinSrv;
-
-    /**
-     * File server session.
-     * Own.
-     */
-    RFs iFsSession;
-
-    /**
-     * Notifier for disk drive status changes.
-     * Own.
-     */
-    CDiskNotifyHandler* iDiskNotifier;
-
-    /** 
-     * Background control context. 
-     * Own. 
-     */    
-    CAknsLayeredBackgroundControlContext* iBgContext;
-    
-    /** 
-     * Current view rect, which is basically the whole screen.
-     */        
-    TRect iRect;
-
-    /** 
-     * States whether page specific wallpaper is supported or
-     * same wallpaper is shown in all pages.
-     */
-    TBool iFeatureSuppoted;
-
-    /** 
-     * Internal wallpaper update in progress
-     */
-    TInt iIntUpdate;
-
-    /** 
-     * True if screen needs to be drawn when view becomes visible.
-     */
-    TBool iScreenUpdateNeeded;
-
-    /** 
-     * Pointer to wallpaper image. This is used only if same wallpaper 
-     * is shared among all HS pages.
-     * Own. 
-     */   
-    CFbsBitmap* iBgImage;
-    
-    /** 
-     * Path of the wallpaper image, including filename. 
-     * This is used only if same wallpaper 
-     * is shared among all HS pages.
-     * Own. 
-     */  
-    HBufC* iBgImagePath;
-
-    };
-
-#endif      // CXNBACKGROUNDMANAGER_H
-
-// End of File
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +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:  Background appearance drawer
-*
-*/
-
-
-#ifndef _XNBGCONTROL_H
-#define _XNBGCONTROL_H
-
-// System includes
-#include <e32base.h>
-#include <coecntrl.h>
-
-// User includes
-#include "xnuistatelistener.h"
-
-// Forward declarations
-
-/**
- * Background appearance drawer
- * 
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnBgControl ) : public CCoeControl , public MXnUiStateObserver
-    {
-public:    
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     */
-    static CXnBgControl* NewL();
-
-    /**
-     * Two-phased constructor. Leaving on stack
-     */
-    static CXnBgControl* NewLC();
-
-    /**
-     * Destructor
-     */
-    ~CXnBgControl();
-
-private:
-    // private constructors
-
-    /**
-     * Leaving constructor
-     */
-    void ConstructL();
-    
-    /**
-     * C++ default constructor
-     */
-    CXnBgControl();
-    
-public:
-    // from CCoeControl
-
-    /**
-     * @see CCoeControl
-     */    
-    TInt CountComponentControls() const;
-
-    /**
-     * @see CCoeControl
-     */    
-    CCoeControl* ComponentControl( TInt aIndex ) const;
-    
-    /**
-     * @see CCoeControl
-     */
-    void SizeChanged();
-    
-    /**
-     * @see CCoeControl
-     */
-    void Draw( const TRect& aRect ) const;
-            
-    /**
-     * @see CCoeControl
-     */
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-    
-public:
-    // new functions
-    void SetCompoundControl( CCoeControl* aControl );
-    
-	/**
-     * Service for removing grabbing controls
-     */
-    void ResetGrabbingL();
-    
-    /**
-     * Prepares control for destroying
-     */
-    void PrepareDestroy();
-  
-private:  
-	// new functions
-    
-	/**
-     * Removes recursively grabbing controls
-     */
-    void RemoveGrabbingControL( const CCoeControl* aControl, const TPointerEvent& aEvent ) const;
-    
-private:
-    // from MXnUiStateObserver
-    
-    /**
-     * @see MXnUiStateObserver
-     */
-    void NotifyForegroundChanged( TForegroundStatus aStatus );
-    
-    /**
-     * @see MXnUiStateObserver
-     */
-    void NotifyLightStatusChanged( TBool aLightsOn );
-    
-    /**
-     * @see MXnUiStateObserver
-     */
-    void NotifyInCallStateChaged( TBool aInCall );   
-    
-private:
-    // data
-    
-    /** Compound Control, Not owned */
-    CCoeControl* iControl;
-    
-	/** stored point of EButton1Down */
-    TPoint iHitpoint;
-    
-    };
-
-#endif // _XNBGCONTROL_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xncomposer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +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:  Composer header
-*
-*/
-
-
-#ifndef __XNCOMPOSER_H__
-#define __XNCOMPOSER_H__
-
-// System includes
-#include <e32base.h>
-#include <f32file.h>
-
-// User includes
-#include "hspswrapper.h"
-#include "hspssapi.h"
-
-// Forward declarations
-class CXnODT;
-class CXnDomNode;
-class CXnViewManager;
-class CXnRootData;
-class CXnViewData;
-class CXnPluginData;
-
-using namespace hspswrapper;
-
-/**
- *  This class loads views and plugins defined in HSPS, to the DOM tree.
- *  The feature of this class is to load views',and plugin's data from 
- *  storage.
- *  
- *  The class supports multiple views. It is mandatory to call one of methods,
- *  described below when a plugin/view is added to the Homscreen,
- *  or the Homescreen is being constructed.
- *  
- *  As the first ComposeInitialViewL function should be run. 
- *  It loads the first view and its plugins(via ComposeViewL and 
- *  ComposePluginL). ComposeViewL should be called when a view, and its 
- *  plugins, is composed. ComposePluginL should be called always when a plugin
- *  is added to the view. 
- *
- *  @ingroup group_xnlayoutengine
- *  Composer Implementation
- *  @lib xn3layoutengine.lib
- *  @since Series 60 5.0
- */
-NONSHARABLE_CLASS( CXnComposer ) : public CBase
-    {
-public:
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     *
-     * @param aUiEngineImpl Provides plugin resources store
-     * @return Property list object.
-     */
-    static CXnComposer* NewL( CHspsWrapper& aWrapper );
-
-    /**
-     * Destructor.
-     */
-    ~CXnComposer();
-
-protected:
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnComposer( CHspsWrapper& aWrapper );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aComparator Propety comparator.
-     */
-    void ConstructL();
-
-public:
-    // new functions
-
-    /**
-     * Composes application root configuration.
-     * 
-     * @param aRootData Application root data.
-     * @return ODT tree, ownership is granted to caller. NULL if failed.
-     */
-    CXnODT* ComposeRootL( CXnRootData& aRootData );
-    
-    /**
-     * Composes a view.     
-     * 
-     * @param aViewData View data for the composed view.
-     * @return KErrNone if succesful, error otherwise         
-     */
-    TInt ComposeViewL( CXnViewData& aViewData );
-
-    /**
-     * Composes a widget.
-     *     
-     * @param aPluginData Plugin data for the composed widget.
-     * @return KErrNone if succesful, error otherwise     
-     */
-    TInt ComposeWidgetL( CXnPluginData& aPluginData );
-    
-private:
-    // new functions     
-
-    CXnDomNode* GetOdtL( const CObjectMap& aObject,              
-                         CXnPluginData& aPluginData );                
-                         
-    /**
-     * Finds an object from the provided array.
-     *     
-     * @param aResourceObjects An array of objects.
-     * @param aTag A tag of an object to be found.
-     * @return Object instance if succesful, NULL otherwise
-     */
-    const CObjectMap* FindObject( 
-            RPointerArray<CObjectMap>& aResourceObjects,
-            const TDesC8& aTag ) const; 
-                         
-private:
-    // Data        
-    
-    /** 
-     * HSPS Wrapper, not owned  
-     */
-    CHspsWrapper& iWrapper;
-    
-    /*
-     * ODT, not owned
-     */    
-    CXnODT* iODT;
-    
-    /** 
-     * Handle to file server session, owned 
-     */
-    RFs iFs;
-    };
-
-#endif // __XNCOMPOSER_H__
--- a/idlehomescreen/xmluirendering/uiengine/inc/xncontroladapterimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,561 +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:  Xuikon control adapter header file
-*
-*/
-
-
-#ifndef __XNCONTROLADAPTERIMPL_H__
-#define __XNCONTROLADAPTERIMPL_H__
-
-// System includes
-#include <e32base.h>
-#include <coecntrl.h>
-#include <AknIconUtils.h>
-#include <AknsEffectAnim.h>
-#include <AknsItemID.h>
-
-// User includes
-#include "xngesturehelper.h"
-
-// Forward declarations
-class CXnNodePluginIf;
-class CXnComponent;
-class CWindowGc;
-class CXnControlAdapter;
-class CXnNode;
-class CXnProperty;
-class CGulIcon;
-class CXnUiEngine;
-
-//Constants
-_LIT( KMif, "mif(" );
-_LIT8( KMenuBarNode, "menubar" );
-const TInt KSpaceChar = 32;
-const TInt KRightParenthesis = ')';
-
-/**
- * XnGestureHelper namespace
- * Used for the whole gesture family - Gesture recognizer, gesture helper, 
- * Point array
- */
-namespace XnGestureHelper
-    {
-    class CXnGestureHelper;
-    }
-
-using XnGestureHelper::CXnGestureHelper;
-
-
-// Class declaration
-
-/**
-*  Control adapter class implementation.
-* 
-*  @ingroup group_xnlayoutengine 
-*  @lib xn3layoutengine.lib
-*  @since Series 60 3.1
-*/
-NONSHARABLE_CLASS( CXnControlAdapterImpl ) : public CBase, 
-    public MAknsEffectAnimObserver
-    {
-public:
-    
-    /**
-     * Response of property change handled/not handled
-     */
-    enum TPropertyChangeResponse
-        {
-        /** The property change was not handled. */
-        EPropertyChangeNotConsumed,
-        /** The property change was handled. */
-        EPropertyChangeConsumed
-        };
-
-public:
-    
-    /**
-     *  Icon provider used by AknIconUtils
-     *  
-     *  @since Series 60 3.1
-     */
-    class TIconProvider : public MAknIconFileProvider
-        {
-    public:
-        /**
-         * Constructor
-         * 
-         * @param aFile File handle to use
-         */
-        TIconProvider( RFile& aFile );
-        
-    public:
-        
-        /**
-         * Destructor.
-         */
-        virtual ~TIconProvider();
-        
-        // Functions from base classes
-        /**
-         * From MAknIconFileProvider Returns an open file handle to the icon 
-         * file.
-         * This method should leave if an icon file with specified type does
-         * not exist. That may be the case e.g. with MBM file,
-         * if there are no bitmap icons.
-         *
-         * Note! RFs::ShareProtected must be called to the RFs instance used
-         * for opening the file.
-         *
-         * @param aFile Icon file should be opened in this file handle, which
-         * is an empty file handle, when the AknIcon framework calls this 
-         * method. The AknIcon framework takes care of closing the file handle 
-         * after having used it.
-         * 
-         * @param aType Icon file type.
-         */
-        virtual void RetrieveIconFileHandleL( RFile& aFile,
-            const TIconFileType /*aType*/);
-        
-        /**
-         * From MAknIconFileProvider With this method, AknIcon framework 
-         * informs that it does not use this MAknIconFileProvider instance 
-         * any more. After this call,
-         * it is ok to delete the object. This can be implemented simply
-         * e.g. by deleting self in this callback.
-         * Normally, this callback is invoked when the icon in question
-         * is deleted.
-         * Note, however, that if the same MAknIconFileProvider instance is
-         * supplied in multiple CreateIcon calls, then it must be accessible
-         * by AknIcon framework until it has signalled a matching amount
-         * of these callbacks.
-         */
-        virtual void Finished();
-        
-    private:
-        
-        // file to use
-        RFile iFile;
-        };
-
-public:
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aNode 
-     * @param aDadapter Control adapter
-     * @param gc Window gc
-     */
-    static CXnControlAdapterImpl* NewL( CXnNodePluginIf& aNode,
-        CXnControlAdapter& aAdapter, CWindowGc& gc );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnControlAdapterImpl();
-
-public:
-    // New functions
-    
-    /**
-     * Sets component pointer.
-     *
-     * @since Series 60 3.1
-     * @param aComponent Component pointer.
-     */
-    void SetComponent( CXnComponent* aComponent );
-
-    /**
-     * Gets the component pointer.
-     *
-     * @since Series 60 3.1
-     * @return Component pointer.
-     */
-    CXnComponent* Component();
-
-    /**
-     * Const-version of getting the component pointer. 
-     *
-     * @since Series 60 3.1
-     * @return Component pointer.
-     */
-    CXnComponent* Component() const;
-
-    /**
-     * Add a child adapter
-     *
-     * @since Series 60 3.1
-     * @param aChild Child adapter
-     */
-    void AppendChildL(CXnControlAdapter& aChild, CXnNode& aNode);
-       
-    /**
-     * Checks if the control should be drawn, according to visibility and 
-     * display properties.
-     *
-     * @since Series 60 3.1
-     * @return ETrue if drawing is ok, EFalse otherwise
-     */
-    TBool IsDrawingAllowed() const;
-
-    /**
-     * Gets content bitmaps. Ownership is not transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmap Bitmap to draw
-     * @param aMask Mask to use
-     */
-    void ContentBitmaps( CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-    /**
-     * Sets content bitmaps. Ownership is transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmap Bitmap to draw
-     * @param aMask Mask to use
-     */
-    void SetContentBitmaps( CFbsBitmap* aBitmap, CFbsBitmap* aMask );
-
-    /**
-     * Sets content bitmaps. Ownership is transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmapUrl Url of the bitmap to draw
-     * @param aMaskUrl Url of the bitmap mask to use
-     */
-    void SetContentBitmapsL( const TDesC& aBitmapUrl, const TDesC& aMaskUrl );
-
-    /**
-     * Load a bitmap from the server. Ownership is transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmapUrl Url of the bitmap to load
-     * @return Bitmap
-     */
-    CFbsBitmap* LoadBitmap( const TDesC& aBitmapUrl );
-
-    /**
-     * Load a bitmap and mask from the server. Ownership is transferred.
-     *
-     * @since Series 60 3.1
-     * @param aBitmapUrl Url of the bitmap to load
-     * @param aMaskUrl Url of the mask to load, if any
-     * @param aBitmap  Fetched bitmap
-     * @param aMask Fetched mask
-     * @return void
-     */
-    void GetBitmapAndMask( const TDesC& aBitmapUrl, const TDesC& aMaskUrl,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-    /**
-     * Handles pointer events
-     * This method must always be called, even when it's overridden by derived
-     * classes
-     *
-     * @param aPointerEvent pointer event
-     */
-    TBool HandlePointerEventL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Draws the control
-     * This method must always be called, even when it's overridden by derived
-     * classes
-     *
-     * @param aRect TRect to draw
-     */
-    void Draw( const TRect& aRect ) const;
-    
-    /**
-     * Draws the control using a client-specified gc.
-     *
-     * @param aRect TRect to draw
-     * @param aGc Gc used for drawing
-     */
-    void Draw( const TRect& aRect, CWindowGc& aGc ) const;
-
-    /**
-     * Return a child control by index
-     * This method must not be overridden by derived classes
-     *
-     * @param aIndex Index of the child to return
-     * @return Control at the given index
-     */
-    CCoeControl* ComponentControl( TInt aIndex ) const;
-    
-    /**
-     * From CCoeControl Return count of children
-     * This method must not be overridden by derived classes
-     *
-     * @return Count of children
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Draws content image.
-     *
-     * @since Series 60 3.1
-     */
-    void DrawContentImage() const;
-
-    /**
-     * Draws content image.
-     *
-     * @param aGc Gc used for drawing
-     * @since Series 60 3.1
-     */
-    void DrawContentImageL( CWindowGc& aGc ) const;
-
-    /**
-     * Size change notification
-     */
-    void SizeChanged();
-
-    /**
-     * Skin change notification
-     */
-    void SkinChanged();
-
-    /**
-     * Focus changed notification
-     * 
-     * @since S60 5.0
-     * @param aFocused Control's current foucs state      
-     */
-    void FocusChangedL( TBool aFocused );
-
-    /**
-     * Initialize or refresh background and border bitmaps
-     * This is called when for example the skin or control size is changed
-     */
-    void InitializeBackgroundAndBorderBitmapsL();
-
-    /** 
-     * This is called to measure adaptive content dimensions.
-     *
-     * @since 3.2
-     * @param aAvailableSize Not used
-     * @return For now it returns default size - zero
-     */
-    TSize MeasureAdaptiveContentL( const TSize& aAvailableSize );
-
-    /** 
-     * Sets the control blank
-     * 
-     * @since S60 5.1
-     * @param aBlank, ETrue sets blank, EFalse resets blank
-     */
-    void SetBlank( TBool aBlank );
-
-    /** 
-     * Creates trigger node for swipe event
-     * 
-     * @since S60 5.1
-     * @param aUiEngine reference to uiengine
-     * @param aDirection Direction of swipe
-     * @return trigger node for swipe
-     */
-    CXnNode* BuildSwipeTriggerNodeLC( CXnUiEngine& aUiEngine,
-        const TDesC8& aDirection );
-
-public:
-    // Functions from base classes
-
-    /**
-     * From CCoeControl Handles key events.
-     *
-     * @since Series 60 3.1
-     * @param aKeyEvent Key event.
-     * @param aType Event type.
-     * @return Key response
-     */
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-        TEventCode aType );
-
-    /**
-     * From MAknLongTapDetectorCallBack. Handles the long tap events.
-     *
-     * @since Series 60 3.1
-     * @param aPenEventLocation Long tap event location relative to parent 
-     *        control.
-     * @param aPenEventScreenLocation Long tap event location relative to 
-     *        screen.
-     */
-    void HandleLongTapEventL( const TPoint& aPenEventLocation,
-        const TPoint& aPenEventScreenLocation );
-
-    /**
-     * Creates highlight animation from a skin id when one is available.
-     */
-    void CreateAnimationL();
-
-    /**
-     * MAknsEffectAnimObserver callback. Draws the adapter again and renders
-     * the animated area.
-     * 
-     * @param aError Error - zero if error, nonzero otherwise
-     */
-    virtual void AnimFrameReady( TInt aError, TInt );
-
-    /**
-     * Starts highlight animation.
-     *
-     * @param aAnimRestart When true, the animation is stopped and then 
-     *        started again.
-     */
-    void StartHighlightAnimation( TBool aAnimRestart = EFalse );
-
-    /**
-     * Stops highlight animation.
-     */
-    void StopHighlightAnimation();
-
-    /**
-     * Handles property change
-     */
-    void DoHandlePropertyChangeL( CXnProperty* aProperty = NULL );
-
-    /**
-     * Handles change of device screen
-     */
-    void HandleScreenDeviceChangedL();
-
-    /**
-     * Updates background image
-     * 
-     * @param aProperty If it is background image, initializes background 
-     *        bitmap
-     * @return CXnControlAdapterImpl::TPropertyChangeResponse whether it was 
-     *         consumed
-     */
-    CXnControlAdapterImpl::TPropertyChangeResponse UpdateBackgroundImageL(
-        CXnProperty* aProperty );
-
-    /**
-     * Forwards event to gesture helper
-     * 
-     * @param aPointerEvent Event to be forwarded
-     * @return ETrue when swipe took place, EFalse otherwise
-     */
-    TBool PassEventToGestureHelperL(
-        const TPointerEvent& aPointerEvent );
-
-    /*
-     * Resets child adapters
-     */
-    void RemoveChildAdapters();
-    
-    /*
-     * Returns Child adapters
-     * 
-     * @return Returns child adapters 
-     */
-    RPointerArray< CXnControlAdapter >& ChildAdapters();
-
-protected:
-    // New functions
-
-    /**
-     * C++ default constructor.
-     */
-    CXnControlAdapterImpl( CXnNodePluginIf& aNode );
-
-    /**
-     * Two-phased constructor.
-     */
-    void ConstructL( CXnNodePluginIf& aNode, CXnControlAdapter& aAdapter,
-        CWindowGc& gc );
-
-private:
-    void DoDrawL( const TRect& aRect, CWindowGc& aGc ) const;
-    void DrawBackgroundDataL( const TRect& aRect, CXnNode& aNode,
-        CWindowGc& aGc );
-    void DrawEditModeBgData( CXnNode& aNode, CWindowGc& aGc );
-    void DrawTransparentColorL( CXnNode& aNode, CWindowGc& aGc,
-        CFbsBitmap* aMask );
-     void DrawBackgroundSkinL( CXnNode& aNode, CFbsBitmap* aMask, 
-        CWindowGc& aGc,CXnProperty* aBgColor, TRect aRect = TRect::EUninitialized );
-    void DrawBackgroundSkin(const TAknsItemID& aSkinId, CWindowGc& aGc, 
-        TRect aRect );
-    void DrawBackgroundImageL( const TRect& aRect, CXnNode& aNode,
-        CWindowGc& aGc, CFbsBitmap* aBitmap, CFbsBitmap* aMask );
-    RFs& FsSession();
-
-private:
-    // Data 
-    
-    /** Node */
-    CXnNodePluginIf& iNode;
-    /** Pointer to component base object. */
-    CXnComponent* iComponent;
-    /** child controls */
-    mutable RPointerArray< CXnControlAdapter > iChildren;
-    /** content image */
-    mutable CFbsBitmap* iContentBitmap;
-    /** content bitmap index */
-    mutable TInt iContentBitmapIndex;
-    /** content mask */
-    mutable CFbsBitmap* iContentMask;
-    /** content mask index */
-    mutable TInt iContentMaskIndex;
-    /** background image */
-    mutable CFbsBitmap* iBackgroundBitmap;
-    /** background mask */
-    mutable CFbsBitmap* iBackgroundMask;
-    /** background image index */
-    mutable TInt iBackgroundBitmapIndex;
-    /** border image */
-    mutable CFbsBitmap* iBorderBitmap;
-    /** border image index */
-    mutable TInt iBorderBitmapIndex;
-    /** border image split value for top border */
-    mutable TInt iBorderBitmapDividerTop;
-    /** border image split value for right border */
-    mutable TInt iBorderBitmapDividerRight;
-    /** border image split value for bottom border */
-    mutable TInt iBorderBitmapDividerBottom;
-    /** border image split value for left border */
-    mutable TInt iBorderBitmapDividerLeft;
-    /** graphics context */
-    mutable CWindowGc* iGc;
-    /** control adapter */
-    mutable CXnControlAdapter* iAdapter;
-    /** icon provider, for AknIconUtils */
-    mutable TIconProvider* iIconProvider;
-    /** scaled content image */
-    mutable CFbsBitmap* iScaledContentBitmap;
-    /** scaled content mask */
-    mutable CFbsBitmap* iScaledContentMask;
-    /** scaled transparent color */
-    mutable CGulIcon* iScaledTransparentColor;
-    /** scaled background skin */
-    mutable CGulIcon* iScaledBackgroundSkin;
-    /** scaled background image */
-    mutable CFbsBitmap* iScaledBackgroundImage;
-    /** skin animation object for skin highlight animation */
-    CAknsEffectAnim* iAnimation;
-    /** skin animation identifier */
-    TAknsItemID iAnimIID;
-    /** flag: skin animation id is resolved from the CSS property */
-    TBool iAnimIDResolved;
-    /** pointer to gesturehelper */
-    CXnGestureHelper* iGestureHelper;
-    /** flag: for storing blank state */
-    TBool iBlank;
-    /** flag: to detect whether longtap occured */
-    TBool iLongtap;    
-    };
-
-#endif //__XNCONTROLADAPTERIMPL_H__
--- a/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,317 +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:  Manages Ai3 personalization
-*
-*/
-
-
-#ifndef C_XNEDITOR_H
-#define C_XNEDITOR_H
-
-// System includes
-#include <e32base.h>
-#include <badesca.h>
-#include <hscontentcontroller.h>
-#include <hscontentinfo.h>
-#include <hscontentinfoarray.h>
-#include <AknsSrvClient.h>
-
-// User includes
-#include "hspswrapper.h"
-#include "cpswrapper.h"
-#include "xnviewmanager.h"
-
-// Forward declarations
-class CXnNode;
-class CAknListQueryDialog;
-class CXnViewManager;
-class CXnViewData;
-class CRepository;
-class CXnBackgroundManager;
-
-namespace hspswrapper
-    {
-    class CPropertyMap;
-    class CAddPluginResult;
-    class MHspsWrapperObserver;    
-    }
-
-namespace cpswrapper
-    {
-    class CCpsWrapper;
-    class CPublisherMap;
-    class CPublisherInfo; 
-    class MCpsWrapperObserver;
-    }
-
-using namespace hspswrapper;
-using namespace cpswrapper;
-
-// Class declaration
-
-/**
- *  Editor handles ai3 personalization
- *
- *  @ingroup group_xnlayoutengine
- *  @lib xn3layoutengine.lib
- *  @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnEditor ) : public CBase, 
-    public MXnViewObserver,
-    public MCpsWrapperObserver,
-    public MHspsWrapperObserver,
-    public MHsContentController
-    {
-public:
-    //constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aViewManager View manager
-     * @param aWrapper HSPS wrapper
-     */
-    static CXnEditor* NewL( CXnViewManager& aViewManager,
-        const TDesC8& aUid );
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aViewManager View manager
-     * @param aWrapper HSPS wrapper
-     */
-    static CXnEditor* NewLC( CXnViewManager& aViewManager,
-        const TDesC8& aUid );
-
-    /**
-     * Destructor.
-     */
-    ~CXnEditor();
-
-public:
-    // new functions    
-    
-    /**
-     * Remove uregistered widget from all the views.
-     *
-     * @since S60 5.0
-     * @param aPublisher publisher
-     */
-    void RemoveUnRegisteredWidgetL( const TDesC& aPublisher );
-
-    /**
-     * Removes uninstalled widget from all views
-     * 
-     * @since S60 5.0
-     * @param aContentInfo content info
-     */
-    void RemoveUnInstalledWidgetL( const CHsContentInfo& aContentInfo );
-
-    /**
-     * Runs add widget list query
-     * 
-     * @since S60 5.0     
-     */
-    void AddWidgetL();
-
-    /**
-     * Remove widget from current view.
-     *
-     * @since S60 5.0
-     * @param aNode Plugin (or its child) where to remove widget.     
-     */
-    void RemoveWidgetL( CXnNode* aNode );
-
-    /**
-     * Replaces widget configuration to HSPS
-     * 
-     * @since S60 5.0
-     * @param aContentInfo content info 
-     */
-    void ReplaceWidgetL( CHsContentInfo& aContentInfo, TBool aUseHsps = ETrue );
-    /**
-     * Commit a new order of plugins to the HSPS.
-     * 
-     * @since S60 5.0
-     * @param aPluginArray Array of plugins
-     */
-    void ReorderWidgetsL( RPointerArray< CXnNode >* aPluginArray );
-
-    /**
-     * Toggles widgets' visibility
-     * 
-     * @since S60 5.0
-     * @return Current widgets' visibility state
-     */
-    TBool ToggleWidgetsVisibiltyL();
-
-    /**
-     * Queries wheter the widgets are visible or not
-     * 
-     * @since S60 5.0
-     * @return ETrue if widgets are now visible, EFalse otherwise
-     */
-    TBool WidgetsVisible() const;
-
-    /**
-     * Sets target plugin for add/remove
-     * 
-     * @since S60 5.0
-     * @param aNode a plugin node to be set as target for add/remove action
-     */
-    void SetTargetPlugin( CXnNode* aNode );
-
-    /**
-     * Handles changing of wallpaper
-     * 
-     * @since S60 5.0
-     */
-    void SetWallpaperL();
-    
-    /**
-     * Returns the HSPS Wrapper object owned by this.
-     * 
-     * @since S60 5.0
-	 * @return HSPSWrapper
-     */
-    CHspsWrapper& HspsWrapper() const;
-
-    /**
-     * Retrives Id read from central repository.
-     * 
-     * @since S60 5.0
-	 * @return sucess or failure standard error code
-     */    
-    TInt IdFromCrep ( TDes8& aUid ) const;
-
-private:
-    // from MHsContentController
-    
-    TInt WidgetListL( CHsContentInfoArray& aArray );
-    
-    TInt ViewListL( CHsContentInfoArray& aArray );
-    
-    TInt AppListL( CHsContentInfoArray& aArray );
-    
-    TInt AddWidgetL( CHsContentInfo& aInfo );
-    
-    TInt RemoveWidgetL( CHsContentInfo& aInfo );
-    
-    TInt AddViewL( CHsContentInfo& aInfo );
-    
-    TInt RemoveViewL( CHsContentInfo& aInfo );
-    
-    TInt ActivateViewL( CHsContentInfo& aInfo );
-    
-    TInt ActivateAppL( CHsContentInfo& aInfo );
-
-    TInt ActiveViewL( CHsContentInfo& aInfo );
-    
-    TInt ActiveAppL( CHsContentInfo& aInfo );
-
-private:
-    // constructors
-    
-    /**
-     * C++ constructor
-     */
-    CXnEditor( CXnViewManager& aViewManager );
-
-    /**
-     * Leaving constructor
-     */
-    void ConstructL( const TDesC8& aUid );
-
-private:
-    // new functions    
-    
-    void TemplatedWidgetsL( RPointerArray< CHsContentInfo >& aWidgets );
-
-    void HSPSPluginsL( RPointerArray< CHsContentInfo >& aWidgets,
-        const TDesC8& aType );
-
-    CPublisherInfo* PublisherInfoL( const CHsContentInfo& aContentInfo );
-
-    TInt TemplateWidgetCanBeAddedRemovedL( CHsContentInfo& aContentInfo );
-    TInt NonTemplateWidgetCanBeAddedRemovedL( CHsContentInfo& aContentInfo );
-    
-    TBool IsCurrentViewFull();
-    void FilterWidgetListL( CHsContentInfoArray& aContentInfoArray,
-        TBool aIgnoreViewFull );
-    void FilterViewListL( CHsContentInfoArray& aContentInfoArray ); 
-    
-    /**
-     * Notifies the MHsContentControl and the MHsContentControlUi if widget list was changed.
-     */
-    void WidgetListChanged();
-
-    /**
-     * Notifies the MHsContentControl and the MHsContentControlUi if view list was changed.
-     */
-    void ViewListChanged();
-
-private:
-    // from MXnViewObserver    
-    
-    void NotifyViewActivatedL( const CXnViewData& aViewData );
-
-    void NotifyViewDeactivatedL( const CXnViewData& /*aViewData*/ );
-
-    void NotifyConfigureWidgetL( const CHsContentInfo& aContentInfo,
-        CXnPluginData& aPluginData );
-
-    void NotifyWidgetAdditionL( const CXnPluginData& aPluginData );
-    
-    void NotifyWidgetRemovalL( const CXnPluginData& aPluginData );
-
-    void NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ );
-    
-    void NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ );
-
-private:
-    // from MCpsWrapperObserver    
- 
-    void NotifyWidgetUnregisteredL( const TDesC& aPublisher );
-    
-    void NotifyWidgetRegisteredL();
-    
-private:
-    // from MHspsWrapperObserver
-
-    TInt HandleNotifyL( const TDesC8& aEvent, const TDesC8& aAppConfUid,
-        const TDesC8& aPluginName, const TDesC8& aOrigUid, 
-        const TDesC8& aPluginUid, const TDesC8& aPluginId );    
-
-private:
-    // data
-
-    /** View manager, not owned */
-    CXnViewManager& iViewManager;
-    /** HSPS wrapper, owned */
-    CHspsWrapper* iHspsWrapper;  
-    /** CPS wrapper, owned */
-    CCpsWrapper* iCpsWrapper;
-    /** Publisher map, owned */
-    CPublisherMap* iPublisherMap;
-    /** Add widget listquery, not owned */
-    CAknListQueryDialog* iQuery;
-    /** Target plugin for add/remove, not owned */
-    CXnNode* iTargetPlugin;
-    /** Widgets visibility state */
-    TBool iWidgetsVisibilityState;    
-    /** Central repository , to choose plugin, owned*/
-    CRepository* iRepository;
-    };
-
-#endif // C_XNEDITOR_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xneffectmanager.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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:  Effect manager.
-*
-*/
-
-
-
-#ifndef CXNEFFECTMANAGER_H
-#define CXNEFFECTMANAGER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CLASS DECLARATION
-class CXnPluginData;
-class CXnViewData;
-class CXnNode;
-
-/**
- *  Struct which holds needed info of effect.
- */
-NONSHARABLE_STRUCT( TXnEffect )
-    {
-    CXnNode* iNode;
-    TInt iState;
-    TInt iType;
-    TInt iId;
-    };
-
-/**
- *  Effect manager.
- *  Handles starting and ending effects.
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CXnEffectManager ) : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @return new instance of CXnEffectManager.
-     */
-    static CXnEffectManager* NewL();
-
-    /**
-     * Destructor.
-     */
-    ~CXnEffectManager();
-    
-    /**
-     * Begin handling of control effect.
-     * @param aId effect id
-     * @aPlugin Plugin data
-     */
-    void BeginControlEffectL( TInt aId, CXnPluginData& aPlugin );
-    
-    /**
-     * Begin handling of control effect.
-     * @param aId effect id
-     * @aPlugins Array of plugin datas
-     */
-    void BeginControlEffectL( TInt aId, RPointerArray<CXnPluginData>& aPlugins );
-    
-    /**
-     * Begin handling of fullscreen effect.
-     * @param aId effect id
-     * @aView view data
-     */
-    void BeginFullscreenEffectL( TInt aId, CXnViewData& aView );
-    
-    /**
-     * When UiRendered is called effect is ended and will be drawn
-     */
-    void UiRendered();
-
-    /**
-     * When UiLayouted is called effect is started if it was not started earlier.
-     */
-    void UiLayouted();
-
-private:
-    /**
-     * Starts fullscreen effect.
-     * @param aEffect effect data
-     * @return ETrue if effect started, otherwise EFalse
-     */
-    TBool DoBeginFullscreenEffect( TXnEffect& aEffect );
-
-    /**
-     * Starts control effect.
-     * @param aEffect effect data
-     * @return ETrue if effect started, otherwise EFalse
-     */
-    TBool DoBeginControlEffect( TXnEffect& aEffect );
-    
-    /**
-     * Removes and destroys effect from effect list.
-     * @param aEffect effect data
-     */
-    void RemoveEffect( TXnEffect* aEffect );
-
-    /**
-     * Return number of ongoing effects of given type.
-     * @param aType effect type, fullscreen or control
-     * 
-     * @return Number of ongoing effects of given type
-     */
-    TInt EffectCount( TInt aType );
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnEffectManager();
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-private: // data
-    /**
-     * List of started effects.
-     */
-    RPointerArray<TXnEffect> iEffects;
-    };
-
-#endif      // CXNEFFECTMANAGER_H
-
-// End of File
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnextrenderingpluginwrapper.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +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:  External rendering plugin wrapper header
-*
-*/
-
-#ifndef XNEXTRENDERINGPLUGINWRAPPER_H
-#define XNEXTRENDERINGPLUGINWRAPPER_H
-
-// System includes
-#include <e32base.h>
-#include <xnextrenderingpluginadapter.h>
-
-// User includes
-#include "xncontroladapter.h"
-#include "xnproperty.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-
-/**
- *  CXnExtRenderingPluginWrapper class
- *
- *
- *  @code
- *
- *  @endcode
- *
- *  @lib extrenderingplugin.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CXnExtRenderingPluginWrapper ) : public CXnControlAdapter
-    {
-public: // Constructor and destructor
-    /**
-     * Two-phased constructor.
-     */
-    static CXnExtRenderingPluginWrapper* NewL(
-            CXnNodePluginIf& aNode, CXnExtRenderingPluginAdapter& aAdapter );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnExtRenderingPluginWrapper();
-
-private: // Constructors
-    /**
-     * Constructor
-     */
-    CXnExtRenderingPluginWrapper( CXnExtRenderingPluginAdapter& aAdapter );
-
-    /** 
-     * Second phase constructor 
-     */
-    void ConstructL( CXnNodePluginIf& aNode );
-
-private:
-    TInt CountComponentControls() const;
-    
-    CCoeControl* ComponentControl(TInt aIndex) const;    
-    
-    void HandleScreenDeviceChangedL();
-    
-    void MakeVisible(TBool aVisible);
-    
-    void FocusChanged(TDrawNow aDrawNow);
-
-    void SetContainerWindowL(const CCoeControl& aContainer);
-    
-    void SkinChanged();    
-    
-    void SizeChanged();    
-    
-    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-    
-public: // New functions
-    
-    /**
-     * @see CXnControlAdapter
-     */
-    void DoEnterPowerSaveModeL( TModeEvent aEvent );
-    
-    /**
-     * @see CXnControlAdapter
-     */
-    void DoExitPowerSaveModeL( TModeEvent aEvent );  
-
-private: // Data
-
-    /**
-     * Rendering plugin adapter. Own.
-     */
-    CXnExtRenderingPluginAdapter* iAdapter;
-    
-    /**
-     *  Node. Not own.
-     */
-    CXnNodePluginIf* iNode;
-    };
-
-#endif // XNEXTRENDERINGPLUGINFACTORY_H
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnfocuscontrol.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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:  Focus appearance drawer
-*
-*/
-
-
-#ifndef _XNFOCUSCONTROL_H
-#define _XNFOCUSCONTROL_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "xninactivitymonitor.h"
-
-// Forward declarations
-class CXnAppUiAdapter;
-class CWindowGc;
-
-/**
- * Focus appearance drawer
- * 
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnFocusControl ) : public CBase,
-    public MXnInactivityObserver
-    {
-public:    
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     */
-    static CXnFocusControl* NewL( CXnAppUiAdapter& aAppUiAdapter );
-
-    /**
-     * Two-phased constructor. Leaving on stack
-     */
-    static CXnFocusControl* NewLC( CXnAppUiAdapter& aAppUiAdapter );
-
-    /**
-     * Destructor
-     */
-    ~CXnFocusControl();
-
-private:
-    // private constructors
-
-    /**
-     * Leaving constructor
-     */
-    void ConstructL();
-    
-    /**
-     * C++ default constructor
-     */
-    CXnFocusControl( CXnAppUiAdapter& aAppUiAdapter );
-    
-private:
-    // from MXnInactivityObserver
-    
-    /**
-     * @see MXnInactivityObserver
-     */
-    void InactivityTimerExpired();
-
-public: 
-    // new functions
-    
-    /**
-     * Makes focus viisble
-     * 
-     * @since S60 5.0     
-     * @param aVisible, ETrue visible, EFalse invisible
-     */
-    void MakeVisible( TBool aVisible );
-
-    /**
-     * Queries whether focus is visible
-     * 
-     * @since S60 5.0     
-     * @return ETrue if focus visible, EFalse otherwise
-     */    
-    TBool IsVisible() const;
-    
-    /**
-     * Draws the 1st state and 2nd state focus appearenace
-     * 
-     * @since S60 5.0
-     * @param aRect Rect where to draw
-     * @param aGc Context
-     */
-    void Draw( const TRect& aRect, CWindowGc& aGc ) const;
-
-private:
-    // new functions
-    
-    void DoMakeVisibleL( TBool aVisible );
-    
-private:
-    // data
-    
-    /** AppUiAdapter, Not owned */
-    CXnAppUiAdapter& iAppUiAdapter;
-    /** Inactivity monitor, Owned */
-    CXnInactivityMonitor* iMonitor;
-    /** Flag to indicate whether it is allowed to show focus */
-    TBool iVisible;
-    /** Flag to indicate refusal */
-    TBool iRefused;
-    };
-
-#endif // _XNFOCUSCONTROL_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xngesture.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,367 +0,0 @@
-/*
-* Copyright (c) 2008-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:  Gesture class
-*
-*/
-
-
-#ifndef _XNGESTURE_H_
-#define _XNGESTURE_H_
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "xnpointarray.h"
-#include "xngesturerecogniser.h"
-
-// Namespace declaration
-
-/**
- * XnGestureHelper namespace
- * Used for the whole gesture family - Gesture recognizer, gesture helper, 
- * Point array
- */
-namespace XnGestureHelper
-    {
-    
-    /**
-     * Struct for a point in floating-point represanation 
-     */
-    NONSHARABLE_STRUCT( TRealPoint )
-        {
-        inline TRealPoint();
-        inline TRealPoint( const TRealPoint& aPoint );
-        inline TRealPoint( TReal aX, TReal aY );
-        inline TBool operator==( const TRealPoint& aPoint ) const;
-
-        TReal32 iX;
-        TReal32 iY;
-        };
-    
-    // Class declaration
-
-    /**  
-     *  TGesture represents the gesture that the user has made.
-     *  Implements MGestureEvent interface to allow clients to 
-     *  inspect the gesture
-     *  
-     *  @ingroup group_xnlayoutengine 
-     */
-    NONSHARABLE_CLASS( CXnGesture ) : public CBase
-        {
-    public:
-        
-        /** 
-         * X and Y axes, or both 
-         */
-        enum TAxis
-            {
-            EAxisBoth, 
-            EAxisHorizontal, 
-            EAxisVertical
-            };
-
-    public:
-        
-        /** destructor */
-        ~CXnGesture();
-
-        /** 
-         * Sets the gesture as empty. resets timers to receive points
-         * immediately
-         */
-        void Reset();
-
-        /** 
-         * Check the gesture if it is empty
-         * 
-         * @return ETrue if the gesture has no points 
-         */
-        TBool IsEmpty() const;
-
-        /**
-         * Add a point to the sequence of points that forms the gesture
-         * Call Reset() just before adding the first point
-         * 
-         * @param aPoint the point to add
-         * @return error code
-         */
-        TInt AddPoint( const TPoint& aPoint );
-
-        /** 
-         * Checks if the point it is close to holding point
-         * 
-         * @param aPoint Point to be examined
-         * @return ETrue if the point is very near the holding point
-         */
-        TBool IsNearHoldingPoint( const TPoint& aPoint ) const;
-
-        /** 
-         * Set the latest point as the holding point
-         */
-        void SetHoldingPoint();
-
-        /** 
-         * Checks if the examined point is at the last point's position
-         * 
-         * @param aPoint Point to be examined
-         * @return ETrue if aPoint is the same as point added last 
-         */
-        TBool IsLatestPoint( const TPoint& aPoint ) const;
-
-        /** 
-         * After call, Code(...) will return appropriate holding gesture code.
-         */
-        void StartHolding();
-
-        /** 
-         * After call, Code(...) will return a "hold released" gesture code 
-         * when the gesture is completed. Meanwhile, code will be drag.
-         */
-        void ContinueHolding();
-
-        /** 
-         * Set as stylus released 
-         */
-        void SetReleased();
-
-        /** 
-         * Set the gesture as complete. Gesture is completed at pointer up 
-         */
-        void SetComplete();
-
-        /** 
-         * After call, Code(...) will return a "cancelled" gesture code 
-         */
-        void SetCancelled();
-
-        /** 
-         * Checks if the gesture is a tap
-         * 
-         * @return Whether the current gesture is a tap 
-         *         (and hence not a swipe). Does not consider holding or 
-         *         other state information (such as whether the gesture was 
-         *         just started or is dragging). Results are based purely on 
-         *         the current stream of points.
-         */
-        TBool IsTap() const;
-
-        /**
-         * From MGestureEvent
-         * Checks and return current gesture status at desired axis
-         * 
-         * @param aRelevantAxis Axis to be examined
-         * @return Gesture status
-         */
-        TXnGestureCode Code( TAxis aRelevantAxis ) const;
-
-        /**
-         * From MGestureEvent
-         * Checks and returns holding status
-         * 
-         * @return Return holding
-         */
-        TBool IsHolding() const;
-
-        /**
-         * From MGestureEvent
-         * Returns first position form iPoints
-         * 
-         * @return Returns first point
-         */
-        TPoint StartPos() const;
-
-        /**
-         * From MGestureEvent
-         * Returns current (last) position from iPoints
-         * 
-         * @return Returns last point
-         */
-        TPoint CurrentPos() const;
-
-        /**
-         * From MGestureEvent
-         * Returns speed of X, Y movement 
-         * 
-         * @return Speed in X, Y axis
-         */
-        TRealPoint Speed() const;
-
-        /**
-         * From MGestureEvent
-         * Scales the speed
-         * 
-         * @return Scaled speed
-         */
-        TRealPoint SpeedPercent( const TRect& aEdges ) const;
-
-        /**
-         * From MGestureEvent
-         * Cheks and returns distance between start and current position
-         * 
-         * @return Distance between two points
-         */
-        TPoint Distance() const;
-
-    private:
-        
-        /** Information of an earlier gesture */
-        struct TGestureRecord
-            {
-            enum TType
-                {
-                ETypeOther, 
-                ETypeTap, 
-                ETypeDoubleTap
-                };
-
-            TGestureRecord();
-            TGestureRecord( TType aType, TTime aCompletionTime, TPoint aPos );
-
-            /** type of the gesture */
-            TType iType;
-            /** completion time fo the gesture */
-            TTime iCompletionTime;
-            /** point of completion */
-            TPoint iPos;
-            };
-
-        /**
-         * Checks and returns gesture
-         * 
-         * @param aRelevantAxis See @ref MGestureEvent::Code
-         * @return gesture code by analysing the sequence of points
-         */
-        TXnGestureCode CodeFromPoints( TAxis aRelevantAxis ) const;
-
-        /** 
-         * Returns elapsed time
-         *
-         * @return elapsed time between the latest and previous points 
-         */
-        inline TTimeIntervalMicroSeconds32 TimeFromPreviousPoint() const;
-
-        /** 
-         * Checks whether the movement has stopped
-         *
-         * @return ETrue if user has stopped moving the stylus before lifting 
-         *         it 
-         */
-        inline TBool IsMovementStopped() const;
-
-        /** 
-         * Offset of the last entry
-         *  
-         * @return aOffset'th last entry in the list of points 
-         */
-        inline const TXnPointEntry& NthLastEntry( TInt aOffset ) const;
-
-        /** 
-         * Calles NthLastEntry for previous point
-         * 
-         * @return previous point (may not be exactly the point before last)
-         */
-        inline const TXnPointEntry& PreviousEntry() const;
-
-        /** 
-         * Returns the point before the last one
-         * 
-         * @return position of point received just before the latest point 
-         */
-        inline TPoint PreviousPos() const;
-
-        /** 
-         * Return if the tap was a double tap
-         * 
-         * @return ETrue if tap should be a double tap 
-         */
-        TBool IsTapDoubleTap() const;
-
-        /** 
-         * Returns current gesture type
-         * 
-         * @return the type of the current gesture 
-         */
-        TGestureRecord::TType Type() const;
-
-    private:
-        // Enumerators for holding and completion state
-        
-        /**
-         * the different states that indicate whether user has made a holding 
-         * gesture
-         */
-        enum THoldingState
-            {
-            /** before holding activated (i.e., holding not activated) */
-            ENotHolding = 0,
-            /** holding activated just now (lasts just one callback round) */
-            EHoldStarting,
-            /** holding activated earlier */
-            EHolding
-            };
-
-        /**
-         * Completion states
-         */                 
-        enum TCompletionState
-            {
-            // Note: implementation assumes this order of enums
-            ENotComplete = 0, 
-            ECancelled, 
-            EComplete, 
-            EReleased
-            };
-    
-    private:
-        // Members
-        
-        /** 
-         * sequence of points that make up the gesture, owned. 
-         */
-        RArray< TXnPointEntry > iPoints;
-        
-        /** 
-         * index in iPoints of the point in which user started holding 
-         */
-        TInt iHoldingPointIndex;     
-        
-        /**
-         * state that indicates is user has held the pointer down in one 
-         * position for long time to indicate a holding gesture 
-         */
-        THoldingState iHoldingState;
-        
-        /** 
-         * gesture only becomes complete when user lifts the pointer 
-         */ 
-        TCompletionState iState;
-        
-        /** 
-         * time when the stylus was lifted. 
-         */
-        TTime iCompletionTime;
-        
-        /** 
-         * previous gesture information for double tap
-         */
-        TGestureRecord iPreviousGesture;
-        };
-    } // namespace XnGestureHelper
-
-// Inline functions
-#include "xngesture.inl"
-
-#endif // _XNGESTURE_H_
--- a/idlehomescreen/xmluirendering/uiengine/inc/xngesture.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2008-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:  Gesture class - inline section
-*
-*/
-
-
-// Protection for nested includes
-#ifndef _XNGESTURE_INL_
-#define _XNGESTURE_INL_
-
-// -----------------------------------------------------------------------------
-// TRealPoint inline implementation
-// -----------------------------------------------------------------------------
-//
-namespace XnGestureHelper
-    {
-
-    // -------------------------------------------------------------------------
-    // Default Constructor for the real point
-    // -------------------------------------------------------------------------
-    //
-    inline TRealPoint::TRealPoint() :
-        iX( 0 ), iY( 0 )
-        {
-        }
-    
-
-    // -------------------------------------------------------------------------
-    // Copy constructor for real point
-    // -------------------------------------------------------------------------
-    //
-    inline TRealPoint::TRealPoint( const TRealPoint& aPoint ) :
-        iX( aPoint.iX ), iY( aPoint.iY )
-        {
-        }
-
-    // -------------------------------------------------------------------------
-    // Copy constructor for real point
-    // -------------------------------------------------------------------------
-    //
-    inline TRealPoint::TRealPoint( TReal aX, TReal aY ) :
-        iX( aX ), iY( aY )
-        {
-        }
-
-    // -------------------------------------------------------------------------
-    // Default constructor for real point
-    // -------------------------------------------------------------------------
-    //
-    inline TBool TRealPoint::operator==( const TRealPoint& aPoint ) const
-        {
-        return iX == aPoint.iX && iY == aPoint.iY;
-        }
-    }
-	
-#endif //_XNGESTURE_INL_
--- a/idlehomescreen/xmluirendering/uiengine/inc/xngesturedefs.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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:  Gesture helper constant definitions
-*
-*/
-
-
-#ifndef _XNGESTUREDEFS_H_
-#define _XNGESTUREDEFS_H_
-
-// System includes
-#include <e32std.h>
-
-/** 
- * This flag controls whether helpers emits a double tap or a tap gesture 
- * for a second tap 
- */
-#define _GESTURE_DOUBLE_TAP_SUPPORT
-
-/**
- * XnGestureHelper namespace
- * Used for the whole gesture family - Gesture recognizer, gesture helper, 
- * Point array
- */
-namespace XnGestureHelper
-    {
-    /** time to hold the stylus in the same position to activate 
-     * holding, in microseconds 
-     */
-    const TInt KHoldDuration = 500000; 
-
-    /** 
-     * time to tap again for the second tap to be a double tap, in 
-     * microseconds 
-     */
-    const TInt KMaxDoubleTapDuration = 400000; 
-
-    /** 
-     * time in which speed becomes zero if user stops stylus movement before
-     * lifting the pointer, in microseconds
-     */ 
-    const TInt KSpeedStopTime = 100000; 
-
-    /** 
-     * tolerance in degrees to either side of an angle, for direction to be 
-     * the same as reference angle
-     */
-    const TReal KAngleTolerance = 25;
-    
-    /**  
-     * maximum pointer movement from pointer down position for a gesture be 
-     * a tap or hold gesture
-     */
-    const TInt KSamePointTolerance = 3;
-    
-    /** 
-     * minimum length of a valid swipe in pixels. should be larger than 
-     * KTapTolerance
-     */
-    const TReal KMinSwipeLength = 5;
-    
-    /** Nth pointer event before the latest point */
-    const TInt KPreviousPointOffset = 3;
-    
-    
-    /** 
-     * Panic codes 
-     */
-    enum TGesturePanic
-        {
-        EGesturePanicIllegalLogic
-        };
-    
-    /** 
-     * Panics the thread 
-     * 
-     * @param aReason Panic reason
-     */
-    inline void Panic( TGesturePanic aReason )
-        {
-        _LIT( KComponentName, "XnGestureHelper" );
-        User::Panic( KComponentName, aReason );
-        }   
-    } // namespace XnGestureHelper
-
-#endif // _XNGESTUREDEFS_H_
--- a/idlehomescreen/xmluirendering/uiengine/inc/xngesturehelper.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +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:  Gesture helper implementation
-*
-*/
-
-
-#ifndef _XNGESTUREHELPER_H_
-#define _XNGESTUREHELPER_H_
-
-// System includes
-#include <e32base.h>
-
-// Forward declarations
-class CXnNode;
-struct TPointerEvent;
-
-
-/**
- * Swipe directions (left, right, none)
- */
-enum TSwipeResult
-    {
-    ESwipeNone = 0,
-    ESwipeLeft,
-    ESwipeRight
-    };
-
-/**
- * XnGestureHelper namespace
- * Used for the whole gesture family - Gesture recognizer, gesture helper, 
- * Point array
- */
-namespace XnGestureHelper
-    {
-    
-    // Forward declarations
-    class CHoldingTimer;
-    class CXnGesture;
-    
-    // Constants
-    const TReal32 KGestureMinSpeedX = 300;
-    const TInt KGestureMinLengthX = 100;
-    const TInt KGestureMaxDeltaY = 100;
-    
-    /**
-     *  Implementation of CGestureHelper interface
-     *
-     *  @ingroup group_xnlayoutengine
-     */
-    NONSHARABLE_CLASS( CXnGestureHelper ) : public CBase
-        {
-    
-        /** private implementation class */
-        friend class CHoldingTimer;
-    
-    public:
-        
-        /** 2-phase constructor */
-        static CXnGestureHelper* NewL( CXnNode& aNode );
-
-        /** Destructor */
-        ~CXnGestureHelper();
-
-        /** 
-         * See GestureHelper, SetHoldingEnabled function
-         * 
-         * @see CGestureHelper::SetHoldingEnabled 
-         */
-        void SetHoldingEnabled( TBool aEnabled );
-        
-        /** 
-         * See Gesturehelper, IsHoldingEnabled function
-         * 
-         * @see CGestureHelper::IsHoldingEnabled 
-         */
-        TBool IsHoldingEnabled() const;
-
-        /** 
-         * Gets the owner
-         * 
-         * @return Owner
-         */                
-        CXnNode* Owner() const;
-        
-        /** 
-         * Sets destination
-         * 
-         * @aParam Destination
-         */        
-        void SetDestination( CXnNode* aDestination );
-
-        /** 
-         * Gets destination
-         * 
-         * @return Destination
-         */                         
-        CXnNode* Destination() const;
-        
-        /** 
-         * See GestureHelper Handlepointervent
-         * 
-         * @see CGestureHelper::HandlePointerEventL 
-         */ 
-        TSwipeResult HandlePointerEventL( const TPointerEvent& aEvent );
-        
-        /** Reset helper state */
-        void Reset();
-
-    private:
-        
-        /** Constructor */
-        CXnGestureHelper( CXnNode& aNode );
-
-        /** 
-         * Returns if the helper is processing
-         *         
-         * @return ETrue if the helper has not started processing a gesture
-         */
-        inline TBool IsIdle() const; 
-        
-        /** 
-         * Add a point to the sequence of points that make up the gesture 
-         */
-        inline void AddPointL( const TPointerEvent& aEvent );
-        
-        /** 
-         * Add a point to the sequence of points that make up the gesture
-         * 
-         * @return                    
-         */
-        inline TInt AddPoint( const TPointerEvent& aEvent );
-        
-        /** 
-         * Activates holding and notifies observer that holding has been 
-         * started 
-         */
-        void StartHoldingL();
-        
-        /** 
-         * Check if swipe if between defined values 
-         * 
-         * @return Swiping left/right/none 
-         */
-        TSwipeResult ValidSwipe();
-
-    private:
-
-        /** 
-         * Gesture owner, Not owned.
-         */        
-        CXnNode& iOwner;        
-        
-        /** 
-         * Gesture is the logical representation of a sequence of points 
-         * arriving at certain times
-         */ 
-        CXnGesture* iGesture;
-
-        /** 
-         * holding is activated when user keeps pointer down in the same place 
-         * for a longer period. the holding timer activates off when enough 
-         * time has passed.
-         */
-        CHoldingTimer* iHoldingTimer;
-
-        /** 
-         * Gesture destination, Not owned.
-         */        
-        CXnNode* iDestination;        
-        };
-    } // GestureHelper
-
-#endif // _XNGESTUREHELPER_H_
--- a/idlehomescreen/xmluirendering/uiengine/inc/xngesturerecogniser.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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:  Algorithm to recognise gesture from a stream of points
-*
-*/
-
-
-#ifndef _XNGESTURERECOGNISER_H_
-#define _XNGESTURERECOGNISER_H_
-
-// System includes
-#include <e32std.h>
-
-
-/**
- * XnGestureHelper namespace
- * Used for the whole gesture family - Gesture recognizer, gesture helper, 
- * Point array
- */
-namespace XnGestureHelper
-    {
-    
-    // Forward declarations
-    class TXnPointArray;
-    
-    /**
-     * flag that indicates gesture code is a holding code
-     * clients should use MGestureEvent::IsHolding
-     */
-    const TInt EFlagHold = 0x10000000;
-    
-    /**
-     * Gesture codes and states
-     */
-    enum TXnGestureCode
-        {
-        // states
-        /** gesture just started (user pressed stylus down)*/ 
-        EGestureStart = 0x00000001, 
-        /** user moved stylus (may be holding or not holding) */
-        EGestureDrag = 0x00000002, 
-        /** user lifted stylus while user was holding */
-        EGestureReleased = 0x00000003, 
-        
-        // gestures  
-        /** gesture was not recognised */
-        EGestureUnknown = 0x00000005, 
-        /** these codes are sent when user lifts stylus 
-         * (if holding not started)
-         */
-        EGestureTap = 0x00000006,
-        /** first tap emits EGestureTap */
-        EGestureDoubleTap = 0x00000007, 
-        /** swipe left */
-        EGestureSwipeLeft = 0x00000008,
-        /** swipe right */
-        EGestureSwipeRight = 0x00000009,
-        /** swipe up */
-        EGestureSwipeUp = 0x0000000A,
-        /** swipe down */
-        EGestureSwipeDown = 0x0000000B,
-        /** 
-         * these codes are sent when user initiates holding by keeping stylus 
-         * in same place for a longer duration
-         */
-        EGestureHoldLeft = EGestureSwipeLeft | EFlagHold,
-        EGestureHoldRight = EGestureSwipeRight | EFlagHold,
-        EGestureHoldUp = EGestureSwipeUp | EFlagHold,
-        EGestureHoldDown = EGestureSwipeDown | EFlagHold
-        };
-    
-    //Class declaration
-    
-    /**
-     *  Set of algorithms to recognise gesture from a stream of points
-     *  Note: Not a static class or a function pointer, just to make it 
-     *  sligthly easier to replace it with a heavier implementation
-     *
-     *  @ingroup group_xnlayoutengine
-     */
-    NONSHARABLE_CLASS( TXnGestureRecogniser )
-        {
-    public:
-        
-        /** 
-         * Translates points into a gesture code
-         * @param aPoints Points that form the gestures. Client is not 
-         *        required to pass in repeated points (sequential 
-         *        points that are almost in the same place)
-         * @param aIsHolding ETrue if gesture was ended at pointer being held 
-         *        down at same position
-         *        EFalse if gesture ended at pointer being released 
-         * @return recognised gesture id or EUnknownGesture
-         */
-        TXnGestureCode GestureCode( const TXnPointArray& aPoints ) const;
-        };
-    } // namespace XnGestureHelper
-
-#endif // _XNGESTURERECOGNISER_H_
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnhittest.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +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:  Class to hold hit region information
-*
-*/
-
-
-#ifndef _XNHITTEST_H
-#define _XNHITTEST_H
-
-// System includes
-#include <e32base.h>
-#include <coemain.h>
-
-// Forward declarations
-class CXnControlAdapter;
-
-namespace XnHitTest
-    {
-    const TInt EIgnoreEventsUntilNextPointerUp = 0x01;
-    const TInt EIgnoreStylusUpTriggers = 0x02;
-    }
- 
-// Class declaration
-
-/**
- *  Holds hit region information
- * 
- *  @ingroup group_xnlayoutengine
- *  @lib xn3layoutengine.lib
- *  @since S60 5.0
- */    
-NONSHARABLE_CLASS( CXnHitTest ) : public CBase,
-    public MCoeMessageMonitorObserver
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     */
-    static CXnHitTest* NewL();
-    
-    /**
-     * Two-phased constructor. Leaving on stack
-     */    
-    static CXnHitTest* NewLC();
-
-    ~CXnHitTest();
-
-private:
-    CXnHitTest();
-
-private: 
-    // from MCoeMessageMonitorObserver
-    
-    /**
-    * @see MCoeMessageMonitorObserver documentation
-    */
-    void MonitorWsMessage( const TWsEvent& aEvent );
-    
-public:
-    // New functions
-
-    /**
-     * Adds a control to hit region.
-     * 
-     * @since S60 5.0
-     * @param aControl The control to be added.
-     */
-    void AddControl( CXnControlAdapter* aControl );
-
-    /**
-     * Removes a control from hit region.
-     * 
-     * @since S60 5.0
-     * @param aControl The control to be removed.
-     */
-    void RemoveControl( CXnControlAdapter* aControl );
-
-    /**
-     * Set flags
-     * 
-     * @since S60 5.0
-     * @param aFlags flags to be added
-     */
-    void SetFlags( const TInt aFlags );
-
-    /**
-     * Clear flags
-     * 
-     * @since S60 5.0
-     * @param aFlags flags to be cleared, 0x0F default 
-     */
-    void ClearFlags( const TInt aFlags = 0x0F );
-
-    /**
-     * Get flags
-     * 
-     * @since S60 5.0
-     * @return Flags
-     */
-    TInt Flags() const;
-
-    /**
-     * Flushes hit test state
-     * 
-     * @since S60 5.0	
-     */
-    void Flush();
-
-    /**
-     * Gets hit region count
-     * 
-     * @since S60 5.0	
-     * @return Count
-     */
-    TInt HitRegionCount() const;
-
-    /**
-     * Gets hit region
-     * 
-     * @since S60 5.0    
-     * @return Region
-     */
-    CXnControlAdapter* HitRegion() const;
-
-    /**
-     * Tests whether a pointer event occurred inside the control's hit region.    
-     * 
-     * @since S60 5.0
-     * @param aPointEvent The pointer event.
-     * @param aControl
-     * @return ETrue if the specified point lies inside the hit region, 
-     *         EFalse if not.
-     */
-    TBool HitRegionContainsL( const TPointerEvent& aPointerEvent,
-        const CXnControlAdapter& aControl );
-
-    /**
-     * Gets the last pointer event
-     * 
-     * @since S60 5.0		
-     * @return Last pointer event 
-     */
-    const TPointerEvent& PointerEvent() const;
-    
-protected:
-    /**
-     * Two-phased constructor.
-     */
-    void ConstructL();
-
-private:
-    // data
-
-    /** Hit region */
-    RPointerArray< CXnControlAdapter > iHitRegion;
-    /** Pointer event */
-    TPointerEvent iPointerEvent;
-    /** Flags */
-    TInt iFlags;
-    };
-
-#endif // _XNHITTEST_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xninactivitymonitor.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +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:  Inactivity monitor
-*
-*/
-
-
-#ifndef _NXINACTIVITYMONITOR_H
-#define _NXINACTIVITYMONITOR_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-
-// Forward declarations
-
-/**
- * User inactivity observer
- * 
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( MXnInactivityObserver )
-    {
-public:
-    /**
-     * Notifies inactivity timer is expired
-     *
-     * @since S60 5.0
-     */    
-    virtual void InactivityTimerExpired() = 0;
-    };
-
-/**
- * User inactivity monitor
- * 
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnInactivityMonitor ) : public CTimer 
-    {
-public:    
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     */
-    static CXnInactivityMonitor* NewL( MXnInactivityObserver& aObserver );
-
-    /**
-     * Two-phased constructor. Leaving on stack
-     */
-    static CXnInactivityMonitor* NewLC( MXnInactivityObserver& aObserver );
-
-    /**
-     * Destructor
-     */
-    ~CXnInactivityMonitor();
-
-private:
-    // private constructors
-
-    /**
-     * Leaving constructor
-     */
-    void ConstructL();
-    
-    /**
-     * C++ default constructor
-     */
-    CXnInactivityMonitor( MXnInactivityObserver& aObserver );
-
-private:
-    // from CTimer
-    
-    void RunL();
-    
-public:
-    // new functions
-    
-    /**
-     * Starts inactivity monitoring 
-     *
-     * @since S60 5.0
-     */
-    void Start();
-
-    /**
-     * Stops inactivity monitoring 
-     *
-     * @since S60 5.0
-     */    
-    void Stop();
-        
-private:
-    // data
-    /** Inactivity observer, Not owned */
-    MXnInactivityObserver& iObserver;
-    };
-
-#endif // _NXINACTIVITYMONITOR_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnkeyeventdispatcher.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +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:  Key event dispatcher header
-*
-*/
-
-
-#ifndef __XNKEYEVENTDISPATCHER_H__
-#define __XNKEYEVENTDISPATCHER_H__
-
-// System includes
-#include <e32base.h>
-#include <coecntrl.h>
-#include <eikmobs.h>
-
-// Uder includes
-#include "xnviewmanager.h"
-
-// Forward declarations
-class CXnNode;
-class CXnUiEngine;
-class CEikButtonGroupContainer;
-class CXnViewData;
-class CXnPluginData;
-
-// Class declaration
-
-/**
- *  Control adapter class implementation.
- *  
- *  @ingroup group_xnlayoutengine
- *  @lib xn3layoutengine.lib
- *  @since Series 60 3.1
- */
-NONSHARABLE_CLASS( CXnKeyEventDispatcher ) : public CCoeControl,   
-    public MCoeMessageMonitorObserver,
-    public MXnViewObserver
-    {
-public:
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     */
-    static CXnKeyEventDispatcher* NewL( CXnUiEngine& aUiEngine );
-
-    /**
-     * Destructor.
-     */
-    ~CXnKeyEventDispatcher();
-
-private:
-    // From CCoeControl
-
-    /**
-     * @see CCoeControl
-     */
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-            TEventCode aType );
-            
-private: 
-    // from MCoeMessageMonitorObserver
-    
-    /**
-    * @see MCoeMessageMonitorObserver 
-    */
-    void MonitorWsMessage( const TWsEvent& aEvent );
-        
-public:
-    // New functions
-   
-    /**
-     * Set the node to which key events are given
-     * 
-     * @since Series 60 3.1
-     * @param aNode Node to set
-     * @param aSource A source of event that triggered focus change.
-     */
-    void SetNodeL( CXnNode* aNode, TInt aSource = 0 );
-
-    /**
-     * Set the node to which key events are given, but do not notify.
-     * 
-     * @since Series 60 3.1
-     * @param aNode Node to set
-     */
-    void SetNodeWithoutNotificationL( CXnNode* aNode );
-    
-    /**
-     * Get the node to which holds focus
-     * 
-     * @since Series 60 3.1
-     * @return Focused node, NULL if no focus.
-     */
-    CXnNode* FocusedNode() const;
-    
-    /**
-     * Set the node to which menu events are given
-     * 
-     * @since Series 60 3.1
-     * @param aNode Node to set
-     */
-    void SetMenuNodeL( CXnNode* aNode );
-
-    /**
-     * Removes the node to which menu events are given
-     * 
-     * @since Series 60 3.2        
-     */
-    void ResetMenuNodeL();
-
-    /**
-     * Refresh current menu
-     * 
-     * @since Series 60 3.1
-     */
-    void RefreshMenuL();
-
-    /**
-     * Checks whether the menu is focused.
-     * 
-     * @since S60 3.1
-     * @return ETrue if menu is focused.
-     */
-    TBool IsMenuFocused() const;
-
-    /**
-     * Set node as passive, and add it to the passive focused node array.
-     * 
-     * @since Series 60 3.2
-     * @param aNode Node to use.
-     */
-    void AddPassiveFocusedNodeL( CXnNode* aNode );
-
-    /**
-     * Unset the passive focus from the node, and remove it from the passive
-     * focused node array.
-     * 
-     * @since Series 60 3.2
-     * @param aNode Node to use.
-     */
-    void RemovePassiveFocusedNodeL( CXnNode* aNode );
-
-    /**
-     * Clear the passive focused node array, and unset the passive focus 
-     * states.
-     * 
-     * @since Series 60 3.2
-     */
-    void ClearPassiveFocusedNodesL();
-
-private:
-    // new functions
-    
-    void SetNodeL( CXnNode* aToLose, CXnNode* aToGain, TBool aNotify,
-        TInt aSource = 0 );
-    
-    void ResolveAndSetFocusL();
-    
-    void ClearStateL();
-    
-protected:
-    // New functions
-
-    /**
-     * C++ default constructor.
-     */
-    CXnKeyEventDispatcher( CXnUiEngine& aUiEngine );
-
-    /**
-     * Two-phased constructor.
-     */
-    void ConstructL();
-
-private:
-    // from MXnViewObserver
-    
-    void NotifyViewActivatedL( const CXnViewData& aViewData );
-
-    void NotifyViewDeactivatedL( const CXnViewData& aViewData );
-
-    void NotifyConfigureWidgetL( const CHsContentInfo& aContentInfo,
-        CXnPluginData& aPluginData );
-
-    void NotifyWidgetAdditionL( const CXnPluginData& aPluginData );
-    void NotifyWidgetRemovalL( const CXnPluginData& aPluginData );
-    void NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ ){};
-    void NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ ){};
-
-private:
-    // Data
-
-    /** Reference to uiengine */
-    CXnUiEngine& iUiEngine;
-    /** Losefocus trigger, owned */
-    CXnNode* iLoseFocus;
-    /** Gainfocus trigger, owned */
-    CXnNode* iGainFocus;
-    /** Node that receives key events */
-    CXnNode* iNode;
-    /** Previous key event receiver */
-    CXnNode* iPreviousNode;
-    /** Node that receives menu events */
-    CXnNode* iMenuNode;
-    /** Node that was focused when keyevent started */
-    CXnNode* iKeyEventNode;
-    /** Event code for keyevents */
-    TEventCode iEventCode;
-    /** Focused node is changed during keyevent process */
-    TBool iFocusChanged;
-    /** Command button array for softkeys, not owned */
-    CEikButtonGroupContainer* iCbaContainer;
-    /** For storing the nodes that have passive focus. */
-    RPointerArray< CXnNode > iPassiveFocusedNodes;
-    };
-
-#endif //__XNKEYEVENTDISPATCHER_H__
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnlayoutengine.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +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:  Layout file resource header
-*
-*/
-
-
-#ifndef XNLAYOUTENGINE_HRH
-#define XNLAYOUTENGINE_HRH
-
-// Data types
-
-STRUCT LAYOUT
-    {
-    STRUCT nodes[];
-    }
-
-STRUCT MAPPINGS
-    {
-    STRUCT mappings[];
-    }
-
-/** node type - bitmap,skinbitmap,control */
-STRUCT NODE
-    {
-    LONG type;
-    
-    // node identification 
-    /** area id */
-    LTEXT nodeid;
-    /** parent area id */
-    LTEXT parentnodeid = "";
-    /** branch id, used for identifying optional branches */
-    LTEXT branchid = "";
-    /** 1 or 0, tells whether a branch is enabled */
-    LONG enabled = 1;
-    /** horizontal alignment of the area: 0-100000, 50000 is center */
-    LONG horizontalalignment = 0;
-    /** vertical alignment of the area: 0-100000, 50000 is center */
-    LONG verticalalignment = 0;
-    
-    /** 
-     * area priority, 0 is "must", consequent values are so that higher 
-     * numbers 
-     * mean higher priority 
-     */
-    LONG priority = 0;
-    
-    /** 
-     * 1 or 0, tells whether area aspect ratio should be preserved when 
-     * resizing
-     */
-    LONG lockaspectratio = 0;
-
-    // we assume that minimum dimensions are always absolute and always 
-    // in pixels
-
-    /** minimum width in pixels */
-    LONG pixelminimumwidth;
-    /** minimum width in pixels */
-    LONG pixelminimumheight;
-    /** maximum size */
-    STRUCT maximumsize;
-    /** preferred size */
-    STRUCT preferredsize;
-    /** area margins */
-    STRUCT margins;
-    /** include data for included layout file */
-    STRUCT include;
-    /** orientation of child areas	*/
-    STRUCT childorientation;
-    /** node-specific data, depending on the node type */
-    STRUCT nodedata; 
-    }
-
-/** child area layout is defined as rows x columns */
-STRUCT CHILD_ORIENTATION
-    {
-    LONG rows = 0;
-    LONG columns = 0;
-    }
-
-/** margins are assumed absolute and in pixels */
-STRUCT MARGIN
-    {
-    LONG left = 0;
-    LONG right = 0;
-    LONG top = 0; 
-    LONG bottom = 0;
-    }
-
-/** maximum size can be pixels, twips or percentage of parent area */
-STRUCT MAXIMUMSIZE
-    {
-    LONG pixelmaximumwidth = 0;
-    LONG pixelmaximumheight = 0;
-
-    LONG twipmaximumwidth = 0;
-    LONG twipmaximumheight = 0;
-
-    /** percentage, 0-1000000, 1000000 is 100% */
-    LONG relativemaximumwidth = 0; 
-    /** percentage, 0-1000000, 1000000 is 100% */
-    LONG relativemaximumheight = 0; 
-    }
-
-/** preferred size can be pixels, twips or percentage of parent area */
-STRUCT PREFERREDSIZE
-    {
-    LONG pixelpreferredwidth = 0;
-    LONG pixelpreferredheight = 0;
-
-    LONG twippreferredwidth = 0;
-    LONG twippreferredheight = 0;
-
-    /** percentage, 0-1000000, 1000000 is 100% */
-    LONG relativepreferredwidth = 0; 
-    /** percentage, 0-1000000, 1000000 is 100% */
-    LONG relativepreferredheight = 0; 
-    }
-
-/** sub-areas are included from external files by filename */
-STRUCT INCLUDE
-    {
-    LTEXT file = "";
-    }
-
-/** bitmap area defines a file name and a bitmap id */
-STRUCT BITMAPAREA
-    {
-    /** file name */
-    LTEXT file; 
-    
-    /** 
-     * id is string in order to allow different representations for image data
-     */ 
-    LTEXT bitmapid; 
-    /** mask file name is optional */
-    LTEXT maskfile = ""; 
-    
-    /**
-     *  mask id is optional. id is string in order to allow different 
-     *  representations for image data
-     */
-    LTEXT maskbitmapid = "";
-    /** is mask inverted  */
-    LONG invertmask = 0;
-    /** is mask enabled */
-    LONG enablemask = 0;
-    }
-
-/** skin area defines a skin id and a bitmap id */
-STRUCT SKINBITMAPAREA
-    {
-    /** skin file id */
-    LONG skinfileid;
-    /** skin bitmap id */
-    LONG bitmapid; 
-    /** mask file id */
-    LONG maskfileid = 0; 
-    /** mask bitmap id */
-    LONG maskbitmapid = 0;
-    /** is mask inverted */
-    LONG invertmask = 0; 
-    /** is mask enabled */
-    LONG enablemask = 0; 
-    }
-
-STRUCT CONTROLAREA
-    {
-    /** node UI type, an UID */
-    LONG uitype;
-    /** construction data file name */
-    LTEXT resourcefile = "";
-    
-    /** 
-     * construction data id in the file - string in order to allow different 
-     * data representations
-     */
-    LTEXT resourceid = ""; 
-    }
-
-/** mapping defines a name that maps a hierarchical name */
-STRUCT MAPPING
-    {
-    /** mapping name (for example, "button1") */
-    LTEXT key; 
-    
-    /** 
-     * mapping path, a blank-separated path 
-     * (for example, "rootnode statusnode left_area")
-     */
-    LTEXT path; 
-    }
-
-STRUCT FILEVERSION
-    {
-    /** version string */
-    LTEXT version; 
-    }
-
-#endif // XNLAYOUTENGINE_HRH
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnnodepredicate.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  Node predicate header
-*
-*/
-
-
-#ifndef XNNODEPREDICATE_H
-#define XNNODEPREDICATE_H
-
-// System includes
-#include <e32base.h>
-
-// forward declarations
-class CXnNode;
-
-// Class declarations
-
-/**
- *  Compares two objects.
- *
- *  @ingroup group_xnlayoutengine 
- *  @lib xn3layoutengine.lib
- *  @since Series 60 3.1
- */
-class MXnNodePredicate
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * C++ default constructor.
-     */
-    IMPORT_C MXnNodePredicate();
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~MXnNodePredicate();
-
-public:
-    // New functions
-    
-    /**
-     * Tests whether an object matches the predicate
-     * 
-     * @since Series 60 3.1
-     * @param aItem Object to test
-     * @return ETrue if matches, EFalse if not
-     */
-    IMPORT_C virtual TBool Match( CXnNode& aItem );
-    };
-
-#endif      // XNNODEPREDICATE_H
-
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnodtparser.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +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:  Parser for parsing ODT (Object Description Tree) data
-*
-*/
-
-
-#ifndef _CXNODTPARSER_H
-#define _CXNODTPARSER_H
-
-//  System includes
-#include <e32base.h>
-
-// Constants
-
-// Forward declarations
-class CXnViewManager;
-class CXnUiEngine;
-class CXnEcomHandler;
-class CXnRootData;
-class CXnViewData;
-class CXnPluginData;
-class CXnDomStringPool;
-class CXnDomNode;
-class CXnNode;
-
-// Class declaration
-
-/**
- *  Layout file parser for reading ODT data to create the UI tree.
- *  
- *  @ingroup group_xnlayoutengine
- *  @lib xn3layoutengine.lib
- *  @since Series 60 3.1
- */
-NONSHARABLE_CLASS( CXnODTParser ) : public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aManager View Manager
-     * @param aXnEcomHandler Ecom handler
-     */
-    static CXnODTParser* NewL( CXnViewManager& aManager,
-            CXnEcomHandler& aXnEcomHandler );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnODTParser();
-
-public:
-    // New functions
-
-    /**
-     * Loads application root
-     * 
-     * @param aRootData Root data
-     * @param aAppUid Application uid
-     */    
-    void LoadRootL( CXnRootData& aRootData, TUid aAppUid );
-
-    /**
-     * Loads view
-     * 
-     * @param aViewData View data
-     */        
-    void LoadViewL( CXnViewData& aViewData );
-
-    /**
-     * Destroys view
-     * 
-     * @param aViewData View data
-     */            
-    void DestroyView( CXnViewData& aViewData );
-
-    /**
-     * Loads widget
-     * 
-     * @param aPluginData Plugin data
-     */                
-    void LoadWidgetL( CXnPluginData& aPluginData );
-
-    /**
-     * Destroys widget
-     * 
-     * @param aPluginData Plugin data
-     */                    
-    void DestroyWidgetL( CXnPluginData& aPluginData );
-    
-private:
-    
-    /**
-     * 2nd phase constructor. 
-     */
-    void ConstructL();
-
-    /**
-     * C++ default constructor. 
-     */
-    CXnODTParser( CXnViewManager& aManager,
-            CXnEcomHandler& aXnEcomHandler );
-
-private:
-    // new functions
-    void CreateNodesL( CXnDomNode* aSourceNode, CXnDomStringPool& aSp,
-                          CXnPluginData& aPluginData );
-
-    void ConstructNodeL( CXnDomNode& aSource,        
-        CXnDomStringPool& aSp,    
-        CXnPluginData& aPluginData );
-
-    void CreateControlsL( CXnDomNode* aNode, CXnPluginData& aPluginData );
-    
-    void ConstructControlL( CXnNode* aNode, CXnPluginData& aPluginData );
-
-    TBool CreateBuiltInControlL( CXnNode& aNode, const TDesC8& aName );
-    
-    TBool CreateExternalControlL( CXnNode& aNode, const TDesC8& aName );
-
-    void CreateFactoryControlL( CXnNode& aNode, const TDesC8& aName );
-
-    void HandleWidgetBackgroundL( CXnNode* aWidgetNode );
-
-private:
-    // Data               
-    
-    /** View manager, not owned */    
-    CXnViewManager& iManager;
-    /** UiEngine, not owned */    
-    CXnUiEngine& iUiEngine;
-    /** ECOM helper object, not owned */
-    CXnEcomHandler& iEcomHandler;
-    };
-
-#endif // _CXNODTPARSER_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,507 +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:  Data class to hold widget info
-*
-*/
-
-
-#ifndef _XNPLUGINDATA_H
-#define _XNPLUGINDATA_H
-
-// System includes
-#include <e32base.h>
-#include <babitflags.h>
-
-// Forward declarations
-class CXnNode;
-class CXnDomNode;
-class CXnResource;
-class CXnControlAdapter;
-class CXnViewData;
-class CXnODT;
-class CXnDataPluginLoader;
-class CXnViewManager;
-class CPeriodic;
-// Constants
-
-// Class declaration
-
-/**
- * Holds plugin data in UiEngine
- * 
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnPluginData ) : public CBase
-    {
-public:
-    // Data types
-    enum
-        {
-        EUseEmpty,
-        EIsDispose,
-        EIsOccupied,   
-        EIsEmpty,
-        EIsRemovable,
-        EIsActive,             
-        EIsInitial,
-        EIsDataPluginsReady
-        };
-        
-public:    
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aParent Parent     
-     */
-    static CXnPluginData* NewL( CXnPluginData& aParent );
-
-    /**
-     * Two-phased constructor. Leaving on stack
-     * 
-     * @param aParent Parent
-     */
-    static CXnPluginData* NewLC( CXnPluginData& aParent );
-
-    /**
-     * Destructor
-     */
-    ~CXnPluginData();
-       
-protected:
-    
-    /**
-     * C++ constructor
-     * 
-     * @param aParent
-     */
-    CXnPluginData( CXnPluginData& aParent );
-
-    /**
-     * C++ constructor
-     *      
-     * @param aManager 
-     */    
-    CXnPluginData( CXnViewManager& aManager );
-                   
-    /**
-     * C++ constructor
-     */
-    CXnPluginData();
-
-    /**
-     * Leaving constructor
-     */
-    void ConstructL();
-
-public:
-    // New functions
-
-    /**
-     * Loads content to plugin          
-     */    
-    virtual void LoadL();
-
-    /**
-     * Destroys content from plugin          
-     */    
-    virtual void Destroy();
-    
-    /**
-     * Sets plugindata node
-     * 
-     * @param aNode Node to be set.
-     */
-    inline void SetNode( CXnDomNode* aNode );
-    
-    /**
-     * Returns plugindata node
-     * 
-     * @return Dom Node
-     */
-    inline CXnDomNode* Node() const;
-
-    /**
-     * Sets Owner
-     * 
-     * @param Dom node owner
-     */
-    inline void SetOwner( CXnDomNode* aOwner );
-    
-    /**
-     * Returns owner
-     * 
-     * @return Returns the owning dom node
-     */
-    inline CXnDomNode* Owner() const;
-
-    /**
-     * Returns parent
-     * 
-     * @return ViewData Parent
-     */
-    inline CXnPluginData* Parent() const;
-
-    /**
-     * Returns View Manager
-     * 
-     * @return View manager
-     */
-    inline CXnViewManager& ViewManager() const;
-    
-    /**
-     * Returns state of the parent - active/ not active
-     * 
-     * @return ETrue - parent active 
-     *         EFalse - parent not active
-     */
-    inline virtual TBool Active() const;
-
-    /**
-     * Sets new configuration ID
-     * 
-     * @param aConfigurationId Config ID
-     */
-    void SetConfigurationIdL( const TDesC8& aConfigurationId );
-    
-    /**
-     * Returns Config. ID
-     * 
-     * @return Id
-     */
-    inline const TDesC8& ConfigurationId() const;
-    
-    /**
-     * Sets new plugin ID
-     * 
-     * @param aPluginId Plugin ID
-     */
-    void SetPluginIdL( const TDesC8& aPluginId );
-    
-    /**
-     * Returns plugin ID
-     * 
-     * @return Plugin ID
-     */
-    inline const TDesC8& PluginId() const;
-
-    /**
-     * Sets new plugin UID
-     * 
-     * @param aPluginUid Plugin UID
-     */
-    void SetPluginUidL( const TDesC8& aPluginUid );
-    
-    /**
-     * Returns plugin UID
-     * 
-     * @return Plugin Uid
-     */
-    inline const TDesC8& PluginUid() const;
-
-    /**
-     * Sets new plugin name
-     * 
-     * @param aPluginName Plugin name
-     */
-    void SetPluginNameL( const TDesC8& aPluginName );
-    
-    /**
-     * Returns plugin name
-     * 
-     * @return Plugin name
-     */
-    inline const TDesC8& PluginName() const;
-    
-    /**
-     * Sets new plugin type
-     * 
-     * @param aPluginType Plugin type
-     */
-    void SetPluginTypeL( const TDesC8& aPluginType );
-    
-    /**
-     * Returns plugin type
-     * 
-     * @return Plugin type
-     */    
-    inline const TDesC8& Type() const;
-
-    /**
-     * Sets new plugin state
-     * 
-     * @param aConfigurationState Plugin state     
-     */    
-    void SetPluginStateL( const TDesC8& aPluginState );
-
-    /*
-     * Reverts plugin state back to confirmed from wait for confirmation
-     */
-    void RevertPluginState();
-        
-    /**
-     * Returns plugin state
-     * 
-     * @return Plugin state
-     */    
-    inline const TDesC8& PluginState() const;
-
-    /**
-	 * void SetPublisherNameL( const TDesC8& aPublisherName )
-	 * Sets the name of the publisher
-	 *
-	 * @param const TDesC& aPublisherName - Publisher name
-	 */
-	void SetPublisherNameL( const TDesC8& aPublisherName );
-        
-    /**
-     * void SetPublisherNameL( const TDesC& aPublisherName )
-     * Sets the name of the publisher
-     *
-     * @param const TDesC& aPublisherName - Publisher name
-     */
-    void SetPublisherNameL( const TDesC& aPublisherName );
-
-    /**
-     * inline const TDesC16& PublisherName()
-     * Returns the publisher name
-     *
-     * @param
-     * @return - *iPublisherName or KNullDesC16()       
-     */
-    inline const TDesC& PublisherName() const;
-
-    /**
-     * Sets new resources.     
-     * 
-     * @param aResources resource list
-     */
-    void SetResources( CArrayPtrSeg< CXnResource >* aResources );
-    
-    /**
-     * Adds resources to the list
-     * 
-     * @param aList List are added to
-     */
-    virtual void ResourcesL( CArrayPtrSeg< CXnResource >& aList ) const;
-
-    /**
-     * Adds control from Node's control
-     * 
-     * @param aNode Node which control should be added
-     */
-    void SetControlL( CXnNode* aNode );
-    
-    /**
-     * Returns list of controls
-     * 
-     * @param aList List where controls are added
-     */
-    virtual void ControlsL( RPointerArray< CXnControlAdapter >& aList ) const;
-
-    /**
-     * Sets content source
-     * 
-     * @param aNode Node to be added
-     */
-    void SetContentSourceNodeL( CXnNode* aNode );
-    
-    /**
-     * Returns all content source nodes
-     * 
-     * @param aList List where they are returned
-     */
-    virtual void ContentSourceNodesL( RPointerArray< CXnNode >& aList ) const;
-
-    /**
-     * Adds appearance nodes
-     * 
-     * @param aNode Node to be added
-     */
-    void SetAppearanceNodeL( CXnNode* aNode );
-    
-    /**
-     * Returns list of appearance nodes
-     * 
-     * @param aList List of apperance nodes
-     */
-    virtual void AppearanceNodesL( RPointerArray< CXnNode >& aList ) const;
-
-    /**
-     * Adds an initial focus node
-     * 
-     * @param aNode Node
-     */
-    void SetInitialFocusNodeL( CXnNode* aNode );
-    
-    /**
-     * Returns list of focus nodes
-     * 
-     * @param aList List of focus nodes
-     */
-    virtual void InitialFocusNodesL( RPointerArray< CXnNode >& aList ) const;
-
-    /**
-     * Sets the plugin occupied     
-     */
-    inline void SetOccupied();
-    
-    /*
-     * Checks whether occupied
-     * 
-     * @return ETrue when occupied EFalse when not
-     */
-    inline TBool Occupied() const;
-    
-    /*
-     * Sets the plugin removable
-     * 
-     * @param aRemovable ETrue when removable EFalse when not
-     */    
-    inline void SetRemovable( TBool aRemovable );
-    
-    /*
-     * Checks whether removable
-     * 
-     * @return ETrue when removable EFalse when not
-     */    
-    inline TBool Removable() const;
-    
-    /*
-     * Queries whether this plugin is holding "empty" widget
-     * 
-     * @return ETrue if empty, EFalse otherwise     
-     */                
-    TBool Empty() const;
-    
-    /*
-     * Sets this plugin to hold "empty" widget
-     * 
-     * @param aPluginId PluginId for later usage     
-     */            
-    void SetEmptyL( const TDesC8& aPluginId );
-    
-    /**
-     * Flushes plugin data         
-     */
-    void Flush();
-
-    /**
-     * Sets/Unsets the popup
-     * @param aVisible sets the popup visible or invisible
-     * @param aNode a pointer to the popup node
-     */
-    void SetIsDisplayingPopup ( TBool aVisible, CXnNode* aNode );
-
-    /**
-     * Checks if the popup is displayed
-     */
-    TBool IsDisplayingPopup () const;
-    
-    
-    /**
-     * Returns list of plugindata
-     * 
-     * @return List of plugindata
-     */
-    inline RPointerArray< CXnPluginData >& PluginData() const;
-
-    /**
-     * Loads data plugins associated to the plugin data
-     * 
-     */
-    virtual void LoadDataPluginsL();
-
-    /**
-     * Deletes data plugins associated to the plugin data
-     */
-    virtual void DestroyDataPluginsL();
-    
-    /**
-     * Indicates that all data plugins are loaded by data plugin loader
-     * 
-     * @param aStatus Loading status
-     */
-    virtual void DataPluginsLoadCompletedL( TInt aStatus );
-
-    /**
-     * Returns data plugin loading status
-     * 
-     * @return ETrue if data plugins are loaded or there is no data
-     *               plugins associated to the plugin.
-     *         EFalse otherwise
-     */
-    virtual TBool DataPluginsLoaded() const;
-
-
-private:
-    // New functions
-    
-    static TInt RunL( TAny* aAny );
-    
-protected:
-    // data
-        
-    /** Data plugin loader, Owned */
-    CPeriodic* iLoader;
-    /** Data plugin load index */
-    TInt iLoadIndex;  
-    /** Plugins data */
-    mutable RPointerArray< CXnPluginData > iPluginsData;
-    /** List of plugin resources, Owned */
-    CArrayPtrSeg< CXnResource >* iResources;
-    /** List of controls, Not owned */
-    RPointerArray< CXnControlAdapter > iControls;
-    /** List of content source nodes, Not owned */
-    RPointerArray< CXnNode > iContentSourceNodes;       
-    /** List of appearance nodes, Not owned */
-    RPointerArray< CXnNode > iAppearanceNodes;
-    /** List of initial focus nodes, Not owned */
-    RPointerArray< CXnNode > iInitialFocusNodes;   
-    /** List of popup focus nodes, Not owned */
-    RPointerArray< CXnNode > iPopupNodes;
-
-    /** Parent, Not owned */
-    CXnPluginData* iParent;
-    /** View manager, Not owned */
-    CXnViewManager& iManager;
-    /** This plugin's node, Not owned */
-    CXnDomNode* iNode;
-    /** This plugin's owner, Not owned */
-    CXnDomNode* iOwner;
-    /** config ID, Owned */ 
-    HBufC8* iConfigurationId;
-    /** Plugin ID, Owned */
-    HBufC8* iPluginId;
-    /** Plugin UID, Owned */
-    HBufC8* iPluginUid;
-    /** Plugin name, Owned */
-    HBufC8* iPluginName;    
-    /** Plugin type, Owned */
-    HBufC8* iPluginType;
-    /** Plugin state, Owned */
-    HBufC8* iPluginState;
-    /** Publisher name, Owned */
-    HBufC* iPublisherName;
-    /** Flags to define this plugin's state */
-    TBitFlags32 iFlags;
-    };
-
-// Inline functions
-#include "xnplugindata.inl"
-
-#endif // _XNPLUGINDATA_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +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:  Data class to hold widget info - inline functions
-*
-*/
-
-
-#ifndef _XNPLUGINDATA_INL_
-#define _XNPLUGINDATA_INL_
-
-// ---------------------------------------------------------------------------
-// Sets plugindata node
-// ---------------------------------------------------------------------------
-//
-inline void CXnPluginData::SetNode( CXnDomNode* aNode )
-    {
-    iNode = aNode;
-    };
-
-// ---------------------------------------------------------------------------
-// Returns plugindata node
-// ---------------------------------------------------------------------------
-//
-inline CXnDomNode* CXnPluginData::Node() const
-    {
-    return iNode;
-    };
-
-// ---------------------------------------------------------------------------
-// Sets Owner
-// ---------------------------------------------------------------------------
-//
-inline void CXnPluginData::SetOwner( CXnDomNode* aOwner )
-    {
-    iOwner = aOwner;
-    };
-
-// ---------------------------------------------------------------------------
-// Returns Owner
-// ---------------------------------------------------------------------------
-//
-inline CXnDomNode* CXnPluginData::Owner() const
-    {
-    return iOwner;
-    };
-
-// -----------------------------------------------------------------------------
-// Return the parent of this plugin data
-// -----------------------------------------------------------------------------
-//
-inline CXnPluginData* CXnPluginData::Parent() const
-    {
-    return iParent;
-    };
-
-// -----------------------------------------------------------------------------
-// Return view manager
-// -----------------------------------------------------------------------------
-//
-inline CXnViewManager& CXnPluginData::ViewManager() const
-    {
-    return iManager;
-    };
-
-// ---------------------------------------------------------------------------
-// Queries whether this plugin is in active view
-// ---------------------------------------------------------------------------
-//
-inline TBool CXnPluginData::Active() const
-    {
-    TBool retval( EFalse );
-    
-    if( iParent )
-        {
-        retval = iParent->Active();
-        }
-    
-    return retval;
-    };
-
-// ---------------------------------------------------------------------------
-// Returns Config. ID
-// ---------------------------------------------------------------------------
-//
-inline const TDesC8& CXnPluginData::ConfigurationId() const
-    {
-    return iConfigurationId ? *iConfigurationId : KNullDesC8();
-    };
-
-// ---------------------------------------------------------------------------
-// Returns plugin ID
-// ---------------------------------------------------------------------------
-//
-inline const TDesC8& CXnPluginData::PluginId() const
-    {
-    return iPluginId ? *iPluginId : KNullDesC8();
-    };
-
-// ---------------------------------------------------------------------------
-// Returns plugin UID
-// ---------------------------------------------------------------------------
-//
-inline const TDesC8& CXnPluginData::PluginUid() const
-    {
-    return iPluginUid ? *iPluginUid : KNullDesC8();
-    };
-
-// ---------------------------------------------------------------------------
-// Returns plugin name
-// ---------------------------------------------------------------------------
-//
-inline const TDesC8& CXnPluginData::PluginName() const
-    {
-    return iPluginName ? *iPluginName : KNullDesC8();
-    };
-
-// ---------------------------------------------------------------------------
-// Returns plugin type
-// ---------------------------------------------------------------------------
-//
-inline const TDesC8& CXnPluginData::Type() const
-    {
-    return iPluginType ? *iPluginType : KNullDesC8();
-    };
-
-// ---------------------------------------------------------------------------
-// Returns plugin state
-// ---------------------------------------------------------------------------
-//
-inline const TDesC8& CXnPluginData::PluginState() const
-    {
-    return iPluginState ? *iPluginState : KNullDesC8();
-    };
-    
-// ---------------------------------------------------------------------------
-// Returns the publisher name
-// ---------------------------------------------------------------------------
-//
-inline const TDesC& CXnPluginData::PublisherName() const 
-    { 
-    return iPublisherName ? *iPublisherName : KNullDesC16(); 
-    };
-
-// -----------------------------------------------------------------------------
-// Sets this plugin occupied, i.e. holding widget
-// -----------------------------------------------------------------------------
-//
-inline void CXnPluginData::SetOccupied()
-    {
-    iFlags.Set( EIsOccupied );    
-    };
-
-// -----------------------------------------------------------------------------
-// Queries whether the plugin is occupied
-// -----------------------------------------------------------------------------
-//
-inline TBool CXnPluginData::Occupied() const
-    {
-    return ( iFlags.IsSet( EIsOccupied ) ? ETrue : EFalse );    
-    };
-
-// ---------------------------------------------------------------------------
-// Sets removable
-// ---------------------------------------------------------------------------
-//
-inline void CXnPluginData::SetRemovable( TBool aRemovable )
-    {    
-    if( aRemovable )
-        {
-        iFlags.Set( EIsRemovable );        
-        }
-    else        
-        {
-        iFlags.Clear( EIsRemovable );        
-        }
-    };
-
-// ---------------------------------------------------------------------------
-// Returns removable
-// ---------------------------------------------------------------------------
-//
-inline TBool CXnPluginData::Removable() const
-    {
-    return ( iFlags.IsSet( EIsRemovable ) ? ETrue : EFalse );    
-    };
-
-// ---------------------------------------------------------------------------
-// Returns list of plugindata
-// ---------------------------------------------------------------------------
-//
-inline RPointerArray< CXnPluginData >& CXnPluginData::PluginData() const
-    {
-    return iPluginsData;
-    };
-
-#endif // _XNPLUGINDATA_INL_
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnplugindefs.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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:  Plugin constant definitions
-*
-*/
-
-
-#ifndef _XNPLUGINDEFS_H_
-#define _XNPLUGINDEFS_H_
-
-// System includes
-#include <e32std.h> 
-
-// Constants
-const TInt KContentIdMaxLength ( 255 );
-const TInt KResultMaxLength ( 255 );
-const TInt KSAPIContentNameMaxLength ( 255 ); 
-const TUint KSepratorChar ( '/' );
-
-_LIT8( KPluginInterface, "2001f48a" );
-_LIT8( KPlugin, "plugin" );
-_LIT8( KKeyWidget, "widget" );
-_LIT8( KKeyTemplate, "template");
-_LIT8( KType, "type" );
-_LIT8( KConfigurationId, "configurationid" );
-_LIT8( KConfigurationUid, "configurationuid" );
-_LIT8( KPluginId, "pluginId" );
-_LIT8( KPluginName, "pluginname" );
-_LIT16( KContentSource16, "ContentSource" );
-_LIT8( KContentSource, "ContentSource" );
-_LIT8( KContentData, "contentdata" );
-_LIT8( KView, "view" );
-_LIT8( KApplication, "application" );
-_LIT( KSeperator, "/" );
-_LIT( KOpen, "(" );
-_LIT( KClose, ")" );
-_LIT( KHSOnLine_OffLine, "online_offline" );
-_LIT( KHSOnLine, "online" );
-_LIT( KHSOffLine, "offline" );
-		
-_LIT8( KNameSeperator, ":" );
-_LIT8( KOpenBrace, "[" );
-_LIT8( KCloseBrace, "]" );
-
-_LIT8( KSettingsConfiguration, "settingsconfiguration" );
-_LIT8( KConfigurationModel, "configuration" );
-_LIT8( KContentModel, "contentmodel") ;
-_LIT8( KContentSourceNode, "contentsource");
-
-_LIT8( KSource, "source" );
-_LIT8( KLaunch, "launch" );
-_LIT8( KName, "name" );
-_LIT8( KStatus, "status" );
-
-_LIT( KDummy16, "empty" );
-_LIT8( KDummy8, "empty" );
-
-// CPS constants
-_LIT( KWRTTemplate, "ai3templatedwidget" );
-_LIT(  KPublisher16, "publisher" );
-_LIT8( KPublisher, "publisher" );
-_LIT8( KContentType, "content_type" );
-_LIT8( KContentId, "content_id" );
-_LIT8( KFilter, "filter" );
-_LIT8( KGetList, "GetList" );
-_LIT8( KResults, "results" );
-_LIT8( KTemplateType, "template_type" );
-_LIT8( KWidgetName, "widget_name" );
-_LIT8( KWidgetInfo, "widget_info" );
-
-_LIT8( KTrigger, "trigger" );
-_LIT8( KPubTrigger, "pubtrigger" );
-_LIT8( KDataMap, "data_map" );
-_LIT8( KWidgetTriggerName, "(selected)" );
-_LIT8( KItem, "item" );
-_LIT( KAll, "all" );
-_LIT8( KOperation, "operation" );
-_LIT8( KChangeInfo, "change_info" );
-_LIT8( KDelete, "delete" );
-_LIT8( KRequestNotification, "RequestNotification" );
-_LIT8( KOpen8, "(" );
-
-_LIT8( KWallpaper, "wallpaper" );
-_LIT8( KPath, "path" );
-
-#endif /* _XNPLUGINDEFS_H_ */
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnpointarray.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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:  Array of points
-*
-*/
-
-
-#ifndef _XNPOINTARRAY_H_
-#define _XNPOINTARRAY_H_
-
-// System includes
-#include <e32std.h>
-
-/**
- * XnGestureHelper namespace
- * Used for the whole gesture family - Gesture recognizer, gesture helper, 
- * Point array
- */
-namespace XnGestureHelper
-    {
-    
-    /** 
-     * Represents a single point given at certain time
-     */
-    struct TXnPointEntry
-        {
-        
-        /** constructor */
-        inline TXnPointEntry( const TPoint& aPos, const TTime& aTime );
-        
-        TPoint iPos;
-        TTime iTime;
-        };
-    
-    /**
-     *  Array of points that wraps another point array
-     *  The purpose of this class is to allow deriving classes to override []
-     *  and in that member function adjust the point, e.g., by setting one
-     *  axis to always a constant value. This allows providing a sequence of
-     *  points to the recogniser in which the other axis is ignored.
-     *
-     *  @ingroup group_xnlayoutengine
-     */
-    NONSHARABLE_CLASS( TXnPointArray )
-        {
-    public:
-        
-        /** 
-         * Constructor
-         * 
-         * @param aPoints points array to wrap (and filter)
-         */
-        TXnPointArray( const RArray< TXnPointEntry >& aPoints );
-        
-        /**
-         * Length of the array
-         * 
-         * @return Length of the array 
-         */
-        TInt Count() const;
-        
-        /** 
-         * Returns point at position, may be filtered
-         * virtual so deriving classes can modify the point 
-         * (e.g., filter one axis)
-         *
-         * @return A filtered point at aIndex. Default implementation same
-         *          as Raw(...)
-         */
-        virtual TPoint operator[]( TInt aIndex ) const;
-        
-        /** 
-         * Nonfiltered index
-         * 
-         * @return An raw, non-filtered point at aIndex 
-         */
-        const TPoint& Raw( TInt aIndex ) const;
-
-    private:
-        
-        /** Array of points, Not owned */
-        const RArray< TXnPointEntry >& iPoints;
-        };
-    } // namespace XnGestureHelper
-
-
-// Inline functions
-#include "xnpointarray.inl"
-
-#endif // _XNPOINTARRAY_H_
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnpointarray.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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:  Array of points - inline functions
-*
-*/
-
-
-#ifndef _XNPOINTARRAY_INL_
-#define _XNPOINTARRAY_INL_
-
-namespace XnGestureHelper
-    {
-
-    // -----------------------------------------------------------------------
-    // TXnPointEntry's Constructor
-    // -----------------------------------------------------------------------
-    //    
-    inline TXnPointEntry::TXnPointEntry( const TPoint& aPos, 
-        const TTime& aTime ) : iPos( aPos ), iTime( aTime )
-        {
-        };  
-    }
-
-#endif // _XNPOINTARRAY_INL_
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnpopupcontroladapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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:  Popup control adapter
-*
-*/
-
-#ifndef __XNPOPUPCONTROLADAPTER_H__
-#define __XNPOPUPCONTROLADAPTER_H__
-
-// System includes
-#include <e32base.h>
-#include <eikmobs.h>
-
-// User includes
-#include "xncontroladapter.h"
-#include "xnmenu.h"
-
-// Forward declarations
-class CXnNodePluginIf;
-class CXnNode;
-class CXnUiEngine;
-class CAknStylusPopUpMenu;
-
-// Class declaration
-
-/**
- *  Popup Control adapter interface class
- *  
- *  @ingroup group_xnlayoutengine
- *  @lib xnlayoutengine.lib
- *  @since Series 60 5.0
- */
-NONSHARABLE_CLASS( CXnPopupControlAdapter ) : public CXnControlAdapter,
-    public MEikMenuObserver
-    {
-public:
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     *
-     * @param aNode Node
-     */
-    static CXnPopupControlAdapter* NewL( CXnNodePluginIf& aNode );
-
-    /**
-     * Destructor.
-     */
-    ~CXnPopupControlAdapter();
-
-private:
-    // Constructors
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnPopupControlAdapter();
-
-    /**
-     * Two-phased constructor.        
-     */
-    void ConstructL( CXnNodePluginIf& aNode  );
-
-private:    
-    // From MEikMenuObserver
-    void ProcessCommandL( TInt aCommandId );
-    void SetEmphasis( CCoeControl* aMenuControl, TBool aEmphasis );
-    
-public:
-    // New functions
-    
-    /*
-     * Sets dynamic menuitem observer
-     * 
-     * @param aObserver Observer
-     */
-    void SetObserver( XnMenuInterface::MXnMenuObserver& aObserver );
-    
-    /*
-     * Makes stylus popup menu visible
-     * 
-     * @param aPlugin Plugin which displays this popup
-     */
-    void TryDisplayingStylusPopupL( CXnNode& aPlugin );
-    
-    /*
-     * Screen device change notification
-     * 
-     * @see CXnControlAdapter documentation
-     */
-    void HandleScreenDeviceChangedL();
-    
-private:
-    // New functions
-    void PopulateMenuL( CXnNode* aItem, CXnNode& aPlugin );                                  
-    void ShowMenuL( CXnNode& aPlugin, TPoint aPosition );
-    void HideMenuL();
-                           
-private:
-    // Data
-    
-    /** UiEngine, Not owned */
-    CXnUiEngine*                        iUiEngine;
-    /** Node - received in constructor, Not owned  */
-    CXnNode*                            iNode;
-    /** Observer, Not owned */
-    XnMenuInterface::MXnMenuObserver*   iObserver;
-    /** Stylus popup menu, Owned */
-    CAknStylusPopUpMenu*                iStylusPopupMenu;    
-    /** Stylus popup menu items, Owned */
-    RPointerArray< CXnNode >            iMenuItems;
-    /** Stylus popup menu command ids */
-    TInt                                iCommandId;    
-    /** Flag to indicate whether popup menu is shown */
-    TBool                               iMenuShown;
-    };
-
-#endif // __XNPOPUPCONTROLADAPTER_H__
-
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnpropertycomparator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +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:  Compares two objects.
-*
-*/
-
-
-#ifndef XNPROPERTYCOMPARATOR_H
-#define XNPROPERTYCOMPARATOR_H
-
-// User includes
-#include "xncomparator.h"
-
-// Class declaration
-
-/**
- *  Compares two objects.
- *  
- *  @ingroup group_xnlayoutengine
- *  @lib xn3layoutengine.lib
- *  @since Series 60 3.1
- */
-NONSHARABLE_CLASS( TXnPropertyComparator ) : public MXnComparator
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * C++ default constructor.
-     */
-    TXnPropertyComparator();
-
-    /**
-     * Destructor.
-     */
-    ~TXnPropertyComparator();
-
-public:
-    // Functions from MXnComparator
-
-    /**
-     * From MXnComparator.
-     * Compares two objects for equality.
-     * 
-     * @since Series 60 3.1
-     * @param aItem1 First item
-     * @param aItem1 Second item
-     * @return ETrue if equal, EFalse if not equal
-     */
-    TBool Equals( CBase& aItem1, CBase& aItem2 );
-    };
-
-#endif      // XNPROPERTYCOMPARATOR_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnpropertylist.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +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:  Property list implementation
-*
-*/
-
-
-#ifndef __XNPROPERTYLIST_H__
-#define __XNPROPERTYLIST_H__
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "xndomproperty.h"
-
-// Forward declarations
-class CXnPropertyComparator;
-class CXnMap;
-class CXnProperty;
-
-struct CXnPropertyKey : public CBase
-    {
-    const TDesC8* iString;
-    CXnDomProperty::TPseudoClass iPseudoClass;
-    };
-
-// Class declaration
-
-/**
- *  Property list
- *
- *  @ingroup group_xnlayoutengine 
- *  @lib xn3layoutengine.lib
- *  @since Series 60 3.1
- */
-NONSHARABLE_CLASS( CXnPropertyList ) : public CBase
-    {
-public:
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @return Property list object.
-     */
-    static CXnPropertyList* NewL();
-
-    /**
-     * Destructor.
-     */
-    ~CXnPropertyList();
-
-public:
-    // New functions
-
-    /**
-     * Set a property. The list will assume ownership of the property. 
-     * If an equal property is already in the list, it will be replaced with 
-     * the new property and the old property will be destroyed.
-     * 
-     * @since Series 60 3.1
-     * @param aProperty Property to set. 
-     */
-    void SetPropertyL( CXnProperty* aProperty );
-
-    /**
-     * Gets a property. The list will retain ownership of the property, 
-     * the caller must not destroy the property. The returned pointer will 
-     * become invalid if the property is replaced in the list by a subsequent 
-     * SetL().
-     * 
-     * @since Series 60 3.1
-     * @param aProperty Property key
-     * @return The property mapped to the key or NULL if not found. 
-     */
-    CXnProperty* GetProperty( const TDesC8& aKey ) const;
-    
-    /**
-     * Set a state
-     * 
-     * @since Series 60 3.1
-     * @param aState State to set.
-     * @return ETrue if pseudoclass found, EFalse otherwise 
-     */
-    TBool SetStateL( const TDesC8& aState );
-
-    /**
-     * Check whether a state is set
-     * 
-     * @since Series 60 3.1
-     * @param aState State to be checked
-     * @return ETrue if set, EFalse if not
-     */
-    TBool IsStateSet( const TDesC8& aState );
-    
-    /**
-     * Unset a state
-     * 
-     * @since Series 60 3.1
-     * @param aState State to unset.
-     * @return ETrue if pseudoclass found, EFalse otherwise
-     */
-    TBool UnsetState( const TDesC8& aState );
-
-    /**
-     * Clone the list
-     * 
-     * @since Series 60 3.1
-     * @return Clone of the list
-     */
-    CXnPropertyList* CloneL();
-protected:
-    // New functions
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnPropertyList();
-
-private:
-    
-    /**
-     * Two-phased constructor.
-     * @param aComparator Propety comparator.
-     */
-    void ConstructL();
-
-private:
-    // Data
-    
-    /** Map of property objects. */
-    CXnMap* iMap;
-    /** Currently used pseudoclasses (states) */
-    RArray< CXnDomProperty::TPseudoClass > iCurrentPseudoClasses;
-    };
-
-#endif //__XNPROPERTYLIST_H__
-
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnrootdata.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +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:  Data class to hold application configuration info
-*
-*/
-
-
-#ifndef _XNROOTDATA_H
-#define _XNROOTDATA_H
-
-// System includes
-#include <e32base.h>
-#include <babitflags.h>
-
-// User includes
-#include "xnplugindata.h"
-
-// Forward declarations
-class CXnViewManager;
-class CXnViewData;
-class CXnEcomHandler;
-class CXnODTParser;
-class CXnODT;
-
-/**
- * Holds root data in UiEngine
- * 
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnRootData ) : public CXnPluginData
-    {
-public:    
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     */
-    static CXnRootData* NewL( CXnViewManager& aManager, TUid aApplicationUid );
-
-    /**
-     * Two-phased constructor. Leaving on stack
-     */
-    static CXnRootData* NewLC( CXnViewManager& aManager, TUid aApplicationUid );
-
-    /**
-     * Destructor
-     */
-    ~CXnRootData();
-
-protected:    
-    /**
-     * C++ constructor
-     */
-    CXnRootData( CXnViewManager& aManager, TUid aApplicationUid );
-
-private:
-    // private constructors
-
-    /**
-     * Leaving constructor
-     */
-    void ConstructL();
-
-public:
-    // From CXnPluginData
-    
-    /**
-     * @see CXnPluginData
-     */
-    void LoadL();
-
-    /**
-     * @see CXnPluginData
-     */
-    void Destroy();
-    
-public:
-    // New functions
-        
-    /**
-     * Loads remaining application views
-     */    
-    void LoadRemainingViews();
-
-    /**
-     * Cancels load remaining application views
-     */        
-    void CancelLoadRemainingViews();
-    
-    /**
-     * Gets application active view data
-     * 
-     * @return Active view data
-     */        
-    CXnViewData& ActiveViewData() const;
-
-    /**
-     * Gets previous view data from currently active one
-     * 
-     * @return Previous view data
-     */            
-    CXnViewData& PreviousViewData() const;
-
-    /**
-     * Gets next view data from currently active one
-     * 
-     * @return Next view data
-     */                
-    CXnViewData& NextViewData() const;
-
-    /**
-     * Sets view data to destroyal list
-     *
-     * @param aViewData View data to destroy      
-     */                    
-    void DestroyViewData( CXnViewData* aViewData );
-    
-    /**
-     * Gets ODT 
-     * 
-     * @return ODT
-     */                
-    CXnODT* ODT() const;
-    
-    /**
-     * Gets root node from ODT
-     * 
-     * @return Root node
-     */                
-    CXnNode* RootNode() const;
-              
-    /**
-     * Gets ODT Parser
-     * 
-     * @return ODT Parser
-     */                
-    CXnODTParser& Parser() const;
-    
-    /**
-     * Gets Ecom handler
-     * 
-     * @return Ecom handler
-     */                
-    CXnEcomHandler& EcomHandler() const;
-    
-    /**
-     * Sets maximum pages allowed
-     * 
-     * @param aPages maximum pages 
-     */
-    void SetMaxPages( TInt32 aPages );
-    
-    /**
-     * Get maximum pages allowed
-     * 
-     * @return number of pages allowed
-     */
-    TInt32 MaxPages();
-    
-private:
-    // New functions
-    
-    TBool AllViewsLoaded() const;
-    TBool AllViewsDestroyed() const;
-    
-    static TInt RunLoadL( TAny* aAny );
-    static TInt RunDestroyL( TAny *aAny );
-               
-private:
-    // data
-
-    /** Timer for loading views, Owned */    
-    CPeriodic* iLoadTimer;
-    /** Timer for deleting views, Owned */
-    CPeriodic* iDestroyTimer;
-    /** Application Uid */
-    TUid iApplicationUid;
-    /** ECom handler, Owned */
-    CXnEcomHandler* iEcomHandler;    
-    /** ODT Parser, Owned */
-    CXnODTParser* iParser;
-    /** ODT which describes application configuration, Owned */ 
-    CXnODT* iODT;
-    /** Array of views waiting destruction */
-    RPointerArray< CXnViewData > iViewsToDestroy;    
-    /** Flag to determine remaining view load direction */
-    TBool iLoadForward;
-    /** Maximum of views allowed */
-    TInt32 iMaxPages;
-    };
-
-#endif // _XNROOTDATA_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnscrollablecontroladapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,237 +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:  Scrollable control adapter
-*
-*/
-
-#ifndef __XNSCROLLABLECONTROLADAPTER_H__
-#define __XNSCROLLABLECONTROLADAPTER_H__
-
-//  System includes
-#include <e32base.h>
-#include <coeccntx.h>
-#include <aknphysicsobserveriface.h>
-
-// User includes
-#include "xncontroladapter.h"
-
-// Forward declarations
-class CXnNodePluginIf;
-class CXnUiEngine;
-class CXnNode;
-class CAknPhysics;
-
-// Class declaration
-
-/**
-*  @ingroup group_xnlayoutengine
-*  Scrollable Control adapter interface class
-*  @lib xnlayoutengine.lib
-*  @since Series 60 5.0
-*/
-NONSHARABLE_CLASS( CXnScrollableControlAdapter ) : public CXnControlAdapter, 
-    public MAknPhysicsObserver, public MCoeControlContext, public MCoeControlHitTest
-	{
-	public: // Constructors and destructor
-		/**
-        * Two-phased constructor.
-        */
-		static CXnScrollableControlAdapter* NewL( CXnNodePluginIf& aNode );
-		
-        /**
-        * Destructor.
-        */
-		~CXnScrollableControlAdapter();
-         
-    private: // Functions from base classes    
-
-        /**
-        * see CCoeControl 
-        */
-        void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
-        /**
-        * see CCoeControl 
-        */
-        void Draw(const TRect& aRect) const;        
-        
-        /**
-        * see CCoeControl 
-        */
-        void SizeChanged();
-
-        /**
-        * @see CCoeControl documentation        
-        */         
-        void MakeVisible( TBool aVisible );
-
-        /**
-        * @see MCoeControlHitTest documentation        
-        */ 
-        TBool HitRegionContains( const TPoint& aPoint, const CCoeControl& aControl) const;
-
-        /**
-        * @see CXnControlAdapter documentation        
-        */ 
-        void HandleScreenDeviceChangedL();
-
-    public: // New functions
-        /**
-         * Returns Called when view position changes.
-         *
-         * @param aNewPosition New view position.
-         */
-        const TPoint DeltaPosition() const;
-
-        /**
-         * Reset state.
-         *
-         */
-        void ResetState();
-        
-        /**
-         * Scroll box so that the given node is shown.
-         *
-         */
-        void ShowItem( CXnNode& aNode );
-
-        /**
-         * Layout has changed somewhere. Act if needed.
-         *
-         */
-        void LayoutChangedL();
-        
-    public: // Functions from base classes  
-        /**
-         * From MAknPhysicsObserver.
-         * 
-         * Physics emulation has moved the view.
-         * 
-         * When this method is called client should update its visual and logical
-         * states to reflect the changes caused by view move. Note that if the
-         * parameter @c aDrawNow is @c EFalse client is not allowed to redraw the
-         * display but should only update its logical state.
-         * Physics engine will ensure that the last frame is always drawn.
-         *
-         * @since S60 v5.0
-         *
-         * @param  aNewPosition  The new position of the view.
-         * @param  aDrawNow      @c ETrue if client should redraw the screen,
-         *                       otherwise @c EFalse.
-         * @param  aFlags        Additional flags, not used currently.
-         */
-        void ViewPositionChanged( const TPoint& aNewPosition, 
-            TBool aDrawNow, TUint aFlags );
-
-        /**
-         * From MAknPhysicsObserver.
-         * Called when emulation ended.
-         */
-        void PhysicEmulationEnded();
-    
-        /**
-         * From MAknPhysicsObserver.
-         * Returns the observer view position.
-         *
-         * @return Physics observer view position.
-         */
-        TPoint ViewPosition() const;
-
-        /**
-        * see MCoeControlContext 
-        */
-        void ResetContext( CWindowGc& aGc ) const;
-
-    private: // Constructors
-		/**
-        * C++ default constructor.
-        */
-	    CXnScrollableControlAdapter( CXnNodePluginIf& aNode );
-
-	   	/**
-        * Two-phased constructor.        
-        */ 
-	    void ConstructL();	   
-	    
-    private: // New functions
-        void ReadPropertiesL();
-        void InitPhysicEngineL();
-
-    private:    // Data
-        /**
-         * UiEngine. 
-         * Not owned.
-         */
-        CXnUiEngine*        iUiEngine; 	
-
-        /**
-         * Layout node. 
-         */
-        CXnNodePluginIf&    iNode;
-        
-        /**
-         * Physics. 
-         * Own.
-         */
-        CAknPhysics*        iPhysics;
-
-        /**
-         * Pointer down start time.
-         */
-        TTime               iStartTime;
-
-        /**
-         * Start (pointer down) position.
-         */
-        TPoint              iStartPosition;
-        
-        /**
-         * Position at previous pointer event.
-         */
-        TPoint              iPreviousPosition;
-        
-        /**
-         * Current view position.
-         */
-        TPoint              iCurrentPosition;
-
-        /**
-         * View position at the beginning.
-         */
-        TPoint              iStartViewPosition;
-
-        /**
-         * Current pointer position.
-         */   
-        TPoint              iStylusPosition;
-
-        /**
-         * Visible area, i.e. area of the scollable control that is to be drawn.
-         */          
-        TRect               iViewPort;  
-
-        /**
-         * True, if layout has been changed and engine needs to be reset.
-         */          
-        TBool               iLayoutChanged;
-
-        /**
-         * Direction
-         */                  
-        TInt                iDirection;
-	};
-
-#endif // __XNSCROLLABLECONTROLADAPTER_H__
-
-// End of File
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnuiengineimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,673 +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:  Layout calculation and UI rendering mechanism implementations.
-*
-*/
-
-
-#ifndef _CXNUIENGINEIMPL_H
-#define _CXNUIENGINEIMPL_H
-
-// System includes
-
-// User includes
-#include "xnuistatelistener.h"
-#include "xnviewmanager.h"
-#include "xnmenu.h"
-
-// Forward declarations
-class CCoeControl;
-class CXnControlAdapter;
-class CXnNode;
-class CXnPointerArray;
-class CXnODT;
-class CGraphicsDevice;
-class CXnUiEngine;
-class CXnKeyEventDispatcher;
-class CXnEditor;
-class CXnResource;
-class CXnEditMode;
-class CXnHitTest;
-class CXnViewManager;
-class CXnViewData;
-class CXnPluginData;
-
-// Constants
-namespace XnLayoutPhase
-    {
-    const TInt ENone = 0x00;
-    const TInt ELayout = 0x01;
-    const TInt EMeasure = 0x02;
-    }
-
-namespace XnLayoutControl
-    {
-    const TInt ELayoutUI = 0x01;
-    const TInt ERenderUI = 0x02;
-    const TInt ERefreshMenu = 0x04;
-    const TInt EIgnoreState = 0x08;
-    const TInt EViewDirty = 0x10;
-    const TInt EEffectStarted = 0x20;
-    const TInt EFirstPassDraw = 0x40;
-    }
-	
-NONSHARABLE_STRUCT( TXnDirtyRegion )
-    {
-    RRegion         iRegion;      
-    CCoeControl*    iControl; // Not own.
-    
-    ~TXnDirtyRegion()
-        {
-        iRegion.Close();
-        }
-    };
-        
-
-// Class declaration
-
-/**
- *  Layout calculation and UI rendering mechanism
- *  implementations.
- *  
- *  @ingroup group_xnlayoutengine
- *  @lib xn3layoutengine.lib
- *  @since Series 60 3.1
- */
-NONSHARABLE_CLASS( CXnUiEngineImpl ) : public CBase,     
-    public MXnViewObserver, 
-    public MXnUiResourceChangeObserver,
-    public XnMenuInterface::MXnMenuObserver
-    {
-    
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aUiEngine Ui engine
-     * @param aViewManager View manager
-     */
-    static CXnUiEngineImpl* NewL( CXnUiEngine& aUiEngine,
-        CXnAppUiAdapter& aAdapter );
-
-    /**
-     * 2nd phase constructor 
-     */
-    void ConstructL();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CXnUiEngineImpl();
-
-public:
-    // New functions
-
-    /**
-     * Gets AppUi
-     *
-     * @since S60 5.0     
-     * @return AppUi
-     */    
-    CXnAppUiAdapter& AppUiAdapter() const;
-    
-    /**
-     * Lays out the UI
-     * 
-     * @since Series 60 3.1
-     * @param aNode Starting point of the layout
-     */
-    void LayoutUIL( CXnNode* aNode = NULL );
-
-    /**
-     * Creates UI implementations for the UI, adjusts control coordinates 
-     * according to the layout
-     * 
-     * @since Series 60 3.1
-     * @param aNode Starting point
-     */
-    void RenderUIL( CXnNode* aNode = NULL );
-    
-    /**
-     * Gets the root node of the UI
-     * 
-     * @since Series 60 3.1
-     * @return Root node
-     */
-    CXnNode* RootNode();
-    
-    /**
-     * Gets the ODT
-     * 
-     * @since Series 60 3.1
-     * @return ODT
-     */
-    CXnODT* ODT();
-    
-    /**
-     * Finds a node by id
-     * 
-     * @since Series 60 3.1
-     * @param aNode Node id
-     * @param aNamespace Namespace
-     * @return Node with given id
-     */
-    CXnNode* FindNodeByIdL( const TDesC& aNodeId,
-        const TDesC& aNamespace = KNullDesC );
-    /**
-     * Finds a node by id, b-bit version
-     * 
-     * @since Series 60 3.1
-     * @param aNode Node id
-     * @param aNamespace Namespace
-     * @return Node with given id
-     */
-    CXnNode* FindNodeByIdL( const TDesC8& aNodeId, 
-        const TDesC8& aNamespace = KNullDesC8 );
-    /**
-     * Finds nodes by class
-     * 
-     * @since Series 60 3.1
-     * @param aClassId Class id
-     * @return Nodes with given class id
-     */
-    CXnPointerArray* FindNodeByClassL( const TDesC& aClassId,
-        const TDesC& aNamespace = KNullDesC );
-    
-    /**
-     * Finds nodes by class
-     * 
-     * @since Series 60 3.1
-     * @param aClassId Class id
-     * @return Nodes with given class id
-     */
-    CXnPointerArray* FindNodeByClassL( const TDesC8& aClassId,
-        const TDesC8& aNamespace = KNullDesC8 );
-    
-    /**
-     * Gets resources of the UI
-     * 
-     * @since Series 60 3.1
-     * @return List of resources
-     */
-    CArrayPtrSeg< CXnResource >& Resources();
-    
-    /**
-     * Sets currently focused node
-     * 
-     * @since Series 60 3.1
-     * @param aFocusedNode Currently focused node
-     * @param aSource A source of event that triggered focus change.
-     */
-    void SetFocusedNodeL( CXnNode* aFocusedNode, TInt aSource = 0 );
-    
-    /**
-     * Get currently focused node
-     * 
-     * @since Series 60 3.1
-     * @return Focused node.
-     */
-    CXnNode* FocusedNode();
-
-    /**
-     * Checks if the UI is in Edit mode.
-     * 
-     * @since Series 60 5.0        
-     * @return ETrue if the current mode is edit, otherwise EFalse.
-     */
-    TBool IsEditMode();
-           
-    /**
-     * Get a numeric value of a property in vertical pixels
-     * 
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in vertical pixels
-     */
-    TInt VerticalPixelValueL( CXnProperty* aValue, TInt aReferenceValue );
-    
-    /**
-     * Get a numeric value of a property in horizontal pixels
-     * 
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in horizontal pixels
-     */
-    TInt HorizontalPixelValueL( CXnProperty* aValue, TInt aReferenceValue );
-    
-    /**
-     * Get a numeric value of a property in vertical twips
-     * 
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in vertical twips
-     */
-    TInt VerticalTwipValueL( CXnProperty* aValue, TInt aReferenceValue );
-    
-    /**
-     * Get a numeric value of a property in horizontal twips
-     * 
-     * @since Series 60 3.1
-     * @param aValue Property
-     * @param aReferenceValue Value used for percentage calculation
-     * @return Value in horizontal pixels
-     */
-    TInt HorizontalTwipValueL( CXnProperty* aValue, TInt aReferenceValue );
-
-    /**
-     * Refresh current menu
-     *
-     * @since Series 60 3.1
-     */
-    void RefreshMenuL();
-
-    /**
-     * Returns view manager
-     *
-     * @since S60 5.0
-     * @return view manager
-     */
-    CXnViewManager* ViewManager();
-
-    /**
-     * Returns the active view
-     
-     * @since Series 60 3.1
-     * @return Active view node
-     */
-    CXnNode* ActiveView();
-
-    /**
-     * Add a dirty node. LayoutUiL and RenderUiL will only perform operations
-     * on the set of dirty nodes.
-     *
-     * @since Series 60 3.1
-     * @param aNode Dirty node.
-     * @param aLayoutPhaseHint, a hint where to start next layout phase
-     */
-    void AddDirtyNodeL( CXnNode* aNode, TInt aLevel );
-
-    /**
-     * Get the size of the current screen device
-     *
-     * @since Series 60 3.1
-     * @return Size of the current screen device
-     */
-    TSize ScreenDeviceSize() const;
-
-    /**
-     * Checks whether the dialog is displaying.
-     *
-     * @since Series 60 3.1
-     * @return ETrue if dialog is displaying.
-     */
-    TBool IsDialogDisplaying();
-
-    /**
-     * Handles a change to the control's resources of type aType
-     *
-     * @since Series 60 3.1
-     * @param aType Changed resource type
-     */
-    void HandleResourceChangeL( TInt aType );
-
-    /**
-     * Checks whether the menu is displaying.
-     * 
-     * @since Series 60 3.1
-     * @return ETrue if menu is displaying.
-     */
-    TBool IsMenuDisplaying();
-
-    /**
-     * Returns menubar node
-     * 
-     * @since Series 60 3.2
-     * @return Menubar node
-     */
-    CXnNode* MenuBarNode() const;
-
-    /**
-     * Returns stylus popup node
-     * 
-     * @since S60 60 5.0
-     * @return stylus popup node
-     */    
-    CXnNode* StylusPopupNode() const;
-    
-    /**
-     * Set node as passive, and add it to the passive focused node array.
-     * 
-     * @since Series 60 3.2
-     * @param aNode Node to use.
-     */
-    void AddPassiveFocusedNodeL( CXnNode* aNode );
-
-    /**
-     * Unset the passive focus from the node, and remove it from the passive 
-     * focused node array.
-     * 
-     * @since Series 60 3.2
-     * @param aNode Node to use.
-     */
-    void RemovePassiveFocusedNodeL( CXnNode* aNode );
-
-    /**
-     * Clear the passive focused node array, and unset the passive focus 
-     * states.
-     * 
-     * @since Series 60 3.2
-     */
-    void ClearPassiveFocusedNodesL();
-
-    /**
-     * Sets node's dropped state
-     * 
-     * @since Series 60 3.2
-     * @param aNode Node
-     * @param aDropped Dropped
-     */
-    void SetNodeDroppedL( CXnNode& aNode, TInt aDropped ) const;
-
-    /**
-     * Checks if node is adaptive, but doesn't have any content
-     * 
-     * @since Series 60 3.2
-     * @param aNode node
-     * @param aAvailableSize size to be checked
-     */
-    void CheckAdaptiveContentL( CXnNode& aNode, TSize aAvailableSize ) const;
-
-    /**
-     * Adds a node which can be focused
-     * 
-     * @since Series 60 3.2
-     * @param aNode Node
-     */
-    void AddFocusCandidateL( CXnNode* aNode );
-
-    /**
-     * Sets client rect
-     * 
-     * @since Series 60 3.2
-     * @param aRect area to be set
-     * @param aDrawNow Call rendering routines if ETrue
-     */
-    void SetClientRectL( TRect aRect, TBool aDrawNow = ETrue );
-    
-    /**
-     * Fetch editor to operate on AI3 widgets.
-     * 
-     * @since Series 60 5.0
-     * @return Pointer to Editor
-     */
-    CXnEditor* Editor() const;
-    
-    /**
-     * Gets client rect
-     * 
-     * @since Series 60 3.2
-     * @return client rect
-     */
-    TRect ClientRect() const;
-
-    /**
-     * Gets pointer to edit mode storage.
-     * 
-     * @since Series 60 5.0
-     * @return edit mode storage
-     */
-    CXnEditMode* EditMode();
-
-    /**
-     * Get current view plugins nodes.
-     * 
-     * @since Series 60 5.0
-     * @return Pointer to plugin node array
-     */
-    RPointerArray< CXnNode >* Plugins();
-
-    /**
-     * Gets hit test
-     * 
-     * @since S60 5.1         
-     * @return the hittest
-     */
-    CXnHitTest& HitTest() const;
-
-    /**
-     * Positions stylus popup according given position
-     * 
-     * @since S60 5.1         
-     * @param aNode stylus popup node
-     * @param aReference a reference node where popup should fit
-     * @param aPosition stylus popup position to set. 
-     */
-    void PositionStylusPopupL( CXnNode& aNode, CXnNode& aReference,
-        const TPoint& aPosition );
-
-    /**
-     * Gets theme resource file
-     * 
-     * @since S60 5.1         
-     * @param aPath path from which file is found
-     * @param aFile file to which resource is set
-     * @return errorcode
-     */
-    TInt GetThemeResource( const TDesC& aPath, RFile& aFile );
-
-    /**
-     * Analyse added widget
-     * 
-     * @since S60 5.1
-     * @param aNode Widget to be analyzed
-     * @return ETrue if fits, EFalse otherwise
-     */
-    TBool AnalyseAddedWidgetL( CXnNode& aNode );
-        
-    /**
-     * Disables layoyt and redraw, places cleanup item to cleanup stack
-     * for enabling layot and redraw
-     * 
-     * @since Series 60 5.0     
-     */                        
-    void DisableRenderUiLC();
-    
-    /**
-     * Set event dispatcher
-     * 
-     * @since Series 60 5.0
-     * @param aDispather Event dispatcher     
-     */                    
-    void SetEventDispatcher( CXnKeyEventDispatcher* aDispatcher );
-    
-private:
-    
-    IMPORT_C static void EnableRenderUi( TAny* aAny );
-        
-private:
-    // constructors
-
-    /**
-     * C++ default constructor.
-     */
-    CXnUiEngineImpl( CXnUiEngine& aUiEngine, CXnAppUiAdapter& aAdapter );
-
-private:
-    // new functions
-    
-    /**
-     * Prepares to the layout algorithm run
-     * 
-     * @since Series 60 3.2
-     */
-    void PrepareRunLayoutL();
-
-    /**
-     * Runs the layout algorithm        
-     * 
-     * @since Series 60 3.2
-     */
-    TInt RunLayoutL( CXnNode* aNode );
-
-    /**
-     * Checks if layout is currently disabled
-     * 
-     * @since Series 60 3.2
-     */
-    TBool IsLayoutDisabled();
-
-    void AddToRedrawListL( CXnNode* aNode, TRect aRect =
-        TRect::EUninitialized );
-
-    void AddToDirtyListL( CXnNode* aNode );
-
-    /**
-     * Finds a node where to start layout
-     *
-     * @since Series 60 5.0
-     */
-    CXnNode* StartLayoutFromL();
-
-    void ForceRenderUIL( TBool aLayoutOnly = EFalse );
-
-    CCoeControl* WindowOwningControl( CXnNode& aNode );
-    
-    TXnDirtyRegion* FindDirtyRegionL( CXnNode& aNode );
-
-    void AddRedrawRectL( TRect aRect, CXnNode& aNode );
-
-    void ReportScreenDeviceChangeL();
-	
-private:
-    //Derived functions
-    
-    /** 
-     * from MXnViewObserver 
-     */
-    void NotifyViewActivatedL( const CXnViewData& aViewData );
-
-    /** 
-     * from MXnViewObserver
-     */
-    void NotifyViewDeactivatedL( const CXnViewData& /*aViewData*/ );
-
-    /**
-     * from MXnViewObserver 
-     */
-    void NotifyConfigureWidgetL( const CHsContentInfo& /*aContentInfo*/,
-        CXnPluginData& /*aPluginData*/ );
-    
-    /** 
-     * from MXnViewObserver 
-     */
-    void NotifyWidgetAdditionL( const CXnPluginData& aPluginData );
-
-    /** 
-     * from MXnViewObserver
-     */
-   void NotifyWidgetRemovalL( const CXnPluginData& /*aPluginData*/ );
-
-   /** 
-    * from MXnViewObserver 
-    */
-   void NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ ){};
-
-   /** 
-    * from MXnViewObserver
-    */
-  void NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ ){};
-
-private:
-    // from MXnMenuObserver
-
-    TBool DynInitMenuItemL( CXnNodeAppIf& aMenuItem, CXnNodeAppIf* aPlugin = NULL );
-
-private:
-    // from MXnPropertyChangeObserver
-
-    /**
-     * Property changed
-     * 
-     * @since S60 5.1         
-     * @param aKey key value
-     * @param aValue property value         
-     */
-    void PropertyChangedL( const TUint32 aKey, const TInt aValue );
-
-private:
-    // from MXnUiResourceChangeObserver
-    
-    /**
-     * @see MXnUiResourceChangeObserver
-     */
-    void NotifyStatusPaneSizeChanged();
-
-    /**
-     * @see MXnUiResourceChangeObserver
-     */
-    void NotifyResourceChanged( TInt aType );
-    
-private:
-    // Data               
-    
-    /** Current screen device, Owned */
-    CGraphicsDevice* iCurrentGraphicsDevice;
-    /** UI engine - received from constructor's input parameters, Not owned */
-    CXnUiEngine* iUiEngine;
-    /** AppUi, Not owned */
-    CXnAppUiAdapter& iAppUiAdapter;    
-    /** Not owned. View manager */
-    CXnViewManager& iViewManager;
-    /** Key event dispatcher, Not owned */
-    CXnKeyEventDispatcher* iKeyEventDispatcher;
-    /** ControlAdapters, not owned */
-    const RPointerArray< CXnControlAdapter >* iControlAdapterList;
-    /** Region pending redraw */
-    RPointerArray<TXnDirtyRegion> iRedrawRegions;
-    /** List of currently dirty nodes */
-    RPointerArray< CXnNode > iDirtyList;
-    /** Array of nodes which can be focused */
-    RPointerArray< CXnNode > iFocusCandidateList;
-    /** current view */
-    CXnNode* iCurrentView;
-    /** current view control adapter, not owned */
-    CXnControlAdapter* iCurrentViewControlAdapter;
-    /** Controls layouting */
-    TInt iLayoutControl;
-    /** Layout algo phase */
-    TInt iLayoutPhase;
-    /** Unit in pixels (width). */
-    TReal iHorizontalUnitInPixels;
-    /** Unit in pixels (height). */
-    TReal iVerticalUnitInPixels;
-    /** Cached menu node	*/	
-    CXnNode* iMenuNode;
-    /** Cached styluspopup node */
-    CXnNode* iStylusPopupNode;
-    /** Drawing area */
-    TRect iClientRect;
-    /** Owned. Edit mode storage; */
-    CXnEditMode* iEditMode;
-    /** Owned. hittest */
-    CXnHitTest* iHitTest;
-    /** Disable count */
-    TInt iDisableCount;   
-    };
-
-#endif      // _CXNUIENGINEIMPL_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnuistatelistener.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +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:
-* Xuikon UI state controller
-*
-*/
-
-#ifndef XNUISTATELISTENER_H
-#define XNUISTATELISTENER_H
-
-// System includes
-#include <e32base.h>
-#include <hwrmlight.h>
-#include <eikspane.h>
-
-// User includes
-#include "xnpropertysubscriber.h"
-
-// Forward declarations
-class CXnAppUiAdapter;
-
-// Constants
-
-// Class declaration
-/**
- * UI resource change observer interface
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( MXnUiResourceChangeObserver )
-    {
-public:
-    /**
-     * Notifies statuspane is changed.
-     * 
-     * @since S60 5.0
-     */
-    virtual void NotifyStatusPaneSizeChanged() = 0;
-
-    /**
-     * Notifies resource changes
-     * 
-     * @since S60 5.0
-     * @param aType Resource type
-     */
-    virtual void NotifyResourceChanged( TInt aType ) = 0;    
-        
-    /**
-     * Notifies HW flip/slide status changes
-     * 
-     * @since S60 5.0
-     * @param aStatus flip/slide status     
-     */
-    /* virtual void NotifyFlipStatusChangedL( TInt aStatus ) = 0;*/
-    };
-
-// Class declaration
-/**
- * UI state observer interface
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( MXnUiStateObserver )
-    {
-public:
-    // new types
-    enum TForegroundStatus
-        {
-        EUnknown,
-        EBackground,
-        EForeground,
-        EPartialForeground,        
-        };
-public:
-    /**
-     * Notifies foreground changes
-     *
-     * @since S60 5.0    
-     * @param aState Foreground state
-     */
-    virtual void NotifyForegroundChanged( 
-            TForegroundStatus aStatus ) = 0;
-    
-    /**
-     * Notifies primary display light status is changed.
-     * 
-     * @since S60 5.0
-     * @param aLightsOn ETrue if lights on, EFalse otherwise 
-     */
-    virtual void NotifyLightStatusChanged( TBool aLightsOn ) = 0;
-        
-    /**
-     * Notifies in-call state is changed.
-     * 
-     * @since S60 5.0
-     * @param aInCall ETrue if in-call on, EFalse otherwise
-     */
-    virtual void NotifyInCallStateChaged( TBool aInCall ) = 0;    
-    };
-
-/**
- * UI state listener
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnUiStateListener ) : public CBase,    
-    public MCoeMessageMonitorObserver,
-    public MEikStatusPaneObserver,
-    public MHWRMLightObserver,
-    public MXnPropertyChangeObserver    
-    {    
-private:
-    // friend classes
-    friend class CXnAppUiAdapterImpl;
-    
-public:
-    /**
-     * Two-phased constructor.
-     */
-    static CXnUiStateListener* NewL( CXnAppUiAdapter& aAdapter );
-    static CXnUiStateListener* NewLC( CXnAppUiAdapter& aAdapter );
-
-    /**
-     * Destructor.
-     */
-    ~CXnUiStateListener();
-
-private:
-    /**
-     * 2nd phase construtor
-     */    
-    void ConstructL();
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnUiStateListener( CXnAppUiAdapter& aAdapter );
-
-public:
-    // New functions
-    
-    /*
-     * Adds MXnUiStateObserver
-     * 
-     * @since S60 5.0
-     * @param aObserver Observer to add 
-     */
-    void AddObserver( const MXnUiStateObserver& aObserver );
-    
-    /*
-     * Removes MXnUiStateObserver
-     * 
-     * @since S60 5.0
-     * @param aObserver Observer to remove 
-     */    
-    void RemoveObserver( const MXnUiStateObserver& aObserver );
-
-    /*
-     * Adds MXnUiResourceChangeObserver
-     * 
-     * @since S60 5.0
-     * @param aObserver Observer to add 
-     */
-    void AddObserver( const MXnUiResourceChangeObserver& aObserver );
-    
-    /*
-     * Removes MXnUiResourceChangeObserver
-     * 
-     * @since S60 5.0
-     * @param aObserver Observer to remove 
-     */    
-    void RemoveObserver( const MXnUiResourceChangeObserver& aObserver );
-    
-public:
-    void SetEditModeActive( TBool aActive );
-    
-private:
-    // New functions
-    void HandleResourceChangeL( TInt aType );
-    
-private:
-    // from MCoeMessageMonitorObserver
-    void MonitorWsMessage( const TWsEvent& aEvent );
-
-private:
-    // from MEikStatusPaneObserver
-    void HandleStatusPaneSizeChange();
-
-private:
-    // from MHWRMLightObserver
-    void LightStatusChanged( TInt aTarget, CHWRMLight::TLightStatus aStatus ); 
-                                        
-private:    
-    // from MXnPropertyChangeObserver    
-    void PropertyChangedL( const TUint32 aKey, const TInt aValue );
-
-private:
-    // Data    
-
-    // AppUi, not owned */
-    CXnAppUiAdapter& iAppUiAdapter;    
-    /** Light status observer, Owned */
-    CHWRMLight* iLightObserver;    
-    /** Publish&Subscribe observer for call state, Owned */
-    CXnPropertySubscriber* iCallStateObserver;       
-    /** MXnUiStateObservers, Not owned */
-    RPointerArray< MXnUiStateObserver > iUiStateObservers;
-    /** MXnUiResourceChangeObservers, Not owned */
-    RPointerArray< MXnUiResourceChangeObserver > iResourceChangeObservers;
-    /** Foreground status */
-    MXnUiStateObserver::TForegroundStatus iForegroundStatus;
-    /** Light status */
-    CHWRMLight::TLightStatus iLightStatus;
-    /** In-call state */
-    TBool iInCallState;
-    /** Last received foreground message */
-    TInt iForegroundType;
-    };
-
-#endif // XNUISTATELISTENER_H
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnviewadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +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: Xuikon view adapter header file
-*
-*/
-
-#ifndef XNVIEWADAPTER_H
-#define XNVIEWADAPTER_H
-
-// System includes
-#include <aknview.h>
-#include <babitflags.h>
-
-// User includes
-#include "xnuistatelistener.h"
-
-// Forward declarations
-class CXnNode;
-class CXnViewData;
-class CXnViewManager;
-class CXnAppUiAdapter;
-class CXnControlAdapter;
-class CXnKeyEventDispatcher;
-class CXnBgControl;
-class CXnBackgroundManager;
-class CXnFocusControl;
-
-// Class declaration
-/**
- * Adapts Xuikon view to Avkon view facilities.
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnViewAdapter ) : public CAknView,  
-    public MXnUiStateObserver
-    {
-private:
-    // friend classes
-    friend class CXnViewManager;
-    
-public:
-    /**
-     * Two-phase constructor
-     */
-    static CXnViewAdapter* NewL( CXnAppUiAdapter& aAdapter );
-
-    /**
-     * Destructor.
-     */
-    ~CXnViewAdapter();
-    
-public:
-    // new functions
-
-    /**
-     * Flushes view's internals, called when appplication UI is reloaded.
-     * 
-     * @since S60 5.0
-     */
-    void ReloadUiL();
-
-    /**
-     * Notifies view it will be destroyed
-     * 
-     * @since S60 5.0
-     */    
-    void PrepareDestroy();
-
-    /**
-     * Gets event dispatcher
-     * 
-     * @since S60 5.0
-     * @return Event dispatcher
-     */
-    CXnKeyEventDispatcher* EventDispatcher() const;
-    
-    /**
-     * Gets bg control
-     * 
-     * @since S60 5.0
-     * return Bg control
-     */        
-    CCoeControl& BgControl() const;
-
-    /**
-     * Gets background manager
-     * 
-     * @since S60 5.0
-     * return Background manager
-     */        
-    CXnBackgroundManager& BgManager() const;
-
-    /**
-     * Gets focus control
-     * 
-     * @since S60 5.0
-     * return Focus control
-     */        
-    CXnFocusControl& FocusControl() const;  
-	
-	 /**
-     * updates rsk by mode
-     * 
-     * @since S60 5.0
-     */  
-	    void UpdateRskByModeL();  
-    
-public:
-    // from CAknView
-
-    /**
-     * @see CAknView
-     */
-    TUid Id() const;
-
-private:
-    // from CAknView
-    
-    /**
-     * @see CAknView
-     */
-    void DoActivateL(
-        const TVwsViewId &aPrevViewId,
-        TUid aCustomMessageId,
-        const TDesC8 &aCustomMessage );
-
-    /**
-     * @see CAknView
-     */
-    void DoDeactivate();
-
-private:
-    // from MXnUiStateObserver
-    
-    /**
-     * @see MXnUiStateObserver
-     */
-    void NotifyForegroundChanged( 
-        MXnUiStateObserver::TForegroundStatus aStatus ); 
-            
-    /**
-     * @see MXnUiStateObserver
-     */
-    void NotifyLightStatusChanged( TBool aLightsOn );
-        
-    /**
-     * @see MXnUiStateObserver
-     */
-    void NotifyInCallStateChaged( TBool aInCall );
-        
-private:
-    // new functions
-
-    /**
-     * Changes current container's controls state.
-     * 
-     * @since S60 5.0
-     * @param aAwake ETrue if controls should exit from powersavemode, 
-     *               EFalse if controls should enter to powersavemode.
-     */
-    void ChangeControlsStateL( TBool aAwake );
-    
-    /**
-     * Activates new container ro view. 
-     * Deactivates internally previous container if it exists.
-     * This is always called from DoActivateL or from CXnViewManager.
-     * 
-     * @since S60 5.0
-     * @param aContainer Container to activate
-     * @param aEnterEditState ETrue if activated container should be set to edit state.
-     */
-    void ActivateContainerL( CXnViewData& aContainer, 
-        TBool aEnterEditState = EFalse );
-
-    /**
-     * Deactivates the current container from view.      
-     * 
-     * @since S60 5.0               
-     */    
-    void DeactivateContainerL();
-    
-private:
-
-    /**
-     * C++ Constructor
-     **/
-    CXnViewAdapter( CXnAppUiAdapter& aAdapter );
-
-    /**
-     * Two-phased constructor.
-     */
-    void ConstructL();
-
-private:
-    // Data
-
-    /** AppUi, Not owned */
-    CXnAppUiAdapter& iAppUiAdapter;
-    /** Bg control, Owned */
-    CXnBgControl* iBgControl;
-    /** Background manager, Owned */
-    CXnBackgroundManager* iBgManager;
-    /** Focus control, Owned */
-    CXnFocusControl* iFocusControl;
-    /* Event dispatcher, Owned */
-    CXnKeyEventDispatcher* iEventDispatcher;
-    /* Activate trigger, Owned */
-    CXnNode* iActivate;
-    /* Deactivate trigger, Owned */
-    CXnNode* iDeactivate;
-    /** EditState trigger, Owned */
-    CXnNode* iEditState;
-    /** Active container, Not owned */
-    const CXnViewData* iContainer;
-    /** Flags */
-    TBitFlags32 iFlags; 
-    };
-
-#endif // XNVIEWADAPTER_H
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnviewdata.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +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:  Data class to hold widget info
-*
-*/
-
-
-#ifndef _XNVIEWDATA_H
-#define _XNVIEWDATA_H
-
-// User inlcudes
-#include "xnplugindata.h"
-
-// Forward declarations
-class CXnViewManager;
-class CFbsBitmap;
-
-// Constants
-
-// Class declaration
-
-/**
- * Holds view data in UiEngine
- * 
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnViewData ) : public CXnPluginData
-    {
-public:
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     */
-    static CXnViewData* NewL( CXnPluginData& aParent );
-    static CXnViewData* NewLC( CXnPluginData& aParent );
-
-    ~CXnViewData();
-
-private:
-    // private constructors
-    
-    CXnViewData( CXnPluginData& aParent );
-    void ConstructL();
-
-public:
-    // From CXnPluginData
-    
-    /**
-     * @see CXnPluginData           
-     */    
-    void LoadL();
-
-    /**
-     * @see CXnPluginData           
-     */    
-    void Destroy();
-            
-    /**
-     * @see CXnPluginData           
-     */    
-    void ResourcesL( CArrayPtrSeg< CXnResource >& aList ) const;
-    
-    /**
-     * @see CXnPluginData           
-     */    
-    void ControlsL( RPointerArray< CXnControlAdapter >& aList ) const;
-    
-    /**
-     * @see CXnPluginData           
-     */    
-    void ContentSourceNodesL( RPointerArray< CXnNode >& aList ) const;
-    
-    /**
-     * @see CXnPluginData           
-     */    
-    void InitialFocusNodesL( RPointerArray< CXnNode >& aList ) const;
-    
-    /**
-     * @see CXnPluginData           
-     */    
-    void AppearanceNodesL( RPointerArray< CXnNode >& aList ) const;
-    
-    /*
-     * @see CXnPluginData
-     */        
-    void LoadDataPluginsL();    
-
-    /*
-     * @see CXnPluginData
-     */            
-    void DataPluginsLoadCompletedL( TInt aStatus );
-    
-    /*
-     * @see CXnPluginData
-     */    
-    void DestroyDataPluginsL();
-    
-    /*
-     * @see CXnPluginData
-     */
-    TBool DataPluginsLoaded() const;
-    
-public:   
-    // New functions
-    
-    /**
-     * Sets viewdata to active/ not active
-     * 
-     * @param aActive ETrue active, EFalse not active
-     */
-    void SetActiveL( TBool aActive );
-    
-    /**
-     * Returns if active or not
-     * 
-     * @return ETrue active, EFalse otherwise
-     */
-    inline TBool Active() const;
-
-    /**
-     * Sets viewdata to be initial         
-     */    
-    inline void SetInitial();
-
-    /**
-     * Returns if initial or not
-     * 
-     * @return ETrue initial, EFalse otherwise
-     */
-    inline TBool Initial() const;
-    
-    /**
-     * Sets focused node
-     * 
-     * @param aNode Focused node
-     */
-    inline void SetFocusedNode( CXnNode* aNode );
-    
-    /**
-     * Returns focused node
-     * 
-     * @return focused node
-     */
-    inline CXnNode* FocusedNode() const;
-
-    /**
-     * Sets this view data to use empty widget
-     * 
-     * @param aUse ETrue use, EFalse don't use
-     */    
-    inline void SetUseEmptyWidget( TBool aUse );
-
-    /**
-     * Returns whether empty widget is in use in this view
-     * 
-     * @return ETrue if empty widget is used, EFalse otherwise
-     */        
-    inline TBool UseEmptyWidget() const;
-        
-    /**
-     * Finds and reurns plugin/view data for node
-     * 
-     * @param aNode Node
-     * @return Plugin data
-     */
-    CXnPluginData& Plugin( CXnNode* aNode );
-
-    /**
-     * Finds and reurns plugin/view data for namespace
-     * 
-     * @param aNamespace Namespace
-     * @return Plugin data
-     */
-    CXnPluginData* Plugin( const TDesC8& aNamespace );
-    
-    /**
-     * Gets view data's plugin nodes
-     * 
-     * @param aList Data returned in list
-     */    
-    void PluginNodesL( RPointerArray< CXnNode >& aList ) const;
-
-    /**
-     * return view data's view node
-     * 
-     * @return View node
-     */
-    CXnNode* ViewNode() const;
-
-    /**
-     * Set wallpaper image. Ovnership is transferred.
-     * 
-     * @param aBitmap Background image file name.
-     */
-    void SetWallpaperImage( CFbsBitmap* aBitmap );
-
-    /**
-     * Get background image. Ovnership is NOT transferred. 
-     * 
-     * @return Pointer to background image. 
-     *         Returns NULL if image has not been set.
-     */
-    CFbsBitmap* WallpaperImage() const;
-
-    /**
-     * Set path of the wallpaper image.
-     * 
-     * @param aFileName Image path, including file name.
-     */
-    void SetWallpaperImagePathL( const TDesC& aFileName );
-    
-    /**
-     * Get the path of wallpaper image.
-     * 
-     * @return Image path, including file name. 
-     *         Returns KNullCDes if wallpaper has not been set.
-     */
-    const TDesC& WallpaperImagePath() const;
-
-    /**
-     * Sets view's locking_status attribute (locked/none) to determine if view
-     * is prevented from removing/deleting or not
-     * 
-     * @param aLockingStatusString attr. locking_status ("locked"/"none")
-     */
-    void SetLockingStatus( const TDesC8& aLockingStatusString );
-    
-private:
-    // data                              
-    
-    /** Focused Node, Not owned */
-    CXnNode* iFocusedNode;
-
-    /** Pointer to wallpaper image, Owned */    
-    CFbsBitmap* iBgImage;
-    
-    /** Path of the wallpaper image, including filename */    
-    HBufC* iBgImagePath;
-    };
-
-#include "xnviewdata.inl"
-
-#endif // _XNVIEWDATA_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnviewdata.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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:  Data class to hold view info - inline functions
-*
-*/
-
-
-#ifndef _XNVIEWDATA_INL_
-#define _XNVIEWDATA_INL_
-
-// ---------------------------------------------------------------------------
-// Returns if active or not
-// ---------------------------------------------------------------------------
-//
-inline TBool CXnViewData::Active() const
-    {
-    return ( iFlags.IsSet( EIsActive ) ? ETrue : EFalse );
-    };
-
-// ---------------------------------------------------------------------------
-// Sets viewdata to be initial
-// ---------------------------------------------------------------------------
-//
-inline void CXnViewData::SetInitial() 
-    {
-    iFlags.Set( EIsInitial );
-    };
-
-// ---------------------------------------------------------------------------
-// Returns if initial or not
-// ---------------------------------------------------------------------------
-//
-inline TBool CXnViewData::Initial() const 
-    {
-    return ( iFlags.IsSet( EIsInitial ) ? ETrue : EFalse );
-    };
-
-// ---------------------------------------------------------------------------
-// Sets focused node
-// ---------------------------------------------------------------------------
-//
-inline void CXnViewData::SetFocusedNode( CXnNode* aNode )
-    {
-    iFocusedNode = aNode;
-    };
-
-// ---------------------------------------------------------------------------
-// Returns focused node
-// ---------------------------------------------------------------------------
-//
-inline CXnNode* CXnViewData::FocusedNode() const
-    {
-    return iFocusedNode;
-    };
-
-// ---------------------------------------------------------------------------
-// Sets to use empty widget
-// ---------------------------------------------------------------------------
-//
-inline void CXnViewData::SetUseEmptyWidget( TBool aUse )
-    {
-    if( aUse )
-        {
-        iFlags.Set( EUseEmpty );        
-        }
-    else
-        {
-        iFlags.Clear( EUseEmpty );        
-        }    
-    };
-
-// ---------------------------------------------------------------------------
-// Returns whether to use empty widget
-// ---------------------------------------------------------------------------
-//
-inline TBool CXnViewData::UseEmptyWidget() const
-    {
-    return ( iFlags.IsSet( EUseEmpty ) ? ETrue : EFalse );
-    };
-
-#endif // _XNVIEWDATA_INL_ 
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnviewsnodeimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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:  Views node implementation
-*
-*/
-
-
-#ifndef __XNVIEWSNODEIMPL_H__
-#define __XNVIEWSNODEIMPL_H__
-
-// System includes
-#include    <e32base.h>
-
-// User includes
-#include    "xnnodeimpl.h"
-
-// Forward declarations
-class CXnType;
-class CXnComponent;
-
-// Class declaration
-
-/**
- *  Implementation of views node.
- *  
- *  @ingroup group_xnlayoutengine
- *  @lib xn3layoutengine.lib
- *  @since Series 60 3.1
- */
-class CXnViewsNodeImpl : public CXnNodeImpl
-    {
-public:
-    // Constructors and destructor
-    
-    /**
-     * Two-phased constructor.
-     *
-     * @param aType Type.
-     */
-    IMPORT_C static CXnViewsNodeImpl* NewL( CXnType* aType );
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CXnViewsNodeImpl();
-
-public:
-    // New functions
-    
-    /**
-     * Gets the component associated with the node impl
-     * 
-     * @since Series 60 3.1
-     * @return Component associated with the node impl
-     */
-    IMPORT_C CXnComponent* Component();
-
-    /**
-     * Sets the component associated with the node impl
-     * 
-     * @since Series 60 3.1
-     * @param aComponent Component associated with the node impl
-     */
-    IMPORT_C void SetComponent( CXnComponent* aComponent );
-
-protected:
-    
-    /**
-     * C++ default constructor.
-     */
-    IMPORT_C CXnViewsNodeImpl();
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aType Type.
-     */
-    IMPORT_C void ConstructL( CXnType* aType );
-
-private:
-    // Data    
-    
-    /** Component associated with the node impl */
-    CXnComponent* iComponent;
-    };
-
-#endif // __XNVIEWSNODEIMPL_H__
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnwallpapercontainer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +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:  Wallpaper view's container.
-*
-*/
-
-
-
-#ifndef XNWALLPAPERCONTAINER_H
-#define XNWALLPAPERCONTAINER_H
-
-//  INCLUDES
-#include <coecntrl.h>
-#include <AknsBasicBackgroundControlContext.h>
-
-// CLASS DECLARATION
-
-/**
-*  Wallpaper container.
-*  Contains wallpaper setting items.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CXnWallpaperContainer ) : public CCoeControl
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @return new instance of CXnWallpaperContainer.
-     */
-    static CXnWallpaperContainer* NewL();
-    
-    /**
-     * Destructor.
-     */
-    ~CXnWallpaperContainer();
-    
-    /**
-     * From CCoeControl
-     */
-    void Draw( const TRect& aRect ) const;
-     
-private:
-    /**
-     * From CCoeControl
-     */
-    virtual void SizeChanged();
-    
-    /**
-     * From CCoeControl
-     */
-    virtual void HandleResourceChange(TInt aType);
-    
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnWallpaperContainer();
-
-private:
-    /**
-     * Background context.
-     * Own.
-     */
-    CAknsBasicBackgroundControlContext* iBgContext;
-    };
-
-#endif      // XNWALLPAPERCONTAINER_H  
-            
-// End of File
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnwallpaperview.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +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:  Wallpaper view. View is used to get skin background
-*               to image selection grid.
-*
-*/
-
-
-
-#ifndef CXNWALLPAPERVIEW_H
-#define CXNWALLPAPERVIEW_H
-
-//  INCLUDES
-#include <aknview.h>
-
-class CXnWallpaperContainer;
-class CXnUiEngine;
-class TVwsViewId;
-class CPeriodic;
-
-// CONSTANTS
-const TUid KWallpaperViewUid = { 0x200286DB };
-
-/**
-*  Data structure to be used with timer callback.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_STRUCT( TXnWallpaperViewData )
-    {
-    TBool iMultiple;
-    TUid iAppUid;
-    TUid iViewUid;
-    CPeriodic* iTimer; // Not own.
-    };
-
-// CLASS DECLARATION
-
-/**
-*  Wallpaper view.
-*  Possible to define current Idle background image.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CXnWallpaperView ) : public CAknView 
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * @return new instance of CXnWallpaperView.
-     */
-    static CXnWallpaperView* NewL( CXnUiEngine& aEngine );
-
-    /**
-     * Destructor.
-     */
-    ~CXnWallpaperView();
-
-    /**
-     * From CAknView.
-     * Returns view id.
-     * @return An unsigned integer (view id).
-     */
-    TUid Id() const;
-
-private:
-
-    /* From CAknView. */
-    void DoActivateL(
-        const TVwsViewId& aPrevViewId,
-        TUid aCustomMessageId,
-        const TDesC8& aCustomMessage );
-    
-    /* From CAknView. */
-    void DoDeactivate();
-    
-    /**
-     * C++ default constructor.
-     */
-    CXnWallpaperView( CXnUiEngine& aEngine );
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-    /**
-     * Callback function to be used with CPeriodic.
-     */
-    static TInt TimerCallbackL( TAny *aPtr );
-
-private: // data
-
-    /**
-     * Wallpaper container.
-     * Own.
-     */
-    CXnWallpaperContainer* iContainer;
-    
-    /**
-     * Reference to uiengine.
-     */
-    CXnUiEngine& iEngine;
-    
-    /**
-     * Data structure, that is transferred to TimerCallback.
-     */
-    TXnWallpaperViewData iData;
-    
-    /**
-     * Periodic timer.
-     * Own.
-     */
-    CPeriodic* iTimer;
-
-    };
-
-#endif      // CXNWALLPAPERVIEW_H
-
-// End of File
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  Widget extension adapter
-*
-*/
-
-#ifndef __XNWIDGETEXTENSIONADAPTER_H__
-#define __XNWIDGETEXTENSIONADAPTER_H__
-
-//  INCLUDES
-#include "xncontroladapter.h"
-#include <e32base.h>
-
-// Forward declarations
-class CXnAppUiAdapter;
-class CXnNode;
-class CXnUiEngine;
-
-// CLASS DECLARATION
-
-/**
-*  @ingroup group_xnlayoutengine
-*  Popup Control adapter interface class
-*  @lib xnlayoutengine.lib
-*  @since Series 60 5.0
-*/
-NONSHARABLE_CLASS( CXnWidgetExtensionAdapter ) : public CXnControlAdapter/*, 
-    public MCoeMessageMonitorObserver*/
-    {
-    public: // Constructors and destructor
-
-        enum TPositionHint
-               {
-               ENone,
-               EAboveLeft,
-               EAboveRight,
-               EBelowLeft,
-               EBelowRight,
-               ELeft,
-               ERight
-               };
-        /**
-        * Two-phased constructor.
-        */
-		static CXnWidgetExtensionAdapter* NewL( CXnNodePluginIf& aNode );
-		
-        /**
-        * Destructor.
-        */
-		~CXnWidgetExtensionAdapter();
-         
-    private: // Functions from base classes    
-        /**
-        * @see CCoeControl documentation        
-        */         
-        void MakeVisible( TBool aVisible );
-
-        /**
-        * see CCoeControl 
-        */
-        void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
-        /**
-        * see CCoeControl 
-        */
-        void Draw(const TRect& aRect) const;        
-
-    private: // Constructors
-		/**
-        * C++ default constructor.
-        */
-	    CXnWidgetExtensionAdapter( CXnNodePluginIf& aNode );
-
-	   	/**
-        * Two-phased constructor.        
-        */ 
-	    void ConstructL();	   
-	    
-    private: // New functions
-        /**
-        * Hides this control
-        */ 
-        void HidePopupL();
-            
-        void CalculatePosition();
-        
-    private:
-        
-        // Data
-        // UiEngine, not owned
-        CXnUiEngine* iUiEngine; 	
-        
-        // Node 
-        CXnNodePluginIf& iNode;
-        
-        // position hint
-        TPositionHint iPositionHint;
-        
-        CXnAppUiAdapter* iAppUiAdapter;
-
-
-	};
-
-#endif // __XNWIDGETEXTENSIONADAPTER_H__
-
-// End of File
--- a/idlehomescreen/xmluirendering/uiengine/src/xnapplication.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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:  Base class of all Xuikon-based applications
-*
-*/
-
-// INCLUDE FILES
-#include "xnapplication.h"
-#include "xndocument.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnApplication::CXnApplication
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnApplication::CXnApplication( TUid aApplicationUid )
-    {
-    iApplicationUid = aApplicationUid;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnApplication::~CXnApplication()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnApplication::AppDllUid
-// Returns the application uid.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CXnApplication::AppDllUid() const
-    {
-    return iApplicationUid;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnApplication::CreateDocumentL
-// Creates a document
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaDocument* CXnApplication::CreateDocumentL()
-    {
-    return new ( ELeave ) CXnDocument( *this, iApplicationUid );
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnappuiadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +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:  Implementation for Avkon AppUi adapter
-*
-*/
-
-// System includes
-#include <aknview.h>
-#include <akntoolbar.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnappuiadapterimpl.h"
-#include "xnviewadapter.h"
-#include "xnuiengineappif.h"
-#include "xnfocuscontrol.h"
-
-#include "xuikon_builds_cfg.hrh"
-
-#ifdef _XN_PERFORMANCE_TEST_
-#include "xntimemon.h"
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::CXnAppUiAdapter
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnAppUiAdapter::CXnAppUiAdapter( TUid aApplicationUid )
-    : iApplicationUid( aApplicationUid )
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::ConstructL
-// Second-phase constructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnAppUiAdapter::ConstructL()
-    {
-#ifdef _XN_PERFORMANCE_TEST_
-    TInt start( 0 );
-    TInt end( 0 );
-    TInt diff( 0 );
-    CXnTimeMon::PrintUserMem( _L( "CXnAppUiAdapter::ConstructL(): - Calling CAknViewAppUi::BaseConstructL().." ) );
-    User::AllocSize( start );
-#endif //_XN_PERFORMANCE_TEST_
-
-    CAknViewAppUi::BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-
-    CAknToolbar* toolbar( CurrentFixedToolbar() );
-
-    if ( toolbar )
-        {
-        toolbar->SetToolbarVisibility( EFalse );
-
-        toolbar->DisableToolbarL( ETrue );
-        }
-    
-#ifdef _XN_PERFORMANCE_TEST_
-    User::AllocSize( end );
-    diff = end - start;
-    RDebug::Print( _L( "CAknViewAppUi::BaseConstructL allocation: %d" ), diff );
-    CXnTimeMon::PrintUserMem( _L( "CXnAppUiAdapter::ConstructL(): - Calling CXnAppUiAdapterImpl::NewL().." ) );
-    User::AllocSize( start );
-#endif //_XN_PERFORMANCE_TEST_
-    
-    iImpl = CXnAppUiAdapterImpl::NewL( iApplicationUid, *this );
-    iImpl->ConstructL();
-        
-#ifdef _XN_PERFORMANCE_TEST_
-    User::AllocSize( end );
-    diff = end-start;
-    RDebug::Print( _L( "Xuikon launch allocation: %d" ), diff );
-    
-    CXnTimeMon::PrintUserMem( _L( "CXnAppUiAdapter::ConstructL() .. all done." ) );
-#endif //_XN_PERFORMANCE_TEST_
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnAppUiAdapter::~CXnAppUiAdapter()
-    {          
-    delete iUiEngineAppIf;
-    
-    delete iImpl;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::HandleResourceChangeL
-// Handles resource changes
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnAppUiAdapter::HandleResourceChangeL( TInt aType )
-    {
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnAppUiAdapter::HandleResourceChangeL - start" ) );
-#endif //_XN_PERFORMANCE_TEST_
-
-    CAknViewAppUi::HandleResourceChangeL( aType );
-
-    if ( iImpl )
-        {
-        iImpl->HandleResourceChangeL( aType );
-        }
-
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnAppUiAdapter::HandleResourceChangeL - end" ) );
-#endif //_XN_PERFORMANCE_TEST_
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::UiEngine
-// Get UI engine proxy
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TXnUiEngineAppIf* CXnAppUiAdapter::UiEngineL()
-    {
-    if ( !iUiEngineAppIf )
-        {
-        iUiEngineAppIf = new ( ELeave ) TXnUiEngineAppIf( UiEngine() );
-        }
-    
-    return iUiEngineAppIf;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::HandleXuikonEventL
-// Handle callbacks from the engine
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnAppUiAdapter::HandleXuikonEventL(
-    CXnNodeAppIf& /*aOrigin*/,
-    CXnNodeAppIf& /*aTrigger*/,
-    CXnDomNode& /*aTriggerDefinition*/,
-    CXnDomNode& /*aEvent*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::LoadDataPluginsL
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnAppUiAdapter::LoadDataPluginsL(
-    RPointerArray< CXnNodeAppIf >& /*aList*/ )
-    {
-    // Default empty implementation
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::DestroyDataPluginsL
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnAppUiAdapter::DestroyDataPluginsL(
-    RPointerArray< CXnNodeAppIf >& /*aList*/ )
-    {
-    // Default empty implementation
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::DynInitMenuItemL
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnAppUiAdapter::DynInitMenuItemL( const TDesC& /*aItemType*/,          
-    RPointerArray< CXnNodeAppIf >* /*aList*/ )
-    {
-    // Default empty implementation
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::SetOnlineStateL
-//
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CXnAppUiAdapter::SetOnlineStateL( 
-    RPointerArray< CXnNodeAppIf >& /*aList*/ )
-    {
-    // Default empty implementation
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::View
-//
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C CAknView& CXnAppUiAdapter::View() const
-    {
-    return iImpl->ViewAdapter();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::HandlePageSwitch
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnAppUiAdapter::HandlePageSwitch()
-    {
-    // Default empty implementation
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::HandleEnterEditModeL
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnAppUiAdapter::HandleEnterEditModeL( TBool /*aEnter*/ )
-    {
-    // Default empty implementation
-    }
-       
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::ReloadUiL
-//
-// -----------------------------------------------------------------------------
-//
-void CXnAppUiAdapter::ReloadUiL()
-    {    
-    iImpl->ReloadUiL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::UiEngine
-// 
-// -----------------------------------------------------------------------------
-//
-CXnUiEngine& CXnAppUiAdapter::UiEngine() const
-    {
-    return iImpl->UiEngine();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::ViewManager
-// 
-// -----------------------------------------------------------------------------
-//
-CXnViewManager& CXnAppUiAdapter::ViewManager() const
-    {
-    return iImpl->ViewManager();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::ViewAdapter
-// 
-// -----------------------------------------------------------------------------
-//
-CXnViewAdapter& CXnAppUiAdapter::ViewAdapter() const
-    {
-    return iImpl->ViewAdapter();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::UiStateListener
-// 
-// -----------------------------------------------------------------------------
-//
-CXnUiStateListener& CXnAppUiAdapter::UiStateListener() const
-    {
-    return iImpl->UiStateListener();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::HsContentController
-//
-// -----------------------------------------------------------------------------
-//
-MHsContentControlUi* CXnAppUiAdapter::HsContentController( 
-    const TDesC8& aType ) const
-    {
-    return iImpl->HsContentController( aType );
-    }
-	
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::EffectManager
-//
-// -----------------------------------------------------------------------------
-//
-CXnEffectManager* CXnAppUiAdapter::EffectManager() const
-    {
-    return iImpl->EffectManager();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::HsContentControlSrv
-//
-// -----------------------------------------------------------------------------
-//
-MHsContentControl* CXnAppUiAdapter::HsContentControlSrv() const
-    {
-    return iImpl->HsContentControlSrv();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::FocusShown
-//
-// -----------------------------------------------------------------------------
-//
-TBool CXnAppUiAdapter::FocusShown() const
-    {
-    return iImpl->ViewAdapter().FocusControl().IsVisible();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::HideFocus
-//
-// -----------------------------------------------------------------------------
-//
-void CXnAppUiAdapter::HideFocus() 
-    {
-    return iImpl->ViewAdapter().FocusControl().MakeVisible( EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::ShowFocus
-//
-// -----------------------------------------------------------------------------
-//
-void CXnAppUiAdapter::ShowFocus() 
-    {
-    return iImpl->ViewAdapter().FocusControl().MakeVisible( ETrue );
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnappuiadapterimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +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:  Implementation for Avkon adapter
-*
-*/
-
-// System includes
-#include <hsccproviderclient.h>
-#include <hscontentcontroller.h>
-#include <hscontentcontrolui.h>
-#include <bautils.h>
-#include <data_caging_path_literals.hrh>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnuiengine.h"
-#include "xnviewmanager.h"
-#include "xnviewadapter.h"
-#include "xnuistatelistener.h"
-#include "hscontentcontrolfactory.h"
-#include "xneditor.h"
-#include "xnwallpaperview.h"
-#include "xneffectmanager.h"
-
-#include "xnappuiadapterimpl.h"
-
-// Constants
-_LIT( KResourceDrive, "z:" );
-_LIT( KResourceFile, "xnuiengine.rsc" );
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnAppUiAdapterImpl* CXnAppUiAdapterImpl::NewL( TUid aApplicationUid,    
-    CXnAppUiAdapter& aAdapter )
-    {    
-    return new ( ELeave ) CXnAppUiAdapterImpl( aApplicationUid, aAdapter );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::CXnAppUiAdapterImpl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnAppUiAdapterImpl::CXnAppUiAdapterImpl( TUid aApplicationUid,    
-    CXnAppUiAdapter& aAdapter )
-    : iAdapter( aAdapter ), iApplicationUid( aApplicationUid )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::ConstructL
-// Second-phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnAppUiAdapterImpl::ConstructL()
-    {       
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnAppUiAdapterImpl::ConstructL() - start" ) );
-#endif //_XN_PERFORMANCE_TEST_
-    
-    TFileName resFile;
-    resFile.Append( KResourceDrive );
-    resFile.Append( KDC_APP_RESOURCE_DIR );
-    resFile.Append( KResourceFile );
-    BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(),
-            resFile );      
-    
-    iResourceOffset = CCoeEnv::Static()->AddResourceFileL( resFile );
-        
-    iContentControlFactory = CHsContentControlFactory::NewL();    
-    
-    iUiStateListener = CXnUiStateListener::NewL( iAdapter );
-            
-    iViewManager = CXnViewManager::NewL( iAdapter );
-    
-    iUiEngine = CXnUiEngine::NewL( iAdapter );
-
-    iViewManager->SetUiEngine( *iUiEngine );
-    
-    // iViewAdapter is owned by CAknViewAppUi
-    iViewAdapter = CXnViewAdapter::NewL( iAdapter );
-       
-    iViewManager->LoadUiL();
-    
-    iCcProviderClient = CHsCcProviderClient::NewL( iViewManager->Editor() );
-    
-    CXnWallpaperView* wallpaper = CXnWallpaperView::NewL( *iUiEngine );
-    iAdapter.AddViewL( wallpaper );
-           
-    iEffectManager = CXnEffectManager::NewL();    
-    
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnAppUiAdapterImpl::ConstructL() - end" ) );
-#endif //_XN_PERFORMANCE_TEST_    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::ReloadUiL
-// Reloads UI when application root configuration is changed
-// -----------------------------------------------------------------------------
-//
-void CXnAppUiAdapterImpl::ReloadUiL()
-    {
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnAppUiAdapterImpl::ReloadUiL() - start" ) );
-#endif //_XN_PERFORMANCE_TEST_
-
-    iViewAdapter->ReloadUiL();
-           
-    iViewManager->ReloadUiL();
-          
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnAppUiAdapterImpl::ReloadUiL() - end" ) );
-#endif //_XN_PERFORMANCE_TEST_
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-CXnAppUiAdapterImpl::~CXnAppUiAdapterImpl()
-    {  
-    if ( iViewAdapter )
-        {
-        iViewAdapter->PrepareDestroy();
-        }
-    
-    delete iContentControlFactory;    
-            
-    delete iUiEngine;
-    
-    delete iUiStateListener;
-           
-    delete iViewManager;
-    
-    delete iCcProviderClient;
-
-    delete iEffectManager;
-    
-    CCoeEnv::Static()->DeleteResourceFile( iResourceOffset ) ;        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::UiEngine
-// Gets UI engine
-// -----------------------------------------------------------------------------
-//
-CXnUiEngine& CXnAppUiAdapterImpl::UiEngine() const
-    {
-    return *iUiEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::ViewAdapter
-// Gets view adapter
-// -----------------------------------------------------------------------------
-//
-CXnViewAdapter& CXnAppUiAdapterImpl::ViewAdapter() const
-    {
-    return *iViewAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::ViewManager
-// Gets view manager
-// -----------------------------------------------------------------------------
-//
-CXnViewManager& CXnAppUiAdapterImpl::ViewManager() const
-    {
-    return *iViewManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::UiStateListener
-// Gets UI state listener
-// -----------------------------------------------------------------------------
-//
-CXnUiStateListener& CXnAppUiAdapterImpl::UiStateListener() const
-    {
-    return *iUiStateListener;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::HsContentController
-// Gets Content control UI interface
-// -----------------------------------------------------------------------------
-//
-MHsContentControlUi* CXnAppUiAdapterImpl::HsContentController( 
-    const TDesC8& aType ) const
-    {
-    return iContentControlFactory->GetHsContentController( aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::EffectManager
-// Get effect manager.
-// -----------------------------------------------------------------------------
-//
-CXnEffectManager* CXnAppUiAdapterImpl::EffectManager() const
-    {
-    return iEffectManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::HsContentControlSrv
-// Gets Content control server interface
-// -----------------------------------------------------------------------------
-//
-MHsContentControl* CXnAppUiAdapterImpl::HsContentControlSrv() const
-    {
-    return iCcProviderClient;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnAppUiAdapterImpl::HandleResourceChangeL
-// Handles resource changes
-// -----------------------------------------------------------------------------
-//
-void CXnAppUiAdapterImpl::HandleResourceChangeL( TInt aType )
-    {
-    iUiStateListener->HandleResourceChangeL( aType );    
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,839 +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:  Background manager.
-*
-*/
-
-
-// INCLUDE FILES
-#include "xnbackgroundmanager.h"
-#include "hspswrapper.h"
-#include "xnviewmanager.h"
-#include "xnviewdata.h"
-#include "xnplugindefs.h"
-#include "hspssapi.h"
-#include "xnappuiadapter.h"
-#include "xnwallpaperview.h"
-#include "xnrootdata.h"
-
-// SYSTEM INCLUDE FILES
-#include <aknlistquerydialog.h> 
-#include <xnuiengine.rsg>
-#include <aknskinsinternalcrkeys.h>
-#include <activeidle2domaincrkeys.h>
-#include <aknswallpaperutils.h>
-#include <imageconversion.h>
-#include <bitmaptransforms.h>
-
-#include <aknsutils.h>
-#include <aknsdrawutils.h>
-#include <aknscontrolcontext.h>
-#include <aknslayeredbackgroundcontrolcontext.h>
-#include <driveinfo.h>
-
-using namespace hspswrapper;
-
-_LIT8( KSingle, "single" );
-const TUid KDummyUid = { 0x0000000 };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBackgroundManager::CXnBackgroundManager( CXnViewManager& aViewManager, CHspsWrapper& aWrapper )
-    : iViewManager( aViewManager ), 
-      iHspsWrapper( aWrapper )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CXnBackgroundManager::ConstructL()
-    {    
-    CreateWindowL();
-
-    iBgContext = CAknsLayeredBackgroundControlContext::NewL(
-            KAknsIIDQsnBgScreenIdle, TRect(), ETrue, 1 );
-
-    TRect bgRect;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, bgRect );
-    SetRect( bgRect );
-
-    Window().SetOrdinalPosition( -1 );
-
-    MakeVisible( ETrue );
-    ActivateL();
-    iIntUpdate = 0;
-    User::LeaveIfError( iSkinSrv.Connect( this ) );
-    iSkinSrv.EnableSkinChangeNotify();  
-    
-    // Start listening for drive events.
-    User::LeaveIfError( iFsSession.Connect() );
-    
-    // Start listening file server notifications.
-    iDiskNotifier = CDiskNotifyHandler::NewL( *this, iFsSession );
-    User::LeaveIfError( iDiskNotifier->NotifyDisk() );
-    
-    // Reads from cenrep wheteher page specific wallpaper is enabled or not
-    CheckFeatureTypeL();
-    }
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBackgroundManager* CXnBackgroundManager::NewL( CXnViewManager& aViewManager, 
-    CHspsWrapper& aWrapper )
-    {
-    CXnBackgroundManager* self = new (ELeave) CXnBackgroundManager( aViewManager, 
-        aWrapper );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnBackgroundManager::~CXnBackgroundManager()
-    {
-    CleanCache();
-    iSkinSrv.Close();
-    delete iDiskNotifier;
-    iFsSession.Close();
-    delete iBgContext;
-    delete iBgImage;
-    delete iBgImagePath;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::Draw
-// -----------------------------------------------------------------------------
-//    
-void CXnBackgroundManager::Draw(const TRect& aRect) const
-    {
-    if( iFeatureSuppoted )
-        {
-        CXnViewData& viewData( iViewManager.ActiveViewData() );
-        CFbsBitmap* wallpaper = viewData.WallpaperImage();
-        if( wallpaper )
-            {
-            SystemGc().BitBlt( TPoint(0, 0), wallpaper ); 
-            return;
-            }
-        }
-    else if( iBgImage )
-        {
-        SystemGc().BitBlt( TPoint(0, 0), iBgImage ); 
-        return;
-        }    
-    MAknsSkinInstance* skin( AknsUtils::SkinInstance() );     
-    AknsDrawUtils::Background( skin, iBgContext, this, SystemGc(), aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::SizeChanged
-// -----------------------------------------------------------------------------
-// 
-void CXnBackgroundManager::SizeChanged()
-    {
-    iRect = Rect();
-    if( iFeatureSuppoted )
-        {
-        TRAP_IGNORE( UpdateWallpapersL() );
-        }
-    else
-        {
-        if( iBgImagePath )
-            {
-            delete iBgImage;
-            iBgImage = NULL;
-            TRAP_IGNORE( iBgImage = iSkinSrv.WallpaperImageL( *iBgImagePath ) );
-            }
-        }
-    iBgContext->SetRect( iRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::MakeVisible
-// -----------------------------------------------------------------------------
-// 
-void CXnBackgroundManager::MakeVisible( TBool aVisible )
-    {    
-    CCoeControl::MakeVisible( aVisible );
-    if ( aVisible && iScreenUpdateNeeded )
-        {
-        iScreenUpdateNeeded = EFalse;
-        DrawNow();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// Handle disk drive notifications.
-// -----------------------------------------------------------------------------
-//
-void CXnBackgroundManager::HandleNotifyDisk(
-        TInt /*aError*/,
-        const TDiskEvent& aEvent )
-    {
-    if( aEvent.iType == MDiskNotifyHandlerCallback::EDiskStatusChanged )
-        {
-        if( !( aEvent.iInfo.iDriveAtt & KDriveAttInternal ) ) 
-            {        
-            TBool diskRemoved( aEvent.iInfo.iType == EMediaNotPresent );
-            if( diskRemoved )
-                {
-                // TODO:
-                //TRAP_IGNORE( RemovableDiskRemovedL() );
-                }
-            else
-                {
-                TRAP_IGNORE( RemovableDiskInsertedL() );        
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::CacheWallpaperL
-// -----------------------------------------------------------------------------
-//
-TInt CXnBackgroundManager::CacheWallpaperL( const TDesC& aFileName, CXnViewData& aViewData )
-    {
-    if( aFileName == KNullDesC )
-        {
-        return KErrArgument;
-        }
-
-    aViewData.SetWallpaperImagePathL( aFileName );
-    aViewData.SetWallpaperImage( NULL );
-
-    TBool err( KErrNone );
-    TRAP( err, iSkinSrv.AddWallpaperL( aFileName, iRect.Size() ) );
-    if( err == KErrNone )
-        {    
-        CFbsBitmap* bitmap( NULL );
-        CleanupStack::PushL( bitmap );
-        TRAP( err, bitmap = iSkinSrv.WallpaperImageL( aFileName ) );
-        if( err == KErrNone && bitmap )
-            {
-            aViewData.SetWallpaperImage( bitmap ); // Ownership tranferred
-            }        
-        else
-            {
-            iSkinSrv.RemoveWallpaper( aFileName );
-            }
-        CleanupStack::Pop();
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::AddWallpaperL
-// ---------------------------------------------------------------------------
-//
-TInt CXnBackgroundManager::AddWallpaperL( const TDesC& aFileName )
-    {
-    TInt retVal = KErrNone;
-    if( iFeatureSuppoted )
-        {
-        retVal = AddPageSpecificWallpaperL( aFileName );
-        }
-    else
-        {
-        retVal = AddCommonWallpaperL( aFileName );
-        }
-    return retVal;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::DeleteWallpaper
-// ---------------------------------------------------------------------------
-//
-void CXnBackgroundManager::DeleteWallpaper( CXnViewData& aViewData )
-    {
-    if( iFeatureSuppoted )
-        {
-        const TDesC& path = aViewData.WallpaperImagePath();
-        if( path != KNullDesC )
-            {
-            RemoveWallpaperFromCache( path, &aViewData );
-            TRAP_IGNORE( aViewData.SetWallpaperImagePathL( KNullDesC ) );
-            aViewData.SetWallpaperImage( NULL );
-            }
-        }
-    else
-        {
-        if( iBgImagePath )
-            {
-            iSkinSrv.RemoveWallpaper( *iBgImagePath );          
-            delete iBgImagePath;
-            iBgImagePath = NULL;
-            }
-        delete iBgImage;
-        iBgImage = NULL;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::ActivatedL
-// ---------------------------------------------------------------------------
-//
-TBool CXnBackgroundManager::ActivatedL()
-    {
-    return iFeatureSuppoted;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::WallpaperChanged
-// -----------------------------------------------------------------------------
-//
-void CXnBackgroundManager::WallpaperChanged( CXnViewData& aOldView, CXnViewData& aNewView )
-    {
-    if( iFeatureSuppoted && 
-        aOldView.WallpaperImagePath().Compare( aNewView.WallpaperImagePath() ) )
-        {
-        UpdateScreen();
-        TInt err = AknsWallpaperUtils::SetIdleWallpaper( aNewView.WallpaperImagePath(), NULL );
-        if( err == KErrNone )
-            {
-            iIntUpdate++;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::SaveWallpaperL
-// ---------------------------------------------------------------------------
-// 
-void CXnBackgroundManager::SaveWallpaperL()
-    {
-    // Save wallpaper to HSPS
-    if( iFeatureSuppoted )
-        {
-        TBuf8<KMaxFileName> wallpaper8;
-        CXnViewData& viewData( iViewManager.ActiveViewData() );
-        wallpaper8.Copy( viewData.WallpaperImagePath() );    
-        SetSettingPropertyL( viewData.PluginId(), KWallpaper,
-                KPath, wallpaper8 );
-        }
-    else
-        {
-        CRepository* repository = CRepository::NewLC( TUid::Uid( KCRUidActiveIdleLV ) );
-        if ( repository )
-            {
-            if( iBgImagePath )
-                {
-                User::LeaveIfError( repository->Set( KAIWallpaperPath, 
-                    *iBgImagePath ) );            
-                }
-            else
-                {
-                User::LeaveIfError( repository->Set( KAIWallpaperPath, 
-                    KNullDesC ) );            
-                }
-            }
-        CleanupStack::PopAndDestroy( repository );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::SetSettingPropertyL
-// ---------------------------------------------------------------------------
-//
-TInt CXnBackgroundManager::SetSettingPropertyL( const TDesC8& aPluginId,
-    const TDesC8& aItemId, const TDesC8& aPropertyName, 
-    const TDesC8& aPropertyValue )
-    {
-    if ( aPluginId == KNullDesC8() ||
-         aItemId == KNullDesC8() ||
-         aPropertyName == KNullDesC8() )
-        {
-        return KErrArgument;
-        }        
-    
-    CHspsConfiguration* pluginConf(
-            iHspsWrapper.GetPluginConfigurationL( aPluginId ) );
-    if ( !pluginConf )
-        {
-        return KErrNotFound;
-        }    
-    CleanupStack::PushL( pluginConf );
-        
-    // Find.
-    CPropertyMap* property = NULL;
-    RPointerArray<CItemMap>& settings = pluginConf->Settings();           
-    for( TInt i = 0; i < settings.Count(); i++ )
-        {
-        CItemMap* setting = settings[i];
-        if ( !setting )
-            {
-            continue;
-            }
-
-        if ( setting->ItemId() == aItemId )
-            {
-            RPointerArray<CPropertyMap>& properties = setting->Properties();
-            for( TInt j = 0; j < properties.Count(); j++ )
-                {
-                CPropertyMap* tmpProperty = properties[j];
-                if ( !tmpProperty )
-                    {
-                    continue;
-                    }
-                
-                if ( tmpProperty->Name() == aPropertyName )
-                    {
-                    property = tmpProperty;     
-                    break;
-                    }
-                }            
-            break;
-            }
-        }
-
-    TInt ret = KErrNone;
-    
-    // Set.    
-    if ( property )
-        {
-        property->SetValueL( aPropertyValue );
-        ret = iHspsWrapper.SetPluginSettingsL( aPluginId, settings );        
-        }
-    else
-        {
-        ret = KErrNotFound;
-        }
-    
-    CleanupStack::PopAndDestroy( pluginConf );
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::SetWallpaperL
-// ---------------------------------------------------------------------------
-//
-void CXnBackgroundManager::SetWallpaperL()
-    {
-    TInt selectedIndex( 0 );
-
-    CAknListQueryDialog* query =
-        new ( ELeave ) CAknListQueryDialog( &selectedIndex );
-    CleanupStack::PushL( query );
-    query->PrepareLC( R_LISTQUERY_CHANGE_WALLPAPER );
-
-    if ( query->RunLD() )
-        {
-        if ( selectedIndex == 0 )
-            {
-            AddWallpaperL( KNullDesC );
-            }
-        else if ( selectedIndex == 1 )
-            {
-            iViewManager.AppUiAdapter().ActivateLocalViewL( KWallpaperViewUid, 
-                KDummyUid, KSingle );                
-            }
-        }
-    CleanupStack::Pop( query );
-    }
-    
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::SkinContentChanged
-// ---------------------------------------------------------------------------
-//
-void CXnBackgroundManager::SkinContentChanged()
-    {    
-    }
-    
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::SkinConfigurationChanged
-// ---------------------------------------------------------------------------
-//
-void CXnBackgroundManager::SkinConfigurationChanged(
-    const TAknsSkinStatusConfigurationChangeReason aReason )
-    {
-    if ( aReason == EAknsSkinStatusWallpaperChanged )
-        {        
-        if( iIntUpdate > 0 )
-            {
-            iIntUpdate--;
-            }
-        else
-            {
-            TRAP_IGNORE( ReadWallpaperFromCenrepL() );
-            }
-        }
-    else if ( aReason == EAknsSkinStatusConfigurationDeployed )
-        {
-        UpdateScreen();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::SkinPackageChanged
-// ---------------------------------------------------------------------------
-//
-void CXnBackgroundManager::SkinPackageChanged(
-        const TAknsSkinStatusPackageChangeReason /*aReason*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::CleanCache
-// -----------------------------------------------------------------------------
-//
-void CXnBackgroundManager::CleanCache()
-    {
-    iSkinSrv.RemoveAllWallpapers();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::RemoveWallpaper
-// -----------------------------------------------------------------------------
-//
-void CXnBackgroundManager::RemoveWallpaperFromCache( const TDesC& aFileName,
-    CXnViewData* aViewData )
-    {
-    CXnViewData* currentViewData( aViewData );
-    if( !currentViewData )
-        {
-        currentViewData = &iViewManager.ActiveViewData();
-        }
-    CXnRootData& rootData = iViewManager.ActiveAppData();
-    RPointerArray<CXnPluginData>& rootDataArr = rootData.PluginData();
-
-    for( TInt i = 0; i < rootDataArr.Count(); i++ )
-        {
-        CXnViewData* viewData = static_cast<CXnViewData*>( rootDataArr[i] );
-        if( currentViewData == viewData )
-            {
-            continue;
-            }
-        else if( viewData->WallpaperImagePath() == aFileName )
-            {
-            // Some other view has same wallpaper image. 
-            // This must not be removed from the cache.
-            return;
-            }
-        }
-    // Image is not needed anymore. Can be removed from the cache.
-    iSkinSrv.RemoveWallpaper( aFileName );  
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::RemoveWallpaper
-// -----------------------------------------------------------------------------
-//
-void CXnBackgroundManager::RemoveWallpaperL( CXnViewData& aViewData )
-    {
-    aViewData.SetWallpaperImagePathL( KNullDesC );
-    aViewData.SetWallpaperImage( NULL );
-    SetSettingPropertyL( aViewData.PluginId(), KWallpaper, KPath, KNullDesC8 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::UpdateWallpapersL
-// -----------------------------------------------------------------------------
-//
-void CXnBackgroundManager::UpdateWallpapersL()
-    {
-    CXnRootData& rootData = iViewManager.ActiveAppData();
-    if( !&rootData )
-        {
-        return;
-        }
-    RPointerArray<CXnPluginData>& rootDataArr = rootData.PluginData();
-
-    for( TInt i = 0; i < rootDataArr.Count(); i++ )
-        {
-        CXnViewData* viewData = static_cast<CXnViewData*>( rootDataArr[i] );
-        const TDesC& path = viewData->WallpaperImagePath();
-        if( path != KNullDesC )
-            {
-            CFbsBitmap* bitmap = iSkinSrv.WallpaperImageL( path );
-            if( bitmap )
-                {
-                viewData->SetWallpaperImage( bitmap );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBackgroundManager::RemovableDiskInsertedL
-// -----------------------------------------------------------------------------
-//
-void CXnBackgroundManager::RemovableDiskInsertedL()
-    {
-    if( iFeatureSuppoted )
-        {
-        CXnRootData& rootData = iViewManager.ActiveAppData();
-        if( !&rootData )
-            {
-            return;
-            }
-        RPointerArray<CXnPluginData>& rootDataArr = rootData.PluginData();
-        TInt drawingNeeded( EFalse );
-        for( TInt i = 0; i < rootDataArr.Count(); i++ )
-            {
-            CXnViewData* viewData = static_cast<CXnViewData*>( rootDataArr[i] );
-            const TDesC& path = viewData->WallpaperImagePath();
-            CFbsBitmap* bitmap = viewData->WallpaperImage();
-            if( path != KNullDesC && !bitmap )
-                {
-                TInt err = CacheWallpaperL( path, *viewData );
-                if( err == KErrNone )
-                    {
-                    drawingNeeded = ETrue;
-                    }
-                }
-            }
-        if( drawingNeeded )
-            {
-            UpdateScreen();
-            }    
-        }
-    else
-        {
-        if( iBgImagePath )
-            {
-            AddCommonWallpaperL( *iBgImagePath, EFalse );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::CheckFeatureTypeL
-// ---------------------------------------------------------------------------
-//
-void CXnBackgroundManager::CheckFeatureTypeL()
-    {
-    iFeatureSuppoted = EFalse;
-    CRepository* repository = CRepository::NewL( TUid::Uid( KCRUidActiveIdleLV ) );
-    CleanupStack::PushL( repository );
-    if ( repository )
-        {
-        // Get wallpaper handling type from cenrep
-        TInt type;
-        TInt err = repository->Get( KAIWallpaperChangeType, type );
-        if ( err == KErrNone && type == 1)
-            {
-            iFeatureSuppoted = ETrue;
-            }
-        else
-            {
-            TFileName path;
-            err = repository->Get( KAIWallpaperPath, path );
-            if ( !err && path.Length())
-                {
-                AddCommonWallpaperL( path, EFalse );
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy( repository );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::AddPageSpecificWallpaperL
-// ---------------------------------------------------------------------------
-//
-TInt CXnBackgroundManager::AddPageSpecificWallpaperL( const TDesC& aFileName )
-    {
-    TInt err = KErrNone;
-    CXnViewData& viewData( iViewManager.ActiveViewData() );
-    const TDesC& old = viewData.WallpaperImagePath();
-
-    if( aFileName.Compare( old ) )
-        {
-        // Remove old from the cache
-        if( old != KNullDesC )
-            {
-            RemoveWallpaperFromCache( old );
-            }
-
-        // Add new to the cache
-        if( aFileName != KNullDesC )
-            {
-            if( CacheWallpaperL( aFileName, viewData ) == KErrNone )
-                {
-                SaveWallpaperL(); // to HSPS
-                }
-            else
-                {
-                // image is corrupted or format is not supported
-                return KErrCACorruptContent;
-                }
-            }
-        // WallpaperImage changed back to default. Update view data.
-        else
-            {
-            viewData.SetWallpaperImagePathL( KNullDesC );
-            viewData.SetWallpaperImage( NULL );            
-            }
-
-        // Update screen
-        UpdateScreen();
-        
-        err = AknsWallpaperUtils::SetIdleWallpaper( aFileName, NULL );
-        if( err == KErrNone )
-            {
-            iIntUpdate++;
-            }
-        }
-    return err;
-    }
-        
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::AddCommonWallpaperL
-// ---------------------------------------------------------------------------
-//
-TInt CXnBackgroundManager::AddCommonWallpaperL( const TDesC& aFileName, 
-    TBool aSave )
-    {
-    TInt err = KErrNone;      
-    // Remove old from the cache
-    if( iBgImagePath )
-        {
-        iSkinSrv.RemoveWallpaper( *iBgImagePath );          
-        delete iBgImagePath;
-        iBgImagePath = NULL;
-        }
-    delete iBgImage;
-    iBgImage = NULL;
-
-    if( aFileName != KNullDesC )
-        {
-        iBgImagePath = aFileName.AllocL();
-    
-        TBool err( KErrNone );
-        TRAP( err, iSkinSrv.AddWallpaperL( aFileName, iRect.Size() ) );
-        if( err )
-            {
-            // image is corrupted or format is not supported
-            return KErrCACorruptContent;
-            }
-        TRAP( err, iBgImage = iSkinSrv.WallpaperImageL( aFileName ) );
-        if( err )
-            {
-            iSkinSrv.RemoveWallpaper( aFileName );
-            delete iBgImage;
-            iBgImage = NULL;
-            // image is corrupted or format is not supported
-            return KErrCACorruptContent;
-            }
-        }
-    
-    // Update screen
-    UpdateScreen();        
-
-    // Save path to cenrep
-    if( aSave )
-        {
-        SaveWallpaperL();
-        }
-
-    err = AknsWallpaperUtils::SetIdleWallpaper( aFileName, NULL );
-    if( err == KErrNone )
-        {
-        iIntUpdate++;
-        }
-
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::ReadWallpaperFromCenrepL
-// ---------------------------------------------------------------------------
-//
-void CXnBackgroundManager::ReadWallpaperFromCenrepL()
-    {
-    CRepository* repository = CRepository::NewLC( KCRUidPersonalisation );
-    if ( repository )
-        {                
-        // Get wallpaper type from cenrep
-        TInt wallpaperType;
-        TInt err = repository->Get( KPslnWallpaperType, wallpaperType );
-        if ( err == KErrNone )
-            {
-            if ( wallpaperType == 0 )
-                {
-                if( iFeatureSuppoted )
-                    {
-                    CXnViewData& viewData( iViewManager.ActiveViewData() );
-                    RemoveWallpaperFromCache( viewData.WallpaperImagePath() );
-                    RemoveWallpaperL( viewData );                        
-                    } 
-                else
-                    {
-                    if( iBgImagePath )
-                        {
-                        iSkinSrv.RemoveWallpaper( *iBgImagePath );
-                        delete iBgImagePath;
-                        iBgImagePath = NULL;
-                        }
-                    delete iBgImage;
-                    iBgImage = NULL;
-                    SaveWallpaperL();
-                    }
-                }
-            else if ( wallpaperType == 1 )
-                {
-                // WallpaperImage is image
-                // Get wallpaper image path from cenrep and save it
-                TFileName wallpaper;            
-                err = repository->Get( KPslnIdleBackgroundImagePath, wallpaper );
-                if ( err == KErrNone )
-                    {
-                    if( iFeatureSuppoted )
-                        {
-                        AddPageSpecificWallpaperL( wallpaper );
-                        }
-                    else
-                        {
-                        AddCommonWallpaperL( wallpaper, EFalse );
-                        }
-                    }                
-                }
-            UpdateScreen();
-            }
-
-        CleanupStack::PopAndDestroy( repository );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CXnBackgroundManager::UpdateScreen
-// ---------------------------------------------------------------------------
-//
-void CXnBackgroundManager::UpdateScreen()
-    {
-    if( !IsVisible() )
-        {
-        iScreenUpdateNeeded = ETrue;
-        }
-    else
-        {
-        DrawNow();  
-        }
-    }
-
-//  End of File
--- a/idlehomescreen/xmluirendering/uiengine/src/xnbgcontrol.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +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:  Background appearance drawer
-*
-*/
-
-// System includes
-#include <aknappui.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnuiengine.h"
-#include "xneditmode.h"
-
-#include "xnbgcontrol.h"
-
-// Constants
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnBgControl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBgControl* CXnBgControl::NewL()
-    {
-    CXnBgControl* self = CXnBgControl::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBgControl* CXnBgControl::NewLC()
-    {
-    CXnBgControl* self = new ( ELeave ) CXnBgControl();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::~CXnBgControl()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnBgControl::~CXnBgControl()
-    {  
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::CXnBgControl()
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBgControl::CXnBgControl()
-    :   iHitpoint( TPoint( -1,-1 ) )
-    {  
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::ConstructL()
-    {   
-    CreateWindowL();
-
-    TRgb backgroundColour = KRgbWhite;
-    if( KErrNone == Window().SetTransparencyAlphaChannel() )      
-        {       
-        backgroundColour.SetAlpha( 0 );       
-        }   
-    Window().SetBackgroundColor( backgroundColour );
-    
-    EnableDragEvents();
-    
-    Window().SetPointerGrab( ETrue );
-    
-    
-    ActivateL();
-
-    MakeVisible( ETrue );
-    
-    SetComponentsToInheritVisibility( ETrue );
-    
-    static_cast< CXnAppUiAdapter* >( iAvkonAppUi )
-            ->UiStateListener().AddObserver( *this );
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::CountComponentControls()
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CXnBgControl::CountComponentControls() const
-    {
-    if ( iControl )
-        {
-        return 1;
-        }
-    
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::ComponentControl()
-// 
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CXnBgControl::ComponentControl( TInt aIndex ) const
-    {
-    if ( aIndex == 0 )
-        {
-        return iControl;
-        }
-    
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::SizeChanged()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::SizeChanged()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::Draw()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::Draw( const TRect& aRect ) const
-    {    
-    CXnAppUiAdapter* appui( 
-        static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) );
-
-    TInt state( appui->UiEngine().EditMode()->EditState() );
-    
-    CWindowGc& gc( SystemGc() );
-    
-    if ( state == CXnEditMode::EShootContent )
-        {
-        // No background needed for dragging widget screenshot        
-        }
-    else
-        {        
-        gc.Clear( aRect );        
-        }          
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::SetCompoundControl()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    switch( aPointerEvent.iType )
-        {
-        case TPointerEvent::EButton1Down:
-            iHitpoint = aPointerEvent.iPosition;
-            break;
-            
-        case TPointerEvent::EButton1Up:
-            break;
-            
-        default:
-            break;
-        }
-    
-    CXnAppUiAdapter* appui( static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) );
-    
-    appui->UiEngine().DisableRenderUiLC();
-            
-    CCoeControl::HandlePointerEventL( aPointerEvent );
-    
-    appui->UiEngine().RenderUIL();
-    
-    CleanupStack::PopAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::SetCompoundControl()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::SetCompoundControl( CCoeControl* aControl )
-    {
-    if ( iControl == aControl )
-        {
-        return;
-        }
-    
-    if ( iControl )
-        {
-        // Remove parents    
-        iControl->SetParent( NULL );
-        iControl->SetMopParent( NULL );
-        
-        iControl->MakeVisible( EFalse );
-        }
-    
-    if ( aControl )
-        {        
-        // Set self as parent
-        aControl->SetParent( this );
-        aControl->SetMopParent( this );
-        
-        aControl->MakeVisible( ETrue );        
-        }
-    
-    iControl = aControl;        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::ResetGrabbingL()
-// Service for removing grabbing controls
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::ResetGrabbingL()
-    {
-    TPointerEvent event;
-    event.iType = TPointerEvent::EButton1Up;
-    
-    RemoveGrabbingControL( this, event );
-    
-    iHitpoint.SetXY( -1, -1 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::PrepareDestroy()
-// Prepares control for destroying
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::PrepareDestroy()
-    {
-    static_cast< CXnAppUiAdapter* >( iAvkonAppUi )
-            ->UiStateListener().RemoveObserver( *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::RemoveGrabbingControL()
-// Removes recursively grabbing controls
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::RemoveGrabbingControL( const CCoeControl* aControl,
-        const TPointerEvent& aEvent ) const
-    {
-    TInt count = aControl->CountComponentControls();
-    
-    for( TInt i = 0; i < count; i++ )
-        {
-        CCoeControl* child = aControl->ComponentControl( i );
-        
-        if( child && child->Rect().Contains( iHitpoint ) )
-            {
-            child->CCoeControl::HandlePointerEventL( aEvent ); 
-            RemoveGrabbingControL( child, aEvent );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::NotifyForegroundChanged()
-// Notifies foreground changes.
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::NotifyForegroundChanged( TForegroundStatus aStatus )
-    {
-    switch( aStatus )
-        {
-        case EForeground:
-            break;
-            
-        case EUnknown:
-        case EBackground:
-        case EPartialForeground:  
-        default:
-            TRAP_IGNORE( ResetGrabbingL(); )
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::NotifyLightStatusChanged()
-// Notifies primary display light status is changed.
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::NotifyLightStatusChanged( TBool /*aLightsOn*/ )
-    {
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::NotifyInCallStateChaged()
-// Notifies in-call state is changed.
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::NotifyInCallStateChaged( TBool /*aInCall*/ )
-    {
-    
-    }
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xncomponent.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +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:  Xuikon component source
-*
-*/
-
-// INCLUDES
-#include "xncomponent.h"
-#include "xncontroladapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnComponent::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnComponent* CXnComponent::NewL()
-    {
-    CXnComponent* self = new ( ELeave ) CXnComponent;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnComponent::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::CXnComponent()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnComponent::CXnComponent()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::~CXnComponent()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C CXnComponent::~CXnComponent()
-    {
-    delete iAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::SetControlAdapter()
-// Sets component control adapter.
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C void CXnComponent::SetControlAdapter( CXnControlAdapter* aAdapter )
-    {
-    if ( iAdapter )
-        {
-        return;
-        }
-    iAdapter = aAdapter;
-    if ( iAdapter )
-        {
-        iAdapter->SetComponent( this );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::ControlAdapter()
-// Returns pointer to component control adapter.
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C CXnControlAdapter* CXnComponent::ControlAdapter()
-    {
-    return iAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::Node
-// Returns node associated with the component
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodePluginIf* CXnComponent::Node()
-    {
-    return iNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::SetNode
-// Sets node associated with the component
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnComponent::SetNode( CXnNodePluginIf& aNode )
-    {
-    iNode = &aNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::EnterPowerSaveModeL
-// Enter power save mode
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnComponent::EnterPowerSaveModeL()
-    {
-    if ( iAdapter )
-        {
-        iAdapter->EnterPowerSaveModeL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::ExitPowerSaveModeL
-// Exit power save mode
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnComponent::ExitPowerSaveModeL()
-    {
-    if ( iAdapter )
-        {
-        iAdapter->ExitPowerSaveModeL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponent::MakeInterfaceL
-// Create a component interface according to the given type.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C XnComponentInterface::MXnComponentInterface* CXnComponent::MakeInterfaceL(
-    const TDesC8& /*aType*/ )
-    {
-    return NULL;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xncomponentfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +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:  Component factory interface
-*
-*/
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnviewadapter.h"
-#include "xncomponentfactory.h"
-#include "xncomponent.h"
-#include "xnnodepluginif.h"
-#include "xncomponentnodeimpl.h"
-#include "xnviewnodeimpl.h"
-#include "xncontroladapter.h"
-#include "xnpanic.h"
-#include "xntype.h"
-
-// Constants
-_LIT8( KToolTip, "tooltip" );
-_LIT8( KView, "view" );
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// FindParentAdapter
-// Find a parent control adapter up the node chain
-// -----------------------------------------------------------------------------
-//
-static CXnControlAdapter* FindParentAdapter( CXnNode& aNode )
-    {
-    CXnNode* parent( aNode.Parent() );
-    
-    for( ; parent; parent = parent->Parent() )
-        {
-        CXnControlAdapter* control( parent->Control() );
-        
-        if( control )
-            {
-            return control;
-            }
-        }
-    
-    return NULL;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// MXnComponentFactory::MXnComponentFactory
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnComponentFactory::MXnComponentFactory()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// MXnComponentFactory::CreateXnComponentL
-// Creates a component
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::CreateXnComponentL(
-    CXnNodePluginIf& aNode,
-    CXnComponent*& aTargetComponent )
-    {
-    const TDesC8& type( aNode.Type()->Type() );
-    
-    MXnComponentFactory::TXnComponentFactoryResponse response =
-        MakeXnComponentL( aNode, aTargetComponent );
-    
-    CleanupStack::PushL( aTargetComponent );
-    
-    if ( response != EXnFactoryResponseComponentConstructed )
-        {
-        CleanupStack::PopAndDestroy( aTargetComponent );
-        
-        return response;
-        }
-    
-    CXnControlAdapter* parentAdapter( FindParentAdapter( aNode.Node() ) );
-    CXnControlAdapter* adapter( MakeXnControlAdapterL( aNode, parentAdapter ) );
-        
-    aTargetComponent->SetNode( aNode );
-            
-    if ( type == KView )
-        {
-        CXnAppUiAdapter* appui = static_cast< CXnAppUiAdapter* >( iAvkonAppUi );
-        
-        adapter->SetContainerWindowL( appui->ViewAdapter().BgControl() ); 
-                           
-        aNode.ViewNodeImpl()->SetComponent( aTargetComponent );
-        }
-    else
-        {
-        aNode.ComponentNodeImpl()->SetComponent( aTargetComponent );
-        }
-    
-    if ( parentAdapter )
-        {
-        parentAdapter->AppendChildL( *adapter, aNode.Node() );
-        }
-      
-    aTargetComponent->SetControlAdapter( adapter );
-    
-    if ( !adapter )
-        {
-        CleanupStack::Pop( aTargetComponent );
-        
-        return response;
-        }
-    
-    adapter->SetComponent( aTargetComponent );
-    adapter->SetComponentsToInheritVisibility( ETrue );
-        
-    if ( type != KToolTip )
-        {
-        // Don't activate tooltip yet
-        adapter->ActivateL();
-        }
-    
-    adapter->MakeVisible( EFalse );
-    
-    CleanupStack::Pop( aTargetComponent );
-    
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// MXnComponentFactory::DoesNodeNeedComponentImplL
-// Check whether a node needs a component node implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool MXnComponentFactory::DoesNodeNeedComponentImplL( 
-    const TDesC8& /*aType*/ )
-    {
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// MXnComponentFactory::MakeXnComponentL
-// Factory method to create component
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::MakeXnComponentL(
-    CXnNodePluginIf& /*aNode*/,
-    CXnComponent*& /*aTargetComponent*/ )
-    {
-    return EXnFactoryResponseComponentNotSupported;
-    }
-
-// -----------------------------------------------------------------------------
-// MXnComponentFactory::MakeXnComponentL
-// Factory method to create control adapter
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnControlAdapter* MXnComponentFactory::MakeXnControlAdapterL(
-    CXnNodePluginIf& /*aNode*/,
-    CXnControlAdapter* /*aParent*/ )
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// Default destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C  MXnComponentFactory::~MXnComponentFactory()
-    {
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xncomponentnodeimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:  Xuikon component node implementation source
-*
-*/
-
-// INCLUDES
-#include "xncomponentnodeimpl.h"
-#include "xncomponent.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnComponentNodeImpl* CXnComponentNodeImpl::NewL( CXnType* aType )
-    {
-    CXnComponentNodeImpl* self = new ( ELeave ) CXnComponentNodeImpl;
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aType );
-    CleanupStack::Pop();
-
-    return self;	
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnComponentNodeImpl::ConstructL( CXnType* aType )
-    {
-    CXnNodeImpl::ConstructL( aType );
-    iComponentNeedsCreation = ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::CXnComponentNodeImpl()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnComponentNodeImpl::CXnComponentNodeImpl() 
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::~CXnComponentNodeImpl()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C CXnComponentNodeImpl::~CXnComponentNodeImpl()
-    {
-    delete iComponent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::Component
-// Return the component
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnComponent* CXnComponentNodeImpl::Component()
-    {
-    return iComponent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::SetComponent
-// Set the component
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnComponentNodeImpl::SetComponent( CXnComponent* aComponent )
-    {
-    iComponent = aComponent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::DoesComponentNeedCreation
-// Check whether the component is to be created
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnComponentNodeImpl::DoesComponentNeedCreation() const
-    {
-    return iComponentNeedsCreation;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::SetComponentNeedsCreation
-// Set whether the component is to be created
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnComponentNodeImpl::SetComponentNeedsCreation( TBool aFlag )
-    {
-    iComponentNeedsCreation = aFlag;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnComponentNodeImpl::MakeInterfaceL
-// Create a component interface according to the given type.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C XnComponentInterface::MXnComponentInterface* CXnComponentNodeImpl::MakeInterfaceL(
-    const TDesC8& aType )
-    {
-    if ( !iComponent )
-        {
-        return NULL;
-        }
-    return iComponent->MakeInterfaceL( aType );
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,894 +0,0 @@
-/*
-* Copyright (c) 2008-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:  Application configuration composer
-*
-*/
-
-// System includes
-#include <s32file.h>
-
-// User includes
-#include "xncomposer.h"
-#include "xnplugindata.h"
-#include "xnrootdata.h"
-#include "xnviewdata.h"
-#include "xnodt.h"
-#include "xnproperty.h"
-#include "xnresource.h"
-#include "xndomdocument.h"
-#include "xndomnode.h"
-#include "xndomlist.h"
-#include "xndomattribute.h"
-#include "xnpanic.h"
-#include "xnplugindefs.h"
-#include "xnviewmanager.h"
-#include "xnappuiadapter.h"
-#include "xnviewadapter.h"
-#include "xnbackgroundmanager.h"
-
-// Constants
-_LIT8( KStateWaitConfirmation, "WaitForConfirmation" );
-_LIT8( KStateError, "Error" );
-
-_LIT8( KXmluiml, "xmluiml" );
-_LIT8( KApp, "application" );
-_LIT8( KViews, "views" );
-_LIT8( KWidget, "widget" );
-_LIT8( KUseEmptyWidget, "use_empty_widget" );
-_LIT8( KRemovable, "removable" );
-
-_LIT8( KEmptyWidgetUid, "0x2001F47F" );
-
-_LIT( KCDrive, "C:" );
-_LIT8( KTagXuikon, "xuikon" );
-
-using namespace hspswrapper;
-
-// ======== LOCAL FUNCTIONS ========
-// --------------------------------------------------------------------------
-// ItemValueL
-// Get property value from configuration.
-// --------------------------------------------------------------------------
-//
-static HBufC* ItemValueL( CHspsConfiguration& aConfiguration, const TDesC8& aItemId, const TDesC8& aName  )
-    {
-    HBufC* ret = NULL;
-
-    RPointerArray<CItemMap>& settingsList = aConfiguration.Settings();    
-    for( TInt i = 0; i < settingsList.Count(); i++ )
-        {
-        CItemMap* setting = settingsList[i];
-        if( !setting )
-            {
-            continue;
-            }
-        
-        if( setting->ItemId() == aItemId )
-            {
-            RPointerArray<CPropertyMap>& properties = setting->Properties();
-            for( TInt j = 0; j < properties.Count(); j++ )
-                {
-                CPropertyMap* property = properties[j];
-                if( !property )
-                    {
-                    continue;
-                    }
-                
-                if( property->Name() == aName )
-                    {
-                    ret = HBufC::NewL( property->Value().Length() );
-                    ret->Des().Copy( property->Value() );
-                    break;
-                    }
-                }            
-            break;
-            }    
-        }        
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// Finds recursively node by name
-// @return    returns pointer to desired node, NULL if nothing found 
-// ---------------------------------------------------------------------------
-//
-CXnDomNode* FindNodeByName( CXnDomNode* aNode, const TDesC8& aName )
-    {
-    if ( !aNode )
-        {        
-        return NULL;
-        }
-
-    if ( aNode->Name() == aName )
-        {
-        return aNode;
-        }
-
-    CXnDomList& list( aNode->ChildNodes() );
-
-    for ( TInt i = 0; i < list.Length() ; i++ )
-        {
-        CXnDomNode* retval( FindNodeByName(
-                static_cast< CXnDomNode* >( list.Item( i ) ), aName ) );
-
-        if ( retval )
-            {
-            return retval;
-            }
-        }
-
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// FindNodeById
-// Finds recursively node by id
-// @return    returns pointer to desired node, NULL if nothing found 
-// ---------------------------------------------------------------------------
-//
-CXnDomNode* FindNodeById( CXnDomNode* aNode, const TDesC8& aId )
-    {
-    if ( !aNode )
-        {        
-        return NULL;
-        }
-
-    CXnDomList& attributes( aNode->AttributeList() );
-
-    CXnDomAttribute* id(
-        static_cast< CXnDomAttribute* >(
-                attributes.FindByName( XnPropertyNames::common::KId ) ) );
-
-    if ( id && id->Value() == aId )
-        {
-        return aNode;
-        }
-
-    CXnDomList& list( aNode->ChildNodes() );
-
-    for ( TInt i = 0; i < list.Length() ; i++ )
-        {
-        CXnDomNode* retval( FindNodeById(
-                static_cast< CXnDomNode* >( list.Item( i ) ), aId ) );
-
-        if ( retval )
-            {
-            return retval;
-            }
-        }
-
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// UpdateResourcesPathL
-// ----------------------------------------------------------------------------
-//
-static void UpdateResourcesPathL( CArrayPtrSeg< CXnResource >& aList, 
-    TPtrC aNewPath )
-    {
-    TFileName newFilename;
-
-    for ( TInt i = 0; i < aList.Count(); i++ )
-        {
-        CXnResource& res( *aList[i] );
-        const TDesC& filename( res.FileName() );
-
-        TParsePtrC fileParser( filename );
-        TPtrC nameAndExt( fileParser.NameAndExt() );
-
-        newFilename = aNewPath;
-        newFilename.Append( nameAndExt );
-
-        res.SetFileNameL( newFilename );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// UpdateSettingsL
-// 
-// --------------------------------------------------------------------------
-//
-static void UpdateSettingsL( const TDesC8& aElementId,
-    RPointerArray< CPropertyMap >& aProperties, CXnDomNode& aRootNode )
-    {    
-    CXnDomNode* node( FindNodeById( &aRootNode, aElementId ) );
-
-    if( !node )
-        {
-        return;
-        }
-
-    CXnDomStringPool* sp( node->StringPool() );
-
-    for ( TInt i = 0; i < aProperties.Count(); i++ )
-        {
-        CPropertyMap* property( aProperties[i] );
-
-        const TDesC8& name( property->Name() );
-        const TDesC8& value( property->Value() );
-
-        CXnDomList& attributes( node->AttributeList() );
-
-        CXnDomAttribute* attribute(
-            static_cast< CXnDomAttribute* >( attributes.FindByName( name ) ) );
-
-        if ( attribute )
-            {
-            // Update current attribute
-            attribute->SetValueL( value );
-            }
-        else
-            {
-            // Need to create new attribute
-            attribute = CXnDomAttribute::NewL( name, sp );
-            CleanupStack::PushL( attribute );
-
-            attribute->SetValueL( value );
-
-            node->AttributeList().AddItemL( attribute );
-            CleanupStack::Pop( attribute );
-            }
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// UpdatePluginFromSettingsL()
-// Updates plugin from settings
-// --------------------------------------------------------------------------
-//
-static void UpdatePluginFromSettingsL( CHspsConfiguration& aConfiguration,
-    CXnDomNode& aRootNode )
-    {
-    RPointerArray< CItemMap >& settings( aConfiguration.Settings() );
-
-    for ( TInt i = 0; i < settings.Count(); i++ )
-        {
-        CItemMap* setting( settings[i] );
-
-        const TDesC8& itemId( setting->ItemId() );
-
-        RPointerArray< CPropertyMap >& properties( setting->Properties() );
-
-        UpdateSettingsL( itemId, properties, aRootNode );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// MergeLD()
-// --------------------------------------------------------------------------
-//
-static CXnDomNode* MergeLD( CXnDomNode* aRoot,  
-    CXnPluginData& aPluginData, TBool aMergeView = EFalse )
-    {
-    CXnDomNode* parent( aPluginData.Owner() );
-    
-    CXnDomNode* childToFind( NULL );
-
-    if ( aMergeView )
-        {
-        childToFind = FindNodeByName( aRoot, KView );
-        }
-    else
-        {
-        childToFind = FindNodeByName( aRoot, KWidget );
-        }
-    
-    if( !childToFind || aRoot->Name() != KXmluiml )
-        {
-        delete aRoot;
-        
-        return NULL;
-        }
-
-    aPluginData.SetNode( childToFind );
-    
-    CXnDomList& list( aRoot->ChildNodes() );
-           
-    TInt index( list.ItemIndex( *childToFind ) );   
-    
-    CXnDomNode* node =
-        static_cast< CXnDomNode* >( list.Item( index ) );
-    
-    list.RemoveItem( index );
-
-    // sets namespace recursively
-    node->SetOwnershipL( aPluginData.PluginId() );
-    
-    // Takes ownership
-    parent->AddChildL( node );
-
-    delete aRoot;
-    aRoot = NULL;
-        
-    if ( aMergeView )
-        {
-        // Return the last view
-        TInt index( parent->ChildNodes().Length() - 1 );
-
-        return ( static_cast< CXnDomNode* >(
-            parent->ChildNodes().Item( index ) ) );
-        }
-    else
-        {
-        // Return <widget>
-        return node;
-        }
-    }
-
-// --------------------------------------------------------------------------
-// UseEmptyWidget
-// Determines whether to use empty widget in this view configuration
-// --------------------------------------------------------------------------
-//
-static TBool UseEmptyWidget( CXnDomNode& aView )
-    {    
-    CXnDomAttribute* attribute(
-        static_cast< CXnDomAttribute* >( 
-                aView.AttributeList().FindByName( KUseEmptyWidget ) ) );
-
-    if ( attribute && attribute->Value() == XnPropertyNames::KTrue )
-        {
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-
-// --------------------------------------------------------------------------
-// Removable
-// Determines whether this plugin is removable
-// --------------------------------------------------------------------------
-//
-static TBool Removable( CXnDomNode& aPlugin )
-    {    
-    CXnDomAttribute* attribute(
-        static_cast< CXnDomAttribute* >( 
-                aPlugin.AttributeList().FindByName( KRemovable ) ) );
-
-    if ( attribute && attribute->Value() == XnPropertyNames::KFalse )
-        {
-        return EFalse;
-        }
-    
-    return ETrue;
-    }
-
-// ======== MEMBER FUNCTIONS ========
-// --------------------------------------------------------------------------
-// CXnComposer::NewL
-// Two-phased constructor.
-// --------------------------------------------------------------------------
-//
-CXnComposer* CXnComposer::NewL( CHspsWrapper& aWrapper )
-    {
-    CXnComposer* self = new ( ELeave ) CXnComposer( aWrapper );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CXnComposer::~CXnComposer
-// Destructor
-// --------------------------------------------------------------------------
-//
-CXnComposer::~CXnComposer()
-    {
-    iFs.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CXnComposer::CXnComposer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// --------------------------------------------------------------------------
-//
-CXnComposer::CXnComposer( CHspsWrapper& aWrapper )
-    : iWrapper( aWrapper )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CXnComposer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// --------------------------------------------------------------------------
-//
-void CXnComposer::ConstructL()
-    {
-    User::LeaveIfError( iFs.Connect() );
-    }
-
-// --------------------------------------------------------------------------
-// CXnComposer::ComposeRootL()
-// Composes the application root configuration
-// --------------------------------------------------------------------------
-//
-CXnODT* CXnComposer::ComposeRootL( CXnRootData& aRootData )
-    {
-    // Not owned
-    iODT = NULL;
-    
-    // Get application configuration
-    CHspsConfiguration* configuration( iWrapper.GetAppConfigurationL() );
-    CleanupStack::PushL( configuration );
-
-    const TDesC8& state( configuration->PluginInfo().ConfigurationState() );
-    
-    aRootData.SetConfigurationIdL( configuration->ConfId() );
-           
-    if ( state.CompareF( KStateError ) == 0 || 
-        configuration->Resources().Count() == 0 )
-        {
-        CleanupStack::PopAndDestroy( configuration );
-        
-        return NULL;       
-        }
-        
-    // Get application configuration odt resource
-    CXnODT* odt = CXnODT::NewL();
-    CleanupStack::PushL( odt );
-    
-    // Save for later usage, not owned
-    iODT = odt;
-    
-    // Find a resource which can be internalized
-    const CObjectMap* resourceObject = FindObject( 
-            configuration->Resources(), KTagXuikon() );
-    if ( !resourceObject )
-        {
-        CleanupStack::PopAndDestroy( 2, configuration );
-        
-        return NULL;
-        }
-    
-    CXnDomNode* root( GetOdtL( *resourceObject, aRootData ) );       
-    if ( !root )
-        {        
-        CleanupStack::PopAndDestroy( 2, configuration );
-        
-        return NULL;
-        }
-    
-    odt->DomDocument().SetRootNode( root );
-      
-    // "views" node is the owner node of view nodes
-    CXnDomNode* views( FindNodeByName( root, KViews ) );
-        
-    if ( !views )
-        {
-        CleanupStack::PopAndDestroy( 2, configuration );
-        
-        return NULL;        
-        }
-
-    CPluginInfo& info( configuration->PluginInfo() );
-
-    aRootData.SetOwner( root );
-    aRootData.SetNode( views );
-    
-    aRootData.SetPluginNameL( info.Name() );
-    aRootData.SetPluginUidL( info.Uid() );
-    
-    aRootData.SetPluginTypeL( KApp );
-    
-    aRootData.SetMaxPages( info.MaxChild() );
-
-    // Get plugins (= views) in this application configuration
-    RPointerArray< CPluginMap >& plugins( configuration->PluginMaps() );
-
-    if ( ( plugins.Count() == 0 ) || ( aRootData.MaxPages() <= 0 ) )
-        {
-        CleanupStack::PopAndDestroy( 2, configuration );
-        
-        return NULL;
-        }
-
-    RPointerArray< CXnPluginData >& array( aRootData.PluginData() );
-    
-    TInt index( 0 );
-    
-    for ( TInt i = 0; ( i < plugins.Count() ) && ( i < aRootData.MaxPages() );
-        i++ )
-        {
-        CPluginMap* plugin( plugins[i] );
-        
-        CXnViewData* view = CXnViewData::NewLC( aRootData );
-
-        // Give view data ownership to CXnRootData
-        array.AppendL( view );                                 
-        CleanupStack::Pop( view );
-       
-        view->SetOwner( views );  
-        
-        view->SetPluginIdL( plugin->PluginId() );
-                
-        if ( plugin->ActivationState() )
-            {            
-            index = i;            
-            }
-
-        view->SetLockingStatus( plugin->LockingStatus() );
-        }
-
-    CXnViewData* initial( static_cast< CXnViewData* >( array[ index ] ) );
-    
-    initial->SetInitial();
-        
-    CleanupStack::Pop( odt );
-    
-    CleanupStack::PopAndDestroy( configuration );
-                    
-    // Ownership is granted to the caller
-    return odt;          
-    }
-
-// --------------------------------------------------------------------------
-// CXnComposer::ComposeViewL()
-// Composes a view
-// --------------------------------------------------------------------------
-//
-TInt CXnComposer::ComposeViewL( CXnViewData& aViewData )
-    {    
-    TInt retval( KXnErrPluginFailure );
-    
-    if ( aViewData.PluginId() == KNullDesC8 )
-        {
-        return retval;
-        }
-    
-    // Get view configuration
-    CHspsConfiguration* configuration(
-        iWrapper.GetPluginConfigurationL( aViewData.PluginId() ) );
-    CleanupStack::PushL( configuration );
-
-    const TDesC8& state( configuration->PluginInfo().ConfigurationState() );
-                     
-    if ( state.CompareF( KStateError ) == 0 || 
-        configuration->Resources().Count() == 0 )
-        {               
-        CleanupStack::PopAndDestroy( configuration );
-        
-        return retval;
-        }
-                  
-    aViewData.SetConfigurationIdL( configuration->ConfId() );    
-    aViewData.SetPluginStateL( KStateWaitConfirmation );
-    
-    // Find a resource which can be internalized
-    const CObjectMap* resourceObject = FindObject( 
-                configuration->Resources(), KTagXuikon );
-    if ( !resourceObject )
-        {
-        CleanupStack::PopAndDestroy( configuration );
-        
-        return retval;
-        }
-    
-    CXnDomNode* root( GetOdtL( *resourceObject, aViewData ) );
-    if ( !root )
-        {               
-        CleanupStack::PopAndDestroy( configuration );
-        
-        return retval;        
-        }
-
-    root->SetNamespaceL( aViewData.PluginId() );
-    
-    // Merge view to root. Note that root will be obsolete after this call
-    CXnDomNode* viewRoot( MergeLD( root, aViewData, ETrue ) );
-    
-    if ( viewRoot )
-        {                                                     
-        // Finalise view data              
-        CPluginInfo& info( configuration->PluginInfo() );
-        aViewData.SetPluginNameL( info.Name() );
-        aViewData.SetPluginUidL( info.Uid() );
-
-        aViewData.SetPluginTypeL( KView );
-        
-        // Find first <plugin> element from this view
-        CXnDomNode* pluginNode( FindNodeByName( viewRoot, KPlugin ) );
-
-        UpdatePluginFromSettingsL( *configuration, *viewRoot );
-                
-        aViewData.SetUseEmptyWidget( UseEmptyWidget( *viewRoot )  );   
-
-        // Read wallpaper image path from HSPS
-        CXnAppUiAdapter* appui = static_cast< CXnAppUiAdapter* >( iAvkonAppUi );
-        CXnBackgroundManager& bgManager = appui->ViewAdapter().BgManager();
-        
-        // if page specific wallpaper feature is enabled
-        if( bgManager.ActivatedL() )
-            {
-            HBufC* bgImage = ItemValueL( *configuration, KWallpaper, KPath );
-            CleanupStack::PushL( bgImage );
-            if( bgImage && bgImage->Length() > 0 )
-                {
-                bgManager.CacheWallpaperL( bgImage->Des(), aViewData );
-                }
-            CleanupStack::PopAndDestroy( bgImage );
-            }
-        if ( pluginNode )
-            {            
-            // This assumes all <plugin> elements are siblings
-            CXnDomNode* pluginParent( pluginNode->Parent() );   
-            
-            CXnDomList& list( pluginParent->ChildNodes() );
-        
-            // Get plugins configuration
-            RPointerArray< CPluginMap >& plugins( configuration->PluginMaps() );
-                    
-            RPointerArray< CXnPluginData >& array( aViewData.PluginData() );
-
-            TInt count( 0 );
-            
-            for ( TInt i = 0; i < list.Length(); i++ )
-                {
-                CXnDomNode* node =
-                    static_cast< CXnDomNode* >( list.Item( i ) );
-        
-                // We are interested only about <plugin> elements
-                if ( node->Name() == KPlugin )
-                    {
-                    // Create plugin data
-                    CXnPluginData* widget = CXnPluginData::NewLC( aViewData );
-            
-                    // Give ownership to view data
-                    array.AppendL( widget );
-                    CleanupStack::Pop( widget );
-                            
-                    // <plugin> element
-                    widget->SetOwner( node );
-                    
-                    if ( count < plugins.Count() )
-                        {                        
-                        widget->SetPluginIdL( plugins[ count ]->PluginId() );
-                        }
-                    
-                    count++;
-                    }        
-                }                           
-            }
-        
-        retval = KErrNone;
-        }
-    
-    CleanupStack::PopAndDestroy( configuration );
-    
-    return retval;
-    }
-
-// --------------------------------------------------------------------------
-// ComposeWidgetL()
-// Composes a widget
-// --------------------------------------------------------------------------
-//
-TInt CXnComposer::ComposeWidgetL( CXnPluginData& aPluginData )     
-    {    
-    TInt retval( KXnErrPluginFailure );
-    
-    if ( aPluginData.PluginId() == KNullDesC8 )
-        {
-        return retval;
-        }
-    
-    // Get widget configuration
-    CHspsConfiguration* configuration(
-        iWrapper.GetPluginConfigurationL( aPluginData.PluginId() ) );
-    CleanupStack::PushL( configuration );
-
-    // Empty widget is not composed at all
-    if ( configuration->PluginInfo().Uid().CompareF( KEmptyWidgetUid ) == 0 )
-        {
-        aPluginData.SetEmptyL( aPluginData.PluginId() );
-        
-        CleanupStack::PopAndDestroy( configuration );
-        
-        return KErrNone;
-        }
-    
-    const TDesC8& state( configuration->PluginInfo().ConfigurationState() );
-                     
-    if ( state.CompareF( KStateError ) == 0 || 
-        configuration->Resources().Count() == 0 )
-        {               
-        CleanupStack::PopAndDestroy( configuration );
-        
-        return retval;       
-        }
-    
-    aPluginData.SetConfigurationIdL( configuration->ConfId() );    
-    aPluginData.SetPluginStateL( KStateWaitConfirmation );
-                              
-    // Find a resource which can be internalized
-    const CObjectMap* resourceObject = FindObject( 
-                configuration->Resources(), KTagXuikon );
-    if ( !resourceObject )
-        {
-        CleanupStack::PopAndDestroy( configuration );
-        
-        return retval;
-        }
-    
-    CXnDomNode* root( GetOdtL( *resourceObject, aPluginData ) );
-    if ( !root )
-        {
-        CleanupStack::PopAndDestroy( configuration );        
-
-        return retval;        
-        }
-
-    // Update plugin namespace
-    root->SetNamespaceL( aPluginData.PluginId() );
-
-    // Nested plugins are not supported currently. 
-    // Note root will be obsolete after this call.
-    CXnDomNode* widgetRoot( MergeLD( root, aPluginData ) );
-
-    if ( widgetRoot )
-        {
-        // Finalise plugin data
-        CPluginInfo& info( configuration->PluginInfo() );
-        
-        aPluginData.SetPluginNameL( info.Name() );
-        aPluginData.SetPluginUidL( info.Uid() );
-
-        aPluginData.SetPluginTypeL( info.Type() );
-
-        UpdatePluginFromSettingsL( *configuration, *widgetRoot );
-        
-        if ( info.Type() == KKeyTemplate )
-            {
-            CXnDomNode* node( FindNodeByName( widgetRoot, KContentSourceNode ) );
-            
-            if ( node )
-                {
-                CXnDomList& attributes( node->AttributeList() );
-                 
-                CXnDomAttribute* attribute( static_cast< CXnDomAttribute* >(
-                    attributes.FindByName( KName ) ) );
-                
-                if ( attribute )
-                    {
-                    aPluginData.SetPublisherNameL( attribute->Value() );
-                    }
-                }
-            }
-        
-        aPluginData.SetRemovable( Removable( *widgetRoot ) );
-
-        retval = KErrNone;                       
-        }
-    
-    CleanupStack::PopAndDestroy( configuration );
-    
-    return retval;
-    }
-
-// --------------------------------------------------------------------------
-// CXnComposer::GetOdtL()
-//
-// --------------------------------------------------------------------------
-//
-CXnDomNode* CXnComposer::GetOdtL( const CObjectMap& aObject,
-    CXnPluginData& aPluginData )
-    {
-    if( !iODT )
-        {
-        return NULL;
-        }
-    
-    CXnDomNode* root( NULL ); 
-    
-    TBuf8< KMaxFileName > resource;
-    TFileName privatePath;
-    TFileName filename;
-
-    // Get private path
-    User::LeaveIfError( iFs.PrivatePath( privatePath ) );
-
-    // Get resource path and name
-    resource = aObject.Path();
-    resource.Append( aObject.NameL() );
-
-    // Copy from TBuf8 to TBuf
-    filename.Copy( resource );
-
-    // insert private path and
-    filename.Insert( 0, privatePath );
-
-    // ... c-drive
-    filename.Insert( 0, KCDrive );
-
-    RFile file;
-
-    User::LeaveIfError( file.Open( iFs, filename, EFileShareReadersOnly ) );
-    CleanupClosePushL( file );
-
-    TInt size( 0 );
-    file.Size( size );
-
-    if ( size )
-        {
-        CFileStore* store( CDirectFileStore::FromLC( file ) );
-
-        RStoreReadStream instream;
-        CleanupClosePushL( instream );
-
-        instream.OpenLC( *store, store->Root() );
-
-        // Consume header
-        CXnODT::InternalizeHeaderL( instream );
-        
-        CArrayPtrSeg< CXnResource >* list( 
-            CXnODT::InternalizeResourceListL( instream ) );
-        
-        aPluginData.SetResources( list );
-
-        // Set correct resource path
-        UpdateResourcesPathL( 
-            *list, TParsePtrC( filename ).DriveAndPath() );            
-                        
-        root = iODT->InternalizeDomDocumentL( instream );
-
-        // Destroy the stream object, close the instream, destroy store
-        CleanupStack::PopAndDestroy( 3, store );
-        }
-
-    CleanupStack::PopAndDestroy( &file );
-
-    return root;
-    }
-
-// --------------------------------------------------------------------------
-// CXnComposer::FindObject()
-// Finds an object from the provided array 
-// --------------------------------------------------------------------------
-//
-const CObjectMap* CXnComposer::FindObject( 
-        RPointerArray<CObjectMap>& aResourceObjects,
-        const TDesC8& aTag ) const
-    {
-    CObjectMap* object = NULL;
-    
-    const TInt count = aResourceObjects.Count();
-    if ( count )
-        {   
-        
-        // Find an object with the provided tag
-        for( TInt objectIndex=0; objectIndex < count; objectIndex++ )
-            {
-            CObjectMap* o = aResourceObjects[ objectIndex ];
-            if ( o->Tag() == aTag )
-                {
-                object = o;
-                break;
-                }
-            }
-        
-        // If the tag was not found, return first object
-        if( !object )
-            {
-            object = aResourceObjects[ 0 ];
-            }
-        }
-    
-    return object;
-    }
-
-//  End of File
--- a/idlehomescreen/xmluirendering/uiengine/src/xncontroladapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,584 +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:  Xuikon control adapter source file
-*
-*/
-
-
-// System includes
-#include <AknUtils.h>
-
-// User includes
-#include "xncontroladapter.h"
-#include "xncontroladapterimpl.h"
-#include "xnproperty.h"
-#include "xnnodepluginif.h"
-#include "xnnode.h"
-#include "xnuiengine.h"
-#include "xncomponent.h"
-#include "xncomponentnodeimpl.h"
-#include "xntype.h"
-
-#include "xnviewnodeimpl.h"
-#include "xneditmode.h"
-
-// Constants
-const TInt KLongTapStartDelay( 500000 ); // 0.5s
-const TInt KLongTapTimeDelay( 1500000 ); // 1.5s
-
-// -----------------------------------------------------------------------------
-// CreateLongTapDetectorL
-// Checks wheter longtap detector is needed for this node
-// -----------------------------------------------------------------------------
-//
-static TBool CreateLongTapDetectorL( CXnNode& aNode )
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        if ( aNode.Type()->Type() == KMenuBarNode )
-            {
-            RPointerArray< CXnNode >& children( aNode.Children() );
-
-            for ( TInt i = 0; i < children.Count(); i++ )
-                {
-                CXnProperty* prop( children[i]->GetPropertyL(
-                    XnPropertyNames::common::KLongTap ) );
-
-                if ( prop && prop->StringValue() == XnPropertyNames::KTrue )
-                    {
-                    return ETrue;
-                    }
-                }
-            }
-        else
-            {
-            CXnProperty* prop( aNode.GetPropertyL(
-                XnPropertyNames::common::KLongTap ) );
-
-            if ( prop && prop->StringValue() == XnPropertyNames::KTrue )
-                {
-                return ETrue;
-                }
-            }
-        }
-
-    return EFalse;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::NewL
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnControlAdapter* CXnControlAdapter::NewL( CXnNodePluginIf& aNode )
-    {
-    CXnControlAdapter* self = new ( ELeave ) CXnControlAdapter;
-    CleanupStack::PushL( self );
-    self->ConstructL( aNode );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::~CXnControlAdapter
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnControlAdapter::~CXnControlAdapter()
-    {
-    delete iImpl;
-    delete iLongTapDetector;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::CXnControlAdapter
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnControlAdapter::CXnControlAdapter()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::ConstructL
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::ConstructL( CXnNodePluginIf& aNode )
-    {    
-    iImpl = CXnControlAdapterImpl::NewL( aNode, *this, SystemGc() );
-
-    if ( CreateLongTapDetectorL( aNode.Node() ) )
-        {        
-        iLongTapDetector = CAknLongTapDetector::NewL( this );
-                       
-        iLongTapDetector->SetTimeDelayBeforeAnimation( KLongTapStartDelay );
-        iLongTapDetector->SetLongTapDelay( KLongTapTimeDelay );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::SetComponent
-// Sets component object to adapter.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::SetComponent( CXnComponent* aComponent )
-    {
-    iImpl->SetComponent( aComponent );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::Component
-// Returns component attached to this adapter
-// -----------------------------------------------------------------------------
-//
-CXnComponent* CXnControlAdapter::Component() const
-    {
-    return const_cast< CXnComponent* >( iImpl->Component() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::Component
-// Gets component object from adapter.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnComponent* CXnControlAdapter::Component()
-    {
-    return iImpl->Component();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::OfferKeyEventL
-// Handles key events.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TKeyResponse CXnControlAdapter::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    return iImpl->OfferKeyEventL( aKeyEvent, aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::HandleControlEventL
-// Handles control events.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::HandleControlEventL(
-    CCoeControl* /*aControl*/,
-    TCoeEvent /*aEventType*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::HandleLongTapEventL
-// Handles the long tap events.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::HandleLongTapEventL(
-    const TPoint& aPenEventLocation,
-    const TPoint& aPenEventScreenLocation )
-    {
-    CXnNode* node( &Component()->Node()->Node() );
-
-    CXnUiEngine* engine( node->UiEngine() );
-
-    engine->DisableRenderUiLC();
-
-    iImpl->HandleLongTapEventL( aPenEventLocation, aPenEventScreenLocation );
-
-    CleanupStack::PopAndDestroy(); // DisableRenderUiLC;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::EnableLongTapAnimation
-// Handles the long tap events.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::EnableLongTapAnimation( const TBool aAnimation )
-    {
-    if ( iLongTapDetector )
-        {
-        iLongTapDetector->EnableLongTapAnimation( aAnimation );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::HandlePointerEventL
-// Handle pointer events
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::HandlePointerEventL(
-    const TPointerEvent& aPointerEvent )
-    {
-    TBool consumed( EFalse );
-    
-    switch( aPointerEvent.iType )
-        {
-        case TPointerEvent::EButton1Down:
-        case TPointerEvent::EButton1Up:
-        case TPointerEvent::EDrag:        
-            consumed = iImpl->HandlePointerEventL( aPointerEvent );
-            break;
-        default:
-            break;
-        }
-
-    if ( !consumed )
-        {
-        CCoeControl::HandlePointerEventL( aPointerEvent );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::Draw
-// Draws the control
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::Draw( const TRect& aRect ) const
-    {
-    iImpl->Draw( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::Draw
-// Draws the control
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::Draw( const TRect& aRect, CWindowGc& aGc ) const
-    {
-    iImpl->Draw( aRect, aGc );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::ComponentControl
-// Return a child control by index
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCoeControl* CXnControlAdapter::ComponentControl( TInt aIndex ) const
-    {
-    return iImpl->ComponentControl( aIndex );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::CountComponentControls
-// Return count of children
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CXnControlAdapter::CountComponentControls() const
-    {
-    return iImpl->CountComponentControls();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::SetVisible
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::SetVisible( TBool aVisible )
-    {
-    MakeVisible( aVisible );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::AppendChildL
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapter::AppendChildL(CXnControlAdapter& aChild, CXnNode& aNode)
-    {
-    iImpl->AppendChildL(aChild, aNode);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::IsDrawingAllowed
-// Checks whether drawing is allowed
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnControlAdapter::IsDrawingAllowed() const
-    {
-    return iImpl->IsDrawingAllowed();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::ContentBitmaps
-// Gets content bitmaps
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::ContentBitmaps(
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aMask )
-    {
-    iImpl->ContentBitmaps( aBitmap, aMask );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::SetContentBitmaps
-// Sets content bitmaps
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::SetContentBitmaps(
-    CFbsBitmap* aBitmap,
-    CFbsBitmap* aMask )
-    {
-    iImpl->SetContentBitmaps( aBitmap, aMask );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::SetContentBitmaps
-// Sets content bitmaps
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::SetContentBitmaps(
-    const TDesC& aBitmapUrl,
-    const TDesC& aMaskUrl )
-    {
-    TRAP_IGNORE( iImpl->SetContentBitmapsL( aBitmapUrl, aMaskUrl ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::DrawContentImage
-// Draws content image
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::DrawContentImage() const
-    {
-    iImpl->DrawContentImage();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::SizeChanged
-// Control size change notification
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::SizeChanged()
-    {
-    iImpl->SizeChanged();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::SkinChanged
-// Skin change notification
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::SkinChanged()
-    {
-    TRAP_IGNORE( Component()->Node()->SetDirtyL() );
-
-    iImpl->SkinChanged();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::FocusChanged
-// Focus change notification
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    TRAP_IGNORE( iImpl->FocusChangedL( IsFocused() ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::LoadBitmap
-// Load a bitmap from the server. Ownership is transferred.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CFbsBitmap* CXnControlAdapter::LoadBitmap( const TDesC& aBitmapUrl )
-    {
-    return iImpl->LoadBitmap( aBitmapUrl );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::GetBitmapAndMask
-// Load a bitmap and mask from the server. Ownership is transferred.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::GetBitmapAndMask(
-    const TDesC& aBitmapUrl,
-    const TDesC& aMaskUrl,
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aMask )
-    {
-    iImpl->GetBitmapAndMask( aBitmapUrl, aMaskUrl, aBitmap, aMask );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::EnterPowerSaveModeL
-// Enter power save mode
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::EnterPowerSaveModeL( TModeEvent aEvent )
-    {
-    iImpl->StopHighlightAnimation();
-    DoEnterPowerSaveModeL( aEvent );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::DoEnterPowerSaveModeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::DoEnterPowerSaveModeL( TModeEvent /* aEvent */ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::ExitPowerSaveModeL
-// Exit power save mode
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::ExitPowerSaveModeL( TModeEvent aEvent )
-    {
-    iImpl->StartHighlightAnimation();
-    DoExitPowerSaveModeL( aEvent );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::DoExitPowerSaveModeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::DoExitPowerSaveModeL( TModeEvent /*aEvent*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::SetLocalUiZoomL
-// Set local UI zoom level
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::SetLocalUiZoomL( TAknUiZoom /*aZoom*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::HandleScreenDeviceChangedL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::HandleScreenDeviceChangedL()
-    {
-    CXnNode& node( Component()->Node()->Node() );
-
-    if ( CreateLongTapDetectorL( node ) )
-        {
-        if ( !iLongTapDetector )
-            {
-            iLongTapDetector = CAknLongTapDetector::NewL( this );
-            }
-        }
-    else
-        {
-        delete iLongTapDetector;
-        iLongTapDetector = NULL;
-        }
-
-    Component()->Node()->SetDirtyL();
-
-    iImpl->HandleScreenDeviceChangedL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::HandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::HandlePropertyChangeL( CXnProperty* aProperty )
-    {
-    // Check component focus.
-    CXnComponent* component( iImpl->Component() );
-
-    if ( component )
-        {
-        CXnNodePluginIf* node( component->Node() );
-
-        if ( node )
-            {
-            if ( node->IsFocusedState() )
-                {
-                iImpl->StartHighlightAnimation();
-                }
-            else
-                {
-                iImpl->StopHighlightAnimation();
-                }
-            }
-        }
-
-    if ( iImpl->UpdateBackgroundImageL( aProperty) ==
-         CXnControlAdapterImpl::EPropertyChangeNotConsumed )
-        {
-        DoHandlePropertyChangeL( aProperty );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::DoHandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::DoHandlePropertyChangeL( CXnProperty* aProperty )
-    {
-    iImpl->DoHandlePropertyChangeL( aProperty );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::MeasureAdaptiveContentL
-// Measures the content dimensions
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TSize CXnControlAdapter::MeasureAdaptiveContentL(
-    const TSize& aAvailableSize )
-    {
-    return iImpl->MeasureAdaptiveContentL( aAvailableSize );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::ResetStylusCounter
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::ResetStylusCounter()
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::SetBlank
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnControlAdapter::SetBlank( TBool aBlank )
-    {
-    iImpl->SetBlank( aBlank );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::LongTapDetector
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknLongTapDetector* CXnControlAdapter::LongTapDetector() const
-    {
-    return iLongTapDetector;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapter::RemoveChildAdapters
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapter::RemoveChildAdapters()
-    {
-    iImpl->RemoveChildAdapters();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-RPointerArray<CXnControlAdapter>& CXnControlAdapter::ChildAdapters()
-    {
-    return iImpl->ChildAdapters();
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5982 +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:  Xuikon control adapter source file
-*
-*/
-
-
-// System includes
-#include <utf.h>
-#include <SVGEngineInterfaceImpl.h>
-#include <s32file.h>
-#include <mifconvdefs.h>
-//skinning support
-#include <AknsFrameBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <aknconsts.h>
-#include <AknUtils.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include <gulicon.h>
-#ifdef RD_TACTILE_FEEDBACK
-#include <touchfeedback.h>
-#endif // RD_TACTILE_FEEDBACK
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnviewadapter.h"
-#include "xnviewmanager.h"
-#include "xncontroladapterimpl.h"
-#include "xncontroladapter.h"
-#include "xnmenuadapter.h"
-#include "xncomponentnodeimpl.h"
-#include "xntype.h"
-#include "xnnodepluginif.h"
-#include "xnuiengine.h"
-#include "xnviewnodeimpl.h"
-#include "c_xnutils.h"
-#include "xndomdocument.h"
-#include "xndomattribute.h"
-#include "xndomnode.h"
-#include "xnproperty.h"
-#include "xndomlist.h"
-#include "xnodt.h"
-#include "xnresource.h"
-#include "xnhittest.h"
-#include "xnplugindata.h"
-#include "xnnode.h"
-#include "xnpanic.h"
-#include "xnviewdata.h"
-#include "xnscrollablecontroladapter.h"
-#include "xnfocuscontrol.h"
-#include "xneditmode.h"
-#include "xnbgcontrol.h"
-
-_LIT8(KScrollableBoxNodeName, "scrollablebox");
-        
-using namespace XnGestureHelper;
-#include "xngesture.h"
-
-// Constants
-const TInt KSkinGfxInnerRectShrink = 5;
-const TInt KFocusGrowValue = 3;
-
-
-// LOCAL FUNCTION PROTOTYPES
-static TRgb ConvertHslToRgb( TInt aHue, TInt aSaturation, TInt aLightness );
-static void ConvertRgbToHsl( TRgb aRGB, TUint& aHue, TUint& aSaturation,
-    TUint& aLightness );
-static void LoadFbsBitmapL(
-    CXnResource& aResource, CFbsBitmap*& aTarget, RFs& aFsSession );
-static void LoadMbmBitmapL( CXnResource& aResource,
-    TInt aBitmapIndex, CFbsBitmap*& aTarget, RFs& aFsSession );
-static void LoadSVGBitmapL( CXnResource& aResource,
-    CFbsBitmap*& aBitmap, CFbsBitmap*& aBitmapMask,
-    TRect aRect, RFs& aFsSession );
-static TBool GetBitmapL( CXnUiEngine& aEngine, CXnNode& aNode,
-    const TDesC& aResourceFileName, TInt& aBitmapIndex,
-    CFbsBitmap*& aTarget, CFbsBitmap*& aBitmapMask,
-    CXnControlAdapterImpl::TIconProvider*& aIconProvider,
-    TRect aRect, RFs& aFsSession );
-
-static void LimitRectToPaddingRect( CXnNode& aNode, TRect& aRect );
-static void DrawSpaceBackgroundY( CWindowGc& aGc, TInt aYRepeatCount,
-    CXnNode& aNode, TRect& aRect, CFbsBitmap* aBitmap, TRect aBitmapRect,
-    TRect aImageRect, TInt& aYOffset );
-static void DrawRepeatBackgroundY( CWindowGc& aGc, TInt aYRepeatCount,
-    CXnNode& aNode, TRect& aRect, CFbsBitmap* aBitmap, TRect aBitmapRect,
-    TRect aImageRect, TInt& aYOffset );
-static void StripQuotes( HBufC*& aString );
-static void DrawBackgroundColorL(
-    const TRect& /*aRect*/, CXnNode& aNode, CWindowGc& aGc );
-static void GetBackroundRepeatValuesL( CXnNode& aNode, TBool& aRepeatX,
-    TBool& aRepeatY, TBool& aSpaceX, TBool& aSpaceY );
-static void DrawRepeatedBackgroundImage( CWindowGc& aGc, CXnNode& aNode,
-    TRect& aRect, TRect aImageRect, TRect aBitmapRect,
-    CFbsBitmap* aBitmap, TBool aRepeatX, TBool aRepeatY, TBool aSpaceX,
-    TBool aSpaceY, TInt aXRepeatCount, TInt aYRepeatCount );
-static TBool GetBackgroundPositionFromPropertyL(
-    CXnNode& aNode, TBool aScaleImage, TRect& aRect,
-    TRect aImageRect, CFbsBitmap* aBitmap, TBool& aHeightSet );
-static TBool GetBackgroundSizeFromPropertyL( TRect& aRect, CXnNode& aNode,
-    CFbsBitmap* aBitmap, TBool& aScaleImage );
-static TRgb LighterColor( const TRgb& aRgb );
-static TRgb DarkerColor( const TRgb& aRgb );
-static void DrawSolidTopBorder( CArrayFix< TPoint >* aArray, CWindowGc& aGc );
-static void SplitTopBorderPolygonL( CArrayFix< TPoint >* aArray,
-    CArrayFix< TPoint >*& aUpperPart, CArrayFix< TPoint >*& aLowerPart );
-static void DrawRidgeTopBorderL(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawGrooveTopBorderL(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawInsetTopBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawOutsetTopBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static TBool GetBorderColorL(
-    const TDesC8& aPropertyName, CXnNode& aNode, CWindowGc& aGc, TRgb& aRgb );
-static void DrawTopBorderL(
-    const TRect& /*aRect*/, CXnNode& aNode, CWindowGc& aGc );
-static void DrawBottomBorderL(
-    const TRect& /*aRect*/, CXnNode& aNode, CWindowGc& aGc );
-static void DrawSolidBottomBorder( CArrayFix< TPoint >* aArray, CWindowGc& aGc );
-static void SplitBottomBorderPolygonL( CArrayFix< TPoint >* aArray,
-    CArrayFix< TPoint >*& aUpperPart, CArrayFix< TPoint >*& aLowerPart );
-static void DrawRidgeBottomBorderL(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawGrooveBottomBorderL(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawInsetBottomBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawOutsetBottomBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawSolidLeftBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc );
-static void SplitLeftBorderPolygonL( CArrayFix< TPoint >* aArray,
-    CArrayFix< TPoint >*& aLeftPart, CArrayFix< TPoint >*& aRightPart );
-static void DrawRidgeLeftBorderL(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawGrooveLeftBorderL(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawInsetLeftBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawOutsetLeftBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawLeftBorderL(
-    const TRect& /*aRect*/, CXnNode& aNode, CWindowGc& aGc );
-static void DrawRightBorderL(
-    const TRect& /*aRect*/, CXnNode& aNode, CWindowGc& aGc );
-static void DrawSolidRightBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc );
-static void SplitRightBorderPolygonL( CArrayFix< TPoint >* aArray,
-    CArrayFix< TPoint >*& aLeftPart, CArrayFix< TPoint >*& aRightPart );
-static void DrawRidgeRightBorderL(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawGrooveRightBorderL(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawInsetRightBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawOutsetRightBorder(
-    CArrayFix< TPoint >* aArray, CWindowGc& aGc, TRgb& aRgb );
-static void DrawBorderImagesL(
-    const TRect& /*aRect*/, CXnNode& aNode, CWindowGc& aGc,
-    CFbsBitmap* aBitmap, TInt aBorderBitmapDividerTop,
-    TInt aBorderBitmapDividerRight,
-    TInt aBorderBitmapDividerBottom, TInt aBorderBitmapDividerLeft );
-static TBool IsPropertyNone( CXnProperty& aProperty );
-static void DrawBordersL( const TRect& aRect, CXnNode& aNode, CWindowGc& aGc );
-static void SwapChildArrays( RPointerArray< CXnControlAdapter >& originalArray,
-    RPointerArray< CXnControlAdapter >& sortedArray );
-static CXnProperty* GetZIndexL( CXnControlAdapter* aAdapter );
-static void InsertChildToSortedArrayL(
-    RPointerArray< CXnControlAdapter >& aTargetArray,
-    CXnControlAdapter* aChild );
-static void InitializeBackgroundBitmapL( CXnUiEngine& aEngine, CXnNode& aNode,
-    TInt& aBitmapIndex, CFbsBitmap*& aBitmap, CFbsBitmap*& aMask,
-    CXnControlAdapterImpl::TIconProvider*& aIconProvider, RFs& aFsSession );
-static HBufC* GetBackgroundImagePathLC( CXnNode& aNode );
-static CFbsBitmap* InitializeBorderBitmapL(
-    CXnUiEngine& aEngine, CXnNode& aNode,
-    TInt& aBitmapIndex, TInt& aBorderBitmapDividerTop,
-    TInt& aBorderBitmapDividerRight, TInt& aBorderBitmapDividerBottom,
-    TInt& aBorderBitmapDividerLeft,
-    CXnControlAdapterImpl::TIconProvider*& aIconProvider, RFs& aFsSession );
-static void DrawDottedBorder(
-    TRect aBorderRect, CWindowGc& aGc, TRgb& aRgb, TBool aHorizontal );
-static HBufC* GetBackgroundImageMaskPathLC( CXnNode& aNode );
-static CFbsBitmap* CreateBitmapFromColorL( TSize aSize, TRgb aColor );
-static TBool CreateGestureHelperL( CXnNode& aNode );
-static TInt AccessResourceFileL(
-    CXnResource& aResource, RFile& aFile, RFs& aFsSession );
-static void DrawFocusAppearance( CXnNode& aNode, CWindowGc& aGc );
-static CXnDomNode* HasHoldTrigger( CXnDomNode* aNode );
-static void CancelFocusRefusalL( CXnUiEngine& aUiEngine );
-    
-// ============================= LOCAL FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-// 
-static CXnScrollableControlAdapter* IsChildOfScrollableControl( CXnNode& aNode )
-    {
-    CXnNode* parent = aNode.Parent();
-    while( parent )
-        {
-        if( parent->Type()->Type() == KScrollableBoxNodeName )
-            {
-            CXnScrollableControlAdapter* ret = static_cast<CXnScrollableControlAdapter*>(parent->Control());
-            return ret;
-            }
-        parent = parent->Parent();
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// SetControlContext
-// 
-// -----------------------------------------------------------------------------
-// 
-static void SetControlContext(CXnControlAdapter& aChild, CXnNode& aNode)
-    {
-    CXnScrollableControlAdapter* scrollableControl = IsChildOfScrollableControl( aNode );
-    if(scrollableControl)
-        {
-        aNode.SetScrollableControl(scrollableControl);
-        aChild.CopyControlContextFrom(scrollableControl);
-        }        
-    }
-
-// -----------------------------------------------------------------------------
-// AccessResourceFileL
-// Opens a resource file for accessing. The caller must close the file.
-// -----------------------------------------------------------------------------
-//
-static TInt AccessResourceFileL(
-    CXnResource& aResource,
-    RFile& aFile,
-    RFs& aFsSession )
-    {
-    TInt err = KErrNone;
-
-    // parse file name and extension
-    const TDesC& fileName = aResource.FileName();
-    TParsePtrC fileParser( fileName );
-    TPtrC filepath = fileParser.DriveAndPath();
-
-    // open resource file
-    aFsSession.SetSessionPath( filepath );
-    aFsSession.ShareProtected();
-    err = aFile.Open( aFsSession, fileName, EFileShareReadersOnly );
-    if ( err != KErrNone )
-        {
-        aFile.Close();
-        }
-
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// LoadFbsBitmapL
-// Loads a bitmap file from the theme server and creates a CFbsBitmap
-// -----------------------------------------------------------------------------
-//
-static void LoadFbsBitmapL(
-    CXnResource& aResource,
-    CFbsBitmap*& aTarget,
-    RFs& aFsSession )
-    {
-     RFile file;
-
-     TInt ret = AccessResourceFileL( aResource, file, aFsSession );
-     if ( ret == KErrNone )
-        {
-        CleanupClosePushL( file );
-        aTarget = new ( ELeave ) CFbsBitmap;
-        if ( !aTarget )
-            {
-            CleanupStack::PopAndDestroy();
-            return;
-            }
-        RFileReadStream readStream( file );
-        CleanupClosePushL( readStream );
-        aTarget->InternalizeL( readStream );
-        CleanupStack::PopAndDestroy( &readStream );
-        CleanupStack::PopAndDestroy( &file );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// LoadMifBitmapL
-// Loads a bitmap file from the theme server and creates a CFbsBitmap
-// -----------------------------------------------------------------------------
-//
-static void LoadMifBitmapL(
-    CXnResource& aResource,
-    TInt aBitmapIndex,
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aMask,
-    CXnControlAdapterImpl::TIconProvider*& aIconProvider,
-    RFs& aFsSession,
-    const TRect& aRect )
-    {
-    RFile file;
-
-    TInt ret = AccessResourceFileL( aResource, file, aFsSession );
-    if ( ret == KErrNone )
-        {
-        aIconProvider = new ( ELeave ) CXnControlAdapterImpl::TIconProvider( file );
-        }
-
-    if ( ret == KErrNone )
-        {
-        // Mask is next after bitmap
-        AknIconUtils::CreateIconL( aBitmap, aMask, *aIconProvider,
-            aBitmapIndex + KMifIdFirst, aBitmapIndex + KMifIdFirst + 1 );
-        AknIconUtils::SetSize( aBitmap, aRect.Size(), EAspectRatioNotPreserved );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// LoadMbmBitmapL
-// Loads a bitmap file from the theme server and creates a CFbsBitmap
-// -----------------------------------------------------------------------------
-//
-static void LoadMbmBitmapL(
-    CXnResource& aResource,
-    TInt aBitmapIndex,
-    CFbsBitmap*& aTarget,
-    RFs& aFsSession )
-    {
-    RFile file;
-
-    TInt ret = AccessResourceFileL( aResource, file, aFsSession );
-    if ( ret == KErrNone )
-        {
-        CleanupClosePushL( file );
-        aTarget = new ( ELeave ) CFbsBitmap;
-        aTarget->Load( file, aBitmapIndex );
-        CleanupStack::PopAndDestroy();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// LoadSVGBitmapL
-// Loads an SVG file from the theme server and creates a CFbsBitmap.
-// -----------------------------------------------------------------------------
-//
-static void LoadSVGBitmapL(
-    CXnResource& aResource,
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aBitmapMask,
-    TRect /*aRect*/,
-    RFs& aFsSession )
-    {
-    RFile file;
-
-    TInt ret = AccessResourceFileL( aResource, file, aFsSession );
-    if ( ret == KErrNone )
-        {
-        CleanupClosePushL( file );
-
-        CFbsBitmap* frameBuffer = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( frameBuffer );
-
-        frameBuffer->Create( TSize( 0, 0 ), EColor16M );
-
-        TFontSpec fontSpec;
-        CSvgEngineInterfaceImpl* svgEngine =
-            CSvgEngineInterfaceImpl::NewL( frameBuffer, NULL, fontSpec );
-
-        CleanupStack::PushL( svgEngine );
-
-        svgEngine->Load( file );
-
-        TSize contentSize = svgEngine->ContentDimensions();
-
-        TInt domHandle;
-        svgEngine->PrepareDom( file, domHandle );
-
-        svgEngine->SetSvgDimensionToFrameBuffer(
-            contentSize.iWidth, contentSize.iHeight );
-
-        CFbsBitmap* target = new ( ELeave ) CFbsBitmap;
-        target->Create( contentSize, EColor16M );
-        svgEngine->RenderDom( domHandle, target );
-
-        aBitmap = target;
-
-        CFbsBitmap* mask = new ( ELeave ) CFbsBitmap;
-        mask->Create( contentSize, EGray256 );
-        svgEngine->GenerateMask( mask );
-
-        aBitmapMask = mask;
-
-        CleanupStack::PopAndDestroy( 3, &file ); // frameBuffer, svgEngine, file
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// ResolveMifIDL
-// Resolves a mif id from a given string.
-// -----------------------------------------------------------------------------
-//
-static TBool ResolveMifIDL(
-    const TDesC& aMifId,
-    TInt& aMifID )
-    {
-    HBufC* str = aMifId.AllocL();
-    TPtr ptrMif = str->Des();
-    ptrMif.TrimAll();
-    TInt pos( ptrMif.FindF( KMif ) );
-    if ( KErrNotFound != pos )
-        {
-        pos += KMif().Length();
-        TPtr ptr = ptrMif.MidTPtr( pos, ( ptrMif.Length() - pos ) );
-        ptr.TrimAll();
-        TInt offset( ptr.Locate( KRightParenthesis ) );
-        if ( KErrNotFound != offset )
-            {
-            TLex lex( ptr.Left( offset ) );
-            lex.SkipSpace();
-            lex.Val( aMifID );
-            delete str;
-            return ETrue;
-            }
-        }
-    delete str;
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// LoadSkinBitmapL
-// Loads a skin bitmap and creates a CFbsBitmap from it.
-// -----------------------------------------------------------------------------
-//
-static TBool LoadSkinBitmapL(
-    const TDesC& aSkinId,
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aBitmapMask,
-    TRect aRect )
-    {
-    TAknsItemID itemID;
-
-    MAknsSkinInstance* skin( AknsUtils::SkinInstance() );
-
-    TInt mifId( 0 );
-
-    TInt mifFound( ResolveMifIDL( aSkinId, mifId ) );
-
-    TInt colorIndex( KErrNotFound );
-
-    if ( skin && CXnUtils::ResolveSkinItemIDL( aSkinId, itemID, colorIndex ) )
-        {
-        if ( itemID.iMajor == EAknsMajorAppIcon ) // Check if appl. icon request
-            {
-            TUid applUid;
-            applUid = TUid::Uid( itemID.iMinor );
-
-            AknsUtils::CreateAppIconLC(
-                skin, applUid, EAknsAppIconTypeList, aBitmap, aBitmapMask );
-            AknIconUtils::SetSize(
-                aBitmap, aRect.Size(), EAspectRatioNotPreserved );
-            CleanupStack::Pop( 2 ); //aBitmap, aBitmapMask
-
-            return ETrue;
-            }
-        else
-            {
-            TInt error( KErrNone );
-
-            // if we have a color index, then we create a colored icon
-            if ( colorIndex != KErrNotFound )
-                {
-                TRgb defaultColor( 0, 0, 0 );
-
-                TRAP( error, AknsUtils::CreateColorIconL(
-                    skin, itemID, KAknsIIDQsnTextColors,
-                    colorIndex, aBitmap, aBitmapMask,
-                    KNullDesC, mifId, mifId + 1, defaultColor ) );
-                }
-            else
-                {
-                TRAP( error, AknsUtils::CreateIconL(
-                    skin, itemID, aBitmap, aBitmapMask, KNullDesC,
-                    mifId, mifId + 1 ) );
-                }
-
-            if ( error != KErrNone )
-                {
-                error = KErrNone;
-                TRAP( error, AknsUtils::CreateIconL(
-                    skin, itemID, aBitmap, KNullDesC, mifId ) );
-                }
-
-            if ( error == KErrNone )
-                {
-                AknIconUtils::SetSize(
-                    aBitmap, aRect.Size(), EAspectRatioNotPreserved );
-
-                return ETrue;
-                }
-            }
-        }
-
-    if ( mifFound )
-        {
-        AknIconUtils::CreateIconL(
-            aBitmap, aBitmapMask, KAvkonBitmapFile, mifId, mifId + 1 );
-        AknIconUtils::SetSize(
-            aBitmap, aRect.Size(), EAspectRatioNotPreserved );
-
-        return ETrue;
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// GetBitmap
-// Fetches a bitmap
-// -----------------------------------------------------------------------------
-//
-static TBool GetBitmapL(
-    CXnUiEngine& aEngine,
-    CXnNode& /*aNode*/,
-    const TDesC& aResourceFileName,
-    TInt& aBitmapIndex,
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aBitmapMask,
-    CXnControlAdapterImpl::TIconProvider*& aIconProvider,
-    TRect aRect,
-    RFs& aFsSession )
-    {
-    if ( LoadSkinBitmapL( aResourceFileName, aBitmap, aBitmapMask, aRect ) )
-        {
-        return ETrue;
-        }
-
-    CXnResource* resource( CXnUtils::FindResource(
-        aEngine.Resources(), aResourceFileName, aBitmapIndex ) );
-
-    if ( resource )
-        {
-        if ( resource->ResourceType() == EResourceSVG )
-            {
-            LoadSVGBitmapL( *resource, aBitmap, aBitmapMask, aRect, aFsSession );
-
-            return ETrue;
-            }
-        else if ( resource->ResourceType() == EResourceMIF )
-            {
-            LoadMifBitmapL( *resource, aBitmapIndex, aBitmap,
-                aBitmapMask, aIconProvider, aFsSession, aRect );
-
-            return ETrue;
-            }
-        else if ( resource->ResourceType() == EResourceMBM )
-            {
-            LoadMbmBitmapL( *resource, aBitmapIndex, aBitmap, aFsSession );
-
-            return ETrue;
-            }
-        else if ( resource->ResourceType() == EResourceFBS )
-            {
-            LoadFbsBitmapL( *resource, aBitmap, aFsSession );
-
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// DrawBackgroundColorL
-// Draws background color to the padding rect
-// -----------------------------------------------------------------------------
-//
-static void DrawBackgroundColorL(
-    const TRect& /*aRect*/,
-    CXnNode& aNode,
-    CWindowGc& aGc )
-    {
-    CXnProperty* colorProperty( aNode.BackgroundColorL() );
-
-    if ( colorProperty )
-        {
-        TRect paddingRect = aNode.PaddingRect();
-
-        CXnDomPropertyValue* value =
-            static_cast< CXnDomPropertyValue* >(
-                colorProperty->Property()->PropertyValueList().Item( 0 ) );
-
-        if ( value->PrimitiveValueType() == CXnDomPropertyValue::ERgbColor )
-            {
-            TRgb rgb( value->RgbColorValueL() );
-
-            aGc.SetPenColor( rgb );
-
-            aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-            aGc.SetBrushColor( rgb );
-
-            aGc.DrawRect( paddingRect );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// StripQuotes
-// Strips enclosing quotes from a string
-// -----------------------------------------------------------------------------
-//
-static void StripQuotes( HBufC*& aString )
-    {
-    TInt pos1 = aString->Locate( '\"' );
-    TInt pos2 = aString->Locate( '\'' );
-    // check, if the first character is " or '
-    if ( pos1 == 0 || pos2 == 0 )
-        {
-        TInt len = aString->Length() - 2;
-        TPtr ptr = aString->Des();
-        TPtrC16 newString( aString->Mid( 1, len ).Ptr(), len );
-        ptr = newString;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DrawRepeatBackgroundY
-// Draws repeated background in the vertical direction
-// -----------------------------------------------------------------------------
-//
-static void DrawRepeatBackgroundY(
-    CWindowGc& aGc, TInt aYRepeatCount, CXnNode& aNode, TRect& aRect,
-    CFbsBitmap* aBitmap, TRect aBitmapRect,
-    TRect aImageRect, TInt& aYOffset )
-    {
-    for (TInt i = 0; i <= aYRepeatCount && aRect.iTl.iY < aNode.PaddingRect().iBr.iY;)
-        {
-        TRect newRect;
-        newRect = TRect(
-            aRect.iTl,
-            TPoint(
-                aRect.iTl.iX + aImageRect.Width(),
-                aRect.iTl.iY + aImageRect.Height() ) );
-        aGc.DrawBitmap( newRect, aBitmap, aBitmapRect );
-        aRect.Move( 0, newRect.Height() );
-        aYOffset += newRect.Height();
-        if ( ++i == aYRepeatCount || aYRepeatCount == 0 )
-            {
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DrawSpaceBackgroundY
-// Draws spaced background in the vertical direction
-// -----------------------------------------------------------------------------
-//
-static void DrawSpaceBackgroundY(
-    CWindowGc& aGc, TInt aYRepeatCount, CXnNode& aNode, TRect& aRect,
-    CFbsBitmap* aBitmap, TRect aBitmapRect,
-    TRect aImageRect, TInt& aYOffset )
-    {
-    for (TInt j = 0; j <= aYRepeatCount && aRect.iTl.iY < aNode.PaddingRect().iBr.iY;)
-        {
-        TRect newRect = aRect;
-        newRect = TRect(
-            aRect.iTl,
-            TPoint(
-                aRect.iTl.iX + aImageRect.Width(),
-                aRect.iTl.iY + aImageRect.Height() ) );
-        aGc.DrawBitmap( newRect, aBitmap, aBitmapRect );
-        aRect.Move( 0, newRect.Height() );
-        aYOffset += newRect.Height();
-        if ( ++j == aYRepeatCount || aYRepeatCount == 0 )
-            {
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// LimitRectToPaddingRect
-// Limits a rect so that it does not exceed padding rect
-// -----------------------------------------------------------------------------
-//
-static void LimitRectToPaddingRect( CXnNode& aNode, TRect& aRect )
-    {
-    TRect tmpRect = aNode.PaddingRect();
-    if ( aRect.iTl.iX < tmpRect.iTl.iX )
-        {
-        aRect.SetRect( tmpRect.iTl.iX, aRect.iTl.iY, aRect.iBr.iX, aRect.iBr.iY );
-        }
-    if ( aRect.iTl.iY < tmpRect.iTl.iY )
-        {
-        aRect.SetRect( aRect.iTl.iX, tmpRect.iTl.iY, aRect.iBr.iX, aRect.iBr.iY );
-        }
-    if ( aRect.iBr.iX > tmpRect.iBr.iX )
-        {
-        aRect.SetRect( aRect.iTl.iX, aRect.iTl.iY, tmpRect.iBr.iX, aRect.iBr.iY );
-        }
-    if ( aRect.iBr.iY > tmpRect.iBr.iY )
-        {
-        aRect.SetRect( aRect.iTl.iX, aRect.iTl.iY, aRect.iBr.iX, tmpRect.iBr.iY );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// GetBackroundRepeatValuesL
-// Gets background repeat information from node properties
-// -----------------------------------------------------------------------------
-//
-static void GetBackroundRepeatValuesL(
-    CXnNode& aNode,
-    TBool& aRepeatX,
-    TBool& aRepeatY,
-    TBool& aSpaceX,
-    TBool& aSpaceY )
-    {
-    CXnProperty* backgroundRepeatProperty = aNode.GetPropertyL(
-        XnPropertyNames::appearance::common::KBackGroundRepeat );
-    if ( backgroundRepeatProperty )
-        {
-        CXnDomList& propertyValueList =
-            backgroundRepeatProperty->Property()->PropertyValueList();
-        TInt valueCount = propertyValueList.Length();
-        for ( TInt i = 0; i < valueCount; ++i )
-            {
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-                propertyValueList.Item( i ) );
-            if ( value->PrimitiveValueType() == CXnDomPropertyValue::EString ||
-                 value->PrimitiveValueType() == CXnDomPropertyValue::EIdent )
-                {
-                switch ( i )
-                    {
-                    case 0:
-                        {
-                        if ( value->StringValueL() ==
-                             XnPropertyNames::appearance::common::backgroundrepeat::KRepeat )
-                            {
-                            aRepeatX = ETrue;
-                            aRepeatY = ETrue;
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundrepeat::KSpace )
-                            {
-                            aSpaceX = ETrue;
-                            aSpaceY = ETrue;
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundrepeat::KRepeatX )
-                            {
-                            aRepeatX = ETrue;
-                            aRepeatY = EFalse;
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundrepeat::KRepeatY )
-                            {
-                            aRepeatX = EFalse;
-                            aRepeatY = ETrue;
-                            }
-                        break;
-                        }
-                    case 1:
-                        {
-                        if ( value->StringValueL() ==
-                             XnPropertyNames::appearance::common::backgroundrepeat::KRepeat )
-                            {
-                            aRepeatY = ETrue;
-                            aSpaceY = EFalse;
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundrepeat::KSpace )
-                            {
-                            aRepeatY = EFalse;
-                            aSpaceY = ETrue;
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundrepeat::KNoRepeat )
-                            {
-                            aRepeatY = EFalse;
-                            aSpaceY = EFalse;
-                            }
-                        break;
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DrawRepeatedBackgroundImage
-// Draws a repeated background image
-// -----------------------------------------------------------------------------
-//
-static void DrawRepeatedBackgroundImage(
-    CWindowGc& aGc,
-    CXnNode& aNode,
-    TRect& aRect,
-    TRect aImageRect,
-    TRect aBitmapRect,
-    CFbsBitmap* aBitmap,
-    TBool aRepeatX,
-    TBool aRepeatY,
-    TBool aSpaceX,
-    TBool aSpaceY,
-    TInt aXRepeatCount,
-    TInt aYRepeatCount )
-    {
-    TRect paddingRect = aNode.PaddingRect();
-    if ( aRepeatX && !aRepeatY && !aSpaceX && !aSpaceY )
-        {
-        aRect.SetRect( TPoint( paddingRect.iTl.iX, aRect.iTl.iY ), aRect.Size() );
-        for ( TInt i = 0; i <= aXRepeatCount && aRect.iTl.iX < paddingRect.iBr.iX; )
-            {
-            TRect newRect = TRect(
-                aRect.iTl,
-                TPoint(
-                    aRect.iTl.iX + aImageRect.Width(),
-                    aRect.iTl.iY + aImageRect.Height() ) );
-            aGc.DrawBitmap( newRect, aBitmap, aBitmapRect );
-            aRect.Move( newRect.Width(), 0 );
-            if ( ++i == aXRepeatCount || aXRepeatCount == 0 )
-                {
-                break;
-                }
-            }
-        }
-    else if ( !aRepeatX && !aRepeatY && aSpaceX && !aSpaceY )
-        {
-        aRect.SetRect( TPoint( paddingRect.iTl.iX, aRect.iTl.iY ), aRect.Size() );
-        if ( aImageRect.Width() < paddingRect.Width() && aXRepeatCount > 0 )
-            {
-            aRect.Move(
-                ( paddingRect.Width() - aImageRect.Width() * aXRepeatCount ) / 2,
-                0 );
-            }
-        for ( TInt i = 0; i <= aXRepeatCount && aRect.iTl.iX < paddingRect.iBr.iX; )
-            {
-            TRect newRect = TRect(
-                aRect.iTl,
-                TPoint(
-                    aRect.iTl.iX + aImageRect.Width(),
-                    aRect.iTl.iY + aImageRect.Height() ) );
-            aGc.DrawBitmap( newRect, aBitmap, aBitmapRect );
-            aRect.Move( newRect.Width(), 0 );
-            if ( ++i == aXRepeatCount || aXRepeatCount == 0 )
-                {
-                break;
-                }
-            }
-        }
-    else if ( !aRepeatX && aRepeatY && !aSpaceX && !aSpaceY )
-        {
-        aRect.SetRect( TPoint( aRect.iTl.iX, paddingRect.iTl.iY ), aRect.Size() );
-        TInt yOffset = 0;
-        DrawRepeatBackgroundY(
-            aGc, aYRepeatCount, aNode, aRect,
-            aBitmap, aBitmapRect,
-            aImageRect, yOffset );
-        }
-    else if ( !aRepeatX && !aRepeatY && !aSpaceX && aSpaceY )
-        {
-        aRect.SetRect( TPoint( aRect.iTl.iX, paddingRect.iTl.iY ), aRect.Size() );
-        if ( aImageRect.Height() < paddingRect.Height() && aYRepeatCount > 0 )
-            {
-            aRect.Move(
-                0,
-                ( paddingRect.Height() - aImageRect.Height() * aYRepeatCount ) / 2 );
-            }
-        TInt yOffset = 0;
-        DrawSpaceBackgroundY(
-            aGc, aYRepeatCount, aNode, aRect,
-            aBitmap, aBitmapRect,
-            aImageRect, yOffset );
-        }
-    else if ( aRepeatX && aRepeatY && !aSpaceX && !aSpaceY )
-        {
-        aRect.SetRect( paddingRect.iTl, aRect.Size() );
-        TInt yOffset = 0;
-        for ( TInt i = 0; i <= aXRepeatCount && aRect.iTl.iX < paddingRect.iBr.iX; )
-            {
-            aRect.Move( 0, -yOffset );
-            yOffset = 0;
-            TRect newRect = TRect(
-                aRect.iTl,
-                TPoint(
-                    aRect.iTl.iX + aImageRect.Width(),
-                    aRect.iTl.iY + aImageRect.Height() ) );
-            aRect = newRect;
-            DrawRepeatBackgroundY(
-                aGc, aYRepeatCount, aNode, aRect,
-                aBitmap, aBitmapRect,
-                aImageRect, yOffset );
-            aRect.Move( newRect.Width(), 0 );
-            if ( ++i == aXRepeatCount || aXRepeatCount == 0 )
-                {
-                break;
-                }
-            }
-        }
-    else if ( !aRepeatX && !aRepeatY && aSpaceX && aSpaceY )
-        {
-        aRect.SetRect( paddingRect.iTl, aRect.Size() );
-        if ( aImageRect.Width() < paddingRect.Width() && aXRepeatCount > 0 )
-            {
-            aRect.Move(
-                ( paddingRect.Width() - aImageRect.Width() * aXRepeatCount ) / 2,
-                0 );
-            }
-        if ( aImageRect.Height() < paddingRect.Height() && aYRepeatCount > 0 )
-            {
-            aRect.Move(
-                0,
-                ( paddingRect.Height() - aImageRect.Height() * aYRepeatCount ) / 2 );
-            }
-        TInt yOffset = 0;
-        for ( TInt i = 0; i <= aXRepeatCount && aRect.iTl.iX < paddingRect.iBr.iX; )
-            {
-            aRect.Move( 0, -yOffset );
-            yOffset = 0;
-            TRect newRect = TRect(
-                aRect.iTl,
-                TPoint(
-                    aRect.iTl.iX + aImageRect.Width(),
-                    aRect.iTl.iY + aImageRect.Height() ) );
-            aRect = newRect;
-            DrawSpaceBackgroundY(
-                aGc, aYRepeatCount, aNode, aRect,
-                aBitmap, aBitmapRect,
-                aImageRect, yOffset );
-            aRect.Move( newRect.Width(), 0 );
-            if ( ++i == aXRepeatCount || aXRepeatCount == 0 )
-                {
-                break;
-                }
-            }
-        }
-    else if ( aRepeatX && !aRepeatY && !aSpaceX && aSpaceY )
-        {
-        aRect.SetRect( paddingRect.iTl, aRect.Size() );
-        if ( aImageRect.Height() < paddingRect.Height() && aYRepeatCount > 0 )
-            {
-            aRect.Move(
-                0,
-                ( paddingRect.Height() - aImageRect.Height() * aYRepeatCount ) / 2 );
-            }
-        TInt yOffset = 0;
-        for ( TInt i = 0; i <= aXRepeatCount && aRect.iTl.iX < paddingRect.iBr.iX; )
-            {
-            aRect.Move( 0, -yOffset );
-            yOffset = 0;
-            TRect newRect = TRect(
-                aRect.iTl,
-                TPoint(
-                    aRect.iTl.iX + aImageRect.Width(),
-                    aRect.iTl.iY + aImageRect.Height() ) );
-            aRect = newRect;
-            DrawSpaceBackgroundY(
-                aGc, aYRepeatCount, aNode, aRect,
-                aBitmap, aBitmapRect,
-                aImageRect, yOffset );
-            aRect.Move( newRect.Width(), 0 );
-            if ( ++i == aXRepeatCount || aXRepeatCount == 0 )
-                {
-                break;
-                }
-            }
-        }
-    else if ( !aRepeatX && aRepeatY && aSpaceX && !aSpaceY )
-        {
-        aRect.SetRect( paddingRect.iTl, aRect.Size() );
-        TInt yOffset = 0;
-        if ( aImageRect.Width() < paddingRect.Width() && aXRepeatCount > 0 )
-            {
-            aRect.Move(
-                ( paddingRect.Width() - aImageRect.Width() * aXRepeatCount ) / 2,
-                -yOffset );
-            }
-        for ( TInt i = 0; i <= aXRepeatCount && aRect.iTl.iX < paddingRect.iBr.iX; )
-            {
-            aRect.Move( 0, -yOffset );
-            yOffset = 0;
-            TRect newRect = TRect(
-                aRect.iTl,
-                TPoint(
-                    aRect.iTl.iX + aImageRect.Width(),
-                    aRect.iTl.iY + aImageRect.Height() ) );
-            aRect = newRect;
-            DrawRepeatBackgroundY(
-                aGc, aYRepeatCount, aNode, aRect,
-                aBitmap, aBitmapRect,
-                aImageRect, yOffset );
-            aRect.Move( newRect.Width(), 0 );
-            if ( ++i == aXRepeatCount || aXRepeatCount == 0 )
-                {
-                break;
-                }
-            }
-       }
-    }
-
-// -----------------------------------------------------------------------------
-// GetBackgroundPositionFromPropertyL
-// Gets background position information from node properties
-// -----------------------------------------------------------------------------
-//
-static TBool GetBackgroundPositionFromPropertyL(
-    CXnNode& aNode,
-    TBool aScaleImage,
-    TRect& aRect,
-    TRect aImageRect,
-    CFbsBitmap* aBitmap,
-    TBool& aHeightSet )
-    {
-    CXnProperty* backgroundPositionProperty = aNode.GetPropertyL(
-        XnPropertyNames::appearance::common::KBackGroundPosition );
-    TBool centerHorizontal = ETrue;
-    if ( backgroundPositionProperty )
-        {
-        CXnDomList& propertyValueList =
-            backgroundPositionProperty->Property()->PropertyValueList();
-        TSize size;
-        for ( TInt i = propertyValueList.Length() - 1; i >= 0; --i )
-            {
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-                propertyValueList.Item( i ) );
-            if ( value->PrimitiveValueType() == CXnDomPropertyValue::EString ||
-                 value->PrimitiveValueType() == CXnDomPropertyValue::EIdent )
-                {
-                if ( aScaleImage )
-                    {
-                    size = aImageRect.Size();
-                    }
-                else
-                    {
-                    size = aBitmap->SizeInPixels();
-                    }
-                switch ( i )
-                    {
-                    case 0:
-                        {
-                        // StringValueL will not leave, we check the type first
-                        if ( value->StringValueL() ==
-                             XnPropertyNames::appearance::common::backgroundposition::KRight )
-                            {
-                            centerHorizontal = EFalse;
-                            aRect.Move( aRect.Width(), 0 );
-                            aRect.Move( -size.iWidth, 0 );
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundposition::KLeft )
-                            {
-                            centerHorizontal = EFalse;
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundposition::KBottom )
-                            {
-                            aHeightSet = ETrue;
-                            aRect.Move( 0, aRect.Height() );
-                            aRect.Move( 0, -size.iHeight );
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundposition::KTop )
-                            {
-                            aHeightSet = ETrue;
-                            }
-                        break;
-                        }
-                    case 1:
-                        {
-                        // StringValueL will not leave, we check the type first
-                        if ( value->StringValueL() ==
-                             XnPropertyNames::appearance::common::backgroundposition::KRight )
-                            {
-                            aRect.Move( aRect.Width(), 0 );
-                            aRect.Move( -size.iWidth, 0 );
-                            centerHorizontal = EFalse;
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundposition::KLeft )
-                            {
-                            centerHorizontal = EFalse;
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundposition::KBottom )
-                            {
-                            aHeightSet = ETrue;
-                            aRect.Move( 0, aRect.Height() );
-                            aRect.Move( 0, -size.iHeight );
-                            }
-                        else if ( value->StringValueL() ==
-                                  XnPropertyNames::appearance::common::backgroundposition::KTop )
-                            {
-                            aHeightSet = ETrue;
-                            }
-                        break;
-                        }
-                    }
-                }
-           else if ( value->PrimitiveValueType() == CXnDomPropertyValue::EPercentage )
-                {
-                // FloatValueL will not leave, we check the type first
-                TReal percentage = value->FloatValueL();
-                if ( percentage > 100 )
-                    {
-                    percentage = 100;
-                    }
-                TSize size = aImageRect.Size();
-                switch ( i )
-                    {
-                    case 0:
-                        {
-                        TInt rectOffset = ( percentage / 100.0 ) * aRect.Width();
-                        TInt bitmapOffset = ( percentage / 100.0 ) * size.iWidth;
-                        aRect.Move( rectOffset, 0 );
-                        aRect.Move( -bitmapOffset, 0 );
-                        centerHorizontal = EFalse;
-                        break;
-                        }
-                    case 1:
-                        {
-                        aHeightSet = ETrue;
-                        TInt rectOffset = ( percentage / 100.0 ) * aRect.Height();
-                        TInt bitmapOffset = ( percentage / 100.0 ) * size.iHeight;
-                        aRect.Move( 0, rectOffset );
-                        aRect.Move( 0, -bitmapOffset );
-                        break;
-                        }
-                    }
-                }
-            else
-                {
-                CXnDomPropertyValue* tmpValue = NULL;
-                TRAPD( error, tmpValue = value->CloneL(); );
-                if ( error != KErrNone )
-                    {
-                    return EFalse;
-                    }
-                CXnProperty* tmpProperty = NULL;
-                TRAP( error, tmpProperty = CXnProperty::NewL(
-                    KNullDesC8,
-                    tmpValue,
-                    *aNode.UiEngine()->ODT()->DomDocument().StringPool() ); );
-                if ( error != KErrNone )
-                    {
-                    delete tmpValue;
-                    return EFalse;
-                    }
-                switch ( i )
-                    {
-                    case 0:
-                        {
-                        TInt intValue = 0;
-                        TRAP( error,
-                            intValue = aNode.UiEngine()->HorizontalPixelValueL(
-                                tmpProperty, 0 ); );
-                        if ( error != KErrNone )
-                            {
-                            delete tmpProperty;
-                            return EFalse;
-                            }
-                        aRect.Move( intValue, 0 );
-                        centerHorizontal = EFalse;
-                        break;
-                        }
-                    case 1:
-                        {
-                        aHeightSet = ETrue;
-                        TInt intValue = 0;
-                        TRAP( error,
-                            intValue = aNode.UiEngine()->VerticalPixelValueL(
-                                tmpProperty, 0 ); );
-                        if ( error != KErrNone )
-                            {
-                            delete tmpProperty;
-                            return EFalse;
-                            }
-                        aRect.Move( 0, intValue );
-                        break;
-                        }
-                    }
-                delete tmpProperty;
-                }
-            }
-        if ( centerHorizontal )
-            {
-            aRect.Move( aRect.Width() / 2, 0 );
-            aRect.Move( -size.iWidth / 2, 0 );
-            }
-        }
-    else
-        {
-        aHeightSet = ETrue;
-        }
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// GetBackgroundSizeFromPropertyL
-// Gets background size information from node properties
-// -----------------------------------------------------------------------------
-//
-static TBool GetBackgroundSizeFromPropertyL(
-    TRect& aRect,
-    CXnNode& aNode,
-    CFbsBitmap* aBitmap,
-    TBool& aScaleImage )
-    {
-    CXnProperty* backgroundSizeProperty = aNode.GetPropertyL(
-        XnPropertyNames::appearance::common::KBackGroundSize );
-    TBool widthAuto = ETrue;
-    TBool heightAuto = ETrue;
-    TBool heightSet = EFalse;
-    TSize size = aBitmap->SizeInPixels();
-    if ( backgroundSizeProperty )
-        {
-        widthAuto = EFalse;
-        heightAuto = EFalse;
-        CXnDomList& propertyValueList =
-            backgroundSizeProperty->Property()->PropertyValueList();
-        for ( TInt i = propertyValueList.Length() - 1; i >= 0; --i )
-            {
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-                propertyValueList.Item( i ) );
-            if ( value->IsAutoIdent() )
-                {
-                switch ( i )
-                    {
-                    case 0:
-                        {
-                        widthAuto = ETrue;
-                        break;
-                        }
-                    case 1:
-                        {
-                        heightAuto = ETrue;
-                        break;
-                        }
-                    }
-                }
-            }
-        for ( TInt i = propertyValueList.Length() - 1; i >= 0; --i )
-            {
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-                propertyValueList.Item( i ) );
-            if ( value->IsAutoIdent() )
-                {
-                continue;
-                }
-            else if ( value->PrimitiveValueType() == CXnDomPropertyValue::EPercentage )
-                {
-                // FloatValueL will not leave, we check the type first
-                TReal percentage = 100;
-                TRAP_IGNORE( percentage = value->FloatValueL() );
-                if ( percentage > 100 )
-                    {
-                    percentage = 100;
-                    }
-                switch ( i )
-                    {
-                    case 0:
-                        {
-                        TInt widthOffset = ( 1 - ( percentage / 100.0 ) ) * aRect.Width();
-                        if ( heightAuto )
-                            {
-                            TReal aspectRatio =
-                                static_cast< TReal >( size.iHeight ) /
-                                static_cast< TReal >( size.iWidth );
-                            aRect.Resize( -widthOffset, 0 );
-                            aRect.SetHeight(
-                                static_cast< TInt >(
-                                    static_cast< TReal >(
-                                        aRect.Width() ) * aspectRatio + 0.5 ) );
-                            aScaleImage = ETrue;
-                            heightSet = ETrue;
-                            }
-                        else
-                            {
-                            aRect.Resize( -widthOffset, 0 );
-                            aScaleImage = ETrue;
-                            }
-                        if ( !heightSet )
-                            {
-                            TInt heightOffset = ( 1 - ( percentage / 100.0 ) ) * aRect.Height();
-                            aRect.Resize( 0, -heightOffset );
-                            }
-                        break;
-                        }
-                    case 1:
-                        {
-                        TInt heightOffset = ( 1 - ( percentage / 100.0 ) ) * aRect.Height();
-                        if ( widthAuto )
-                            {
-                            TReal aspectRatio =
-                                static_cast< TReal >( size.iHeight ) /
-                                static_cast< TReal >( size.iWidth );
-                            aRect.Resize( 0, -heightOffset );
-                            aRect.SetWidth(
-                                static_cast< TInt >(
-                                    static_cast< TReal >(
-                                        aRect.Height() ) / aspectRatio + 0.5 ) );
-                            aScaleImage = ETrue;
-                            heightSet = ETrue;
-                            }
-                        else
-                            {
-                            aRect.Resize( 0, -heightOffset );
-                            aScaleImage = ETrue;
-                            heightSet = ETrue;
-                            }
-                        break;
-                        }
-                    }
-                }
-            else
-                {
-                CXnDomPropertyValue* tmpValue = NULL;
-                TRAPD( error, tmpValue = value->CloneL(); );
-                if ( error != KErrNone )
-                    {
-                    return EFalse;
-                    }
-                CXnProperty* tmpProperty = NULL;
-                TRAP( error, tmpProperty = CXnProperty::NewL(
-                    KNullDesC8, tmpValue,
-                    *aNode.UiEngine()->ODT()->DomDocument().StringPool() ); );
-                if ( error != KErrNone )
-                    {
-                    delete tmpValue;
-                    return EFalse;
-                    }
-                switch ( i )
-                    {
-                    case 0:
-                        {
-                        TInt intValue = 0;
-                        TRAP( error,
-                            intValue = aNode.UiEngine()->HorizontalPixelValueL(
-                                tmpProperty, 0 ); );
-                        TInt widthOffset = aRect.Width() - intValue;
-                        if ( heightAuto )
-                            {
-                            TReal aspectRatio =
-                                static_cast< TReal >( size.iHeight ) /
-                                static_cast< TReal >( size.iWidth );
-                            aRect.Resize( -widthOffset, 0 );
-                            aRect.SetHeight(
-                                static_cast< TInt >(
-                                    static_cast< TReal >(
-                                        aRect.Width() ) * aspectRatio + 0.5 ) );
-                            aScaleImage = ETrue;
-                            heightSet = ETrue;
-                            }
-                        else
-                            {
-                            aRect.Resize( -widthOffset, 0 );
-                            aScaleImage = ETrue;
-                            }
-                        if ( !heightSet )
-                            {
-                            TInt heightOffset = aRect.Height() - intValue;
-                            aRect.Resize( 0, -heightOffset );
-                            }
-                        break;
-                        }
-                    case 1:
-                        {
-                        TInt intValue = 0;
-                        TRAP( error,
-                            intValue = aNode.UiEngine()->VerticalPixelValueL(
-                                tmpProperty, 0 ); );
-                        TInt heightOffset = aRect.Height() - intValue;
-                        if ( widthAuto )
-                            {
-                            TReal aspectRatio =
-                                static_cast< TReal >( size.iHeight ) /
-                                static_cast< TReal >( size.iWidth );
-                            aRect.Resize( 0, -heightOffset );
-                            aRect.SetWidth(
-                                static_cast< TInt >(
-                                    static_cast< TReal >(
-                                        aRect.Height() ) / aspectRatio + 0.5 ) );
-                            aScaleImage = ETrue;
-                            heightSet = ETrue;
-                            }
-                        else
-                            {
-                            aRect.Resize( 0, -heightOffset );
-                            aScaleImage = ETrue;
-                            heightSet = ETrue;
-                            }
-                        break;
-                        }
-                    }
-                delete tmpProperty;
-                }
-            }
-        }
-    if ( widthAuto && heightAuto )
-        {
-        if ( size.iHeight < aRect.Height() )
-            {
-            aRect.SetHeight( size.iHeight );
-            }
-        if ( size.iWidth < aRect.Width() )
-            {
-            aRect.SetWidth( size.iWidth );
-            }
-        aScaleImage = EFalse;
-        }
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// LighterColor
-// Gets a color that has more HSL lightness (used for border effects)
-// -----------------------------------------------------------------------------
-//
-static TRgb LighterColor( const TRgb& aRgb )
-    {
-    TUint hue;
-    TUint saturation;
-    TUint lightness;
-    ConvertRgbToHsl( aRgb, hue, saturation, lightness );
-    if ( ( static_cast< TInt >( lightness ) + 10 ) <= 100 )
-        {
-        lightness += 10;
-        }
-    else
-        {
-        lightness = 100;
-        }
-    return ConvertHslToRgb( hue, saturation, lightness );
-    }
-
-// -----------------------------------------------------------------------------
-// DarkerColor
-// Gets a color that has less HSL lightness (used for border effects)
-// -----------------------------------------------------------------------------
-//
-static TRgb DarkerColor( const TRgb& aRgb )
-    {
-    TUint hue;
-    TUint saturation;
-    TUint lightness;
-    ConvertRgbToHsl( aRgb, hue, saturation, lightness );
-    if ( ( static_cast< TInt >( lightness ) - 10 ) >= 0 )
-        {
-        lightness -= 10;
-        }
-    else
-        {
-        lightness = 0;
-        }
-    return ConvertHslToRgb( hue, saturation, lightness );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawSolidTopBorder
-// Draw a top border with solid style
-// -----------------------------------------------------------------------------
-//
-static void DrawSolidTopBorder( CArrayFix< TPoint >* aArray, CWindowGc& aGc )
-    {
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// SplitTopBorderPolygonL
-// Split top border to two parts for border effect drawing
-// -----------------------------------------------------------------------------
-//
-static void SplitTopBorderPolygonL(
-    CArrayFix< TPoint >* aArray,
-    CArrayFix< TPoint >*& aUpperPart,
-    CArrayFix< TPoint >*& aLowerPart )
-    {
-    TPoint leftHalf =
-        TPoint(
-            ( *aArray )[0].iX + ( ( *aArray )[3].iX - ( *aArray )[0].iX ) / 2,
-            ( *aArray )[0].iY + ( ( *aArray )[3].iY - ( *aArray )[0].iY ) / 2);
-    TPoint rightHalf =
-        TPoint(
-            ( *aArray )[2].iX + ( ( *aArray )[1].iX - ( *aArray )[2].iX ) / 2,
-            ( *aArray )[1].iY + ( ( *aArray )[2].iY - ( *aArray )[1].iY ) / 2);
-    aUpperPart->AppendL( ( *aArray )[0] );
-    aUpperPart->AppendL( ( *aArray )[1] );
-    aUpperPart->AppendL( rightHalf );
-    aUpperPart->AppendL( leftHalf );
-    aLowerPart->AppendL( leftHalf );
-    aLowerPart->AppendL( rightHalf );
-    aLowerPart->AppendL( ( *aArray )[2] );
-    aLowerPart->AppendL( ( *aArray )[3] );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawRidgeTopBorderL
-// Draw top border with ridge style
-// -----------------------------------------------------------------------------
-//
-static void DrawRidgeTopBorderL(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc, TRgb& aRgb )
-    {
-    CArrayFix< TPoint >* upperPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( upperPart );
-    CArrayFix< TPoint >* lowerPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( lowerPart );
-    SplitTopBorderPolygonL( aArray, upperPart, lowerPart );
-    TRgb rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( upperPart );
-    rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( lowerPart );
-    CleanupStack::PopAndDestroy( lowerPart );
-    CleanupStack::PopAndDestroy( upperPart );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawGrooveTopBorderL
-// Draw top border with groove style
-// -----------------------------------------------------------------------------
-//
-static void DrawGrooveTopBorderL(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc, TRgb& aRgb )
-    {
-    CArrayFix< TPoint >* upperPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( upperPart );
-    CArrayFix< TPoint >* lowerPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( lowerPart );
-    SplitTopBorderPolygonL( aArray, upperPart, lowerPart );
-    TRgb rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( upperPart );
-    rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( lowerPart );
-    CleanupStack::PopAndDestroy( lowerPart );
-    CleanupStack::PopAndDestroy( upperPart );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawInsetTopBorder
-// Draw top border with inset style
-// -----------------------------------------------------------------------------
-//
-static void DrawInsetTopBorder(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc, TRgb& aRgb )
-    {
-    TRgb rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawOutsetTopBorder
-// Draw top border with outset style
-// -----------------------------------------------------------------------------
-//
-static void DrawOutsetTopBorder(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc, TRgb& aRgb )
-    {
-    TRgb rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// GetBorderColorL
-// Get border color from properties
-// -----------------------------------------------------------------------------
-//
-static TBool GetBorderColorL(
-    const TDesC8& aPropertyName,
-    CXnNode& aNode,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    CXnProperty* colorProperty = aNode.GetPropertyL( aPropertyName );
-    CXnProperty* currentColorProperty = aNode.GetPropertyL(
-        XnPropertyNames::appearance::common::KColor );
-    CXnProperty* borderColorProperty = aNode.GetPropertyL(
-        XnPropertyNames::appearance::common::KBorderColor );
-    if ( colorProperty )
-        {
-        CXnDomProperty* domProperty = colorProperty->Property();
-        CXnDomPropertyValue* propertyValue = NULL;
-        propertyValue = static_cast< CXnDomPropertyValue* >(
-            domProperty->PropertyValueList().Item( 0 ) );
-        if ( propertyValue->IsAutoIdent() )
-            {
-            MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-            TInt error = AknsUtils::GetCachedColor(
-                skinInstance,
-                aRgb,
-                KAknsIIDQsnLineColors,
-                EAknsCIQsnLineColorsCG4 );
-            if ( error != KErrNone )
-                {
-                return EFalse;
-                }
-            }
-        else
-            {
-            TRAPD( error, aRgb = propertyValue->RgbColorValueL(); );
-            if ( error != KErrNone )
-                {
-                return EFalse;
-                }
-            }
-        aGc.SetPenColor( aRgb );
-        aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-        aGc.SetBrushColor( aRgb );
-        }
-    else if ( borderColorProperty )
-        {
-        CXnDomProperty* domProperty = borderColorProperty->Property();
-        CXnDomPropertyValue* propertyValue = NULL;
-        propertyValue = static_cast< CXnDomPropertyValue* >(
-            domProperty->PropertyValueList().Item( 0 ) );
-        if ( propertyValue->IsAutoIdent() )
-            {
-            MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-            TInt error = AknsUtils::GetCachedColor(
-                skinInstance,
-                aRgb,
-                KAknsIIDQsnLineColors,
-                EAknsCIQsnLineColorsCG4 );
-            if ( error != KErrNone )
-                {
-                return EFalse;
-                }
-            }
-        else
-            {
-            TRAPD( error, aRgb = propertyValue->RgbColorValueL(); );
-            if ( error != KErrNone )
-                {
-                return EFalse;
-                }
-            }
-        aGc.SetPenColor( aRgb );
-        aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-        aGc.SetBrushColor( aRgb );
-        }
-    else if ( currentColorProperty )
-        {
-        CXnDomProperty* domProperty = currentColorProperty->Property();
-        CXnDomPropertyValue* propertyValue = NULL;
-        propertyValue = static_cast< CXnDomPropertyValue* >(
-            domProperty->PropertyValueList().Item( 0 ) );
-        if ( propertyValue->IsAutoIdent() )
-            {
-            MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-            TInt error = AknsUtils::GetCachedColor(
-                skinInstance,
-                aRgb,
-                KAknsIIDQsnLineColors,
-                EAknsCIQsnLineColorsCG4 );
-            if ( error != KErrNone )
-                {
-                return EFalse;
-                }
-            }
-        else
-            {
-            TRAPD( error, aRgb = propertyValue->RgbColorValueL(); );
-            if ( error != KErrNone )
-                {
-                return EFalse;
-                }
-            }
-        aGc.SetPenColor( aRgb );
-        aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-        aGc.SetBrushColor( aRgb );
-        }
-    else
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// DrawTopBorderL
-// Draw top border
-// -----------------------------------------------------------------------------
-//
-static void DrawTopBorderL(
-    const TRect& /*aRect*/,
-    CXnNode& aNode,
-    CWindowGc& aGc )
-    {
-    TRect borderRect = aNode.BorderRect();
-    TRect paddingRect = aNode.PaddingRect();
-    TRgb rgb;
-    if ( !GetBorderColorL( XnPropertyNames::appearance::common::KBorderTopColor, aNode, aGc, rgb ) )
-        {
-        return;
-        }
-    TPoint tl = borderRect.iTl;
-    TPoint bl = paddingRect.iTl;
-    bl.iY -= 1;
-    bl.iX -= 1;
-    TPoint tr = borderRect.iTl;
-    tr.iX += borderRect.Width()-1;
-    TPoint br = paddingRect.iTl;
-    br.iX += paddingRect.Width();
-    br.iY -= 1;
-    CArrayFix< TPoint >* array = NULL;
-    array = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    TRAPD( error,
-        array->AppendL( tl );
-        array->AppendL( tr );
-        array->AppendL( br );
-        array->AppendL( bl ) );
-    if ( error != KErrNone )
-        {
-        delete array;
-        return;
-        }
-    CXnProperty* borderTopStyle = aNode.BorderTopStyleL();
-    CXnProperty* borderStyle = aNode.BorderStyleL();
-    const TDesC8& borderStyleString = ( borderTopStyle ) ?
-        borderTopStyle->StringValue() :
-        ( borderStyle ) ? borderStyle->StringValue() : KNullDesC8;
-    if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KSolid )
-        {
-        DrawSolidTopBorder( array, aGc );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KInset )
-        {
-        DrawInsetTopBorder( array, aGc, rgb );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KOutset )
-        {
-        DrawOutsetTopBorder( array, aGc, rgb );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KRidge )
-        {
-        TRAP_IGNORE( DrawRidgeTopBorderL( array, aGc, rgb ) );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KGroove )
-        {
-        TRAP_IGNORE( DrawGrooveTopBorderL( array, aGc, rgb ) );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KDotted )
-        {
-        TPoint end( borderRect.iBr.iX, paddingRect.iTl.iY );
-        TRect rect( borderRect.iTl, end );
-        DrawDottedBorder( rect, aGc, rgb, ETrue );
-        }
-    delete array;
-    }
-
-// -----------------------------------------------------------------------------
-// DrawSolidBottomBorder
-// Draw bottom border with solid style
-// -----------------------------------------------------------------------------
-//
-static void DrawSolidBottomBorder( CArrayFix< TPoint >* aArray, CWindowGc& aGc )
-    {
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// SplitBottomBorderPolygonL
-// Split bottom border to two parts for border effect drawing
-// -----------------------------------------------------------------------------
-//
-static void SplitBottomBorderPolygonL(
-    CArrayFix< TPoint >* aArray,
-    CArrayFix< TPoint >*& aUpperPart,
-    CArrayFix< TPoint >*& aLowerPart )
-    {
-    TPoint leftHalf =
-        TPoint(
-            ( *aArray )[3].iX +  ( ( *aArray )[0].iX - ( *aArray )[3].iX ) / 2,
-            ( *aArray )[3].iY + ( ( *aArray )[0].iY - ( *aArray )[3].iY ) / 2);
-    TPoint rightHalf =
-        TPoint(
-            ( *aArray )[1].iX + ( ( *aArray )[2].iX - ( *aArray )[1].iX ) / 2,
-            ( *aArray )[2].iY + ( ( *aArray )[1].iY - ( *aArray )[2].iY ) / 2);
-    aUpperPart->AppendL( ( *aArray )[0] );
-    aUpperPart->AppendL( ( *aArray )[1] );
-    aUpperPart->AppendL( rightHalf );
-    aUpperPart->AppendL( leftHalf );
-    aLowerPart->AppendL( leftHalf );
-    aLowerPart->AppendL( rightHalf );
-    aLowerPart->AppendL( ( *aArray )[2] );
-    aLowerPart->AppendL( ( *aArray )[3] );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawRidgeBottomBorderL
-// Draw bottom border with ridge style
-// -----------------------------------------------------------------------------
-//
-static void DrawRidgeBottomBorderL(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    CArrayFix< TPoint >* upperPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( upperPart );
-    CArrayFix< TPoint >* lowerPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( lowerPart );
-    SplitBottomBorderPolygonL( aArray, upperPart, lowerPart );
-    TRgb rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( upperPart );
-    rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( lowerPart );
-    CleanupStack::PopAndDestroy( lowerPart );
-    CleanupStack::PopAndDestroy( upperPart );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawGrooveBottomBorderL
-// Draw bottom border with groove style
-// -----------------------------------------------------------------------------
-//
-static void DrawGrooveBottomBorderL(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    CArrayFix< TPoint >* upperPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( upperPart );
-    CArrayFix< TPoint >* lowerPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( lowerPart );
-    SplitBottomBorderPolygonL( aArray, upperPart, lowerPart );
-    TRgb rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( upperPart );
-    rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( lowerPart );
-    CleanupStack::PopAndDestroy( lowerPart );
-    CleanupStack::PopAndDestroy( upperPart );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawInsetBottomBorder
-// Draw bottom border with inset style
-// -----------------------------------------------------------------------------
-//
-static void DrawInsetBottomBorder(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    TRgb rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawOutsetBottomBorder
-// Draw bottom border with outset style
-// -----------------------------------------------------------------------------
-//
-static void DrawOutsetBottomBorder(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    TRgb rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawDottedBorder
-// Draw dotted border
-// -----------------------------------------------------------------------------
-//
-static void DrawDottedBorder(
-    TRect aBorderRect,
-    CWindowGc& aGc,
-    TRgb& aRgb,
-    TBool aHorizontal )
-    {
-    TInt height( aBorderRect.Height() );
-    TInt width( aBorderRect.Width() );
-
-    TInt squareSide( Min( height, width ) );
-
-    if ( !squareSide )
-        {
-        return;
-        }
-
-    // Square size 1, 2 and 3 can be drawn with pen patterns
-    if ( squareSide < 4 )
-        {
-        aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-
-        aGc.SetPenColor( aRgb );
-
-        for ( TInt i = 0; i < squareSide; i++ )
-            {
-            TPoint start;
-            TPoint end;
-
-            if ( aHorizontal )
-                {
-                start = TPoint( aBorderRect.iTl.iX, aBorderRect.iTl.iY + i );
-                end = TPoint(
-                    aBorderRect.iTl.iX + aBorderRect.Width(),
-                    aBorderRect.iTl.iY + i );
-                }
-            else
-                {
-                start = TPoint( aBorderRect.iTl.iX + i, aBorderRect.iTl.iY );
-                end = TPoint(
-                    aBorderRect.iTl.iX + i,
-                    aBorderRect.iTl.iY + aBorderRect.Height() );
-                }
-
-            if ( squareSide == 3 )
-                {
-                // dashed pen pattern 111000...
-                aGc.SetPenStyle( CGraphicsContext::EDashedPen );
-                aGc.DrawLine( start, end );
-                }
-            else
-                {
-                // dotted pen pattern 1000...
-                aGc.SetPenStyle( CGraphicsContext::EDottedPen );
-                aGc.DrawLine( start, end );
-
-                if ( aHorizontal )
-                    {
-                    start.iX += ( squareSide == 1 ) ? 2 : 1;
-                    }
-                else
-                    {
-                    start.iY += ( squareSide == 1 ) ? 2 : 1;
-                    }
-
-                aGc.SetPenStyle( CGraphicsContext::EDottedPen );
-                aGc.DrawLine( start, end );
-                }
-            }
-        }
-    else
-        {
-        aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-        aGc.SetPenStyle( CGraphicsContext::ENullPen );
-
-        aGc.SetBrushColor( aRgb );
-
-        TInt divideCount( 0 );
-
-        if ( aHorizontal )
-            {
-            divideCount = width / squareSide;
-            }
-        else
-            {
-            divideCount = height / squareSide;
-            }
-
-        TRect drawingRect( aBorderRect.iTl, TSize( squareSide, squareSide ) );
-
-        // every other is drawn
-        TInt count( divideCount / 2 );
-
-        for ( TInt i = 0; i <= count; i++ )
-            {
-            aGc.DrawRect( drawingRect );
-
-            if ( aHorizontal )
-                {
-                drawingRect.Move( squareSide * 2, 0 );
-                }
-            else
-                {
-                drawingRect.Move( 0, squareSide * 2 );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DrawBottomBorder
-// Draw bottom border
-// -----------------------------------------------------------------------------
-//
-static void DrawBottomBorderL(
-    const TRect& /*aRect*/,
-    CXnNode& aNode,
-    CWindowGc& aGc )
-    {
-    TRect borderRect = aNode.BorderRect();
-    TRect paddingRect = aNode.PaddingRect();
-    TRgb rgb;
-    if ( !GetBorderColorL( XnPropertyNames::appearance::common::KBorderBottomColor, aNode, aGc, rgb ) )
-        {
-        return;
-        }
-    TPoint tl = paddingRect.iBr;
-    tl.iX -= paddingRect.Width() + 1;
-    TPoint bl = borderRect.iBr;
-    bl.iX -= borderRect.Width();
-    bl.iY-= 1;
-    TPoint tr = paddingRect.iBr;
-    TPoint br = borderRect.iBr;
-    br.iY -= 1;
-    br.iX -= 1;
-    CArrayFix< TPoint >* array = NULL;
-    array = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    TRAPD( error,
-        array->AppendL( tl );
-        array->AppendL( tr );
-        array->AppendL( br );
-        array->AppendL( bl ); );
-    if ( error != KErrNone )
-        {
-        delete array;
-        return;
-        }
-    CXnProperty* borderBottomStyle = aNode.BorderBottomStyleL();
-    CXnProperty* borderStyle = aNode.BorderStyleL();
-    const TDesC8& borderStyleString = ( borderBottomStyle ) ?
-        borderBottomStyle->StringValue() :
-        ( borderStyle ) ? borderStyle->StringValue() : KNullDesC8;
-    if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KSolid )
-        {
-        DrawSolidBottomBorder( array, aGc );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KInset )
-        {
-        DrawInsetBottomBorder( array, aGc, rgb );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KOutset )
-        {
-        DrawOutsetBottomBorder( array, aGc, rgb );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KRidge )
-        {
-        TRAP_IGNORE( DrawRidgeBottomBorderL( array, aGc, rgb ) );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KGroove )
-        {
-        TRAP_IGNORE( DrawGrooveBottomBorderL( array, aGc, rgb ) );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KDotted )
-        {
-        TPoint origo( borderRect.iTl.iX, paddingRect.iBr.iY );
-        TRect rect( origo, borderRect.iBr );
-        DrawDottedBorder( rect, aGc, rgb, ETrue );
-        }
-    delete array;
-    }
-
-// -----------------------------------------------------------------------------
-// DrawSolidLeftBorder
-// -----------------------------------------------------------------------------
-//
-static void DrawSolidLeftBorder( CArrayFix< TPoint >* aArray, CWindowGc& aGc )
-    {
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// SplitLeftBorderPolygonL
-// -----------------------------------------------------------------------------
-//
-static void SplitLeftBorderPolygonL(
-    CArrayFix< TPoint >* aArray,
-    CArrayFix< TPoint >*& aLeftPart,
-    CArrayFix< TPoint >*& aRightPart )
-    {
-    TPoint upHalf =
-        TPoint(
-            ( *aArray )[0].iX + ( ( *aArray )[1].iX - ( *aArray )[0].iX ) / 2,
-            ( *aArray )[0].iY + ( ( *aArray )[1].iY - ( *aArray )[0].iY ) / 2);
-    TPoint downHalf =
-        TPoint(
-            ( *aArray )[3].iX + ( ( *aArray )[2].iX - ( *aArray )[3].iX ) / 2,
-            ( *aArray )[2].iY + ( ( *aArray )[3].iY - ( *aArray )[2].iY ) / 2);
-    aLeftPart->AppendL( ( *aArray )[0] );
-    aLeftPart->AppendL( upHalf );
-    aLeftPart->AppendL( downHalf );
-    aLeftPart->AppendL( ( *aArray )[3] );
-
-    aRightPart->AppendL( upHalf );
-    aRightPart->AppendL( ( *aArray )[1] );
-    aRightPart->AppendL( ( *aArray )[2]) ;
-    aRightPart->AppendL( downHalf );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawRidgeLeftBorderL
-// -----------------------------------------------------------------------------
-//
-static void DrawRidgeLeftBorderL(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    CArrayFix< TPoint >* leftPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( leftPart );
-    CArrayFix< TPoint >* rightPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( rightPart );
-    SplitLeftBorderPolygonL( aArray, leftPart, rightPart );
-    TRgb rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( leftPart );
-    rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( rightPart );
-    CleanupStack::PopAndDestroy( rightPart );
-    CleanupStack::PopAndDestroy( leftPart );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawGrooveLeftBorderL
-// -----------------------------------------------------------------------------
-//
-static void DrawGrooveLeftBorderL(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    CArrayFix< TPoint >* leftPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( leftPart );
-    CArrayFix< TPoint >* rightPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( rightPart );
-    SplitLeftBorderPolygonL( aArray, leftPart, rightPart );
-    TRgb rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( leftPart );
-    rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( rightPart );
-    CleanupStack::PopAndDestroy( rightPart );
-    CleanupStack::PopAndDestroy( leftPart );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawInsetLeftBorder
-// -----------------------------------------------------------------------------
-//
-static void DrawInsetLeftBorder(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    TRgb rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawOutsetLeftBorder
-// -----------------------------------------------------------------------------
-//
-static void DrawOutsetLeftBorder(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    TRgb rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawLeftBorderL
-// -----------------------------------------------------------------------------
-//
-static void DrawLeftBorderL(
-    const TRect& /*aRect*/,
-    CXnNode& aNode,
-    CWindowGc& aGc )
-    {
-    TRect borderRect = aNode.BorderRect();
-    TRect paddingRect = aNode.PaddingRect();
-    TRgb rgb;
-    if ( !GetBorderColorL( XnPropertyNames::appearance::common::KBorderLeftColor, aNode, aGc, rgb ) )
-        {
-        return;
-        }
-    TPoint tl = borderRect.iTl;
-    TPoint bl = borderRect.iBr;
-    bl.iX -= borderRect.Width();
-    TPoint tr = paddingRect.iTl;
-    tr.iX -= 1;
-    tr.iY -= 1;
-    TPoint br = paddingRect.iBr;
-    br.iX -= paddingRect.Width() + 1;
-    CArrayFix< TPoint >* array = NULL;
-    array = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    TRAPD( error,
-        array->AppendL( tl );
-        array->AppendL( tr );
-        array->AppendL( br );
-        array->AppendL( bl ); );
-    if ( error != KErrNone )
-        {
-        delete array;
-        return;
-        }
-    CXnProperty* borderLeftStyle = aNode.BorderLeftStyleL();
-    CXnProperty* borderStyle = aNode.BorderStyleL();
-    const TDesC8& borderStyleString = ( borderLeftStyle ) ?
-        borderLeftStyle->StringValue() :
-        ( borderStyle ) ? borderStyle->StringValue() : KNullDesC8;
-    if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KSolid )
-        {
-        DrawSolidLeftBorder( array, aGc );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KInset )
-        {
-        DrawInsetLeftBorder( array, aGc, rgb );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KOutset )
-        {
-        DrawOutsetLeftBorder( array, aGc, rgb );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KRidge )
-        {
-        TRAP_IGNORE( DrawRidgeLeftBorderL( array, aGc, rgb ) );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KGroove )
-        {
-        TRAP_IGNORE( DrawGrooveLeftBorderL( array, aGc, rgb ) );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KDotted )
-        {
-        TPoint origo( borderRect.iTl.iX, paddingRect.iTl.iY );
-        TPoint end( paddingRect.iTl.iX, paddingRect.iBr.iY );
-        TRect rect( origo, end );
-        DrawDottedBorder( rect, aGc, rgb, EFalse );
-        }
-    delete array;
-    }
-
-// -----------------------------------------------------------------------------
-// DrawSolidRightBorder
-// -----------------------------------------------------------------------------
-//
-static void DrawSolidRightBorder( CArrayFix< TPoint >* aArray, CWindowGc& aGc )
-    {
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// SplitRightBorderPolygonL
-// -----------------------------------------------------------------------------
-//
-static void SplitRightBorderPolygonL(
-    CArrayFix< TPoint >* aArray,
-    CArrayFix< TPoint >*& aLeftPart,
-    CArrayFix< TPoint >*& aRightPart )
-    {
-    TPoint upHalf =
-        TPoint(
-            ( *aArray )[0].iX + ( ( *aArray )[1].iX - ( *aArray )[0].iX ) / 2,
-            ( *aArray )[1].iY + ( ( *aArray )[0].iY - ( *aArray )[1].iY ) / 2);
-    TPoint downHalf =
-        TPoint(
-            ( *aArray )[3].iX + ( ( *aArray )[2].iX - ( *aArray )[3].iX ) / 2,
-            ( *aArray )[3].iY + ( ( *aArray )[2].iY - ( *aArray )[3].iY ) / 2);
-    aLeftPart->AppendL( ( *aArray )[0] );
-    aLeftPart->AppendL( upHalf );
-    aLeftPart->AppendL( downHalf );
-    aLeftPart->AppendL( ( *aArray )[3] );
-
-    aRightPart->AppendL( upHalf );
-    aRightPart->AppendL( ( *aArray )[1] );
-    aRightPart->AppendL( ( *aArray )[2]) ;
-    aRightPart->AppendL( downHalf );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawRidgeRightBorderL
-// -----------------------------------------------------------------------------
-//
-static void DrawRidgeRightBorderL(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    CArrayFix< TPoint >* leftPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( leftPart );
-    CArrayFix< TPoint >* rightPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( rightPart );
-    SplitRightBorderPolygonL( aArray, leftPart, rightPart );
-    TRgb rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( leftPart );
-    rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( rightPart );
-    CleanupStack::PopAndDestroy( rightPart );
-    CleanupStack::PopAndDestroy( leftPart );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawGrooveRightBorderL
-// -----------------------------------------------------------------------------
-//
-static void DrawGrooveRightBorderL(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    CArrayFix< TPoint >* leftPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( leftPart );
-    CArrayFix< TPoint >* rightPart = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    CleanupStack::PushL( rightPart );
-    SplitRightBorderPolygonL( aArray, leftPart, rightPart );
-    TRgb rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( leftPart );
-    rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( rightPart );
-    CleanupStack::PopAndDestroy( rightPart );
-    CleanupStack::PopAndDestroy( leftPart );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawInsetRightBorder
-// -----------------------------------------------------------------------------
-//
-static void DrawInsetRightBorder(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    TRgb rgb = LighterColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawOutsetRightBorder
-// -----------------------------------------------------------------------------
-//
-static void DrawOutsetRightBorder(
-    CArrayFix< TPoint >* aArray,
-    CWindowGc& aGc,
-    TRgb& aRgb )
-    {
-    TRgb rgb = DarkerColor( aRgb );
-    aGc.SetPenColor( rgb );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetBrushColor( rgb );
-    aGc.DrawPolygon( aArray );
-    }
-
-// -----------------------------------------------------------------------------
-// DrawRightBorderL
-// -----------------------------------------------------------------------------
-//
-static void DrawRightBorderL(
-    const TRect& /*aRect*/,
-    CXnNode& aNode,
-    CWindowGc& aGc )
-    {
-    TRect borderRect = aNode.BorderRect();
-    TRect paddingRect = aNode.PaddingRect();
-    TRgb rgb;
-    if ( !GetBorderColorL( XnPropertyNames::appearance::common::KBorderRightColor, aNode, aGc, rgb ) )
-        {
-        return;
-        }
-    TPoint tl = paddingRect.iTl;
-    tl.iX += paddingRect.Width();
-    TPoint bl = paddingRect.iBr;
-    TPoint tr = borderRect.iTl;
-    tr.iX += borderRect.Width()-1;
-    TPoint br = borderRect.iBr;
-    br.iX -= 1;
-    br.iY -= 1;
-    CArrayFix< TPoint >* array = NULL;
-    array = new ( ELeave ) CArrayFixFlat< TPoint >( 3 );
-    TRAPD( error,
-        array->AppendL( tl );
-        array->AppendL( tr );
-        array->AppendL( br );
-        array->AppendL( bl ); );
-    if ( error != KErrNone )
-        {
-        delete array;
-        return;
-        }
-    CXnProperty* borderRightStyle = aNode.BorderRightStyleL();
-    CXnProperty* borderStyle = aNode.BorderStyleL();
-    const TDesC8& borderStyleString = ( borderRightStyle ) ?
-        borderRightStyle->StringValue() :
-        ( borderStyle ) ? borderStyle->StringValue() : KNullDesC8;
-    if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KSolid )
-        {
-        DrawSolidRightBorder( array, aGc );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KInset )
-        {
-        DrawInsetRightBorder( array, aGc, rgb );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KOutset )
-        {
-        DrawOutsetRightBorder( array, aGc, rgb );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KRidge )
-        {
-        TRAP_IGNORE( DrawRidgeRightBorderL( array, aGc, rgb ) );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KGroove )
-        {
-        TRAP_IGNORE( DrawGrooveRightBorderL( array, aGc, rgb ) );
-        }
-    else if ( borderStyleString == XnPropertyNames::appearance::common::borderstyle::KDotted )
-        {
-        TPoint origo( paddingRect.iBr.iX, paddingRect.iTl.iY );
-        TPoint end( borderRect.iBr.iX, paddingRect.iBr.iY );
-        TRect rect( origo, end );
-        DrawDottedBorder( rect, aGc, rgb, EFalse );
-        }
-    delete array;
-    }
-
-// -----------------------------------------------------------------------------
-// DrawBorderImagesL
-// -----------------------------------------------------------------------------
-//
-static void DrawBorderImagesL(
-    const TRect& /*aRect*/,
-    CXnNode& aNode,
-    CWindowGc& aGc,
-    CFbsBitmap* aBitmap,
-    TInt aBorderBitmapDividerTop,
-    TInt aBorderBitmapDividerRight,
-    TInt aBorderBitmapDividerBottom,
-    TInt aBorderBitmapDividerLeft )
-    {
-    CXnProperty* pathProperty = aNode.BorderImageL();
-    if ( !pathProperty )
-        {
-        return;
-        }
-    TRect borderRect = aNode.BorderRect();
-    TRect paddingRect = aNode.PaddingRect();
-    TRect topLeft = TRect( borderRect.iTl, paddingRect.iTl );
-    TRect topLeftSource = TRect(
-        TPoint( 0, 0 ),
-        TPoint( aBorderBitmapDividerLeft, aBorderBitmapDividerTop ) );
-    aGc.DrawBitmap( topLeft, aBitmap, topLeftSource );
-    TRect bottomLeft = TRect(
-        TPoint( borderRect.iTl.iX, paddingRect.iTl.iY + paddingRect.Height() ),
-        TPoint( paddingRect.iTl.iX, borderRect.iTl.iY + borderRect.Height() ) );
-    TSize imageSize = aBitmap->SizeInPixels();
-    TRect bottomLeftSource = TRect(
-        TPoint( 0, imageSize.iHeight - aBorderBitmapDividerBottom ),
-        TPoint( aBorderBitmapDividerLeft, imageSize.iHeight ) );
-    aGc.DrawBitmap( bottomLeft, aBitmap, bottomLeftSource );
-    TRect topRight = TRect(
-        TPoint( paddingRect.iBr.iX, borderRect.iTl.iY ),
-        TPoint( borderRect.iBr.iX, paddingRect.iTl.iY ) );
-    TRect topRightSource = TRect(
-        TPoint( imageSize.iWidth - aBorderBitmapDividerRight, 0 ),
-        TPoint( imageSize.iWidth, aBorderBitmapDividerTop ) );
-    aGc.DrawBitmap( topRight, aBitmap, topRightSource );
-    TRect bottomRight = TRect( paddingRect.iBr, borderRect.iBr );
-    TRect bottomRightSource = TRect(
-        TPoint(
-            imageSize.iWidth - aBorderBitmapDividerRight,
-            imageSize.iHeight - aBorderBitmapDividerBottom ),
-        TPoint(
-            imageSize.iWidth,
-            imageSize.iHeight ) );
-    aGc.DrawBitmap( bottomRight, aBitmap, bottomRightSource );
-    TBool xStretch = ETrue;
-    TBool xRepeat = EFalse;
-    TBool xRound = EFalse;
-    TBool yStretch = ETrue;
-    TBool yRepeat = EFalse;
-    TBool yRound = EFalse;
-    if ( pathProperty )
-        {
-        CXnDomList& propertyValueList = pathProperty->Property()->PropertyValueList();
-        TBool xHandled = EFalse;
-        TInt count = propertyValueList.Length();
-        for ( TInt i = 0; i < count; ++i )
-            {
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-                propertyValueList.Item( i ) );
-            if ( value->PrimitiveValueType() == CXnDomPropertyValue::EString ||
-                 value->PrimitiveValueType() == CXnDomPropertyValue::EIdent )
-                {
-                const TDesC8& stringValue = value->StringValueL();
-                if ( !xHandled )
-                    {
-                    xHandled = ETrue;
-                    if ( stringValue == XnPropertyNames::appearance::common::borderimage::KStretch )
-                        {
-                        xStretch = ETrue;
-                        yStretch = ETrue;
-                        }
-                    else if ( stringValue == XnPropertyNames::appearance::common::borderimage::KRepeat )
-                        {
-                        xStretch = EFalse;
-                        yStretch = EFalse;
-                        xRepeat = ETrue;
-                        yRepeat = ETrue;
-                        }
-                    else if ( stringValue == XnPropertyNames::appearance::common::borderimage::KRound )
-                        {
-                        xStretch = EFalse;
-                        yStretch = EFalse;
-                        xRound = ETrue;
-                        yRound = ETrue;
-                        }
-                    }
-                else
-                    {
-                    if ( stringValue == XnPropertyNames::appearance::common::borderimage::KStretch )
-                        {
-                        yStretch = ETrue;
-                        yRepeat = EFalse;
-                        yRound = EFalse;
-                        }
-                    else if ( stringValue == XnPropertyNames::appearance::common::borderimage::KRepeat )
-                        {
-                        yStretch = EFalse;
-                        yRepeat = ETrue;
-                        yRound = EFalse;
-                        }
-                    else if ( stringValue == XnPropertyNames::appearance::common::borderimage::KRound )
-                        {
-                        yStretch = EFalse;
-                        yRepeat = EFalse;
-                        yRound = ETrue;
-                        }
-                    }
-                }
-            }
-        }
-    TRect top = TRect(
-        TPoint( paddingRect.iTl.iX, borderRect.iTl.iY ),
-        TPoint( paddingRect.iBr.iX, paddingRect.iTl.iY ) );
-    TRect topSource = TRect(
-        TPoint( aBorderBitmapDividerLeft, 0 ),
-        TPoint( imageSize.iWidth - aBorderBitmapDividerRight, aBorderBitmapDividerTop ) );
-    if ( xStretch )
-        {
-        aGc.DrawBitmap( top, aBitmap, topSource );
-        }
-    else if ( xRepeat && topSource.Width() )
-        {
-        TInt count = top.Width() / topSource.Width();
-        TInt topWidth = top.Width();
-        top.SetWidth( topSource.Width() );
-        for ( TInt i = 0; i < count; ++i )
-            {
-            aGc.DrawBitmap( top, aBitmap, topSource );
-            top.Move( topSource.Width(), 0 );
-            }
-        top.SetWidth( topWidth -  count * topSource.Width() );
-        aGc.DrawBitmap( top, aBitmap, topSource );
-        }
-    else if ( xRound && topSource.Width() )
-        {
-        TInt count = top.Width() / topSource.Width();
-        TInt topWidth = top.Width();
-        //top.Move((topWidth - count * topSource.Width()) / 2, 0);
-        if ( ( count * topSource.Width() ) < topWidth )
-            {
-            ++count;
-            top.SetWidth( topWidth / count );
-            }
-        else
-            {
-            top.SetWidth( topSource.Width() );
-            }
-        for ( TInt i = 0; i < count; ++i )
-            {
-            aGc.DrawBitmap( top, aBitmap, topSource );
-            top.Move( top.Width(), 0 );
-            }
-        }
-    TRect right = TRect(
-        TPoint( paddingRect.iBr.iX, paddingRect.iTl.iY ),
-        TPoint( borderRect.iBr.iX, paddingRect.iBr.iY ) );
-    TRect rightSource = TRect(
-        TPoint( imageSize.iWidth - aBorderBitmapDividerRight, aBorderBitmapDividerTop ),
-        TPoint( imageSize.iWidth, imageSize.iHeight - aBorderBitmapDividerBottom ) );
-    if ( yStretch )
-        {
-        aGc.DrawBitmap( right, aBitmap, rightSource );
-        }
-    else if ( yRepeat && rightSource.Height() )
-        {
-        TInt count = right.Height() / rightSource.Height();
-        TInt rightHeight = right.Height();
-        right.SetHeight( rightSource.Height() );
-        for ( TInt i = 0; i < count; ++i )
-            {
-            aGc.DrawBitmap( right, aBitmap, rightSource );
-            right.Move( 0, rightSource.Height() );
-            }
-        right.SetHeight( rightHeight - count * rightSource.Height() );
-        aGc.DrawBitmap( right, aBitmap, rightSource );
-        }
-    else if ( yRound && rightSource.Height() )
-        {
-        TInt count = right.Height() / rightSource.Height();
-        TInt rightHeight = right.Height();
-        if ( ( count * rightSource.Height() ) < rightHeight )
-            {
-            ++count;
-            right.SetHeight( rightHeight / count );
-            }
-        else
-            {
-            right.SetHeight( rightSource.Width() );
-            }
-        for ( TInt i = 0; i < count; ++i )
-            {
-            aGc.DrawBitmap( right, aBitmap, rightSource );
-            right.Move( 0, right.Height() );
-            }
-        }
-    TRect bottom = TRect(
-        TPoint( paddingRect.iTl.iX, paddingRect.iBr.iY ),
-        TPoint( paddingRect.iBr.iX, borderRect.iBr.iY ) );
-    TRect bottomSource = TRect(
-        TPoint( aBorderBitmapDividerLeft, imageSize.iHeight - aBorderBitmapDividerBottom ),
-        TPoint( imageSize.iWidth - aBorderBitmapDividerRight, imageSize.iHeight ) );
-    if ( xStretch )
-        {
-        aGc.DrawBitmap( bottom, aBitmap, bottomSource );
-        }
-    else if ( xRepeat && bottomSource.Width() )
-        {
-        TInt count = bottom.Width() / bottomSource.Width();
-        TInt bottomWidth = bottom.Width();
-        bottom.SetWidth( bottomSource.Width() );
-        for ( TInt i = 0; i < count; ++i )
-            {
-            aGc.DrawBitmap( bottom, aBitmap, bottomSource );
-            bottom.Move( bottomSource.Width(), 0 );
-            }
-        bottom.SetWidth( bottomWidth - count * bottomSource.Width() );
-        aGc.DrawBitmap( bottom, aBitmap, bottomSource );
-        }
-    else if ( xRound && bottomSource.Width() )
-        {
-        TInt count = bottom.Width() / bottomSource.Width();
-        TInt bottomWidth = bottom.Width();
-        if ( ( count * bottomSource.Width() ) < bottomWidth )
-            {
-            ++count;
-            bottom.SetWidth( bottomWidth / count );
-            }
-        else
-            {
-            bottom.SetWidth( bottomSource.Width() );
-            }
-        for ( TInt i = 0; i < count; ++i )
-            {
-            aGc.DrawBitmap( bottom, aBitmap, bottomSource );
-            bottom.Move( bottom.Width(), 0 );
-            }
-        }
-    TRect left = TRect(
-        TPoint( borderRect.iTl.iX, paddingRect.iTl.iY ),
-        TPoint( paddingRect.iTl.iX, paddingRect.iBr.iY ) );
-    TRect leftSource = TRect(
-        TPoint( 0, aBorderBitmapDividerTop ),
-        TPoint( aBorderBitmapDividerLeft, imageSize.iHeight - aBorderBitmapDividerBottom ) );
-    if ( yStretch )
-        {
-        aGc.DrawBitmap( left, aBitmap, leftSource );
-        }
-    else if ( yRepeat && leftSource.Height() )
-        {
-        TInt count = left.Height() / leftSource.Height();
-        TInt leftHeight = left.Height();
-        left.SetHeight( leftSource.Height() );
-        for ( TInt i = 0; i < count; ++i )
-            {
-            aGc.DrawBitmap( left, aBitmap, leftSource );
-            left.Move( 0, leftSource.Height() );
-            }
-        left.SetHeight( leftHeight - count * leftSource.Height() );
-        aGc.DrawBitmap( left, aBitmap, leftSource );
-        }
-    else if ( yRound && leftSource.Height() )
-        {
-        TInt count = left.Height() / leftSource.Height();
-        TInt leftHeight = left.Height();
-        if ( ( count * leftSource.Height() ) < leftHeight )
-            {
-            ++count;
-            left.SetHeight( leftHeight / count );
-            }
-        else
-            {
-            left.SetHeight( leftSource.Width() );
-            }
-        for ( TInt i = 0; i < count; ++i )
-            {
-            aGc.DrawBitmap( left, aBitmap, leftSource );
-            left.Move( 0, left.Height() );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// IsPropertyNone
-// -----------------------------------------------------------------------------
-//
-static TBool IsPropertyNone( CXnProperty& aProperty )
-    {
-    if ( &aProperty )
-        {
-        TInt index = 0;
-        CXnDomProperty* domProperty = aProperty.Property();
-        CXnDomPropertyValue* domPropertyValue =
-            static_cast< CXnDomPropertyValue* >(
-                domProperty->PropertyValueList().Item( index ) );
-        return domPropertyValue->IsNoneIdent();
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// DrawBordersL
-// -----------------------------------------------------------------------------
-//
-static void DrawBordersL( const TRect& aRect, CXnNode& aNode, CWindowGc& aGc )
-    {
-    TRect borderRect( aNode.BorderRect() );
-
-    if( aNode.PaddingRect() == borderRect )
-        {
-        return;
-        }
-
-    CXnProperty* commonBorderStyle( aNode.BorderStyleL() );
-    CXnProperty* borderStyle( aNode.BorderTopStyleL() );
-
-    if ( ( borderStyle && !IsPropertyNone( *borderStyle ) ) ||
-         ( commonBorderStyle && !IsPropertyNone( *commonBorderStyle ) ) )
-        {
-        DrawTopBorderL( aRect, aNode, aGc );
-        }
-
-    borderStyle = aNode.BorderLeftStyleL();
-
-    if ( ( borderStyle && !IsPropertyNone( *borderStyle ) ) ||
-         ( commonBorderStyle && !IsPropertyNone( *commonBorderStyle ) ) )
-        {
-        DrawLeftBorderL( aRect, aNode, aGc );
-        }
-
-    borderStyle = aNode.BorderRightStyleL();
-
-    if ( ( borderStyle && !IsPropertyNone( *borderStyle ) ) ||
-         ( commonBorderStyle && !IsPropertyNone( *commonBorderStyle ) ) )
-        {
-        DrawRightBorderL( aRect, aNode, aGc );
-        }
-
-    borderStyle = aNode.BorderBottomStyleL();
-
-    if ( ( borderStyle && !IsPropertyNone( *borderStyle ) ) ||
-         ( commonBorderStyle && !IsPropertyNone( *commonBorderStyle ) ) )
-        {
-        DrawBottomBorderL( aRect, aNode, aGc );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// SwapChildArrays
-// -----------------------------------------------------------------------------
-//
-static void SwapChildArrays(
-    RPointerArray< CXnControlAdapter >& originalArray,
-    RPointerArray< CXnControlAdapter >& sortedArray )
-    {
-    originalArray.Reset();
-    TInt count = sortedArray.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        originalArray.Append( sortedArray[i] );
-        }
-    sortedArray.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// IsChildZIndexLowerThanCandidateZIndexL
-// -----------------------------------------------------------------------------
-//
-static TBool IsChildZIndexLowerThanCandidateZIndexL(
-    CXnProperty* aChildZIndex,
-    CXnDomPropertyValue* aChildZIndexValue,
-    CXnProperty* aCandidateZIndex )
-    {
-    if ( !aChildZIndex && !aCandidateZIndex )
-        {
-        return ETrue;
-        }
-    if ( !aChildZIndex )
-        {
-        CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-            aCandidateZIndex->Property()->PropertyValueList().Item( 0 ) );
-        if ( value->IsAutoIdent() )
-            {
-            return ETrue;
-            }
-        TReal num = value->FloatValueL();
-        if ( num > 0 )
-            {
-            return ETrue;
-            }
-        }
-    else if ( !aCandidateZIndex )
-        {
-        if ( aChildZIndexValue->IsAutoIdent() )
-            {
-            return ETrue;
-            }
-        TReal num = aChildZIndexValue->FloatValueL();
-        if ( num < 0 )
-            {
-            return ETrue;
-            }
-        }
-    else
-        {
-        CXnDomPropertyValue* candidateValue =
-            static_cast< CXnDomPropertyValue* >(
-                aCandidateZIndex->Property()->PropertyValueList().Item( 0 ) );
-        if ( aChildZIndexValue->IsAutoIdent() && candidateValue->IsAutoIdent() )
-            {
-            return ETrue;
-            }
-        else if ( aChildZIndexValue->IsAutoIdent() && !candidateValue->IsAutoIdent() )
-            {
-            return ETrue;
-            }
-        else if ( !aChildZIndexValue->IsAutoIdent() && candidateValue->IsAutoIdent() )
-            {
-            return EFalse;
-            }
-        TReal childNum = aChildZIndexValue->FloatValueL();
-        TReal candidateNum = candidateValue->FloatValueL();
-        if ( childNum <= candidateNum )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// GetZIndex
-// -----------------------------------------------------------------------------
-//
-static CXnProperty* GetZIndexL( CXnControlAdapter* aAdapter )
-    {
-    CXnComponent* component = aAdapter->Component();
-    if ( !component )
-        {
-        return NULL;
-        }
-    CXnNode& node = component->Node()->Node();
-    return node.ZIndexL();
-    }
-
-// -----------------------------------------------------------------------------
-// InsertChildToSortedArrayL
-// -----------------------------------------------------------------------------
-//
-static void InsertChildToSortedArrayL(
-    RPointerArray< CXnControlAdapter >& aTargetArray,
-    CXnControlAdapter* aChild )
-    {
-    CXnProperty* childZIndex = GetZIndexL( aChild );
-    CXnDomPropertyValue* childValue = NULL;
-    if ( childZIndex )
-        {
-        childValue = static_cast< CXnDomPropertyValue* >(
-            childZIndex->Property()->PropertyValueList().Item( 0 ) );
-        }
-    TInt count = aTargetArray.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnControlAdapter* candidate = aTargetArray[i];
-        if ( IsChildZIndexLowerThanCandidateZIndexL(
-                 childZIndex, childValue, GetZIndexL( candidate ) ) )
-            {
-            aTargetArray.Insert( aChild, i );
-            return;
-            }
-        }
-    aTargetArray.Append( aChild );
-    }
-
-// -----------------------------------------------------------------------------
-// InitializeBackgroundBitmapL
-// -----------------------------------------------------------------------------
-//
-static void InitializeBackgroundBitmapL( CXnUiEngine& aEngine, CXnNode& aNode,
-    TInt& aBitmapIndex, CFbsBitmap*& aBitmap, CFbsBitmap*& aMask,
-    CXnControlAdapterImpl::TIconProvider*& aIconProvider, RFs& aFsSession )
-    {
-    HBufC* bgPath( GetBackgroundImagePathLC( aNode ) );
-    TPtr ptr( bgPath->Des() );
-
-    GetBitmapL( aEngine, aNode, ptr, aBitmapIndex,
-                aBitmap, aMask, aIconProvider, aNode.PaddingRect(), aFsSession );
-
-    CleanupStack::PopAndDestroy( bgPath );
-
-    if ( !aMask )
-        {
-        HBufC* bgMaskPath( GetBackgroundImageMaskPathLC( aNode ) );
-        TPtr ptr( bgMaskPath->Des() );
-
-        if ( ptr != KNullDesC )
-            {
-            CFbsBitmap* tmpMask( NULL );
-
-            TRAP_IGNORE( GetBitmapL( aEngine, aNode, ptr, aBitmapIndex, aMask,
-                tmpMask, aIconProvider, aNode.PaddingRect(), aFsSession ) );
-
-            delete tmpMask;
-            }
-
-        CleanupStack::PopAndDestroy( bgMaskPath );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// GetBackgroundImagePathLC
-// -----------------------------------------------------------------------------
-//
-static HBufC* GetBackgroundImagePathLC( CXnNode& aNode )
-    {
-    CXnProperty* pathProperty( aNode.BackgroundImageL() );
-
-    if ( pathProperty && pathProperty->StringValue() != KNullDesC8 )
-        {
-        HBufC* path( pathProperty->StringValueL() );
-        CleanupStack::PushL( path );
-
-        CXnUtils::StripQuotes( path );
-
-        return path;
-        }
-
-    return KNullDesC().AllocLC();
-    }
-
-// -----------------------------------------------------------------------------
-// GetBackgroundImageMaskPathLC
-// -----------------------------------------------------------------------------
-//
-static HBufC* GetBackgroundImageMaskPathLC( CXnNode& aNode )
-    {
-    CXnProperty* pathProperty( aNode.GetPropertyL(
-        XnPropertyNames::common::KBackgroundMask ) );
-
-    if ( pathProperty && pathProperty->StringValue() != KNullDesC8 )
-        {
-        HBufC* path( pathProperty->StringValueL() );
-        CleanupStack::PushL( path );
-
-        CXnUtils::StripQuotes( path );
-
-        return path;
-        }
-
-    return KNullDesC().AllocLC();
-    }
-
-// -----------------------------------------------------------------------------
-// InitializeBorderBitmapL
-// -----------------------------------------------------------------------------
-//
-static CFbsBitmap* InitializeBorderBitmapL(
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    TInt& aBitmapIndex,
-    TInt& aBorderBitmapDividerTop,
-    TInt& aBorderBitmapDividerRight,
-    TInt& aBorderBitmapDividerBottom,
-    TInt& aBorderBitmapDividerLeft,
-    CXnControlAdapterImpl::TIconProvider*& aIconProvider,
-    RFs& aFsSession )
-    {
-    CXnProperty* pathProperty = aNode.BorderImageL();
-    CFbsBitmap* returnValue = NULL;
-    CFbsBitmap* bitmapMask = NULL;
-
-    if ( !pathProperty )
-        {
-        return NULL;
-        }
-    
-    CXnDomList& propertyValueList = pathProperty->Property()->PropertyValueList();
-    TInt count = propertyValueList.Length();
-
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-            propertyValueList.Item( i ) );
-
-        if ( value->PrimitiveValueType() == CXnDomPropertyValue::EUri )
-            {
-            const TDesC8& path = value->StringValueL();
-
-            HBufC* utfPath = HBufC::NewL( path.Length() );
-            TPtr16 ptr = utfPath->Des();
-
-            CnvUtfConverter::ConvertToUnicodeFromUtf8( ptr, path );
-            CleanupStack::PushL( utfPath );
-
-            StripQuotes( utfPath );
-
-            GetBitmapL( aEngine, aNode, *utfPath, aBitmapIndex, returnValue,
-                    bitmapMask, aIconProvider, aNode.BorderRect(), aFsSession );
-
-            delete bitmapMask;
-
-            CleanupStack::PopAndDestroy( utfPath );
-            }
-       else if ( value->PrimitiveValueType() == CXnDomPropertyValue::EPercentage )
-            {
-            if ( returnValue )
-                {
-                CXnDomPropertyValue* tmpValue = NULL;
-                tmpValue = value->CloneL();
-                CXnProperty* tmpProperty = NULL;
-                CleanupStack::PushL( tmpValue );
-                tmpProperty = CXnProperty::NewL(
-                    KNullDesC8,
-                    tmpValue,
-                *aNode.UiEngine()->ODT()->DomDocument().StringPool() );
-                CleanupStack::Pop( tmpValue );
-                TSize imageSize = returnValue->SizeInPixels();
-                CleanupStack::PushL( tmpProperty );
-                TInt intValue = static_cast< TInt >( value->FloatValueL() );
-                TInt dividerValue = 0;
-    
-                switch ( i )
-                    {
-                    case 1:
-                        {
-                        dividerValue = aNode.UiEngine()->VerticalPixelValueL(
-                            tmpProperty, imageSize.iHeight );
-                        aBorderBitmapDividerTop = dividerValue;
-                        break;
-                        }
-                    case 2:
-                        {
-                        dividerValue = aNode.UiEngine()->HorizontalPixelValueL(
-                            tmpProperty, imageSize.iWidth );
-                        aBorderBitmapDividerRight = dividerValue;
-                        break;
-                        }
-                    case 3:
-                        {
-                        dividerValue = aNode.UiEngine()->VerticalPixelValueL(
-                            tmpProperty, imageSize.iHeight );
-                        aBorderBitmapDividerBottom = dividerValue;
-                        break;
-                        }
-                    case 4:
-                        {
-                        dividerValue = aNode.UiEngine()->HorizontalPixelValueL(
-                            tmpProperty, imageSize.iWidth );
-                        aBorderBitmapDividerLeft = dividerValue;
-                        break;
-                        }
-                    }
-    
-                CleanupStack::PopAndDestroy( tmpProperty );
-                }
-            }
-       else if ( value->PrimitiveValueType() == CXnDomPropertyValue::EString ||
-                 value->PrimitiveValueType() == CXnDomPropertyValue::EIdent )
-            {
-            }
-       else
-            {
-            TInt intValue = static_cast< TInt >( value->FloatValueL() );
-
-            switch ( i )
-                {
-                case 1:
-                    {
-                    aBorderBitmapDividerTop = intValue;
-                    break;
-                    }
-                case 2:
-                    {
-                    aBorderBitmapDividerRight = intValue;
-                    break;
-                    }
-                case 3:
-                    {
-                    aBorderBitmapDividerBottom = intValue;
-                    break;
-                    }
-                case 4:
-                    {
-                    aBorderBitmapDividerLeft = intValue;
-                    break;
-                    }
-                }
-            }
-        }
-
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildTriggerTypeNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildTriggerTypeNodeL( const TDesC8& aName,
-    const TDesC8& aValue, CXnUiEngine& aUiEngine )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KProperty );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString, aName );
-    CXnProperty* name = CXnProperty::NewL( XnPropertyNames::action::KName,
-        nameValue, *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( valueValue );
-    valueValue->SetStringValueL( CXnDomPropertyValue::EString, aValue );
-    CXnProperty* value = CXnProperty::NewL( XnPropertyNames::action::KValue,
-        valueValue, *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( valueValue );
-    CleanupStack::PushL( value );
-    node->SetPropertyL( value );
-    CleanupStack::Pop( value );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildTriggerNodeL
-// Builds a trigger node
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildTriggerNodeL(
-    CXnUiEngine& aUiEngine,
-    const TDesC8& aTriggerName,
-    const TDesC8& aTriggerValueName,
-    const TDesC8& aTriggerValue )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue =
-        CXnDomPropertyValue::NewL( aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
-    CXnProperty* name = CXnProperty::NewL( XnPropertyNames::action::trigger::KName,
-        nameValue, *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CXnNode* triggerType = BuildTriggerTypeNodeL( aTriggerValueName,
-        aTriggerValue, aUiEngine );
-    CleanupStack::PushL( triggerType );
-    node->AddChildL( triggerType );
-    CleanupStack::Pop( triggerType );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildTriggerNodeL
-// Builds a trigger node
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildTriggerNodeL(
-    CXnUiEngine& aUiEngine,
-    const TDesC8& aTriggerName )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue =
-        CXnDomPropertyValue::NewL( aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
-    CXnProperty* name = CXnProperty::NewL( XnPropertyNames::action::trigger::KName,
-        nameValue, *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// Create scaled bitmap from source bitmap.
-// -----------------------------------------------------------------------------
-//
-void CreateScaledBitmapL(
-    const TRect& aRect,
-    CFbsBitmap*& aTrgBitmap,
-    CFbsBitmap* aSrcBitmap,
-    TBool aPreserveAspectRatio,
-    TBool aForceFallBack )
-    {
-    TRect destRect = aRect;
-
-    if ( aPreserveAspectRatio )
-        {
-        // Calculate the bitmap image dimensions so that it uses maximum space
-        // of the given rectangle and maintains aspect ratio.
-        TInt srcHeight = aSrcBitmap->SizeInPixels().iHeight;
-        TInt srcWidth = aSrcBitmap->SizeInPixels().iWidth;
-        TReal scaleRatio( 1 ); //no scale as defaul
-
-        //If any dimension is 0, then we do not bother to scale
-        if ( aRect.Width() > 0 && aRect.Height() > 0 )
-            {
-            TReal xRatio = ( ( TReal )srcWidth / ( TReal )aRect.Width() );
-            TReal yRatio = ( ( TReal )srcHeight / ( TReal )aRect.Height() );
-            //Find out appropriate scaling factor
-            xRatio > yRatio ? ( scaleRatio = xRatio ) : ( scaleRatio = yRatio );
-            }
-
-        //Scale the size for target bitmap
-        destRect.SetHeight( srcHeight / scaleRatio );
-        destRect.SetWidth( srcWidth / scaleRatio );
-        }
-
-    // see if there's a need to scale. If source and destination size are the same,
-    // then we don't need to duplicate the bitmap. aTrgBitmap will be null.
-    TSize srcSize = aSrcBitmap->SizeInPixels();
-    TSize destSize = destRect.Size();
-    if ( srcSize == destSize )
-        {
-        return;
-        }
-
-    aTrgBitmap = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( aTrgBitmap );
-    //It is allowed to create zero height or width bitmap.
-    TInt err( aTrgBitmap->Create( destRect.Size(), aSrcBitmap->DisplayMode() ) );
-
-    if ( err == KErrNone )
-        {
-        CXnUtils::ScaleBitmapExtL( destRect, aTrgBitmap, aSrcBitmap, aForceFallBack );
-        }
-
-    //we do not own the bitmap so just Pop.
-    CleanupStack::Pop( aTrgBitmap );
-    }
-
-// -----------------------------------------------------------------------------
-// SoftkeyNode
-// Gets the node of softkey according to index
-// -----------------------------------------------------------------------------
-//
-static CXnNode* SoftkeyNodeL( CXnNode* aMenuBarNode, const TDesC8& aSoftkey )
-    {
-    if ( aMenuBarNode )
-        {
-        XnMenuInterface::MXnMenuInterface* menuIf( NULL );
-        XnComponentInterface::MakeInterfaceL( menuIf, aMenuBarNode->AppIfL() );
-        CXnNodePluginIf* skNode( NULL );
-        if ( menuIf )
-            {
-            if ( aSoftkey == XnPropertyNames::softkey::type::KLeft )
-                {
-                skNode = menuIf->SoftKeyL(
-                    XnMenuInterface::MXnMenuInterface::ELeft );
-                }
-            else if ( aSoftkey == XnPropertyNames::softkey::type::KMiddle )
-                {
-                skNode = menuIf->SoftKeyL(
-                    XnMenuInterface::MXnMenuInterface::ECenter );
-                }
-            else if ( aSoftkey == XnPropertyNames::softkey::type::KRight )
-                {
-                skNode = menuIf->SoftKeyL(
-                    XnMenuInterface::MXnMenuInterface::ERight );
-                }
-            }
-        if ( skNode )
-            {
-            return &skNode->Node();
-            }
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// SoftkeyNode
-// Gets the node of softkey according to pointer location
-// -----------------------------------------------------------------------------
-//
-static CXnNode* SoftkeyNode( CXnNode* aMenuBarNode, const TPoint aPosition )
-    {
-    if ( aMenuBarNode )
-        {
-        CXnMenuAdapter* adapter = static_cast< CXnMenuAdapter* >(
-            aMenuBarNode->ComponentNodeImpl()->Component()->ControlAdapter() );
-
-        CXnNodePluginIf* node( NULL );
-
-        if ( adapter->FindSoftKeyNodeByPosition( aPosition, node ) )
-            {
-            return &node->Node();
-            }
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// DrawFocusAppearance
-// Draws focus appearance
-// -----------------------------------------------------------------------------
-//
-static void DrawFocusAppearance( CXnNode& aNode, CWindowGc& aGc )    
-    {    
-    TBool grow( EFalse );
-    
-    const TDesC8& name( aNode.DomNode()->Name() );
-        
-    if( name == XnPropertyNames::KPlugin )
-        {
-        grow = ETrue;
-        }
-    else
-        {
-        TRect marginRect( aNode.MarginRect() );
-        
-        CXnNode* parent( aNode.Parent() );
-        
-        for( ; parent; parent = parent->Parent() )
-            {
-            if( parent->DomNode()->Name() == XnPropertyNames::KPlugin )
-                {
-                if( parent->Rect() == marginRect )
-                    {
-                    grow = ETrue;
-                    }
-                
-                break;
-                }
-            }                
-        }
-    
-    TRect rect( aNode.PaddingRect() );
-    
-    if( grow )
-        {
-        rect.Grow( KFocusGrowValue, KFocusGrowValue );
-        }
-
-    CXnAppUiAdapter* appui( 
-        static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) );
-    
-    appui->ViewAdapter().FocusControl().Draw( rect, aGc );    
-    }
-
-// -----------------------------------------------------------------------------
-// HasHoldTrigger
-// Queries whether this node has a hold trigger defined
-// -----------------------------------------------------------------------------
-//
-static CXnDomNode* HasHoldTrigger( CXnDomNode* aNode )
-    {    
-    if ( !aNode )
-        {        
-        return NULL;
-        }
-
-    if ( aNode->Name() == XnPropertyNames::action::KTrigger )
-        {
-        CXnDomList& list( aNode->AttributeList() );
-        
-        CXnDomAttribute* name( NULL );
-        
-        name = static_cast< CXnDomAttribute* >(  
-            list.FindByName( XnPropertyNames::action::KName ) );
-                    
-        if ( name && name->Value() == XnPropertyNames::action::trigger::name::KHold )
-            {
-            return aNode;            
-            }
-        }
-
-    CXnDomList& list( aNode->ChildNodes() );
-
-    for ( TInt i = 0; i < list.Length(); i++ )
-        {
-        CXnDomNode* retval( HasHoldTrigger(
-            static_cast< CXnDomNode* >( list.Item( i ) ) ) );
-
-        if ( retval )
-            {
-            return retval;
-            }
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CancelFocusRefusalL
-// Cancels focus refusal
-// -----------------------------------------------------------------------------
-//
-static void CancelFocusRefusalL( CXnUiEngine& aUiEngine )
-    {
-    CXnNode* focused( aUiEngine.FocusedNode() );
-    
-    if ( focused )
-        {
-        CXnControlAdapter* control( focused->Control() );
-        
-        if ( control && control->RefusesFocusLoss() )
-            {
-            // It is now time to give up holding focus
-            focused->UnsetStateL( 
-                XnPropertyNames::style::common::KFocus );
-            }
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// BuildSwipeTriggerNodeLC
-// Build trigger node for swipe event
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnControlAdapterImpl::BuildSwipeTriggerNodeLC(
-    CXnUiEngine& aUiEngine,
-    const TDesC8& aDirection )
-    {
-    CXnDomStringPool* sp( aUiEngine.ODT()->DomDocument().StringPool() );
-
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL( sp );
-    CleanupStack::PushL( nameValue );
-
-    nameValue->SetStringValueL(
-        CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::KSwipe );
-
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName,
-        nameValue, *sp );
-
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-
-    CXnDomPropertyValue* reasonValue = CXnDomPropertyValue::NewL( sp );
-    CleanupStack::PushL( reasonValue );
-
-    reasonValue->SetStringValueL( CXnDomPropertyValue::EString, aDirection );
-
-    CXnProperty* reason = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::name::swipe::KDirection,
-        reasonValue, *sp );
-
-    CleanupStack::Pop( reasonValue );
-
-    CleanupStack::PushL( reason );
-    node->SetPropertyL( reason );
-    CleanupStack::Pop( reason );
-
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// CreateGestureHelperL
-// Checks whether gesture is needed to be detected for this node
-// -----------------------------------------------------------------------------
-//
-static TBool CreateGestureHelperL( CXnNode& aNode )
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        CXnProperty* prop( aNode.GetPropertyL( XnPropertyNames::common::KSwipe ) );
-
-        if ( prop && prop->StringValue() == XnPropertyNames::KTrue )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::NewL
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapterImpl* CXnControlAdapterImpl::NewL(
-    CXnNodePluginIf& aNode,
-    CXnControlAdapter& aAdapter,
-    CWindowGc& aGc )
-    {
-    CXnControlAdapterImpl* self = new ( ELeave ) CXnControlAdapterImpl( aNode );
-    CleanupStack::PushL( self );
-    self->ConstructL( aNode, aAdapter, aGc );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::~CXnControlAdapterImpl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapterImpl::~CXnControlAdapterImpl()
-    {
-    delete iBackgroundBitmap;
-    delete iBackgroundMask;
-    delete iBorderBitmap;
-    delete iContentBitmap;
-    delete iContentMask;
-
-    delete iScaledContentBitmap;
-    delete iScaledContentMask;
-
-    delete iScaledTransparentColor;
-    delete iScaledBackgroundSkin;
-    delete iScaledBackgroundImage;
-
-    iChildren.Reset();
-
-    if ( iAnimation )
-        {
-        iAnimation->Stop();
-        delete iAnimation;
-        }
-
-    if ( iGestureHelper )
-        {
-        delete iGestureHelper;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::CXnControlAdapterImpl
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapterImpl::CXnControlAdapterImpl( CXnNodePluginIf& aNode )
-    : iNode( aNode )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::SetComponent
-// Sets component object to adapter.
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::SetComponent( CXnComponent* aComponent )
-    {
-    iComponent = aComponent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::Component
-// Gets component object from adapter.
-// -----------------------------------------------------------------------------
-//
-CXnComponent* CXnControlAdapterImpl::Component()
-    {
-    return iComponent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::Component
-// Gets component object from adapter.
-// -----------------------------------------------------------------------------
-//
-CXnComponent* CXnControlAdapterImpl::Component() const
-    {
-    return iComponent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::OfferKeyEventL
-// Handles key events.
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CXnControlAdapterImpl::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    CXnNode* node( &iNode.Node() );
-
-    // Need to get softkey nodes
-    CXnUiEngine* engine( node->UiEngine() );
-
-    CXnNode* menuBar( engine->MenuBarNode() );
-
-    CXnNode* temp( node );
-
-    for ( ; temp; temp = temp->Parent() )
-        {
-        if ( temp == menuBar )
-            {
-            // This is softkey node
-            const TDesC8* pos( NULL );
-            node = NULL;
-
-            if ( aKeyEvent.iScanCode == EStdKeyDevice0 )
-                {
-                pos = &XnPropertyNames::softkey::type::KLeft;
-                }
-            else if ( aKeyEvent.iScanCode == EStdKeyDevice1 )
-                {
-                pos = &XnPropertyNames::softkey::type::KRight;
-                }
-            else if ( aKeyEvent.iScanCode == EStdKeyDevice3 )
-                {
-                pos = &XnPropertyNames::softkey::type::KMiddle;
-                }
-
-            if ( pos )
-                {
-                node = SoftkeyNodeL( menuBar, *pos );
-                }
-
-            break;
-            }
-        }
-
-    if ( !node )
-        {
-        return EKeyWasNotConsumed;
-        }
-
-    if ( aKeyEvent.iScanCode == EStdKeyDevice0 || // RSK
-         aKeyEvent.iScanCode == EStdKeyDevice1 || // LSK
-         aKeyEvent.iScanCode == EStdKeyDevice3 )  // MSK
-        {
-        if ( aType == EEventKeyDown )
-            {
-            iLongtap = EFalse;
-            
-            if ( aKeyEvent.iScanCode == EStdKeyDevice3 ||
-                aKeyEvent.iScanCode == EStdKeyEnter )
-                {
-                if ( node->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-                    {
-                    // Set "pressed down"
-                    node->SetStateL( 
-                        XnPropertyNames::style::common::KPressedDown );
-                    
-                    node->UiEngine()->RenderUIL();
-                    }                
-                }
-            
-            _LIT8( KDown, "3" ); // EEventKeyDown == 3
-            
-            CXnNode* keydown( BuildTriggerNodeL( *engine,                
-                XnPropertyNames::action::trigger::name::KActivate,
-                XnPropertyNames::action::trigger::name::keyevent::KEventType, KDown ) );                
-            CleanupStack::PushL( keydown );
-
-            node->ReportXuikonEventL( *keydown );
-
-            CleanupStack::PopAndDestroy( keydown );                              
-            }
-        else if( aType == EEventKey )
-            {
-            if ( aKeyEvent.iRepeats == 0 )
-                {
-                if ( !HasHoldTrigger( node->DomNode() ) )
-                    {
-                    // If node doesn't define hold trigger, then report activate
-                    // immediately. Otherwise activate is triggered with keyup event
-                    node->SetStateL( 
-                        XnPropertyNames::style::common::KActive );                     
-                    }
-                }
-            else
-                {
-                CXnNode* hold( BuildTriggerNodeL( *engine,
-                    XnPropertyNames::action::trigger::name::KHold ) );
-                CleanupStack::PushL( hold );
-
-                node->ReportXuikonEventL( *hold );
-
-                CleanupStack::PopAndDestroy( hold );
-                
-                iLongtap = ETrue;
-                }
-            }
-                
-        else if ( aType == EEventKeyUp )
-            {
-            if ( !iLongtap )
-                {
-                if ( HasHoldTrigger( node->DomNode() ) )
-                    {
-                    // Hold trigger defined, report activate event here                   
-                    node->SetStateL( 
-                        XnPropertyNames::style::common::KActive );                     
-                    }
-                else
-                    {
-                    _LIT8( KUp, "2" ); // EEventKeyUp == 2
-                    
-                    CXnNode* keyup( BuildTriggerNodeL( *engine,                
-                        XnPropertyNames::action::trigger::name::KActivate,
-                        XnPropertyNames::action::trigger::name::keyevent::KEventType, KUp ) );                
-                    CleanupStack::PushL( keyup );
-        
-                    node->ReportXuikonEventL( *keyup );
-                    
-                    CleanupStack::PopAndDestroy( keyup );                    
-                    }
-                }
-            
-            if ( aKeyEvent.iScanCode == EStdKeyDevice3 ||
-                aKeyEvent.iScanCode == EStdKeyEnter )
-                {
-                // Reset "pressed down"
-                node->UnsetStateL( 
-                    XnPropertyNames::style::common::KPressedDown );
-                
-                node->UiEngine()->RenderUIL();
-                }                                    
-            
-            iLongtap = EFalse;
-            }
-        }
-    else
-        {
-        // Other than softkey node
-        node->OfferKeyEventL( aKeyEvent, aType );
-        }
-    
-    CXnNode* viewNode( engine->ActiveView() );
-
-    if ( viewNode && node != viewNode )
-        {
-        viewNode->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    return EKeyWasConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::HandleLongTapEventL
-// Handles the long tap events.
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::HandleLongTapEventL(
-    const TPoint& /*aPenEventLocation*/, const TPoint& aPenEventScreenLocation )
-    {
-    CXnNode* node( &iNode.Node() );
-
-    CXnUiEngine* engine( node->UiEngine() );
-
-    TBool menuBar( node == engine->MenuBarNode() );
-
-    if ( menuBar )
-        {
-        // Need to update node to match to the real softkey node
-        node = SoftkeyNode( engine->MenuBarNode(), aPenEventScreenLocation );
-        }
-
-    if ( node )
-        {
-        CXnProperty* prop( node->GetPropertyL(
-            XnPropertyNames::common::KLongTap ) );
-
-        if ( prop && prop->StringValue() == XnPropertyNames::KTrue )
-            {                        
-            CXnUiEngine* engine( node->UiEngine() );
-            CXnAppUiAdapter& appui( engine->AppUiAdapter() );
-
-            CancelFocusRefusalL( *engine );
-            
-            appui.HideFocus();
-                                   
-            CCoeControl& bg( appui.ViewAdapter().BgControl() );
-            
-            // Ignore events
-            bg.IgnoreEventsUntilNextPointerUp();
-            static_cast<CXnBgControl*>(&bg)->ResetGrabbingL();
-
-          // Indicate long tap has taken plave
-            iLongtap = ETrue;
-            
-            CXnNode* hold = BuildTriggerNodeL( *engine,
-                XnPropertyNames::action::trigger::name::KHold );
-
-            CleanupStack::PushL( hold );
-
-            node->ReportXuikonEventL( *hold );
-
-            CleanupStack::PopAndDestroy( hold );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::HandlePointerEventL
-// Handle pointer events
-// -----------------------------------------------------------------------------
-//
-TBool CXnControlAdapterImpl::HandlePointerEventL(
-    const TPointerEvent& aPointerEvent )
-    {
-    const TPointerEvent& event( aPointerEvent );
-    
-    CXnNode* node( &iNode.Node() );
-    CXnUiEngine* engine( node->UiEngine() );
- 
-    
-    // Forward event to gesture helper
-    if( PassEventToGestureHelperL( aPointerEvent ) )
-        { 
-        CXnAppUiAdapter& appui( engine->AppUiAdapter() );
-        CCoeControl& bg( appui.ViewAdapter().BgControl() );
-        static_cast<CXnBgControl*>(&bg)->ResetGrabbingL();
-        
-        // Swipe took place, consume this event
-        return ETrue;
-        }
-
-    TBool menuBar( node == engine->MenuBarNode() );
-
-    if ( menuBar )
-        {
-        // Need to update node to match to the real softkey node
-        node = SoftkeyNode( engine->MenuBarNode(), event.iParentPosition );
-
-        if ( !node )
-            {
-            // No softkey node found, consume event
-            return ETrue;
-            }
-        }
-    
-    CAknLongTapDetector* detector( iAdapter->LongTapDetector() );
-    
-    if ( detector )
-        {
-        if ( menuBar )
-            {
-            // CXnMenuAdapter owns the longtap detector, but only
-            // softkey nodes can have longtap functionality, so
-            // need to check whether this softkey node has a longtap
-            // property defined
-            CXnProperty* prop(
-                node->GetPropertyL( XnPropertyNames::common::KLongTap ) );
-
-            if ( prop && prop->StringValue() == XnPropertyNames::KTrue )
-                {
-                detector->PointerEventL( event );
-                }
-            }
-        else
-            {
-            detector->PointerEventL( event );
-            }
-        }
-    
-    CXnProperty* focusable( 
-        node->GetPropertyL( XnPropertyNames::common::KFocusable ) );
-            
-    if ( !menuBar && ( !focusable ||  
-        focusable->StringValue() == XnPropertyNames::KFalse ) ) 
-        {
-        iLongtap = EFalse;
-        
-        return EFalse;
-        }                
-
-    if ( event.iType == TPointerEvent::EButton1Down )
-        {
-        iLongtap = EFalse;
-        
-        if ( !menuBar )
-            {
-            CancelFocusRefusalL( *engine );
-            }
-                        
-        if ( !menuBar && !engine->FocusedNode() )
-            {
-            // Require focus to be shown
-            engine->AppUiAdapter().ShowFocus();                
-            
-#ifdef RD_TACTILE_FEEDBACK            
-            MTouchFeedback* feedback( MTouchFeedback::Instance() );
-            
-            if ( feedback )
-                {
-                feedback->InstantFeedback( ETouchFeedbackBasic );
-                }
-#endif                           
-            node->SetStateL( 
-                XnPropertyNames::style::common::KFocus, 
-                XnEventSource::EStylus );
-            node->SetStateL( 
-                XnPropertyNames::style::common::KPressedDown );                            
-            }        
-        }
-    else if ( event.iType == TPointerEvent::EDrag )
-        {        
-        if ( node->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-            {
-            if ( !node->MarginRect().Contains( event.iPosition ) )
-                {
-                // Remove pressed down
-                node->UnsetStateL( XnPropertyNames::style::common::KPressedDown );
-                node->HideTooltipsL();            
-                }            
-            }
-        }
-    else if ( event.iType == TPointerEvent::EButton1Up )
-        {
-        if ( !iLongtap )
-            {
-            if ( menuBar ) 
-                {
-                node->SetStateL( XnPropertyNames::style::common::KActive );
-                }          
-            else if ( ( node->MarginRect().Contains( event.iPosition ) &&
-               node->IsStateSet( XnPropertyNames::style::common::KFocus ) &&
-               node->IsStateSet( XnPropertyNames::style::common::KPressedDown ) ) )
-                {
-#ifdef RD_TACTILE_FEEDBACK            
-                MTouchFeedback* feedback( MTouchFeedback::Instance() );
-                
-                if ( feedback )
-                    {
-                    feedback->InstantFeedback( ETouchFeedbackBasic );
-                    }
-#endif
-                node->SetStateL( XnPropertyNames::style::common::KActive );
-                }                      
-            }
-        
-        // Remove focus
-        engine->AppUiAdapter().HideFocus();                                           
-        }
-    
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DoDrawL
-// Leaving draw function.
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DoDrawL( const TRect& aRect, CWindowGc& aGc ) const
-    {
-    CXnNode& node = iComponent->Node()->Node();
-        
-    DrawBordersL( aRect, node, aGc );
-
-    const_cast< CXnControlAdapterImpl* >( this )->DrawBackgroundDataL( aRect, node, aGc );
-    
-    if ( iAdapter->IsFocused() )
-        {
-        DrawFocusAppearance( node, aGc );
-        }
-    
-    if ( iAnimation )
-        {
-        TRect rect = iComponent->Node()->Rect();
-        iAnimation->Render( aGc, rect );
-        }
-
-    if ( iBorderBitmap )
-        {
-        DrawBorderImagesL(
-            aRect, node, aGc, iBorderBitmap,
-            iBorderBitmapDividerTop, iBorderBitmapDividerRight,
-            iBorderBitmapDividerBottom, iBorderBitmapDividerLeft );
-        }
-
-    DrawContentImageL( aGc );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DrawBackgroundDataL
-// Draws the background (color and image)
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DrawBackgroundDataL(
-    const TRect& aRect,
-    CXnNode& aNode,
-    CWindowGc& aGc )
-    {
-    // For widgets and plugins, drawing is handled differently in edit mode
-    const TDesC8& widgetType = aNode.DomNode()->Name();
-    if( ( widgetType == XnPropertyNames::KWidget || 
-        widgetType == XnPropertyNames::KPlugin ) &&
-        aNode.UiEngine()->EditMode()->EditState() )
-        {
-        DrawEditModeBgData( aNode, aGc );
-        return;
-        }
-
-    if ( !iBackgroundBitmap && iBackgroundMask )
-        // mask, but no bitmap: draw masked color (if available)
-        {
-        DrawTransparentColorL( aNode, aGc, iBackgroundMask );
-        }
-    else if ( !iBackgroundBitmap || !iBackgroundMask )
-        // no mask or no bitmap: draw color (if available)
-        {
-        DrawBackgroundColorL( aRect, aNode, aGc );
-        }
-
-    CXnProperty* colorProperty( aNode.BackgroundColorL() );
-    DrawBackgroundSkinL( aNode, iBackgroundMask, aGc, colorProperty );
-
-    if ( !iBackgroundBitmap )
-        {
-        return;
-        }
-
-    CXnProperty* pathProperty( aNode.BackgroundImageL() );
-
-    if ( pathProperty && pathProperty->StringValue() != KNullDesC8 )
-        {
-        if ( iBackgroundMask )
-            {
-            // draw transparent background image
-            DrawBackgroundImageL( aRect, aNode, aGc, iBackgroundBitmap, iBackgroundMask );
-            }
-        else
-            {
-            // draw background image without mask
-            DrawBackgroundImageL( aRect, aNode, aGc, iBackgroundBitmap, NULL );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DrawEditModeBgDataL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DrawEditModeBgData(
-    CXnNode& aNode,
-    CWindowGc& aGc )
-    {
-    // Draw rastered background for plugins    
-    const TDesC8& widgetType = aNode.DomNode()->Name();
-    if( widgetType == XnPropertyNames::KPlugin )
-        {
-        TRect rect = aNode.PaddingRect();
-        DrawBackgroundSkin( KAknsIIDQgnHomeEditBgWidget, aGc, rect );
-
-        CXnPluginData& data( aNode.UiEngine()->ViewManager()->ActiveViewData().Plugin( &aNode ) );
-        if( !data.Occupied() ) // Empty widget
-            {
-            // Draw + -icon
-            // Make rect as 50% of the widget's height.
-            // It needs to be square in order to keep aspect ratio.
-            TInt w = rect.Width();
-            TInt h = rect.Height();
-            rect.Shrink( ( w - h * 0.5 ) * 0.5, h * 0.25 );            
-            DrawBackgroundSkin( KAknsIIDQgnHomeAdd, aGc, rect );
-            }
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DrawTransparentColorL
-// Draws masked background by RGB color.
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DrawTransparentColorL(
-    CXnNode& aNode,
-    CWindowGc& aGc,
-    CFbsBitmap* aMask )
-    {
-    CXnProperty* colorProperty( aNode.BackgroundColorL() );
-
-    if ( colorProperty )
-        {
-        // check value type
-        CXnDomPropertyValue* value =
-            static_cast< CXnDomPropertyValue* >(
-                colorProperty->Property()->PropertyValueList().Item( 0 ) );
-
-        if ( value->PrimitiveValueType() == CXnDomPropertyValue::ERgbColor )
-            {
-	        TRect paddingRect = aNode.PaddingRect();    
-            aMask->SetDisplayMode( EGray256 );
-
-            aGc.SetBrushColor( NULL );
-            aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-
-            if ( !iScaledTransparentColor )
-                {
-                CFbsBitmap* bitmap( NULL );
-                CFbsBitmap* mask( NULL );
-
-                mask = new ( ELeave ) CFbsBitmap;
-                CleanupStack::PushL( mask );
-
-                mask->Create( paddingRect.Size(), EGray256 );
-
-                CXnUtils::ScaleBitmapL(
-                    TRect( 0, 0, paddingRect.Width(), paddingRect.Height() ),
-                    mask, aMask );
-
-                CXnDomPropertyValue* value =
-                    static_cast< CXnDomPropertyValue* >(
-                        colorProperty->Property()->PropertyValueList().Item( 0 ) );
-
-                TRgb rgb( value->RgbColorValueL() );
-
-                bitmap = CreateBitmapFromColorL( paddingRect.Size(), rgb );
-                CleanupStack::PushL( bitmap );
-
-                iScaledTransparentColor = CGulIcon::NewL( bitmap, mask );
-
-                CleanupStack::Pop( 2 );
-                }
-
-            aGc.DrawBitmapMasked( paddingRect,
-                iScaledTransparentColor->Bitmap(),
-                TRect( TPoint( 0, 0 ), paddingRect.Size() ),
-                iScaledTransparentColor->Mask(),
-                EFalse );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DrawBackgroundSkinL
-// Draws a skin item to the given rect
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DrawBackgroundSkin(const TAknsItemID& aSkinId, 
-    CWindowGc& aGc, TRect aRect)
-    {            
-    TRect shrunkRect = aRect;
-
-    shrunkRect.Shrink(
-        KSkinGfxInnerRectShrink,
-        KSkinGfxInnerRectShrink );
-    
-    AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), aGc, 
-        aRect, shrunkRect, aSkinId, KAknsIIDDefault );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DrawBackgroundSkinL
-// Draws a skin item to the padding rect
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DrawBackgroundSkinL(CXnNode& aNode, 
-    CFbsBitmap* aMask, CWindowGc& aGc, CXnProperty* aBgColor,
-    TRect aRect)
-    {
-    if( aRect == TRect::EUninitialized )
-        {
-        aRect = aNode.PaddingRect();
-        }
-    
-    //CXnProperty* colorProperty( aNode.BackgroundColorL() );
-    CXnProperty* colorProperty( aBgColor );
-    if ( colorProperty )
-        {
-        HBufC* skinID = colorProperty->StringValueL();
-        CleanupStack::PushL( skinID );
-
-        if ( skinID->Length() != 0 )
-            {
-            TAknsItemID itemID;
-            StripQuotes( skinID );
-
-            if ( CXnUtils::ResolveSkinItemIDL( *skinID, itemID ) )
-                {
-                if ( aMask ) // If there is a mask, draw masked.
-                    {
-                    TRect paddingRect = aRect;
-                    TRect outerRect = TRect( paddingRect.Size() );
-                    TRect innerRect = outerRect;
-                    innerRect.Shrink(
-                        KSkinGfxInnerRectShrink,
-                        KSkinGfxInnerRectShrink );
-
-                    if ( !iScaledBackgroundSkin )
-                        {
-                        CFbsBitmap* bitmap = new ( ELeave ) CFbsBitmap;
-                        CleanupStack::PushL( bitmap );
-
-                        CFbsBitmap* mask = new ( ELeave ) CFbsBitmap;
-                        CleanupStack::PushL( mask );
-
-                        bitmap->Create( outerRect.Size(), aGc.Device()->DisplayMode() );
-
-                        CFbsBitmapDevice* device = CFbsBitmapDevice::NewL( bitmap );
-                        CleanupStack::PushL( device );
-
-                        CBitmapContext* bc( NULL );
-
-                        User::LeaveIfError( device->CreateBitmapContext( bc ) );
-                        CleanupStack::PushL( bc );
-
-                        CAknsFrameBackgroundControlContext* frameContext =
-                            CAknsFrameBackgroundControlContext::NewL(
-                            itemID, outerRect, innerRect, EFalse );
-                        CleanupStack::PushL( frameContext );
-
-                        AknsDrawUtils::Background( AknsUtils::SkinInstance(),
-                            frameContext, NULL,
-                            static_cast< CWindowGc& >( *bc ),
-                            outerRect, KAknsDrawParamNoClearUnderImage );
-
-                        aMask->SetDisplayMode( EGray256 );
-
-                        aGc.SetBrushColor( NULL );
-                        aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-
-                        mask->Create( paddingRect.Size(), EGray256 );
-
-                        CXnUtils::ScaleBitmapL( outerRect, mask, aMask );
-
-                        CleanupStack::PopAndDestroy( 3 );
-
-                        iScaledBackgroundSkin = CGulIcon::NewL( bitmap, mask );
-
-                        CleanupStack::Pop( 2 );
-                        }
-
-                    CFbsBitmap* bitmap( iScaledBackgroundSkin->Bitmap() );
-                    CFbsBitmap* mask( iScaledBackgroundSkin->Mask() );
-
-                    aGc.BitBltMasked( paddingRect.iTl, bitmap, outerRect, mask, ETrue );
-                    }
-                else // draw background skin graphics without mask
-                    {
-	                TRect paddingRect = aRect;
-                    TRect shrunkRect = paddingRect;
-
-                    shrunkRect.Shrink(
-                        KSkinGfxInnerRectShrink,
-                        KSkinGfxInnerRectShrink );
-
-                    CAknsFrameBackgroundControlContext* frameContext =
-                        CAknsFrameBackgroundControlContext::NewL(
-                        itemID, paddingRect, shrunkRect, EFalse );
-
-                    CleanupStack::PushL( frameContext );
-
-                    AknsDrawUtils::Background( AknsUtils::SkinInstance(),
-                        frameContext,
-                        NULL,
-                        aGc,
-                        paddingRect,
-                        KAknsDrawParamNoClearUnderImage );
-
-                    CleanupStack::PopAndDestroy( frameContext );
-                    }
-                }
-            }
-
-        CleanupStack::PopAndDestroy( skinID );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DrawBackgroundImageL
-// Draws the background image
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DrawBackgroundImageL(
-    const TRect& aRect,
-    CXnNode& aNode,
-    CWindowGc& aGc,
-    CFbsBitmap* aBitmap,
-    CFbsBitmap* aMask )
-    {
-    if ( !aBitmap )
-        {
-        return;
-        }
-
-    TRect rect = aNode.PaddingRect();
-    TBool scaleImage = EFalse;
-
-    if (!GetBackgroundSizeFromPropertyL( rect, aNode, aBitmap, scaleImage ) )
-        {
-        return;
-        }
-    if ( AknIconUtils::IsMifIcon( aBitmap ) )
-        {
-        if ( scaleImage )
-            {
-            AknIconUtils::SetSize( aBitmap, rect.Size(), EAspectRatioNotPreserved );
-            }
-        else
-            {
-            AknIconUtils::SetSize( aBitmap, rect.Size(), EAspectRatioPreserved );
-            }
-        }
-    TRect imageRect = rect;
-    rect = aNode.PaddingRect();
-    TBool heightSet = EFalse;
-    TBool backgroundPosFound = EFalse;
-    TRAP_IGNORE( backgroundPosFound = GetBackgroundPositionFromPropertyL(
-        aNode, scaleImage, rect, imageRect, aBitmap, heightSet ); );
-    if ( !backgroundPosFound )
-        {
-        return;
-        }
-    if ( !heightSet )
-        {
-        rect.Move( 0, rect.Height() / 2 );
-        if ( scaleImage )
-            {
-            rect.Move( 0, -imageRect.Height() / 2 );
-            }
-        else
-            {
-            rect.Move( 0, -aBitmap->SizeInPixels().iHeight / 2 );
-            }
-        }
-    TRect tmpRect = aNode.PaddingRect();
-    LimitRectToPaddingRect( aNode, rect );
-    TBool repeatX = EFalse;
-    TBool repeatY = EFalse;
-    TBool spaceX = EFalse;
-    TBool spaceY = EFalse;
-    TRAP_IGNORE( GetBackroundRepeatValuesL( aNode, repeatX, repeatY, spaceX, spaceY ) );
-    TRect bitmapRect = TRect(
-        TPoint( 0, 0 ),
-        TPoint( aBitmap->SizeInPixels().iWidth, aBitmap->SizeInPixels().iHeight ) );
-    TInt xRepeatCount = 0;
-    TInt yRepeatCount = 0;
-    TRect paddingRect = aNode.PaddingRect();
-    if ( scaleImage )
-        {
-        if ( imageRect.Width() && imageRect.Height() )
-            {
-            xRepeatCount = paddingRect.Width() / imageRect.Width();
-            yRepeatCount = paddingRect.Height() / imageRect.Height();
-            }
-        }
-    else
-        {
-        TSize size = aBitmap->SizeInPixels();
-        if ( size.iWidth == 0 || size.iHeight == 0 )
-            {
-            return;
-            }
-        xRepeatCount = paddingRect.Width() / size.iWidth;
-        yRepeatCount = paddingRect.Height() / size.iHeight;
-        }
-
-    if ( xRepeatCount == 0 && yRepeatCount == 0 ||
-         !repeatX && !repeatY && !spaceX && !spaceY )
-        {
-        TRect newRect = TRect(
-            rect.iTl,
-            TPoint(
-                rect.iTl.iX + imageRect.Width(),
-                rect.iTl.iY + imageRect.Height() ) );
-        aGc.SetClippingRect( aRect );
-
-        if ( aMask )
-            {
-            aMask->SetDisplayMode( EGray256 );
-
-            aGc.SetBrushColor( NULL );
-            aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-
-            if ( !iScaledBackgroundImage )
-                {
-                CFbsBitmap* mask( NULL );
-
-                mask = new ( ELeave ) CFbsBitmap;
-                CleanupStack::PushL( mask );
-
-                mask->Create( bitmapRect.Size(), EGray256 );
-
-                CXnUtils::ScaleBitmapL(
-                    TRect(
-                        0,
-                        0,
-                        bitmapRect.Width(),
-                        bitmapRect.Height() ),
-                    mask,
-                    aMask );
-
-                iScaledBackgroundImage = mask;
-
-                CleanupStack::Pop( mask );
-                }
-
-            aGc.DrawBitmapMasked( newRect, aBitmap, bitmapRect,
-                iScaledBackgroundImage, EFalse );
-            }
-        else
-            {
-            TRect newRect = TRect(
-                rect.iTl,
-                TPoint(
-                    rect.iTl.iX + imageRect.Width(),
-                    rect.iTl.iY + imageRect.Height() ) );
-            aGc.SetClippingRect( aRect );
-
-            aGc.DrawBitmap( newRect, aBitmap, bitmapRect );
-            }
-
-        aGc.CancelClippingRect();
-
-        return;
-        }
-
-    DrawRepeatedBackgroundImage(
-        aGc,
-        aNode,
-        rect,
-        imageRect,
-        bitmapRect,
-        aBitmap,
-        repeatX,
-        repeatY,
-        spaceX,
-        spaceY,
-        xRepeatCount,
-        yRepeatCount );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::Draw
-// Draws the control
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::Draw( const TRect& aRect ) const
-    {
-    if ( iBlank )
-        {
-        return;
-        }
-
-    CWindowGc& gc = iAdapter->SystemGc();
-    //gc.SetClippingRect(aRect);
-#ifdef _XN_DEBUG_
-    CXnComponent* comp = Component();
-    CXnNode& node = comp->Node()->Node();
-    TRect contentRect = node.Rect();
-    TRect marginRect = node.MarginRect();
-    TRect paddingRect = node.PaddingRect();
-
-    gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-    gc.SetPenColor( KRgbBlue );
-    gc.DrawRect( marginRect );
-    gc.SetPenColor( KRgbGray );
-    gc.DrawRect( paddingRect );
-    gc.SetPenColor( KRgbRed );
-    gc.DrawRect( contentRect );
-#endif
-    TRAP_IGNORE( DoDrawL( aRect, gc ));
-    //gc.CancelClippingRect();
-    RPointerArray< CXnControlAdapter > sortedArray;
-    TBool needsSorting = EFalse;
-    for ( TInt count = iChildren.Count() - 1; count >= 0; --count )
-        {
-        needsSorting = ETrue;
-        CXnControlAdapter* child = iChildren[count];
-        TRAP_IGNORE( InsertChildToSortedArrayL( sortedArray, child ) );
-        }
-    if ( !needsSorting )
-        {
-        return;
-        }
-    SwapChildArrays( iChildren, sortedArray );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::Draw
-// Draws the control
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::Draw( const TRect& aRect, CWindowGc& aGc ) const
-    {
-    if ( iBlank )
-        {
-        return;
-        }
-
-    aGc.SetClippingRect( aRect );
-#ifdef _XN_DEBUG_
-    CXnComponent* comp = Component();
-    CXnNode& node = comp->Node()->Node();
-    TRect contentRect = node.Rect();
-    TRect marginRect = node.MarginRect();
-    TRect paddingRect = node.PaddingRect();
-    aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-    aGc.SetPenColor( KRgbBlue );
-    aGc.DrawRect( marginRect );
-    aGc.SetPenColor( KRgbGray );
-    aGc.DrawRect( paddingRect );
-    aGc.SetPenColor( KRgbRed );
-    aGc.DrawRect( contentRect );
-#endif
-    TRAP_IGNORE( DoDrawL( aRect, aGc ) );
-    aGc.CancelClippingRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::ComponentControl
-// Return a child control by index
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CXnControlAdapterImpl::ComponentControl( TInt aIndex ) const
-    {
-    return iChildren[aIndex];
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::CountComponentControls
-// Return count of children
-// -----------------------------------------------------------------------------
-//
-TInt CXnControlAdapterImpl::CountComponentControls() const
-    {
-    return iChildren.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::AppendChildL
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::AppendChildL(CXnControlAdapter& aChild, CXnNode& aNode)
-    {
-    if( !aChild.OwnsWindow() )
-        {
-        SetControlContext( aChild, aNode );
-        if( iChildren.Append( &aChild ) != KErrNone )
-            {
-            User::Leave( KXnErrAppendingChildToControlAdapterFailed );
-            }   
-        aChild.SetContainerWindowL( *iAdapter );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// ConvertHslToRgb
-// Converts a HSL color to RGB color
-// -----------------------------------------------------------------------------
-//
-static TRgb ConvertHslToRgb(
-    TInt aHue, TInt aSaturation, TInt aLightness )
-    {
-    TRgb rgb( 0, 0, 0 );
-    TReal h( aHue );
-    h /= 360;
-    TReal s( aSaturation );
-    s /= 100;
-    TReal l( aLightness );
-    l /= 100;
-
-    if ( 0 == aSaturation )
-        {
-        rgb.SetRed( TInt( l * 255 ) );
-        rgb.SetGreen( TInt( l * 255 ) );
-        rgb.SetBlue( TInt( l * 255 ) );
-        }
-    else
-        {
-        TReal m1( 0 );
-        TReal m2( 0 );
-
-        // l<=0.5: PUT l*(s+1) IN m2
-        if ( aLightness < 0.5 )
-            {
-            m2 = l * ( s + 1.0 );
-            }
-        // PUT l+s-l*s IN m2
-        else
-            {
-            m2 = l + s - ( l * s );
-            }
-
-        // PUT l*2-m2 IN m1
-        m1 = l * 2.0 - m2;
-
-        TReal helperH( h );
-        TReal helperM1( m1 );
-        TReal helperM2( m2 );
-
-        // calculate Red
-        helperH = h + ( 1.0 / 3.0 );
-
-        // IF h<0: PUT h+1 IN h
-        if ( helperH < 0 )
-            {
-            helperH += 1.0;
-            }
-
-        // IF h>1: PUT h-1 IN h
-        else if ( helperH > 1 )
-            {
-            helperH -= 1.0;
-            }
-        else
-            {
-            }
-
-        TReal val( 0 );
-
-        // IF h*6<1: RETURN m1+(m2-m1)*h*6
-        if ( ( helperH * 6 ) < 1 )
-            {
-            val = ( 255 * ( helperM1 + ( helperM2 - helperM1 ) * helperH * 6.0 ) );
-            }
-
-        // IF h*2<1: RETURN m2 )
-        else if ( ( helperH * 2.0 ) < 1.0 )
-            {
-            val = ( 255.0 * helperM2 );
-            }
-
-        // IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6
-        else if ( ( helperH * 3.0 ) < 2.0 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) *
-                            ( 2.0 / 3.0 - helperH ) * 6.0 ) );
-            }
-        else
-            {
-            val = 255.0 * helperM1;
-            }
-        TInt tmpVal = TInt( val + 0.5 );
-        rgb.SetRed( ( tmpVal >= 0) ? tmpVal : -tmpVal );
-
-        // calculate Green
-        // PUT hue.to.rgb(m1, m2, h    ) IN g
-        helperH = h;
-        helperM1 = m1;
-        helperM2 = m2;
-
-        // IF h<0: PUT h+1 IN h
-        if ( helperH < 0 )
-            {
-            helperH += 1.0;
-            }
-        // IF h>1: PUT h-1 IN h
-        else if ( helperH > 1 )
-            {
-            helperH -= 1.0;
-            }
-        else
-            {
-            }
-
-        // IF h*6<1: RETURN m1+(m2-m1)*h*6
-        if ( ( helperH * 6 ) < 1 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) * helperH * 6.0 ) );
-            }
-        // IF h*2<1: RETURN m2
-        else if ( ( helperH * 2 ) < 1 )
-            {
-            val = ( 255.0 * helperM2 );
-            }
-        // IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6
-        else if ( ( helperH * 3 ) < 2 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) *
-                            ( 2.0 / 3.0 - helperH ) * 6.0 ) );
-            }
-        else
-            {
-            val = 255.0 * helperM1;
-            }
-
-        tmpVal = TInt( val + 0.5 );
-        rgb.SetGreen( ( tmpVal >= 0) ? tmpVal : tmpVal );
-
-        // calculate Blue
-        // PUT hue.to.rgb(m1, m2, h-1/3) IN b
-        helperH = h - ( 1.0 / 3.0 );
-        helperM1 = m1;
-        helperM2 = m2;
-
-        // IF h<0: PUT h+1 IN h
-        if ( helperH < 0 )
-            {
-            helperH += 1.0;
-            }
-        // IF h>1: PUT h-1 IN h
-        else if ( helperH > 1 )
-            {
-            helperH -= 1.0;
-            }
-        else
-            {
-            }
-
-        // IF h*6<1: RETURN m1+(m2-m1)*h*6
-        if ( ( helperH * 6 ) < 1 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) * helperH * 6.0 ) );
-            }
-        // IF h*2<1: RETURN m2
-        else if ( ( helperH * 2 ) < 1 )
-            {
-            val = ( 255.0 * helperM2 );
-            }
-        // IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6
-        else if ( ( helperH * 3 ) < 2 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) *
-                            ( 2.0 / 3.0 - helperH ) * 6.0 ) );
-            }
-        else
-            {
-            val = 255.0 * helperM1;
-            }
-
-        tmpVal = TInt( val + 0.5 );
-        rgb.SetBlue( ( tmpVal >= 0) ? tmpVal : -tmpVal );
-
-        }
-    return rgb;
-    }
-
-// -----------------------------------------------------------------------------
-// ConvertRgbToHsl
-// Converts a RGB color to HSL color
-// -----------------------------------------------------------------------------
-//
-static void ConvertRgbToHsl(
-    TRgb aRGB,
-    TUint& aHue,
-    TUint& aSaturation,
-    TUint& aLightness )
-    {
-    TReal red = static_cast< TReal >( aRGB.Red() ) / 255.0;
-    TReal green = static_cast< TReal >( aRGB.Green() ) / 255.0;
-    TReal blue = static_cast< TReal >( aRGB.Blue() ) / 255.0;
-    TReal maxColor = ( red > green && red > blue ) ?
-        red : ( green > red && green > blue ) ? green : blue;
-    TReal minColor = ( red <= green && red <= blue ) ?
-        red : ( green <= red && green <= blue ) ? green : blue;
-    TReal lightness = ( maxColor + minColor ) / 2.0;
-    if ( maxColor == minColor )
-        {
-        aSaturation = 0;
-        aHue = 0;
-        aLightness = static_cast< TInt >( 100.0 * lightness + 0.5 );
-        return;
-        }
-
-    if ( lightness < 0.5 )
-        {
-        TReal saturation = ( maxColor - minColor ) / ( maxColor + minColor );
-        aSaturation = static_cast< TInt >( 100.0 * saturation + 0.5 );
-        }
-    else
-        {
-        TReal saturation = ( maxColor - minColor ) / ( 2.0 - maxColor - minColor );
-        aSaturation = static_cast< TInt >( 100.0 * saturation + 0.5 );
-        }
-
-    if ( red == maxColor )
-        {
-        TReal hue = ( green - blue ) / ( maxColor - minColor );
-        TInt tmp = static_cast< TInt >( 60.0 * hue + 0.5 );
-        aHue = ( tmp >= 0 ) ? tmp : tmp + 360;
-        }
-    else if ( green == maxColor )
-        {
-        TReal hue = 2.0 + ( ( blue - red ) / ( maxColor - minColor ) );
-        TInt tmp = static_cast< TInt >( 60.0 * hue + 0.5 );
-        aHue = ( tmp >= 0 ) ? tmp : tmp + 360;
-        }
-    else
-        {
-        TReal hue = 4.0 + ( ( red - green ) / ( maxColor - minColor ) );
-        TInt tmp = static_cast< TInt >( 60.0 * hue + 0.5 );
-        aHue = ( tmp >= 0 ) ? tmp : tmp + 360;
-        }
-
-    aLightness = static_cast< TInt >( 100.0 * lightness + 0.5 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::IsDrawingAllowed
-// Checks whether drawing is allowed
-// -----------------------------------------------------------------------------
-//
-TBool CXnControlAdapterImpl::IsDrawingAllowed() const
-    {
-    TBool retVal = EFalse;
-    CXnNode& node = Component()->Node()->Node();
-    CXnProperty* propVisibility = NULL;
-    TRAP_IGNORE( propVisibility = node.VisibilityL() );
-    if ( propVisibility )
-        {
-        const TDesC8& visibility = propVisibility->StringValue();
-        if ( visibility != KNullDesC8 )
-            {
-            if ( visibility == XnPropertyNames::style::common::visibility::KHidden )
-                {
-                return EFalse;
-                }
-            else
-                {
-                retVal = ETrue;
-                }
-            }
-        }
-    else
-        {
-        // default value for visibility
-        retVal = ETrue;
-        }
-    CXnProperty* propDisplay = NULL;
-    TRAP_IGNORE( propDisplay = node.DisplayL() );
-    if ( propDisplay )
-        {
-        const TDesC8& display = propDisplay->StringValue();
-        if ( display != KNullDesC8 )
-            {
-            if ( display == XnPropertyNames::style::common::display::KNone )
-                {
-                return EFalse;
-                }
-            else
-                {
-                retVal = ETrue;
-                }
-            }
-        }
-    if ( node.IsDropped() )
-        {
-        return EFalse;
-        }
-    else
-        {
-        retVal = ETrue;
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::ContentBitmaps
-// Gets content bitmaps
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::ContentBitmaps(
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aMask )
-    {
-    aBitmap = iContentBitmap;
-    aMask = iContentMask;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::SetContentBitmaps
-// Sets content bitmaps
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::SetContentBitmaps(
-    CFbsBitmap* aBitmap,
-    CFbsBitmap* aMask )
-    {
-    delete iContentBitmap;
-    iContentBitmap = NULL;
-
-    delete iContentMask;
-    iContentMask = NULL;
-
-    delete iScaledContentBitmap;
-    iScaledContentBitmap = NULL;
-
-    delete iScaledContentMask;
-    iScaledContentMask = NULL;
-
-    iContentBitmap = aBitmap;
-    iContentMask = aMask;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::SetContentBitmapsL
-// Sets content bitmaps
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::SetContentBitmapsL( const TDesC& aBitmapUrl,
-    const TDesC& aMaskUrl )
-    {
-    delete iContentBitmap;
-    iContentBitmap = NULL;
-
-    delete iContentMask;
-    iContentMask = NULL;
-
-    delete iScaledContentBitmap;
-    iScaledContentBitmap = NULL;
-
-    delete iScaledContentMask;
-    iScaledContentMask = NULL;
-
-    CXnNode& node( iNode.Node() );
-    CXnUiEngine* engine( node.UiEngine() );
-
-    TRect rect( node.Rect() );
-
-    GetBitmapL( *engine, node, aBitmapUrl, iContentBitmapIndex,
-        iContentBitmap, iContentMask, iIconProvider, rect, FsSession() );
-    if ( !iContentBitmap )
-        {
-        CXnProperty* prop( node.GetPropertyL(
-            XnPropertyNames::appearance::common::KFallBackImage ) );
-
-        if ( prop )
-            {
-            HBufC* fallBackImage( prop->StringValueL( ) );
-
-            CleanupStack::PushL( fallBackImage );
-
-            if ( *fallBackImage != KNullDesC )
-                {
-                StripQuotes( fallBackImage );
-
-                GetBitmapL( *engine, node, *fallBackImage, iContentBitmapIndex,
-                    iContentBitmap, iContentMask, iIconProvider, rect, FsSession() );
-                }
-
-            CleanupStack::PopAndDestroy( fallBackImage );
-            }
-        }
-
-    if ( !iContentMask )
-        {
-        if ( aMaskUrl != KNullDesC )
-            {
-            CFbsBitmap* bitmapMask( NULL );
-
-            GetBitmapL( *engine, node, aMaskUrl, iContentMaskIndex,
-                iContentMask, bitmapMask, iIconProvider, rect, FsSession() );
-
-            delete bitmapMask;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DrawContentImage
-// Draws content image
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DrawContentImage() const
-    {
-    TRAP_IGNORE( DrawContentImageL( *iGc ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DrawContentImage
-// Draws content image
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DrawContentImageL( CWindowGc& aGc ) const
-    {
-    if ( !iContentBitmap )
-        {
-        return;
-        }
-
-    TRect rect = iComponent->Node()->Node().Rect();
-
-    // Check if the node has a property "preserve image aspect ratio".
-    TBool preserveAspectRatio = EFalse;
-    CXnNode& currentNode = iComponent->Node()->Node();
-
-    CXnProperty* aspectProperty = currentNode.GetPropertyL(
-        XnPropertyNames::image::KS60AspectRatio );
-    if ( aspectProperty )
-        {
-        const TDesC8& value = aspectProperty->StringValue();
-
-        if ( value.CompareF( XnPropertyNames::image::KPreserve ) == 0 )
-            {
-            preserveAspectRatio = ETrue;
-            }
-        }
-
-    TRect bitmapRect = rect;
-    bitmapRect.Move( -rect.iTl.iX, -rect.iTl.iY );
-
-    if ( AknIconUtils::IsMifIcon( iContentBitmap ) )
-        {
-        if ( preserveAspectRatio )
-            {
-            AknIconUtils::SetSize(
-                iContentBitmap, bitmapRect.Size(), EAspectRatioPreserved );
-            }
-        else
-            {
-            AknIconUtils::SetSize(
-                iContentBitmap, bitmapRect.Size(), EAspectRatioNotPreserved );
-            }
-        //Calculate new point to start draw in order to center bitmap to drawing area
-        rect.iTl.iY +=
-            ( rect.Height() - iContentBitmap->SizeInPixels().iHeight ) / 2;
-        rect.iTl.iX +=
-            ( rect.Width() - iContentBitmap->SizeInPixels().iWidth ) / 2;
-
-        if ( iContentMask )
-            {
-            // Based on the avkon's assumtion that mask is always inverted, the
-            // value of aInvertMask parameter is set to 'ETrue'
-            aGc.BitBltMasked( rect.iTl, iContentBitmap, bitmapRect, iContentMask,
-                ETrue );
-            }
-        else
-            {
-            aGc.BitBlt( rect.iTl, iContentBitmap, bitmapRect );
-            }
-        }
-    else
-        {
-        if ( !iScaledContentBitmap )
-            {
-            TBool forceFallBack = CXnUtils::DoesScaleBitmapUseFallBack(
-                iContentBitmap );
-
-            TRAPD( err, CreateScaledBitmapL( bitmapRect,
-                iScaledContentBitmap,
-                iContentBitmap,
-                preserveAspectRatio,
-                forceFallBack ) );
-            if ( err )
-                {
-                // return if CreateScaledBitmapL() leaves. This prevents the
-                // drawing of the original content bitmap which is wrong size.
-                return;
-                }
-            }
-        if ( iContentMask && !iScaledContentMask )
-            {
-            TBool forceFallBack = CXnUtils::DoesScaleBitmapUseFallBack(
-                iContentMask );
-
-            TRAPD( err, CreateScaledBitmapL( bitmapRect,
-                iScaledContentMask,
-                iContentMask,
-                preserveAspectRatio,
-                forceFallBack ) );
-            if ( err )
-                {
-                // return if CreateScaledBitmapL() leaves. This prevents the
-                // drawing of the original content mask which is wrong size
-                // (and may distort the image).
-                return;
-                }
-            }
-
-        CFbsBitmap* bitmap( 0 );
-        CFbsBitmap* mask( 0 );
-
-        if ( iScaledContentBitmap )
-            {
-            bitmap = iScaledContentBitmap;
-            }
-        else
-            {
-            bitmap = iContentBitmap;
-            }
-
-        if ( iScaledContentMask )
-            {
-            mask = iScaledContentMask;
-            }
-        else
-            {
-            mask = iContentMask;
-            }
-
-        if ( bitmap && mask )
-            {
-            //Calculate new point to start draw in order to center bitmap to
-            // drawing area
-            rect.iTl.iY +=
-                ( rect.Height() - bitmap->SizeInPixels().iHeight ) / 2;
-            rect.iTl.iX +=
-                ( rect.Width() - bitmap->SizeInPixels().iWidth ) / 2;
-
-            // Based on the avkon's assumtion that mask is always inverted, the
-            // value of aInvertMask parameter is set to 'ETrue'
-            aGc.BitBltMasked( rect.iTl, bitmap, bitmapRect, mask, ETrue );
-            }
-        else if ( bitmap )
-            {
-            //Calculate new point to start draw in order to center bitmap to
-            // drawing area
-            rect.iTl.iY +=
-                ( rect.Height() - bitmap->SizeInPixels().iHeight ) / 2;
-            rect.iTl.iX +=
-                ( rect.Width() - bitmap->SizeInPixels().iWidth ) / 2;
-
-            aGc.BitBlt( rect.iTl, bitmap );
-            }
-        }
-   }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::SizeChanged()
-    {
-    delete iScaledContentBitmap;
-    iScaledContentBitmap = NULL;
-
-    delete iScaledContentMask;
-    iScaledContentMask = NULL;
-
-    delete iScaledTransparentColor;
-    iScaledTransparentColor = NULL;
-
-    delete iScaledBackgroundSkin;
-    iScaledBackgroundSkin = NULL;
-
-    delete iScaledBackgroundImage;
-    iScaledBackgroundImage = NULL;
-
-    TRAP_IGNORE( InitializeBackgroundAndBorderBitmapsL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::SkinChanged
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::SkinChanged()
-    {
-    delete iScaledContentBitmap;
-    iScaledContentBitmap = NULL;
-
-    delete iScaledContentMask;
-    iScaledContentMask = NULL;
-
-    delete iScaledTransparentColor;
-    iScaledTransparentColor = NULL;
-
-    delete iScaledBackgroundSkin;
-    iScaledBackgroundSkin = NULL;
-
-    delete iScaledBackgroundImage;
-    iScaledBackgroundImage = NULL;
-
-    TRAP_IGNORE( InitializeBackgroundAndBorderBitmapsL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::FocusChangedL
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::FocusChangedL( TBool aFocused )
-    {
-    CXnNode& node( iNode.Node() );
-
-    CXnUiEngine* engine( node.UiEngine() );
-
-    CXnNode* menubar( engine->MenuBarNode() );
-
-    if ( engine->IsEditMode() || !node.IsLayoutCapable() || !menubar )
-        {
-        return;
-        }
-
-    XnMenuInterface::MXnMenuInterface* menuIf( NULL );
-
-    XnComponentInterface::MakeInterfaceL( menuIf, menubar->AppIfL() );
-
-    if ( !menuIf )
-        {
-        return;
-        }
-
-    CXnViewManager* manager( engine->ViewManager() );
-
-    const TDesC8& ns( node.Namespace() );
-
-    CXnPluginData* data( manager->ActiveViewData().Plugin( ns ) );
-
-    if ( !data )
-        {
-        return;
-        }
-
-    CXnNode* plugin( data->Node()->LayoutNode() );
-
-    CXnNode* extension( NULL );
-
-    if ( plugin == engine->ActiveView() )
-        {
-        // Pretend that this node is extension
-        extension = &node;
-        }
-    else
-        {
-        RPointerArray< CXnNode >& children( plugin->Children() );
-
-        for ( TInt i = 0; i < children.Count(); i++ )
-            {
-            CXnNode* child( children[i] );
-
-            const TDesC8& type( child->Type()->Type() );
-
-            if ( type == XnPropertyNames::menu::KMenuExtension )
-                {
-                extension = child;
-                break;
-                }
-            }
-        }
-
-    if ( !extension )
-        {
-        // No extension available     
-        return;
-        }
-         
-    // Find proper softkey from extension
-    RPointerArray< CXnNode >& children( extension->Children() );
-    
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNode* child( children[i] );
-
-        const TDesC8& type( child->Type()->Type() );
-
-        if ( type == XnPropertyNames::softkey::KNodeName )
-            {
-
-            CXnProperty* prop( child->GetPropertyL( 
-                    XnPropertyNames::softkey::KTypeAttribute ) ); 
-
-            if ( prop )
-                {
-                const TDesC8& type( prop->StringValue() );
-
-                XnMenuInterface::MXnMenuInterface::TSoftKeyPosition pos;
-
-                if ( type == XnPropertyNames::softkey::type::KLeft )
-                    {
-                    pos = XnMenuInterface::MXnMenuInterface::ELeft;
-                    }
-                else if ( type == XnPropertyNames::softkey::type::KMiddle )
-                    {
-                    pos = XnMenuInterface::MXnMenuInterface::ECenter;
-                    }
-                else if ( type == XnPropertyNames::softkey::type::KRight )
-                    {
-                    pos = XnMenuInterface::MXnMenuInterface::ERight;
-                    }
-                else
-                    {
-                    // Declaration error
-                    __ASSERT_DEBUG( EFalse, Panic( EXnInvalidState ) );
-                    break;
-                    }
-
-                if ( aFocused )
-                    {
-                    // Set softkey
-                    menuIf->SetSoftKeyL( &child->PluginIfL(), pos );
-                    }
-                else
-                    {
-                    // Remove softkey
-                    menuIf->SetSoftKeyL( NULL, pos );
-                    }
-                
-                // This is not a correct way to do dirty setting,
-                // but here in case of menubar it is acceptable
-                engine->AddDirtyNodeL( menubar, XnDirtyLevel::ERender );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::InitializeBackgroundandBorderBitmapsL
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::InitializeBackgroundAndBorderBitmapsL()
-    {
-    CXnNode& node( iNode.Node() );
-    CXnUiEngine* engine( node.UiEngine() );
-
-    CXnProperty* backgroundImageProperty( node.BackgroundImageL() );
-
-    if ( backgroundImageProperty )
-        {
-        delete iBackgroundBitmap;
-        iBackgroundBitmap = NULL;
-
-        delete iBackgroundMask;
-        iBackgroundMask = NULL;
-
-        delete iScaledTransparentColor;
-        iScaledTransparentColor = NULL;
-
-        delete iScaledBackgroundSkin;
-        iScaledBackgroundSkin = NULL;
-
-        delete iScaledBackgroundImage;
-        iScaledBackgroundImage = NULL;
-
-        InitializeBackgroundBitmapL( *engine, node, iBackgroundBitmapIndex,
-            iBackgroundBitmap, iBackgroundMask, iIconProvider, FsSession() );
-
-        HBufC* bgPath( GetBackgroundImagePathLC( node ) );
-
-        if ( *bgPath != KNullDesC )
-            {
-            iAnimIDResolved = CXnUtils::ResolveSkinItemIDL( *bgPath, iAnimIID );
-            }
-
-        CleanupStack::PopAndDestroy( bgPath );
-        }
-
-    CXnProperty* borderImageProperty( node.BorderImageL() );
-
-    if ( borderImageProperty )
-        {
-        delete iBorderBitmap;
-        iBorderBitmap = NULL;
-
-        iBorderBitmap = InitializeBorderBitmapL(
-            *engine, node,
-            iBorderBitmapIndex, iBorderBitmapDividerTop,
-            iBorderBitmapDividerRight,
-            iBorderBitmapDividerBottom, iBorderBitmapDividerLeft,
-            iIconProvider, FsSession() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::ConstructL
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::ConstructL(
-    CXnNodePluginIf& aNode,
-    CXnControlAdapter& aAdapter,
-    CWindowGc& aGc )
-    {
-    iGc = &aGc;
-
-    iAdapter = &aAdapter;
-
-    if ( CreateGestureHelperL( aNode.Node() ) )
-        {
-        iGestureHelper = CXnGestureHelper::NewL( aNode.Node() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::LoadBitmap
-// Load a bitmap from the server. Ownership is transferred.
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap* CXnControlAdapterImpl::LoadBitmap( const TDesC& aBitmapUrl )
-    {
-    CXnNode& node( iNode.Node() );
-    CXnUiEngine* engine( node.UiEngine() );
-
-    CFbsBitmap* bitmap( NULL );
-    CFbsBitmap* mask( NULL );
-
-    TRect rect( node.Rect() );
-
-    TInt index( 0 );
-
-    TRAP_IGNORE( GetBitmapL(
-        *engine, node,
-        aBitmapUrl, index,
-        bitmap, mask,
-        iIconProvider, rect, FsSession() ) );
-
-    delete mask;
-
-    return bitmap;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::GetBitmapAndMask
-// Load a bitmap and mask from the server. Ownership is transferred.
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::GetBitmapAndMask(
-    const TDesC& aBitmapUrl,
-    const TDesC& aMaskUrl,
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aMask )
-    {
-    CXnNode& node( iNode.Node() );
-    CXnUiEngine* engine( node.UiEngine() );
-
-    TRect rect( node.Rect() );
-
-    TInt index( 0 );
-
-    TRAP_IGNORE( GetBitmapL(
-        *engine, node,
-        aBitmapUrl, index,
-        aBitmap, aMask,
-        iIconProvider, rect, FsSession() ) );
-
-    if ( !aMask )
-        {
-        if ( aMaskUrl != KNullDesC )
-            {
-            CFbsBitmap* bitmapMask( NULL );
-
-            TRAP_IGNORE( GetBitmapL(
-                *engine, node,
-                aMaskUrl, index,
-                aMask, bitmapMask,
-                iIconProvider, rect, FsSession() ) );
-
-            delete bitmapMask;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::AnimFrameReady
-// Callback of the animated skin background.
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::AnimFrameReady( TInt aError, TInt /* aAnimId */ )
-    {
-    if ( !aError )
-        {
-        iAdapter->DrawNow();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::CreateAnimationL
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::CreateAnimationL( /* TDesC& aPath */ )
-    {
-    if ( iAnimation )
-        {
-        delete iAnimation;
-        iAnimation = NULL;
-        }
-
-    iAnimation = CAknsEffectAnim::NewL( this );
-    TBool ok = iAnimation->ConstructFromSkinL( iAnimIID );
-    if ( !ok )
-        {
-        delete iAnimation;
-        iAnimation = NULL;
-        User::Leave( KErrNotSupported );
-        }
-
-    CXnNode& node = iComponent->Node()->Node();
-    if ( !node.IsLaidOut() )
-        {
-        // Animation is created before layout of nodes has been calculated
-        node.UiEngine()->LayoutUIL( &node );
-        }
-    TRect rect( node.Rect() );
-
-    iAnimation->BeginConfigInputLayersL( rect.Size(), ETrue );
-
-    if ( iAnimation->InputRgbGc() )
-        {
-        TRect mainPane;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPane );
-        TRect mainPaneRect( mainPane.Size() );
-
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        MAknsControlContext* cc = NULL;
-        const TAknsItemID* id = &KAknsIIDNone;
-        if ( AknsUtils::AvkonSkinEnabled() )
-            {
-            cc = CAknsListBoxBackgroundControlContext::NewL(
-                KAknsIIDQsnBgAreaMainListGene,
-                mainPaneRect,
-                EFalse,
-                *id,
-                mainPaneRect );
-
-            AknsDrawUtils::DrawBackground( AknsUtils::SkinInstance(),
-                cc,
-                NULL,
-                *iAnimation->InputRgbGc(),
-                TPoint(),
-                rect,
-                KAknsDrawParamBottomLevelRGBOnly );
-            }
-        }
-
-    iAnimation->EndConfigInputLayersL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::StartHighlightAnimation()
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::StartHighlightAnimation( TBool aAnimRestart )
-    {
-    TBool focused = EFalse;
-
-    // No need to start animation again if already running
-    if ( iAnimation )
-        {
-        if ( iAnimation->State() == EAknsAnimStateRunning && !aAnimRestart )
-            {
-            return;
-            }
-        }
-    // Check control's focus
-    if ( iComponent )
-        {
-        CXnNodePluginIf* pluginIf = iComponent->Node();
-        if ( pluginIf )
-            {
-            focused = pluginIf->IsFocusedState();
-            }
-        else
-            {
-            return;
-            }
-        }
-
-    // If the node is not focused or no Anim ID, return.
-    if ( !focused || !iAnimIDResolved )
-        {
-        return;
-        }
-
-    // Restart animation
-    if ( aAnimRestart )
-        {
-        if ( iAnimation )
-            {
-            iAnimation->Stop();
-            delete iAnimation;
-            iAnimation = NULL;
-
-            TRAPD( error, CreateAnimationL() );
-
-            if ( !error )
-                {
-                iAnimation->Start();
-                return;
-                }
-            }
-        }
-
-    // Node is focused. Try to start animation.
-    if ( iAnimation )
-        {
-        iAnimation->Start();
-        }
-    else
-        {
-        TRAPD( error, CreateAnimationL() );
-
-        if ( !error )
-            {
-            iAnimation->Start();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::StopHighlightAnimation()
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::StopHighlightAnimation()
-    {
-    if ( iAnimation )
-        {
-        // Stop animation and delete.
-        iAnimation->Stop();
-        delete iAnimation;
-        iAnimation = NULL;
-
-        iAdapter->DrawNow();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::MeasureAdaptiveContentL
-// -----------------------------------------------------------------------------
-//
-TSize CXnControlAdapterImpl::MeasureAdaptiveContentL(
-    const TSize& /* aAvailableSize */ )
-    {
-    // By default the size is 0
-    return TSize( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::SetBlank
-//
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::SetBlank( TBool aBlank )
-    {
-    iBlank = aBlank;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::DoHandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::DoHandlePropertyChangeL( CXnProperty* /*aProperty*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::UpdateBackgroundImageL
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapterImpl::TPropertyChangeResponse CXnControlAdapterImpl::UpdateBackgroundImageL(
-    CXnProperty* aProperty )
-    {
-    if ( aProperty )
-        {
-        const TDesC8& name( aProperty->Property()->Name() );
-
-        if ( name == XnPropertyNames::appearance::common::KBackGroundImage )
-            {
-            delete iBackgroundBitmap;
-            iBackgroundBitmap = NULL;
-
-            delete iBackgroundMask;
-            iBackgroundMask = NULL;
-
-            delete iScaledTransparentColor;
-            iScaledTransparentColor = NULL;
-
-            delete iScaledBackgroundSkin;
-            iScaledBackgroundSkin = NULL;
-
-            delete iScaledBackgroundImage;
-            iScaledBackgroundImage = NULL;
-
-            InitializeBackgroundBitmapL( *( iNode.Node().UiEngine() ), iNode.Node(),
-                iBackgroundBitmapIndex, iBackgroundBitmap, iBackgroundMask,
-                iIconProvider, FsSession());
-
-            return EPropertyChangeConsumed;
-            }
-        }
-
-    return EPropertyChangeNotConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnControlAdapterImpl::HandleScreenDeviceChangedL
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::HandleScreenDeviceChangedL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CreateBitmapFromColorL
-// Creates a bitmap object with the given size and fill color
-// -----------------------------------------------------------------------------
-//
-static CFbsBitmap* CreateBitmapFromColorL( TSize aSize, TRgb aColor )
-    {
-    CFbsBitmap* newBitmap = new ( ELeave ) CFbsBitmap;
-    newBitmap->Create( aSize, EColor16M );
-    CleanupStack::PushL( newBitmap );
-
-    CFbsBitmapDevice* bitmapDev = CFbsBitmapDevice::NewL( newBitmap );
-    CleanupStack::PushL( bitmapDev );
-
-    CFbsBitGc* bc = NULL;
-    User::LeaveIfError( bitmapDev->CreateContext( bc ) );
-    CleanupStack::PushL( bc );
-
-    bc->SetBrushColor( aColor );
-    bc->Clear(); // area is filled with the brush color
-
-    CleanupStack::PopAndDestroy( bc );
-    CleanupStack::PopAndDestroy( bitmapDev );
-    CleanupStack::Pop( newBitmap );
-    return newBitmap;
-    }
-
-// -----------------------------------------------------------------------------
-// PassEventToGestureHelperL
-// Forwards event to gesturehelper
-// -----------------------------------------------------------------------------
-//
-TBool CXnControlAdapterImpl::PassEventToGestureHelperL(
-    const TPointerEvent& aPointerEvent )
-    {
-    TBool ret( EFalse );
-    
-    CXnNode* node( &iNode.Node() );
-    CXnUiEngine* engine( node->UiEngine() );
-
-    if ( iGestureHelper && iGestureHelper->Owner() == node )
-        {
-        if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-            {                               
-            // Set default destination                     
-            iGestureHelper->SetDestination( iGestureHelper->Owner() );
-            
-            RPointerArray< CXnPluginData >& plugins( 
-                engine->ViewManager()->ActiveViewData().PluginData() );
-            
-            for ( TInt i = 0; i < plugins.Count(); i++ )
-                {
-                CXnPluginData* plugin( plugins[i] );
-                                           
-                if ( plugin->Occupied() )
-                    {
-                    CXnNode* widget( plugin->Node()->LayoutNode() );
-                    
-                    if ( widget->MarginRect().Contains( aPointerEvent.iPosition ) )
-                        {
-                        // Resolve swipe destination
-                        CXnProperty* prop( widget->GetPropertyL( 
-                            XnPropertyNames::common::KSwipeDestination ) );
-                        
-                        if ( prop )
-                            {
-                            const TDesC8& value( prop->StringValue() );
-                                
-                            if( value == XnPropertyNames::KWidget )
-                                {
-                                // Set widget as destination    
-                                iGestureHelper->SetDestination( widget );
-                                }
-                            else if( value == XnPropertyNames::KNone )
-                                {
-                                // Set no destination    
-                                iGestureHelper->SetDestination( NULL );
-                                }
-                            }
-                        
-                        break;
-                        }
-                    }
-                }
-            }
-
-        TSwipeResult result( iGestureHelper->HandlePointerEventL( aPointerEvent ) );
-        
-        const TDesC8* swipe( NULL );
-    
-        if ( result == ESwipeLeft )
-            {
-            swipe = &XnPropertyNames::action::trigger::name::swipe::direction::KLeft;
-            }
-        else if ( result == ESwipeRight )
-            {
-            swipe = &XnPropertyNames::action::trigger::name::swipe::direction::KRight;
-            }
-
-        if ( swipe )
-            {
-            CXnNode* destination( iGestureHelper->Destination() );
-            
-            if ( destination )
-                {
-                if ( destination == iGestureHelper->Owner() )
-                    {
-                    CancelFocusRefusalL( *engine );
-                    }
-                
-                // Remove focus
-                engine->AppUiAdapter().HideFocus();
-
-                CXnNode* trigger( BuildSwipeTriggerNodeLC( *engine, *swipe ) );
-                destination->ReportXuikonEventL( *trigger );
-                CleanupStack::PopAndDestroy( trigger );
-                       
-                // If needed we can call here for example HandleSwipeL()
-                
-                // Consume this event
-                ret = ETrue;
-                }
-            }
-        }
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::RemoveChildAdapters()
-    {
-    iChildren.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-RPointerArray< CXnControlAdapter >& CXnControlAdapterImpl::ChildAdapters()
-    {
-    return iChildren;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-RFs& CXnControlAdapterImpl::FsSession()
-    {
-    return iAdapter->ControlEnv()->FsSession();
-    }
-
-
-// ============================= TIconProvider ===============================
-
-// -----------------------------------------------------------------------------
-// Constructor
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapterImpl::TIconProvider::TIconProvider( RFile& aFile ) :
-    iFile( aFile )
-    {
-    }
-        
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapterImpl::TIconProvider::~TIconProvider()
-    {
-    iFile.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// Retreive Icon handle
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::TIconProvider::RetrieveIconFileHandleL( 
-    RFile& aFile, const TIconFileType /*aType*/)
-    {
-    aFile.Duplicate( iFile );
-    }
-        
-// -----------------------------------------------------------------------------
-// Finish
-// -----------------------------------------------------------------------------
-//
-void CXnControlAdapterImpl::TIconProvider::Finished()
-    {
-    iFile.Close();
-    delete this;
-    }
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xndocument.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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:  Implementation for document base class
-*
-*/
-
-// INCLUDE FILES
-#include "xndocument.h"
-#include "xnappuiadapter.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnDocument::CXnDocument
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDocument::CXnDocument( CEikApplication& aApp, TUid aApplicationUid )
-    : CAknDocument( aApp )
-    {
-    iApplicationUid = aApplicationUid;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDocument::~CXnDocument()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDocument::CreateAppUiL
-// Creates an AppUi
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CEikAppUi* CXnDocument::CreateAppUiL()
-    {
-    CEikAppUi* appUi = new ( ELeave ) CXnAppUiAdapter( iApplicationUid );
-    return appUi;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnDocument::Uid
-// Get the application uid
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CXnDocument::Uid()
-    {
-    return iApplicationUid;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xneditmode.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,865 +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:  Edit mode for widget drag and drop.            
-*
-*/
-
-// System includes
-#include <AknUtils.h>
-#include <gulgcmap.h>
-#include <akntitle.h>
-#include <barsread.h>
-#include <xnuiengine.rsg>
-
-#ifdef RD_TACTILE_FEEDBACK
-#include <touchfeedback.h>
-#endif // RD_TACTILE_FEEDBACK
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnviewmanager.h"
-#include "xnviewadapter.h"
-#include "xnviewdata.h"
-#include "xnnodeimpl.h"
-#include "xndomnode.h"
-#include "xnnode.h"
-#include "xnproperty.h"
-#include "xnuiengine.h"
-#include "xncontroladapter.h"
-#include "xnpopupcontroladapter.h"
-#include "xnfocuscontrol.h"
-#include "xneditor.h"
-#include "xntype.h"
-#include "xnmenu.h"
-
-#include "xneditmode.h"
-
-// Constants
-_LIT8( KMenu, "menu" );
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// -----------------------------------------------------------------------------
-// CopyBitmap
-// Copies a data from source bitmap to target bitmap.
-// -----------------------------------------------------------------------------
-//
-static TInt CopyBitmap( CFbsBitmap& aTarget, const CFbsBitmap& aSource,        
-    TPoint aSourcePoint )
-    {
-    TSize targetSize( aTarget.SizeInPixels() );
-    TSize sourceSize( aSource.SizeInPixels() );
-    
-    TInt lineLength( targetSize.iWidth );
-    TInt maxSourceLineLength( sourceSize.iWidth - aSourcePoint.iX );
-    
-    if ( lineLength > maxSourceLineLength )
-        {
-        lineLength = maxSourceLineLength;
-        }
-    
-    TInt rowCount( targetSize.iHeight );
-    TInt maxSourceRowCount( sourceSize.iHeight - aSourcePoint.iY );
-    
-    if ( rowCount > maxSourceRowCount )
-        {
-        rowCount = maxSourceRowCount;
-        }
-
-    // Get bitmap display mode
-    TDisplayMode displayMode( aSource.DisplayMode() );
-
-    // Create buffer for a scan line
-    HBufC8* scanLine = HBufC8::New( aSource.ScanLineLength( 
-        lineLength, displayMode ) );
-           
-    if ( !scanLine )
-        {
-        return KErrNoMemory;
-        }
-     
-    TPtr8 scanPtr( scanLine->Des() );
-
-    // Copy all rows to destination bitmap
-    for ( TInt row = 0; row < rowCount; row++ )
-        {
-        aSource.GetScanLine( scanPtr,
-            TPoint( aSourcePoint.iX, aSourcePoint.iY + row ),
-            lineLength, displayMode );
-        
-        aTarget.SetScanLine( scanPtr, row );
-        }
-
-    delete scanLine;
-    
-    return KErrNone;
-    }        
-
-// -----------------------------------------------------------------------------
-// SetVisibilityL
-// Sets node either visible or hidden
-// -----------------------------------------------------------------------------
-//
-static void SetVisibilityL( CXnNode& aNode, const TDesC8& aVisibility )
-    {
-    CXnUiEngine* engine( aNode.UiEngine() );
-    
-    CXnDomStringPool* sp( aNode.DomNode()->StringPool() );
-    
-    CXnProperty* prop = CXnProperty::NewL(
-            XnPropertyNames::style::common::KVisibility,
-            aVisibility,
-            CXnDomPropertyValue::EString, *sp );
-    CleanupStack::PushL( prop );
-    
-    aNode.SetPropertyL( prop );
-    
-    CleanupStack::Pop( prop );
-    }
-
-// -----------------------------------------------------------------------------
-// ResolveMenuIdL
-// Resolves <menu> element and its id based on aMenuBar <menubar> element 
-// -----------------------------------------------------------------------------
-//
-static HBufC* ResolveMenuIdL( CXnNode& aMenuBar )
-    {       
-    HBufC* retval( NULL );
-    
-    RPointerArray< CXnNode >& children( aMenuBar.Children() );
-    
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNode* child( children[i] );
-        
-        if ( child->Type()->Type() == KMenu )
-            {
-            CXnProperty* prop( 
-                child->GetPropertyL( XnPropertyNames::common::KId ) );
-            
-            if ( prop )
-                {
-                // Ownership is passed to the caller
-                retval = prop->StringValueL();                
-                }
-            
-            break;
-            }
-        }
-    
-    return retval;
-    }
-
-#ifdef RD_TACTILE_FEEDBACK
-// -----------------------------------------------------------------------------
-// Feedback
-// Gives instant touch feedback
-// -----------------------------------------------------------------------------
-//
-static void Feedback( TTouchLogicalFeedback aType )
-    {
-    MTouchFeedback* fb( MTouchFeedback::Instance() );
-
-    if ( fb )
-        {
-        fb->InstantFeedback( aType );
-        }                        
-    }
-#endif // RD_TACTILE_FEEDBACK
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::CXnEditMode
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnEditMode::CXnEditMode( CXnUiEngine& aUiEngine )
-    : iUiEngine( aUiEngine ), 
-      iViewManager( *iUiEngine.ViewManager() ),
-      iState( CXnEditMode::ENone ), 
-      iStylusDownPos( TPoint::EUninitialized ),
-      iPreviousPos( TPoint::EUninitialized ),
-      iDrawPos( TPoint::EUninitialized ), 
-      iLastDrawRect( TRect::EUninitialized )     
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::ConstructL()
-    {             
-    CreateWindowL();
-    
-    ActivateL();            
-            
-    Window().SetRequiredDisplayMode( EColor16MA );
-    
-    if ( Window().SetTransparencyAlphaChannel() == KErrNone )
-        {    
-        Window().SetBackgroundColor( ~0 );
-        }
-                  
-    EnableDragEvents();
-
-    CCoeControl::MakeVisible( EFalse );
-    
-    TRect rect;
-    
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, rect );
-    
-    iMainpane = new ( ELeave ) CFbsBitmap;
-    User::LeaveIfError( iMainpane->Create( TSize(), EColor16MA ) );
-    
-    iWidget = new ( ELeave ) CFbsBitmap;
-    User::LeaveIfError( iWidget->Create( TSize(), EColor16MA ) );
-                  
-    iBmpDevice = CFbsBitmapDevice::NewL( iMainpane );
-              
-    iBmpGc = CFbsBitGc::NewL();
-        
-    iBmpGc->Activate( iBmpDevice );
-            
-    iMapGc = CWindowToBitmapMappingGc::NewL(  
-        *static_cast< CWsScreenDevice* >( SystemGc().Device() ), *iBmpGc );               
-    
-    SetRect( rect );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnEditMode* CXnEditMode::NewL( CXnUiEngine& aEngine )
-    {
-    CXnEditMode* self = new ( ELeave ) CXnEditMode( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::~CXnEditMode
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXnEditMode::~CXnEditMode()
-    {    
-    TRAP_IGNORE( StopDragL() );
-    
-    delete iMapGc;
-    delete iBmpGc;
-    delete iBmpDevice;
-    delete iMainpane;
-    delete iWidget;       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::UpdateScreen
-// Updates invalid parts of the screen. All drawing must be done from here
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::UpdateScreen()
-    {
-    if ( iState == CXnEditMode::EDragging )
-        {
-        if ( !iWidget || iDrawPos == TPoint::EUninitialized )
-            {
-            return;
-            }
-
-        TRect drawRect( iDrawPos, iWidget->SizeInPixels() );
-               
-        if ( iLastDrawRect != TRect::EUninitialized )
-            {
-            drawRect.BoundingRect( iLastDrawRect );
-            }
-
-        iLastDrawRect = drawRect;
-        
-        DrawNow( drawRect );          
-        }
-    else 
-        {
-        if ( iLastDrawRect != TRect::EUninitialized )
-            {
-            DrawNow( iLastDrawRect );
-            }
-        
-        iDrawPos.SetXY( 0, 0 );
-        iLastDrawRect = TRect::EUninitialized;        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::Draw
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::Draw( const TRect& aRect ) const
-    {      
-    CWindowGc& gc( SystemGc() );
-
-    gc.SetClippingRect( Rect() );
-
-    gc.Clear( aRect );
-    
-    if ( iWidget && iState == CXnEditMode::EDragging )
-        {              
-        gc.BitBlt( iDrawPos, iWidget );
-        }
-    
-    gc.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::MakeVisible
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::MakeVisible( TBool aVisible )
-    {        
-    TBool visible( IsVisible() ? ETrue : EFalse );
-    
-    if ( aVisible == visible )
-        {
-        return;
-        }
-        
-    CCoeControl::MakeVisible( aVisible );
-
-    CXnAppUiAdapter& appui( iUiEngine.AppUiAdapter() );
-    
-    // Remove focus
-    appui.HideFocus();
-    
-    CCoeControl& bg( appui.ViewAdapter().BgControl() );
-    
-    if ( aVisible )
-        {
-        bg.DrawableWindow()->SetPointerGrab( EFalse );
-        
-        Window().SetOrdinalPosition( 0 );
-        Window().SetPointerGrab( ETrue );
-        Window().ClaimPointerGrab();               
-        }
-    else
-        {
-        Window().SetPointerGrab( EFalse );
-        
-        bg.DrawableWindow()->SetPointerGrab( ETrue );               
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::HandlePointerEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    if ( !AknLayoutUtils::PenEnabled() )         
-        {
-        return;
-        }
-    
-    if ( aPointerEvent.iType != TPointerEvent::EButton1Down &&
-        iStylusDownPos == TPoint::EUninitialized )
-        {
-        return;
-        }
-    
-    // For performance reasons, discard the event if delta between previous
-    // event is within 'KOffset'.
-    TInt KOffset( 5 );
-    TRect rect(
-        aPointerEvent.iPosition.iX - KOffset,
-        aPointerEvent.iPosition.iY - KOffset,
-        aPointerEvent.iPosition.iX + KOffset,
-        aPointerEvent.iPosition.iY + KOffset );
-        
-    if ( aPointerEvent.iType == TPointerEvent::EDrag && 
-        rect.Contains( iPreviousPos ) )
-        {   
-        return;                 
-        }
-    
-    RPointerArray< CXnPluginData >& plugins( 
-        iViewManager.ActiveViewData().PluginData() );
-            
-    CXnNode* node( NULL );
-    
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {   
-        CXnPluginData* data( plugins[i] );
-        
-        CXnNode* plugin( data->Owner()->LayoutNode() );
-        
-        CXnControlAdapter* ctrl( plugin->Control() );
-
-        if ( ctrl->IsVisible() && 
-            ctrl->Rect().Contains( aPointerEvent.iPosition ) )        
-            {                      
-            node = plugin;
-            break;
-            }
-        }
-    
-    if ( !node )
-        {
-        if ( iTargetNode )
-            {
-            iTargetNode->UnsetStateL( XnPropertyNames::style::common::KFocus );
-            }
-        
-        iTargetNode = NULL;
-        }
-               
-    if ( node && node != iTargetNode )
-        {
-        if ( !node->IsStateSet( XnPropertyNames::style::common::KEdit ) )
-            {
-            // Not in edit state
-            node = NULL;
-            }
-        else
-            {
-            iTargetNode = node;
-
-            iUiEngine.DisableRenderUiLC();
-            
-            if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-                {
-                iUiEngine.AppUiAdapter().ShowFocus();
-                
-                node->SetStateL( XnPropertyNames::style::common::KFocus );
-#ifdef RD_TACTILE_FEEDBACK                
-                Feedback( ETouchFeedbackBasic );
-#endif
-                }
-            else if ( aPointerEvent.iType == TPointerEvent::EDrag )                     
-               {
-               if ( iState == CXnEditMode::EDragging )
-                   {
-                   node->SetStateL( XnPropertyNames::style::common::KFocus );               
-#ifdef RD_TACTILE_FEEDBACK               
-                   Feedback( ETouchFeedbackSensitive );
-#endif                                   
-                   }
-               else if ( iDraggingNode && 
-                   !iDraggingNode->MarginRect().Contains( aPointerEvent.iPosition ) )
-                   {
-                   iDraggingNode->UnsetStateL( 
-                       XnPropertyNames::style::common::KFocus );
-                   
-                   iDraggingNode = NULL;
-                   }                             
-               }     
-            
-            CleanupStack::PopAndDestroy();
-            }
-        }
-        
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {        
-        iDragged = EFalse;
-               
-        if ( node )
-            {
-            CXnPluginData& plugin( iUiEngine.ViewManager()->
-                    ActiveViewData().Plugin( node ) );
-            
-            if ( plugin.Occupied() )
-                {
-                StartDragL( *node );
-                                  
-                iDrawPos = iDraggingNode->BorderRect().iTl;
-                
-                iStylusDownPos = iPreviousPos = aPointerEvent.iPosition;
-                }  
-            else
-                {
-                iDraggingNode = node;
-                
-                iStylusDownPos = iPreviousPos = aPointerEvent.iPosition;
-                }
-            }
-        }
-    else if ( aPointerEvent.iType == TPointerEvent::EDrag )
-        {
-        const TInt KDragTreshold( 30 );
-        
-        TInt dx( Abs( aPointerEvent.iPosition.iX - iStylusDownPos.iX ) );
-        TInt dy( Abs( aPointerEvent.iPosition.iY - iStylusDownPos.iY ) );
-        
-        TBool dragged( iDragged );
-        
-        if ( dx > KDragTreshold || dy > KDragTreshold )
-            {
-            iDragged = ETrue;
-            
-            if ( !dragged && iDragged && iDraggingNode && 
-                iState == CXnEditMode::EDragging )
-                {
-                // Hide the node which will be dragged from layout tree 
-                SetVisibilityL( *iDraggingNode,
-                    XnPropertyNames::style::common::visibility::KHidden );
-                
-                iUiEngine.RenderUIL();                
-                }
-            }
-        
-        if ( iDragged && iWidget && iDraggingNode && iState == CXnEditMode::EDragging )
-            {                        
-            // Resolve draw position
-            TPoint dp( iPreviousPos - aPointerEvent.iPosition );
-                                
-            iDrawPos -= dp;
-                    
-            // Update previous position
-            iPreviousPos = aPointerEvent.iPosition;
-            
-            UpdateScreen();
-            }
-        }
-    else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-        {
-#ifdef RD_TACTILE_FEEDBACK                
-        Feedback( ETouchFeedbackBasic );
-#endif
-        // Cancel
-        if ( !iTargetNode || !iDraggingNode ||                 
-             iDraggingNode == iTargetNode ||
-             !iTargetNode->MarginRect().Contains( aPointerEvent.iPosition ) )
-            {                                
-            CXnNode* node( iDraggingNode );
-            
-            iUiEngine.DisableRenderUiLC();
-            
-            StopDragL();
-            
-            iUiEngine.RenderUIL();
-            
-            CleanupStack::PopAndDestroy(); // DisableRenderUiLC
-            
-            UpdateScreen();
-                        
-            if ( node && !iDragged )
-                {
-                CXnPluginData& plugin( iUiEngine.ViewManager()->
-                        ActiveViewData().Plugin( node ) );
-
-                if ( plugin.Occupied() )
-                    {
-                    CXnNode* popup( iUiEngine.StylusPopupNode() );
-                    
-                    if ( popup )
-                        {
-                        CXnPopupControlAdapter* control =
-                            static_cast< CXnPopupControlAdapter* >(
-                                    popup->Control() );
-                       
-                        if ( control )
-                            {
-                            control->TryDisplayingStylusPopupL( *node );
-                            }
-                        }
-                    }
-                else
-                    {
-                    // empty slot, start add widget query
-                    iUiEngine.Editor()->SetTargetPlugin( node );
-                    iUiEngine.Editor()->AddWidgetL();
-                    }
-                }
-            }            
-        else // Reorder
-            {
-            if ( iDraggingNode && iTargetNode )
-                {
-                iUiEngine.DisableRenderUiLC();
-                
-                CXnNode* parent1( iDraggingNode->Parent() );
-                CXnNode* parent2( iTargetNode->Parent() );
-                
-                if ( parent1 == parent2 )
-                    {
-                    parent1->ReorderNodesL( iDraggingNode, iTargetNode );
-                    
-                    // Update plugin positions to HSPS
-                    iUiEngine.Editor()->ReorderWidgetsL( 
-                            iUiEngine.Plugins() );                    
-                    }
-                                               
-                StopDragL();
-                
-                iUiEngine.RenderUIL();
-                
-                CleanupStack::PopAndDestroy(); // DisableRenderUiLC
-                
-                UpdateScreen();                    
-                }
-            }
-        
-        iUiEngine.AppUiAdapter().HideFocus();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::OfferKeyEventL
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CXnEditMode::OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-    TEventCode aType )
-    {    
-    if ( IsVisible() && aType == EEventKey )
-        {
-        CXnNode* focused( iUiEngine.FocusedNode() );
-        
-        if ( focused && ( aKeyEvent.iScanCode == EStdKeyDevice3 ||
-            aKeyEvent.iScanCode == EStdKeyEnter ) )
-            {
-            CXnPluginData& plugin( iUiEngine.ViewManager()->
-                    ActiveViewData().Plugin( focused ) );
-            
-            if ( plugin.Occupied() )
-                {
-                // Open context menu
-                CXnNode* menubar( iUiEngine.MenuBarNode() );
-                
-                if ( menubar )
-                    {
-                    HBufC* id( ResolveMenuIdL( *menubar ) );
-                    CleanupStack::PushL( id );
-                    
-                    if ( id )
-                        {
-                        XnMenuInterface::MXnMenuInterface* menuIf( NULL );
-                        
-                        XnComponentInterface::MakeInterfaceL( 
-                            menuIf, menubar->AppIfL() );
-                        
-                        if ( menuIf )
-                            {
-                            menuIf->TryDisplayingMenuBarL( *id );
-                            iUiEngine.Editor()->SetTargetPlugin( focused );
-                            }                        
-                        }
-                    
-                    CleanupStack::PopAndDestroy( id );
-                    }                                               
-                }
-            else
-                {
-                // empty slot, start add widget query
-                iUiEngine.Editor()->SetTargetPlugin( focused );
-                iUiEngine.Editor()->AddWidgetL();                
-                } 
-            
-            return EKeyWasConsumed;
-            }
-        }
-    
-    return EKeyWasNotConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::SizeChanged
-//
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::SizeChanged()
-    {
-    TSize size( Rect().Size() );
-    
-    iBmpDevice->Resize( size );
-    
-    // Needs to be called if the device is resized
-    iBmpGc->Resized();
-    
-    iMainpane->Resize( size );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::StartDragL()
-//
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::StartDragL( CXnNode& aNode )
-    {  
-    CXnControlAdapter* control( aNode.Control() );
-    
-    TRect rect( control->Rect() );
-    
-    // Clear first with alpha 
-    TRgb rgb( TRgb::Color16MA( 0 ) );
-    rgb.SetAlpha( 64 );
-        
-    iMapGc->SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
-    
-    iMapGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    iMapGc->SetBrushColor( rgb );
-    
-    iMapGc->Clear( rect );
-                         
-    iState = CXnEditMode::EShootContent;
-        
-    CWindowGc* gc( control->CustomGc() );
-            
-    control->SetCustomGc( iMapGc );
-    
-    control->DrawNow( rect );
-        
-    control->SetCustomGc( gc );
-           
-    if ( iWidget->SizeInPixels() != rect.Size() )
-        {
-        iWidget->Resize( rect.Size() );
-        }
-    
-    User::LeaveIfError( CopyBitmap( *iWidget, *iMainpane, rect.iTl ) );
-
-    iState = CXnEditMode::EDragging;
-        
-    iDraggingNode = &aNode;       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::StopDragL()
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::StopDragL()
-    {
-    if ( iDraggingNode && iState == CXnEditMode::EDragging )
-        {
-        SetVisibilityL( *iDraggingNode,
-            XnPropertyNames::style::common::visibility::KVisible );
-                        
-        iDraggingNode->SetStateL( XnPropertyNames::style::common::KFocus );
-        iDraggingNode->Parent()->SetDirtyL( XnDirtyLevel::ELayoutAndRender );
-        }
-
-    iDraggingNode = NULL;
-    iTargetNode = NULL;
-
-    iPreviousPos.SetXY( 0, 0 );
-    iStylusDownPos.SetXY( 0, 0 );
-
-    iState = CXnEditMode::EDragAndDrop;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::HandleScreenDeviceChangedL
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::HandleScreenDeviceChangedL()
-    {
-    if ( iState != CXnEditMode::ENone )
-        {
-        if ( iState == CXnEditMode::EDragging )
-            {
-            IgnoreEventsUntilNextPointerUp();
-            }
-        
-        StopDragL();               
-        }
-
-    SetRect( iUiEngine.ClientRect() );
-                       
-    UpdateScreen();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::SetEditModeL()
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::SetEditModeL( CXnEditMode::TEditState aState )
-    {    
-    // Enter to edit mode
-    if ( aState == CXnEditMode::EDragAndDrop )
-        {               
-        iState = aState;
-        
-        iUiEngine.AppUiAdapter().HandleEnterEditModeL( ETrue );
-        SetStatusPaneTitleL();
-        
-        MakeVisible( ETrue );               
-        }
-
-    // Exit from edit mode
-    else if ( aState == CXnEditMode::ENone )
-        {                
-        iDraggingNode = NULL;
-        iTargetNode = NULL;
-        
-        iState = aState;
-                       
-        iUiEngine.AppUiAdapter().HandleEnterEditModeL( EFalse );
-        
-        MakeVisible( EFalse );
-        }   
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::EditState()
-//
-// -----------------------------------------------------------------------------
-//
-CXnEditMode::TEditState CXnEditMode::EditState() const
-    {
-    return iState;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::SetStatusPaneTitleL()
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::SetStatusPaneTitleL()
-    {
-    TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle );
-    CEikStatusPaneBase::TPaneCapabilities subPaneTitle = 
-        iUiEngine.AppUiAdapter().StatusPane()->PaneCapabilities( titlePaneUid );
-    if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() )
-        {
-        CAknTitlePane* title = static_cast< CAknTitlePane* >( 
-            iUiEngine.AppUiAdapter().StatusPane()->ControlL( titlePaneUid ) );
-        TResourceReader reader;
-        CEikonEnv::Static()->CreateResourceReaderLC(
-                reader, R_QTN_HS_TITLE_EDITMODE );
-        title->SetFromResourceL( reader );
-        CleanupStack::PopAndDestroy(); // reader internal state
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditMode::StopDraggingL()
-// -----------------------------------------------------------------------------
-//
-void CXnEditMode::StopDraggingL()
-    {
-    if( iState == CXnEditMode::EDragging )
-        {
-        StopDragL();
-        UpdateScreen();
-        }
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1876 +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:  Manages Ai3 personalization
-*
-*/
-
-// System includes
-#include <StringLoader.h>
-#include <aknlistquerydialog.h> 
-#include <aknnotewrappers.h>
-#include <utf.h>
-#include <AknsWallpaperUtils.h>
-#include <centralrepository.h>
-#include <AknSkinsInternalCRKeys.h>
-#include "../../../inc/ai3.hrh"
-
-#include <xnuiengine.rsg>
-#include <hscontentcontrolui.h>
-#include <hscontentcontrol.h>
-#include <activeidle2domaincrkeys.h>
-
-// User includes
-#include "xnuiengine.h"
-#include "xnproperty.h"
-#include "xnnode.h"
-#include "xntype.h"
-#include "xntext.h"
-#include "xnappuiadapter.h"
-
-#include "xndomnode.h"
-#include "xndomproperty.h"
-#include "xndompropertyvalue.h"
-#include "xndomlist.h"
-#include "xndomattribute.h"
-#include "hspssapi.h"
-#include "cpssapi.h"
-#include "xneditmode.h"
-#include "xndomdocument.h"
-#include "xnnodeimpl.h"
-#include "xnodt.h"
-#include "xnplugindefs.h"
-
-#include "xnviewmanager.h"
-#include "xnplugindata.h"
-#include "xnrootdata.h"
-#include "xnviewdata.h"
-#include "xnwallpaperview.h"
-#include "xnbackgroundmanager.h"
-
-#include "xneditor.h"
-#include "xnpanic.h"
-
-using namespace hspswrapper;
-using namespace cpswrapper;
-
-// LOCAL CONSTANTS AND MACROS
-_LIT8( KEventPluginUnInstalled, "PluginUninstalled" );
-_LIT8( KEventRootConfActivated, "AppConfActivated" );
-_LIT8( KEventPluginUpdated, "PluginUpdated" );
-_LIT8( KEventPluginActivated, "PluginActivated" );
-_LIT8( KEventPluginInstalled, "PluginInstalled" );
-_LIT8( KEventPluginAdded, "PluginAdded" );
-_LIT8( KEventPluginRemoved, "PluginRemoved" );
-_LIT8( KEventPluginReplaced, "PluginReplaced" );
-
-_LIT8( KAi3Uid, "0x102750f0" );
-
-_LIT8( KEmptyWidgetUid, "0x2001F47F" );
-_LIT8( KDownload, "Editor/DownloadCaption" );
-
-_LIT8( KSingle, "single" );
-_LIT8( KMulti, "multi" );
-
-
-const TInt32 KMultiInstanceUnlimitedValue = -1;
-
-const TUid KDummyUid = { 0x0000000 };
-
-const TUint32 KAICCPluginUIDKey = 0x00003010;
-const TInt32 KOpaQDataLen = 10;
-
-enum
-    {
-    ECanBeAdded = 0x01,
-    ECanBeRemoved
-    };
-
-// ====================== LOCAL FUNTION PROTOTYPES ============================
-static void DeletePluginInfos( TAny* aObject );
-static void DeleteItemMaps( TAny* aObject );
-static void DeleteWidgetInfo( TAny* aObject );
-
-static TPtrC ParseWidgetName( const CHsContentInfo& aContentInfo );
-static void SetPropertyL( CXnNode& aNode, const TDesC8& aAttribute, 
-                          const TDesC8& aValue );    
-static void ShowErrorNoteL( const TDesC& aMsg );      
-static CXnPluginData* DeterminePlugin( CXnViewManager& aViewManager, 
-                                         CXnNode* aPredicate = NULL );
-static CXnPluginData* DeterminePlugin( 
-                            RPointerArray< CXnPluginData >& aPlugins,                            
-                            const CHsContentInfo& aContentInfo );
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// DeletePluginInfos
-// ---------------------------------------------------------------------------
-// 
-static void DeletePluginInfos( TAny* aObject )
-    {
-    reinterpret_cast<
-        RPointerArray< hspswrapper::CPluginInfo >* >(
-            aObject )->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// DeleteItemMaps
-// ---------------------------------------------------------------------------
-// 
-static void DeleteItemMaps( TAny* aObject )
-    {
-    reinterpret_cast<
-        RPointerArray< hspswrapper::CItemMap >* >(
-            aObject )->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// DeleteWidgetInfo
-// ---------------------------------------------------------------------------
-// 
-static void DeleteWidgetInfo( TAny* aObject )    
-    {
-    reinterpret_cast<
-        RPointerArray< CHsContentInfo >* >( aObject )->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// ParseWidgetName
-// ---------------------------------------------------------------------------
-// 
-static TPtrC ParseWidgetName( const CHsContentInfo& aContentInfo )
-    {
-    TPtrC retval( aContentInfo.Name() );
-
-    TInt pos( retval.Locate( ':' ) );
-
-    if ( pos != KErrNotFound )
-        {
-        retval.Set( retval.Right( retval.Length() - pos - 1 ) );
-        }
-
-    return retval;
-    }
-
-// ---------------------------------------------------------------------------
-// SetPropertyL
-// ---------------------------------------------------------------------------
-// 
-static void SetPropertyL( CXnNode& aNode, 
-    const TDesC8& aAttribute, const TDesC8& aValue )
-    {
-    CXnDomNode* node( aNode.DomNode() );
-    
-    if ( node )
-        {
-        CXnDomStringPool* sp( node->StringPool() );
-
-        // create new property
-        CXnDomPropertyValue* value = CXnDomPropertyValue::NewL( sp );
-        CleanupStack::PushL( value );
-
-        value->SetStringValueL( CXnDomPropertyValue::EString, aValue );
-
-        CXnProperty* prop = CXnProperty::NewL( aAttribute, value, *sp );
-                    
-        CleanupStack::Pop( value );
-        CleanupStack::PushL( prop );
-
-        aNode.SetPropertyL( prop );
-
-        CleanupStack::Pop( prop );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ShowErrorNoteL
-// ---------------------------------------------------------------------------
-// 
-static void ShowErrorNoteL( const TDesC& aMsg )
-    {
-    CAknErrorNote* note = new ( ELeave ) CAknErrorNote;
-    CleanupStack::PushL( note );
-
-    note->ExecuteLD( aMsg );
-
-    CleanupStack::Pop( note );    
-    }
-
-// ---------------------------------------------------------------------------
-// DeterminePlugin
-// Determinates target plugin where widget should be added
-// ---------------------------------------------------------------------------
-// 
-CXnPluginData* DeterminePlugin( CXnViewManager& aViewManager, 
-    CXnNode* aPredicate )
-    {
-    CXnViewData& viewData( aViewManager.ActiveViewData() );
-
-    if ( aPredicate )
-        {
-        CXnPluginData& plugin( viewData.Plugin( aPredicate ) );
-
-        if ( !plugin.Occupied() )
-            {
-            return &plugin;
-            }
-        }
-
-    RPointerArray< CXnNode >& nodes( aViewManager.PluginNodes() );
-
-    for ( TInt i = 0; i < nodes.Count(); i++ )
-        {
-        CXnNode* node( nodes[i] );
-
-        CXnPluginData& plugin( viewData.Plugin( node ) );
-
-        if ( !plugin.Occupied() )
-            {
-            return &plugin;
-            }
-        }
-
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// DeterminePlugin
-// Determines target plugin based widget info
-// ---------------------------------------------------------------------------
-//
-CXnPluginData* DeterminePlugin( RPointerArray< CXnPluginData >& aPlugins, 
-    const CHsContentInfo& aContentInfo ) 
-    {    
-    for ( TInt i = 0; i < aPlugins.Count(); i++ )
-        {
-        CXnPluginData* plugin( aPlugins[i] );
-        
-        if ( plugin->Occupied() && plugin->PluginId() == aContentInfo.PluginId() )
-            {
-            return plugin;
-            }
-        }
-    
-    return NULL;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NewL
-// ---------------------------------------------------------------------------
-// 
-CXnEditor* CXnEditor::NewL( CXnViewManager& aViewManager, 
-    const TDesC8& aUid )
-    {
-    CXnEditor* self = CXnEditor::NewLC( aViewManager, aUid );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NewLC
-// ---------------------------------------------------------------------------
-// 
-CXnEditor* CXnEditor::NewLC( CXnViewManager& aViewManager,
-    const TDesC8& aUid )
-    {
-    CXnEditor* self = new ( ELeave ) CXnEditor( aViewManager );
-    CleanupStack::PushL( self );
-    self->ConstructL( aUid );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::CXnEditor
-// ---------------------------------------------------------------------------
-// 
-CXnEditor::CXnEditor( CXnViewManager& aViewManager )
-    : iViewManager( aViewManager ),
-      iWidgetsVisibilityState( ETrue )
-    {
-    iViewManager.AddObserver( *this );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::ConstructL
-// ---------------------------------------------------------------------------
-// 
-void CXnEditor::ConstructL( const TDesC8& aUid )
-    {
-    iCpsWrapper = CCpsWrapper::NewL( *this );
-    iHspsWrapper = CHspsWrapper::NewL( aUid, this );
-    iRepository= CRepository::NewL( TUid::Uid( KCRUidActiveIdleLV ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::~CXnEditor
-// ---------------------------------------------------------------------------
-// 
-CXnEditor::~CXnEditor()
-    {
-    iViewManager.RemoveObserver( *this );
-    
-    delete iCpsWrapper;
-    delete iHspsWrapper;
-    delete iPublisherMap;
-    delete iRepository;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditor::IsCurrentViewFull
-// -----------------------------------------------------------------------------
-//
-TBool CXnEditor::IsCurrentViewFull()
-    {
-    TBool viewFull = ETrue;
-    
-    RPointerArray< CXnPluginData >& plugins( 
-        iViewManager.ActiveViewData().PluginData() );
-                
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        if ( !plugins[i]->Occupied() )
-            {
-            viewFull = EFalse;
-            break;
-            }
-        }
-    
-    return viewFull;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditor::FilterWidgetListL
-// -----------------------------------------------------------------------------
-//
-void CXnEditor::FilterWidgetListL( CHsContentInfoArray& aContentInfoArray,
-    TBool aIgnoreViewFull )
-    {
-    RPointerArray< CHsContentInfo >& list( aContentInfoArray.Array() );
-    
-    TBool viewFull = ( aIgnoreViewFull ? EFalse : IsCurrentViewFull() );
-    
-    for ( TInt i = 0; i < list.Count(); i++ )
-        {
-        CHsContentInfo* info( list[i] );
-
-        info->SetCanBeAdded( EFalse );
-        info->SetCanBeRemoved( EFalse );
-        
-        TInt result( 0 );
-
-        if ( info->Type() != KKeyTemplate() )
-            {   
-            result = NonTemplateWidgetCanBeAddedRemovedL( *info );            
-            }
-        else
-            {
-            result = TemplateWidgetCanBeAddedRemovedL( *info );
-            }
-        
-        if ( ( result & ECanBeAdded ) && !viewFull )
-            {                        
-            info->SetCanBeAdded( ETrue );            
-            }
-        
-        if ( result & ECanBeRemoved )
-            {
-            info->SetCanBeRemoved( ETrue );
-            }
-        }            
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::TemplateWidgetCanBeAddedRemovedL
-// ---------------------------------------------------------------------------
-// 
-TInt CXnEditor::TemplateWidgetCanBeAddedRemovedL( 
-    CHsContentInfo& aInfo )
-	{
-	TInt retval( 0 );
-	
-	TInt widgetCount( 0 );
-	
-	RPointerArray< CXnPluginData > plugins;
-	CleanupClosePushL( plugins );
-	
-	if ( aInfo.IsWrt() )
-	    {
-	    // Get plugins globally from all pages
-	    iViewManager.PluginDataL( plugins, ETrue );
-	    }
-	else
-	    {
-	    // Get plugins from current page
-	    iViewManager.PluginDataL( plugins, EFalse );
-	    }
-	    	
-	// Get widgets in current configuration
-	for ( TInt i = 0; i < plugins.Count(); i++ )
-		{
-		CXnPluginData* plugin( plugins[i] );
-		
-		if ( !plugin->Occupied() )
-		    {
-		    continue;
-		    }
-		
-		if ( plugin->PublisherName() == aInfo.PublisherId() )
-			{
-			if ( plugin->Removable() )
-			    {
-			    // To enable widget remove
-			    aInfo.SetPluginIdL( plugin->PluginId() );
-			    
-			    retval |= ECanBeRemoved;
-			    }
-			
-			widgetCount++;
-			}
-		}
-
-	if ( widgetCount < aInfo.MaxWidgets() )
-	    {
-	    retval |= ECanBeAdded;
-	    }
-	
-	CleanupStack::PopAndDestroy( &plugins );
-	
-	return retval;
-	}
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NonTemplateWidgetCanBeAddedRemovedL
-//
-// ---------------------------------------------------------------------------
-// 
-TInt CXnEditor::NonTemplateWidgetCanBeAddedRemovedL( 
-    CHsContentInfo& aInfo )
-    {    
-    TInt retval( 0 );
-    
-    TInt widgetCount( 0 );
-
-    CXnViewData& activeView( iViewManager.ActiveViewData() );
-
-    RPointerArray< CXnPluginData >& plugins( activeView.PluginData() );
-
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        CXnPluginData* plugin( plugins[i] );
-
-        if ( !plugin->Occupied() )
-            {
-            continue;
-            }        
-        
-        if ( plugin->PluginUid().CompareF( aInfo.Uid() ) == 0 )
-            {
-            if ( plugin->Removable() )
-                {
-                // To enable widget remove
-                aInfo.SetPluginIdL( plugin->PluginId() );
-                
-                retval |= ECanBeRemoved;
-                }
-            
-            widgetCount++;
-            }
-        }
-    
-    if ( widgetCount < aInfo.MaxWidgets() ||
-        aInfo.MaxWidgets() == KMultiInstanceUnlimitedValue )
-        {
-        retval |= ECanBeAdded;        
-        }
-    
-    return retval;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CXnEditor::FilterViewListL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::FilterViewListL( CHsContentInfoArray& aContentInfoArray )
-    {
-    RPointerArray< CHsContentInfo >& list( aContentInfoArray.Array() );
-    
-    RPointerArray< CXnPluginData >& views( 
-        iViewManager.ActiveAppData().PluginData() );
-
-    TInt viewAmount( iViewManager.ViewAmount() );
-    
-    const TInt KMaxViewAmount( 6 );
-    
-    for ( TInt i = 0; i < list.Count(); i++ )
-        {
-        CHsContentInfo* info( list[i] );
-        
-        info->SetCanBeAdded( EFalse );
-        info->SetCanBeRemoved( EFalse );
-
-        for ( TInt j = 0 ; j < views.Count(); j++ )
-            {
-            CXnPluginData* view( views[j] );
-            
-            if ( view->PluginUid().CompareF( info->Uid() ) == 0 )
-                {
-                // To enable view remove
-                info->SetPluginIdL( view->PluginId() );
-                // Last view cannot be removed
-                if ( views.Count() > 1 )
-                    {
-                    info->SetCanBeRemoved( ETrue );
-                    }
-                }
-            }
-        
-        if ( viewAmount < KMaxViewAmount )
-            {
-            info->SetCanBeAdded( ETrue );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::RemoveUnRegisteredWidgetL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::RemoveUnRegisteredWidgetL( const TDesC16& aPublisher )
-    {
-    RPointerArray< CXnPluginData > plugins;
-    CleanupClosePushL( plugins );
-    
-    iViewManager.PluginDataL( plugins, ETrue );
-
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        CXnPluginData* plugin( plugins[i] );
-        
-        if( plugin->Occupied() && plugin->PublisherName() == aPublisher )
-            {
-            iViewManager.UnloadWidgetFromPluginL( *plugin );                                
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &plugins );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::RemoveUnInstalledWidgetL
-// ---------------------------------------------------------------------------
-// 
-void CXnEditor::RemoveUnInstalledWidgetL( const CHsContentInfo& aContentInfo )
-    {
-    RPointerArray< CXnPluginData > plugins;
-    CleanupClosePushL( plugins );
-    
-    iViewManager.PluginDataL( plugins, ETrue );
-    
-    CXnPluginData* plugin( DeterminePlugin( plugins, aContentInfo ) ); 
-                            
-    if ( plugin )
-        {
-        iViewManager.UnloadWidgetFromPluginL( *plugin );
-        }  
-    
-    CleanupStack::PopAndDestroy( &plugins );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::ReplaceWidgetL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::ReplaceWidgetL( CHsContentInfo& aContentInfo, TBool aUseHsps ) 
-    {
-    RPointerArray< CXnPluginData > plugins;
-    CleanupClosePushL( plugins );
-    
-    iViewManager.PluginDataL( plugins, ETrue );
-    
-    CXnPluginData* match = NULL;
-    
-    for( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        CXnPluginData* plugin( plugins[i] );
-        
-        if( plugin->PluginId() == aContentInfo.PluginId() )
-            {
-            match = plugin;
-            break;
-            }
-        }
-    
-    if( match )
-        {
-        iViewManager.ReplaceWidgetToPluginL( aContentInfo, *match, aUseHsps );
-        }
-    
-    CleanupStack::PopAndDestroy( &plugins );    
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::IdFromCrep
-// ---------------------------------------------------------------------------
-//
-TInt CXnEditor::IdFromCrep (TDes8& aUid) const
-    {
-    return iRepository->Get( KAICCPluginUIDKey, aUid );
-    }
-
-// CXnEditor::AddWidgetL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::AddWidgetL()
-    {
-    TBuf8<KOpaQDataLen> oPaqDataStr;
-           
-    MHsContentControlUi* ui( NULL );
-    if ( IdFromCrep ( oPaqDataStr ) == KErrNone )
-        {
-        ui = iViewManager.AppUiAdapter().HsContentController( oPaqDataStr ); 
-        }
-    if( ui )
-        {
-        ui->SetContentController( this );
-        ui->Activate();
-        
-        return;
-        }
-    
-    CXnPluginData* plugin( NULL );
-
-    if ( iTargetPlugin )
-        {
-        plugin = DeterminePlugin( iViewManager, iTargetPlugin );               
-        }
-    else
-        {
-        plugin = DeterminePlugin( iViewManager );
-        }
-
-    iTargetPlugin = NULL;
-        
-    CHsContentInfoArray* info = CHsContentInfoArray::NewL();
-    CleanupStack::PushL( info );
-           
-    RPointerArray< CHsContentInfo >& widgets( info->Array() );
-
-    // get installed widgets from HSPS (type: "widget")
-    HSPSPluginsL( widgets, KKeyWidget );
-    // get installed widgets from HSPS
-    TemplatedWidgetsL( widgets );
-    
-    FilterWidgetListL( *info, ETrue );
-                      
-    CDesCArrayFlat* array = new ( ELeave ) CDesCArrayFlat( 8 );
-    CleanupStack::PushL( array );
-    
-    for ( TInt i = 0; i < widgets.Count(); i++ )
-        {
-        CHsContentInfo* widget( widgets[i] );
-        
-        if ( widget->CanBeAdded() )
-            {
-            TPtrC name( ParseWidgetName( *widget ) );
-            
-            array->InsertIsqAllowDuplicatesL( name );            
-            }
-        }
-
-    const TDesC8& ns( iViewManager.ViewNode()->Namespace() );
-
-    CXnNode* link( iViewManager.UiEngine().FindNodeByIdL( KDownload, ns ) );
-
-    if ( link )
-        {
-        CXnText* textIf( NULL );
-
-        XnComponentInterface::MakeInterfaceL( textIf, link->AppIfL() );
-
-        if ( textIf )
-            {
-            const TDesC* text( textIf->Text() );
-
-            if ( text )
-                {
-                // First item is always Download link
-                array->InsertL( 0, *text );
-                }
-            }
-        }
-
-    // Display dialog
-    TInt selectedIndex( 0 );
-
-    CAknListQueryDialog* query =
-        new ( ELeave ) CAknListQueryDialog( &selectedIndex );
-
-    query->PrepareLC( R_LISTQUERY_ADD_WIDGET );
-
-    query->SetItemTextArray( array );
-    query->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
-    // Save dialog pointer for later usage
-    iQuery = query;
-
-    TBool linkSelected( EFalse );
-
-    if ( query->RunLD() )
-        {
-        // Download link is always the first one, if it is defined
-        if ( link && selectedIndex == 0 )
-            {
-            // Activate download link shortcut
-            link->SetStateL( XnPropertyNames::style::common::KActive );
-            link->UnsetStateL( XnPropertyNames::style::common::KActive );
-
-            linkSelected = ETrue;
-            }       
-        else
-            {
-            if ( !plugin )
-                {
-                // No room for new widget, so error note.
-                HBufC* msg = StringLoader::LoadLC( R_QTN_HS_ADD_WIDGET_FULL );                
-                ShowErrorNoteL( *msg );                    
-                CleanupStack::PopAndDestroy( msg );
-                }            
-            }
-                    
-        const TDesC& selectedName( ( *array )[selectedIndex] );
-
-        for ( TInt i = 0; plugin && !linkSelected && i < widgets.Count(); i++ )
-            {
-            CHsContentInfo* widget( widgets[i] );
-
-            TPtrC name( ParseWidgetName( *widget ) );
-
-            if ( selectedName == name )
-                {             
-                TInt ret( iViewManager.LoadWidgetToPluginL( *widget, *plugin ) );
-                
-                if ( ret == KErrNone )
-                    {
-                    CXnNode *node( plugin->Owner()->LayoutNode() );
-
-                    // Analyse added widget
-                    TBool widgetOk( iViewManager.UiEngine().AnalyseAddedWidgetL(
-                            *node ) );
-
-                    if ( !widgetOk )
-                        {
-                        iViewManager.UnloadWidgetFromPluginL( *plugin );
-                        
-                        // Widget doesn't fit to UI 
-                        HBufC* msg = StringLoader::LoadLC(
-                            R_QTN_HS_ADD_WIDGET_FULL );
-                        
-                        ShowErrorNoteL( *msg );
-                        
-                        CleanupStack::PopAndDestroy( msg );
-                        }                    
-                    }
-                
-                break;
-                }
-            }
-        }
-
-    // Dialog ended and deleted by RunLD
-    iQuery = NULL;
-
-    CleanupStack::PopAndDestroy( 2, info ); // array
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::RemoveWidgetL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::RemoveWidgetL( CXnNode* aNode )    
-    {
-    if ( iTargetPlugin )
-        {
-        aNode = iTargetPlugin;               
-        }
-
-    iTargetPlugin = NULL;
-    
-    if ( !aNode )
-        {
-        return;
-        }
-
-    CXnPluginData& plugin( iViewManager.ActiveViewData().Plugin( aNode ) );
-
-    if( plugin.Removable() )
-        {
-        TRAPD( err, err = iViewManager.UnloadWidgetFromPluginL( plugin ) );
-        
-        if ( err != KErrNone )
-            {
-            HBufC* msg = StringLoader::LoadLC( 
-                    R_QTN_HS_OPERATION_FAILED_NO_DISK );    
-            ShowErrorNoteL( *msg );
-            CleanupStack::PopAndDestroy( msg );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::ReorderWidgetsL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::ReorderWidgetsL( RPointerArray< CXnNode >* aPluginArray )
-    {    
-    if ( !aPluginArray )
-        {
-        return;
-        }
-    
-    CXnViewData& viewData( iViewManager.ActiveViewData() );
-
-    const TDesC8& configurationId( viewData.ConfigurationId() );
-  
-    CDesC8ArrayFlat* ids = new ( ELeave ) CDesC8ArrayFlat( 6 );
-    CleanupStack::PushL( ids );
-
-    for ( TInt i = 0; i < aPluginArray->Count(); i++ )
-        {
-        CXnPluginData& plugin( viewData.Plugin( ( *aPluginArray )[i] ) );
-
-        const TDesC8& id( plugin.PluginId() );
-        
-        if ( id != KNullDesC8 )
-            {
-            ids->AppendL( id );
-            }              
-        }
-
-    iHspsWrapper->MovePluginsL( configurationId, *ids );
-
-    CleanupStack::PopAndDestroy( ids );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::PublisherInfoL
-// ---------------------------------------------------------------------------
-//
-CPublisherInfo* CXnEditor::PublisherInfoL( const CHsContentInfo& aContentInfo )
-    {
-    if ( !iPublisherMap )
-        {
-        return NULL;
-        }
-
-    RPointerArray< CPublisherInfo >& publisherInfo(
-        iPublisherMap->PublisherInfo() );
-
-    const TDesC& widgetName( aContentInfo.Name() );
-    const TDesC& publisherId( aContentInfo.PublisherId() );
-
-    CPublisherInfo* info = NULL;
-    
-    for ( TInt i = 0; i < publisherInfo.Count(); i++ )
-        {
-        info = publisherInfo[i];
-
-        if ( info->WidgetName() == widgetName &&
-            info->PublisherId() == publisherId )
-            {
-            break;
-            }
-        }
-
-    return info;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::TemplatedWidgetsL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::TemplatedWidgetsL( RPointerArray< CHsContentInfo >& aWidgets )
-    {
-    RPointerArray< CHsContentInfo > widgetTemplates;
-    CleanupStack::PushL( TCleanupItem( DeleteWidgetInfo, &widgetTemplates ) );
-
-    // Gets all the installed templates from CPS
-    HSPSPluginsL( widgetTemplates, KKeyTemplate );
-
-    delete iPublisherMap;
-    iPublisherMap = NULL;
-
-    iPublisherMap = iCpsWrapper->GetTemplatedPublishersL();
-
-    RPointerArray< CPublisherInfo >& publisherInfo(
-        iPublisherMap->PublisherInfo() );
-
-    for ( TInt i = 0; i < publisherInfo.Count(); i++ )
-        {
-        CPublisherInfo* info( publisherInfo[i] );
-
-        for ( TInt j = 0; j < widgetTemplates.Count(); j++ )
-            {
-            const TDesC& name( widgetTemplates[j]->Name() );
-
-            if ( name == info->TemplateType() )
-                {
-                CHsContentInfo* contentInfo = CHsContentInfo::NewLC();
-
-                contentInfo->SetNameL( info->WidgetName() );
-                contentInfo->SetPublisherIdL( info->PublisherId() );
-                contentInfo->SetMaxWidgets( info->MaxWidgets() );
-                contentInfo->SetUidL( widgetTemplates[j]->Uid() );
-                contentInfo->SetTypeL( widgetTemplates[j]->Type() );
-                contentInfo->SetDescriptionL( info->Description() );
-                contentInfo->SetIconPathL( info->LogoIcon() );
-                                
-                contentInfo->SetIsWrt(  
-                    ( info->ContentType() == KWRTTemplate() ) );
-                                
-                aWidgets.AppendL( contentInfo );
-                CleanupStack::Pop( contentInfo );
-
-                break;
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy(); // cleanupitem
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::HSPSPluginsL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::HSPSPluginsL( RPointerArray< CHsContentInfo >& aWidgets,
-    const TDesC8& aType )
-    {
-    RPointerArray< hspswrapper::CPluginInfo > plugins;
-    CleanupStack::PushL( TCleanupItem( DeletePluginInfos, &plugins ) );
-
-    if ( aType == KApplication )
-        {
-        iHspsWrapper->GetAppConfigurationsL( plugins );
-        }
-    else
-        {
-        iHspsWrapper->GetPluginsL( plugins, KPluginInterface, aType );
-        }
-
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        if ( plugins[i]->Uid().CompareF( KEmptyWidgetUid ) == 0 )
-            {
-            // Skip empty
-            continue;
-            }
-        
-        CHsContentInfo* contentInfo = CHsContentInfo::NewLC();
-
-        contentInfo->SetNameL( plugins[i]->Name() );
-        contentInfo->SetUidL( plugins[i]->Uid() );
-        contentInfo->SetTypeL( aType );
-        
-        if ( aType == KKeyWidget || aType == KKeyTemplate )
-            {
-            contentInfo->SetMaxWidgets( plugins[i]->MultiInstance() );
-            }
-
-        contentInfo->SetDescriptionL( plugins[i]->Description() );
-        contentInfo->SetIconPathL( plugins[i]->LogoIcon() );
-
-        aWidgets.AppendL( contentInfo );
-        CleanupStack::Pop( contentInfo );
-        }
-
-    CleanupStack::PopAndDestroy( &plugins );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::ToggleWidgetsVisibiltyL
-// ---------------------------------------------------------------------------
-//
-TBool CXnEditor::ToggleWidgetsVisibiltyL()
-    {
-    RPointerArray< CXnPluginData >& plugins(
-        iViewManager.ActiveViewData().PluginData() );
-
-    TBool useEmpty( iViewManager.ActiveViewData().UseEmptyWidget() );
-    
-    TBool stateChanged( EFalse );
-
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        CXnPluginData* plugin( plugins[i] );
-        
-        if( !plugin->Removable() )
-            {
-            // Don't touch to non-removable widget
-            continue;
-            }
-
-        if ( iWidgetsVisibilityState )
-            {            
-            // Currently visible, make invisible
-            stateChanged = ETrue;
-
-            SetPropertyL( *plugin->Owner()->LayoutNode(),
-                XnPropertyNames::style::common::KVisibility,
-                XnPropertyNames::style::common::visibility::KHidden );
-            }
-        else
-            {
-            // Currently invisible, make visible
-            if ( plugin->Occupied() )
-                {
-                stateChanged = ETrue;
-                
-                SetPropertyL( *plugin->Owner()->LayoutNode(),
-                    XnPropertyNames::style::common::KVisibility,
-                    XnPropertyNames::style::common::visibility::KVisible );                
-                }
-            else if( useEmpty )
-                {
-                stateChanged = ETrue;
-                
-                SetPropertyL( *plugin->Owner()->LayoutNode(),
-                    XnPropertyNames::style::common::KVisibility,
-                    XnPropertyNames::style::common::visibility::KBlank );                                    
-                }
-            }
-        }
-
-    if ( stateChanged )
-        {
-        // Update
-        iWidgetsVisibilityState = !iWidgetsVisibilityState;
-        }
-
-    return iWidgetsVisibilityState;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::WidgetsVisible
-// ---------------------------------------------------------------------------
-//
-TBool CXnEditor::WidgetsVisible() const
-    {
-    return iWidgetsVisibilityState;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::SetTargetPlugin
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::SetTargetPlugin( CXnNode* aNode )
-    {
-    iTargetPlugin = aNode;
-    }
-
-// ---------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-// CXnEditor::NotifyViewActivatedL
-// -----------------------------------------------------------------------------
-//
-void CXnEditor::NotifyViewActivatedL( const CXnViewData& aViewData )
-    {
-    RPointerArray< CXnPluginData >& plugins( aViewData.PluginData() );
-    
-    TBool emptyInUse( aViewData.UseEmptyWidget() );
-    TBool editState( iViewManager.UiEngine().EditMode()->EditState() );
-              
-    iWidgetsVisibilityState = EFalse;
-    
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        CXnPluginData* plugin( plugins[i] );
-        
-        if ( plugin->Occupied() )
-            {
-            // At least one widget visible
-            iWidgetsVisibilityState = ETrue;                       
-            }
-        
-        if ( plugin->Occupied() || editState )
-            {
-            // Make widget visible
-            SetPropertyL( *plugin->Owner()->LayoutNode(),
-                XnPropertyNames::style::common::KVisibility,
-                XnPropertyNames::style::common::visibility::KVisible );            
-            }              
-        else
-            {            
-            if ( emptyInUse )
-                {
-                // Make empty space blank
-                SetPropertyL( *plugin->Owner()->LayoutNode(),
-                    XnPropertyNames::style::common::KVisibility,
-                    XnPropertyNames::style::common::visibility::KBlank );
-                }
-            else
-                {
-                // Nothing in this plugin hide
-                SetPropertyL( *plugin->Owner()->LayoutNode(),
-                    XnPropertyNames::style::common::KDisplay,
-                    XnPropertyNames::style::common::display::KNone );                
-                }
-            }
-        }                           
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NotifyConfigureWidgetL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::NotifyConfigureWidgetL( const CHsContentInfo& aContentInfo,
-    CXnPluginData& aPluginData )
-    {
-    if ( aContentInfo.Type() != KKeyTemplate )    	    
-        {
-        // Doesn't need configuration
-        return;
-        }
-
-    const TDesC8& pluginId( aPluginData.PluginId() );
-
-    CHspsConfiguration* pluginConf(
-        iHspsWrapper->GetPluginConfigurationL( pluginId ) );
-
-    CleanupStack::PushL( pluginConf );
-
-    const CPublisherInfo* info = PublisherInfoL( aContentInfo );
-
-    __ASSERT_DEBUG( info != NULL, Panic( EXnInvalidPublisherInfo ) );
-    if ( !info )
-        {
-        User::Leave( KErrBadHandle );
-        }
-    RPointerArray< CItemMap > itemMapListIn;
-    CleanupStack::PushL( TCleanupItem( DeleteItemMaps, &itemMapListIn ) );
-    RPointerArray< CItemMap >& settings = pluginConf->Settings();
-
-    HBufC8* publisherId = CnvUtfConverter::ConvertFromUnicodeToUtf8L(
-        info->PublisherId() );
-    CleanupStack::PushL( publisherId );
-
-    aPluginData.SetPublisherNameL( info->PublisherId() );
-
-    CItemMap* itemMap( 0 );
-    CPropertyMap* property( 0 );
-    CPropertyMap* propertyIn( 0 );
-
-    for ( TInt i = 0; i < settings.Count(); ++i )
-        {
-        CItemMap* readItem = settings[i];
-        itemMap = CItemMap::NewLC();
-        itemMap->SetItemIdL( readItem->ItemId() );
-        const TDesC8& itemName = readItem->ItemName();
-        itemMap->SetItemNameL( itemName );
-
-        RPointerArray< CPropertyMap >& properties = readItem->Properties();
-        for ( int j = 0; j < properties.Count(); ++j )
-            {
-            property = properties[j];
-            propertyIn = CPropertyMap::NewLC();
-            propertyIn->SetNameL( property->Name() );
-            // Dispatching is based on item name
-            if (  itemName == KContentSource() )
-                {
-                propertyIn->SetValueL( *publisherId );
-                }
-            else if ( itemName ==  KContentData() )
-                {
-                // If this default template with full configuration
-                TInt pos = property->Value().LocateReverse( KSepratorChar );
-                if ( KErrNotFound != pos  )
-                    {
-                    propertyIn->SetValueL( property->Value() );
-                    }
-                else
-                    {
-                    HBufC8* contentData = HBufC8::NewLC( publisherId->Length()
-                        + KSeperator().Length()
-                        + property->Value().Length());
-                    contentData->Des().Copy( *publisherId );
-                    contentData->Des().Append( KSeperator );
-                    contentData->Des().Append( property->Value() );
-                    propertyIn->SetValueL( *contentData );
-                    CleanupStack::PopAndDestroy( contentData );
-                    }
-                }
-            else if ( itemName.Find( KPublisher ) != KErrNotFound )
-                {
-                propertyIn->SetValueL( *publisherId );
-                }
-            else if ( !KPubTrigger().Compare( itemName ) )
-                {
-                HBufC8* triggerData = HBufC8::NewLC(
-                    publisherId->Length()
-                    + KSeperator().Length()
-                    + KPublisher().Length()
-                    + KWidgetTriggerName().Length());
-                triggerData->Des().Copy( *publisherId );
-                triggerData->Des().Append( KSeperator );
-                triggerData->Des().Append( KPublisher );
-                triggerData->Des().Append( KWidgetTriggerName );
-
-                propertyIn->SetValueL( *triggerData );
-                CleanupStack::PopAndDestroy( triggerData );
-                }
-            else if ( !KTrigger().Compare( itemName ) )
-                {
-                // If this default template with full configuration
-                TInt pos = property->Value().LocateReverse( KSepratorChar );
-                if ( KErrNotFound != pos )
-                    {
-                    propertyIn->SetValueL( property->Value() );
-                    }
-                else
-                    {
-                    HBufC8* triggerData = HBufC8::NewLC(
-                        publisherId->Length()
-                        + KSeperator().Length()
-                        + property->Value().Length()
-                        + KOpen().Length()
-                        + property->Value().Length()
-                        + KClose().Length() );
-                    triggerData->Des().Copy( *publisherId );
-                    triggerData->Des().Append( KSeperator );
-                    triggerData->Des().Append( property->Value() );
-                    triggerData->Des().Append( KOpen );
-                    triggerData->Des().Append( property->Value() );
-                    triggerData->Des().Append( KClose );
-                    propertyIn->SetValueL( *triggerData );
-                    CleanupStack::PopAndDestroy( triggerData );
-                    }
-                }
-            else
-                {
-                // unrecognized items are not handled
-                }
-            itemMap->AddPropertyMapL( propertyIn );
-            CleanupStack::Pop( propertyIn );
-            }
-        itemMapListIn.AppendL( itemMap );
-        CleanupStack::Pop( itemMap );
-        }
-    iHspsWrapper->SetPluginSettingsL( pluginId, itemMapListIn );
-
-    CleanupStack::PopAndDestroy( publisherId );
-    CleanupStack::PopAndDestroy( &itemMapListIn );
-    CleanupStack::PopAndDestroy( pluginConf );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NotifyWidgetAdditionL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::NotifyWidgetAdditionL( const CXnPluginData& aPluginData )
-    {
-    CXnNode* node( aPluginData.Owner()->LayoutNode() );
-
-    // At least one widget is visible
-    iWidgetsVisibilityState = ETrue;
-    
-    // Ensure the new widget is visible
-    SetPropertyL( *node,
-        XnPropertyNames::style::common::KVisibility,
-        XnPropertyNames::style::common::visibility::KVisible );        
-    
-    SetPropertyL( *node,
-        XnPropertyNames::style::common::KDisplay,
-        XnPropertyNames::style::common::display::KBlock );
-    
-    node->SetDirtyL( XnDirtyLevel::ELayoutAndRenderSiblings );
-    
-    WidgetListChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NotifyWidgetRemovalL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::NotifyWidgetRemovalL( const CXnPluginData& aPluginData )
-    {
-    CXnNode* node( aPluginData.Owner()->LayoutNode() );
-
-    CXnViewData& viewData( 
-        static_cast< CXnViewData& >( *aPluginData.Parent() ) );
-    
-    TBool emptyInUse( viewData.UseEmptyWidget() );
-    
-    if ( emptyInUse )
-        {        
-        if ( iViewManager.UiEngine().IsEditMode() )
-            {
-            // Ensure the plugin which was holding 
-            // the removed widget is visible when edit mode is active
-            SetPropertyL( *node,
-                XnPropertyNames::style::common::KVisibility,
-                XnPropertyNames::style::common::visibility::KVisible );                   
-            }
-        else
-            {
-            // Ensure the plugin which was holding 
-            // the removed widget is blank now
-            SetPropertyL( *node,
-                XnPropertyNames::style::common::KVisibility,
-                XnPropertyNames::style::common::visibility::KBlank );            
-            }                
-        }
-    else
-        {
-        // Ensure the plugin which was holding the removed widget is invisible
-        SetPropertyL( *node,
-            XnPropertyNames::style::common::KDisplay,
-            XnPropertyNames::style::common::display::KNone );
-                
-        // Reodred layout tree by moving the plugin which was holding the
-        // removed widget as the last one in layout tree's plugin the list
-        CXnNode *parent( node->Parent() );
-
-        RPointerArray< CXnNode >& children( parent->Children() );
-
-        TInt nodeIndex( children.Find( node ) );
-
-        children.Remove( nodeIndex );
-        children.Insert( node, children.Count() - 1 );
-        }
-    
-    node->SetDirtyL( XnDirtyLevel::ERender );
-    
-    iTargetPlugin = NULL;
-    
-    if ( aPluginData.Active() )
-        {
-        CXnViewData& viewData( iViewManager.ActiveViewData() );
-        
-        RPointerArray< CXnPluginData >& plugins( viewData.PluginData() );
-        
-        TBool occupied( EFalse );
-        
-        for ( TInt i = 0; i < plugins.Count(); i++ )
-            {
-            if ( plugins[i]->Occupied() && plugins[i]->Removable() )
-                {
-                occupied = ETrue;
-                break;
-                }
-            }
-        
-        if ( !occupied )
-            {
-            // No more widgets in the active view
-            iWidgetsVisibilityState = EFalse;
-            }               
-        }
-    
-    WidgetListChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NotifyViewAdditionL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ )
-    {
-    ViewListChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NotifyViewRemovalL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ )
-    {
-    ViewListChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NotifyWidgetUnregisteredL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::NotifyWidgetUnregisteredL( const TDesC& aPublisher )
-    {
-    RemoveUnRegisteredWidgetL( aPublisher );
-    WidgetListChanged();    
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NotifyWidgetRegisteredL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::NotifyWidgetRegisteredL()
-    {
-    WidgetListChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::NotifyViewDeactivatedL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::NotifyViewDeactivatedL( const CXnViewData& /*aViewData*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CXnEditor::SetWallpaperL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::SetWallpaperL()
-    {
-    // Display dialog
-    TInt selectedIndex( 0 );
-
-    CAknListQueryDialog* query =
-        new ( ELeave ) CAknListQueryDialog( &selectedIndex );
-    CleanupStack::PushL( query );
-    query->PrepareLC( R_LISTQUERY_CHANGE_WALLPAPER );
-
-    if ( query->RunLD() )
-        {
-        if ( selectedIndex == 0 )
-            {
-            // set wallpaper. No need to check return value. If successful,
-            // avkon calls SkinConfigurationChanged function
-            AknsWallpaperUtils::SetIdleWallpaper(
-                    KNullDesC,
-                    NULL );
-            }
-        else if ( selectedIndex == 1 )
-            {
-            iViewManager.AppUiAdapter().ActivateLocalViewL( KWallpaperViewUid, KDummyUid, KSingle );                
-            }
-        else if ( selectedIndex == 2 )
-            {
-            iViewManager.AppUiAdapter().ActivateLocalViewL( KWallpaperViewUid, KDummyUid, KMulti );                
-            }        
-        }
-    CleanupStack::Pop( query );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditor::HandleNotifyL
-// Handles notifications from HSPS wrapper
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::HandleNotifyL(
-    const TDesC8& aEvent,
-    const TDesC8& /*aAppConfUid*/,
-    const TDesC8& aPluginName,
-    const TDesC8& aOrigUid,
-    const TDesC8& aPluginUid,
-    const TDesC8& aPluginId )
-    {
-    // Someone else has modified the configuration. Handle UI side here.
-    if( aEvent == KEventPluginAdded ||
-        aEvent == KEventPluginRemoved ||
-        aEvent == KEventPluginReplaced )
-        {
-        if( aOrigUid != KNullDesC8 && 
-            aOrigUid != KAi3Uid )
-            {
-            CHsContentInfo* info = CHsContentInfo::NewLC();
-            
-            info->SetNameL( aPluginName );
-            info->SetUidL( aPluginUid );
-            info->SetPluginIdL( aPluginId );
-            
-            ReplaceWidgetL( *info, EFalse );
-            
-            CleanupStack::PopAndDestroy( info );
-            }
-        }
-    else if ( aEvent == KEventPluginUnInstalled )
-        {
-        CHsContentInfo* info = CHsContentInfo::NewLC();
-
-        info->SetNameL( aPluginName );
-        info->SetUidL( aPluginUid );
-        info->SetPluginIdL( aPluginId );
-
-        RemoveUnInstalledWidgetL( *info );
-        WidgetListChanged();
-
-        CleanupStack::PopAndDestroy( info );
-        }
-    else if ( aEvent == KEventRootConfActivated )
-        {
-        iViewManager.AppUiAdapter().ReloadUiL();
-        }
-    else if ( aEvent == KEventPluginInstalled )
-        {        
-        WidgetListChanged();        
-        }
-    else if ( aEvent == KEventPluginUpdated )
-        {
-        // If the plugin is in use then reload the widget
-        if ( aPluginId.Length() > 0 )
-            {
-            CHsContentInfo* info = CHsContentInfo::NewLC();    
-            info->SetNameL( aPluginName );
-            info->SetUidL( aPluginUid );
-            info->SetPluginIdL( aPluginId );    
-            ReplaceWidgetL( *info );                
-            CleanupStack::PopAndDestroy( info );
-            }
-        WidgetListChanged();
-        }    
-    else if ( aEvent == KEventPluginActivated )
-        {
-        }
- 
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditor::WidgetListChanged
-// -----------------------------------------------------------------------------
-//
-void CXnEditor::WidgetListChanged()
-    {
-    TBuf8<KOpaQDataLen> oPaqDataStr;
-              
-   MHsContentControlUi* ui( NULL );
-   if ( IdFromCrep ( oPaqDataStr ) == KErrNone )
-       {
-       ui = iViewManager.AppUiAdapter().HsContentController( oPaqDataStr ); 
-       }
-    if( ui )
-        {
-        ui->NotifyWidgetListChanged();
-        }
-    MHsContentControl* srv( iViewManager.AppUiAdapter().HsContentControlSrv() );
-    if ( srv )
-        {
-        srv->NotifyWidgetListChanged();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditor::ViewListChanged
-// -----------------------------------------------------------------------------
-//
-void CXnEditor::ViewListChanged()
-    {
-    TBuf8<KOpaQDataLen> oPaqDataStr;
-              
-   MHsContentControlUi* ui( NULL );
-   if ( IdFromCrep ( oPaqDataStr ) == KErrNone )
-       {
-       ui = iViewManager.AppUiAdapter().HsContentController( oPaqDataStr ); 
-       }
-    if( ui )
-        {
-        ui->NotifyViewListChanged();
-        }
-    MHsContentControl* srv( iViewManager.AppUiAdapter().HsContentControlSrv() );
-    if ( srv )
-        {
-        srv->NotifyViewListChanged();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEditor::HspsWrapper
-// -----------------------------------------------------------------------------
-//
-CHspsWrapper& CXnEditor::HspsWrapper() const
-    {
-    return *iHspsWrapper;
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::WidgetListL( CHsContentInfoArray& aArray )
-    {
-    RPointerArray< CHsContentInfo >& array( aArray.Array() );
-
-    // get installed widgets from HSPS (type: "widget")
-    HSPSPluginsL( array, KKeyWidget );
-    // get installed widgets from HSPS
-    TemplatedWidgetsL( array );
-    
-    FilterWidgetListL( aArray, EFalse );
-    
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::ViewListL( CHsContentInfoArray& aArray )
-    {
-    RPointerArray< CHsContentInfo >& array( aArray.Array() );
-    
-    // get installed views from HSPS 
-    HSPSPluginsL( array, KView );
-    
-    FilterViewListL( aArray );
-    
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::AppListL( CHsContentInfoArray& aArray )
-    {
-    RPointerArray< CHsContentInfo >& array( aArray.Array() );
-    
-    HSPSPluginsL( array, KApplication );
-    
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::AddWidgetL( CHsContentInfo& aInfo )
-    {
-    TInt ret( KErrNone );    
-
-    const TDesC8& type( aInfo.Type() );
-    
-    if ( ( type != KKeyWidget && type != KKeyTemplate ) ||
-         aInfo.Uid() == KNullDesC8 )
-        {
-        // malformed content info
-        return KErrArgument;
-        }
-
-    if ( !aInfo.CanBeAdded() )
-        {
-        // the widget can not be added. Return proper error code
-        if ( IsCurrentViewFull() )
-            {
-            return KHsErrorViewFull;
-            }
-        else
-            {
-            return KHsErrorMaxInstanceCountExceeded;
-            }
-        }
-
-    CXnPluginData* plugin( NULL );
-    
-    if( iTargetPlugin )
-        {
-        plugin = DeterminePlugin( iViewManager, iTargetPlugin );
-        }
-    else
-        {
-        plugin = DeterminePlugin( iViewManager );
-        }
-    
-    iTargetPlugin = NULL;
-    
-    if ( !plugin )
-        {
-        return KErrGeneral;
-        }
-    
-    ret = iViewManager.LoadWidgetToPluginL( aInfo, *plugin );
-    
-    if( ret == KErrNone )
-        {
-        CXnNode* node( plugin->Owner()->LayoutNode() );
-        TBool widgetOk( iViewManager.UiEngine().AnalyseAddedWidgetL( *node ) );
-    
-        if( !widgetOk )
-            {
-            iViewManager.UnloadWidgetFromPluginL( *plugin );
-            
-            ret = KHsErrorDoesNotFit;
-            }        
-        }
-    
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::RemoveWidgetL( CHsContentInfo& aInfo )
-    {
-    if ( !aInfo.CanBeRemoved() || aInfo.PluginId() == KNullDesC8 || 
-        ( aInfo.Type() != KKeyWidget && aInfo.Type() != KKeyTemplate ) )
-        {
-        return KErrArgument;
-        }
-    
-    TInt retval( KErrNotFound );
-    
-    RPointerArray< CXnPluginData > plugins;
-    CleanupClosePushL( plugins );
-    
-    // Search only from active view
-    iViewManager.PluginDataL( plugins );
-    
-    CXnPluginData* plugin( DeterminePlugin( plugins, aInfo ) ); 
-                            
-    if ( plugin && plugin->Removable() )
-        {
-        retval = iViewManager.UnloadWidgetFromPluginL( *plugin );
-        }  
-    
-    CleanupStack::PopAndDestroy( &plugins );
-    
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::AddViewL( CHsContentInfo& aInfo )
-    {
-    if ( !aInfo.CanBeAdded() || aInfo.Uid() == KNullDesC8 || 
-        aInfo.Type() != KView )
-        {
-        return KErrArgument;
-        }
-          
-    return iViewManager.AddViewL( aInfo );
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::RemoveViewL( CHsContentInfo& aInfo )
-    {
-    if ( !aInfo.CanBeRemoved() || aInfo.PluginId() == KNullDesC8 || 
-        aInfo.Type() != KView )
-        {
-        return KErrArgument;
-        }
-    
-    return iViewManager.RemoveViewL( aInfo );
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::ActivateViewL( CHsContentInfo& aInfo )
-    {
-    if ( aInfo.Type() != KView )
-        {
-        return KErrArgument;
-        }
-    
-    return iViewManager.ActivateViewL( aInfo.PluginId() );
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::ActivateAppL( CHsContentInfo& aInfo )
-    {
-    if ( aInfo.Type() != KApplication )
-        {
-        return KErrArgument;
-        }
-    
-    return iViewManager.ActivateAppL( aInfo.Uid() );     
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::ActiveViewL( CHsContentInfo& aInfo )
-    {
-
-    TInt err( KErrNone );
-    
-    // Get active application configuration
-    CHspsConfiguration* app( iHspsWrapper->GetAppConfigurationL() );
-    CleanupStack::PushL( app );
-
-    // Get list of views included in active application configuration
-    RPointerArray< CPluginMap >& plugins( app->PluginMaps() );
-    CPluginMap* plugin( NULL );
-    
-    // Find active view
-    for ( TInt i = 0; i < plugins.Count() && !plugin; i++ )
-        {
-        if ( plugins[ i ]->ActivationState() )
-            {
-            plugin = plugins[ i ];
-            }
-        }
-    
-    if ( plugin )
-        {
-        CHspsConfiguration* view( iHspsWrapper->GetPluginConfigurationL( plugin->PluginId() ) );
-        CleanupStack::PushL( view );
-        
-        aInfo.SetNameL( view->PluginInfo().Name() );
-        aInfo.SetUidL( view->PluginInfo().Uid() );
-        aInfo.SetTypeL( view->PluginInfo().Type() );
-        aInfo.SetDescriptionL( view->PluginInfo().Description() );
-        aInfo.SetIconPathL( view->PluginInfo().LogoIcon() );
-        
-        CleanupStack::PopAndDestroy( view );
-        }
-    else
-        {
-        err = KErrNotFound;
-        }
-    
-    CleanupStack::PopAndDestroy( app );
-    return err;     
-    }
-
-// -----------------------------------------------------------------------------
-// from MHsContentController
-// -----------------------------------------------------------------------------
-//
-TInt CXnEditor::ActiveAppL( CHsContentInfo& aInfo )
-    {
-
-    TInt err( KErrNone );
-    CHspsConfiguration* app = iHspsWrapper->GetAppConfigurationL();
-    CleanupStack::PushL( app );
-
-    if ( app->PluginInfo().Uid().Length() > 0 )
-        {
-        aInfo.SetNameL( app->PluginInfo().Name() );
-        aInfo.SetUidL( app->PluginInfo().Uid() );
-        aInfo.SetTypeL( app->PluginInfo().Type() );
-        aInfo.SetDescriptionL( app->PluginInfo().Description() );
-        aInfo.SetIconPathL( app->PluginInfo().LogoIcon() );
-        }
-    else
-        {
-        err = KErrNotFound;
-        }
-    
-    CleanupStack::PopAndDestroy( app );
-    return err;     
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xneffectmanager.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,302 +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:  Effect manager.
-*
-*/
-
-
-// INCLUDE FILES
-#include "xneffectmanager.h"
-#include "xnplugindata.h"
-#include "xnviewdata.h"
-#include "xnnode.h"
-#include "xndomnode.h"
-#include "xncontroladapter.h"
-
-// SYSTEM INCLUDE FILES
-#include <eikapp.h>
-#include <aknappui.h>
-#include <gfxtranseffect/gfxtranseffect.h>  // For transition effects
-#include <akntranseffect.h>                 // For transition effects
-
-// CONSTANTS
-const TInt KEffectTypeFullscreen = 1;
-const TInt KEffectTypeControl = 2;
-
-const TInt KWaitForLayout = 1;
-const TInt KEffectStarted = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CXnEffectManager::CXnEffectManager()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CXnEffectManager::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnEffectManager* CXnEffectManager::NewL()
-    {
-    CXnEffectManager* self = new (ELeave) CXnEffectManager();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnEffectManager::~CXnEffectManager()
-    {
-    GfxTransEffect::AbortFullScreen();
-    iEffects.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::BeginControlEffectL
-// -----------------------------------------------------------------------------
-//
-void CXnEffectManager::BeginControlEffectL( TInt /*aId*/, CXnPluginData& /*aPlugin*/ )
-    {
-    /*
-    TXnEffect* effect = new (ELeave) TXnEffect;
-    CleanupStack::PushL( effect );
-    effect->iId = aId;
-    effect->iType = KEffectTypeControl;
-    effect->iNode = aPlugin.Node()->LayoutNode();
-    iEffects.AppendL( effect );
-    CleanupStack::Pop( effect );
-    
-    if ( effect->iNode && !effect->iNode->IsLaidOut() )
-        {
-        effect->iState = KWaitForLayout;
-        }
-    else
-        {
-        DoBeginControlEffect( *effect );
-        }
-    */
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::BeginControlEffectL
-// -----------------------------------------------------------------------------
-//
-void CXnEffectManager::BeginControlEffectL( TInt aId,
-                RPointerArray<CXnPluginData>& aPlugins )
-    {
-    TInt count = aPlugins.Count();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        BeginControlEffectL( aId, *aPlugins[i] );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::BeginFullscreenEffectL
-// -----------------------------------------------------------------------------
-//
-void CXnEffectManager::BeginFullscreenEffectL( TInt aId, CXnViewData& aView )
-    {
-    // Only one fullscreen effect at time
-    if ( EffectCount( KEffectTypeFullscreen ) != 0 )
-        {
-        return;
-        }
-    
-    TXnEffect* effect = new (ELeave) TXnEffect;
-    CleanupStack::PushL( effect );
-    effect->iId = aId;
-    effect->iType = KEffectTypeFullscreen;
-    effect->iNode = aView.ViewNode();
-    iEffects.AppendL( effect );
-    CleanupStack::Pop( effect );
-    
-    if ( !aView.ViewNode()->IsLaidOut() )
-        {
-        effect->iState = KWaitForLayout;
-        }
-    else
-        {
-        DoBeginFullscreenEffect( *effect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::UiRendered
-// -----------------------------------------------------------------------------
-//
-void CXnEffectManager::UiRendered()
-    {
-    for ( TInt i = 0; i < iEffects.Count(); )
-        {
-        TXnEffect* effect = iEffects[i];
-        if ( effect && effect->iState == KEffectStarted )
-            {
-            if ( effect->iType == KEffectTypeFullscreen )
-                {
-                GfxTransEffect::EndFullScreen();
-                }
-            else if ( effect->iType == KEffectTypeControl )
-                {
-                GfxTransEffect::End( effect->iNode->Control() );
-                }
-            RemoveEffect( effect );
-            }
-        else
-            {
-            i++;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::UiLayouted
-// -----------------------------------------------------------------------------
-//
-void CXnEffectManager::UiLayouted()
-    {
-    for ( TInt i = 0; i < iEffects.Count(); )
-        {
-        TBool effectStarted = ETrue;
-        TXnEffect* effect = iEffects[i];
-        if ( effect && effect->iNode &&
-             effect->iState == KWaitForLayout &&
-             effect->iNode->IsLaidOut())
-            {
-            if ( effect->iType == KEffectTypeFullscreen )
-                {
-                effectStarted = DoBeginFullscreenEffect( *effect );
-                }
-            else if ( effect->iType == KEffectTypeControl )
-                {
-                effectStarted = DoBeginControlEffect( *effect );
-                }
-            }
-        
-        if ( effectStarted )
-            {
-            i++;
-            }
-        else
-            {
-            // effect cannot be started, remove it
-            RemoveEffect( effect );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::DoBeginFullscreenEffect
-// -----------------------------------------------------------------------------
-//
-TBool CXnEffectManager::DoBeginFullscreenEffect( TXnEffect& aEffect )
-    {
-    CCoeEnv* coe( CCoeEnv::Static() );
-           
-    if ( coe->WsSession().GetFocusWindowGroup() != 
-         coe->RootWin().Identifier() )
-        {
-        // Window group is not focused
-        return EFalse;
-        }
-
-    const TInt flags( AknTransEffect::TParameter::EActivateExplicitCancel );
-    const TUid targetAppUid( iAvkonAppUi->Application()->AppDllUid() );
-
-    // Set effect begin point
-    GfxTransEffect::BeginFullScreen( aEffect.iId , iAvkonAppUi->ClientRect(),
-        AknTransEffect::EParameterType, AknTransEffect::GfxTransParam(
-        targetAppUid, flags ) );
-    
-    aEffect.iState = KEffectStarted;
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::DoBeginControlEffect
-// -----------------------------------------------------------------------------
-//
-TBool CXnEffectManager::DoBeginControlEffect( TXnEffect& aEffect )
-    {
-    TBool ret = EFalse;
-    CCoeEnv* coe( CCoeEnv::Static() );
-           
-    if ( coe->WsSession().GetFocusWindowGroup() != 
-         coe->RootWin().Identifier() )
-        {
-        // Window group is not focused
-        return ret;
-        }
-
-    // Set effect begin point
-    if ( aEffect.iNode )
-        {
-        GfxTransEffect::Begin( aEffect.iNode->Control() , aEffect.iId );
-        aEffect.iState = KEffectStarted;
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::RemoveEffect
-// -----------------------------------------------------------------------------
-//
-void CXnEffectManager::RemoveEffect( TXnEffect* aEffect )
-    {
-    TInt index = iEffects.Find( aEffect );
-    if ( index != KErrNotFound )
-        {
-        TXnEffect* temp = iEffects[index];
-        iEffects.Remove( index );
-        delete temp;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEffectManager::EffectCount
-// -----------------------------------------------------------------------------
-//
-TInt CXnEffectManager::EffectCount( TInt aType )
-    {
-    TInt effectCount = 0;
-    TInt count = iEffects.Count();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iEffects[i]->iType == aType )
-            {
-            effectCount++;
-            }
-        }
-    return effectCount;
-    }
-
-//  End of File
--- a/idlehomescreen/xmluirendering/uiengine/src/xnextrenderingpluginwrapper.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +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:  External rendering plugin wrapper implementation
-*
-*/
-
-// System include files
-
-// User include files
-#include "xnextrenderingpluginwrapper.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::NewL()
-//
-// ----------------------------------------------------------------------------
-//
-CXnExtRenderingPluginWrapper* CXnExtRenderingPluginWrapper::NewL( 
-    CXnNodePluginIf& aNode, CXnExtRenderingPluginAdapter& aAdapter )
-    {
-    CXnExtRenderingPluginWrapper* self = 
-        new ( ELeave ) CXnExtRenderingPluginWrapper( aAdapter );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aNode );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::ConstructL()
-//
-// ----------------------------------------------------------------------------
-//
-void CXnExtRenderingPluginWrapper::ConstructL( CXnNodePluginIf& aNode )
-    {
-    iNode = &aNode;
-    
-    CXnControlAdapter::ConstructL( aNode );
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::CXnExtRenderingPluginWrapper()
-//
-// ----------------------------------------------------------------------------
-//
-CXnExtRenderingPluginWrapper::CXnExtRenderingPluginWrapper( 
-    CXnExtRenderingPluginAdapter& aAdapter )
-    {
-    iAdapter = &aAdapter;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::~CXnExtRenderingPluginWrapper()
-//
-// ----------------------------------------------------------------------------
-//
-CXnExtRenderingPluginWrapper::~CXnExtRenderingPluginWrapper()
-    {
-    delete iAdapter;
-    }    
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::CountComponentControls()
-//
-// ----------------------------------------------------------------------------
-//
-TInt CXnExtRenderingPluginWrapper::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::ComponentControl()
-//
-// ----------------------------------------------------------------------------
-//
-CCoeControl* CXnExtRenderingPluginWrapper::ComponentControl( 
-    TInt aIndex ) const
-    {
-    if( aIndex == 0 )
-        {
-        return iAdapter;
-        }
-
-    return NULL;    
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::OfferKeyEventL()
-//
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CXnExtRenderingPluginWrapper::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    TKeyResponse resp( iAdapter->OfferKeyEventL( aKeyEvent, aType ) );
-    
-    if ( resp == EKeyWasNotConsumed )
-        {
-        // iAdapter did't consume the event, pass it to base clsas
-        resp = CXnControlAdapter::OfferKeyEventL( aKeyEvent, aType );
-        }
-    
-    return resp;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::SizeChanged()
-//
-// ----------------------------------------------------------------------------
-//    
-void CXnExtRenderingPluginWrapper::SizeChanged()
-    {
-    iAdapter->SetRect( iNode->Rect() );
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::SkinChanged()
-//
-// ----------------------------------------------------------------------------
-//    
-void CXnExtRenderingPluginWrapper::SkinChanged()
-    {
-    CXnControlAdapter::SkinChanged();
-    
-    iAdapter->SkinChanged();
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::SetContainerWindowL()
-//
-// ----------------------------------------------------------------------------
-//   
-void CXnExtRenderingPluginWrapper::SetContainerWindowL(
-    const CCoeControl& aContainer )
-    {
-    CXnControlAdapter::SetContainerWindowL( aContainer );
-    
-    iAdapter->SetContainerWindowL( *this );
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::MakeVisible()
-//
-// ----------------------------------------------------------------------------
-//
-void CXnExtRenderingPluginWrapper::MakeVisible( TBool aVisible )
-    {
-    // Base class will call MakeVisible to component controls 
-    CXnControlAdapter::MakeVisible( aVisible );    
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::FocusChanged()
-//
-// ----------------------------------------------------------------------------
-//
-void CXnExtRenderingPluginWrapper::FocusChanged( TDrawNow aDrawNow )
-    {
-    CXnControlAdapter::FocusChanged( aDrawNow );    
-    
-    TBool focused( IsFocused() ? ETrue : EFalse );
-    
-    iAdapter->SetFocus( focused, aDrawNow );    
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::HandleScreenDeviceChangedL()
-//
-// ----------------------------------------------------------------------------
-//
-void CXnExtRenderingPluginWrapper::HandleScreenDeviceChangedL()
-    {
-    CXnControlAdapter::HandleScreenDeviceChangedL();
-    
-    iAdapter->HandleResourceChange( KEikDynamicLayoutVariantSwitch );
-    }
-
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::DoEnterPowerSaveModeL()
-//
-// ----------------------------------------------------------------------------
-//
-void CXnExtRenderingPluginWrapper::DoEnterPowerSaveModeL( 
-    TModeEvent /*aEvent*/ )
-	{
-	iAdapter->EnterPowerSaveModeL();
-	}
-	
-// ----------------------------------------------------------------------------
-// CXnExtRenderingPluginWrapper::DoExitPowerSaveModeL()
-//
-// ----------------------------------------------------------------------------
-//
-void CXnExtRenderingPluginWrapper::DoExitPowerSaveModeL( 
-    TModeEvent /*aEvent*/ )
-	{
-	iAdapter->ExitPowerSaveModeL();
-	}
-	
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnfocuscontrol.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +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:  Focus appearance drawer
-*
-*/
-
-// System includes
-#include <AknsDrawUtils.h>
-#include <AknsUtils.h>
-#include <AknsItemID.h>
-
-// User includes
-#include "xncontroladapter.h"
-#include "xnproperty.h"
-#include "xnappuiadapter.h"
-#include "xnuiengine.h"
-#include "xnnode.h"
-#include "xninactivitymonitor.h"
-
-#include "xnfocuscontrol.h"
-
-// Constants
-const TInt KSkinGfxInnerRectShrink( 5 );
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnFocusControl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnFocusControl* CXnFocusControl::NewL( CXnAppUiAdapter& aAppUiAdapter )
-    {
-    CXnFocusControl* self = CXnFocusControl::NewLC( aAppUiAdapter );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnFocusControl* CXnFocusControl::NewLC( CXnAppUiAdapter& aAppUiAdapter )
-    {
-    CXnFocusControl* self = new ( ELeave ) CXnFocusControl( aAppUiAdapter );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::~CXnFocusControl()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnFocusControl::~CXnFocusControl()
-    {
-    delete iMonitor;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::CXnFocusControl()
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CXnFocusControl::CXnFocusControl( CXnAppUiAdapter& aAppUiAdapter )
-    : iAppUiAdapter( aAppUiAdapter )
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnFocusControl::ConstructL()
-    {   
-    iMonitor = CXnInactivityMonitor::NewL( *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::InactivityTimerExpired()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnFocusControl::InactivityTimerExpired()
-    {       
-    MakeVisible( EFalse );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::MakeVisible()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnFocusControl::MakeVisible( TBool aVisible )
-    {
-    TRAP_IGNORE( DoMakeVisibleL( aVisible ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::DoMakeVisibleL()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnFocusControl::DoMakeVisibleL( TBool aVisible )
-    {
-    if ( aVisible != iVisible )
-        {
-        if ( !aVisible )
-            {
-            iVisible = aVisible;
-            
-            iRefused = EFalse;
-            
-            iMonitor->Stop();
-                        
-            CXnNode* node( iAppUiAdapter.UiEngine().FocusedNode() ); 
-                                   
-            if ( node )
-                {
-                CXnControlAdapter* control( node->Control() );
-                
-                if  ( control && control->RefusesFocusLoss() )
-                    {
-                    // Need to keep drawing focus appearance
-                    iRefused = ETrue;
-                    
-                    node->UnsetStateL( 
-                        XnPropertyNames::style::common::KPressedDown );
-                    }
-                else
-                    {
-                    node->UnsetStateL(  
-                        XnPropertyNames::style::common::KFocus );                    
-                    }
-                                
-                iAppUiAdapter.UiEngine().RenderUIL();                
-                }    
-            }
-        else
-            {
-            iRefused = EFalse;
-            
-            iVisible = aVisible;
-            
-            iMonitor->Start();            
-            }              
-        }        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::IsVisible()
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CXnFocusControl::IsVisible() const
-    {
-    return iVisible;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnFocusControl::Draw()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnFocusControl::Draw( const TRect& aRect, CWindowGc& aGc ) const
-    {
-    if ( IsVisible() || iRefused ) 
-        {                                       
-        CXnNode* node( iAppUiAdapter.UiEngine().FocusedNode() );
-        
-        if ( node )
-            {            
-            CXnProperty* prop( NULL );
-            
-            TRAP_IGNORE( prop = node->GetPropertyL( 
-                XnPropertyNames::common::KFocusAppearance ) );
-                                            
-            if ( prop && prop->StringValue() == XnPropertyNames::KNone )
-                {
-                // Current element refuses to draw focus appearance
-                return;
-                }
-            
-            TRect innerRect( aRect );            
-            
-            innerRect.Shrink( 
-                KSkinGfxInnerRectShrink, KSkinGfxInnerRectShrink );
-            
-            MAknsSkinInstance* skin( AknsUtils::SkinInstance() );
-                 
-            if ( node->IsStateSet( XnPropertyNames::style::common::KPressedDown ) )
-                {
-                AknsDrawUtils::DrawFrame( skin, aGc, aRect, innerRect,
-                    KAknsIIDQsnFrHomePressed, KAknsIIDDefault );                
-                }            
-            
-            if ( node->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-                {
-                AknsDrawUtils::DrawFrame( skin, aGc, aRect, innerRect, 
-                    KAknsIIDQsnFrHome, KAknsIIDDefault );                
-                }            
-            }       
-        }
-    }
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xngesture.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,752 +0,0 @@
-/*
-* Copyright (c) 2008-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:  Gesture class
-*
-*/
-
-#include <e32math.h>
-
-#include "xngesture.h"
-#include "xngesturedefs.h"
-
-using namespace XnGestureHelper;
-
-// ======== LOCAL FUNCTIONS ===================================================
-
-/**
- * Point array for which only x axis is relevant
- */
-class TXAxisPointArray : public TXnPointArray
-    {
-public:
-    TXAxisPointArray( const RArray< TXnPointEntry >& aPoints )
-        : TXnPointArray( aPoints )
-        {
-        }
-
-    // from TXnPointArray
-    TPoint operator[]( TInt aIndex ) const
-        {
-        return TPoint( Raw( aIndex ).iX, 0 );
-        }
-    };
-
-/**
- * Point array for which only y axis is relevant
- */
-class TYAxisPointArray : public TXnPointArray
-    {
-public:
-    TYAxisPointArray( const RArray< TXnPointEntry >& aPoints )
-        : TXnPointArray( aPoints )
-        {
-        }
-
-    // from TXnPointArray
-    TPoint operator[]( TInt aIndex ) const
-        {
-        return TPoint( 0, Raw( aIndex ).iY );
-        }
-    };
-
-/** @return the current time */
-TTime CurrentTime()
-    {
-    TTime time;
-    time.UniversalTime();
-    return time;
-    }
-
-// ----------------------------------------------------------------------------
-// destructor
-// ----------------------------------------------------------------------------
-//
-CXnGesture::~CXnGesture()
-    {
-    iPoints.Close();
-    }
-
-// ----------------------------------------------------------------------------
-// Reset
-// ----------------------------------------------------------------------------
-//
-void CXnGesture::Reset()
-    {
-    // store previous gesture data before resetting the state
-    if ( iPoints.Count() > 0 )
-        {
-        iPreviousGesture = TGestureRecord( Type(), iCompletionTime,
-            iPoints[iPoints.Count() - 1].iPos );
-        }
-    else
-        {
-        iPreviousGesture = TGestureRecord();
-        }
-
-    iPoints.Reset();
-    iHoldingState = ENotHolding;
-    iState = ENotComplete;
-    iHoldingPointIndex = 0;
-    }
-
-// ----------------------------------------------------------------------------
-// Reset
-// ----------------------------------------------------------------------------
-//
-TBool CXnGesture::IsEmpty() const
-    {
-    return iPoints.Count() == 0;
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// ----------------------------------------------------------------------------
-//
-TInt CXnGesture::AddPoint( const TPoint& aPoint )
-    {
-    if ( !IsLatestPoint( aPoint ) )
-        {
-        return iPoints.Append( TXnPointEntry( aPoint, CurrentTime() ) );
-        }
-    return KErrNone;
-    }
-
-/**
- * @return ETrue if the point is within a specified distance of the other point
- */
-inline TBool IsNear( const TPoint& aPointUnderTest, const TPoint& aPoint,
-        TInt aMargin )
-    {
-    TRect rect(
-        aPoint.iX - aMargin, aPoint.iY - aMargin,
-        aPoint.iX + aMargin, aPoint.iY + aMargin );
-    return rect.Contains( aPointUnderTest );
-    }
-
-// ----------------------------------------------------------------------------
-// IsNearHoldingPoint
-// ----------------------------------------------------------------------------
-//
-TBool CXnGesture::IsNearHoldingPoint( const TPoint& aPoint ) const
-    {
-    return IsNear( aPoint, iPoints[iHoldingPointIndex].iPos,
-        KSamePointTolerance );
-    }
-
-// ----------------------------------------------------------------------------
-// IsLatestPoint
-// ----------------------------------------------------------------------------
-//
-TBool CXnGesture::IsLatestPoint( const TPoint& aPoint ) const
-    {
-    if ( iPoints.Count() > 0 )
-        {
-        return aPoint == CurrentPos();
-        }
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// StartHolding
-// ----------------------------------------------------------------------------
-//
-void CXnGesture::StartHolding()
-    {
-    iHoldingState = EHoldStarting;
-
-    // remove all points that were introduced after holding started
-    for ( TInt i = iPoints.Count() - 1; i > iHoldingPointIndex; i-- )
-        {
-        iPoints.Remove( i );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// SetHoldingPoint
-// ----------------------------------------------------------------------------
-//
-void CXnGesture::SetHoldingPoint()
-    {
-    iHoldingPointIndex = iPoints.Count() - 1;
-    }
-
-// ----------------------------------------------------------------------------
-// ContinueHolding
-// ----------------------------------------------------------------------------
-//
-void CXnGesture::ContinueHolding()
-    {
-    iHoldingState = EHolding;
-    }
-
-// ----------------------------------------------------------------------------
-// SetReleased
-// ----------------------------------------------------------------------------
-//
-void CXnGesture::SetReleased()
-    {
-    // IsMovementStopped expects SetComplete to be called before SetRelea
-    __ASSERT_DEBUG( EComplete == iState, Panic( EGesturePanicIllegalLogic ) );
-    iState = EReleased;
-    }
-
-/**
- * @return elapsed time between aStartTime and aEndTime
- */
-inline TTimeIntervalMicroSeconds32 Elapsed(
-    const TTime& aStartTime,
-    const TTime& aEndTime )
-    {
-    return aEndTime.MicroSecondsFrom( aStartTime ).Int64();
-    }
-
-// ----------------------------------------------------------------------------
-// SetComplete
-// ----------------------------------------------------------------------------
-//
-void CXnGesture::SetComplete()
-    {
-    __ASSERT_DEBUG( iPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    iState = EComplete;
-    iCompletionTime = CurrentTime();
-    }
-
-// ----------------------------------------------------------------------------
-// SetComplete
-// ----------------------------------------------------------------------------
-//
-void CXnGesture::SetCancelled()
-    {
-    iState = ECancelled;
-    }
-
-// ----------------------------------------------------------------------------
-// IsTap
-// ----------------------------------------------------------------------------
-//
-TBool CXnGesture::IsTap() const
-    {
-    return CodeFromPoints( EAxisBoth ) == EGestureTap;
-    }
-
-/**
- * Translates a non-holding code into a holding code
- * @param aCode original gesture code
- * @return a gesture code with hold flag applied
- */
-inline TXnGestureCode Hold( TXnGestureCode aCode )
-    {
-    if ( aCode != EGestureStart &&
-         aCode != EGestureDrag &&
-         aCode != EGestureReleased &&
-         aCode != EGestureUnknown )
-        {
-        return static_cast< TXnGestureCode >( aCode | EFlagHold );
-        }
-    return aCode;
-    }
-
-// ----------------------------------------------------------------------------
-// Code
-// ----------------------------------------------------------------------------
-//
-TXnGestureCode CXnGesture::Code( TAxis aRelevantAxis ) const
-    {
-    switch ( iState )
-        {
-        case ENotComplete:
-            // "start" event if only first point received
-            // need to check that not holding, in case user pressed stylus
-            // down, and activated holding without moving the stylus
-            if ( iPoints.Count() == 1 && !IsHolding() )
-                {
-                return EGestureStart;
-                }
-            // "drag" event if holding not started or holding started earlier
-            else if ( iHoldingState != EHoldStarting )
-                {
-                return EGestureDrag;
-                }
-            // holding was just started
-            else
-                {
-                return Hold( CodeFromPoints( aRelevantAxis ) );
-                }
-
-        case EComplete:
-            {
-            TXnGestureCode code = CodeFromPoints( aRelevantAxis );
-
-#ifdef _GESTURE_DOUBLE_TAP_SUPPORT
-            if ( EGestureTap == code && IsTapDoubleTap() )
-                {
-                code = EGestureDoubleTap;
-                }
-#endif // _GESTURE_DOUBLE_TAP_SUPPORT
-
-            return code;
-            }
-
-        case EReleased:
-            return EGestureReleased;
-
-        case ECancelled: // fallthrough
-        default:
-            return EGestureUnknown;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// IsHolding
-// ----------------------------------------------------------------------------
-//
-TBool CXnGesture::IsHolding() const
-    {
-    return iHoldingState >= EHoldStarting;
-    }
-
-// ----------------------------------------------------------------------------
-// StartPos
-// ----------------------------------------------------------------------------
-//
-TPoint CXnGesture::StartPos() const
-    {
-    // at least one point will be in the array during callback (pointer down pos)
-    return iPoints[0].iPos;
-    }
-
-// ----------------------------------------------------------------------------
-// CurrentPos
-// ----------------------------------------------------------------------------
-//
-TPoint CXnGesture::CurrentPos() const
-    {
-    // at least on point will be in the array during callback (pointer down pos)
-    return iPoints[iPoints.Count() - 1].iPos;
-    }
-
-// ----------------------------------------------------------------------------
-// IsMovementStopped
-// ----------------------------------------------------------------------------
-//
-inline TBool CXnGesture::IsMovementStopped() const
-    {
-    // iCompletionTime is only only valid if client has called SetComplete
-    if ( iState >= EComplete )
-        {
-        return Elapsed( NthLastEntry( 1 ).iTime, iCompletionTime )
-            .Int() > KSpeedStopTime;
-        }
-    return EFalse;
-    }
-
-namespace
-    {
-    const TInt KFloatingPointAccuracy = 0.000001;
-
-    /** @return percentage (0.0-1.0) how far aPos is from aEdge1 towards aEdge2 */
-    inline TReal32 Proportion( TReal32 aPos, TReal32 aEdge1, TReal32 aEdge2 )
-        {
-        if ( Abs( aEdge2 - aEdge1 ) > KFloatingPointAccuracy )
-            {
-            return ( aPos - aEdge1 ) / ( aEdge2 - aEdge1 );
-            }
-        return 0; // avoid division by zero
-        }
-
-    /** Edges (pixels) at which speed should be -100% or 100% */
-    NONSHARABLE_STRUCT( TEdges )
-        {
-        TReal32 iMin;
-        TReal32 iMax;
-        };
-
-    /**
-     * scale which allows different (coordinate -> percentage) mapping
-     * between -100% to 0% and 0 and 100%
-     */
-    NONSHARABLE_STRUCT( TScale )
-        {
-        TScale( TInt aZero, const TEdges& aEdges )
-                : iMin( aEdges.iMin ), iZero( aZero ), iMax( aEdges.iMax )
-            {
-            }
-
-        /** @return aPos as a percentage between -100% and 100% in aScale */
-        TReal32 Percent( TReal32 aPos ) const;
-
-        /// coordinate where speed is -100%
-        TReal32 iMin;
-        /// coordinate where speed is 0%
-        TReal32 iZero;
-        /// coordinate where speed is 100%
-        TReal32 iMax;
-        };
-
-    /** @convert aPos into a percentage between -100% and 100% in aScale */
-    TReal32 TScale::Percent( TReal32 aPos ) const
-        {
-        TReal32 percent;
-        if ( aPos < iZero )
-            {
-            // return negative percentages on the lower side of zero point
-            percent = -1 * Proportion( aPos, iZero, iMin );
-            }
-        else
-            {
-            percent = Proportion( aPos, iZero, iMax );
-            }
-        // constrain between -100% and 100%
-        return Min( Max( percent, -1.0F ), 1.0F );
-        }
-
-    /** Scale in x and y dimensions */
-    NONSHARABLE_STRUCT( TScale2D )
-        {
-        TRealPoint Percent( const TPoint& aPos ) const
-            {
-            return TRealPoint(
-                iX.Percent( aPos.iX ),
-                iY.Percent( aPos.iY ) );
-            }
-
-        TScale iX;
-        TScale iY;
-        };
-
-    enum TDirection { ESmaller, ELarger };
-
-    /** @return the direction of pos compared to the previous pos */
-    inline TDirection Direction( TInt aPos, TInt aPreviousPos )
-        {
-        return aPos < aPreviousPos ? ESmaller : ELarger;
-        }
-
-    /** Direction in x and y dimensions */
-    NONSHARABLE_STRUCT( TDirection2D )
-        {
-        TDirection iX;
-        TDirection iY;
-        };
-
-    /** Return the direction (up/down) of signal at aIndex */
-    inline TDirection2D Direction(
-        TInt aIndex,
-        const RArray< TXnPointEntry >& aPoints )
-        {
-        const TPoint& pos = aPoints[aIndex].iPos;
-        const TPoint& prevPos = aPoints[aIndex - 1].iPos;
-        TDirection2D dir = {
-            Direction( pos.iX, prevPos.iX ),
-            Direction( pos.iY, prevPos.iY ) };
-        return dir;
-        }
-
-    /**
-     * @return a position in the aLow and aHigh, so that it aProportion of
-     *         of length is above the pos
-     */
-    TReal32 ProportionalLength( TReal32 aLow, TReal32 aHigh, TReal32 aProportion )
-        {
-        return ( aHigh - aLow ) * aProportion / ( 1 + aProportion );
-        }
-
-    /**
-     * @return aVariableEdge scaled to new position, when the other edge changes
-     *         from aOldEdge to aNewEdge, so that aOrigin maintains the *same
-     *         relative position* between aVariableEdge and the other edge
-     */
-    inline TReal32 ScaledEdge(
-        TReal32 aOrigin,
-        TReal32 aVariableEdge,
-        TReal32 aOldEdge,
-        TReal aNewEdge )
-        {
-        TReal32 proportion = Proportion( aOrigin, aVariableEdge, aOldEdge );
-        return ( proportion * aNewEdge - aOrigin ) / ( proportion - 1 );
-        }
-
-    TScale Rescale(
-        TReal32 aPos,
-        TDirection aDir,
-        TDirection aPrevDir,
-        const TScale& aPrevScale,
-        const TEdges& aEdges )
-        {
-        TScale scale( aPrevScale );
-        if ( aPrevDir != aDir )
-            {
-            // the code duplication is accepted here, since it is difficult
-            // to factor out while maintaining the understandability of this
-            // anyway complex algorithm
-            if ( aDir == ESmaller )
-                {
-                scale.iMin = aEdges.iMin;
-                if ( aPrevScale.iZero < aPos )
-                    {
-                    TReal32 proportionAboveZero = Proportion(
-                        aPos, aPrevScale.iZero, aPrevScale.iMax );
-                    scale.iZero = aPos - ProportionalLength(
-                        aEdges.iMin, aPos, proportionAboveZero );
-                    }
-                else
-                    {
-                    // adjust zero pos so that proportion between aPos, Min,
-                    // and Zero pos stay the same (Min will move to 0,
-                    // aPos stays the same)
-                    scale.iZero = ScaledEdge( aPos, aPrevScale.iZero,
-                        aPrevScale.iMin, aEdges.iMin );
-                    }
-
-                // adjust the upper edge to take into account the movement of
-                // zero pos
-                scale.iMax = ScaledEdge( aPos, aPrevScale.iMax,
-                    aPrevScale.iZero, scale.iZero );
-                }
-            else // ELarger
-                {
-                scale.iMax = aEdges.iMax;
-                if ( aPos < aPrevScale.iZero )
-                    {
-                    TReal32 proportionBelowZero = Proportion(
-                        aPos, aPrevScale.iZero, aPrevScale.iMin );
-                    scale.iZero = aPos + ProportionalLength(
-                        aPos, aEdges.iMax, proportionBelowZero );
-                    }
-                else
-                    {
-                    // adjust zero pos so that proportion between aPos, Max, and
-                    // Zero pos stay the same (Max will move edge, aPos stays
-                    // the same)
-                    scale.iZero = ScaledEdge( aPos, aPrevScale.iZero,
-                        aPrevScale.iMax, aEdges.iMax );
-                    }
-
-                // adjust the lower edge to take into account the movement of
-                // zero pos
-                scale.iMin = ScaledEdge( aPos, aPrevScale.iMin,
-                    aPrevScale.iZero, scale.iZero );
-                }
-            }
-        return scale;
-        }
-
-    /** Edges in x and y dimensions */
-    NONSHARABLE_STRUCT( TEdges2D )
-        {
-        TEdges iX;
-        TEdges iY;
-        };
-
-    /**
-     * @param aEdges edges of the area in which gesture points are accepted
-     * @return the scale of latest point in the list of points
-     */
-    TScale2D Scale( const RArray< TXnPointEntry >& aPoints, const TEdges2D& aEdges )
-        {
-        TScale2D scale = { TScale( aPoints[0].iPos.iX, aEdges.iX ),
-                           TScale( aPoints[0].iPos.iY, aEdges.iY ) };
-        TInt count = aPoints.Count();
-        if ( count > 1 )
-            {
-            // iterate the whole point list to arrive to the current scale
-            TDirection2D dir( Direction( 1, aPoints ) );
-            for ( TInt i = 1; i < count; i++ )
-                {
-                // get direction at i
-                TDirection2D newDir( Direction( i, aPoints ) );
-                // get new scale at i
-                scale.iX = Rescale(
-                    aPoints[i - 1].iPos.iX,
-                    newDir.iX,
-                    dir.iX,
-                    scale.iX,
-                    aEdges.iX );
-                scale.iY = Rescale(
-                    aPoints[i - 1].iPos.iY,
-                    newDir.iY,
-                    dir.iY,
-                    scale.iY,
-                    aEdges.iY );
-                dir = newDir;
-                }
-            }
-        return scale;
-        }
-    } // unnamed namespace
-
-TRealPoint CXnGesture::SpeedPercent( const TRect& aEdges ) const
-    {
-    // x and y coordinates are easier to handle separately, extract from TRect:
-    // ((iMinX, iMinY), (iMaxX, iMaxY)) -> ((iMinX, iMaxX), (iMinY, iMaxY))
-    TEdges2D edges = {
-        { aEdges.iTl.iX, aEdges.iBr.iX },
-        { aEdges.iTl.iY, aEdges.iBr.iY } };
-    // work out the current scale (coordinate -> percentage mapping) from
-    // the history of points (i.e., points of current gesture). Then
-    // calculate the percentage of the current position.
-    return Scale( iPoints, edges ).Percent( CurrentPos() );
-    }
-
-// ----------------------------------------------------------------------------
-// Speed
-// ----------------------------------------------------------------------------
-//
-TRealPoint CXnGesture::Speed() const
-    {
-    const TReal32 KMicroSecondsInSecond = 1000000;
-
-    // Speed is only evaluated at the end of the swipe
-    // if user stops at the end of the swipe before lifting stylus,
-    // speed is zero. If time is zero, return 0 speed (infinite does
-    // not make sense either). Will need to consider also earlier points
-    // and their times or start time, if this zero-speed behavior is a problem
-    TRealPoint speed;
-    TReal32 time = static_cast< TReal32 >( TimeFromPreviousPoint().Int() )
-        / KMicroSecondsInSecond;
-    if ( !IsMovementStopped() && time > 0 )
-        {
-        TPoint distance = CurrentPos() - PreviousPos();
-        speed.iX = static_cast< TReal32 >( distance.iX ) / time;
-        speed.iY = static_cast< TReal32 >( distance.iY ) / time;
-        }
-    return speed;
-    }
-
-// ----------------------------------------------------------------------------
-// Distance
-// ----------------------------------------------------------------------------
-//
-TPoint CXnGesture::Distance() const
-    {
-    return CurrentPos() - StartPos();
-    }
-
-// ----------------------------------------------------------------------------
-// TimeFromPreviousPoint
-// ----------------------------------------------------------------------------
-//
-inline TTimeIntervalMicroSeconds32 CXnGesture::TimeFromPreviousPoint() const
-    {
-    const TInt KLatestEntryOffset = 1;
-    return Elapsed( PreviousEntry().iTime, NthLastEntry( KLatestEntryOffset ).iTime );
-    }
-
-// ----------------------------------------------------------------------------
-// CodeFromPoints
-// ----------------------------------------------------------------------------
-//
-TXnGestureCode CXnGesture::CodeFromPoints( TAxis aRelevantAxis ) const
-    {
-    // select the correct filter based on aRelevantAxis
-    // these filter_ objects are array decorators that will eliminate either
-    // x, y or neither coordinate of each point
-    TXAxisPointArray filterY( iPoints );
-    TYAxisPointArray filterX( iPoints );
-    TXnPointArray filterNone( iPoints );
-    TXnPointArray& filter =
-        aRelevantAxis == EAxisHorizontal ? static_cast< TXnPointArray& >( filterY ) :
-        aRelevantAxis == EAxisVertical   ? static_cast< TXnPointArray& >( filterX ) :
-        /* otherwise EAxisBoth */          filterNone;
-
-    // currently the gesture recogniser does not have any state, so it is fast
-    // to instantiate. The call is not static however, to allow the recogniser
-    // to be replaced by a more complicated implementation that has state.
-    // then it may make sense to make the recogniser a member variable.
-    return TXnGestureRecogniser().GestureCode( filter );
-    }
-
-// ----------------------------------------------------------------------------
-// return nth point from the end of the points array
-// ----------------------------------------------------------------------------
-//
-inline const TXnPointEntry& CXnGesture::NthLastEntry( TInt aOffset ) const
-    {
-    return iPoints[Max( iPoints.Count() - aOffset, 0 )];
-    }
-
-// ----------------------------------------------------------------------------
-// PreviousEntry
-// ----------------------------------------------------------------------------
-//
-inline const TXnPointEntry& CXnGesture::PreviousEntry() const
-    {
-    return NthLastEntry( KPreviousPointOffset );
-    }
-
-// ----------------------------------------------------------------------------
-// PreviousPos
-// ----------------------------------------------------------------------------
-//
-inline TPoint CXnGesture::PreviousPos() const
-    {
-    return PreviousEntry().iPos;
-    }
-
-// ----------------------------------------------------------------------------
-// SetComplete
-// ----------------------------------------------------------------------------
-//
-TBool CXnGesture::IsTapDoubleTap() const
-    {
-    return iPreviousGesture.iType == TGestureRecord::ETypeTap &&
-           Elapsed( iPreviousGesture.iCompletionTime, iCompletionTime ).Int() <=
-               KMaxDoubleTapDuration &&
-           IsNear( iPreviousGesture.iPos, iPoints[iPoints.Count() - 1].iPos,
-               KSamePointTolerance );
-    }
-
-// ----------------------------------------------------------------------------
-// Type
-// ----------------------------------------------------------------------------
-//
-CXnGesture::TGestureRecord::TType CXnGesture::Type() const
-    {
-    if ( CodeFromPoints( EAxisBoth ) == EGestureTap && !IsHolding() )
-        {
-        if ( IsTapDoubleTap() )
-            {
-            return CXnGesture::TGestureRecord::ETypeDoubleTap;
-            }
-        else
-            {
-            return CXnGesture::TGestureRecord::ETypeTap;
-            }
-        }
-    else
-        {
-        return CXnGesture::TGestureRecord::ETypeOther;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// TGestureRecord constructor
-// ----------------------------------------------------------------------------
-//
-CXnGesture::TGestureRecord::TGestureRecord()
-    {
-    iType = ETypeOther;
-    }
-
-// ----------------------------------------------------------------------------
-// TGestureRecord constructor
-// ----------------------------------------------------------------------------
-//
-CXnGesture::TGestureRecord::TGestureRecord(
-    CXnGesture::TGestureRecord::TType aType,
-    TTime aCompletionTime,
-    TPoint aPos )
-        : iType( aType ), iCompletionTime( aCompletionTime ), iPos( aPos )
-    {
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xngesturehelper.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,420 +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:  Gesture helper implementation
-*
-*/
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-
-// User includes
-#include "xngesturehelper.h"
-#include "xngesture.h"
-#include "xngesturedefs.h"
-#include "xnnode.h"
-
-using namespace XnGestureHelper;
-
-namespace XnGestureHelper
-    {
-    NONSHARABLE_CLASS( CHoldingTimer ) : public CTimer
-        {
-    public:
-        /** Two-phase constructor */
-        static CHoldingTimer* NewL( CXnGestureHelper& aHelper )
-            {
-            CHoldingTimer* self = new ( ELeave ) CHoldingTimer( aHelper );
-            CleanupStack::PushL( self );
-            self->ConstructL();
-            // "hold event" sending is enabled by default
-            self->iIsEnabled = ETrue;
-            CActiveScheduler::Add( self );
-            CleanupStack::Pop( self );
-            return self;
-            }
-
-        /** Destructor */
-        ~CHoldingTimer()
-            {
-            Cancel();
-            }
-
-        /** Set whether sending holding events is currently enabled */
-        void SetEnabled( TBool aEnabled )
-            {
-            iIsEnabled = aEnabled;
-            // cancel in case hold timer is already running
-            Cancel();
-            }
-
-        /** @return whether sending holding events is currently enabled */
-        TBool IsEnabled() const
-            {
-            return iIsEnabled;
-            }
-
-        /** Start the timer. Calls CXnGestureHelper::StartHoldingL upon
-          * completion */
-        void Start()
-            {
-            // if sending hold events is disabled, do not ever start the hold
-            // timer, and hence hold events will never be triggered
-            if ( iIsEnabled )
-                {
-                Cancel();
-                After( KHoldDuration );
-                }
-            }
-
-    private:
-        /** Constructor */
-        CHoldingTimer( CXnGestureHelper& aHelper )
-            : // give higher priority to new pointer events with - 1
-              CTimer( EPriorityUserInput - 1 ),
-              iHelper( aHelper )
-            {
-            }
-
-        void RunL() // From CActive
-            {
-            iHelper.StartHoldingL();
-            }
-
-    private:
-        /// helper object that will be called back when timer is triggered
-        CXnGestureHelper& iHelper;
-        /// whether sending holding events is currently enabled
-        TBool iIsEnabled;
-        };
-    } // namespace GestureHelper
-
-/**
-* @return position from event. Use this instead of using aEvent direction to
-*         avoid accidentally using TPointerEvent::iPosition
-*/
-inline TPoint Position( const TPointerEvent& aEvent )
-    {
-    // use parent position, since the capturer is using full screen area,
-    // and because the (Alfred) drag events are not local to visual even when
-    // coming from the client
-    return aEvent.iParentPosition;
-    }
-
-// ----------------------------------------------------------------------------
-// Two-phase constructor
-// ----------------------------------------------------------------------------
-//
-CXnGestureHelper* CXnGestureHelper::NewL( CXnNode& aNode )
-    {
-    CXnGestureHelper* self = new ( ELeave ) CXnGestureHelper( aNode );
-    CleanupStack::PushL( self );
-    self->iHoldingTimer = CHoldingTimer::NewL( *self );
-    self->iGesture = new ( ELeave ) CXnGesture();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CXnGestureHelper::CXnGestureHelper( CXnNode& aNode )
-    : iOwner( aNode )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// Destructor
-// ----------------------------------------------------------------------------
-//
-CXnGestureHelper::~CXnGestureHelper()
-    {
-    delete iHoldingTimer;
-    delete iGesture;
-    }
-
-// ----------------------------------------------------------------------------
-// SetHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-void CXnGestureHelper::SetHoldingEnabled( TBool aEnabled )
-    {
-    iHoldingTimer->SetEnabled( aEnabled );
-    }
-
-// ----------------------------------------------------------------------------
-// IsHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-TBool CXnGestureHelper::IsHoldingEnabled() const
-    {
-    return iHoldingTimer->IsEnabled();
-    }
-
-// ----------------------------------------------------------------------------
-// Reset state
-// ----------------------------------------------------------------------------
-//
-void CXnGestureHelper::Reset()
-    {
-    iHoldingTimer->Cancel();
-    iGesture->Reset();
-    }
-
-/**
-* Helper function that calls Reset on the pointer to CXnGestureHelper
-*/
-static void ResetHelper( TAny* aHelper )
-    {
-    static_cast< CXnGestureHelper* >( aHelper )->Reset();
-    }
-
-// ----------------------------------------------------------------------------
-// Sets gesture destination
-// ----------------------------------------------------------------------------
-//
-void CXnGestureHelper::SetDestination( CXnNode* aDestination )
-    {
-    iDestination = aDestination;
-    }
-
-// ----------------------------------------------------------------------------
-// Gets gesture destination
-// ----------------------------------------------------------------------------
-//    
-CXnNode* CXnGestureHelper::Destination() const
-    {
-    return iDestination;
-    }
-
-// ----------------------------------------------------------------------------
-// Gets gesture owner
-// ----------------------------------------------------------------------------
-//    
-CXnNode* CXnGestureHelper::Owner() const
-    {
-    return &iOwner;
-    }
-    
-// ----------------------------------------------------------------------------
-// Handle a pointer event
-// ----------------------------------------------------------------------------
-//
-TSwipeResult CXnGestureHelper::HandlePointerEventL( const TPointerEvent& aEvent )
-    {
-    TSwipeResult ret = ESwipeNone;
-    switch ( aEvent.iType )
-        {
-        case TPointerEvent::EButton1Down:
-            // If no up event was received during previous gesture, cancel
-            // previous event and reset state
-            if ( !IsIdle() )
-                {
-                iGesture->SetCancelled();
-                // ambiguous what is the right thing when "cancel" event leaves
-                // and "start" does not. Leaving for cancel *after* "start" could
-                // be unexpected to client, as client would have handled start
-                // event successfully. Assume that leaving upon cancellation
-                // can be ignored.
-                Reset();
-                }
-            // adding the first point implicitly makes the state "not idle"
-            AddPointL( aEvent );
-            // If AddPointL leaves, IsIdle will return EFalse for other events
-            // types, hence further pointer events will be ignored.
-            // Therefore, holding will NOT be started if AddPointL leaves,
-            // since the callback would trigger a gesture callback, and that
-            // would access an empty points array.
-            iHoldingTimer->Start();
-            break;
-
-        case TPointerEvent::EDrag:
-            // ignore the event in case not in "recording" state. this may
-            // happen if holding was triggered, or client sends up event after
-            // down event was received in a different *client* state, and
-            // client did not forward the down event to here.
-            // Also, while stylus down, the same event is received repeatedly
-            // even if stylus does not move. Filter out by checking if point
-            // is the same as the latest point
-            if ( !IsIdle() && !iGesture->IsLatestPoint( Position( aEvent ) ) )
-                {
-                AddPointL( aEvent );
-                if ( !( iGesture->IsHolding() ||
-                        iGesture->IsNearHoldingPoint( Position( aEvent ) ) ) )
-                    {
-                    // restart hold timer, since pointer has moved
-                    iHoldingTimer->Start();
-                    // Remember the point in which holding was started
-                    iGesture->SetHoldingPoint();
-                    }
-                }
-            break;
-
-        case TPointerEvent::EButton1Up:
-            // ignore up event if no down event received
-            if ( !IsIdle() )
-                {
-                // reset in case the down event is not received for a reason
-                // in client, and instead drag or up events are received.
-                // reset via cleanup stack to ensure Reset is run even if
-                // observer leaves
-                CleanupStack::PushL( TCleanupItem( &ResetHelper, this ) );
-                iGesture->SetComplete();
-                // if adding of the point fails, notify client with a
-                // cancelled event. It would be wrong to send another
-                // gesture code when the up point is not known
-                if ( AddPoint( aEvent ) != KErrNone )
-                    {
-                    iGesture->SetCancelled();
-                    }
-                else
-                    {
-                    // send gesture code if holding has not been started
-                    if ( !iGesture->IsHolding() )
-                        {
-                        // if client leaves, the state is automatically reset.
-                        // In this case the client will not get the released event
-                        ret = ValidSwipe();
-                        }
-                    // send an event that stylus was lifted
-                    iGesture->SetReleased();
-                    }
-                // reset state
-                CleanupStack::PopAndDestroy( this );
-                }
-            break;
-
-        default:
-            break;
-        }
-    return ret;
-    }
-
-// ----------------------------------------------------------------------------
-// Is the helper idle?
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TBool CXnGestureHelper::IsIdle() const
-    {
-    return iGesture->IsEmpty();
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline void CXnGestureHelper::AddPointL( const TPointerEvent& aEvent )
-    {
-    User::LeaveIfError( AddPoint( aEvent ) );
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TInt CXnGestureHelper::AddPoint( const TPointerEvent& aEvent )
-    {
-    return iGesture->AddPoint( Position ( aEvent ) );
-    }
-
-/**
-* Helper function that calls ContinueHolding on the pointer to TGesture
-*/
-static void ContinueHolding( TAny* aGesture )
-    {
-    static_cast< CXnGesture* >( aGesture )->ContinueHolding();
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// ----------------------------------------------------------------------------
-//
-void CXnGestureHelper::StartHoldingL()
-    {
-    // hold & tap event is specifically filtered out. Use case: in list fast
-    // scrolling activation (e.g. enhanced coverflow), tap & hold should not
-    // start fast scroll. In addition, after long tap on start position,
-    // drag and drag & hold swiping should emit normal swipe and swipe&hold
-    // events. Therefore, tap & hold is not supported.
-    if ( !iGesture->IsTap() )
-        {
-        // holding has just started, and gesture code should be provided to client.
-        // set gesture state so that it produces a gesture code (other than drag)
-        iGesture->StartHolding();
-
-        // create an item in the cleanup stack that will set the gesture state
-        // to holding-was-started-earlier state. NotifyL may leave, but the
-        // holding-was-started-earlier state must still be successfully set,
-        // otherwise, the holding gesture code will be sent twice
-        CleanupStack::PushL( TCleanupItem( &ContinueHolding, iGesture ) );
-
-        // set holding state to "post holding"
-        CleanupStack::PopAndDestroy( iGesture );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// Check if swipe is valid
-// ----------------------------------------------------------------------------
-//
-TSwipeResult CXnGestureHelper::ValidSwipe()
-    {
-    TSwipeResult ret = ESwipeNone;
-    TBool validSwipe(ETrue);
-
-    // check if swipe is between defined values
-    TInt distanceX = Abs( iGesture->Distance().iX );
-    TInt speedX = Abs( static_cast< TInt >( iGesture->Speed().iX ) );
-
-    TInt minLength( iOwner.MarginRect().Width() / 2 );
-    
-    TInt dy( Abs( iGesture->StartPos().iY - iGesture->CurrentPos().iY ) );
-    
-    if ( distanceX < minLength )
-        {
-        validSwipe = EFalse;
-        }
-
-    if ( speedX < KGestureMinSpeedX )
-        {
-        validSwipe = EFalse;
-        }
-               
-    if ( dy > KGestureMaxDeltaY )
-        {
-        validSwipe = EFalse;
-        }
-    
-    // check the direction of swipe
-    if ( validSwipe )
-        {
-        switch ( iGesture->Code( CXnGesture::EAxisHorizontal ) )
-            {
-             case EGestureSwipeLeft:
-                ret = ESwipeLeft;
-                break;
-             case EGestureSwipeRight:
-                 ret = ESwipeRight;
-                break;
-             default: // fall through
-                break;
-            }
-        }
-
-    return ret;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xngesturerecogniser.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +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:  Gesture helper implementation
-*
-*/
-
-#include <e32math.h>
-
-#include "xngesturerecogniser.h"
-#include "xngesturedefs.h"
-#include "xnpointarray.h"
-
-using namespace XnGestureHelper;
-
-/**
- * Vector class (math)
- */
-NONSHARABLE_CLASS( TVector )
-    {
-public:
-    /**
-     * Constructor
-     * @param aFrom starting point of the vector
-     * @param aTo ending point of the vector
-     */
-    TVector( const TPoint& aFrom, const TPoint& aTo )
-            : iX( aTo.iX - aFrom.iX ),
-              iY( aTo.iY - aFrom.iY )
-        {
-        }
-
-    /** @return angle of the vector */
-    TReal Angle() const
-        {
-        TReal angle = 0;
-        TReal length = Length();
-        if ( length != 0 )
-            {
-            Math::ACos( angle, iX / Length() );
-            if ( iY < 0 )
-                {
-                angle = 2 * KPi - angle;
-                }
-            }
-        return Degrees( angle );
-        }
-
-    /** @return length of the vector */
-    TReal Length() const
-        {
-        TReal length = 0;
-        Math::Sqrt( length, iX * iX + iY * iY );
-        return length;
-        }
-
-private:
-    /** @return radians in degrees */
-    inline TReal Degrees( TReal aRadians ) const
-        {
-        return aRadians * 180 / KPi;
-        }
-
-public:
-    /// x coordinate that represent the vector
-    TReal iX;
-    /// y coordinate that represent the vector
-    TReal iY;
-    };
-
-/**
- * @return ETrue if points for a tap event
- */
-inline TBool IsTap( const TXnPointArray& aPoints )
-    {
-    // with tap, the pointer is not allowed to leave the tap area and come back
-    // therefore, gesture length is not an acceptable test for tap, as it tests
-    // only the last point. therefore, check if *any* point is outside tap area.
-    TInt i = aPoints.Count(); // latest point if most likely to be outside tap area
-    while ( --i >= 0 )
-        {
-        // use the raw point (from which no axis has been filtered out)
-        // because tap should consider both axes even when Code() ignores one axis
-        if ( KSamePointTolerance < Abs( aPoints.Raw( i ).iX - aPoints.Raw( 0 ).iX ) ||
-             KSamePointTolerance < Abs( aPoints.Raw( i ).iY - aPoints.Raw( 0 ).iY ) )
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-
-/**
- * @return Length of the gesture in points
- */
-inline TReal GestureLength( const TXnPointArray& aPoints )
-    {
-    return TVector( aPoints[0], aPoints[aPoints.Count() - 1] ).Length();
-    }
-
-/**
- * @return ETrue if aAngleUnderTest is almost aAngle
- *         Closeness of the angles is controlled by KAngleTolerance
- */
-static TBool IsNear( TReal aAngleUnderTest, TReal aAngle )
-    {
-    return aAngle - KAngleTolerance <= aAngleUnderTest &&
-           aAngleUnderTest <= aAngle + KAngleTolerance;
-    }
-
-/**
- * @return the angle as a direction flags of TGesture
- */
-inline TXnGestureCode Direction( TReal aAngle )
-    {
-    TXnGestureCode direction = EGestureUnknown;
-
-    if ( IsNear( aAngle, 90.0 ) )
-        {
-        direction = EGestureSwipeDown;
-        }
-    else if ( IsNear( aAngle, 180.0 ) )
-        {
-        direction = EGestureSwipeLeft;
-        }
-    else if ( IsNear( aAngle, 270.0 ) )
-        {
-        direction = EGestureSwipeUp;
-        }
-    else if ( 360.0 - KAngleTolerance <= aAngle || aAngle <= KAngleTolerance )
-        {
-        direction = EGestureSwipeRight;
-        }
-    else // for lint warning
-        {
-        // unknown angle
-        }
-
-    return direction;
-    }
-
-/** @return direction between points */
-inline TXnGestureCode Direction( const TPoint& aFromPoint, const TPoint& aToPoint )
-    {
-    return Direction( TVector( aFromPoint, aToPoint ).Angle() );
-    }
-
-/** @return overall direction between points */
-static TXnGestureCode GeneralDirection( const TXnPointArray& aPoints )
-    {
-    return Direction( aPoints[0], aPoints[aPoints.Count() - 1]);
-    }
-
-/**
-* @return the last received point that is different that the latest point,
-*         or first point if no point is different than latest
-*/
-inline TPoint PreviousPoint( const TXnPointArray& aPoints )
-    {
-    TPoint latestPoint = aPoints[aPoints.Count() - 1];
-    TInt i = aPoints.Count() - 1;
-    while ( --i >= 0 )
-        {
-        if ( latestPoint != aPoints[i] )
-            {
-            return aPoints[i];
-            }
-        }
-    return aPoints[0];
-    }
-
-/** @return direction between last two points */
-inline TXnGestureCode LastDirection( const TXnPointArray& aPoints )
-    {
-    if ( aPoints.Count() > 1 )
-        {
-        // return direction between latest and previous points.
-        // pick the previous point that is different than the last point
-        // because while using an x or y filter array, more than one
-        // sequential points may look like the same point because
-        // the differing coordinate coordinate is filtered out. For example,
-        // if dragging left and slightly up, many y coordinates will have the
-        // same value, while only x differs.
-        return Direction( PreviousPoint( aPoints ), aPoints[aPoints.Count() - 1] );
-        }
-    return EGestureUnknown;
-    }
-
-// ----------------------------------------------------------------------------
-// Return gesture code of a gesture formed by a sequence of points
-// ----------------------------------------------------------------------------
-//
-TXnGestureCode TXnGestureRecogniser::GestureCode( const TXnPointArray& aPoints ) const
-    {
-    __ASSERT_DEBUG( aPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-
-    if (aPoints.Count() <= 0)
-        return EGestureUnknown;
-        
-    if ( IsTap( aPoints ) )
-        {
-        return EGestureTap;
-        }
-
-    if ( GestureLength( aPoints ) >= KMinSwipeLength )
-        {
-        TXnGestureCode direction = GeneralDirection( aPoints );
-        if ( direction != LastDirection( aPoints ) )
-            {
-            direction = EGestureUnknown;
-            }
-        return direction;
-        }
-
-    // the pointer was moved but was either not moved far enough, or was
-    // brought back to close to the starting point
-    return EGestureUnknown;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnhittest.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +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:  Data class to hold widget info
-*
-*/
-
-// INCLUDES
-#include <e32base.h>
-
-#include "xncontroladapter.h"
-#include "xnhittest.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnHitTest* CXnHitTest::NewL()
-    {
-    CXnHitTest* self = CXnHitTest::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnHitTest* CXnHitTest::NewLC()
-    {
-    CXnHitTest* self = new ( ELeave ) CXnHitTest;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::CXnHitTest()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnHitTest::CXnHitTest()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::~CXnHitTest()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnHitTest::~CXnHitTest()
-    {
-    CCoeEnv::Static()->RemoveMessageMonitorObserver( *this );    
-    iHitRegion.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::ConstructL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-void CXnHitTest::ConstructL()
-    {
-    CCoeEnv::Static()->AddMessageMonitorObserverL( *this );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::MonitorWsMessage()
-// -----------------------------------------------------------------------------
-//
-void CXnHitTest::MonitorWsMessage( const TWsEvent& aEvent )
-    {
-    TInt type( aEvent.Type() );
-    
-    if ( type == EEventPointer )
-        {
-        iPointerEvent = *aEvent.Pointer();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::AddControl()
-// -----------------------------------------------------------------------------
-//
-void CXnHitTest::AddControl( CXnControlAdapter* aControl )
-    {
-    if ( iHitRegion.Find( aControl ) == KErrNotFound )
-        {
-        iHitRegion.Append( aControl );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::RemoveControl()
-// -----------------------------------------------------------------------------
-//
-void CXnHitTest::RemoveControl( CXnControlAdapter* aControl )
-    {
-    TInt index( iHitRegion.Find( aControl ) );
-
-    if ( index != KErrNotFound )
-        {
-        iHitRegion.Remove( index );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::SetFlags()
-// -----------------------------------------------------------------------------
-//
-void CXnHitTest::SetFlags( const TInt aFlags )
-    {
-    iFlags |= aFlags;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::ClearFlags()
-// -----------------------------------------------------------------------------
-//
-void CXnHitTest::ClearFlags( const TInt aFlags )
-    {
-    iFlags &= ~aFlags;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::Flags()
-// -----------------------------------------------------------------------------
-//
-TInt CXnHitTest::Flags() const
-    {
-    return iFlags;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::Flush()
-// -----------------------------------------------------------------------------
-//
-void CXnHitTest::Flush()
-    {
-    iFlags = 0;
-
-    iHitRegion.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::HitRegionCount()
-// -----------------------------------------------------------------------------
-//
-TInt CXnHitTest::HitRegionCount() const
-    {
-    return iHitRegion.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::HitRegion()
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnHitTest::HitRegion() const
-    {
-    TInt count( HitRegionCount() );
-
-    if ( count > 0 )
-        {
-        return iHitRegion[count - 1];
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnHitTest::PointerEvent()
-// -----------------------------------------------------------------------------
-//
-const TPointerEvent& CXnHitTest::PointerEvent() const
-    {
-    return iPointerEvent;
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xninactivitymonitor.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +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:  Inactivity Monitor
-*
-*/
-
-// System includes
-
-// User includes
-#include "xninactivitymonitor.h"
-
-// Constants
-const TInt KInactivityInterval( 6 ); 
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnInactivityMonitor::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnInactivityMonitor* CXnInactivityMonitor::NewL( 
-    MXnInactivityObserver& aObserver )
-    {
-    CXnInactivityMonitor* self = CXnInactivityMonitor::NewLC( aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnInactivityMonitor::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnInactivityMonitor* CXnInactivityMonitor::NewLC( 
-    MXnInactivityObserver& aObserver )
-    {
-    CXnInactivityMonitor* self = 
-        new ( ELeave ) CXnInactivityMonitor( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnInactivityMonitor::~CXnInactivityMonitor()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnInactivityMonitor::~CXnInactivityMonitor()
-    {  
-    Stop();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnInactivityMonitor::CXnInactivityMonitor()
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CXnInactivityMonitor::CXnInactivityMonitor( MXnInactivityObserver& aObserver )
-    : CTimer( CActive::EPriorityStandard ), iObserver( aObserver )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnInactivityMonitor::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnInactivityMonitor::ConstructL()
-    {   
-    CTimer::ConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnInactivityMonitor::RunL()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnInactivityMonitor::RunL()
-    {
-    iObserver.InactivityTimerExpired();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnInactivityMonitor::Start()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnInactivityMonitor::Start()
-    {
-    Cancel();
-    
-    Inactivity( KInactivityInterval );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnInactivityMonitor::Stop()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnInactivityMonitor::Stop()
-    {
-    Cancel();
-    }
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xnkeyeventdispatcher.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,704 +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:  Event dispatcher
-*
-*/
-
-// System includes
-#include <AknUtils.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnfocuscontrol.h"
-#include "xnkeyeventdispatcher.h"
-#include "xntype.h"
-#include "xncomponentnodeimpl.h"
-#include "xnproperty.h"
-#include "xnuiengine.h"
-#include "xnodt.h"
-#include "xndomdocument.h"
-#include "xndomnode.h"
-#include "xnmenuadapter.h"
-#include "xneditmode.h"
-#include "xnviewmanager.h"
-#include "xnviewdata.h"
-#include "xnnode.h"
-
-// Local macros
-#define IS_ARROW_KEY( k ) \
-    ( k == EStdKeyLeftArrow || k == EStdKeyRightArrow || \
-      k == EStdKeyUpArrow || k == EStdKeyDownArrow ) 
-
-// -----------------------------------------------------------------------------
-// SetInitialFocusL
-// -----------------------------------------------------------------------------
-//
-static void SetInitialFocusL( RPointerArray< CXnNode >& aArray )
-    {
-    for ( TInt i = 0; i < aArray.Count(); i++ )
-        {
-        CXnNode* node( aArray[i] );
-
-        node->SetStateWithoutNotificationL(
-            XnPropertyNames::style::common::KFocus );
-
-        if ( node->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-            {
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BuildTriggerNodeL
-// Builds a trigger node
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildTriggerNodeL(
-    CXnUiEngine& aUiEngine,
-    const TDesC8& aTriggerName )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-
-    CleanupStack::Pop( type );
-
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-
-    CXnDomPropertyValue* nameValue =
-        CXnDomPropertyValue::NewL( aUiEngine.ODT()->DomDocument().StringPool() );
-
-    CleanupStack::PushL( nameValue );
-
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
-
-    CXnProperty* name =
-        CXnProperty::NewL( XnPropertyNames::action::trigger::KName, nameValue,
-                           *aUiEngine.ODT()->DomDocument().StringPool() );
-
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-
-    CleanupStack::Pop( node );
-
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// MenuAdapter
-// Gets menuadapter from node, NULL if not available
-// -----------------------------------------------------------------------------
-//
-static CXnMenuAdapter* MenuAdapter( CXnNode* aNode )
-    {
-    if ( aNode )
-        {        
-        return static_cast< CXnMenuAdapter* >( aNode->Control() );
-        }
-
-    return NULL;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::NewL
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-CXnKeyEventDispatcher* CXnKeyEventDispatcher::NewL( CXnUiEngine& aUiEngine )
-    {
-    CXnKeyEventDispatcher* self = new ( ELeave ) CXnKeyEventDispatcher( aUiEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::~CXnKeyEventDispatcher
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnKeyEventDispatcher::~CXnKeyEventDispatcher()
-    {
-    iCoeEnv->RemoveMessageMonitorObserver( *this );
-    
-    iUiEngine.ViewManager()->RemoveObserver( *this );
-    
-    delete iLoseFocus;
-    delete iGainFocus;
-    iPassiveFocusedNodes.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::CXnKeyEventDispatcher
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-CXnKeyEventDispatcher::CXnKeyEventDispatcher( CXnUiEngine& aUiEngine )
-    : iUiEngine( aUiEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::ConstructL
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::ConstructL()
-    {
-    MakeVisible( EFalse );
-
-    iUiEngine.ViewManager()->AddObserver( *this );
-           
-    iCoeEnv->AddMessageMonitorObserverL( *this );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::MonitorWsMessage
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::MonitorWsMessage( const TWsEvent& aEvent )
-    {
-    TInt type( aEvent.Type() );
-    
-    if ( type == EEventPointer && AknLayoutUtils::PenEnabled() )
-        {    
-        const TUint handle( aEvent.Handle() );
-        
-        CCoeControl* destination = reinterpret_cast< CCoeControl* >( handle );        
-                                       
-        TPointerEvent& event( *aEvent.Pointer() );
-                
-        if ( iCbaContainer )
-            {
-            CEikCba* cba = 
-                static_cast< CEikCba* >( iCbaContainer->ButtonGroup() ); 
-                    
-            if ( destination == cba && iCbaContainer->IsVisible() )
-                {
-                CXnMenuAdapter* adapter( MenuAdapter( iMenuNode ) );
-                
-                if ( adapter )
-                    {
-                    TRAP_IGNORE( 
-                        adapter->HandlePointerEventL( *aEvent.Pointer() ) );
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::OfferKeyEventL
-// Handles key events.
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CXnKeyEventDispatcher::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    TKeyResponse resp( EKeyWasNotConsumed );
-    
-    iEventCode = aType;
-    
-    CXnNode* node( NULL );
-    
-    TBool keyYesNoApps( EFalse );
-    
-    if ( iUiEngine.IsMenuDisplaying() ||
-         aKeyEvent.iScanCode == EStdKeyDevice0 ||
-         aKeyEvent.iScanCode == EStdKeyDevice1 )
-        {
-        iFocusChanged = EFalse;
-        // When menu is focused or LSK/RSK is pressed,
-        // then forward events to menuadapter.
-        // Note that MSK is handled directly in the base class as it used only
-        // for activating
-        node = iMenuNode;
-        }
-    else if ( aKeyEvent.iScanCode == EStdKeyApplication0 ||
-              aKeyEvent.iScanCode == EStdKeyYes ||
-              aKeyEvent.iScanCode == EStdKeyNo )
-        {
-        keyYesNoApps = ETrue;
-        
-        iFocusChanged = EFalse;
-        // AppsKey, YesKey, NoKey events must be always handled, and if we don't
-        // have a focused node, then let the view node do the job
-        node = ( !iNode ) ? iUiEngine.ActiveView() : iNode;
-        }
-    else
-        {
-        CXnAppUiAdapter& appui( iUiEngine.AppUiAdapter() );
-        
-        if ( IS_ARROW_KEY( aKeyEvent.iScanCode ) && aType == EEventKey )
-            {
-            if ( !appui.FocusShown() )
-                {
-                appui.ShowFocus();
-                
-                if ( !iNode )
-                    {
-                    // Find initial location for focus
-                    ResolveAndSetFocusL(); 
-                                            
-                    return EKeyWasConsumed;
-                    }
-                }
-            }
-        
-        CCoeControl* editmode( iUiEngine.EditMode() );
-        
-        if ( editmode->OfferKeyEventL( aKeyEvent, aType ) == EKeyWasConsumed )
-            {
-            return EKeyWasConsumed;
-            }
-        
-        // Offer keyevent to the focused node        
-        node = iNode;
-
-        if ( aType == EEventKeyDown )
-            {
-            // Reset state
-            iFocusChanged = EFalse;
-            iKeyEventNode = iNode;
-            }
-
-        if ( iFocusChanged && ( aType == EEventKeyUp ) )
-            {
-            // Pass keyup event to
-            // previously focused node
-            node = iKeyEventNode;
-            }
-        }
-
-    if ( !keyYesNoApps )
-        {
-        if ( iEventCode == EEventNull && aType != EEventKeyDown )
-            {    
-            // We are waiting for down event
-            return resp;
-            }        
-        }
-        
-    if ( !node )
-        {
-        return resp;
-        }
-
-    iUiEngine.DisableRenderUiLC();
-    
-    CXnControlAdapter* adapter( node->Control() );
-
-    if( adapter && adapter->IsVisible() )                            
-        {
-        resp = adapter->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    if ( aType != EEventKeyUp && iKeyEventNode != iNode )
-        {
-        // Focused node is changed during keyevent
-        iFocusChanged = ETrue;
-        }
-    
-    if ( aType == EEventKeyUp )
-        {
-        iEventCode = EEventNull;
-        }
-
-    iUiEngine.RenderUIL();
-    CleanupStack::PopAndDestroy(); // DisableRenderUiLC
-    
-    return resp;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::SetNode
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::SetNodeL( CXnNode* aNode, TInt aSource )
-    {
-    if ( iNode == aNode )
-        {
-        return;
-        }
-
-    iPreviousNode = iNode;
-    iNode = aNode;
-
-    SetNodeL( iPreviousNode, iNode, ETrue, aSource );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::SetNodeWithoutNotificationL
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::SetNodeWithoutNotificationL( CXnNode* aNode )
-    {
-    if ( iNode == aNode )
-        {
-        return;
-        }
-
-    iPreviousNode = iNode;
-    iNode = aNode;
-
-    SetNodeL( iPreviousNode, iNode, EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// SetNodeL
-// Changes focused node, runs gain focus/lose focus triggers if needed
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::SetNodeL( CXnNode* aToLose, CXnNode* aToGain,
-    TBool aNotify, TInt aSource )
-    {
-    if ( aToLose )
-        {
-        aToLose->SetDirtyL( XnDirtyLevel::ERender );
-
-        aToLose->UnsetStateL( XnPropertyNames::style::common::KFocus );
-        aToLose->UnsetStateL( XnPropertyNames::style::common::KHold );
-        aToLose->UnsetStateL( XnPropertyNames::style::common::KActive );
-
-        if ( aNotify )
-            {
-            if ( !iLoseFocus )
-                {
-                iLoseFocus = BuildTriggerNodeL( iUiEngine,
-                    XnPropertyNames::action::trigger::name::KLoseFocus );
-                }
-
-            aToLose->ReportXuikonEventL( *iLoseFocus );
-            }
-
-        CXnControlAdapter* adapter( aToLose->Control() );
-
-        if ( adapter )
-            {
-            adapter->SetFocus( EFalse );
-            }
-        }
-
-    if ( aToGain )
-        {
-        aToGain->SetDirtyL( XnDirtyLevel::ERender );
-
-        if ( aNotify )
-            {
-            if ( !iGainFocus )
-                {
-                iGainFocus = BuildTriggerNodeL( iUiEngine,
-                        XnPropertyNames::action::trigger::name::KGainFocus );
-                }
-
-            aToGain->ReportXuikonEventL( *iGainFocus, aSource );
-            }
-
-        CXnControlAdapter* adapter( aToGain->Control() );
-
-        if ( adapter )
-            {
-            adapter->SetFocus( ETrue );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::FocusedNode
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnKeyEventDispatcher::FocusedNode() const
-    {
-    if ( iNode && iNode->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-        {
-        return iNode;
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::RefreshMenu
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::RefreshMenuL()
-    {
-    CXnMenuAdapter* menuAdapter( MenuAdapter( iMenuNode ) );
-
-    if ( menuAdapter )
-        {
-        menuAdapter->SetContainerL( *iCbaContainer );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::SetMenuNode
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::SetMenuNodeL( CXnNode* aNode )
-    {
-    CXnMenuAdapter* menuAdapter( MenuAdapter( aNode ) );
-    
-    iCbaContainer = iAvkonAppUi->Cba();
-
-    if ( menuAdapter )
-        {
-        iMenuNode = aNode;
-                
-        menuAdapter->SetContainerL( *iCbaContainer );
-
-        CXnProperty* prop( iMenuNode->DisplayL() );
-
-        if ( prop && prop->StringValue() == 
-            XnPropertyNames::style::common::display::KNone )
-            {
-            iCbaContainer->MakeVisible( EFalse );
-            }
-        else
-            {
-            iCbaContainer->MakeVisible( ETrue );
-            }
-        }
-    else
-        {
-        iCbaContainer->MakeVisible( EFalse );
-
-        // The node passed in wasn't a valid menu node
-        ResetMenuNodeL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::ResetMenuNodeL
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::ResetMenuNodeL()
-    {
-    iMenuNode = NULL;
-
-    iCbaContainer = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::IsMenuFocused
-// -----------------------------------------------------------------------------
-//
-TBool CXnKeyEventDispatcher::IsMenuFocused() const
-    {
-    CXnMenuAdapter* menuAdapter( MenuAdapter( iMenuNode ) );
-
-    if ( menuAdapter )
-        {
-        return menuAdapter->IsMenuFocused();
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::AddPassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::AddPassiveFocusedNodeL( CXnNode* aNode )
-    {
-    if ( !aNode->IsStateSet( XnPropertyNames::style::common::KFocus ) &&
-         !aNode->IsStateSet( XnPropertyNames::style::common::KPassiveFocus ) )
-        {
-        iPassiveFocusedNodes.AppendL( aNode );
-        aNode->SetStateL( XnPropertyNames::style::common::KPassiveFocus );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::RemovePassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::RemovePassiveFocusedNodeL( CXnNode* aNode )
-    {
-    for ( TInt i = 0; i < iPassiveFocusedNodes.Count(); i++ )
-        {
-        CXnNode* node( iPassiveFocusedNodes[i] );
-
-        if ( node == aNode )
-            {
-            iPassiveFocusedNodes.Remove( i );
-            
-            aNode->UnsetStateL( 
-                    XnPropertyNames::style::common::KPassiveFocus );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::AddPassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::ClearPassiveFocusedNodesL()
-    {
-    for ( TInt i = 0; i < iPassiveFocusedNodes.Count(); i++ )
-        {
-        iPassiveFocusedNodes[i]->UnsetStateL(
-            XnPropertyNames::style::common::KPassiveFocus );
-        }
-
-    iPassiveFocusedNodes.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::NotifyViewActivatedL
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::NotifyViewActivatedL(
-    const CXnViewData& /*aViewData*/ )
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::NotifyViewDeactivatedL
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::NotifyViewDeactivatedL(
-    const CXnViewData& /*aViewData*/ )
-    {    
-    iMenuNode = NULL;
-    ClearPassiveFocusedNodesL();
-    ClearStateL();
-    
-    iUiEngine.AppUiAdapter().HideFocus();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::NotifyWidgetAdditionL
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::NotifyWidgetAdditionL(
-    const CXnPluginData& /*aPluginData*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::NotifyWidgetRemovalL
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::NotifyWidgetRemovalL(
-    const CXnPluginData& aPluginData )
-    {
-    if ( aPluginData.Active() )
-        {
-        ClearPassiveFocusedNodesL();
-
-        if ( iNode )
-            {                              
-            CXnViewData& activeViewData(
-                iUiEngine.ViewManager()->ActiveViewData() );
-    
-            const CXnPluginData& pluginData(
-                activeViewData.Plugin( iNode ) );
-    
-            if ( &pluginData == &aPluginData )
-                {
-                // The plugin is removed which was holding focus
-                ClearStateL();
-                }
-            }
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CCXnKeyEventDispatcher::NotifyConfigureWidgetL
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::NotifyConfigureWidgetL( 
-    const CHsContentInfo& /*aContentInfo*/, CXnPluginData& /*aPluginData*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::ResolveAndSetFocusL
-// Used to bring focus visible in the initial location when focus is invisible
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::ResolveAndSetFocusL() 
-    {
-    // <plugin> elements are always kept in appearance order
-    RPointerArray< CXnNode >& list( *iUiEngine.Plugins() );
-    
-    if ( iUiEngine.IsEditMode() )
-        {               
-        SetInitialFocusL( list );        
-        }
-    else
-        {
-        RPointerArray< CXnNode > initial;
-        CleanupClosePushL( initial );
-        
-        CXnViewData& activeView( iUiEngine.ViewManager()->ActiveViewData() );
-
-        // first, search only in plugins which have popup window open
-        for ( TInt i = 0; i < list.Count(); i++ )
-            {
-            CXnPluginData& plugin( activeView.Plugin( list[i] ) );
-            if ( plugin.IsDisplayingPopup() )
-                {
-                plugin.InitialFocusNodesL( initial );
-                }
-            }
-        
-        // if no inital focus nodes were found in plugins with
-        // open popups, search again with all plugins
-        if ( initial.Count() == 0 )
-            {        
-            for ( TInt i = 0; i < list.Count(); i++ )
-                {
-                CXnPluginData& plugin( activeView.Plugin( list[i] ) );
-                plugin.InitialFocusNodesL( initial );
-                }
-            }
-        
-        // set initial focus
-        SetInitialFocusL( initial );
-        
-        CleanupStack::PopAndDestroy( &initial );        
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnKeyEventDispatcher::ClearStateL
-// -----------------------------------------------------------------------------
-//
-void CXnKeyEventDispatcher::ClearStateL()
-    {
-    SetNodeL( NULL );
-    
-    iNode = NULL;
-    iPreviousNode = NULL;
-    iKeyEventNode = NULL;
-    iFocusChanged = EFalse;
-    iEventCode = EEventNull;
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnlistquerydialogadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,364 +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:  List query dialog adapter and data interface
-*
-*/
-
-
-//  System includes
-#include <e32base.h>
-#include <aknlistquerydialog.h>
-#include <utf.h>
-#include <xnuiengine.rsg>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnlistquerydialogadapter.h"
-#include "xnnodepluginif.h"
-#include "xntype.h"
-#include "xnproperty.h"
-#include "xnuiengine.h"
-#include "xnodt.h"
-#include "xndomdocument.h"
-#include "xndomnode.h"
-#include "xndomlist.h"
-#include "xndomattribute.h"
-
-// ======== LOCAL FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// Finds recursively node by type
-// @return    returns pointer to desired node, NULL if nothing found 
-// ---------------------------------------------------------------------------
-//
-CXnDomNode* FindNodeByType( CXnDomNode* aNode, const TDesC8& aName )
-    {
-    if ( aNode == NULL )
-        {
-        return NULL;
-        }
-
-    if ( aNode->Name() == aName )
-        {
-        return aNode;
-        }
-
-    CXnDomList& list( aNode->ChildNodes() );
-
-    for ( TInt i = 0; i < list.Length() ; i++ )
-        {
-        CXnDomNode* retval( FindNodeByType(
-                static_cast< CXnDomNode* >( list.Item( i ) ), aName ) );
-
-        if ( retval )
-            {
-            return retval;
-            }
-        }
-
-    return NULL;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Symbian static 1st phase constructor
-// -----------------------------------------------------------------------------
-//
-CXnListQueryDialog* CXnListQueryDialog::NewL()
-    {
-    CXnListQueryDialog* self = new( ELeave ) CXnListQueryDialog;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;    
-    }
-
-// -----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnListQueryDialog::ConstructL()
-    {
-    CXnComponent::ConstructL();
-    }
-    
-// -----------------------------------------------------------------------------
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnListQueryDialog::CXnListQueryDialog()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// C++ destructor
-// -----------------------------------------------------------------------------
-//
-CXnListQueryDialog::~CXnListQueryDialog()
-    {
-    }
-    
-// ---------------------------------------------------------
-// Replaces or appends item into list
-// ---------------------------------------------------------
-//
-void CXnListQueryDialog::ReplaceItemL( const TDesC& aText, TInt aIndex )
-    {
-    (static_cast<CXnListQueryDialogAdapter*>(ControlAdapter()))->ReplaceItemL( aText, aIndex );
-    }
-
-// ---------------------------------------------------------
-// Inserts or appends item into list
-// ---------------------------------------------------------
-//
-void CXnListQueryDialog::InsertItemL( const TDesC& aText, TInt aIndex )
-    {
-    (static_cast<CXnListQueryDialogAdapter*>(ControlAdapter()))->InsertItemL( aText, aIndex );
-    }
-
-// ---------------------------------------------------------
-// Deletes item from the list
-// ---------------------------------------------------------
-//
-void CXnListQueryDialog::DeleteItem( TInt aIndex )
-    {
-    return (static_cast<CXnListQueryDialogAdapter*>(ControlAdapter()))->DeleteItem( aIndex );   
-    }
-
-// ---------------------------------------------------------
-// ---------------------------------------------------------
-XnComponentInterface::MXnComponentInterface* CXnListQueryDialog::MakeInterfaceL(const TDesC8& aType)
-    {
-    if (aType != XnListQueryDialogInterface::KType)
-        {
-        return NULL;
-        }
-    XnListQueryDialogInterface::MXnListQueryDialogInterface* interface =
-        static_cast<XnListQueryDialogInterface::MXnListQueryDialogInterface*>( this );
-    return interface;
-    }  
-
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-CXnListQueryDialogAdapter* CXnListQueryDialogAdapter::NewL( CXnNodePluginIf& aNode )
-    {
-    CXnListQueryDialogAdapter* self = 
-        new ( ELeave ) CXnListQueryDialogAdapter( aNode );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnListQueryDialogAdapter::~CXnListQueryDialogAdapter()
-    {
-    delete iItemArray;
-    iStaticItems.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-CXnListQueryDialogAdapter::CXnListQueryDialogAdapter( CXnNodePluginIf& aNode )
-    : iNode( aNode )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//    
-void CXnListQueryDialogAdapter::ConstructL()
-    {
-    CXnControlAdapter::ConstructL( iNode );
-    iItemArray = new ( ELeave ) CDesCArrayFlat( 8 );
-    // find normal menu items and dynamic menu items
-    // Only one dynamic item allowed
-    RPointerArray< CXnNodePluginIf > children( iNode.ChildrenL() );
-    CleanupClosePushL( children );
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNodePluginIf* node( children[i] );
-        if ( node->Type()->Type() == XnPropertyNames::menu::KMenuItem)
-            {
-            iStaticItems.AppendL( node );
-            CXnProperty* labelProp = node->GetPropertyL( XnPropertyNames::menu::KLabel );
-            if( labelProp )
-                {
-                HBufC* label( labelProp->StringValueL());
-                CleanupStack::PushL( label );
-                iItemArray->AppendL( *label );
-                CleanupStack::PopAndDestroy( label );
-                }
-            }
-        else if( node->Type()->Type() == XnPropertyNames::menu::KDynMenuItem )
-            {
-            iDynamicItem = node;
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// -----------------------------------------------------------------------------
-// Replaces or appends item into list
-// -----------------------------------------------------------------------------
-// 
-void CXnListQueryDialogAdapter::ReplaceItemL(const TDesC& aText, TInt aIndex )
-    {
-    aIndex += iStaticItems.Count();
-    TInt count( iItemArray->Count());
-    if( aIndex >= count )
-        {
-        iItemArray->AppendL( aText );
-        }
-    else
-        {
-        iItemArray->Delete( aIndex );
-        iItemArray->InsertL( aIndex, aText );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Inserts or appends item into list
-// -----------------------------------------------------------------------------
-// 
-void CXnListQueryDialogAdapter::InsertItemL(const TDesC& aText, TInt aIndex )
-    {
-    aIndex += iStaticItems.Count();
-    TInt count( iItemArray->Count());
-    if( count < aIndex )
-        {
-        aIndex = count;
-        }
-    iItemArray->InsertL( aIndex, aText );
-    }
-
-// -----------------------------------------------------------------------------
-// Deletes item from the list
-// -----------------------------------------------------------------------------
-// 
-void CXnListQueryDialogAdapter::DeleteItem( TInt aIndex )
-    {
-    aIndex += iStaticItems.Count();
-    if( aIndex < iItemArray->Count())
-        {
-        iItemArray->Delete( aIndex );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// Displays the list query dialog
-// -----------------------------------------------------------------------------
-//
-void CXnListQueryDialogAdapter::TryDisplayingDialogL( )
-    {
-    CXnAppUiAdapter& appui( static_cast< CXnAppUiAdapter& >( *iAvkonAppUi ) );
-    
-    appui.HideFocus();
-    
-    TInt selectedIndex( 0 );
-    
-    CAknListQueryDialog* query =
-       new ( ELeave ) CAknListQueryDialog( &selectedIndex );
-
-    query->PrepareLC( R_XML_LISTQUERY );
-/* Not tested
-    CAknPopupHeadingPane* heading( query->QueryHeading() );
-    if ( heading )
-        {
-        CXnProperty* prop( iNode.GetPropertyL(
-            XnPropertyNames::listquerydialog::KS60Heading ) );
-
-        if ( prop )
-            {
-            HBufC* header( prop->StringValueL() );
-            CleanupStack::Push( header );
-            heading->SetTextL( *header );
-            CleanupStack::PopAndDestroy( header );
-            }
-        else
-            {
-            heading->SetTextL( KNullDesC() );
-            }
-        }
-*/
-    query->SetItemTextArray( iItemArray );
-    query->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
-    if ( query->RunLD() )
-        {
-        ActivateItemL( selectedIndex );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Runs the activate event for the item node 
-// -----------------------------------------------------------------------------
-//
-void CXnListQueryDialogAdapter::ActivateItemL( TInt aIndex )
-    {
-    if( aIndex < iStaticItems.Count())
-        {
-        iStaticItems[aIndex]->Node().SetStateL( 
-                XnPropertyNames::style::common::KActive );
-        iStaticItems[aIndex]->Node().UnsetStateL( 
-                XnPropertyNames::style::common::KActive );
-        }
-    else
-        {
-        ModifyDynamicEventL( aIndex - iStaticItems.Count());
-        iDynamicItem->Node().SetStateL( 
-                        XnPropertyNames::style::common::KActive );
-        iDynamicItem->Node().UnsetStateL( 
-                XnPropertyNames::style::common::KActive );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Replaces the '#' char by index in event. Syntax "(#"
-// -----------------------------------------------------------------------------
-//
-void CXnListQueryDialogAdapter::ModifyDynamicEventL( TInt aIndex )
-    {
-    CXnDomNode* eventNode = FindNodeByType( iDynamicItem->Node().DomNode(), XnPropertyNames::action::KEvent );
-
-    CXnDomAttribute* attribute = static_cast<CXnDomAttribute*> 
-        (eventNode->AttributeList().FindByName( XnPropertyNames::action::event::KName ));
-    
-    HBufC8* nameStr( attribute->Value().AllocLC());
-    TPtr8 namePtr = nameStr->Des();
-    
-    TInt startIndex = namePtr.Locate( '(' );
-    TInt endIndex = namePtr.Locate( ')' );
-    TInt dataLength = endIndex - startIndex - 1;
-    
-    TBuf8<4> data;
-    data.AppendNum( aIndex );
-    namePtr.Replace( startIndex+1, dataLength, data );
-
-    attribute->SetValueL( namePtr );
-    CleanupStack::PopAndDestroy( nameStr );
-    }
-
-//  End of File
--- a/idlehomescreen/xmluirendering/uiengine/src/xnnode.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1140 +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:  Node of the layout tree
-*
-*/
-
-// INCLUDES
-#include "xnnode.h"
-#include "xnnodepluginif.h"
-#include "xnnodeappif.h"
-#include "xnnodeimpl.h"
-#include "xnviewsnodeimpl.h"
-#include "xnviewnodeimpl.h"
-#include "xncomponentnodeimpl.h"
-#include "xnproperty.h"
-#include "xntype.h"
-#include "xncomponent.h"
-#include "xnscrollablecontroladapter.h"
-
-_LIT8( KView, "view" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNode::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnNode::NewL()
-    {
-    CXnNode* self = new ( ELeave ) CXnNode;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::CXnNode()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnNode::CXnNode()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::~CXnNode()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnNode::~CXnNode()
-    {
-    delete iImpl;
-    delete iPluginIf;
-    delete iAppIf;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::Impl
-// -----------------------------------------------------------------------------
-//
-CXnNodeImpl* CXnNode::Impl()
-    {
-    return iImpl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::RootNodeImpl
-// -----------------------------------------------------------------------------
-//
-CXnNodeImpl* CXnNode::RootNodeImpl()
-    {
-    return iRootNodeImpl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ViewNodeImpl
-// -----------------------------------------------------------------------------
-//
-CXnViewNodeImpl* CXnNode::ViewNodeImpl()
-    {
-    return iViewNodeImpl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ComponentNodeImpl
-// -----------------------------------------------------------------------------
-//
-CXnComponentNodeImpl* CXnNode::ComponentNodeImpl()
-    {
-    return iComponentNodeImpl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetImpl
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetImpl( CXnNodeImpl* aImpl )
-    {
-    if ( aImpl )
-        {
-        delete iImpl;
-        iImpl = aImpl;
-        iImpl->SetNode( *this );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetRootNodeImpl
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetRootNodeImpl( CXnNodeImpl* aRootNodeImpl )
-    {
-    if ( aRootNodeImpl )
-        {
-        delete iImpl;
-        iRootNodeImpl = aRootNodeImpl;
-        iImpl = iRootNodeImpl;
-        iImpl->SetNode( *this );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetViewsNodeImpl
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetViewsNodeImpl( CXnViewsNodeImpl* aViewsNodeImpl )
-    {
-    if ( aViewsNodeImpl )
-        {
-        delete iImpl;
-        iViewsNodeImpl = aViewsNodeImpl;
-        iImpl = iViewsNodeImpl;
-        iImpl->SetNode( *this );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetViewNodeImpl
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetViewNodeImpl( CXnViewNodeImpl* aViewNodeImpl )
-    {
-    if ( aViewNodeImpl )
-        {
-        delete iImpl;
-        iViewNodeImpl = aViewNodeImpl;
-        iImpl = iViewNodeImpl;
-        iImpl->SetNode( *this );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetComponentNodeImpl
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetComponentNodeImpl( CXnComponentNodeImpl* aComponentNodeImpl )
-    {
-    if ( aComponentNodeImpl )
-        {
-        delete iImpl;
-        iComponentNodeImpl = aComponentNodeImpl;
-        iImpl = iComponentNodeImpl;
-        iImpl->SetNode( *this );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetDropped
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetDropped( const TInt aDropped )
-    {
-    iImpl->SetDropped( aDropped );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::IsDropped
-// -----------------------------------------------------------------------------
-//
-TInt CXnNode::IsDropped() const
-    {
-    return iImpl->IsDropped();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::Type()
-// Returns control type.
-// -----------------------------------------------------------------------------
-//
-CXnType* CXnNode::Type()
-    {
-    return iImpl->Type();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::Parent
-// Get component parent
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnNode::Parent() const
-    {
-    return iImpl->Parent();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetParent
-// Set component parent
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetParent( CXnNode& aParent )
-    {
-    iImpl->SetParent( aParent );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::AddChildL
-// Adds a child to this container.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::AddChildL( CXnNode* aChild )
-    {
-    if ( aChild )
-        {
-        iImpl->AddChildL( aChild );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::Children
-// -----------------------------------------------------------------------------
-//
-RPointerArray< CXnNode >& CXnNode::Children()
-    {
-    return iImpl->Children();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetPCDataL
-// -----------------------------------------------------------------------------
-void CXnNode::SetPCDataL( const TDesC8& aData )
-    {
-    iImpl->SetPCDataL( aData );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::GetPCData
-// -----------------------------------------------------------------------------
-const TDesC8& CXnNode::GetPCData() const
-    {
-    return iImpl->GetPCData();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetPropertyWithoutNotificationL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetPropertyWithoutNotificationL( CXnProperty* aProperty )
-    {
-    if ( aProperty )
-        {
-        iImpl->SetPropertyWithoutNotificationL( aProperty );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetPropertyL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetPropertyL( CXnProperty* aProperty )
-    {
-    if ( aProperty )
-        {
-        iImpl->SetPropertyL( aProperty );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetPropertyArrayL
-// Set a property array.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetPropertyArrayL( RPointerArray< CXnProperty >* aPropertyArray )
-    {
-    if ( aPropertyArray )
-        {
-        iImpl->SetPropertyArrayL( *aPropertyArray );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::InitializePropertyL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::InitializePropertyL( CXnProperty* aProperty )
-    {
-    if ( aProperty )
-        {
-        iImpl->InitializePropertyL( aProperty );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::GetProperty
-// Gets a property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNode::GetPropertyL( const TDesC8& aKey ) const
-    {
-    return iImpl->GetPropertyL( aKey );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetStateL
-// Set a state
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetStateL( const TDesC8& aState, TInt aSource )
-    {
-    iImpl->SetStateL( aState, aSource );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::IsStateSet
-// Check whether a state is set or not
-// -----------------------------------------------------------------------------
-//
-TBool CXnNode::IsStateSet( const TDesC8& aState )
-    {
-    return iImpl->IsStateSet( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetStateWithoutNotificationL
-// Set a state
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetStateWithoutNotificationL( const TDesC8& aState )
-    {
-    iImpl->SetStateWithoutNotificationL( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::UnsetState
-// Unset a pseudoclass
-// -----------------------------------------------------------------------------
-//
-void CXnNode::UnsetStateL( const TDesC8& aState )
-    {
-    iImpl->UnsetStateL( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetRect
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetRect( const TRect& aRect )
-    {
-    iImpl->SetRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::Rect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNode::Rect()
-    {
-    return iImpl->Rect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetBorderRect
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetBorderRect( const TRect& aRect )
-    {
-    iImpl->SetBorderRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::BorderRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNode::BorderRect()
-    {
-    return iImpl->BorderRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetNormalFlowBorderRect
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetNormalFlowBorderRect( const TRect& aRect )
-    {
-    iImpl->SetNormalFlowBorderRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::NormalFlowBorderRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNode::NormalFlowBorderRect()
-    {
-    return iImpl->NormalFlowBorderRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetMarginRect
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetMarginRect( const TRect& aRect )
-    {
-    iImpl->SetMarginRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::MarginRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNode::MarginRect()
-    {
-    return iImpl->MarginRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetPaddingRect
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetPaddingRect( const TRect& aRect )
-    {
-    iImpl->SetPaddingRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::PaddingRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNode::PaddingRect()
-    {
-    return iImpl->PaddingRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetUiEngine
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetUiEngine( CXnUiEngine& aEngine )
-    {
-    iImpl->SetUiEngine( aEngine );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::UiEngine
-// -----------------------------------------------------------------------------
-//
-CXnUiEngine* CXnNode::UiEngine()
-    {
-    return iImpl->UiEngine();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ReportXuikonEventL
-// -----------------------------------------------------------------------------
-//
-TBool CXnNode::ReportXuikonEventL( CXnNode& aEventData, TInt aSource )
-    {
-    return iImpl->ReportXuikonEventL( aEventData, aSource );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-void CXnNode::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    iImpl->OfferKeyEventL( aKeyEvent, aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetLayoutCapable
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetLayoutCapable( const TBool aLayoutCapable )
-    {
-    iImpl->SetLayoutCapable( aLayoutCapable );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetLayoutCapable
-// -----------------------------------------------------------------------------
-//
-TBool CXnNode::IsLayoutCapable() const
-    {
-    return iImpl->IsLayoutCapable();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetRenderedL
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetRenderedL()
-    {
-    iImpl->SetRenderedL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetLaidOutL
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetLaidOutL()
-    {
-    iImpl->SetLaidOutL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::IsLaidOut
-// -----------------------------------------------------------------------------
-//
-TBool CXnNode::IsLaidOut() const
-    {
-    return iImpl->IsLaidOut();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ClearRenderedAndLaidOut
-// -----------------------------------------------------------------------------
-//
-void CXnNode::ClearRenderedAndLaidOut()
-    {
-    iImpl->ClearRenderedAndLaidOut();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::PluginIfL
-// Get node plugin interface
-// -----------------------------------------------------------------------------
-//
-CXnNodePluginIf& CXnNode::PluginIfL()
-    {
-    if ( iPluginIf )
-        {
-        return *iPluginIf;
-        }
-    else
-        {
-        iPluginIf = new ( ELeave ) CXnNodePluginIf( *this );
-        return *iPluginIf;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::AppIfL
-// Get node plugin interface
-// -----------------------------------------------------------------------------
-//
-CXnNodeAppIf& CXnNode::AppIfL()
-    {
-    if ( iAppIf )
-        {
-        return *iAppIf;
-        }
-    else
-        {
-        iAppIf = new ( ELeave ) CXnNodeAppIf( *this );
-        return *iAppIf;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::MakeInterfaceL
-// Create a component interface according to the given type.
-// -----------------------------------------------------------------------------
-//
-XnComponentInterface::MXnComponentInterface* CXnNode::MakeInterfaceL(
-    const TDesC8& aType )
-    {
-    return iImpl->MakeInterfaceL( aType );
-    }
-
-CXnProperty* CXnNode::WidthL()
-    {
-    return iImpl->WidthL();
-    }
-
-CXnProperty* CXnNode::HeightL()
-    {
-    return iImpl->HeightL();
-    }
-
-CXnProperty* CXnNode::MarginLeftL()
-    {
-    return iImpl->MarginLeftL();
-    }
-
-CXnProperty* CXnNode::MarginRightL()
-    {
-    return iImpl->MarginRightL();
-    }
-
-CXnProperty* CXnNode::BorderLeftL()
-    {
-    return iImpl->BorderLeftL();
-    }
-
-CXnProperty* CXnNode::BorderRightL()
-    {
-    return iImpl->BorderRightL();
-    }
-
-CXnProperty* CXnNode::PaddingLeftL()
-    {
-    return iImpl->PaddingLeftL();
-    }
-
-CXnProperty* CXnNode::PaddingRightL()
-    {
-    return iImpl->PaddingRightL();
-    }
-
-CXnProperty* CXnNode::MarginTopL()
-    {
-    return iImpl->MarginTopL();
-    }
-
-CXnProperty* CXnNode::MarginBottomL()
-    {
-    return iImpl->MarginBottomL();
-    }
-
-CXnProperty* CXnNode::BorderTopL()
-    {
-    return iImpl->BorderTopL();
-    }
-
-CXnProperty* CXnNode::BorderBottomL()
-    {
-    return iImpl->BorderBottomL();
-    }
-
-CXnProperty* CXnNode::PaddingTopL()
-    {
-    return iImpl->PaddingTopL();
-    }
-
-CXnProperty* CXnNode::PaddingBottomL()
-    {
-    return iImpl->PaddingBottomL();
-    }
-
-CXnProperty* CXnNode::BorderWidthL()
-    {
-    return iImpl->BorderWidthL();
-    }
-
-CXnProperty* CXnNode::BlockProgressionL()
-    {
-    return iImpl->BlockProgressionL();
-    }
-
-CXnProperty* CXnNode::DirectionL()
-    {
-    return iImpl->DirectionL();
-    }
-
-CXnProperty* CXnNode::PositionL()
-    {
-    return iImpl->PositionL();
-    }
-
-CXnProperty* CXnNode::MaxHeightL()
-    {
-    return iImpl->MaxHeightL();
-    }
-
-CXnProperty* CXnNode::MinHeightL()
-    {
-    return iImpl->MinHeightL();
-    }
-
-CXnProperty* CXnNode::MaxWidthL()
-    {
-    return iImpl->MaxWidthL();
-    }
-
-CXnProperty* CXnNode::MinWidthL()
-    {
-    return iImpl->MinWidthL();
-    }
-
-CXnProperty* CXnNode::DisplayL()
-    {
-    return iImpl->DisplayL();
-    }
-
-CXnProperty* CXnNode::VisibilityL()
-    {
-    return iImpl->VisibilityL();
-    }
-
-CXnProperty* CXnNode::LeftL()
-    {
-    return iImpl->LeftL();
-    }
-
-CXnProperty* CXnNode::RightL()
-    {
-    return iImpl->RightL();
-    }
-
-CXnProperty* CXnNode::TopL()
-    {
-    return iImpl->TopL();
-    }
-
-CXnProperty* CXnNode::BottomL()
-    {
-    return iImpl->BottomL();
-    }
-
-CXnProperty* CXnNode::BorderLeftStyleL()
-    {
-    return iImpl->BorderLeftStyleL();
-    }
-
-CXnProperty* CXnNode::BorderRightStyleL()
-    {
-    return iImpl->BorderRightStyleL();
-    }
-
-CXnProperty* CXnNode::BorderTopStyleL()
-    {
-    return iImpl->BorderTopStyleL();
-    }
-
-CXnProperty* CXnNode::BorderBottomStyleL()
-    {
-    return iImpl->BorderBottomStyleL();
-    }
-
-CXnProperty* CXnNode::BorderStyleL()
-    {
-    return iImpl->BorderStyleL();
-    }
-
-CXnProperty* CXnNode::BorderImageL()
-    {
-    return iImpl->BorderImageL();
-    }
-
-CXnProperty* CXnNode::DisplayPriorityL()
-    {
-    return iImpl->DisplayPriorityL();
-    }
-
-CXnProperty* CXnNode::NameL()
-    {
-    return iImpl->NameL();
-    }
-
-CXnProperty* CXnNode::ValueL()
-    {
-    return iImpl->ValueL();
-    }
-
-CXnProperty* CXnNode::LabelL()
-    {
-    return iImpl->LabelL();
-    }
-
-CXnProperty* CXnNode::InitialFocusL()
-    {
-    return iImpl->InitialFocusL();
-    }
-
-CXnProperty* CXnNode::ClassL()
-    {
-    return iImpl->ClassL();
-    }
-
-CXnProperty* CXnNode::IdL()
-    {
-    return iImpl->IdL();
-    }
-CXnProperty* CXnNode::PathL()
-    {
-    return iImpl->PathL();
-    }
-CXnProperty* CXnNode::MaskPathL()
-    {
-    return iImpl->MaskPathL();
-    }
-
-CXnProperty* CXnNode::NavIndexL()
-    {
-    return iImpl->NavIndexL();
-    }
-
-CXnProperty* CXnNode::VisibleRowsL()
-    {
-    return iImpl->VisibleRowsL();
-    }
-
-CXnProperty* CXnNode::GridColumnsL()
-    {
-    return iImpl->GridColumnsL();
-    }
-
-CXnProperty* CXnNode::GridOrientationL()
-    {
-    return iImpl->GridOrientationL();
-    }
-
-CXnProperty* CXnNode::GridVerDirectionL()
-    {
-    return iImpl->GridVerDirectionL();
-    }
-
-CXnProperty* CXnNode::GridHorDirectionL()
-    {
-    return iImpl->GridHorDirectionL();
-    }
-
-CXnProperty* CXnNode::FocusHorLoopingL()
-    {
-    return iImpl->FocusHorLoopingL();
-    }
-
-CXnProperty* CXnNode::FocusVerLoopingL()
-    {
-    return iImpl->FocusVerLoopingL();
-    }
-
-CXnProperty* CXnNode::ZIndexL()
-    {
-    return iImpl->ZIndexL();
-    }
-
-CXnProperty* CXnNode::BackgroundColorL()
-    {
-    return iImpl->BackgroundColorL();
-    }
-
-CXnProperty* CXnNode::BackgroundImageL()
-    {
-    return iImpl->BackgroundImageL();
-    }
-
-CXnProperty* CXnNode::FocusBackgroundL()
-    {
-    return iImpl->FocusBackgroundL();
-    }
-
-CXnProperty* CXnNode::RefL()
-    {
-    return iImpl->RefL();
-    }
-
-CXnProperty* CXnNode::GridScrollBarMarginL()
-    {
-    return iImpl->GridScrollBarMarginL();
-    }
-
-CXnProperty* CXnNode::GridScrollBarWidthL()
-    {
-    return iImpl->GridScrollBarWidthL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetDomNode
-// Sets the DOM node pointer
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetDomNode( CXnDomNode* aDomNode )
-    {
-    if ( aDomNode )
-        {
-        iImpl->SetDomNode( aDomNode );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::DomNode
-// Returns the DOM node pointer
-// -----------------------------------------------------------------------------
-//
-CXnDomNode* CXnNode::DomNode()
-    {
-    return iImpl->DomNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetHandleTooltip
-// Sets handle tooltip flag.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetHandleTooltip( TBool aFlag )
-    {
-    iImpl->SetHandleTooltip( aFlag );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::MeasureAdaptiveContentL
-// Measures the adaptive content dimensions.
-// -----------------------------------------------------------------------------
-//
-TSize CXnNode::MeasureAdaptiveContentL( const TSize& aAvailableSize )
-    {
-    return iImpl->MeasureAdaptiveContentL( aAvailableSize );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::IsAdaptive
-// Checks if the node has adaptive content
-// -----------------------------------------------------------------------------
-//
-TInt CXnNode::IsAdaptive( TBool aIgnoreSizeFixed ) const
-    {
-    return iImpl->IsAdaptive( aIgnoreSizeFixed );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetAdaptiveL
-// Marks the node as content based.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetAdaptiveL( const TInt aAdaptive )
-    {
-    iImpl->SetAdaptiveL( aAdaptive );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::FixAdaptiveSizeL
-// Marks the node as content based.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::FixAdaptiveSizeL( const TSize& aFixedSize )
-    {
-    iImpl->FixAdaptiveSizeL( aFixedSize );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::RestartTimedTrigger
-// Restarts the timed trigger.
-// -----------------------------------------------------------------------------
-//
-void CXnNode::RestartTimedTrigger( TInt aDelay )
-    {
-    CPeriodic* timer = iImpl->PeriodicTimer();
-    if ( timer )
-        {
-        if ( timer->IsActive() )
-            {
-            timer->Cancel();
-            if ( aDelay > 0 )
-                {
-                timer->After( aDelay );
-                }
-            else
-                {
-                iImpl->DeletePeriodic();
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetTriggerDelay
-// Sets default trigger delay
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetTriggerDelay( TTimeIntervalMicroSeconds32 aDelay )
-    {
-    iTriggerDelay = aDelay;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::TriggerDelay
-// Returns default trigger delay
-// -----------------------------------------------------------------------------
-//
-TTimeIntervalMicroSeconds32 CXnNode::TriggerDelay()
-    {
-    return iTriggerDelay;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetDirtyL
-// Marks the node dirty
-// -----------------------------------------------------------------------------
-//
-void CXnNode::SetDirtyL( TInt aLevel, TBool aDisplayedState )
-    {
-    iImpl->SetDirtyL( aLevel, aDisplayedState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::RunFocusChangeL
-// Runs focus change
-// -----------------------------------------------------------------------------
-//
-TBool CXnNode::RunFocusChangeL( RPointerArray< CXnNode >& aFocusCandidates )
-    {
-    return iImpl->RunFocusChangeL( aFocusCandidates );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ReorderNodesL
-// -----------------------------------------------------------------------------
-//
-void CXnNode::ReorderNodesL( CXnNode* aSource, CXnNode* aTarget )
-    {
-    if ( aSource && aTarget )
-        {
-        iImpl->ReorderNodesL( aSource, aTarget );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::FindViewNode
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnNode::FindViewNode()
-    {
-    CXnNode* tmp = NULL;
-    tmp = Parent();
-    while( tmp )
-        {
-        if ( tmp->Type()->Type() == KView )
-            {
-            break;
-            }
-        else
-            {
-            tmp = tmp->Parent();
-            }
-        }
-    return tmp;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ShowTooltipsL
-// -----------------------------------------------------------------------------
-//
-void CXnNode::ShowTooltipsL()
-    {
-    if ( IsStateSet( XnPropertyNames::action::trigger::name::KFocus ) )
-        {
-        iImpl->HidePopupsL();
-        iImpl->ShowPopupsL( Rect() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::HideTooltipsL
-// -----------------------------------------------------------------------------
-//
-void CXnNode::HideTooltipsL()
-    {
-    iImpl->HidePopupsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::Namespace
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CXnNode::Namespace()
-    {
-    return iImpl->Namespace();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ControlL
-// -----------------------------------------------------------------------------
-//
-CXnControlAdapter* CXnNode::Control() const
-    {
-    CXnComponent* component( NULL );
-
-    if ( iViewNodeImpl )
-        {
-        component = iViewNodeImpl->Component();
-        }
-    else if ( iComponentNodeImpl )
-        {
-        component = iComponentNodeImpl->Component();
-        }
-
-    if ( component )
-        {
-        return component->ControlAdapter();
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::SetScrollableControl()
-// -----------------------------------------------------------------------------
-//      
-void CXnNode::SetScrollableControl( CXnScrollableControlAdapter* aScrollableControl )
-    {
-    iImpl->SetScrollableControl( aScrollableControl );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNode::ScrollableControl()
-// -----------------------------------------------------------------------------
-//      
-CXnScrollableControlAdapter* CXnNode::ScrollableControl()
-    {
-    return iImpl->ScrollableControl();
-    }
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xnnodeappif.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +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:  Node of the layout tree
-*
-*/
-
-// INCLUDES
-#include "xnnode.h"
-#include "xnnodeappif.h"
-#include "xntype.h"
-#include "xnuiengine.h"
-#include "xndomnode.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::CXnNodeAppIf()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnNodeAppIf::CXnNodeAppIf( CXnNode& aNode )
-    {
-    iNode = &aNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::Type()
-// Returns control type.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnType* CXnNodeAppIf::Type()
-    {
-    return iNode->Type();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::SetPCDataL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodeAppIf::SetPCDataL( const TDesC8& aData )
-    {
-    iNode->SetPCDataL( aData );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::GetPCData
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnNodeAppIf::GetPCData() const
-    {
-    return iNode->GetPCData();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::SetPropertyL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodeAppIf::SetPropertyL( CXnProperty* aProperty )
-    {
-    iNode->SetPropertyL( aProperty );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::SetPropertyArrayL
-// Set a property array.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodeAppIf::SetPropertyArrayL(
-    RPointerArray< CXnProperty >* aPropertyArray )
-    {
-    iNode->SetPropertyArrayL( aPropertyArray );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::GetProperty
-// Gets a property.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodeAppIf::GetPropertyL( CXnProperty& /*aProperty*/ ) const
-    {
-    return NULL;//return iNode->GetPropertyL(aProperty);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::GetProperty
-// Gets a property.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodeAppIf::GetPropertyL( const TDesC8& aKey ) const
-    {
-    return iNode->GetPropertyL( aKey );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::SetStateL
-// Set a state
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodeAppIf::SetStateL( const TDesC8& aState )
-    {
-    iNode->SetStateL( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::IsStateSet
-// Check whether a state is set or not
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnNodeAppIf::IsStateSet( const TDesC8& aState )
-    {
-    return iNode->IsStateSet( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::UnsetState
-// Unset a pseudoclass
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodeAppIf::UnsetStateL( const TDesC8& aState )
-    {
-    iNode->UnsetStateL( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::Rect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CXnNodeAppIf::Rect()
-    {
-    return iNode->Rect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::BorderRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CXnNodeAppIf::BorderRect()
-    {
-    return iNode->BorderRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::MarginRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CXnNodeAppIf::MarginRect()
-    {
-    return iNode->MarginRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::PaddingRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CXnNodeAppIf::PaddingRect()
-    {
-    return iNode->PaddingRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::UiEngine
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TXnUiEngineAppIf* CXnNodeAppIf::UiEngineL()
-    {
-    return &(iNode->UiEngine()->AppIfL());
-    }
-
-// -----------------------------------------------------------------------------
-// Get internal node
-// -----------------------------------------------------------------------------
-//
-CXnNode& CXnNodeAppIf::Node()
-    {
-    return *iNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::MakeInterfaceL
-// Create a component interface according to the given type.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C XnComponentInterface::MXnComponentInterface* CXnNodeAppIf::MakeInterfaceL(
-    const TDesC8& aType )
-    {
-    return iNode->MakeInterfaceL( aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::Children
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray< CXnNodeAppIf > CXnNodeAppIf::ChildrenL()
-    {
-    RPointerArray< CXnNode >& nodes = iNode->Children();
-    RPointerArray< CXnNodeAppIf > appNodes;
-    CleanupClosePushL( appNodes );
-    TInt count = nodes.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        appNodes.AppendL( &nodes[i]->AppIfL() );
-        }
-    CleanupStack::Pop( &appNodes );
-    // Compiler will generate bitwise copy ctor, thus
-    // caller of this function must call reset or close for copied RPointerArrays,
-    // which is very nasty thing to do...
-    return appNodes;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::ParentL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodeAppIf* CXnNodeAppIf::ParentL() const
-    {
-    CXnNode* parent = iNode->Parent();
-    if ( !parent )
-        {
-        return NULL;
-        }
-    return &( parent->AppIfL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::InternalDomNodeType
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnNodeAppIf::InternalDomNodeType() const
-    {
-    CXnDomNode* node = iNode->DomNode();
-    if ( node )
-        {
-        return node->Name();
-        }
-    return KNullDesC8;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::ShowTooltipsL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodeAppIf::ShowTooltipsL()
-    {
-    iNode->ShowTooltipsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::HideTooltipsL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodeAppIf::HideTooltipsL()
-    {
-    iNode->HideTooltipsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeAppIf::Namespace
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnNodeAppIf::Namespace()
-    {
-    CXnDomNode* node = iNode->DomNode();
-    if ( node )
-        {
-        return node->Namespace();
-        }
-    return KNullDesC8;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10412 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Implementation part of bridge pattern in CXnNode
-*
-*/
-
-// System includes
-#include <AknUtils.h>
-#include <utf.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-// User includes
-#include "xnnodeimpl.h"
-#include "xnnode.h"
-#include "xnpropertylist.h"
-#include "xnproperty.h"
-#include "xnuiengine.h"
-#include "xnappuiadapter.h"
-#include "xncontroladapter.h"
-#include "xnpopupcontroladapter.h"
-#include "xnmenuadapter.h"
-#include "xndomlist.h"
-#include "xndomdocument.h"
-#include "xnpointerarray.h"
-#include "xnodt.h"
-#include "xntype.h"
-#include "xndomnode.h"
-#include "xndomattribute.h"
-#include "xndompropertyvalue.h"
-#include "xnpopup.h"
-#include "c_xnutils.h"
-#include "xneditmode.h"
-#include "xneditor.h"
-#include "xntext.h"
-#include "xnhittest.h"
-#include "xnscrollablecontroladapter.h"
-#include "xnviewdata.h"
-#include "xnpanic.h"
-#include "xnlistquerydialogadapter.h"
-#include "xneffectmanager.h"
-#include "xnviewadapter.h"
-#include "xnbackgroundmanager.h"
-
-// Local constants
-_LIT8( KRef, "ref" );
-_LIT8( KId, "id" );
-_LIT8( KName, "name" );
-_LIT8( KToolTip, "tooltip" );
-_LIT8( KMenuBar, "menubar" );
-
-_LIT8( KActionsHandler, "actionshandler" );
-
-const TReal KS60ScrollbarDefaultWidth = 1.5;
-const TReal KS60ScrollbarDefaultMargin = 0.25;
-const TReal KS60ScrollbarDefaultWidthPenEnabled = 3;
-const TReal KS60ScrollbarDefaultMarginPenEnabled = 0.5;
-const TInt KUnitMaxLen = 2;
-const TInt KOneView = 1;
-
-_LIT8( KPseudoClassFocus, "focus" );
-_LIT8( KPseudoClassPressedDown, "presseddown" );
-_LIT8( KPseudoClassPassiveFocus, "passivefocus" );
-_LIT8( KPseudoClassHold, "hold" );
-_LIT8( KPseudoClassHover, "hover" );
-_LIT8( KPseudoClassLink, "link" );
-_LIT8( KPseudoClassVisited, "visited" );
-_LIT8( KPseudoClassActive, "active" );
-_LIT8( KPseudoClassEdit, "edit" );
-
-_LIT8( KCompound, "compound" );
-_LIT8( KTrue, "true" );
-_LIT8( KDisplay, "display" );
-_LIT8( KBlock, "block" );
-_LIT8( KNone, "none" );
-_LIT8( KGainEnd, "gainend" );
-_LIT8( KLoseEnd, "loseend" );
-
-// Local classes
-struct TXnTimedTrigger
-    {
-    CXnNodeImpl* iNodeImpl;
-    CXnUiEngine* iEngine;
-    CXnNode* iNode;
-    CXnNode* iEventData;
-    CXnDomNode* iActionNode;
-    CXnDomNode* iTriggerNode;
-    };
-
-struct CGridPropertyCache : public CBase
-    {
-    CXnProperty* iVisibleRows;
-    CXnProperty* iGridColumns;
-    CXnProperty* iGridOrientation;
-    CXnProperty* iGridVerDirection;
-    CXnProperty* iGridHorDirection;
-    CXnProperty* iFocusHorLooping;
-    CXnProperty* iFocusVerLooping;
-    CXnProperty* iGridScrollBarWidth;
-    CXnProperty* iGridScrollBarMargin;
-    };
-
-struct CLayoutPropertyCache : public CBase
-    {
-    CLayoutPropertyCache() :
-        iWidths( 1 ),
-        iHeights( 1 ),
-        iMarginLefts( 1 ),
-        iMarginRights( 1 ),
-        iBorderLefts( 1 ),
-        iBorderRights( 1 ),
-        iPaddingLefts( 1 ),
-        iPaddingRights( 1 ),
-        iMarginTops( 1 ),
-        iMarginBottoms( 1 ),
-        iBorderTops( 1 ),
-        iBorderBottoms( 1 ),
-        iPaddingTops( 1 ),
-        iPaddingBottoms( 1 ),
-        iBorderWidths( 1 ),
-        iBlockProgressions( 1 ),
-        iDirections( 1 ),
-        iPositions( 1 ),
-        iMaxHeights( 1 ),
-        iMinHeights( 1 ),
-        iMaxWidths( 1 ),
-        iMinWidths( 1 ),
-        iDisplays( 2 ),
-        iVisibilities( 1 ),
-        iLefts( 1 ),
-        iRights( 1 ),
-        iTops( 1 ),
-        iBottoms( 1 ),
-        iBorderLeftStyles( 1 ),
-        iBorderRightStyles( 1 ),
-        iBorderTopStyles( 1 ),
-        iBorderBottomStyles( 1 ),
-        iBorderStyles( 1 ),
-        iDisplayPriorities( 1 ),
-        iNavIndexes( 1 ),
-        iBackgroundColors( 1 ),
-        iBackgroundImages( 1 ),
-        iFocusBackgrounds( 2 )
-            {
-            }
-
-    ~CLayoutPropertyCache()
-        {
-        iWidths.Reset();
-        iHeights.Reset();
-        iMarginLefts.Reset();
-        iMarginRights.Reset();
-        iBorderLefts.Reset();
-        iBorderRights.Reset();
-        iPaddingLefts.Reset();
-        iPaddingRights.Reset();
-        iMarginTops.Reset();
-        iMarginBottoms.Reset();
-        iBorderTops.Reset();
-        iBorderBottoms.Reset();
-        iPaddingTops.Reset();
-        iPaddingBottoms.Reset();
-        iBorderWidths.Reset();
-        iBlockProgressions.Reset();
-        iDirections.Reset();
-        iPositions.Reset();
-        iMaxHeights.Reset();
-        iMinHeights.Reset();
-        iMaxWidths.Reset();
-        iMinWidths.Reset();
-        iDisplays.Reset();
-        iVisibilities.Reset();
-        iLefts.Reset();
-        iRights.Reset();
-        iTops.Reset();
-        iBottoms.Reset();
-        iBorderLeftStyles.Reset();
-        iBorderRightStyles.Reset();
-        iBorderTopStyles.Reset();
-        iBorderBottomStyles.Reset();
-        iBorderStyles.Reset();
-        iDisplayPriorities.Reset();
-        iNavIndexes.Reset();
-        iBackgroundColors.Reset();
-        iZIndexes.Reset();
-        iBackgroundImages.Reset();
-        iFocusBackgrounds.Reset();
-        }
-
-    CXnProperty* iWidth;
-    RPointerArray< CXnProperty > iWidths;
-    CXnProperty* iHeight;
-    RPointerArray< CXnProperty > iHeights;
-    CXnProperty* iMarginLeft;
-    RPointerArray< CXnProperty > iMarginLefts;
-    CXnProperty* iMarginRight;
-    RPointerArray< CXnProperty > iMarginRights;
-    CXnProperty* iBorderLeft;
-    RPointerArray< CXnProperty > iBorderLefts;
-    CXnProperty* iBorderRight;
-    RPointerArray< CXnProperty > iBorderRights;
-    CXnProperty* iPaddingLeft;
-    RPointerArray< CXnProperty > iPaddingLefts;
-    CXnProperty* iPaddingRight;
-    RPointerArray< CXnProperty > iPaddingRights;
-    CXnProperty* iMarginTop;
-    RPointerArray< CXnProperty > iMarginTops;
-    CXnProperty* iMarginBottom;
-    RPointerArray< CXnProperty > iMarginBottoms;
-    CXnProperty* iBorderTop;
-    RPointerArray< CXnProperty > iBorderTops;
-    CXnProperty* iBorderBottom;
-    RPointerArray< CXnProperty > iBorderBottoms;
-    CXnProperty* iPaddingTop;
-    RPointerArray< CXnProperty > iPaddingTops;
-    CXnProperty* iPaddingBottom;
-    RPointerArray< CXnProperty > iPaddingBottoms;
-    CXnProperty* iBorderWidth;
-    RPointerArray< CXnProperty > iBorderWidths;
-    CXnProperty* iBlockProgression;
-    RPointerArray< CXnProperty > iBlockProgressions;
-    CXnProperty* iDirection;
-    RPointerArray< CXnProperty > iDirections;
-    CXnProperty* iPosition;
-    RPointerArray< CXnProperty > iPositions;
-    CXnProperty* iMaxHeight;
-    RPointerArray< CXnProperty > iMaxHeights;
-    CXnProperty* iMinHeight;
-    RPointerArray< CXnProperty > iMinHeights;
-    CXnProperty* iMaxWidth;
-    RPointerArray< CXnProperty > iMaxWidths;
-    CXnProperty* iMinWidth;
-    RPointerArray< CXnProperty > iMinWidths;
-    CXnProperty* iDisplay;
-    RPointerArray< CXnProperty > iDisplays;
-    CXnProperty* iVisibility;
-    RPointerArray< CXnProperty > iVisibilities;
-    CXnProperty* iLeft;
-    RPointerArray< CXnProperty > iLefts;
-    CXnProperty* iRight;
-    RPointerArray< CXnProperty > iRights;
-    CXnProperty* iTop;
-    RPointerArray< CXnProperty > iTops;
-    CXnProperty* iBottom;
-    RPointerArray< CXnProperty > iBottoms;
-    CXnProperty* iBorderLeftStyle;
-    RPointerArray< CXnProperty > iBorderLeftStyles;
-    CXnProperty* iBorderRightStyle;
-    RPointerArray< CXnProperty > iBorderRightStyles;
-    CXnProperty* iBorderTopStyle;
-    RPointerArray< CXnProperty > iBorderTopStyles;
-    CXnProperty* iBorderBottomStyle;
-    RPointerArray< CXnProperty > iBorderBottomStyles;
-    CXnProperty* iBorderStyle;
-    RPointerArray< CXnProperty > iBorderStyles;
-    CXnProperty* iBorderImage;
-    CXnProperty* iDisplayPriority;
-    RPointerArray< CXnProperty > iDisplayPriorities;
-    CXnProperty* iNavIndex;
-    RPointerArray< CXnProperty > iNavIndexes;
-    CXnProperty* iZIndex;
-    RPointerArray< CXnProperty > iZIndexes;
-    CXnProperty* iBackgroundColor;
-    RPointerArray< CXnProperty > iBackgroundColors;
-    CXnProperty* iBackgroundImage;
-    RPointerArray< CXnProperty > iBackgroundImages;
-    CXnProperty* iFocusBackground;
-    RPointerArray< CXnProperty > iFocusBackgrounds;
-    };
-
-// Local function prototypes
-static TBool IsTriggerRunnableL( CXnDomNode& aTriggerNode );
-static CXnNode* RefNodeL(
-    CXnNodeImpl* aThis, CXnProperty* aRef, CXnUiEngine* aUiEngine );
-static const TDesC8* CheckRefAttributeL( CXnProperty* aRef );
-static TBool DoMatchTriggerForKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType,
-    CXnDomNode& aTriggerNode );
-static void GetFocusCandidatesL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnDomNode& aEventNode,
-    RPointerArray< CXnNode >& aFocusCandidates );
-static void RunAppUiNotificationL( CXnUiEngine& aEngine, CXnNode& aNode,
-    CXnDomNode& aEventNode, CXnDomNode& aTriggerNode, CXnNode& aEventData );
-static void RunAppExit( CXnUiEngine& aEngine );
-static void RunFullScreenEffectL(
-    CXnUiEngine& aEngine, CXnDomNode& aEventNode );
-static void RunActivateViewL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnDomNode& aEventNode );
-static void RunActivateNextViewL( CXnUiEngine& aEngine );
-static void RunActivatePreviousViewL( CXnUiEngine& aEngine );
-static void RunAddViewL( CXnUiEngine& aEngine );
-static void RunRemoveViewL( CXnUiEngine& aEngine );
-static void RunActivateL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnDomNode& aEventNode );
-static void RunDeactivateL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnDomNode& aEventNode );
-static void RunSystemSetPCDataL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, const TDesC8& aId,
-    const TDesC8& aData );
-static void GetNumberValues( const TDesC8& aData, TReal& aNumber,
-    CXnDomPropertyValue::TPrimitiveValueType& aValueType );
-static void RunSystemSetNumberL( CXnUiEngine& aEngine, CXnNode* aNode,
-    const TDesC8& aName, const RPointerArray< HBufC8 >& aValues );
-static void RunSystemSetRGBL( CXnUiEngine& aEngine, CXnNode* aNode,
-    const TDesC8& aName, const RPointerArray< HBufC8 >& aValues );
-static void RunSystemSetStringL(
-    CXnUiEngine& aEngine, CXnNode* aNode, const TDesC8& aName,
-    const RPointerArray< HBufC8 >& aValues,
-    const CXnDomPropertyValue::TPrimitiveValueType aValueType );
-static void GetSystemSetDataL( CXnDomNode& aDomNode, HBufC8*& aId,
-    const TDesC8** aPseudoClass = NULL, const TDesC8** aName = NULL,
-    RPointerArray< HBufC8 >* aValues = NULL, const TDesC8** aType = NULL,
-    TBool aSettings = EFalse, const TDesC8& aProvidedId = KNullDesC8,
-    const TDesC8** aClassId = NULL );
-static void RunSystemSetL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnDomNode& aEventNode,
-    TBool aSettings = EFalse, const TDesC8& aId = KNullDesC8 );
-static void RunTryDisplayingMenuL(
-    CXnUiEngine& aEngine, CXnDomNode& aEventNode );
-static void RunTryDisplayingStylusPopupL(
-    CXnNodeImpl* aThis, CXnNode& aNode, CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode );
-static void RunTryDisplayingListQueryDialogL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnDomNode& aEventNode );
-static void RunSetInitialFocusL( CXnUiEngine& aEngine );
-static void ResolveTriggerDelayL(
-    CXnUiEngine& aEngine, CXnDomNode& aNode, TInt& aDelay );
-static TBool RunEventL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode,
-    CXnDomNode& aEventNode, CXnDomNode& aTriggerNode, CXnNode& aEventData );
-static void RunEventsL( CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode,
-    CXnDomNode& aActionNode, CXnDomNode& aTriggerNode, CXnNode& aEventData );
-static TBool DoMatchTriggerForHighLevelKeyEventL( CXnNode& aNode,
-    const TKeyEvent& aKeyEvent, TEventCode aType, const TDesC8& highLevelKey );
-static TBool MatchTriggerForKeyEventL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode,
-    const TKeyEvent& aKeyEvent, TEventCode aType,
-    CXnDomNode& aActionNode, CXnDomNode& aTriggerNode );
-static TBool MatchTriggerForEventL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode,
-    CXnNode& aEventData, CXnDomNode& aActionNode, CXnDomNode& aTriggerNode,
-    TInt aSource );
-static TBool MatchActionForKeyEventL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode,
-    const TKeyEvent& aKeyEvent, TEventCode aType, CXnDomNode& aActionNode );
-static TBool IsTriggerActiveL( CXnDomNode& aNode );
-static TBool MatchActionForEventL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode,
-    CXnNode& aEventData, CXnDomNode& aActionNode, TInt aSource );
-static CXnNode* FindLoopedFocusableNodeL( CXnNode& aNode, TBool aForward );
-static CXnNode* FindNextFocusableNodeByNavIndexL( CXnNode& aNode, TBool aForward );
-static TBool FindNextFocusableNodeL( CXnNode& aNode, TBool aForward );
-static CXnNode* FindNextNodeFromRightL(
-    RPointerArray< CXnNode >& aArray, CXnNode& aNode, TBool stayInNamespace = EFalse, CXnUiEngine* aEngine = NULL );
-static CXnNode* FindNextNodeFromLeftL(
-    RPointerArray< CXnNode >& aArray, CXnNode& aNode, TBool stayInNamespace = EFalse, CXnUiEngine* aEngine = NULL );
-static CXnNode* FindNextNodeFromBelowL(
-    RPointerArray< CXnNode >& aArray, CXnNode& aNode, TBool stayInNamespace = EFalse );
-static CXnNode* FindNextNodeFromAboveL(
-    RPointerArray< CXnNode >& aArray, CXnNode& aNode, TBool stayInNamespace = EFalse );
-static CXnNode* FindPluginNode( CXnNode& aNode );
-static TBool DoInternalFocusChangeL(
-    CXnUiEngine& aEngine, CXnNode& aNode, const TKeyEvent& aKeyEvent,
-    TEventCode aType );
-static TBool DoTriggerKeyEventL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode,
-    const TKeyEvent& aKeyEvent, TEventCode aType );
-static void DoTriggerEventL(
-    CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode,
-    CXnNode& aActionsParent, CXnNode& aEventData, TInt aSource );
-static TBool DoReceiveFocusL( CXnNode& aNode, CXnUiEngine& aEngine );
-static CXnNode* BuildActivateTriggerNodeL( CXnUiEngine& aUiEngine );
-static void DoSetActiveL( CXnNode& aNode, CXnUiEngine& aUiEngine );
-static void InformPropertyChangeL( CXnNode& aNode, CXnProperty* aProperty = NULL );
-static CXnNode* BuildEventTypeNodeL( TEventCode aType, CXnUiEngine& aUiEngine );
-static CXnNode* BuildModifiersNodeL(
-    const TKeyEvent& aKeyEvent, CXnUiEngine& aUiEngine );
-static CXnNode* BuildKeyCodeNodeL(
-    const TKeyEvent& aKeyEvent, CXnUiEngine& aUiEngine );
-static CXnNode* BuildScanCodeNodeL(
-    const TKeyEvent& aKeyEvent, CXnUiEngine& aUiEngine );
-static CXnNode* BuildRepeatsNodeL(
-    const TKeyEvent& aKeyEvent, CXnUiEngine& aUiEngine );
-static void BuildPropertyNodesL( CXnNode& aNode, const TKeyEvent& aKeyEvent,
-    TEventCode aType, CXnUiEngine& aUiEngine );
-static CXnNode* BuildKeyTriggerNodeL( const TKeyEvent& aKeyEvent, TEventCode aType,
-    CXnUiEngine& aUiEngine );
-static CXnDomPropertyValue* GetNavIndexL( CXnNode& aNode );
-static CXnNode* BackwardL( CXnNode& aNode );
-static CXnNode* ForwardL( CXnNode& aNode );
-static CXnNode* BackwardLoopL( CXnNode& aNode );
-static CXnNode* ForwardLoopL( CXnNode& aNode );
-static TInt CompareNavIndexesL(
-    CXnDomPropertyValue* aCurrentPropertyValue,
-    CXnDomPropertyValue* aNextPropertyValue );
-static void ReplaceOrAppend(
-    CXnProperty* aProperty, RPointerArray< CXnProperty >& aArray,
-    TBool aAppendOnly );
-static TBool DisplayValueMatchL( CXnNode& aNode, const TDesC8& aDisplayValue );
-static void SetStringPropertyToNodeL(
-    CXnDomStringPool& aStringPool, CXnNode& aNode,
-    const TDesC8& aPropertyName, const TDesC8& aPropertyValue );
-static void SetFloatPropertyToNodeL(
-    CXnDomStringPool& aStringPool, CXnNode& aNode,
-    const TDesC8& aPropertyName, TReal aPropertyValue,
-    CXnDomPropertyValue::TPrimitiveValueType aValueType );
-static CXnNode* FindYoungestSiblingWithDisplayL(
-    RPointerArray< CXnNode >& aSiblingArray,
-    const TDesC8& aDisplayValue,
-    TInt& aIndex );
-static CXnNode* FindOldestSiblingWithDisplayL(
-    RPointerArray< CXnNode >& aSiblingArray,
-    const TDesC8& aDisplayValue,
-    TInt& aIndex );
-static TBool IsCompoundNodeL( CXnNode* aNode );
-static void NotifyScrollNodeL( CXnNode* aNode, TBool aBegin, TBool aGainEnd );
-static void DoCompoundNodeBeginKeyL(
-    RPointerArray< CXnNode >& aChildren, CXnNode* aFocusedNode );
-static void DoCompoundNodeEndKeyL(
-    RPointerArray< CXnNode >& aChildren, CXnNode* aFocusedNode );
-static void DoCompoundNodeScrollingL(
-    CXnNode& aFocusedNode,
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType );
-static CXnNode* BuildTriggerNodeL(
-    CXnUiEngine& aUiEngine, const TDesC8& aTriggerName );
-static CXnNode* IsNodeNavigableL( CXnNode* aParent );
-static TBool IsNodeNavigableL( CXnNode& aNode, TBool aIgnoreDropped = EFalse );
-static TInt DirtyLevelFromPropertyL( CXnNode& aNode, const TDesC8& aPropName );
-static TBool IsNodeDisplayedL(
-    CXnNode& aNode, TBool aCheckVisiblity = EFalse, TBool aCheckParent = ETrue );
-static void EnableStatePropertyL(
-    CXnNode& aNode,
-    CXnDomProperty::TPseudoClass aPseudoClass,
-    CXnProperty* ( CXnNode::* aGetCachedPropertyL )(),
-    CXnProperty*& aProperty,
-    RPointerArray< CXnProperty >& aArray, TInt& aLevel,
-    TBool aInformChange = EFalse );
-static void DisableStatePropertyL(
-    CXnNode& aNode,
-    CXnDomProperty::TPseudoClass aPseudoClass,
-    CXnProperty* ( CXnNode::* aGetCachedPropertyL )(),
-    CXnProperty*& aProperty,
-    RPointerArray< CXnProperty >& aArray,
-    RArray< CXnDomProperty::TPseudoClass >& aStates, TInt& aLevel,
-    TBool aInformChange = EFalse );
-static TBool MatchTitleScrollTriggerL(
-    CXnNode& aEventData, CXnDomNode& aTriggerNode );
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Checks whether trigger is runnable
-// -----------------------------------------------------------------------------
-//
-TBool IsTriggerRunnableL( CXnDomNode& aTriggerNode )
-    {
-    TBool ret( ETrue );
-    CXnNode* layoutNode = aTriggerNode.LayoutNode();
-    if ( layoutNode )
-        {
-        CXnProperty* display =
-            layoutNode->GetPropertyL( XnPropertyNames::style::common::KDisplay );
-
-        if ( display && display->StringValue() ==
-             XnPropertyNames::style::common::display::KNone )
-            {
-            ret = EFalse;
-            }
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// DirtyLevelFromPropertyL
-// -----------------------------------------------------------------------------
-//
-static TInt DirtyLevelFromPropertyL( CXnNode& aNode, const TDesC8& aPropName )
-    {
-    if ( aPropName == XnPropertyNames::style::common::KDisplay ||
-        aPropName == XnPropertyNames::style::common::KBlockProgression ||
-        aPropName == XnPropertyNames::style::common::KDirection ||
-        aPropName == XnPropertyNames::style::common::KPosition ||
-        aPropName == XnPropertyNames::style::common::KTop ||
-        aPropName == XnPropertyNames::style::common::KLeft ||
-        aPropName == XnPropertyNames::style::common::KBottom ||
-        aPropName == XnPropertyNames::style::common::KRight ||
-        aPropName == XnPropertyNames::style::common::KWidth ||
-        aPropName == XnPropertyNames::style::common::KHeight ||
-        aPropName == XnPropertyNames::style::common::KMinWidth ||
-        aPropName == XnPropertyNames::style::common::KMaxWidth ||
-        aPropName == XnPropertyNames::style::common::KMinHeight ||
-        aPropName == XnPropertyNames::style::common::KMaxHeight ||
-        aPropName == XnPropertyNames::style::common::KS60DisplayPriority ||
-        aPropName == XnPropertyNames::style::common::KMarginTop ||
-        aPropName == XnPropertyNames::style::common::KMarginRight ||
-        aPropName == XnPropertyNames::style::common::KMarginBottom ||
-        aPropName == XnPropertyNames::style::common::KMarginLeft ||
-        aPropName == XnPropertyNames::style::common::KBorderWidth ||
-        aPropName == XnPropertyNames::style::common::KBorderTopWidth ||
-        aPropName == XnPropertyNames::style::common::KBorderRightWidth ||
-        aPropName == XnPropertyNames::style::common::KBorderBottomWidth ||
-        aPropName == XnPropertyNames::style::common::KBorderLeftWidth ||
-        aPropName == XnPropertyNames::style::common::KBorderLeftWidth ||
-        aPropName == XnPropertyNames::style::common::KPaddingRight ||
-        aPropName == XnPropertyNames::style::common::KPaddingBottom ||
-        aPropName == XnPropertyNames::style::common::KPaddingLeft )
-        {
-        TInt retval( XnDirtyLevel::ELayoutAndRenderSiblings );
-
-        CXnProperty* prop( aNode.PositionL() );
-
-        if ( prop )
-            {
-            const TDesC8& value( prop->StringValue() );
-
-            if ( value == XnPropertyNames::style::common::position::KAbsolute ||
-                 value == XnPropertyNames::style::common::position::KFloating )
-                {
-                retval = XnDirtyLevel::ELayoutAndRender;
-                }
-            }
-
-        if ( aNode.Type()->Type() == KToolTip )
-            {
-            retval = XnDirtyLevel::ELayoutAndRender;
-            }
-
-        return retval;
-        }
-    else
-        {
-        return XnDirtyLevel::ERender;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// IsNodeDisplayedL
-// Check whether a node is displayed or not
-// -----------------------------------------------------------------------------
-//
-static TBool IsNodeDisplayedL(
-    CXnNode& aNode,
-    TBool aCheckVisiblity,
-    TBool aCheckParent )
-    {
-    if ( !aNode.IsLayoutCapable() )
-        {
-        return EFalse;
-        }
-
-    if ( aCheckVisiblity )
-        {
-        CXnProperty* visibilityProp( aNode.VisibilityL() );
-
-        // Am I visible?
-        if ( visibilityProp )
-            {
-            const TDesC8& visibility( visibilityProp->StringValue() );
-
-            if ( visibility != XnPropertyNames::style::common::visibility::KVisible )
-                {
-                return EFalse;
-                }
-            }
-        }
-
-    // Am I displayed?
-    CXnProperty* displayProp( aNode.DisplayL() );
-
-    if ( displayProp )
-        {
-        const TDesC8& display( displayProp->StringValue() );
-
-        if ( display != XnPropertyNames::style::common::display::KBlock )
-            {
-            return EFalse;
-            }
-        }
-
-    if ( aCheckParent )
-        {
-        CXnNode* parent( aNode.Parent() );
-
-        // Is my parent displayed?
-        for ( ; parent; parent = parent->Parent() )
-            {
-            CXnProperty* displayProp( parent->DisplayL() );
-
-            if ( displayProp )
-                {
-                const TDesC8& display( displayProp->StringValue() );
-
-                if ( display != XnPropertyNames::style::common::display::KBlock )
-                    {
-                    return EFalse;
-                    }
-                }
-            }
-        }
-
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// IsNodeNavigableL
-// Check whether a node or its child is navigable, ignores dropped state
-// -----------------------------------------------------------------------------
-//
-static CXnNode* IsNodeNavigableL( CXnNode* aParent )
-    {
-    if ( IsNodeNavigableL( *aParent, ETrue ) )
-        {
-        return aParent;
-        }
-
-    RPointerArray< CXnNode >& children( aParent->Children() );
-
-    TInt count( children.Count() );
-
-    CXnNode* retval = NULL;
-    for ( TInt i = 0; i < count; i++ )
-        {
-        retval = IsNodeNavigableL( children[i] );
-        if ( retval )
-            {
-            return retval;
-            }
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// IsNodeNavigableL()
-// Check if node can be navigated
-// -----------------------------------------------------------------------------
-//
-static TBool IsNodeNavigableL( CXnNode& aNode, TBool aIgnoreDropped )
-    {
-    if ( !aNode.IsLayoutCapable() || ( !aIgnoreDropped && aNode.IsDropped() ) )
-        {
-        return EFalse;
-        }
-
-    CXnProperty* displayProp( aNode.DisplayL() );
-
-    if ( displayProp )
-        {
-        const TDesC8& display( displayProp->StringValue() );
-
-        if ( display != XnPropertyNames::style::common::display::KBlock )
-            {
-            return EFalse;
-            }
-        }
-
-    CXnProperty* visibilityProp( aNode.VisibilityL() );
-
-    if ( visibilityProp )
-        {
-        const TDesC8& visibility( visibilityProp->StringValue() );
-
-        if ( visibility != XnPropertyNames::style::common::visibility::KVisible )
-            {
-            return EFalse;
-            }
-        }
-
-    CXnProperty* focusableProp(
-        aNode.GetPropertyL( XnPropertyNames::common::KFocusable ) );
-
-    if ( focusableProp )
-        {
-        const TDesC8& focus( focusableProp->StringValue() );
-
-        if ( focus != XnPropertyNames::KTrue )
-            {
-            return EFalse;
-            }
-        }
-    else
-        {
-        return EFalse;
-        }
-    CXnProperty* disabledProp(
-        aNode.GetPropertyL( XnPropertyNames::common::KDisabled ) );
-
-    if ( disabledProp )
-        {
-        const TDesC8& disabled( disabledProp->StringValue() );
-
-        if ( disabled == XnPropertyNames::KTrue )
-            {
-            return EFalse;
-            }
-        }
-
-    // The node can be navigated. Then check parents display and visibilty properties
-    CXnNode* parent( aNode.Parent() );
-
-    for ( ; parent; parent = parent->Parent() )
-        {
-        CXnProperty* displayProp( parent->DisplayL() );
-
-        if ( displayProp )
-            {
-            const TDesC8& display( displayProp->StringValue() );
-
-            if ( display != XnPropertyNames::style::common::display::KBlock )
-                {
-                return EFalse;
-                }
-            }
-
-        CXnProperty* visibilityProp( parent->VisibilityL() );
-
-        if ( visibilityProp )
-            {
-            const TDesC8& visibility( visibilityProp->StringValue() );
-
-            if ( visibility != XnPropertyNames::style::common::visibility::KVisible )
-                {
-                return EFalse;
-                }
-            }
-        }
-
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// EnableStatePropertyL()
-// -----------------------------------------------------------------------------
-//
-static void EnableStatePropertyL(
-    CXnNode& aNode,
-    CXnDomProperty::TPseudoClass aPseudoClass,
-    CXnProperty* ( CXnNode::* aGetCachedPropertyL )(),
-    CXnProperty*& aProperty,
-    RPointerArray< CXnProperty >& aArray, TInt& aLevel,
-    TBool aInformChange )
-    {
-    TBool doInform( EFalse );
-
-    for ( TInt i = aArray.Count() - 1; i >= 0; --i )
-        {
-        if ( aArray[i]->Property()->PseudoClass() == aPseudoClass )
-            {
-            CXnProperty* temp( aArray[i] );
-
-            if ( aLevel < XnDirtyLevel::ELayoutAndRenderSiblings ||
-                 aInformChange )
-                {
-                TInt level( XnDirtyLevel::ENone );
-
-                // Get current cached prop
-                CXnProperty* prop( ( aNode.*aGetCachedPropertyL )() );
-
-                if ( !temp && prop )
-                    {
-                    level = DirtyLevelFromPropertyL(
-                        aNode, prop->Property()->Name() );
-                    }
-                else if ( ( temp && !prop ) ||
-                          ( temp && prop && !prop->EqualsL( *temp ) ) )
-                    {
-                    level = DirtyLevelFromPropertyL(
-                        aNode, temp->Property()->Name() );
-                    }
-
-                if ( aInformChange && ( level != XnDirtyLevel::ENone ) )
-                    {
-                    doInform = ETrue;
-                    }
-
-                if ( level > aLevel && aNode.IsLayoutCapable())
-                    {
-                    aLevel = level;
-                    }
-                }
-
-            aProperty = temp;
-
-            if ( doInform )
-                {
-                // Property is changed
-                InformPropertyChangeL( aNode, temp );
-                }
-
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DisableStatePropertyL()
-// -----------------------------------------------------------------------------
-//
-static void DisableStatePropertyL(
-    CXnNode& aNode,
-    CXnDomProperty::TPseudoClass aPseudoClass,
-    CXnProperty* ( CXnNode::* aGetCachedPropertyL )(),
-    CXnProperty*& aProperty,
-    RPointerArray< CXnProperty >& aArray,
-    RArray< CXnDomProperty::TPseudoClass >& aStates, TInt& aLevel,
-    TBool aInformChange )
-    {
-    CXnProperty* currentStateProperty( NULL );
-
-    TBool doInform( EFalse );
-
-    if ( aProperty && aProperty->Property()->PseudoClass() == aPseudoClass )
-        {
-        // Is there an other pseudo state where to return?
-        for ( TInt i = aArray.Count() - 1; !currentStateProperty && i >= 0; --i )
-            {
-            for ( TInt j = aStates.Count() - 1; j >= 0; --j )
-                {
-                if ( aArray[i]->Property()->PseudoClass() == aStates[j] &&
-                     aArray[i]->Property()->PseudoClass() != aPseudoClass )
-                    {
-                    currentStateProperty = aArray[i];
-                    break;
-                    }
-                }
-            }
-
-        // No, use the property from state "none"
-        for ( TInt i = aArray.Count() - 1; !currentStateProperty && i >= 0; --i )
-            {
-            for ( TInt j = aStates.Count() - 1; j >= 0; --j )
-                {
-                if ( aArray[i]->Property()->PseudoClass() == CXnDomProperty::ENone &&
-                     aArray[i]->Property()->PseudoClass() != aPseudoClass )
-                    {
-                    currentStateProperty = aArray[i];
-                    break;
-                    }
-                }
-            }
-
-        CXnProperty* temp( currentStateProperty );
-
-        if ( aLevel < XnDirtyLevel::ELayoutAndRenderSiblings || aInformChange )
-            {
-            TInt level( XnDirtyLevel::ENone );
-
-            // Get current cached prop
-            CXnProperty* prop( ( aNode.*aGetCachedPropertyL )() );
-
-            if ( !temp && prop )
-                {
-                level = DirtyLevelFromPropertyL( aNode, prop->Property()->Name() );
-                }
-            else if ( ( temp && !prop ) || ( temp && prop && !prop->EqualsL( *temp ) ) )
-                {
-                level = DirtyLevelFromPropertyL( aNode, temp->Property()->Name() );
-                }
-
-            if ( aInformChange && ( level != XnDirtyLevel::ENone ) )
-                {
-                doInform = ETrue;
-                }
-
-            if ( level > aLevel && aNode.IsLayoutCapable())
-                {
-                aLevel = level;
-                }
-            }
-
-        aProperty = temp;
-
-        if ( doInform )
-            {
-            // Property is changed
-            InformPropertyChangeL( aNode, temp );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// EnableStatePropertiesL()
-// -----------------------------------------------------------------------------
-//
-static void EnableStatePropertiesL(
-    CXnNode& aNode,
-    CXnDomProperty::TPseudoClass aPseudoClass,
-    CLayoutPropertyCache*& aLayoutPropertyCache )
-    {
-    if ( !aLayoutPropertyCache )
-        {
-        aLayoutPropertyCache = new ( ELeave ) CLayoutPropertyCache;
-        }
-
-    TInt level( XnDirtyLevel::ENone );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::WidthL,
-        aLayoutPropertyCache->iWidth,
-        aLayoutPropertyCache->iWidths, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::HeightL,
-        aLayoutPropertyCache->iHeight,
-        aLayoutPropertyCache->iHeights, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MarginLeftL,
-        aLayoutPropertyCache->iMarginLeft,
-        aLayoutPropertyCache->iMarginLefts, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MarginRightL,
-        aLayoutPropertyCache->iMarginRight,
-        aLayoutPropertyCache->iMarginRights, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderLeftL,
-        aLayoutPropertyCache->iBorderLeft,
-        aLayoutPropertyCache->iBorderLefts, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderRightL,
-        aLayoutPropertyCache->iBorderRight,
-        aLayoutPropertyCache->iBorderRights, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PaddingLeftL,
-        aLayoutPropertyCache->iPaddingLeft,
-        aLayoutPropertyCache->iPaddingLefts, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PaddingRightL,
-        aLayoutPropertyCache->iPaddingRight,
-        aLayoutPropertyCache->iPaddingRights, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MarginTopL,
-        aLayoutPropertyCache->iMarginTop,
-        aLayoutPropertyCache->iMarginTops, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MarginBottomL,
-        aLayoutPropertyCache->iMarginBottom,
-        aLayoutPropertyCache->iMarginBottoms, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderTopL,
-        aLayoutPropertyCache->iBorderTop,
-        aLayoutPropertyCache->iBorderTops, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderBottomL,
-        aLayoutPropertyCache->iBorderBottom,
-        aLayoutPropertyCache->iBorderBottoms, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PaddingTopL,
-        aLayoutPropertyCache->iPaddingTop,
-        aLayoutPropertyCache->iPaddingTops, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PaddingBottomL,
-        aLayoutPropertyCache->iPaddingBottom,
-        aLayoutPropertyCache->iPaddingBottoms, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderWidthL,
-        aLayoutPropertyCache->iBorderWidth,
-        aLayoutPropertyCache->iBorderWidths, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BlockProgressionL,
-        aLayoutPropertyCache->iBlockProgression,
-        aLayoutPropertyCache->iBlockProgressions, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::DirectionL,
-        aLayoutPropertyCache->iDirection,
-        aLayoutPropertyCache->iDirections, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PositionL,
-        aLayoutPropertyCache->iPosition,
-        aLayoutPropertyCache->iPositions, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MaxHeightL,
-        aLayoutPropertyCache->iMaxHeight,
-        aLayoutPropertyCache->iMaxHeights, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MinHeightL,
-        aLayoutPropertyCache->iMinHeight,
-        aLayoutPropertyCache->iMinHeights, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MaxWidthL,
-        aLayoutPropertyCache->iMaxWidth,
-        aLayoutPropertyCache->iMaxWidths, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MinWidthL,
-        aLayoutPropertyCache->iMinWidth,
-        aLayoutPropertyCache->iMinWidths, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::DisplayL,
-        aLayoutPropertyCache->iDisplay,
-        aLayoutPropertyCache->iDisplays, level, ETrue );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::VisibilityL,
-        aLayoutPropertyCache->iVisibility,
-        aLayoutPropertyCache->iVisibilities, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::LeftL,
-        aLayoutPropertyCache->iLeft,
-        aLayoutPropertyCache->iLefts, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::RightL,
-        aLayoutPropertyCache->iRight,
-        aLayoutPropertyCache->iRights, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::TopL,
-        aLayoutPropertyCache->iTop,
-        aLayoutPropertyCache->iTops, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BottomL,
-        aLayoutPropertyCache->iBottom,
-        aLayoutPropertyCache->iBottoms, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderLeftStyleL,
-        aLayoutPropertyCache->iBorderLeftStyle,
-        aLayoutPropertyCache->iBorderLeftStyles, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderRightStyleL,
-        aLayoutPropertyCache->iBorderRightStyle,
-        aLayoutPropertyCache->iBorderRightStyles, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderTopStyleL,
-        aLayoutPropertyCache->iBorderTopStyle,
-        aLayoutPropertyCache->iBorderTopStyles, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderBottomStyleL,
-        aLayoutPropertyCache->iBorderBottomStyle,
-        aLayoutPropertyCache->iBorderBottomStyles, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderStyleL,
-        aLayoutPropertyCache->iBorderStyle,
-        aLayoutPropertyCache->iBorderStyles, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::DisplayPriorityL,
-        aLayoutPropertyCache->iDisplayPriority,
-        aLayoutPropertyCache->iDisplayPriorities, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::NavIndexL,
-        aLayoutPropertyCache->iNavIndex,
-        aLayoutPropertyCache->iNavIndexes, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::ZIndexL,
-        aLayoutPropertyCache->iZIndex,
-        aLayoutPropertyCache->iZIndexes, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BackgroundColorL,
-        aLayoutPropertyCache->iBackgroundColor,
-        aLayoutPropertyCache->iBackgroundColors, level );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BackgroundImageL,
-        aLayoutPropertyCache->iBackgroundImage,
-        aLayoutPropertyCache->iBackgroundImages, level, ETrue );
-
-    EnableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::FocusBackgroundL,
-        aLayoutPropertyCache->iFocusBackground,
-        aLayoutPropertyCache->iFocusBackgrounds, level );
-
-    aNode.SetDirtyL( level );
-    }
-
-// -----------------------------------------------------------------------------
-// DisableStatePropertiesL()
-// -----------------------------------------------------------------------------
-//
-static void DisableStatePropertiesL(
-    CXnNode& aNode,
-    CXnDomProperty::TPseudoClass aPseudoClass,
-    RArray< CXnDomProperty::TPseudoClass >& aStates,
-    CLayoutPropertyCache*& aLayoutPropertyCache )
-    {
-    if ( !aLayoutPropertyCache )
-        {
-        aLayoutPropertyCache = new ( ELeave ) CLayoutPropertyCache;
-        }
-
-    TInt level( XnDirtyLevel::ENone );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::WidthL,
-        aLayoutPropertyCache->iWidth,
-        aLayoutPropertyCache->iWidths, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::HeightL,
-        aLayoutPropertyCache->iHeight,
-        aLayoutPropertyCache->iHeights, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MarginLeftL,
-        aLayoutPropertyCache->iMarginLeft,
-        aLayoutPropertyCache->iMarginLefts, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MarginRightL,
-        aLayoutPropertyCache->iMarginRight,
-        aLayoutPropertyCache->iMarginRights, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderLeftL,
-        aLayoutPropertyCache->iBorderLeft,
-        aLayoutPropertyCache->iBorderLefts, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderRightL,
-        aLayoutPropertyCache->iBorderRight,
-        aLayoutPropertyCache->iBorderRights, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PaddingLeftL,
-        aLayoutPropertyCache->iPaddingLeft,
-        aLayoutPropertyCache->iPaddingLefts, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PaddingRightL,
-        aLayoutPropertyCache->iPaddingRight,
-        aLayoutPropertyCache->iPaddingRights, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MarginTopL,
-        aLayoutPropertyCache->iMarginTop,
-        aLayoutPropertyCache->iMarginTops, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MarginBottomL,
-        aLayoutPropertyCache->iMarginBottom,
-        aLayoutPropertyCache->iMarginBottoms, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderTopL,
-        aLayoutPropertyCache->iBorderTop,
-        aLayoutPropertyCache->iBorderTops, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderBottomL,
-        aLayoutPropertyCache->iBorderBottom,
-        aLayoutPropertyCache->iBorderBottoms, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PaddingTopL,
-        aLayoutPropertyCache->iPaddingTop,
-        aLayoutPropertyCache->iPaddingTops, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PaddingBottomL,
-        aLayoutPropertyCache->iPaddingBottom,
-        aLayoutPropertyCache->iPaddingBottoms, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderWidthL,
-        aLayoutPropertyCache->iBorderWidth,
-        aLayoutPropertyCache->iBorderWidths, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BlockProgressionL,
-        aLayoutPropertyCache->iBlockProgression,
-        aLayoutPropertyCache->iBlockProgressions, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::DirectionL,
-        aLayoutPropertyCache->iDirection,
-        aLayoutPropertyCache->iDirections, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::PositionL,
-        aLayoutPropertyCache->iPosition,
-        aLayoutPropertyCache->iPositions, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MaxHeightL,
-        aLayoutPropertyCache->iMaxHeight,
-        aLayoutPropertyCache->iMaxHeights, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MinHeightL,
-        aLayoutPropertyCache->iMinHeight,
-        aLayoutPropertyCache->iMinHeights, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MaxWidthL,
-        aLayoutPropertyCache->iMaxWidth,
-        aLayoutPropertyCache->iMaxWidths, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::MinWidthL,
-        aLayoutPropertyCache->iMinWidth,
-        aLayoutPropertyCache->iMinWidths, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::DisplayL,
-        aLayoutPropertyCache->iDisplay,
-        aLayoutPropertyCache->iDisplays, aStates, level, ETrue );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::VisibilityL,
-        aLayoutPropertyCache->iVisibility,
-        aLayoutPropertyCache->iVisibilities, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::LeftL,
-        aLayoutPropertyCache->iLeft,
-        aLayoutPropertyCache->iLefts, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::RightL,
-        aLayoutPropertyCache->iRight,
-        aLayoutPropertyCache->iRights, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::TopL,
-        aLayoutPropertyCache->iTop,
-        aLayoutPropertyCache->iTops, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BottomL,
-        aLayoutPropertyCache->iBottom,
-        aLayoutPropertyCache->iBottoms, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderLeftStyleL,
-        aLayoutPropertyCache->iBorderLeftStyle,
-        aLayoutPropertyCache->iBorderLeftStyles, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderRightStyleL,
-        aLayoutPropertyCache->iBorderRightStyle,
-        aLayoutPropertyCache->iBorderRightStyles, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderTopStyleL,
-        aLayoutPropertyCache->iBorderTopStyle,
-        aLayoutPropertyCache->iBorderTopStyles, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderBottomStyleL,
-        aLayoutPropertyCache->iBorderBottomStyle,
-        aLayoutPropertyCache->iBorderBottomStyles, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BorderStyleL,
-        aLayoutPropertyCache->iBorderStyle,
-        aLayoutPropertyCache->iBorderStyles, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::DisplayPriorityL,
-        aLayoutPropertyCache->iDisplayPriority,
-        aLayoutPropertyCache->iDisplayPriorities, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::NavIndexL,
-        aLayoutPropertyCache->iNavIndex,
-        aLayoutPropertyCache->iNavIndexes, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::ZIndexL,
-        aLayoutPropertyCache->iZIndex,
-        aLayoutPropertyCache->iZIndexes, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BackgroundColorL,
-        aLayoutPropertyCache->iBackgroundColor,
-        aLayoutPropertyCache->iBackgroundColors, aStates, level );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::BackgroundImageL,
-        aLayoutPropertyCache->iBackgroundImage,
-        aLayoutPropertyCache->iBackgroundImages, aStates, level, ETrue );
-
-    DisableStatePropertyL(
-        aNode, aPseudoClass, CXnNode::FocusBackgroundL,
-        aLayoutPropertyCache->iFocusBackground,
-        aLayoutPropertyCache->iFocusBackgrounds, aStates, level );
-
-    aNode.SetDirtyL( level );
-    }
-
-// -----------------------------------------------------------------------------
-// AllocateLayoutCache()
-// -----------------------------------------------------------------------------
-//
-static TBool AllocateLayoutCache( CLayoutPropertyCache*& aLayoutPropertyCache )
-    {
-    if ( !aLayoutPropertyCache )
-        {
-        aLayoutPropertyCache = new CLayoutPropertyCache;
-        }
-
-    return aLayoutPropertyCache ? ETrue : EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// DoSetCachedProperty()
-// -----------------------------------------------------------------------------
-//
-static void DoSetCachedProperty(
-    CXnProperty* aProperty,\
-    CXnProperty*& aCachedPropertyToSet,
-    RPointerArray< CXnProperty >& aArray,
-    TBool aInitializing,
-    TBool aArrayOnly )
-    {
-    ReplaceOrAppend( aProperty, aArray, aInitializing );
-
-    if ( !aArrayOnly )
-        {
-        aCachedPropertyToSet = aProperty;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// SetCachedProperty()
-// -----------------------------------------------------------------------------
-//
-static void SetCachedProperty(
-    CXnProperty* aProperty,
-    CLayoutPropertyCache*& aLayoutPropertyCache,
-    CXnProperty*& aRef,
-    CXnProperty*& aName,
-    CXnProperty*& aValue,
-    CXnProperty*& aLabel,
-    CXnProperty*& aInitialFocus,
-    CXnProperty*& aClass,
-    CXnProperty*& aId,
-    CXnProperty*& aPath,
-    CXnProperty*& aMaskPath,
-    CGridPropertyCache*& aGridPropertyCache,
-    TBool aInitializing,
-    TBool aArrayOnly)
-    {
-    const TDesC8& name = aProperty->Property()->Name();
-    if ( !AllocateLayoutCache( aLayoutPropertyCache ) )
-        {
-        return;
-        }
-    if ( name == XnPropertyNames::common::KId )
-        {
-        aId = aProperty;
-        }
-    else if ( name == XnPropertyNames::common::KClass )
-        {
-        aClass = aProperty;
-        }
-    else if ( name == XnPropertyNames::style::common::KWidth )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iWidth,
-            aLayoutPropertyCache->iWidths,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KHeight )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iHeight,
-            aLayoutPropertyCache->iHeights,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KBlockProgression )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBlockProgression,
-            aLayoutPropertyCache->iBlockProgressions,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KDirection )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iDirection,
-            aLayoutPropertyCache->iDirections,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KPosition )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iPosition,
-            aLayoutPropertyCache->iPositions,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KDisplay )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iDisplay,
-            aLayoutPropertyCache->iDisplays,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KVisibility )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iVisibility,
-            aLayoutPropertyCache->iVisibilities,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::action::KName )
-        {
-        aName = aProperty;
-        }
-    else if ( name == XnPropertyNames::action::KValue )
-        {
-        aValue = aProperty;
-        }
-    else if ( name == XnPropertyNames::menu::KLabel )
-        {
-        aLabel = aProperty;
-        }
-    else if ( name == XnPropertyNames::image::KPath )
-        {
-        aPath = aProperty;
-        }
-    else if ( name == XnPropertyNames::image::KMaskPath )
-        {
-        aMaskPath = aProperty;
-        }
-    else if ( name == KRef )
-        {
-        aRef = aProperty;
-        }
-    else if ( name == XnPropertyNames::style::common::KMarginLeft )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iMarginLeft,
-            aLayoutPropertyCache->iMarginLefts,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KMarginRight )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iMarginRight,
-            aLayoutPropertyCache->iMarginRights,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KBorderLeftWidth )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderLeft,
-            aLayoutPropertyCache->iBorderLefts,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KBorderRightWidth )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderRight,
-            aLayoutPropertyCache->iBorderRights,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KPaddingLeft )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iPaddingLeft,
-            aLayoutPropertyCache->iPaddingLefts,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KPaddingRight )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iPaddingRight,
-            aLayoutPropertyCache->iPaddingRights,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KMarginTop )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iMarginTop,
-            aLayoutPropertyCache->iMarginTops,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KMarginBottom )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iMarginBottom,
-            aLayoutPropertyCache->iMarginBottoms,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KBorderTopWidth )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderTop,
-            aLayoutPropertyCache->iBorderTops,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KBorderBottomWidth )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderBottom,
-            aLayoutPropertyCache->iBorderBottoms,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KPaddingTop )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iPaddingTop,
-            aLayoutPropertyCache->iPaddingTops,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KPaddingBottom )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iPaddingBottom,
-            aLayoutPropertyCache->iPaddingBottoms,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KBorderWidth )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderWidth,
-            aLayoutPropertyCache->iBorderWidths,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KMaxHeight )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iMaxHeight,
-            aLayoutPropertyCache->iMaxHeights,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KMinHeight )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iMinHeight,
-            aLayoutPropertyCache->iMinHeights,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KMaxWidth )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iMaxWidth,
-            aLayoutPropertyCache->iMaxWidths,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KMinWidth )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iMinWidth,
-            aLayoutPropertyCache->iMinWidths,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KLeft )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iLeft,
-            aLayoutPropertyCache->iLefts,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KRight )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iRight,
-            aLayoutPropertyCache->iRights,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KTop )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iTop,
-            aLayoutPropertyCache->iTops,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KBottom )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBottom,
-            aLayoutPropertyCache->iBottoms,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KBorderLeftStyle )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderLeftStyle,
-            aLayoutPropertyCache->iBorderLeftStyles,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KBorderRightStyle )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderRightStyle,
-            aLayoutPropertyCache->iBorderRightStyles,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KBorderTopStyle )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderTopStyle,
-            aLayoutPropertyCache->iBorderTopStyles,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KBorderBottomStyle )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderBottomStyle,
-            aLayoutPropertyCache->iBorderBottomStyles,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KBorderStyle )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBorderStyle,
-            aLayoutPropertyCache->iBorderStyles,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KBorderImage )
-        {
-        aLayoutPropertyCache->iBorderImage = aProperty;
-        }
-    else if ( name == XnPropertyNames::style::common::KZIndex )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iZIndex,
-            aLayoutPropertyCache->iZIndexes,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KBackGroundColor )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBackgroundColor,
-            aLayoutPropertyCache->iBackgroundColors,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KBackGroundImage )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iBackgroundImage,
-            aLayoutPropertyCache->iBackgroundImages,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::appearance::common::KFocusBackground )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iFocusBackground,
-            aLayoutPropertyCache->iFocusBackgrounds,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::style::common::KS60DisplayPriority )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iDisplayPriority,
-            aLayoutPropertyCache->iDisplayPriorities,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::common::KInitialFocus )
-        {
-        aInitialFocus = aProperty;
-        }
-    else if ( name == XnPropertyNames::style::common::KNavIndex )
-        {
-        DoSetCachedProperty(
-            aProperty,
-            aLayoutPropertyCache->iNavIndex,
-            aLayoutPropertyCache->iNavIndexes,
-            aInitializing, aArrayOnly );
-        }
-    else if ( name == XnPropertyNames::grid::KS60VisibleRows )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iVisibleRows = aProperty;
-            }
-        }
-    else if ( name == XnPropertyNames::grid::KS60GridColumns )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iGridColumns = aProperty;
-            }
-        }
-    else if ( name == XnPropertyNames::grid::KS60GridOrientation )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iGridOrientation = aProperty;
-            }
-        }
-    else if ( name == XnPropertyNames::grid::KS60GridVerDirection )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iGridVerDirection = aProperty;
-            }
-        }
-    else if ( name == XnPropertyNames::grid::KS60GridHorDirection )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iGridHorDirection = aProperty;
-            }
-        }
-    else if ( name == XnPropertyNames::grid::KS60FocusHorLooping )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iFocusHorLooping = aProperty;
-            }
-        }
-    else if ( name == XnPropertyNames::grid::KS60FocusVerLooping )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iFocusVerLooping = aProperty;
-            }
-        }
-    else if ( name == XnPropertyNames::grid::KS60GridScrollbarWidth )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iGridScrollBarWidth = aProperty;
-            }
-        }
-    else if ( name == XnPropertyNames::grid::KS60GridScrollbarMargin )
-        {
-        if ( !aGridPropertyCache )
-            {
-            aGridPropertyCache = new CGridPropertyCache;
-            }
-        if ( aGridPropertyCache )
-            {
-            aGridPropertyCache->iGridScrollBarMargin = aProperty;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// ReplaceOrAppend()
-// -----------------------------------------------------------------------------
-//
-static void ReplaceOrAppend(
-    CXnProperty* aProperty,
-    RPointerArray< CXnProperty >& aArray,
-    TBool aAppendOnly )
-    {
-    if ( !aAppendOnly )
-        {
-        for ( TInt i = aArray.Count() - 1; i >= 0; --i )
-            {
-            if ( aArray[i] == aProperty )
-                {
-                aArray.Remove( i );
-                }
-            else if ( aArray[i]->Property()->PseudoClass() ==
-                      aProperty->Property()->PseudoClass() &&
-                      aArray[i]->Property()->Name() ==
-                      aProperty->Property()->Name() )
-                {
-                aArray.Remove( i );
-                }
-            }
-        }
-    aArray.Append( aProperty );
-    }
-
-// -----------------------------------------------------------------------------
-// IsPropertyPseudoClass()
-// -----------------------------------------------------------------------------
-//
-static TBool IsPropertyPseudoClass(
-    CXnDomProperty::TPseudoClass aPseudoClass,
-    RArray< CXnDomProperty::TPseudoClass >& aArray )
-    {
-    for ( TInt i = aArray.Count() - 1; i >= 0; --i )
-        {
-        if ( aArray[i] == aPseudoClass )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// InsertPropertyPseudoClassL()
-// -----------------------------------------------------------------------------
-//
-static void InsertPropertyPseudoClassL(
-    CXnDomProperty::TPseudoClass aPseudoClass,
-    RArray< CXnDomProperty::TPseudoClass >& aArray )
-    {
-    if ( !IsPropertyPseudoClass( aPseudoClass, aArray ) )
-        {
-        User::LeaveIfError( aArray.Append( aPseudoClass ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BuildEventTypeNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildEventTypeNodeL( TEventCode aType, CXnUiEngine& aUiEngine )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KProperty );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL(
-        CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::keyevent::KEventType );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::KName,
-        nameValue, *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( valueValue );
-    valueValue->SetFloatValueL( CXnDomPropertyValue::ENumber, aType );
-    CXnProperty* value = CXnProperty::NewL(
-        XnPropertyNames::action::KValue, valueValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( valueValue );
-    CleanupStack::PushL( value );
-    node->SetPropertyL( value );
-    CleanupStack::Pop( value );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildModifiersNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildModifiersNodeL(
-    const TKeyEvent& aKeyEvent,
-    CXnUiEngine& aUiEngine )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KProperty );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL(
-        CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::keyevent::KModifiers );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::KName,
-        nameValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( valueValue );
-    valueValue->SetFloatValueL(
-        CXnDomPropertyValue::ENumber, aKeyEvent.iModifiers );
-    CXnProperty* value = CXnProperty::NewL(
-        XnPropertyNames::action::KValue,
-        valueValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( valueValue );
-    CleanupStack::PushL( value );
-    node->SetPropertyL( value );
-    CleanupStack::Pop( value );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildKeyCodeNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildKeyCodeNodeL(
-    const TKeyEvent& aKeyEvent,
-    CXnUiEngine& aUiEngine )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KProperty );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL(
-        CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::keyevent::KKeyCode );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::KName,
-        nameValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( valueValue );
-    valueValue->SetFloatValueL( CXnDomPropertyValue::ENumber, aKeyEvent.iCode );
-    CXnProperty* value = CXnProperty::NewL(
-        XnPropertyNames::action::KValue,
-        valueValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( valueValue );
-    CleanupStack::PushL( value );
-    node->SetPropertyL( value );
-    CleanupStack::Pop( value );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildScanCodeNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildScanCodeNodeL(
-    const TKeyEvent& aKeyEvent,
-    CXnUiEngine& aUiEngine )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KProperty );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL(
-        CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::keyevent::KScanCode );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::KName,
-        nameValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( valueValue );
-    valueValue->SetFloatValueL(
-        CXnDomPropertyValue::ENumber, aKeyEvent.iScanCode );
-    CXnProperty* value = CXnProperty::NewL(
-        XnPropertyNames::action::KValue,
-        valueValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( valueValue );
-    CleanupStack::PushL( value );
-    node->SetPropertyL( value );
-    CleanupStack::Pop( value );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildRepeatsNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildRepeatsNodeL(
-    const TKeyEvent& aKeyEvent,
-    CXnUiEngine& aUiEngine )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KProperty );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL(
-        CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::keyevent::KRepeats );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::KName,
-        nameValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( valueValue );
-    valueValue->SetFloatValueL(
-        CXnDomPropertyValue::ENumber, aKeyEvent.iRepeats );
-    CXnProperty* value = CXnProperty::NewL(
-        XnPropertyNames::action::KValue,
-        valueValue,
-        *aUiEngine.ODT()->DomDocument().StringPool()) ;
-    CleanupStack::Pop( valueValue );
-    CleanupStack::PushL( value );
-    node->SetPropertyL( value );
-    CleanupStack::Pop( value );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildActivateTriggerNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildActivateTriggerNodeL( CXnUiEngine& aUiEngine )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::KActivate );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName,
-        nameValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildPropertyNodesL
-// -----------------------------------------------------------------------------
-//
-static void BuildPropertyNodesL(
-    CXnNode& aNode,
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType,
-    CXnUiEngine& aUiEngine )
-    {
-    CXnNode* eventType = BuildEventTypeNodeL( aType, aUiEngine );
-    CleanupStack::PushL( eventType );
-    aNode.AddChildL( eventType );
-    CleanupStack::Pop( eventType );
-    CXnNode* modifiers = BuildModifiersNodeL( aKeyEvent, aUiEngine );
-    CleanupStack::PushL( modifiers );
-    aNode.AddChildL( modifiers );
-    CleanupStack::Pop( modifiers );
-    CXnNode* keyCode = BuildKeyCodeNodeL( aKeyEvent, aUiEngine );
-    CleanupStack::PushL( keyCode );
-    aNode.AddChildL( keyCode );
-    CleanupStack::Pop( keyCode );
-    CXnNode* scanCode = BuildScanCodeNodeL( aKeyEvent, aUiEngine );
-    CleanupStack::PushL( scanCode );
-    aNode.AddChildL( scanCode );
-    CleanupStack::Pop( scanCode );
-    CXnNode* repeats = BuildRepeatsNodeL( aKeyEvent, aUiEngine );
-    CleanupStack::PushL( repeats );
-    aNode.AddChildL( repeats );
-    CleanupStack::Pop( repeats );
-    }
-
-// -----------------------------------------------------------------------------
-// BuildKeyTriggerNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildKeyTriggerNodeL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType,
-    CXnUiEngine& aUiEngine )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL(
-        CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::KKeyEvent );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName,
-        nameValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    BuildPropertyNodesL( *node, aKeyEvent, aType, aUiEngine );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// PseudoClassFromName
-// -----------------------------------------------------------------------------
-//
-static CXnDomProperty::TPseudoClass PseudoClassFromName( const TDesC8& aName )
-    {
-    if ( aName == KPseudoClassFocus )
-        {
-        return CXnDomProperty::EFocus;
-        }
-    else if ( aName == KPseudoClassPassiveFocus )
-        {
-        return CXnDomProperty::EPassiveFocus;
-        }
-    else if ( aName == KPseudoClassHold )
-        {
-        return CXnDomProperty::EHold;
-        }
-    else if ( aName == KPseudoClassHover )
-        {
-        return CXnDomProperty::EHover;
-        }
-    else if ( aName == KPseudoClassLink )
-        {
-        return CXnDomProperty::ELink;
-        }
-    else if ( aName == KPseudoClassVisited )
-        {
-        return CXnDomProperty::EVisited;
-        }
-    else if ( aName == KPseudoClassActive )
-        {
-        return CXnDomProperty::EActive;
-        }
-    else if ( aName == KPseudoClassEdit )
-        {
-        return CXnDomProperty::EEdit;
-        }
-    else if ( aName == KPseudoClassPressedDown )
-        {
-        return CXnDomProperty::EPressedDown;
-        }
-    return CXnDomProperty::ENone;
-    }
-
-// -----------------------------------------------------------------------------
-// PseudoClassName
-// -----------------------------------------------------------------------------
-//
-static const TDesC8& PseudoClassName( CXnDomProperty::TPseudoClass aPseudoClass )
-    {
-    switch ( aPseudoClass )
-        {
-        case CXnDomProperty::EFocus:
-            return KPseudoClassFocus;
-        case CXnDomProperty::EPassiveFocus:
-            return KPseudoClassPassiveFocus;
-        case CXnDomProperty::EHold:
-            return KPseudoClassHold;
-        case CXnDomProperty::EHover:
-            return KPseudoClassHover;
-        case CXnDomProperty::ELink:
-            return KPseudoClassLink;
-        case CXnDomProperty::EVisited:
-            return KPseudoClassVisited;
-        case CXnDomProperty::EActive:
-            return KPseudoClassActive;
-        case CXnDomProperty::EEdit:
-            return KPseudoClassEdit;
-        default:
-            return KNullDesC8;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CheckRefAttributeL
-// -----------------------------------------------------------------------------
-//
-static const TDesC8* CheckRefAttributeL( CXnProperty* aRef )
-    {
-    if ( !aRef )
-        {
-        return NULL;
-        }
-
-    return &aRef->StringValue();
-    }
-
-// -----------------------------------------------------------------------------
-// DoMatchTriggerForKeyEventL
-// -----------------------------------------------------------------------------
-//
-static TBool DoMatchTriggerForKeyEventL(
-    const TKeyEvent& aKeyEvent, TEventCode aType,
-    CXnDomNode& aTriggerNode )
-    {
-    TInt triggerEventType = EEventKeyDown;
-    TInt triggerKeyCode = 0;
-    TInt triggerScanCode = 0;
-    TInt triggerModifiers = 0;
-    CXnDomList& triggerChildren = aTriggerNode.ChildNodes();
-    TInt triggerCount = triggerChildren.Length();
-    TBool triggerScanCodeSet = EFalse;
-    TBool triggerKeyCodeSet = EFalse;
-    for ( TInt i = 0; i < triggerCount; ++i )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >(
-            triggerChildren.Item( i ) );
-        CXnDomList& attrs = node->AttributeList();
-        CXnDomAttribute* nameAttribute = static_cast< CXnDomAttribute* >(
-            attrs.FindByName( XnPropertyNames::action::KName ) );
-        CXnDomAttribute* valueAttribute = static_cast< CXnDomAttribute* >(
-            attrs.FindByName( XnPropertyNames::action::KValue ) );
-        if ( !nameAttribute || !valueAttribute )
-            {
-            continue;
-            }
-        if ( nameAttribute->Value() ==
-             XnPropertyNames::action::trigger::name::keyevent::KEventType )
-            {
-            TLex8 lex( valueAttribute->Value() );
-            lex.Val( triggerEventType );
-            }
-        else if ( nameAttribute->Value() ==
-                  XnPropertyNames::action::trigger::name::keyevent::KModifiers )
-            {
-            TLex8 lex( valueAttribute->Value() );
-            lex.Val( triggerModifiers );
-            }
-        else if ( nameAttribute->Value() ==
-                  XnPropertyNames::action::trigger::name::keyevent::KKeyCode )
-            {
-            TLex8 lex( valueAttribute->Value() );
-            lex.Val( triggerKeyCode );
-            triggerKeyCodeSet = ETrue;
-            }
-        else if ( nameAttribute->Value() ==
-                  XnPropertyNames::action::trigger::name::keyevent::KScanCode )
-            {
-            TLex8 lex( valueAttribute->Value() );
-            lex.Val( triggerScanCode );
-            triggerScanCodeSet = ETrue;
-            }
-        }
-    return
-        aType == triggerEventType &&
-        ( triggerKeyCodeSet  ? ( aKeyEvent.iCode == triggerKeyCode ) : ETrue ) &&
-        ( triggerScanCodeSet ? ( aKeyEvent.iScanCode == triggerScanCode ) : ETrue ) &&
-        ( ( aKeyEvent.iModifiers & 0xFFFFFFFE ) == ( triggerModifiers & 0xFFFFFFFE ) );
-    }
-
-// -----------------------------------------------------------------------------
-// MatchTriggerForKeyEventL
-// -----------------------------------------------------------------------------
-//
-static TBool MatchTriggerForKeyEventL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType,
-    CXnDomNode& aActionNode,
-    CXnDomNode& aTriggerNode )
-    {
-    CXnDomList& attrs = aTriggerNode.AttributeList();
-    CXnDomAttribute* attribute = static_cast< CXnDomAttribute* >(
-        attrs.FindByName(XnPropertyNames::action::trigger::KName ) );
-    if ( !attribute )
-        {
-        return EFalse;
-        }
-
-    const TDesC8& nameString = attribute->Value();
-    if ( nameString == KNullDesC8 )
-        {
-        return EFalse;
-        }
-    if ( nameString == XnPropertyNames::action::trigger::name::KKeyEvent )
-        {
-        TBool match = DoMatchTriggerForKeyEventL( aKeyEvent, aType, aTriggerNode );
-        if ( match )
-            {
-            CXnNode* eventNode = BuildKeyTriggerNodeL( aKeyEvent, aType, aEngine );
-            CleanupStack::PushL( eventNode );
-            RunEventsL( aThis, aEngine, aNode, aActionNode, aTriggerNode, *eventNode );
-            CleanupStack::PopAndDestroy( eventNode );
-            }
-        return match;
-        }
-    else if ( aType == EEventKey &&
-              ( nameString == XnPropertyNames::action::trigger::name::KUp ||
-                nameString == XnPropertyNames::action::trigger::name::KDown ||
-                nameString == XnPropertyNames::action::trigger::name::KLeft ||
-                nameString == XnPropertyNames::action::trigger::name::KRight ) )
-        {
-        TBool match = DoMatchTriggerForHighLevelKeyEventL(
-            aNode, aKeyEvent, aType, nameString );
-        if ( match )
-            {
-            CXnNode* eventNode = BuildKeyTriggerNodeL( aKeyEvent, aType, aEngine );
-            CleanupStack::PushL( eventNode );
-            RunEventsL( aThis, aEngine, aNode, aActionNode, aTriggerNode, *eventNode );
-            CleanupStack::PopAndDestroy( eventNode );
-            }
-        return match;
-        }
-    else if ( aKeyEvent.iScanCode == EStdKeyDevice3 &&
-              aKeyEvent.iRepeats > 0 &&
-              nameString == XnPropertyNames::action::trigger::name::KHold )
-        {
-        CXnNode* eventNode = BuildKeyTriggerNodeL( aKeyEvent, aType, aEngine );
-        CleanupStack::PushL( eventNode );
-        RunEventsL( aThis, aEngine, aNode, aActionNode, aTriggerNode, *eventNode );
-        CleanupStack::PopAndDestroy( eventNode );
-        return ETrue;
-        }
-   else if ( ( ( aKeyEvent.iScanCode == EStdKeyDevice0 ) ||
-               ( aKeyEvent.iScanCode == EStdKeyDevice1 ) ) &&
-             aKeyEvent.iRepeats > 0 &&
-             nameString == XnPropertyNames::action::trigger::name::KHold )
-        {
-        CXnNode* eventNode = BuildKeyTriggerNodeL( aKeyEvent, aType, aEngine );
-        CleanupStack::PushL( eventNode );
-        RunEventsL( aThis, aEngine, aNode, aActionNode, aTriggerNode, *eventNode );
-        CleanupStack::PopAndDestroy( eventNode );
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchTimedTriggerPropertiesL
-// -----------------------------------------------------------------------------
-//
-static TBool MatchTimedTriggerPropertiesL( CXnDomNode& aTriggerNode )
-    {
-    CXnDomList& children = aTriggerNode.ChildNodes();
-    TInt count = children.Length();
-    if ( count > 0 )
-        {
-        for ( TInt i = 0; i < count; ++i )
-            {
-            CXnDomNode* child = static_cast< CXnDomNode* >( children.Item( i ) );
-            const TDesC8& name = child->AttributeValue( XnPropertyNames::action::KName );
-            if ( name == XnPropertyNames::action::trigger::KDelay )
-                {
-                return ETrue;
-                }
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchStylusTriggerL
-// -----------------------------------------------------------------------------
-//
-static TBool MatchStylusTriggerL(
-    CXnNode& aMatchingTriggerNode,
-    CXnDomNode& aTreeTriggerNode )
-    {
-    TInt ret( EFalse );
-
-    CXnDomList& treeChildren = aTreeTriggerNode.ChildNodes();
-    TInt treeCount = treeChildren.Length();
-
-    RPointerArray< CXnNode >& matchingChildren = aMatchingTriggerNode.Children();
-    TInt matchCount = matchingChildren.Count();
-
-    if ( treeCount == 0 )
-        {
-        // If stylus-trigger does not have properties, trigger is run with stylus up.
-        for ( TInt i = 0; i < matchCount; ++i )
-            {
-            CXnNode* node = matchingChildren[i];
-            CXnProperty* nameProperty = node->NameL();
-            if ( nameProperty )
-                {
-                const TDesC8& name = nameProperty->StringValue();
-                if ( name ==
-                     XnPropertyNames::action::trigger::name::stylus::KStylusEventType )
-                    {
-                    CXnProperty* valueProperty = node->ValueL();
-                    if ( valueProperty )
-                        {
-                        const TDesC8& name = valueProperty->StringValue();
-                        if ( name == XnPropertyNames::action::trigger::name::KDownAndUp )
-                            {
-                            return ETrue;
-                            }
-                        }
-                    }
-                }
-            }
-        return EFalse;
-        }
-
-    // Fetch trigger data defined in the theme
-    TInt treeTriggerState( 1 );
-    HBufC8* treeTriggerType( NULL );
-    for ( TInt i = 0; i < treeCount; ++i )
-        {
-        CXnDomNode* domNode = static_cast< CXnDomNode* >( treeChildren.Item( i ) );
-        CXnDomList& attrs = domNode->AttributeList();
-        CXnDomAttribute* nameAttribute = static_cast< CXnDomAttribute* >(
-            attrs.FindByName( XnPropertyNames::action::KName ) );
-        CXnDomAttribute* valueAttribute = static_cast< CXnDomAttribute* >(
-            attrs.FindByName( XnPropertyNames::action::KValue ) );
-        if ( !nameAttribute || !valueAttribute )
-            {
-            continue;
-            }
-        if ( nameAttribute->Value() ==
-             XnPropertyNames::action::trigger::name::stylus::KStylusState )
-            {
-            TLex8 lex( valueAttribute->Value() );
-            lex.Val( treeTriggerState );
-            }
-        else if ( nameAttribute->Value() ==
-                  XnPropertyNames::action::trigger::name::stylus::KStylusEventType )
-            {
-            // just in case
-            if ( treeTriggerType )
-                {
-                CleanupStack::PopAndDestroy( treeTriggerType );
-                treeTriggerType = NULL;
-                }
-            const TDesC8& value = valueAttribute->Value();
-            treeTriggerType = HBufC8::NewL( value.Length() );
-            TPtr8 ptr = treeTriggerType->Des();
-            ptr = value;
-            CleanupStack::PushL( treeTriggerType );
-            }
-        }
-
-    // If not defined, use the default value 'up'
-    if ( !treeTriggerType )
-        {
-        treeTriggerType = HBufC8::NewL( 10 );
-        TPtr8 ptr = treeTriggerType->Des();
-        ptr.Append( XnPropertyNames::action::trigger::name::KDownAndUp );
-        CleanupStack::PushL( treeTriggerType );
-        }
-
-    // Fetch matching trigger data.
-    TInt matchTriggerState( 1 );
-    HBufC8* matchTriggerType( NULL );
-    for ( TInt i = 0; i < matchCount; ++i )
-        {
-        CXnNode* matchNode = matchingChildren[i];
-        CXnProperty* nameProperty = matchNode->NameL();
-        CXnProperty* valueProperty = matchNode->ValueL();
-        if ( nameProperty && valueProperty )
-            {
-            if ( nameProperty->StringValue() ==
-                 XnPropertyNames::action::trigger::name::stylus::KStylusState )
-                {
-                TLex8 lex( valueProperty->StringValue() );
-                lex.Val( matchTriggerState );
-                }
-            else if ( nameProperty->StringValue() ==
-                      XnPropertyNames::action::trigger::name::stylus::KStylusEventType )
-                {
-                // just in case
-                if ( matchTriggerType )
-                    {
-                    CleanupStack::PopAndDestroy( matchTriggerType );
-                    matchTriggerType = NULL;
-                    }
-                const TDesC8& value = valueProperty->StringValue();
-                matchTriggerType = HBufC8::NewL( value.Length() );
-                TPtr8 ptr = matchTriggerType->Des();
-                ptr = value;
-                CleanupStack::PushL( matchTriggerType );
-                }
-            }
-        }
-
-    if ( treeTriggerState == matchTriggerState )
-        {
-        // just in case
-        if ( !matchTriggerType )
-            {
-            ret = EFalse;
-            }
-        else if ( treeTriggerType->Des() == matchTriggerType->Des() )
-            {
-            ret = ETrue;
-            }
-        // still, if trigger type is 'KUp' it should match to 'KDownAndUp' event
-        else if ( treeTriggerType->Des() ==
-                  XnPropertyNames::action::trigger::name::KUp )
-            {
-            if ( matchTriggerType->Des() ==
-                 XnPropertyNames::action::trigger::name::KDownAndUp )
-                {
-                ret = ETrue;
-                }
-            }
-        }
-    if ( matchTriggerType )
-        {
-        CleanupStack::PopAndDestroy( matchTriggerType );
-        }
-    if ( treeTriggerType )
-        {
-        CleanupStack::PopAndDestroy( treeTriggerType );
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchActivateTriggerPropertiesL
-// Checks if triggered node properties match
-// ones defined in theme
-// -----------------------------------------------------------------------------
-//
-static TBool MatchActivateTriggerPropertiesL(
-    CXnNode& aEventData,
-    CXnDomNode& aTriggerNode )
-    {
-    RPointerArray< CXnNode >& eventChildren = aEventData.Children();
-    TInt eventCount = eventChildren.Count();
-
-    if ( eventCount )
-        {
-        CXnNode* node = eventChildren[0];
-        CXnProperty* nameProperty = node->NameL();
-        CXnProperty* valueProperty = node->ValueL();
-
-        if ( !nameProperty || !valueProperty )
-            {
-            return EFalse;
-            }
-
-        const TDesC8& name = nameProperty->StringValue();
-
-        if ( name == XnPropertyNames::action::trigger::name::keyevent::KEventType )
-            {
-            const TDesC8& valueName = valueProperty->StringValue();
-
-            CXnDomList& children = aTriggerNode.ChildNodes();
-            TInt count = children.Length();
-
-            if ( ( valueName == _L8( "3" ) ) ) //keydown
-                {
-                // check that no eventype has been defined
-                if ( !count )
-                    {
-                    return EFalse;
-                    }
-                }
-            else if ( ( valueName ==  _L8( "2" ) ) ) //keyup
-                {
-                ///check that some eventtype has been defined
-                if ( !count )
-                    {
-                    return EFalse;
-                    }
-
-                CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( 0 ) );
-                CXnDomList& attrs = node->AttributeList();
-                CXnDomAttribute* nameAttribute = static_cast< CXnDomAttribute* >(
-                    attrs.FindByName( XnPropertyNames::action::KName ) );
-                CXnDomAttribute* valueAttribute = static_cast< CXnDomAttribute* >(
-                    attrs.FindByName( XnPropertyNames::action::KValue ) );
-
-                if ( !nameAttribute || !valueAttribute )
-                    {
-                    return EFalse;
-                    }
-                
-                const TDesC8& name = nameAttribute->Value();
-
-                // check that eventype name matches
-                if ( name !=
-                     XnPropertyNames::action::trigger::name::keyevent::KEventType )
-                    {
-                    return EFalse;
-                    }
-                else
-                    {
-                    //check that eventype value matches
-                    const TDesC8& valueName = valueAttribute->Value();
-                    if ( valueName != _L8( "2" ) )
-                        {
-                        return EFalse;
-                        }
-                    }
-                }
-            }
-        }
-
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchScreenDeviceChangePropertiesL
-// Checks if triggered node properties match
-// ones defined in theme
-// -----------------------------------------------------------------------------
-//
-static TBool MatchScreenDeviceChangePropertiesL(
-    CXnNode& aEventData,
-    CXnDomNode& aTriggerNode )
-    {
-    CXnDomList& attributeList( aTriggerNode.AttributeList() );
-
-    const TDesC8& reason(
-        XnPropertyNames::action::trigger::name::uidefinitionmodification::KReason );
-
-    CXnDomAttribute* attribute( static_cast< CXnDomAttribute* >
-        ( attributeList.FindByName( reason ) ) );
-
-    if ( !attribute )
-        {
-        // Reason not defined, run events for plain screendevicechange trigger
-        return ETrue;
-        }
-
-    const TDesC8& value( attribute->Value() );
-
-    if ( value ==
-         XnPropertyNames::action::trigger::name::uidefinitionmodification::reason::KLandscape ||
-         value ==
-         XnPropertyNames::action::trigger::name::uidefinitionmodification::reason::KPortrait )
-        {
-        CXnProperty* reasonProp( aEventData.GetPropertyL( reason ) );
-
-        if ( reasonProp )
-            {
-            const TDesC8& reasonValue( reasonProp->StringValue() );
-
-            if ( reasonValue == value )
-                {
-                return ETrue;
-                }
-            }
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchSwipeTriggerL
-// Check if trigger matches the one defined in theme
-// -----------------------------------------------------------------------------
-//
-static TBool MatchSwipeTriggerL(
-    CXnNode& aEventData,
-    CXnDomNode& aTriggerNode )
-    {
-    CXnDomList& attributeList( aTriggerNode.AttributeList() );
-
-     const TDesC8& reason( XnPropertyNames::action::trigger::name::swipe::KDirection);
-
-     CXnDomAttribute* attribute( static_cast< CXnDomAttribute* >
-         ( attributeList.FindByName( reason ) ) );
-
-     if ( !attribute )
-         {
-         // Reason not defined
-         return EFalse;
-         }
-
-     const TDesC8& value( attribute->Value() );
-
-     if ( value == XnPropertyNames::action::trigger::name::swipe::direction::KLeft ||
-          value == XnPropertyNames::action::trigger::name::swipe::direction::KRight )
-         {
-         CXnProperty* reasonProp( aEventData.GetPropertyL( reason ) );
-
-         if ( reasonProp )
-             {
-             const TDesC8& reasonValue( reasonProp->StringValue() );
-
-             if ( reasonValue == value )
-                 {
-                 return ETrue;
-                 }
-             }
-         }
-
-     return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchValueAttributeTriggerL
-// Check if trigger matches the one defined in theme
-// -----------------------------------------------------------------------------
-//
-static TBool MatchValueAttributeTriggerL( CXnNode& aEventData,
-    CXnDomNode& aTriggerNode )
-    {
-    CXnDomList& attributeList( aTriggerNode.AttributeList() );
-
-     const TDesC8& reason( XnPropertyNames::action::KValue );
-
-     CXnDomAttribute* attribute( static_cast< CXnDomAttribute* >
-         ( attributeList.FindByName( reason ) ) );
-
-     if ( !attribute )
-         {
-         // Reason not defined
-         return EFalse;
-         }
-
-     const TDesC8& value( attribute->Value() );
-
-     CXnProperty* reasonProp( aEventData.GetPropertyL( reason ) );
-
-     if ( reasonProp )
-         {
-         const TDesC8& reasonValue( reasonProp->StringValue() );
-
-         if ( reasonValue == value )
-             {
-             return ETrue;
-             }
-         }
-
-     return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchTitleScrollTriggerL
-// -----------------------------------------------------------------------------
-//
-static TBool MatchTitleScrollTriggerL(CXnNode& aEventData,
-        CXnDomNode& aTriggerNode )
-    {
-    CXnDomList& attributeList( aTriggerNode.AttributeList() );
-
-     const TDesC8& reason( XnPropertyNames::action::trigger::name::KTitleIndex );
-
-     CXnDomAttribute* attribute( static_cast< CXnDomAttribute* >
-         ( attributeList.FindByName( reason ) ) );
-
-     if ( !attribute )
-         {
-         // Reason not defined
-         return ETrue;
-         }
-     else
-         {
-         const TDesC8& value( attribute->Value() );
-
-         CXnProperty* reasonProp( aEventData.GetPropertyL( reason ) );
-
-         if ( reasonProp )
-             {
-             const TDesC8& reasonValue( reasonProp->StringValue() );
-
-             if ( reasonValue == value )
-                 {
-                 return ETrue;
-                 }
-             }
-         }
-
-     return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchTriggerForEventL
-// -----------------------------------------------------------------------------
-//
-static TBool MatchTriggerForEventL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    CXnNode& aEventData,
-    CXnDomNode& aActionNode,
-    CXnDomNode& aTriggerNode,
-    TInt aSource )
-    {
-    const TDesC8& nameString( aTriggerNode.AttributeValue( KName ) );
-
-    if ( nameString == KNullDesC8 )
-        {
-        return EFalse;
-        }
-
-    CXnProperty* eventName( aEventData.NameL() );
-    const TDesC8& eventNameString( eventName->StringValue() );
-
-    if ( nameString == eventNameString )
-        {
-        if ( nameString == XnPropertyNames::action::trigger::name::KStylus )
-            {
-            if ( !MatchStylusTriggerL( aEventData, aTriggerNode ) )
-                {
-                return EFalse;
-                }
-            }
-        // Check if triggernode properties match the ones defined in theme
-        // This is for identifying keyup in activate-trigger
-        else if ( nameString == XnPropertyNames::action::trigger::name::KActivate )
-            {
-            if ( !MatchActivateTriggerPropertiesL( aEventData, aTriggerNode ) )
-                {
-                return EFalse;
-                }
-            }
-        // Check if the trigger is timed trigger
-        else if ( MatchTimedTriggerPropertiesL( aTriggerNode ) )
-            {
-            if ( !aThis->PeriodicTimer() )
-                {
-                aThis->CreatePeriodicL();
-                }
-
-            if ( !aThis->PeriodicTimer()->IsActive() )
-                {
-                TXnTimedTrigger* params = new ( ELeave ) TXnTimedTrigger;
-                CleanupStack::PushL( params );
-
-                params->iNodeImpl = aThis;
-                params->iEngine = &aEngine;
-                params->iNode = &aNode;
-                params->iEventData = &aEventData;
-                params->iActionNode = &aActionNode;
-                params->iTriggerNode = &aTriggerNode;
-
-                TInt delay( 0 );
-
-                ResolveTriggerDelayL( aEngine, aTriggerNode, delay );
-                aNode.SetTriggerDelay( delay );
-
-                CleanupStack::Pop( params );
-
-                aThis->PeriodicTimer()->Start(
-                    TTimeIntervalMicroSeconds32( delay ),
-                    TTimeIntervalMicroSeconds32( delay ),
-                    TCallBack( CXnNodeImpl::PeriodicEventL, params ) );
-
-                return ETrue;
-                }
-            else
-                {
-                return EFalse;
-                }
-            }
-        else if ( nameString == XnPropertyNames::action::trigger::name::KTitleToScroll ||
-                  nameString == XnPropertyNames::action::trigger::name::KTitleScrolled )
-            {
-            if ( !MatchTitleScrollTriggerL( aEventData, aTriggerNode ) )
-                {
-                return EFalse;
-                }
-            }
-        else if ( nameString ==
-                  XnPropertyNames::action::trigger::name::KScreenDeviceChange )
-            {
-            if ( !MatchScreenDeviceChangePropertiesL( aEventData, aTriggerNode ) )
-                {
-                return EFalse;
-                }
-            }
-        else if ( nameString == XnPropertyNames::action::trigger::name::KSwipe )
-            {
-            if ( !MatchSwipeTriggerL( aEventData, aTriggerNode ) )
-                {
-                return EFalse;
-                }
-            }
-        else if ( nameString == XnPropertyNames::action::trigger::name::KWidgetAmount ||
-                  nameString == XnPropertyNames::action::trigger::name::KCallState ||
-                  nameString == XnPropertyNames::action::trigger::name::KEditMode )
-            {
-            if ( !MatchValueAttributeTriggerL( aEventData, aTriggerNode ) )
-                {
-                return EFalse;
-                }
-            }
-        else if ( aSource != XnEventSource::EUnknown )
-            {
-            CXnDomAttribute* attr = static_cast< CXnDomAttribute* >
-                ( aTriggerNode.AttributeList().FindByName(
-                    XnPropertyNames::common::KEventFilter ) );
-            if ( attr )
-                {
-                if ( attr->Value().Find(XnPropertyNames::action::trigger::name::KStylus)
-                     != KErrNotFound &&
-                     aSource == XnEventSource::EStylus )
-                    {
-                    return EFalse;
-                    }
-                else if ( attr->Value().Find(XnPropertyNames::action::trigger::name::KKeyEvent)
-                          != KErrNotFound &&
-                          aSource == XnEventSource::EKey )
-                    {
-                    return EFalse;
-                    }
-                }
-            }
-
-        RunEventsL( aThis, aEngine, aNode, aActionNode, aTriggerNode, aEventData );
-
-        return ETrue;
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// GetFocusCandidatesL
-// -----------------------------------------------------------------------------
-//
-static void GetFocusCandidatesL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode,
-    RPointerArray< CXnNode >& aFocusCandidates )
-    {
-    CXnDomList& children( aEventNode.ChildNodes() );
-
-    TInt count( children.Length() );
-
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* dnode( static_cast< CXnDomNode* >( children.Item( i ) ) );
-
-        const TDesC8& type( dnode->Name() );
-
-        // Is the event's node child a property?
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            CXnDomList& attributeList( dnode->AttributeList() );
-
-            CXnDomAttribute* attribute( static_cast< CXnDomAttribute* >
-                ( attributeList.FindByName( XnPropertyNames::action::KValue ) ) );
-
-            if ( attribute )
-                {
-                CXnNode* node( aEngine.FindNodeByIdL(
-                    attribute->Value(), aThis->Namespace() ) );
-
-                if ( node )
-                    {
-                    aFocusCandidates.AppendL( node );
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunPassiveFocusChangeL
-// -----------------------------------------------------------------------------
-//
-static void RunPassiveFocusChangeL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode,
-    const TDesC8& aString )
-    {
-    CXnDomList& children = aEventNode.ChildNodes();
-    TInt count = children.Length();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* dnode = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = dnode->Name();
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            CXnDomList& attrs = dnode->AttributeList();
-            CXnDomAttribute* attribute = static_cast< CXnDomAttribute* >(
-                attrs.FindByName(XnPropertyNames::action::KValue ) );
-            if ( attribute )
-                {
-                CXnNode* node = aEngine.FindNodeByIdL(
-                    attribute->Value(), aThis->Namespace() );
-                if ( node )
-                    {
-                    if ( aString == XnPropertyNames::action::event::KSetPassiveFocus )
-                        {
-                        aEngine.AddPassiveFocusedNodeL( node );
-                        }
-                    else if ( aString == XnPropertyNames::action::event::KResetPassiveFocus )
-                        {
-                        aEngine.RemovePassiveFocusedNodeL( node );
-                        }
-                    else if ( aString == XnPropertyNames::action::event::KSetActiveFocus )
-                        {
-                        CXnNode* previousNode = aEngine.FocusedNode();
-                        if ( previousNode != node )
-                            {
-                            if ( IsNodeNavigableL( *node ) )
-                                {
-                                node->SetStateL( XnPropertyNames::style::common::KFocus );
-                                aEngine.AddPassiveFocusedNodeL( previousNode );
-                                break;
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunAppUiNotificationL
-// -----------------------------------------------------------------------------
-//
-static void RunAppUiNotificationL(
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    CXnDomNode& aEventNode,
-    CXnDomNode& aTriggerNode,
-    CXnNode& aEventData )
-    {       
-    CXnAppUiAdapter& adapter( aEngine.AppUiAdapter() );
-    
-    adapter.HandleXuikonEventL(
-        aNode.AppIfL(), aEventData.AppIfL(), aTriggerNode, aEventNode );
-    }
-
-// -----------------------------------------------------------------------------
-// RunAppExit
-// -----------------------------------------------------------------------------
-//
-static void RunAppExit( CXnUiEngine& aEngine )
-    {
-    CXnAppUiAdapter& adapter( aEngine.AppUiAdapter() );
-    
-    adapter.Exit();
-    }
-
-// -----------------------------------------------------------------------------
-// RunFullScreenEffectL
-// -----------------------------------------------------------------------------
-//
-static void RunFullScreenEffectL( CXnUiEngine& aEngine, CXnDomNode& aEventNode )
-    {
-    CXnDomList& list( aEventNode.AttributeList() );
-    const TDesC8& effectid( XnPropertyNames::common::KEffectId );
-    CXnDomAttribute* attribute( static_cast< CXnDomAttribute* >
-        ( list.FindByName( effectid ) ) );
-
-    if ( attribute )
-        {
-        
-        const TDesC8& value( attribute->Value() );
-        TLex8 lex( value );
-        TInt effect;
-        lex.Val( effect );
-        
-        aEngine.AppUiAdapter().EffectManager()->BeginFullscreenEffectL(
-                effect, aEngine.ViewManager()->ActiveViewData() );
-        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunActivateViewL
-// -----------------------------------------------------------------------------
-//
-static void RunActivateViewL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode )
-    {
-    CXnDomList& children( aEventNode.ChildNodes() );
-
-    TInt count( children.Length() );
-
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-
-        const TDesC8& type( node->Name() );
-
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            const TDesC8& id( node->AttributeValue( XnPropertyNames::action::KValue ) );
-
-            CXnNode* viewNode( aEngine.FindNodeByIdL( id, aThis->Namespace() ) );
-
-            if ( viewNode )
-                {
-                aEngine.ActivateViewL( *viewNode );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunActivateNextViewL
-// -----------------------------------------------------------------------------
-//
-static void RunActivateNextViewL( CXnUiEngine& aEngine )
-    {
-    aEngine.ViewManager()->ActivateNextViewL();
-    }
-
-// -----------------------------------------------------------------------------
-// RunActivatePreviousViewL
-// -----------------------------------------------------------------------------
-//
-static void RunActivatePreviousViewL( CXnUiEngine& aEngine )
-    {
-    aEngine.ViewManager()->ActivatePreviousViewL();
-    }
-
-// -----------------------------------------------------------------------------
-// RunAddViewL
-// -----------------------------------------------------------------------------
-//
-static void RunAddViewL( CXnUiEngine& aEngine )
-    {
-    aEngine.ViewManager()->AddViewL();
-    }
-
-// -----------------------------------------------------------------------------
-// RunRemoveViewL
-// -----------------------------------------------------------------------------
-//
-static void RunRemoveViewL( CXnUiEngine& aEngine )
-    {
-    aEngine.ViewManager()->RemoveViewL();
-    }
-
-// -----------------------------------------------------------------------------
-// RunActivateL
-// -----------------------------------------------------------------------------
-//
-static void RunActivateL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode )
-    {
-    CXnDomList& children = aEventNode.ChildNodes();
-    TInt count = children.Length();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* dnode = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = dnode->Name();
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            const TDesC8& id = dnode->AttributeValue( KId );
-            CXnNode* node = aEngine.FindNodeByIdL( id, aThis->Namespace() );
-            if ( node )
-                {
-                node->SetStateL( XnPropertyNames::style::common::KActive );
-                return;
-                }
-            }
-        }
-
-    CXnNode* focused( aEngine.FocusedNode() );
-
-    if ( focused )
-        {
-        focused->SetStateL( XnPropertyNames::style::common::KActive );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunEditL
-// -----------------------------------------------------------------------------
-//
-static void RunEditL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode )
-    {    
-    TBool keyEditMode(EFalse);
-    
-    aEngine.DisableRenderUiLC();
-   
-    // Set plugins to edit state
-    RPointerArray< CXnPluginData>& plugins( 
-            aEngine.ViewManager()->ActiveViewData().PluginData() );
-
-    CXnDomStringPool* sp( aEventNode.StringPool() );
-    
-    CXnDomList& children( aEventNode.ChildNodes() );
-
-    TInt count( children.Length() );
-
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* dnode = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = dnode->Name();
-
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            const TDesC8& name = dnode->AttributeValue(
-                XnPropertyNames::action::event::systemset::KName );
-            const TDesC8& value = dnode->AttributeValue(
-                XnPropertyNames::action::event::systemset::KValue );
-
-            if ( name != KNullDesC8 && value != KNullDesC8 )
-                {
-                // Find node by id
-                if ( name == XnPropertyNames::common::KId )
-                    {
-                    CXnNode* node( aEngine.FindNodeByIdL( value, aThis->Namespace() ) );
-
-                    if ( node )
-                        {
-                        node->SetStateL( XnPropertyNames::style::common::KEdit );                        
-                        }
-                    }
-                // Find nodes by class
-                else if ( name == XnPropertyNames::common::KClass )
-                    {
-                    CXnPointerArray* array = aEngine.FindNodeByClassL( value );
-                    CleanupStack::PushL( array );
-
-                    if ( array )
-                        {
-                        const TInt count( array->Container().Count() );
-
-                        for ( TInt i = 0; i < count; ++i )
-                            {
-                            CXnNode* node( static_cast< CXnNode* >(
-                                array->Container()[i] ) );
-                                                                                                             
-                            CXnProperty* editable( node->GetPropertyL(
-                                XnPropertyNames::style::common::edit::KEditable ) );
-
-                            if ( !editable ||
-                                 editable->StringValue() != XnPropertyNames::KFalse )
-                                {
-                                node->SetStateL( XnPropertyNames::style::common::KEdit );                               
-                                }
-                            }
-                        }
-
-                    CleanupStack::PopAndDestroy( array );
-                    }
-                else if ( name == XnPropertyNames::common::KKeyMoveMode )
-                    {
-                    if ( value == XnPropertyNames::KTrue )
-                        {
-                        keyEditMode = ETrue;
-                        }
-                    }
-                }
-            }
-        }
-    if ( keyEditMode )
-        {
-        for ( TInt i = 0; i < plugins.Count(); i++ )
-            {
-            if ( plugins[i]->Occupied() )
-                {
-                CXnNode* node( plugins[i]->Owner()->LayoutNode() );
-                                             
-                node->SetStateL( XnPropertyNames::style::common::KEdit );                                       
-                }
-            }
-        
-        aEngine.EditMode()->SetEditModeL( CXnEditMode::EKeyMove );
-
-        // Put focus to parent plugin if focused node is not a plugin already
-        CXnNode* focusedNode = aEngine.FocusedNode();
-        
-        if ( focusedNode && focusedNode->DomNode()->Name() != _L8( "plugin" ) )
-            {
-            for ( CXnNode* candidate =
-                  focusedNode; candidate; candidate = candidate->Parent() )
-                {
-                if ( candidate->DomNode()->Name() == _L8( "plugin" ) )
-                    {
-                    candidate->SetStateL( XnPropertyNames::style::common::KFocus );
-                    break;
-                    }
-                }
-            }
-        }
-    else 
-        {        
-        TBool useEmpty( aEngine.ViewManager()->ActiveViewData().UseEmptyWidget() );
-        
-        for ( TInt i = 0; i < plugins.Count(); i++ )
-            {
-            CXnNode* node( plugins[i]->Owner()->LayoutNode() );
-            
-            node->SetStateL( XnPropertyNames::style::common::KEdit );
-                                   
-            if ( !plugins[i]->Occupied() && useEmpty )
-                {                               
-                // Make empty space visible
-                SetStringPropertyToNodeL( *sp, *node,
-                    XnPropertyNames::style::common::KVisibility,
-                    XnPropertyNames::style::common::visibility::KVisible );                    
-                }                                              
-            }
-        
-        aEngine.EditMode()->SetEditModeL( CXnEditMode::EDragAndDrop );        
-        }
-
-    CleanupStack::PopAndDestroy();
-    
-    aEngine.AppUiAdapter().ViewAdapter().UpdateRskByModeL();
-    }
-
-// -----------------------------------------------------------------------------
-// RunResetEditL
-// -----------------------------------------------------------------------------
-//
-static void RunResetEditL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode )
-    {    
-    TBool keyEditMode( 
-            aEngine.EditMode()->EditState() == CXnEditMode::EKeyMove );
-    
-    CXnDomList& children( aEventNode.ChildNodes() );
-
-    TInt count( children.Length() );
-
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* dnode = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = dnode->Name();
-
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            const TDesC8& name = dnode->AttributeValue(
-                XnPropertyNames::action::event::systemset::KName );
-            const TDesC8& value = dnode->AttributeValue(
-                XnPropertyNames::action::event::systemset::KValue );
-
-            if ( name != KNullDesC8 && value != KNullDesC8 )
-                {
-                if ( name == XnPropertyNames::common::KId )
-                    {
-                    CXnNode* node( aEngine.FindNodeByIdL( value, aThis->Namespace() ) );
-
-                    if ( node )
-                        {
-                        node->UnsetStateL(
-                            XnPropertyNames::style::common::KEdit );                        
-                        }
-                    }
-                else if ( name == XnPropertyNames::common::KClass )
-                    {
-                    CXnPointerArray* array( aEngine.FindNodeByClassL( value ) );
-                    CleanupStack::PushL( array );
-
-                    const TInt count = array->Container().Count();
-
-                    for ( TInt i = 0; i < count; ++i )
-                        {
-                        CXnNode* node = static_cast< CXnNode* >(
-                            array->Container()[i] );
-
-                        if ( node &&
-                             node->IsStateSet( XnPropertyNames::style::common::KEdit ) )
-                            {
-                            node->UnsetStateL( XnPropertyNames::style::common::KEdit );                            
-                            }
-                        }
-
-                    CleanupStack::PopAndDestroy( array );
-                    }
-                }
-            }
-        }
-
-    RPointerArray< CXnPluginData>& plugins( 
-            aEngine.ViewManager()->ActiveViewData().PluginData() );
-
-    CXnDomStringPool* sp( aEventNode.StringPool() );
-
-    if ( keyEditMode )
-        {
-        for ( TInt i = 0; i < plugins.Count(); i++ )
-            {
-            if ( plugins[i]->Occupied() )
-                {
-                CXnNode* node( plugins[i]->Owner()->LayoutNode() );
-                                             
-                node->UnsetStateL( XnPropertyNames::style::common::KEdit );                                       
-                }
-            }        
-        }
-    else
-        {
-        TBool useEmpty( aEngine.ViewManager()->ActiveViewData().UseEmptyWidget() );
-        
-        for ( TInt i = 0; i < plugins.Count(); i++ )
-            {
-            CXnNode* node( plugins[i]->Owner()->LayoutNode() );
-            
-            node->UnsetStateL( XnPropertyNames::style::common::KEdit );
-            
-            if ( !plugins[i]->Occupied() && useEmpty )
-                {                               
-                // Make empty space blank
-                SetStringPropertyToNodeL( *sp, *node,
-                    XnPropertyNames::style::common::KVisibility,
-                    XnPropertyNames::style::common::visibility::KBlank );                    
-                }
-            }                
-        }
-    
-    aEngine.EditMode()->SetEditModeL( CXnEditMode::ENone );    
-
-    aEngine.AppUiAdapter().ViewAdapter().UpdateRskByModeL();
-    }
-
-// -----------------------------------------------------------------------------
-// RunDeactivateL
-// -----------------------------------------------------------------------------
-//
-static void RunDeactivateL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode )
-    {
-    CXnDomList& children = aEventNode.ChildNodes();
-    TInt count = children.Length();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* dnode = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = dnode->Name();
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            const TDesC8& id = dnode->AttributeValue( KId );
-            CXnNode* node = aEngine.FindNodeByIdL( id, aThis->Namespace() );
-            if ( node )
-                {
-                node->UnsetStateL( XnPropertyNames::style::common::KActive );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunSystemSetPCDataL
-// -----------------------------------------------------------------------------
-//
-static void RunSystemSetPCDataL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    const TDesC8& aId,
-    const TDesC8& aData )
-    {
-    CXnNode* node = aEngine.FindNodeByIdL( aId, aThis->Namespace() );
-
-    if ( node )
-        {
-        node->SetPCDataL( aData );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// GetNumberValues
-// -----------------------------------------------------------------------------
-//
-static void GetNumberValues(
-    const TDesC8& aData,
-    TReal& aNumber,
-    CXnDomPropertyValue::TPrimitiveValueType& aValueType )
-    {
-    TLex8 lex( aData );
-    lex.Val( aNumber );
-    TPtrC8 rest = lex.Remainder();
-    if ( rest.FindF( _L8( "%" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EPercentage;
-        }
-    else if (rest.FindF( _L8( "em" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EEms;
-        }
-    else if ( rest.FindF( _L8( "ex" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EExs;
-        }
-    else if ( rest.FindF( _L8( "px" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EPx;
-        }
-    else if ( rest.FindF( _L8( "u" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EUnitValue;
-        }
-    else if ( rest.FindF( _L8( "cm" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::ECm;
-        }
-    else if ( rest.FindF( _L8( "mm" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EMm;
-        }
-    else if ( rest.FindF( _L8( "in" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EIn;
-        }
-    else if ( rest.FindF( _L8( "pt" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EPt;
-        }
-    else if ( rest.FindF( _L8( "pc" ) ) != KErrNotFound )
-        {
-        aValueType = CXnDomPropertyValue::EPc;
-        }
-    else
-        {
-        aValueType = CXnDomPropertyValue::ENumber;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunSystemSetNumberL
-// -----------------------------------------------------------------------------
-//
-static void RunSystemSetNumberL(
-    CXnUiEngine& aEngine,
-    CXnNode* aNode,
-    const TDesC8& aName,
-    const RPointerArray< HBufC8 >& aValues )
-    {
-    if ( aNode )
-        {
-        CXnDomStringPool* sp = aEngine.ODT()->DomDocument().StringPool();
-        CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
-        CleanupStack::PushL( prop );
-
-        for ( TInt i = 0; i < aValues.Count(); i++ )
-            {
-            const TDesC8& value = ( *aValues[i] );
-
-            CXnDomPropertyValue* propVal = CXnDomPropertyValue::NewL( sp );
-            CleanupStack::PushL( propVal );
-
-            CXnDomPropertyValue::TPrimitiveValueType type;
-            TReal realValue;
-
-            GetNumberValues( value, realValue, type );
-            propVal->SetFloatValueL( type, realValue );
-
-            prop->PropertyValueList().AddItemL( propVal );
-            CleanupStack::Pop( propVal );
-            }
-
-        CXnProperty* propertyValue = CXnProperty::NewL( prop );
-
-        CleanupStack::Pop( prop );
-        CleanupStack::PushL( propertyValue );
-
-        aNode->SetPropertyL( propertyValue );
-
-        CleanupStack::Pop( propertyValue );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunSystemSetRGBL
-// -----------------------------------------------------------------------------
-//
-static void RunSystemSetRGBL(
-    CXnUiEngine& aEngine,
-    CXnNode* aNode,
-    const TDesC8& aName,
-    const RPointerArray< HBufC8 >& aValues )
-    {
-    if ( aNode )
-        {
-        CXnDomStringPool* sp = aEngine.ODT()->DomDocument().StringPool();
-        CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
-        CleanupStack::PushL( prop );
-
-        for ( TInt i = 0; i < aValues.Count(); i++ )
-            {
-            const TDesC8& value = ( *aValues[i] );
-
-            CXnDomPropertyValue* propVal = CXnDomPropertyValue::NewL( sp );
-            CleanupStack::PushL( propVal );
-
-            TRgb rgb;
-
-            if ( CXnUtils::GetRgbValue( rgb, value ) )
-                {
-                propVal->SetRgbColorL( rgb );
-                prop->PropertyValueList().AddItemL( propVal );
-                CleanupStack::Pop( propVal );
-                }
-            else
-                {
-                CleanupStack::PopAndDestroy( propVal );
-                }
-            }
-
-        CXnProperty* propertyValue = CXnProperty::NewL( prop );
-
-        CleanupStack::Pop( prop );
-        CleanupStack::PushL( propertyValue );
-
-        aNode->SetPropertyL( propertyValue );
-
-        CleanupStack::Pop( propertyValue );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunSystemSetStringL
-// -----------------------------------------------------------------------------
-//
-static void RunSystemSetStringL(
-    CXnUiEngine& aEngine,
-    CXnNode* aNode,
-    const TDesC8& aName,
-    const RPointerArray< HBufC8 >& aValues,
-    const CXnDomPropertyValue::TPrimitiveValueType aValueType )
-    {
-    if ( aNode )
-        {
-        CXnDomStringPool* sp = aEngine.ODT()->DomDocument().StringPool();
-        CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
-        CleanupStack::PushL( prop );
-
-        for ( TInt i = 0; i < aValues.Count(); i++ )
-            {
-            const TDesC8& value = ( *aValues[i] );
-
-            CXnDomPropertyValue* propVal = CXnDomPropertyValue::NewL( sp );
-            CleanupStack::PushL( propVal );
-
-            propVal->SetStringValueL( aValueType, value );
-            prop->PropertyValueList().AddItemL( propVal );
-            CleanupStack::Pop( propVal );
-            }
-
-        CXnProperty* propertyValue = CXnProperty::NewL( prop );
-
-        CleanupStack::Pop( prop );
-        CleanupStack::PushL( propertyValue );
-
-        aNode->SetPropertyL( propertyValue );
-
-        CleanupStack::Pop( propertyValue );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunResetStylusCounterL
-// -----------------------------------------------------------------------------
-//
-static void RunResetStylusCounterL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    const TDesC8& aId )
-    {
-    CXnNode* node( aEngine.FindNodeByIdL( aId, aThis->Namespace() ) );
-
-    if ( node )
-        {
-        CXnControlAdapter* adapter( node->Control() );
-
-        if ( adapter )
-            {
-            adapter->ResetStylusCounter();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// GetSystemSetDataL
-// -----------------------------------------------------------------------------
-//
-static void GetSystemSetDataL(
-    CXnDomNode& aDomNode,
-    HBufC8*& aId,
-    const TDesC8** aPseudoClass,
-    const TDesC8** aName,
-    RPointerArray< HBufC8 >* aValues,
-    const TDesC8** aType,
-    TBool aSettings,
-    const TDesC8& aProvidedId,
-    const TDesC8** aClassId )
-    {
-    CXnDomList& children = aDomNode.ChildNodes();
-
-    if ( aSettings )
-        {
-        aId = aProvidedId.AllocL();
-        }
-
-    TInt count = children.Length();
-
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& nodeType = node->Name();
-
-        if ( nodeType == XnPropertyNames::action::KProperty )
-            {
-            const TDesC8& name = node->AttributeValue(
-                XnPropertyNames::action::event::systemset::KName );
-            const TDesC8& value = node->AttributeValue(
-                XnPropertyNames::action::event::systemset::KValue );
-
-            if ( !aSettings &&
-                 ( name == XnPropertyNames::action::event::systemset::KId ) )
-                {
-                HBufC8* utfName = HBufC8::NewL( value.Length() );
-                TPtr8 ptr = utfName->Des();
-                ptr = value;
-                aId = utfName;
-                }
-            else if ( name == XnPropertyNames::action::event::systemset::KPseudoClass )
-                {
-                *aPseudoClass = &value;
-                }
-            else if ( name == XnPropertyNames::action::event::systemset::KName )
-                {
-                *aName = &value;
-                }
-            else if ( name == XnPropertyNames::action::event::systemset::KValue )
-                {
-                if ( aValues )
-                    {
-                    HBufC8* valueH = HBufC8::NewLC( value.Length() + KUnitMaxLen );
-                    TPtr8 ptr( valueH->Des() );
-                    ptr.Append( value );
-                    aValues->AppendL( valueH );     //take ownership
-                    CleanupStack::Pop( valueH );
-                    }
-                }
-            else if ( name == XnPropertyNames::action::event::systemset::KType )
-                {
-                *aType = &value;
-                }
-            else if ( name == XnPropertyNames::action::event::systemset::KUnit )
-                {
-                if ( value.Length() > KUnitMaxLen )
-                    {
-#ifdef _XN_DEBUG_
-                    RDebug::Print( _L( "xnnodeimpl GetSystemSetDataL - unexpected length of type string" ) );
-#endif
-                    User::Leave( KErrNotSupported );
-                    }
-                if ( aValues )
-                    {
-                    TInt index = aValues->Count() - 1;
-                    HBufC8* valueH = ( *aValues )[index];
-                    TPtr8 ptr( valueH->Des() );
-                    ptr.Append( value );
-                    }
-                }
-            else if ( name == XnPropertyNames::action::event::systemset::KClass )
-                {
-                *aClassId = &value;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunTryDisplayingMenuL
-// -----------------------------------------------------------------------------
-//
-static void RunTryDisplayingMenuL( CXnUiEngine& aEngine, CXnDomNode& aEventNode )
-    {
-    CXnNode* menubar( aEngine.MenuBarNode() );
-
-    if ( menubar )
-        {
-        CXnDomList& children( aEventNode.ChildNodes() );
-
-        TInt count( children.Length() );
-
-        for ( TInt i = 0; i < count; ++i )
-            {
-            CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-
-            const TDesC8& type( node->Name() );
-
-            if ( type == XnPropertyNames::action::KProperty )
-                {
-                const TDesC8& id( node->AttributeValue( XnPropertyNames::action::KValue ) );
-
-                if ( id != KNullDesC8 )
-                    {
-                    HBufC* menuId( CnvUtfConverter::ConvertToUnicodeFromUtf8L( id ) );
-                    CleanupStack::PushL( menuId );
-
-                    XnMenuInterface::MXnMenuInterface* menuIf( NULL );
-                    XnComponentInterface::MakeInterfaceL( menuIf, menubar->AppIfL() );
-
-                    if ( menuIf )
-                        {
-                        menuIf->TryDisplayingMenuBarL( *menuId );
-                        }
-
-                    CleanupStack::PopAndDestroy( menuId );
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunTryDisplayingListQueryDialogL
-// -----------------------------------------------------------------------------
-//
-static void RunTryDisplayingListQueryDialogL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode )
-    {
-    CXnDomList& children( aEventNode.ChildNodes() );
-
-    TInt count( children.Length() );
-
-    if ( count > 0 )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( 0 ) );
-
-        const TDesC8& type( node->Name() );
-
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            const TDesC8& id(
-                node->AttributeValue( XnPropertyNames::action::KValue ) );
-
-            if ( id != KNullDesC8 )
-                {
-                CXnNode* dialog( aEngine.FindNodeByIdL( id, aThis->Namespace() ) );
-
-                if ( dialog && dialog->Type()->Type() == XnPropertyNames::listquerydialog::KListQueryDialog )
-                    {
-                    CXnListQueryDialogAdapter* adapter = 
-                        static_cast< CXnListQueryDialogAdapter* > ( dialog->Control() );                
-                    
-                    adapter->TryDisplayingDialogL();
-                    }
-                
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunTryDisplayingStylusPopupL
-// -----------------------------------------------------------------------------
-//
-static void RunTryDisplayingStylusPopupL(
-    CXnNodeImpl* aThis,
-    CXnNode& aNode,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode )
-    {    
-    CXnDomList& children( aEventNode.ChildNodes() );
-
-    TInt count( children.Length() );
-
-    if ( count > 0 )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( 0 ) );
-
-        const TDesC8& type( node->Name() );
-
-        if ( type == XnPropertyNames::action::KProperty )
-            {
-            const TDesC8& id( node->AttributeValue(
-                XnPropertyNames::action::KValue ) );
-
-            if ( id != KNullDesC8 )
-                {
-                CXnNode* popup( aEngine.FindNodeByIdL( id, aThis->Namespace() ) );
-
-                if ( popup && popup->Type()->Type() == _L8("styluspopup") )
-                    {
-                    CXnPopupControlAdapter* adapter = 
-                        static_cast< CXnPopupControlAdapter* > ( popup->Control() );                
-                    
-                    adapter->TryDisplayingStylusPopupL( aNode );                                       
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunSetInitialFocusL
-// -----------------------------------------------------------------------------
-//
-static void RunSetInitialFocusL( CXnUiEngine& aEngine )
-    {    
-    TBool editState( aEngine.EditMode()->EditState() );
-    
-    CXnViewManager* manager( aEngine.ViewManager() );
-        
-    RPointerArray< CXnNode >& pluginNodes( manager->PluginNodes() );
-
-    if ( editState )
-        {
-        TBool pluginFocused( EFalse );
-        
-        for ( TInt i = 0; i < pluginNodes.Count(); i++ )
-            {
-            CXnNode* node( pluginNodes[i] );
-            
-            if ( node->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-                {
-                pluginFocused = ETrue;
-                break;
-                }
-            }
-        
-        if ( !pluginFocused )
-            {
-            for ( TInt i = 0; i < pluginNodes.Count(); i++ )
-                {
-                CXnNode* node( pluginNodes[i] );
-                
-                node->SetStateWithoutNotificationL(
-                    XnPropertyNames::style::common::KFocus );
-    
-                if ( node->IsStateSet( 
-                    XnPropertyNames::style::common::KFocus ) )
-                    {
-                    break;
-                    }
-                }
-            }
-        }
-    else
-        {
-        CXnViewData& viewData( manager->ActiveViewData() );
-        
-        RPointerArray< CXnPluginData > plugins;
-        CleanupClosePushL( plugins );
-
-        for( TInt i = 0; i < pluginNodes.Count(); i++ )
-            {
-            CXnPluginData& data( viewData.Plugin( pluginNodes[i] ) );
-            
-            if( data.Occupied() )
-                {
-                plugins.AppendL( &data );
-                }
-            }
-        
-        plugins.Append( &viewData );
-            
-        RPointerArray< CXnNode > list;
-        CleanupClosePushL( list );
-
-        for( TInt i = 0; i < plugins.Count(); i++ )
-            {
-            plugins[i]->InitialFocusNodesL( list );
-            }
-               
-        for ( TInt i = 0; i < list.Count(); i++ )
-            {
-            CXnNode* node( list[i] );
-
-            node->SetStateWithoutNotificationL(
-                XnPropertyNames::style::common::KFocus );
-
-            if ( node->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-                {
-                break;
-                }
-            }
-
-        CleanupStack::PopAndDestroy( 2, &plugins ); // list         
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunSystemSetL
-// -----------------------------------------------------------------------------
-//
-static void RunSystemSetL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnDomNode& aEventNode,
-    TBool aSettings,
-    const TDesC8& aId )
-    {
-    HBufC8* id = NULL;
-    const TDesC8* pseudoClass = NULL;
-    const TDesC8* name = NULL;
-    const TDesC8* type = NULL;
-    const TDesC8* classId = NULL;
-
-    RPointerArray< HBufC8 > values;
-    CleanupResetAndDestroyPushL( values );
-
-    GetSystemSetDataL(
-        aEventNode, id, &pseudoClass, &name,
-        &values, &type, aSettings, aId, &classId );
-
-    CleanupStack::PushL( id );
-
-    if ( !name && id )
-        {
-        for ( TInt i = 0; i < values.Count(); i++ )
-            {
-            const TDesC8* value = values[i];
-
-            RunSystemSetPCDataL( aThis, aEngine, *id, *value );
-            }
-        }
-    else if ( name && id && type )
-        {
-        CXnNode* node = aEngine.FindNodeByIdL( *id, aThis->Namespace() );
-
-        if ( *type == XnPropertyNames::action::event::systemset::type::KString )
-            {
-            RunSystemSetStringL(
-                aEngine, node, *name, values, CXnDomPropertyValue::EString );
-            }
-        else if ( *type ==
-                  XnPropertyNames::action::event::systemset::type::KNumeric )
-            {
-            RunSystemSetNumberL(
-                aEngine, node, *name, values );
-            }
-        else if ( *type == XnPropertyNames::action::event::systemset::type::KRGB )
-            {
-            RunSystemSetRGBL(
-                aEngine, node, *name, values );
-            }
-        else if ( *type == XnPropertyNames::action::event::systemset::type::KUrl )
-            {
-            RunSystemSetStringL(
-                aEngine, node, *name, values, CXnDomPropertyValue::EUri );
-            }
-        else if ( *type ==
-                  XnPropertyNames::action::event::systemset::type::KAttribute )
-            {
-            RunSystemSetStringL(
-                aEngine, node, *name, values, CXnDomPropertyValue::EAttr );
-            }
-        }
-    else if ( name && classId && type )
-        {
-        CXnPointerArray* array = aEngine.FindNodeByClassL( *classId );
-        CleanupStack::PushL( array );
-
-        const TInt count = array->Container().Count();
-
-        for ( TInt i = 0; i < count; ++i )
-            {
-            CXnNode* node = static_cast< CXnNode* >(array->Container()[i]);
-            if ( *type == XnPropertyNames::action::event::systemset::type::KString )
-                {
-                RunSystemSetStringL(
-                    aEngine, node, *name, values, CXnDomPropertyValue::EString );
-                }
-            else if ( *type ==
-                      XnPropertyNames::action::event::systemset::type::KNumeric )
-                {
-                RunSystemSetNumberL(
-                    aEngine, node, *name, values );
-                }
-            else if ( *type == XnPropertyNames::action::event::systemset::type::KRGB )
-                {
-                RunSystemSetRGBL(
-                    aEngine, node, *name, values );
-                }
-            else if ( *type == XnPropertyNames::action::event::systemset::type::KUrl )
-                {
-                RunSystemSetStringL(
-                    aEngine, node, *name, values, CXnDomPropertyValue::EUri );
-                }
-            else if ( *type ==
-                      XnPropertyNames::action::event::systemset::type::KAttribute )
-                {
-                RunSystemSetStringL(
-                    aEngine, node, *name, values, CXnDomPropertyValue::EAttr );
-                }
-            }
-        CleanupStack::PopAndDestroy( array );
-        }
-
-    CleanupStack::PopAndDestroy( 2, &values );
-    }
-
-// -----------------------------------------------------------------------------
-// ResolveTriggerDelayL
-// -----------------------------------------------------------------------------
-//
-static void ResolveTriggerDelayL(
-    CXnUiEngine& /*aEngine*/,
-    CXnDomNode& aNode,
-    TInt& aDelay )
-    {
-    CXnDomList& children = aNode.ChildNodes();
-    for ( TInt i = 0; i < children.Length(); i++ )
-        {
-        CXnDomNode* child = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& name = child->AttributeValue( XnPropertyNames::action::KName );
-        if ( name == XnPropertyNames::action::trigger::KDelay )
-            {
-            const TDesC8& value = child->AttributeValue( XnPropertyNames::action::KValue );
-            if ( value != KNullDesC8 )
-                {
-                TInt triggerDelay( 0 );
-                TLex8 lex;
-                lex.Assign( value );
-                lex.Val( triggerDelay );
-                aDelay = triggerDelay;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RunEventL
-// -----------------------------------------------------------------------------
-//
-static TBool RunEventL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    CXnDomNode& aEventNode,
-    CXnDomNode& aTriggerNode,
-    CXnNode& aEventData )
-    {
-    const TDesC8& nameString( aEventNode.AttributeValue( KName ) );
-
-    if ( nameString == KNullDesC8 )
-        {
-        return EFalse;
-        }
-
-    const TDesC8& system( XnPropertyNames::action::event::KSystemPrefix() );
-    
-    if ( nameString.Find( system ) != 0 )
-        {
-        // event doesn't contain "system/" prefix         
-        RunAppUiNotificationL( aEngine, aNode, 
-            aEventNode, aTriggerNode, aEventData );
-        }    
-    else if ( nameString == XnPropertyNames::action::event::KSetFocus )
-        {
-        RPointerArray< CXnNode > focusCandidates;
-        CleanupClosePushL( focusCandidates );
-
-        GetFocusCandidatesL( aThis, aEngine, aEventNode, focusCandidates );
-
-        TBool retval( aNode.RunFocusChangeL( focusCandidates ) );
-
-        CleanupStack::PopAndDestroy( &focusCandidates );
-
-        return retval;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KSetInitialFocus )
-        {
-        RunSetInitialFocusL( aEngine );
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KSet )
-        {
-        RunSystemSetL( aThis, aEngine, aEventNode );
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KSetPassiveFocus ||
-              nameString == XnPropertyNames::action::event::KResetPassiveFocus ||
-              nameString == XnPropertyNames::action::event::KSetActiveFocus )
-        {
-        RunPassiveFocusChangeL( aThis, aEngine, aEventNode, nameString );
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KClearPassiveFocuses )
-        {
-        aEngine.ClearPassiveFocusedNodesL();
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KSetEditMode )
-        {
-        RunEditL( aThis, aEngine, aEventNode );
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KResetEditMode )
-        {
-        RunResetEditL( aThis, aEngine, aEventNode );
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KResetStylusCounter )
-        {
-        HBufC8* id( NULL );
-
-        GetSystemSetDataL( aEventNode, id );
-        CleanupStack::PushL( id );
-
-        RunResetStylusCounterL( aThis, aEngine, *id );
-
-        CleanupStack::PopAndDestroy( id );
-
-        return EFalse;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KRunAddWidgetQuery )
-        {
-        aEngine.Editor()->AddWidgetL();
-        }
-    else if ( nameString == XnPropertyNames::action::event::KRemoveFocusedWidget )
-        {
-        aEngine.Editor()->RemoveWidgetL( aEngine.FocusedNode() );               
-        }
-    else if ( nameString == XnPropertyNames::action::event::KRunFullScreenEffect )
-        {
-        TInt viewCount( aEngine.ViewManager()->ViewAmount() );
-
-        if ( viewCount > KOneView )
-            {
-            RunFullScreenEffectL( aEngine, aEventNode );
-            }
-        }
-    else if ( nameString == XnPropertyNames::action::event::KActivateNextView )
-        {
-        RunActivateNextViewL( aEngine );
-        }
-    else if ( nameString == XnPropertyNames::action::event::KActivatePreviousView )
-        {
-        RunActivatePreviousViewL( aEngine );
-        }
-    else if ( nameString == XnPropertyNames::action::event::KAddView )
-        {
-        RunAddViewL( aEngine );
-        }
-    else if ( nameString == XnPropertyNames::action::event::KRemoveView )
-        {
-        RunRemoveViewL( aEngine );
-        }
-    else if ( nameString == XnPropertyNames::action::event::KActivateView )
-        {
-        RunActivateViewL( aThis, aEngine, aEventNode );
-        }
-    else if ( nameString == XnPropertyNames::action::event::KActivate )
-        {
-        RunActivateL( aThis, aEngine, aEventNode );
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KActivateSelectedItem )
-        {
-        CXnNode* focusedNode = aEngine.FocusedNode();
-        if ( focusedNode )
-            {
-            CXnNode* activate = BuildActivateTriggerNodeL( aEngine );
-            CleanupStack::PushL( activate );
-            focusedNode->ReportXuikonEventL( *activate );
-            CleanupStack::PopAndDestroy( activate );
-            }
-        return EFalse;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KDeactivate )
-        {
-        RunDeactivateL( aThis, aEngine, aEventNode );
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KExit )
-        {
-        RunAppExit( aEngine );
-        }
-    else if ( nameString == XnPropertyNames::action::event::KTryDisplayingMenu )
-        {
-        RunTryDisplayingMenuL( aEngine, aEventNode );
-        }
-    else if ( nameString ==
-              XnPropertyNames::action::event::KTryDisplayingListQueryDialog )
-        {
-        RunTryDisplayingListQueryDialogL( aThis, aEngine, aEventNode );
-        }
-    else if ( nameString == XnPropertyNames::action::event::KTryDisplayingStylusPopup )
-        {
-        RunTryDisplayingStylusPopupL( aThis, aNode, aEngine, aEventNode );
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KToggleWidgetsVisibilty )
-        {
-        aEngine.Editor()->ToggleWidgetsVisibiltyL();
-
-        // check if focused widget need to be changed
-        CXnNode* focused( aEngine.FocusedNode() );
-
-        if ( !focused || !IsNodeNavigableL( focused ) )
-            {
-            RunSetInitialFocusL( aEngine );
-            }
-
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KReportEnterEditMode ) 
-            
-        {
-        CXnNode* trigger( BuildTriggerNodeL( aEngine,                    
-            XnPropertyNames::action::trigger::name::KEditMode ) );
-        CleanupStack::PushL( trigger );
-
-        CXnDomStringPool* sp( aEngine.ODT()->DomDocument().StringPool() );
-        
-        CXnProperty* value( CXnProperty::NewL(
-            XnPropertyNames::action::KValue,
-            XnPropertyNames::action::trigger::name::editmode::KEnter, 
-            CXnDomPropertyValue::EString, *sp ) );
-        CleanupStack::PushL( value );
-        
-        trigger->SetPropertyL( value );
-        CleanupStack::Pop( value );
-
-        aEngine.ActiveView()->ReportXuikonEventL( *trigger );
-        
-        CleanupStack::PopAndDestroy( trigger );
-
-        return ETrue;
-        }
-    else if( nameString == XnPropertyNames::action::event::KReportExitEditMode )
-        {
-        CXnNode* trigger( BuildTriggerNodeL( aEngine,                    
-            XnPropertyNames::action::trigger::name::KEditMode ) );
-        CleanupStack::PushL( trigger );
-        
-        CXnDomStringPool* sp( aEngine.ODT()->DomDocument().StringPool() );
-        
-        CXnProperty* value( CXnProperty::NewL(
-            XnPropertyNames::action::KValue,
-            XnPropertyNames::action::trigger::name::editmode::KExit, 
-            CXnDomPropertyValue::EString, *sp ) );
-        CleanupStack::PushL( value );
-        
-        trigger->SetPropertyL( value );
-        CleanupStack::Pop( value );
-        
-        aEngine.ActiveView()->ReportXuikonEventL( *trigger );
-        
-        CleanupStack::PopAndDestroy( trigger );
-                
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KRestartTriggerTimer )
-        {
-        TInt delay( 0 );
-
-        ResolveTriggerDelayL( aEngine, aEventNode, delay );
-
-        if ( delay > 0 )
-            {
-            aNode.RestartTimedTrigger( delay );
-            }
-        else
-            {
-            TTimeIntervalMicroSeconds32 delayms = aNode.TriggerDelay();
-            aNode.RestartTimedTrigger( delayms.Int() );
-            }
-
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KCancelTriggerTimer )
-        {
-        aNode.RestartTimedTrigger();
-        return ETrue;
-        }
-    else if ( nameString == XnPropertyNames::action::event::KSetWallpaper )
-        {
-        aEngine.AppUiAdapter().ViewAdapter().BgManager().SetWallpaperL();
-        return ETrue;
-        }
-           
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// RunEventsL
-// -----------------------------------------------------------------------------
-//
-static void RunEventsL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    CXnDomNode& aActionNode,
-    CXnDomNode& aTriggerNode,
-    CXnNode& aEventData )
-    {
-    CXnDomList& children = aActionNode.ChildNodes();
-    TInt count = children.Length();
-    TBool render = EFalse;
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >(children.Item( i ) );
-        const TDesC8& type = node->Name();
-        if ( type == XnPropertyNames::action::KEvent )
-            {
-            TBool tmp = RunEventL(
-                aThis, aEngine, aNode, *node, aTriggerNode, aEventData );
-            if ( !render )
-                {
-                render = tmp;
-                }
-            }
-        }
-    if ( render )
-        {
-        aEngine.RenderUIL( NULL );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DoMatchTriggerForHighLevelKeyEventL
-// -----------------------------------------------------------------------------
-//
-static TBool DoMatchTriggerForHighLevelKeyEventL(
-    CXnNode& aNode,
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType,
-    const TDesC8& aHighLevelKey )
-    {
-    const TDesC8* key;
-
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-            key = &XnPropertyNames::action::trigger::name::KLeft;
-            break;
-        case EKeyRightArrow:
-            key = &XnPropertyNames::action::trigger::name::KRight;
-            break;
-        case EKeyUpArrow:
-            key = &XnPropertyNames::action::trigger::name::KUp;
-            break;
-        case EKeyDownArrow:
-            key = &XnPropertyNames::action::trigger::name::KDown;
-            break;
-        default:
-            key = NULL;
-            break;
-        }
-
-    if ( !key || aType != EEventKey )
-        {
-        return EFalse;
-        }
-
-    CXnNode* parent( aNode.Parent() );
-
-    if ( !parent || aNode.ViewNodeImpl() )
-        {
-        if ( *key == aHighLevelKey )
-            {
-            return ETrue;
-            }
-        }
-    else
-        {
-        const TDesC8* direction(
-            &XnPropertyNames::style::common::direction::KLTR );
-        const TDesC8* orientation(
-            &XnPropertyNames::style::common::block_progression::KTB );
-
-        CXnProperty* directionProperty( parent->DirectionL() );
-
-        if ( directionProperty )
-            {
-            direction = &directionProperty->StringValue();
-            }
-
-        CXnProperty* orientationProperty( parent->BlockProgressionL() );
-
-        if ( orientationProperty )
-            {
-            orientation = &orientationProperty->StringValue();
-            }
-
-        if ( *direction == XnPropertyNames::style::common::direction::KLTR &&
-             ( *orientation == XnPropertyNames::style::common::block_progression::KLR ||
-               *orientation == XnPropertyNames::style::common::block_progression::KRL ) )
-            {
-            if ( *key == aHighLevelKey )
-                {
-                return ETrue;
-                }
-            }
-        else if ( *direction == XnPropertyNames::style::common::direction::KRTL &&
-                  ( *orientation == XnPropertyNames::style::common::block_progression::KLR ||
-                    *orientation == XnPropertyNames::style::common::block_progression::KRL ) )
-            {
-            if ( *key == XnPropertyNames::action::trigger::name::KRight &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KLeft )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KLeft &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KRight )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KDown &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KDown )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KUp &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KUp )
-                {
-                return ETrue;
-                }
-            }
-        else if ( *direction == XnPropertyNames::style::common::direction::KLTR &&
-                  *orientation == XnPropertyNames::style::common::block_progression::KTB )
-            {
-            if ( *key == XnPropertyNames::action::trigger::name::KUp &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KLeft )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KDown &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KRight )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KLeft &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KDown )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KRight &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KUp )
-                {
-                return ETrue;
-                }
-            }
-        else if ( *direction == XnPropertyNames::style::common::direction::KRTL &&
-                  *orientation == XnPropertyNames::style::common::block_progression::KTB )
-            {
-            if ( *key == XnPropertyNames::action::trigger::name::KDown &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KLeft )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KUp &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KRight )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KLeft &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KDown )
-                {
-                return ETrue;
-                }
-
-            if ( *key == XnPropertyNames::action::trigger::name::KRight &&
-                 aHighLevelKey == XnPropertyNames::action::trigger::name::KUp )
-                {
-                return ETrue;
-                }
-            }
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchActionForKeyEventL
-// -----------------------------------------------------------------------------
-//
-static TBool MatchActionForKeyEventL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    const TKeyEvent& aKeyEvent, TEventCode aType,
-    CXnDomNode& aActionNode )
-    {
-    CXnDomList& children = aActionNode.ChildNodes();
-    TInt count = children.Length();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = node->Name();
-        if ( type == XnPropertyNames::action::KTrigger )
-            {
-            if ( node && ( IsTriggerRunnableL( *node ) || IsTriggerActiveL( *node ) ) )
-                {
-                TBool match = MatchTriggerForKeyEventL(
-                    aThis, aEngine, aNode, aKeyEvent, aType, aActionNode, *node );
-                if ( match )
-                    {
-                    return match;
-                    }
-                }
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsTriggerActiveL
-// -----------------------------------------------------------------------------
-//
-static TBool IsTriggerActiveL( CXnDomNode& aNode )
-    {
-    CXnDomList& propList = aNode.PropertyList();
-    TInt count = propList.Length();
-    for ( TInt j = 0; j < count; j++ )
-        {
-        CXnDomProperty* prop = static_cast< CXnDomProperty* >( propList.Item( j ) );
-        const TDesC8& propName = prop->Name();
-        if ( propName == XnPropertyNames::style::common::KDisplay )
-            {
-            CXnDomList& propValList = prop->PropertyValueList();
-            TInt propValCount(propValList.Length());
-            for ( TInt k = 0; k < propValCount; k++ )
-                {
-                CXnDomPropertyValue* propVal =
-                    static_cast< CXnDomPropertyValue* >( propValList.Item( k ) );
-                CXnDomPropertyValue::TPrimitiveValueType type =
-                    propVal->PrimitiveValueType();
-                switch ( type )
-                    {
-                    case CXnDomPropertyValue::EString:
-                    case CXnDomPropertyValue::EIdent:
-                    case CXnDomPropertyValue::EUri:
-                    case CXnDomPropertyValue::EAttr:
-                    case CXnDomPropertyValue::EUnknown:
-                        {
-                        const TDesC8& value = propVal->StringValueL();
-                        if ( value == XnPropertyNames::style::common::display::KNone )
-                            {
-                            return EFalse;
-                            }
-                        else
-                            {
-                            return ETrue;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// MatchActionForEventL
-// -----------------------------------------------------------------------------
-//
-static TBool MatchActionForEventL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    CXnNode& aEventData,
-    CXnDomNode& aActionNode,
-    TInt aSource )
-    {
-    CXnDomList& children = aActionNode.ChildNodes();
-    TInt count = children.Length();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = node->Name();
-        if ( type == XnPropertyNames::action::KTrigger &&
-             node && IsTriggerRunnableL( *node ) )
-            {
-            TBool match = MatchTriggerForEventL(
-                aThis, aEngine, aNode, aEventData, aActionNode, *node, aSource );
-            if ( match )
-                {
-                return match;
-                }
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// FindLoopedFocusableNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindLoopedFocusableNodeL( CXnNode& aNode, TBool aForward )
-    {
-    if ( aNode.ViewNodeImpl() )
-        {
-        return NULL;
-        }
-    CXnNode* nextNode = NULL;
-    CXnProperty* navLoopProperty = aNode.GetPropertyL(
-        XnPropertyNames::style::common::KS60NavLooping );
-    if ( navLoopProperty )
-        {
-        const TDesC8& loopValue = navLoopProperty->StringValue();
-        if ( loopValue != KNullDesC8 &&
-             loopValue == XnPropertyNames::grid::s60_focus_looping::KStop )
-            {
-            return NULL;
-            }
-        }
-    if ( aForward )
-        {
-        nextNode = ForwardLoopL( aNode );
-        }
-    else
-        {
-        nextNode = BackwardLoopL( aNode );
-        }
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// GetNavIndexL
-// -----------------------------------------------------------------------------
-//
-static CXnDomPropertyValue* GetNavIndexL( CXnNode& aNode )
-    {
-    CXnProperty* navIndexProperty = aNode.NavIndexL();
-    CXnDomPropertyValue* value = NULL;
-    if ( navIndexProperty )
-        {
-        value = static_cast< CXnDomPropertyValue* >(
-            navIndexProperty->Property()->PropertyValueList().Item( 0 ) );
-        }
-    return value;
-    }
-
-// -----------------------------------------------------------------------------
-// ForwardL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* ForwardL( CXnNode& aNode )
-    {
-    RPointerArray< CXnNode >& siblings = aNode.Parent()->Children();
-    CXnNode* nextNode = NULL;
-    CXnDomPropertyValue* navIndexValue = GetNavIndexL( aNode );
-    CXnDomPropertyValue* prevIndexValue = NULL;
-    CXnDomPropertyValue* tmpIndexValue = NULL;
-    TInt count = siblings.Count();
-    TInt nodePosition = count;
-    TBool first = ETrue;
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnNode* tmpNode = siblings[i];
-        if ( tmpNode == &aNode )
-            {
-            nodePosition = i;
-            continue;
-            }
-        if ( !IsNodeNavigableL( *tmpNode ) )
-            {
-            continue;
-            }
-        tmpIndexValue = GetNavIndexL( *tmpNode );
-        if ( tmpIndexValue )
-            {
-            if ( tmpIndexValue->IsNoneIdent() )
-                {
-                // nav index set as none, skipping
-                continue;
-                }
-            }
-        if ( ( CompareNavIndexesL( tmpIndexValue, navIndexValue ) == 0 ) &&
-             ( first ||
-               ( CompareNavIndexesL( tmpIndexValue, prevIndexValue ) < 0 ) ) &&
-             ( i > nodePosition ) )
-            {
-            first = EFalse;
-            prevIndexValue = tmpIndexValue;
-            nextNode = tmpNode;
-            }
-        else if ( ( CompareNavIndexesL( tmpIndexValue, navIndexValue ) > 0 ) &&
-                  ( first ||
-                    ( CompareNavIndexesL( tmpIndexValue, prevIndexValue ) < 0 ) ) )
-            {
-            first = EFalse;
-            prevIndexValue = tmpIndexValue;
-            nextNode = tmpNode;
-            }
-        }
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// ForwardLoopL
-// -----------------------------------------------------------------------------
-//
-static CXnNode*  ForwardLoopL( CXnNode& aNode )
-    {
-    RPointerArray< CXnNode >& siblings = aNode.Parent()->Children();
-    CXnNode* nextNode = NULL;
-    CXnDomPropertyValue* navIndexValue = GetNavIndexL( aNode );
-    CXnDomPropertyValue* tmpIndexValue = NULL;
-    CXnDomPropertyValue* prevIndexValue = NULL;
-    TInt count = siblings.Count();
-    TInt nodePosition = count;
-    TBool first = ETrue;
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnNode* tmpNode = siblings[i];
-        if ( tmpNode == &aNode )
-            {
-            nodePosition = i;
-            continue;
-            }
-        if ( !IsNodeNavigableL( *tmpNode ) )
-            {
-            continue;
-            }
-        tmpIndexValue = GetNavIndexL( *tmpNode );
-        if ( tmpIndexValue )
-            {
-            if ( tmpIndexValue->IsNoneIdent() )
-                {
-                // nav index set as none, skipping
-                continue;
-                }
-            }
-       if ( ( CompareNavIndexesL( navIndexValue, tmpIndexValue ) == 0 ) &&
-              ( first ||
-                ( CompareNavIndexesL( tmpIndexValue, prevIndexValue ) < 0 ) ) &&
-              ( i < nodePosition ) )
-            {
-            first = EFalse;
-            prevIndexValue = tmpIndexValue;
-            nextNode = tmpNode;
-            }
-        else if ( ( CompareNavIndexesL( tmpIndexValue, navIndexValue ) < 0 ) &&
-                  ( first ||
-                    ( CompareNavIndexesL( tmpIndexValue, prevIndexValue ) < 0 ) ) )
-            {
-            first = EFalse;
-            prevIndexValue = tmpIndexValue;
-            nextNode = tmpNode;
-            }
-        }
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// BackwardL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BackwardL( CXnNode& aNode )
-    {
-    RPointerArray< CXnNode >& siblings = aNode.Parent()->Children();
-    CXnNode* nextNode = NULL;
-    CXnDomPropertyValue* navIndexValue = GetNavIndexL( aNode );
-    CXnDomPropertyValue* tmpIndexValue = NULL;
-    TInt count = siblings.Count();
-    CXnDomPropertyValue* nextIndexValue = GetNavIndexL( *siblings[count - 1] );
-    TInt nodePosition = 0;
-    TBool first = ETrue;
-    for ( TInt i = count - 1; i > -1; --i )
-        {
-        CXnNode* tmpNode = siblings[i];
-        if ( tmpNode == &aNode )
-            {
-            nodePosition = i;
-            continue;
-            }
-        if ( !IsNodeNavigableL( *tmpNode ) )
-            {
-            continue;
-            }
-        tmpIndexValue = GetNavIndexL( *tmpNode );
-        if ( tmpIndexValue )
-            {
-            if ( tmpIndexValue->IsNoneIdent() )
-                {
-                // nav index set as none, skipping
-                continue;
-                }
-            }
-       if ( ( CompareNavIndexesL( navIndexValue, tmpIndexValue ) == 0 ) &&
-             ( first ||
-               ( CompareNavIndexesL( tmpIndexValue, nextIndexValue ) > 0 ) ) &&
-               ( i < nodePosition ) )
-            {
-            first = EFalse;
-            nextIndexValue = tmpIndexValue;
-            nextNode = tmpNode;
-            }
-       else if ( ( CompareNavIndexesL( tmpIndexValue, navIndexValue ) < 0 ) &&
-                 ( first ||
-                   ( CompareNavIndexesL( tmpIndexValue, nextIndexValue ) > 0 ) ) )
-            {
-            first = EFalse;
-            nextIndexValue = tmpIndexValue;
-            nextNode = tmpNode;
-            }
-        }
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// BackwardLoopL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BackwardLoopL( CXnNode& aNode )
-    {
-    RPointerArray<CXnNode>& siblings = aNode.Parent()->Children();
-    CXnNode* nextNode = NULL;
-    CXnDomPropertyValue* navIndexValue = GetNavIndexL( aNode );
-    CXnDomPropertyValue* tmpIndexValue = NULL;
-    TInt count = siblings.Count();
-    CXnDomPropertyValue* nextIndexValue = GetNavIndexL( *siblings[count - 1] );
-    TInt nodePosition = 0;
-    TBool first = ETrue;
-    for ( TInt i = count - 1; i > -1; --i )
-        {
-        CXnNode* tmpNode = siblings[i];
-        if ( tmpNode == &aNode )
-            {
-            nodePosition = i;
-            continue;
-            }
-        if ( !IsNodeNavigableL( *tmpNode ) )
-            {
-            continue;
-            }
-        tmpIndexValue = GetNavIndexL( *tmpNode );
-        if ( tmpIndexValue )
-            {
-            if ( tmpIndexValue->IsNoneIdent() )
-                {
-                // nav index set as none, skipping
-                continue;
-                }
-            }
-       if ( ( CompareNavIndexesL( tmpIndexValue, navIndexValue ) == 0 ) &&
-             ( first ||
-               ( CompareNavIndexesL( tmpIndexValue, nextIndexValue ) > 0 ) ) &&
-             ( i > nodePosition ) )
-            {
-            first = EFalse;
-            nextIndexValue = tmpIndexValue;
-            nextNode = tmpNode;
-            }
-       else if ( ( CompareNavIndexesL( tmpIndexValue, navIndexValue ) > 0 ) &&
-                 ( first ||
-                   ( CompareNavIndexesL( tmpIndexValue, nextIndexValue ) > 0 ) ) )
-            {
-            first = EFalse;
-            nextIndexValue = tmpIndexValue;
-            nextNode = tmpNode;
-            }
-        }
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CompareNavIndexesL
-// -----------------------------------------------------------------------------
-//
-static TInt CompareNavIndexesL(
-    CXnDomPropertyValue* aCurrentPropertyValue,
-    CXnDomPropertyValue* aNextPropertyValue )
-    {
-    if ( !aCurrentPropertyValue && !aNextPropertyValue )
-        {
-        return 0;
-        }
-    else if ( aCurrentPropertyValue && !aNextPropertyValue )
-        {
-        if ( aCurrentPropertyValue->IsAutoIdent() )
-            {
-            return 0;
-            }
-        return 1;
-        }
-    else if ( !aCurrentPropertyValue && aNextPropertyValue )
-        {
-        if ( aNextPropertyValue->IsAutoIdent() )
-            {
-            return 0;
-            }
-        return -1;
-        }
-    else if ( aCurrentPropertyValue->IsAutoIdent() &&
-              aNextPropertyValue->IsAutoIdent() )
-        {
-        return 0;
-        }
-    else if ( !aCurrentPropertyValue->IsAutoIdent() &&
-              aNextPropertyValue->IsAutoIdent() )
-        {
-        return 1;
-        }
-    else if ( aCurrentPropertyValue->IsAutoIdent() &&
-              !aNextPropertyValue->IsAutoIdent() )
-        {
-        return -1;
-        }
-    else
-        {
-        return
-            aCurrentPropertyValue->FloatValueL() < aNextPropertyValue->FloatValueL() ?
-            -1 :
-            aCurrentPropertyValue->FloatValueL() == aNextPropertyValue->FloatValueL() ?
-            0 :
-            1;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// FindNextFocusableNodeByNavIndexL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindNextFocusableNodeByNavIndexL( CXnNode& aNode, TBool aForward )
-    {
-    if ( aNode.ViewNodeImpl() )
-        {
-        return NULL;
-        }
-    CXnNode* nextNode = NULL;
-    if ( aForward )
-        {
-        nextNode = ForwardL( aNode );
-        }
-    else
-        {
-        nextNode = BackwardL( aNode );
-        }
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// FindNextFocusableNodeL
-// -----------------------------------------------------------------------------
-//
-TBool FindNextFocusableNodeL( CXnNode& aNode, TBool aForward )
-    {
-    CXnNode* node( FindNextFocusableNodeByNavIndexL( aNode, aForward ) );
-
-    if ( !node )
-        {
-        node = FindLoopedFocusableNodeL( aNode, aForward );
-        }
-
-    if ( node )
-        {
-        node->SetStateL( XnPropertyNames::style::common::KFocus );
-        if( node && node->ScrollableControl() )
-            {
-            node->ScrollableControl()->ShowItem( *node );
-            }
-        return ETrue;
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// FindNextNodeFromRightL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindNextNodeFromRightL(
-    RPointerArray< CXnNode >& aArray,
-    CXnNode& aNode,
-    TBool stayInNamespace,
-    CXnUiEngine* aEngine )
-    {
-    
-    CXnNode* nextNode = NULL;
-    TRect rect = aNode.PaddingRect();
-
-    for ( TInt i = 0; i < aArray.Count(); ++i )
-        {
-        CXnNode* tmpNode = aArray[i];
-        if ( tmpNode == &aNode )
-            {
-            continue;
-            }
-        if ( !IsNodeNavigableL( *tmpNode ) )
-            {
-            continue;
-            }
-        if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-            {
-            // do not shift focus to another view
-            continue;
-            }
-        
-        const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-        const TDesC8& nodeNamespace = aNode.Impl()->Namespace();
-               
-        if ( stayInNamespace && tmpNamespace != nodeNamespace )
-            {
-            // if staying in the same namespace is required,
-            // do not shift focus to a different namespace
-            continue;
-            }
-        
-        // TODO: only plugin widgets are available in edit mode
-
-        TRect tmpRect = tmpNode->PaddingRect();
-
-        // temp node qualification:
-        // 1. left edge of temp node is to the right from focused's right edge
-        // 2. top edge of temp node is NOT below the bottom edge of focused node
-        // 3. bottom edge of temp node is NOT above the top edge of focused node
-        if ( rect.iBr.iX - 1 < tmpRect.iTl.iX &&
-             rect.iBr.iY - 1 >= tmpRect.iTl.iY &&
-             rect.iTl.iY <= tmpRect.iBr.iY - 1 )
-            {
-            if ( !nextNode )
-                {
-                nextNode = tmpNode;
-                }
-            else
-                {
-                // left edge of temp node is closer to focused than next node's
-                // left edge
-                if ( tmpRect.iTl.iX < nextNode->PaddingRect().iTl.iX )
-                    {
-                    nextNode = tmpNode;
-                    continue;
-                    }
-                // left edge of temp and next are at the same level
-                else if ( tmpRect.iTl.iX == nextNode->PaddingRect().iTl.iX )
-                    {
-                    // top edges are at the same level, choose this one
-                    if ( tmpRect.iTl.iY == rect.iTl.iY )
-                        {
-                        nextNode = tmpNode;
-                        continue;
-                        }
-                    // top edges are not at the same level
-                    else
-                        {
-                        if ( !AknLayoutUtils::LayoutMirrored() )
-                            {
-                            // candidate's top edge is below focused's top edge
-                            // and previous candidate's top edge is above
-                            // focused's top edge
-                            if ( nextNode->PaddingRect().iTl.iY < rect.iTl.iY &&
-                                 tmpRect.iTl.iY > rect.iTl.iY )
-                                {
-                                nextNode = tmpNode;
-                                continue;
-                                }
-                            // previous candidate's top edge is below focused's
-                            // top edge. Also, candidate's top edge is below
-                            // focused's top edge. Select the highest one.
-                            else if ( nextNode->PaddingRect().iTl.iY > rect.iTl.iY &&
-                                      tmpRect.iTl.iY > rect.iTl.iY &&
-                                      tmpRect.iTl.iY < nextNode->PaddingRect().iTl.iY )
-                                {
-                                nextNode = tmpNode;
-                                continue;
-                                }
-                            }
-                        else // arabic/hebrew layout
-                            {
-                            // candidate's top edge is above focused's top edge
-                            // and previous candidate's top edge is below
-                            // focused's top edge
-                            if ( nextNode->PaddingRect().iTl.iY > rect.iTl.iY &&
-                                 tmpRect.iTl.iY < rect.iTl.iY )
-                                {
-                                nextNode = tmpNode;
-                                continue;
-                                }
-                            // candidate's and previous' top edge is below focused's
-                            // top edge. Select the highest one.
-                            else if ( nextNode->PaddingRect().iTl.iY > rect.iTl.iY &&
-                                      tmpRect.iTl.iY > rect.iTl.iY &&
-                                      tmpRect.iTl.iY < nextNode->PaddingRect().iTl.iY )
-                                {
-                                nextNode = tmpNode;
-                                continue;
-                                }
-                            }
-                        }
-                    }
-                else
-                    {
-                    continue;
-                    }
-                }
-            }
-        }
-
-    // find node below or above to the right
-    if ( !nextNode )
-        {
-        if ( !stayInNamespace && aEngine &&
-             aEngine->ViewManager()->ViewAmount() != KOneView )
-            {
-            aEngine->ViewManager()->ActivateNextViewL();
-            return nextNode;
-            }
-        CXnNode* candidateAbove = NULL;
-        CXnNode* candidateBelow = NULL;
-
-        for ( TInt i = 0; i < aArray.Count(); ++i )
-            {
-            CXnNode* tmpNode = aArray[i];
-            if ( tmpNode == &aNode )
-                {
-                continue;
-                }
-            if ( !IsNodeNavigableL( *tmpNode ) )
-                {
-                continue;
-                }
-            if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-                {
-                // do not shift focus to another view
-                continue;
-                }
-            
-            const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-            const TDesC8& nodeNamespace = aNode.Impl()->Namespace();
-
-            if ( stayInNamespace && tmpNamespace != nodeNamespace )
-                {
-                // if staying in the same namespace is required,
-                // do not shift focus to a different namespace
-                continue;
-                }
-            // TODO: only plugin widgets are available in edit mode
-
-            TRect tmpRect = tmpNode->PaddingRect();
-
-            // temp node qualification:
-            // left edge of temp node is to the right from focused's right edge
-            if ( rect.iBr.iX - 1 < tmpRect.iTl.iX )
-                {
-                // tmp is above the focused node
-                if ( tmpRect.iBr.iY - 1 < rect.iTl.iY )
-                    {
-                    if ( candidateAbove == NULL )
-                        {
-                        candidateAbove = tmpNode;
-                        }
-                    else
-                        {
-                        // use pythagorean theorem to determine the closest node
-                        TInt xDistTmp = tmpRect.iTl.iX - rect.iBr.iX;
-                        TInt yDistTmp = tmpRect.iBr.iY - rect.iTl.iY;
-                        TReal tmpDist = Abs( ( xDistTmp * xDistTmp ) + ( yDistTmp * yDistTmp ) );
-
-                        TInt xCand = candidateAbove->PaddingRect().iTl.iX - rect.iBr.iX;
-                        TInt yCand = candidateAbove->PaddingRect().iBr.iY - rect.iTl.iY;
-                        TReal cDist = Abs( ( xCand * xCand ) + ( yCand * yCand ) );
-
-                        if ( tmpDist < cDist )
-                            {
-                            candidateAbove = tmpNode;
-                            }
-                        }
-                    }
-                else
-                    {
-                    if ( candidateBelow == NULL )
-                        {
-                        candidateBelow = tmpNode;
-                        }
-                    else
-                        {
-                        // use pythagorean theorem to determine the closest node
-                        TInt xDistTmp = tmpRect.iTl.iX - rect.iBr.iX;
-                        TInt yDistTmp = tmpRect.iTl.iY - rect.iBr.iY;
-                        TReal tmpDist = Abs( ( xDistTmp * xDistTmp ) + ( yDistTmp * yDistTmp ) );
-
-                        TInt xCand = candidateBelow->PaddingRect().iTl.iX - rect.iBr.iX;
-                        TInt yCand = candidateBelow->PaddingRect().iTl.iY - rect.iBr.iY;
-                        TReal cDist = Abs( ( xCand * xCand ) + ( yCand * yCand ) );
-
-                        if ( tmpDist < cDist )
-                            {
-                            candidateBelow = tmpNode;
-                            }
-                        }
-                    }
-                }
-            }
-
-        if ( !AknLayoutUtils::LayoutMirrored() )
-            {
-            if ( candidateBelow )
-                {
-                nextNode = candidateBelow;
-                }
-            else
-                {
-                if ( candidateAbove )
-                    {
-                    nextNode = candidateAbove;
-                    }
-                }
-            }
-        else
-            {
-            if ( candidateAbove )
-                {
-                nextNode = candidateAbove;
-                }
-            else
-                {
-                if ( candidateBelow )
-                    {
-                    nextNode = candidateBelow;
-                    }
-                }
-            }
-        }
-
-    // loop to the right
-    if ( !nextNode )
-        {
-        CXnNode* candidateAbove = NULL;
-        CXnNode* candidateBelow = NULL;
-
-        for ( TInt i = 0; i < aArray.Count(); ++i )
-            {
-            CXnNode* tmpNode = aArray[i];
-            if ( !IsNodeNavigableL( *tmpNode ) )
-                {
-                continue;
-                }
-            if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-                {
-                // do not shift focus to another view
-                continue;
-                }
-            
-            const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-            const TDesC8& nodeNamespace = aNode.Impl()->Namespace();
-                   
-            if ( stayInNamespace && tmpNamespace != nodeNamespace )
-                {
-                // if staying in the same namespace is required,
-                // do not shift focus to a different namespace
-                continue;
-                }
-            
-            // TODO: only plugin widgets are available in edit mode
-            TRect tmpRect = tmpNode->PaddingRect();
-
-            // tmp is above the focused node
-            if ( tmpRect.iBr.iY <= rect.iTl.iY )
-                {
-                if ( candidateAbove == NULL )
-                    {
-                    candidateAbove = tmpNode;
-                    }
-                else
-                    {
-                    // use pythagorean theorem to determine the closest node
-                    TInt xDistTmp = tmpRect.iTl.iX;
-                    TInt yDistTmp = tmpRect.iTl.iY - rect.iTl.iY;
-                    TReal tmpDist = Abs( ( xDistTmp * xDistTmp ) + ( yDistTmp * yDistTmp ) );
-
-                    TInt xCand = candidateAbove->PaddingRect().iTl.iX;
-                    TInt yCand = candidateAbove->PaddingRect().iTl.iY - rect.iTl.iY;
-                    TReal cDist = Abs( ( xCand * xCand ) + ( yCand * yCand ) );
-
-                    if ( tmpDist < cDist )
-                        {
-                        candidateAbove = tmpNode;
-                        }
-                    }
-                }
-            else
-                {
-                if ( candidateBelow == NULL )
-                    {
-                    candidateBelow = tmpNode;
-                    }
-                else
-                    {
-                    // use pythagorean theorem to determine the closest node
-                    TInt xDistTmp = tmpRect.iTl.iX;
-                    TInt yDistTmp = rect.iTl.iY - tmpRect.iTl.iY;
-                    TReal tmpDist = Abs( ( xDistTmp * xDistTmp ) + ( yDistTmp * yDistTmp ) );
-
-                    TInt xCand = candidateBelow->PaddingRect().iTl.iX;
-                    TInt yCand = rect.iTl.iY - candidateBelow->PaddingRect().iTl.iY;
-                    TReal cDist = Abs( ( xCand * xCand ) + ( yCand * yCand ) );
-
-                    if ( tmpDist < cDist )
-                        {
-                        candidateBelow = tmpNode;
-                        }
-                    }
-                }
-            }
-
-        if ( candidateAbove && candidateBelow )
-            {
-            CXnNode* pluginAbove = FindPluginNode( *candidateAbove );
-            CXnNode* pluginBelow = FindPluginNode( *candidateBelow );
-
-            TReal aboveDist = 0;
-            TReal belowDist = 0;
-
-            if ( pluginAbove )
-                {
-                TInt xAbove = pluginAbove->PaddingRect().iTl.iX;
-                TInt yAbove = 0;
-                if ( !AknLayoutUtils::LayoutMirrored() )
-                    {
-                    yAbove = rect.iTl.iY - pluginAbove->PaddingRect().iTl.iY;
-                    }
-                else
-                    {
-                    yAbove = rect.iTl.iY - pluginAbove->PaddingRect().iBr.iY;
-                    }
-                aboveDist = Abs( ( xAbove * xAbove ) + ( yAbove * yAbove ) );
-                }
-            else
-                {
-                TInt xAbove = candidateAbove->PaddingRect().iTl.iX;
-                TInt yAbove = 0;
-                if ( !AknLayoutUtils::LayoutMirrored() )
-                    {
-                    yAbove = rect.iTl.iY - candidateAbove->PaddingRect().iTl.iY;
-                    }
-                else
-                    {
-                    yAbove = rect.iTl.iY - candidateAbove->PaddingRect().iBr.iY;
-                    }
-
-                aboveDist = Abs( ( xAbove * xAbove ) + ( yAbove * yAbove ) );
-                }
-
-            if ( pluginBelow )
-                {
-                TInt xBelow = pluginBelow->PaddingRect().iTl.iX;
-                TInt yBelow = pluginBelow->PaddingRect().iTl.iY - rect.iTl.iY;
-                belowDist = Abs( ( xBelow * xBelow ) + ( yBelow * yBelow ) );
-                }
-            else
-                {
-                TInt xBelow = candidateBelow->PaddingRect().iTl.iX;
-                TInt yBelow = candidateBelow->PaddingRect().iTl.iY - rect.iTl.iY;
-                belowDist = Abs( ( xBelow * xBelow ) + ( yBelow * yBelow ) );
-                }
-
-            if ( aboveDist < belowDist )
-                {
-                nextNode = candidateAbove;
-                }
-            else if ( belowDist < aboveDist )
-                {
-                nextNode = candidateBelow;
-                }
-            else
-                {
-                if ( !AknLayoutUtils::LayoutMirrored() )
-                    {
-                    nextNode = candidateBelow;
-                    }
-                else
-                    {
-                    nextNode = candidateAbove;
-                    }
-                }
-            }
-        else if ( candidateAbove )
-            {
-            nextNode = candidateAbove;
-            }
-        else if ( candidateBelow )
-            {
-            nextNode = candidateBelow;
-            }
-        else
-            {
-            // do nothing
-            }
-        }
-    
-    if ( stayInNamespace && !nextNode )
-        {
-        return &aNode;
-        }
-    
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// FindNextNodeFromLeftL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindNextNodeFromLeftL(
-    RPointerArray< CXnNode >& aArray,
-    CXnNode& aNode,
-    TBool stayInNamespace,
-    CXnUiEngine* aEngine )
-    {
-    CXnNode* nextNode = NULL;
-    TRect rect = aNode.PaddingRect();
-
-    for ( TInt i = 0; i < aArray.Count(); ++i )
-        {
-        CXnNode* tmpNode = aArray[i];
-        if ( tmpNode == &aNode )
-            {
-            continue;
-            }
-        if ( !IsNodeNavigableL( *tmpNode ) )
-            {
-            continue;
-            }
-        if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-            {
-            // do not shift focus to another view
-            continue;
-            }
-        
-        const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-        const TDesC8& nodeNamespace = aNode.Impl()->Namespace();
-               
-        if ( stayInNamespace && tmpNamespace != nodeNamespace )
-            {
-            // if staying in the same namespace is required,
-            // do not shift focus to a different namespace
-            continue;
-            }
-        
-        // TODO: only plugin widgets are available in edit mode
-
-        TRect tmpRect = tmpNode->PaddingRect();
-
-        // temp node qualification:
-        // 1. right edge of temp node is to the left from focused's left edge
-        // 2. top edge of temp node is NOT below the bottom edge of focused node
-        // 3. bottom edge of temp node is NOT above the top edge of focused node
-        if ( rect.iTl.iX > tmpRect.iBr.iX - 1 &&
-             rect.iBr.iY - 1 >= tmpRect.iTl.iY &&
-             rect.iTl.iY <= tmpRect.iBr.iY - 1 )
-            {
-            if ( !nextNode )
-                {
-                nextNode = tmpNode;
-                }
-            else
-                {
-                // right edge of temp node is closer to focused than next node's
-                // right edge
-                if ( tmpRect.iBr.iX - 1 > nextNode->PaddingRect().iBr.iX - 1 )
-                    {
-                    nextNode = tmpNode;
-                    continue;
-                    }
-                // left edge of temp and next are at the same level
-                else if ( tmpRect.iBr.iX - 1 == nextNode->PaddingRect().iBr.iX - 1 )
-                    {
-                    // top edges are at the same level, choose this one
-                    if ( tmpRect.iTl.iY == rect.iTl.iY )
-                        {
-                        nextNode = tmpNode;
-                        continue;
-                        }
-                    // top edges are not at the same level
-                    else
-                        {
-                        if ( !AknLayoutUtils::LayoutMirrored() )
-                            {
-                            // candidate's top edge is below focused's top edge
-                            // and previous candidate's top edge is above focused's
-                            // top edge
-                            if ( nextNode->PaddingRect().iTl.iY > rect.iTl.iY &&
-                                 tmpRect.iTl.iY < rect.iTl.iY )
-                                {
-                                nextNode = tmpNode;
-                                continue;
-                                }
-                            // candidate's and previous candidate's top edge is
-                            // above focused's top edge. Select highest one.
-                            else if ( nextNode->PaddingRect().iTl.iY < rect.iTl.iY &&
-                                      tmpRect.iTl.iY < rect.iTl.iY &&
-                                      tmpRect.iTl.iY < nextNode->PaddingRect().iTl.iY )
-                                {
-                                nextNode = tmpNode;
-                                continue;
-                                }
-                            }
-                        else // arabic/hebrew layout
-                            {
-                            // candidate's top edge is below focused's top edge
-                            // and previous candidate's top edge is above
-                            // focused's top edge
-                            if ( nextNode->PaddingRect().iTl.iY < rect.iTl.iY &&
-                                 tmpRect.iTl.iY > rect.iTl.iY )
-                                {
-                                nextNode = tmpNode;
-                                continue;
-                                }
-                            // previous candidate's top edge is below focused's
-                            // top edge. Also, candidate's top edge is below
-                            // focused's top edge. Select the highest one.
-                            else if ( nextNode->PaddingRect().iTl.iY > rect.iTl.iY &&
-                                      tmpRect.iTl.iY > rect.iTl.iY &&
-                                      tmpRect.iTl.iY < nextNode->PaddingRect().iTl.iY )
-                                {
-                                nextNode = tmpNode;
-                                continue;
-                                }
-                            }
-                        }
-                    }
-                else
-                    {
-                    continue;
-                    }
-                }
-            }
-        }
-
-    if ( !nextNode )
-        {
-        if ( !stayInNamespace && aEngine &&
-             aEngine->ViewManager()->ViewAmount() != KOneView )
-            {
-            aEngine->ViewManager()->ActivatePreviousViewL();
-            return nextNode;
-            }
-        CXnNode* candidateAbove = NULL;
-        CXnNode* candidateBelow = NULL;
-
-        for ( TInt i = 0; i < aArray.Count(); ++i )
-            {
-            CXnNode* tmpNode = aArray[i];
-            if ( tmpNode == &aNode )
-                {
-                continue;
-                }
-            if ( !IsNodeNavigableL( *tmpNode ) )
-                {
-                continue;
-                }
-            if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-                {
-                // do not shift focus to another view
-                continue;
-                }
-            
-            const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-            const TDesC8& nodeNamespace = aNode.Impl()->Namespace();       
-                   
-            if ( stayInNamespace && tmpNamespace != nodeNamespace )
-                {
-                // if staying in the same namespace is required,
-                // do not shift focus to a different namespace
-                continue;
-                }
-            
-            // TODO: only plugin widgets are available in edit mode
-            TRect tmpRect = tmpNode->PaddingRect();
-
-            // temp node qualification:
-            // right edge of temp node is to the left from focused's left edge
-            if ( tmpRect.iBr.iX < rect.iTl.iX - 1 )
-                {
-                // tmp is above the focused node
-                if ( tmpRect.iBr.iY < rect.iTl.iY )
-                    {
-                    if ( candidateAbove == NULL )
-                        {
-                        candidateAbove = tmpNode;
-                        }
-                    else
-                        {
-                        // use pythagorean theorem to determine the closest node
-                        TInt xDistTmp = rect.iTl.iX - tmpRect.iBr.iX;
-                        TInt yDistTmp = rect.iTl.iY - tmpRect.iBr.iY;
-                        TReal tmpDist = Abs( ( xDistTmp * xDistTmp ) + ( yDistTmp * yDistTmp ) );
-
-                        TInt xCand = rect.iTl.iX - candidateAbove->PaddingRect().iTl.iX;
-                        TInt yCand = rect.iTl.iY - candidateAbove->PaddingRect().iBr.iY;
-                        TReal cDist = Abs( ( xCand * xCand ) + ( yCand * yCand ) );
-
-                        if ( tmpDist < cDist )
-                            {
-                            candidateAbove = tmpNode;
-                            }
-                        }
-                    }
-                else
-                    {
-                    if ( candidateBelow == NULL )
-                        {
-                        candidateBelow = tmpNode;
-                        }
-                    else
-                        {
-                        // use pythagorean theorem to determine the closest node
-                        TInt xDistTmp = rect.iTl.iX - tmpRect.iBr.iX;
-                        TInt yDistTmp = rect.iBr.iY - tmpRect.iTl.iY;
-                        TReal tmpDist = Abs( ( xDistTmp * xDistTmp ) + ( yDistTmp * yDistTmp ) );
-
-                        TInt xCand = rect.iTl.iX - candidateBelow->PaddingRect().iBr.iX;
-                        TInt yCand = rect.iBr.iY - candidateBelow->PaddingRect().iTl.iY;
-                        TReal cDist = Abs( ( xCand * xCand ) + ( yCand * yCand ) );
-
-                        if ( tmpDist < cDist )
-                            {
-                            candidateBelow = tmpNode;
-                            }
-                        }
-                    }
-                }
-            }
-
-        if ( !AknLayoutUtils::LayoutMirrored() )
-            {
-            if ( candidateAbove )
-                {
-                nextNode = candidateAbove;
-                }
-            else
-                {
-                if ( candidateBelow )
-                    {
-                    nextNode = candidateBelow;
-                    }
-                }
-            }
-        else
-            {
-            if ( candidateBelow )
-                {
-                nextNode = candidateBelow;
-                }
-            else
-                {
-                if ( candidateAbove )
-                    {
-                    nextNode = candidateAbove;
-                    }
-                }
-            }
-        }
-
-    // get view width to get looping x point
-    TInt viewWidth = aNode.FindViewNode()->PaddingRect().Width();
-
-    // loop to the left
-    if ( !nextNode )
-        {
-        CXnNode* candidateAbove = NULL;
-        CXnNode* candidateBelow = NULL;
-
-        for ( TInt i = 0; i < aArray.Count(); ++i )
-            {
-            CXnNode* tmpNode = aArray[i];
-            /*
-            if ( tmpNode == &aNode )
-                {
-                continue;
-                }
-            */
-            if ( !IsNodeNavigableL( *tmpNode ) )
-                {
-                continue;
-                }
-            if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-                {
-                // do not shift focus to another view
-                continue;
-                }
-            
-            const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-            const TDesC8& nodeNamespace = aNode.Impl()->Namespace();
-                   
-            if ( stayInNamespace && tmpNamespace != nodeNamespace )
-                {
-                // if staying in the same namespace is required,
-                // do not shift focus to a different namespace
-                continue;
-                }
-            
-            
-            // TODO: only plugin widgets are available in edit mode
-            TRect tmpRect = tmpNode->PaddingRect();
-
-            // tmp is above the focused node
-            if ( tmpRect.iBr.iY <= rect.iTl.iY )
-                {
-                if ( candidateAbove == NULL )
-                    {
-                    candidateAbove = tmpNode;
-                    }
-                else
-                    {
-                    // use pythagorean theorem to determine the closest node
-                    TInt xDistTmp = viewWidth - tmpRect.iBr.iX;
-                    TInt yDistTmp = rect.iTl.iY - tmpRect.iBr.iY;
-                    TReal tmpDist = Abs( ( xDistTmp * xDistTmp ) + ( yDistTmp * yDistTmp ) );
-
-                    TInt xCand = viewWidth - candidateAbove->PaddingRect().iBr.iX;
-                    TInt yCand = rect.iTl.iY - candidateAbove->PaddingRect().iTl.iY;
-                    TReal cDist = Abs( ( xCand * xCand ) + ( yCand * yCand ) );
-
-                    if ( tmpDist < cDist )
-                        {
-                        candidateAbove = tmpNode;
-                        }
-                    }
-                }
-            else
-                {
-                if ( candidateBelow == NULL )
-                    {
-                    candidateBelow = tmpNode;
-                    }
-                else
-                    {
-                    // use pythagorean theorem to determine the closest node
-                    TInt xDistTmp = viewWidth - tmpRect.iBr.iX;
-                    TInt yDistTmp = tmpRect.iTl.iY - rect.iTl.iY;
-                    TReal tmpDist = Abs( ( xDistTmp * xDistTmp ) + ( yDistTmp * yDistTmp ) );
-
-                    TInt xCand = viewWidth - candidateBelow->PaddingRect().iBr.iX;
-                    TInt yCand = candidateBelow->PaddingRect().iTl.iY - rect.iTl.iY;
-                    TReal cDist = Abs( ( xCand * xCand ) + ( yCand * yCand ) );
-
-                    if ( tmpDist < cDist )
-                        {
-                        candidateBelow = tmpNode;
-                        }
-                    }
-                }
-            }
-
-        if ( candidateAbove && candidateBelow )
-            {
-            CXnNode* pluginAbove = FindPluginNode( *candidateAbove );
-            CXnNode* pluginBelow = FindPluginNode( *candidateBelow );
-
-            TReal aboveDist = 0;
-            TReal belowDist = 0;
-
-            if ( pluginAbove )
-                {
-                // compare to bottom right when looping to left
-                TInt xAbove = viewWidth - pluginAbove->PaddingRect().iBr.iX;
-                TInt yAbove = 0;
-                if ( !AknLayoutUtils::LayoutMirrored() )
-                    {
-                    yAbove = rect.iTl.iY - pluginAbove->PaddingRect().iBr.iY;
-                    }
-                else
-                    {
-                    yAbove = rect.iTl.iY - pluginAbove->PaddingRect().iTl.iY;
-                    }
-
-                aboveDist = Abs( (xAbove * xAbove) + (yAbove * yAbove) );
-                }
-            else
-                {
-                TInt xAbove = viewWidth - candidateAbove->PaddingRect().iBr.iX;
-                TInt yAbove = 0;
-                if ( !AknLayoutUtils::LayoutMirrored() )
-                    {
-                    yAbove = rect.iTl.iY - candidateAbove->PaddingRect().iBr.iY;
-                    }
-                else
-                    {
-                    yAbove = rect.iTl.iY - candidateAbove->PaddingRect().iTl.iY;
-                    }
-                aboveDist = Abs( ( xAbove * xAbove ) + ( yAbove * yAbove ) );
-                }
-
-            if ( pluginBelow )
-                {
-                TInt xBelow = viewWidth - pluginBelow->PaddingRect().iBr.iX;
-                TInt yBelow = pluginBelow->PaddingRect().iTl.iY - rect.iTl.iY;
-                belowDist = Abs( ( xBelow * xBelow ) + ( yBelow * yBelow ) );
-                }
-            else
-                {
-                TInt xBelow = viewWidth - candidateBelow->PaddingRect().iBr.iX;
-                TInt yBelow = candidateBelow->PaddingRect().iTl.iY - rect.iTl.iY;
-                belowDist = Abs( ( xBelow * xBelow ) + ( yBelow * yBelow ) );
-                }
-
-            if ( aboveDist < belowDist )
-                {
-                nextNode = candidateAbove;
-                }
-            else if ( belowDist < aboveDist )
-                {
-                nextNode = candidateBelow;
-                }
-            else
-                {
-                if ( !AknLayoutUtils::LayoutMirrored() )
-                    {
-                    nextNode = candidateBelow;
-                    }
-                else
-                    {
-                    nextNode = candidateAbove;
-                    }
-                }
-            }
-        else if ( candidateAbove )
-            {
-            nextNode = candidateAbove;
-            }
-        else if ( candidateBelow )
-            {
-            nextNode = candidateBelow;
-            }
-        else
-            {
-            // do nothing
-            }
-        }
-
-    if ( stayInNamespace && !nextNode )
-        {
-        return &aNode;
-        }
-    
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// FindNextNodeFromBelowL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindNextNodeFromBelowL(
-    RPointerArray< CXnNode >& aArray,
-    CXnNode& aNode, TBool stayInNamespace )
-    {
-    CXnNode* nextNode = NULL;
-    TRect rect = aNode.PaddingRect();
-
-    for ( TInt i = 0; i < aArray.Count(); ++i )
-        {
-        CXnNode* tmpNode = aArray[i];
-        if ( tmpNode == &aNode )
-            {
-            continue;
-            }
-        if ( !IsNodeNavigableL( *tmpNode ) )
-            {
-            continue;
-            }
-        if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-            {
-            // do not shift focus to another view
-            continue;
-            }        
-        
-        const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-        const TDesC8& nodeNamespace = aNode.Impl()->Namespace();
-               
-        if ( stayInNamespace && tmpNamespace != nodeNamespace )
-            {
-            // if staying in the same namespace is required,
-            // do not shift focus to a different namespace
-            continue;
-            }
-        
-        // TODO: only plugin widgets are available in edit mode
-
-        TRect tmpRect = tmpNode->PaddingRect();
-
-        // temp node qualification:
-        // 1. top edge of the temp node is below bottom edge of focused node
-        // 2. temp node's right or left edge is between focused's left or right edge
-        if ( tmpRect.iTl.iY > rect.iBr.iY - 1 &&
-             tmpRect.iBr.iX - 1 >= rect.iTl.iX &&
-             tmpRect.iTl.iX <= rect.iBr.iX - 1 )
-            {
-            if ( !nextNode )
-                {
-                nextNode = tmpNode;
-                }
-            else
-                {
-                // temp node is closer than next node
-                if ( tmpRect.iTl.iY < nextNode->PaddingRect().iTl.iY )
-                    {
-                    nextNode = tmpNode;
-                    continue;
-                    }
-                // top edge of temp node and next are at the same level
-                else if ( tmpRect.iTl.iY == nextNode->PaddingRect().iTl.iY )
-                    {
-                    // western layout: take the leftmost one
-                    if ( !AknLayoutUtils::LayoutMirrored() &&
-                         tmpRect.iBr.iX - 1 < nextNode->PaddingRect().iBr.iX - 1 )
-                        {
-                        nextNode = tmpNode;
-                        continue;
-                        }
-                    // arabic/hebrew layout: take the rightmost one
-                    if ( AknLayoutUtils::LayoutMirrored() &&
-                         tmpRect.iBr.iX - 1 > nextNode->PaddingRect().iBr.iX - 1 )
-                        {
-                        nextNode = tmpNode;
-                        continue;
-                        }
-                    }
-                else
-                    {
-                    continue;
-                    }
-                }
-            }
-        }
-
-    // no nodes found on the right, try looping
-    if ( !nextNode )
-        {
-        for ( TInt i = 0; i < aArray.Count(); ++i )
-            {
-            CXnNode* tmpNode = aArray[i];
-            TRect tmpRect = tmpNode->PaddingRect();
-            if ( tmpNode == &aNode )
-                {
-                continue;
-                }
-            if ( !IsNodeNavigableL( *tmpNode ) )
-                {
-                continue;
-                }
-            if ( tmpRect.Intersects( rect ) )
-                {
-                continue;
-                }
-            if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-                {
-                // do not shift focus to another view
-                continue;
-                }
-            
-            const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-            const TDesC8& nodeNamespace = aNode.Impl()->Namespace();
-
-            if ( stayInNamespace && tmpNamespace != nodeNamespace )
-                {
-                // if staying in the same namespace is required,
-                // do not shift focus to a different namespace
-                continue;
-                }
-            
-            // TODO: only plugin widgets are available in edit mode
-
-            // temp node's right or left edge must be between focused's left or
-            // right edge
-            if ( tmpRect.iBr.iX - 1 >= rect.iTl.iX &&
-                 tmpRect.iTl.iX <= rect.iBr.iX - 1 )
-                {
-                if ( !nextNode )
-                    {
-                    nextNode = tmpNode;
-                    }
-                else
-                    {
-                    // temp node is closer than next node
-                    if ( tmpRect.iTl.iY < nextNode->PaddingRect().iTl.iY )
-                        {
-                        nextNode = tmpNode;
-                        continue;
-                        }
-                    // top edge of temp node and next are at the same level
-                    else if ( tmpRect.iTl.iY == nextNode->PaddingRect().iTl.iY )
-                        {
-                        // western layout: take the leftmost one
-                        if ( !AknLayoutUtils::LayoutMirrored() &&
-                             tmpRect.iBr.iX - 1 < nextNode->PaddingRect().iBr.iX - 1 )
-                            {
-                            nextNode = tmpNode;
-                            continue;
-                            }
-                        // arabic/hebrew layout: take the rightmost one
-                        if ( AknLayoutUtils::LayoutMirrored() &&
-                             tmpRect.iBr.iX - 1 > nextNode->PaddingRect().iBr.iX - 1 )
-                            {
-                            nextNode = tmpNode;
-                            continue;
-                            }
-                        }
-                    else
-                        {
-                        continue;
-                        }
-                    }
-                }
-            }
-        }
-    
-    if ( stayInNamespace && !nextNode )
-        {
-        return &aNode;
-        }
-    
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// FindNextNodeFromAboveL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindNextNodeFromAboveL(
-    RPointerArray< CXnNode >& aArray,
-    CXnNode& aNode, TBool stayInNamespace )
-    {
-    CXnNode* nextNode = NULL;
-    TRect rect = aNode.PaddingRect();
-
-    for ( TInt i = 0; i < aArray.Count(); ++i )
-        {
-        CXnNode* tmpNode = aArray[i];
-        if ( tmpNode == &aNode )
-            {
-            continue;
-            }
-        if ( !IsNodeNavigableL( *tmpNode ) )
-            {
-            continue;
-            }
-        if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-            {
-            // do not shift focus to another view
-            continue;
-            }
-        
-        const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-        const TDesC8& nodeNamespace = aNode.Impl()->Namespace();       
-       
-        if ( stayInNamespace && tmpNamespace != nodeNamespace )
-            {
-            // if staying in the same namespace is required,
-            // do not shift focus to a different namespace
-            continue;
-            }
-        
-        // TODO: only plugin widgets are available in edit mode
-        TRect tmpRect = tmpNode->PaddingRect();
-
-        // temp node qualification:
-        // 1. bottom edge of the temp node is above the top edge of focused node
-        // 2. temp node's right or left edge is between focused's left or right edge
-        if ( tmpRect.iBr.iY - 1 < rect.iTl.iY &&
-             tmpRect.iBr.iX - 1 >= rect.iTl.iX &&
-             tmpRect.iTl.iX <= rect.iBr.iX - 1 )
-            {
-            if ( !nextNode )
-                {
-                nextNode = tmpNode;
-                }
-            else
-                {
-                // temp node is closer than next node
-                if ( tmpRect.iBr.iY - 1 > nextNode->PaddingRect().iBr.iY - 1 )
-                    {
-                    nextNode = tmpNode;
-                    continue;
-                    }
-                // bottom edge of temp and next node are at the same level
-                else if ( tmpRect.iBr.iY - 1 == nextNode->PaddingRect().iBr.iY - 1 )
-                    {
-                    // western layout: take the leftmost one
-                    if ( !AknLayoutUtils::LayoutMirrored() &&
-                         tmpRect.iBr.iX - 1 < nextNode->PaddingRect().iBr.iX - 1 )
-                        {
-                        nextNode = tmpNode;
-                        continue;
-                        }
-                    // arabic/hebrew layout: take the rightmost one
-                    if ( AknLayoutUtils::LayoutMirrored() &&
-                         tmpRect.iBr.iX - 1 > nextNode->PaddingRect().iBr.iX - 1 )
-                        {
-                        nextNode = tmpNode;
-                        continue;
-                        }
-                    }
-                else
-                    {
-                    continue;
-                    }
-                }
-            }
-        }
-
-    // no nodes found on the right, try looping
-    if ( !nextNode )
-        {
-        for ( TInt i = 0; i < aArray.Count(); ++i )
-            {
-            CXnNode* tmpNode = aArray[i];
-            TRect tmpRect = tmpNode->PaddingRect();
-            if ( tmpNode == &aNode )
-                {
-                continue;
-                }
-            if ( !IsNodeNavigableL( *tmpNode ) )
-                {
-                continue;
-                }
-            if ( tmpRect.Intersects( rect ) )
-                {
-                continue;
-                }
-            if ( tmpNode->FindViewNode() != tmpNode->UiEngine()->ActiveView() )
-                {
-                // do not shift focus to another view
-                continue;
-                }
-            
-            const TDesC8& tmpNamespace = tmpNode->Impl()->Namespace();
-            const TDesC8& nodeNamespace = aNode.Impl()->Namespace();       
-                   
-            if ( stayInNamespace && tmpNamespace != nodeNamespace )
-                {
-                // if staying in the same namespace is required,
-                // do not shift focus to a different namespace
-                continue;
-                }
-            
-            // TODO: only plugin widgets are available in edit mode
-
-            // temp node's right or left edge must be between focused's left or
-            // right edge
-            if ( tmpRect.iBr.iX - 1 >= rect.iTl.iX &&
-                 tmpRect.iTl.iX <= rect.iBr.iX - 1 )
-                {
-                if ( !nextNode )
-                    {
-                    nextNode = tmpNode;
-                    }
-                else
-                    {
-                    // temp node is closer than next node
-                    if ( tmpRect.iBr.iY - 1 > nextNode->PaddingRect().iBr.iY - 1 )
-                        {
-                        nextNode = tmpNode;
-                        continue;
-                        }
-                    // bottom edge of temp and next node are at the same level
-                    else if ( tmpRect.iBr.iY - 1 == nextNode->PaddingRect().iBr.iY - 1 )
-                        {
-                        // western layout: take the leftmost one
-                        if ( !AknLayoutUtils::LayoutMirrored() &&
-                             tmpRect.iBr.iX - 1 < nextNode->PaddingRect().iBr.iX - 1 )
-                            {
-                            nextNode = tmpNode;
-                            continue;
-                            }
-                        // arabic/hebrew layout: take the rightmost one
-                        if ( AknLayoutUtils::LayoutMirrored() &&
-                             tmpRect.iBr.iX - 1 > nextNode->PaddingRect().iBr.iX - 1 )
-                            {
-                            nextNode = tmpNode;
-                            continue;
-                            }
-                        }
-                    else
-                        {
-                        continue;
-                        }
-                    }
-                }
-            }
-        }
-    
-    if ( stayInNamespace && !nextNode )
-        {
-        return &aNode;
-        }
-    
-    return nextNode;
-    }
-
-// -----------------------------------------------------------------------------
-// FindPluginNode
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindPluginNode( CXnNode& aNode )
-    {
-    _LIT8( KPlugin, "plugin" );
-
-    CXnNode* pluginNode = NULL;
-    CXnNode* tmp = &aNode;
-
-    while( tmp->Parent() )
-        {
-        tmp = tmp->Parent();
-        const TDesC8& nodeType = tmp->DomNode()->Name();
-
-        if ( nodeType == KPlugin )
-            {
-            pluginNode = tmp;
-            break;
-            }
-        }
-
-    return pluginNode;
-    }
-
-// -----------------------------------------------------------------------------
-// DoInternalFocusChangeL
-// -----------------------------------------------------------------------------
-//
-static TBool DoInternalFocusChangeL( CXnUiEngine& aEngine,
-    CXnNode& aNode, const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    if ( aNode.ViewNodeImpl() )
-        {
-        return EFalse;
-        }
-    if ( aType != 1 )
-        {
-        return EFalse;
-        }
-    if ( aKeyEvent.iScanCode != EStdKeyLeftArrow &&
-         aKeyEvent.iScanCode != EStdKeyRightArrow &&
-         aKeyEvent.iScanCode != EStdKeyDownArrow &&
-         aKeyEvent.iScanCode != EStdKeyUpArrow )
-        {
-        return EFalse;
-        }
-    CXnNode* parent = aNode.Parent();
-    if ( !parent )
-        {
-        return EFalse;
-        }
-
-    // Handle 'appearance' navigation first, if the current node has 
-    // "nav-index: appearance"...
-    CXnProperty* navind = aNode.NavIndexL();
-    if ( navind && navind->StringValue() == XnPropertyNames::style::common::KAppearance )
-        {
-        
-        CXnAppUiAdapter& appui = static_cast< CXnAppUiAdapter& >( *iAvkonAppUi );
-        CXnPluginData& plugin( 
-                    appui.ViewManager().ActiveViewData().Plugin( &aNode ) );
-        
-        // find if node is in a widget that contatins some opened popup window
-       
-        TBool containsPopUp = plugin.IsDisplayingPopup();
-        
-        CXnNode* nextNode( NULL );
-        RPointerArray< CXnNode >& array = aEngine.ViewManager()->AppearanceNodes();
-        if ( aKeyEvent.iScanCode == EStdKeyDownArrow )
-            {
-            nextNode = FindNextNodeFromBelowL( array, aNode, containsPopUp );
-            }
-        else if ( aKeyEvent.iScanCode == EStdKeyUpArrow )
-            {
-            nextNode = FindNextNodeFromAboveL( array, aNode, containsPopUp );
-            }
-        else if ( aKeyEvent.iScanCode == EStdKeyRightArrow )
-            {
-            nextNode = FindNextNodeFromRightL( array, aNode, containsPopUp, &aEngine );
-            }
-        else if ( aKeyEvent.iScanCode == EStdKeyLeftArrow )
-            {
-            nextNode = FindNextNodeFromLeftL( array, aNode, containsPopUp, &aEngine );
-            }
-        if ( nextNode )
-            {
-            if( nextNode && nextNode->ScrollableControl() )
-                {
-                nextNode->ScrollableControl()->ShowItem( *nextNode );
-                }
-            nextNode->SetStateL( XnPropertyNames::style::common::KFocus );
-            return ETrue;
-            }
-        }
-    else
-        {
-        const TDesC8* direction( &XnPropertyNames::style::common::direction::KLTR );
-        const TDesC8* orientation( &XnPropertyNames::style::common::block_progression::KTB );
-
-        CXnProperty* directionProperty( parent->DirectionL() );
-
-        if ( directionProperty )
-            {
-            direction = &directionProperty->StringValue();
-            }
-
-        CXnProperty* orientationProperty( parent->BlockProgressionL() );
-
-        if ( orientationProperty )
-            {
-            orientation = &orientationProperty->StringValue();
-            }
-
-        TBool match = EFalse;
-
-        if ( *direction == XnPropertyNames::style::common::direction::KLTR &&
-             ( *orientation == XnPropertyNames::style::common::block_progression::KLR ||
-               *orientation == XnPropertyNames::style::common::block_progression::KRL ) )
-            {
-            if ( aKeyEvent.iScanCode == EStdKeyLeftArrow )
-                {
-                match = FindNextFocusableNodeL( aNode, EFalse );
-                }
-            if ( aKeyEvent.iScanCode == EStdKeyRightArrow )
-                {
-                match = FindNextFocusableNodeL( aNode, ETrue );
-                }
-            }
-        else if ( *direction == XnPropertyNames::style::common::direction::KRTL &&
-                  ( *orientation == XnPropertyNames::style::common::block_progression::KLR ||
-                    *orientation == XnPropertyNames::style::common::block_progression::KRL ) )
-            {
-            if ( aKeyEvent.iScanCode == EStdKeyRightArrow )
-                {
-                match = FindNextFocusableNodeL( aNode, EFalse );
-                }
-            if ( aKeyEvent.iScanCode == EStdKeyLeftArrow )
-                {
-                match = FindNextFocusableNodeL( aNode, ETrue );
-                }
-            }
-        else if ( *direction == XnPropertyNames::style::common::direction::KLTR &&
-                  *orientation == XnPropertyNames::style::common::block_progression::KTB )
-            {
-            if ( aKeyEvent.iScanCode == EStdKeyUpArrow )
-                {
-                match = FindNextFocusableNodeL( aNode, EFalse );
-                }
-            if ( aKeyEvent.iScanCode == EStdKeyDownArrow )
-                {
-                match = FindNextFocusableNodeL( aNode, ETrue );
-                }
-            }
-        else if ( *direction == XnPropertyNames::style::common::direction::KRTL &&
-                  *orientation == XnPropertyNames::style::common::block_progression::KTB )
-            {
-            if ( aKeyEvent.iScanCode == EStdKeyDownArrow )
-                {
-                match = FindNextFocusableNodeL( aNode, EFalse );
-                }
-            if ( aKeyEvent.iScanCode == EStdKeyUpArrow )
-                {
-                match = FindNextFocusableNodeL( aNode, ETrue );
-                }
-            }
-        return match;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// DoTriggerKeyEventL
-// -----------------------------------------------------------------------------
-//
-static TBool DoTriggerKeyEventL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    CXnDomNode* domNode = aNode.DomNode();
-    CXnDomList& children = domNode->ChildNodes();
-    TInt count = children.Length();
-    TBool returnValue = EFalse;
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = node->Name();
-        if ( type == XnPropertyNames::action::KActions )
-            {
-            CXnDomList& actionChildren = node->ChildNodes();
-            TInt actionCount = actionChildren.Length();
-            for ( TInt j = 0; j < actionCount; ++j )
-                {
-                CXnDomNode* actionNode =
-                    static_cast< CXnDomNode* >( actionChildren.Item( j ) );
-                const TDesC8& actionType = actionNode->Name();
-                if ( actionType == XnPropertyNames::action::KAction )
-                    {
-                    TBool match = MatchActionForKeyEventL(
-                        aThis, aEngine, aNode, aKeyEvent, aType, *actionNode );
-                    if ( match )
-                        {
-                        returnValue = ETrue;
-                        }
-                    }
-                }
-            }
-        }
-
-    if ( returnValue )
-        {
-        // Return is removed from here to enable auto navigation altough the
-        // action is alreadytriggered. This enables simpler theme definitions
-        // especially in AI2 case. If regression is observed then return should
-        // be restored here. Task ou1s60ui#3386.
-        //return returnValue;
-        }
-
-    DoCompoundNodeScrollingL( aNode, aKeyEvent, aType );
-
-    returnValue = DoInternalFocusChangeL( aEngine, aNode, aKeyEvent, aType );
-
-    if ( returnValue )
-        {
-        aEngine.RenderUIL();
-        }
-
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// DoTriggerEventL
-// -----------------------------------------------------------------------------
-//
-static void DoTriggerEventL(
-    CXnNodeImpl* aThis,
-    CXnUiEngine& aEngine,
-    CXnNode& aNode,
-    CXnNode& aActionsParent,
-    CXnNode& aEventData,    
-    TInt aSource )
-    {    
-    CXnDomList& children( aActionsParent.DomNode()->ChildNodes() );
-    
-    TInt count( children.Length() );
-    
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnDomNode* node = static_cast< CXnDomNode* >( children.Item( i ) );
-        const TDesC8& type = node->Name();
-        if ( type == XnPropertyNames::action::KActions )
-            {
-            CXnDomList& actionChildren = node->ChildNodes();
-            TInt actionCount = actionChildren.Length();
-            for ( TInt j = 0; j < actionCount; ++j )
-                {
-                CXnDomNode* actionNode =
-                    static_cast< CXnDomNode* >( actionChildren.Item( j ) );
-                const TDesC8& actionType = actionNode->Name();
-                if ( actionType == XnPropertyNames::action::KAction )
-                    {
-                    TBool match = MatchActionForEventL(
-                        aThis, aEngine, aNode, aEventData, *actionNode, aSource );
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DoReceiveFocusL
-// -----------------------------------------------------------------------------
-//
-static TBool DoReceiveFocusL( CXnNode& aNode, CXnUiEngine& /*aEngine*/ )
-    {
-    CXnProperty* focusable = aNode.GetPropertyL(
-        XnPropertyNames::common::KFocusable );
-    CXnProperty* disabled = aNode.GetPropertyL(
-        XnPropertyNames::common::KDisabled );
-    if ( focusable )
-        {
-        const TDesC8& focusValue = focusable->StringValue();
-        if ( focusValue != KNullDesC8 )
-            {
-            if ( focusValue != XnPropertyNames::KTrue )
-                {
-                return EFalse;
-                }
-            }
-        }
-    else
-        {
-        return EFalse;
-        }
-    if ( disabled )
-        {
-        const TDesC8& disabledValue = disabled->StringValue();
-        if ( disabledValue != KNullDesC8 )
-            {
-            if ( disabledValue == XnPropertyNames::KTrue )
-                {
-                return EFalse;
-                }
-            }
-        }
-    if ( !IsNodeNavigableL( aNode ) )
-        {
-        return EFalse;
-        }
-
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// DoSetActiveL
-// -----------------------------------------------------------------------------
-//
-static void DoSetActiveL( CXnNode& aNode, CXnUiEngine& aUiEngine )
-    {
-    CXnNode* activate = BuildActivateTriggerNodeL( aUiEngine );
-    activate->SetUiEngine( aUiEngine );
-    CleanupStack::PushL( activate );
-    aNode.ReportXuikonEventL( *activate );
-    CleanupStack::PopAndDestroy( activate );
-    }
-
-// -----------------------------------------------------------------------------
-// Informs the component about the property change.
-// -----------------------------------------------------------------------------
-//
-static void InformPropertyChangeL( CXnNode& aNode, CXnProperty* aProperty )
-    {
-    //Inform the component about the property change.
-    CXnNode* parent( aNode.Parent() );
-
-    if ( parent )
-        {
-        if ( parent->Type()->Type() == KMenuBar )
-            {
-            CXnMenuAdapter* adapter =
-                static_cast< CXnMenuAdapter* >( parent->Control() );
-
-            if ( adapter )
-                {
-                adapter->HandleMenuPropertyChangeL( &aNode.PluginIfL(), aProperty );
-                }
-            }
-        else if ( aNode.IsLayoutCapable() )
-            {
-            CXnControlAdapter* adapter( aNode.Control() );
-
-            if ( adapter )
-                {
-                adapter->HandlePropertyChangeL( aProperty );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Informs parent and its children about the property change.
-// -----------------------------------------------------------------------------
-//
-static void InformChildrenPropertyChangeL(
-    CXnNode& aParent,
-    CXnProperty* aProperty,
-    TBool aInformParent = ETrue )
-    {
-    RPointerArray< CXnNode >& children( aParent.Children() );
-    if ( aInformParent )
-        {
-        InformPropertyChangeL( aParent, aProperty );
-        }
-    TInt count( children.Count() );
-    for ( TInt i = 0 ; i < count; i++ )
-        {
-        InformChildrenPropertyChangeL( *children[i], aProperty, ETrue );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DisplayValueMatchL
-// -----------------------------------------------------------------------------
-//
-static TBool DisplayValueMatchL(
-    CXnNode& aNode,
-    const TDesC8& aDisplayValue )
-    {
-    CXnProperty* display = aNode.GetPropertyL( KDisplay );
-    if ( display )
-        {
-        const TDesC8& value = display->StringValue();
-        if ( value.Compare( aDisplayValue ) == KErrNone )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// SetFloatPropertyToNodeL
-// Set float property to a node
-// -----------------------------------------------------------------------------
-//
-static void SetFloatPropertyToNodeL(
-    CXnDomStringPool& aStringPool, CXnNode& aNode,
-    const TDesC8& aPropertyName, TReal aPropertyValue,
-    CXnDomPropertyValue::TPrimitiveValueType aValueType )
-    {
-    // create property
-    CXnProperty* prop = CXnProperty::NewL(
-        aPropertyName, aPropertyValue, aValueType, aStringPool );
-
-    CleanupStack::PushL( prop );
-    aNode.SetPropertyL( prop );
-    CleanupStack::Pop( prop );
-    }
-
-// -----------------------------------------------------------------------------
-// SetStringPropertyToNodeL
-// Set string property to a node
-// -----------------------------------------------------------------------------
-//
-static void SetStringPropertyToNodeL(
-    CXnDomStringPool& aStringPool,
-    CXnNode& aNode,
-    const TDesC8& aPropertyName,
-    const TDesC8& aPropertyValue )
-    {
-    // create property
-    CXnProperty* prop = CXnProperty::NewL(
-        aPropertyName, aPropertyValue, CXnDomPropertyValue::EString, aStringPool );
-
-    CleanupStack::PushL( prop );
-    aNode.SetPropertyL( prop );
-    CleanupStack::Pop( prop );
-    }
-
-// -----------------------------------------------------------------------------
-// FindYoungestSiblingWithDisplayL
-// Seek youngest sibling node with given display value
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindYoungestSiblingWithDisplayL(
-    RPointerArray< CXnNode >& aSiblingArray,
-    const TDesC8& aDisplayValue,
-    TInt& aIndex )
-    {
-    aIndex = KErrNotFound;
-    CXnNode* node = NULL;
-    TInt siblingCount( aSiblingArray.Count() );
-    //Find youngest sibling with display block
-    for ( TInt i = siblingCount; i > 0; )
-        {
-        node = aSiblingArray[--i];
-        if ( DisplayValueMatchL( *node, aDisplayValue ) )
-            {
-            aIndex = i;
-            return node;
-            }
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// FindOldestSiblingWithDisplayL
-// Seek oldest sibling node with given display value
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindOldestSiblingWithDisplayL(
-    RPointerArray< CXnNode >& aSiblingArray,
-    const TDesC8& aDisplayValue,
-    TInt& aIndex )
-    {
-    aIndex = KErrNotFound;
-    CXnNode* node = NULL;
-    TInt siblingCount( aSiblingArray.Count() );
-    //Find oldest sibling with display block
-    for ( TInt i = 0; i < siblingCount; i++ )
-        {
-        node = aSiblingArray[i];
-        if ( DisplayValueMatchL( *node, aDisplayValue ) )
-            {
-            aIndex = i;
-            return node;
-            }
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// ScrollBoxToBeginningL
-// Show the oldest siblings that fit into the compound box.
-// -----------------------------------------------------------------------------
-//
-static void ScrollBoxToBeginningL( RPointerArray< CXnNode >& aSiblingArray )
-    {
-    CXnNode* node = NULL;
-    TInt toBeDisplayed(0);
-    TInt siblingCount( aSiblingArray.Count() );
-    for ( TInt i = 0; i < siblingCount; i++ )
-        {
-        node = aSiblingArray[i];
-        if ( DisplayValueMatchL( *node, KBlock ) )
-            {
-            CXnDomStringPool* sp = node->DomNode()->StringPool();
-            //Switch the display to 'none' to visible siblings.
-            SetStringPropertyToNodeL( *sp, *node, KDisplay, KNone );
-            node = aSiblingArray[toBeDisplayed];
-            toBeDisplayed++;
-            //Switch the display to 'block' to hidden siblings.
-            SetStringPropertyToNodeL( *sp, *node, KDisplay, KBlock );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// ScrollBoxToEndL
-// Show the youngest siblings that fit into the compound box.
-// -----------------------------------------------------------------------------
-//
-static void ScrollBoxToEndL( RPointerArray< CXnNode >& aSiblingArray )
-    {
-    CXnNode* node = NULL;
-    TInt siblingCount( aSiblingArray.Count() );
-    TInt toBeDisplayed( siblingCount - 1 );
-    for ( TInt i = siblingCount; i > 0; )
-        {
-        node = aSiblingArray[--i];
-        if ( DisplayValueMatchL( *node, KBlock ) )
-            {
-            CXnDomStringPool* sp = node->DomNode()->StringPool();
-            //Switch the display to 'none' to visible siblings.
-            SetStringPropertyToNodeL( *sp, *node, KDisplay, KNone );
-            node = aSiblingArray[toBeDisplayed];
-            toBeDisplayed--;
-            //Switch the display to 'block' to hidden siblings.
-            SetStringPropertyToNodeL( *sp, *node, KDisplay, KBlock );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// IsCompoundNodeL
-// Checks whether the node is coumound node.
-// -----------------------------------------------------------------------------
-//
-static TBool IsCompoundNodeL( CXnNode* aNode )
-    {
-    if ( !aNode )
-        {
-        return EFalse;
-        }
-    CXnProperty* compoundProperty = aNode->GetPropertyL( KCompound );
-    if ( compoundProperty )
-        {
-        const TDesC8& value = compoundProperty->StringValue();
-        if ( !value.Compare( KTrue ) )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsLoopingSetL
-// Checks whether the node is set to loop.
-// -----------------------------------------------------------------------------
-//
-static TBool IsLoopingNodeL( CXnNode* aNode )
-    {
-    if ( !aNode )
-        {
-        return EFalse;
-        }
-    CXnProperty* navLoopProperty = aNode->GetPropertyL(
-        XnPropertyNames::style::common::KS60NavLooping );
-    if ( navLoopProperty )
-        {
-        const TDesC8& loopValue = navLoopProperty->StringValue();
-        if ( loopValue == XnPropertyNames::grid::s60_focus_looping::KStop )
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// NotifyScrollNodeL
-// Notify scroll node i.e compound box first and last siblings that there is
-// nothing more to scroll
-// -----------------------------------------------------------------------------
-//
-static void NotifyScrollNodeL( CXnNode* aNode, TBool aBegin, TBool aGainEnd )
-    {
-    RPointerArray< CXnNode >& siblings = aNode->Parent()->Children();
-    // Last sibling is assumend to be an end scrolling node
-    CXnNode* scrollNode = siblings[0];
-    if ( !aBegin )
-        {
-        scrollNode = siblings[siblings.Count() - 1];
-        }
-    CXnNode* triggerNode =
-        BuildTriggerNodeL( *scrollNode->UiEngine(), aGainEnd?KGainEnd:KLoseEnd );
-    triggerNode->SetUiEngine( *scrollNode->UiEngine() );
-    CleanupStack::PushL( triggerNode );
-    scrollNode->ReportXuikonEventL( *triggerNode );
-    CleanupStack::PopAndDestroy( triggerNode );
-    }
-
-// -----------------------------------------------------------------------------
-// DoCompoundNodeBeginKeyL
-// If key towards begin of list was pressed scroll to that direction
-// -----------------------------------------------------------------------------
-//
-static void DoCompoundNodeBeginKeyL(
-    RPointerArray< CXnNode >& aChildren,
-    CXnNode* aFocusedNode )
-    {
-    TInt oldestIndex( 0 );
-    // Notify scrollNode if aFocusedNode is node end of the list
-    CXnNode* lastItem = aChildren[aChildren.Count() - 1];
-    if ( aFocusedNode == lastItem && !IsLoopingNodeL( lastItem ) )
-        {
-        NotifyScrollNodeL( aChildren[0]->Parent(), EFalse, EFalse );
-        }
-    CXnNode* node = FindOldestSiblingWithDisplayL( aChildren, KBlock, oldestIndex );
-    // Set next node's display to block
-    if ( node && node == aFocusedNode )
-        {
-        if ( oldestIndex - 1 >= 0 )
-            {
-            node = aChildren[oldestIndex - 1];
-            CXnDomStringPool* sp = node->DomNode()->StringPool();
-            SetStringPropertyToNodeL( *sp, *node, KDisplay, KBlock );
-            // find youngest sibling with display block
-            TInt index( 0 );
-            node = FindYoungestSiblingWithDisplayL( aChildren, KBlock, index );
-            if ( node )
-                {
-                SetStringPropertyToNodeL( *sp, *node, KDisplay, KNone );
-                }
-            }
-        else
-            {
-            if ( IsLoopingNodeL( node ) )
-                {
-                ScrollBoxToEndL( aChildren );
-                }
-            else
-                {
-                NotifyScrollNodeL( aChildren[0]->Parent(), ETrue, ETrue );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DoCompoundNodeEndKeyL
-// If key towards end of list was pressed scroll to that direction
-// -----------------------------------------------------------------------------
-//
-static void DoCompoundNodeEndKeyL(
-    RPointerArray< CXnNode >& aChildren,
-    CXnNode* aFocusedNode )
-    {
-    TInt index( 0 );
-    TInt siblingCount( aChildren.Count() );
-    // Notify scrollNode if aFocusedNode is first node of the list
-    CXnNode* firstItem = aChildren[0];
-    if ( aFocusedNode == firstItem && !IsLoopingNodeL( firstItem ) )
-        {
-        NotifyScrollNodeL( aChildren[0]->Parent(), ETrue, EFalse );
-        }
-    CXnNode* node = FindYoungestSiblingWithDisplayL( aChildren, KBlock, index );
-    // Set next node's display to block
-    if ( node && node == aFocusedNode )
-        {
-        if ( index < siblingCount - 1 )
-            {
-            node = aChildren[index + 1];
-            CXnDomStringPool* sp = node->DomNode()->StringPool();
-            SetStringPropertyToNodeL( *sp , *node, KDisplay, KBlock );
-            // find oldest sibling with display block
-            TInt oldestIndex( 0 );
-            node = FindOldestSiblingWithDisplayL( aChildren, KBlock, oldestIndex );
-            if ( node )
-                {
-                SetStringPropertyToNodeL( *sp, *node, KDisplay, KNone );
-                }
-            }
-        else // we are end of list
-            {
-            if ( IsLoopingNodeL( node ) )
-                {
-                ScrollBoxToBeginningL( aChildren );
-                }
-            else
-                {
-                NotifyScrollNodeL( aChildren[0]->Parent(), EFalse, ETrue );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DoCompoundNodeScrollingL
-// Process compound node key events
-// -----------------------------------------------------------------------------
-//
-static void DoCompoundNodeScrollingL(
-    CXnNode& aFocusedNode,
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    if ( aType != EEventKey )
-        {
-        return;
-        }
-    CXnNode* compoundNode = aFocusedNode.Parent();
-    if ( IsCompoundNodeL( compoundNode ) )
-        {
-        RPointerArray< CXnNode >& children = compoundNode->Children();
-
-        if ( aKeyEvent.iScanCode != EStdKeyLeftArrow  &&
-             aKeyEvent.iScanCode != EStdKeyRightArrow &&
-             aKeyEvent.iScanCode != EStdKeyDownArrow &&
-             aKeyEvent.iScanCode != EStdKeyUpArrow )
-            {
-            return;
-            }
-        CXnNode* parent = aFocusedNode.Parent();
-        if ( !parent )
-            {
-            return;
-            }
-        else
-            {
-            const TDesC8* direction(
-                &XnPropertyNames::style::common::direction::KLTR );
-            const TDesC8* orientation(
-                &XnPropertyNames::style::common::block_progression::KTB );
-
-            CXnProperty* directionProperty( parent->DirectionL() );
-
-            if ( directionProperty )
-                {
-                direction = &directionProperty->StringValue();
-                }
-
-            CXnProperty* orientationProperty( parent->BlockProgressionL() );
-
-            if ( orientationProperty )
-                {
-                orientation = &orientationProperty->StringValue();
-                }
-
-            if ( *direction == XnPropertyNames::style::common::direction::KLTR &&
-                 ( *orientation == XnPropertyNames::style::common::block_progression::KLR ||
-                   *orientation == XnPropertyNames::style::common::block_progression::KRL ) )
-                {
-                if ( aKeyEvent.iScanCode == EStdKeyLeftArrow )
-                    {
-                    DoCompoundNodeBeginKeyL( children, &aFocusedNode );
-                    }
-                if ( aKeyEvent.iScanCode == EStdKeyRightArrow )
-                    {
-                    DoCompoundNodeEndKeyL( children, &aFocusedNode );
-                    }
-                }
-            else if ( *direction == XnPropertyNames::style::common::direction::KRTL &&
-                      ( *orientation == XnPropertyNames::style::common::block_progression::KLR ||
-                        *orientation == XnPropertyNames::style::common::block_progression::KRL ) )
-                {
-                if ( aKeyEvent.iScanCode == EStdKeyLeftArrow )
-                    {
-                    DoCompoundNodeEndKeyL( children, &aFocusedNode );
-                    }
-                if ( aKeyEvent.iScanCode == EStdKeyRightArrow )
-                    {
-                    DoCompoundNodeBeginKeyL( children, &aFocusedNode );
-                    }
-                }
-            else if ( *direction == XnPropertyNames::style::common::direction::KLTR &&
-                      *orientation == XnPropertyNames::style::common::block_progression::KTB )
-                {
-                if ( aKeyEvent.iScanCode == EStdKeyUpArrow )
-                    {
-                    DoCompoundNodeBeginKeyL( children, &aFocusedNode );
-                    }
-                else if ( aKeyEvent.iScanCode == EStdKeyDownArrow )
-                    {
-                    DoCompoundNodeEndKeyL( children, &aFocusedNode );
-                    }
-                }
-            else if ( *direction == XnPropertyNames::style::common::direction::KRTL &&
-                      *orientation == XnPropertyNames::style::common::block_progression::KTB )
-                {
-                if ( aKeyEvent.iScanCode == EStdKeyDownArrow )
-                    {
-                    DoCompoundNodeBeginKeyL( children, &aFocusedNode );
-                    }
-                else if ( aKeyEvent.iScanCode == EStdKeyUpArrow )
-                    {
-                    DoCompoundNodeEndKeyL( children, &aFocusedNode );
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BuildTriggerNodeL
-// Builds a trigger node
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildTriggerNodeL(
-    CXnUiEngine& aUiEngine,
-    const TDesC8& aTriggerName )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    CXnDomPropertyValue* nameValue =
-        CXnDomPropertyValue::NewL( aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName,
-        nameValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-    CleanupStack::Pop( node );
-    return node;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnNodeImpl* CXnNodeImpl::NewL( CXnType* aType )
-    {
-    CXnNodeImpl* self = new ( ELeave ) CXnNodeImpl;
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aType );
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::ConstructL( CXnType* aType )
-    {
-    iType = aType;
-    iPropertyList = CXnPropertyList::NewL();
-    iLayoutCapable = ETrue;
-    iHandleTooltip = ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::CXnNodeImpl()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnNodeImpl::CXnNodeImpl()
-    : iDropped( 0 ), iChildren( 1 ), iAdaptive( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::~CXnNodeImpl()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnNodeImpl::~CXnNodeImpl()
-    {
-    delete iPropertyList;
-    delete iType;
-    iPropertyPseudoClasses.Reset();
-    iStates.Reset();
-    iChildren.ResetAndDestroy();
-    delete iGridPropertyCache;
-    delete iLayoutPropertyCache;
-    DeletePeriodic();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetNode
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetNode( CXnNode& aNode )
-    {
-    iNode = &aNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::Node
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnNodeImpl::Node()
-    {
-    return iNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetRect
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetRect( const TRect& aRect )
-    {
-    iRect = aRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::Rect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNodeImpl::Rect()
-    {
-    return AdjustRectIfNeeded(iRect);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetBorderRect
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetBorderRect( const TRect& aRect )
-    {
-    iBorderRect = aRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNodeImpl::BorderRect()
-    {
-    return AdjustRectIfNeeded(iBorderRect);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetNormalFlowBorderRect
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetNormalFlowBorderRect( const TRect& aRect )
-    {
-    iNormalFlowBorderRect = aRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::NormalFlowBorderRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNodeImpl::NormalFlowBorderRect()
-    {
-    return AdjustRectIfNeeded(iNormalFlowBorderRect);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetMarginRect
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetMarginRect( const TRect& aRect )
-    {
-    iMarginRect = aRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MarginRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNodeImpl::MarginRect()
-    {
-    return AdjustRectIfNeeded(iMarginRect);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetPaddingRect
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetPaddingRect( const TRect& aRect )
-    {
-    iPaddingRect = aRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::PaddingRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnNodeImpl::PaddingRect()
-    {
-    return AdjustRectIfNeeded(iPaddingRect);
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::Type()
-// Returns control type.
-// -----------------------------------------------------------------------------
-//
-CXnType* CXnNodeImpl::Type()
-    {
-    return iType;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::Parent
-// Get component parent
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnNodeImpl::Parent() const
-    {
-    return iParent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetParent
-// Set component parent
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetParent( CXnNode& aParent )
-    {
-    iParent = &aParent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::AddChildL
-// Adds a child to this container.
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::AddChildL( CXnNode* aChild )
-    {
-    TInt err = iChildren.Append( aChild );
-    if ( err != KErrNone )
-        {
-        User::Leave( KXnErrAddChildToAreaFailed );
-        }
-    aChild->SetParent( *iNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::Children
-// -----------------------------------------------------------------------------
-//
-RPointerArray< CXnNode >& CXnNodeImpl::Children()
-    {
-    return iChildren;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetPCDataL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetPCDataL( const TDesC8& aData )
-    {
-    iDomNode->SetPCDataL( aData );
-
-    SetDirtyL( XnDirtyLevel::ERender );
-
-    CXnDomStringPool* sp( iDomNode->StringPool() );
-
-    CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( sp );
-    CleanupStack::PushL( newValue );
-    newValue->SetStringValueL( CXnDomPropertyValue::EString, KNullDesC8 );
-    // create property
-    CXnProperty* prop = CXnProperty::NewL(
-        XnPropertyNames::common::KPCData, newValue, *sp );
-    CleanupStack::Pop( newValue );
-    CleanupStack::PushL( prop );
-
-    InformPropertyChangeL( *iNode, prop );
-
-    CleanupStack::PopAndDestroy( prop );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::GetPCData
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CXnNodeImpl::GetPCData()
-    {
-    if ( iRef )
-        {
-        CXnNode* refNode( NULL );
-        TRAP_IGNORE( refNode = RefNodeL( this, iRef, iUiEngine ) );
-
-        if ( refNode )
-            {
-            return refNode->GetPCData();
-            }
-        }
-
-    return iDomNode->PCData();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetHandleTooltip()
-// Sets wheter to handle tooltips
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetHandleTooltip( TBool aFlag )
-    {
-    iHandleTooltip = aFlag;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ShowPopupsL()
-// Searchs and shoes tooltips
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::ShowPopupsL( TRect aRect, TInt /*aSource*/ )
-    {
-    if ( iHandleTooltip )
-        {
-        for ( TInt i = 0; i < iChildren.Count(); i++ )
-            {
-            CXnNode* node( iChildren[i] );
-
-            if ( node->Type()->Type() == KToolTip )
-                {
-                CXnNodeAppIf& tooltipNode( node->AppIfL() );
-                CXnPopup* popup( NULL );
-
-                XnComponentInterface::MakeInterfaceL( popup, tooltipNode );
-
-                if ( popup )
-                    {
-                    popup->ShowPopupL( aRect );
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::HidePopupsL()
-// Searchs and hides tooltips
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::HidePopupsL()
-    {
-    if ( iHandleTooltip )
-        {
-        for ( TInt i = 0; i < iChildren.Count(); i++ )
-            {
-            CXnNode* node( iChildren[i] );
-
-            if ( node->Type()->Type() == KToolTip )
-                {
-                CXnNodeAppIf& tooltipNode( node->AppIfL() );
-                CXnPopup* popup( NULL );
-
-                XnComponentInterface::MakeInterfaceL( popup, tooltipNode );
-
-                if ( popup )
-                    {
-                    popup->HidePopupL();
-                    }
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetPropertyL
-// Sets a property, informs property change and builds trigger.
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetPropertyL( CXnProperty* aProperty, TBool aNotify )
-    {
-    TInt level( DoSetPropertyL( aProperty ) );
-
-    if ( !aNotify || level == XnDirtyLevel::ENone )
-        {
-        // all done
-        return;
-        }
-
-    InformPropertyChangeL( *iNode, aProperty );
-
-    if ( iLayoutCapable && iNode->Parent() )
-        {
-        const TDesC8* value( NULL );
-        const TDesC8& name( aProperty->Property()->Name() );
-        TBool informChildren( EFalse );
-
-        if ( name == XnPropertyNames::style::common::KDisplay )
-            {
-            value = &XnPropertyNames::style::common::display::KNone;
-            informChildren = ETrue;
-            }
-        else if ( name == XnPropertyNames::style::common::KVisibility )
-            {
-            value = &XnPropertyNames::style::common::visibility::KHidden;
-            informChildren = ETrue;
-            }
-
-        if ( value )
-            {
-            if ( *value == aProperty->StringValue() )
-                {
-                CXnNode* loseVisualisation(
-                    BuildTriggerNodeL(
-                        *iUiEngine,
-                        XnPropertyNames::action::trigger::name::KLoseVisualisation ) );
-
-                CleanupStack::PushL( loseVisualisation );
-
-                CXnNode* focused( iUiEngine->FocusedNode() );
-
-                for ( CXnNode* node = focused; node; node = node->Parent() )
-                    {
-                    if ( node == iNode )
-                        {
-                        // Focus is either in this node or
-                        // somewhere in this node's childrens
-                        focused->UnsetStateL(
-                            XnPropertyNames::style::common::KFocus );
-
-                        focused->UnsetStateL(
-                            XnPropertyNames::style::common::KHold );
-
-                        focused->UnsetStateL(
-                            XnPropertyNames::style::common::KActive );
-
-                        // Report losevisualisation to focused node if the node
-                        // is 'visualisationaware'
-                        CXnProperty* visaware = GetPropertyL(
-                            XnPropertyNames::common::KVisualisationAware );
-
-                        if ( visaware && visaware->StringValue() ==
-                             XnPropertyNames::KTrue )
-                            {
-                            focused->ReportXuikonEventL( *loseVisualisation );
-                            }
-
-                        break;
-                        }
-                    }
-
-                if ( focused != iNode )
-                    {
-                    // Report losevisualisation to this node if the node
-                    // is 'visualisationaware'
-                    CXnProperty* visaware = GetPropertyL(
-                        XnPropertyNames::common::KVisualisationAware );
-                    if ( visaware && visaware->StringValue() ==
-                         XnPropertyNames::KTrue )
-                        {
-                        iNode->ReportXuikonEventL( *loseVisualisation );
-                        }
-                    }
-
-                CleanupStack::PopAndDestroy( loseVisualisation );
-                }
-            else
-                {
-                if ( !iUiEngine->FocusedNode() )
-                    {
-                    CXnNode* node( IsNodeNavigableL( Node() ) );
-
-                    if ( node )
-                        {
-                        // This node can be focused
-                        iUiEngine->AddFocusCandidateL( node );
-                        }
-                    }
-                }
-            }
-
-        if ( informChildren && ( iNode->Children().Count() > 0 ) )
-            {
-            //we have already done inform for the parent, so EFalse
-            InformChildrenPropertyChangeL( *iNode, aProperty, EFalse );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetPropertyWithoutNotificationL
-// Sets a property.
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetPropertyWithoutNotificationL( CXnProperty* aProperty )
-    {
-    SetPropertyL( aProperty, EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetPropertyArrayL
-// Sets an array of properties and after all the properties are set informs
-// property change.
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetPropertyArrayL(
-    RPointerArray< CXnProperty >& aPropertyArray )
-    {
-    TBool informPropertyChange( EFalse );
-
-    TInt count( aPropertyArray.Count() );
-
-    iUiEngine->DisableRenderUiLC();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        CXnProperty* aProp( aPropertyArray[i] );
-
-        const TDesC8& name( aProp->Property()->Name() );
-
-        if ( name == XnPropertyNames::style::common::KDisplay ||
-             name == XnPropertyNames::style::common::KVisibility )
-            {
-            SetPropertyL( aProp );
-            }
-        else
-            {
-            SetPropertyL( aProp, EFalse );
-            informPropertyChange = ETrue;
-            }
-        }
-
-    if ( informPropertyChange )
-        {
-        InformPropertyChangeL( *iNode, NULL );
-        }
-
-    CleanupStack::PopAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::DoSetPropertyL
-// Does the actual property update
-// -----------------------------------------------------------------------------
-//
-TInt CXnNodeImpl::DoSetPropertyL( CXnProperty* aProperty )
-    {
-    TInt level( XnDirtyLevel::ENone );
-
-    const TDesC8* refid( CheckRefAttributeL( iRef ) );
-
-    if ( refid && aProperty->Property()->Name() != XnPropertyNames::common::KId )
-        {
-        delete aProperty;
-
-        return level;
-        }
-
-    const TDesC8& name( aProperty->Property()->Name() );
-
-    CXnProperty* prop( GetPropertyL( name ) );
-
-    if ( prop && prop->EqualsL( *aProperty ) )
-        {
-        // No change in the property value
-        delete aProperty;
-
-        return level;
-        }
-
-    level = DirtyLevelFromPropertyL( *iNode, name );
-
-    // Save the displayed state, before setting the property
-    TBool isDisplayed( IsNodeDisplayedL( *iNode ) );
-
-    CXnDomProperty::TPseudoClass pseudoClass( aProperty->Property()->PseudoClass() );
-
-    if ( pseudoClass != CXnDomProperty::ENone )
-        {
-        InsertPropertyPseudoClassL( pseudoClass, iPropertyPseudoClasses );
-
-        if ( IsStateSet( PseudoClassName( pseudoClass ) ) )
-            {
-            SetCachedProperty(
-                aProperty,
-                iLayoutPropertyCache,
-                iRef,
-                iName,
-                iValue,
-                iLabel,
-                iInitialFocus,
-                iClass,
-                iId,
-                iPath,
-                iMaskPath,
-                iGridPropertyCache,
-                EFalse,
-                EFalse );
-            }
-        }
-    else
-        {
-        SetCachedProperty(
-            aProperty,
-            iLayoutPropertyCache,
-            iRef,
-            iName,
-            iValue,
-            iLabel,
-            iInitialFocus,
-            iClass,
-            iId,
-            iPath,
-            iMaskPath,
-            iGridPropertyCache,
-            EFalse,
-            EFalse );
-        }
-
-    iPropertyList->SetPropertyL( aProperty );
-
-    TBool isDisplayedNow( IsNodeDisplayedL( *iNode ) );
-
-    level = ( iAdaptive & XnAdaptive::EIgnoreDirty ) ? XnDirtyLevel::ENone : level;
-
-    // This is from layout calculation point of view
-    TBool displayed( ETrue );
-
-    if ( isDisplayed && !isDisplayedNow )
-        {
-        // Node loses its visualisation (either display: none, or 
-        // visibility: hidden) Make sure control is hidden
-        CCoeControl* ctrl( iNode->Control() );
-
-        if ( ctrl )
-            {
-            ctrl->MakeVisible( EFalse );
-            }
-        }
-    else if ( !isDisplayed && isDisplayedNow )
-        {
-        // Node gains its visualisation (both display: block, and
-        // visibility: visible)
-        // Run gainvisualisation trigger, if node is 'visualisationaware'
-        CXnProperty* visaware(
-                GetPropertyL( XnPropertyNames::common::KVisualisationAware ) );
-
-        if ( visaware && visaware->StringValue() == XnPropertyNames::KTrue )
-            {
-            CXnNode* gainVisualisation( BuildTriggerNodeL( *iUiEngine,
-                XnPropertyNames::action::trigger::name::KGainVisualisation ) );
-            CleanupStack::PushL( gainVisualisation );
-            iNode->ReportXuikonEventL( *gainVisualisation );
-            CleanupStack::PopAndDestroy( gainVisualisation );
-            }
-        }
-    else if ( !isDisplayed && !isDisplayedNow )
-        {
-        // No change
-        displayed = EFalse;
-        }
-
-    SetDirtyL( level, displayed );
-
-    return level;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::InitializePropertyL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::InitializePropertyL( CXnProperty* aProperty )
-    {
-    const TDesC8* refid( CheckRefAttributeL( iRef ) );
-
-    if ( refid && aProperty->Property()->Name() != XnPropertyNames::common::KId )
-        {
-        delete aProperty;
-
-        return;
-        }
-
-    if ( aProperty->Property()->PseudoClass() != CXnDomProperty::ENone )
-        {
-        InsertPropertyPseudoClassL(
-            aProperty->Property()->PseudoClass(), iPropertyPseudoClasses );
-
-        SetCachedProperty(
-            aProperty,
-            iLayoutPropertyCache,
-            iRef,
-            iName,
-            iValue,
-            iLabel,
-            iInitialFocus,
-            iClass,
-            iId,
-            iPath,
-            iMaskPath,
-            iGridPropertyCache,
-            ETrue,
-            ETrue );
-        }
-    else
-        {
-        SetCachedProperty(
-            aProperty,
-            iLayoutPropertyCache,
-            iRef,
-            iName,
-            iValue,
-            iLabel,
-            iInitialFocus,
-            iClass,
-            iId,
-            iPath,
-            iMaskPath,
-            iGridPropertyCache,
-            ETrue,
-            EFalse );
-        }
-
-    iPropertyList->SetPropertyL( aProperty );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::GetPropertyL
-// Gets a property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::GetPropertyL( const TDesC8& aKey )
-    {
-    CXnNode* refNode( RefNodeL( this, iRef, iUiEngine ) ) ;
-
-    if ( refNode && aKey != KRef && aKey != KId )
-        {
-        return refNode->GetPropertyL( aKey );
-        }
-
-    CXnDomProperty* attribute = NULL;
-    CXnProperty* property = iPropertyList->GetProperty( aKey );
-
-    if ( property )
-        {
-        attribute = property->Property();
-        CXnDomList& list = attribute->PropertyValueList();
-
-        if ( list.Length() == 0 )
-            {
-            return NULL;
-            }
-
-        CXnDomPropertyValue* attributeValue =
-            static_cast< CXnDomPropertyValue* >( list.Item( 0 ) );
-
-        if ( !attributeValue )
-            {
-            return NULL;
-            }
-
-        if ( attributeValue->IsInheritIdent() && iParent )
-            {
-            // inherited values are queried from the parent
-            property = iParent->GetPropertyL( aKey );
-            }
-
-        // otherwise just return the value
-        return property;
-        }
-
-    // if not found, return NULL
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetStateL
-// Set a pseudoclass
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetStateL( const TDesC8& aState, TInt aSource )    
-    {
-    if ( IsStateSet( aState ) )
-        {
-        return;
-        }
-
-    TBool focusReceived( EFalse );
-    TBool activated( EFalse );
-    TBool stateChanged( EFalse );
-
-    if ( aState == XnPropertyNames::action::trigger::name::KFocus )
-        {
-        if ( !iUiEngine->AppUiAdapter().FocusShown() )
-            {
-            return;
-            }
-        
-        focusReceived = DoReceiveFocusL( *iNode, *iUiEngine );
-
-        if ( focusReceived )
-            {
-            // focused
-            HidePopupsL();
-            ShowPopupsL( iNode->Rect(), aSource );
-
-            if ( IsStateSet( XnPropertyNames::action::trigger::name::KPassiveFocus ) )
-                {
-                iUiEngine->RemovePassiveFocusedNodeL( iNode );
-                }
-
-            stateChanged = focusReceived = iPropertyList->SetStateL( aState );            
-            }
-        }
-    else if ( aState == XnPropertyNames::style::common::KPressedDown )
-        {
-        if ( IsStateSet( XnPropertyNames::action::trigger::name::KFocus ) )
-            {
-            iPropertyList->SetStateL( 
-                XnPropertyNames::style::common::KPressedDown );
-            iNode->SetDirtyL( XnDirtyLevel::ERender );            
-            }
-        }        
-    else if ( aState == XnPropertyNames::style::common::KActive )
-        {
-        activated = ETrue;
-        }
-    else if ( aState == XnPropertyNames::action::trigger::name::KPassiveFocus )
-        {
-        // is focusable node
-        if ( DoReceiveFocusL( *iNode, *iUiEngine ) )
-            {
-            // focused
-            stateChanged = iPropertyList->SetStateL( aState );
-            }
-        }
-    else
-        {
-        stateChanged = iPropertyList->SetStateL( aState );
-        }
-
-    if ( stateChanged )
-        {
-        CXnDomProperty::TPseudoClass pseudoClass( PseudoClassFromName( aState ) );
-
-        if ( pseudoClass != CXnDomProperty::ENone )
-            {
-            iStates.Append( pseudoClass );
-            
-            // Ensure that pseudo class is defined
-            InsertPropertyPseudoClassL( pseudoClass, iPropertyPseudoClasses );
-
-            if ( IsPropertyPseudoClass( pseudoClass, iPropertyPseudoClasses ) )
-                {
-                EnableStatePropertiesL( *iNode, pseudoClass, iLayoutPropertyCache );
-
-                InformPropertyChangeL( *iNode );
-                }
-            }
-        
-        if ( aState == XnPropertyNames::style::common::KPressedDown )            
-            {
-            iNode->SetDirtyL( XnDirtyLevel::ERender );
-            }
-        }
-
-    if ( focusReceived && aState == XnPropertyNames::action::trigger::name::KFocus )
-        {                
-        iUiEngine->SetFocusedNodeL( iNode, aSource );
-        }
-
-    if ( activated )
-        {
-        DoSetActiveL( *iNode, *iUiEngine );
-        }
-
-    if ( stateChanged )
-        {
-        iUiEngine->RenderUIL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::IsStateSet
-// Check whether a state is set or not
-// -----------------------------------------------------------------------------
-//
-TBool CXnNodeImpl::IsStateSet( const TDesC8& aState )
-    {
-    return iPropertyList->IsStateSet( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetStateWithoutNotificationL
-// Set a pseudoclass
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetStateWithoutNotificationL( const TDesC8& aState )
-    {
-    if ( IsStateSet( aState ) )
-        {
-        return;
-        }
-
-    TBool setState( ETrue );
-
-    if ( aState == XnPropertyNames::action::trigger::name::KFocus )
-        {
-        if ( !iUiEngine->AppUiAdapter().FocusShown() )
-            {
-            return;
-            }
-        
-        setState = DoReceiveFocusL( *iNode, *iUiEngine );
-        }
-
-    if ( setState && iPropertyList->SetStateL( aState ) )
-        {
-        CXnDomProperty::TPseudoClass pseudoClass( PseudoClassFromName( aState ) );
-
-        if ( pseudoClass != CXnDomProperty::ENone )
-            {
-            iStates.Append( pseudoClass );
-
-            // Ensure that pseudo class is defined
-            InsertPropertyPseudoClassL( pseudoClass, iPropertyPseudoClasses );
-
-            if ( IsPropertyPseudoClass( pseudoClass, iPropertyPseudoClasses ) )
-                {
-                EnableStatePropertiesL( *iNode, pseudoClass, iLayoutPropertyCache );
-                }
-            }
-
-        if ( aState == XnPropertyNames::action::trigger::name::KFocus )
-            {
-            iUiEngine->SetFocusedNodeL( iNode );
-
-            HidePopupsL();
-            }
-
-        iUiEngine->RenderUIL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::UnsetStateL
-// Unset a pseudoclass
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::UnsetStateL( const TDesC8& aState )
-    {
-    if ( !IsStateSet( aState ) )
-        {
-        return;
-        }
-
-    if ( aState == XnPropertyNames::action::trigger::name::KFocus )
-        {
-        HidePopupsL();
-        
-        iPropertyList->UnsetState( 
-            XnPropertyNames::style::common::KPressedDown );
-        
-        if ( iUiEngine->FocusedNode() == iNode )
-            {
-            iUiEngine->SetFocusedNodeL( NULL );
-            }
-        }
-
-    TBool stateChanged( iPropertyList->UnsetState( aState ) );
-
-    if ( stateChanged )
-        {
-        CXnDomProperty::TPseudoClass pseudoClass( PseudoClassFromName( aState ) );
-
-        if ( IsPropertyPseudoClass( pseudoClass, iPropertyPseudoClasses ) )
-            {
-            DisableStatePropertiesL(
-                *iNode, pseudoClass, iStates, iLayoutPropertyCache );
-
-            InformPropertyChangeL( *iNode );
-            }
-
-        for ( TInt i = iStates.Count() - 1; i >= 0; --i )
-            {
-            if ( iStates[i] == pseudoClass )
-                {
-                iStates.Remove( i );
-                }
-            }
-        
-        if ( aState == XnPropertyNames::style::common::KPressedDown )
-            {
-            iNode->SetDirtyL( XnDirtyLevel::ERender );
-            }        
-
-        iUiEngine->RenderUIL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetUiEngine
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetUiEngine( CXnUiEngine& aEngine )
-    {
-    iUiEngine = &aEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::UiEngine
-// -----------------------------------------------------------------------------
-//
-CXnUiEngine* CXnNodeImpl::UiEngine()
-    {
-    return iUiEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ReportXuikonEventL
-// -----------------------------------------------------------------------------
-//
-TBool CXnNodeImpl::ReportXuikonEventL( CXnNode& aEventData, TInt aSource )
-    {
-    CXnProperty* prop( GetPropertyL( KActionsHandler ) );
-    
-    CXnNode* handler( NULL );
-    
-    iUiEngine->DisableRenderUiLC();
-    
-    if ( prop )
-        {
-        const TDesC8& value( prop->StringValue() );
-        
-        handler = iUiEngine->FindNodeByIdL( value, Namespace() );       
-        }
-    
-    if ( handler && handler->Type()->Type() == KActionsHandler )
-        {
-        // Let <actionshandler> node to handle actions
-        DoTriggerEventL( this, *iUiEngine, *iNode, 
-                         *handler, aEventData, aSource );
-        }    
-    else
-        {
-        // Let this node to handle actions
-        DoTriggerEventL( this, *iUiEngine, *iNode, 
-                         *iNode, aEventData, aSource );
-        }
-    
-    CleanupStack::PopAndDestroy(); // DisableRenderUiLC
-           
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    DoTriggerKeyEventL( this, *iUiEngine, *iNode, aKeyEvent, aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetDropped
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetDropped( const TInt aDropped )
-    {
-    if ( Type()->Type() != KToolTip )
-        {
-        iDropped = aDropped;
-
-        TInt count( iChildren.Count() );
-
-        for ( TInt i = 0; i < count; i++ )
-            {
-            iChildren[i]->SetDropped( aDropped );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::IsDropped
-// -----------------------------------------------------------------------------
-//
-TInt CXnNodeImpl::IsDropped() const
-    {
-    return iDropped;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetLayoutCapable
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetLayoutCapable( const TBool aLayoutCapable )
-    {
-    iLayoutCapable = aLayoutCapable;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::IsLayoutCapable
-// -----------------------------------------------------------------------------
-//
-TBool CXnNodeImpl::IsLayoutCapable() const
-    {
-    return iLayoutCapable;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetRenderedL
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetRenderedL()
-    {
-    if ( !iLayoutCapable )
-        {
-        return;
-        }
-
-    CXnControlAdapter* control =
-        static_cast< CXnControlAdapter* >( iNode->Control() );
-
-    if ( control )
-        {
-        TBool displayed( IsNodeDisplayedL( *iNode, ETrue, EFalse ) );
-
-        control->SetBlank( EFalse );
-
-        if ( iDropped || !displayed )
-            {
-            // Need to check blank here
-            CXnProperty* prop( VisibilityL() );
-
-            if ( prop && prop->StringValue() ==
-                 XnPropertyNames::style::common::visibility::KBlank )
-                {
-                control->SetBlank( ETrue );
-                control->MakeVisible( EFalse );
-                control->SetComponentsToInheritVisibility( EFalse );
-                control->MakeVisible( ETrue );
-                control->SetComponentsToInheritVisibility( ETrue );
-                }
-            else
-                {
-                if ( control->IsVisible() )
-                    {
-                    control->MakeVisible( EFalse );
-                    }
-                }
-            }
-        else
-            {
-            CCoeControl* parent( control->Parent() );
-
-            TBool parentVisible( ETrue );
-
-            if ( parent && !parent->IsVisible() )
-                {
-                parentVisible = EFalse;
-                }
-
-            if ( !control->IsVisible() && parentVisible )
-                {
-                TBool found( EFalse );
-
-                for ( CXnNode* node = iNode; !found && node; node = node->Parent() )
-                    {
-                    if ( node->Type()->Type() == KToolTip )
-                        {
-                        // Tooltip control handles its visibility internally
-                        found = ETrue;
-                        }
-                    }
-
-                if ( !found )
-                    {
-                    control->MakeVisible( ETrue );
-                    }
-                }
-            }
-        }
-
-    iRendered = ETrue;
-
-    for ( TInt i = 0; i < iChildren.Count(); i++ )
-        {
-        iChildren[i]->SetRenderedL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetLaidOutL
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetLaidOutL()
-    {
-    if ( !iLayoutCapable )
-        {
-        return;
-        }
-
-    if ( iDropped || !IsNodeDisplayedL( *iNode ) )
-        {
-        return;
-        }
-
-    iLaidOut = ETrue;
-
-    for ( TInt i = 0; i < iChildren.Count(); i++ )
-        {
-        iChildren[i]->SetLaidOutL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::IsLaidOut
-// -----------------------------------------------------------------------------
-//
-TBool CXnNodeImpl::IsLaidOut() const
-    {
-    return iLaidOut;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ClearRenderedAndLaidOut
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::ClearRenderedAndLaidOut()
-    {
-    if ( !iRendered && !iLaidOut )
-        {
-        return;
-        }
-
-    TRect empty;
-
-    SetRect( empty );
-    SetPaddingRect( empty );
-    SetBorderRect( empty );
-    SetNormalFlowBorderRect( empty );
-    SetMarginRect( empty );
-
-    iRendered = EFalse;
-    iLaidOut = EFalse;
-
-    if ( iLayoutCapable )
-        {
-        for ( TInt i = 0; i < iChildren.Count(); i++ )
-            {
-            iChildren[i]->ClearRenderedAndLaidOut();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MakeInterfaceL
-// Create a component interface according to the given type.
-// -----------------------------------------------------------------------------
-//
-XnComponentInterface::MXnComponentInterface* CXnNodeImpl::MakeInterfaceL(
-    const TDesC8& /*aType*/ )
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// PropertyL
-// Returns a property.
-// -----------------------------------------------------------------------------
-//
-static CXnProperty* PropertyL( CXnNodeImpl* aThis, CXnProperty* aProperty,
-    CXnProperty* ( CXnNode::* aFunc )(), CXnUiEngine* aUiEngine,
-    TAny* aLayoutPropertyCache, CXnNode* aParent, CXnProperty* aRef )
-    {
-    CXnNode* refNode( RefNodeL( aThis, aRef, aUiEngine ) ) ;
-
-    if ( refNode )
-        {
-        return ( refNode->*aFunc )();
-        }
-
-    if ( aLayoutPropertyCache && aProperty )
-        {
-        CXnDomProperty* attribute = aProperty->Property();
-        CXnDomList& list = attribute->PropertyValueList();
-
-        if ( list.Length() == 0 )
-            {
-            return NULL;
-            }
-
-        CXnDomPropertyValue* attributeValue =
-            static_cast< CXnDomPropertyValue* >( list.Item( 0 ) );
-
-        if ( !attributeValue )
-            {
-            return NULL;
-            }
-
-        if ( attributeValue->IsInheritIdent() && aParent )
-            {
-            // inherited values are queried from the parent
-            return ( aParent->*aFunc )();
-            }
-
-        // otherwise just return the value
-        return aProperty;
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// ReferredPropertyL
-// Returns a referred property.
-// -----------------------------------------------------------------------------
-//
-static CXnProperty* ReferredPropertyL(
-    RPointerArray< CXnProperty >* aPropertyArray,
-    RArray< CXnDomProperty::TPseudoClass >& aStates )
-    {
-    if ( !aPropertyArray )
-        {
-        return NULL;
-        }
-    for ( TInt i = aPropertyArray->Count() - 1; i >= 0; --i )
-        {
-        CXnProperty* tmp = ( *aPropertyArray )[i];
-        for ( TInt j = aStates.Count() - 1; j >= 0; --j )
-            {
-            if ( aStates[j] == tmp->Property()->PseudoClass() )
-                {
-                return tmp;
-                }
-            }
-        for ( TInt j = aStates.Count() - 1; j >= 0; --j )
-            {
-            if ( tmp->Property()->PseudoClass() == CXnDomProperty::ENone )
-                {
-                return tmp;
-                }
-            }
-        }
-    for ( TInt i = aPropertyArray->Count() - 1; i >= 0; --i )
-        {
-        CXnProperty* tmp = ( *aPropertyArray )[i];
-        if ( tmp->Property()->PseudoClass() == CXnDomProperty::ENone )
-            {
-            return tmp;
-            }
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// RefNodeL
-// Returns referred node.
-// -----------------------------------------------------------------------------
-//
-static CXnNode* RefNodeL(
-    CXnNodeImpl* aThis,
-    CXnProperty* aRef,
-    CXnUiEngine* aUiEngine )
-    {
-    const TDesC8* refid( CheckRefAttributeL( aRef ) );
-
-    if ( refid )
-        {
-        CXnNode* node( aUiEngine->FindNodeByIdL( *refid, aThis->Namespace() ) );
-
-        if ( node )
-            {
-            return node;
-            }
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::WidthL
-// Returns width property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::WidthL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iWidths ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iWidth : NULL;
-    return PropertyL( this, property, &CXnNode::WidthL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::HeightL
-// Returns height property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::HeightL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if (refNode)
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iHeights ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iHeight : NULL;
-    return PropertyL( this, property, &CXnNode::HeightL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MarginLeftL
-// Returns margin-left property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MarginLeftL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iMarginLefts ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ?
-        iLayoutPropertyCache->iMarginLeft :
-        NULL;
-    return PropertyL( this, property, &CXnNode::MarginLeftL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MarginRightL
-// Returns margin-right property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MarginRightL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iMarginRights ) :
-            NULL;
-        return ReferredPropertyL(propertyArray, iStates);
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ?
-        iLayoutPropertyCache->iMarginRight :
-        NULL;
-    return PropertyL( this, property, &CXnNode::MarginRightL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderLeftL
-// Returns border-left property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderLeftL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderLefts ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property = iLayoutPropertyCache ?
-        iLayoutPropertyCache->iBorderLeft :
-        NULL;
-    return PropertyL( this, property, &CXnNode::BorderLeftL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderRightL
-// Returns border-right property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderRightL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderRights ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ?
-        iLayoutPropertyCache->iBorderRight :
-        NULL;
-    return PropertyL( this, property, &CXnNode::BorderRightL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::PaddingLeftL
-// Returns padding-left property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::PaddingLeftL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iPaddingLefts ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ?
-        iLayoutPropertyCache->iPaddingLeft :
-        NULL;
-    return PropertyL( this, property, &CXnNode::PaddingLeftL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::PaddingRightL
-// Returns PaddingRightL property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::PaddingRightL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iPaddingRights ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iPaddingRight : NULL;
-    return PropertyL( this, property, &CXnNode::PaddingRightL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MarginTopL
-// Returns margin-top property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MarginTopL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iMarginTops ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iMarginTop : NULL;
-    return PropertyL( this, property, &CXnNode::MarginTopL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MarginBottomL
-// Returns margin-bottom property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MarginBottomL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iMarginBottoms ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iMarginBottom : NULL;
-    return PropertyL( this, property, &CXnNode::MarginBottomL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderTopL
-// Returns border-top property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderTopL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderTops ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderTop : NULL;
-    return PropertyL( this, property, &CXnNode::BorderTopL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderBottomL
-// Returns border-bottom property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderBottomL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderBottoms ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderBottom : NULL;
-    return PropertyL( this, property, &CXnNode::BorderBottomL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::PaddingTopL
-// Returns padding-top property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::PaddingTopL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iPaddingTops ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iPaddingTop : NULL;
-    return PropertyL( this, property, &CXnNode::PaddingTopL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::PaddingBottomL
-// Returns padding-bottom property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::PaddingBottomL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iPaddingBottoms ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iPaddingBottom : NULL;
-    return PropertyL( this, property, &CXnNode::PaddingBottomL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderWidthL
-// Returns border-width property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderWidthL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderWidths ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderWidth : NULL;
-    return PropertyL( this, property, &CXnNode::BorderWidthL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BlockProgressionL
-// Returns block-progression property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BlockProgressionL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBlockProgressions ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBlockProgression : NULL;
-    return PropertyL( this, property, &CXnNode::BlockProgressionL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::DirectionL
-// Returns direction property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::DirectionL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iDirections ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iDirection : NULL;
-    return PropertyL( this, property, &CXnNode::DirectionL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::PositionL
-// Returns position property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::PositionL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iPositions ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iPosition : NULL;
-    return PropertyL( this, property, &CXnNode::PositionL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MaxHeightL
-// Returns max-height property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MaxHeightL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iMaxHeights ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iMaxHeight : NULL;
-    return PropertyL( this, property, &CXnNode::MaxHeightL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MinHeightL
-// Returns min-height property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MinHeightL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iMinHeights ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iMinHeight : NULL;
-    return PropertyL( this, property, &CXnNode::MinHeightL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MaxWidthL
-// Returns max-width property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MaxWidthL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iMaxWidths ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iMaxWidth : NULL;
-    return PropertyL( this, property, &CXnNode::MaxWidthL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MinWidthL
-// Returns min-width property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MinWidthL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iMinWidths ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iMinWidth : NULL;
-    return PropertyL( this, property, &CXnNode::MinWidthL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::DisplayL
-// Returns display property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::DisplayL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iDisplays ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iDisplay : NULL;
-    return PropertyL( this, property, &CXnNode::DisplayL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::LeftL
-// Returns left property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::LeftL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iLefts ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iLeft : NULL;
-    return PropertyL( this, property, &CXnNode::LeftL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::RightL
-// Returns right property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::RightL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iRights ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iRight : NULL;
-    return PropertyL( this, property, &CXnNode::RightL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::TopL
-// Returns top property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::TopL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iTops ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iTop : NULL;
-    return PropertyL( this, property, &CXnNode::TopL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BottomL
-// Returns bottom property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BottomL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBottoms ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBottom : NULL;
-    return PropertyL( this, property, &CXnNode::BottomL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderLeftStyleL
-// Returns border-left-style property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderLeftStyleL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderLeftStyles ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderLeftStyle : NULL;
-    return PropertyL( this, property, &CXnNode::BorderLeftStyleL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderRightStyleL
-// Returns border-right-style property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderRightStyleL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderRightStyles ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderRightStyle : NULL;
-    return PropertyL( this, property, &CXnNode::BorderRightStyleL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderTopStyleL
-// Returns border-top-style property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderTopStyleL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderTopStyles ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderTopStyle : NULL;
-    return PropertyL( this, property, &CXnNode::BorderTopStyleL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderBottomStyleL
-// Returns border-bottom-style property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderBottomStyleL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderBottomStyles ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderBottomStyle : NULL;
-    return PropertyL( this, property, &CXnNode::BorderBottomStyleL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderStyleL
-// Returns border-style property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderStyleL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBorderStyles ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderStyle : NULL;
-    return PropertyL( this, property, &CXnNode::BorderStyleL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BorderImageL
-// Returns border-image property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BorderImageL()
-    {
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBorderImage : NULL;
-    return PropertyL( this, property, &CXnNode::BorderImageL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::DisplayPriorityL
-// Returns display-priority property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::DisplayPriorityL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iDisplayPriorities ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iDisplayPriority : NULL;
-    return PropertyL( this, property, &CXnNode::DisplayPriorityL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::NameL
-// Returns name property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::NameL()
-    {
-    return PropertyL( this, iName, &CXnNode::NameL,
-        iUiEngine, this,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ValueL
-// Returns value property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::ValueL()
-    {
-    return PropertyL( this, iValue, &CXnNode::ValueL,
-        iUiEngine, this,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::VisibilityL
-// Returns visibility property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::VisibilityL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iVisibilities ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iVisibility : NULL;
-    return PropertyL( this, property, &CXnNode::VisibilityL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::LabelL
-// Returns label property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::LabelL()
-    {
-    return PropertyL( this, iLabel, &CXnNode::LabelL,
-        iUiEngine, this,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::InitialFocusL
-// Returns initial-focus property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::InitialFocusL()
-    {
-    return PropertyL( this, iInitialFocus, &CXnNode::InitialFocusL,
-        iUiEngine, this,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ClassL
-// Returns class property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::ClassL()
-    {
-    return PropertyL( this, iClass, &CXnNode::ClassL,
-        iUiEngine, this,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::IdL
-// Returns id property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::IdL()
-    {
-    if ( iId )
-        {
-        CXnDomProperty* attribute = iId->Property();
-        CXnDomList& list = attribute->PropertyValueList();
-        if ( list.Length() == 0 )
-            {
-            return NULL;
-            }
-        CXnDomPropertyValue* attributeValue =
-            static_cast< CXnDomPropertyValue* >( list.Item( 0 ) );
-        if ( !attributeValue )
-            {
-            return NULL;
-            }
-        if ( attributeValue->IsInheritIdent()
-            && iParent )
-            {
-            // inherited values are queried from the parent
-            return iParent->IdL();
-            }
-        // otherwise just return the value
-        return iId;
-        }
-    // if not found, return NULL
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::PathL
-// Returns path property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::PathL()
-    {
-    return PropertyL( this, iPath, &CXnNode::PathL,
-        iUiEngine, this,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::MaskPathL
-// Returns maskpath property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::MaskPathL()
-    {
-    return PropertyL( this, iMaskPath, &CXnNode::MaskPathL,
-        iUiEngine, this,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::NavIndexL
-// Returns nav-index property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::NavIndexL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iNavIndexes ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iNavIndex : NULL;
-    return PropertyL( this, property, &CXnNode::NavIndexL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::VisibleRowsL
-// Returns visible-rows property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::VisibleRowsL()
-    {
-    CXnProperty* property =
-        iGridPropertyCache ? iGridPropertyCache->iVisibleRows : NULL;
-    return PropertyL( this, property, &CXnNode::VisibleRowsL,
-        iUiEngine, iGridPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::GridColumnsL
-// Returns grid-columns property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::GridColumnsL()
-    {
-    CXnProperty* property =
-        iGridPropertyCache ? iGridPropertyCache->iGridColumns : NULL;
-    return PropertyL( this, property, &CXnNode::GridColumnsL,
-        iUiEngine, iGridPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::GridOrientationL
-// Returns grid-orientation property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::GridOrientationL()
-    {
-    CXnProperty* property =
-        iGridPropertyCache ? iGridPropertyCache->iGridOrientation : NULL;
-    return PropertyL( this, property, &CXnNode::GridOrientationL,
-        iUiEngine, iGridPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::GridVerDirectionL
-// Returns grid-ver-direction property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::GridVerDirectionL()
-    {
-    CXnProperty* property =
-        iGridPropertyCache ? iGridPropertyCache->iGridVerDirection : NULL;
-    return PropertyL( this, property, &CXnNode::GridVerDirectionL,
-        iUiEngine, iGridPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::GridHorDirectionL
-// Returns grid-hor-direction property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::GridHorDirectionL()
-    {
-    CXnProperty* property =
-        iGridPropertyCache ? iGridPropertyCache->iGridHorDirection : NULL;
-    return PropertyL( this, property, &CXnNode::GridHorDirectionL,
-        iUiEngine, iGridPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::FocusHorLoopingL
-// Returns focus-hor-looping property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::FocusHorLoopingL()
-    {
-    CXnProperty* property =
-        iGridPropertyCache ? iGridPropertyCache->iFocusHorLooping : NULL;
-    return PropertyL( this, property, &CXnNode::FocusHorLoopingL,
-        iUiEngine, iGridPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::FocusVerLoopingL
-// Returns focus-ver-looping property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::FocusVerLoopingL()
-    {
-    CXnProperty* property =
-        iGridPropertyCache ? iGridPropertyCache->iFocusVerLooping : NULL;
-    return PropertyL( this, property, &CXnNode::FocusVerLoopingL,
-        iUiEngine, iGridPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ZIndexL
-// Returns z-index property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::ZIndexL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iZIndexes ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iZIndex : NULL;
-    return PropertyL( this, property, &CXnNode::ZIndexL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BackgroundColorL
-// Returns background-color property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BackgroundColorL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iBackgroundColors ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBackgroundColor : NULL;
-    return PropertyL( this, property, &CXnNode::BackgroundColorL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::BackgroundImageL
-// Returns background-image property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::BackgroundImageL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-             &( refNode->Impl()->iLayoutPropertyCache->iBackgroundImages ) :
-             NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iBackgroundImage : NULL;
-    return PropertyL( this, property, &CXnNode::BackgroundImageL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::FocusBackgroundL
-// Returns focus-background property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::FocusBackgroundL()
-    {
-    CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-
-    if ( refNode )
-        {
-        RPointerArray< CXnProperty >* propertyArray =
-            refNode->Impl()->iLayoutPropertyCache ?
-            &( refNode->Impl()->iLayoutPropertyCache->iFocusBackgrounds ) :
-            NULL;
-        return ReferredPropertyL( propertyArray, iStates );
-        }
-
-    CXnProperty* property =
-        iLayoutPropertyCache ? iLayoutPropertyCache->iFocusBackground : NULL;
-
-    return PropertyL( this, property, &CXnNode::FocusBackgroundL,
-        iUiEngine, iLayoutPropertyCache,
-        iParent, iRef );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::RefL
-// Returns ref property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::RefL()
-    {
-    return iRef;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::GridScrollBarWidthL
-// Returns grid-scrollbar-width property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::GridScrollBarWidthL()
-    {
-    CXnProperty* property = NULL;
-
-    if ( iGridPropertyCache && iGridPropertyCache->iGridScrollBarWidth)
-        {
-        property = PropertyL(
-            this,
-            iGridPropertyCache->iGridScrollBarWidth,
-            &CXnNode::GridScrollBarWidthL,
-            iUiEngine, iGridPropertyCache,
-            iParent,
-            iRef );
-        }
-
-    if ( !property && iRef )
-        {
-        CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-
-        if ( refNode )
-            {
-            property = refNode->GridScrollBarWidthL();
-            }
-        }
-
-    if ( !property )
-        {
-        TReal sbWidth( KS60ScrollbarDefaultWidth );
-        // Set default value
-        CXnDomDocument& doc = iUiEngine->ODT()->DomDocument();
-        CXnDomProperty* domProperty = CXnDomProperty::NewL(
-            XnPropertyNames::grid::KS60GridScrollbarWidth, doc.StringPool() );
-        CleanupStack::PushL( domProperty );
-        CXnDomPropertyValue* propertyValue = CXnDomPropertyValue::NewL(
-            doc.StringPool() );
-        CleanupStack::PushL( propertyValue );
-        if ( AknLayoutUtils::PenEnabled() )
-            {
-            sbWidth = KS60ScrollbarDefaultWidthPenEnabled;
-            }
-        propertyValue->SetFloatValueL( CXnDomPropertyValue::EUnitValue, sbWidth );
-        domProperty->PropertyValueList().AddItemL( propertyValue );
-        CleanupStack::Pop( propertyValue );
-
-        property = CXnProperty::NewL( domProperty );
-        CleanupStack::Pop( domProperty );
-        CleanupStack::PushL( property );
-
-        // If this is a reference node, set property to the referred node, not this.
-        CXnNode* node = RefNodeL( this, iRef, iUiEngine );
-        if ( node )
-            {
-            node->SetPropertyL( property );
-            }
-        else
-            {
-            this->SetPropertyL( property ); // deletes existing one
-            }
-
-        CleanupStack::Pop( property );
-        }
-
-    return property;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::GridScrollBarMarginL
-// Returns grid-scrollbar-margin property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnNodeImpl::GridScrollBarMarginL()
-    {
-    CXnProperty* property = NULL;
-    if ( iGridPropertyCache && iGridPropertyCache->iGridScrollBarMargin )
-        {
-        property = PropertyL(
-            this,
-            iGridPropertyCache->iGridScrollBarMargin,
-            &CXnNode::GridScrollBarMarginL,
-            iUiEngine, iGridPropertyCache,
-            iParent,
-            iRef );
-        }
-
-    if ( !property && iRef )
-        {
-        CXnNode* refNode = RefNodeL( this, iRef, iUiEngine );
-
-        if ( refNode )
-            {
-            property = refNode->GridScrollBarMarginL();
-            }
-        }
-
-    if ( !property )
-        {
-        TReal sbMarginWidth( KS60ScrollbarDefaultMargin );
-        // Set default value
-        CXnDomDocument& doc = iUiEngine->ODT()->DomDocument();
-        CXnDomProperty* domProperty =
-            CXnDomProperty::NewL(
-                XnPropertyNames::grid::KS60GridScrollbarMargin,
-                doc.StringPool() );
-        CleanupStack::PushL( domProperty );
-        CXnDomPropertyValue* propertyValue = CXnDomPropertyValue::NewL(
-            doc.StringPool() );
-        CleanupStack::PushL( propertyValue );
-        if ( AknLayoutUtils::PenEnabled() )
-            {
-            sbMarginWidth = KS60ScrollbarDefaultMarginPenEnabled;
-            }
-        propertyValue->SetFloatValueL(
-            CXnDomPropertyValue::EUnitValue, sbMarginWidth );
-        domProperty->PropertyValueList().AddItemL( propertyValue );
-        CleanupStack::Pop( propertyValue );
-
-        property = CXnProperty::NewL( domProperty );
-        CleanupStack::Pop( domProperty );
-        CleanupStack::PushL( property );
-
-        // If this is a reference node, set property to the referred node, not this.
-        CXnNode* node = RefNodeL( this, iRef, iUiEngine );
-        if ( node )
-            {
-            node->SetPropertyL( property );
-            }
-        else
-            {
-            this->SetPropertyL( property ); // deletes existing one
-            }
-
-        CleanupStack::Pop(property);
-        }
-    return property;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::SetDomNode
-// Sets DOM node
-// ----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetDomNode( CXnDomNode* aDomNode )
-    {
-    iDomNode = aDomNode;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::DomNode
-// Returns the DOM node pointer
-// ----------------------------------------------------------------------------
-//
-CXnDomNode* CXnNodeImpl::DomNode()
-    {
-    return iDomNode;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::MeasureAdaptiveContentL
-// Measures the adaptive content dimensions.
-// ----------------------------------------------------------------------------
-//
-TSize CXnNodeImpl::MeasureAdaptiveContentL( const TSize& aAvailableSize )
-    {
-    TSize empty;
-
-    TInt adaptive( IsAdaptive() );
-
-    if ( aAvailableSize.iWidth <= 0 && ( adaptive & XnAdaptive::EWidth ) ||
-         aAvailableSize.iHeight <= 0 && ( adaptive & XnAdaptive::EHeight ) )
-        {
-        // No available size, don't even try to measure
-        return empty;
-        }
-
-    // node is displayed as default
-    TBool displayed( ETrue );
-
-    CXnProperty* displayProp( DisplayL() );
-
-    if ( displayProp )
-        {
-        const TDesC8& value( displayProp->StringValue() );
-
-        if ( value != XnPropertyNames::style::common::display::KBlock )
-            {
-            // Not displayed
-            displayed = EFalse;
-            }
-        }
-
-    if ( adaptive && iLayoutCapable && !iDropped && displayed )
-        {
-        CXnControlAdapter* adapter( iNode->Control() );
-
-        // What is my size?
-        if ( adapter )
-            {
-            TInt width( 0 );
-            TInt height( 0 );
-
-            TSize size = adapter->MeasureAdaptiveContentL( aAvailableSize );
-
-            if ( adaptive & XnAdaptive::EWidth )
-                {
-                width = size.iWidth;
-                }
-
-            if ( adaptive & XnAdaptive::EHeight )
-                {
-                height = size.iHeight;
-                }
-
-            return TSize( width, height );
-            }
-        }
-
-    return empty;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::IsAdaptive
-// Checks if the node have adaptive content
-// ----------------------------------------------------------------------------
-//
-TInt CXnNodeImpl::IsAdaptive( TBool aIgnoreSizeFixed ) const
-    {
-    if ( !iAdaptive )
-        {
-        return XnAdaptive::ENone;
-        }
-
-    TInt adaptive( iAdaptive );
-
-    if ( ( adaptive & XnAdaptive::ESizeFixed ) && !aIgnoreSizeFixed )
-        {
-        // When size is fixed, pretend non-adaptive
-        return XnAdaptive::ENone;
-        }
-
-    // Remove measure control  flags
-    adaptive &= ~XnAdaptive::EMeasure;
-    adaptive &= ~XnAdaptive::ESizeFixed;
-
-    return adaptive;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::SetAdaptiveL
-// Marks the node to have adaptive content
-// ----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetAdaptiveL( const TInt aAdaptive )
-    {
-    TInt adaptive( aAdaptive );
-
-    // Force adaptive nodes to be auto
-    if ( adaptive & XnAdaptive::EMeasure )
-        {
-        if ( iAdaptive & XnAdaptive::EMeasure )
-            {
-            // Measure already pending
-            return;
-            }
-
-        if ( iAdaptive & XnAdaptive::EWidth )
-            {
-            adaptive |= XnAdaptive::EWidth;
-            }
-
-        if ( iAdaptive & XnAdaptive::EHeight )
-            {
-            adaptive |= XnAdaptive::EHeight;
-            }
-
-        // Reset
-        iAdaptive = XnAdaptive::ENone;
-        }
-
-    if ( ( adaptive & XnAdaptive::EWidth ) &&
-           !( iAdaptive & XnAdaptive::EWidth ) )
-        {
-        iAdaptive |= XnAdaptive::EIgnoreDirty;
-
-        SetStringPropertyToNodeL(
-            *DomNode()->StringPool(), *Node(),
-            XnPropertyNames::style::common::KWidth,
-            XnPropertyNames::style::common::KAuto );
-
-        // Width is adaptive
-        iAdaptive |= XnAdaptive::EWidth;
-
-        iAdaptive &= ~XnAdaptive::EIgnoreDirty;
-        }
-
-    if ( ( adaptive & XnAdaptive::EHeight ) &&
-         !( iAdaptive & XnAdaptive::EHeight ) )
-        {
-        iAdaptive |= XnAdaptive::EIgnoreDirty;
-
-        SetStringPropertyToNodeL(
-            *DomNode()->StringPool(), *Node(),
-            XnPropertyNames::style::common::KHeight,
-            XnPropertyNames::style::common::KAuto );
-
-        // Height is adaptive
-        iAdaptive |= XnAdaptive::EHeight;
-
-        iAdaptive &= ~XnAdaptive::EIgnoreDirty;
-        }
-
-    // Size is no more fixed
-    iAdaptive &= ~XnAdaptive::ESizeFixed;
-
-    // and it needs to be measured
-    iAdaptive |= XnAdaptive::EMeasure;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::FixAdaptiveSize
-// Fixes the adaptive node's size
-// ----------------------------------------------------------------------------
-//
-void CXnNodeImpl::FixAdaptiveSizeL( const TSize& aFixedSize )
-    {
-    // Is there measure pending
-    if ( iAdaptive & XnAdaptive::EMeasure )
-        {
-        if ( iAdaptive & XnAdaptive::EWidth )
-            {
-            iAdaptive |= XnAdaptive::EIgnoreDirty;
-
-            SetFloatPropertyToNodeL(
-                *DomNode()->StringPool(), *Node(),
-                XnPropertyNames::style::common::KWidth,
-                aFixedSize.iWidth, CXnDomPropertyValue::EPx );
-
-            iAdaptive &= ~XnAdaptive::EIgnoreDirty;
-            }
-
-        if ( iAdaptive & XnAdaptive::EHeight )
-            {
-            iAdaptive |= XnAdaptive::EIgnoreDirty;
-
-            SetFloatPropertyToNodeL(
-                *DomNode()->StringPool(), *Node(),
-                XnPropertyNames::style::common::KHeight,
-                aFixedSize.iHeight, CXnDomPropertyValue::EPx );
-
-            iAdaptive &= ~XnAdaptive::EIgnoreDirty;
-            }
-
-        // Measure done
-        iAdaptive &= ~XnAdaptive::EMeasure;
-        // Size is now fixed
-        iAdaptive |= XnAdaptive::ESizeFixed;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::PeriodicEventL
-// ----------------------------------------------------------------------------
-//
-TInt CXnNodeImpl::PeriodicEventL( TAny* aPtr )
-    {
-    TXnTimedTrigger* params = static_cast< TXnTimedTrigger* >( aPtr );
-    CXnNodeImpl* impl = params->iNodeImpl;
-    CXnUiEngine* engine = params->iEngine;
-    CXnNode* node = params->iNode;
-    CXnNode* eventData = params->iEventData;
-    CXnDomNode* actionNode = params->iActionNode;
-    CXnDomNode* triggerNode = params->iTriggerNode;
-    RunEventsL( impl, *engine, *node, *actionNode, *triggerNode, *eventData );
-    delete params;
-    impl->DeletePeriodic();
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::PeriodicTimer
-// ----------------------------------------------------------------------------
-//
-CPeriodic* CXnNodeImpl::PeriodicTimer()
-    {
-    return iPeriodicTimer;
-    }
-
-// ----------------------------------------------------------------------------
-// CXnNodeImpl::CreatePeriodicL
-// ----------------------------------------------------------------------------
-//
-void CXnNodeImpl::CreatePeriodicL()
-    {
-    iPeriodicTimer = CPeriodic::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------
-// CXnNodeImpl::DeletePeriodic
-// ---------------------------------------------------------
-//
-void CXnNodeImpl::DeletePeriodic()
-    {
-    if ( iPeriodicTimer )
-        {
-        iPeriodicTimer->Cancel();
-        delete iPeriodicTimer;
-        iPeriodicTimer = NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetDirtyL
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::SetDirtyL( TInt aLevel, TBool aDisplayedState )
-    {
-    if( !aDisplayedState )
-        {
-        // check if node isn't displayed indeed (def. param. = EFalse)
-        aDisplayedState = IsNodeDisplayedL( *iNode );
-        }
-    if ( iLayoutCapable )
-        {
-        if ( aLevel == XnDirtyLevel::ENone  )
-            {
-            // nothing to do
-            return;
-            }
-
-        if ( aLevel == XnDirtyLevel::ELayoutAndRenderSiblings )
-            {
-            if ( iParent )
-                {
-                // Siblings needs to be laid out also
-                RPointerArray< CXnNode >& siblings( iParent->Children() );
-
-                for ( TInt i = 0; i < siblings.Count(); i++ )
-                    {
-                    CXnNode* sibling( siblings[i] );
-
-                    if ( sibling == iNode )
-                        {
-                        sibling->SetDirtyL( XnDirtyLevel::ELayoutAndRender,
-                            aDisplayedState );
-                        }
-                    else
-                        {
-                        sibling->SetDirtyL( XnDirtyLevel::ELayoutAndRender );
-                        }
-                    }
-                }
-            }
-        else
-            {
-            if ( ( iParent || iNode == iUiEngine->RootNode() ) &&
-                 iNode != iUiEngine->ActiveView() )
-                {
-                // Full redraw (without layout) can be done by setting rootnode
-                // level to ERender
-                if ( aLevel == XnDirtyLevel::ERender && !iLaidOut &&
-                     iNode != iUiEngine->RootNode() )
-                    {
-                    aLevel = XnDirtyLevel::ELayoutAndRender;
-                    }
-
-                if ( aDisplayedState )
-                    {
-                    iUiEngine->AddDirtyNodeL( iNode, aLevel );
-                    }
-                else
-                    {
-                    ClearRenderedAndLaidOut();
-                    }
-                }
-            }
-        }
-    else if ( iParent && iParent->Type()->Type() == KMenuBar )
-        {
-        // Mark menu to be refreshed
-        iUiEngine->AddDirtyNodeL( iParent, XnDirtyLevel::ERender );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::RunFocusChangeL
-// -----------------------------------------------------------------------------
-//
-TBool CXnNodeImpl::RunFocusChangeL( RPointerArray< CXnNode >& aFocusCandidates )
-    {
-    for ( TInt i = 0; i < aFocusCandidates.Count(); i++ )
-        {
-        CXnNode* node( aFocusCandidates[i] );
-
-        if ( IsNodeNavigableL( *node ) )
-            {                       
-            if( node->ScrollableControl() )
-                {
-                node->ScrollableControl()->ShowItem( *node );
-                }
-            
-            node->SetStateWithoutNotificationL(
-                XnPropertyNames::style::common::KFocus );
-            
-            // All done
-            return ETrue;
-            }
-        }
-
-    // Focus change failed
-    CXnNode* focused( iUiEngine->FocusedNode() );
-
-    if ( focused )
-        {
-        // Is the currently focused node still navigable
-        if ( !IsNodeNavigableL( *focused ) )
-            {
-            // No, remove focus
-            focused->UnsetStateL( XnPropertyNames::style::common::KFocus );            
-            }
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ReorderNodesL
-// -----------------------------------------------------------------------------
-//
-void CXnNodeImpl::ReorderNodesL( CXnNode* aSource, CXnNode* aTarget )
-    {
-    TInt target = -1;
-    TInt source = -1;
-    TInt childCount = iChildren.Count();
-    RPointerArray< CXnNode > lockedNodes;
-    CleanupClosePushL( lockedNodes );
-    RArray< TInt > lockedNodeIndex;
-    CleanupClosePushL( lockedNodeIndex );
-
-    for ( TInt i = 0; i < childCount; i++ )
-        {
-        CXnNode* tmpNode = iChildren[i];
-        CXnProperty* editable = tmpNode->GetPropertyL(
-            XnPropertyNames::style::common::edit::KEditable );
-        if ( editable && editable->StringValue() == XnPropertyNames::KFalse )
-            {
-            lockedNodes.AppendL( tmpNode );
-            lockedNodeIndex.AppendL( i );
-            continue;
-            }
-
-        if ( tmpNode == aSource )
-            {
-            source = i;
-            }
-        if ( tmpNode == aTarget )
-            {
-            target = i;
-            }
-        }
-    if ( source != -1 && target != -1 )
-        {
-        if ( target < source )
-            {
-            iChildren.InsertL( aSource, target );
-            iChildren.Remove( source + 1 );
-            }
-        else if ( source < target )
-            {
-            iChildren.Remove( source );
-            iChildren.InsertL( aSource, target );
-            }
-
-        // put the locked nodes to the original places
-        TInt lockedNodeCount = lockedNodes.Count();
-        TInt lockedIndexCount = lockedNodeIndex.Count();
-        if ( lockedNodeCount != lockedIndexCount )
-            {
-            return;
-            }
-        // First remove all the locked nodes
-        for ( TInt j = 0; j < lockedNodeCount; j++ )
-            {
-            CXnNode* tmpLockedNode = lockedNodes[j];
-            TInt ind = iChildren.FindL( tmpLockedNode );
-            if ( KErrNotFound != ind )
-                {
-                iChildren.Remove( ind );
-                }
-            }
-
-        //And then put them again to the original places
-        for ( TInt j = 0; j < lockedNodeCount; j++ )
-            {
-            CXnNode* tmpLockedNode = lockedNodes[j];
-            iChildren.InsertL( tmpLockedNode, lockedNodeIndex[j] );
-            }
-        }
-
-    lockedNodes.Reset();
-    lockedNodeIndex.Reset();
-    CleanupStack::PopAndDestroy( 2 ); // lockedNodes, lockedNodeIndex
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::FindNextNodeL
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnNodeImpl::FindNextNodeL(
-    RPointerArray< CXnNode >& aArray,
-    CXnNode& aNode,
-    TInt aDirection )
-    {
-    CXnNode* node = NULL;
-    if ( aDirection == EStdKeyRightArrow )
-        {
-        node = FindNextNodeFromRightL( aArray, aNode );
-        }
-    else if ( aDirection == EStdKeyLeftArrow )
-        {
-        node = FindNextNodeFromLeftL( aArray, aNode );
-        }
-    else if ( aDirection == EStdKeyUpArrow )
-        {
-        node = FindNextNodeFromAboveL( aArray, aNode );
-        }
-    else if ( aDirection == EStdKeyDownArrow )
-        {
-        node = FindNextNodeFromBelowL( aArray, aNode );
-        }
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::Namespace
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CXnNodeImpl::Namespace()
-    {
-    return DomNode()->Namespace();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::SetScrollableControl()
-// -----------------------------------------------------------------------------
-//      
-void CXnNodeImpl::SetScrollableControl( CXnScrollableControlAdapter* aScrollableControl )
-    {
-    iScrollableControl = aScrollableControl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::ScrollableControl()
-// -----------------------------------------------------------------------------
-//      
-CXnScrollableControlAdapter* CXnNodeImpl::ScrollableControl()
-    {
-    return iScrollableControl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodeImpl::AdjustRectIfNeeded
-// -----------------------------------------------------------------------------
-//      
-TRect CXnNodeImpl::AdjustRectIfNeeded( TRect aRect )
-    {
-    if(iScrollableControl) 
-        {
-        aRect.Move( iScrollableControl->DeltaPosition() );
-        }
-    return aRect;
-    }
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xnnodepluginif.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,583 +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:  Node of the layout tree
-*
-*/
-
-
-// User includes
-#include "xnnodepluginif.h"
-#include "xnnode.h"
-#include "xnuiengine.h"
-#include "xncomponentnodeimpl.h"
-#include "xnproperty.h"
-#include "xntype.h"
-#include "xndomdocument.h"
-#include "xnodt.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::CXnNodePluginIf()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnNodePluginIf::CXnNodePluginIf( CXnNode& aNode )
-    {
-    iNode = &aNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::ViewNodeImpl
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnViewNodeImpl* CXnNodePluginIf::ViewNodeImpl()
-    {
-    return iNode->ViewNodeImpl();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::ComponentNodeImpl
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnComponentNodeImpl* CXnNodePluginIf::ComponentNodeImpl()
-    {
-    return iNode->ComponentNodeImpl();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::IsDrawingAllowed
-// -----------------------------------------------------------------------------
-//
-TBool CXnNodePluginIf::IsDrawingAllowed() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::Type()
-// Returns control type.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnType* CXnNodePluginIf::Type()
-    {
-    return iNode->Type();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::Parent
-// Get component parent
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodePluginIf* CXnNodePluginIf::ParentL() const
-    {
-    CXnNode* node = iNode->Parent();
-    if ( !node )
-        {
-        return NULL;
-        }
-    return &( node->PluginIfL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::AddChildL
-// Adds a child to this container.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::AddChildL( CXnNodePluginIf* aChild )
-    {
-    iNode->AddChildL( &( aChild->Node() ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::Children
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray< CXnNodePluginIf > CXnNodePluginIf::ChildrenL()
-    {
-    RPointerArray< CXnNode >& nodes = iNode->Children();
-    RPointerArray< CXnNodePluginIf > pluginNodes;
-    CleanupClosePushL( pluginNodes );
-
-    TInt count = nodes.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        pluginNodes.AppendL( &nodes[i]->PluginIfL() );
-        }
-    CleanupStack::Pop( &pluginNodes );
-    // Compiler will generate bitwise copy ctor, thus
-    // caller of this function must call reset or close for copied RPointerArrays,
-    // which is very nasty thing to do...
-    return pluginNodes;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetPCDataL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetPCDataL( const TDesC8& aData )
-    {
-    iNode->SetPCDataL( aData );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GetPCData
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnNodePluginIf::GetPCData() const
-    {
-    return iNode->GetPCData();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetPropertyL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetPropertyL( CXnProperty* aProperty )
-    {
-    iNode->SetPropertyL( aProperty );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetPropertyL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetPropertyWithoutNotificationL( CXnProperty* aProperty )
-    {
-    iNode->SetPropertyWithoutNotificationL( aProperty );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GetProperty
-// Gets a property.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::GetPropertyL( CXnProperty& /*aProperty*/ ) const
-    {
-    return NULL; // iNode->GetPropertyL( aProperty );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GetProperty
-// Gets a property.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::GetPropertyL( const TDesC8& aKey ) const
-    {
-    return iNode->GetPropertyL( aKey );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetStateL
-// Set a state
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetStateL( const TDesC8& aState )
-    {
-    iNode->SetStateL( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::UnsetState
-// Unset a pseudoclass
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::UnsetStateL( const TDesC8& aState )
-    {
-    iNode->UnsetStateL( aState );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::IsFocusedState
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnNodePluginIf::IsFocusedState()
-    {
-    return iNode->IsStateSet( _L8( "focus" ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetRect( const TRect& aRect )
-    {
-    iNode->SetRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::Rect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CXnNodePluginIf::Rect()
-    {
-    return iNode->Rect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetBorderRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetBorderRect( const TRect& aRect )
-    {
-    iNode->SetBorderRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::BorderRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CXnNodePluginIf::BorderRect()
-    {
-    return iNode->BorderRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetMarginRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetMarginRect( const TRect& aRect )
-    {
-    iNode->SetMarginRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::MarginRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CXnNodePluginIf::MarginRect()
-    {
-    return iNode->MarginRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetPaddingRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetPaddingRect( const TRect& aRect )
-    {
-    iNode->SetPaddingRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::PaddingRect
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CXnNodePluginIf::PaddingRect()
-    {
-    return iNode->PaddingRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::UiEngine
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TXnUiEnginePluginIf* CXnNodePluginIf::UiEngineL()
-    {
-    return &( iNode->UiEngine()->PluginIfL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetLayoutCapable
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetLayoutCapable( const TBool aLayoutCapable )
-    {
-    iNode->SetLayoutCapable( aLayoutCapable );
-    }
-
-// -----------------------------------------------------------------------------
-// Get internal node
-// -----------------------------------------------------------------------------
-//
-CXnNode& CXnNodePluginIf::Node()
-    {
-    return *iNode;
-    }
-
-// -----------------------------------------------------------------------------
-// Get app interface
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodeAppIf& CXnNodePluginIf::AppIfL()
-    {
-    return iNode->AppIfL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::MakeInterfaceL
-// Create a component interface according to the given type.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C XnComponentInterface::MXnComponentInterface* CXnNodePluginIf::MakeInterfaceL(
-    const TDesC8& aType )
-    {
-    return iNode->MakeInterfaceL( aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::DisplayL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::DisplayL()
-    {
-    return iNode->DisplayL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::VisibilityL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::VisibilityL()
-    {
-    return iNode->VisibilityL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::LabelL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::LabelL()
-    {
-    return iNode->LabelL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::IdL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::IdL()
-    {
-    return iNode->IdL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::VisibleRowsL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::VisibleRowsL()
-    {
-    return iNode->VisibleRowsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GridColumnsL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::GridColumnsL()
-    {
-    return iNode->GridColumnsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GridOrientationL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::GridOrientationL()
-    {
-    return iNode->GridOrientationL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GridVerDirectionL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::GridVerDirectionL()
-    {
-    return iNode->GridVerDirectionL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GridHorDirectionL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::GridHorDirectionL()
-    {
-    return iNode->GridHorDirectionL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::FocusHorLoopingL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::FocusHorLoopingL()
-    {
-    return iNode->FocusHorLoopingL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::FocusVerLoopingL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::FocusVerLoopingL()
-    {
-    return iNode->FocusVerLoopingL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::RefL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::RefL()
-    {
-    return iNode->RefL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GridScrollBarWidthL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C  CXnProperty* CXnNodePluginIf::GridScrollBarWidthL()
-    {
-    return iNode->GridScrollBarWidthL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::GridScrollBarMarginL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C  CXnProperty* CXnNodePluginIf::GridScrollBarMarginL()
-    {
-    return iNode->GridScrollBarMarginL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetHandleTooltip
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetHandleTooltip( TBool aFlag )
-    {
-    iNode->SetHandleTooltip( aFlag );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::ReportTriggerEventL(
-    const TDesC8& aTriggerName,
-    const TDesC8& aValueName,
-    const TDesC8& aValue )
-    {
-    CXnNode* trigger = CXnNode::NewL();
-    CleanupStack::PushL( trigger );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    trigger->SetImpl( impl );
-    trigger->SetUiEngine( *iNode->UiEngine() );
-
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        iNode->UiEngine()->ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
-
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName,
-        nameValue,
-        *iNode->UiEngine()->ODT()->DomDocument().StringPool() );
-
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    trigger->SetPropertyL( name );
-    CleanupStack::Pop( name );
-
-    CXnDomPropertyValue* indexValue = CXnDomPropertyValue::NewL(
-        iNode->UiEngine()->ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( indexValue );
-    indexValue->SetStringValueL( CXnDomPropertyValue::EString, aValue );
-
-    CXnProperty* index = CXnProperty::NewL(
-        aValueName,
-        indexValue,
-        *iNode->UiEngine()->ODT()->DomDocument().StringPool() );
-
-    CleanupStack::Pop( indexValue );
-    CleanupStack::PushL( index );
-    trigger->SetPropertyL( index );
-    CleanupStack::Pop( index );
-
-    iNode->ReportXuikonEventL( *trigger, 0 );
-
-    CleanupStack::PopAndDestroy( trigger );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::PathL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::PathL()
-    {
-    return iNode->PathL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::MaskPathL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnNodePluginIf::MaskPathL()
-    {
-    return iNode->MaskPathL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::SetDirtyL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnNodePluginIf::SetDirtyL()
-    {
-    const TDesC8& type( iNode->Type()->Type() );
-
-    if ( iNode->IsAdaptive( ETrue ) ||
-         type == _L8( "grid" ) ||
-         type == _L8( "list" ) )
-        {
-        iNode->SetDirtyL( XnDirtyLevel::ELayoutAndRender );
-        }
-    else
-        {
-        iNode->SetDirtyL( XnDirtyLevel::ERender );
-        }
-
-    // If node's parent is tooltip, it must be relayouted because it will
-    // grow based on childs
-    CXnNode* parent( iNode->Parent() );
-
-    if ( parent && parent->Type()->Type() == _L8( "tooltip" ) )
-        {
-        parent->SetDirtyL( XnDirtyLevel::ELayoutAndRender );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::Namespace
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnNodePluginIf::Namespace()
-    {
-    return iNode->Namespace();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnNodePluginIf::ControlL
-// Gets the control associated to this node
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnControlAdapter* CXnNodePluginIf::Control() const
-    {
-    return iNode->Control();
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnnodepredicate.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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:  Node predicate
-*
-*/
-
-// INCLUDES
-#include "xnnodepredicate.h"
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnNodePredicate::MXnNodePredicate()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MXnNodePredicate::~MXnNodePredicate()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool MXnNodePredicate::Match( CXnNode& /*aItem*/ )
-    {
-    return EFalse;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1328 +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:  ODT parser
-*
-*/
-#include <aisystemuids.hrh>
-#include <xnextrenderingpluginadapter.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationinformation.h>
-
-#include "xnextrenderingpluginwrapper.h"
-
-#include "xnodt.h"
-#include "xndomdocument.h"
-#include "xndomnode.h"
-#include "xndomattribute.h"
-#include "xndomlist.h"
-#include "xnnode.h"
-
-#include "xnecomhandler.h"
-#include "xnuiengine.h"
-#include "xntype.h"
-#include "xncontroladapter.h"
-#include "xnpopupcontroladapter.h"
-#include "xnwidgetextensionadapter.h"
-#include "xnscrollablecontroladapter.h"
-#include "xnlistquerydialogadapter.h"
-
-#include "xncomponent.h"
-#include "xncomponentnodeimpl.h"
-#include "xnviewnodeimpl.h"
-#include "xnviewsnodeimpl.h"
-#include "xnproperty.h"
-#include "xncomponentfactory.h"
-#include "xnarray.h"
-#include "xnviewmanager.h"
-#include "xnplugindata.h"
-#include "xnrootdata.h"
-#include "xnviewdata.h"
-
-#include "xnodtparser.h"
-
-_LIT8( KWidgetBgSkinId, "SKIN(268458534 9886)" );
-
-// CONSTANTS
-_LIT8( KXMLUIMLNodeName, "xmluiml" );
-_LIT8( KViewsNodeName, "views" );
-_LIT8( KViewNodeName, "view" );
-_LIT8( KBoxNodeName, "box" );
-_LIT8( KButtonNodeName, "button" );
-_LIT8( KStylusPopupNodeName, "styluspopup" );
-_LIT8( KListNodeName, "list" );
-_LIT8( KGridNodeName, "grid" );
-_LIT8( KImageNodeName, "image" );
-_LIT8( KTooltipNodeName, "tooltip" );
-_LIT8( KMenuBarNodeName, "menubar" );
-_LIT8( KMenuNodeName, "menu" );
-_LIT8( KMenuItemNodeName, "menuitem" );
-_LIT8( KDynMenuItemNodeName, "dynmenuitem" );
-_LIT8( KWidgetMenuItemNodeName, "widgetmenuitem" );
-_LIT8( KActionsNodeName, "actions" );
-_LIT8( KActionNodeName, "action" );
-_LIT8( KTriggerNodeName, "trigger" );
-_LIT8( KEventNodeName, "event" );
-_LIT8( KTextNodeName, "text" );
-_LIT8( KGridCellTemplateNodeName, "gridcelltemplate" );
-_LIT8( KListRowTemplateNodeName, "listrowtemplate" );
-_LIT8( KMarqueeNodeName, "marquee" );
-_LIT8( KObjectNodeName, "object" );
-_LIT8( KTracksterNodeName, "trackster" );
-_LIT8( KPropertyNodeName, "property" );
-_LIT8( KConfigurationNodeName, "configuration" );
-_LIT8( KNewstickerNodeName, "newsticker" );
-_LIT8( KAttributeNodeName, "attribute" );
-_LIT8( KItemNodeName, "item" );
-_LIT8( KDescNodeName, "desc" );
-_LIT8( KTextZoomNodeName, "textzoom" );
-_LIT8( KVolumeControlNodeName, "volumecontrol" );
-_LIT8( KPluginNodeName, "plugin" );
-_LIT8( KWidgetNodeName, "widget" );
-_LIT8( KSliderNodeName, "slider" );
-_LIT8( KClockNodeName, "clock" );
-_LIT8( KSoftkeyNodeName,"softkey" );
-_LIT8( KConditionalTrigger,"conditional" );
-_LIT8( KCondtionalOn, "true" );
-_LIT8( KListQueryDialogNodeName, "listquerydialog" );
-_LIT8( KSettingsConfigurationNodeName, "settingsconfiguration" );
-_LIT8( KContentSourceNodeName, "contentsource" );
-_LIT8( KMenuExtensionNodeName, "menuextension" );
-_LIT8( KWidgetExtensionNodeName, "widgetextension" );
-_LIT8( KTextEditorNodeName, "texteditor" );
-_LIT8( KActionsHandlerNodeName, "actionshandler" );
-_LIT8( KScrollableBoxNodeName, "scrollablebox" );
-_LIT8( KPopUpNodeName, "popup" );
-
-// LOCAL FUNCTION PROTOTYPES
-#ifdef _XN3_DEBUG_
-#include <flogger.h>
-#include <utf.h>
-static void PrintDomL( CXnDomDocument* aDomDocument );
-#endif
-
-static CXnNode* BuildRootNodeL( CXnUiEngine& aEngine );         
-
-static CXnNode* FindAncestorWhoActAsParent( CXnDomNode& aSource );
-
-static TBool CreateTriggerInLayoutNodeTree( CXnDomNode& aSource );
-
-static void CopyPropertiesFromDomNodeToNodeL(
-    CXnNode& aTarget,
-    CXnDomNode& aSource,
-    CXnDomStringPool& aStringPool );
-static CXnNode* ConstructNodeFromPluginL(
-    CXnEcomHandler& aEcomHandler,
-    CXnDomNode& aSource );
-static CXnNode* ConstructKnownBuiltinNodeL( CXnDomNode& aSource );
-static CXnNode* ConstructGeneralNodeL( CXnDomNode& aSource );
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-    
-// ----------------------------------------------------------------------------
-// CleanupResetAndDestroy()
-// ----------------------------------------------------------------------------
-//
-template<class T>
-static void CleanupResetAndDestroy( TAny* aObj )
-    {
-    if( aObj )
-        {
-        static_cast<T*>( aObj )->ResetAndDestroy();
-        }
-    }  
-
-// ----------------------------------------------------------------------------
-// CleanupResetAndDestroyPushL
-// ----------------------------------------------------------------------------
-//
-template<class T>
-static void CleanupResetAndDestroyPushL(T& aArray)
-    {
-    CleanupStack::PushL( TCleanupItem( &CleanupResetAndDestroy<T>, &aArray ) );
-    }  
-
-#ifdef _XN3_DEBUG_
-_LIT( KLogFolder," xnlayoutengine" );
-_LIT( KLogDom, "dom.log" );
-#define _LOGT( aDescription ) RFileLogger::Write( \
-    KLogFolder, KLogDom, EFileLoggingModeOverwrite, aDescription );
-#define _LOGTFRM1( a, b ) RFileLogger::WriteFormat( \
-    KLogFolder, KLogDom, EFileLoggingModeOverwrite, ( a ), ( b ) )
-#define _LOGTFRM2( a, b, c ) RFileLogger::WriteFormat( \
-    KLogFolder, KLogDom, EFileLoggingModeOverwrite, ( a ), ( b ), ( c ) );
-#define _LOGTFRM3( a, b, c, d ) RFileLogger::WriteFormat( \
-    KLogFolder, KLogDom, EFileLoggingModeOverwrite, ( a ), ( b ), ( c ), ( d ) );
-static const TInt GetNodeDepth( CXnDomNode *aNode )
-    {
-    TInt depth = 0;
-    CXnDomNode* node( aNode );
-    while ( node )
-        {
-        node = node->Parent();
-        if ( node )
-            {
-            depth++;
-            }
-        }
-    return depth;
-    }
-
-//-----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-static HBufC8* GetFixedTextLC(
-    const TDesC8& aText,
-    const TInt aDepth,
-    const TDesC8& aDelim )
-    {
-    HBufC8 *buf = HBufC8::NewL( aDepth * aDelim.Length() + aText.Length() + 1 );
-    TInt i = 0;
-    for ( ; i < aDepth; i++ )
-        {
-        buf->Des().Append( aDelim );
-        }
-    buf->Des().Append( aText );
-    return buf;
-    }
-
-//-----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-static void PrintDomL( CXnDomDocument* aDomDocument )
-    {
-__UHEAP_MARK;
-    TInt attrCount( 0 );
-    TInt propCount( 0 );
-
-    CXnDomDepthIterator* iter = 
-            CXnDomDepthIterator::NewL( *aDomDocument->RootNode() );
-    CleanupStack::PushL( iter );
-
-    _LIT8( KDelim, "\t" );
-    CXnDomNode* nodeParent( NULL );
-    CXnDomNode* node = iter->First();
-    while ( node )
-        {
-        const TInt depth = GetNodeDepth( node );
-
-        HBufC8 *nameBuf = GetFixedTextLC( node->Name(), depth, KDelim );
-        CleanupStack::PushL( nameBuf );
-        const TDesC8& name = nameBuf->Des();
-
-        HBufC8 *nsBuf = GetFixedTextLC( node->Namespace(), depth, KDelim );
-        CleanupStack::PushL( nsBuf );
-        const TDesC8& ns = nsBuf->Des();
-
-        _LOGTFRM2( _L8( "%S -------------------------- %S\n" ), &name, &ns );
-
-        CXnDomList& attrList = node->AttributeList();
-        TInt length( attrList.Length() );
-        attrCount += length;
-
-        for ( TInt i = 0; i < length; i++ )
-            {
-            CXnDomAttribute* attr = static_cast< CXnDomAttribute* >(
-                attrList.Item( i ) );
-
-            HBufC8 *attrBuf = GetFixedTextLC( attr->Name(), depth,  KDelim );
-            CleanupStack::PushL( attrBuf );
-            const TDesC8& attrName = attrBuf->Des();
-
-            const TDesC8& attrValue = attr->Value();
-
-            _LOGTFRM2( _L8( "%S=%S\n" ), &attrName, &attrValue );
-
-            CleanupStack::PopAndDestroy( attrBuf );
-            }
-
-        if ( node->Parent() )
-            {
-            nodeParent = node;
-            }
-        node = iter->NextL();
-
-        CleanupStack::PopAndDestroy( nsBuf );
-        CleanupStack::PopAndDestroy( nameBuf );
-        }
-    CleanupStack::PopAndDestroy( iter );
-
-    _LOGTFRM1( _L8( "****DOM Size: %d ****\n" ), aDomDocument->Size() );
-    _LOGTFRM1( _L8( "****DOM Node Count: %d ****\n" ), aDomDocument->DomNodeCount() );
-    _LOGTFRM1( _L8( "****DOM Attribute Count: %d ****\n" ), attrCount );
-__UHEAP_MARKEND;
-    }
-
-#endif
-// -----------------------------------------------------------------------------
-// BuildRootNodeL()
-// Builds root node
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildRootNodeL( CXnUiEngine& aEngine )           
-    {
-    CXnType* type = CXnType::NewL( KXMLUIMLNodeName );
-    CleanupStack::PushL( type );
-
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type ); 
-        
-    CleanupStack::Pop( type );
-    CleanupStack::PushL( impl );
-
-    CXnNode* node = CXnNode::NewL();
-    node->SetRootNodeImpl( impl );
-    CleanupStack::Pop( impl );
-
-    node->SetUiEngine( aEngine );
-    
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CXnNode* FindAncestorWhoActAsParent( CXnDomNode& aSource )
-    {
-    CXnNode* ret( NULL );
-    CXnDomNode* parent = aSource.Parent();
-
-    while ( !ret && parent )
-        {
-        ret = parent->LayoutNode();
-        parent = parent->Parent();
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CreateTriggerInLayoutNodeTree( CXnDomNode& aSource )
-    {
-    TBool ret( EFalse );
-
-    CXnDomAttribute* attribute = static_cast< CXnDomAttribute* >(
-        aSource.AttributeList().FindByName( KConditionalTrigger ) );
-
-    if ( attribute && attribute->Value() == KCondtionalOn )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CopyDomPropertiesFromDomNodeToNodeL
-// -----------------------------------------------------------------------------
-//
-static void CopyDomPropertiesFromDomNodeToNodeL(
-    CXnNode& aTarget,
-    CXnDomNode& aSource )
-    {
-    CXnDomList& propertyList = aSource.PropertyList();
-    for ( TInt count = propertyList.Length() - 1; count >= 0; --count )
-        {
-        CXnDomProperty* domProperty = static_cast< CXnDomProperty* >(
-            propertyList.Item( count ) );
-        CXnProperty* property = CXnProperty::NewSharedL( domProperty );
-        CleanupStack::PushL( property );
-        aTarget.InitializePropertyL( property );
-        CleanupStack::Pop( property );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CopyDomAtributesFromDomNodeToNodeL
-// -----------------------------------------------------------------------------
-//
-static void CopyDomAttributesFromDomNodeToNodeL(
-    CXnNode& aTarget,
-    CXnDomNode& aSource,
-    CXnDomStringPool& aStringPool )
-    {
-    CXnDomList& attributeList = aSource.AttributeList();
-    for ( TInt count = attributeList.Length() - 1; count >= 0; --count )
-        {
-        CXnDomAttribute* attribute = static_cast< CXnDomAttribute* >(
-            attributeList.Item( count ) );
-#ifdef _DEBUG
-        const TDesC8& name = attribute->Name();
-        const TDesC8& attrValue = attribute->Value();
-#endif
-        if ( attribute->ValueStringPoolIndex() == KErrNotFound )
-            {
-            continue;
-            }
-
-        if ( attribute->NameStringPoolIndex() == KErrNotFound )
-            {
-            continue;
-            }
-         CXnDomProperty* clone =
-            CXnDomProperty::NewL( attribute->NameStringPoolIndex(), &aStringPool );
-        CleanupStack::PushL( clone );
-        CXnDomPropertyValue* propertyValue =
-            CXnDomPropertyValue::NewL( &aStringPool );
-        CleanupStack::PushL( propertyValue );
-        propertyValue->SetStringPoolIndexL(
-            CXnDomPropertyValue::EString, attribute->ValueStringPoolIndex() );
-        CXnDomList& propertyList = clone->PropertyValueList();
-        propertyList.AddItemL( propertyValue );
-        CleanupStack::Pop( propertyValue );
-        CXnProperty* property = CXnProperty::NewL( clone );
-        CleanupStack::Pop( clone );
-        CleanupStack::PushL( property );
-        aTarget.InitializePropertyL( property );
-        CleanupStack::Pop( property );
-        }
-
-    //aSource.DeleteAttributeList();
-    // delete attributes from dom node tree
-    if ( aSource.Name() != KTriggerNodeName )
-        {
-        CXnDomList& attrList = aSource.AttributeList();
-        while ( attrList.Length() )
-            {
-            attrList.DeleteItem( attrList.Length() - 1 );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CopyPropertiesFromDomNodeToNodeL
-// -----------------------------------------------------------------------------
-//
-static void CopyPropertiesFromDomNodeToNodeL(
-    CXnNode& aTarget,
-    CXnDomNode& aSource,
-    CXnDomStringPool& aStringPool )
-    {
-    CopyDomPropertiesFromDomNodeToNodeL( aTarget, aSource );
-    CopyDomAttributesFromDomNodeToNodeL( aTarget, aSource, aStringPool );
-    }
-
-// -----------------------------------------------------------------------------
-// ConstructNodeFromPluginL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* ConstructNodeFromPluginL(
-    CXnEcomHandler& aEcomHandler,
-    CXnDomNode& aSource )
-    {
-    CXnNode* returnValue = NULL;
-    const TDesC8& name = aSource.Name();
-
-    CXnArray* componentFactories = CXnArray::NewL();
-    CleanupStack::PushL( componentFactories );
-
-    TUid interfaceUid = { AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID };
-    aEcomHandler.PluginsL( interfaceUid, name, *componentFactories );
-    TInt count = componentFactories->Container().Count();
-    TBool componentNodeImplNeeded = ETrue;
-    // invoke factory chain
-    for ( TInt i = 0; i < count; ++i )
-        {
-        MXnComponentFactory* factory = static_cast< MXnComponentFactory* >(
-            componentFactories->Container()[i] );
-        componentNodeImplNeeded = factory->DoesNodeNeedComponentImplL( name );
-        }
-    CleanupStack::PopAndDestroy( componentFactories );
-    if ( componentNodeImplNeeded )
-        {
-        CXnType* type = CXnType::NewL( name );
-        CleanupStack::PushL( type );
-        CXnComponentNodeImpl* impl = CXnComponentNodeImpl::NewL( type );
-        CleanupStack::Pop( type );
-        CleanupStack::PushL( impl );
-        returnValue = CXnNode::NewL();
-        returnValue->SetComponentNodeImpl( impl );
-        CleanupStack::Pop( impl );
-        }
-    else
-        {
-        if ( name == KActionsNodeName ||
-             name == KActionNodeName ||
-             name == KEventNodeName ||
-             name == KTriggerNodeName ||
-             name == KMenuNodeName ||
-             name == KMenuItemNodeName ||
-             name == KPropertyNodeName ||
-             name == KSoftkeyNodeName )
-            {
-            return ConstructGeneralNodeL( aSource );
-            }
-        }
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// ConstructKnownBuiltinNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* ConstructKnownBuiltinNodeL( CXnDomNode& aSource )
-    {
-    CXnNode* returnValue = NULL;
-    const TDesC8& name = aSource.Name();
-    if ( name == KMenuNodeName ||
-         name == KMenuItemNodeName ||
-         name == KPropertyNodeName ||
-         name == KSoftkeyNodeName ||
-         name == KTriggerNodeName )
-        {
-        return ConstructGeneralNodeL( aSource );
-        }
-    CXnType* type = CXnType::NewL( name );
-    CleanupStack::PushL( type );
-    if ( name == KViewsNodeName )
-        {
-        CXnViewsNodeImpl* impl = CXnViewsNodeImpl::NewL( type );
-        CleanupStack::Pop( type );
-        CleanupStack::PushL( impl );
-        returnValue = CXnNode::NewL();
-        returnValue->SetViewsNodeImpl( impl );
-        CleanupStack::Pop( impl );
-        }
-    else if ( name == KViewNodeName )
-        {
-        CXnViewNodeImpl* impl = CXnViewNodeImpl::NewL( type );
-        CleanupStack::Pop( type );
-        CleanupStack::PushL( impl );
-        returnValue = CXnNode::NewL();
-        returnValue->SetViewNodeImpl( impl );
-        CleanupStack::Pop( impl );
-        }
-    else if ( name == KGridCellTemplateNodeName ||
-              name == KListRowTemplateNodeName ||
-              name == KBoxNodeName ||
-              name == KButtonNodeName ||
-              name == KListNodeName ||
-              name == KGridNodeName ||
-              name == KImageNodeName ||
-              name == KMenuBarNodeName ||
-              name == KTooltipNodeName ||
-              name == KMarqueeNodeName ||
-              name == KTextNodeName ||
-              name == KObjectNodeName ||
-              name == KTracksterNodeName ||
-              name == KNewstickerNodeName ||
-              name == KSliderNodeName ||
-              name == KClockNodeName ||
-              name == KStylusPopupNodeName ||
-              name == KPopUpNodeName ||
-              name == KWidgetExtensionNodeName ||
-              name == KTextEditorNodeName )
-        {
-        CXnComponentNodeImpl* impl = CXnComponentNodeImpl::NewL( type );
-        CleanupStack::Pop( type ) ;
-        CleanupStack::PushL( impl );
-        returnValue = CXnNode::NewL();
-        returnValue->SetComponentNodeImpl( impl );
-        CleanupStack::Pop( impl );
-        }
-    else
-        {
-        CleanupStack::PopAndDestroy( type );
-
-        if ( name == KVolumeControlNodeName ||
-             name == KWidgetNodeName ||
-             name == KPluginNodeName )
-            {
-            CXnType* type = CXnType::NewL( KBoxNodeName );
-            CleanupStack::PushL( type );
-            CXnComponentNodeImpl* impl = CXnComponentNodeImpl::NewL( type );
-            CleanupStack::Pop( type );
-            CleanupStack::PushL( impl );
-            returnValue = CXnNode::NewL();
-            returnValue->SetComponentNodeImpl( impl );
-            CleanupStack::Pop( impl );
-            }
-        }
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// ConstructGeneralNodeL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* ConstructGeneralNodeL( CXnDomNode& aSource )
-    {
-    CXnType* type = CXnType::NewL( aSource.Name() );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    CleanupStack::PushL( impl );
-    CXnNode* tmpNode = CXnNode::NewL();
-    tmpNode->SetImpl( impl );
-    CleanupStack::Pop( impl );
-    return tmpNode;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnODTParser* CXnODTParser::NewL( CXnViewManager& aManager,
-    CXnEcomHandler& aEcomHandler )
-    {
-    CXnODTParser* self = new ( ELeave ) CXnODTParser( aManager, aEcomHandler ); 
-            
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::CXnODTParser
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnODTParser::CXnODTParser( CXnViewManager& aManager,
-    CXnEcomHandler& aEcomHandler )
-    : iManager( aManager ), iUiEngine( aManager.UiEngine() ),
-      iEcomHandler( aEcomHandler )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::~CXnODTParser
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnODTParser::~CXnODTParser()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::LoadRootL
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::LoadRootL( CXnRootData& aRootData, TUid /*aAppUid*/ )        
-    {    
-    CXnDomNode* root( aRootData.Owner() );
-    
-    CXnDomStringPool* sp( root->StringPool() );
-    
-    CXnAppUiAdapter& appui( iManager.AppUiAdapter() );
-    
-    // Build root
-    CXnNode* node( BuildRootNodeL( iUiEngine ) );
-    
-    // Let root nodes to know each other
-    CXnDomNode* dom( aRootData.ODT()->DomDocument().RootNode() );    
-    dom->SetLayoutNode( node );
-    node->SetDomNode( dom );
-        
-    CreateNodesL( root, *sp, aRootData );
-
-    // root doesn't have any controls   
-    
-    aRootData.SetOccupied();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::LoadViewL
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::LoadViewL( CXnViewData& aViewData )
-    {    
-    // <view> element
-    CXnDomNode* view( aViewData.Node() );
-    
-    CXnDomStringPool* sp( view->StringPool() );
-
-    // from <view> element
-    CreateNodesL( view, *sp, aViewData );       
-    CreateControlsL( view, aViewData );
-
-    // By default make controls invisible
-    CXnControlAdapter* adapter( view->LayoutNode()->Control() );
-    
-    if( adapter )
-        {
-        adapter->MakeVisible( EFalse );
-        }    
-        
-    aViewData.SetOccupied();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::DestroyView
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::DestroyView( CXnViewData& aViewData )
-    {
-    CXnNode* view( aViewData.Node()->LayoutNode() );
-    
-    // Destroy view and all its child nodes
-    CXnNode* parent( view->Parent() );
-    
-    RPointerArray< CXnNode >& children( parent->Children() );
-    
-    TInt index( children.Find( view ) );
-    
-    if ( index != KErrNotFound )
-        {
-        children.Remove( index );
-        
-        delete view;
-        view = NULL;
-        
-        CXnDomNode* owner( aViewData.Owner() );
-        owner->DeleteChild( aViewData.Node() );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::LoadWidgetL
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::LoadWidgetL( CXnPluginData& aPluginData )
-    {   
-    if ( aPluginData.Empty() )
-        {
-        // Holds "empty" widget
-        return;
-        }
-    
-    // <widget> element
-    CXnDomNode* widget( aPluginData.Node() );
-    
-    CXnDomStringPool* sp( widget->StringPool() );
-
-    // from <widget> element 
-    CreateNodesL( widget, *sp, aPluginData );           
-    CreateControlsL( widget, aPluginData );    
-
-    HandleWidgetBackgroundL( widget->LayoutNode() );
-
-    // By default make controls invisible
-    CXnControlAdapter* adapter( widget->LayoutNode()->Control() );
-    
-    if( adapter )
-        {
-        adapter->MakeVisible( EFalse );
-        }   
-    
-    aPluginData.SetOccupied();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::DestroyWidget
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::DestroyWidgetL( CXnPluginData& aPluginData )
-    {
-    CXnViewData& parent( 
-        static_cast< CXnViewData& >( *aPluginData.Parent() ) );
-    
-    // Check is any of plugin data's controls in views draw chain and remove
-    CXnControlAdapter* control( parent.Node()->LayoutNode()->Control() );
-
-    RPointerArray< CXnControlAdapter >& controls( control->ChildAdapters() );
-
-    RPointerArray< CXnControlAdapter > pluginControls;
-    CleanupClosePushL( pluginControls );
-
-    aPluginData.ControlsL( pluginControls );
-
-    // Remove from view chain if found
-    for ( TInt i = 0; i < pluginControls.Count(); i++ )
-        {
-        CXnControlAdapter* control( pluginControls[i] );
-
-        TInt index( controls.Find( control ) );
-
-        if ( index != KErrNotFound )
-            {
-            controls.Remove( index );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &pluginControls );
-    
-    CXnNode* widgetNode( aPluginData.Node()->LayoutNode() );
-        
-    CXnNode* owner( widgetNode->Parent() );
-    
-    RPointerArray< CXnNode >& children( owner->Children() );
-    
-    TInt index( children.Find( widgetNode ) );
-    
-    // Destroy widget and all its child nodes
-    if ( index != KErrNotFound )
-        {
-        children.Remove( index );
-        
-        delete widgetNode;
-        widgetNode = NULL;
-       
-        CXnDomNode* owner( aPluginData.Owner() );
-        owner->DeleteChild( aPluginData.Node() );
-        }
-    
-    owner->Control()->RemoveChildAdapters();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::CreateNodesL
-// Creates node tree
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::CreateNodesL(
-    CXnDomNode* aSourceNode,
-    CXnDomStringPool& aSp,    
-    CXnPluginData& aPluginData )
-    {
-    if ( aSourceNode )
-        {
-        ConstructNodeL( *aSourceNode, aSp, aPluginData );
-                     
-        CXnDomList& childList( aSourceNode->ChildNodes() );
-
-        TInt count( childList.Length() );
-
-        for ( TInt i = 0; i < count; ++i )
-            {
-            CreateNodesL(
-                static_cast< CXnDomNode* >( childList.Item( i ) ),
-                aSp, aPluginData );
-            }                              
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::ConstructNodeL
-// Creates layout node and control for it
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::ConstructNodeL(
-    CXnDomNode& aSource,
-    CXnDomStringPool& aSp,    
-    CXnPluginData& aPluginData )
-    {
-    const TDesC8& name( aSource.Name() );
-    
-    if ( name == KActionsNodeName ||
-         name == KActionNodeName ||
-         name == KEventNodeName ||
-         name == KXMLUIMLNodeName ||
-         name == KAttributeNodeName ||
-         name == KItemNodeName )
-        {
-        return;
-        }
-
-    if ( name == KTriggerNodeName )
-        {
-        if ( !CreateTriggerInLayoutNodeTree( aSource ) )
-            {
-            return;
-            }
-        }
-
-    const TDesC8& parentName( aSource.Parent()->Name() );
-
-    if ( name == KPropertyNodeName &&
-         ( parentName == KTriggerNodeName ||
-           parentName == KEventNodeName ||
-           parentName == KPropertyNodeName ||
-           parentName == KAttributeNodeName ) )
-        {
-        return;
-        }
-
-    CXnNode* node( ConstructKnownBuiltinNodeL( aSource ) ); 
-
-    if ( !node )
-        {
-        node = ConstructNodeFromPluginL( iEcomHandler, aSource );
-        
-        if ( !node )
-            {
-            node = ConstructGeneralNodeL( aSource );
-            
-            if ( !node )
-                {
-                return;
-                }            
-            }
-        }
-
-    if ( name == KMenuBarNodeName ||
-         name == KListQueryDialogNodeName ||
-         name == KMenuNodeName ||
-         name == KMenuItemNodeName ||
-         name == KDynMenuItemNodeName ||
-         name == KWidgetMenuItemNodeName ||
-         name == KPropertyNodeName ||
-         name == KDescNodeName ||
-         name == KTextZoomNodeName ||
-         name == KConfigurationNodeName ||
-         name == KSoftkeyNodeName ||
-         name == KTriggerNodeName ||
-         name == KSettingsConfigurationNodeName ||
-         name == KContentSourceNodeName ||
-         name == KMenuExtensionNodeName ||
-         name == KStylusPopupNodeName ||
-         name == KActionsHandlerNodeName )         
-        {
-        node->SetLayoutCapable( EFalse );
-        }
-
-    CXnNode* parent( FindAncestorWhoActAsParent( aSource ) );
-
-    if( !parent )
-        {
-        delete node;
-        
-        return;
-        }
-    
-    parent->AddChildL( node );
-
-    if ( !parent->IsLayoutCapable() )
-        {
-        node->SetLayoutCapable( EFalse );
-        }
-    
-    aSource.SetLayoutNode( node );
-    node->SetDomNode( &aSource );
-
-    node->SetUiEngine( iUiEngine );
-
-    CopyPropertiesFromDomNodeToNodeL( *node, aSource, aSp );
-           
-    if ( name == KTriggerNodeName )
-        {
-        if ( iUiEngine.IsEditMode() )
-            {
-            node->SetStateL( XnPropertyNames::style::common::KEdit );
-            }
-        }
-            
-    // Mark adaptive layoutable nodes
-    TInt adaptive( XnAdaptive::ENone );
-
-    CXnProperty* width( node->WidthL() );
-
-    if ( width )
-        {
-        const TDesC8& w( width->StringValue() );
-
-        if ( w == XnPropertyNames::style::common::KAdaptive )
-            {
-            adaptive = XnAdaptive::EWidth;
-            }
-        }
-
-    CXnProperty* height( node->HeightL() );
-
-    if ( height )
-        {
-        const TDesC8& h( height->StringValue() );
-
-        if ( h == XnPropertyNames::style::common::KAdaptive )
-            {
-            adaptive |= XnAdaptive::EHeight;
-            }
-        }
-
-    if ( adaptive != XnAdaptive::ENone )
-        {
-        node->SetAdaptiveL( adaptive );
-        }
-       
-    // Collect nodes, which nav-index property is 'appearance' to
-    // an array
-    CXnProperty* navindex( node->NavIndexL() );
-    
-    if ( navindex &&
-         navindex->StringValue() == XnPropertyNames::style::common::KAppearance )
-        {
-        aPluginData.SetAppearanceNodeL( node );
-        }
-    
-    // Collect initial focus nodes.
-    CXnProperty* initialFocusProp( node->InitialFocusL() );
-    
-    if ( initialFocusProp )
-        {
-        aPluginData.SetInitialFocusNodeL( node );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::CreateControlsL()
-// Run control creation 1st phase
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::CreateControlsL( CXnDomNode* aNode,
-    CXnPluginData& aPluginData )
-    {
-    if ( aNode )
-        {
-        ConstructControlL( aNode->LayoutNode(), aPluginData );
-        
-        CXnDomList& childList( aNode->ChildNodes() );
-
-        TInt count( childList.Length() );
-
-        for ( TInt i = 0; i < count; ++i )
-            {
-            CreateControlsL(
-                static_cast< CXnDomNode* >( childList.Item( i ) ), aPluginData );                
-            }                              
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::ConstructControlL()
-// Run control creation 1st phase
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::ConstructControlL( CXnNode* aNode,
-    CXnPluginData& aPluginData )
-    {
-    if( !aNode )
-        {
-        return;
-        }
-    
-    CXnComponentNodeImpl* impl( aNode->ComponentNodeImpl() );
-    CXnViewNodeImpl* viewImpl( aNode->ViewNodeImpl() );
-
-    TBool needsCreation( EFalse );
-
-    if ( ( impl && impl->DoesComponentNeedCreation() ) || viewImpl )
-        {
-        needsCreation = ETrue;
-        }
-
-    const TDesC8& name( aNode->Type()->Type() );
-
-    if ( needsCreation )
-        {
-        // Try if builtin control can be created
-        if ( !CreateBuiltInControlL( *aNode, name ) )
-            {
-            // Not builtin, invoke factory chain
-            CreateFactoryControlL( *aNode, name );
-            }
-
-        // Fill plugin data
-        aPluginData.SetControlL( aNode );
-        }
-
-    if ( name == KContentSourceNodeName )
-        {
-        aPluginData.SetContentSourceNodeL( aNode );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::CreateExternalControlL()
-// Creates external control
-// -----------------------------------------------------------------------------
-//
-TBool CXnODTParser::CreateExternalControlL( CXnNode& aNode,
-    const TDesC8& aName )
-    {
-    CXnExtRenderingPluginAdapter* adapter( NULL );
-    
-    // Get implementations via ECom
-    RImplInfoPtrArray plugins;
-    CleanupResetAndDestroyPushL( plugins );
-
-    REComSession::ListImplementationsL( 
-    	TUid::Uid( AI3_EXTERNAL_RENDERING_PLUGIN_ECOM_UID ), plugins );
-
-    for( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        CImplementationInformation* information( plugins[i] );
-
-        if( information->DataType().Compare( aName ) == 0 )
-            {
-            adapter = CXnExtRenderingPluginAdapter::NewL( 
-            	information->ImplementationUid() );
-            break;
-            } 
-        }
-    CleanupStack::PopAndDestroy(); // plugins
-    
-    if( adapter )
-        {
-        CXnComponent* component = CXnComponent::NewL();
-        CleanupStack::PushL( component );
-
-        CXnControlAdapter* parentAdapter( NULL );
-
-        // Find parent control
-        CXnNode* parent( aNode.Parent() );
-
-        for ( ; parent; parent = parent->Parent() )
-            {
-            parentAdapter = parent->Control();
-
-            if ( parentAdapter )
-                {
-                break;
-                }
-            }
-        
-        if( parentAdapter )
-            {
-            CXnExtRenderingPluginWrapper* wrapper = 
-                CXnExtRenderingPluginWrapper::NewL( aNode.PluginIfL(), *adapter );
-            CleanupStack::PushL( wrapper );
-    
-            parentAdapter->AppendChildL( *wrapper, aNode );
-            CleanupStack::Pop( wrapper );
-            
-            component->SetControlAdapter( wrapper );
-    
-            aNode.ComponentNodeImpl()->SetComponent( component );
-    
-            component->SetNode( aNode.PluginIfL() );
-    
-            wrapper->SetComponent( component );
-    
-            wrapper->SetComponentsToInheritVisibility( ETrue );
-    
-            wrapper->ActivateL();
-            
-            CleanupStack::Pop( component );
-    
-            return ETrue;
-            }
-        else
-            {
-            CleanupStack::Pop( component );
-            return EFalse;
-            }
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// CXnODTParser::CreateFactoryControlL()
-// Creates factory control
-// -----------------------------------------------------------------------------
-//
-void CXnODTParser::CreateFactoryControlL( CXnNode& aNode,
-    const TDesC8& aName )
-    {
-    CXnArray* factories = CXnArray::NewL();
-    CleanupStack::PushL( factories );
-
-    TUid interfaceUid = { AI3_RENDERING_PLUGIN_ECOM_FACTORY_UID };
-
-    iEcomHandler.PluginsL( interfaceUid, aName, *factories );
-
-    CXnComponent* component( NULL );
-
-    TInt count( factories->Container().Count() );
-    
-    // Invoke factory chain
-    for ( TInt i = 0; i < count; i++ )
-        {
-        MXnComponentFactory* factory =
-            static_cast< MXnComponentFactory* >(
-                ( factories->Container() )[i] );
-                 
-        if ( factory->CreateXnComponentL( aNode.PluginIfL(), component ) == 
-            MXnComponentFactory::EXnFactoryResponseComponentConstructed )
-             
-            {
-            // All done
-            break;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( factories );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnODTParser::CreateBuiltInControlL()
-// Creates builtin control
-// -----------------------------------------------------------------------------
-//
-TBool CXnODTParser::CreateBuiltInControlL( CXnNode& aNode,
-    const TDesC8& aName )
-    {
-    if ( aName != KBoxNodeName && aName != KButtonNodeName &&
-         aName != KStylusPopupNodeName && aName != KScrollableBoxNodeName&& 
-         aName != KWidgetExtensionNodeName && 
-                  aName != KPopUpNodeName &&
-		 aName != XnPropertyNames::listquerydialog::KListQueryDialog )         
-        {
-        return CreateExternalControlL( aNode, aName );
-        }
-
-    CXnComponent* component = CXnComponent::NewL();
-    CleanupStack::PushL( component );
-
-    CXnControlAdapter* parentAdapter( NULL );
-
-    CXnProperty* position( aNode.PositionL() );
-
-    if ( position )
-        {
-        const TDesC8& value( position->StringValue() );
-
-        if ( value == XnPropertyNames::style::common::position::KFloating )
-            {
-            // Find view node and append floating control to its compound
-            for ( CXnNode* node = &aNode; node; node = node->Parent() )
-                {
-                if ( node->ViewNodeImpl() )
-                    {
-                    parentAdapter = node->Control();
-
-                    break;
-                    }
-                }
-            }
-        }
-
-    if ( !parentAdapter )
-        {
-        // Find parent control
-        CXnNode* parent( aNode.Parent() );
-
-        for ( ; parent; parent = parent->Parent() )
-            {
-            parentAdapter = parent->Control();
-
-            if ( parentAdapter )
-                {
-                break;
-                }
-            }
-        }
-
-    __ASSERT_DEBUG( parentAdapter, User::Leave( KErrGeneral ) );
-    
-    CXnControlAdapter* adapter( NULL );
-    
-    if( aName == KStylusPopupNodeName )
-        {
-        adapter = CXnPopupControlAdapter::NewL( aNode.PluginIfL() );
-        CleanupStack::PushL( adapter );
-        }
-    else if( aName == KWidgetExtensionNodeName ||
-             aName == KPopUpNodeName )
-        {               
-        adapter = CXnWidgetExtensionAdapter::NewL( aNode.PluginIfL() );
-        CleanupStack::PushL( adapter );        
-        CXnProperty* prop = CXnProperty::NewL( 
-            XnPropertyNames::style::common::KPosition,
-            XnPropertyNames::style::common::position::KFloating,
-            CXnDomPropertyValue::EString, 
-            *aNode.UiEngine()->ODT()->DomDocument().StringPool() );
-        CleanupStack::PushL( prop );
-        aNode.SetPropertyL( prop );                    
-        CleanupStack::Pop( prop );                                                        
-        }
-    else if( aName == KScrollableBoxNodeName )
-        {               
-        adapter = CXnScrollableControlAdapter::NewL( aNode.PluginIfL() );
-        CleanupStack::PushL( adapter );
-        }
-    else if( aName == XnPropertyNames::listquerydialog::KListQueryDialog )
-        {
-        CleanupStack::PopAndDestroy( component );
-        CXnListQueryDialog* listQuery = CXnListQueryDialog::NewL();
-        component = static_cast<CXnComponent*>( listQuery );
-        CleanupStack::PushL( component );
-        adapter = CXnListQueryDialogAdapter::NewL( aNode.PluginIfL() );
-        CleanupStack::PushL( adapter );
-        }
-    else
-        {
-        adapter = CXnControlAdapter::NewL( aNode.PluginIfL() );
-        CleanupStack::PushL( adapter );
-        }
-    
-    parentAdapter->AppendChildL( *adapter, aNode );
-    CleanupStack::Pop( adapter );
-    
-    component->SetControlAdapter( adapter );
-
-    aNode.ComponentNodeImpl()->SetComponent( component );
-
-    component->SetNode( aNode.PluginIfL() );
-
-    adapter->SetComponent( component );
-
-    adapter->SetComponentsToInheritVisibility( ETrue );
-
-    adapter->ActivateL();
-    
-    CleanupStack::Pop( component );
-
-    return ETrue;
-    }
-
-// --------------------------------------------------------------------------
-// CXnODTParser::HandleWidgetBackgroundL()
-//
-// --------------------------------------------------------------------------
-//
-void CXnODTParser::HandleWidgetBackgroundL( CXnNode* aWidgetNode )
-    {
-    if( aWidgetNode )
-        {
-        CXnUiEngine* uiengine = aWidgetNode->UiEngine();
-        CXnProperty* bgImageProp = aWidgetNode->BackgroundImageL();
-        CXnProperty* bgColorProp = aWidgetNode->BackgroundColorL();
-        
-        // Set default bg color if it has not been defined by a widget
-        if( !bgImageProp && !bgColorProp && uiengine )
-            {
-            CXnDomPropertyValue* value = CXnDomPropertyValue::NewL(
-                uiengine->ODT()->DomDocument().StringPool() );
-            CleanupStack::PushL( value );
-            value->SetStringValueL( CXnDomPropertyValue::EString, KWidgetBgSkinId );
-        
-            CXnProperty* bgColor = CXnProperty::NewL(
-                XnPropertyNames::appearance::common::KBackGroundColor,
-                value, *uiengine->ODT()->DomDocument().StringPool() );
-        
-            CleanupStack::Pop( value );
-            CleanupStack::PushL( bgColor );
-            aWidgetNode->SetPropertyL( bgColor );
-            CleanupStack::Pop( bgColor );
-            }
-        }
-    }
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xnoomsyshandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +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:
-* Helper system for handling Out-Of-Memory cases.
-*
-*/
-
-// System includes
-#include <hal.h>
-#include <e32std.h>
-#include <e32cmn.h> 
-#include <aknnotewrappers.h>
-#include <e32svr.h> 
-#include <StringLoader.h> 
-#include <xnuiengine.rsg>
-
-// User includes
-#include "xnoomsyshandler.h"
-#include "xnpanic.h"
-
-//Constants
-const TInt64 KMinInterval = 5000000;    // 5 seconds
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CXnOomSysHandler* CXnOomSysHandler::NewL()
-    {
-    CXnOomSysHandler* self = new ( ELeave ) CXnOomSysHandler();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;    
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CXnOomSysHandler::~CXnOomSysHandler()
-    {
-    delete iMsg;
-    iMsg = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// Checks if required amount of memory is available on heap
-// -----------------------------------------------------------------------------
-//
-TBool CXnOomSysHandler::HeapAvailable( TInt aAmount )
-    {
-    if( aAmount == EMinNotDef )
-        {
-        aAmount = EMem512kB;
-        }
-
-    // Gather needed data...
-        
-    // Space already allocated.
-    TInt allocated;
-    User::Heap().AllocSize( allocated );    
-    
-    // Max space for heap. Heap can extend only up to this value.
-    const TInt heapMax = User::Heap().MaxLength(); 
-    
-    // Available memory in heap's current state.
-    TInt obsolete = 0;
-    const TInt availableHeap = User::Heap().Available( obsolete );
-    
-    // Current heap size.
-    const TInt heapSize = allocated + availableHeap;
-    
-    // Heap extension requirement. Can be negative.
-    const TInt extensionRequirement = aAmount - availableHeap;
-    
-    // Max. heap extension possible limited by heap max.
-    const TInt heapExtensionMax = heapMax - heapSize;
-    
-    // System free ram.
-    TInt ramFree = 0;
-    HAL::Get( HALData::EMemoryRAMFree, ramFree );
-    
-    // Checking...
-    
-    // Fits into current heap allocation.
-    if( availableHeap >= aAmount )
-        {
-        return ETrue;
-        }
-    
-    // Fits if current heap extends. heap size and therefore
-    // it's possibilities to extend is limited by max heap
-    // size and by available system memory.     
-    if( ( heapExtensionMax ) >= extensionRequirement &&
-        ( ramFree >= extensionRequirement ) )
-        {
-        return ETrue;
-        }   
-    
-    // Does not fit.
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// Handle potential OOM failure.
-// -----------------------------------------------------------------------------
-//
-void CXnOomSysHandler::HandlePotentialOomL()
-    {
-    if( AllowDialog() )
-        {
-        CAknErrorNote* dialog = new (ELeave) CAknErrorNote();
-        dialog->ExecuteLD( *iMsg );
-        dialog = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CXnOomSysHandler::ConstructL()
-    {
-    iMsg = StringLoader::LoadL( R_QTN_HS_HS_MEMORY_FULL );    
-    }
-
-// ---------------------------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CXnOomSysHandler::CXnOomSysHandler()
-    {    
-    iPreviousDialogPopupTime = 0;
-    }
-
-//------------------------------------------------------------------------------
-// Check whether OOM dialog can be shown.
-// Prevents OOM dialogs popping up more often than
-// defined in KMinInterval.
-// -----------------------------------------------------------------------------
-//
-TBool CXnOomSysHandler::AllowDialog()
-    {          
-    TTime now;
-    now.HomeTime();
-    
-    TTimeIntervalMicroSeconds interval
-        = now.MicroSecondsFrom( iPreviousDialogPopupTime ); 
-    
-    if( iPreviousDialogPopupTime == 0 ||    // Not set yet.
-        interval.Int64() >= KMinInterval )  // Proper interval passed.
-        {        
-        iPreviousDialogPopupTime = now.Int64();
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnpanic.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Panic and error codes
-*
-*/
-
-// INCLUDE FILES
-#include "xnpanic.h"
-
-// CONSTANTS
-_LIT( KXnPanic, "UIEngine" );
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// Panic
-// Implementation of Xuikon UI Engine panic mechanism
-// -----------------------------------------------------------------------------
-//
-GLDEF_C void Panic( TXnPanic aPanic )
-    {
-    User::Panic( KXnPanic, aPanic );
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnplugindata.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,692 +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:  Data class to hold widget info
-*
-*/
-
-// System includes
-#include <utf.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xncomposer.h"
-#include "xnodtparser.h"
-#include "xnresource.h"
-#include "xnodt.h"
-#include "xnnode.h"
-#include "xnplugindata.h"
-#include "xnviewdata.h"
-#include "xnviewmanager.h"
-#include "xnoomsyshandler.h"
-
-// Constants
-_LIT8( KStateWaitConfirmation, "WaitForConfirmation" );
-_LIT8( KStateConfirmed, "Confirmed" );
-_LIT8( KStateError, "Error" );
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnPluginData::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnPluginData* CXnPluginData::NewL( CXnPluginData& aParent )    
-    {
-    CXnPluginData* self = CXnPluginData::NewLC( aParent );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnPluginData* CXnPluginData::NewLC( CXnPluginData& aParent )    
-    {
-    CXnPluginData* self = new ( ELeave ) CXnPluginData( aParent );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::CXnPluginData()
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-CXnPluginData::CXnPluginData( CXnPluginData& aParent )     
-    : iParent( &aParent ), iManager( iParent->ViewManager() )       
-    {
-    // Plugin data is removable by default    
-    iFlags.Set( EIsRemovable );
-    // Assume plugins ready
-    iFlags.Set( EIsDataPluginsReady );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::CXnPluginData()
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-CXnPluginData::CXnPluginData( CXnViewManager& aManager )     
-    : iParent( NULL ), iManager( aManager )
-    {
-    // This constructor overload is used by CXnRootData
-    // Assume plugins are ready
-    iFlags.Set( EIsDataPluginsReady );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::~CXnPluginData()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnPluginData::~CXnPluginData()
-    {
-    RevertPluginState();
-        
-    if ( iLoader )
-        {
-        iLoader->Cancel();
-        }
-
-    delete iLoader;
-               
-    Flush();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::ConstructL()
-    {    
-    iLoader = CPeriodic::NewL( CActive::EPriorityStandard );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::LoadL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::LoadL()
-    {        
-    if ( Occupied() || PluginState().CompareF( KStateError ) == 0 )
-        {
-        return;
-        }
-   
-    if ( !CXnOomSysHandler::HeapAvailable( WIDGET_MIN_MEM ) )
-        {
-        ViewManager().OomSysHandler().HandlePotentialOomL();        
-        return;
-        }
-
-    iFlags.Clear( EIsEmpty );
-    iFlags.Set( EIsRemovable );
-    
-    TRAPD( error,    
-            
-        if ( iManager.Composer().ComposeWidgetL( *this ) == KErrNone )
-            {
-            iManager.Parser().LoadWidgetL( *this );
-            }                 
-        );
-
-    if ( Empty() )
-        {
-        // All done
-        return;
-        }
-    
-    if ( error || !Occupied() )
-        {
-        if( error == KErrNoMemory )
-            {
-            ViewManager().OomSysHandler().HandlePotentialOomL();
-            }
-        
-        // Mark this plugin ready, View Manager will remove it
-        DataPluginsLoadCompletedL( KErrGeneral );
-        }    
-    else
-        {        
-        if ( Active() )
-            {
-            // Load data plugins will set confirmation state to "wait"
-            LoadDataPluginsL();  
-            }
-        else
-            {
-            // Composed succesfully to inactive page. Set confirmed
-            SetPluginStateL( KStateConfirmed );
-            }        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::Destroy()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::Destroy()
-    {       
-    if ( Occupied() )
-        {
-        TRAP_IGNORE( 
-                DestroyDataPluginsL();
-                iManager.Parser().DestroyWidgetL( *this );
-                );
-        }
-    
-    Flush();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::LoadDataPluginsL
-// Loads data plugins associated to the plugin
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::LoadDataPluginsL()
-    {                     
-    if ( !Active() || !Occupied() )
-        {
-        iFlags.Set( EIsDataPluginsReady );
-        
-        return;
-        }
-                         
-    if ( iContentSourceNodes.Count() == 0 )
-        {        
-        DataPluginsLoadCompletedL( KErrNone );
-        }
-    else
-        {
-        iLoader->Cancel();
-        
-        iFlags.Clear( EIsDataPluginsReady );
-        
-        iLoadIndex = 0;               
-                       
-        iLoader->Start( TTimeIntervalMicroSeconds32( 0 ),
-                        TTimeIntervalMicroSeconds32( 0 ),
-                        TCallBack( RunL, this ) );       
-        }        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::DataPluginsLoadCompletedL
-// Indicates that all data plugins are loaded
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::DataPluginsLoadCompletedL( TInt aStatus )
-    {
-    iFlags.Set( EIsDataPluginsReady );    
-
-    const TDesC8& state( aStatus == KErrNone 
-            ? KStateConfirmed() : KStateError() ); 
-    
-    SetPluginStateL( state );
-            
-    iManager.SetDataPluginLoadCompleteL( *this );          
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::DataPluginsLoaded
-// Queries whether all data plugins are loaded
-// -----------------------------------------------------------------------------
-//
-TBool CXnPluginData::DataPluginsLoaded() const
-    {
-    return ( iFlags.IsSet( EIsDataPluginsReady ) ? ETrue : EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::DestroyDataPluginsL
-// Remove data plugins associated to the plugin
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::DestroyDataPluginsL()
-    {              
-    if ( Occupied() )
-        {
-        iFlags.Set( EIsDataPluginsReady );
-        
-        if ( iLoader->IsActive() )
-            {
-            // Not all plugins loaded yet               
-            iLoader->Cancel();
-            
-            RevertPluginState();            
-            }
-        
-        // Create list of data plugins to be removed
-        RPointerArray< CXnNodeAppIf > list;
-        CleanupClosePushL( list );
-        
-        for ( TInt i = 0; i < iContentSourceNodes.Count(); i++ )
-            {
-            list.AppendL( &iContentSourceNodes[i]->AppIfL() );
-            }
-        
-        // Destruction is synchronous
-        iManager.AppUiAdapter().DestroyDataPluginsL( list );
-        
-        CleanupStack::PopAndDestroy( &list );
-        
-        User::Heap().Compress();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetConfigurationIdL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetConfigurationIdL( const TDesC8& aConfigurationId )
-    {
-    delete iConfigurationId;
-    iConfigurationId = NULL;
-
-    iConfigurationId = aConfigurationId.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetPluginIdL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetPluginIdL( const TDesC8& aPluginId )
-    {
-    delete iPluginId;
-    iPluginId = NULL;
-
-    iPluginId = aPluginId.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetPluginUidL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetPluginUidL( const TDesC8& aPluginUid )
-    {
-    delete iPluginUid;
-    iPluginUid = NULL;
-
-    iPluginUid = aPluginUid.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetPluginNameL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetPluginNameL( const TDesC8& aPluginName )
-    {
-    delete iPluginName;
-    iPluginName = NULL;
-
-    iPluginName = aPluginName.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetPublisherName ()
-// Set the publisher name
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetPublisherNameL( const TDesC8& aPublisherName )
-    {
-    delete iPublisherName;
-    iPublisherName = NULL;
-    
-    iPublisherName = 
-        CnvUtfConverter::ConvertToUnicodeFromUtf8L( aPublisherName );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetPublisherName()
-// Set the publisher name
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetPublisherNameL( const TDesC& aPublisherName )
-    {
-    delete iPublisherName;
-    iPublisherName = NULL;
-    
-    iPublisherName = aPublisherName.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetPluginTypeL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetPluginTypeL( const TDesC8& aPluginType )
-    {
-    delete iPluginType;
-    iPluginType = NULL;
-
-    iPluginType = aPluginType.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetPluginStateL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetPluginStateL( const TDesC8& aPluginState )     
-    {    
-    if ( PluginState().CompareF( aPluginState ) != 0 )
-        {
-        delete iPluginState;
-        iPluginState = NULL;
-
-        iPluginState = aPluginState.AllocL();
-
-        // Tell new state to HSPS as well
-        iManager.UpdatePluginStateL( *this );                           
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::RevertPluginState()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::RevertPluginState()
-    {
-    // Need to change state if it is not error
-    if ( Occupied() && PluginState().CompareF( KStateError ) != 0 )
-        {
-        // For now on it is confirmed
-        TRAP_IGNORE( SetPluginStateL( KStateConfirmed ) );                
-        }                
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetResources()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetResources( CArrayPtrSeg< CXnResource >* aResources )
-    {    
-    if ( iResources )
-        {
-        iResources->ResetAndDestroy();
-        
-        delete iResources;
-        iResources = NULL;
-        }
-    
-    iResources = aResources;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::ResourcesL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::ResourcesL( CArrayPtrSeg< CXnResource >& aList ) const
-    {    
-    for ( TInt i = 0; iResources && i < iResources->Count(); i++ )
-        {
-        aList.AppendL( iResources->At(i) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetControlL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetControlL( CXnNode* aNode )
-    {
-    CXnControlAdapter* control( aNode->Control() );
-
-    if ( control )
-        {
-        User::LeaveIfError( iControls.InsertInAddressOrder( control ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::ControlsL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::ControlsL( RPointerArray< CXnControlAdapter >& aList ) const
-    {
-    for ( TInt i = 0; i < iControls.Count(); i++ )
-        {
-        aList.AppendL( iControls[i] );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetContentSourceNodeL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetContentSourceNodeL( CXnNode* aNode )
-    {
-    User::LeaveIfError( iContentSourceNodes.InsertInAddressOrder( aNode ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::ContentSourceNodesL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::ContentSourceNodesL( RPointerArray< CXnNode >& aList ) const
-    {
-    for ( TInt i = 0; i < iContentSourceNodes.Count(); i++ )
-        {
-        aList.AppendL( iContentSourceNodes[i] );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetAppearanceNodeL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetAppearanceNodeL( CXnNode* aNode )
-    {
-    User::LeaveIfError( iAppearanceNodes.InsertInAddressOrder( aNode ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::AppearanceNodesL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::AppearanceNodesL( RPointerArray< CXnNode >& aList ) const
-    {
-    for ( TInt i = 0; i < iAppearanceNodes.Count(); i++ )
-        {
-        aList.AppendL( iAppearanceNodes[i] );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetInitialFocusNodeL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetInitialFocusNodeL( CXnNode* aNode )
-    {
-    User::LeaveIfError( iInitialFocusNodes.InsertInAddressOrder( aNode ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::InitialFocusNodesL()
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::InitialFocusNodesL( RPointerArray< CXnNode >& aList ) const
-    {
-    for ( TInt i = 0; i < iInitialFocusNodes.Count(); i++ )
-        {
-        aList.AppendL( iInitialFocusNodes[i] );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::Flush()
-// Flushes this plugins data
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::Flush()
-    {
-    // Don't touch to iOwner, because this plugin might be reused later
-           
-    iFlags.ClearAll();
-    
-    // This is default
-    iFlags.Set( EIsRemovable );
-    iFlags.Set( EIsDataPluginsReady );
-           
-    iNode = NULL;
-
-    iLoadIndex = 0;
-    
-    delete iConfigurationId;
-    iConfigurationId = NULL;
-
-    delete iPluginId;
-    iPluginId = NULL;
-
-    delete iPluginUid;
-    iPluginUid = NULL;
-
-    delete iPluginName;
-    iPluginName = NULL;
-
-    delete iPluginType;
-    iPluginType = NULL;
-
-    delete iPluginState;
-    iPluginState = NULL;
-
-    delete iPublisherName;
-    iPublisherName = NULL;
-
-    if ( iResources )
-        {
-        iResources->ResetAndDestroy();
-        delete iResources;
-        iResources = NULL;
-        }
-        
-    iControls.Reset();
-    iContentSourceNodes.Reset();
-    iAppearanceNodes.Reset();
-    iInitialFocusNodes.Reset();
-    iPopupNodes.Reset();
-    iPluginsData.ResetAndDestroy();
-    
-    User::Heap().Compress();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::Empty()
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CXnPluginData::Empty() const
-    {       
-    return ( iFlags.IsSet( EIsEmpty ) ? ETrue : EFalse );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetEmpty()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetEmptyL( const TDesC8& aPluginId ) 
-    {       
-    if ( Occupied() )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    HBufC8* id( aPluginId.AllocL() );
-    
-    Flush();
-
-    // Takes ownership
-    iPluginId = id;
-           
-    iFlags.Set( EIsEmpty );
-    iFlags.Clear( EIsRemovable );
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnPluginData::SetIsDisplayingPopup()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnPluginData::SetIsDisplayingPopup ( TBool aVisible, CXnNode* aNode )
-    {
-    
-    if ( aVisible )
-        {
-        iPopupNodes.InsertInAddressOrder( aNode );
-        }
-    else
-        {
-        TInt index( iPopupNodes.Find( aNode ) );
-        if ( index != KErrNotFound )
-            {
-            iPopupNodes.Remove( index );
-            }
-        }
-    }
-
-
-//------------------------------------------------------------------------------
-// CXnPluginData::IsDisplayingPopup()      
-//
-//------------------------------------------------------------------------------
-//    
-TBool CXnPluginData::IsDisplayingPopup() const
-    {
-    return ( iPopupNodes.Count() > 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::RunL()
-// 
-// -----------------------------------------------------------------------------
-//
-/* static */ TInt CXnPluginData::RunL( TAny* aAny )
-    {
-    CXnPluginData* self = static_cast< CXnPluginData* >( aAny );
-    
-    self->iLoader->Cancel();
-    
-    RPointerArray< CXnNodeAppIf >list;
-    CleanupClosePushL( list );
-
-    for ( TInt i = 0; i < self->iContentSourceNodes.Count(); i++ )
-        {
-        list.AppendL( &self->iContentSourceNodes[i]->AppIfL() );
-        }
-        
-    // State is "wait" until data plugins are loaded
-    self->SetPluginStateL( KStateWaitConfirmation );
-       
-    TRAPD( err, self->iManager.AppUiAdapter().LoadDataPluginsL( list ) );
-
-    if ( err && self->Removable() )
-        {               
-        self->DataPluginsLoadCompletedL( err );            
-        }
-    else
-        {
-        self->DataPluginsLoadCompletedL( KErrNone );                 
-        }
-    
-    CleanupStack::PopAndDestroy( &list );
-        
-    return KErrNone;       
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnpointarray.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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:  Array of points
-*
-*/
-
-#include "xnpointarray.h"
-
-using namespace XnGestureHelper;
-
-// ----------------------------------------------------------------------------
-// TXnPointArray constructor
-// ----------------------------------------------------------------------------
-//
-TXnPointArray::TXnPointArray( const RArray< TXnPointEntry >& aPoints )
-    : iPoints( aPoints )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// TXnPointArray length
-// ----------------------------------------------------------------------------
-//
-TInt TXnPointArray::Count() const
-    {
-    return iPoints.Count();
-    }
-
-// ----------------------------------------------------------------------------
-// point at index, no filtering
-// ----------------------------------------------------------------------------
-//
-TPoint TXnPointArray::operator[]( TInt aIndex ) const
-    {
-    return iPoints[aIndex].iPos;
-    }
-
-// ----------------------------------------------------------------------------
-// Unfiltered point at index
-// ----------------------------------------------------------------------------
-//
-const TPoint& TXnPointArray::Raw( TInt aIndex ) const
-    {
-    return iPoints[aIndex].iPos;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnpopupcontroladapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,349 +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:  Popup control adapter
-*
-*/
-
-// System includes
-#include <e32base.h>
-#include <e32const.h>
-#include <coecntrl.h>
-#include <AknUtils.h>
-#include <aknstyluspopupmenu.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnproperty.h"
-#include "xncontroladapter.h"
-#include "xnnodepluginif.h"
-#include "xnnode.h"
-#include "xntype.h"
-#include "xnuiengine.h"
-#include "xneditor.h"
-#include "xnhittest.h"
-#include "xnfocuscontrol.h"
-
-#include "xnpopupcontroladapter.h"
-
-// Constants
-_LIT8( KMenuItem, "menuitem" );
-_LIT8( KDynMenuItem, "dynmenuitem" );
-_LIT8( KWidgetMenuItem, "widgetmenuitem" );
-_LIT8( KMenuExtension, "menuextension" );
-
-_LIT8( KSource, "source" );
-_LIT8( KTarget, "target" );
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// FindWidgetMenuItemL
-// -----------------------------------------------------------------------------
-//
-CXnNode* FindWidgetMenuItemL( const TDesC8& aSource, 
-    CXnNode& aPlugin )
-    {    
-    if( aPlugin.Children().Count() == 0 )
-        {
-        return NULL;
-        }
-    
-    // Get <widget> element from the <plugin> element
-    RPointerArray< CXnNode >& children( aPlugin.Children()[0]->Children() );
-    
-    for ( TInt i = children.Count() - 1; i >= 0; i-- )
-        {
-        if ( children[i]->Type()->Type() == KMenuExtension )
-            {
-            RPointerArray< CXnNode >& items( children[i]->Children() );
-            
-            for ( TInt i = 0; i < items.Count(); i++ )
-                {
-                CXnProperty* prop( items[i]->GetPropertyL( KTarget ) );
-                
-                if ( prop && prop->StringValue() == aSource )
-                    {
-                    return items[i];
-                    }                
-                }
-            
-            break;
-            }
-        }
-    
-    return NULL;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::NewL
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-CXnPopupControlAdapter* CXnPopupControlAdapter::NewL( CXnNodePluginIf& aNode )
-    {
-    CXnPopupControlAdapter* self =
-        new ( ELeave ) CXnPopupControlAdapter();
-
-    CleanupStack::PushL( self );
-
-    self->ConstructL( aNode );
-
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::~CXnPopupControlAdapter
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnPopupControlAdapter::~CXnPopupControlAdapter()
-    {           
-    delete iStylusPopupMenu;
-           
-    iMenuItems.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::CXnPopupControlAdapter
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-CXnPopupControlAdapter::CXnPopupControlAdapter()    
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::ConstructL
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnPopupControlAdapter::ConstructL( CXnNodePluginIf& aNode )
-    {
-    CXnControlAdapter::ConstructL( aNode ); 
-    
-    iNode = &aNode.Node();
-    iUiEngine = iNode->UiEngine();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::ProcessCommandL
-// -----------------------------------------------------------------------------
-//
-void CXnPopupControlAdapter::ProcessCommandL( TInt aCommandId )
-    {    
-    // Resolve selected item
-    for ( TInt i = 0; aCommandId != KErrCancel && i < iMenuItems.Count(); i++ )
-        {
-        if ( i == aCommandId )
-            {
-        	// Do the actual item selection			
-            iMenuItems[i]->SetStateL( 
-            	XnPropertyNames::style::common::KActive );
-                
-            break;
-            }
-        }        
-
-    iMenuItems.Reset();
-    iCommandId = 0;
-    
-    iMenuShown = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::SetEmphasis
-// -----------------------------------------------------------------------------
-//
-void CXnPopupControlAdapter::SetEmphasis( CCoeControl* /*aMenuControl*/, 
-    TBool /*aEmphasis*/ )
-    {         
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::SetObserver
-// -----------------------------------------------------------------------------
-//    
-void CXnPopupControlAdapter::SetObserver( 
-    XnMenuInterface::MXnMenuObserver& aObserver )   
-    {
-    iObserver = &aObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::TryDisplayingStylusPopupL
-// -----------------------------------------------------------------------------
-//
-void CXnPopupControlAdapter::TryDisplayingStylusPopupL( CXnNode& aPlugin )
-    {
-    HideMenuL();
-    
-    TPointerEvent event( iUiEngine->HitTest().PointerEvent() );
-    
-    delete iStylusPopupMenu;
-    iStylusPopupMenu = NULL;
-    
-    // Popup is positioned relatively to screen
-    iStylusPopupMenu = CAknStylusPopUpMenu::NewL( this, event.iParentPosition );
-      
-    RPointerArray< CXnNode >& children( iNode->Children() );       
-    
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {      
-        PopulateMenuL( children[i], aPlugin );
-        }
-    
-    ShowMenuL( aPlugin, event.iParentPosition );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::HandleScreenDeviceChangedL
-// -----------------------------------------------------------------------------
-//
-void CXnPopupControlAdapter::HandleScreenDeviceChangedL()
-    {
-    HideMenuL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::PopulateMenuL
-// -----------------------------------------------------------------------------
-//
-void CXnPopupControlAdapter::PopulateMenuL( CXnNode* aItem, CXnNode& aPlugin )    
-    {                     
-    CXnNode* menuitem( NULL );    
-    CXnProperty* prop( NULL );
-    
-    TBool mappedItem( EFalse );
-
-    // Map widget menuitem first
-    if ( aItem->Type()->Type() == KWidgetMenuItem )
-        {
-        // Widget menuitem is shown if a widget defined by the "aPlugin" 
-        // defines a proper source - target menuitem pairing
-        CXnProperty* source( aItem->GetPropertyL( KSource ) );
-                       
-        if ( source )
-            {                       
-            CXnNode* widgetItem( 
-                    FindWidgetMenuItemL( source->StringValue(), aPlugin ) );
-            
-            if ( widgetItem )
-                {
-                mappedItem = ETrue;
-                
-                // Get label from the view item
-                prop = aItem->LabelL();
-                if ( !prop )
-                    {
-                    // no localization in view, check from widget
-                    prop = widgetItem->LabelL();
-                    }
-                // Pretend the original item is this widget item
-                aItem = widgetItem;            
-                }                                               
-            }                              
-        }
-
-    const TDesC8& type( aItem->Type()->Type() );
-    
-    if ( type == KMenuItem )
-        {
-        // By default plain menuitems are always shown
-        menuitem = aItem;                                       
-        }
-    else if ( type == KDynMenuItem && iObserver )
-        {
-        // Let observer decide whether dynmenuitem is visible or not
-        if ( iObserver->DynInitMenuItemL( aItem->AppIfL(), &aPlugin.AppIfL() ) )
-            {
-            menuitem = aItem;                       
-            }
-        }
-        
-    if ( menuitem )
-        {
-        CXnProperty* display = menuitem->DisplayL();
-        if ( display && display->StringValue() == XnPropertyNames::style::common::display::KNone )
-            {
-            return;
-            }
-        
-        if ( !mappedItem )
-            {
-            prop = menuitem->LabelL(); 
-            }
-
-        if ( prop )
-            {
-            HBufC* label( prop->StringValueL() );
-            CleanupStack::PushL( label );
-            
-            iStylusPopupMenu->AddMenuItemL( *label, iCommandId++ );
-            iMenuItems.AppendL( menuitem );
-
-            CleanupStack::PopAndDestroy( label );                    
-            }        
-        }       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::ShowMenuL
-// -----------------------------------------------------------------------------
-//
-void CXnPopupControlAdapter::ShowMenuL( CXnNode& aPlugin, TPoint aPosition )
-    {
-    if ( iMenuItems.Count() > 0 && !iMenuShown )
-        {
-        iUiEngine->AppUiAdapter().HideFocus();            
-                
-        iUiEngine->Editor()->SetTargetPlugin( &aPlugin );
-                       
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            iStylusPopupMenu->SetPosition( aPosition, 
-                    CAknStylusPopUpMenu::EPositionTypeRightBottom );                        
-            }
-        else
-            {
-            iStylusPopupMenu->SetPosition( aPosition, 
-                    CAknStylusPopUpMenu::EPositionTypeLeftBottom );                        
-            }
-        
-        iStylusPopupMenu->ShowMenu();
-        iMenuShown = ETrue;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPopupControlAdapter::HideMenuL
-// -----------------------------------------------------------------------------
-//
-void CXnPopupControlAdapter::HideMenuL()
-    {
-    if ( iMenuShown )
-        {        
-        ProcessCommandL( KErrCancel );
-        
-        delete iStylusPopupMenu;
-        iStylusPopupMenu = NULL;
-        
-        iMenuShown = EFalse;
-        }    
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnproperty.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,373 +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:  Xuikon property source
-*
-*/
-
-//  INCLUDE FILES
-#include "xnproperty.h"
-#include "xndomproperty.h"
-#include "xndompropertyvalue.h"
-#include "xndomlist.h"
-#include "xndomstringpool.h"
-#include <utf.h>
-#include <gdi.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnProperty::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnProperty::NewL( CXnDomProperty* aProperty )
-    {
-    CXnProperty* self = new ( ELeave ) CXnProperty;
-
-    CleanupStack::PushL( self );
-
-    self->ConstructL( aProperty );
-
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnProperty::NewL( const TDesC8& aName,
-    CXnDomPropertyValue* aPropertyValue, CXnDomStringPool& aStringPool )
-    {
-    CXnProperty* self = new ( ELeave ) CXnProperty;
-
-    CleanupStack::PushL( self );
-
-    self->ConstructL( aName, aPropertyValue, aStringPool );
-
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnProperty::NewL( const TDesC8& aPropertyName,
-    const TDesC8& aPropertyValue,
-    CXnDomPropertyValue::TPrimitiveValueType aValueType,
-    CXnDomStringPool& aStringPool )
-    {
-    CXnProperty* self = new ( ELeave ) CXnProperty;
-    CleanupStack::PushL( self );
-
-    self->ConstructL( aPropertyName, aPropertyValue, aValueType, aStringPool );
-
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnProperty::NewL( const TDesC8& aPropertyName,
-    TReal aPropertyValue,
-    CXnDomPropertyValue::TPrimitiveValueType aValueType,
-    CXnDomStringPool& aStringPool )
-    {
-    CXnProperty* self = new ( ELeave ) CXnProperty;
-    CleanupStack::PushL( self );
-
-    self->ConstructL( aPropertyName, aPropertyValue, aValueType, aStringPool );
-
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::NewSharedL
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnProperty::NewSharedL( CXnDomProperty* aProperty )
-    {
-    CXnProperty* self = new ( ELeave ) CXnProperty;
-
-    CleanupStack::PushL( self );
-
-    self->ConstructSharedL( aProperty );
-
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::~CXnProperty
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXnProperty::~CXnProperty()
-    {
-    if ( iIsDomPropertyOwned )
-        {
-        delete iProperty;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::CXnProperty
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnProperty::CXnProperty()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnProperty::ConstructL( CXnDomProperty* aProperty )
-    {
-    iProperty = aProperty;
-    iIsDomPropertyOwned = ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnProperty::ConstructL( const TDesC8& aName,
-    CXnDomPropertyValue* aPropertyValue, CXnDomStringPool& aStringPool )
-    {
-    iProperty = CXnDomProperty::NewL( aName, &aStringPool );
-    iIsDomPropertyOwned = ETrue;
-
-    CXnDomList& propertyValueList = iProperty->PropertyValueList();
-    propertyValueList.AddItemL( aPropertyValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnProperty::ConstructL( const TDesC8& aPropertyName,
-    const TDesC8& aPropertyValue,
-    CXnDomPropertyValue::TPrimitiveValueType aValueType,
-    CXnDomStringPool& aStringPool )
-    {
-    iProperty = CXnDomProperty::NewL( aPropertyName, &aStringPool );
-    iIsDomPropertyOwned = ETrue;
-
-    CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( &aStringPool );
-    CleanupStack::PushL( newValue );
-
-    newValue->SetStringValueL( aValueType, aPropertyValue );
-
-    CXnDomList& propertyValueList( iProperty->PropertyValueList() );
-
-    propertyValueList.AddItemL( newValue );
-
-    CleanupStack::Pop( newValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnProperty::ConstructL( const TDesC8& aPropertyName,
-    TReal aPropertyValue,
-    CXnDomPropertyValue::TPrimitiveValueType aValueType,
-    CXnDomStringPool& aStringPool )
-    {
-    iProperty = CXnDomProperty::NewL( aPropertyName, &aStringPool );
-    iIsDomPropertyOwned = ETrue;
-
-    CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( &aStringPool );
-    CleanupStack::PushL( newValue );
-
-    newValue->SetFloatValueL( aValueType, aPropertyValue );
-
-    CXnDomList& propertyValueList( iProperty->PropertyValueList() );
-
-    propertyValueList.AddItemL( newValue );
-
-    CleanupStack::Pop( newValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::ConstructSharedL
-// -----------------------------------------------------------------------------
-//
-void CXnProperty::ConstructSharedL( CXnDomProperty* aProperty )
-    {
-    iProperty = aProperty;
-    iIsDomPropertyOwned = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::EqualsL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnProperty::EqualsL( CXnProperty& aProperty ) const
-    {
-    TBool equals( EFalse );
-
-    if ( aProperty.Property()->PseudoClass() != iProperty->PseudoClass() )
-        {
-        return equals;
-        }
-
-    if ( aProperty.Property()->Name() != iProperty->Name() )
-        {
-        return equals;
-        }
-
-    CXnDomPropertyValue* value1 = static_cast< CXnDomPropertyValue* >(
-        iProperty->PropertyValueList().Item( 0 ) );
-    CXnDomPropertyValue::TPrimitiveValueType primitiveValueType1 =
-        value1->PrimitiveValueType();
-
-    CXnDomPropertyValue* value2 = static_cast< CXnDomPropertyValue* >(
-        aProperty.Property()->PropertyValueList().Item( 0 ) );
-    CXnDomPropertyValue::TPrimitiveValueType primitiveValueType2 =
-        value2->PrimitiveValueType();
-
-    switch ( primitiveValueType1 )
-        {
-        case CXnDomPropertyValue::ENumber:
-        case CXnDomPropertyValue::EPercentage:
-        case CXnDomPropertyValue::EEms:
-        case CXnDomPropertyValue::EExs:
-        case CXnDomPropertyValue::EPx:
-        case CXnDomPropertyValue::ECm:
-        case CXnDomPropertyValue::EMm:
-        case CXnDomPropertyValue::EIn:
-        case CXnDomPropertyValue::EPt:
-        case CXnDomPropertyValue::EPc:
-        case CXnDomPropertyValue::EDeg:
-        case CXnDomPropertyValue::ERad:
-        case CXnDomPropertyValue::EGrad:
-        case CXnDomPropertyValue::EMs:
-        case CXnDomPropertyValue::ES:
-        case CXnDomPropertyValue::EHz:
-        case CXnDomPropertyValue::EKHz:
-        case CXnDomPropertyValue::EUnitValue:
-            if ( primitiveValueType1 == primitiveValueType2 )
-                {
-                equals = ( value1->FloatValueL() == value2->FloatValueL() );
-                }
-            break;
-        case CXnDomPropertyValue::EString:
-        case CXnDomPropertyValue::EIdent:
-        case CXnDomPropertyValue::EUri:
-        case CXnDomPropertyValue::EAttr:
-        case CXnDomPropertyValue::EUnknown:
-            if ( primitiveValueType2 == CXnDomPropertyValue::EString ||
-                 primitiveValueType2 == CXnDomPropertyValue::EIdent ||
-                 primitiveValueType2 == CXnDomPropertyValue::EUri ||
-                 primitiveValueType2 == CXnDomPropertyValue::EAttr ||
-                 primitiveValueType2 == CXnDomPropertyValue::EUnknown )
-                {
-                equals = ( value1->StringValueL() == value2->StringValueL() );
-                }
-            break;
-        case CXnDomPropertyValue::ERgbColor:
-        case CXnDomPropertyValue::ERgbaColor:
-            if ( primitiveValueType1 == primitiveValueType2 )
-                {
-                TRgb rgb1( value1->RgbColorValueL() );
-                TRgb rgb2( value2->RgbColorValueL() );
-
-                equals = ( rgb1 == rgb2 );
-                }
-            break;
-        default:
-            break;
-        }
-
-    return equals;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::Property
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomProperty* CXnProperty::Property()
-    {
-    return iProperty;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::StringValueL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CXnProperty::StringValueL()
-    {
-    CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-        iProperty->PropertyValueList().Item( 0 ) );
-    const TDesC8& name = StringValue();
-    HBufC* utfName = HBufC::NewL( name.Length() );
-    TPtr16 ptr = utfName->Des();
-    CnvUtfConverter::ConvertToUnicodeFromUtf8( ptr, name );
-    return utfName;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::StringValue
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CXnProperty::StringValue()
-    {
-    CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-        iProperty->PropertyValueList().Item( 0 ) );
-    return value->StringValue();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::FloatValueL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CXnProperty::FloatValueL()
-    {
-    CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-        iProperty->PropertyValueList().Item( 0 ) );
-    return value->FloatValueL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnProperty::CloneL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnProperty* CXnProperty::CloneL()
-    {
-    CXnDomProperty* property = iProperty->CloneL();
-    CleanupStack::PushL( property );
-    CXnProperty* returnValue = CXnProperty::NewL( property );
-    CleanupStack::Pop( property );
-    return returnValue;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnpropertycomparator.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Compares two objects.
-*
-*/
-
-// INCLUDES
-#include "xnpropertycomparator.h"
-#include "xnproperty.h"
-#include "xnpropertylist.h"
-#include "xndomproperty.h"
-
-// -----------------------------------------------------------------------------
-// TXnPropertyComparator::TXnPropertyComparator()
-// -----------------------------------------------------------------------------
-//
-TXnPropertyComparator::TXnPropertyComparator()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TXnPropertyComparator::~TXnPropertyComparator()
-// -----------------------------------------------------------------------------
-//
-TXnPropertyComparator::~TXnPropertyComparator()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TXnPropertyComparator::Equals()
-// -----------------------------------------------------------------------------
-//
-TBool TXnPropertyComparator::Equals( CBase& aItem1, CBase& aItem2 )
-    {
-    CXnPropertyKey& item1 = static_cast< CXnPropertyKey& >( aItem1 );
-    CXnProperty& item2 = static_cast< CXnProperty& >( aItem2 );
-    // return ETrue if keys match and pseudoclasses are not set
-    // or if keys match and both pseudoclasses are set and match
-    CXnDomProperty* property2 = item2.Property();
-    if ( item1.iPseudoClass == property2->PseudoClass() &&
-         *( item1.iString ) == property2->Name() )
-        {
-        // names match, pseudoclasses match or are both not set
-        return ETrue;
-        }
-    // all other cases return false.
-    return EFalse;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnpropertylist.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,397 +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:  Xuikon property list
-*
-*/
-
-//  INCLUDES
-#include "xnpropertylist.h"
-#include "xnproperty.h"
-#include "xnproperty.h"
-#include "xnpropertycomparator.h"
-#include "xncomparator.h"
-#include "xnmap.h"
-#include "xndomproperty.h"
-#include "xndompropertyvalue.h"
-#include "xnpanic.h"
-
-// LOCAL CONSTANTS AND MACROS
-_LIT8( KPseudoClassFocus, "focus" );
-_LIT8( KPseudoClassPassiveFocus, "passivefocus" );
-_LIT8( KPseudoClassHold, "hold" );
-_LIT8( KPseudoClassHover, "hover" );
-_LIT8( KPseudoClassLink, "link" );
-_LIT8( KPseudoClassVisited, "visited" );
-_LIT8( KPseudoClassActive, "active" );
-_LIT8( KPseudoClassEdit, "edit" );
-_LIT8( KPseudoClassPressedDown, "presseddown" );
-
-// LOCAL FUNCTION PROTOTYPES
-static const TDesC8& PseudoClassName(
-    CXnDomProperty::TPseudoClass aPseudoClass );
-static CXnDomProperty::TPseudoClass PseudoClassFromName(
-    const TDesC8& aName );
-static TInt FindPseudoClass(
-    const RArray< CXnDomProperty::TPseudoClass >& aArray,
-    const TDesC8& aPseudoClass );
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// PseudoClassName
-// -----------------------------------------------------------------------------
-//
-static const TDesC8& PseudoClassName( CXnDomProperty::TPseudoClass aPseudoClass )
-    {
-    switch ( aPseudoClass )
-        {
-        case CXnDomProperty::EFocus:
-            return KPseudoClassFocus;
-        case CXnDomProperty::EPassiveFocus:
-            return KPseudoClassPassiveFocus;
-        case CXnDomProperty::EHold:
-            return KPseudoClassHold;
-        case CXnDomProperty::EHover:
-            return KPseudoClassHover;
-        case CXnDomProperty::ELink:
-            return KPseudoClassLink;
-        case CXnDomProperty::EVisited:
-            return KPseudoClassVisited;
-        case CXnDomProperty::EActive:
-            return KPseudoClassActive;
-        case CXnDomProperty::EEdit:
-            return KPseudoClassEdit;
-        case CXnDomProperty::EPressedDown:
-            return KPseudoClassPressedDown;
-        default:
-            return KNullDesC8;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// PseudoClassFromName
-// -----------------------------------------------------------------------------
-//
-static CXnDomProperty::TPseudoClass PseudoClassFromName( const TDesC8& aName )
-    {
-    if ( aName == KPseudoClassFocus )
-        {
-        return CXnDomProperty::EFocus;
-        }
-    else if ( aName == KPseudoClassPassiveFocus )
-        {
-        return CXnDomProperty::EPassiveFocus;
-        }
-    else if ( aName == KPseudoClassHold )
-        {
-        return CXnDomProperty::EHold;
-        }
-    else if ( aName == KPseudoClassHover )
-        {
-        return CXnDomProperty::EHover;
-        }
-    else if ( aName == KPseudoClassLink )
-        {
-        return CXnDomProperty::ELink;
-        }
-    else if ( aName == KPseudoClassVisited )
-        {
-        return CXnDomProperty::EVisited;
-        }
-    else if ( aName == KPseudoClassActive )
-        {
-        return CXnDomProperty::EActive;
-        }
-    else if ( aName == KPseudoClassEdit )
-        {
-        return CXnDomProperty::EEdit;
-        }
-    else if ( aName == KPseudoClassPressedDown )
-        {
-        return CXnDomProperty::EPressedDown;
-        }
-    return CXnDomProperty::ENone;
-    }
-
-// -----------------------------------------------------------------------------
-// FindPseudoClass
-// -----------------------------------------------------------------------------
-//
-static TInt FindPseudoClass(
-    const RArray< CXnDomProperty::TPseudoClass >& aArray,
-    const TDesC8& aPseudoClass )
-    {
-    for ( TInt i = aArray.Count() - 1; i >= 0; --i )
-        {
-        CXnDomProperty::TPseudoClass item = aArray[i];
-        if ( PseudoClassName( item ) == aPseudoClass )
-            {
-            return i;
-            }
-        }
-    return KErrNotFound;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::NewL()
-// -----------------------------------------------------------------------------
-//
-CXnPropertyList* CXnPropertyList::NewL()
-    {
-    CXnPropertyList* self = new ( ELeave ) CXnPropertyList;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();//self
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::~CXnPropertyList()
-// -----------------------------------------------------------------------------
-//
-CXnPropertyList::~CXnPropertyList()
-    {
-    delete iMap;
-
-    iCurrentPseudoClasses.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::CXnPropertyList()
-// -----------------------------------------------------------------------------
-//
-CXnPropertyList::CXnPropertyList()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CXnPropertyList::ConstructL()
-    {
-    iMap = CXnMap::NewL( new ( ELeave ) TXnPropertyComparator );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::SetPropertyL
-// Set a property.
-// -----------------------------------------------------------------------------
-//
-void CXnPropertyList::SetPropertyL( CXnProperty* aProperty )
-    {
-    CXnPropertyKey key;
-    key.iString = &( aProperty->Property()->Name() );
-    key.iPseudoClass = aProperty->Property()->PseudoClass();
-
-    CXnProperty* tmp = static_cast< CXnProperty* >( iMap->Get( key ) );
-    if ( tmp == aProperty )
-        {
-        return;
-        }
-    TBool replaced = EFalse;
-    for ( TInt i = ( iMap->Container() ).Count() - 1; i >= 0; --i )
-        {
-        tmp = static_cast< CXnProperty* >( ( iMap->Container() )[i] );
-        if ( aProperty->Property()->PseudoClass() == CXnDomProperty::ENone )
-            {
-            const TDesC8& tmpName = tmp->Property()->Name();
-            const TDesC8& propertyName = aProperty->Property()->Name();
-            if ( tmpName == propertyName )
-                {
-                if ( tmp->Property()->PseudoClass() != CXnDomProperty::ENone )
-                    {
-                    TBool pseudoMatch = EFalse;
-                    for ( TInt j = iCurrentPseudoClasses.Count() - 1; j >= 0; --j )
-                        {
-                        CXnDomProperty::TPseudoClass pseudoClass =
-                            iCurrentPseudoClasses[j];
-                        if ( tmp->Property()->PseudoClass() == pseudoClass )
-                            {
-                            pseudoMatch = ETrue;
-                            break;
-                            }
-                        }
-                    if ( !pseudoMatch )
-                        {
-                        continue;
-                        }
-                    CXnProperty* newProperty = aProperty->CloneL();
-                    CleanupStack::PushL( newProperty );
-                    newProperty->Property()->SetPseudoClass(
-                        tmp->Property()->PseudoClass() );
-                    // add new object
-                    if ( ( iMap->Container()).Append( newProperty ) != KErrNone )
-                        {
-                        User::Leave( KXnErrAddingProperyToListFailed );
-                        }
-                    CleanupStack::Pop( newProperty );
-                    }
-                if ( ( iMap->Container() ).Append( aProperty )!= KErrNone )
-                    {
-                    User::Leave( KXnErrAddingProperyToListFailed_2 );
-                    }
-                replaced = ETrue;
-                // remove old object
-                delete tmp;
-                ( iMap->Container() ).Remove( i );
-                }
-            }
-        else
-            {
-            const TDesC8& tmpName = tmp->Property()->Name();
-            const TDesC8& propertyName = aProperty->Property()->Name();
-            if ( tmp->Property()->PseudoClass() != CXnDomProperty::ENone &&
-                 tmp->Property()->PseudoClass() == aProperty->Property()->PseudoClass() &&
-                 tmpName == propertyName )
-                {
-                if ( ( iMap->Container() ).Append( aProperty )!= KErrNone )
-                    {
-                    User::Leave( KXnErrAddingProperyToListFailed_3 );
-                    }
-                replaced = ETrue;
-                // remove old object
-                delete tmp;
-                ( iMap->Container() ).Remove( i );
-                }
-            }
-        }
-    if ( replaced )
-        {
-        return;
-        }
-    if ( aProperty->Property()->PseudoClass() != CXnDomProperty::ENone )
-        {
-        for ( TInt i = iCurrentPseudoClasses.Count() - 1; i >= 0; --i )
-            {
-            CXnDomProperty::TPseudoClass pseudoClass = iCurrentPseudoClasses[i];
-            CXnProperty* newProperty = aProperty->CloneL();
-            CleanupStack::PushL( newProperty );
-            newProperty->Property()->SetPseudoClass( pseudoClass );
-            // add new object
-            User::LeaveIfError( ( iMap->Container() ).Append( newProperty ) );
-            if ( ( iMap->Container() ).Append( newProperty )!= KErrNone )
-                {
-                User::Leave( KXnErrAddingProperyToListFailed_4 );
-                }
-            CleanupStack::Pop( newProperty );
-            }
-        }
-    if ( ( iMap->Container() ).Append( aProperty )!= KErrNone )
-        {
-        User::Leave( KXnErrAddingProperyToListFailed_5 );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::GetProperty
-// Gets a property.
-// -----------------------------------------------------------------------------
-//
-CXnProperty* CXnPropertyList::GetProperty( const TDesC8& aKey ) const
-    {
-    CXnPropertyKey key;
-    key.iString = &aKey;
-    for ( TInt i = iCurrentPseudoClasses.Count() - 1; i >= 0; --i )
-        {
-        key.iPseudoClass = iCurrentPseudoClasses[i];
-        CXnProperty* property = static_cast< CXnProperty* >( iMap->Get( key ) );
-        if ( property )
-            {
-            return property;
-            }
-        }
-
-    key.iPseudoClass = CXnDomProperty::ENone;
-    CXnProperty* property = static_cast< CXnProperty* >( iMap->Get( key ) );
-    if ( property )
-        {
-        return property;
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::SetPseudoClassL
-// Set a pseudoclass
-// -----------------------------------------------------------------------------
-//
-TBool CXnPropertyList::SetStateL( const TDesC8& aState )
-    {
-    if ( FindPseudoClass( iCurrentPseudoClasses, aState ) < 0 )
-        {
-        User::LeaveIfError( iCurrentPseudoClasses.Append(
-            PseudoClassFromName( aState ) ) );
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::IsStateSet
-// Check whether a state is set or not
-// -----------------------------------------------------------------------------
-//
-TBool CXnPropertyList::IsStateSet( const TDesC8& aState )
-    {
-    if ( FindPseudoClass( iCurrentPseudoClasses, aState ) < 0 )
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::UnsetPseudoClass
-// Unset a pseudoclass
-// -----------------------------------------------------------------------------
-//
-TBool CXnPropertyList::UnsetState( const TDesC8& aState )
-    {
-    TInt index = FindPseudoClass( iCurrentPseudoClasses, aState );
-    if ( index < 0 )
-        {
-        return EFalse;
-        }
-    iCurrentPseudoClasses.Remove( index );
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPropertyList::CloneL
-// Clone the list
-// -----------------------------------------------------------------------------
-//
-CXnPropertyList* CXnPropertyList::CloneL()
-    {
-    CXnPropertyList* clone = CXnPropertyList::NewL();
-    CleanupStack::PushL( clone );
-    TInt count = iCurrentPseudoClasses.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        User::LeaveIfError( clone->iCurrentPseudoClasses.Append(
-            iCurrentPseudoClasses[i] ) );
-        }
-    clone->iMap = CXnMap::NewL( new ( ELeave ) TXnPropertyComparator );
-    count = iMap->Container().Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        User::LeaveIfError( clone->iMap->Container().Append(
-            static_cast< CXnProperty* >( iMap->Container()[i] )->CloneL() ) );
-        }
-    CleanupStack::Pop( clone );
-    return clone;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnpropertysubscriber.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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:  Subscribes properties from P&S
-*
-*/
-
-#include "xnpropertysubscriber.h"
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CXnPropertySubscriber::CXnPropertySubscriber(
-    MXnPropertyChangeObserver& aObserver,
-    const TUint32 aKey )
-    : CActive( EPriorityStandard ),
-    iPropertyChangeObserver( aObserver ),
-    iKey( aKey )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CXnPropertySubscriber* CXnPropertySubscriber::NewLC(
-    const TUid aUid,
-    const TUint32 aKey,
-    MXnPropertyChangeObserver& aObserver )
-    {
-    CXnPropertySubscriber* self =
-        new ( ELeave ) CXnPropertySubscriber( aObserver, aKey );
-    CleanupStack::PushL( self );
-    self->ConstructL( aUid, aKey );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CXnPropertySubscriber* CXnPropertySubscriber::NewL(
-    const TUid aUid,
-    const TUint32 aKey,
-    MXnPropertyChangeObserver& aObserver )
-    {
-    CXnPropertySubscriber* self = CXnPropertySubscriber::NewLC(
-        aUid, aKey, aObserver );
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CXnPropertySubscriber::ConstructL(
-    const TUid aUid,
-    const TUint32 aKey )
-    {
-    User::LeaveIfError( iProperty.Attach( aUid, aKey ) );
-    CActiveScheduler::Add( this ); // Add to scheduler
-    // initial subscription and process current property value
-    RunL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CXnPropertySubscriber::~CXnPropertySubscriber()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    iProperty.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CXnPropertySubscriber::DoCancel()
-    {
-    iProperty.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CXnPropertySubscriber::RunL()
-    {
-    // resubscribe before processing new value to prevent missing updates
-    iProperty.Subscribe( iStatus );
-    SetActive();
-
-    TInt intValue;
-    if ( iProperty.Get( intValue ) != KErrNotFound )
-        {
-        iPropertyChangeObserver.PropertyChangedL( iKey, intValue );
-        }
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,645 +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:  Data class to hold application root configuration info
-*
-*/
-
-// User includes
-#include "xnviewmanager.h"
-#include "xnviewdata.h"
-
-#include "xnappuiadapter.h"
-#include "xncontroladapter.h"
-#include "xnuiengine.h"
-#include "xnecomhandler.h"
-#include "xncomposer.h"
-#include "xnodtparser.h"
-
-#include "xndomdocument.h"
-#include "xndomnode.h"
-#include "xnodt.h"
-
-#include "xnnode.h"
-#include "xntype.h"
-
-#include "xnpanic.h"
-
-#include "xnplugindata.h"
-#include "xnrootdata.h"
-
-// Constants
-const TInt KScheduleInterval( 1000000 );
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnRootData::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnRootData* CXnRootData::NewL( CXnViewManager& aManager, 
-    TUid aApplicationUid )
-    {
-    CXnRootData* self = CXnRootData::NewLC( aManager, aApplicationUid );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnRootData* CXnRootData::NewLC( CXnViewManager& aManager, 
-    TUid aApplicationUid )
-    {
-    CXnRootData* self = new ( ELeave ) CXnRootData( aManager, aApplicationUid );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::CXnRootData()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnRootData::CXnRootData( CXnViewManager& aManager, TUid aApplicationUid )     
-    : CXnPluginData( aManager ), iApplicationUid( aApplicationUid )          
-    {
-    iFlags.Clear( EIsRemovable );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::~CXnRootData()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnRootData::~CXnRootData()
-    {
-    if ( iLoadTimer )
-        {
-        iLoadTimer->Cancel();
-        }
-    
-    delete iLoadTimer;
-    
-    if ( iDestroyTimer )
-        {
-        iDestroyTimer->Cancel();
-        }
-    
-    delete iDestroyTimer;
-    
-    iViewsToDestroy.ResetAndDestroy();
-    
-    iPluginsData.ResetAndDestroy();
-    
-    delete iODT->DomDocument().RootNode()->LayoutNode();
-    
-    delete iODT;
-
-    delete iParser;
-    delete iEcomHandler;
-                  
-    User::Heap().Compress();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnRootData::ConstructL()
-    {   
-    CXnPluginData::ConstructL();
-    
-    iEcomHandler = CXnEcomHandler::NewL();
-    
-    iParser = CXnODTParser::NewL( iManager, *iEcomHandler );   
-    
-    iLoadTimer = CPeriodic::NewL( CActive::EPriorityStandard );           
-    iDestroyTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::LoadL()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnRootData::LoadL()
-    { 
-    if ( Occupied() )
-        {
-        return;
-        }
-           
-    // Load application root configuration
-    TRAPD( error,
-            
-        iODT = iManager.Composer().ComposeRootL( *this );
-    
-        if ( iODT )
-            {
-            iManager.Parser().LoadRootL( *this, iApplicationUid );
-            }              
-        );
-    
-    if ( !iODT || error || !Occupied() )
-        {
-        // Can't recover
-        Panic( EXnInvalidConfiguration );               
-        }
-    
-    RPointerArray< CXnViewData > failedPlugins;
-    CleanupClosePushL( failedPlugins );
-    
-    TBool succeed( EFalse );
-           
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        CXnViewData* plugin( 
-                static_cast< CXnViewData* >( iPluginsData[ i ] ) ); 
-        
-        if ( plugin->Initial() )
-            {
-            plugin->LoadL();
-    
-            if ( plugin->Occupied() )
-                {
-                succeed = ETrue;                
-                }
-            else
-                {
-                // Failed to load
-                failedPlugins.AppendL( plugin );                
-                }
-
-            break;
-            }
-        } 
-                            
-    for ( TInt i = 0; !succeed && i < iPluginsData.Count(); i++ )
-        {
-        CXnViewData* plugin( 
-                static_cast< CXnViewData* >( iPluginsData[ i ] ) );
-        
-        if ( failedPlugins.Find( plugin ) == KErrNotFound )
-            {
-            plugin->SetInitial();
-            
-            plugin->LoadL();
-
-            if ( plugin->Occupied() )
-                {                                       
-                succeed = ETrue;                
-                }
-            else
-                {
-                // Failed to load
-                failedPlugins.AppendL( plugin );                                                    
-                }
-            }
-        }    
-    
-    if ( !succeed )
-        {
-        // Can't recover
-        Panic( EXnInvalidConfiguration );                       
-        }
-    
-    for ( TInt i = failedPlugins.Count() - 1; i >= 0; i-- )
-        {        
-        CXnPluginData* toDestroy( failedPlugins[i] );
-        
-        TInt index( iPluginsData.Find( toDestroy ) );
-        
-        iPluginsData.Remove( index );
-        
-        delete toDestroy;
-        toDestroy = NULL;                     
-        }
-    
-    CleanupStack::PopAndDestroy( &failedPlugins );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::Destroy()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnRootData::Destroy()
-    {
-    iLoadTimer->Cancel();
-    iDestroyTimer->Cancel();
-    
-    iFlags.Set( EIsDispose );
-    
-    iDestroyTimer->Start( TTimeIntervalMicroSeconds32( 0 ),
-                          TTimeIntervalMicroSeconds32( 0 ),
-                          TCallBack( RunDestroyL, this ) );           
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::LoadRemainingViews()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnRootData::LoadRemainingViews()
-    {
-    if ( iFlags.IsClear( EIsDispose ) && !AllViewsLoaded() )
-        {
-        iLoadForward = ETrue;
-        
-        iLoadTimer->Cancel();
-        
-        iLoadTimer->Start( TTimeIntervalMicroSeconds32( KScheduleInterval ),
-                           TTimeIntervalMicroSeconds32( KScheduleInterval ),
-                           TCallBack( RunLoadL, this ) );       
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::CancelLoadRemainingViews()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnRootData::CancelLoadRemainingViews()
-    {    
-    if ( iFlags.IsClear( EIsDispose ) && !AllViewsLoaded() )
-        {
-        iLoadTimer->Cancel();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::ODT()
-// 
-// -----------------------------------------------------------------------------
-//
-CXnODT* CXnRootData::ODT() const
-    {
-    return iODT;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::RootNode()
-// 
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnRootData::RootNode() const
-    {
-    return iODT->DomDocument().RootNode()->LayoutNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::Parser()
-// 
-// -----------------------------------------------------------------------------
-//
-CXnODTParser& CXnRootData::Parser() const
-    {
-    return *iParser;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::EcomHandler()
-// 
-// -----------------------------------------------------------------------------
-//
-CXnEcomHandler& CXnRootData::EcomHandler() const
-    {
-    return *iEcomHandler;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::ActiveViewData()
-// Finds the active view data
-// -----------------------------------------------------------------------------
-//
-CXnViewData& CXnRootData::ActiveViewData() const
-    {    
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        CXnViewData& plugin( static_cast< CXnViewData& >( *iPluginsData[i] ) );
-        
-        if ( plugin.Active() )
-            {
-            return plugin;
-            }
-        }
-    
-    // If active is not set, then try initial
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        CXnViewData& plugin( static_cast< CXnViewData& >( *iPluginsData[i] ) );
-        
-        if ( plugin.Initial() )
-            {
-            return plugin;
-            }
-        }
-   
-    Panic( EXnInvalidConfiguration );
-
-    // Remove compiler warning
-    return static_cast< CXnViewData& > ( *iPluginsData[0] );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::PreviousViewData()
-// Finds the active view data
-// -----------------------------------------------------------------------------
-//
-CXnViewData& CXnRootData::PreviousViewData() const
-    {      
-    CXnViewData& active( ActiveViewData() );
-    
-    TInt count( iPluginsData.Count() );
-
-    if ( count == 1 )
-        {
-        // Only one view available
-        return active;               
-        }
-
-    TInt index( iPluginsData.Find( &active ) );
-    
-    if ( index == 0 )
-        {
-        // Return the last
-        return static_cast< CXnViewData& >( *iPluginsData[ count - 1 ] );        
-        }
-    else
-        {
-        // Return the previous
-        return static_cast< CXnViewData& >( *iPluginsData[ index - 1 ] );        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::NextViewData()
-// Finds the active view data
-// -----------------------------------------------------------------------------
-//
-CXnViewData& CXnRootData::NextViewData() const
-    {       
-    CXnViewData& active( ActiveViewData() );
-    
-    TInt count( iPluginsData.Count() );
-
-    if ( count == 1 )
-        {
-        // Only one view available
-        return active;
-        }
-
-    TInt index( iPluginsData.Find( &active ) );
-
-    if ( index + 1 < count )
-        {
-        // Return the next
-        return static_cast< CXnViewData& >( *iPluginsData[ index + 1 ] );        
-        }
-    else
-        {
-        // Return the first
-        return static_cast< CXnViewData& >( *iPluginsData[ 0 ] );        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::DestroyViewData()
-// Sets view data to be destroyed
-// -----------------------------------------------------------------------------
-//
-void CXnRootData::DestroyViewData( CXnViewData* aViewData )
-    {
-    TInt index( iPluginsData.Find( aViewData ) );
-    
-    if ( index != KErrNotFound )
-        {
-        iPluginsData.Remove( index );
-                
-        if ( iViewsToDestroy.Find( aViewData ) == KErrNotFound )
-            {
-            iViewsToDestroy.Append( aViewData );
-            
-            iDestroyTimer->Cancel();
-            
-            iDestroyTimer->Start( TTimeIntervalMicroSeconds32( 0 ),
-                                  TTimeIntervalMicroSeconds32( 0 ),
-                                  TCallBack( RunDestroyL, this ) );                       
-            }        
-        }       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::AllViewsLoaded()
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CXnRootData::AllViewsLoaded() const
-    {
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        if ( !iPluginsData[i]->Occupied() )
-            {
-            return EFalse;
-            }
-        }
-    
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::AllViewsDestroyed()
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CXnRootData::AllViewsDestroyed() const
-    {
-    return ( iPluginsData.Count() == 0 ) && iFlags.IsSet( EIsDispose ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::RunLoadL()
-// 
-// -----------------------------------------------------------------------------
-//
-/* static */ TInt CXnRootData::RunLoadL( TAny* aAny )
-    {
-    CXnRootData* self = static_cast< CXnRootData* >( aAny );
-    
-    if ( self->iFlags.IsSet( EIsDispose ) )
-        {
-        self->iLoadTimer->Cancel();
-        }
-    else
-        {               
-        CXnPluginData& active( self->ActiveViewData() );
-        
-        CXnPluginData* toLoad( NULL );
-                       
-        TInt index( self->iPluginsData.Find( &active ) );
-        TInt count( self->iPluginsData.Count() );
-                
-        if ( self->iLoadForward )
-            {
-            self->iLoadForward = EFalse;
-            
-            // Start from the next one
-            index = index + 1;
-            
-            if ( index == count )
-                {
-                index = 0;
-                }
-                         
-            for ( TInt i = index; i < self->iPluginsData.Count(); i++ )
-                {
-                if ( !self->iPluginsData[i]->Occupied() )
-                    {
-                    toLoad = self->iPluginsData[i];
-                    break;
-                    }
-                }                              
-            }
-        else
-            {
-            self->iLoadForward = ETrue;
-            
-            if ( index == 0 )
-                {
-                index = count - 1;
-                }
-            else
-                {
-                index = index - 1;
-                }
-            
-            for ( TInt i = index; i >= 0; i-- )
-                {
-                if ( !self->iPluginsData[i]->Occupied() )
-                    {
-                    toLoad = self->iPluginsData[i];
-                    break;
-                    }
-                }
-            }
-        
-        if ( !self->AllViewsLoaded() && toLoad )
-            {                       
-            toLoad->LoadL();            
-            }
-        
-        if ( self->AllViewsLoaded() )
-            {            
-            self->iLoadTimer->Cancel();            
-            }                    
-        }
-        
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::SetMaxPages( TInt32 aPages )
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnRootData::SetMaxPages( TInt32 aPages )
-    {
-    iMaxPages = aPages;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::MaxPages()
-// 
-// -----------------------------------------------------------------------------
-//
-TInt32 CXnRootData::MaxPages()
-    {
-    return iMaxPages;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnRootData::RunDestroyL()
-// 
-// -----------------------------------------------------------------------------
-//
-/* static */ TInt CXnRootData::RunDestroyL( TAny* aAny )
-    {
-    CXnRootData* self = static_cast< CXnRootData* >( aAny );
-    
-    if( self->iFlags.IsSet( EIsDispose ) )
-        {
-        for ( TInt i = 0; i < self->iViewsToDestroy.Count(); i++ )
-            {            
-            if ( self->iPluginsData.Find( 
-                self->iViewsToDestroy[i] ) == KErrNotFound )
-                {
-                // These must be deleted also
-                self->iPluginsData.AppendL( self->iViewsToDestroy[i] );
-                }            
-            }
-        
-        self->iViewsToDestroy.Reset();
-        
-        if ( self->iPluginsData.Count() > 0 )
-            {
-            CXnPluginData* toDestroy( self->iPluginsData[0] );
-            
-            delete toDestroy;
-            toDestroy = NULL;
-            
-            self->iPluginsData.Remove( 0 );
-
-            User::Heap().Compress();            
-            }
-        
-        if ( self->AllViewsDestroyed() )
-            {
-            // All done
-            delete self;
-            }                
-        }
-    else
-        {
-        if ( self->iViewsToDestroy.Count() > 0 )
-            {
-            CXnPluginData* toDestroy( self->iViewsToDestroy[0] );
-            
-            delete toDestroy;
-            toDestroy = NULL;
-            
-            self->iViewsToDestroy.Remove( 0 );
-
-            User::Heap().Compress();                                              
-            }
-        
-        if ( self->iViewsToDestroy.Count() == 0 )
-            {
-            if ( self->iFlags.IsClear( EIsDispose ) )
-                {
-                self->iDestroyTimer->Cancel();
-                }            
-            }
-        }
-    
-    return KErrNone;
-    }
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xnscrollablecontroladapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,477 +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:
-*
-*/
-
-//  System includes
-#include <e32base.h>
-#include <e32const.h>
-#include <coecntrl.h>
-#include <coemain.h>
-#include <aknphysics.h>
-
-// User includes
-#include "xncontroladapter.h"
-#include "xnuiengine.h"
-#include "xnnode.h"
-#include "xnnodepluginif.h"
-#include "xnproperty.h"
-
-#include "xnscrollablecontroladapter.h"
-
-// Constants
-const TInt KOffset( 25 );
-
-_LIT8(KViewportHeight, "viewport-height");
-_LIT8(KViewportWidth, "viewport-width");
-_LIT8(KViewportTop, "viewport-top");
-_LIT8(KViewportLeft, "viewport-left");
-_LIT8(KScrollDirection, "scroll-direction");                         
-_LIT8(KHorizontal, "horizontal");
-
-const TInt EVertical( 0 );
-const TInt EHorizontal( 1 );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::NewL
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-CXnScrollableControlAdapter* CXnScrollableControlAdapter::NewL( 
-    CXnNodePluginIf& aNode )
-    {
-    CXnScrollableControlAdapter* self = 
-        new ( ELeave ) CXnScrollableControlAdapter( aNode );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::~CXnScrollableControlAdapter
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnScrollableControlAdapter::~CXnScrollableControlAdapter()
-    {
-    delete iPhysics;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::CXnScrollableControlAdapter
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-CXnScrollableControlAdapter::CXnScrollableControlAdapter( CXnNodePluginIf& aNode )
-    : iNode( aNode ), iStartPosition( 0, 0), iPreviousPosition( 0, 0 ), 
-    iCurrentPosition( 0, 0 ), iLayoutChanged( EFalse )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::ConstructL
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//    
-void CXnScrollableControlAdapter::ConstructL()
-    {
-    CXnControlAdapter::ConstructL( iNode );
-    SetControlContext( this );
-    SetHitTest( this );
-    iUiEngine = iNode.Node().UiEngine();
-    
-    iNode.Node().SetScrollableControl( this );
-    
-    // Default
-    iDirection = EVertical;
-    
-    CXnProperty* prop( iNode.GetPropertyL( KScrollDirection ) );
-    
-    if ( prop && prop->StringValue() == KHorizontal )
-        {
-        iDirection = EHorizontal;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::HandlePointerEventL
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnScrollableControlAdapter::HandlePointerEventL( 
-    const TPointerEvent& aPointerEvent )
-    {
-    if( !iPhysics )
-        {
-        return;
-        }
-    
-    TPoint stylusPos( aPointerEvent.iPosition );
-    
-    switch( aPointerEvent.iType )
-        {
-        case TPointerEvent::EButton1Down:
-            {
-            iPhysics->StopPhysics();
-            iPhysics->ResetFriction();
-            iStartPosition = stylusPos;
-            iStartTime.HomeTime();
-            iPreviousPosition = iCurrentPosition;
-            iStylusPosition = stylusPos;
-            }
-            break;            
-        case TPointerEvent::EButton1Up:
-            {                                                        
-            TInt distanceY( iStartPosition.iY - stylusPos.iY );                                              
-            TInt distanceX( iStartPosition.iX - stylusPos.iX );
-            
-            TPoint drag( distanceX, distanceY );
-            iPhysics->StartPhysics( drag, iStartTime );                                
-            }
-            break; 
-        case TPointerEvent::EDrag:        
-            {
-            TPoint distanceFromStart( iStartPosition - stylusPos );
-
-            if( ( Abs( distanceFromStart.iY ) > KOffset && iDirection == EVertical ) || 
-                ( Abs( distanceFromStart.iX ) > KOffset && iDirection == EHorizontal ) )                 
-                {
-                CXnNode* focused( iUiEngine->FocusedNode() );
-                
-                if ( focused )
-                    {
-                    // Remove pressed down
-                    focused->UnsetStateL( 
-                        XnPropertyNames::style::common::KPressedDown );
-                    focused->HideTooltipsL();                                
-                    }
-                }
-            
-            TInt deltaY( iStylusPosition.iY - stylusPos.iY );
-            TInt deltaX( iStylusPosition.iX - stylusPos.iX );
-            
-            iStylusPosition = stylusPos;
-            
-            TPoint deltaPoint( deltaX, deltaY );
-            
-            iPhysics->RegisterPanningPosition( deltaPoint );
-            }
-            break;
-        default:                
-            break;                
-        }
- 
-    CXnControlAdapter::HandlePointerEventL( aPointerEvent );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::Draw
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnScrollableControlAdapter::Draw( const TRect& aRect ) const
-    {
-    CXnControlAdapter::Draw( aRect );           
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::SizeChanged
-// 
-// -----------------------------------------------------------------------------
-void CXnScrollableControlAdapter::SizeChanged()
-    {
-    TRAP_IGNORE(         
-        ReadPropertiesL();
-        InitPhysicEngineL(); ); 
-        
-    CXnControlAdapter::SizeChanged();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::MakeVisible
-// 
-// -----------------------------------------------------------------------------
-// 
-void CXnScrollableControlAdapter::MakeVisible( TBool aVisible )
-    {
-    TBool visible( IsVisible() ? ETrue : EFalse );
-    
-    if ( visible == aVisible )
-        {
-        return;
-        }
-    
-    if( aVisible )
-        {
-        TRAP_IGNORE( InitPhysicEngineL() );
-        }
-    
-    CCoeControl::MakeVisible( aVisible );            
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::HitRegionContains
-// 
-// -----------------------------------------------------------------------------
-// 
-TBool CXnScrollableControlAdapter::HitRegionContains( const TPoint& aPoint, 
-    const CCoeControl& /*aControl*/) const
-    {
-    return iViewPort.Contains( aPoint );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::HandleScreenDeviceChangedL
-// 
-// -----------------------------------------------------------------------------
-void CXnScrollableControlAdapter::HandleScreenDeviceChangedL()
-    {
-    // The new layout has not been calculated yet. 
-    // Therefore we need to read new propertues and initialise engine when LayoutChagedL() is called next time.
-    iLayoutChanged = ETrue;
-    CXnControlAdapter::HandleScreenDeviceChangedL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::DeltaPosition
-// 
-// -----------------------------------------------------------------------------
-const TPoint CXnScrollableControlAdapter::DeltaPosition() const
-    {
-    return iStartViewPosition - iCurrentPosition;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::ResetState
-// 
-// -----------------------------------------------------------------------------
-void CXnScrollableControlAdapter::ResetState()
-    {
-    iStartViewPosition = TPoint( 0, 0 );
-    iCurrentPosition = TPoint( 0, 0 );
-    iPreviousPosition = TPoint( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::ShowItem
-// 
-// -----------------------------------------------------------------------------
-void CXnScrollableControlAdapter::ShowItem( CXnNode& aNode )
-    {
-    TRect rect( aNode.MarginRect() );
-    
-    if( !iViewPort.Contains( rect.iTl ) || !iViewPort.Contains( rect.iBr ) )
-        {
-        if ( iDirection == EVertical )
-            {                            
-            TInt delta( 0 );
-
-            if( rect.iTl.iY < iViewPort.iTl.iY )
-                {
-                delta = rect.iTl.iY - iViewPort.iTl.iY;
-                }
-            else if( rect.iBr.iY > iViewPort.iBr.iY )
-                {
-                delta = rect.iBr.iY - iViewPort.iBr.iY;
-                }
-            
-            TPoint newPosition( iPreviousPosition + TPoint( 0, delta ) );
-            
-            ViewPositionChanged( newPosition, ETrue, 0 );
-            }
-        else
-            {
-            TInt delta( 0 );
-            
-            if( rect.iTl.iX < iViewPort.iTl.iX )
-                {
-                delta = rect.iTl.iX - iViewPort.iTl.iX;
-                }
-            else if( rect.iBr.iX > iViewPort.iBr.iX )
-                {
-                delta = rect.iBr.iX - iViewPort.iBr.iX;
-                }
-            
-            TPoint newPosition( iPreviousPosition + TPoint( delta, 0 ) );
-            
-            ViewPositionChanged( newPosition, ETrue, 0 );            
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnScrollableControlAdapter::LayoutChangedL
-// 
-// -----------------------------------------------------------------------------
-void CXnScrollableControlAdapter::LayoutChangedL()
-    {
-    if( iLayoutChanged )
-        {
-        iLayoutChanged = EFalse;
-        ReadPropertiesL();
-        InitPhysicEngineL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CXnScrollableControlAdapter::ViewPositionChanged
-// ---------------------------------------------------------------------------
-//
-void CXnScrollableControlAdapter::ViewPositionChanged( 
-    const TPoint& aNewPosition, TBool aDrawNow, TUint /*aFlags*/ )
-    {
-    TPoint diff;
-    
-    if ( iDirection == EVertical )
-        {
-        diff = TPoint( 0, aNewPosition.iY - iPreviousPosition.iY );
-        }
-    else
-        {
-        diff = TPoint( aNewPosition.iX - iPreviousPosition.iX, 0 );
-        }
-    
-    iPreviousPosition = aNewPosition;
-    iCurrentPosition += diff;
-    TPoint tmpPos = iNode.Control()->Position();
-    tmpPos -= diff;
-    iNode.Control()->SetPosition( tmpPos );
-    if( aDrawNow )
-        {
-        DrawNow( iViewPort );    
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CXnScrollableControlAdapter::PhysicEmulationEnded
-// ---------------------------------------------------------------------------
-//    
-void CXnScrollableControlAdapter::PhysicEmulationEnded()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CXnScrollableControlAdapter::ViewPosition
-// ---------------------------------------------------------------------------
-//    
-TPoint CXnScrollableControlAdapter::ViewPosition() const
-    {
-    return iCurrentPosition;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnScrollableControlAdapter::ResetContext
-// ---------------------------------------------------------------------------
-//    
-void CXnScrollableControlAdapter::ResetContext( CWindowGc& aGc ) const
-    {
-    aGc.Reset();
-    aGc.SetClippingRect( iViewPort );
-    }
-
-// ---------------------------------------------------------------------------
-// CXnScrollableControlAdapter::InitPhysicEngineL
-// ---------------------------------------------------------------------------
-//    
-void CXnScrollableControlAdapter::InitPhysicEngineL()
-    {
-    // Init physic engine
-    if ( !iPhysics && CAknPhysics::FeatureEnabled() )
-        {
-        iPhysics = CAknPhysics::NewL( *this, this );
-        }
-    if( !iPhysics )
-        {
-        return;
-        }
-    TSize viewPortSize = iViewPort.Size();
-    TSize totalSize( iNode.Rect().Size() );
-    
-    if ( iDirection == EVertical )
-        {
-        iPhysics->InitPhysicsL( totalSize, viewPortSize, EFalse );
-        }
-    else
-        {
-        iPhysics->InitPhysicsL( totalSize, viewPortSize, ETrue );
-        }
-    
-    
-    iCurrentPosition = 
-        TPoint( viewPortSize.iWidth / 2, viewPortSize.iHeight / 2 ); 
-                  
-    iPreviousPosition = iStartViewPosition =  iCurrentPosition;
-    }
-
-// ---------------------------------------------------------------------------
-// CXnScrollableControlAdapter::ReadPropertiesL
-// ---------------------------------------------------------------------------
-//    
-void CXnScrollableControlAdapter::ReadPropertiesL()
-    {
-    TInt width( 0 );
-    TInt height( 0 );
-    TInt top( 0 );
-    TInt left( 0 );
-
-    CXnNode& node( iNode.Node() );
-    
-    // Width
-    CXnProperty* prop = iNode.GetPropertyL( KViewportWidth );
-    if( prop )
-        {
-        width = iUiEngine->HorizontalPixelValueL(
-            prop, iNode.Rect().Width() );
-        }
-    if( width == 0 )
-        {
-        width = node.Parent()->Rect().Width();
-        }
-
-    // Height
-    prop = iNode.GetPropertyL( KViewportHeight );
-    if( prop )
-        {
-        height = iUiEngine->VerticalPixelValueL(
-            prop, iNode.Rect().Height() );
-        }
-    if( height == 0 )
-        {
-        height = node.Parent()->Rect().Height();
-        }
-
-    // Top
-    prop = iNode.GetPropertyL( KViewportTop );
-    if( prop )
-        {
-        top = iUiEngine->VerticalPixelValueL(
-            prop, iNode.Rect().Height() );
-        }
-
-    // Left
-    prop = iNode.GetPropertyL( KViewportLeft );
-    if( prop )
-        {
-        left = iUiEngine->HorizontalPixelValueL(
-            prop, iNode.Rect().Width() );
-        }
-
-    iViewPort = TRect( iNode.Rect().iTl, TSize( width, height ) );
-    iViewPort.Move( left, top );
-    }
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengine.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,547 +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:  UI Engine class
-*
-*/
-
-// User includes
-#include "xnuiengine.h"
-#include "xnuienginepluginif.h"
-#include "xnuiengineappif.h"
-#include "xnuiengineimpl.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::CXnUiEngine
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnUiEngine::CXnUiEngine()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::ConstructL
-// Symbian 2nd phase constructor can leave
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::ConstructL( CXnAppUiAdapter& aAdapter )
-    {
-    iUiEngineImpl = CXnUiEngineImpl::NewL( *this, aAdapter );
-
-    iUiEngineImpl->ConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::NewL
-// Two-phased constructor
-// -----------------------------------------------------------------------------
-//
-CXnUiEngine* CXnUiEngine::NewL( CXnAppUiAdapter& aAdapter )
-    {
-    CXnUiEngine* self = new ( ELeave ) CXnUiEngine;
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aAdapter );
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::~CXnUiEngine
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXnUiEngine::~CXnUiEngine()
-    {
-    delete iUiEngineImpl;
-    delete iPluginIf;
-    delete iAppIf;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::AppUiAdapter
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnAppUiAdapter& CXnUiEngine::AppUiAdapter() const
-    {
-    return iUiEngineImpl->AppUiAdapter();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::RootNode
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngine::RootNode()
-    {
-    return iUiEngineImpl->RootNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::FindNodeByIdL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngine::FindNodeByIdL(
-        const TDesC& aAreaId, const TDesC& aNamespace )
-    {
-    return iUiEngineImpl->FindNodeByIdL( aAreaId, aNamespace );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::FindNodeByIdL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngine::FindNodeByIdL(
-        const TDesC8& aAreaId, const TDesC8& aNamespace )
-    {
-    return iUiEngineImpl->FindNodeByIdL( aAreaId, aNamespace );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::FindNodeByClassL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnPointerArray* CXnUiEngine::FindNodeByClassL( const TDesC& aClassId,
-    const TDesC& aNamespace )
-    {
-    return iUiEngineImpl->FindNodeByClassL( aClassId, aNamespace );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::FindNodeByClassL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnPointerArray* CXnUiEngine::FindNodeByClassL( const TDesC8& aClassId,
-    const TDesC8& aNamespace )
-    {
-    return iUiEngineImpl->FindNodeByClassL( aClassId, aNamespace );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::RenderUIL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::RenderUIL( CXnNode* aNode )
-    {
-    iUiEngineImpl->LayoutUIL( aNode );
-    iUiEngineImpl->RenderUIL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::LayoutUIL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::LayoutUIL( CXnNode* aNode )
-    {
-    iUiEngineImpl->LayoutUIL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::Resources
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CArrayPtrSeg< CXnResource >& CXnUiEngine::Resources()
-    {
-    return iUiEngineImpl->Resources();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::SetFocusedNodeL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::SetFocusedNodeL( CXnNode* aFocusedNode, TInt aSource )
-    {
-    iUiEngineImpl->SetFocusedNodeL( aFocusedNode, aSource );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::FocusedNode
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngine::FocusedNode()
-    {
-    return iUiEngineImpl->FocusedNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::IsEditMode
-// Returns ETrue if the current mode is edit, otherwise EFalse.
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngine::IsEditMode()
-    {
-    return iUiEngineImpl->IsEditMode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::ODT
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnODT* CXnUiEngine::ODT()
-    {
-    return iUiEngineImpl->ODT();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::VerticalPixelValueL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngine::VerticalPixelValueL(
-        CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return iUiEngineImpl->VerticalPixelValueL( aValue, aReferenceValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::HorizontalPixelValueL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngine::HorizontalPixelValueL(
-        CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return iUiEngineImpl->HorizontalPixelValueL( aValue, aReferenceValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::VerticalTwipValueL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngine::VerticalTwipValueL(
-        CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return iUiEngineImpl->VerticalTwipValueL( aValue, aReferenceValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::HorizontalTwipValueL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngine::HorizontalTwipValueL(
-        CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return iUiEngineImpl->HorizontalTwipValueL( aValue, aReferenceValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::ActivateViewL
-// Activate a view
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::ActivateViewL( CXnNode& /*aViewNode*/ )
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::ViewManager
-// -----------------------------------------------------------------------------
-//
-CXnViewManager* CXnUiEngine::ViewManager()
-    {
-    return iUiEngineImpl->ViewManager();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::ActiveView
-// Returns the active view
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngine::ActiveView()
-    {
-    return iUiEngineImpl->ActiveView();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::RefreshMenuL
-// Refresh current menu
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::RefreshMenuL()
-    {
-    iUiEngineImpl->RefreshMenuL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::AddDirtyNodeL
-// Add a dirty node
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::AddDirtyNodeL( CXnNode* aNode, TInt aLevel )
-    {
-    iUiEngineImpl->AddDirtyNodeL( aNode, aLevel );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::PluginIfL
-// Get plugin interface
-// -----------------------------------------------------------------------------
-//
-TXnUiEnginePluginIf& CXnUiEngine::PluginIfL()
-    {
-    if ( iPluginIf )
-        {
-        return *iPluginIf;
-        }
-    else
-        {
-        iPluginIf = new ( ELeave ) TXnUiEnginePluginIf( *this );
-        return *iPluginIf;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::AppIfL
-// Get application interface
-// -----------------------------------------------------------------------------
-//
-TXnUiEngineAppIf& CXnUiEngine::AppIfL()
-    {
-    if ( iAppIf )
-        {
-        return *iAppIf;
-        }
-    else
-        {
-        iAppIf = new ( ELeave ) TXnUiEngineAppIf( *this );
-        return *iAppIf;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::ScreenDeviceSize
-// Get the size of the current screen device
-// -----------------------------------------------------------------------------
-//
-TSize CXnUiEngine::ScreenDeviceSize() const
-    {
-    return iUiEngineImpl->ScreenDeviceSize();        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::IsDialogDisplaying
-// Checks whether the dialog is displaying or not
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngine::IsDialogDisplaying()
-    {
-    return iUiEngineImpl->IsDialogDisplaying();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::IsMenuDisplaying
-// Checks whether the menu is displaying or not
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngine::IsMenuDisplaying()
-    {
-    return iUiEngineImpl->IsMenuDisplaying();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::MenuBarNode
-// Returns menubar node
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngine::MenuBarNode() const
-    {
-    return iUiEngineImpl->MenuBarNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::StylusPopupNode
-// Returns stylus popup node
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngine::StylusPopupNode() const
-    {
-    return iUiEngineImpl->StylusPopupNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::AddPassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::AddPassiveFocusedNodeL( CXnNode* aNode )
-    {
-    iUiEngineImpl->AddPassiveFocusedNodeL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::RemovePassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::RemovePassiveFocusedNodeL( CXnNode* aNode )
-    {
-    iUiEngineImpl->RemovePassiveFocusedNodeL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::AddPassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::ClearPassiveFocusedNodesL()
-    {
-    iUiEngineImpl->ClearPassiveFocusedNodesL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::SetClientRectL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::SetClientRectL( TRect aRect, TBool aDrawNow )
-    {
-    return iUiEngineImpl->SetClientRectL( aRect, aDrawNow );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::ClientRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnUiEngine::ClientRect() const
-    {
-    return iUiEngineImpl->ClientRect();
-    } 
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::SetNodeDroppedL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::SetNodeDroppedL( CXnNode& aNode, TInt aDropped ) const
-    {
-    iUiEngineImpl->SetNodeDroppedL( aNode, aDropped );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::CheckAdaptiveContentL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::CheckAdaptiveContentL(
-    CXnNode& aNode, TSize aAvailableSize ) const
-    {
-    iUiEngineImpl->CheckAdaptiveContentL( aNode, aAvailableSize );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::AddFocusCandidateL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::AddFocusCandidateL( CXnNode* aNode )
-    {
-    iUiEngineImpl->AddFocusCandidateL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::Editor
-// -----------------------------------------------------------------------------
-//
-CXnEditor* CXnUiEngine::Editor() const
-    {
-    return iUiEngineImpl->Editor();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::EditMode
-// -----------------------------------------------------------------------------
-//
-CXnEditMode* CXnUiEngine::EditMode()
-    {
-    return iUiEngineImpl->EditMode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::Plugins
-// -----------------------------------------------------------------------------
-//
-RPointerArray< CXnNode >* CXnUiEngine::Plugins()
-    {
-    return iUiEngineImpl->Plugins();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::HitTest
-// -----------------------------------------------------------------------------
-//
-CXnHitTest& CXnUiEngine::HitTest() const
-    {
-    return iUiEngineImpl->HitTest();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::PositionStylusPopupL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngine::PositionStylusPopupL( CXnNode& aNode,
-    CXnNode& aReference, const TPoint& aPosition )
-    {
-    iUiEngineImpl->PositionStylusPopupL( aNode, aReference, aPosition );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::GetThemeResource
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngine::GetThemeResource( const TDesC& aPath, RFile& aFile )
-    {
-    return iUiEngineImpl->GetThemeResource( aPath, aFile );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::AnalyseAddedWidgetL
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngine::AnalyseAddedWidgetL( CXnNode& aNode )
-    {
-    return iUiEngineImpl->AnalyseAddedWidgetL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//               
-void CXnUiEngine::DisableRenderUiLC()
-    {
-    iUiEngineImpl->DisableRenderUiLC();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//               
-void CXnUiEngine::SetEventDispatcher( CXnKeyEventDispatcher* aDispatcher )
-    {
-    iUiEngineImpl->SetEventDispatcher( aDispatcher );
-    }
-
-#ifndef EKA2
-GLDEF_C TInt  E32Dll( TDllReason )
-    {
-    return KErrNone;
-    }
-#endif
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengine.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-*
-*/
-
-
-// ========== RESOURCE IDENTIFIER =============================================
-
-NAME    XNAI
-
-// ========== INCLUDE FILES ===================================================
-
-#include <eikon.rh>
-#include <eikcore.rsg>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <e32keys.h>
-#include <activeidle3.loc>
-// ========== RESOURCE DEFINITIONS ============================================
-
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf = ""; }
-
-// Select widget-dialog
-RESOURCE AVKON_LIST_QUERY r_listquery_add_widget
-    {
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                heading = qtn_hs_select_widget;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    // dynamically filled
-                    };
-                };
-            }
-        };
-    softkeys = R_AVKON_SOFTKEYS_SELECT_BACK;
-    }
-
-
-// xml listquery dialog
-RESOURCE AVKON_LIST_QUERY r_xml_listquery
-    {
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                // heading = dynamically filled
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    // dynamically filled
-                    };
-                };
-            }
-        };
-    softkeys = R_AVKON_SOFTKEYS_SELECT_BACK;
-    }
-
-RESOURCE TBUF r_qtn_hs_add_widget_full
-  {
-  buf = qtn_hs_add_widget_full;
-  }
-
-RESOURCE TBUF r_qtn_hs_error_widgets_removed
-    {
-    buf = qtn_hs_error_widgets_removed;
-    }
-
-RESOURCE TBUF r_qtn_hs_hs_memory_full
-    {
-    buf = qtn_hs_hs_memory_full;
-    }
-
-RESOURCE TBUF r_qtn_hs_max_amount_of_pages_note 
-    { 
-    buf = qtn_hs_max_amount_of_pages_note; 
-    } 
-
-RESOURCE TBUF r_qtn_hs_delete_page 
-    { 
-    buf = qtn_hs_delete_current_page; 
-    }
-    
-RESOURCE TITLE_PANE r_qtn_hs_title_editmode 
-    { 
-    txt = qtn_hs_title_editing; 
-    }
-
-RESOURCE DIALOG r_yes_no_hs_remove_view 
-    { 
-    flags = EGeneralQueryFlags; 
-    buttons = R_AVKON_SOFTKEYS_YES_NO; 
-    items = 
-        { 
-        DLG_LINE 
-            { 
-            type = EAknCtQuery; 
-            id = EGeneralQuery; 
-            control = AVKON_CONFIRMATION_QUERY 
-                { 
-                layout = EConfirmationQueryLayout; 
-                label = qtn_hs_delete_current_page; 
-                }; 
-            } 
-        }; 
-    }
-
-RESOURCE ARRAY r_array_change_wallpaper
-    {
-    items =
-        {
-        LBUF {txt = qtn_hs_default; },
-        LBUF {txt = qtn_hs_image; }
-        };
-    }
-    
-// Change wallpaper-dialog
-RESOURCE AVKON_LIST_QUERY r_listquery_change_wallpaper
-    {
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                heading = qtn_hs_title_change_wallpaper;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_array_change_wallpaper;
-                    };
-                };
-            }
-        };
-    softkeys = R_AVKON_SOFTKEYS_SELECT_BACK;
-    }
-
-RESOURCE TBUF r_qtn_hs_operation_failed_no_disk 
-    { 
-    buf = qtn_hs_operation_failed_no_disk; 
-    }
-
-RESOURCE TBUF r_qtn_hs_corrupted_image_note 
-    {
-    buf = qtn_hs_corrupted_image_note; 
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengineappif.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,318 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Layout calculation and UI rendering mechanism implementations.
-*
-*/
-
-// User includes
-#include "xnuiengineappif.h"
-#include "xnuiengine.h"
-#include "xnnode.h"
-#include "xnodt.h"
-#include "xndomdocument.h"
-#include "xnpointerarray.h"
-#include "xneditor.h"
-#include "xnnodeappif.h"
-#include "xnviewdata.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::TXnUiEngineAppIf
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TXnUiEngineAppIf::TXnUiEngineAppIf( CXnUiEngine& aUiEngine )
-    {
-    iUiEngine = &aUiEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::RootNode
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodeAppIf& TXnUiEngineAppIf::RootNodeL()
-    {
-    return iUiEngine->RootNode()->AppIfL();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::FindNodeByIdL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodeAppIf* TXnUiEngineAppIf::FindNodeByIdL(
-    const TDesC& aNodeId,
-    const TDesC& aNamespace )
-    {
-    CXnNode* node( iUiEngine->FindNodeByIdL( aNodeId, aNamespace ) );
-
-    if ( node )
-        {
-        return &( node->AppIfL() );
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::FindNodeByIdL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodeAppIf* TXnUiEngineAppIf::FindNodeByIdL(
-    const TDesC8& aNodeId,
-    const TDesC8& aNamespace )
-    {
-    CXnNode* node( iUiEngine->FindNodeByIdL( aNodeId, aNamespace ) );
-
-    if ( node )
-        {
-        return &( node->AppIfL() );
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::FindNodeByClassL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray< CXnNodeAppIf > TXnUiEngineAppIf::FindNodeByClassL(
-    const TDesC& aClassId, const TDesC& aNamespace )
-    {
-    CXnPointerArray* array = iUiEngine->FindNodeByClassL(
-        aClassId, aNamespace );
-    CleanupStack::PushL( array );
-    RPointerArray< CXnNodeAppIf > interfaceArray;
-    CleanupClosePushL( interfaceArray );
-    const TInt count = array->Container().Count();
-    interfaceArray.ReserveL( count );
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnNode* node = static_cast< CXnNode* >( array->Container()[i] );
-        // Append cannot fail because ReserveL call before this loop has
-        // allocated the array buffer
-        interfaceArray.Append( &( node->AppIfL() ) );
-        }
-    CleanupStack::Pop( &interfaceArray );
-    CleanupStack::PopAndDestroy( array );
-    return interfaceArray;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::FindNodeByClassL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray< CXnNodeAppIf > TXnUiEngineAppIf::FindNodeByClassL(
-    const TDesC8& aClassId, const TDesC8& aNamespace )
-    {
-    CXnPointerArray* array = iUiEngine->FindNodeByClassL(
-        aClassId, aNamespace );
-    CleanupStack::PushL( array );
-    RPointerArray< CXnNodeAppIf > interfaceArray;
-    CleanupClosePushL( interfaceArray );
-    const TInt count = array->Container().Count();
-    interfaceArray.ReserveL( count );
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnNode* node = static_cast< CXnNode* >( array->Container()[i] );
-        // Append cannot fail because ReserveL call before this loop has
-        // allocated the array buffer
-        interfaceArray.Append( &( node->AppIfL() ) );
-        }
-    CleanupStack::Pop( &interfaceArray );
-    CleanupStack::PopAndDestroy( array );
-    return interfaceArray;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::FindNodeByClassL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray< CXnNodeAppIf > TXnUiEngineAppIf::FindContentSourceNodesL(
-    const TDesC8& aNamespace )
-    {
-    RPointerArray< CXnNodeAppIf > interfaceArray;
-    CleanupClosePushL( interfaceArray );
-
-    CXnViewManager* manager( iUiEngine->ViewManager() );
-
-    CXnPluginData* data( manager->ActiveViewData().Plugin( aNamespace ) );
-
-    if ( data )
-        {
-        RPointerArray< CXnNode > nodes;
-        CleanupClosePushL( nodes );
-
-        data->ContentSourceNodesL( nodes );
-
-        for ( TInt i = 0; i < nodes.Count(); i++ )
-            {
-            interfaceArray.AppendL( &nodes[i]->AppIfL() );
-            }
-
-        CleanupStack::PopAndDestroy( &nodes );
-        }
-
-    CleanupStack::Pop( &interfaceArray );
-
-    return interfaceArray;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::RenderUIL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEngineAppIf::RenderUIL( CXnNodeAppIf* aNode )
-    {
-    CXnNode* node = NULL;
-    if ( aNode != NULL )
-        {
-        node = &( aNode->Node() );
-        }
-    iUiEngine->RenderUIL( node );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::StringPool
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomStringPool& TXnUiEngineAppIf::StringPool()
-    {
-    return *iUiEngine->ODT()->DomDocument().StringPool();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::ActivateViewL
-// Activate a view
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEngineAppIf::ActivateViewL( CXnNodeAppIf& aViewNode )
-    {
-    iUiEngine->ActivateViewL( aViewNode.Node() );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::ActiveView
-// Return the active view
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodeAppIf* TXnUiEngineAppIf::ActiveView()
-    {
-    CXnNodeAppIf* ret( NULL );
-    TRAP_IGNORE( ret = &( iUiEngine->ActiveView()->AppIfL() ) );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::RefreshMenuL
-// Refresh current menu
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEngineAppIf::RefreshMenuL()
-    {
-    iUiEngine->RefreshMenuL();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::IsMenuDisplaying
-// Checks whether the menu is displaying or not.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool TXnUiEngineAppIf::IsMenuDisplaying()
-    {
-    return iUiEngine->IsMenuDisplaying();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt TXnUiEngineAppIf::GetPluginNodeArrayL(
-    RPointerArray< CXnNodeAppIf >& aArray )
-    {
-    aArray.Reset();
-    RPointerArray< CXnNode >* plugins = iUiEngine->Plugins();
-    if ( !plugins )
-        {
-        return 0;
-        }
-    TInt count( plugins->Count() );
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnNode* tmp = ( *plugins )[i];
-        aArray.AppendL( &( tmp->AppIfL() ) );
-        }
-    return count;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::FocusedNode
-// Gets the currently focused node
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodeAppIf* TXnUiEngineAppIf::FocusedNode()
-    {
-    CXnNode* focused( iUiEngine->FocusedNode() );
-    CXnNodeAppIf* ret( NULL );
-
-    if ( focused )
-        {
-        TRAP_IGNORE( ret = &( focused->AppIfL() ) );
-        }
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEngineAppIf::IsEditMode
-// Returns ETrue if the current mode is edit, otherwise EFalse.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool TXnUiEngineAppIf::IsEditMode()
-    {
-    return ( iUiEngine->IsEditMode() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEngineAppIf::SetUiEngine( CXnUiEngine* aUiEngine )
-    {
-    iUiEngine = aUiEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt TXnUiEngineAppIf::GetThemeResource(
-    const TDesC& aPath, RFile& aFile )
-    {
-    return iUiEngine->GetThemeResource( aPath, aFile );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool TXnUiEngineAppIf::WidgetsVisible() const
-    {
-    return iUiEngine->Editor()->WidgetsVisible();
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10041 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Layout calculation and UI rendering mechanism implementations.
-*
-*/
-
-
-// System includes
-#include <utf.h>
-#include <eikapp.h>
-#include <AknUtils.h>
-#include <layoutmetadata.cdl.h>
-
-// User includes
-#include "xnuiengine.h"
-#include "xnuiengineimpl.h"
-#include "xnuistatelistener.h"
-#include "xnpointerarray.h"
-#include "xnodt.h"
-#include "xndomlist.h"
-#include "xndompropertyvalue.h"
-#include "xnmenuadapter.h"
-#include "xnpopupcontroladapter.h"
-#include "xnviewdata.h"
-#include "xnnodebreadthfirstiterator.h"
-#include "xntype.h"
-#include "xnnodepluginif.h"
-#include "xncomponentnodeimpl.h"
-#include "xnproperty.h"
-#include "xnappuiadapter.h"
-#include "xnviewadapter.h"
-#include "xnwidgetextensionadapter.h"
-#include "xnscrollablecontroladapter.h"
-#include "xnkeyeventdispatcher.h"
-#include <aknlayoutscalable_avkon.cdl.h>
-#include "xuikon_builds_cfg.hrh"
-#include "xndomdocument.h"
-#include "xndomnode.h"
-#include "xneditmode.h"
-#include "xnhittest.h"
-#include "xnnode.h"
-#include "xnpanic.h"
-#include "xneffectmanager.h"
-#include "xneditor.h"
-#include "xnbackgroundmanager.h"
-
-#ifdef _XN_PERFORMANCE_TEST_
-#include "xntimemon.h"
-#endif
-
-#ifdef _XN3_DEBUG_
-#include "xndepthfirsttreeiterator.h" // for TraceTreeL
-#endif
-
-
-// CONSTANTS
-const TInt KXnBorderThin = 1;
-const TInt KXnBorderMedium = 3;
-const TInt KXnBorderThick = 5;
-const TInt KXnStackPriorityKeyEventDispatcher = 55;
-const TInt KFocusGrowValue = 3;
-
-_LIT8( KBoxNodeName, "box" );
-_LIT8( KButtonNodeName, "button" );
-_LIT8( KWidgetNodeName, "widget" );
-_LIT8( KWidgetExtensionNodeName, "widgetextension" );
-_LIT8( KScrollableBoxNodeName, "scrollablebox" );
-_LIT8( KMenuBar, "menubar" );
-_LIT8( KPopUpNodeName, "popup" );
-
-_LIT8( KPlugin, "plugin" );
-
-// LOCAL CONSTANTS AND MACROS
-static const TReal KIntConversionConstant = 0.5;
-static const TReal KIntPercentageConstant =
-    static_cast< TReal >( 1 ) / static_cast< TReal >( 100 );
-static const TReal KInchesAsTwips = 1440;
-static const TReal KCentimetersAsInches = static_cast< TReal >( 1 ) / 2.54;
-static const TReal KCentimetersAsTwips = KCentimetersAsInches * KInchesAsTwips;
-static const TReal KMillimetersAsInches =
-    KCentimetersAsInches / static_cast< TReal >( 10 );
-static const TReal KMillimetersAsTwips = KMillimetersAsInches * KInchesAsTwips;
-static const TReal KPointsAsInches =
-    static_cast< TReal >( 1 ) / static_cast< TReal >( 72 );
-static const TReal KPointsAsTwips = KPointsAsInches * KInchesAsTwips;
-static const TReal KPicasAsInches =
-    KPointsAsInches / static_cast< TReal >( 12 );
-static const TReal KPicasAsTwips = KPicasAsInches * KInchesAsTwips;
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-static TRect AddRect( const TRect& aOriginal, const TRect& aAdded );
-static TRect SubtractRect( const TRect& aOriginal, const TRect& aSubtracter );
-static TSize AutoStaticBTL( CXnNode& aNode, TInt aWidthToFit,
-    TInt aHeightToFit, RArray< TPtrC8 >& aAutoProperties,
-    TRect& aParentRect, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static TSize AutoStaticLRL( CXnNode& aNode, TInt aWidthToFit,
-    TInt aHeightToFit, RArray< TPtrC8 >& aAutoProperties,
-    TRect& aParentRect, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static TSize AutoStaticRLL( CXnNode& aNode, TInt aWidthToFit,
-    TInt aHeightToFit, RArray< TPtrC8 >& aAutoProperties,
-    TRect& aParentRect, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static TSize AutoStaticTBL( CXnNode& aNode, TInt aWidthToFit,
-    TInt aHeightToFit, RArray< TPtrC8 >& aAutoProperties,
-    TRect& aParentRect, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static void CalculateAbsolutePositionsL( CXnNode& aNode,
-    TRect& aParentRect, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static void CalculateBorderL( CXnNode& aNode,
-    TRect& aParentRect, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static void CalculateMarginL( CXnNode& aParent, CXnNode& aNode,
-    CXnNode* aPreviousSibling, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels, TInt& aColumnWidth, TInt& aColumnMargin );
-static void CalculatePaddingL( const TRect& aParentRect, CXnNode& aNode,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-
-static void CalculateRectL( CXnNode& aNode, CXnNode& aParent,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-
-static void CalculateRelativePositionsL( const TRect& aRect, CXnNode& aNode,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-static TSize CalculateSpaceUsedByChildrenL( RPointerArray< CXnNode >& aChildren,
-    CXnNode& aNode, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, CGraphicsDevice& aScreenDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-
-static TSize CalculateTotalDimensionsL( CXnNode& aNode, TBool aIgnoreAutoValues,
-    TBool aIgnoreMinSizes, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-static TBool CutOnePixelFromPercentChildNodeL( CXnNode& aNode,
-    const TDesC8& aParentBlockProgression );
-static void DetermineBorderWidthsL( CXnProperty* aBorderWidthProperty,
-    TInt& aBordervertical, TInt& aBorderhorizontal,
-    TRect& aParentRect, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static TInt DisplayedChildrenCountL( CXnNode& aNode,
-    RPointerArray< CXnNode >* aDisplayedChildren = NULL );
-static CXnNode* DisplayedParentL( CXnNode& aNode );
-static CXnDomPropertyValue* DomPropertyValueFromProperty(
-    CXnProperty* aProperty );
-static void DropExceedingRectL( const TRect& aParentRect, CXnNode& aNode,
-    TBool aDropRelativeNode = EFalse );
-static TBool CalculateExceedingArea( CXnNode& aParent, CXnNode& aChild,
-    TInt& aLeftOffset, TInt& aRightOffset, TInt& aTopOffset,
-    TInt& aBottomOffset );
-static void AdjustRectsL( CXnNode& aNode, TInt aLeftOffset, TInt aRightOffset,
-    TInt aTopOffset, TInt aBottomOffset );
-static void ClearRects( CXnNode& aNode, TBool aRecurse = EFalse );
-static void FitChildrenIntoParentL( CXnNode& aNode,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-static TInt GetPositionL( CXnNode& aNode, 
-    const TDesC8& aParentBlockProgression, const TDesC8& aParentDirection );
-static TInt HasNodeAutoValuesL( CXnNode& aNode );
-static TInt HasNodeHorizontalAutoValuesL( CXnNode& aNode );
-static TInt HasNodeVerticalAutoValuesL( CXnNode& aNode );
-static TBool HasNodeMinSizesL( CXnNode& aNode );
-static TBool HasNodeMaxSizesL( CXnNode& aNode );
-static TInt HorizontalPixelValueL( CXnProperty* aValue, TInt aReferenceValue,
-    CGraphicsDevice& aScreenDevice, TReal aHorizontalUnitInPixels );
-static TInt HorizontalValueToPixelsL( CXnDomPropertyValue* aValue,
-    TReal aReferenceValue, CGraphicsDevice& aScreenDevice,
-    TReal aHorizontalUnitInPixels );
-static void GrowToMinSizeL( CXnNode& aNode, TRect& aParentRect,
-    CGraphicsDevice& aScreenDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-static void ShrinkToMaxSizeL( CXnNode& aNode, TRect& aParentRect,
-    CGraphicsDevice& aScreenDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-static TBool IsAbsoluteL( CXnNode& aNode );
-static TBool IsLargerThanMaxSizeL( const TRect& aParentRect, CXnNode& aNode,
-    CGraphicsDevice& aScreenDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-static TBool IsNodeDisplayedL( CXnNode& aNode );
-
-static TBool IsNodeTooltip( CXnNode& aNode );
-static TBool IsPropertyAutoL( CXnProperty& aProperty );
-static TBool IsPropertyNone( CXnProperty& aProperty );
-static TBool IsRelativeL( CXnNode& aNode );
-static TBool IsSmallerThanMinSizeL( const TRect& aParentRect, CXnNode& aNode,
-    CGraphicsDevice& aScreenDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-static TBool IsValuePercentageL( CXnProperty& aProperty );
-static TInt PercentageToPixelsL( TReal& aPercentage, TReal aReferenceValue );
-static void PlaceAreasL( CXnNode& aNode,
-    RPointerArray< CXnNode >& aLaidOutList,
-    TInt aLayoutPhase, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static void PriorizeChildrenL( CXnNode& aNode );
-static void CalculateAutoPropertiesOfNodesL(
-    RPointerArray< CXnNode >* aAutoNodeArray, TInt& aWidthAutoCount,
-    TInt& aHeightAutoCount );
-static void ProcessAutoAreasL( CXnNode& aParentNode,
-    RPointerArray< CXnNode >* aArray, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels );
-static void CalculateCollapseMarginsL( RPointerArray< CXnNode >& aChildren,
-    RArray< TInt >& aCollapsedMarginsWidth, 
-    RArray< TInt >& aCollapsedMarginsHeight,
-    const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection );
-static TSize CalculateSpaceUsedByAutoChildrenL(
-    RPointerArray< CXnNode >& aAutoChildren,
-    RPointerArray< CXnNode >& aCalculatedAutoChildren,
-    CXnNode& aParent,
-    const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection,
-    CGraphicsDevice& aScreenDevice );
-static void MoveAutoAreaL( TRect& parentRect,
-    RPointerArray< CXnNode >& aChildren,
-    const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection );
-static TSize ScaleAutoAreaL( CXnNode& aNode, TInt aWidthToFit,
-    TInt aHeightToFit, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-static void FitAutoChildrenIntoParentL( RPointerArray< CXnNode >& aAutoChildren,
-    RPointerArray< CXnNode >& aCalculatedAutoChildren, CXnNode& aParent,
-    const TDesC8& aParentBlockProgression, const TDesC8& aParentDirection,
-    CGraphicsDevice& aGraphicsDevice );
-static TInt VerticalPixelValueL( CXnProperty* aValue, TInt aReferenceValue,
-    CGraphicsDevice& aScreenDevice, TReal aVerticalUnitInPixels );
-static TInt VerticalValueToPixelsL( CXnDomPropertyValue* aValue,
-    TReal aReferenceValue, CGraphicsDevice& aScreenDevice,
-    TReal aVerticalUnitInPixels );
-static TBool IsStringValueL( CXnProperty& aProperty );
-static TInt HorizontalUnitsToPixelsL( TReal aUnits,
-    TReal aHorizontalUnitInPixels );
-static TInt VerticalUnitsToPixelsL( TReal aUnits, TReal aVerticalUnitInPixels );
-static void ProcessAdaptiveAreasL( CXnNode& aParent,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-
-static void CalculateAdaptiveSizeL( CXnNode& aNode,
-    const TDesC8& aParentBlockProgression, const TDesC8& aParentDirection,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels );
-
-static CXnNode* BuildTriggerNodeLC( CXnUiEngine& aUiEngine,
-    const TDesC8& aTriggerName );
-static void UpdateInternalUnits( TReal&  aHorizontalUnitInPixels,
-    TReal& aVerticalUnitInPixels, TRect aRect );
-static CXnNode* BuildScreenDeviceChangeTriggerNodeLC(
-    CXnUiEngine& aUiEngine );
-static void FillFocusCandidatesL( CXnNode* aParent,
-    RPointerArray< CXnNode >& aArray );
-static TInt DetermineStatusPaneLayout( CXnProperty* aProperty );
-static TBool SetAdaptivesL( CXnNode& aNode );
-
-static void FindNodeByClassL( CXnNode* aRootNode, const TDesC8& aClassId,
-    CXnPointerArray& aArray, const TDesC8& aNamespace );
-static CXnNode* FindNodeByIdL( CXnNode* aRootNode, const TDesC8& aAreaId,
-    const TDesC8& aNamespace );
-
-#ifdef _XN3_DEBUG_
-static void TraceTreeL( CXnNode* aRootNode );
-#endif
-
-// ============================= LOCAL FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// GrowIfNeeded()
-// When a plugin is focused, the focus is a bit bigger than its control 
-// (this is a hack fix to get focus visible with WRT widgets).
-// Therefore we need to check if focused node is a plugin, 
-// or focused node has same size with its plugin, and grow dirty rect accordingly.
-// -----------------------------------------------------------------------------
-//
-static void GrowIfNeeded(CXnNode* aNode, TRect& aRect)
-    {
-    CXnNode* focusedNode(NULL);
-    for( CXnNode* node = aNode; node; node = node->Parent() )
-        {
-        if( node->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-            {
-            if( node->DomNode()->Name() == KPlugin )
-                {
-                CXnControlAdapter* adapter( node->Control() );
-                if(adapter)
-                    {
-                    aRect = adapter->Rect();
-                    aRect.Grow( KFocusGrowValue, KFocusGrowValue );
-                    }
-                break;
-                }
-            focusedNode = node;
-            }
-        else if( node->DomNode()->Name() == KPlugin )
-            {
-            if( focusedNode && focusedNode->MarginRect() == node->Rect() )
-                {
-                CXnControlAdapter* adapter( focusedNode->Control() );
-                if(adapter)
-                    {
-                    aRect = adapter->Rect();
-                    aRect.Grow( KFocusGrowValue, KFocusGrowValue );
-                    }
-                }
-            break;
-            }
-        }                            
-    }      
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-static TBool IsSrollableBox( CXnNode& aNode )
-    {
-    if( aNode.Type()->Type() == KScrollableBoxNodeName )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// FindNodeByClassL()
-// Finds recursively a node from current view by class
-// -----------------------------------------------------------------------------
-//
-static void FindNodeByClassL( CXnNode* aRootNode, const TDesC8& aClassId,
-    CXnPointerArray& aArray, const TDesC8& aNamespace )
-    {
-    ASSERT( aRootNode );
-    
-    if ( aNamespace != KNullDesC8 && aNamespace != aRootNode->Namespace() )
-        {
-        // Recursed to wrong namespace
-        return;
-        }
-            
-    CXnProperty* prop( aRootNode->ClassL() );
-    
-    if ( prop && prop->StringValue() == aClassId )
-        {
-        // Correct id found
-        if ( aNamespace == KNullDesC8 )
-            {
-            aArray.Container().AppendL( aRootNode );
-            }
-        else if ( aNamespace == aRootNode->DomNode()->Namespace() )
-            {
-            // Namespace is defined and this node is in that namespace 
-            // -> this is perfect match
-            aArray.Container().AppendL( aRootNode );
-            }        
-        }
-    
-    // Recurse children
-    RPointerArray< CXnNode >& children( aRootNode->Children() );
-    
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        FindNodeByClassL( children[i], aClassId, aArray, aNamespace );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// FindNodeByIdL()
-// Finds recursively a node from current view by id
-// -----------------------------------------------------------------------------
-//
-static CXnNode* FindNodeByIdL( CXnNode* aRootNode, const TDesC8& aAreaId,        
-    const TDesC8& aNamespace )
-    {
-    ASSERT( aRootNode );
-    
-    if ( aNamespace != KNullDesC8 && aNamespace != aRootNode->Namespace() )
-        {
-        // Recursed to wrong namespace
-        return NULL;
-        }
-                
-    CXnProperty* prop( aRootNode->IdL() );
-    
-    if ( prop && prop->StringValue() == aAreaId )
-        {
-        // Correct id found
-        if ( aNamespace == KNullDesC8 )
-            {
-            // No namespace defined, so this is the first found best match
-            return aRootNode;
-            }
-        else if ( aNamespace == aRootNode->DomNode()->Namespace() )
-            {
-            // Namespace is defined and this node is in that namespace 
-            // -> this is perfect match
-            return aRootNode;
-            }        
-        }
-        
-    // No match found, recurse children
-    RPointerArray< CXnNode >& children( aRootNode->Children() );
-    
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNode* retval( FindNodeByIdL( children[i], aAreaId, aNamespace ) );
-        
-        if ( retval )
-            {
-            return retval;
-            }
-        }
-    
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// AutoStaticVerticalBTL()
-// Calculate properties set to AUTO when positioning is static, layout vertical
-// and direction right-to-left
-// -----------------------------------------------------------------------------
-//
-static TSize AutoStaticBTL( CXnNode& aNode, TInt aWidthToFit, TInt aHeightToFit,
-    RArray< TPtrC8 >& aAutoProperties, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    // Static positioning, vertical, right to left
-    TBool horizontalMarginProcessed = EFalse;
-    TBool verticalMarginProcessed = EFalse;
-    TBool allVerticalValuesProcessed = EFalse;
-    TBool allHorizontalValuesProcessed = EFalse;
-
-    CXnProperty* maxHeightProperty = aNode.MaxHeightL();
-    CXnProperty* maxWidthProperty = aNode.MaxWidthL();
-    CXnProperty* minHeightProperty = aNode.MinHeightL();
-    CXnProperty* minWidthProperty = aNode.MinWidthL();
-
-    TRect contentRect( aNode.Rect() );
-    TRect paddingRect( aNode.PaddingRect() );
-    TRect borderRect( aNode.BorderRect() );
-    TRect marginRect( aNode.MarginRect() );
-    TRect normalFlowBorderRect( aNode.NormalFlowBorderRect() );
-
-    TSize size = CalculateTotalDimensionsL( aNode, EFalse, ETrue, aParentRect,
-        aGraphicsDevice, aHorizontalUnitInPixels, aVerticalUnitInPixels );
-
-    for ( TInt i = 0; i < aAutoProperties.Count(); i++ )
-        {
-        // search for height property
-        const TDesC8& attributeName = aAutoProperties[i];
-        if ( attributeName == XnPropertyNames::style::common::KHeight )
-            {
-            // height was AUTO, all other vertical auto values are 0
-            TInt newHeight = aHeightToFit - size.iHeight;
-
-            //  Calculate the difference so that it can be returned
-            TRect paddingRectDiff( SubtractRect( paddingRect, contentRect ) );
-            TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-            TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-            TRect normalFlowBorderRectDiff( SubtractRect ( normalFlowBorderRect,
-                contentRect ) );
-
-            // grow height to fill the void
-            contentRect.SetHeight( newHeight );
-            paddingRect = AddRect( contentRect, paddingRectDiff );
-            borderRect = AddRect( contentRect, borderRectDiff );
-            normalFlowBorderRect = AddRect( contentRect,
-                normalFlowBorderRectDiff );
-            marginRect = AddRect( contentRect, marginRectDiff );
-
-            size = TSize( size.iWidth, aHeightToFit );
-            }
-        }
-
-    // if exactly one value is AUTO, value is computed to make equality true
-    if ( aAutoProperties.Count() == 1 )
-        {
-        if ( !allHorizontalValuesProcessed )
-            {
-            const TDesC8& attributeName = aAutoProperties[0];
-            if ( attributeName == XnPropertyNames::style::common::KWidth )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                //  Calculate the difference so that it can be returned
-                TRect paddingRectDiff( SubtractRect( paddingRect,
-                    contentRect ) );
-                TRect borderRectDiff( SubtractRect( borderRect,
-                    contentRect ) );
-                TRect marginRectDiff( SubtractRect( marginRect,
-                    contentRect ) );
-                TRect normalFlowBorderRectDiff( SubtractRect(
-                    normalFlowBorderRect, contentRect ) );
-
-                // grow width to fill the void
-                contentRect.SetWidth( remainingWidth );
-                paddingRect = AddRect( contentRect, paddingRectDiff );
-                borderRect = AddRect( contentRect, borderRectDiff );
-                normalFlowBorderRect = AddRect( contentRect,
-                    normalFlowBorderRectDiff );
-                marginRect = AddRect( contentRect, marginRectDiff );
-
-                size = TSize( aWidthToFit, size.iHeight );
-                }
-
-            if ( attributeName ==
-                 XnPropertyNames::style::common::KMarginLeft )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                contentRect.Move( remainingWidth, 0 );
-                borderRect.Move( remainingWidth, 0 );
-                normalFlowBorderRect.Move( remainingWidth, 0 );
-                marginRect.Resize( remainingWidth, 0 );
-                paddingRect.Move( remainingWidth, 0 );
-                size = TSize( size.iWidth + remainingWidth, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginRight )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                marginRect.Resize( remainingWidth, 0 );
-                size = TSize( size.iWidth + remainingWidth, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginTop )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                marginRect.Resize( 0, remainingHeight );
-                marginRect.Move( 0, -remainingHeight );
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-
-            if ( attributeName == 
-                 XnPropertyNames::style::common::KMarginBottom )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                marginRect.Resize( 0, remainingHeight );
-                marginRect.Move( 0, -remainingHeight );
-                paddingRect.Move( 0, -remainingHeight );
-                borderRect.Move( 0, -remainingHeight );
-                normalFlowBorderRect.Move( 0, -remainingHeight );
-                contentRect.Move( 0, -remainingHeight );
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-            }
-        }
-    else
-        {
-        for ( TInt i = 0; i < aAutoProperties.Count(); i++ )
-            {
-            const TDesC8& attributeName = aAutoProperties[i];
-            if ( attributeName == XnPropertyNames::style::common::KWidth )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                //  Calculate the difference so that it can be returned
-                TRect paddingRectDiff( SubtractRect(
-                    paddingRect, contentRect ) );
-                TRect borderRectDiff( SubtractRect(
-                    borderRect, contentRect ) );
-                TRect marginRectDiff( SubtractRect(
-                    marginRect, contentRect ) );
-                TRect normalFlowBorderRectDiff( SubtractRect(
-                    normalFlowBorderRect, contentRect ) );
-
-                // grow width to fill the void
-                contentRect.SetWidth( remainingWidth );
-                paddingRect = AddRect( contentRect, paddingRectDiff );
-                borderRect = AddRect( contentRect, borderRectDiff );
-                normalFlowBorderRect = AddRect(
-                    contentRect, normalFlowBorderRectDiff );
-                marginRect = AddRect( contentRect, marginRectDiff );
-
-                size = TSize( aWidthToFit, size.iHeight );
-                }
-
-            // several auto properties
-            if ( attributeName == XnPropertyNames::style::common::KMarginLeft )
-                {
-                if ( !horizontalMarginProcessed )
-                    {
-                    // is right margin also set to AUTO?
-                    CXnProperty* rightMargin = aNode.MarginRightL();
-                    if ( rightMargin )
-                        {
-                        if ( IsPropertyAutoL( *rightMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( ( remainingWidth / 2 ), 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            borderRect.Move( ( remainingWidth / 2 ), 0 );
-                            normalFlowBorderRect.Move( (
-                                remainingWidth / 2 ), 0 );
-                            paddingRect.Move( remainingWidth / 2, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        else
-                            {
-                            // only left margin set to AUTO
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( ( remainingWidth ), 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            borderRect.Move( remainingWidth, 0 );
-                            normalFlowBorderRect.Move( remainingWidth, 0 );
-                            paddingRect.Move( remainingWidth, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        }
-                    }
-                }
-            if ( attributeName == XnPropertyNames::style::common::KMarginRight )
-                {
-                if ( !horizontalMarginProcessed )
-                    {
-                    // is left margin also set to AUTO?
-                    CXnProperty* leftMargin = aNode.MarginLeftL();
-                    if ( leftMargin )
-                        {
-                        if ( IsPropertyAutoL( *leftMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            contentRect.Move( remainingWidth / 2, 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            borderRect.Move( ( remainingWidth / 2 ), 0 );
-                            normalFlowBorderRect.Move( ( 
-                                remainingWidth / 2 ), 0 );
-                            paddingRect.Move( remainingWidth / 2, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        else
-                            {
-                            // only right margin set to AUTO
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            marginRect.Resize( remainingWidth, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        }
-                    }
-                }
-            if ( attributeName == XnPropertyNames::style::common::KMarginTop )
-                {
-                if ( !verticalMarginProcessed &&
-                     !allVerticalValuesProcessed )
-                    {
-                    // is bottom margin also set to AUTO?
-                    CXnProperty* bottomMargin = aNode.MarginBottomL();
-                    if ( bottomMargin )
-                        {
-                        if ( IsPropertyAutoL( *bottomMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            contentRect.Move( 0, remainingHeight / 2 );
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, ( remainingHeight / 2 ) );
-                            normalFlowBorderRect.Move(
-                                0, ( remainingHeight / 2 ) );
-                            paddingRect.Move( 0, remainingHeight / 2 );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        else
-                            {
-                            // only top margin set to AUTO
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            marginRect.Resize( 0, remainingHeight );
-                            marginRect.Move( 0, -remainingHeight );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        }
-                    }
-                }
-            if ( attributeName == 
-                 XnPropertyNames::style::common::KMarginBottom )
-                {
-                if ( !verticalMarginProcessed && !allVerticalValuesProcessed )
-                    {
-                    // is top margin also set to AUTO?
-                    CXnProperty* topMargin = aNode.MarginTopL();
-                    if ( topMargin )
-                        {
-                        if ( IsPropertyAutoL( *topMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingHeight =  aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            contentRect.Move( 0, -( remainingHeight / 2 ) );
-                            marginRect.Resize( 0, remainingHeight );
-                            marginRect.Move( 0, -remainingHeight );
-                            borderRect.Move( 0, -( remainingHeight / 2 ) );
-                            normalFlowBorderRect.Move(
-                                0, -( remainingHeight / 2 ) );
-                            paddingRect.Move( 0, -( remainingHeight / 2 ) );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        else
-                            {
-                            // only bottom margin set to AUTO
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            contentRect.Move( 0, -remainingHeight );
-                            marginRect.Resize( 0, remainingHeight );
-                            marginRect.Move( 0, -remainingHeight );
-                            borderRect.Move( 0, -remainingHeight );
-                            normalFlowBorderRect.Move(
-                                0, -remainingHeight );
-                            paddingRect.Move( 0, -remainingHeight );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    aNode.SetRect( contentRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetMarginRect( marginRect );
-    aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-    return contentRect.Size();
-    }
-
-// -----------------------------------------------------------------------------
-// AutoStaticLRL()
-// Calculate properties set to AUTO when positioning is static,
-// layout horizontal
-// and direction left-to-right
-// -----------------------------------------------------------------------------
-//
-static TSize AutoStaticLRL( CXnNode& aNode, TInt aWidthToFit, TInt aHeightToFit,
-    RArray< TPtrC8 >& aAutoProperties, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    // Static positioning, horizontal, left to right
-    TBool horizontalMarginProcessed = EFalse;
-    TBool verticalMarginProcessed = EFalse;
-    TBool allVerticalValuesProcessed = EFalse;
-    TBool allHorizontalValuesProcessed = EFalse;
-
-    CXnProperty* maxHeightProperty = aNode.MaxHeightL();
-    CXnProperty* maxWidthProperty = aNode.MaxWidthL();
-    CXnProperty* minHeightProperty = aNode.MinHeightL();
-    CXnProperty* minWidthProperty = aNode.MinWidthL();
-
-    TRect contentRect = aNode.Rect();
-    TRect paddingRect = aNode.PaddingRect();
-    TRect borderRect = aNode.BorderRect();
-    TRect marginRect = aNode.MarginRect();
-    TRect normalFlowBorderRect = aNode.NormalFlowBorderRect();
-    TSize size = CalculateTotalDimensionsL( aNode, EFalse, ETrue, aParentRect,
-        aGraphicsDevice, aHorizontalUnitInPixels, aVerticalUnitInPixels );
-
-    for ( TInt i = 0; i < aAutoProperties.Count(); i++ )
-        {
-        // search for width property
-        const TDesC8& attributeName = aAutoProperties[i];
-        if ( attributeName == XnPropertyNames::style::common::KWidth )
-            {
-            // width was AUTO, all other vertical auto values are 0
-            TInt newWidth = aWidthToFit - size.iWidth;
-
-            //  Calculate the difference so that it can be returned
-            TRect paddingRectDiff( SubtractRect( paddingRect, contentRect ) );
-            TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-            TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-            TRect normalFlowBorderRectDiff( SubtractRect( normalFlowBorderRect,
-                contentRect ) );
-
-            // grow width to fill the void
-            contentRect.SetWidth( newWidth );
-            paddingRect = AddRect( contentRect, paddingRectDiff );
-            borderRect = AddRect( contentRect, borderRectDiff );
-            normalFlowBorderRect = AddRect(
-                contentRect, normalFlowBorderRectDiff );
-            marginRect = AddRect( contentRect, marginRectDiff );
-
-            size = TSize( aWidthToFit, size.iHeight );
-            allHorizontalValuesProcessed = ETrue;
-            }
-        }
-
-        // if exactly one value is AUTO, value is computed to make equality true
-    if ( aAutoProperties.Count() == 1 )
-        {
-        if ( !allHorizontalValuesProcessed )
-            {
-            const TDesC8& attributeName = aAutoProperties[0];
-            if ( attributeName == XnPropertyNames::style::common::KHeight )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                //  Calculate the difference so that it can be returned
-                TRect paddingRectDiff( SubtractRect(
-                    paddingRect, contentRect ) );
-                TRect borderRectDiff( SubtractRect(
-                    borderRect, contentRect ) );
-                TRect marginRectDiff( SubtractRect(
-                    marginRect, contentRect ) );
-                TRect normalFlowBorderRectDiff( SubtractRect(
-                    normalFlowBorderRect, contentRect ) );
-
-                // grow height to fill the void
-                contentRect.SetHeight( remainingHeight );
-                paddingRect = AddRect( contentRect, paddingRectDiff );
-                borderRect = AddRect( contentRect, borderRectDiff );
-                normalFlowBorderRect = AddRect(
-                    contentRect, normalFlowBorderRectDiff );
-                marginRect = AddRect( contentRect, marginRectDiff );
-                size = TSize( size.iWidth, aHeightToFit );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginLeft )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                // move rect right to fill the void
-                contentRect.Move( remainingWidth, 0 );
-                paddingRect.Move( remainingWidth, 0 );
-                borderRect.Move( remainingWidth, 0 );
-                normalFlowBorderRect.Move( remainingWidth, 0 );
-                marginRect.Resize( remainingWidth, 0 );
-                size = TSize( size.iWidth + remainingWidth, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginRight )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                marginRect.Resize( remainingWidth, 0 );
-                size = TSize( size.iWidth + remainingWidth, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginTop )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                // move rect right to fill the void
-                contentRect.Move( 0, remainingHeight / 2 );
-                paddingRect.Move( 0, remainingHeight / 2 );
-                borderRect.Move( 0, remainingHeight / 2 );
-                normalFlowBorderRect.Move( 0, remainingHeight / 2 );
-                marginRect.Resize( 0, remainingHeight );
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-
-            if ( attributeName ==
-                 XnPropertyNames::style::common::KMarginBottom )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                marginRect.Resize( 0, remainingHeight );
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-            }
-        }
-    else
-        {
-        for ( TInt i = 0; i < aAutoProperties.Count(); i++ )
-            {
-            const TDesC8& attributeName = aAutoProperties[i];
-            if ( attributeName == XnPropertyNames::style::common::KHeight )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                //  Calculate the difference so that it can be returned
-                TRect paddingRectDiff( SubtractRect(
-                    paddingRect, contentRect ) );
-                TRect borderRectDiff( SubtractRect(
-                    borderRect, contentRect ) );
-                TRect marginRectDiff( SubtractRect(
-                    marginRect, contentRect ) );
-                TRect normalFlowBorderRectDiff( SubtractRect(
-                    normalFlowBorderRect, contentRect ) );
-
-                // grow height to fill the void
-                contentRect.SetHeight( remainingHeight );
-                paddingRect = AddRect( contentRect, paddingRectDiff );
-                borderRect = AddRect( contentRect, borderRectDiff );
-                normalFlowBorderRect = AddRect(
-                    contentRect, normalFlowBorderRectDiff );
-                marginRect = AddRect( contentRect, marginRectDiff );
-                size = TSize( size.iWidth, aHeightToFit );
-                }
-
-            // several auto properties
-            if ( attributeName == XnPropertyNames::style::common::KMarginLeft )
-                {
-                if ( !horizontalMarginProcessed )
-                    {
-                    // is right margin also set to AUTO?
-                    CXnProperty* rightMargin = aNode.MarginRightL();
-                    if ( rightMargin )
-                        {
-                        if ( IsPropertyAutoL( *rightMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( ( remainingWidth / 2 ), 0 );
-                            horizontalMarginProcessed = ETrue;
-                            marginRect.Resize( ( remainingWidth ), 0 );
-                            borderRect.Move( ( remainingWidth / 2 ), 0 );
-                            normalFlowBorderRect.Move( (
-                                remainingWidth / 2 ), 0 );
-                            paddingRect.Move( ( remainingWidth / 2 ), 0 );
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        else
-                            {
-                            // only left margin set to AUTO
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( remainingWidth, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            marginRect.Move( remainingWidth, 0 );
-                            borderRect.Move( remainingWidth, 0 );
-                            normalFlowBorderRect.Move( remainingWidth, 0 );
-                            paddingRect.Move( remainingWidth, 0 );
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        }
-                    }
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginRight )
-                {
-                if ( !horizontalMarginProcessed )
-                    {
-                    // is left margin also set to AUTO?
-                    CXnProperty* leftMargin = aNode.MarginLeftL();
-                    if ( leftMargin )
-                        {
-                        if ( IsPropertyAutoL( *leftMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( ( remainingWidth / 2 ), 0 );
-                            horizontalMarginProcessed = ETrue;
-                            marginRect.Resize( ( remainingWidth ), 0 );
-                            borderRect.Move( ( remainingWidth / 2 ), 0 );
-                            normalFlowBorderRect.Move( (
-                                remainingWidth / 2 ), 0 );
-                            paddingRect.Move( ( remainingWidth / 2 ), 0 );
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        else
-                            {
-                            // only right margin set to AUTO
-                            horizontalMarginProcessed = ETrue;
-                            }
-                        }
-                    }
-                }
-            if ( attributeName == XnPropertyNames::style::common::KMarginTop )
-                {
-                if ( !verticalMarginProcessed && !allVerticalValuesProcessed )
-                    {
-                    // is bottom margin also set to AUTO?
-                    CXnProperty* bottomMargin = aNode.MarginBottomL();
-                    if ( bottomMargin )
-                        {
-                        if ( IsPropertyAutoL( *bottomMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingHeight =  aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( 0, ( remainingHeight / 2 ) );
-                            verticalMarginProcessed = ETrue;
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, ( remainingHeight / 2 ) );
-                            normalFlowBorderRect.Move(
-                                0, ( remainingHeight / 2 ) );
-                            paddingRect.Move( 0, ( remainingHeight / 2 ) );
-                            size = TSize( size.iWidth, 
-                                size.iHeight + remainingHeight );
-                            }
-                        else
-                            {
-                            // only top margin set to AUTO
-                            TInt remainingHeight =  aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( 0, remainingHeight );
-                            verticalMarginProcessed = ETrue;
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, remainingHeight );
-                            normalFlowBorderRect.Move( 0, remainingHeight );
-                            paddingRect.Move( 0, remainingHeight );
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        }
-                    }
-                 }
-
-            if ( attributeName ==
-                 XnPropertyNames::style::common::KMarginBottom )
-                {
-                if ( !verticalMarginProcessed && !allVerticalValuesProcessed )
-                    {
-                    // is top margin also set to AUTO?
-                    CXnProperty* topMargin = aNode.MarginTopL();
-                    if ( topMargin )
-                        {
-                        if ( IsPropertyAutoL( *topMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingHeight =  aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( 0, remainingHeight / 2 );
-                            verticalMarginProcessed = ETrue;
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, remainingHeight / 2 );
-                            normalFlowBorderRect.Move(
-                                0, remainingHeight / 2 );
-                            paddingRect.Move( 0, remainingHeight / 2 );
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        else
-                            {
-                            // only bottom margin set to AUTO
-                            TInt remainingHeight =  aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            marginRect.Resize( 0, remainingHeight );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth, 
-                                size.iHeight + remainingHeight );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    aNode.SetRect( contentRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetMarginRect( marginRect );
-    aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-    return contentRect.Size();
-    }
-
-// -----------------------------------------------------------------------------
-// AutoStaticRLL()
-// Calculate properties set to AUTO when positioning is static,
-// layout horizontal
-// and direction right-to-left.
-// -----------------------------------------------------------------------------
-//
-static TSize AutoStaticRLL( CXnNode& aNode, TInt aWidthToFit,
-    TInt aHeightToFit, RArray< TPtrC8 >& aAutoProperties, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    // Static positioning, horizontal, right to left
-    TBool horizontalMarginProcessed = EFalse;
-    TBool verticalMarginProcessed = EFalse;
-    TBool allVerticalValuesProcessed = EFalse;
-    TBool allHorizontalValuesProcessed = EFalse;
-
-    CXnProperty* maxHeightProperty = aNode.MaxHeightL();
-    CXnProperty* maxWidthProperty = aNode.MaxWidthL();
-    CXnProperty* minHeightProperty = aNode.MinHeightL();
-    CXnProperty* minWidthProperty = aNode.MinWidthL();
-
-    TRect contentRect( aNode.Rect() );
-    TRect paddingRect( aNode.PaddingRect() );
-    TRect borderRect( aNode.BorderRect() );
-    TRect marginRect( aNode.MarginRect() );
-    TRect normalFlowBorderRect( aNode.NormalFlowBorderRect() );
-
-    TSize size = CalculateTotalDimensionsL( aNode, EFalse, ETrue, aParentRect,
-        aGraphicsDevice, aHorizontalUnitInPixels, aVerticalUnitInPixels );
-
-    for ( TInt i = 0; i < aAutoProperties.Count(); i++ )
-        {
-        // search for height property
-        const TDesC8& attributeName = aAutoProperties[i];
-        if ( attributeName == XnPropertyNames::style::common::KWidth )
-            {
-            TInt newWidth = aWidthToFit - size.iWidth;
-
-            //  Calculate the difference so that it can be returned
-            TRect paddingRectDiff( SubtractRect( paddingRect, contentRect ) );
-            TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-            TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-            TRect normalFlowBorderRectDiff( SubtractRect( normalFlowBorderRect,
-                contentRect ) );
-
-            // grow width to fill the void
-            contentRect.SetWidth( newWidth );
-            paddingRect = AddRect( contentRect, paddingRectDiff );
-            borderRect = AddRect( contentRect, borderRectDiff );
-            normalFlowBorderRect = AddRect( contentRect,
-                normalFlowBorderRectDiff );
-            marginRect = AddRect( contentRect, marginRectDiff );
-
-            size = TSize( aWidthToFit, size.iHeight );
-            allHorizontalValuesProcessed = ETrue;
-            }
-        }
-
-    // if exactly one value is AUTO, value is computed to make equality true
-    if ( aAutoProperties.Count() == 1 )
-        {
-        if ( !allHorizontalValuesProcessed )
-            {
-            const TDesC8& attributeName = aAutoProperties[0];
-            if ( attributeName == XnPropertyNames::style::common::KHeight )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                //  Calculate the difference so that it can be returned
-                TRect paddingRectDiff( SubtractRect(
-                    paddingRect, contentRect ) );
-                TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-                TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-                TRect normalFlowBorderRectDiff( SubtractRect(
-                    normalFlowBorderRect, contentRect ) );
-
-                // grow height to fill the void
-                contentRect.SetHeight( remainingHeight );
-                paddingRect = AddRect( contentRect, paddingRectDiff );
-                borderRect = AddRect( contentRect, borderRectDiff );
-                normalFlowBorderRect = AddRect( contentRect,
-                    normalFlowBorderRectDiff );
-                marginRect = AddRect( contentRect, marginRectDiff );
-
-                size = TSize( size.iWidth, aHeightToFit );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginLeft )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                // move rect right to fill the void
-                contentRect.Move( remainingWidth, 0 );
-                paddingRect.Move( remainingWidth, 0 );
-                borderRect.Move( remainingWidth, 0 );
-                normalFlowBorderRect.Move( remainingWidth, 0 );
-                marginRect.Resize( remainingWidth, 0 );
-                marginRect.Move( -remainingWidth, 0 );
-                size = TSize( size.iWidth + remainingWidth, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginRight )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                contentRect.Move( -remainingWidth, 0 );
-                paddingRect.Move( -remainingWidth, 0 );
-                borderRect.Move( -remainingWidth, 0 );
-                normalFlowBorderRect.Move( -remainingWidth, 0 );
-                marginRect.Move( -remainingWidth, 0 );
-                marginRect.Resize( remainingWidth, 0 );
-
-                size = TSize( size.iWidth + remainingWidth, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginTop )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                // move rect right to fill the void
-                contentRect.Move( 0, remainingHeight / 2 );
-                paddingRect.Move( 0, remainingHeight / 2 );
-                borderRect.Move( 0, remainingHeight / 2 );
-                normalFlowBorderRect.Move( 0, remainingHeight / 2 );
-                marginRect.Resize( 0, remainingHeight );
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-
-            if ( attributeName ==
-                 XnPropertyNames::style::common::KMarginBottom )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                marginRect.Resize( 0, remainingHeight );
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-            }
-        }
-    else
-        {
-        for ( TInt i = 0; i < aAutoProperties.Count(); i++ )
-            {
-            const TDesC8& attributeName = aAutoProperties[i];
-            if ( attributeName == XnPropertyNames::style::common::KHeight )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                //  Calculate the difference so that it can be returned
-                TRect paddingRectDiff( SubtractRect(
-                    paddingRect, contentRect ) );
-                TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-                TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-                TRect normalFlowBorderRectDiff( SubtractRect(
-                    normalFlowBorderRect, contentRect ) );
-
-                // grow height to fill the void
-                contentRect.SetHeight( remainingHeight );
-                paddingRect = AddRect( contentRect, paddingRectDiff );
-                borderRect = AddRect( contentRect, borderRectDiff );
-                normalFlowBorderRect = AddRect( contentRect,
-                    normalFlowBorderRectDiff );
-                marginRect = AddRect( contentRect, marginRectDiff );
-
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-
-            // several auto properties
-            if ( attributeName == XnPropertyNames::style::common::KMarginLeft )
-                {
-                if ( !horizontalMarginProcessed )
-                    {
-                    // is right margin also set to AUTO?
-                    CXnProperty* rightMargin = aNode.MarginRightL();
-                    if ( rightMargin )
-                        {
-                        if ( IsPropertyAutoL( *rightMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect left
-                            contentRect.Move( -( remainingWidth / 2 ), 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            marginRect.Move( -remainingWidth, 0 );
-                            borderRect.Move( -( remainingWidth / 2 ), 0 );
-                            normalFlowBorderRect.Move(
-                                -( remainingWidth / 2 ), 0 );
-                            paddingRect.Move( -( remainingWidth / 2 ), 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        else
-                            {
-                            // only left margin set to AUTO
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect left
-                            contentRect.Move( ( remainingWidth ), 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            marginRect.Move( remainingWidth, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        }
-                    }
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginRight )
-                {
-                if ( !horizontalMarginProcessed )
-                    {
-                    // is left margin also set to AUTO?
-                    CXnProperty* leftMargin = aNode.MarginLeftL();
-                    if ( leftMargin )
-                        {
-                        if ( IsPropertyAutoL( *leftMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            contentRect.Move( -( remainingWidth / 2 ), 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            marginRect.Move( -remainingWidth, 0 );
-                            borderRect.Move( -( remainingWidth / 2 ), 0 );
-                            normalFlowBorderRect.Move(
-                                -( remainingWidth / 2 ), 0 );
-                            paddingRect.Move( -( remainingWidth / 2 ), 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        else
-                            {
-                            // only right margin set to AUTO
-                            TInt usedWidth = size.iWidth;
-                            TInt remainingWidth = aWidthToFit - usedWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            contentRect.Move( -remainingWidth, 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            marginRect.Move( -remainingWidth, 0 );
-                            borderRect.Move( -remainingWidth, 0 );
-                            normalFlowBorderRect.Move( -remainingWidth, 0 );
-                            paddingRect.Move( -remainingWidth, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        }
-                    }
-                }
-            if ( attributeName == XnPropertyNames::style::common::KMarginTop )
-                {
-                if ( !verticalMarginProcessed && !allVerticalValuesProcessed )
-                    {
-                    // is bottom margin also set to AUTO?
-                    CXnProperty* bottomMargin = aNode.MarginBottomL();
-                    if ( bottomMargin )
-                        {
-                        if ( IsPropertyAutoL( *bottomMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            contentRect.Move( 0, ( remainingHeight / 2 ) );
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, ( remainingHeight / 2 ) );
-                            normalFlowBorderRect.Move(
-                                0, ( remainingHeight / 2 ) );
-                            paddingRect.Move( 0, ( remainingHeight / 2 ) );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        else
-                            {
-                            // only top margin set to AUTO
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            contentRect.Move( 0, remainingHeight );
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, remainingHeight );
-                            normalFlowBorderRect.Move( 0, remainingHeight );
-                            paddingRect.Move( 0, remainingHeight );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        }
-                    }
-                }
-
-            if ( attributeName ==
-                 XnPropertyNames::style::common::KMarginBottom )
-                {
-                if ( !verticalMarginProcessed && !allVerticalValuesProcessed )
-                    {
-                    // is top margin also set to AUTO?
-                    CXnProperty* topMargin = aNode.MarginTopL();
-                    if ( topMargin )
-                        {
-                        if ( IsPropertyAutoL( *topMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( 0, ( remainingHeight / 2 ) );
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, ( remainingHeight / 2 ) );
-                            normalFlowBorderRect.Move(
-                                0, ( remainingHeight / 2 ) );
-                            paddingRect.Move( 0, ( remainingHeight / 2 ) );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        else
-                            {
-                            // only bottom margin set to AUTO
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            marginRect.Resize( 0, remainingHeight );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    aNode.SetRect( contentRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetMarginRect( marginRect );
-    aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-    return contentRect.Size();
-    }
-
-// -----------------------------------------------------------------------------
-// SubtractRect()
-// Calculate the difference of two rectangles and return it as
-// -----------------------------------------------------------------------------
-//
-static TRect SubtractRect( const TRect& aOriginal, const TRect& aSubtracter )
-    {
-    return TRect( aOriginal.iTl.iX - aSubtracter.iTl.iX,
-        aOriginal.iTl.iY - aSubtracter.iTl.iY,
-        aOriginal.iBr.iX - aSubtracter.iBr.iX,
-        aOriginal.iBr.iY - aSubtracter.iBr.iY );
-    }
-
-// -----------------------------------------------------------------------------
-// AddRect()
-// Add two rectangles together and return the result
-// -----------------------------------------------------------------------------
-//
-static TRect AddRect( const TRect& aOriginal, const TRect& aAdded )
-    {
-    return TRect( aOriginal.iTl.iX + aAdded.iTl.iX,
-        aOriginal.iTl.iY + aAdded.iTl.iY,
-        aOriginal.iBr.iX + aAdded.iBr.iX,
-        aOriginal.iBr.iY + aAdded.iBr.iY );
-    }
-
-// -----------------------------------------------------------------------------
-// AutoStaticTBL()
-// Calculate properties set to AUTO when positioning is static, layout vertical
-// and direction left-to-right
-// -----------------------------------------------------------------------------
-//
-static TSize AutoStaticTBL( CXnNode& aNode, TInt aWidthToFit, TInt aHeightToFit,
-    RArray< TPtrC8 >& aAutoProperties, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    // Static positioning, vertical, left to right
-    TBool horizontalMarginProcessed( EFalse );
-    TBool verticalMarginProcessed( EFalse );
-    TBool allVerticalValuesProcessed( EFalse );
-
-    TRect contentRect( aNode.Rect() );
-    TRect paddingRect( aNode.PaddingRect() );
-    TRect borderRect( aNode.BorderRect() );
-    TRect marginRect( aNode.MarginRect() );
-    TRect normalFlowBorderRect( aNode.NormalFlowBorderRect() );
-
-    TSize size( CalculateTotalDimensionsL( aNode, EFalse, ETrue, aParentRect,
-        aGraphicsDevice, aHorizontalUnitInPixels, aVerticalUnitInPixels ) );
-
-    for ( TInt i = 0; i < aAutoProperties.Count(); i++ )
-        {
-        // search for height property
-        const TDesC8& attributeName = aAutoProperties[i];
-        if ( attributeName == XnPropertyNames::style::common::KHeight )
-            {
-            //  Calculate the difference so that it can be returned
-            TRect paddingRectDiff( SubtractRect( paddingRect, contentRect ) );
-            TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-            TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-            TRect normalFlowBorderRectDiff( SubtractRect( normalFlowBorderRect,
-                contentRect ) );
-
-            // grow height to fill the void
-            contentRect.SetHeight( aHeightToFit - size.iHeight );
-            paddingRect = AddRect( contentRect, paddingRectDiff );
-            borderRect = AddRect( contentRect, borderRectDiff );
-            normalFlowBorderRect = AddRect(
-                contentRect, normalFlowBorderRectDiff );
-            marginRect = AddRect( contentRect, marginRectDiff );
-            size = TSize( size.iWidth, aHeightToFit );
-            allVerticalValuesProcessed = ETrue;
-            }
-        }
-
-    // if exactly one value is AUTO, value is computed to make equality true
-    if ( aAutoProperties.Count() == 1 )
-        {
-        if ( !allVerticalValuesProcessed )
-            {
-            const TDesC8& attributeName = aAutoProperties[0];
-            if ( attributeName == XnPropertyNames::style::common::KWidth )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                //  Calculate the difference so that it can be returned
-                TRect paddingRectDiff( SubtractRect(
-                    paddingRect, contentRect ) );
-                TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-                TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-                TRect normalFlowBorderRectDiff( SubtractRect(
-                    normalFlowBorderRect, contentRect ) );
-
-                // grow width to fill the void
-                contentRect.SetWidth( remainingWidth );
-                paddingRect = AddRect( contentRect, paddingRectDiff );
-                borderRect = AddRect( contentRect, borderRectDiff );
-                normalFlowBorderRect = AddRect( contentRect,
-                    normalFlowBorderRectDiff );
-                marginRect = AddRect( contentRect, marginRectDiff );
-                size = TSize( aWidthToFit, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginLeft )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                // move rect right to fill the void
-                contentRect.Move( remainingWidth, 0 );
-                paddingRect.Move( remainingWidth, 0 );
-                borderRect.Move( remainingWidth, 0 );
-                normalFlowBorderRect.Move( remainingWidth, 0 );
-                marginRect.Resize( remainingWidth, 0 );
-                size = TSize( size.iWidth + remainingWidth, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginRight )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                marginRect.Resize( remainingWidth, 0 );
-                size = TSize( size.iWidth + remainingWidth, size.iHeight );
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginTop )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                // move rect right to fill the void
-                contentRect.Move( 0, remainingHeight / 2 );
-                paddingRect.Move( 0, remainingHeight / 2 );
-                borderRect.Move( 0, remainingHeight / 2 );
-                normalFlowBorderRect.Move( 0, remainingHeight / 2 );
-                marginRect.Resize( 0, remainingHeight );
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-
-            if ( attributeName ==
-                 XnPropertyNames::style::common::KMarginBottom )
-                {
-                TInt remainingHeight = aHeightToFit - size.iHeight;
-                if ( remainingHeight < 0 )
-                    {
-                    remainingHeight = 0;
-                    }
-                // set margin rect
-                marginRect.Resize( 0, remainingHeight );
-                size = TSize( size.iWidth, size.iHeight + remainingHeight );
-                }
-            }
-        }
-    else
-        {
-        for ( TInt i = 0; i < aAutoProperties.Count(); i++ )
-            {
-            const TDesC8& attributeName = aAutoProperties[i];
-            if ( attributeName == XnPropertyNames::style::common::KWidth )
-                {
-                TInt remainingWidth = aWidthToFit - size.iWidth;
-                if ( remainingWidth < 0 )
-                    {
-                    remainingWidth = 0;
-                    }
-                //  Calculate the difference so that it can be returned
-                TRect paddingRectDiff( SubtractRect(
-                    paddingRect, contentRect ) );
-                TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-                TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-                TRect normalFlowBorderRectDiff( SubtractRect(
-                    normalFlowBorderRect, contentRect ) );
-
-                // grow width to fill the void
-                contentRect.SetWidth( remainingWidth );
-                paddingRect = AddRect( contentRect, paddingRectDiff );
-                borderRect = AddRect( contentRect, borderRectDiff );
-                normalFlowBorderRect = AddRect( contentRect,
-                    normalFlowBorderRectDiff );
-                marginRect = AddRect( contentRect, marginRectDiff );
-                size = TSize( aWidthToFit, size.iHeight );
-                }
-
-            // several auto properties
-            if ( attributeName == XnPropertyNames::style::common::KMarginLeft )
-                {
-                if ( !horizontalMarginProcessed )
-                    {
-                    // is right margin also set to AUTO?
-                    CXnProperty* rightMargin = aNode.MarginRightL();
-                    if ( rightMargin )
-                        {
-                        if ( IsPropertyAutoL( *rightMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move(( remainingWidth / 2 ), 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            borderRect.Move( remainingWidth / 2, 0 );
-                            normalFlowBorderRect.Move( remainingWidth / 2, 0 );
-                            paddingRect.Move( remainingWidth / 2, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        else
-                            {
-                            // only left margin set to AUTO
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( remainingWidth, 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            borderRect.Move( remainingWidth, 0 );
-                            normalFlowBorderRect.Move( remainingWidth, 0 );
-                            paddingRect.Move( remainingWidth, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        }
-                    }
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginRight )
-                {
-                if ( !horizontalMarginProcessed )
-                    {
-                    // is left margin also set to AUTO?
-                    CXnProperty* leftMargin = aNode.MarginLeftL();
-                    if ( leftMargin )
-                        {
-                        if ( IsPropertyAutoL (*leftMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( remainingWidth / 2, 0 );
-                            marginRect.Resize( remainingWidth, 0 );
-                            borderRect.Move( remainingWidth / 2, 0 );
-                            normalFlowBorderRect.Move( remainingWidth / 2, 0 );
-                            paddingRect.Move( remainingWidth / 2, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        else
-                            {
-                            // only right margin set to AUTO
-                            TInt remainingWidth = aWidthToFit - size.iWidth;
-                            if ( remainingWidth < 0 )
-                                {
-                                remainingWidth = 0;
-                                }
-                            // move rect right to fill the void
-                            marginRect.Resize( remainingWidth, 0 );
-                            horizontalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth + remainingWidth,
-                                size.iHeight );
-                            }
-                        }
-                    }
-                }
-
-            if ( attributeName == XnPropertyNames::style::common::KMarginTop )
-                {
-                if ( !verticalMarginProcessed && !allVerticalValuesProcessed )
-                    {
-                    // is bottom margin also set to AUTO?
-                    CXnProperty* bottomMargin = aNode.MarginBottomL();
-                    if ( bottomMargin )
-                        {
-                        if ( IsPropertyAutoL( *bottomMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( 0, remainingHeight / 2 );
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, remainingHeight / 2 );
-                            normalFlowBorderRect.Move( 0, remainingHeight / 2 );
-                            paddingRect.Move( 0, remainingHeight / 2 );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        else
-                            {
-                            // only top margin set to AUTO
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            contentRect.Move( 0, remainingHeight );
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, remainingHeight );
-                            normalFlowBorderRect.Move( 0, remainingHeight );
-                            paddingRect.Move( 0, remainingHeight );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        }
-                    }
-                }
-
-            if ( attributeName ==
-                 XnPropertyNames::style::common::KMarginBottom )
-                {
-                if ( !verticalMarginProcessed && !allVerticalValuesProcessed )
-                    {
-                    // is top margin also set to AUTO?
-                    CXnProperty* topMargin = aNode.MarginTopL();
-                    if ( topMargin )
-                        {
-                        if ( IsPropertyAutoL( *topMargin ) )
-                            {
-                            // both margins set to AUTO, values equal
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            TRect normalFlowBorderRect(
-                                aNode.NormalFlowBorderRect() );
-                            contentRect.Move( 0, remainingHeight / 2 );
-                            marginRect.Resize( 0, remainingHeight );
-                            borderRect.Move( 0, remainingHeight / 2 );
-                            normalFlowBorderRect.Move( 0, remainingHeight / 2 );
-                            paddingRect.Move( 0, remainingHeight / 2 );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        else
-                            {
-                            // only bottom margin set to AUTO
-                            TInt remainingHeight = aHeightToFit - size.iHeight;
-                            if ( remainingHeight < 0 )
-                                {
-                                remainingHeight = 0;
-                                }
-                            // move rect right to fill the void
-                            marginRect.Resize( 0, remainingHeight );
-                            verticalMarginProcessed = ETrue;
-                            size = TSize( size.iWidth,
-                                size.iHeight + remainingHeight );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    aNode.SetRect( contentRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetMarginRect( marginRect );
-    aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-    return contentRect.Size();
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateAbsolutePositionsL()
-// Move the rect by it's absolute positioning.
-// -----------------------------------------------------------------------------
-//
-static void CalculateAbsolutePositionsL( CXnNode& aNode, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    CXnProperty* topProperty = aNode.TopL();
-    CXnProperty* bottomProperty = aNode.BottomL();
-    CXnProperty* leftProperty = aNode.LeftL();
-    CXnProperty* rightProperty = aNode.RightL();
-
-    TBool verticalValuesProcessed = EFalse;
-    TBool horizontalValuesProcessed = EFalse;
-
-    TInt top = 0;
-    TInt bottom = 0;
-    TInt left = 0;
-    TInt right = 0;
-
-    TRect contentRect( aNode.Rect() );
-    TRect paddingRect( aNode.PaddingRect() );
-    TRect borderRect( aNode.BorderRect() );
-    TRect marginRect( aNode.MarginRect() );
-
-    if ( HasNodeAutoValuesL( aNode ) )
-        {
-        CXnProperty* marginTopProperty = aNode.MarginTopL();
-        CXnProperty* marginBottomProperty = aNode.MarginBottomL();
-        CXnProperty* marginLeftProperty = aNode.MarginLeftL();
-        CXnProperty* marginRightProperty = aNode.MarginRightL();
-        CXnProperty* heightProperty = aNode.HeightL();
-        CXnProperty* widthProperty = aNode.WidthL();
-        CXnProperty* maxHeightProperty = aNode.MaxHeightL();
-        CXnProperty* maxWidthProperty = aNode.MaxWidthL();
-        CXnProperty* minHeightProperty = aNode.MinHeightL();
-        CXnProperty* minWidthProperty = aNode.MinWidthL();
-
-        // move auto value node to it's parent's top left corner
-        TInt offsetx = 0;
-        TInt offsety = 0;
-
-        offsetx = aParentRect.iTl.iX - marginRect.iTl.iX;
-        offsety = aParentRect.iTl.iY - marginRect.iTl.iY;
-
-        contentRect.Move( offsetx, offsety );
-        paddingRect.Move( offsetx, offsety );
-        borderRect.Move( offsetx, offsety );
-        marginRect.Move( offsetx, offsety );
-
-        // get values
-        if ( topProperty && !IsPropertyAutoL( *topProperty ) &&
-             !IsPropertyNone( *topProperty ) )
-            {
-            top = VerticalPixelValueL( topProperty, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        if ( bottomProperty && !IsPropertyAutoL( *bottomProperty ) &&
-             !IsPropertyNone( *bottomProperty ) )
-            {
-            bottom = VerticalPixelValueL( bottomProperty, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        if ( leftProperty && !IsPropertyAutoL( *leftProperty ) &&
-             !IsPropertyNone( *leftProperty ) )
-            {
-            left = HorizontalPixelValueL( leftProperty, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        if ( rightProperty && !IsPropertyAutoL( *rightProperty ) &&
-             !IsPropertyNone( *rightProperty ) )
-            {
-            right = HorizontalPixelValueL( rightProperty, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        // node has auto values
-        TSize spaceUsed( CalculateTotalDimensionsL( aNode, EFalse, EFalse,
-            aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-            aVerticalUnitInPixels ) );
-        TInt heightToUse =
-            aParentRect.Height() - spaceUsed.iHeight - top - bottom;
-        TInt widthToUse =
-            aParentRect.Width() - spaceUsed.iWidth - left - right;
-
-        if ( heightToUse < 0 )
-            {
-            heightToUse = 0;
-            }
-        if ( widthToUse < 0 )
-            {
-            widthToUse = 0;
-            }
-        // vertical auto values
-        // (margin top, margin bottom, height, top, bottom)
-        if ( IsPropertyAutoL( *heightProperty ) )
-            {
-            contentRect.Resize( 0, heightToUse );
-            paddingRect.Resize( 0, heightToUse );
-            borderRect.Resize( 0, heightToUse );
-            marginRect.Resize( 0, heightToUse );
-
-            if ( IsLargerThanMaxSizeL( aParentRect, aNode, aGraphicsDevice,
-                 aHorizontalUnitInPixels, aVerticalUnitInPixels ) )
-                {
-                if ( !IsPropertyNone( *maxHeightProperty ) )
-                    {
-                    TInt maxheight = HorizontalPixelValueL( maxHeightProperty,
-                        aParentRect.Height(), aGraphicsDevice,
-                        aHorizontalUnitInPixels );
-                    if ( maxheight < contentRect.Height() )
-                        {
-                        TInt excessheight = contentRect.Height() - maxheight;
-                        contentRect.Resize( 0, -excessheight );
-                        paddingRect.Resize( 0, -excessheight );
-                        borderRect.Resize( 0, -excessheight );
-                        marginRect.Resize( 0, -excessheight );
-                        }
-                    }
-                }
-            if ( IsSmallerThanMinSizeL( aParentRect, aNode, aGraphicsDevice,
-                 aHorizontalUnitInPixels, aVerticalUnitInPixels ) )
-                {
-                if ( !IsPropertyNone( *minHeightProperty ) )
-                    {
-                    TInt minheight = HorizontalPixelValueL( minHeightProperty,
-                        aParentRect.Height(), aGraphicsDevice,
-                        aHorizontalUnitInPixels );
-                    if ( minheight > contentRect.Height() )
-                        {
-                        TInt missingheight = minheight - contentRect.Height();
-                        contentRect.Resize( 0, missingheight );
-                        paddingRect.Resize( 0, missingheight );
-                        borderRect.Resize( 0, missingheight );
-                        marginRect.Resize( 0, missingheight );
-                        }
-                    }
-                }
-            verticalValuesProcessed = ETrue;
-            }
-
-        if ( !verticalValuesProcessed )
-            {
-            if ( IsPropertyAutoL( *topProperty ) &&
-                 IsPropertyAutoL( *bottomProperty ) )
-                {
-                // move the box down
-                contentRect.Move( 0, heightToUse / 2 );
-                paddingRect.Move( 0, heightToUse / 2 );
-                borderRect.Move( 0, heightToUse / 2 );
-                marginRect.Move( 0, heightToUse / 2 );
-                }
-            if ( IsPropertyAutoL( *topProperty ) &&
-                 !IsPropertyAutoL( *bottomProperty ) )
-                {
-                // move the box down
-                contentRect.Move( 0, heightToUse );
-                paddingRect.Move( 0, heightToUse );
-                borderRect.Move( 0, heightToUse );
-                marginRect.Move( 0, heightToUse );
-                }
-            if ( IsPropertyAutoL( *marginTopProperty ) &&
-                 IsPropertyAutoL( *marginBottomProperty ) )
-                {
-                // both margins auto, equal values
-                marginRect.Resize( 0, heightToUse );
-                paddingRect.Move( 0, heightToUse / 2 );
-                borderRect.Move( 0, heightToUse / 2 );
-                contentRect.Move( 0, heightToUse / 2 );
-                }
-            if ( !IsPropertyAutoL( *marginTopProperty ) &&
-                 IsPropertyAutoL( *marginBottomProperty ) )
-                {
-                // only top margin auto
-                marginRect.Resize( 0, heightToUse );
-                paddingRect.Move( 0, heightToUse );
-                borderRect.Move( 0, heightToUse );
-                contentRect.Move( 0, heightToUse );
-                }
-            if ( IsPropertyAutoL( *marginTopProperty ) &&
-                 !IsPropertyAutoL( *marginBottomProperty ) )
-                {
-                // only bottom margin auto
-                marginRect.Resize( 0, heightToUse );
-                }
-            }
-
-        // horizontal auto values
-        // (margin left, margin right, width)
-        if ( IsPropertyAutoL( *widthProperty ) )
-            {
-            contentRect.Resize( widthToUse, 0 );
-            paddingRect.Resize( widthToUse, 0 );;
-            borderRect.Resize( widthToUse, 0 );
-            marginRect.Resize( widthToUse, 0 );
-            if ( IsLargerThanMaxSizeL( aParentRect, aNode, aGraphicsDevice,
-                 aHorizontalUnitInPixels, aVerticalUnitInPixels ) )
-                {
-                if ( !IsPropertyNone( *maxWidthProperty ) )
-                    {
-                    TInt maxwidth = HorizontalPixelValueL( maxWidthProperty,
-                        aParentRect.Width(), aGraphicsDevice,
-                        aHorizontalUnitInPixels );
-                    if ( maxwidth < contentRect.Width() )
-                        {
-                        TInt excesswidth = contentRect.Width() - maxwidth;
-                        contentRect.Resize( -excesswidth, 0 );
-                        paddingRect.Resize( -excesswidth, 0 );
-                        borderRect.Resize( -excesswidth, 0 );
-                        marginRect.Resize( -excesswidth, 0 );
-                        }
-                    }
-                }
-            if ( IsSmallerThanMinSizeL( aParentRect, aNode, aGraphicsDevice,
-                 aHorizontalUnitInPixels, aVerticalUnitInPixels ) )
-                {
-                if ( !IsPropertyNone( *minWidthProperty ) )
-                    {
-                    TInt minwidth = HorizontalPixelValueL( minWidthProperty,
-                        aParentRect.Width(), aGraphicsDevice,
-                        aHorizontalUnitInPixels );
-                    if ( minwidth > contentRect.Width() )
-                        {
-                        TInt missingwidth = minwidth - contentRect.Width();
-                        contentRect.Resize( missingwidth, 0 );
-                        paddingRect.Resize( missingwidth, 0 );
-                        borderRect.Resize( missingwidth, 0 );
-                        marginRect.Resize( missingwidth, 0 );
-                        }
-                    }
-                }
-            horizontalValuesProcessed = ETrue;
-            }
-        if ( !horizontalValuesProcessed )
-            {
-            if ( IsPropertyAutoL( *leftProperty ) &&
-                 IsPropertyAutoL( *rightProperty ) )
-                {
-                // move the box left
-                contentRect.Move( widthToUse / 2, 0 );
-                paddingRect.Move( widthToUse / 2, 0 );
-                borderRect.Move( widthToUse / 2, 0 );
-                marginRect.Move( widthToUse / 2, 0 );
-                }
-            if ( IsPropertyAutoL( *leftProperty ) &&
-                 !IsPropertyAutoL( *rightProperty ) )
-                {
-                // move the box left
-                contentRect.Move( widthToUse, 0 );
-                paddingRect.Move( widthToUse, 0 );
-                borderRect.Move( widthToUse, 0 );
-                marginRect.Move( widthToUse, 0 );
-                }
-            if ( IsPropertyAutoL( *marginLeftProperty ) &&
-                 IsPropertyAutoL( *marginRightProperty ) )
-                {
-                // both margins auto, equal values
-                marginRect.Resize( widthToUse, 0 );
-                paddingRect.Move( widthToUse / 2, 0 );
-                borderRect.Move( widthToUse / 2, 0 );
-                contentRect.Move( widthToUse / 2, 0 );
-                }
-            if ( !IsPropertyAutoL( *marginLeftProperty ) &&
-                 IsPropertyAutoL( *marginRightProperty ) )
-                {
-                // only right margin auto
-                marginRect.Resize( widthToUse, 0 );
-                paddingRect.Move( widthToUse, 0 );
-                borderRect.Move( widthToUse, 0 );
-                contentRect.Move( widthToUse, 0 );
-                }
-            if ( IsPropertyAutoL( *marginLeftProperty ) &&
-                 !IsPropertyAutoL( *marginRightProperty ) )
-                {
-                // only left margin auto
-                marginRect.Resize( widthToUse, 0 );
-                }
-            }
-        }
-
-    // Move the rect to desired position
-    if ( topProperty )
-        {
-        if ( !IsPropertyAutoL( *topProperty ) &&
-             !IsPropertyNone( *topProperty ) )
-            {
-            TInt y = VerticalPixelValueL( topProperty, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            contentRect.Move( 0, y );
-            paddingRect.Move( 0, y );
-            borderRect.Move( 0, y );
-            marginRect.Move( 0, y );
-            }
-        }
-    if ( leftProperty )
-        {
-        if ( !IsPropertyAutoL( *leftProperty ) &&
-             !IsPropertyNone( *leftProperty ) )
-            {
-            TInt x = HorizontalPixelValueL( leftProperty, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            contentRect.Move( x, 0 );
-            paddingRect.Move( x, 0 );
-            borderRect.Move( x, 0 );
-            marginRect.Move( x, 0 );
-            }
-        }
-    if ( bottomProperty )
-        {
-         if ( !IsPropertyAutoL( *bottomProperty ) &&
-              !IsPropertyNone( *bottomProperty ) )
-            {
-            TInt py = VerticalPixelValueL( bottomProperty,
-                aParentRect.Height(), aGraphicsDevice, aVerticalUnitInPixels );
-            contentRect.Move( 0, -py );
-            paddingRect.Move( 0, -py );
-            borderRect.Move( 0, -py );
-            marginRect.Move( 0, -py );
-            }
-        }
-    if ( rightProperty )
-        {
-        if ( !IsPropertyAutoL( *rightProperty ) &&
-             !IsPropertyNone( *rightProperty ) )
-            {
-            TInt px = HorizontalPixelValueL( rightProperty,
-                aParentRect.Width(), aGraphicsDevice, aHorizontalUnitInPixels );
-            contentRect.Move( -px, 0 );
-            paddingRect.Move( -px, 0 );
-            borderRect.Move( -px, 0 );
-            marginRect.Move( -px, 0 );
-            }
-        }
-
-    aNode.SetRect( contentRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetMarginRect( marginRect );
-
-    DropExceedingRectL( aParentRect, aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateBorderL()
-// Move the rect by adding the border.
-// -----------------------------------------------------------------------------
-//
-static void CalculateBorderL( CXnNode& aNode, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    TInt offsetx = 0;
-    TInt offsety = 0;
-
-    TInt borderleft = 0;
-    TInt borderright = 0;
-    TInt bordertop = 0;
-    TInt borderbottom = 0;
-
-    CXnProperty* commonBorderStyle = aNode.BorderStyleL();
-    CXnProperty* borderImage = aNode.BorderImageL();
-    CXnProperty* borderStyle = aNode.BorderLeftStyleL();
-    CXnProperty* borderproperty = aNode.BorderLeftL();
-
-    // if border width is defined
-    CXnProperty* borderwidthproperty = aNode.BorderWidthL();
-    if ( !borderproperty )
-        {
-        borderproperty = borderwidthproperty;
-        }
-
-    if ( borderwidthproperty && ( ( commonBorderStyle &&
-         !IsPropertyNone( *commonBorderStyle ) ) ||
-        ( borderImage && !IsPropertyNone( *borderImage ) ) ) )
-        {
-        TInt bordervertical = 0;
-        TInt borderhorizontal = 0;
-
-        DetermineBorderWidthsL( borderwidthproperty, bordervertical,
-            borderhorizontal, aParentRect, aGraphicsDevice,
-            aHorizontalUnitInPixels, aVerticalUnitInPixels );
-
-        borderleft = borderhorizontal;
-        borderright = borderhorizontal;
-        bordertop = bordervertical;
-        borderbottom = bordervertical;
-        }
-
-    TInt ignore;
-    // use border width only if there is valid border style or border image
-    if ( borderproperty && ( ( borderStyle &&
-         !IsPropertyNone( *borderStyle ) ) ||
-        ( commonBorderStyle && !IsPropertyNone( *commonBorderStyle ) ) ||
-        ( borderImage && !IsPropertyNone( *borderImage ) ) ) )
-        {
-        DetermineBorderWidthsL( borderproperty, ignore, borderleft,
-            aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-            aVerticalUnitInPixels );
-        }
-    borderStyle = aNode.BorderRightStyleL();
-    borderproperty = aNode.BorderRightL();
-    if ( !borderproperty )
-        {
-        borderproperty = borderwidthproperty;
-        }
-    if ( borderproperty && ( ( borderStyle &&
-         !IsPropertyNone( *borderStyle ) ) ||
-        ( commonBorderStyle && !IsPropertyNone( *commonBorderStyle ) ) ||
-        ( borderImage && !IsPropertyNone( *borderImage ) ) ) )
-        {
-        DetermineBorderWidthsL( borderproperty, ignore, borderright,
-            aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-            aVerticalUnitInPixels );
-        }
-    borderStyle = aNode.BorderTopStyleL();
-    borderproperty = aNode.BorderTopL();
-    if ( !borderproperty )
-        {
-        borderproperty = borderwidthproperty;
-        }
-    if ( borderproperty && ( ( borderStyle &&
-         !IsPropertyNone( *borderStyle ) ) ||
-        ( commonBorderStyle && !IsPropertyNone( *commonBorderStyle ) ) ||
-        ( borderImage && !IsPropertyNone( *borderImage ) ) ) )
-        {
-        DetermineBorderWidthsL( borderproperty, bordertop, ignore,
-            aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-            aVerticalUnitInPixels );
-        }
-    borderStyle = aNode.BorderBottomStyleL();
-    borderproperty = aNode.BorderBottomL();
-    if ( !borderproperty )
-        {
-        borderproperty = borderwidthproperty;
-        }
-    if ( borderproperty && ( ( borderStyle &&
-         !IsPropertyNone( *borderStyle ) ) ||
-        ( commonBorderStyle && !IsPropertyNone( *commonBorderStyle ) ) ||
-        ( borderImage && !IsPropertyNone( *borderImage ) ) ) )
-        {
-        DetermineBorderWidthsL( borderproperty, borderbottom, ignore,
-            aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-            aVerticalUnitInPixels );
-        }
-
-    offsetx = borderleft; // move the client rect of the element this much right
-    offsety = bordertop; //  move the client rect of the element this much down
-
-    TRect newrect( aNode.Rect() );
-    newrect.Move( offsetx, offsety );
-    aNode.SetRect( newrect );
-    // and move the padding rect also, Ari 5.8.2005
-    TRect paddingrect = aNode.PaddingRect();
-    TPoint origin( paddingrect.iTl );
-    paddingrect.Move( offsetx, offsety );
-    aNode.SetPaddingRect( paddingrect );
-
-    TRect borderrect( origin, TSize(
-        borderleft + borderright + paddingrect.Width(),
-        bordertop + borderbottom + paddingrect.Height() ) );
-    TRect normalFlowBorderRect( origin, TSize(
-        borderleft + borderright + paddingrect.Width(),
-        bordertop + borderbottom + paddingrect.Height() ) );
-    aNode.SetBorderRect( borderrect );
-    aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateAbsoluteMarginL()
-// Place child areas to parent rect and calculate margins.
-// -----------------------------------------------------------------------------
-//
-static void CalculateAbsoluteMarginL( CXnNode& aParent, CXnNode& aNode,
-    CXnNode* aPreviousSibling, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    TInt previousPosition = 0;
-    CXnProperty* marginProperty = NULL;
-    TInt marginLeft = 0;
-    TInt marginRight = 0;
-    TInt marginTop = 0;
-    TInt marginBottom = 0;
-
-    marginProperty = aNode.MarginLeftL();
-
-    if ( marginProperty )
-        {
-        if ( !IsPropertyAutoL( *marginProperty ) )
-            {
-            marginLeft = HorizontalPixelValueL( marginProperty,
-                aParentRect.Width(), aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-
-    marginProperty = aNode.MarginRightL();
-
-    if ( marginProperty )
-        {
-        if ( !IsPropertyAutoL( *marginProperty ) )
-            {
-            marginRight = HorizontalPixelValueL( marginProperty,
-                aParentRect.Width(), aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-
-    marginProperty = aNode.MarginTopL();
-
-    if ( marginProperty )
-        {
-        if ( !IsPropertyAutoL( *marginProperty ) )
-            {
-            marginTop = VerticalPixelValueL( marginProperty,
-                aParentRect.Height(), aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        }
-
-    marginProperty = aNode.MarginBottomL();
-
-    if ( marginProperty )
-        {
-        if ( !IsPropertyAutoL( *marginProperty ) )
-            {
-            marginBottom = VerticalPixelValueL( marginProperty,
-                aParentRect.Height(), aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        }
-
-    TInt offsetx = 0;
-    TInt offsety = 0;
-
-    if ( &aParent == &aNode )
-        {
-        aParentRect.Move( -aParentRect.iTl.iX, -aParentRect.iTl.iY );
-        }
-
-    // if all properties are defined and block progression is LR, margin right
-    // is ignored and replaced by remaining
-    // if block progression is RL, same thing to margin left
-
-    // previous sibling was found, get it's margin and previous coordinate to
-    // define next child's position
-    previousPosition = ( aPreviousSibling != NULL ) ?
-        GetPositionL( *aPreviousSibling, aParentBlockProgression,
-        aParentDirection ) : 0;
-
-    // Move the rect considering previous child
-    // Margins are collapsed, larger is used
-    if ( aParentDirection == XnPropertyNames::style::common::direction::KLTR )
-        {
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KLR ||
-             aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KRL )
-            {
-            // offset to parent rect's top left corner
-            if ( !aPreviousSibling )
-                {
-                offsetx = aParentRect.iTl.iX;
-                }
-
-            offsety = aParentRect.iTl.iY + marginTop;
-            TInt prevMarginRight = 0;
-
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                prevMarginRight =
-                    previousMarginRect.iBr.iX - previousBorderRect.iBr.iX;
-                }
-
-            if ( prevMarginRight > marginLeft )
-                {
-                offsetx += previousPosition + prevMarginRight;
-                }
-            else
-                {
-                offsetx += previousPosition + marginLeft;
-                }
-            }
-        else // TB or BT
-            {
-            // offset to parent rect's top left corner
-            offsetx = aParentRect.iTl.iX + marginLeft;
-
-            if ( !aPreviousSibling )
-                {
-                offsety = aParentRect.iTl.iY;
-                }
-
-            TInt prevMarginBottom = 0;
-
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                prevMarginBottom =
-                    previousMarginRect.iBr.iY - previousBorderRect.iBr.iY;
-                }
-
-            if ( prevMarginBottom > marginTop )
-                {
-                offsety += previousPosition + prevMarginBottom;
-                }
-            else
-                {
-                offsety += previousPosition + marginTop;
-                }
-            }
-        }
-    else // RTL
-        {
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KLR ||
-             aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KRL )
-            {
-            // offset to parent rect's top right corner
-            if ( !aPreviousSibling )
-                {
-                offsetx = aParentRect.Width() - aNode.BorderRect().Width() +
-                    aParentRect.iTl.iX;
-                }
-            else
-                {
-                offsetx = previousPosition - aNode.BorderRect().Width();
-                }
-
-            offsety = aParentRect.iTl.iY + marginTop;
-
-            TInt prevMarginLeft = 0;
-
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                prevMarginLeft =
-                    previousBorderRect.iTl.iX - previousMarginRect.iTl.iX;
-                }
-
-            if ( prevMarginLeft > marginRight )
-                {
-                offsetx -= prevMarginLeft;
-                }
-            else
-                {
-                offsetx -= marginRight;
-                }
-            }
-        else // TB or BT
-            {
-            // offset to parent rect's bottom left corner
-            offsetx += aParentRect.iTl.iX + marginRight;
-
-            if ( !aPreviousSibling )
-                {
-                // start from bottom of parent rect
-                offsety = aParentRect.Height() - aNode.BorderRect().Height();
-                }
-            else
-                {
-                offsety = previousPosition - aNode.BorderRect().Height();
-                }
-
-            TInt prevMarginTop = 0;
-
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                prevMarginTop =
-                    previousBorderRect.iTl.iY - previousMarginRect.iTl.iY;
-                }
-
-            // collapse margins
-            if ( prevMarginTop > marginBottom )
-                {
-                offsety -= prevMarginTop;
-                }
-            else
-                {
-                offsety -= marginBottom;
-                }
-            }
-        }
-
-    TRect borderRect = TRect( aNode.BorderRect() );
-    TRect normalFlowBorderRect = TRect( aNode.NormalFlowBorderRect() );
-    // this is the top left corner of margin rect
-    TPoint origin( borderRect.iTl - TPoint( marginLeft, marginTop ) );
-
-    if ( &aParent != &aNode )
-        {
-        // set content rect
-        TRect newRect( aNode.Rect() );
-        newRect.Move( offsetx, offsety );
-        aNode.SetRect( newRect );
-
-        // set padding rect
-        TRect paddingRect( aNode.PaddingRect() );
-        paddingRect.Move( offsetx, offsety );
-        aNode.SetPaddingRect( paddingRect );
-
-        // set border rect
-        borderRect.Move( offsetx, offsety );
-        normalFlowBorderRect.Move( offsetx, offsety );
-        // this is the top left corner of margin rect
-        origin = TPoint( borderRect.iTl - TPoint( marginLeft, marginTop ) );
-        aNode.SetBorderRect( borderRect );
-        aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-        }
-
-    TRect marginRect( origin,
-        TSize( marginLeft + marginRight + borderRect.Width(),
-        marginTop + marginBottom + borderRect.Height() ) );
-
-    aNode.SetMarginRect( marginRect );
-
-    // Within this function, the rects are adjusted if the display-priority is 0
-    // and margin rect exceeds parent's content rect.
-    DropExceedingRectL( aParentRect, aNode );
-
-    if( IsNodeTooltip( aNode ) || aNode.Type()->Type() == KWidgetExtensionNodeName || 
-         aNode.Type()->Type() == KPopUpNodeName )
-        {
-        // because tooltip has it's own window, move margin rect to 0,0
-        // and all other rects as much up left
-        TRect marginRect = aNode.MarginRect();
-
-        TRect borderRect = aNode.BorderRect();
-        TRect paddingRect = aNode.PaddingRect();
-        TRect contentRect = aNode.Rect();
-        TInt x = marginRect.iTl.iX;
-        TInt y = marginRect.iTl.iY;
-        marginRect.Move( -x, -y );
-
-        borderRect.Move( -x, -y );
-        paddingRect.Move( -x, -y );
-        contentRect.Move( -x, -y );
-
-        aNode.SetMarginRect( marginRect );
-
-        aNode.SetBorderRect( borderRect );
-        aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-        aNode.SetPaddingRect( paddingRect );
-        aNode.SetRect( contentRect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateAbsoluteMarginL()
-// Place child areas to parent rect and calculate margins.
-// -----------------------------------------------------------------------------
-//
-static void CalculateMarginL( CXnNode& aParent, CXnNode& aNode,
-    CXnNode* aPreviousSibling, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels, TInt& aColumnWidth, TInt& aColumnMargin )
-    {
-    if( aParent.Control() && aParent.Control()->OwnsWindow() )
-        {
-        aParentRect = TRect( aParentRect.iTl - aParent.MarginRect().iTl, aParentRect.Size() );
-        }
-
-    CXnProperty* marginProperty = NULL;
-    TInt marginLeft = 0;
-    TInt marginRight = 0;
-    TInt marginTop = 0;
-    TInt marginBottom = 0;
-
-    marginProperty = aNode.MarginLeftL();
-    if ( marginProperty )
-        {
-        if ( !IsPropertyAutoL( *marginProperty ) )
-            {
-            marginLeft = HorizontalPixelValueL(
-                marginProperty, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-
-    marginProperty = aNode.MarginRightL();
-    if ( marginProperty )
-        {
-        if ( !IsPropertyAutoL( *marginProperty ) )
-            {
-            marginRight = HorizontalPixelValueL(
-                marginProperty, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-
-    marginProperty = aNode.MarginTopL();
-    if ( marginProperty )
-        {
-        if ( !IsPropertyAutoL( *marginProperty ) )
-            {
-            marginTop = VerticalPixelValueL(
-                marginProperty, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        }
-
-    marginProperty = aNode.MarginBottomL();
-    if ( marginProperty )
-        {
-        if ( !IsPropertyAutoL( *marginProperty ) )
-            {
-            marginBottom = VerticalPixelValueL(
-                marginProperty, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        }
-
-    TInt offsetx = 0;
-    TInt offsety = 0;
-
-    //What's this???
-    if ( &aParent == &aNode )
-        {
-        aParentRect.Move( -aParentRect.iTl.iX, -aParentRect.iTl.iY );
-        }
-
-    // Move the rect considering previous child
-    // Margins are collapsed, larger is used
-    if ( aParentDirection == XnPropertyNames::style::common::direction::KLTR )
-        {
-        //   LTR , TB
-        //  *********
-        //  | 1 | 4 |
-        //  | 2 | 5 |
-        //  | 3 | 6 |
-        //  *********
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB )
-            {
-            // First we need to know where to layout next sibling
-            // Try first under the previous sibling...
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                TBool layoutUnderPrevious( EFalse );
-                TInt height = aNode.MarginRect().Height();
-                TInt prevMarginBottom =
-                    previousMarginRect.iBr.iY - previousBorderRect.iBr.iY;
-                if ( prevMarginBottom < marginTop )
-                    {
-                    height -= prevMarginBottom;
-                    }
-                else
-                    {
-                    height -= marginTop;
-                    }
-                if(height <= aParentRect.iBr.iY - previousMarginRect.iBr.iY || IsSrollableBox(aNode))
-                    {
-                    layoutUnderPrevious = ETrue;
-                    }
-
-                // ...then to the next column
-                if ( !layoutUnderPrevious )
-                    {
-                    TInt width =
-                        aNode.BorderRect().Width() + marginLeft + marginRight;
-                    if ( aColumnMargin < marginLeft )
-                        {
-                        width -= aColumnMargin;
-                        }
-                    else
-                        {
-                        width -= marginLeft;
-                        }
-                    if ( width + aColumnWidth <= aParentRect.Width() )
-                        {
-                        offsety = aParentRect.iTl.iY + marginTop;
-                        if ( aColumnMargin < marginLeft )
-                            {
-                            offsetx = aParentRect.iTl.iX + aColumnWidth -
-                                aColumnMargin + marginLeft;
-                            }
-                        else
-                            {
-                            offsetx = aParentRect.iTl.iX + aColumnWidth;
-                            }
-                        }
-                    else
-                        {
-                        layoutUnderPrevious = ETrue;
-                        }
-                    }
-                if ( layoutUnderPrevious )
-                    {
-                    offsetx = 
-                        aPreviousSibling->MarginRect().iTl.iX + marginLeft;
-                    if ( prevMarginBottom > marginTop )
-                        {
-                        // margin of this node is collapsed
-                        offsety = previousMarginRect.iBr.iY;
-                        }
-                    else
-                        {
-                        // margin of the previous node is collapsed
-                        offsety = previousBorderRect.iBr.iY + marginTop;
-                        }
-                    }
-                }
-            else
-                {
-                // offset to parent rect's top left corner
-                offsetx = aParentRect.iTl.iX + marginLeft;
-                offsety = aParentRect.iTl.iY + marginTop;
-                }
-            }
-
-        //   LTR , BT
-        //  *********
-        //  | 3 | 6 |
-        //  | 2 | 5 |
-        //  | 1 | 4 |
-        //  *********
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KBT )
-            {
-            // First we need to know where to layout next sibling
-            // Try first above the previous sibling...
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                TBool layoutAbovePrevious( EFalse );
-                TInt height =
-                    aNode.BorderRect().Height() + marginTop + marginBottom;
-                TInt prevMarginTop =
-                    previousBorderRect.iTl.iY - previousMarginRect.iTl.iY;
-                if ( prevMarginTop < marginBottom )
-                    {
-                    height -= prevMarginTop;
-                    }
-                else
-                    {
-                    height -= marginBottom;
-                    }
-                if ( height <= previousMarginRect.iTl.iY - aParentRect.iTl.iY )
-                    {
-                    layoutAbovePrevious = ETrue;
-                    }
-
-                // ...then to the next column
-                if ( !layoutAbovePrevious )
-                    {
-                    TInt width =
-                        aNode.BorderRect().Width() + marginLeft + marginRight;
-                    if ( aColumnMargin < marginLeft )
-                        {
-                        width -= aColumnMargin;
-                        }
-                    else
-                        {
-                        width -= marginLeft;
-                        }
-                    if ( width + aColumnWidth <= aParentRect.Width() )
-                        {
-                        offsety = aParentRect.iBr.iY - marginBottom -
-                            aNode.BorderRect().Height();
-                        if ( aColumnMargin < marginLeft )
-                            {
-                            offsetx = aParentRect.iTl.iX + aColumnWidth -
-                                aColumnMargin + marginLeft;
-                            }
-                        else
-                            {
-                            offsetx = aParentRect.iTl.iX + aColumnWidth;
-                            }
-                        }
-                    else
-                        {
-                        layoutAbovePrevious = ETrue;
-                        }
-                    }
-                if ( layoutAbovePrevious )
-                    {
-                    offsetx =
-                        aPreviousSibling->MarginRect().iTl.iX + marginLeft;
-                    if ( prevMarginTop > marginBottom )
-                        {
-                        // margin of this node is collapsed
-                        offsety = previousMarginRect.iTl.iY -
-                            aNode.BorderRect().Height();
-                        }
-                    else
-                        {
-                        // margin of the previous node is collapsed
-                        offsety = previousBorderRect.iTl.iY - marginBottom -
-                            aNode.BorderRect().Height();
-                        }
-                    }
-                }
-            else
-                {
-                offsetx = aParentRect.iTl.iX + marginLeft;
-                offsety = aParentRect.iBr.iY - marginBottom -
-                    aNode.BorderRect().Height();
-                }
-            }
-
-        //   LTR , LR
-        //  *********
-        //  | 5 | 6 |
-        //  | 3 | 4 |
-        //  | 1 | 2 |
-        //  *********
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KLR )
-            {
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                TBool layoutNextToPrevious( EFalse );
-                TInt width =
-                    aNode.BorderRect().Width() + marginRight + marginLeft;
-                TInt prevMarginRight =
-                    previousMarginRect.iBr.iX - previousBorderRect.iBr.iX;
-                if ( prevMarginRight < marginLeft )
-                    {
-                    width -= prevMarginRight;
-                    }
-                else
-                    {
-                    width -= marginLeft;
-                    }
-                if ( width <= aParentRect.iBr.iX - previousMarginRect.iBr.iX )
-                    {
-                    layoutNextToPrevious = ETrue;
-                    }
-
-                if ( !layoutNextToPrevious )
-                    {
-                    TInt height = aNode.BorderRect().Height() + marginTop +
-                        marginBottom;
-                    if ( aColumnMargin < marginBottom )
-                        {
-                        height -= aColumnMargin;
-                        }
-                    else
-                        {
-                        height -= marginBottom;
-                        }
-                    if ( height + aColumnWidth <= aParentRect.Height() )
-                        {
-                        offsetx = aParentRect.iTl.iX + marginLeft;
-                        if ( aColumnMargin < marginTop )
-                            {
-                            offsety = aParentRect.iBr.iY - aColumnWidth +
-                                aColumnMargin - aNode.BorderRect().Height() -
-                                marginBottom;
-                            }
-                        else
-                            {
-                            offsety = aParentRect.iBr.iY - aColumnWidth -
-                                aNode.BorderRect().Height();
-                            }
-                        }
-                    else
-                        {
-                        layoutNextToPrevious = ETrue;
-                        }
-                    }
-                if ( layoutNextToPrevious )
-                    {
-                    offsety = aPreviousSibling->MarginRect().iBr.iY -
-                        aNode.BorderRect().Height() - marginBottom;
-                    if ( prevMarginRight > marginLeft )
-                        {
-                        // margin of this node is collapsed
-                        offsetx = previousMarginRect.iBr.iX;
-                        }
-                    else
-                        {
-                        // margin of the previous node is collapsed
-                        offsetx = previousBorderRect.iBr.iX + marginLeft;
-                        }
-                    }
-                }
-            else
-                {
-                offsetx = aParentRect.iTl.iX + marginLeft;
-                offsety = aParentRect.iBr.iY - aNode.BorderRect().Height() -
-                    marginBottom;
-                }
-            }
-
-        //   LTR , RL
-        //  *********
-        //  | 1 | 2 |
-        //  | 3 | 4 |
-        //  | 5 | 6 |
-        //  *********
-
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KRL )
-            {
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                TBool layoutNextToPrevious( EFalse );
-                TInt width =
-                    aNode.BorderRect().Width() + marginRight + marginLeft;
-                TInt prevMarginRight =
-                    previousMarginRect.iBr.iX - previousBorderRect.iBr.iX;
-                if ( prevMarginRight < marginLeft )
-                    {
-                    width -= prevMarginRight;
-                    }
-                else
-                    {
-                    width -= marginLeft;
-                    }
-                if ( width <= aParentRect.iBr.iX - previousMarginRect.iBr.iX )
-                    {
-                    layoutNextToPrevious = ETrue;
-                    }
-
-                if ( !layoutNextToPrevious )
-                    {
-                    TInt height =
-                        aNode.BorderRect().Height() + marginTop + marginBottom;
-                    if ( aColumnMargin < marginTop )
-                        {
-                        height -= aColumnMargin;
-                        }
-                    else
-                        {
-                        height -= marginTop;
-                        }
-                    if ( height + aColumnWidth <= aParentRect.Height() )
-                        {
-                        offsetx = aParentRect.iTl.iX + marginLeft;
-                        if ( aColumnMargin < marginTop )
-                            {
-                            offsety = aParentRect.iTl.iY + aColumnWidth -
-                                aColumnMargin + marginTop;
-                            }
-                        else
-                            {
-                            offsety = aParentRect.iTl.iY + aColumnWidth;
-                            }
-                        }
-                    else
-                        {
-                        layoutNextToPrevious = ETrue;
-                        }
-                    }
-                if ( layoutNextToPrevious )
-                    {
-                    offsety = aPreviousSibling->MarginRect().iTl.iY + marginTop;
-                    if ( prevMarginRight > marginLeft )
-                        {
-                        // margin of this node is collapsed
-                        offsetx = previousMarginRect.iBr.iX;
-                        }
-                    else
-                        {
-                        // margin of the previous node is collapsed
-                        offsetx = previousBorderRect.iBr.iX + marginLeft;
-                        }
-                    }
-                }
-            else
-                {
-                offsetx = aParentRect.iTl.iX + marginLeft;
-                offsety = aParentRect.iTl.iY + marginTop;
-                }
-            }
-        }
-
-    else
-        {
-        //   RTL , TB
-        //  *********
-        //  | 4 | 1 |
-        //  | 5 | 2 |
-        //  | 6 | 3 |
-        //  *********
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB )
-            {
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                TBool layoutUnderPrevious( EFalse );
-                TInt height = aNode.MarginRect().Height();
-                TInt prevMarginBottom =
-                    previousMarginRect.iBr.iY - previousBorderRect.iBr.iY;
-                if ( prevMarginBottom < marginTop )
-                    {
-                    height -= prevMarginBottom;
-                    }
-                else
-                    {
-                    height -= marginTop;
-                    }
-                if ( height <= aParentRect.iBr.iY - previousMarginRect.iBr.iY )
-                    {
-                    layoutUnderPrevious = ETrue;
-                    }
-
-                if ( !layoutUnderPrevious )
-                    {
-                    TInt width =
-                        aNode.BorderRect().Width() + marginLeft + marginRight;
-                    if ( aColumnMargin < marginLeft )
-                        {
-                        width -= aColumnMargin;
-                        }
-                    else
-                        {
-                        width -= marginLeft;
-                        }
-                    if ( width + aColumnWidth <= aParentRect.Width() )
-                        {
-                        offsety = aParentRect.iTl.iY + marginTop;
-                        if ( aColumnMargin < marginLeft )
-                            {
-                            offsetx = aParentRect.iBr.iX - aColumnWidth +
-                                aColumnMargin - marginRight -
-                                aNode.BorderRect().Width();
-                            }
-                        else
-                            {
-                            offsetx = aParentRect.iBr.iX - aColumnWidth -
-                                aNode.BorderRect().Width();
-                            }
-                        }
-                    else
-                        {
-                        layoutUnderPrevious = ETrue;
-                        }
-                    }
-                if ( layoutUnderPrevious )
-                    {
-                    offsetx = aPreviousSibling->MarginRect().iBr.iX -
-                        marginRight - aNode.BorderRect().Width();
-                    if ( prevMarginBottom > marginTop )
-                        {
-                        offsety = previousMarginRect.iBr.iY;
-                        }
-                    else
-                        {
-                        offsety = previousBorderRect.iBr.iY + marginTop;
-                        }
-                    }
-                }
-            else
-                {
-                offsetx = aParentRect.iBr.iX - marginRight -
-                    aNode.BorderRect().Width();
-                offsety = aParentRect.iTl.iY + marginTop;
-                }
-            }
-
-        //   RTL , BT
-        //  *********
-        //  | 6 | 3 |
-        //  | 5 | 2 |
-        //  | 4 | 1 |
-        //  *********
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KBT )
-            {
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                TBool layoutAbovePrevious( EFalse );
-                TInt height =
-                    aNode.BorderRect().Height() + marginTop + marginBottom;
-                TInt prevMarginTop =
-                    previousBorderRect.iTl.iY - previousMarginRect.iTl.iY;
-                if ( prevMarginTop < marginBottom )
-                    {
-                    height -= prevMarginTop;
-                    }
-                else
-                    {
-                    height -= marginBottom;
-                    }
-                if ( height <= previousMarginRect.iTl.iY - aParentRect.iTl.iY )
-                    {
-                    layoutAbovePrevious = ETrue;
-                    }
-
-                if ( !layoutAbovePrevious )
-                    {
-                    TInt width =
-                        aNode.BorderRect().Width() + marginLeft + marginRight;
-                    if ( aColumnMargin < marginRight )
-                        {
-                        width -= aColumnMargin;
-                        }
-                    else
-                        {
-                        width -= marginRight;
-                        }
-                    if ( width + aColumnWidth <= aParentRect.Width() )
-                        {
-                        offsety = aParentRect.iBr.iY - marginBottom -
-                            aNode.BorderRect().Height();
-                        if ( aColumnMargin < marginLeft )
-                            {
-                            offsetx = aParentRect.iBr.iX - aColumnWidth +
-                                aColumnMargin - marginRight -
-                                aNode.BorderRect().Width();
-                            }
-                        else
-                            {
-                            offsetx = aParentRect.iBr.iX - aColumnWidth -
-                                aNode.BorderRect().Width();
-                            }
-                        }
-                    else
-                        {
-                        layoutAbovePrevious = ETrue;
-                        }
-                    }
-                if ( layoutAbovePrevious )
-                    {
-                    offsetx = aPreviousSibling->MarginRect().iBr.iX -
-                        marginRight - aNode.BorderRect().Width();
-                    if ( prevMarginTop > marginBottom )
-                        {
-                        // margin of this node is collapsed
-                        offsety = previousMarginRect.iTl.iY -
-                            aNode.BorderRect().Height();
-                        }
-                    else
-                        {
-                        // margin of the previous node is collapsed
-                        offsety = previousBorderRect.iTl.iY - marginBottom -
-                            aNode.BorderRect().Height();
-                        }
-                    }
-                }
-            else
-                {
-                offsetx = aParentRect.iBr.iX - marginRight -
-                    aNode.BorderRect().Width();
-                offsety = aParentRect.iBr.iY - marginBottom -
-                    aNode.BorderRect().Height();
-                }
-            }
-
-        //   RTL , LR
-        //  *********
-        //  | 6 | 5 |
-        //  | 4 | 3 |
-        //  | 2 | 1 |
-        //  *********
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KLR )
-            {
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                TBool layoutNextToPrevious( EFalse );
-                TInt width =
-                    aNode.BorderRect().Width() + marginRight + marginLeft;
-                TInt prevMarginLeft =
-                    previousBorderRect.iTl.iX - previousMarginRect.iTl.iX;
-                if ( prevMarginLeft < marginRight )
-                    {
-                    width -= prevMarginLeft;
-                    }
-                else
-                    {
-                    width -= marginRight;
-                    }
-                if ( width <= previousMarginRect.iTl.iX - aParentRect.iTl.iX )
-                    {
-                    layoutNextToPrevious = ETrue;
-                    }
-
-                if ( !layoutNextToPrevious )
-                    {
-                    TInt height =
-                        aNode.BorderRect().Height() + marginTop + marginBottom;
-                    if ( aColumnMargin < marginBottom )
-                        {
-                        height -= aColumnMargin;
-                        }
-                    else
-                        {
-                        height -= marginBottom;
-                        }
-                    if ( height + aColumnWidth <= aParentRect.Height() )
-                        {
-                        offsetx = aParentRect.iBr.iX - marginRight -
-                            aNode.BorderRect().Width();
-                        if ( aColumnMargin < marginTop )
-                            {
-                            offsety = aParentRect.iBr.iY - aColumnWidth +
-                                aColumnMargin - aNode.BorderRect().Height() -
-                                marginBottom;
-                            }
-                        else
-                            {
-                            offsety = aParentRect.iBr.iY - aColumnWidth -
-                                aNode.BorderRect().Height();
-                            }
-                        }
-                    else
-                        {
-                        layoutNextToPrevious = ETrue;
-                        }
-                    }
-                if ( layoutNextToPrevious )
-                    {
-                    offsety = aPreviousSibling->MarginRect().iBr.iY -
-                        aNode.BorderRect().Height() - marginBottom;
-                    if ( prevMarginLeft > marginRight )
-                        {
-                        offsetx = previousMarginRect.iTl.iX -
-                            aNode.BorderRect().Width();
-                        }
-                    else
-                        {
-                        offsetx = previousBorderRect.iTl.iX - marginRight -
-                            aNode.BorderRect().Width();
-                        }
-                    }
-                }
-            else
-                {
-                offsetx = aParentRect.iBr.iX - marginRight -
-                    aNode.BorderRect().Width();
-                offsety = aParentRect.iBr.iY - marginBottom -
-                    aNode.BorderRect().Height();
-                }
-            }
-
-        //   RTL , RL
-        //  *********
-        //  | 2 | 1 |
-        //  | 4 | 3 |
-        //  | 6 | 5 |
-        //  *********
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KRL )
-            {
-            if ( aPreviousSibling )
-                {
-                TRect previousMarginRect = aPreviousSibling->MarginRect();
-                TRect previousBorderRect = aPreviousSibling->BorderRect();
-                TBool layoutNextToPrevious( EFalse );
-                TInt width =
-                    aNode.BorderRect().Width() + marginRight + marginLeft;
-                TInt prevMarginLeft =
-                    previousBorderRect.iTl.iX - previousMarginRect.iTl.iX;
-                if ( prevMarginLeft < marginRight )
-                    {
-                    width -= prevMarginLeft;
-                    }
-                else
-                    {
-                    width -= marginRight;
-                    }
-                if ( width <= previousMarginRect.iTl.iX - aParentRect.iTl.iX )
-                    {
-                    layoutNextToPrevious = ETrue;
-                    }
-                if ( !layoutNextToPrevious )
-                    {
-                    TInt height =
-                        aNode.BorderRect().Height() + marginTop + marginBottom;
-                    if ( aColumnMargin < marginTop )
-                        {
-                        height -= aColumnMargin;
-                        }
-                    else
-                        {
-                        height -= marginTop;
-                        }
-                    if ( height + aColumnWidth <= aParentRect.Height() )
-                        {
-                        offsetx = aParentRect.iBr.iX - marginRight -
-                            aNode.BorderRect().Width();
-                        if ( aColumnMargin < marginTop )
-                            {
-                            offsety = aParentRect.iTl.iY + aColumnWidth -
-                                aColumnMargin + marginTop;
-                            }
-                        else
-                            {
-                            offsety = aParentRect.iTl.iY + aColumnWidth;
-                            }
-                        }
-                    else
-                        {
-                        layoutNextToPrevious = ETrue;
-                        }
-                    }
-                if ( layoutNextToPrevious )
-                    {
-                    offsety = aPreviousSibling->MarginRect().iTl.iY + marginTop;
-                    if ( prevMarginLeft > marginRight )
-                        {
-                        offsetx = previousMarginRect.iTl.iX -
-                            aNode.BorderRect().Width();
-                        }
-                    else
-                        {
-                        offsetx = previousBorderRect.iTl.iX - marginRight -
-                            aNode.BorderRect().Width();
-                        }
-                    }
-                }
-            else
-                {
-                offsetx = aParentRect.iBr.iX - marginRight -
-                    aNode.BorderRect().Width();
-                offsety = aParentRect.iTl.iY + marginTop;
-                }
-            }
-        }
-
-    TRect borderRect = TRect( aNode.BorderRect() );
-    TRect normalFlowBorderRect = TRect( aNode.NormalFlowBorderRect() );
-    // this is the top left corner of margin rect
-    TPoint origin( borderRect.iTl - TPoint( marginLeft, marginTop ) );
-
-    if ( &aParent != &aNode )
-        {
-        // set content rect
-        TRect newRect( aNode.Rect() );
-        newRect.Move( offsetx, offsety );
-        aNode.SetRect( newRect );
-
-        // set padding rect
-        TRect paddingRect( aNode.PaddingRect() );
-        paddingRect.Move( offsetx, offsety );
-        aNode.SetPaddingRect( paddingRect );
-
-        // set border rect
-        borderRect.Move( offsetx, offsety );
-        normalFlowBorderRect.Move( offsetx, offsety );
-        // this is the top left corner of margin rect
-        origin = TPoint( borderRect.iTl - TPoint( marginLeft, marginTop ) );
-        aNode.SetBorderRect( borderRect );
-        aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-        }
-
-    TRect marginRect( origin,
-        TSize( marginLeft + marginRight + borderRect.Width(),
-        marginTop + marginBottom + borderRect.Height() ) );
-
-    aNode.SetMarginRect( marginRect );
-
-    // Within this function, the rects are adjusted if the display-priority is
-    // 0 and margin rect exceeds parent's content rect.
-    DropExceedingRectL( aParentRect, aNode );
-
-    // Update column width & column margin width according to block
-    // progression & direction.
-    if ( aParentBlockProgression ==
-        XnPropertyNames::style::common::block_progression::KRL )
-        {
-        TInt newColumnWidth = marginRect.iBr.iY - aParentRect.iTl.iY;
-        if ( newColumnWidth > aColumnWidth )
-            {
-            aColumnWidth = newColumnWidth;
-            aColumnMargin = marginRect.iBr.iY - borderRect.iBr.iY;
-            }
-        }
-    else if ( aParentBlockProgression ==
-              XnPropertyNames::style::common::block_progression::KLR )
-        {
-        TInt newColumnWidth = aParentRect.iBr.iY - marginRect.iTl.iY;
-        if ( newColumnWidth > aColumnWidth )
-            {
-            aColumnWidth = newColumnWidth;
-            aColumnMargin = borderRect.iTl.iY - marginRect.iTl.iY;
-            }
-        }
-    else if ( aParentDirection ==
-              XnPropertyNames::style::common::direction::KLTR )
-        {
-        // same for tb and bt
-        TInt newColumnWidth = marginRect.iBr.iX - aParentRect.iTl.iX;
-        if ( newColumnWidth > aColumnWidth )
-            {
-            aColumnWidth = newColumnWidth;
-            aColumnMargin = marginRect.iBr.iX - borderRect.iBr.iX;
-            }
-        }
-    else if ( aParentDirection ==
-              XnPropertyNames::style::common::direction::KRTL )
-        {
-        // same for tb and bt
-        TInt newColumnWidth = aParentRect.iBr.iX - marginRect.iTl.iX;
-        if ( newColumnWidth > aColumnWidth )
-            {
-            aColumnWidth = newColumnWidth;
-            aColumnMargin = borderRect.iTl.iX - marginRect.iTl.iX;
-            }
-        }
-
-    if ( IsNodeTooltip( aNode ) )
-        {
-        // because tooltip has it's own window, move margin rect to 0,0
-        // and all other rects as much up left
-        TRect marginRect = aNode.MarginRect();
-        TRect borderRect = aNode.BorderRect();
-        TRect paddingRect = aNode.PaddingRect();
-        TRect contentRect = aNode.Rect();
-        TInt x = marginRect.iTl.iX;
-        TInt y = marginRect.iTl.iY;
-        marginRect.Move( -x, -y );
-        borderRect.Move( -x, -y );
-        paddingRect.Move( -x, -y );
-        contentRect.Move( -x, -y );
-        aNode.SetMarginRect( marginRect );
-        aNode.SetBorderRect( borderRect );
-        aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-        aNode.SetPaddingRect( paddingRect );
-        aNode.SetRect( contentRect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CalculatePaddingL()
-// Move the rect by adding the padding.
-// -----------------------------------------------------------------------------
-//
-static void CalculatePaddingL( const TRect& aParentRect, CXnNode& aNode,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    TInt offsetx = 0;
-    TInt offsety = 0;
-
-    TInt paddingleft = 0;
-    TInt paddingright = 0;
-    TInt paddingtop = 0;
-    TInt paddingbottom = 0;
-    TRect parentRect = aParentRect;
-
-    CXnProperty* paddingproperty = aNode.PaddingLeftL();
-
-    if ( paddingproperty )
-        {
-        TRAPD( error, paddingleft = HorizontalPixelValueL( paddingproperty,
-            parentRect.Width(), aGraphicsDevice, aHorizontalUnitInPixels ) );
-
-        if ( error != KErrNone )
-            {
-            paddingleft = 0;
-            }
-        }
-
-    paddingproperty = aNode.PaddingRightL();
-
-    if ( paddingproperty )
-        {
-        TRAPD( error, paddingright = HorizontalPixelValueL( paddingproperty,
-            parentRect.Width(), aGraphicsDevice, aHorizontalUnitInPixels ) );
-
-        if ( error != KErrNone )
-            {
-            paddingright = 0;
-            }
-        }
-
-    paddingproperty = aNode.PaddingTopL();
-
-    if ( paddingproperty )
-        {
-        TRAPD( error, paddingtop = VerticalPixelValueL( paddingproperty,
-            parentRect.Height(), aGraphicsDevice, aVerticalUnitInPixels ) );
-
-        if ( error != KErrNone )
-            {
-            paddingtop = 0;
-            }
-        }
-
-    paddingproperty = aNode.PaddingBottomL();
-
-    if ( paddingproperty )
-        {
-        TRAPD( error, paddingbottom = VerticalPixelValueL( paddingproperty,
-            parentRect.Height(), aGraphicsDevice, aVerticalUnitInPixels ) );
-
-        if ( error != KErrNone )
-            {
-            paddingbottom = 0;
-            }
-        }
-
-    // move the client rect of the element this much right
-    offsetx = paddingleft;
-    //  move the client rect of the element this much down
-    offsety = paddingtop;
-
-    TRect newrect( aNode.Rect() );
-    TPoint origin( newrect.iTl );
-    newrect.Move( offsetx, offsety );
-    aNode.SetRect( newrect );
-
-    // set padding rect
-    TRect paddingrect( origin, TSize( paddingleft + paddingright +
-        newrect.Width(), paddingtop + paddingbottom + newrect.Height() ) );
-
-    aNode.SetPaddingRect( paddingrect );
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateRectL()
-// Creates rect for CXnComponent.
-// -----------------------------------------------------------------------------
-//
-static void CalculateRectL( CXnNode& aNode, CXnNode& aParent,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    TInt width = 0;
-    TInt height = 0;
-    TRect parentRect = aParent.Rect();
-    CXnProperty* widthproperty = aNode.WidthL();
-
-    if ( widthproperty )
-        {
-        // if width is auto, it is set to 0 at this point and calculated later
-        if ( IsPropertyAutoL( *widthproperty ) )
-            {
-            width = 0;
-            }
-        else
-            {
-            width = HorizontalPixelValueL( widthproperty, parentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-
-    CXnProperty* heightproperty = aNode.HeightL();
-
-    if ( heightproperty )
-        {
-        // if height is auto, height is set to 0 at this point
-        // and calculated later
-        if ( IsPropertyAutoL( *heightproperty ) )
-            {
-            height = 0;
-            }
-        else
-            {
-            height = VerticalPixelValueL( heightproperty, parentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        }
-
-    // check that rect sizes are in max and min bounds
-    CXnProperty* maxheightproperty = aNode.MaxHeightL();
-    CXnProperty* minheightproperty = aNode.MinHeightL();
-    CXnProperty* maxwidthproperty = aNode.MaxWidthL();
-    CXnProperty* minwidthproperty = aNode.MinWidthL();
-
-    if ( maxwidthproperty )
-        {
-        if ( !IsPropertyNone( *maxwidthproperty ) )
-            {
-            TInt maxwidth = HorizontalPixelValueL(
-                maxwidthproperty, parentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-
-            if ( width > maxwidth )
-                {
-                width = maxwidth;
-                }
-            }
-        }
-
-    if ( minwidthproperty )
-        {
-        if ( !IsPropertyNone( *minwidthproperty ) )
-            {
-            TInt minwidth = HorizontalPixelValueL(
-                minwidthproperty, parentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-
-            if ( width < minwidth )
-                {
-                width = minwidth;
-                }
-            }
-        }
-
-    if ( maxheightproperty )
-        {
-        if ( !IsPropertyNone( *maxheightproperty ) )
-            {
-            TInt maxheight = VerticalPixelValueL(
-                maxheightproperty, parentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-
-            if ( height > maxheight )
-                {
-                height = maxheight;
-                }
-            }
-        }
-
-    if ( minheightproperty )
-        {
-        if ( !IsPropertyNone( *minheightproperty ) )
-            {
-            TInt minheight = VerticalPixelValueL(
-                minheightproperty, parentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-
-            if ( height < minheight )
-                {
-                height = minheight;
-                }
-            }
-        }
-
-    if ( aNode.ViewNodeImpl() && height != 0 && width != 0 )
-        {
-        TRect rect( 0, 0, width, height );
-        TRect paddingrect( 0, 0, width, height );
-        TRect borderrect( 0, 0, width, height );
-        TRect normalFlowBorderRect( 0, 0, width, height );
-        TRect marginrect( 0, 0, width, height );
-
-        aNode.SetRect( rect );
-        aNode.SetPaddingRect( paddingrect );
-        aNode.SetBorderRect( borderrect );
-        aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-        aNode.SetMarginRect( marginrect );
-        }
-    else if ( !aNode.ViewNodeImpl() )
-        {
-        TInt adaptive( aNode.IsAdaptive() );
-
-        if ( adaptive && ( IsNodeTooltip( aNode ) || IsAbsoluteL( aNode ) ) )
-            {
-            CXnUiEngine* engine( aNode.UiEngine() );
-
-            TSize maxSize( engine->ClientRect().Size() );
-
-            if ( adaptive & XnAdaptive::EHeight )
-                {
-                height = maxSize.iHeight;
-                }
-            if ( adaptive & XnAdaptive::EWidth )
-                {
-                width = maxSize.iWidth;
-                }
-            }
-
-        TRect rect( 0, 0, width, height );
-        TRect paddingrect( 0, 0, width, height );
-        TRect borderrect( 0, 0, width, height );
-        TRect normalFlowBorderRect( 0, 0, width, height );
-        TRect marginrect( 0, 0, width, height );
-
-        aNode.SetRect( rect );
-        aNode.SetPaddingRect( paddingrect );
-        aNode.SetBorderRect( borderrect );
-        aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-        aNode.SetMarginRect( marginrect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateRelativePositionL()
-// Move the rect by it's relative position.
-// -----------------------------------------------------------------------------
-//
-static void CalculateRelativePositionsL( const TRect& aParentRect,
-    CXnNode& aNode, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels )
-    {
-    CXnProperty* top = aNode.TopL();
-    CXnProperty* bottom = aNode.BottomL();
-    CXnProperty* left = aNode.LeftL();
-    CXnProperty* right = aNode.RightL();
-
-    // Move rect by offset
-    TRect newRect( aNode.Rect() );
-    TRect paddingRect( aNode.PaddingRect() );
-    TRect borderRect( aNode.BorderRect() );
-    TRect marginRect( aNode.MarginRect() );
-
-    TRect parentRect = aParentRect;
-
-    if ( top && !IsPropertyAutoL( *top ) )
-        {
-        newRect.Move( 0, VerticalPixelValueL( top, parentRect.Height(),
-            aGraphicsDevice, aVerticalUnitInPixels ) );
-        paddingRect.Move( 0, VerticalPixelValueL( top, parentRect.Height(),
-            aGraphicsDevice, aVerticalUnitInPixels ) );
-        borderRect.Move( 0, VerticalPixelValueL( top, parentRect.Height(),
-            aGraphicsDevice, aVerticalUnitInPixels ) );
-        marginRect.Move( 0, VerticalPixelValueL( top, parentRect.Height(),
-            aGraphicsDevice, aVerticalUnitInPixels ) );
-        }
-    if ( bottom && !IsPropertyAutoL( *bottom ) )
-        {
-        newRect.Move( 0, -VerticalPixelValueL( bottom, parentRect.Height(),
-            aGraphicsDevice, aVerticalUnitInPixels ) );
-        paddingRect.Move( 0, -VerticalPixelValueL( bottom, parentRect.Height(),
-            aGraphicsDevice, aVerticalUnitInPixels ) );
-        borderRect.Move( 0, -VerticalPixelValueL( bottom, parentRect.Height(),
-            aGraphicsDevice, aVerticalUnitInPixels ) );
-        marginRect.Move( 0, -VerticalPixelValueL( bottom, parentRect.Height(),
-            aGraphicsDevice, aVerticalUnitInPixels ) );
-        }
-    if ( left && !IsPropertyAutoL( *left ) )
-        {
-        newRect.Move( HorizontalPixelValueL( left, parentRect.Width(),
-            aGraphicsDevice, aHorizontalUnitInPixels ), 0 );
-        paddingRect.Move( HorizontalPixelValueL( left, parentRect.Width(),
-            aGraphicsDevice, aHorizontalUnitInPixels ), 0 );
-        borderRect.Move( HorizontalPixelValueL( left, parentRect.Width(),
-            aGraphicsDevice, aHorizontalUnitInPixels ), 0 );
-        marginRect.Move( HorizontalPixelValueL( left, parentRect.Width(),
-            aGraphicsDevice, aHorizontalUnitInPixels ), 0 );
-        }
-    if ( right && !IsPropertyAutoL( *right ) )
-        {
-        newRect.Move( -HorizontalPixelValueL( right, parentRect.Width(),
-            aGraphicsDevice, aHorizontalUnitInPixels ), 0 );
-        paddingRect.Move( -HorizontalPixelValueL( right, parentRect.Width(),
-            aGraphicsDevice, aHorizontalUnitInPixels ), 0 );
-        borderRect.Move( -HorizontalPixelValueL( right, parentRect.Width(),
-            aGraphicsDevice, aHorizontalUnitInPixels ), 0 );
-        marginRect.Move( -HorizontalPixelValueL( right, parentRect.Width(),
-            aGraphicsDevice, aHorizontalUnitInPixels ), 0 );
-        }
-
-    aNode.SetRect( newRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetMarginRect( marginRect );
-
-    DropExceedingRectL( parentRect, aNode, ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateSpaceUsedByChildrenL()
-// Return space used by node's children.
-// -----------------------------------------------------------------------------
-//
-static TSize CalculateSpaceUsedByChildrenL( RPointerArray< CXnNode >& aChildren,
-    CXnNode& aNode, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, CGraphicsDevice& aScreenDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels )
-    {
-    TInt usedSiblingHeight( 0 );
-    TInt usedSiblingWidth( 0 );
-
-    TRect rect( aNode.Rect() );
-
-    TSize largestSize( 0, 0 );
-
-    for ( TInt i = 0; i < aChildren.Count(); i++ )
-        {
-        CXnNode* node( aChildren[i] );
-
-        if ( IsNodeDisplayedL( *node ) && !node->IsDropped() &&
-             !IsAbsoluteL( *node ) && !IsNodeTooltip( *node ) )
-            {
-            TSize siblingSize = CalculateTotalDimensionsL( *node, ETrue,
-                EFalse, rect, aScreenDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-
-            if ( node->IsAdaptive() )
-                {
-                RPointerArray< CXnNode >& children( node->Children() );
-
-                CXnProperty* blockProgressionProperty(
-                    node->BlockProgressionL() );
-                CXnProperty* directionProperty( node->DirectionL() );
-
-                const TDesC8* blockProgression(
-                    &XnPropertyNames::style::common::block_progression::KTB() );
-                const TDesC8* direction(
-                    &XnPropertyNames::style::common::direction::KLTR() );
-
-                if ( directionProperty )
-                    {
-                    direction = &directionProperty->StringValue();
-                    }
-
-                if ( blockProgressionProperty )
-                    {
-                    blockProgression = &blockProgressionProperty->StringValue();
-                    }
-
-                siblingSize += CalculateSpaceUsedByChildrenL( children, aNode,
-                    *blockProgression, *direction,
-                    aScreenDevice, aHorizontalUnitInPixels,
-                    aVerticalUnitInPixels );
-                }
-
-            if ( siblingSize.iWidth > largestSize.iWidth )
-                {
-                largestSize.iWidth = siblingSize.iWidth;
-                }
-            if ( siblingSize.iHeight > largestSize.iHeight )
-                {
-                largestSize.iHeight = siblingSize.iHeight;
-                }
-
-            if ( aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KTB )
-                {
-                usedSiblingHeight += siblingSize.iHeight;
-                usedSiblingWidth = largestSize.iWidth;
-                }
-
-            if ( aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KLR ||
-                 aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KRL )
-                {
-                usedSiblingWidth += siblingSize.iWidth;
-                usedSiblingHeight = largestSize.iHeight;
-                }
-
-            // collapse margins
-            if ( aChildren.Count() < i )
-                {
-                CXnNode* next( aChildren[i + 1] );
-
-                if ( ( aParentBlockProgression ==
-                       XnPropertyNames::style::common::block_progression::KLR ||
-                       aParentBlockProgression ==
-                       XnPropertyNames::style::common::
-                       block_progression::KRL ) && aParentDirection ==
-                       XnPropertyNames::style::common::direction::KLTR )
-                    {
-                    TInt thisSiblingsRightMargin =
-                        node->MarginRect().iBr.iX - node->BorderRect().iBr.iX;
-                    TInt nextSiblingsLeftMargin =
-                        next->BorderRect().iTl.iX - next->MarginRect().iTl.iX;
-
-                    if ( nextSiblingsLeftMargin > thisSiblingsRightMargin )
-                        {
-                        usedSiblingWidth -= thisSiblingsRightMargin;
-                        }
-                    }
-
-                if ( ( aParentBlockProgression ==
-                       XnPropertyNames::style::common::block_progression::KRL ||
-                       aParentBlockProgression ==
-                       XnPropertyNames::style::common
-                       ::block_progression::KLR ) && aParentDirection ==
-                       XnPropertyNames::style::common::direction::KRTL )
-                    {
-                    TInt thisSiblingsLeftMargin =
-                        node->MarginRect().iTl.iX - node->BorderRect().iTl.iX;
-                    TInt nextSiblingsRightMargin =
-                        next->BorderRect().iBr.iX - next->MarginRect().iBr.iX;
-
-                    if ( nextSiblingsRightMargin > thisSiblingsLeftMargin )
-                        {
-                        usedSiblingWidth =- thisSiblingsLeftMargin;
-                        }
-                    }
-
-                if ( ( aParentBlockProgression ==
-                       XnPropertyNames::style::common::block_progression::KTB ||
-                       aParentBlockProgression ==
-                       XnPropertyNames::style::common::
-                       block_progression::KBT ) && aParentDirection ==
-                       XnPropertyNames::style::common::direction::KLTR )
-                    {
-                    TInt thisSiblingsBottomMargin =
-                        node->MarginRect().iBr.iY - node->BorderRect().iBr.iY;
-                    TInt nextSiblingsTopMargin =
-                        next->BorderRect().iTl.iY - next->MarginRect().iTl.iY;
-
-                    if ( nextSiblingsTopMargin > thisSiblingsBottomMargin )
-                        {
-                        usedSiblingHeight -= thisSiblingsBottomMargin;
-                        }
-                    }
-
-                if ( ( aParentBlockProgression ==
-                       XnPropertyNames::style::common::block_progression::KTB ||
-                       aParentBlockProgression ==
-                       XnPropertyNames::style::common::
-                       block_progression::KBT ) && aParentDirection ==
-                       XnPropertyNames::style::common::direction::KRTL )
-                    {
-                    TInt thisSiblingsTopMargin =
-                        node->MarginRect().iTl.iY - node->BorderRect().iTl.iY;
-                    TInt nextSiblingsBottomMargin =
-                        next->BorderRect().iBr.iY - next->MarginRect().iBr.iY;
-
-                    if ( nextSiblingsBottomMargin > thisSiblingsTopMargin )
-                        {
-                        usedSiblingHeight -= thisSiblingsTopMargin;
-                        }
-                    }
-                }
-            }
-        }
-
-    return TSize( usedSiblingWidth, usedSiblingHeight );
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateTotalDimensionsL()
-// Scale dimensions for areas that have properties set to AUTO.
-// -----------------------------------------------------------------------------
-//
-static TSize CalculateTotalDimensionsL( CXnNode& aNode, TBool aIgnoreAutoValues,
-    TBool aIgnoreMinSizes, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    // AUTO areas return their defined dimensions if not ignored
-    // if ignored, 0 is returned as area dimensions
-    CXnProperty* width( aNode.WidthL() );
-    CXnProperty* height( aNode.HeightL() );
-    TInt adaptive( aNode.IsAdaptive() );
-    TBool autoNotFound( EFalse );
-
-    if ( adaptive )
-        {
-        // Force to measure adaptive size
-        aIgnoreAutoValues = EFalse;
-        autoNotFound = ETrue;
-        }
-    if ( aIgnoreAutoValues )
-        {
-        TInt horizontalAuto( HasNodeHorizontalAutoValuesL( aNode ) );
-        TInt verticalAuto( HasNodeVerticalAutoValuesL( aNode ) );
-        if ( horizontalAuto && verticalAuto )
-            {
-            return TSize( 0, 0 );
-            }
-        else if ( horizontalAuto )
-            {
-            TInt h = VerticalPixelValueL( height, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            return TSize( 0, h );
-            }
-        else if ( verticalAuto )
-            {
-            TInt w = HorizontalPixelValueL( width, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            return TSize( w, 0 );
-            }
-        autoNotFound = ETrue;
-        }
-
-    TInt x( 0 );
-    TInt y( 0 );
-
-    if ( !aIgnoreMinSizes )
-        {
-        if ( !autoNotFound && HasNodeAutoValuesL( aNode ) )
-            {
-            // if auto values, check minimum sizes
-            if ( height )
-                {
-                if ( IsPropertyAutoL( *height ) )
-                    {
-                    CXnProperty* minheight( aNode.MinHeightL() );
-                    if ( minheight )
-                        {
-                        if ( !IsPropertyNone( *minheight ) )
-                            {
-                            y += VerticalPixelValueL( minheight,
-                                aParentRect.Height(), aGraphicsDevice,
-                                aVerticalUnitInPixels );
-                            }
-                        }
-                    }
-                }
-            if ( width )
-                {
-                if ( IsPropertyAutoL( *width ) )
-                    {
-                    CXnProperty* minwidth( aNode.MinWidthL() );
-                    if ( minwidth )
-                        {
-                        if ( !IsPropertyNone( *minwidth ) )
-                            {
-                            x += HorizontalPixelValueL( minwidth,
-                                aParentRect.Width(), aGraphicsDevice,
-                                aHorizontalUnitInPixels );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-    CXnProperty* marginLeft = aNode.MarginLeftL();
-    CXnProperty* marginRight = aNode.MarginRightL();
-    CXnProperty* borderLeft = aNode.BorderLeftL();
-    CXnProperty* borderRight = aNode.BorderRightL();
-    CXnProperty* paddingLeft = aNode.PaddingLeftL();
-    CXnProperty* paddingRight = aNode.PaddingRightL();
-    CXnProperty* marginTop = aNode.MarginTopL();
-    CXnProperty* marginBottom = aNode.MarginBottomL();
-    CXnProperty* borderTop = aNode.BorderTopL();
-    CXnProperty* borderBottom = aNode.BorderBottomL();
-    CXnProperty* paddingTop = aNode.PaddingTopL();
-    CXnProperty* paddingBottom = aNode.PaddingBottomL();
-    CXnProperty* borderWidth = aNode.BorderWidthL();
-    CXnProperty* borderStyle = aNode.BorderStyleL();
-    CXnProperty* borderImage = aNode.BorderImageL();
-    CXnProperty* borderLeftStyle = aNode.BorderLeftStyleL();
-    CXnProperty* borderRightStyle = aNode.BorderRightStyleL();
-    CXnProperty* borderTopStyle = aNode.BorderTopStyleL();
-    CXnProperty* borderBottomStyle = aNode.BorderBottomStyleL();
-
-    TInt borderWidthValue( 0 );
-    TInt borderHeightValue( 0 );
-    TInt ignore;
-
-    if ( marginLeft )
-        {
-        if ( autoNotFound || !IsPropertyAutoL( *marginLeft ) )
-            {
-            x += HorizontalPixelValueL( marginLeft, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-    if ( marginRight )
-        {
-        if ( autoNotFound || !IsPropertyAutoL( *marginRight ) )
-            {
-            x += HorizontalPixelValueL( marginRight, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-    if ( paddingLeft )
-        {
-        TRAP_IGNORE( x += HorizontalPixelValueL( paddingLeft,
-            aParentRect.Width(), aGraphicsDevice, aHorizontalUnitInPixels ) );
-        }
-    if ( paddingRight )
-        {
-        TRAP_IGNORE( x += HorizontalPixelValueL( paddingRight,
-            aParentRect.Width(), aGraphicsDevice, aHorizontalUnitInPixels ) );
-        }
-    if ( marginTop )
-        {
-        if ( autoNotFound || !IsPropertyAutoL( *marginTop ) )
-            {
-            y += VerticalPixelValueL( marginTop, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        }
-    if ( marginBottom )
-        {
-        if ( autoNotFound || !IsPropertyAutoL( *marginBottom ) )
-            {
-            y += VerticalPixelValueL( marginBottom, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        }
-    if ( paddingTop )
-        {
-        TRAP_IGNORE( y += VerticalPixelValueL( paddingTop,
-            aParentRect.Height(), aGraphicsDevice, aVerticalUnitInPixels ) );
-        }
-    if ( paddingBottom )
-        {
-        TRAP_IGNORE( y += VerticalPixelValueL( paddingBottom,
-            aParentRect.Height(), aGraphicsDevice, aVerticalUnitInPixels ) );
-        }
-    // is border image or border style defined?
-    // if not, borders are ignored
-    if ( borderWidth )
-        {
-        if ( borderImage || borderStyle )
-            {
-            DetermineBorderWidthsL( borderWidth, borderWidthValue,
-                borderHeightValue, aParentRect, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels );
-            x += ( borderWidthValue * 2 );
-            y += ( borderHeightValue * 2 );
-            }
-        }
-    if ( borderLeft )
-        {
-        if ( borderImage || borderStyle || borderLeftStyle )
-            {
-            x -= borderWidthValue;
-            TInt borderLeftValue( 0 );
-            DetermineBorderWidthsL( borderLeft, ignore, borderLeftValue,
-                aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-            x += borderLeftValue;
-            }
-        }
-    if ( borderRight )
-        {
-        if ( borderImage || borderStyle || borderRightStyle )
-            {
-            x -= borderWidthValue;
-            TInt borderRightValue( 0 );
-            DetermineBorderWidthsL( borderRight, ignore, borderRightValue,
-                aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-            x += borderRightValue;
-            }
-        }
-    if ( borderTop )
-        {
-        if ( borderImage || borderStyle || borderTopStyle )
-            {
-            y -= borderHeightValue;
-            TInt borderTopValue( 0 );
-            DetermineBorderWidthsL( borderTop, borderTopValue, ignore,
-                aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-            y += borderTopValue;
-            }
-        }
-    if ( borderBottom )
-        {
-        if ( borderImage || borderStyle || borderBottomStyle )
-            {
-            y -= borderHeightValue;
-            TInt borderBottomValue( 0 );
-            DetermineBorderWidthsL( borderBottom, borderBottomValue, ignore,
-                aParentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-            y += borderBottomValue;
-            }
-        }
-
-    TInt maxHeight( 0 );
-    TInt maxWidth( 0 );
-    TInt minHeight( 0 );
-    TInt minWidth( 0 );
-
-    if ( HasNodeMinSizesL( aNode ) )
-        {
-        CXnProperty* heightproperty( aNode.HeightL() );
-        CXnProperty* widthproperty( aNode.WidthL() );
-        if ( heightproperty )
-            {
-            CXnProperty* minheightproperty( aNode.MinHeightL() );
-            if ( minheightproperty )
-                {
-                if ( !IsPropertyNone( *minheightproperty ) )
-                    {
-                    minHeight = VerticalPixelValueL( minheightproperty,
-                        aParentRect.Height(), aGraphicsDevice,
-                        aVerticalUnitInPixels );
-                    }
-                }
-            }
-        if ( widthproperty )
-            {
-            CXnProperty* minwidthproperty( aNode.MinWidthL() );
-            if ( minwidthproperty )
-                {
-                if (!IsPropertyNone( *minwidthproperty ) )
-                    {
-                    minWidth = HorizontalPixelValueL( minwidthproperty,
-                        aParentRect.Width(), aGraphicsDevice,
-                        aHorizontalUnitInPixels );
-                    }
-                }
-            }
-        }
-     if ( HasNodeMaxSizesL( aNode ) )
-        {
-        CXnProperty* heightProperty( aNode.HeightL() );
-        CXnProperty* widthProperty( aNode.WidthL() );
-        if ( heightProperty )
-            {
-            CXnProperty* maxHeightProperty( aNode.MaxHeightL() );
-            if ( maxHeightProperty )
-                {
-                if ( !IsPropertyNone( *maxHeightProperty ) )
-                    {
-                    maxHeight = VerticalPixelValueL( maxHeightProperty,
-                        aParentRect.Height(), aGraphicsDevice,
-                        aVerticalUnitInPixels );
-                    }
-                }
-            }
-        if ( widthProperty )
-            {
-            CXnProperty* maxWidthProperty( aNode.MaxWidthL() );
-            if ( maxWidthProperty )
-                {
-                if ( !IsPropertyNone( *maxWidthProperty ) )
-                    {
-                    maxWidth = HorizontalPixelValueL( maxWidthProperty,
-                        aParentRect.Width(), aGraphicsDevice,
-                        aHorizontalUnitInPixels );
-                    }
-                }
-            }
-        }
-    if ( width && height )
-        {
-        if ( ( adaptive & XnAdaptive::EWidth ) &&
-             ( adaptive & XnAdaptive::EHeight ) )
-            {
-            TSize available( aParentRect.Size() - TSize( x, y ) );
-            if ( available.iWidth > 0 )
-                {
-                if ( available.iWidth > maxWidth && maxWidth > 0 )
-                    {
-                    available.iWidth = maxWidth;
-                    }
-                }
-            if ( available.iHeight > 0 )
-                {
-                if ( available.iHeight > maxHeight && maxHeight > 0 )
-                    {
-                    available.iHeight = maxHeight;
-                    }
-                }
-            TSize size( aNode.MeasureAdaptiveContentL( available ) );
-            x += size.iWidth;
-            y += size.iHeight;
-            if ( minWidth > x )
-                {
-                x = minWidth;
-                }
-            if ( minHeight > y )
-                {
-                y = minHeight;
-                }
-            return TSize( x, y );
-            }
-        }
-    if ( width )
-        {
-        if ( adaptive & XnAdaptive::EWidth )
-            {
-            TSize available( aParentRect.Size() - TSize( x, y ) );
-            if ( available.iWidth > 0 )
-                {
-                if ( available.iWidth > maxWidth && maxWidth > 0 )
-                    {
-                    available.iWidth = maxWidth;
-                    }
-                x += aNode.MeasureAdaptiveContentL( available ).iWidth;
-                if ( minWidth > x )
-                    {
-                    x = minWidth;
-                    }
-                }
-            }
-        else if ( autoNotFound || !IsPropertyAutoL( *width ) )
-            {
-            x += HorizontalPixelValueL( width, aParentRect.Width(),
-                aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-    if ( height )
-        {
-        if ( adaptive & XnAdaptive::EHeight )
-            {
-            TSize available( aParentRect.Size() - TSize( x, y ) );
-            if ( available.iHeight > 0 )
-                {
-                if ( available.iHeight > maxHeight && maxHeight > 0 )
-                    {
-                    available.iHeight = maxHeight;
-                    }
-                y += aNode.MeasureAdaptiveContentL( available ).iHeight;
-                if ( minHeight > y )
-                    {
-                    y = minHeight;
-                    }
-                }
-            }
-        else if ( autoNotFound || !IsPropertyAutoL( *height ) )
-            {
-            y += VerticalPixelValueL( height, aParentRect.Height(),
-                aGraphicsDevice, aVerticalUnitInPixels );
-            }
-        }
-    return TSize( x, y );
-    }
-
-// -----------------------------------------------------------------------------
-// CutOnePixelFromPercentChildNodeL()
-// If node has a child node with percentace defined sizes,
-// one pixel may be cut off from it to fix possible rounding problem.
-// -----------------------------------------------------------------------------
-//
-static TBool CutOnePixelFromPercentChildNodeL( CXnNode& aNode,
-    const TDesC8& aParentBlockProgression )
-    {
-    RPointerArray< CXnNode >& children = aNode.Children();
-    // find the last percent value node
-    // possible percent values:
-    // width
-    // height
-    // paddings
-    // margins
-    // borders
-    for ( TInt i = children.Count() -1; i < -1 ; --i )
-        {
-        CXnNode* currentNode = children[i];
-
-        TInt x = 0;
-        TInt y = 0;
-
-        CXnProperty* widthHeight;
-        CXnProperty* paddingTopLeft;
-        CXnProperty* paddingBottomRight;
-        CXnProperty* borderTopLeft;
-        CXnProperty* borderBottomRight;
-        CXnProperty* marginTopLeft;
-        CXnProperty* marginBottomRight;
-
-        if ( ( aParentBlockProgression ==
-               XnPropertyNames::style::common::block_progression::KLR ) ||
-               aParentBlockProgression ==
-               XnPropertyNames::style::common::block_progression::KRL )
-            {
-            x = -1;
-            y = 0;
-            widthHeight = currentNode->WidthL();
-            paddingTopLeft = currentNode->PaddingLeftL();
-            paddingBottomRight = currentNode->PaddingRightL();
-            borderTopLeft = currentNode->BorderLeftL();
-            borderBottomRight = currentNode->BorderRightL();
-            marginTopLeft = currentNode->MarginLeftL();
-            marginBottomRight = currentNode->MarginRightL();
-            }
-        else
-            {
-            y = -1;
-            x = 0;
-            widthHeight = currentNode->HeightL();
-            paddingTopLeft = currentNode->PaddingTopL();
-            paddingBottomRight = currentNode->PaddingBottomL();
-            borderTopLeft = currentNode->BorderTopL();
-            borderBottomRight = currentNode->BorderBottomL();
-            marginTopLeft = currentNode->MarginTopL();
-            marginBottomRight = currentNode->MarginBottomL();
-            }
-        if ( widthHeight )
-            {
-            if ( IsValuePercentageL( *widthHeight ) )
-                {
-                // shrink width one pixel
-                TRect rect( currentNode->Rect() );
-                rect.Resize( x, y );
-                currentNode->SetRect( rect );
-                TRect paddingRect( currentNode->PaddingRect() );
-                paddingRect.Resize( x, y );
-                currentNode->SetPaddingRect( paddingRect );
-                TRect borderRect( currentNode->BorderRect() );
-                borderRect.Resize( x, y );
-                TRect marginRect( currentNode->MarginRect() );
-
-                marginRect.Resize( x, y );
-
-                currentNode->SetMarginRect( marginRect );
-
-                return ETrue;
-                }
-            }
-        if ( paddingTopLeft )
-            {
-            if ( IsValuePercentageL( *paddingTopLeft ) )
-                {
-                // shrink left padding one pixel
-                TRect rect( currentNode->Rect() );
-                rect.Move( x, y );
-                currentNode->SetRect( rect );
-                TRect paddingRect( currentNode->PaddingRect() );
-                paddingRect.Resize( x, y );
-                currentNode->SetPaddingRect( paddingRect );
-                TRect borderRect( currentNode->BorderRect() );
-                TRect normalFlowBorderRect(
-                    currentNode->NormalFlowBorderRect() );
-                borderRect.Resize( x, y );
-                normalFlowBorderRect.Resize( x, y );
-                currentNode->SetBorderRect( borderRect );
-                aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-                TRect marginRect( currentNode->MarginRect() );
-
-                marginRect.Resize( x, y );
-
-                currentNode->SetMarginRect( marginRect );
-
-                return ETrue;
-                }
-            }
-        if ( paddingBottomRight )
-            {
-            if ( IsValuePercentageL( *paddingBottomRight ) )
-                {
-                // shrink right padding one pixel
-                TRect paddingRect( currentNode->PaddingRect() );
-                paddingRect.Resize( x, y );
-                currentNode->SetPaddingRect( paddingRect );
-                TRect borderRect( currentNode->BorderRect() );
-                TRect normalFlowBorderRect(
-                    currentNode->NormalFlowBorderRect() );
-                borderRect.Resize( x, y );
-                normalFlowBorderRect.Resize( x, y );
-                currentNode->SetBorderRect( borderRect );
-                aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-                TRect marginRect( currentNode->MarginRect() );
-
-                marginRect.Resize( x, y );
-
-                currentNode->SetMarginRect( marginRect );
-
-                return ETrue;
-                }
-            }
-        if ( borderTopLeft )
-            {
-            if ( IsValuePercentageL( *borderTopLeft ) )
-                {
-                TRect rect( currentNode->Rect() );
-                rect.Move( x, y );
-                currentNode->SetRect( rect );
-                TRect paddingRect( currentNode->PaddingRect() );
-                paddingRect.Move( x, y );
-                currentNode->SetPaddingRect( paddingRect );
-                TRect borderRect( currentNode->BorderRect() );
-                TRect normalFlowBorderRect(
-                    currentNode->NormalFlowBorderRect() );
-                borderRect.Resize( x, y );
-                normalFlowBorderRect.Resize( x, y );
-                currentNode->SetBorderRect( borderRect );
-                aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-                TRect marginRect( currentNode->MarginRect() );
-
-                marginRect.Resize( x, y );
-
-                currentNode->SetMarginRect( marginRect );
-
-                return ETrue;
-                }
-            }
-        if ( borderBottomRight )
-            {
-            if ( IsValuePercentageL( *borderBottomRight ) )
-                {
-                TRect borderRect( currentNode->BorderRect() );
-                TRect normalFlowBorderRect( currentNode->BorderRect() );
-                borderRect.Resize( x, y );
-                normalFlowBorderRect.Resize( x, y );
-                currentNode->SetBorderRect( borderRect );
-                aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-                TRect marginRect( currentNode->MarginRect() );
-
-                marginRect.Resize( x, y );
-
-                currentNode->SetMarginRect( marginRect );
-
-                return ETrue;
-                }
-            }
-        if ( marginTopLeft )
-            {
-            if ( IsValuePercentageL( *marginTopLeft ) )
-                {
-                TRect rect( currentNode->Rect() );
-                rect.Move( x, y );
-                currentNode->SetRect( rect );
-                TRect paddingRect( currentNode->PaddingRect() );
-                paddingRect.Move( x, y );
-                currentNode->SetPaddingRect( paddingRect );
-                TRect borderRect( currentNode->BorderRect() );
-                TRect normalFlowBorderRect(
-                    currentNode->NormalFlowBorderRect() );
-                borderRect.Move( x, y );
-                normalFlowBorderRect.Move( x, y );
-                currentNode->SetBorderRect( borderRect );
-                aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-                TRect marginRect( currentNode->MarginRect() );
-
-                marginRect.Resize( x, y );
-
-                currentNode->SetMarginRect( marginRect );
-
-                return ETrue;
-                }
-            }
-        if ( marginBottomRight )
-            {
-            if ( IsValuePercentageL( *marginBottomRight ) )
-                {
-                TRect marginRect( currentNode->MarginRect() );
-
-                marginRect.Resize( x, y );
-
-                currentNode->SetMarginRect( marginRect );
-
-                return ETrue;
-                }
-            }
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// DetermineBorderWidthsL()
-// Determine border widths.
-// -----------------------------------------------------------------------------
-//
-static void DetermineBorderWidthsL( CXnProperty* aBorderWidthProperty,
-    TInt& aBordervertical, TInt& aBorderhorizontal, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    CXnDomList& propertyValueList =
-        aBorderWidthProperty->Property()->PropertyValueList();
-    for ( TInt i = propertyValueList.Length() - 1; i >= 0; --i )
-        {
-        CXnDomPropertyValue* value =
-            static_cast< CXnDomPropertyValue* >( propertyValueList.Item( i ) );
-        if ( value->PrimitiveValueType() == CXnDomPropertyValue::EString ||
-             value->PrimitiveValueType() == CXnDomPropertyValue::EIdent )
-            {
-            // border width was defined as string
-            const TDesC8& borderwidth = aBorderWidthProperty->StringValue();
-            if ( borderwidth ==
-                 XnPropertyNames::style::common::border_width::KThin )
-                {
-                aBordervertical = KXnBorderThin;
-                aBorderhorizontal = KXnBorderThin;
-                }
-            else if ( borderwidth ==
-                      XnPropertyNames::style::common::border_width::KMedium )
-                {
-                aBordervertical = KXnBorderMedium;
-                aBorderhorizontal = KXnBorderMedium;
-                }
-            else
-                {
-                aBordervertical = KXnBorderThick;
-                aBorderhorizontal = KXnBorderThick;
-                }
-            }
-        else
-            {
-            // border width was defined as int
-            aBordervertical = VerticalPixelValueL( aBorderWidthProperty,
-                aParentRect.Height(), aGraphicsDevice, aVerticalUnitInPixels );
-            aBorderhorizontal = HorizontalPixelValueL( aBorderWidthProperty,
-                aParentRect.Width(), aGraphicsDevice, aHorizontalUnitInPixels );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DisplayedChildrenCountL()
-// Return number of node's displayed children.
-// -----------------------------------------------------------------------------
-//
-static TInt DisplayedChildrenCountL( CXnNode& aNode,
-    RPointerArray< CXnNode >* aDisplayedChildren )
-    {
-    RPointerArray< CXnNode >& children = aNode.Children();
-    TInt displayedCount( 0 );
-
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNode* node( children[i] );
-        if ( IsNodeDisplayedL( *node ) && !node->IsDropped() &&
-             !IsAbsoluteL( *node ) && !IsNodeTooltip( *node ) )
-            {
-            if ( aDisplayedChildren )
-                {
-                aDisplayedChildren->AppendL( node );
-                }
-            displayedCount++;
-            }
-        }
-
-    return displayedCount;
-    }
-
-// -----------------------------------------------------------------------------
-// DisplayedParentL()
-// Return node's displayed parent.
-// -----------------------------------------------------------------------------
-//
-static CXnNode* DisplayedParentL( CXnNode& aNode )
-    {
-    if ( aNode.ViewNodeImpl() )
-        {
-        return &aNode;
-        }
-    CXnNode* parent = aNode.Parent();
-    return parent;
-    }
-
-// -----------------------------------------------------------------------------
-// DomPropertyValueFromProperty()
-// Return DOM property value from property.
-// -----------------------------------------------------------------------------
-//
-static CXnDomPropertyValue* DomPropertyValueFromProperty(
-    CXnProperty* aProperty )
-    {
-    if ( !aProperty )
-        {
-        return NULL;
-        }
-    CXnDomProperty* domProperty = aProperty->Property();
-    if ( !domProperty )
-        {
-        return NULL;
-        }
-    return static_cast<
-        CXnDomPropertyValue* >( domProperty->PropertyValueList().Item( 0 ) );
-    }
-
-// -----------------------------------------------------------------------------
-// DomPropertyValueFromProperty()
-// Return DOM property value from property.
-// -----------------------------------------------------------------------------
-// 
-static TBool IsChildOfScrollableControl( CXnNode& aNode )
-    {
-    CXnNode* parent = &aNode;
-    while( parent )
-        {
-        if( IsSrollableBox( *parent ) )
-            {
-            return ETrue;
-            }
-        parent = parent->Parent();
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// DropExceedingRectL()
-// Drop node if node's margin rect exceeds it's parent's content rect.
-// -----------------------------------------------------------------------------
-//
-static void DropExceedingRectL( const TRect& aParentRect, CXnNode& aNode,
-    TBool aDropRelativeNode )
-    {
-    if( IsChildOfScrollableControl( aNode ) )
-        {
-        return;
-        }
-    
-    if ( IsNodeTooltip( aNode ) )
-        {
-        // tooltip never dropped
-        return;
-        }
-
-    CXnProperty* positionProp( aNode.PositionL() );
-
-    if ( positionProp )
-        {
-        const TDesC8& value( positionProp->StringValue() );
-        if ( value == XnPropertyNames::style::common::position::KFloating )
-            {
-            // Don't change floating positioned box dimensions
-            return;
-            }
-        }
-
-    TRect parentRect( aParentRect );
-    TRect marginRect( aNode.MarginRect() );
-
-    // does the margin rect fit in its parent?
-    TInt parentLeft = parentRect.iTl.iX;
-    TInt parentRight = parentRect.iBr.iX;
-    TInt parentTop = parentRect.iTl.iY;
-    TInt parentBottom = parentRect.iBr.iY;
-
-    TInt rectLeft = marginRect.iTl.iX;
-    TInt rectRight = marginRect.iBr.iX;
-    TInt rectTop = marginRect.iTl.iY;
-    TInt rectBottom = marginRect.iBr.iY;
-
-    TInt priority = 0;
-    CXnProperty* priorityProperty = aNode.DisplayPriorityL();
-
-    if ( priorityProperty )
-        {
-        TRAPD( error, priority = priorityProperty->FloatValueL() );
-        if ( error != KErrNone )
-            {
-            priority = 0;
-            }
-        }
-
-    TInt leftOffset( 0 );
-    TInt rightOffset( 0 );
-    TInt topOffset( 0 );
-    TInt bottomOffset( 0 );
-
-    if ( priority != 0 )
-        {
-        TBool drop = CalculateExceedingArea( *aNode.Parent(), aNode,
-            leftOffset, rightOffset, topOffset, bottomOffset );
-        if ( drop )
-            {
-            aNode.UiEngine()->SetNodeDroppedL( aNode, XnNodeLayout::EDropped );
-            }
-        }
-    // If display priority is 0 as much as possible must be shown, but
-    // parent's content rect must not be exceeded.
-    else
-        {
-        // This must not be done for tracster. It is a special component,
-        // which takes care
-        // of its final layout and therefore its children can exceed
-        // the parent's rect.
-        CXnNode* parent = aNode.Parent();
-
-        // If the node is relatively positioned, and this is not called from
-        // CalculateRelativePositionsL(), then must not be cropped!!
-
-        // Default is static
-        const TDesC8* value(
-            &XnPropertyNames::style::common::position::KStatic() );
-
-        if ( positionProp && positionProp->StringValue() != KNullDesC8 )
-            {
-            value = &positionProp->StringValue();
-            }
-        if ( !aDropRelativeNode &&
-             XnPropertyNames::style::common::position::KRelative() == *value )
-            // relative nodes must not be adjusted, if this is not called
-            // from CalculateRelativePositionsL().
-            {
-            return;
-            }
-        if ( rectLeft < parentLeft )
-            {
-            leftOffset = parentLeft - rectLeft;
-            }
-        if ( rectRight > parentRight )
-            {
-            rightOffset = rectRight - parentRight;
-            }
-        if ( rectTop < parentTop )
-            {
-            topOffset = parentTop - rectTop;
-            }
-        if ( rectBottom > parentBottom )
-            {
-            bottomOffset = rectBottom - parentBottom;
-            }
-        AdjustRectsL( aNode, leftOffset, rightOffset, topOffset, bottomOffset );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateExceedingArea()
-// Calculates how much a dropped node affects to the area of its parent
-// that is content based node.
-// Returns whether a child's margin rect exceeds its parents content
-// rect or not.
-// -----------------------------------------------------------------------------
-//
-static TBool CalculateExceedingArea( CXnNode& aParent, CXnNode& aChild,
-    TInt& aLeftOffset, TInt& aRightOffset, TInt& aTopOffset,
-    TInt& aBottomOffset )
-    {
-    TBool ret( EFalse );
-
-    TRect parentRect( aParent.Rect() );
-    TInt parentLeft = parentRect.iTl.iX;
-    TInt parentRight = parentRect.iBr.iX;
-    TInt parentTop = parentRect.iTl.iY;
-    TInt parentBottom = parentRect.iBr.iY;
-
-    TRect marginRect( aChild.MarginRect() );
-    TInt rectLeft = marginRect.iTl.iX;
-    TInt rectRight = marginRect.iBr.iX;
-    TInt rectTop = marginRect.iTl.iY;
-    TInt rectBottom = marginRect.iBr.iY;
-
-    TInt adaptive( aParent.IsAdaptive() );
-
-    if ( rectLeft < parentLeft )
-        {
-        if ( adaptive & XnAdaptive::EWidth )
-            {
-            aLeftOffset = rectRight - parentLeft;
-            if ( aLeftOffset < 0 )
-                {
-                aLeftOffset = 0;
-                }
-            }
-        ret = ETrue;
-        }
-    if ( rectRight > parentRight )
-        {
-        if ( adaptive & XnAdaptive::EWidth )
-            {
-            aRightOffset = parentRight - rectLeft;
-            if ( aRightOffset < 0 )
-                {
-                aRightOffset = 0;
-                }
-            }
-        ret = ETrue;
-        }
-    if ( rectTop < parentTop )
-        {
-        if ( adaptive & XnAdaptive::EHeight )
-            {
-            aTopOffset = rectBottom - parentTop;
-            if ( aTopOffset < 0 )
-                {
-                aTopOffset = 0;
-                }
-            }
-        ret = ETrue;
-        }
-    if ( rectBottom > parentBottom )
-        {
-        if ( adaptive & XnAdaptive::EHeight )
-            {
-            aBottomOffset = parentBottom - rectTop;
-            if ( aBottomOffset < 0 )
-                {
-                aBottomOffset = 0;
-                }
-            }
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// AdjustRectsL()
-// Adjust all the rects according to the given offsets.
-// -----------------------------------------------------------------------------
-//
-static void AdjustRectsL( CXnNode& aNode, TInt aLeftOffset, TInt aRightOffset,
-    TInt aTopOffset, TInt aBottomOffset )
-    {
-    if ( aLeftOffset || aRightOffset || aTopOffset || aBottomOffset )
-        {
-#ifdef _XN3_DEBUG_
-        CXnProperty* id( aNode.IdL() );
-
-        if ( id )
-            {
-            TBuf8< 256 > debug;
-            debug.Append( _L8( "Node id: " ) );
-            debug.Append( id->StringValue() );
-            debug.Append( _L8( "doesn't fit to parent and will be adjusted" ) );
-
-            RDebug::RawPrint( debug );
-            }
-#endif
-
-        // Adjust margin rect
-        TRect marginRect( aNode.MarginRect() );
-        TRect newRect = TRect( marginRect.iTl.iX + aLeftOffset,
-            marginRect.iTl.iY + aTopOffset, marginRect.iBr.iX - aRightOffset,
-            marginRect.iBr.iY - aBottomOffset );
-        aNode.SetMarginRect( newRect );
-
-        // Adjust border rect
-        TRect borderRect( aNode.BorderRect() );
-        newRect = TRect( borderRect.iTl.iX + aLeftOffset,
-            borderRect.iTl.iY + aTopOffset, borderRect.iBr.iX - aRightOffset,
-            borderRect.iBr.iY - aBottomOffset );
-        aNode.SetBorderRect( newRect );
-
-        // Adjust normal flow border rect
-        TRect normalFlowBorderRect( aNode.NormalFlowBorderRect() );
-        newRect = TRect( normalFlowBorderRect.iTl.iX + aLeftOffset,
-            normalFlowBorderRect.iTl.iY + aTopOffset,
-            normalFlowBorderRect.iBr.iX - aRightOffset,
-            normalFlowBorderRect.iBr.iY - aBottomOffset );
-        aNode.SetNormalFlowBorderRect( newRect );
-
-        // Adjust padding rect
-        TRect paddingRect( aNode.PaddingRect() );
-        newRect = TRect( paddingRect.iTl.iX + aLeftOffset,
-            paddingRect.iTl.iY + aTopOffset, paddingRect.iBr.iX - aRightOffset,
-            paddingRect.iBr.iY - aBottomOffset );
-        aNode.SetPaddingRect( newRect );
-
-        // Adjust content rect
-        TRect contentRect( aNode.Rect() );
-        newRect = TRect( contentRect.iTl.iX + aLeftOffset,
-            contentRect.iTl.iY + aTopOffset, contentRect.iBr.iX - aRightOffset,
-            contentRect.iBr.iY - aBottomOffset );
-        aNode.SetRect( newRect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// ClearRects()
-// Sets sizes of the rects to 0.
-// -----------------------------------------------------------------------------
-//
-static void ClearRects( CXnNode& aNode, TBool aRecurse )
-    {
-    TRect empty;
-
-    aNode.SetRect( empty );
-    aNode.SetPaddingRect( empty );
-    aNode.SetBorderRect( empty );
-    aNode.SetNormalFlowBorderRect( empty );
-    aNode.SetMarginRect( empty );
-
-    CCoeControl* control( aNode.Control() );
-
-    if ( control )
-        {
-        control->SetRect( empty );
-        }
-
-    if ( aRecurse )
-        {
-        RPointerArray< CXnNode >& children( aNode.Children() );
-        for ( TInt i = 0; i < children.Count(); i++ )
-            {
-            ClearRects( *children[i], aRecurse );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// FitChildrenIntoParentL()
-// Drop child nodes until they fit into the parent. Also, if node has
-// a child node with percentace defined sizes, one pixel may be cut off from it
-// to fix possible rounding problem.
-// -----------------------------------------------------------------------------
-//
-static void FitChildrenIntoParentL( CXnNode& aNode,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-	if( IsSrollableBox( aNode ) )
-	    {
-	    return;
-	    }
-    RPointerArray< CXnNode >& children( aNode.Children() );
-
-    if ( children.Count() == 0 )
-        {
-        return;
-        }
-
-    CXnProperty* blockProgressionProperty( aNode.BlockProgressionL() );
-    CXnProperty* directionProperty( aNode.DirectionL() );
-
-    const TDesC8* blockProgression = NULL;
-
-    if ( !blockProgressionProperty )
-        {
-        // using default
-        blockProgression =
-            &XnPropertyNames::style::common::block_progression::KTB();
-        }
-    else
-        {
-        blockProgression = &blockProgressionProperty->StringValue();
-        }
-
-    const TDesC8* direction( NULL );
-
-    if ( !directionProperty )
-        {
-        // use default
-        direction = &XnPropertyNames::style::common::direction::KLTR();
-        }
-    else
-        {
-        direction = &directionProperty->StringValue();
-        }
-
-    TSize space = CalculateSpaceUsedByChildrenL( children, aNode,
-        *blockProgression, *direction, aGraphicsDevice,
-        aHorizontalUnitInPixels, aVerticalUnitInPixels );
-    TSize parentSize( aNode.Rect().Size() );
-
-    while( ( ( parentSize.iHeight < space.iHeight ) &&
-             ( parentSize.iHeight > 0 ) ) ||
-           ( ( parentSize.iWidth < space.iWidth ) && 
-             ( parentSize.iWidth > 0 ) ) )
-        {
-        // if areas go over just one pixel,
-        // cut the pixel from a percent sized node
-        if ( ( parentSize.iHeight == space.iHeight - 1 ) ||
-             ( parentSize.iWidth == space.iWidth - 1 ) )
-            {
-            CutOnePixelFromPercentChildNodeL( aNode, *blockProgression );
-            // Childs are now in parent size
-            return;
-            }
-
-        TInt childCount( DisplayedChildrenCountL( aNode ) );
-
-        PriorizeChildrenL( aNode );
-
-        if ( DisplayedChildrenCountL( aNode ) == childCount )
-            {
-            // cannot drop any more children, but they still don't fit
-            return;
-            }
-
-        space = CalculateSpaceUsedByChildrenL( children, aNode,
-            *blockProgression, *direction, aGraphicsDevice,
-            aHorizontalUnitInPixels, aVerticalUnitInPixels );
-        }
-
-    return;
-    }
-
-// -----------------------------------------------------------------------------
-// GetPositionL()
-// Return position coordinate of a CXnComponent. Returned position depends on
-// given block progression.
-// -----------------------------------------------------------------------------
-//
-static TInt GetPositionL( CXnNode& aNode, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection )
-    {
-    TInt returnValue = 0;
-    if ( aParentDirection == XnPropertyNames::style::common::direction::KLTR )
-        {
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB ||
-             aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KBT )
-            {
-            returnValue = aNode.NormalFlowBorderRect().iBr.iY;
-            }
-        else    // LR or RL
-            {
-            returnValue = aNode.NormalFlowBorderRect().iBr.iX;
-            }
-        }
-    else // RTL
-        {
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB ||
-             aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KBT )
-            {
-            returnValue = aNode.NormalFlowBorderRect().iTl.iY;
-            }
-        else    // LR or RL
-            {
-            returnValue = aNode.NormalFlowBorderRect().iTl.iX;
-            }
-        }
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// HasNodeAutoValues()
-// Check if node has properties set to AUTO.
-// -----------------------------------------------------------------------------
-//
-static TInt HasNodeAutoValuesL( CXnNode& aNode )
-    {
-    return HasNodeHorizontalAutoValuesL( aNode ) ||
-        HasNodeVerticalAutoValuesL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// HasNodeHorizontalValues()
-// Check if node has properties set to AUTO.
-// -----------------------------------------------------------------------------
-//
-static TInt HasNodeHorizontalAutoValuesL( CXnNode& aNode )
-    {
-    TInt autoCount = 0;
-
-    CXnProperty* width = aNode.WidthL();
-
-    if ( width )
-        {
-        if ( IsPropertyAutoL( *width ) )
-             {
-             autoCount++;
-             }
-        }
-    else
-        {
-        // width is auto as default
-        autoCount++;
-        }
-
-    CXnProperty* marginleft = aNode.MarginLeftL();
-
-    if ( marginleft )
-        {
-        if ( IsPropertyAutoL( *marginleft ) )
-            {
-            autoCount++;
-            }
-        }
-
-    CXnProperty* marginright = aNode.MarginRightL();
-
-    if ( marginright )
-        {
-        if ( IsPropertyAutoL( *marginright ) )
-            {
-            autoCount++;
-            }
-        }
-
-    if ( !IsAbsoluteL( aNode ) && !IsRelativeL( aNode ) )
-        {
-        return autoCount;
-        }
-
-    CXnProperty* left = aNode.LeftL();
-
-    if ( left )
-        {
-        if ( IsPropertyAutoL( *left ) )
-            {
-            autoCount++;
-            }
-        }
-
-    CXnProperty* right = aNode.RightL();
-
-    if ( right )
-        {
-        if ( IsPropertyAutoL( *right ) )
-            {
-            autoCount++;
-            }
-        }
-
-    return autoCount;
-    }
-
-// -----------------------------------------------------------------------------
-// HasNodeVerticalAutoValues()
-// Check if node has properties set to AUTO.
-// -----------------------------------------------------------------------------
-//
-static TInt HasNodeVerticalAutoValuesL( CXnNode& aNode )
-    {
-    TInt autoCount = 0;
-
-    CXnProperty* height = aNode.HeightL();
-
-    if ( height )
-        {
-        if ( IsPropertyAutoL( *height ) )
-            {
-            autoCount++;
-            }
-        }
-    else
-        {
-        // height is auto as default
-        autoCount++;
-        }
-
-    CXnProperty* margintop = aNode.MarginTopL();
-
-    if ( margintop )
-        {
-        if ( IsPropertyAutoL( *margintop ) )
-            {
-            autoCount++;
-            }
-        }
-
-    CXnProperty* marginbottom = aNode.MarginBottomL();
-
-    if ( marginbottom )
-        {
-        if ( IsPropertyAutoL( *marginbottom ) )
-            {
-            autoCount++;
-            }
-        }
-
-    if ( !IsAbsoluteL( aNode ) && !IsRelativeL( aNode ) )
-        {
-        return autoCount;
-        }
-
-    CXnProperty* top = aNode.TopL();
-
-    if ( top )
-        {
-        if ( IsPropertyAutoL( *top ) )
-            {
-            autoCount++;
-            }
-        }
-
-    CXnProperty* bottom = aNode.BottomL();
-
-    if ( bottom )
-        {
-        if ( IsPropertyAutoL( *bottom ) )
-            {
-            autoCount++;
-            }
-        }
-
-    return autoCount;
-    }
-
-// -----------------------------------------------------------------------------
-// HasNodeMinSizesL()
-// Check if node has minimum size values.
-// -----------------------------------------------------------------------------
-//
-static TBool HasNodeMinSizesL( CXnNode& aNode )
-    {
-    CXnProperty* minWidth = aNode.MinWidthL();
-
-    if ( minWidth )
-        {
-        if ( !IsPropertyNone( *minWidth ) )
-            {
-            return ETrue;
-            }
-        }
-
-    CXnProperty* minHeight = aNode.MinHeightL();
-
-    if ( minHeight )
-        {
-        if ( !IsPropertyNone( *minHeight ) )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// HasNodeMaxSizesL()
-// Check if node has maximum size values.
-// -----------------------------------------------------------------------------
-//
-static TBool HasNodeMaxSizesL( CXnNode& aNode )
-    {
-    CXnProperty* maxWidth = aNode.MaxWidthL();
-
-    if ( maxWidth )
-        {
-        if ( !IsPropertyNone( *maxWidth ) )
-            {
-            return ETrue;
-            }
-        }
-
-    CXnProperty* maxHeight = aNode.MaxHeightL();
-
-    if ( maxHeight )
-        {
-        if ( !IsPropertyNone( *maxHeight ) )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// HorizontalCentimetersToPixelsL()
-// Convert horizontal centimeter value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt HorizontalCentimetersToPixelsL( TReal& aCentimeters,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aCentimeters * KCentimetersAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.HorizontalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// HorizontalInchesToPixelsL()
-// Convert horizontal inch value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt HorizontalInchesToPixelsL( TReal& aInches,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aInches * KInchesAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.HorizontalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// HorizontalMillimetersToPixelsL()
-// Convert horizontal millimeter value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt HorizontalMillimetersToPixelsL( TReal& aMillimeters,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aMillimeters * KMillimetersAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.HorizontalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// HorizontalPicasToPixelsL()
-// Convert horizontal pica value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt HorizontalPicasToPixelsL( TReal& aPicas,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aPicas * KPicasAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.HorizontalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// HorizontalPixelValueL()
-// Convert horizontal property to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt HorizontalPixelValueL( CXnProperty* aValue, TInt aReferenceValue,
-    CGraphicsDevice& aScreenDevice, TReal aHorizontalUnitInPixels )
-    {
-    return HorizontalValueToPixelsL( DomPropertyValueFromProperty( aValue ),
-        static_cast< TReal >( aReferenceValue ), aScreenDevice,
-        aHorizontalUnitInPixels );
-    }
-
-// -----------------------------------------------------------------------------
-// HorizontalPointsToPixelsL()
-// Convert horizontal point value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt HorizontalPointsToPixelsL( TReal& aPoints,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aPoints * KPointsAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.HorizontalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// HorizontalUnitsToPixelsL()
-// Convert horizontal unit value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt HorizontalUnitsToPixelsL( TReal aUnits, TReal aUnitInPixels )
-    {
-    TInt pixels = aUnits * aUnitInPixels;
-    return pixels;
-    }
-
-// -----------------------------------------------------------------------------
-// VerticalUnitsToPixelsL()
-// Convert vertical unit value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt VerticalUnitsToPixelsL( TReal aUnits, TReal aUnitInPixels )
-    {
-    TInt pixels = aUnits * aUnitInPixels;
-    return pixels;
-    }
-
-// -----------------------------------------------------------------------------
-// HorizontalValueToPixelsL()
-// Convert horizontal property value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt HorizontalValueToPixelsL( CXnDomPropertyValue* aValue,
-    TReal aReferenceValue, CGraphicsDevice& aScreenDevice, TReal aUnitInPixels )
-    {
-    if ( !aValue )
-        {
-        User::Leave( KXnErrHorizontalValueNULL );
-        }
-    CXnDomPropertyValue::TPrimitiveValueType valueType =
-        aValue->PrimitiveValueType();
-    //  Handle error cases first, inherit is handled elsewhere, none returns 0
-    switch ( valueType )
-        {
-        case CXnDomPropertyValue::EUnknown:
-        case CXnDomPropertyValue::EEms:
-        case CXnDomPropertyValue::EExs:
-        case CXnDomPropertyValue::EDeg:
-        case CXnDomPropertyValue::ERad:
-        case CXnDomPropertyValue::EGrad:
-        case CXnDomPropertyValue::EMs:
-        case CXnDomPropertyValue::ES:
-        case CXnDomPropertyValue::EHz:
-        case CXnDomPropertyValue::EKHz:
-        case CXnDomPropertyValue::EDimension:
-        case CXnDomPropertyValue::EString:
-        case CXnDomPropertyValue::EUri:
-        case CXnDomPropertyValue::EIdent:
-        case CXnDomPropertyValue::EAttr:
-        case CXnDomPropertyValue::ECounter:
-        case CXnDomPropertyValue::ERect:
-        case CXnDomPropertyValue::ERgbColor:
-        case CXnDomPropertyValue::ERgbaColor:
-        case CXnDomPropertyValue::EFunction:
-            break;
-        default:
-            {
-            TReal value = aValue->FloatValueL();
-            if ( valueType == CXnDomPropertyValue::ENumber ||
-                 valueType == CXnDomPropertyValue::EPx )
-                {
-                return static_cast< TInt >( value );
-                }
-            else if ( valueType == CXnDomPropertyValue::EPercentage )
-                {
-                return PercentageToPixelsL( value, aReferenceValue );
-                }
-            else if ( valueType == CXnDomPropertyValue::EIn )
-                {
-                return HorizontalInchesToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::ECm )
-                {
-                return HorizontalCentimetersToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::EMm )
-                {
-                return HorizontalMillimetersToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::EPt )
-                {
-                return HorizontalPointsToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::EPc )
-                {
-                return HorizontalPicasToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::EUnitValue )
-                {
-                return HorizontalUnitsToPixelsL( value, aUnitInPixels );
-                }
-            }
-            break;
-        }
-
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// IsAbsoluteL()
-// Check if node's positioning is absolute.
-// -----------------------------------------------------------------------------
-//
-static TBool IsAbsoluteL( CXnNode& aNode )
-    {
-    CXnProperty* prop( aNode.PositionL() );
-
-    if ( prop )
-        {
-        const TDesC8& value( prop->StringValue() );
-        if ( value == XnPropertyNames::style::common::position::KAbsolute ||
-             value == XnPropertyNames::style::common::position::KFloating )
-            {
-            return ETrue;
-            }
-         }
-
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsLargerThanMaxSizeL()
-// Check if node rect size exceeds it's max sizes.
-// -----------------------------------------------------------------------------
-//
-static TBool IsLargerThanMaxSizeL( const TRect& aParentRect, CXnNode& aNode,
-    CGraphicsDevice& aScreenDevice, TReal aHorizontalUnitInPixels, 
-    TReal aVerticalUnitInPixels )
-    {
-    TRect parentRect = aParentRect;
-    CXnProperty* heightProperty = aNode.HeightL();
-    CXnProperty* widthProperty = aNode.WidthL();
-
-    if ( heightProperty )
-        {
-        CXnProperty* maxHeightProperty = aNode.MaxHeightL();
-        if ( maxHeightProperty )
-            {
-            if ( !IsPropertyNone( *maxHeightProperty ) )
-                {
-                TInt maxHeight = VerticalPixelValueL( maxHeightProperty,
-                    parentRect.Height(), aScreenDevice, aVerticalUnitInPixels );
-                TInt height = aNode.Rect().Height();
-                if ( height > maxHeight )
-                    {
-                    // height larger than max
-                    return ETrue;
-                    }
-                }
-            }
-        }
-
-    if ( widthProperty )
-        {
-        CXnProperty* maxWidthProperty = aNode.MaxWidthL();
-        if ( maxWidthProperty )
-            {
-            if ( !IsPropertyNone( *maxWidthProperty ) )
-                {
-                TInt maxWidth = HorizontalPixelValueL( maxWidthProperty,
-                    parentRect.Width(), aScreenDevice, aHorizontalUnitInPixels );
-                TInt width = aNode.Rect().Width();
-                if ( width > maxWidth )
-                    {
-                    // width larger than max
-                    return ETrue;
-                    }
-                }
-            }
-        }
-
-    // width and height within limits
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsNodeDisplayedL()
-// Check if node is able to be displayed.
-// -----------------------------------------------------------------------------
-//
-static TBool IsNodeDisplayedL( CXnNode& aNode )
-    {
-    if ( !aNode.IsLayoutCapable() )
-        {
-        return EFalse;
-        }
-
-    // Am I displayed?
-    CXnProperty* displayProp( aNode.DisplayL() );
-
-    if ( displayProp )
-        {
-        const TDesC8& display( displayProp->StringValue() );
-
-        if ( display != XnPropertyNames::style::common::display::KBlock )
-            {
-            return EFalse;
-            }
-        }
-
-    CXnNode* parent( aNode.Parent() );
-
-    // Is my parent displayed?
-    for ( ; parent; parent = parent->Parent() )
-        {
-        CXnProperty* displayProp( parent->DisplayL() );
-
-        if ( displayProp )
-            {
-            const TDesC8& display( displayProp->StringValue() );
-
-            if ( display != XnPropertyNames::style::common::display::KBlock )
-                {
-                return EFalse;
-                }
-            }
-        }
-
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// IsNodeTooltip()
-// Check if node is a tooltip.
-// -----------------------------------------------------------------------------
-//
-static TBool IsNodeTooltip( CXnNode& aNode )
-    {
-    _LIT8( tooltip, "tooltip" );
-
-    if ( aNode.Type()->Type() == tooltip )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsPropertyAutoL()
-// Check if property is set to AUTO.
-// -----------------------------------------------------------------------------
-//
-static TBool IsPropertyAutoL( CXnProperty& aProperty )
-    {
-    if ( &aProperty )
-        {
-        TBool returnValue;
-        TInt index = 0;
-        CXnDomProperty* domProperty = aProperty.Property();
-        CXnDomPropertyValue* domPropertyValue =
-            static_cast< CXnDomPropertyValue* >(
-            domProperty->PropertyValueList().Item( index ) );
-        returnValue = domPropertyValue->IsAutoIdent();
-        if ( !returnValue )
-            {
-            // if return value is string and not auto or none,
-            // return ETrue because auto is used as default value
-            if ( IsStringValueL( aProperty ) && !IsPropertyNone( aProperty ) )
-                {
-                return ETrue;
-                }
-            }
-        return returnValue;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsPropertyNone()
-// Check if property is set to NONE.
-// -----------------------------------------------------------------------------
-//
-static TBool IsPropertyNone( CXnProperty& aProperty )
-    {
-    if ( &aProperty )
-        {
-          TInt index = 0;
-          CXnDomProperty* domProperty = aProperty.Property();
-          CXnDomPropertyValue* domPropertyValue =
-              static_cast< CXnDomPropertyValue* >(
-              domProperty->PropertyValueList().Item( index ) );
-          return domPropertyValue->IsNoneIdent();
-          }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsRelativeL()
-// Check if node's positioning is absolute.
-// -----------------------------------------------------------------------------
-//
-static TBool IsRelativeL( CXnNode& aNode )
-    {
-    CXnProperty* positioningProperty = aNode.PositionL();
-    if ( positioningProperty )
-        {
-        const TDesC8& positioning = positioningProperty->StringValue();
-        if ( positioning == XnPropertyNames::style::common::position::KRelative )
-            {
-            return ETrue;
-            }
-         }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsSmallerThanMinSizeL()
-// Check if node rect size is smaller than it's min sizes.
-// -----------------------------------------------------------------------------
-//
-static TBool IsSmallerThanMinSizeL( const TRect& aParentRect, CXnNode& aNode,
-    CGraphicsDevice& aScreenDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    TRect parentRect = aParentRect;
-    CXnProperty* heightproperty = aNode.HeightL();
-    CXnProperty* widthproperty = aNode.WidthL();
-
-    if ( heightproperty )
-        {
-        CXnProperty* minheightproperty = aNode.MinHeightL();
-        if ( minheightproperty )
-            {
-            if ( !IsPropertyNone( *minheightproperty ) )
-                {
-                TInt minheight = VerticalPixelValueL( minheightproperty,
-                    parentRect.Height(), aScreenDevice, aVerticalUnitInPixels );
-                TInt height = aNode.Rect().Height();
-                if ( height < minheight )
-                    {
-                    // height smaller than minimum
-                    return ETrue;
-                    }
-                }
-            }
-        }
-    if ( widthproperty )
-        {
-        CXnProperty* minwidthproperty = aNode.MinWidthL();
-        if ( minwidthproperty )
-            {
-            if ( !IsPropertyNone( *minwidthproperty ) )
-                {
-                TInt minwidth = HorizontalPixelValueL( minwidthproperty,
-                    parentRect.Width(), aScreenDevice, aHorizontalUnitInPixels );
-                TInt width = aNode.Rect().Width();
-                if ( width < minwidth )
-                    {
-                    // width smaller than minimum
-                    return ETrue;
-                    }
-                }
-            }
-        }
-    // width and height within limits
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsStringValueL()
-// Check if property value is string.
-// -----------------------------------------------------------------------------
-//
-static TBool IsStringValueL( CXnProperty& aProperty )
-    {
-    CXnDomList& propertyValueList = aProperty.Property()->PropertyValueList();
-    CXnDomPropertyValue* value =
-        static_cast< CXnDomPropertyValue* >( propertyValueList.Item( 0 ) );
-    if ( value->PrimitiveValueType() == CXnDomPropertyValue::EString ||
-         value->PrimitiveValueType() == CXnDomPropertyValue::EIdent )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// IsValuePercentageL()
-// Check if property value is percentage.
-// -----------------------------------------------------------------------------
-//
-static TBool IsValuePercentageL( CXnProperty& aProperty )
-    {
-    CXnDomProperty* domProperty = aProperty.Property();
-    CXnDomPropertyValue* domPropertyValue = static_cast<
-        CXnDomPropertyValue* >( domProperty->PropertyValueList().Item( 0 ) );
-    if ( !domPropertyValue )
-        {
-        User::Leave( KXnErrDomPropertyValueNULL );
-        }
-    CXnDomPropertyValue::TPrimitiveValueType valueType =
-        domPropertyValue->PrimitiveValueType();
-    if ( valueType == CXnDomPropertyValue::EPercentage )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
- 
-// -----------------------------------------------------------------------------
-// PercentageToPixelsL()
-// Convert percentage value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt PercentageToPixelsL( TReal& aPercentage, TReal aReferenceValue )
-    {
-    TReal value = aReferenceValue * aPercentage * KIntPercentageConstant;
-    return static_cast< TInt >( value + KIntConversionConstant );
-    }
-
-// -----------------------------------------------------------------------------
-// GetPreviousNodeL()
-// -----------------------------------------------------------------------------
-//
-static CXnNode* GetPreviousNodeL( CXnNode& aNode )
-    {
-    CXnNode* returnValue = NULL;
-    CXnNode* parent = aNode.Parent();
-
-    if ( !parent )
-        {
-        return returnValue;
-        }
-
-    RPointerArray< CXnNode >& nodes = parent->Children();
-
-    for ( TInt currentIndex = 0; currentIndex < nodes.Count(); currentIndex++ )
-        {
-        CXnNode* checkNode = nodes[currentIndex];
-        if ( &aNode == checkNode && currentIndex > 0 )
-            {
-            for ( TInt candidateIndex =
-                currentIndex - 1; candidateIndex >= 0; candidateIndex-- )
-                {
-                checkNode = nodes[candidateIndex];
-                if ( IsNodeDisplayedL( *checkNode ) &&
-                     !checkNode->IsDropped() && !IsAbsoluteL( *checkNode ) &&
-                     !IsNodeTooltip( *checkNode ) )
-                    {
-                    returnValue = nodes[candidateIndex];
-                    break;
-                    }
-                }
-            }
-        }
-
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// PlaceAreasL()
-// Move the area rects to their places. All positioning is done here.
-// -----------------------------------------------------------------------------
-//
-static void PlaceAreasL( CXnNode& aNode, RPointerArray< CXnNode >& aLaidOutList,
-    TInt aLayoutPhase, CGraphicsDevice& aGraphicsDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels )
-    {
-    CXnNodeBreadthFirstIterator< CXnNode >* iterator = 
-            CXnNodeBreadthFirstIterator< CXnNode >::NewL( aNode );
-    CleanupStack::PushL( iterator );
-
-    RPointerArray< CXnNode > absoluteNodes;
-    CleanupClosePushL( absoluteNodes );
-
-    RPointerArray< CXnNode > relativeNodes;
-    CleanupClosePushL( relativeNodes );
-
-    RPointerArray< CXnNode > autoNodes;
-    CleanupClosePushL( autoNodes );
-
-    RPointerArray< CXnNode > adaptiveNodes;
-    CleanupClosePushL( adaptiveNodes );
-
-    CXnProperty* parentBlockProgressionProperty( NULL );
-    CXnProperty* parentDirectionProperty( NULL );
-    const TDesC8* parentBlockProgression( NULL );
-    const TDesC8* parentDirection( NULL );
-
-    CXnUiEngine* engine( aNode.UiEngine() );
-    TSize maxAvailableSize( engine->ClientRect().Size() );
-
-    // Start to go through the tree
-    CXnNode* previous( NULL );
-
-    CXnNode* parent( NULL );
-    TInt columnWidth;
-    TInt columnMargin;
-    TRect parentRect;
-
-#ifdef _XN3_DEBUG_
-    RDebug::Print( _L("Xuikon: Layout:") );
-    TBuf8< 256 > debug;
-#endif
-
-    // Place areas according their parents and positioning
-    for( CXnNode* node = iterator->Value(); node; node = iterator->NextL() )
-        {
-#ifdef _XN3_DEBUG_
-        debug = node->Type()->Type();
-        CXnProperty* id( node->IdL() );
-        if ( id )
-            {
-            debug.Append( _L8( ", id: " ) );
-            debug.Append( id->StringValue() );
-            }
-#endif
-
-        if ( node->IsLaidOut() )
-            {
-#ifdef _XN3_DEBUG_
-            debug.Append( _L8( ", already laidout" ) );
-            RDebug::RawPrint( debug );
-#endif
-
-            continue;
-            }
-
-        if ( !IsNodeDisplayedL( *node ) || node->IsDropped() )
-            {
-#ifdef _XN3_DEBUG_
-            debug.Append( _L8( ", not displayed or dropped" ) );
-            RDebug::RawPrint( debug );
-#endif
-            continue;
-            }
-
-#ifdef _XN3_DEBUG_
-        RDebug::RawPrint( debug );
-#endif
-
-        switch ( aLayoutPhase )
-            {
-            case XnLayoutPhase::ELayout:
-                if ( aLaidOutList.Find( node ) == KErrNotFound )
-                    {
-                    aLaidOutList.AppendL( node );
-                    }
-                /* flow through */
-            case XnLayoutPhase::EMeasure:
-                if ( node->ViewNodeImpl() )
-                    {
-                    // check that view's children fit into it
-                    FitChildrenIntoParentL( *node, aGraphicsDevice,
-                        aHorizontalUnitInPixels, aVerticalUnitInPixels );
-                    continue;
-                    }
-                engine->CheckAdaptiveContentL( *node, maxAvailableSize );
-                if ( node->IsDropped() )
-                    {
-                    // Adaptive content check dropped this node
-                    continue;
-                    }
-                break;
-            default:
-                // Should not happen
-                continue;
-            }
-		
-        if( node->Type()->Type() == KScrollableBoxNodeName )            
-            {
-            CXnScrollableControlAdapter* cntrl = node->ScrollableControl();
-            if( cntrl )
-                {
-                cntrl->ResetState();
-                }
-            }
-				
-        CXnNode* tmpParent( DisplayedParentL( *node ) );
-
-        // Is parent changed?
-        if ( tmpParent != parent )
-            {
-            columnWidth = 0;
-            columnMargin = 0;
-            if ( parent )
-                {
-                 // Process auto areas
-                ProcessAutoAreasL( *parent, &autoNodes, *parentBlockProgression,
-                    *parentDirection, aGraphicsDevice, aHorizontalUnitInPixels,
-                    aVerticalUnitInPixels );
-                autoNodes.Reset();
-                // Pocess relative areas
-                for ( TInt i = 0; i < relativeNodes.Count(); i++ )
-                    {
-                    CalculateRelativePositionsL( parentRect, *relativeNodes[i],
-                    aGraphicsDevice, aHorizontalUnitInPixels,
-                    aVerticalUnitInPixels );
-                    }
-                relativeNodes.Reset();
-                // Process absolute areas
-                for ( TInt i = 0; i < absoluteNodes.Count(); i++ )
-                    {
-                    CalculatePaddingL( parentRect, *absoluteNodes[i],
-                        aGraphicsDevice, aHorizontalUnitInPixels,
-                        aVerticalUnitInPixels );
-                    CalculateBorderL( *absoluteNodes[i], parentRect,
-                        aGraphicsDevice, aHorizontalUnitInPixels,
-                        aVerticalUnitInPixels );
-                    CalculateAbsoluteMarginL( *parent, *absoluteNodes[i], NULL,
-                        *parentBlockProgression, *parentDirection, parentRect,
-                        aGraphicsDevice, aHorizontalUnitInPixels,
-                        aVerticalUnitInPixels );
-                    CalculateAbsolutePositionsL( *absoluteNodes[i], parentRect,
-                        aGraphicsDevice, aHorizontalUnitInPixels,
-                        aVerticalUnitInPixels );
-                    }
-                absoluteNodes.Reset();
-                previous = NULL;
-                }
-            // Get new parent properties
-            parent = tmpParent;
-            parentBlockProgressionProperty = parent->BlockProgressionL();
-            parentDirectionProperty = parent->DirectionL();
-            if ( !parentBlockProgressionProperty )
-                {
-                // block progression default is tb
-                parentBlockProgression =
-                    &XnPropertyNames::style::common::block_progression::KTB();
-                }
-            else
-                {
-                parentBlockProgression =
-                    &parentBlockProgressionProperty->StringValue();
-                }
-            if ( !parentDirectionProperty )
-                {
-                // direction default is ltr
-                parentDirection =
-                    &XnPropertyNames::style::common::direction::KLTR();
-                }
-            else
-                {
-                parentDirection = &parentDirectionProperty->StringValue();
-                }
-            }
-
-        parentRect = parent->Rect();
-
-        CalculateRectL( *node, *parent, aGraphicsDevice,
-            aHorizontalUnitInPixels, aVerticalUnitInPixels );
-
-        // Which positioning is used?
-        CXnProperty* positioningProp( node->PositionL() );
-        // Static is the default
-        const TDesC8* positioning(
-            &XnPropertyNames::style::common::position::KStatic() );
-
-        if ( positioningProp )
-            {
-            const TDesC8& value( positioningProp->StringValue() );
-            if ( value != KNullDesC8 )
-                {
-                positioning = &value;
-                }
-            }
-        // Adaptive nodes' _must_ be collected here
-        if ( node->IsAdaptive() && adaptiveNodes.Find( node ) == KErrNotFound )
-            {
-            // Postpone adaptive area processing
-            adaptiveNodes.AppendL( node );
-            }
-        // Tooltips are processed as absolute areas
-        TBool absolute( IsAbsoluteL( *node ) || IsNodeTooltip( *node ) );
-        if ( !node->ViewNodeImpl() && HasNodeAutoValuesL( *node ) && !absolute )
-            {
-            // if area has auto values, process it later
-            autoNodes.AppendL( node );
-            }
-        if ( absolute )
-            {
-            // Absolute positioning area found, take it out of normal flow
-            // Because of that, previous node is not set
-            // Absolute area is put to a array to be processed later
-            absoluteNodes.AppendL( node );
-            continue;
-            }
-        // static or relative positioning
-        CalculatePaddingL( parentRect, *node, aGraphicsDevice,
-            aHorizontalUnitInPixels, aVerticalUnitInPixels );
-        CalculateBorderL( *node, parentRect, aGraphicsDevice,
-            aHorizontalUnitInPixels, aVerticalUnitInPixels );
-        previous = GetPreviousNodeL( *node );
-        CalculateMarginL( *parent, *node, previous, *parentBlockProgression,
-            *parentDirection, parentRect, aGraphicsDevice,
-            aHorizontalUnitInPixels, aVerticalUnitInPixels, columnWidth,
-            columnMargin );
-        FitChildrenIntoParentL( *node, aGraphicsDevice, aHorizontalUnitInPixels,
-            aVerticalUnitInPixels );
-        if ( XnPropertyNames::style::common::position::KRelative() ==
-             *positioning )
-            {
-            // Relative positioning area found, add it's offset later
-            relativeNodes.AppendL( node );
-            }
-        previous = node;
-        }
-
-    if ( parent )
-        {
-        // Are there auto nodes left?
-        ProcessAutoAreasL( *parent, &autoNodes, *parentBlockProgression,
-            *parentDirection, aGraphicsDevice, aHorizontalUnitInPixels,
-            aVerticalUnitInPixels );
-        // Are there relative nodes left?
-        for ( TInt i = 0; i < relativeNodes.Count(); i++ )
-            {
-            CalculateRelativePositionsL( parentRect, *relativeNodes[i],
-                aGraphicsDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-            }
-        // Are there absolute nodes left?
-        for ( TInt i = 0; i < absoluteNodes.Count(); i++ )
-            {
-            CalculatePaddingL( parentRect, *absoluteNodes[i], aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels );
-            CalculateBorderL( *absoluteNodes[i], parentRect, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels );
-            CalculateAbsoluteMarginL( *parent, *absoluteNodes[i], NULL,
-                *parentBlockProgression, *parentDirection, parentRect,
-                aGraphicsDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-            FitChildrenIntoParentL( *absoluteNodes[i], aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels );
-            CalculateAbsolutePositionsL( *absoluteNodes[i], parentRect,
-                aGraphicsDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-            }
-        }
-
-    for ( TInt i = 0; i < adaptiveNodes.Count(); i++ )
-        {
-        // Fix parent size to its childs content size
-        ProcessAdaptiveAreasL( *adaptiveNodes[i], aGraphicsDevice,
-            aHorizontalUnitInPixels, aVerticalUnitInPixels );
-        }
-
-    // close node arrays and destroy iterator
-    CleanupStack::PopAndDestroy( 5, iterator );
-    }
-
-// -----------------------------------------------------------------------------
-// PriorizeChildrenL()
-// Find a child node with highest priority value and drop all
-// child nodes with highest priority.
-// -----------------------------------------------------------------------------
-//
-static void PriorizeChildrenL( CXnNode& aNode )
-    {
-    RPointerArray< CXnNode >& children( aNode.Children() );
-
-    CXnNode* candidate( NULL );
-    TInt highest( 0 );
-
-    // Find the highest priority value among the children
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNode* node( children[i] );
-        if ( IsNodeDisplayedL( *node ) && !node->IsDropped() &&
-             !IsAbsoluteL( *node ) && !IsNodeTooltip( *node ) )
-            {
-            CXnProperty* priorityProperty( node->DisplayPriorityL() );
-            if ( priorityProperty )
-                {
-                TInt priority( priorityProperty->FloatValueL() );
-                if ( priority > highest )
-                    {
-                    // highest found, set new top priority
-                    highest = priority;
-                    candidate = node;
-                    }
-                }
-            }
-        }
-    if ( candidate )
-        {
-        aNode.UiEngine()->SetNodeDroppedL(
-            *candidate, XnNodeLayout::EDropped  );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateAutoPropertiesOfNodesL()
-//
-// -----------------------------------------------------------------------------
-//
-static void CalculateAutoPropertiesOfNodesL(
-    RPointerArray< CXnNode >* aAutoNodeArray, TInt& aWidthAutoCount,
-    TInt& aHeightAutoCount )
-    {
-    aWidthAutoCount = 0;
-    aHeightAutoCount = 0;
-
-    // calculate the number of auto properties in each direction
-    for ( TInt i = 0; i < aAutoNodeArray->Count(); ++i )
-        {
-        CXnNode* tmp = ( *aAutoNodeArray )[i];
-        if ( !tmp->IsDropped() )
-            {
-            if ( HasNodeVerticalAutoValuesL( *tmp ) )
-                {
-                ++aHeightAutoCount;
-                }
-            if ( HasNodeHorizontalAutoValuesL( *tmp ) )
-                {
-                ++aWidthAutoCount;
-                }
-            }
-        }
-    if ( aWidthAutoCount == 0 )
-        {
-        aWidthAutoCount = 1;
-        }
-    if ( aHeightAutoCount == 0 )
-        {
-        aHeightAutoCount = 1;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// ProcessAutoAreasL()
-// Process nodes with layout properties defined as auto.
-// -----------------------------------------------------------------------------
-//
-static void ProcessAutoAreasL( CXnNode& aParent,
-    RPointerArray< CXnNode >* aAutoNodeArray,
-    const TDesC8& aParentBlockProgression, const TDesC8& aParentDirection,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    TInt autoCount( aAutoNodeArray->Count() );
-
-    if ( autoCount == 0 )
-        {
-        return;
-        }
-
-    //  Just to be sure, drop others first if needed
-    FitChildrenIntoParentL( aParent, aGraphicsDevice, aHorizontalUnitInPixels,
-        aVerticalUnitInPixels );
-
-    TInt originalHeightAutoCount( 0 );
-    TInt originalWidthAutoCount( 0 );
-
-    CalculateAutoPropertiesOfNodesL( aAutoNodeArray, originalWidthAutoCount,
-        originalHeightAutoCount );
-
-    TInt heightAutoCount( originalHeightAutoCount );
-    TInt widthAutoCount( originalWidthAutoCount );
-
-    // calculate space to use (parent height and width - placed areas)
-    CXnNode* parent( &aParent );
-    TRect parentRect( parent->Rect() );
-    
-    if( parent->Control() && parent->Control()->OwnsWindow() )
-        {
-        parentRect = TRect( parentRect.iTl - parent->MarginRect().iTl, parentRect.Size() );
-        }
-
-    TInt parentWidth( parentRect.Width() );
-    TInt parentHeight( parentRect.Height() );
-
-    RPointerArray< CXnNode >& children( parent->Children() );
-
-    RPointerArray< CXnNode > layoutedAutoNodes;
-    CleanupClosePushL( layoutedAutoNodes );
-
-    TBool layoutedAutoNodesAdded( EFalse );
-    TBool layoutingHeight( EFalse );
-    TBool layoutingWidth( EFalse );
-
-    TInt displayedChildCount( DisplayedChildrenCountL( aParent ) );
-
-    do
-        {
-        layoutedAutoNodesAdded = EFalse;
-
-        //  count the size used by the non auto nodes and
-        //  auto nodes which have been calculated
-        TSize calculatedAutosize = CalculateSpaceUsedByAutoChildrenL(
-            *aAutoNodeArray, layoutedAutoNodes, *parent,
-            aParentBlockProgression, aParentDirection, aGraphicsDevice );
-
-        TInt usedSiblingHeight( calculatedAutosize.iHeight );
-        TInt usedSiblingWidth( calculatedAutosize.iWidth );
-
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB ||
-             aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KBT )
-            {
-            // calculate space for each auto area
-            parentHeight = parentRect.Height() - usedSiblingHeight;
-            parentHeight = parentHeight / heightAutoCount;
-            layoutingHeight = ETrue;
-            }
-        else // assume that block progression is LR or RL
-            {
-            // calculate space for each auto area
-            parentWidth = parentRect.Width() - usedSiblingWidth;
-            parentWidth = parentWidth / widthAutoCount;
-            layoutingWidth = ETrue;
-            }
-        for ( TInt i = 0; i < autoCount; i++ )
-            {
-            CXnNode* node( ( *aAutoNodeArray )[i] );
-            if ( layoutedAutoNodes.Find( node ) != KErrNotFound )
-                {
-                //  The size has already been calculated and fixed
-                continue;
-                }
-            if ( node->IsDropped() )
-                {
-                //  The node is dropped, no need to recalculate
-                continue;
-                }
-            CXnProperty* heightProperty = node->HeightL();
-            CXnProperty* widthProperty = node->WidthL();
-            CXnProperty* marginLeft = node->MarginLeftL();
-            CXnProperty* marginRight = node->MarginRightL();
-            CXnProperty* marginTop = node->MarginTopL();
-            CXnProperty* marginBottom = node->MarginBottomL();
-            TInt freeHeight = parentHeight;
-            TInt freeWidth = parentWidth;
-            TBool verticalValuesAuto = IsPropertyAutoL( *heightProperty ) ||
-                IsPropertyAutoL( *marginTop ) ||
-                IsPropertyAutoL( *marginBottom );
-            if ( !verticalValuesAuto == !heightProperty )
-                {
-                verticalValuesAuto = ETrue;
-                }
-            TBool horizontalValuesAuto = IsPropertyAutoL( *widthProperty ) ||
-                IsPropertyAutoL( *marginLeft ) ||
-                IsPropertyAutoL( *marginRight );
-            if ( !horizontalValuesAuto == !widthProperty )
-                {
-                horizontalValuesAuto = ETrue;
-                }
-            TInt adaptive( node->IsAdaptive() );
-            // I have childs share the available space between them
-            if ( adaptive & XnAdaptive::EHeight )
-                {
-                // Give all available height to the adaptive node's children
-                freeHeight = parentRect.Height() - usedSiblingHeight;
-                }
-            if ( adaptive & XnAdaptive::EWidth )
-                {
-                // Give all available width to the adaptive node's children
-                freeWidth = parentRect.Width() - usedSiblingWidth;
-                }
-            ScaleAutoAreaL( *node, freeWidth, freeHeight,
-                aParentBlockProgression, aParentDirection,
-                parentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-                aVerticalUnitInPixels );
-            FitChildrenIntoParentL( *node, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels );
-            //  handle autonodes which had auto width or height,
-            // but also min or max limit
-            if ( aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KTB ||
-                 aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KBT )
-                {
-                if ( IsPropertyAutoL( *heightProperty ) &&
-                   ( freeHeight != node->MarginRect().Height() ) )
-                    {
-                    if ( layoutedAutoNodes.Find( node ) == KErrNotFound )
-                        {
-                        //  The height has been callculated already
-                        // and it doesn't depend on the expected
-                        //  auto size anymore, mark the node as layouted
-                        // and reduce the parent free size
-                        layoutedAutoNodes.AppendL( node );
-                        heightAutoCount--;
-                        layoutedAutoNodesAdded = ETrue;
-                        }
-                    }
-                }
-            if ( aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KLR ||
-                 aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KRL )
-                {
-                if ( IsPropertyAutoL( *widthProperty ) &&
-                   ( freeWidth != node->MarginRect().Width() ) )
-                    {
-                    if ( layoutedAutoNodes.Find ( node ) == KErrNotFound )
-                        {
-                        //  The width has been callculated already
-                        // and it doesn't depend on the expected
-                        // auto size anymore, mark the node as layouted
-                        // and reduce the parent free size
-                        layoutedAutoNodes.AppendL( node );
-                        widthAutoCount--;
-                        layoutedAutoNodesAdded = ETrue;
-                        }
-                    }
-                }
-            }
-
-        // drop areas if children don't fit
-        FitAutoChildrenIntoParentL( *aAutoNodeArray, layoutedAutoNodes,
-            *parent, aParentBlockProgression, aParentDirection,
-            aGraphicsDevice );
-
-        //  if something was dropped, reset the layouted auto nodes array
-        TInt newDisplayedChildCount = DisplayedChildrenCountL( aParent );
-
-        if ( displayedChildCount != newDisplayedChildCount )
-            {
-            // if nodes with auto values are dropped
-            // recalculate the auto counts
-            CalculateAutoPropertiesOfNodesL( aAutoNodeArray,
-                originalWidthAutoCount, originalHeightAutoCount );
-
-            //  recalculate everything again because something was dropped
-            layoutedAutoNodes.Reset();
-            displayedChildCount = newDisplayedChildCount;
-            heightAutoCount = originalHeightAutoCount;
-            widthAutoCount = originalWidthAutoCount;
-            layoutedAutoNodesAdded = ETrue;
-            }
-
-        } 
-    while( layoutedAutoNodesAdded && ( ( heightAutoCount && layoutingHeight ) ||
-         ( widthAutoCount && layoutingWidth ) ) );
-
-    MoveAutoAreaL( parentRect, children, aParentBlockProgression,
-        aParentDirection );
-
-    CleanupStack::PopAndDestroy( &layoutedAutoNodes );
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateCollapseMarginsL()
-// Return the amount the margins should be collapsed in two list. The list
-// element contains the amount of margins collapsed in pixels to the previous
-// layoutable, nondropped, static and nontooltip node.
-// When calculating the movement of the node, this value should be decreased
-// from the movement.
-// When calculating the total size of the auto proerety nodes, this value
-// should be decreased from the size taken.
-// If the children list contains one of the above mentioned type of nodes,
-// then the value for those are always 0.
-// For example, if there are three children and the middle one has been
-// dropped, the the returned list contains two elemnts, first is 0 and
-// the second one is the amount of collapsed margins between the first and the
-// last node.
-// The caller is responsible of releasing the returned arrays.
-// -----------------------------------------------------------------------------
-//
-static void CalculateCollapseMarginsL( RPointerArray< CXnNode >& aChildren,
-    RArray< TInt >& aCollapsedMarginsWidth,
-    RArray< TInt >& aCollapsedMarginsHeight,
-    const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection )
-    {
-    aCollapsedMarginsWidth.Reset();
-    aCollapsedMarginsHeight.Reset();
-
-    //  Find first node which needs to be taken into account
-    CXnNode* previousNode = NULL;
-    TInt startIndex = aChildren.Count();
-    for ( TInt i = 0; !previousNode && i < aChildren.Count(); i++ )
-        {
-        if ( IsNodeDisplayedL( *aChildren[i] ) &&
-             !aChildren[i]->IsDropped() &&
-             !IsAbsoluteL(*aChildren[i]) &&
-             !IsNodeTooltip(*aChildren[i]) &&
-             aChildren[i]->IsLayoutCapable())
-            {
-            previousNode = aChildren[i];
-            startIndex = aChildren.Find( previousNode ) + 1;
-            }
-        }
-
-    //  Add needed amount of collapsed margins as 0
-    for ( TInt i = 1; i < startIndex; i++ )
-        {
-        User::LeaveIfError( aCollapsedMarginsWidth.Append( 0 ) );
-        User::LeaveIfError( aCollapsedMarginsHeight.Append( 0 ) );
-        }
-
-    //  Calculate collapsed for the rest of the nodes, 0 if not needed
-    for ( TInt i = startIndex; i < aChildren.Count() && previousNode; i++ )
-        {
-        CXnNode* node = aChildren[i];
-        TInt collapsedWidth = 0;
-        TInt collapsedHeight = 0;
-
-        if ( IsNodeDisplayedL( *node ) && 
-             !node->IsDropped() &&
-             !IsAbsoluteL( *node ) &&
-             !IsNodeTooltip( *node ) &&
-             node->IsLayoutCapable() )
-            {
-            if ( ( aParentBlockProgression ==
-                   XnPropertyNames::style::common::block_progression::KLR ||
-                   aParentBlockProgression ==
-                   XnPropertyNames::style::common::block_progression::KRL ) &&
-                   aParentDirection ==
-                   XnPropertyNames::style::common::direction::KLTR )
-                {
-                TInt previousRightMargin = Abs( previousNode->
-                    MarginRect().iBr.iX - previousNode->BorderRect().iBr.iX );
-                TInt nodeLeftMargin = Abs( node->BorderRect().iTl.iX -
-                    node->MarginRect().iTl.iX );
-
-                collapsedWidth = -( previousRightMargin > nodeLeftMargin ) ?
-                    nodeLeftMargin : previousRightMargin;
-                }
-
-            if ( ( aParentBlockProgression ==
-                   XnPropertyNames::style::common::block_progression::KRL || 
-                   aParentBlockProgression ==
-                   XnPropertyNames::style::common::block_progression::KLR ) &&
-                   aParentDirection ==
-                   XnPropertyNames::style::common::direction::KRTL )
-                {
-                TInt previousLeftMargin = Abs( previousNode->
-                    MarginRect().iTl.iX - previousNode->BorderRect().iTl.iX );
-                TInt nodeRightMargin = Abs( node->BorderRect().iBr.iX -
-                    node->MarginRect().iBr.iX );
-
-                collapsedWidth = ( previousLeftMargin > nodeRightMargin ) ?
-                    nodeRightMargin : previousLeftMargin;
-                }
-
-            if ( ( aParentBlockProgression ==
-                   XnPropertyNames::style::common::block_progression::KTB ||
-                   aParentBlockProgression ==
-                   XnPropertyNames::style::common::block_progression::KBT ) &&
-                   aParentDirection ==
-                   XnPropertyNames::style::common::direction::KLTR )
-                {
-                TInt previousBottomMargin = Abs( previousNode->
-                    MarginRect().iBr.iY - previousNode->BorderRect().iBr.iY );
-                TInt nodeTopMargin = Abs( node->BorderRect().iTl.iY -
-                    node->MarginRect().iTl.iY );
-
-                collapsedHeight = ( previousBottomMargin > nodeTopMargin ) ?
-                    nodeTopMargin : previousBottomMargin;
-                }
-
-            if ( ( aParentBlockProgression ==
-                   XnPropertyNames::style::common::block_progression::KTB ||
-                   aParentBlockProgression ==
-                   XnPropertyNames::style::common::block_progression::KBT ) &&
-                   aParentDirection ==
-                   XnPropertyNames::style::common::direction::KRTL )
-                {
-                TInt previousTopMargin = Abs( previousNode->\
-                    MarginRect().iTl.iY - previousNode->BorderRect().iTl.iY );
-                TInt nodeBottomMargin = Abs( node->BorderRect().iBr.iY -
-                    node->MarginRect().iBr.iY );
-
-                collapsedHeight = -( ( previousTopMargin > nodeBottomMargin ) ?
-                    nodeBottomMargin : previousTopMargin );
-                }
-            }
-        User::LeaveIfError( aCollapsedMarginsWidth.Append( collapsedWidth ) );
-        User::LeaveIfError( aCollapsedMarginsHeight.Append( collapsedHeight ) );
-        previousNode = node;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateSpaceUsedByAutoChildrenL()
-// Return space used by node's children including auto nodes which have
-// been calculated.
-// -----------------------------------------------------------------------------
-//
-static TSize CalculateSpaceUsedByAutoChildrenL(
-    RPointerArray< CXnNode >& aAutoChildren,
-    RPointerArray< CXnNode >& aCalculatedAutoChildren,
-    CXnNode& aParent, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, CGraphicsDevice& /*aScreenDevice*/ )
-    {
-    TInt usedSiblingHeight( 0 );
-    TInt usedSiblingWidth( 0 );
-
-    TSize largestSize( 0, 0 );
-
-    //  Calculate collapsed margins
-    RArray< TInt > collapsedMarginsWidth;
-    RArray< TInt > collapsedMarginsHeight;
-
-    CleanupClosePushL( collapsedMarginsWidth );
-    CleanupClosePushL( collapsedMarginsHeight );
-
-    RPointerArray< CXnNode >& children( aParent.Children() );
-
-    CalculateCollapseMarginsL( children,
-                               collapsedMarginsWidth,
-                               collapsedMarginsHeight,
-                               aParentBlockProgression,
-                               aParentDirection );
-
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        CXnNode* node( children[i] );
-        if ( IsNodeDisplayedL( *node ) && !node->IsDropped() &&
-             !IsAbsoluteL( *node ) && !IsNodeTooltip( *node ) )
-            {
-            //  Calculate how much does the node takes space,
-            //  0 is used for auto nodes which have not been calculated
-            TSize siblingSize( node->MarginRect().Size() );
-            if ( aAutoChildren.Find( node ) != KErrNotFound &&
-                 aCalculatedAutoChildren.Find( node ) == KErrNotFound )
-                {
-                //  Node is auto node and its values have not been fixed yet
-                //  The node may have auto in either direction
-                // so that must be checked
-                if ( HasNodeVerticalAutoValuesL( *node ) )
-                    {
-                    siblingSize.iHeight = 0;
-                    }
-                if ( HasNodeHorizontalAutoValuesL( *node ) )
-                    {
-                    siblingSize.iWidth = 0;
-                    }
-                }
-            // Update the largets found node rect
-            if ( siblingSize.iWidth > largestSize.iWidth )
-                {
-                largestSize.iWidth = siblingSize.iWidth;
-                }
-            if ( siblingSize.iHeight > largestSize.iHeight )
-                {
-                largestSize.iHeight = siblingSize.iHeight;
-                }
-            //  Add the used area
-            if ( aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KTB ||
-                 aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KBT )
-                {
-                usedSiblingHeight += siblingSize.iHeight;
-                usedSiblingWidth = largestSize.iWidth;
-                }
-            if ( aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KLR ||
-                 aParentBlockProgression ==
-                 XnPropertyNames::style::common::block_progression::KRL )
-                {
-                usedSiblingWidth += siblingSize.iWidth;
-                usedSiblingHeight = largestSize.iHeight;
-                }
-            //  Find the children index from all children
-            TInt childrenIndex( children.Find( node ) );
-            //  No collapsing for just one node
-            if ( childrenIndex > 0 )
-                {
-                //  Take the collapsed margins into account
-                // (the value is 0 if not collapsed)
-                usedSiblingWidth -= collapsedMarginsWidth[childrenIndex - 1];
-                usedSiblingHeight -= collapsedMarginsHeight[childrenIndex - 1];
-                }
-            }
-        }
-    //  Collapsed arrays
-    CleanupStack::PopAndDestroy( 2 );
-
-    return TSize( usedSiblingWidth, usedSiblingHeight );
-    }
-
-// -----------------------------------------------------------------------------
-// MoveAutoAreaL()
-// Move nodes after all auto properties have been handled.
-// -----------------------------------------------------------------------------
-//
-static void MoveAutoAreaL( TRect& parentRect,
-    RPointerArray< CXnNode >& aChildren, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection )
-    {
-    //  Calculate collapsed margins
-    RArray< TInt > collapsedMarginsWidth;
-    RArray< TInt > collapsedMarginsHeight;
-
-    CleanupClosePushL( collapsedMarginsWidth );
-    CleanupClosePushL( collapsedMarginsHeight );
-
-    CalculateCollapseMarginsL( aChildren, collapsedMarginsWidth,
-        collapsedMarginsHeight, aParentBlockProgression,
-        aParentDirection );
-
-    CXnNode* previousNode( NULL );
-    TInt startIndex( aChildren.Count() );
-
-    for ( TInt i = 0; !previousNode && i < aChildren.Count(); i++ )
-        {
-        CXnNode* node( aChildren[i] );
-        if ( IsNodeDisplayedL( *node ) && !node->IsDropped() &&
-             !IsAbsoluteL (*node ) && !IsNodeTooltip( *node ) )
-            {
-            previousNode = node;
-            startIndex = i + 1;
-            }
-        }
-    if ( !previousNode )
-        {
-        //  Collapsed arrays
-        CleanupStack::PopAndDestroy( 2 );
-        return;
-        }
-
-    //  Which way are the boxes layouted?
-    //
-    //  1) ltr, tb:  2) ltr, bt:  3) ltr, rl:  4) ltr, lr:
-    //     1 4          3 6          1 2 3        4 5 6
-    //     2 5          2 5          4 5 6        1 2 3
-    //     3 6          1 4
-    //
-    //  5) rtl, tb:  6) rtl, bt:  7) rtl, rl:  8) rtl, lr:
-    //     4 1          6 3          3 2 1        6 5 4
-    //     5 2          5 2          6 5 4        3 2 1
-    //     6 3          4 1
-    //
-
-    TInt layoutType( 0 );
-    if ( aParentDirection == XnPropertyNames::style::common::direction::KLTR )
-        {
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB )
-            {
-            layoutType = 1;
-            }
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KBT )
-            {
-            layoutType = 2;
-            }
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KRL )
-            {
-            layoutType = 3;
-            }
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KLR )
-            {
-            layoutType = 4;
-            }
-        }
-    else if ( aParentDirection ==
-              XnPropertyNames::style::common::direction::KRTL )
-        {
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB )
-            {
-            layoutType = 5;
-            }
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KBT )
-            {
-            layoutType = 6;
-            }
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KRL )
-            {
-            layoutType = 7;
-            }
-        else if ( aParentBlockProgression ==
-                  XnPropertyNames::style::common::block_progression::KLR )
-            {
-            layoutType = 8;
-            }
-        }
-    TRect previousContentRect( previousNode->Rect() );
-    TRect previousPaddingRect( previousNode->PaddingRect() );
-    TRect previousBorderRect( previousNode->BorderRect() );
-    TRect previousMarginRect( previousNode->MarginRect() );
-    TRect previousNormalFlowBorderRect( previousNode->NormalFlowBorderRect() );
-    TInt widthToMove = 0;
-    TInt heightToMove = 0;
-
-    //  Move the first node to the correct place
-    switch ( layoutType )
-        {
-        case 1:
-            {
-            //  Top to parent top
-            heightToMove = parentRect.iTl.iY - previousMarginRect.iTl.iY;
-            }
-            break;
-        case 2:
-            {
-            //  Bottom to parent bottom
-            heightToMove = parentRect.iBr.iY - previousMarginRect.iBr.iY;
-            }
-            break;
-        case 3:
-            {
-            //  Left to parent left
-            widthToMove = parentRect.iTl.iX - previousMarginRect.iTl.iX;
-            }
-            break;
-        case 4:
-            {
-            heightToMove = parentRect.iBr.iY - previousMarginRect.iBr.iY;
-            widthToMove = parentRect.iTl.iX - previousMarginRect.iTl.iX;
-            }
-            break;
-        case 5: // flow through
-        case 7:
-            {
-            heightToMove = parentRect.iTl.iY - previousMarginRect.iTl.iY;
-            widthToMove = parentRect.iBr.iX - previousMarginRect.iBr.iX;
-            }
-            break;
-        case 6: // flow through
-        case 8:
-            {
-            heightToMove = parentRect.iBr.iY - previousMarginRect.iBr.iY;
-            widthToMove = parentRect.iBr.iX - previousMarginRect.iBr.iX;
-            }
-            break;
-        }
-
-    //  Move rects
-    previousContentRect.Move( widthToMove, heightToMove );
-    previousPaddingRect.Move( widthToMove, heightToMove );
-    previousBorderRect.Move( widthToMove, heightToMove );
-    previousMarginRect.Move( widthToMove, heightToMove );
-    previousNormalFlowBorderRect.Move( widthToMove, heightToMove );
-
-    //  Set rects
-    previousNode->SetRect( previousContentRect );
-    previousNode->SetPaddingRect( previousPaddingRect );
-    previousNode->SetBorderRect( previousBorderRect );
-    previousNode->SetMarginRect( previousMarginRect );
-    previousNode->SetNormalFlowBorderRect( previousNormalFlowBorderRect );
-
-    for ( TInt i = startIndex; i < aChildren.Count() && previousNode; i++ )
-        {
-        CXnNode* node( aChildren[i] );
-
-        if ( IsNodeDisplayedL( *node ) && !node->IsDropped() &&
-             !IsAbsoluteL( *node ) && !IsNodeTooltip( *node ) )
-            {
-            //  Get rects
-            TRect contentRect( node->Rect() );
-            TRect paddingRect( node->PaddingRect() );
-            TRect borderRect( node->BorderRect() );
-            TRect marginRect( node->MarginRect() );
-            TRect normalFlowBorderRect( node->NormalFlowBorderRect() );
-            previousMarginRect = previousNode->MarginRect();
-
-            widthToMove = 0;
-            heightToMove = 0;
-
-            //  Count movements
-            switch ( layoutType )
-                {
-                case 1:
-                    {
-                    //  Move node top to the previous bottom
-                    heightToMove = previousMarginRect.iBr.iY - marginRect.iTl.iY;
-                    heightToMove -= collapsedMarginsHeight[i - 1];
-                    }
-                    break;
-                case 2:
-                    {
-                    //  Move node bottom to the previous top
-                    heightToMove = previousMarginRect.iTl.iY - marginRect.iBr.iY;
-                    heightToMove += collapsedMarginsHeight[i - 1];
-                    }
-                    break;
-                case 3:
-                    {
-                    //  Move node left to the previous right
-                    widthToMove = previousMarginRect.iBr.iX - marginRect.iTl.iX;
-                    widthToMove -= collapsedMarginsWidth[i - 1];
-                    }
-                    break;
-                case 4:
-                    {
-                    heightToMove = previousMarginRect.iTl.iY - marginRect.iTl.iY;
-                    widthToMove = previousMarginRect.iBr.iX - marginRect.iTl.iX;
-                    widthToMove -= collapsedMarginsWidth[i - 1];
-                    }
-                    break;
-                case 5:
-                    {
-                    //  Move node top to the previous bottom
-                    heightToMove = previousMarginRect.iBr.iY - marginRect.iTl.iY;
-                    heightToMove -= collapsedMarginsHeight[i - 1];
-                    widthToMove = previousMarginRect.iTl.iX - marginRect.iTl.iX;
-                    }
-                    break;
-                case 6:
-                    {
-                    //  Move node bottom to the previous top
-                    heightToMove = previousMarginRect.iTl.iY - marginRect.iBr.iY;
-                    heightToMove += collapsedMarginsHeight[i - 1];
-                    widthToMove = previousMarginRect.iTl.iX - marginRect.iTl.iX;
-                    }
-                    break;
-                case 7:
-                    {
-                    //  Move node left to the previous right
-                    widthToMove = previousMarginRect.iTl.iX - marginRect.iBr.iX;
-                    widthToMove += collapsedMarginsWidth[i - 1];
-                    }
-                    break;
-                case 8:
-                    {
-                    heightToMove = previousMarginRect.iTl.iY - marginRect.iTl.iY;
-                    widthToMove = previousMarginRect.iTl.iX - marginRect.iBr.iX;
-                    widthToMove += collapsedMarginsWidth[i - 1];
-                    }
-                    break;
-                }
-
-            //  Move rects
-            contentRect.Move( widthToMove, heightToMove );
-            paddingRect.Move( widthToMove, heightToMove );
-            borderRect.Move( widthToMove, heightToMove );
-            marginRect.Move( widthToMove, heightToMove );
-            normalFlowBorderRect.Move( widthToMove, heightToMove );
-
-            //  Set rects
-            node->SetRect( contentRect );
-            node->SetPaddingRect( paddingRect );
-            node->SetBorderRect( borderRect );
-            node->SetMarginRect( marginRect );
-            node->SetNormalFlowBorderRect( normalFlowBorderRect );
-
-            previousNode = node;
-            }
-        }
-
-    //  Collapsed arrays
-    CleanupStack::PopAndDestroy( 2 );
-    }
-
-// -----------------------------------------------------------------------------
-// ScaleAutoAreaL()
-// Scale dimensions for areas that have properties set to AUTO.
-// -----------------------------------------------------------------------------
-//
-static TSize ScaleAutoAreaL( CXnNode& aNode, TInt aWidthToFit,
-    TInt aHeightToFit, const TDesC8& aParentBlockProgression,
-    const TDesC8& aParentDirection, TRect& aParentRect,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    // if only one value is auto, it is computed from equality
-    // if width is set to AUTO, all other values become 0
-    // if both margin left and right are set to AUTO, their computed
-    // values are equal
-    TSize sizeOfAutoArea( 0, 0 );
-
-    RArray< TPtrC8 > autoArray;
-    CleanupClosePushL( autoArray );
-
-    CXnProperty* top = aNode.TopL();
-    if ( IsPropertyAutoL( *top ) )
-        {
-        TPtrC8 propertyName = top->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* bottom = aNode.BottomL();
-    if ( IsPropertyAutoL( *bottom ) )
-        {
-        TPtrC8 propertyName = bottom->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* left = aNode.LeftL();
-    if ( IsPropertyAutoL( *left ) )
-        {
-        TPtrC8 propertyName = left->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* right = aNode.RightL();
-    if ( IsPropertyAutoL( *right ) )
-        {
-        TPtrC8 propertyName = right->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* width = aNode.WidthL();
-    if ( IsPropertyAutoL( *width ) )
-        {
-        TPtrC8 propertyName = width->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    if ( !width )
-        {
-        TPtrC8 propertyName = XnPropertyNames::style::common::KWidth();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* height = aNode.HeightL();
-    if ( IsPropertyAutoL( *height ) )
-        {
-        TPtrC8 propertyName = height->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    if ( !height )
-        {
-        TPtrC8 propertyName = XnPropertyNames::style::common::KHeight();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* marginTop = aNode.MarginTopL();
-    if ( IsPropertyAutoL( *marginTop ) )
-        {
-        TPtrC8 propertyName = marginTop->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* marginBottom = aNode.MarginBottomL();
-    if ( IsPropertyAutoL( *marginBottom ) )
-        {
-        TPtrC8 propertyName = marginBottom->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* marginLeft = aNode.MarginLeftL();
-    if ( IsPropertyAutoL( *marginLeft ) )
-        {
-        TPtrC8 propertyName = marginLeft->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-    CXnProperty* marginRight = aNode.MarginRightL();
-    if ( IsPropertyAutoL( *marginRight ) )
-        {
-        TPtrC8 propertyName = marginRight->Property()->Name();
-        autoArray.Append( propertyName );
-        }
-
-    if ( aParentDirection == XnPropertyNames::style::common::direction::KLTR )
-        {
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB ||
-             aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KBT )
-            {
-            sizeOfAutoArea = TSize( AutoStaticTBL( aNode, aWidthToFit,
-                aHeightToFit, autoArray, aParentRect, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels ) );
-            }
-        else // block progression LR
-            {
-            sizeOfAutoArea = TSize( AutoStaticLRL( aNode, aWidthToFit,
-                aHeightToFit, autoArray, aParentRect, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels ) );
-            }
-        }
-    else // direction RTL
-        {
-        if ( aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KTB ||
-             aParentBlockProgression ==
-             XnPropertyNames::style::common::block_progression::KBT )
-            {
-            sizeOfAutoArea = TSize( AutoStaticBTL( aNode, aWidthToFit,
-                aHeightToFit, autoArray, aParentRect, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels ) );
-            }
-        else // block progression RL
-            {
-            sizeOfAutoArea = TSize( AutoStaticRLL( aNode, aWidthToFit,
-                aHeightToFit, autoArray, aParentRect, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels ) );
-            }
-        }
-
-    // if size not within min&max size limits, resize
-    // (min-size)
-    if ( HasNodeMinSizesL( aNode ) )
-        {
-        if ( IsSmallerThanMinSizeL( aParentRect, aNode, aGraphicsDevice,
-             aHorizontalUnitInPixels, aVerticalUnitInPixels ) )
-            {
-            GrowToMinSizeL( aNode, aParentRect, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels );
-            }
-        }
-
-     if ( HasNodeMaxSizesL( aNode ) )
-        {
-        if ( IsLargerThanMaxSizeL( aParentRect, aNode, aGraphicsDevice,
-             aHorizontalUnitInPixels, aVerticalUnitInPixels ) )
-            {
-            ShrinkToMaxSizeL( aNode, aParentRect, aGraphicsDevice,
-                aHorizontalUnitInPixels, aVerticalUnitInPixels );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &autoArray );
-
-    //  Return the context rect size because the min-max
-    // test might have changed the size of autoarea
-    return aNode.Rect().Size();
-    }
-
-// -----------------------------------------------------------------------------
-// GrowToMinSizeL()
-//
-// -----------------------------------------------------------------------------
-//
-static void GrowToMinSizeL( CXnNode& aNode, TRect& aParentRect,
-    CGraphicsDevice& aScreenDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels )
-    {
-    // grow to min size
-    CXnProperty* minWidthProperty = aNode.MinWidthL();
-    CXnProperty* minHeightProperty = aNode.MinHeightL();
-
-    TRect contentRect( aNode.Rect() );
-    TRect paddingRect( aNode.PaddingRect() );
-    TRect borderRect( aNode.BorderRect() );
-    TRect normalFlowBorderRect( aNode.NormalFlowBorderRect() );
-    TRect marginRect( aNode.MarginRect() );
-
-    if ( minWidthProperty )
-        {
-        if ( !IsPropertyNone( *minWidthProperty ) )
-            {
-            TInt minWidth = HorizontalPixelValueL( minWidthProperty,
-                aParentRect.Width(), aScreenDevice, aHorizontalUnitInPixels );
-            if ( contentRect.Width() < minWidth )
-                {
-                TInt widthToGrow = minWidth - contentRect.Width();
-                contentRect.Resize( widthToGrow, 0 );
-                paddingRect.Resize( widthToGrow, 0 );
-                borderRect.Resize( widthToGrow, 0 );
-                normalFlowBorderRect.Resize( widthToGrow, 0 );
-                marginRect.Resize( widthToGrow, 0 );
-                }
-            }
-        }
-
-    if ( minHeightProperty )
-        {
-        if ( !IsPropertyNone( *minHeightProperty ) )
-            {
-            TInt minHeight = VerticalPixelValueL( minHeightProperty,
-                aParentRect.Height(), aScreenDevice, aVerticalUnitInPixels );
-            if ( contentRect.Height() < minHeight )
-                {
-                TInt heightToGrow = minHeight - contentRect.Height();
-                contentRect.Resize( 0, heightToGrow );
-                paddingRect.Resize( 0, heightToGrow );
-                borderRect.Resize( 0, heightToGrow );
-                normalFlowBorderRect.Resize( 0, heightToGrow );
-                marginRect.Resize( 0, heightToGrow );
-                }
-            }
-        }
-
-    aNode.SetRect( contentRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-    aNode.SetMarginRect( marginRect );
-    }
-
-// -----------------------------------------------------------------------------
-// ShrinkToMaxSizeL()
-// -----------------------------------------------------------------------------
-//
-static void ShrinkToMaxSizeL( CXnNode& aNode, TRect& aParentRect,
-    CGraphicsDevice& aScreenDevice,
-    TReal aHorizontalUnitInPixels, TReal aVerticalUnitInPixels )
-    {
-    // grow to min size
-    CXnProperty* maxWidthProperty = aNode.MaxWidthL();
-    CXnProperty* maxHeightProperty = aNode.MaxHeightL();
-
-    TRect contentRect( aNode.Rect() );
-    TRect paddingRect( aNode.PaddingRect() );
-    TRect borderRect( aNode.BorderRect() );
-    TRect normalFlowBorderRect( aNode.NormalFlowBorderRect() );
-    TRect marginRect( aNode.MarginRect() );
-
-    if ( maxWidthProperty )
-        {
-        if ( !IsPropertyNone( *maxWidthProperty ) )
-            {
-            TInt maxWidth = HorizontalPixelValueL( maxWidthProperty,
-                aParentRect.Width(), aScreenDevice, aHorizontalUnitInPixels );
-            if ( contentRect.Width() > maxWidth )
-                {
-                TInt widthToShrink = contentRect.Width() - maxWidth;
-                contentRect.Resize( -widthToShrink, 0 );
-                paddingRect.Resize( -widthToShrink, 0 );
-                borderRect.Resize( -widthToShrink, 0 );
-                normalFlowBorderRect.Resize( -widthToShrink, 0 );
-                marginRect.Resize( -widthToShrink, 0 );
-                }
-            }
-        }
-
-    if ( maxHeightProperty )
-        {
-        if ( !IsPropertyNone( *maxHeightProperty ) )
-            {
-            TInt maxHeight = VerticalPixelValueL( maxHeightProperty,
-                aParentRect.Height(), aScreenDevice, aVerticalUnitInPixels );
-            if ( contentRect.Height() > maxHeight )
-                {
-                TInt heightToShrink = contentRect.Height() - maxHeight;
-                contentRect.Resize( 0, -heightToShrink );
-                paddingRect.Resize( 0, -heightToShrink );
-                borderRect.Resize( 0, -heightToShrink );
-                normalFlowBorderRect.Resize( 0, -heightToShrink );
-                marginRect.Resize( 0, -heightToShrink );
-                }
-            }
-        }
-
-    aNode.SetRect( contentRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-    aNode.SetMarginRect( marginRect );
-    }
-
-// -----------------------------------------------------------------------------
-// FitAutoChildrenIntoParentL()
-//
-// -----------------------------------------------------------------------------
-//
-static void FitAutoChildrenIntoParentL( RPointerArray< CXnNode >& aAutoChildren,
-    RPointerArray< CXnNode >& aCalculatedAutoChildren, CXnNode& aParent,
-    const TDesC8& aParentBlockProgression, const TDesC8& aParentDirection,
-    CGraphicsDevice& aGraphicsDevice )
-    {
-    if( IsSrollableBox( aParent ) )
-        {
-        return;
-        }
-    
-    TSize space = CalculateSpaceUsedByAutoChildrenL( aAutoChildren,
-        aCalculatedAutoChildren, aParent, aParentBlockProgression,
-        aParentDirection, aGraphicsDevice );
-
-    TSize parentSize( aParent.Rect().Size() );
-
-    while( ( ( parentSize.iHeight < space.iHeight ) &&
-             ( parentSize.iHeight > 0 ) ) ||
-           ( ( parentSize.iWidth < space.iWidth ) &&
-             ( parentSize.iWidth > 0 ) ) )
-        {
-        // if areas go over just one pixel, cut the pixel
-        // from a percent sized node
-        if ( ( parentSize.iHeight == space.iHeight - 1 ) ||
-             ( parentSize.iWidth == space.iWidth - 1 ) )
-            {
-            CutOnePixelFromPercentChildNodeL( aParent, aParentBlockProgression );
-            return;
-            }
-
-        TInt childCount( DisplayedChildrenCountL( aParent ) );
-
-        PriorizeChildrenL( aParent );
-
-        if ( DisplayedChildrenCountL( aParent ) == childCount )
-            {
-            // cannot drop any more children, but they still don't fit
-            return;
-            }
-
-        space = CalculateSpaceUsedByAutoChildrenL( aAutoChildren,
-            aCalculatedAutoChildren, aParent, aParentBlockProgression,
-            aParentDirection, aGraphicsDevice );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// VerticalCentimetersToPixelsL()
-// Convert vertical centimeter value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt VerticalCentimetersToPixelsL( TReal& aCentimeters,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aCentimeters * KCentimetersAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.VerticalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// VerticalInchesToPixelsL()
-// Convert vertical inch value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt VerticalInchesToPixelsL( TReal& aInches,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aInches * KInchesAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.VerticalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// VerticalMillimetersToPixelsL()
-// Convert vertical millimeter value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt VerticalMillimetersToPixelsL( TReal& aMillimeters,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aMillimeters * KMillimetersAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.VerticalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// VerticalPicasToPixelsL()
-// Convert vertical pica value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt VerticalPicasToPixelsL( TReal& aPicas,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aPicas * KPicasAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.VerticalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// VerticalPixelValueL()
-// Convert vertical property to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt VerticalPixelValueL( CXnProperty* aValue, TInt aReferenceValue,
-    CGraphicsDevice& aScreenDevice, TReal aVerticalUnitInPixels )
-    {
-    return VerticalValueToPixelsL( DomPropertyValueFromProperty( aValue ),
-        static_cast< TReal >( aReferenceValue ), aScreenDevice,
-        aVerticalUnitInPixels );
-    }
-
-// -----------------------------------------------------------------------------
-// VerticalPointsToPixelsL()
-// Convert vertical point value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt VerticalPointsToPixelsL( TReal& aPoints,
-    CGraphicsDevice& aScreenDevice )
-    {
-    TReal twips = aPoints * KPointsAsTwips;
-    TInt intTwips = static_cast< TInt >( twips + KIntConversionConstant );
-    return aScreenDevice.VerticalTwipsToPixels( intTwips );
-    }
-
-// -----------------------------------------------------------------------------
-// VerticalValueToPixelsL()
-// Convert vertical property value to pixel value.
-// -----------------------------------------------------------------------------
-//
-static TInt VerticalValueToPixelsL( CXnDomPropertyValue* aValue,
-    TReal aReferenceValue, CGraphicsDevice& aScreenDevice,
-    TReal aVerticalUnitInPixels )
-    {
-    if ( !aValue )
-        {
-        User::Leave( KXnErrDomPropertyValueNULL );
-        }
-    CXnDomPropertyValue::TPrimitiveValueType valueType =
-        aValue->PrimitiveValueType();
-    //  Handle error cases first, inherit is handled elsewhere, none returns 0
-    switch ( valueType )
-        {
-        case CXnDomPropertyValue::EUnknown:
-        case CXnDomPropertyValue::EEms:
-        case CXnDomPropertyValue::EExs:
-        case CXnDomPropertyValue::EDeg:
-        case CXnDomPropertyValue::ERad:
-        case CXnDomPropertyValue::EGrad:
-        case CXnDomPropertyValue::EMs:
-        case CXnDomPropertyValue::ES:
-        case CXnDomPropertyValue::EHz:
-        case CXnDomPropertyValue::EKHz:
-        case CXnDomPropertyValue::EDimension:
-        case CXnDomPropertyValue::EString:
-        case CXnDomPropertyValue::EUri:
-        case CXnDomPropertyValue::EIdent:
-        case CXnDomPropertyValue::EAttr:
-        case CXnDomPropertyValue::ECounter:
-        case CXnDomPropertyValue::ERect:
-        case CXnDomPropertyValue::ERgbColor:
-        case CXnDomPropertyValue::ERgbaColor:
-        case CXnDomPropertyValue::EFunction:
-            break;
-        default:
-            {
-            TReal value = aValue->FloatValueL();
-            if ( valueType == CXnDomPropertyValue::ENumber ||
-                 valueType == CXnDomPropertyValue::EPx )
-                {
-                return static_cast< TInt >( value );
-                }
-            else if ( valueType == CXnDomPropertyValue::EPercentage )
-                {
-                return PercentageToPixelsL( value, aReferenceValue );
-                }
-            else if ( valueType == CXnDomPropertyValue::EIn )
-                {
-                return VerticalInchesToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::ECm )
-                {
-                return VerticalCentimetersToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::EMm )
-                {
-                return VerticalMillimetersToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::EPt )
-                {
-                return VerticalPointsToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::EPc )
-                {
-                return VerticalPicasToPixelsL( value, aScreenDevice );
-                }
-            else if ( valueType == CXnDomPropertyValue::EUnitValue )
-                {
-                return VerticalUnitsToPixelsL( value, aVerticalUnitInPixels );
-                }
-            }
-            break;
-        }
-
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// ProcessAdaptiveAreasL()
-// Process adaptive areas
-// -----------------------------------------------------------------------------
-//
-static void ProcessAdaptiveAreasL( CXnNode& aParent,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    CXnProperty* blockProgressionProperty( aParent.BlockProgressionL() );
-    CXnProperty* directionProperty( aParent.DirectionL() );
-    const TDesC8* blockProgression(
-        &XnPropertyNames::style::common::block_progression::KTB() );
-    const TDesC8* direction(
-        &XnPropertyNames::style::common::direction::KLTR() );
-
-    if ( directionProperty )
-        {
-        direction = &directionProperty->StringValue();
-        }
-
-    if ( blockProgressionProperty )
-        {
-        blockProgression = &blockProgressionProperty->StringValue();
-        }
-
-    CalculateAdaptiveSizeL( aParent, *blockProgression, *direction,
-        aGraphicsDevice, aHorizontalUnitInPixels, aVerticalUnitInPixels );
-    }
-
-// -----------------------------------------------------------------------------
-// CalculateAdaptiveSizeL()
-// Fixes the adaptive node size to its layouted children size
-// -----------------------------------------------------------------------------
-//
-static void CalculateAdaptiveSizeL( CXnNode& aNode,
-    const TDesC8& aParentBlockProgression, const TDesC8& /*aParentDirection*/,
-    CGraphicsDevice& aGraphicsDevice, TReal aHorizontalUnitInPixels,
-    TReal aVerticalUnitInPixels )
-    {
-    TInt adaptive( aNode.IsAdaptive() );
-    CXnNode* parent( aNode.Parent() );
-
-    if ( !adaptive || !parent )
-        {
-        return;
-        }
-
-    TInt adaptiveHeight( 0 );
-    TInt adaptiveWidth( 0 );
-
-    RPointerArray< CXnNode > children;
-    CleanupClosePushL( children );
-
-    TInt count( DisplayedChildrenCountL( aNode, &children ) );
-
-    TSize size;
-
-    if ( count == 0 )
-        {
-        TRect parentRect( parent->Rect() );
-        if( parent->Control() && parent->Control()->OwnsWindow() )
-            {
-            parentRect = TRect( parentRect.iTl - parent->MarginRect().iTl, parentRect.Size() );
-            }
-        // I don't have any displayed childrens, fix my own size
-        size = CalculateTotalDimensionsL( aNode, ETrue, EFalse,
-            parentRect, aGraphicsDevice, aHorizontalUnitInPixels,
-            aVerticalUnitInPixels );
-        adaptiveHeight = size.iHeight;
-        adaptiveWidth = size.iWidth;
-        }
-    else
-        {
-        TBool autoHeight( EFalse );
-        TBool autoWidth( EFalse );
-        TBool sizeKnown( EFalse );
-        for ( TInt i = 0; i < children.Count(); i++ )
-            {
-            CXnNode* node( children[i] );
-            if ( !IsNodeDisplayedL( *node ) )
-                {
-                continue;
-                }
-            CXnProperty* heightProperty( node->HeightL() );
-            if ( !( node->IsAdaptive() & XnAdaptive::EHeight ) &&
-                  ( adaptive & XnAdaptive::EHeight ) &&
-                    IsPropertyAutoL( *heightProperty ) )
-                {
-                adaptiveHeight = node->MarginRect().Size().iHeight;
-                autoHeight = ETrue;
-                if ( !( adaptive & XnAdaptive::EWidth ) )
-                    {
-                    // Height is now known and width is not adaptive
-                    // -> size is now known
-                    sizeKnown = ETrue;
-                    }
-                }
-            CXnProperty* widthProperty( node->WidthL() );
-            if ( !( node->IsAdaptive() & XnAdaptive::EWidth ) &&
-                  ( adaptive & XnAdaptive::EWidth ) &&
-                    IsPropertyAutoL( *widthProperty ) )
-                {
-                adaptiveWidth = node->MarginRect().Size().iWidth;
-                autoWidth = ETrue;
-                if ( !( adaptive & XnAdaptive::EHeight ) )
-                    {
-                    // Width is now known and height is not adaptive
-                    // -> size is now known
-                    sizeKnown = ETrue;
-                    }
-                }
-            if ( autoWidth && autoHeight )
-                {
-                // Both auto -> size is now known
-                sizeKnown = ETrue;
-                }
-            if ( !sizeKnown )
-                {
-                // Fix adaptive sized child's size first
-                ProcessAdaptiveAreasL( *node, aGraphicsDevice,
-                    aHorizontalUnitInPixels, aVerticalUnitInPixels );
-                TSize marginSize( node->MarginRect().Size() );
-                if ( aParentBlockProgression ==
-                     XnPropertyNames::style::common::block_progression::KTB ||
-                     aParentBlockProgression ==
-                     XnPropertyNames::style::common::block_progression::KBT )
-                    {
-                    if ( !autoHeight && ( adaptive & XnAdaptive::EHeight ) )
-                        {
-                        adaptiveHeight += marginSize.iHeight;
-                        }
-                    if ( !autoWidth && ( adaptive & XnAdaptive::EWidth ) )
-                        {
-                        if ( marginSize.iWidth > adaptiveWidth )
-                            {
-                            adaptiveWidth = marginSize.iWidth;
-                            }
-                        }
-                    }
-                else if ( aParentBlockProgression ==
-                          XnPropertyNames::style::common::
-                          block_progression::KLR || aParentBlockProgression ==
-                          XnPropertyNames::style::common::
-                          block_progression::KRL )
-                    {
-                    if ( !autoHeight && ( adaptive & XnAdaptive::EHeight ) )
-                        {
-                        if ( marginSize.iHeight > adaptiveHeight )
-                            {
-                            adaptiveHeight = marginSize.iHeight;
-                            }
-                        }
-                    if ( !autoWidth && ( adaptive & XnAdaptive::EWidth ) )
-                        {
-                        adaptiveWidth += marginSize.iWidth;
-                        }
-                    }
-                }
-            }
-        }
-
-    TRect contentRect( aNode.Rect() );
-    TRect paddingRect( aNode.PaddingRect() );
-    TRect borderRect( aNode.BorderRect() );
-    TRect marginRect( aNode.MarginRect() );
-    TRect normalFlowBorderRect( aNode.NormalFlowBorderRect() );
-
-    TRect paddingRectDiff( SubtractRect( paddingRect, contentRect ) );
-    TRect borderRectDiff( SubtractRect( borderRect, contentRect ) );
-    TRect marginRectDiff( SubtractRect( marginRect, contentRect ) );
-    TRect normalFlowBorderRectDiff( SubtractRect(
-        normalFlowBorderRect, contentRect ) );
-
-    TInt dy( 0 );
-    TInt dx( 0 );
-
-    if ( adaptive & XnAdaptive::EHeight )
-        {
-        if ( adaptiveHeight <= 0 )
-            {
-            adaptiveHeight = 0;
-            }
-        dy = contentRect.Size().iHeight - adaptiveHeight;
-        }
-    if ( adaptive & XnAdaptive::EWidth )
-        {
-        if ( adaptiveWidth <= 0 )
-            {
-            adaptiveWidth = 0;
-            }
-        dx = contentRect.Size().iWidth - adaptiveWidth;
-        }
-
-    contentRect.Resize( -dx, -dy );
-
-    paddingRect = AddRect( contentRect, paddingRectDiff );
-    borderRect = AddRect( contentRect, borderRectDiff );
-    marginRect = AddRect( contentRect, marginRectDiff );
-    normalFlowBorderRect = AddRect( contentRect, normalFlowBorderRectDiff );
-
-    aNode.SetRect( contentRect );
-    aNode.SetPaddingRect( paddingRect );
-    aNode.SetBorderRect( borderRect );
-    aNode.SetMarginRect( marginRect );
-    aNode.SetNormalFlowBorderRect( normalFlowBorderRect );
-
-    aNode.FixAdaptiveSizeL( contentRect.Size() );
-
-    aNode.UiEngine()->CheckAdaptiveContentL( aNode, contentRect.Size() );
-
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// -----------------------------------------------------------------------------
-// BuildTriggerNodeLC
-// Builds a trigger node
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildTriggerNodeLC( CXnUiEngine& aUiEngine,
-    const TDesC8& aTriggerName )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-
-    CleanupStack::PushL( nameValue );
-
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
-
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName,
-        nameValue, *aUiEngine.ODT()->DomDocument().StringPool() );
-
-    CleanupStack::Pop( nameValue );
-
-    CleanupStack::PushL( name );
-
-    node->SetPropertyL( name );
-
-    CleanupStack::Pop( name );
-
-    //CleanupStack::Pop( node );
-
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// UpdateInternalUnits
-// Updates UiEngineImpl unit values
-// -----------------------------------------------------------------------------
-//
-static void UpdateInternalUnits( TReal& aHorizontalUnitInPixels,
-    TReal& aVerticalUnitInPixels, TRect aRect )
-    {
-    TAknWindowComponentLayout referenceLayout =
-        AknLayoutScalable_Avkon::aid_value_unit2();
-    TRect parent( aRect );
-
-    TAknLayoutRect rect;
-
-    // TAknWindowLineLayout should go directly
-    //to LayoutRect/LayoutControl etc. methods
-    rect.LayoutRect( parent, referenceLayout.LayoutLine() );
-
-    TReal rectWidth = rect.Rect().Width();
-
-    if ( rectWidth == 0 )
-        {
-        aHorizontalUnitInPixels = 0;
-        }
-
-    aHorizontalUnitInPixels = rectWidth / 10;
-
-    TReal rectHeight = rect.Rect().Height();
-
-    if ( rectHeight == 0 )
-        {
-        aVerticalUnitInPixels = 0;
-        }
-
-    aVerticalUnitInPixels = rectHeight / 10;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildScreenDeviceChangeTriggerNodeLC
-// Build trigger node for screen device change event
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildScreenDeviceChangeTriggerNodeLC( CXnUiEngine& aUiEngine )
-    {
-    CXnDomStringPool* sp( aUiEngine.ODT()->DomDocument().StringPool() );
-
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL( sp );
-    CleanupStack::PushL( nameValue );
-
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString,
-        XnPropertyNames::action::trigger::name::KScreenDeviceChange );
-
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName, nameValue, *sp );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-
-    CXnDomPropertyValue* reasonValue = CXnDomPropertyValue::NewL( sp );
-    CleanupStack::PushL( reasonValue );
-
-    const TDesC8* reasonString( NULL );
-
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        reasonString = &XnPropertyNames::action::trigger::name::
-            uidefinitionmodification::reason::KLandscape;
-        }
-    else
-        {
-        reasonString = &XnPropertyNames::action::trigger::name::
-            uidefinitionmodification::reason::KPortrait;
-        }
-
-    reasonValue->SetStringValueL( CXnDomPropertyValue::EString, *reasonString );
-
-    CXnProperty* reason = CXnProperty::NewL( XnPropertyNames::action::trigger::
-        name::uidefinitionmodification::KReason, reasonValue, *sp );
-
-    CleanupStack::Pop( reasonValue );
-
-    CleanupStack::PushL( reason );
-
-    node->SetPropertyL( reason );
-
-    CleanupStack::Pop( reason );
-
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// FillFocusCandidatesL
-// -----------------------------------------------------------------------------
-//
-static void FillFocusCandidatesL( CXnNode* aParent,
-    RPointerArray< CXnNode >& aArray )
-    {
-    RPointerArray< CXnNode >& children( aParent->Children() );
-
-    aArray.AppendL( aParent );
-
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        FillFocusCandidatesL( children[i], aArray );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// DetermineStatusPaneLayout
-// -----------------------------------------------------------------------------
-//
-static TInt DetermineStatusPaneLayout( CXnProperty* aProperty )
-    {
-    TInt spane( KErrNotFound );
-
-    if ( aProperty )
-        {
-        const TDesC8& value( aProperty->StringValue() );
-
-        // Currently supported status pane layout
-        if ( value == XnPropertyNames::view::statuspanelayout::KNone )
-            {
-            spane = R_AVKON_STATUS_PANE_LAYOUT_EMPTY;
-            }
-        if ( value == XnPropertyNames::view::statuspanelayout::KBasic )
-            {
-            spane = R_AVKON_STATUS_PANE_LAYOUT_IDLE;
-            }
-        else if ( value == XnPropertyNames::view::statuspanelayout::KBasicFlat )
-            {
-            spane = R_AVKON_STATUS_PANE_LAYOUT_IDLE_FLAT;
-            }
-        else if ( value ==
-                  XnPropertyNames::view::statuspanelayout::KWideScreen )
-            {
-            spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE;
-            }
-        else if ( value ==
-                  XnPropertyNames::view::statuspanelayout::KWideScreenFlat )
-            {
-            spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT;
-            }
-        else if ( value ==
-                  XnPropertyNames::view::statuspanelayout::
-                  KWideScreenFlat3Softkeys )
-            {
-            spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT_NO_SOFTKEYS;
-            }
-        }
-
-    return spane;
-    }
-
-// -----------------------------------------------------------------------------
-// SetAdaptivesL
-// -----------------------------------------------------------------------------
-//
-static TBool SetAdaptivesL( CXnNode& aNode )
-    {
-    TBool retval( EFalse );
-
-    // Check if the node is adaptive
-    if ( aNode.IsAdaptive( ETrue ) && IsNodeDisplayedL( aNode ) )
-        {
-        retval = ETrue;
-        // Mark adaptive node to be measured
-        aNode.SetAdaptiveL( XnAdaptive::EMeasure );
-        }
-
-    RPointerArray< CXnNode >& children( aNode.Children() );
-
-    for ( TInt i = 0; i < children.Count(); i++ )
-        {
-        TBool ret( SetAdaptivesL( *children[i] ) );
-        if ( ret )
-            {
-            retval = ret;
-            }
-        }
-
-    return retval;
-    }
-
-#ifdef _XN3_DEBUG_
-// -----------------------------------------------------------------------------
-// TraceTreeL
-// -----------------------------------------------------------------------------
-//
-static void TraceTreeL( CXnNode* aRootNode )
-    {
-    CXnDepthFirstTreeIterator< CXnNode >* iterator = 
-            CXnDepthFirstTreeIterator< CXnNode >::NewL( *aRootNode );
-    CleanupStack::PushL( iterator );
-
-    RDebug::Print( _L("Xuikon: UI tree:") );
-
-    TBuf8< 256 > debug;
-
-    TInt level( 0 );
-
-    for( CXnNode* node = iterator->Value(); node;
-        node = iterator->NextL() )
-        {
-        debug = _L8( "Xuikon: " );
-
-        level = iterator->Level();
-
-        for ( TInt i = 0; i < level; i++ )
-            {
-            debug.Append( '  ' );
-            }
-
-        debug.Append( node->Type()->Type() );
-
-        CXnProperty* id( node->IdL() );
-
-        if ( id )
-            {
-            debug.Append( _L8( ", id: " ) );
-            debug.Append( id->StringValue() );
-            }
-                            
-        debug.AppendFormat( _L8( ", laidout: %d" ), node->IsLaidOut() );
-        debug.AppendFormat( _L8( ", displayed: %d" ),
-            IsNodeDisplayedL( *node ) );
-
-        CCoeControl* control( node->Control() );
-
-        if ( control )
-            {
-            TBool visible( control->IsVisible() );
-            TRect rect( control->Rect() );
-            TPoint tl( rect.iTl );
-            TPoint br( rect.iBr );
-            debug.AppendFormat( _L8( ", visible %d:" ), visible );
-            debug.AppendFormat(
-                _L8( ", Tl: %d %d, Br: %d %d" ), tl.iX, tl.iY, br.iX, br.iY );
-            }
-        else
-            {
-            debug.Append( _L8( ", no control" ) );
-            }
-        RDebug::RawPrint( debug );
-        }
-
-    CleanupStack::PopAndDestroy( iterator );
-    }
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::CXnUiEngineImpl()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnUiEngineImpl::CXnUiEngineImpl( CXnUiEngine& aUiEngine, 
-    CXnAppUiAdapter& aAdapter )     
-    : iUiEngine( &aUiEngine ), iAppUiAdapter( aAdapter ), 
-    iViewManager( aAdapter.ViewManager() )    
-    {
-    iAppUiAdapter.UiStateListener().AddObserver( *this );
-    
-    iViewManager.AddObserver( *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::ConstructL()
-    {                  
-    iEditMode = CXnEditMode::NewL( *iUiEngine );
-
-    iHitTest = CXnHitTest::NewL();
-
-    iCurrentGraphicsDevice = CCoeEnv::Static()->ScreenDevice();
-
-    // Update the units here, even the refence client rect is only a quess.
-    // That is because we don't know the UI furniture yet. Units are
-    // needed in controls constructions
-    UpdateInternalUnits( 
-        iHorizontalUnitInPixels, 
-        iVerticalUnitInPixels,
-        iAppUiAdapter.ClientRect() );        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnUiEngineImpl* CXnUiEngineImpl::NewL( CXnUiEngine& aUiEngine,
-    CXnAppUiAdapter& aAdapter )
-    {
-    return new ( ELeave ) CXnUiEngineImpl( aUiEngine, aAdapter );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::~CXnUiEngineImpl()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnUiEngineImpl::~CXnUiEngineImpl()
-    {        
-    iAppUiAdapter.UiStateListener().RemoveObserver( *this );
-    
-    iViewManager.RemoveObserver( *this );
-           
-    delete iEditMode;
-    delete iHitTest;
-
-    iFocusCandidateList.Reset();
-    iRedrawRegions.ResetAndDestroy();
-    iDirtyList.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::AppUiAdapter()
-// -----------------------------------------------------------------------------
-//
-CXnAppUiAdapter& CXnUiEngineImpl::AppUiAdapter() const
-    {
-    return iAppUiAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::LayoutUIL()
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::LayoutUIL( CXnNode* /*aNode*/ )
-    {
-    if ( IsLayoutDisabled() )
-        {     
-        iLayoutControl |= XnLayoutControl::ELayoutUI;
-        return;
-        }
-
-    iLayoutControl &= ~XnLayoutControl::ELayoutUI;
-
-    if ( iDirtyList.Count() == 0 )
-        {
-        // Nothing to do, layout is up-to-date
-        return;
-        }
-
-    DisableRenderUiLC();
-    CXnNode* candidate( StartLayoutFromL() );
-    PrepareRunLayoutL();
-    iDirtyList.Reset();
-
-    // Run layout until it is fully calculated
-    do
-        {
-        iLayoutPhase = RunLayoutL( candidate );
-        }
-    while ( iLayoutPhase != XnLayoutPhase::ENone );
-
-    CXnNode* focused( FocusedNode() );
-
-    if ( focused && focused->IsDropped() )
-        {
-        // The currently focused node is dropped, run losevisualization
-        CXnNode* loseVisualisation =
-            BuildTriggerNodeLC( *iUiEngine,
-                XnPropertyNames::action::trigger::name::KLoseVisualisation );
-
-        focused->ReportXuikonEventL( *loseVisualisation );
-        CleanupStack::PopAndDestroy( loseVisualisation );
-
-        if ( FocusedNode() == focused )
-            {
-            // Remove focus as losevisualization trigger didn't
-            // change focus from dropped node to another one
-            SetFocusedNodeL( NULL );
-            }
-        }
-
-    if ( !FocusedNode() && iAppUiAdapter.FocusShown() )
-        {
-        // No focus, try if some of the focus candidates can be focused
-        RootNode()->RunFocusChangeL( iFocusCandidateList );
-        }
-        
-    iFocusCandidateList.Reset();
-
-    iAppUiAdapter.EffectManager()->UiLayouted();
-    
-    // Layout is now recalculated
-    CleanupStack::PopAndDestroy(); // anonymous
-    }
-
-// -----------------------------------------------------------------------------
-// PrepareRunLayoutL()
-// Set dropped flags of all nodes in the tree to ENone.
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::PrepareRunLayoutL()
-    {
-    if ( iLayoutPhase == XnLayoutPhase::ENone )
-        {
-        iLayoutPhase = XnLayoutPhase::ELayout;
-
-        for ( TInt i = 0; i < iDirtyList.Count(); i++ )
-            {
-            CXnNode* dirty( iDirtyList[i] );
-
-            // Clear dropped flags recursively
-            SetNodeDroppedL( *dirty, XnNodeLayout::ENone );
-
-            if ( SetAdaptivesL( *dirty ) )
-                {
-                // Adaptive node causes measure phase
-                iLayoutPhase = XnLayoutPhase::EMeasure;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::RunLayoutL()
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngineImpl::RunLayoutL( CXnNode* aNode )
-    {
-    TRect clientRect( ClientRect() );
-    // Move it to 0, 0
-    clientRect.Move( -clientRect.iTl.iX, -clientRect.iTl.iY );
-
-    RPointerArray< CXnNode > laidOutList;
-    CleanupClosePushL( laidOutList );
-
-    if ( IsNodeDisplayedL( *aNode ) )
-        {
-        if ( aNode->ViewNodeImpl() && !aNode ->IsLaidOut() )
-            {
-            aNode->SetMarginRect( clientRect );
-            aNode->SetBorderRect( clientRect );
-            aNode->SetNormalFlowBorderRect( clientRect );
-            aNode->SetPaddingRect( clientRect );
-            aNode->SetRect( clientRect );
-            }
-
-        // Put areas to place
-        PlaceAreasL( *aNode, laidOutList, iLayoutPhase,
-            *iCurrentGraphicsDevice, iHorizontalUnitInPixels,
-            iVerticalUnitInPixels );
-        }
-
-    TInt nextPhase;
-
-    switch ( iLayoutPhase )
-        {
-        case XnLayoutPhase::EMeasure:
-            nextPhase = XnLayoutPhase::ELayout;
-            break;
-        case XnLayoutPhase::ELayout:
-            // Layout is now calculated
-            iCurrentView->SetLaidOutL();
-            iLayoutControl &= ~XnLayoutControl::EViewDirty;
-            // Check nodes which dimensions are changed
-            for ( TInt i = 0; i < laidOutList.Count(); i++ )
-                {
-                CXnNode* node( laidOutList[i] );
-                if( IsSrollableBox( *node ) && node->ScrollableControl() )
-                    {
-                    node->ScrollableControl()->LayoutChangedL();
-                    }
-                if ( /*IsNodeTooltip( *node ) ||*/ !node->IsLaidOut() )
-                    {
-                    continue;
-                    }
-                CXnControlAdapter* adapter( node->Control() );
-                if ( adapter )
-                    {
-                    TRect rect;
-                    
-                    if ( node->ViewNodeImpl() )
-                        {
-                        rect = ClientRect();
-                        
-                        // Move it to 0, 0
-                        rect.Move( -rect.iTl.iX, -rect.iTl.iY );                        
-                        }
-                    else
-                        {
-                        rect = node->BorderRect();
-                        }
-                    if ( adapter->Rect() != rect )
-                        {
-                        AddToRedrawListL( node, rect );
-                        
-                        adapter->SetRect( rect );
-                        CXnProperty* prop = node->GetPropertyL(
-                            XnPropertyNames::common::KSizeAware );
-                        if ( prop && prop->StringValue() ==
-                             XnPropertyNames::KTrue )
-                            {
-                            CXnNode* sizeChanged =
-                                BuildTriggerNodeLC( *iUiEngine,
-                                XnPropertyNames::action::trigger::name::
-                                KSizeChanged );
-                            node->ReportXuikonEventL( *sizeChanged );
-                            CleanupStack::PopAndDestroy( sizeChanged );
-                            }
-                        }
-                    }
-                }
-            /* flow through */
-        default:
-            nextPhase = XnLayoutPhase::ENone;
-            break;
-        }
-    CleanupStack::PopAndDestroy( &laidOutList );
-    return nextPhase;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::RenderUIL()
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::RenderUIL( CXnNode* /*aNode*/ )
-    {
-    if ( IsLayoutDisabled() )
-        {
-        // Layout is not up-to-date
-        iLayoutControl |= XnLayoutControl::ERenderUI;
-        return;
-        }
-    
-#ifdef _XN3_DEBUG_
-    TraceTreeL(iCurrentView );
-#endif                          
-
-    for( TInt i=0; i<iRedrawRegions.Count(); i++)
-        {
-        CCoeControl* control = iRedrawRegions[i]->iControl;
-        RRegion& redrawRegion = iRedrawRegions[i]->iRegion;
-        
-        if( redrawRegion.CheckError() )
-            {                
-            // Mark tree rendered
-            iCurrentView->SetRenderedL();
-            // Error occured during dirty set, redraw whole window
-            control->DrawNow();                                              
-            }                                        
-        else 
-            {
-            if( !redrawRegion.IsEmpty() )                                        
-                {
-                // Mark tree rendered
-                iCurrentView->SetRenderedL();
-                TInt count( redrawRegion.Count() );
-                
-                if( count > 2 )
-                    {
-                    // Make bounding rect over the dirty areas
-                    TRect boundingRect( redrawRegion.BoundingRect() );
-                    
-                    control->DrawNow( boundingRect );
-                    }                               
-                else
-                    {
-                    for( TInt i = 0; i < count; i++ )
-                        {
-                        // Draw every dirty area separately
-                        TRect redrawRect( redrawRegion[i] );
-    
-                        control->DrawNow( redrawRect );
-                        }
-                    }  
-                }
-            }  
-        redrawRegion.Clear();  
-        }
-
-    RefreshMenuL();
-
-    if ( iLayoutControl & XnLayoutControl::EFirstPassDraw )
-        {
-        iViewManager.SetFirstPassDrawCompleteL();
-        iLayoutControl &= ~XnLayoutControl::EFirstPassDraw;
-        }
-
-    iLayoutControl &= ~XnLayoutControl::ERenderUI;
-    
-    iAppUiAdapter.EffectManager()->UiRendered();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::RootNode()
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngineImpl::RootNode()
-    {
-    return iViewManager.RootNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::ODT()
-// -----------------------------------------------------------------------------
-//
-CXnODT* CXnUiEngineImpl::ODT()
-    {
-    return iViewManager.ODT();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::FindNodeByIdL()
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngineImpl::FindNodeByIdL( const TDesC& aAreaId,
-    const TDesC& aNamespace )
-    {
-    HBufC8* id = CnvUtfConverter::ConvertFromUnicodeToUtf8L( aAreaId );
-    CleanupStack::PushL( id );
-
-    HBufC8* ns = CnvUtfConverter::ConvertFromUnicodeToUtf8L( aNamespace );
-    CleanupStack::PushL( ns );
-
-    CXnNode* returnValue( FindNodeByIdL( *id, *ns ) );
-
-    CleanupStack::PopAndDestroy( ns );
-    CleanupStack::PopAndDestroy( id );
-
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::FindNodeByIdL()
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngineImpl::FindNodeByIdL( const TDesC8& aAreaId,
-    const TDesC8& aNamespace )
-    {
-    // Find the namespace where to start node id look-up 
-    CXnPluginData* pluginData( 
-        iViewManager.ActiveViewData().Plugin( aNamespace ) );
-
-    if ( !pluginData )
-        {
-        return NULL;
-        }
-
-    CXnNode* root( pluginData->Node()->LayoutNode() );
-
-    return ::FindNodeByIdL( root, aAreaId, aNamespace );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::FindNodeByClassL()
-// -----------------------------------------------------------------------------
-//
-CXnPointerArray* CXnUiEngineImpl::FindNodeByClassL(
-    const TDesC& aClassId, const TDesC& aNamespace )
-    {
-    HBufC8* classId = CnvUtfConverter::ConvertFromUnicodeToUtf8L( aClassId );
-    CleanupStack::PushL( classId );
-
-    HBufC8* ns = CnvUtfConverter::ConvertFromUnicodeToUtf8L( aNamespace );
-    CleanupStack::PushL( ns );
-    
-    CXnPointerArray* returnValue( FindNodeByClassL( *classId, *ns ) );
-
-    CleanupStack::PopAndDestroy( ns );
-    CleanupStack::PopAndDestroy( classId );
-
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::FindNodeByClassL()
-// -----------------------------------------------------------------------------
-//
-CXnPointerArray* CXnUiEngineImpl::FindNodeByClassL(
-    const TDesC8& aClassId, const TDesC8& aNamespace )
-    {
-    // Find the namespace where to start node class look-up
-    CXnPluginData* pluginData( 
-        iViewManager.ActiveViewData().Plugin( aNamespace ) );
-
-    CXnPointerArray* array = CXnPointerArray::NewL();
-    CleanupStack::PushL( array );
-    
-    if ( pluginData )
-        {
-        CXnNode* root( pluginData->Node()->LayoutNode() );
-        ::FindNodeByClassL( root, aClassId, *array, aNamespace );
-        }
-
-    CleanupStack::Pop( array );
-
-    return array;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::Resources()
-// -----------------------------------------------------------------------------
-//
-CArrayPtrSeg< CXnResource >& CXnUiEngineImpl::Resources()
-    {
-    return iViewManager.Resources();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::SetFocusedNodeL()
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::SetFocusedNodeL( CXnNode* aFocusedNode, TInt aSource )
-    {
-    iKeyEventDispatcher->SetNodeL( aFocusedNode, aSource );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngine::FocusedNode
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngineImpl::FocusedNode()
-    {
-    return iKeyEventDispatcher->FocusedNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::IsEditMode
-// Returns ETrue if the current mode is edit, otherwise EFalse.
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngineImpl::IsEditMode()
-    {
-    return ( iEditMode->EditState() != CXnEditMode::ENone );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::NotifyViewActivatedL()
-// -----------------------------------------------------------------------------
-// 
-void CXnUiEngineImpl::NotifyViewActivatedL( const CXnViewData& /*aViewData*/ )
-    {
-    iCurrentView = iViewManager.ViewNode();
-
-    iControlAdapterList = &iViewManager.Controls();
-    iCurrentViewControlAdapter = iCurrentView->Control();
-    
-    iLayoutControl |= XnLayoutControl::EFirstPassDraw;
-
-    iDirtyList.Reset();
-
-    iRedrawRegions.ResetAndDestroy();
-    
-    // Set status pane layout
-    CXnProperty* prop( iCurrentView->GetPropertyL( 
-        XnPropertyNames::view::KStatusPaneLayout ) );
-
-    // Is there status pane declaration available
-    TInt spane( DetermineStatusPaneLayout( prop ) );
-
-    if ( spane != KErrNotFound )
-        {
-        CEikStatusPane* sp( iAppUiAdapter.StatusPane() );
-
-        if ( sp && sp->CurrentLayoutResId() != spane )
-            {
-            sp->SwitchLayoutL( spane );
-            sp->ApplyCurrentSettingsL();
-            }
-        }
-
-    // Remove previous menubar and stylus popup node
-    iMenuNode = NULL;
-    iStylusPopupNode = NULL;
-
-    iKeyEventDispatcher->ResetMenuNodeL();
-
-    RPointerArray< CXnNode >& children( iCurrentView->Children() );
-
-    for ( TInt count = children.Count() - 1; count >= 0 ; --count )
-        {
-        CXnNode* node( children[count] );
-
-        // Check that the given type of a control is parent
-        // (or ancestor) of this control
-        const TDesC8& type( node->Type()->Type() );
-        
-        if ( type == KXnMenuBar )
-            {
-            iMenuNode = node;
-            XnMenuInterface::MXnMenuInterface* menuIf( NULL );
-            XnComponentInterface::MakeInterfaceL( menuIf, node->AppIfL() );
-            if ( menuIf )
-                {
-                menuIf->SetObserver( *this );
-                }
-            }
-        else if ( type == _L8("styluspopup") )
-            {
-            iStylusPopupNode = node;
-            
-            static_cast< CXnPopupControlAdapter* > 
-				( node->Control() )->SetObserver( *this );
-            }
-        }
-
-    // Set menu node even if its NULL, to allow keyevent dispatcher
-    // to handle no softkeys
-    iKeyEventDispatcher->SetMenuNodeL( iMenuNode );
-
-    ReportScreenDeviceChangeL();
-            
-    SetClientRectL( iAppUiAdapter.ClientRect(), EFalse );
-    
-    RootNode()->SetDirtyL();
-    iUiEngine->RenderUIL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::NotifyWidgetAdditionL()
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::NotifyWidgetAdditionL(
-    const CXnPluginData& /*aPluginData*/ )
-    {
-    iLayoutControl |= XnLayoutControl::EFirstPassDraw;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::DynInitMenuItemL()
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngineImpl::DynInitMenuItemL( CXnNodeAppIf& aMenuItem,
-    CXnNodeAppIf* aPlugin )
-    {       
-    // dynamic menuitem types reserved for HS internal use,
-    // internal menuitems' origin must be in active view namespace
-    _LIT( KAddWidget, "hs_add_widget" );
-    _LIT( KRemoveWidget, "hs_remove_widget" );
-    _LIT( KAddView, "hs_add_view" );
-    _LIT( KRemoveView, "hs_remove_view" );
-    _LIT( KOnline, "hs_online" );
-    _LIT( KOffline, "hs_offline" );
-                  
-    CXnProperty* prop( 
-        aMenuItem.GetPropertyL( XnPropertyNames::menu::KItemType ) );
-    
-    TBool retval( EFalse );            
-    
-    if( !prop )
-        {
-        // No type defined, declaration error
-        return retval;        
-        }
-                
-    CXnViewData& viewData( iViewManager.ActiveViewData() );
-    
-    TInt viewAmount( iViewManager.ViewAmount() );
-    
-    // Check if the menuitem is in view namespace
-    TBool internal( aMenuItem.Namespace() == ActiveView()->Namespace() );
-
-    HBufC* itemType( prop->StringValueL() );
-    CleanupStack::PushL( itemType );
-    
-    if ( internal )
-        {
-        if ( *itemType == KAddWidget )
-            {
-            if ( aPlugin && &aPlugin->Node() )
-                {
-                CXnPluginData& data( viewData.Plugin( &aPlugin->Node() ) );
-                
-                if ( !data.Occupied() )
-                    {
-                    retval = ETrue;
-                    }
-                }        
-            }   
-        else if ( *itemType == KRemoveWidget )
-            {                                          
-            CXnNode* node( ( aPlugin ) ? &aPlugin->Node() : FocusedNode() );
-
-            if ( node )
-                {
-                CXnPluginData& data( viewData.Plugin( node ) );
-                
-                if ( data.Removable() && data.Occupied() )
-                    {
-                    retval = ETrue;
-                    }                              
-                }            
-            }
-        else if ( *itemType == KAddView )
-            {
-            // checks Max pages value - from RootData
-            if ( viewAmount < iViewManager.MaxPages() )
-                {
-                retval = ETrue;
-                }
-            }
-        else if ( *itemType == KRemoveView )
-            {
-            if ( viewData.Removable() && viewAmount > 1 )
-                {
-                retval = ETrue;
-                }
-            }
-        else if ( *itemType == KOnline || *itemType == KOffline )
-            {
-            retval = iAppUiAdapter.DynInitMenuItemL( *itemType );
-            }       
-        }
-    else
-        {
-        const TDesC8& ns( aMenuItem.Namespace() );
-        
-        CXnPluginData* data( viewData.Plugin( ns ) );
-        
-        if ( data )
-            {
-            RPointerArray< CXnNode > nodes;
-            CleanupClosePushL( nodes );
-
-            data->ContentSourceNodesL( nodes );
-            
-            RPointerArray< CXnNodeAppIf > list;
-            CleanupClosePushL( list );
-
-            for ( TInt i = 0; i < nodes.Count(); i++ )
-                {
-                list.AppendL( &nodes[i]->AppIfL() );
-                }
-            
-            retval = iAppUiAdapter.DynInitMenuItemL( *itemType, &list );
-            
-            CleanupStack::PopAndDestroy( 2, &nodes ); // list            
-            }               
-        }
-    
-    CleanupStack::PopAndDestroy( itemType );
-                  
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::VerticalPixelValueL()
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngineImpl::VerticalPixelValueL(
-    CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return ::VerticalPixelValueL( aValue, aReferenceValue,
-        *iCurrentGraphicsDevice, iVerticalUnitInPixels );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::HorizontalPixelValueL()
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngineImpl::HorizontalPixelValueL(
-    CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return ::HorizontalPixelValueL( aValue, aReferenceValue,
-        *iCurrentGraphicsDevice, iHorizontalUnitInPixels );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::VerticalTwipValueL()
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngineImpl::VerticalTwipValueL( CXnProperty* aValue,
-    TInt aReferenceValue )
-    {
-    return iCurrentGraphicsDevice->VerticalPixelsToTwips(
-        VerticalPixelValueL( aValue, aReferenceValue ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::HorizontalTwipValueL()
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngineImpl::HorizontalTwipValueL( CXnProperty* aValue,
-    TInt aReferenceValue )
-    {
-    return iCurrentGraphicsDevice->HorizontalPixelsToTwips(
-        HorizontalPixelValueL( aValue, aReferenceValue ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::ViewManager()
-// -----------------------------------------------------------------------------
-//
-CXnViewManager* CXnUiEngineImpl::ViewManager()
-    {
-    return &iViewManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::ActiveView()
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngineImpl::ActiveView()
-    {
-    return iViewManager.ViewNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::RefreshMenuL
-// Refresh current menu
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::RefreshMenuL()
-    {
-    if ( iLayoutControl & XnLayoutControl::ERefreshMenu )
-        {
-        iKeyEventDispatcher->RefreshMenuL();
-        iLayoutControl &= ~XnLayoutControl::ERefreshMenu;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::AddDirtyNodeL
-// Add a dirty node. This method must be called via CXnNode SetDirtyL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::AddDirtyNodeL( CXnNode* aNode, TInt aLevel )
-    {
-    CXnViewData& data( iViewManager.ActiveViewData() );
-    
-    if ( !aNode || ( aNode != RootNode() && !data.Plugin( aNode->Namespace() ) ) )
-        {
-        // No node, or node doesn't belong to active view namespace
-        return;
-        }
-
-    if ( aNode->Type()->Type() == KMenuBar )
-        {
-        iLayoutControl |= XnLayoutControl::ERefreshMenu;
-        return;
-        }
-
-    if ( iLayoutControl & XnLayoutControl::EViewDirty )
-        {
-        // nothing to do
-        return;
-        }
-
-    if ( aLevel == XnDirtyLevel::ERender )
-        {
-        if( aNode == RootNode() )        
-            {
-            TXnDirtyRegion* dirtyRegion = FindDirtyRegionL( *iCurrentView );
-            if( dirtyRegion )
-                {
-                dirtyRegion->iRegion.Clear();                
-                }
-            aNode = iCurrentView;        
-            }
-
-        // Add to redraw list
-        AddToRedrawListL( aNode );
-        }
-    else
-        {
-        // Add to dirty list for relayout and redraw
-        AddToDirtyListL( aNode );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::ScreenDeviceSize
-// Get the size of the current screen device
-// -----------------------------------------------------------------------------
-//
-TSize CXnUiEngineImpl::ScreenDeviceSize() const
-    {
-    if ( iCurrentGraphicsDevice )
-        {
-        return iCurrentGraphicsDevice->SizeInPixels();
-        }
-
-    return TSize( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::IsDialogDisplaying
-// Whether the dialog is displaying or not.
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngineImpl::IsDialogDisplaying()
-    {    
-    return iAppUiAdapter.IsDisplayingControlBetweenPriorities(
-        ECoeStackPriorityDialog - 1, KXnStackPriorityKeyEventDispatcher - 1 );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::HandleResourceChangeL
-// Handles a change to the control's resources of type aType
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::HandleResourceChangeL( TInt aType )
-    {    
-    if ( iMenuNode )
-        {
-        CXnControlAdapter* adapter( iMenuNode->Control() );
-        
-        if ( adapter )
-            {
-            adapter->HandleResourceChange( aType );
-            }        
-        }
-    
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        // Must return here if there is no current view or
-        // controladapterlist. This may occur when the phone
-        // is booted for the first time and the location/date
-        // query is visible.
-        if ( !ActiveView() )
-            {
-            return;
-            }
-
-        // Update client rect
-        SetClientRectL( iAppUiAdapter.ClientRect(), EFalse );
-
-        // Update background rect
-        // Bg rect is always screen size.
-        TRect bgRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, bgRect );
-        iAppUiAdapter.ViewAdapter().BgManager().SetRect( bgRect );
-
-        iEditMode->HandleScreenDeviceChangedL();
-        
-        // Force relayout
-        DisableRenderUiLC();
-        
-        RootNode()->SetDirtyL();
-
-        ReportScreenDeviceChangeL();
-                
-        for ( TInt i = 0; i < iControlAdapterList->Count(); i++ )
-            {
-            CXnControlAdapter* adapter( ( *iControlAdapterList )[i] );
-            
-            adapter->HandleScreenDeviceChangedL();
-            }
-        
-        ForceRenderUIL();
-        
-        CleanupStack::PopAndDestroy();
-        }
-    else if ( aType == KAknsMessageSkinChange )
-        {
-        // Force relayout
-        DisableRenderUiLC();
-        
-        RootNode()->SetDirtyL();
-
-        for ( TInt i = 0; i < iControlAdapterList->Count(); i++ )
-            {
-            CXnControlAdapter* adapter( ( *iControlAdapterList )[i] );
-            adapter->SkinChanged();
-            }
-
-        ForceRenderUIL();
-        
-        CleanupStack::PopAndDestroy();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::IsMenuDisplaying
-// Checks whether the menu is displaying or not.
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngineImpl::IsMenuDisplaying()
-    {
-    return iKeyEventDispatcher->IsMenuFocused();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::MenubarNode
-// Returns menubar node
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngineImpl::MenuBarNode() const
-    {
-    return iMenuNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::StylusPopupNode
-// Returns stylus popup node
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngineImpl::StylusPopupNode() const
-    {
-    return iStylusPopupNode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::AddPassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::AddPassiveFocusedNodeL( CXnNode* aNode )
-    {
-    iKeyEventDispatcher->AddPassiveFocusedNodeL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::RemovePassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::RemovePassiveFocusedNodeL( CXnNode* aNode )
-    {
-    iKeyEventDispatcher->RemovePassiveFocusedNodeL( aNode );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::AddPassiveFocusedNode
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::ClearPassiveFocusedNodesL()
-    {
-    iKeyEventDispatcher->ClearPassiveFocusedNodesL();
-    }
-
-// -----------------------------------------------------------------------------
-// SetNodeDroppedL()
-// Sets node's dropped state
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::SetNodeDroppedL( CXnNode& aNode, TInt aDropped ) const
-    {
-    if ( aDropped != XnNodeLayout::ENone )
-        {
-        CXnNode* parent( aNode.Parent() );
-        TInt parentAdaptive( parent->IsAdaptive( ETrue ) );
-
-        if ( iLayoutPhase == XnLayoutPhase::EMeasure )
-            {
-            if ( !parentAdaptive )
-                {
-                // Only adaptive childs can be dropped during measure phase
-                return;
-                }
-            }
-
-#ifdef _XN3_DEBUG_
-        CXnProperty* id( aNode.IdL() );
-
-        if ( id )
-            {
-            TBuf8< 256 > debug;
-            debug.Append( _L8( "Node id: " ) );
-            debug.Append( id->StringValue() );
-            debug.Append( _L8( " will be set to dropped" ) );
-            RDebug::RawPrint( debug );
-            }
-#endif
-
-        // Node will be dropped
-        aNode.SetDropped( aDropped );
-
-        // Get ride of its rects
-        ClearRects( aNode );
-
-        if ( parentAdaptive )
-            {
-            // Is there adaptive content left after dropping?
-            CheckAdaptiveContentL( *parent, parent->Rect().Size() );
-            }
-        }
-    else
-        {
-        // Node is no more dropped
-        aNode.SetDropped( aDropped );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CheckAdaptiveContentL()
-// Checks if node is adaptive, but doesn't have any content
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::CheckAdaptiveContentL(
-    CXnNode& aNode, TSize aAvailableSize ) const
-    {
-    TInt adaptive( aNode.IsAdaptive( ETrue ) );
-    TBool isEmpty( EFalse );
-
-    if ( adaptive )
-        {
-        if ( aAvailableSize == TSize::EUninitialized )
-            {
-            // Use max available size
-            aAvailableSize = ScreenDeviceSize();
-            }
-
-        const TDesC8& name( aNode.Type()->Type() );
-
-        if ( name == KBoxNodeName || name == KButtonNodeName )
-            {
-            RPointerArray< CXnNode > displayedChildren;
-            CleanupClosePushL( displayedChildren );
-
-            TInt displayedCount( DisplayedChildrenCountL(
-                aNode, &displayedChildren ) );
-
-            if ( displayedCount == 0 )
-                {
-                isEmpty = ETrue;
-                }
-            else
-                {
-                for ( TInt i = 0; i < displayedChildren.Count(); i++ )
-                    {
-                    CheckAdaptiveContentL( *displayedChildren[i],
-                        aAvailableSize );
-                    }
-
-                if ( DisplayedChildrenCountL( aNode ) == 0 )
-                    {
-                    isEmpty = ETrue;
-                    }
-                }
-
-            CleanupStack::PopAndDestroy( &displayedChildren );
-            }
-
-        if ( isEmpty )
-            {
-            // No content available, drop adaptive node
-            SetNodeDroppedL( aNode, XnNodeLayout::EDropped );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::AddFocusCandidateL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::AddFocusCandidateL( CXnNode* aNode )
-    {
-    if ( !aNode )
-        {
-        return;
-        }
-    TInt index( iFocusCandidateList.Find( aNode ) );
-    if ( index == KErrNotFound )
-        {
-        iFocusCandidateList.AppendL( aNode );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::IsLayoutDisabled
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngineImpl::IsLayoutDisabled()
-    {
-    if ( !iCurrentView )
-        {
-        return ETrue;
-        }
-    
-    TBool retval( EFalse );
-    if ( iDisableCount > 0 &&
-         !( iLayoutControl & XnLayoutControl::EIgnoreState ) )
-        {
-        retval =  ETrue;
-        }
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-// AddToRedrawListL
-// Mark Control's appearance to be redrawn
-// -----------------------------------------------------------------------------    
-//
-void CXnUiEngineImpl::AddToRedrawListL( CXnNode* aNode, TRect aRect )
-    {   
-    CXnControlAdapter* aAdapter( aNode->Control() );
-           
-    if( !aAdapter ) 
-        {
-        return;
-        }
-
-    if( aRect != TRect::EUninitialized )
-        {
-        // This is the new rect which will be set by layout algo
-        AddRedrawRectL( aRect, *aNode );
-        }
-    
-    TRect rect( aAdapter->Rect() );
-            
-    if( rect == TRect::EUninitialized )
-        {
-        // Don't add uninitialized rect
-        return;
-        }
-
-    /*
-    if( aNode->IsStateSet( XnPropertyNames::style::common::KFocus ) )
-        {
-        const TDesC8& name( aNode->DomNode()->Name() );
-
-        if( name == KPlugin )
-            {
-            rect.Grow( KFocusGrowValue, KFocusGrowValue );
-            }
-        else
-            {
-            TRect marginRect( aNode->MarginRect() );
-            
-            CXnNode* parent( aNode->Parent() );
-            
-            for( ; parent; parent = parent->Parent() )
-                {
-                if( parent->DomNode()->Name() == KPlugin )
-                    {
-                    if( parent->Rect() == marginRect )
-                        {
-                        rect.Grow( KFocusGrowValue, KFocusGrowValue );
-                        }
-                    
-                    break;
-                    } 
-                }                
-            }
-        }
-        */
-    GrowIfNeeded(aNode, rect);    
-    AddRedrawRectL( rect, *aNode );                          
-    }
-
-// -----------------------------------------------------------------------------
-// AddToDirtyListL
-// Mark node to dirty list for relayout
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::AddToDirtyListL( CXnNode* aNode )
-    {
-    
-    if ( aNode )
-        {
-        CXnNode* nodeToRedrawList( aNode );
-        CXnNode* nodeToDirtyList( aNode );
-    
-        if ( aNode == RootNode() )
-            {
-            // Force relayout and redraw from current view
-            iDirtyList.Reset();
-            iDirtyList.AppendL( iCurrentView );
-            TXnDirtyRegion* dirtyRegion = FindDirtyRegionL( *iCurrentView );
-            if( dirtyRegion )
-                {
-                dirtyRegion->iRegion.Clear();        
-                }
-            iLayoutControl |= XnLayoutControl::EViewDirty;
-            nodeToDirtyList = nodeToRedrawList = iCurrentView;
-            nodeToDirtyList->ClearRenderedAndLaidOut();
-    
-            // Add to draw list for redraw
-            AddToRedrawListL( nodeToRedrawList );
-            }
-        else
-            {
-            if ( !IsAbsoluteL( *aNode ) && !IsNodeTooltip( *aNode ) )
-                {
-                // Check adaptives in normal flow
-                CXnNode* oldest( NULL );
-                CXnNode* adaptive( aNode );
-    
-                if ( !aNode->IsAdaptive( ETrue ) )
-                    {
-                    adaptive = aNode->Parent();
-                    }
-    
-                for ( ; adaptive && adaptive->IsAdaptive( ETrue );
-                    adaptive = adaptive->Parent() )
-                    {
-                    oldest = adaptive;
-                    }
-    
-                // Now we have found the oldest adaptive node if present
-                if ( oldest )
-                    {
-                    nodeToRedrawList = nodeToDirtyList = adaptive;
-                    }
-                }
-    
-            RPointerArray< CXnNode > dirtyList;
-            CleanupClosePushL( dirtyList );
-            TInt count( iDirtyList.Count() );
-            TBool found;
-    
-            // first, check that aNode's children are not in the dirty array
-            for ( TInt i = 0; i < count; ++i )
-                {
-                found = EFalse;
-                CXnNode* candidate( iDirtyList[i] );
-    
-                for ( CXnNode* node = candidate->Parent(); node && !found;
-                    node = node->Parent() )
-                    {
-                    if ( nodeToDirtyList == node )
-                        {
-                        found = ETrue;
-                        }
-                    }
-    
-                if ( !found )
-                    {
-                    // Put candidate back to list as child is not found
-                    dirtyList.AppendL( candidate );
-                    }
-                }
-    
-            found = EFalse;
-    
-            // second, check that aNode's parent is not in dirty array
-            for ( TInt i = 0; i < count && !found; ++i )
-                {
-                CXnNode* candidate( iDirtyList[i] );
-    
-                for ( CXnNode* node = nodeToDirtyList; node && !found;
-                    node = node->Parent() )
-                    {
-                    if ( node == candidate )
-                        {
-                        found = ETrue;
-                        }
-                    }
-                }
-    
-            if ( !found && iDirtyList.Find( nodeToDirtyList ) == KErrNotFound )
-                {
-                // Add node to dirty list as parent is neither found
-                dirtyList.AppendL( nodeToDirtyList );
-                nodeToDirtyList->ClearRenderedAndLaidOut();
-                
-                // Add to draw list for redraw
-                AddToRedrawListL( nodeToRedrawList );
-                }
-    
-            // finally update the dirty list
-            iDirtyList.Reset();
-            iDirtyList = dirtyList;
-    
-            CleanupStack::Pop( &dirtyList );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::SetClientRectL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::SetClientRectL( TRect aRect, TBool aDrawNow )
-    {
-    if ( iClientRect != aRect )
-        {
-        iClientRect = aRect;
-        
-        UpdateInternalUnits( iHorizontalUnitInPixels, iVerticalUnitInPixels,
-            iClientRect );
-        
-        iAppUiAdapter.ViewAdapter().BgControl().SetRect( aRect );
-
-        if ( aDrawNow )
-            {
-            RootNode()->SetDirtyL();
-            iUiEngine->RenderUIL();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::ClientRect
-// -----------------------------------------------------------------------------
-//
-TRect CXnUiEngineImpl::ClientRect() const
-    {
-    return iClientRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::Editor
-// -----------------------------------------------------------------------------
-//
-CXnEditor* CXnUiEngineImpl::Editor()const
-    {
-    return &iViewManager.Editor();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::EditMode
-// -----------------------------------------------------------------------------
-//
-CXnEditMode* CXnUiEngineImpl::EditMode()
-    {
-    return iEditMode;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::StartLayoutFromL
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnUiEngineImpl::StartLayoutFromL()
-    {
-    if ( iLayoutControl & XnLayoutControl::EViewDirty )
-        {
-        return iCurrentView;
-        }
-
-    RPointerArray< CXnNode >parentArray;
-    CleanupClosePushL( parentArray );
-    TInt dirtyCount = iDirtyList.Count();
-    CXnNode* startNode( NULL );
-
-    for ( TInt dirtyIndex = 0; dirtyIndex < dirtyCount; dirtyIndex++ )
-        {
-        startNode = iDirtyList[dirtyIndex];
-
-        for ( ;startNode && startNode != iCurrentView; )
-            {
-            parentArray.Append( startNode->Parent() );
-            startNode = startNode->Parent();
-            }
-        }
-
-    TInt parentCount = parentArray.Count();
-
-    for ( TInt parentIndex = 0; parentIndex < parentCount; parentIndex++ )
-        {
-        TInt parentsFound = 0;
-
-        for ( TInt checkIndex = 0; checkIndex < parentCount; checkIndex++ )
-            {
-            if ( parentArray[parentIndex] == parentArray[checkIndex] )
-                {
-                parentsFound++;
-
-                if ( parentsFound == dirtyCount )
-                    {
-                    startNode = parentArray[parentIndex];
-                    CleanupStack::PopAndDestroy( &parentArray );
-                    return startNode;
-                    }
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &parentArray );
-
-    return iCurrentView;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::Plugins
-// -----------------------------------------------------------------------------
-//
-RPointerArray< CXnNode >* CXnUiEngineImpl::Plugins()
-    {
-    return &iViewManager.PluginNodes();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::ForceRenderUIL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::ForceRenderUIL( TBool aLayoutOnly )
-    {
-    iLayoutControl |= XnLayoutControl::EIgnoreState;
-    if ( aLayoutOnly )
-        {
-        LayoutUIL();
-        }
-    else
-        {
-        LayoutUIL();
-        RenderUIL();
-        }
-    iLayoutControl &= ~XnLayoutControl::EIgnoreState;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::HitTest
-// -----------------------------------------------------------------------------
-//
-CXnHitTest& CXnUiEngineImpl::HitTest() const
-    {
-    return *iHitTest;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::PositionStylusPopupL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::PositionStylusPopupL( CXnNode& aNode,
-    CXnNode& aReference, const TPoint& aPosition )
-    {
-    CXnDomStringPool* sp( aNode.DomNode()->StringPool() );
-    TXnDirtyRegion* dirtyRegion = FindDirtyRegionL( *iCurrentView );
-    RRegion region;
-    region.Copy( dirtyRegion->iRegion );    
-    CleanupClosePushL( region );
-
-    // Set initial position to (0, 0) to calculate popup metrics
-    CXnProperty* top = CXnProperty::NewL(
-        XnPropertyNames::style::common::KTop, 0,
-        CXnDomPropertyValue::EPx, *sp );
-    CleanupStack::PushL( top );
-    aNode.SetPropertyL( top );
-    CleanupStack::Pop( top );
-    top = NULL;
-    CXnProperty* left = CXnProperty::NewL(
-        XnPropertyNames::style::common::KLeft, 0,
-        CXnDomPropertyValue::EPx, *sp );
-    CleanupStack::PushL( left );
-    aNode.SetPropertyL( left );
-    CleanupStack::Pop( left );
-    left = NULL;
-
-    // Make it visible
-    CXnProperty* display = CXnProperty::NewL(
-        XnPropertyNames::style::common::KDisplay,
-        XnPropertyNames::style::common::display::KBlock,
-        CXnDomPropertyValue::EString, *sp );
-    CleanupStack::PushL( display );
-    aNode.SetPropertyL( display );
-    CleanupStack::Pop( display );
-
-    if ( !aNode.IsLaidOut() || !aReference.IsLaidOut() )
-        {
-        ForceRenderUIL( ETrue );
-        }
-
-    if ( !aNode.IsLaidOut() || !aReference.IsLaidOut() )
-        {
-        // Something went wrong
-        CleanupStack::PopAndDestroy( &region );
-
-        return;
-        }
-
-    TRect rectToFit( aReference.MarginRect() );
-    TRect marginRect( aNode.MarginRect() );
-
-    if ( marginRect.Height() > rectToFit.Height() ||
-        marginRect.Width() > rectToFit.Width() )
-        {
-        // Won't fit even how much is moved
-        CleanupStack::PopAndDestroy( &region );
-
-        return;
-        }
-
-    TPoint tl;
-    TPoint br;
-
-    // Remove the initial 0,0 from redraw region and rects
-    dirtyRegion->iRegion.Clear();
-    ClearRects( aNode, ETrue );
-    CXnProperty* positionHint( aNode.GetPropertyL(
-        XnPropertyNames::styluspopup::KPositionHint ) );
-
-    // Default
-    const TDesC8* value( &XnPropertyNames::styluspopup::positionhint::KAbove );
-
-    if ( positionHint )
-        {
-        value = &positionHint->StringValue();
-        }
-
-    if ( *value == XnPropertyNames::styluspopup::positionhint::KAbove )
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            tl = aPosition;
-            tl.iY -= marginRect.Height();
-            tl.iX -= marginRect.Width();
-
-            // Will the popup float out?
-            if ( !rectToFit.Contains( tl ) )
-                {
-                // top left floated out
-                TInt y( rectToFit.iTl.iY - tl.iY + 1 );
-
-                if ( y >= 0 )
-                    {
-                    // y-coordinate floated out, move it position
-                    // so that it will be inside reference rect
-                    tl.iY = tl.iY + y;
-                    }
-
-                TInt x( rectToFit.iTl.iX - tl.iX + 1 );
-
-                if ( x >= 0 )
-                    {
-                    // x-coordinate floated out, move it position
-                    // so that it will be inside reference rect
-                    tl.iX = tl.iX + x;
-                    }
-                }
-            }
-        else
-            {
-            tl = aPosition;
-            tl.iY -= marginRect.Height();
-
-            // Will the popup float out?
-            if ( !rectToFit.Contains( tl ) )
-                {
-                // top left floated out
-                TInt y( rectToFit.iTl.iY - tl.iY + 1 );
-
-                if ( y >= 0 )
-                    {
-                    // y-coordinate floated out, move it position
-                    // so that it will be inside reference rect
-                    tl.iY = tl.iY + y;
-                    }
-                }
-
-            br = TPoint( tl.iX + marginRect.Width(),
-                         tl.iY + marginRect.Height() );
-
-            if ( !rectToFit.Contains( br ) )
-                {
-                // bottom right floated out
-                TInt x( br.iX - rectToFit.iBr.iX + 1 );
-
-                if ( x >= 0 )
-                    {
-                    // x-coordinate floated out, move it position
-                    // so that it will be inside reference rect
-                    tl.iX = tl.iX - x;
-                    }
-                }
-            }
-        }
-    else // value == XnPropertyNames::styluspopup::positionhint::KBelow
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            tl = aPosition;
-            tl.iX = tl.iX - marginRect.Width();
-
-            if ( !rectToFit.Contains( tl ) )
-                {
-                // Top left floated out
-                TInt x( rectToFit.iTl.iX - tl.iX + 1 );
-
-                if ( x >= 0 )
-                    {
-                    // x-coordinate floated out, move it position
-                    // so that it will be inside reference rect
-                    tl.iX = tl.iX + x;
-                    }
-                }
-
-            br = TPoint( tl.iX + marginRect.Width(),
-                         tl.iY + marginRect.Height() );
-
-            if ( !rectToFit.Contains( br ) )
-                {
-                // bottom right floated out
-                TInt y( br.iY - rectToFit.iBr.iY + 1 );
-
-                if ( y >= 0 )
-                    {
-                    // y-coordinate floated out, move it position
-                    // so that it will be inside reference rect
-                    tl.iY = tl.iY - y;
-                    }
-                }
-            }
-        else
-            {
-            tl = aPosition;
-            br = TPoint( tl.iX + marginRect.Width(),
-                         tl.iY + marginRect.Height() );
-
-            // Will the popup float out?
-            if ( !rectToFit.Contains( br ) )
-                {
-                // Bottom right floated out
-                TInt x( br.iX - rectToFit.iBr.iX + 1 );
-
-                if ( x >= 0 )
-                    {
-                    // x-coordinate floated out, move it position
-                    // so that it will be inside reference rect
-                    tl.iX = tl.iX - x;
-                    }
-
-                TInt y( br.iY - rectToFit.iBr.iY + 1 );
-
-                if ( y >= 0 )
-                    {
-                    // y-coordinate floated out, move it position
-                    // so that it will be inside reference rect
-                    tl.iY = tl.iY - y;
-                    }
-                }
-            }
-        }
-
-    // Set positions
-    top = CXnProperty::NewL(
-        XnPropertyNames::style::common::KTop, tl.iY,
-        CXnDomPropertyValue::EPx, *sp );
-    CleanupStack::PushL( top );
-    aNode.SetPropertyL( top );
-    CleanupStack::Pop( top );
-    left = CXnProperty::NewL(
-        XnPropertyNames::style::common::KLeft, tl.iX,
-        CXnDomPropertyValue::EPx, *sp );
-    CleanupStack::PushL( left );
-    aNode.SetPropertyL( left );
-    CleanupStack::Pop( left );
-
-    // Copy stored region back
-    dirtyRegion->iRegion.Copy( region );                 
-    CleanupStack::PopAndDestroy( &region );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::GetThemeResource
-// -----------------------------------------------------------------------------
-//
-TInt CXnUiEngineImpl::GetThemeResource( const TDesC& aPath, RFile& aFile )
-    {
-    TInt err = KErrNone;
-
-    // parse file name and extension
-    TParsePtrC fileParser( aPath );
-    TPtrC filepath = fileParser.DriveAndPath();
-
-    RFs session ( CCoeEnv::Static()->FsSession() );
-
-    // open resource file
-    session.SetSessionPath( filepath );
-    session.ShareProtected();
-    err = aFile.Open( session, aPath, EFileShareReadersOnly );
-    if ( err != KErrNone )
-        {
-        aFile.Close();
-        }
-
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::AnalyseAddedWidgetL
-// -----------------------------------------------------------------------------
-//
-TBool CXnUiEngineImpl::AnalyseAddedWidgetL( CXnNode& aNode )
-    {
-    TBool retval( ETrue );
-
-    // Force layout to analyse added widget's dimensions
-    ForceRenderUIL( ETrue );
-
-    if ( aNode.IsAdaptive( ETrue ) )
-        {
-        // If widget place holder (plugin in view.xml) is adaptive, then
-        // we need to verify that added widget will fit to available space
-        retval = EFalse;
-
-        CXnNode* parent( aNode.Parent() );
-        RPointerArray< CXnNode >& children( parent->Children() );
-        CXnProperty* prop( parent->BlockProgressionL() );
-
-        const TDesC8* bp(
-            &XnPropertyNames::style::common::block_progression::KTB() );
-
-        if ( prop )
-            {
-            bp = &prop->StringValue();
-            }
-
-        prop = parent->DirectionL();
-
-        const TDesC8* dir(
-            &XnPropertyNames::style::common::direction::KLTR() );
-
-        if ( prop )
-            {
-            // use default
-            dir = &prop->StringValue();
-            }
-
-        TSize space( CalculateSpaceUsedByChildrenL( children, *parent,
-            *bp, *dir, *iCurrentGraphicsDevice, iHorizontalUnitInPixels,
-            iVerticalUnitInPixels ) );
-
-        TSize parentSize( parent->Rect().Size() );
-
-        if ( *bp == XnPropertyNames::style::common::block_progression::KTB ||
-             *bp == XnPropertyNames::style::common::block_progression::KBT )
-            {
-            if ( parentSize.iHeight >= space.iHeight )
-                {
-                retval = ETrue;
-                }
-            }
-        else // LR / RL
-            {
-            if ( parentSize.iWidth >= space.iWidth )
-                {
-                retval = ETrue;
-                }
-            }
-        }
-
-    return retval;
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::NotifyWidgetRemovalL( )
-// Notify about widget removal
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::NotifyWidgetRemovalL(
-    const CXnPluginData& /*aPluginData*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::NotifyConfigureWidgetL( )
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::NotifyConfigureWidgetL( 
-    const CHsContentInfo& /*aContentInfo*/, CXnPluginData& /*aPluginData*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiEngineImpl::NotifyViewDeactivatedL
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::NotifyViewDeactivatedL( 
-    const CXnViewData& /*aViewData*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//               
-void CXnUiEngineImpl::DisableRenderUiLC()
-    {         
-    CleanupStack::PushL( TCleanupItem( EnableRenderUi, this ) );
-    
-    iDisableCount++;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//               
-EXPORT_C /* static */ void CXnUiEngineImpl::EnableRenderUi( TAny* aAny )
-    {
-    CXnUiEngineImpl* self = static_cast< CXnUiEngineImpl* >( aAny );
-    
-    if ( self->iDisableCount > 0 )
-        {
-        self->iDisableCount--;
-        
-        if ( self->iDisableCount == 0 )
-            {
-            TRAP_IGNORE(                    
-            // Is menu refresh pending?
-            if ( ( self->iLayoutControl & XnLayoutControl::ERefreshMenu ) &&
-                   !self->IsMenuDisplaying() )
-                {
-                // RefreshMenuL will reset the state flag
-                self->RefreshMenuL();
-                }
-
-            // Is layout pending?
-            if ( self->iLayoutControl & XnLayoutControl::ELayoutUI )
-                {
-                self->LayoutUIL();
-                }
-
-            // Is render pending?
-            if ( self->iLayoutControl & XnLayoutControl::ERenderUI )
-                {
-                self->RenderUIL();
-                }
-                );
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CXnUiEngineImpl::ReportScreenDeviceChangeL()
-    {
-    CXnNode* trigger( BuildScreenDeviceChangeTriggerNodeLC( *iUiEngine ) );
-    
-    // Notify current orientation to iCurrentView
-    iCurrentView->ReportXuikonEventL( *trigger );
-
-    // Notify also plugins
-    RPointerArray<CXnNode> plugins = *Plugins();
-    for( TInt i=0; i<plugins.Count(); i++ )
-        {
-        CXnNode* pluginNode = plugins[i];
-        RPointerArray<CXnNode> pluginChildren = pluginNode->Children();
-        for( TInt ii=0; ii<pluginChildren.Count(); ii++ )
-            {
-            CXnDomNode* widgetNode = pluginChildren[ii]->DomNode();
-            if( widgetNode && widgetNode->Name() == KWidgetNodeName )
-                {
-                pluginChildren[ii]->ReportXuikonEventL( *trigger );
-                }                    
-            }
-        }
-    
-    CleanupStack::PopAndDestroy(); // trigger    
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-CCoeControl* CXnUiEngineImpl::WindowOwningControl( CXnNode& aNode )
-    {
-    CXnNode* parent = &aNode;
-    while( parent )
-        {
-        CXnControlAdapter* adapter = parent->Control();
-        if( adapter )
-            {
-            if( parent->ViewNodeImpl() && 
-                adapter == iCurrentViewControlAdapter )
-                {
-                return adapter;
-                }
-            else if( adapter->OwnsWindow() )
-                {
-                if( !IsNodeTooltip( *parent ) )
-                    {
-                    return adapter;
-                    }
-                else
-                    {
-                    return NULL;
-                    }                
-                }
-            }
-        parent = parent->Parent();
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-TXnDirtyRegion* CXnUiEngineImpl::FindDirtyRegionL( CXnNode& aNode )
-    {
-    CCoeControl* control = WindowOwningControl( aNode );
-    if( !control )
-        {
-        return NULL;
-        }
-    for( TInt i=0; i<iRedrawRegions.Count(); i++ )
-        {
-        if( iRedrawRegions[i]->iControl == control )
-            {
-            return iRedrawRegions[i];
-            }
-        }
-    TXnDirtyRegion* region = new (ELeave) TXnDirtyRegion;
-    CleanupStack::PushL( region );
-    region->iControl = control;
-    iRedrawRegions.AppendL( region );
-    CleanupStack::Pop();
-    return region;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-void CXnUiEngineImpl::AddRedrawRectL( TRect aRect, CXnNode& aNode )
-    {
-    TXnDirtyRegion* dirtyReg = FindDirtyRegionL( aNode );
-    if( dirtyReg )
-        {
-        dirtyReg->iRegion.AddRect( aRect );        
-        dirtyReg->iRegion.Tidy();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// SetEventDispatcher
-// -----------------------------------------------------------------------------
-void CXnUiEngineImpl::SetEventDispatcher( CXnKeyEventDispatcher* aDispatcher )
-    {
-    iKeyEventDispatcher = aDispatcher;
-    }
-
-// -----------------------------------------------------------------------------
-// NotifyStatusPaneSizeChanged
-// -----------------------------------------------------------------------------
-void CXnUiEngineImpl::NotifyStatusPaneSizeChanged()
-    {
-    TRAP_IGNORE( iUiEngine->SetClientRectL( iAppUiAdapter.ClientRect() ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// NotifyResourceChanged
-// -----------------------------------------------------------------------------
-void CXnUiEngineImpl::NotifyResourceChanged( TInt aType )
-    {
-    TRAP_IGNORE( HandleResourceChangeL( aType ) );
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuienginepluginif.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +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:  Xuikon layout engine plugin interface
-*
-*/
-
-// User includes
-#include "xnuienginepluginif.h"
-#include "xnuiengine.h"
-#include "xnnode.h"
-#include "xnnodepluginif.h"
-#include "xnproperty.h"
-#include "xnpointerarray.h"
-#include "xnodt.h"
-#include "xndomdocument.h"
-#include "xneditmode.h"
-#include "xneditor.h"
-#include "xnviewdata.h"
-#include "xndomnode.h"
-#include "xnhittest.h"
-#include "xnpanic.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::TXnUiEnginePluginIf
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TXnUiEnginePluginIf::TXnUiEnginePluginIf( CXnUiEngine& aUiEngine )
-    {
-    iUiEngine = &aUiEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::RootNode
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodePluginIf& TXnUiEnginePluginIf::RootNodeL()
-    {
-    CXnNode* node = iUiEngine->RootNode();
-    return node->PluginIfL();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::FindNodeByIdL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodePluginIf* TXnUiEnginePluginIf::FindNodeByIdL(
-    const TDesC& aNodeId,
-    const TDesC& aNamespace )
-    {
-    CXnNode* node = iUiEngine->FindNodeByIdL( aNodeId, aNamespace );
-    if ( !node )
-        {
-        return NULL;
-        }
-    return &( node->PluginIfL() );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::FindNodeByIdL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodePluginIf* TXnUiEnginePluginIf::FindNodeByIdL(
-    const TDesC8& aNodeId,
-    const TDesC8& aNamespace )
-    {
-    CXnNode* node = iUiEngine->FindNodeByIdL( aNodeId, aNamespace );
-    if ( !node )
-        {
-        return NULL;
-        }
-    return &( node->PluginIfL() );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::FindNodeByClassL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray< CXnNodePluginIf > TXnUiEnginePluginIf::FindNodeByClassL(
-    const TDesC& aClassId )
-    {
-    CXnPointerArray* array = iUiEngine->FindNodeByClassL( aClassId );
-    CleanupStack::PushL( array );
-    RPointerArray< CXnNodePluginIf > interfaceArray;
-    // Push interfaceArray.Close() on cleanup stack to free the array buffer in
-    // case of a leave
-    CleanupClosePushL( interfaceArray );
-    const TInt count = array->Container().Count();
-    // Reserve the needed array buffer in one allocation to increase
-    // excution speed and decrease heap fragmentation
-    interfaceArray.ReserveL( count );
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CXnNode* node = static_cast< CXnNode* >( array->Container()[i] );
-        // Append cannot fail because ReserveL call before this loop has
-        // allocated the array buffer
-        interfaceArray.Append( &( node->PluginIfL() ) );
-        }
-    CleanupStack::Pop( &interfaceArray );
-    CleanupStack::PopAndDestroy( array );
-    return interfaceArray;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::RenderUIL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEnginePluginIf::RenderUIL( CXnNodePluginIf* aNode )
-    {
-    CXnNode* node = NULL;
-    if ( aNode )
-        {
-        node = &( aNode->Node() );
-        }
-    iUiEngine->RenderUIL( node );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::Resources
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CArrayPtrSeg< CXnResource >& TXnUiEnginePluginIf::Resources()
-    {
-    return iUiEngine->Resources();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::FocusedNode
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodePluginIf* TXnUiEnginePluginIf::FocusedNodeL()
-    {
-    CXnNodePluginIf* ret = NULL;
-    if ( iUiEngine->FocusedNode() )
-        {
-        ret = &( iUiEngine->FocusedNode()->PluginIfL() );
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::SetFocusedNode
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEnginePluginIf::SetFocusedNode(
-    CXnNodePluginIf* aFocusedNode )
-    {
-    CXnNode* node( NULL );
-
-    if ( aFocusedNode )
-        {
-        node = &( aFocusedNode->Node() );
-        }
-
-    TRAP_IGNORE
-        (               
-        node->SetStateWithoutNotificationL(
-            XnPropertyNames::style::common::KFocus );        
-        );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::RestorePreviousFocusedNode
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEnginePluginIf::RestorePreviousFocusedNode()
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::StringPool
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnDomStringPool& TXnUiEnginePluginIf::StringPool()
-    {
-    return *iUiEngine->ODT()->DomDocument().StringPool();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::VerticalPixelValueL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt TXnUiEnginePluginIf::VerticalPixelValueL(
-    CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return iUiEngine->VerticalPixelValueL( aValue, aReferenceValue );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::HorizontalPixelValueL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt TXnUiEnginePluginIf::HorizontalPixelValueL(
-    CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return iUiEngine->HorizontalPixelValueL( aValue, aReferenceValue );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::VerticalTwipValueL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt TXnUiEnginePluginIf::VerticalTwipValueL(
-    CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return iUiEngine->VerticalTwipValueL( aValue, aReferenceValue );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::HorizontalTwipValueL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt TXnUiEnginePluginIf::HorizontalTwipValueL(
-    CXnProperty* aValue, TInt aReferenceValue )
-    {
-    return iUiEngine->HorizontalTwipValueL( aValue, aReferenceValue );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::ActivateViewL
-// Activate a view
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEnginePluginIf::ActivateViewL( CXnNodePluginIf& aViewNode )
-    {
-    iUiEngine->ActivateViewL( aViewNode.Node() );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::ScreenDeviceSize
-// Get the size of the current screen device
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TSize TXnUiEnginePluginIf::ScreenDeviceSize()
-    {
-    return iUiEngine->ScreenDeviceSize();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::IsDialogDisplaying
-// Checks whether the dialog is displaying or not.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool TXnUiEnginePluginIf::IsDialogDisplaying()
-    {
-    return iUiEngine->IsDialogDisplaying();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::AddDirtyNodeL
-// Sets the given node dirty.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEnginePluginIf::AddDirtyNodeL( CXnNodePluginIf& aNode )
-    {
-    aNode.SetDirtyL();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::IsMenuDisplaying
-// Checks whether the menu is displaying or not.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool TXnUiEnginePluginIf::IsMenuDisplaying()
-    {
-    return iUiEngine->IsMenuDisplaying();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::LayoutUIL
-// Forwards the call to the ui engine implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEnginePluginIf::LayoutUIL( CXnNodePluginIf* aNode )
-    {
-    CXnNode* node = NULL;
-    if ( aNode )
-        {
-        node = &( aNode->Node() );
-        }
-    iUiEngine->LayoutUIL( node );
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::EditState
-// Checks wheter editmode is active or not
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt TXnUiEnginePluginIf::EditMode()
-    {
-    return iUiEngine->EditMode()->EditState();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::WidgetsVisible
-// Checks widgets' visibility state
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool TXnUiEnginePluginIf::WidgetsVisible() const
-    {
-    return iUiEngine->Editor()->WidgetsVisible();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::HitRegion
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnControlAdapter* TXnUiEnginePluginIf::HitRegion() const
-    {
-    return iUiEngine->HitTest().HitRegion();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::DeactivateFocusedNodeL
-// Deactivates focused node
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TXnUiEnginePluginIf::DeactivateFocusedNodeL()
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::ShowFocus
-// Queries wheter focus is visible
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool TXnUiEnginePluginIf::ShowFocus()
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::PluginNodeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnNodePluginIf& TXnUiEnginePluginIf::PluginNodeL(
-    CXnNodePluginIf* aNode )
-    {
-    CXnViewManager* manager( iUiEngine->ViewManager() );
-    
-    CXnNode* node( NULL );
-    
-    if ( manager )
-        {
-        CXnPluginData& pluginData( 
-            manager->ActiveViewData().Plugin( &aNode->Node() ) );
-            
-        CXnDomNode* domNode( pluginData.Owner() );
-        
-        if ( domNode )
-            {
-            node = domNode->LayoutNode();
-            }
-        }
-    
-    if( !node )
-        {
-        User::Leave( KErrNotFound );
-        }
-     
-    return node->PluginIfL();
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::SetFocusVisibleL
-// Sets focus visibility of active view
-// -----------------------------------------------------------------------------
-//               
-EXPORT_C void TXnUiEnginePluginIf::SetFocusVisibleL( TBool /*aVisible*/ )
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::FocusVisible
-// Gets focus visibility of active view
-// -----------------------------------------------------------------------------
-//               
-EXPORT_C TBool TXnUiEnginePluginIf::FocusVisible()
-    {    
-    return EFalse;    
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::EnableSwipeL
-// Sets swipe enabled or disabled
-// -----------------------------------------------------------------------------
-//               
-EXPORT_C void TXnUiEnginePluginIf::EnableSwipeL( TBool /*aEnable*/ )
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::SwipeEnabledL
-// queries whether swipe is enabled or not
-// -----------------------------------------------------------------------------
-//               
-EXPORT_C TBool TXnUiEnginePluginIf::SwipeEnabledL()
-    {    
-    return EFalse;    
-    }
-
-// -----------------------------------------------------------------------------
-// TXnUiEnginePluginIf::DisableRenderUiLC
-// 
-// -----------------------------------------------------------------------------
-//               
-EXPORT_C void TXnUiEnginePluginIf::DisableRenderUiLC()
-    {
-    iUiEngine->DisableRenderUiLC();
-    }
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuistatelistener.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,331 +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:  UI State Listener
-*
-*/
-
-// System includes
-#include <ctsydomainpskeys.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnuistatelistener.h"
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnUiStateListener* CXnUiStateListener::NewL( CXnAppUiAdapter& aAdapter  )    
-    {
-    CXnUiStateListener* self = CXnUiStateListener::NewLC( aAdapter );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnUiStateListener* CXnUiStateListener::NewLC( CXnAppUiAdapter& aAdapter )
-    {
-    CXnUiStateListener* self = new( ELeave ) CXnUiStateListener( aAdapter );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::CXnUiStateListener()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnUiStateListener::CXnUiStateListener( CXnAppUiAdapter& aAdapter ) 
-    : iAppUiAdapter( aAdapter ), iLightStatus( CHWRMLight::ELightStatusUnknown )    
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::~CXnUiStateListener()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnUiStateListener::~CXnUiStateListener()
-    {
-    iUiStateObservers.Reset();
-    iResourceChangeObservers.Reset();
-    
-    iAppUiAdapter.StatusPane()->SetObserver( NULL );
-    CCoeEnv::Static()->RemoveMessageMonitorObserver( *this );
-    
-    delete iLightObserver;
-    delete iCallStateObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::ConstructL()
-    {
-    iLightObserver = CHWRMLight::NewL( this );
-    
-    iCallStateObserver = CXnPropertySubscriber::NewL( KPSUidCtsyCallInformation,
-        KCTsyCallState, *this );
-    
-    iAppUiAdapter.StatusPane()->SetObserver( this );
-    
-    CCoeEnv::Static()->AddMessageMonitorObserverL( *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::AddObserver()
-// Adds MXnUiStateObserver
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::AddObserver( const MXnUiStateObserver& aObserver )
-    {
-    if ( iUiStateObservers.InsertInAddressOrder( &aObserver ) == KErrNone )
-        {
-        MXnUiStateObserver& observer( 
-                const_cast< MXnUiStateObserver & >( aObserver) );
-        
-        if ( iForegroundStatus != MXnUiStateObserver::EUnknown )
-            {
-            observer.NotifyForegroundChanged( iForegroundStatus );
-            }
-                
-        observer.NotifyInCallStateChaged( iInCallState );
-        observer.NotifyLightStatusChanged( 
-            iLightStatus == CHWRMLight::ELightOn ? ETrue : EFalse );
-        }     
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::RemoveObserver()
-// Removes MXnUiStateObserver
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::RemoveObserver( const MXnUiStateObserver& aObserver )
-    {
-    TInt index( iUiStateObservers.Find( &aObserver ) );
-    
-    if ( index != KErrNotFound )
-        {
-        iUiStateObservers.Remove( index );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::AddObserver()
-// Adds MXnUiResourceChangeObserver 
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::AddObserver( 
-    const MXnUiResourceChangeObserver& aObserver )
-    {
-    iResourceChangeObservers.InsertInAddressOrder( &aObserver );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::RemoveObserver()
-// Removes MXnUiResourceChangeObserver
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::RemoveObserver( 
-    const MXnUiResourceChangeObserver& aObserver )
-    {
-    TInt index( iResourceChangeObservers.Find( &aObserver ) );
-    
-    if ( index != KErrNotFound )
-        {
-        iResourceChangeObservers.Remove( index );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::HandleResourceChangeL()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::HandleResourceChangeL( TInt aType )
-    {   
-    MXnUiStateObserver::TForegroundStatus status( iForegroundStatus );
-    
-    if ( aType == KEikMessageFadeAllWindows )
-        {
-        if ( iForegroundStatus != MXnUiStateObserver::EBackground )
-            {
-            iForegroundStatus = MXnUiStateObserver::EPartialForeground;
-            }        
-        }
-    else if ( aType == KEikMessageUnfadeWindows )           
-        {
-        if ( iForegroundType == KAknFullOrPartialForegroundGained )
-            {
-            if ( iAppUiAdapter.IsPartialForeground() )
-                {                       
-                iForegroundStatus = MXnUiStateObserver::EPartialForeground;            
-                }
-            else
-                {                       
-                iForegroundStatus = MXnUiStateObserver::EForeground;            
-                }                                  
-            }
-        }  
-    
-    if ( status != iForegroundStatus )
-        {
-        for ( TInt i = 0; i < iUiStateObservers.Count(); i++ )
-            {
-            iUiStateObservers[i]->
-                NotifyForegroundChanged( iForegroundStatus );
-            }
-        }
-            
-    for ( TInt i = 0; i < iResourceChangeObservers.Count(); i++ )
-        {
-        iResourceChangeObservers[i]->NotifyResourceChanged( aType );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::MonitorWsMessage()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::MonitorWsMessage( const TWsEvent& aEvent )
-    {
-    TInt type( aEvent.Type() );
-
-    MXnUiStateObserver::TForegroundStatus status( iForegroundStatus ); 
-    
-    if ( type == KAknFullOrPartialForegroundGained )
-        {     
-        iForegroundType = type;
-        
-        if ( iAppUiAdapter.IsPartialForeground() )
-            {                       
-            iForegroundStatus = MXnUiStateObserver::EPartialForeground;            
-            }
-        else
-            {                       
-            iForegroundStatus = MXnUiStateObserver::EForeground;            
-            }                      
-        }
-    else if ( type == KAknFullOrPartialForegroundLost )        
-        {
-        iForegroundType = type;
-        
-        iForegroundStatus = MXnUiStateObserver::EBackground;
-        }  
-    else if ( type == EEventFocusLost )
-        {
-        iForegroundStatus = MXnUiStateObserver::EBackground;
-        }
-    else if ( type == EEventFocusGained )
-        {
-        if ( iForegroundType == KAknFullOrPartialForegroundGained )
-            {
-            if ( iAppUiAdapter.IsPartialForeground() )
-                {                       
-                iForegroundStatus = MXnUiStateObserver::EPartialForeground;            
-                }
-            else
-                {                       
-                iForegroundStatus = MXnUiStateObserver::EForeground;            
-                }                                 
-            }
-        }
-    
-    if ( status != iForegroundStatus )
-        {       
-        for ( TInt i = 0; i < iUiStateObservers.Count(); i++ )
-            {
-            iUiStateObservers[i]->
-                NotifyForegroundChanged( iForegroundStatus );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::HandleStatusPaneSizeChange()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::HandleStatusPaneSizeChange()
-    {              
-    for ( TInt i = 0; i < iResourceChangeObservers.Count(); i++ )
-        {
-        iResourceChangeObservers[i]->NotifyStatusPaneSizeChanged();                         
-        }        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::LightStatusChanged()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::LightStatusChanged( TInt aTarget, 
-    CHWRMLight::TLightStatus aStatus ) 
-    {
-    if ( aTarget == CHWRMLight::EPrimaryDisplay )
-        {
-        if ( ( aStatus == CHWRMLight::ELightOn || 
-             aStatus == CHWRMLight::ELightOff ) &&
-             aStatus != iLightStatus )
-            {
-            iLightStatus = aStatus;
-                            
-            for ( TInt i = 0; i < iUiStateObservers.Count(); i++ )
-                {
-                iUiStateObservers[i]->
-                    NotifyLightStatusChanged( 
-                        iLightStatus == CHWRMLight::ELightOn ? ETrue : EFalse );
-                }                                        
-            }
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnUiStateListener::PropertyChangedL()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnUiStateListener::PropertyChangedL( const TUint32 aKey, 
-    const TInt aValue )
-    {
-    if ( aKey == KCTsyCallState )
-        {
-        TBool active( aValue > EPSCTsyCallStateNone );
-        
-        if( iInCallState != active )
-            {
-            iInCallState = active;
-            
-            for ( TInt i = 0; i < iUiStateObservers.Count(); i++ )
-                {
-                iUiStateObservers[i]->NotifyInCallStateChaged( iInCallState );
-                }                                                  
-            }
-        }    
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnutils.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1952 +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:  Utility functions of Xuikon.
-*
-*/
-
-
-// System includes
-#include <AknUtils.h>
-#include <AknFontAccess.h>
-#include <uri16.h>
-
-// User includes
-#include "c_xnutils.h"
-#include "xnproperty.h"
-#include "xnnodepluginif.h"
-#include "xnuienginepluginif.h"
-#include "xndomlist.h"
-#include "xnresource.h"
-#include "xnnodebreadthfirstiterator.h"
-#include "xncontroladapter.h"
-#include "xncontroladapterimpl.h"
-#include "xncomponent.h"
-#include "xncomponentnodeimpl.h"
-
-// Constants
-_LIT( KNormal, "normal" );
-_LIT( KPrimaryFont , "EAknLogicalFontPrimaryFont" );
-_LIT( KSecondaryFont , "EAknLogicalFontSecondaryFont" );
-_LIT( KTitleFont, "EAknLogicalFontTitleFont" );
-_LIT( KPrimarySmallFont , "EAknLogicalFontPrimarySmallFont" );
-_LIT( KDigitalFont , "EAknLogicalFontDigitalFont" );
-
-_LIT( KXnCommonWhiteSpaceCharacters, " \n\t\r" );
-_LIT( KXnLineFeedTabCharacters, "\n\t\r" );
-_LIT( KXnTabCharacters, "\t\r" );
-
-_LIT( KSkin, "skin(" );
- 
-namespace XnColorNames
-    {
-    _LIT8( Kaliceblue, "aliceblue" );
-    _LIT8( Kantiquewhite, "antiquewhite" );
-    _LIT8( Kaqua, "aqua" );
-    _LIT8( Kaquamarine, "aquamarine" );
-    _LIT8( Kazure, "azure" );
-    _LIT8( Kbeige, "beige" );
-    _LIT8( Kbisque, "bisque" );
-    _LIT8( Kblack, "black" );
-    _LIT8( Kblanchedalmond, "blanchedalmond" );
-    _LIT8( Kblue, "blue" );
-    _LIT8( Kblueviolet, "blueviolet" );
-    _LIT8( Kbrown, "brown" );
-    _LIT8( Kburlywood, "burlywood" );
-    _LIT8( Kcadetblue, "cadetblue" );
-    _LIT8( Kchartreuse, "chartreuse" );
-    _LIT8( Kchocolate, "chocolate" );
-    _LIT8( Kcoral, "coral" );
-    _LIT8( Kcornflowerblue, "cornflowerblue" );
-    _LIT8( Kcornsilk, "cornsilk" );
-    _LIT8( Kcrimson, "crimson" );
-    _LIT8( Kcyan, "cyan" );
-    _LIT8( Kdarkblue, "darkblue" );
-    _LIT8( Kdarkcyan, "darkcyan" );
-    _LIT8( Kdarkgoldenrod, "darkgoldenrod" );
-    _LIT8( Kdarkgray, "darkgray" );
-    _LIT8( Kdarkgreen, "darkgreen" );
-    _LIT8( Kdarkgrey, "darkgrey" );
-    _LIT8( Kdarkkhaki, "darkkhaki" );
-    _LIT8( Kdarkmagenta, "darkmagenta" );
-    _LIT8( Kdarkolivegreen, "darkolivegreen" );
-    _LIT8( Kdarkorange, "darkorange" );
-    _LIT8( Kdarkorchid, "darkorchid" );
-    _LIT8( Kdarkred, "darkred" );
-    _LIT8( Kdarksalmon, "darksalmon" );
-    _LIT8( Kdarkseagreen, "darkseagreen" );
-    _LIT8( Kdarkslateblue, "darkslateblue" );
-    _LIT8( Kdarkslategray, "darkslategray" );
-    _LIT8( Kdarkslategrey, "darkslategrey" );
-    _LIT8( Kdarkturquoise, "darkturquoise" );
-    _LIT8( Kdarkviolet, "darkviolet" );
-    _LIT8( Kdeeppink, "deeppink" );
-    _LIT8( Kdeepskyblue, "deepskyblue" );
-    _LIT8( Kdimgray, "dimgray" );
-    _LIT8( Kdimgrey, "dimgrey" );
-    _LIT8( Kdodgerblue, "dodgerblue" );
-    _LIT8( Kfirebrick, "firebrick" );
-    _LIT8( Kfloralwhite, "floralwhite" );
-    _LIT8( Kforestgreen, "forestgreen" );
-    _LIT8( Kfuchsia, "fuchsia" );
-    _LIT8( Kgainsboro, "gainsboro" );
-    _LIT8( Kghostwhite, "ghostwhite" );
-    _LIT8( Kgold, "gold" );
-    _LIT8( Kgoldenrod, "goldenrod" );
-    _LIT8( Kgray, "gray" );
-    _LIT8( Kgreen, "green" );
-    _LIT8( Kgreenyellow, "greenyellow" );
-    _LIT8( Kgrey, "grey" );
-    _LIT8( Khoneydew, "honeydew" );
-    _LIT8( Khotpink, "hotpink" );
-    _LIT8( Kindianred, "indianred" );
-    _LIT8( Kindigo, "indigo" );
-    _LIT8( Kivory, "ivory" );
-    _LIT8( Kkhaki, "khaki" );
-    _LIT8( Klavender, "lavender" );
-    _LIT8( Klavenderblush, "lavenderblush" );
-    _LIT8( Klawngreen, "lawngreen" );
-    _LIT8( Klemonchiffon, "lemonchiffon" );
-    _LIT8( Klightblue, "lightblue" );
-    _LIT8( Klightcoral, "lightcoral" );
-    _LIT8( Klightcyan, "lightcyan" );
-    _LIT8( Klightgoldenrodyellow, "lightgoldenrodyellow" );
-    _LIT8( Klightgray, "lightgray" );
-    _LIT8( Klightgreen, "lightgreen" );
-    _LIT8( Klightgrey, "lightgrey" );
-    _LIT8( Klightpink, "lightpink" );
-    _LIT8( Klightsalmon, "lightsalmon" );
-    _LIT8( Klightseagreen, "lightseagreen" );
-    _LIT8( Klightskyblue, "lightskyblue" );
-    _LIT8( Klightslategray, "lightslategray" );
-    _LIT8( Klightslategrey, "lightslategrey" );
-    _LIT8( Klightsteelblue, "lightsteelblue" );
-    _LIT8( Klightyellow, "lightyellow" );
-    _LIT8( Klime, "lime" );
-    _LIT8( Klimegreen, "limegreen" );
-    _LIT8( Klinen, "linen" );
-    _LIT8( Kmagenta, "magenta" );
-    _LIT8( Kmaroon, "maroon" );
-    _LIT8( Kmediumaquamarine, "mediumaquamarine" );
-    _LIT8( Kmediumblue, "mediumblue" );
-    _LIT8( Kmediumorchid, "mediumorchid" );
-    _LIT8( Kmediumpurple, "mediumpurple" );
-    _LIT8( Kmediumseagreen, "mediumseagreen" );
-    _LIT8( Kmediumslateblue, "mediumslateblue" );
-    _LIT8( Kmediumspringgreen, "mediumspringgreen" );
-    _LIT8( Kmediumturquoise, "mediumturquoise" );
-    _LIT8( Kmediumvioletred, "mediumvioletred" );
-    _LIT8( Kmidnightblue, "midnightblue" );
-    _LIT8( Kmintcream, "mintcream" );
-    _LIT8( Kmistyrose, "mistyrose" );
-    _LIT8( Kmoccasin, "moccasin" );
-    _LIT8( Knavajowhite, "navajowhite" );
-    _LIT8( Knavy, "navy" );
-    _LIT8( Koldlace, "oldlace" );
-    _LIT8( Kolive, "olive" );
-    _LIT8( Kolivedrab, "olivedrab" );
-    _LIT8( Korange, "orange" );
-    _LIT8( Korangered, "orangered" );
-    _LIT8( Korchid, "orchid" );
-    _LIT8( Kpalegoldenrod, "palegoldenrod" );
-    _LIT8( Kpalegreen, "palegreen" );
-    _LIT8( Kpaleturquoise, "paleturquoise" );
-    _LIT8( Kpalevioletred, "palevioletred" );
-    _LIT8( Kpapayawhip, "papayawhip" );
-    _LIT8( Kpeachpuff, "peachpuff" );
-    _LIT8( Kperu, "peru" );
-    _LIT8( Kpink, "pink" );
-    _LIT8( Kplum, "plum" );
-    _LIT8( Kpowderblue, "powderblue" );
-    _LIT8( Kpurple, "purple" );
-    _LIT8( Kred, "red" );
-    _LIT8( Krosybrown, "rosybrown" );
-    _LIT8( Kroyalblue, "royalblue" );
-    _LIT8( Ksaddlebrown, "saddlebrown" );
-    _LIT8( Ksalmon, "salmon" );
-    _LIT8( Ksandybrown, "sandybrown" );
-    _LIT8( Kseagreen, "seagreen" );
-    _LIT8( Kseashell, "seashell" );
-    _LIT8( Ksienna, "sienna" );
-    _LIT8( Ksilver, "silver" );
-    _LIT8( Kskyblue, "skyblue" );
-    _LIT8( Kslateblue, "slateblue" );
-    _LIT8( Kslategray, "slategray" );
-    _LIT8( Kslategrey, "slategrey" );
-    _LIT8( Ksnow, "snow" );
-    _LIT8( Kspringgreen, "springgreen" );
-    _LIT8( Ksteelblue, "steelblue" );
-    _LIT8( Ktan, "tan" );
-    _LIT8( Kteal, "teal" );
-    _LIT8( Kthistle, "thistle" );
-    _LIT8( Ktomato, "tomato" );
-    _LIT8( Kturquoise, "turquoise" );
-    _LIT8( Kviolet, "violet" );
-    _LIT8( Kwheat, "wheat" );
-    _LIT8( Kwhite, "white" );
-    _LIT8( Kwhitesmoke, "whitesmoke" );
-    _LIT8( Kyellow, "yellow" );
-    _LIT8( Kyellowgreen, "yellowgreen" );
-    }
-
-namespace XnColorValues
-    {
-    const TInt Kaliceblue = 0xfff8f0;
-    const TInt Kantiquewhite = 0xd7ebfa;
-    const TInt Kaqua = 0xffff00;
-    const TInt Kaquamarine = 0xd4ff7f;
-    const TInt Kazure = 0xfffff0;
-    const TInt Kbeige = 0xdcf5f5;
-    const TInt Kbisque = 0xc4e4ff;
-    const TInt Kblack = 0x000000;
-    const TInt Kblanchedalmond = 0xcdebff;
-    const TInt Kblue = 0xff0000;
-    const TInt Kblueviolet = 0xe22b8a;
-    const TInt Kbrown = 0x2a2aa5;
-    const TInt Kburlywood = 0x87b8de;
-    const TInt Kcadetblue = 0xa09e5f;
-    const TInt Kchartreuse = 0x00ff7f;
-    const TInt Kchocolate = 0x1e69d2;
-    const TInt Kcoral = 0x507fff;
-    const TInt Kcornflowerblue = 0xed9564;
-    const TInt Kcornsilk = 0xdcf8ff;
-    const TInt Kcrimson = 0x3c14dc;
-    const TInt Kcyan = 0xffff00;
-    const TInt Kdarkblue = 0x8b0000;
-    const TInt Kdarkcyan = 0x8b8b00;
-    const TInt Kdarkgoldenrod = 0x0b86b8;
-    const TInt Kdarkgray = 0xa9a9a9;
-    const TInt Kdarkgreen = 0x006400;
-    const TInt Kdarkgrey = 0xa9a9a9;
-    const TInt Kdarkkhaki = 0x6bb7bd;
-    const TInt Kdarkmagenta = 0x8b008b;
-    const TInt Kdarkolivegreen = 0x2f6b55;
-    const TInt Kdarkorange = 0x008cff;
-    const TInt Kdarkorchid = 0xcc3299;
-    const TInt Kdarkred = 0x00008b;
-    const TInt Kdarksalmon = 0x7a96e9;
-    const TInt Kdarkseagreen = 0x8fbc8f;
-    const TInt Kdarkslateblue = 0x8b3d48;
-    const TInt Kdarkslategray = 0x4f4f2f;
-    const TInt Kdarkslategrey = 0x4f4f2f;
-    const TInt Kdarkturquoise = 0xd1ce00;
-    const TInt Kdarkviolet = 0xd30094;
-    const TInt Kdeeppink = 0x9314ff;
-    const TInt Kdeepskyblue = 0xffbf00;
-    const TInt Kdimgray = 0x696969;
-    const TInt Kdimgrey = 0x696969;
-    const TInt Kdodgerblue = 0xff901e;
-    const TInt Kfirebrick = 0x2222b2;
-    const TInt Kfloralwhite = 0xf0faff;
-    const TInt Kforestgreen = 0x228b22;
-    const TInt Kfuchsia = 0xff00ff;
-    const TInt Kgainsboro = 0xdcdcdc;
-    const TInt Kghostwhite = 0xfff8f8;
-    const TInt Kgold = 0x00d7ff;
-    const TInt Kgoldenrod = 0x20a5da;
-    const TInt Kgray = 0x808080;
-    const TInt Kgreen = 0x008000;
-    const TInt Kgreenyellow = 0x2fffad;
-    const TInt Kgrey = 0x808080;
-    const TInt Khoneydew = 0xf0fff0;
-    const TInt Khotpink = 0xb469ff;
-    const TInt Kindianred = 0x5c5ccd;
-    const TInt Kindigo = 0x82004b;
-    const TInt Kivory = 0xf0ffff;
-    const TInt Kkhaki = 0x8ce6f0;
-    const TInt Klavender = 0xfae6e6;
-    const TInt Klavenderblush = 0xf5f0ff;
-    const TInt Klawngreen = 0x00fc7c;
-    const TInt Klemonchiffon = 0xcdfaff;
-    const TInt Klightblue = 0xe6d8ad;
-    const TInt Klightcoral = 0x8080f0;
-    const TInt Klightcyan = 0xffffe0;
-    const TInt Klightgoldenrodyellow = 0xd2fafa;
-    const TInt Klightgray = 0xd3d3d3;
-    const TInt Klightgreen = 0x90ee90;
-    const TInt Klightgrey = 0xd3d3d3;
-    const TInt Klightpink = 0xc1b6ff;
-    const TInt Klightsalmon = 0x7aa0ff;
-    const TInt Klightseagreen = 0xaab220;
-    const TInt Klightskyblue = 0xface87;
-    const TInt Klightslategray = 0x998877;
-    const TInt Klightslategrey = 0x998877;
-    const TInt Klightsteelblue = 0xdec4b0;
-    const TInt Klightyellow = 0xe0ffff;
-    const TInt Klime = 0x00ff00;
-    const TInt Klimegreen = 0x32cd32;
-    const TInt Klinen = 0xe6f0fa;
-    const TInt Kmagenta = 0xff00ff;
-    const TInt Kmaroon = 0x000080;
-    const TInt Kmediumaquamarine = 0xaacd66;
-    const TInt Kmediumblue = 0xcd0000;
-    const TInt Kmediumorchid = 0xd355ba;
-    const TInt Kmediumpurple = 0xdb7093;
-    const TInt Kmediumseagreen = 0x71b33c;
-    const TInt Kmediumslateblue = 0xee687b;
-    const TInt Kmediumspringgreen = 0x9afa00;
-    const TInt Kmediumturquoise = 0xccd148;
-    const TInt Kmediumvioletred = 0x8515c7;
-    const TInt Kmidnightblue = 0x701919;
-    const TInt Kmintcream = 0xfafff5;
-    const TInt Kmistyrose = 0xe1e4ff;
-    const TInt Kmoccasin = 0xb5e4ff;
-    const TInt Knavajowhite = 0xaddeff;
-    const TInt Knavy = 0x800000;
-    const TInt Koldlace = 0xe6f5fd;
-    const TInt Kolive = 0x008080;
-    const TInt Kolivedrab = 0x238e6b;
-    const TInt Korange = 0x00a5ff;
-    const TInt Korangered = 0x0045ff;
-    const TInt Korchid = 0xd670da;
-    const TInt Kpalegoldenrod = 0xaae8ee;
-    const TInt Kpalegreen = 0x98fb98;
-    const TInt Kpaleturquoise = 0xeeeeaf;
-    const TInt Kpalevioletred = 0x9370db;
-    const TInt Kpapayawhip = 0xd5efff;
-    const TInt Kpeachpuff = 0xb9daff;
-    const TInt Kperu = 0x3f85cd;
-    const TInt Kpink = 0xcbc0ff;
-    const TInt Kplum = 0xdda0dd;
-    const TInt Kpowderblue = 0xe6e0b0;
-    const TInt Kpurple = 0x800080;
-    const TInt Kred = 0x0000ff;
-    const TInt Krosybrown = 0x8f8fbc;
-    const TInt Kroyalblue = 0xe16941;
-    const TInt Ksaddlebrown = 0x13458b;
-    const TInt Ksalmon = 0x7280fa;
-    const TInt Ksandybrown = 0x60a4f4;
-    const TInt Kseagreen = 0x578b2e;
-    const TInt Kseashell = 0xeef5ff;
-    const TInt Ksienna = 0x2d52a0;
-    const TInt Ksilver = 0xc0c0c0;
-    const TInt Kskyblue = 0xebce87;
-    const TInt Kslateblue = 0xcd5a6a;
-    const TInt Kslategray = 0x908070;
-    const TInt Kslategrey = 0x908070;
-    const TInt Ksnow = 0xfafaff;
-    const TInt Kspringgreen = 0x7fff00;
-    const TInt Ksteelblue = 0xb48246;
-    const TInt Ktan = 0x8cb4d2;
-    const TInt Kteal = 0x808000;
-    const TInt Kthistle = 0xd8bfd8;
-    const TInt Ktomato = 0x4763ff;
-    const TInt Kturquoise = 0xd0e040;
-    const TInt Kviolet = 0xee82ee;
-    const TInt Kwheat = 0xb3def5;
-    const TInt Kwhite = 0xffffff;
-    const TInt Kwhitesmoke = 0xf5f5f5;
-    const TInt Kyellow = 0x00ffff;
-    const TInt Kyellowgreen = 0x32cd9a;
-    }
-
-// ======== LOCAL FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// MatchColor
-// -----------------------------------------------------------------------------
-//
-static TBool MatchColor( const TDesC8& aColorName, TRgb& aValue )
-    {
-    // Following local macro is used to generate large if-table.
-    #define E( name ) else if ( aColorName == XnColorNames::name ) \
-        { \
-        aValue = TRgb( XnColorValues::name ); \
-        return ETrue; \
-        }
-
-    if ( EFalse )
-        {
-        }
-    E( Kaliceblue )
-    E( Kantiquewhite )
-    E( Kaqua )
-    E( Kaquamarine )
-    E( Kazure )
-    E( Kbeige )
-    E( Kbisque )
-    E( Kblack )
-    E( Kblanchedalmond )
-    E( Kblue )
-    E( Kblueviolet )
-    E( Kbrown )
-    E( Kburlywood )
-    E( Kcadetblue )
-    E( Kchartreuse )
-    E( Kchocolate )
-    E( Kcoral )
-    E( Kcornflowerblue )
-    E( Kcornsilk )
-    E( Kcrimson )
-    E( Kcyan )
-    E( Kdarkblue )
-    E( Kdarkcyan )
-    E( Kdarkgoldenrod )
-    E( Kdarkgray )
-    E( Kdarkgreen )
-    E( Kdarkgrey )
-    E( Kdarkkhaki )
-    E( Kdarkmagenta )
-    E( Kdarkolivegreen )
-    E( Kdarkorange )
-    E( Kdarkorchid )
-    E( Kdarkred )
-    E( Kdarksalmon )
-    E( Kdarkseagreen )
-    E( Kdarkslateblue )
-    E( Kdarkslategray )
-    E( Kdarkslategrey )
-    E( Kdarkturquoise )
-    E( Kdarkviolet )
-    E( Kdeeppink )
-    E( Kdeepskyblue )
-    E( Kdimgray )
-    E( Kdimgrey )
-    E( Kdodgerblue )
-    E( Kfirebrick )
-    E( Kfloralwhite )
-    E( Kforestgreen )
-    E( Kfuchsia )
-    E( Kgainsboro )
-    E( Kghostwhite )
-    E( Kgold )
-    E( Kgoldenrod )
-    E( Kgray )
-    E( Kgreen )
-    E( Kgreenyellow )
-    E( Kgrey )
-    E( Khoneydew )
-    E( Khotpink )
-    E( Kindianred )
-    E( Kindigo )
-    E( Kivory )
-    E( Kkhaki )
-    E( Klavender )
-    E( Klavenderblush )
-    E( Klawngreen )
-    E( Klemonchiffon )
-    E( Klightblue )
-    E( Klightcoral )
-    E( Klightcyan )
-    E( Klightgoldenrodyellow )
-    E( Klightgray )
-    E( Klightgreen )
-    E( Klightgrey )
-    E( Klightpink )
-    E( Klightsalmon )
-    E( Klightseagreen )
-    E( Klightskyblue )
-    E( Klightslategray )
-    E( Klightslategrey )
-    E( Klightsteelblue )
-    E( Klightyellow )
-    E( Klime )
-    E( Klimegreen )
-    E( Klinen )
-    E( Kmagenta )
-    E( Kmaroon )
-    E( Kmediumaquamarine )
-    E( Kmediumblue )
-    E( Kmediumorchid )
-    E( Kmediumpurple )
-    E( Kmediumseagreen )
-    E( Kmediumslateblue )
-    E( Kmediumspringgreen )
-    E( Kmediumturquoise )
-    E( Kmediumvioletred )
-    E( Kmidnightblue )
-    E( Kmintcream )
-    E( Kmistyrose )
-    E( Kmoccasin )
-    E( Knavajowhite )
-    E( Knavy )
-    E( Koldlace )
-    E( Kolive )
-    E( Kolivedrab )
-    E( Korange )
-    E( Korangered )
-    E( Korchid )
-    E( Kpalegoldenrod )
-    E( Kpalegreen )
-    E( Kpaleturquoise )
-    E( Kpalevioletred )
-    E( Kpapayawhip )
-    E( Kpeachpuff )
-    E( Kperu )
-    E( Kpink )
-    E( Kplum )
-    E( Kpowderblue )
-    E( Kpurple )
-    E( Kred )
-    E( Krosybrown )
-    E( Kroyalblue )
-    E( Ksaddlebrown )
-    E( Ksalmon )
-    E( Ksandybrown )
-    E( Kseagreen )
-    E( Kseashell )
-    E( Ksienna )
-    E( Ksilver )
-    E( Kskyblue )
-    E( Kslateblue )
-    E( Kslategray )
-    E( Kslategrey )
-    E( Ksnow )
-    E( Kspringgreen )
-    E( Ksteelblue )
-    E( Ktan )
-    E( Kteal )
-    E( Kthistle )
-    E( Ktomato )
-    E( Kturquoise )
-    E( Kviolet )
-    E( Kwheat )
-    E( Kwhite )
-    E( Kwhitesmoke )
-    E( Kyellow )
-    E( Kyellowgreen )
-    else
-        {
-        return EFalse;
-        }
-    #undef E
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// FindResource
-// Locates a resource from the resource list
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnResource* CXnUtils::FindResource(
-    CArrayPtrSeg< CXnResource >& aArray,
-    const TDesC& aResourceFileName,
-    TInt& aBitmapIndex )
-    {
-    if ( aResourceFileName == KNullDesC )
-        {
-        return NULL;
-        }
-
-    TUriParser parser;
-    parser.Parse( aResourceFileName );
-
-    TPtrC uriWithoutFragment;
-    parser.UriWithoutFragment( uriWithoutFragment );
-
-    const TDesC& fragment( parser.Extract( EUriFragment ) );
-
-    TLex lex( fragment );
-    lex.Val( aBitmapIndex );
-
-    for ( TInt i = aArray.Count() - 1; i >= 0; --i )
-        {
-        CXnResource* res( aArray.At( i ) );
-
-        const TDesC& resId( res->ResourceId() );
-
-        if ( resId.FindF( uriWithoutFragment ) != KErrNotFound )
-            {
-            return res;
-            }
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// DecimalFromHexChar
-// -----------------------------------------------------------------------------
-//
-static TBool DecimalFromHexChar( TChar aChar, TInt& aValue )
-    {
-    switch ( aChar )
-        {
-        case 'a':
-        case 'A':
-            aValue = 10;
-            return ETrue;
-        case 'b':
-        case 'B':
-            aValue = 11;
-            return ETrue;
-        case 'c':
-        case 'C':
-            aValue = 12;
-            return ETrue;
-        case 'd':
-        case 'D':
-            aValue = 13;
-            return ETrue;
-        case 'e':
-        case 'E':
-            aValue = 14;
-            return ETrue;
-        case 'f':
-        case 'F':
-            aValue = 15;
-            return ETrue;
-        case '0':
-            aValue = 0;
-            return ETrue;
-        case '1':
-            aValue = 1;
-            return ETrue;
-        case '2':
-            aValue = 2;
-            return ETrue;
-        case '3':
-            aValue = 3;
-            return ETrue;
-        case '4':
-            aValue = 4;
-            return ETrue;
-        case '5':
-            aValue = 5;
-            return ETrue;
-        case '6':
-            aValue = 6;
-            return ETrue;
-        case '7':
-            aValue = 7;
-            return ETrue;
-        case '8':
-            aValue = 8;
-            return ETrue;
-        case '9':
-            aValue = 9;
-            return ETrue;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// NumericOrHexValue
-// -----------------------------------------------------------------------------
-//
-static TInt NumericOrHexValue( TReal& aValue, TLex8& aData )
-    {
-    TBool isHex = EFalse;
-    TInt hexIndex = 0;
-    TPtrC8 data = aData.Remainder();
-    TInt separatorIndex = 0;
-    if ( ( hexIndex = data.LocateF( '#' ) ) != KErrNotFound &&
-         ( ( separatorIndex = data.LocateF( ',' ) ) != KErrNotFound ||
-           ( separatorIndex = data.LocateF( ')' ) ) != KErrNotFound ) &&
-         ( separatorIndex > hexIndex ) )
-        {
-        isHex = ETrue;
-        }
-    if ( !isHex )
-        {
-        return aData.Val( aValue );
-        }
-    else
-        {
-        TChar character = aData.Get();
-        if ( character == 0 )
-            {
-            return KErrGeneral;
-            }
-        character = aData.Get();
-        if ( character == 0 )
-            {
-            return KErrGeneral;
-            }
-        TChar secondCharacter = aData.Get();
-        if ( secondCharacter == 0 )
-            {
-            return KErrGeneral;
-            }
-        TInt val;
-        TInt secondVal;
-        if ( DecimalFromHexChar( character, val ) &&
-             DecimalFromHexChar( secondCharacter, secondVal ) )
-            {
-            aValue = 16 * val + secondVal;
-            return KErrNone;
-            }
-        }
-    return KErrGeneral;
-    }
-
-// -----------------------------------------------------------------------------
-// DecimalValueOrPercentage
-// -----------------------------------------------------------------------------
-//
-static TInt DecimalValueOrPercentage( TInt& aValue, TLex8& aData )
-    {
-    TBool isPercentage = EFalse;
-    TInt separatorIndex = 0;
-    TInt percentageIndex = 0;
-    TPtrC8 data = aData.Remainder();
-    if ( ( percentageIndex = data.LocateF( '%' ) ) != KErrNotFound &&
-         ( ( separatorIndex = data.LocateF( ',' ) ) != KErrNotFound ||
-           ( separatorIndex = data.LocateF( ')' ) ) != KErrNotFound ) &&
-         ( separatorIndex > percentageIndex ) )
-        {
-        isPercentage = ETrue;
-        }
-    TReal tmp;
-    TInt error = NumericOrHexValue( tmp, aData );
-    if ( error != KErrNone )
-        {
-        return error;
-        }
-    if ( !isPercentage )
-        {
-        aValue = static_cast< TInt >( tmp );
-        }
-    else
-        {
-        aValue = static_cast< TInt >( ( tmp / 100.0 ) * 255.0 );
-        }
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// GetRgbValueFromColorName
-// -----------------------------------------------------------------------------
-//
-static TBool GetRgbValueFromColorName( TRgb& aValue, const TDesC8& aData )
-    {
-    return MatchColor( aData, aValue );
-    }
-
-// -----------------------------------------------------------------------------
-// GetRgbValueFromDecimalValues
-// -----------------------------------------------------------------------------
-//
-static TBool GetRgbValueFromDecimalValues( TRgb& aValue, const TDesC8& aData )
-    {
-    TLex8 lex( aData );
-    TInt red;
-    TInt green;
-    TInt blue;
-    lex.SkipSpace();
-    TInt error = DecimalValueOrPercentage( red, lex );
-    if ( error != KErrNone )
-        {
-        return EFalse;
-        }
-    lex.SkipSpace();
-    while ( lex.Peek() == ',' || lex.Peek() == '%' )
-        {
-        lex.Get();
-        lex.SkipSpace();
-        }
-    error = DecimalValueOrPercentage( green, lex );
-    if ( error != KErrNone )
-        {
-        return EFalse;
-        }
-    lex.SkipSpace();
-    while ( lex.Peek() == ',' || lex.Peek() == '%' )
-        {
-        lex.Get();
-        lex.SkipSpace();
-        }
-    error = DecimalValueOrPercentage( blue, lex );
-    if ( error != KErrNone )
-        {
-        return EFalse;
-        }
-    aValue.SetRed( red );
-    aValue.SetGreen( green );
-    aValue.SetBlue( blue );
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// GetRgbValueFromRgbFunction
-// -----------------------------------------------------------------------------
-//
-static TBool GetRgbValueFromRgbFunction( TRgb& aValue, const TDesC8& aData )
-    {
-    TInt functionNameIndex = 0;
-    TInt openingParenthesisIndex = 0;
-    TInt closingParenthesisIndex = 0;
-    if ( ( functionNameIndex = aData.FindF( _L8( "rgb" ) ) ) != KErrNotFound &&
-         ( openingParenthesisIndex = aData.FindF( _L8( "(" ) ) ) != KErrNotFound &&
-         ( openingParenthesisIndex > functionNameIndex ) &&
-         ( closingParenthesisIndex = aData.FindF( _L8( ")" ) ) ) != KErrNotFound &&
-         ( closingParenthesisIndex > openingParenthesisIndex ) )
-        {
-        TPtrC8 functionString = aData.Mid(
-            openingParenthesisIndex + 1,
-            closingParenthesisIndex - openingParenthesisIndex );
-        return GetRgbValueFromDecimalValues( aValue, functionString );
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// GetRgbValueFromHslFunction
-// -----------------------------------------------------------------------------
-//
-static TBool GetRgbValueFromHslFunction( TRgb& aValue, const TDesC8& aData )
-    {
-    TInt functionNameIndex = 0;
-    TInt openingParenthesisIndex = 0;
-    TInt closingParenthesisIndex = 0;
-    if ( ( functionNameIndex = aData.FindF( _L8( "hsl" ) ) ) != KErrNotFound &&
-         ( openingParenthesisIndex = aData.FindF( _L8( "(" ) ) ) != KErrNotFound &&
-         ( openingParenthesisIndex > functionNameIndex ) &&
-         ( closingParenthesisIndex = aData.FindF( _L8( ")" ) ) ) != KErrNotFound &&
-         ( closingParenthesisIndex > openingParenthesisIndex ) )
-        {
-        TPtrC8 functionString = aData.Mid(
-            openingParenthesisIndex + 1,
-            closingParenthesisIndex - openingParenthesisIndex );
-        TRgb rgb;
-        TBool success = GetRgbValueFromDecimalValues( rgb, functionString );
-
-        TLex8 lex( functionString );
-        TInt red;
-        TInt green;
-        TInt blue;
-        lex.SkipSpace();
-        TReal tmp;
-
-        TInt error = NumericOrHexValue( tmp, lex );
-        if ( error != KErrNone )
-            {
-            return EFalse;
-            }
-        red = static_cast< TInt >( tmp );
-        lex.SkipSpace();
-        while ( lex.Peek() == ',' || lex.Peek() == '%' )
-            {
-            lex.Get();
-            lex.SkipSpace();
-            }
-        error = NumericOrHexValue( tmp, lex );
-        if ( error != KErrNone )
-            {
-            return EFalse;
-            }
-        green = static_cast< TInt >( tmp );
-        lex.SkipSpace();
-        while ( lex.Peek() == ',' || lex.Peek() == '%' )
-            {
-            lex.Get();
-            lex.SkipSpace();
-            }
-        error = NumericOrHexValue( tmp, lex );
-        if ( error != KErrNone )
-            {
-            return EFalse;
-            }
-        blue = static_cast< TInt >( tmp );
-
-        if ( success )
-            {
-            aValue = CXnUtils::ConvertHslToRgb( red, green, blue );
-            }
-        return success;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// GetRgbValueFromHexValue
-// -----------------------------------------------------------------------------
-//
-static TBool GetRgbValueFromHexValue( TRgb& aValue, const TDesC8& aData )
-    {
-    TBool isHex = EFalse;
-    if ( aData.LocateF( '#' ) != KErrNotFound )
-        {
-        isHex = ETrue;
-        }
-    if ( !isHex )
-        {
-        return EFalse;
-        }
-    else
-        {
-        TInt length = aData.Length();
-        TLex8 lex( aData );
-        lex.SkipSpace();
-        if ( lex.Get() == 0 )
-            {
-            return EFalse;
-            }
-        TInt values[3];
-        TBool flags[3] = { EFalse, EFalse, EFalse };
-        TChar chars[6] = { 0, 0, 0, 0, 0, 0 };
-        for ( TInt i = 5; i >= 0; --i )
-            {
-            TChar character = lex.Get();
-            if ( character == 0 )
-                {
-                break;
-                }
-            chars[i] = character;
-            if ( length == 4 )
-                {
-                i--;
-                chars[i] = character;
-                }
-            }
-
-        for ( TInt i = 5, j = 0; ( i >= 0 ) && ( j < 3 ); --i )
-            {
-            if ( chars[i] == 0 )
-                {
-                continue;
-                }
-            if ( i % 2 )
-                {
-                TInt secondVal = 0;
-                TInt val = 0;
-                TChar secondCharacter = chars[i];
-                --i;
-                TChar character = chars[i];
-                if ( DecimalFromHexChar( character, val ) &&
-                     DecimalFromHexChar( secondCharacter, secondVal ) )
-                    {
-                    values[j] = val + 16 * secondVal;
-                    flags[j] = ETrue;
-                    ++j;
-                    }
-                else
-                    {
-                    break;
-                    }
-                }
-            else
-                {
-                TInt val = 0;
-                TChar character = chars[i];
-                if ( DecimalFromHexChar( character, val ) )
-                    {
-                    values[j] = val;
-                    flags[j] = ETrue;
-                    ++j;
-                    }
-                else
-                    {
-                    break;
-                    }
-                }
-            }
-        if ( flags[2] && flags[1] && flags[0] )
-            {
-            aValue.SetRed( values[0] );
-            aValue.SetGreen( values[1] );
-            aValue.SetBlue( values[2] );
-            return ETrue;
-            }
-        else if ( flags[1] && flags[0] )
-            {
-            aValue.SetRed( 0 );
-            aValue.SetGreen( values[0] );
-            aValue.SetBlue( values[1] );
-            return ETrue;
-            }
-        else if ( flags[0] )
-            {
-            aValue.SetRed( 0 );
-            aValue.SetGreen( 0 );
-            aValue.SetBlue( values[0] );
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// Finds out AVKON font ID from fontname
-// -----------------------------------------------------------------------------
-//
-static TInt AvkonFontId( const TDesC& aFontName )
-    {
-    TInt fontId( KErrNotFound );
-    if ( aFontName == KPrimaryFont )
-        {
-        fontId = KAknFontCategoryPrimary;
-        }
-    else if ( aFontName == KSecondaryFont )
-        {
-        fontId = KAknFontCategorySecondary;
-        }
-    else if ( aFontName == KTitleFont )
-        {
-        fontId = KAknFontCategoryTitle;
-        }
-    else if ( aFontName == KPrimarySmallFont )
-        {
-        fontId = KAknFontCategoryPrimarySmall;
-        }
-    else if ( aFontName == KDigitalFont )
-        {
-        fontId = KAknFontCategoryDigital;
-        }
-    return fontId;
-    }
-
-// -----------------------------------------------------------------------------
-// TRgb CXnUtils::ConvertHslToRgb( TInt aHue, TInt aSaturation,
-// TInt aLightness )
-// Perform the HSL to RGB conversion according to
-// the rules defined in the CSS3 color module specification:
-// http://www.w3.org/TR/2003/CR-css3-color-20030514/#hsl-color
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRgb CXnUtils::ConvertHslToRgb(
-    TInt aHue, TInt aSaturation, TInt aLightness )
-    {
-    TRgb rgb( 0, 0, 0 );
-    TReal h( aHue );
-    h /= 360;
-    TReal s( aSaturation );
-    s /= 100;
-    TReal l( aLightness );
-    l /= 100;
-
-    if ( 0 == aSaturation )
-        {
-        rgb.SetRed( TInt( l * 255 ) );
-        rgb.SetGreen( TInt( l * 255 ) );
-        rgb.SetBlue( TInt( l * 255 ) );
-        }
-    else
-        {
-        TReal m1( 0 );
-        TReal m2( 0 );
-
-        // l<=0.5: PUT l*(s+1) IN m2
-        if ( aLightness < 0.5 )
-            {
-            m2 = l * ( s + 1.0 );
-            }
-        // PUT l+s-l*s IN m2
-        else
-            {
-            m2 = l + s - ( l * s );
-            }
-
-        // PUT l*2-m2 IN m1
-        m1 = l * 2.0 - m2;
-
-        TReal helperH( h );
-        TReal helperM1( m1 );
-        TReal helperM2( m2 );
-
-        // calculate Red
-        helperH = h + ( 1.0 / 3.0 );
-
-        // IF h<0: PUT h+1 IN h
-        if ( helperH < 0 )
-            {
-            helperH += 1.0;
-            }
-
-        // IF h>1: PUT h-1 IN h
-        else if ( helperH > 1 )
-            {
-            helperH -= 1.0;
-            }
-        else
-            {
-            }
-
-        TReal val( 0 );
-
-        // IF h*6<1: RETURN m1+(m2-m1)*h*6
-        if ( ( helperH * 6 ) < 1 )
-            {
-            val = ( 255 * ( helperM1 + ( helperM2 - helperM1 ) * helperH * 6.0 ) );
-            }
-
-        // IF h*2<1: RETURN m2 )
-        else if ( ( helperH * 2.0 ) < 1.0 )
-            {
-            val = ( 255.0 * helperM2 );
-            }
-
-        // IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6
-        else if ( ( helperH * 3.0 ) < 2.0 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) *
-                            ( 2.0 / 3.0 - helperH ) * 6.0 ) );
-            }
-        else
-            {
-            val = 255.0 * helperM1;
-            }
-        TInt tmpVal = TInt( val + 0.5 );
-        rgb.SetRed( ( tmpVal >= 0 ) ? tmpVal : -tmpVal );
-
-        // calculate Green
-        // PUT hue.to.rgb(m1, m2, h    ) IN g
-        helperH = h;
-        helperM1 = m1;
-        helperM2 = m2;
-
-        // IF h<0: PUT h+1 IN h
-        if ( helperH < 0 )
-            {
-            helperH += 1.0;
-            }
-
-        // IF h>1: PUT h-1 IN h
-        else if ( helperH > 1 )
-            {
-            helperH -= 1.0;
-            }
-        else
-            {
-            }
-
-        // IF h*6<1: RETURN m1+(m2-m1)*h*6
-        if ( ( helperH * 6 ) < 1 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) * helperH * 6.0 ) );
-            }
-
-        // IF h*2<1: RETURN m2
-        else if ( ( helperH * 2 ) < 1 )
-            {
-            val = ( 255.0 * helperM2 );
-            }
-
-        // IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6
-        else if ( ( helperH * 3 ) < 2 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) *
-                            ( 2.0 / 3.0 - helperH ) * 6.0 ) );
-            }
-        else
-            {
-            val = 255.0 * helperM1;
-            }
-
-        tmpVal = TInt( val + 0.5 );
-        rgb.SetGreen( ( tmpVal >= 0 ) ? tmpVal : tmpVal );
-
-        // calculate Blue
-        // PUT hue.to.rgb(m1, m2, h-1/3) IN b
-        helperH = h - ( 1.0 / 3.0 );
-        helperM1 = m1;
-        helperM2 = m2;
-
-        // IF h<0: PUT h+1 IN h
-        if ( helperH < 0 )
-            {
-            helperH += 1.0;
-            }
-
-        // IF h>1: PUT h-1 IN h
-        else if ( helperH > 1 )
-            {
-            helperH -= 1.0;
-            }
-        else
-            {
-            }
-
-        // IF h*6<1: RETURN m1+(m2-m1)*h*6
-        if ( ( helperH * 6 ) < 1 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) * helperH * 6.0 ) );
-            }
-
-        // IF h*2<1: RETURN m2
-        else if ( ( helperH * 2 ) < 1 )
-            {
-            val = ( 255.0 * helperM2 );
-            }
-
-        // IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6
-        else if ( ( helperH * 3 ) < 2 )
-            {
-            val = ( 255.0 * ( helperM1 + ( helperM2 - helperM1 ) *
-                            ( 2.0 / 3.0 - helperH ) * 6.0 ) );
-            }
-        else
-            {
-            val = 255.0 * helperM1;
-            }
-
-        tmpVal = TInt( val + 0.5 );
-        rgb.SetBlue( ( tmpVal >= 0 ) ? tmpVal : -tmpVal );
-        }
-    return rgb;
-    }
-
-// -----------------------------------------------------------------------------
-// GetRgbValue
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnUtils::GetRgbValue( TRgb& aValue, const TDesC8& aData )
-    {
-    return GetRgbValueFromRgbFunction( aValue, aData ) ||
-           GetRgbValueFromHslFunction( aValue, aData ) ||
-           GetRgbValueFromHexValue( aValue, aData ) ||
-           GetRgbValueFromColorName( aValue, aData );
-    }
-
-// -----------------------------------------------------------------------------
-// Retrieves the string property of the node.
-// -----------------------------------------------------------------------------
-//
-const TDesC8& GetStringProperty(
-    CXnNodePluginIf& aNode,
-    const TDesC8& aProperty )
-    {
-    CXnProperty* prop( NULL );
-    TRAP_IGNORE( prop = aNode.GetPropertyL( aProperty ) );
-    if ( prop )
-        {
-        CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-            prop->Property()->PropertyValueList().Item( 0 ) );
-        if ( CXnDomPropertyValue::EIdent == value->PrimitiveValueType() ||
-             CXnDomPropertyValue::EString == value->PrimitiveValueType() )
-            {
-            return prop->StringValue();
-            }
-        }
-    return KNullDesC8;
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// Creates the font according to node information.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnUtils::CreateFontL(
-    CXnNodePluginIf& aNode,
-    CFont*& aFont,
-    TInt& aReleaseFont )
-    {
-    // Get the font properties from node
-    TFontSpec fontspec;
-
-    //Font name
-    const TDesC8& fontNameS = GetStringProperty(
-        aNode, XnPropertyNames::appearance::common::KFontFamily );
-    HBufC* fontName = HBufC::NewLC( fontNameS.Length() );
-    TPtr namePtr = fontName->Des();
-    namePtr.Copy( fontNameS ); // 8-bit to 16-bit
-    StripQuotes( fontName );
-    TInt fLenght = fontName->Length();
-    TInt avkonFId = AvkonFontId( *fontName );
-
-    //let's see if normal font needed
-    CCoeEnv* coeEnv = CEikonEnv::Static();
-    if ( *fontName == KNormal ||
-         !fLenght ||
-         ( KErrNotFound == avkonFId && fLenght > 24 ) )
-        {
-        aFont = const_cast< CFont* >( coeEnv->NormalFont() );
-        aReleaseFont = EFalse;
-        CleanupStack::PopAndDestroy( fontName );
-        return;
-        }
-
-    //Font size in pixels
-    CXnProperty* fontSizeProp = aNode.GetPropertyL(
-        XnPropertyNames::appearance::common::KFontSize );
-    TInt fontSizeInPixels( aNode.Rect().Height() );//default font size
-
-    if ( fontSizeProp )
-        { //font size from node if needed. If leaves uses default.
-        TRAP_IGNORE( fontSizeInPixels = aNode.UiEngineL()->VerticalPixelValueL(
-            fontSizeProp, aNode.Rect().Height()) );
-        }
-
-    //Font stroke
-    const TDesC8& fontStroke = GetStringProperty(
-        aNode, XnPropertyNames::appearance::common::KFontWeight );
-    if ( fontStroke == XnPropertyNames::appearance::common::fontweight::KBold )
-        {
-        fontspec.iFontStyle.SetStrokeWeight( EStrokeWeightBold );
-        }
-
-    //Font posture
-    const TDesC8& fontPosture = GetStringProperty(
-        aNode, XnPropertyNames::appearance::common::KFontStyle );
-    if ( fontPosture == XnPropertyNames::appearance::common::fontstyle::KItalic )
-        {
-        fontspec.iFontStyle.SetPosture( EPostureItalic );
-        }
-
-    //Font effects
-    CXnProperty* textEffectsProp = aNode.GetPropertyL(
-        XnPropertyNames::appearance::common::KTextEffects );
-    if ( textEffectsProp )
-        {
-        CBitmapDevice* dev = coeEnv->ScreenDevice();
-        fontspec.iHeight = fontSizeInPixels;
-
-        CXnDomList& propertyValueList =
-            textEffectsProp->Property()->PropertyValueList();
-        TInt valueCount = propertyValueList.Length();
-        TUint32 effectsFlag( 0 );
-
-        for ( TInt i = 0; i < valueCount; ++i )
-            {
-            CXnDomPropertyValue* value = static_cast< CXnDomPropertyValue* >(
-                propertyValueList.Item( i ) );
-
-            if ( value->StringValueL() ==
-                 XnPropertyNames::appearance::common::fonteffects::KEffectsAlgorithmicbold )
-                {
-                effectsFlag |= FontEffect::EAlgorithmicBold;
-                }
-            if ( value->StringValueL() ==
-                 XnPropertyNames::appearance::common::fonteffects::KEffectsDropshadow )
-                {
-                effectsFlag |= FontEffect::EDropShadow;
-                }
-            if ( value->StringValueL() ==
-                 XnPropertyNames::appearance::common::fonteffects::KEffectsOutline )
-                {
-                effectsFlag |= FontEffect::EOutline;
-                }
-            if ( value->StringValueL() == 
-                 XnPropertyNames::appearance::common::fonteffects::KEffectsEmbossed )
-                {
-                effectsFlag |= FontEffect::EEmbossed;
-                }
-            if ( value->StringValueL() ==
-                 XnPropertyNames::appearance::common::fonteffects::KEffectsEngraved )
-                {
-                effectsFlag |= FontEffect::EEngraved;
-                }
-            if ( value->StringValueL() == 
-                 XnPropertyNames::appearance::common::fonteffects::KEffectsSoftedge )
-                {
-                effectsFlag |= FontEffect::ESoftEdge;
-                }
-            }
-        // Must be antialiased for effects to work
-        fontspec.iFontStyle.SetBitmapType( EAntiAliasedGlyphBitmap );
-        fontspec.iFontStyle.SetEffects( effectsFlag );
-        User::LeaveIfError( dev->GetNearestFontToDesignHeightInPixels(
-            aFont, fontspec ) );
-        aReleaseFont = ETrue;
-        }
-    else
-        {
-        CreateFontL( *fontName, fontSizeInPixels,
-                     fontspec.iFontStyle, aFont, aReleaseFont );
-        }
-
-    CleanupStack::PopAndDestroy( fontName );
-    }
-
-// -----------------------------------------------------------------------------
-// Creates the font according to given information.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnUtils::CreateFontL(
-    const TDesC& aFontName,
-    TInt aFontSizeInPixels,
-    TFontStyle aFontStyle,
-    CFont*& aFont,
-    TInt& aReleaseFont )
-    {
-    CCoeEnv* coeEnv = CEikonEnv::Static();
-    if ( aFontName == KNormal || !aFontName.Length() )
-        {
-        aFont = const_cast< CFont* >( coeEnv->NormalFont() );
-        aReleaseFont = EFalse;
-        }
-    else
-        {
-        //Avkon font id used
-        TInt fontId = AvkonFontId( aFontName );
-        if ( fontId != KErrNotFound )
-            {
-            fontId += ( ( aFontSizeInPixels & 0x3ff ) << 21 ) +
-                      ( ( aFontStyle.StrokeWeight() & 0x1 ) << 4 ) +
-                      ( ( aFontStyle.Posture() & 0x1 ) << 5 ) + 0x80000000;
-            aFont = const_cast< CFont* >( AknLayoutUtils::FontFromId( fontId ));
-            aReleaseFont = EFalse;
-            }
-        else
-            {
-            //Get font
-            CBitmapDevice* dev = coeEnv->ScreenDevice();
-            TInt fontSizeInTwips = dev->VerticalPixelsToTwips( aFontSizeInPixels );
-            aFont =  AknFontAccess::GetFont(
-                *dev, aFontStyle, fontSizeInTwips, aFontName );
-            if ( !aFont )
-                {
-                aFont = AknFontAccess::GetClosestFont( *dev, aFontStyle,
-                    fontSizeInTwips, aFontName );
-                }
-            aReleaseFont = ETrue;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Collapses white spaces from the string.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnUtils::CollapseWhiteSpace(
-    CXnNodePluginIf& aNode,
-    TDes &aDes )
-    {
-    const TDesC8& value = GetStringProperty( aNode,
-        XnPropertyNames::appearance::common::KWhiteSpaceCollapse );
-
-    //Collapse -default
-    if ( value == XnPropertyNames::appearance::common::whitespace::KCollapse ||
-         !value.Length() )
-        {
-        TInt src = 0;
-        TInt srclength = aDes.Length();
-        while ( src < srclength )
-            {
-            TChar c = aDes[src];
-            if ( KXnLineFeedTabCharacters().LocateF( c ) != KErrNotFound )
-                {
-                aDes[src] = KSpaceChar;
-                }
-            ++src;
-            }
-        aDes.TrimAll();
-        }
-    //Preserve breaks
-    else if ( value ==
-              XnPropertyNames::appearance::common::whitespace::KPreserveBreaks )
-        {
-        TInt src = 0;
-        TInt srclength = aDes.Length();
-        while ( src < srclength )
-            {
-            TChar c = aDes[src];
-            if ( KXnTabCharacters().LocateF( c ) != KErrNotFound )
-                {
-                aDes[src] = KSpaceChar;
-                }
-            ++src;
-            }
-        aDes.TrimAll();
-        }
-    //discard
-    else if ( value == XnPropertyNames::appearance::common::whitespace::KDiscard )
-        {
-        TInt target = 0;
-        TInt src = 0;
-        TInt srclength = aDes.Length();
-        while ( src < srclength )
-            {
-            aDes[target] = aDes[src];
-            TChar c = aDes[src];
-            if ( KXnCommonWhiteSpaceCharacters().LocateF( c ) == KErrNotFound )
-                {
-                ++target;
-                }
-            ++src;
-            }
-        aDes.SetLength( target );
-        }
-    //Preserve
-    //Do nothing.
-    }
-
-// -----------------------------------------------------------------------------
-// Resolve TextAlignment property.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TGulAlignmentValue CXnUtils::TextAlignment( CXnNodePluginIf& aNode )
-    {
-    TInt value;
-
-    const TDesC8& alignment = GetStringProperty( aNode,
-                  XnPropertyNames::appearance::common::KTextAlign );
-
-    if ( alignment ==
-         XnPropertyNames::appearance::common::textalign::KAlignLeft )
-        {
-        value = EHLeft;
-        }
-    else if ( alignment ==
-              XnPropertyNames::appearance::common::textalign::KAlignRight )
-        {
-        value = EHRight;
-        }
-    else if ( alignment ==
-              XnPropertyNames::appearance::common::textalign::KAlignCenter )
-        {
-        value = EHCenter;
-        }
-    else if ( alignment ==
-              XnPropertyNames::appearance::common::textalign::KAlignJustify )
-        {
-        //We don't have EJustify
-        value = EHCenter;
-        }
-    else
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            value = EHRight;
-            }
-        else
-            {
-            value = EHLeft;
-            }
-        }
-
-    const TDesC8& valignment = GetStringProperty( aNode,
-        XnPropertyNames::appearance::common::KS60TextVAlign );
-
-    if ( valignment ==
-         XnPropertyNames::appearance::common::textvalign::KAlignTop )
-        {
-        value |= EVTop;
-        }
-    else if ( valignment ==
-              XnPropertyNames::appearance::common::textvalign::KAlignBottom )
-        {
-        value |= EVBottom;
-        }
-    else
-        {
-        value |= EVCenter;
-        }
-
-    return ( TGulAlignmentValue )value;
-    }
-
-// -----------------------------------------------------------------------------
-// ScaleBitmapL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnUtils::ScaleBitmapL(
-    const TRect& aTrgRect,
-    CFbsBitmap* aTrgBitmap,
-    CFbsBitmap* aSrcBitmap )
-    {
-    CXnUtils::ScaleBitmapExtL( aTrgRect, aTrgBitmap, aSrcBitmap, EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// Strips the " and ' quotes from the string.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnUtils::StripQuotes( HBufC*& aString )
-    {
-    TInt pos1 = aString->Locate( '\"' );
-    TInt pos2 = aString->Locate( '\'' );
-    // check, if the first character is " or '
-    if ( pos1 == 0 || pos2 == 0 )
-        {
-        TInt len = aString->Length() - 2;
-        TPtr ptr = aString->Des();
-        TPtrC16 newString( aString->Mid( 1, len ).Ptr(), len );
-        ptr = newString;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Resolves skin id (major+minor) and index from SKIN() declaration.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnUtils::ResolveSkinItemIDL(
-    const TDesC& aSkinId,
-    TAknsItemID& aItemID,
-    TInt& aIndex )
-    {
-    HBufC* str = aSkinId.AllocL();
-    TPtr ptrSkin = str->Des();
-    ptrSkin.TrimAll();
-    TInt pos( ptrSkin.FindF( KSkin ) );
-    if ( KErrNotFound != pos )
-        {
-        TInt majorID( 0 );
-        TInt minorID( 0 );
-        pos += KSkin().Length();
-        TPtr ptr = ptrSkin.MidTPtr( pos, ( ptrSkin.Length() - pos - 1 ) );
-        ptr.TrimAll();
-        TInt offset( ptr.Locate( KSpaceChar ) );
-        if ( KErrNotFound != offset )
-            {
-            TLex lex( ptr.Left( offset ) );
-            lex.SkipSpace();
-            lex.Val( majorID ); // ok until this.
-
-            TInt offset2( ptr.LocateReverse( KSpaceChar ) );
-            if ( offset2 == 0 || offset2 == offset )
-                {
-                lex.Assign( ptr.Mid( offset ) );
-                lex.SkipSpace();
-                lex.Val( minorID );
-                }
-            else
-                {
-                TPtrC ptrDebug = ptr.Mid( offset + 1, offset2 - offset - 1 );
-                lex.Assign( ptr.Mid( offset + 1, offset2 - offset -1 ) );
-                lex.Val( minorID );
-
-                TPtrC ptrDebug2 = ptr.Mid( offset2 + 1, ptr.Length() - offset2 - 1 );
-                lex.Assign( ptr.Mid( offset2 + 1, ptr.Length() - offset2 - 1 ) );
-                lex.Val( aIndex );
-                }
-            aItemID.Set( majorID, minorID );
-            delete str;
-            return ETrue;
-            }
-        }
-    delete str;
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// Propagates powersave mode to adapters
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CXnUtils::HandlePowerSaveModeL(
-    CXnNode* aNode,
-    TBool aEnter,
-    TInt aEvent )
-    {
-
-    CXnNodeBreadthFirstIterator< CXnNode >* iterator = 
-            CXnNodeBreadthFirstIterator< CXnNode >::NewL( *aNode );
-
-    CleanupStack::PushL( iterator );
-
-    for ( CXnNode* currentNode = iterator->Value(); currentNode; currentNode = iterator->NextL() )
-        {
-        if ( !currentNode->ComponentNodeImpl() )
-            {
-            continue;
-            }
-
-        CXnComponent* component = currentNode->ComponentNodeImpl()->Component();
-
-        if ( !component )
-            {
-            continue;
-            }
-
-        CXnControlAdapter* adapter = component->ControlAdapter();
-
-        if ( !adapter )
-            {
-            continue;
-            }
-
-        if ( aEnter )
-            {
-            adapter->EnterPowerSaveModeL(
-                ( CXnControlAdapter::TModeEvent ) aEvent );
-            }
-        else
-            {
-            adapter->ExitPowerSaveModeL(
-                ( CXnControlAdapter::TModeEvent ) aEvent );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( iterator );
-
-    return aEnter;
-    }
-
-// -----------------------------------------------------------------------------
-// Resolves skin id (major+minor) from SKIN() declaration.
-// -----------------------------------------------------------------------------
-//
-TBool CXnUtils::ResolveSkinItemIDL( const TDesC& aSkinId, TAknsItemID& aItemID )
-    {
-    HBufC* str = aSkinId.AllocL();
-    TPtr ptrSkin = str->Des();
-    ptrSkin.TrimAll();
-    TInt pos( ptrSkin.FindF( KSkin ));
-    if ( KErrNotFound != pos )
-        {
-        TInt majorID( 0 );
-        TInt minorID( 0 );
-        pos += KSkin().Length();
-        TPtr ptr = ptrSkin.MidTPtr( pos, ( ptrSkin.Length() - pos - 1 ) );
-        ptr.TrimAll();
-        TInt offset( ptr.Locate( KSpaceChar ) );
-        if ( KErrNotFound != offset )
-            {
-            TLex lex( ptr.Left( offset ) );
-            lex.SkipSpace();
-            lex.Val( majorID );
-            lex.Assign( ptr.Mid( offset ) );
-            lex.SkipSpace();
-            lex.Val( minorID );
-            aItemID.Set( majorID, minorID );
-            delete str;
-            return ETrue;
-            }
-        }
-    delete str;
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CXnUtils::DoesScaleBitmapUseFallBack( CFbsBitmap* aSrcBitmap )
-    {
-    if ( !aSrcBitmap )
-        {
-        return EFalse;
-        }
-
-    TDisplayMode displayMode = aSrcBitmap->DisplayMode();
-    TBool fallbackOnly = EFalse;
-
-    switch ( displayMode )
-        {
-        case EGray2:
-        case EGray4:
-        case EGray16:
-        case EColor16:
-        case EColor16M:
-        case ERgb:
-        case EColor16MA:
-            fallbackOnly = ETrue;
-            break;
-        case EGray256:
-        case EColor4K:
-        case EColor64K:
-        case EColor256:
-        case EColor16MU:
-            // These are the supported modes
-            break;
-        default:
-            fallbackOnly = ETrue;
-        }
-
-    return fallbackOnly;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CXnUtils::ScaleBitmapExtL( const TRect& aTrgRect, CFbsBitmap* aTrgBitmap,
-        CFbsBitmap* aSrcBitmap, TBool aForceFallBack )
-    {
-    if ( !aSrcBitmap ) User::Leave( KErrArgument );
-    if ( !aTrgBitmap ) User::Leave( KErrArgument );
-    if ( aSrcBitmap->DisplayMode() != aTrgBitmap->DisplayMode() )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    TSize trgBitmapSize = aTrgBitmap->SizeInPixels();
-
-    // calculate the valid drawing area
-    TRect drawRect = aTrgRect;
-    drawRect.Intersection( TRect( TPoint( 0, 0 ), trgBitmapSize ) );
-
-    if( drawRect.IsEmpty() || aSrcBitmap->SizeInPixels().iHeight <= 0 || 
-            aSrcBitmap->SizeInPixels().iWidth <= 0 )
-        {
-        return;
-        }
-
-    TSize srcSize = aSrcBitmap->SizeInPixels();
-
-    TBool srcTemporary = EFalse;
-    if ( aSrcBitmap->IsRomBitmap() )
-        {
-        srcTemporary = ETrue;
-        }
-
-    TDisplayMode displayMode = aSrcBitmap->DisplayMode();
-    TBool fallbackOnly =
-        aForceFallBack ||
-        DoesScaleBitmapUseFallBack( aSrcBitmap );
-
-    if ( fallbackOnly )
-        {
-        CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL( aTrgBitmap );
-        CleanupStack::PushL( dev );
-        CFbsBitGc* gc = NULL;
-        User::LeaveIfError( dev->CreateContext( gc ) );
-        CleanupStack::PushL( gc );
-
-        // write alpha information if it exists
-        if ( aSrcBitmap->DisplayMode() == EColor16MA )
-            {
-            gc->SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
-            }
-
-        // aTrgRect is used because DrawBitmap handles clipping automatically
-        gc->DrawBitmap( aTrgRect, aSrcBitmap );
-        CleanupStack::PopAndDestroy( 2 ); // dev, gc
-        return;
-        }
-
-    // Heap lock for FBServ large chunk to prevent background
-    // compression of aSrcBitmap after if IsCompressedInRAM returns EFalse
-    aSrcBitmap->LockHeapLC( ETrue ); // fbsheaplock
-    TBool fbsHeapLock = ETrue;
-    if ( aSrcBitmap->IsCompressedInRAM() )
-        {
-        srcTemporary = ETrue;
-        }
-
-    CFbsBitmap* realSource = aSrcBitmap;
-    if ( srcTemporary )
-        {
-        CleanupStack::PopAndDestroy(); // fbsheaplock
-        fbsHeapLock = EFalse;
-
-        realSource = new ( ELeave ) CFbsBitmap();
-        CleanupStack::PushL( realSource );
-        User::LeaveIfError(
-            realSource->Create( srcSize, aSrcBitmap->DisplayMode() ) );
-        CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL( realSource );
-        CleanupStack::PushL( dev );
-        CFbsBitGc* gc = NULL;
-        User::LeaveIfError( dev->CreateContext( gc ) );
-        CleanupStack::PushL( gc );
-        gc->BitBlt( TPoint( 0, 0 ), aSrcBitmap );
-        CleanupStack::PopAndDestroy( 2 ); // dev, gc
-        }
-
-    if ( !fbsHeapLock )
-        {
-        // Heap lock for FBServ large chunk is only needed with large bitmaps.
-        if ( realSource->IsLargeBitmap() || aTrgBitmap->IsLargeBitmap() )
-            {
-            aTrgBitmap->LockHeapLC( ETrue ); // fbsheaplock
-            }
-        else
-            {
-            CleanupStack::PushL( ( TAny* )NULL );
-            }
-        }
-
-    TUint32* srcAddress = realSource->DataAddress();
-    TUint32* trgAddress = aTrgBitmap->DataAddress();
-
-    const TInt xSkip = ( srcSize.iWidth << 8 ) / aTrgRect.Width();
-    const TInt ySkip = ( srcSize.iHeight << 8 ) / aTrgRect.Height();
-
-    const TInt drawWidth  = drawRect.Width();
-    const TInt drawHeight = drawRect.Height();
-
-    TRect offsetRect( aTrgRect.iTl, drawRect.iTl );
-    const TInt yPosOffset = ySkip * offsetRect.Height();
-    const TInt xPosOffset = xSkip * offsetRect.Width();
-
-    if ( ( displayMode == EGray256 ) || ( displayMode == EColor256 ) )
-        {
-        TInt srcScanLen8 = CFbsBitmap::ScanLineLength(
-            srcSize.iWidth, displayMode );
-        TInt trgScanLen8 = CFbsBitmap::ScanLineLength(
-            trgBitmapSize.iWidth, displayMode );
-
-        TUint8* trgAddress8 = reinterpret_cast< TUint8* >( trgAddress );
-
-        TInt yPos = yPosOffset;
-        // skip left and top margins in the beginning
-        trgAddress8 += trgScanLen8 * drawRect.iTl.iY + drawRect.iTl.iX;
-
-        for ( TInt y = 0; y < drawHeight; y++ )
-            {
-            TUint8* srcAddress8 = reinterpret_cast< TUint8* >( srcAddress ) +
-                ( srcScanLen8 * ( yPos >> 8 ) );
-
-            TInt xPos = xPosOffset;
-            for ( TInt x = 0; x < drawWidth; x++ )
-                {
-                *( trgAddress8++ ) = srcAddress8[xPos >> 8];
-                xPos += xSkip;
-                }
-
-            yPos += ySkip;
-
-            trgAddress8 += trgScanLen8 - drawWidth;
-            }
-        }
-    else if ( displayMode == EColor4K || displayMode == EColor64K )
-        {
-        TInt srcScanLen16 = CFbsBitmap::ScanLineLength(
-            srcSize.iWidth, displayMode ) /2;
-        TInt trgScanLen16 = CFbsBitmap::ScanLineLength(
-            trgBitmapSize.iWidth, displayMode ) /2;
-
-        TUint16* trgAddress16 = reinterpret_cast< TUint16* >( trgAddress );
-
-        TInt yPos = yPosOffset;
-        // skip left and top margins in the beginning
-        trgAddress16 += trgScanLen16 * drawRect.iTl.iY + drawRect.iTl.iX;
-
-        for ( TInt y = 0; y < drawHeight; y++ )
-            {
-            TUint16* srcAddress16 = reinterpret_cast< TUint16* >( srcAddress ) +
-                ( srcScanLen16 * ( yPos >> 8 ) );
-
-            TInt xPos = xPosOffset;
-            for ( TInt x = 0; x < drawWidth; x++ )
-                {
-                *( trgAddress16++ ) = srcAddress16[xPos >> 8];
-                xPos += xSkip;
-                }
-
-            yPos += ySkip;
-
-            trgAddress16 += trgScanLen16 - drawWidth;
-            }
-        }
-    else if ( displayMode == EColor16MU )
-        {
-        TInt srcScanLen32 = CFbsBitmap::ScanLineLength(
-            srcSize.iWidth, displayMode ) /4;
-        TInt trgScanLen32 = CFbsBitmap::ScanLineLength(
-            trgBitmapSize.iWidth, displayMode ) /4;
-
-        TUint32* trgAddress32 = reinterpret_cast< TUint32* >( trgAddress );
-
-        TInt yPos = yPosOffset;
-        // skip left and top margins in the beginning
-        trgAddress32 += trgScanLen32 * drawRect.iTl.iY + drawRect.iTl.iX;
-
-        for ( TInt y = 0; y < drawHeight; y++ )
-            {
-            TUint32* srcAddress32 = reinterpret_cast< TUint32* >( srcAddress ) +
-                ( srcScanLen32 * ( yPos >> 8 ) );
-
-            TInt xPos = xPosOffset;
-            for ( TInt x = 0; x < drawWidth; x++ )
-                {
-                *( trgAddress32++ ) = srcAddress32[xPos >> 8];
-                xPos += xSkip;
-                }
-
-            yPos += ySkip;
-
-            trgAddress32 += trgScanLen32 - drawWidth;
-            }
-        }
-    else
-        {
-        User::Leave( KErrUnknown );
-        }
-
-    CleanupStack::PopAndDestroy(); // fbsheaplock
-
-    if ( srcTemporary )
-        {
-        CleanupStack::PopAndDestroy(); // realSource
-        }
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,681 +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:  Xuikon view adapter source file
-*
-*/
-
-// System includes
-#include <aknViewAppUi.h>
-#include <eikbtgpc.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnviewmanager.h"
-#include "xnviewdata.h"
-#include "xnuiengine.h"
-
-#include "xnkeyeventdispatcher.h"
-#include "xncontroladapter.h"
-
-#include "xndomdocument.h"
-#include "xndomnode.h"
-#include "xndomlist.h"
-#include "xnodt.h"
-#include "xnproperty.h"
-#include "xnnodeimpl.h"
-#include "xnnode.h"
-#include "xntype.h"
-#include "xnbgcontrol.h"
-#include "xnfocuscontrol.h"
-#include "xneditor.h"
-#include "xnbackgroundmanager.h"
-
-#include "xnviewadapter.h"
-#include "xnmenu.h"
-#include "xneditmode.h"
-
-// Constants
-const TUid KXmlViewUid = { 1 };
-
-// Data types
-enum 
-    {
-    EIsActivated,
-    EIsInCall,
-    EIsLightsOn,
-    EIsForeground,    
-    EIsControlsAwake,    
-    EIsDestructionRunning
-    };
-
-// ============================= LOCAL FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// BuildTriggerL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildTriggerL(
-    CXnUiEngine& aUiEngine,
-    const TDesC8& aTriggerName )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-    
-    CXnDomPropertyValue* nameValue = CXnDomPropertyValue::NewL(
-        aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::PushL( nameValue );
-    nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName,
-        nameValue,
-        *aUiEngine.ODT()->DomDocument().StringPool() );
-    CleanupStack::Pop( nameValue );
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( 2, node ); // name 
-    
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// BuildActivateTriggerL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildActivateTriggerL( CXnUiEngine& aUiEngine )
-    {
-    return BuildTriggerL(
-        aUiEngine, XnPropertyNames::action::trigger::name::KViewActivate );
-    }
-
-// -----------------------------------------------------------------------------
-// BuildDeactivateTriggerL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildDeactivateTriggerL( CXnUiEngine& aUiEngine )
-    {
-    return BuildTriggerL(
-        aUiEngine, XnPropertyNames::action::trigger::name::KViewDeactivate );
-    }
-
-// -----------------------------------------------------------------------------
-// BuildEditStateTriggerL
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildEditStateTriggerL( CXnUiEngine& aUiEngine )
-    {
-    CXnDomStringPool* sp( aUiEngine.ODT()->DomDocument().StringPool() );
-    
-    CXnProperty* value = CXnProperty::NewL(
-        XnPropertyNames::action::KValue,
-        KNullDesC8, CXnDomPropertyValue::EString, *sp );
-    CleanupStack::PushL( value );
-    
-    CXnNode* trigger( BuildTriggerL(
-        aUiEngine, XnPropertyNames::action::trigger::name::KEditMode ) );    
-    CleanupStack::PushL( trigger );
-    
-    trigger->SetPropertyL( value );
-    CleanupStack::Pop( 2, value ); // trigger
-    
-    return trigger;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::CXnViewAdapter
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnViewAdapter::CXnViewAdapter( CXnAppUiAdapter& aAdapter )
-    : iAppUiAdapter( aAdapter )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::~CXnViewAdapter
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewAdapter::~CXnViewAdapter()
-    {           
-    delete iActivate;
-    delete iDeactivate;
-    delete iEditState;
-    delete iBgControl;
-    delete iBgManager;
-    delete iFocusControl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::NewL
-// 2nd phase construction.
-// -----------------------------------------------------------------------------
-//
-CXnViewAdapter* CXnViewAdapter::NewL( CXnAppUiAdapter& aAdapter )
-    {
-    CXnViewAdapter* self = new ( ELeave ) CXnViewAdapter( aAdapter );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::ConstructL
-// 2nd phase construction.
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::ConstructL()
-    {
-    BaseConstructL();
-    
-    // Base class CAknViewAppUi takes ownership of iViewAdapter
-    iAppUiAdapter.AddViewL( this );    
-    
-    iBgControl = CXnBgControl::NewL();
-    iBgControl->SetMopParent( this );
-
-    iBgManager = CXnBackgroundManager::NewL( iAppUiAdapter.ViewManager(),
-        iAppUiAdapter.ViewManager().Editor().HspsWrapper() );
-
-    iFocusControl = CXnFocusControl::NewL( iAppUiAdapter );   
-    
-    iEventDispatcher = 
-        CXnKeyEventDispatcher::NewL( iAppUiAdapter.UiEngine() );
-    
-    iAppUiAdapter.UiEngine().SetEventDispatcher( iEventDispatcher );
-    
-    iAppUiAdapter.UiStateListener().AddObserver( *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::ReloadUiL
-// Called when application UI is reloaded
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::ReloadUiL()
-    {
-    DeactivateContainerL();
-    
-    iAppUiAdapter.RemoveFromStack( iEventDispatcher );
-    
-    delete iEventDispatcher;
-    iEventDispatcher = NULL;
-    
-    delete iActivate;
-    iActivate = NULL;
-    
-    delete iDeactivate;
-    iDeactivate = NULL;
-    
-    delete iEditState;
-    iEditState = NULL;
-        
-    iEventDispatcher = CXnKeyEventDispatcher::NewL( iAppUiAdapter.UiEngine() );
-    
-    iAppUiAdapter.UiEngine().SetEventDispatcher( iEventDispatcher );
-    
-    if ( iFlags.IsSet( EIsActivated ) )
-        {
-        iAppUiAdapter.AddToStackL( *this, iEventDispatcher );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::PrepareDestroy
-// Sets view to be destroyed
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::PrepareDestroy()
-    {
-    iAppUiAdapter.UiStateListener().RemoveObserver( *this );
-    iBgControl->PrepareDestroy();
-    
-    TRAP_IGNORE( DeactivateContainerL() );
-    
-    iAppUiAdapter.RemoveFromStack( iEventDispatcher );
-    delete iEventDispatcher;
-    iEventDispatcher = NULL;
-    
-    iContainer = NULL;
-    
-    iFlags.Set( EIsDestructionRunning );    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::EventDispatcher
-// Get event dispatcher
-// -----------------------------------------------------------------------------
-//
-CXnKeyEventDispatcher* CXnViewAdapter::EventDispatcher() const
-    {
-    return iEventDispatcher;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::BgControl
-// Returns bg control.
-// -----------------------------------------------------------------------------
-//
-CCoeControl& CXnViewAdapter::BgControl() const
-    {
-    return *iBgControl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::BgManager
-// Returns background manager.
-// -----------------------------------------------------------------------------
-//
-CXnBackgroundManager& CXnViewAdapter::BgManager() const
-    {
-    return *iBgManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::BgControl
-// Returns focus control.
-// -----------------------------------------------------------------------------
-//
-CXnFocusControl& CXnViewAdapter::FocusControl() const
-    {
-    return *iFocusControl;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::Id
-// Returns view uid.
-// -----------------------------------------------------------------------------
-//
-TUid CXnViewAdapter::Id() const
-    {
-    return KXmlViewUid;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::DoActivateL
-// Activates view.
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::DoActivateL( const TVwsViewId& /*aPrevViewId*/,    
-    TUid /*aCustomMessageId*/,
-    const TDesC8& /*aCustomMessage*/ )
-    {
-    if ( iFlags.IsSet( EIsDestructionRunning ) )
-        {
-        return;
-        }
-    
-    iFlags.Set( EIsActivated );
-    
-    iAppUiAdapter.AddToStackL( *this, iEventDispatcher );
-
-    CEikButtonGroupContainer* bgc( iAppUiAdapter.Cba() );
-    
-    if ( bgc )
-        {
-        // EventDispatcher will handle sotkey keyevents 
-        CEikCba* cba( 
-            static_cast< CEikCba* >( bgc->ButtonGroup() ) );
-
-        iAppUiAdapter.RemoveFromStack( cba );        
-        }
-    
-    iBgControl->MakeVisible( ETrue );
-    iBgManager->MakeVisible( ETrue );
-    
-    // Set the active container
-    ActivateContainerL( iAppUiAdapter.ViewManager().ActiveViewData() );             
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::DoDeactivate
-// Deactivates view.
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::DoDeactivate()
-    {        
-    if ( iFlags.IsSet( EIsDestructionRunning ) )
-        {
-        return;
-        }
-    
-    iAppUiAdapter.RemoveFromStack( iEventDispatcher );
-
-    TRAP_IGNORE( DeactivateContainerL() );
-    
-    iBgControl->MakeVisible( EFalse );
-    iBgManager->MakeVisible( EFalse );
-    
-    iFocusControl->MakeVisible( EFalse );
-    
-    iFlags.Clear( EIsActivated );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::ActivateContainerL
-// Activates container
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::ActivateContainerL( CXnViewData& aContainer, 
-    TBool aEnterEditState )
-    {                       
-    if ( iContainer == &aContainer )    
-        {            
-        return;
-        }
-
-    // Deactivate previous
-    DeactivateContainerL();
-    
-    if ( iFlags.IsClear( EIsActivated ) )
-        {
-        // Some other view than this in this appui is currently active,
-        // postpone container activation
-        return;
-        }
-    
-    // Update
-    iContainer = &aContainer;
-        
-    // Disable layout and redraw until container activation is done
-    iAppUiAdapter.UiEngine().DisableRenderUiLC();
-
-    // Try exit controls from powersave mode
-    ChangeControlsStateL( ETrue );
-    
-    if ( !iActivate )
-        {
-        iActivate = BuildActivateTriggerL( iAppUiAdapter.UiEngine() );
-        }
-
-    CXnNode* node( aContainer.Node()->LayoutNode() );
-    
-    node->ReportXuikonEventL( *iActivate );
-                           
-    if ( iFlags.IsSet( EIsInCall ) )
-        {
-        iFlags.Clear( EIsInCall );
-        
-        // This container is in-call state
-        NotifyInCallStateChaged( ETrue );        
-        }
-                 
-    iAppUiAdapter.ViewManager().NotifyContainerChangedL( aContainer );
-    
-    if ( !iEditState )
-        {
-        iEditState = BuildEditStateTriggerL( iAppUiAdapter.UiEngine() ); 
-        }
-    
-    CXnProperty* prop( iEditState->GetPropertyL( 
-        XnPropertyNames::action::KValue ) );
-    
-    if ( aEnterEditState || iAppUiAdapter.UiEngine().IsEditMode() )
-        {
-        static_cast< CXnDomPropertyValue* >(
-            prop->Property()->PropertyValueList().Item( 0 ) )
-            ->SetStringValueL( CXnDomPropertyValue::EString,
-            XnPropertyNames::action::trigger::name::editmode::KEnter() );                        
-        }
-    else
-        {
-        static_cast< CXnDomPropertyValue* >(
-            prop->Property()->PropertyValueList().Item( 0 ) )
-            ->SetStringValueL( CXnDomPropertyValue::EString,
-            XnPropertyNames::action::trigger::name::editmode::KExit() );                                
-        }
-    
-    node->ReportXuikonEventL( *iEditState );
-    
-    CXnControlAdapter* adapter( node->Control() );
-    
-    iBgControl->SetCompoundControl( adapter );
-            
-    iAppUiAdapter.UiEngine().RenderUIL();
-    
-    CleanupStack::PopAndDestroy(); // DisableRenderUiLC        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::DeactivateContainerL
-// Deactivates current container
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::DeactivateContainerL()
-    {
-    if ( !iContainer )    
-        {
-        return;
-        }
-    
-    // Run controls to powersave mode
-    ChangeControlsStateL( EFalse );
-
-    if ( !iDeactivate )
-        {
-        iDeactivate = BuildDeactivateTriggerL( iAppUiAdapter.UiEngine() );
-        }
-
-    CXnNode* node( iContainer->Node()->LayoutNode() );
-                
-    node->ReportXuikonEventL( *iDeactivate );
-
-    iBgControl->SetCompoundControl( NULL );
-    
-    iContainer = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::NotifyForegroundChanged
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::NotifyForegroundChanged( 
-    MXnUiStateObserver::TForegroundStatus aStatus ) 
-    {     
-    if ( aStatus == MXnUiStateObserver::EPartialForeground || 
-         aStatus == MXnUiStateObserver::EBackground )
-        {
-        iFlags.Clear( EIsForeground );
-
-        CXnEditMode* editMode = iAppUiAdapter.UiEngine().EditMode();
-        if( editMode )
-            {
-            TRAP_IGNORE( editMode->StopDraggingL() );
-            }
-
-        iFocusControl->MakeVisible( EFalse );
-        
-        TRAP_IGNORE( ChangeControlsStateL( EFalse ) );
-        }
-    else
-        {
-        iFlags.Set( EIsForeground );
-        
-        TRAP_IGNORE( ChangeControlsStateL( ETrue ) );               
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::NotifyLightStatusChanged
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::NotifyLightStatusChanged( TBool aLightsOn )
-    {       
-    if ( aLightsOn )
-        {
-        iFlags.Set( EIsLightsOn );
-        
-        TRAP_IGNORE( ChangeControlsStateL( ETrue ) );        
-        }
-    else 
-        {
-        iFlags.Clear( EIsLightsOn );
-        
-        TRAP_IGNORE( ChangeControlsStateL( EFalse ) );        
-        }        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::NotifyInCallStateChaged
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::NotifyInCallStateChaged( TBool aInCall )
-    {       
-    if ( !iContainer )
-        {
-        return;
-        }
-    
-    TBool incallNow( iFlags.IsSet( EIsInCall ) ? ETrue : EFalse );
-    
-    if ( incallNow == aInCall )
-        {
-        return;
-        }
-
-    if ( aInCall )
-        {
-        iFlags.Set( EIsInCall );
-        }
-    else
-        {
-        iFlags.Clear( EIsInCall );
-        }
-    
-    TRAP_IGNORE( UpdateRskByModeL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::ChangeControlsStateL
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::ChangeControlsStateL( TBool aAwake )
-    {
-    if ( !iContainer )
-        {
-        return;
-        }
-
-    TBool awakeNow( iFlags.IsSet( EIsControlsAwake ) ? ETrue : EFalse );
-    
-    if ( aAwake == awakeNow )
-        {
-        // No change in the state
-        return;
-        }
-
-    TBool changeState( EFalse );
-    
-    if ( aAwake )
-        {
-        if ( iFlags.IsSet( EIsForeground ) && iFlags.IsSet( EIsLightsOn ) )
-            {
-            iFlags.Set( EIsControlsAwake );
-            changeState = ETrue;
-            }       
-        }
-    else
-        {
-        iFlags.Clear( EIsControlsAwake );
-        changeState = ETrue;
-        }
-    
-    if( changeState )
-        {
-        RPointerArray< CXnControlAdapter > controls;
-        CleanupClosePushL( controls );
-        
-        iContainer->ControlsL( controls );
-        
-        for ( TInt i = 0; i < controls.Count(); i++ )
-            {
-            if ( aAwake )
-                {
-                controls[i]->ExitPowerSaveModeL();
-                }
-            else
-                {
-                controls[i]->EnterPowerSaveModeL();
-                }               
-            }
-            
-        CleanupStack::PopAndDestroy( &controls );            
-        }           
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewAdapter::UpdateRskByModeL()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnViewAdapter::UpdateRskByModeL()
-    {
-    CXnNode* menubar( iAppUiAdapter.UiEngine().MenuBarNode() );
-    
-    if( menubar )
-        {
-        const TDesC8* state( NULL );
-        
-        if( iAppUiAdapter.UiEngine().IsEditMode() )
-            {
-            state = &XnPropertyNames::softkey::mode::KModeEdit;
-            }     
-        else if( iFlags.IsSet( EIsInCall ) )
-            {
-            state = &XnPropertyNames::softkey::mode::KModeCallActive;
-            }
-        else
-            {
-            state = &XnPropertyNames::softkey::mode::KModeCallInactive;
-            }
-        
-        XnMenuInterface::MXnMenuInterface* menuIf( NULL );
-        XnComponentInterface::MakeInterfaceL( menuIf, menubar->AppIfL() );
-               
-        RPointerArray<CXnNode>& childrens( menubar->Children() );
-        
-        for( TInt i=0; i < childrens.Count(); i++ )
-            {
-            CXnNode* node = childrens[i];
-            
-            if( node && node->Type()->Type() == XnPropertyNames::softkey::KNodeName )
-                {                  
-                CXnProperty* mode = node->GetPropertyL( XnPropertyNames::softkey::KModeAttribute );
-                CXnProperty* type = node->GetPropertyL( XnPropertyNames::softkey::KTypeAttribute );
-                
-                if( ( mode && *state == mode->StringValue() ) &&
-                        ( type && type->StringValue().Compare( XnPropertyNames::softkey::type::KRight ) == 0 ) )
-                    {
-                    menuIf->SetSoftKeyL( &node->PluginIfL() , XnMenuInterface::MXnMenuInterface::ERight );
-                    node->SetDirtyL( XnDirtyLevel::ERender );
-                    } 
-                }
-            }
-        }
-    }
-
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,508 +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:  Data class to hold view data info
-*
-*/
-
-// System includes
-#include <babitflags.h>
-
-// User includes
-#include "xncomposer.h"
-#include "xnodtparser.h"
-#include "xnviewmanager.h"
-#include "xnviewdata.h"
-#include "xncontroladapter.h"
-#include "xndomnode.h"
-#include "xnnode.h"
-#include "xnoomsyshandler.h"
-
-// Constants
-_LIT8( KStateConfirmed, "Confirmed" );
-_LIT8( KStateError, "Error" );
-_LIT8( KLockingStatusLocked, "locked" );
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnViewData::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewData* CXnViewData::NewL( CXnPluginData& aParent )
-    {
-    CXnViewData* self = CXnViewData::NewLC( aParent );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewData* CXnViewData::NewLC( CXnPluginData& aParent )
-    {
-    CXnViewData* self = new ( ELeave ) CXnViewData( aParent );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::CXnViewData()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnViewData::CXnViewData( CXnPluginData& aParent )
-    : CXnPluginData( aParent )
-    {
-    // By default view data is removable
-    iFlags.Set( EIsRemovable );      
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::~CXnViewData()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewData::~CXnViewData()
-    {
-    Destroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::ConstructL()
-    {
-    CXnPluginData::ConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::SetActiveL()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::SetActiveL( TBool aActive )
-    {    
-    TBool active( Active() );
-    
-    if ( active == aActive || !Occupied() )
-        {
-        return;
-        }
-
-    if ( aActive )
-        {     
-        iFlags.Clear( EIsInitial );
-
-        iFlags.Set( EIsActive );
-
-        LoadDataPluginsL();
-        }
-    else
-        {                              
-        DestroyDataPluginsL();
-
-        iFlags.Clear( EIsActive );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::LoadL()
-
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::LoadL()
-    {               
-    if ( Occupied() || PluginState().CompareF( KStateError ) == 0 )
-        {
-        return;
-        }
-       
-    if ( !CXnOomSysHandler::HeapAvailable( VIEW_MIN_MEM ) )
-        {
-        ViewManager().OomSysHandler().HandlePotentialOomL();        
-        return;
-        }
-        
-    TRAPD( error,
-                        
-        if( iManager.Composer().ComposeViewL( *this ) == KErrNone )
-            {
-            iManager.Parser().LoadViewL( *this );
-            }                  
-        );                              
-
-    if ( error || !Occupied() )
-        {                       
-        if( error == KErrNoMemory )
-            {
-            ViewManager().OomSysHandler().HandlePotentialOomL();
-            }        
-        
-        // Set error state
-        iFlags.Clear( EIsInitial );
-        
-        SetPluginStateL( KStateError );               
-        }    
-    else
-        {
-        // Must confirm here, as widgets loading may fail, which  
-        // then results his view to be doomed unnceccesarily
-        SetPluginStateL( KStateConfirmed );
-        
-        // Load view initial widgets
-        for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-            {
-            if ( iPluginsData[i]->PluginId() != KNullDesC8 )
-                {
-                iPluginsData[i]->LoadL();                        
-                }
-            }  
-        
-        if ( Active() )
-            {
-            LoadDataPluginsL();
-            }
-        }       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::Destroy()
-
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::Destroy()
-    {
-    if ( Occupied() )
-        {
-        TRAP_IGNORE( DestroyDataPluginsL() );
-        
-        iManager.Parser().DestroyView( *this );
-        }
-    delete iBgImage;
-    iBgImage = NULL;
-    Flush();  
-    delete iBgImagePath;
-    iBgImagePath = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::Plugin()
-// Finds plugin or view data based on node
-// -----------------------------------------------------------------------------
-//
-CXnPluginData& CXnViewData::Plugin( CXnNode* aNode )
-    {    
-    if ( aNode->ViewNodeImpl() )
-        {
-        // Reached view, return self
-        if ( Node()->LayoutNode() == aNode )
-            {
-            return *this;
-            }
-        }
-
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        if ( iPluginsData[i]->Owner()->LayoutNode() == aNode )
-            {
-            return *iPluginsData[i];
-            }
-        }
-
-    // Not found, try parent
-    CXnNode* parent( aNode->Parent() );
-
-    return Plugin( parent );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::Plugin()
-// Finds plugin or view data based on namespace
-// -----------------------------------------------------------------------------
-//
-CXnPluginData* CXnViewData::Plugin( const TDesC8& aNamespace )
-    {
-    if ( aNamespace == KNullDesC8 )
-        {
-        // No namespace, return self for global access
-        return this;
-        }
-
-    CXnDomNode* view( Node() );
-
-    if ( view && view->LayoutNode()->Namespace() == aNamespace )
-        {
-        return this;
-        }
-
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        CXnDomNode* widget( iPluginsData[i]->Node() );
-
-        if ( widget && widget->LayoutNode()->Namespace() == aNamespace )
-            {
-            return iPluginsData[i];
-            }
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::ViewNode()
-// Returns this view data's view node
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnViewData::ViewNode() const
-    {
-    return iNode->LayoutNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::SetWallpaperImage
-// Store background image. Ownership is transferred.
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::SetWallpaperImage( CFbsBitmap* aBitmap )
-    {
-    delete iBgImage;
-    iBgImage = aBitmap;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::WallpaperImage
-// Get wallpaper image.
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap* CXnViewData::WallpaperImage() const
-    {
-    return iBgImage;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::SetWallpaperImagePathL
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::SetWallpaperImagePathL( const TDesC& aFileName )
-    {
-    delete iBgImagePath;
-    iBgImagePath = NULL;
-    iBgImagePath = aFileName.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::WallpaperImagePath
-// -----------------------------------------------------------------------------
-//
-const TDesC& CXnViewData::WallpaperImagePath() const
-    {
-    if( iBgImagePath )
-        {
-        return *iBgImagePath;        
-        }
-    return KNullDesC;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::ResourcesL()
-// Gets this view data's resources
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::ResourcesL( CArrayPtrSeg< CXnResource >& aList ) const
-    {
-    // Get my resources
-    CXnPluginData::ResourcesL( aList );
-
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        // And resources which my plugin holds
-        iPluginsData[i]->ResourcesL( aList );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::ControlsL()
-// Gets this view data's controls
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::ControlsL( RPointerArray< CXnControlAdapter >& aList ) const
-    {
-    // Get my controls
-    CXnPluginData::ControlsL( aList );
-
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        // And controls which my plugin holds
-        iPluginsData[i]->ControlsL( aList );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::PluginNodesL()
-// Gets this view data's appearance nodes
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::AppearanceNodesL( RPointerArray< CXnNode >& aList ) const
-    {
-    // Get my appearance nodes
-    CXnPluginData::AppearanceNodesL( aList );
-
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        // And appearance nodes which my plugin holds
-        iPluginsData[i]->AppearanceNodesL( aList );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::InitialFocusNodesL()
-// Gets this view data's initial focus nodes
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::InitialFocusNodesL( RPointerArray< CXnNode >& aList ) const
-    {
-    // Offer widgets initial focus nodes by default first
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        // And appearance nodes which my plugin holds
-        iPluginsData[i]->InitialFocusNodesL( aList );
-        }
-
-    // Get my initial focus nodes
-    CXnPluginData::InitialFocusNodesL( aList );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::ContentSourceNodesL()
-// Gets this view data's content source nodes
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::ContentSourceNodesL( RPointerArray< CXnNode >& aList ) const
-    {
-    // Get my data provider nodes
-    CXnPluginData::ContentSourceNodesL( aList );
-
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        // And appearance nodes which my plugin holds
-        iPluginsData[i]->ContentSourceNodesL( aList );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::PluginNodesL()
-// Gets this view data's plugin nodes
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::PluginNodesL( RPointerArray< CXnNode >& aList ) const
-    {
-    for ( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        // And controls which my plugin holds
-        aList.AppendL( iPluginsData[i]->Owner()->LayoutNode() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::LoadDataPluginsL
-// Loads data plugins associated to the plugin
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::LoadDataPluginsL()
-    {
-    if( Occupied() && Active() )
-        {               
-        // Load own plugins first, and after that data plugins for widgets
-        CXnPluginData::LoadDataPluginsL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::DataPluginsLoadCompletedL
-// Indicates that all data plugins are loaded
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::DataPluginsLoadCompletedL( TInt aStatus )
-    {       
-    if ( aStatus == KErrNone )
-        {
-        for( TInt i = 0; i < iPluginsData.Count(); i++ )
-            {
-            iPluginsData[i]->LoadDataPluginsL();
-            }                
-        }
-    
-    CXnPluginData::DataPluginsLoadCompletedL( aStatus );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewData::DestroyDataPluginsL
-// Remove data plugins associated to the plugin
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::DestroyDataPluginsL()
-    {
-    CXnPluginData::DestroyDataPluginsL();
-    
-    for( TInt i = 0; i < iPluginsData.Count(); i++ )
-        {
-        iPluginsData[i]->DestroyDataPluginsL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPluginData::DataPluginsLoaded()
-// -----------------------------------------------------------------------------
-//
-TBool CXnViewData::DataPluginsLoaded() const
-    {
-    TBool loaded( CXnPluginData::DataPluginsLoaded() );
-    
-    for( TInt i = 0; loaded && i < iPluginsData.Count(); i++ )
-        {
-        CXnPluginData* plugin( iPluginsData[i] );
-        
-        if( plugin->Occupied() )
-            {
-            loaded = plugin->DataPluginsLoaded();
-            }               
-        }
-    
-    return loaded;    
-    }
-
-// -----------------------------------------------------------------------------
-// Sets view's locking_status attribute ("locked"/"none")
-// -----------------------------------------------------------------------------
-//
-void CXnViewData::SetLockingStatus( const TDesC8& aLockingStatusString )
-    {
-    if( ( aLockingStatusString != KNullDesC8 ) && 
-            ( aLockingStatusString.Match( KLockingStatusLocked ) == 0 ) )
-        {
-        iFlags.Clear( EIsRemovable );
-        }
-    else
-        {
-        iFlags.Set( EIsRemovable );
-        }
-    }
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1774 +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:  View Manager
-*
-*/
-
-// System includes
-#include <AknUtils.h>
-#include <AknsWallpaperUtils.h>
-#include <AknSkinsInternalCRKeys.h>
-#include <StringLoader.h>
-#include <xnuiengine.rsg>
-#include <aknnotewrappers.h>
-
-#include <AknsConstants.h>
-
-// User includes
-#include "xnapplication.h"
-#include "xnuiengine.h"
-#include "xnproperty.h"
-#include "xndomnode.h"
-#include "xndomlist.h"
-#include "xnnode.h"
-#include "xncomposer.h"
-#include "xneditor.h"
-#include "xnrootdata.h"
-#include "xnviewdata.h"
-#include "xnappuiadapter.h"
-#include "xncontroladapter.h"
-#include "xnviewnodeimpl.h"
-#include "xnviewadapter.h"
-#include "xnodt.h"
-#include "xndomdocument.h"
-#include "xntype.h"
-#include "xntext.h"
-#include "xnpanic.h"
-#include "xnmenu.h"
-#include "xnmenuadapter.h"
-#include "xncomponentnodeimpl.h"
-#include "xnnodepluginif.h"
-#include "xnoomsyshandler.h"
-#include "xnbackgroundmanager.h"
-
-// Constants
-_LIT8( KEmptyWidgetUid, "0x2001f47f" );
-_LIT8( KStateError, "Error" );
-
-
-_LIT8( KTemplateViewUID, "0x20026f50" );
-
-enum
-    {
-    EFirstPassDrawComplete,
-    EDataPluginsComplete,
-    EViewIsValid,       
-    };
-
-
-/*
-const TAknsItemID KSkinIds[] = {
-        KAknsIIDQgnHomePage11,
-        KAknsIIDQgnHomePage21,
-        KAknsIIDQgnHomePage22,
-        KAknsIIDQgnHomePage31,
-        KAknsIIDQgnHomePage32,
-        KAknsIIDQgnHomePage33,
-        KAknsIIDQgnHomePage41,
-        KAknsIIDQgnHomePage42,
-        KAknsIIDQgnHomePage43,
-        KAknsIIDQgnHomePage44,
-        KAknsIIDQgnHomePage51,
-        KAknsIIDQgnHomePage52,
-        KAknsIIDQgnHomePage53,
-        KAknsIIDQgnHomePage54,
-        KAknsIIDQgnHomePage55,
-        KAknsIIDQgnHomePage61,
-        KAknsIIDQgnHomePage62,
-        KAknsIIDQgnHomePage63,
-        KAknsIIDQgnHomePage64,
-        KAknsIIDQgnHomePage65,
-        KAknsIIDQgnHomePage66
-        }; 
-*/        
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// BuildTriggerL
-// Builds a trigger node
-// -----------------------------------------------------------------------------
-//
-static CXnNode* BuildTriggerL( CXnUiEngine& aUiEngine,
-    const TDesC8& aStringValue )
-    {
-    CXnNode* node = CXnNode::NewL();
-    CleanupStack::PushL( node );
-
-    CXnType* type = CXnType::NewL( XnPropertyNames::action::KTrigger );
-    CleanupStack::PushL( type );
-
-    CXnNodeImpl* impl = CXnNodeImpl::NewL( type );
-    CleanupStack::Pop( type );
-
-    node->SetImpl( impl );
-    node->SetUiEngine( aUiEngine );
-
-    CXnDomStringPool* sp( aUiEngine.ODT()->DomDocument().StringPool() );
-
-    CXnProperty* name = CXnProperty::NewL(
-        XnPropertyNames::action::trigger::KName, aStringValue,
-        CXnDomPropertyValue::EString, *sp );
-
-    CleanupStack::PushL( name );
-    node->SetPropertyL( name );
-    CleanupStack::Pop( name );
-
-    CXnProperty* value = CXnProperty::NewL(
-        XnPropertyNames::action::KValue,
-        KNullDesC8, CXnDomPropertyValue::EString, *sp );
-
-    CleanupStack::PushL( value );
-    node->SetPropertyL( value );
-    CleanupStack::Pop( value );
-
-    CleanupStack::Pop( node ); 
-
-    return node;
-    }
-
-// -----------------------------------------------------------------------------
-// SetOnlineStateL
-// 
-// -----------------------------------------------------------------------------
-//
-static void SetOnlineStateL( CXnAppUiAdapter& aAdapter, 
-    CXnViewData& aViewData )
-    {
-    if( !aViewData.Active() )
-        {
-        // Only active view can change online/offline state
-        return;
-        }
-    
-    RPointerArray< CXnNode > nodes;
-    CleanupClosePushL( nodes );
-
-    RPointerArray< CXnNodeAppIf > list;
-    CleanupClosePushL( list );
-
-    aViewData.ContentSourceNodesL( nodes );
-
-    for ( TInt i = 0; i < nodes.Count(); i++ )
-        {
-        list.AppendL( &nodes[i]->AppIfL() );
-        }
-
-    aAdapter.SetOnlineStateL( list );
-
-    CleanupStack::PopAndDestroy( 2, &nodes ); // &list                                                 
-    }
-
-// -----------------------------------------------------------------------------
-// resolveIconId
-// -----------------------------------------------------------------------------
-//
-static TAknsItemID ResolveIconId( TInt aIndex )
-    {
-    TAknsItemID ret( KAknsIIDNone );
-    switch( aIndex )
-        {
-        case 0:
-            {
-            ret = KAknsIIDQgnHomePage11;
-            }
-            break;
-        case 1:
-            {
-            ret = KAknsIIDQgnHomePage21;
-            }
-            break;
-        case 2:
-            {
-            ret = KAknsIIDQgnHomePage22;
-            }
-            break;
-        case 3:
-            {
-            ret = KAknsIIDQgnHomePage31;
-            }
-            break;
-        case 4:
-            {
-            ret = KAknsIIDQgnHomePage32;
-            }     
-            break;
-        case 5:
-            {
-            ret = KAknsIIDQgnHomePage33;
-            }    
-            break;
-        case 6:
-            {
-            ret = KAknsIIDQgnHomePage41;
-            }
-            break;
-        case 7:
-            {
-            ret = KAknsIIDQgnHomePage42;
-            }   
-            break;
-        case 8:
-            {
-            ret = KAknsIIDQgnHomePage43;
-            }   
-            break;
-        case 9:
-            {
-            ret = KAknsIIDQgnHomePage44;
-            }     
-            break;
-        case 10:
-            {
-            ret = KAknsIIDQgnHomePage51;
-            }     
-            break;
-        case 11:
-            {
-            ret = KAknsIIDQgnHomePage52;
-            }     
-            break;
-        case 12:
-            {
-            ret = KAknsIIDQgnHomePage53;
-            } 
-            break;
-        case 13:
-            {
-            ret = KAknsIIDQgnHomePage54;
-            }     
-            break;
-        case 14:
-            {
-            ret = KAknsIIDQgnHomePage55;
-            }
-            break;
-        case 15:
-            {
-            ret = KAknsIIDQgnHomePage61;
-            }    
-            break;
-        case 16:
-            {
-            ret = KAknsIIDQgnHomePage62;
-            }   
-            break;
-        case 17:
-            {
-            ret = KAknsIIDQgnHomePage63;
-            }    
-            break;
-        case 18:
-            {
-            ret = KAknsIIDQgnHomePage64;
-            }
-            break;
-        case 19:
-            {
-            ret = KAknsIIDQgnHomePage65;
-            }
-            break;            
-        case 20:
-            {
-            ret = KAknsIIDQgnHomePage66;
-            }            
-            break;            
-        default:
-            {
-            }
-            break;
-        }
-    
-    return ret;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewManager* CXnViewManager::NewL( CXnAppUiAdapter& aAdapter )    
-    {
-    CXnViewManager* self = CXnViewManager::NewLC( aAdapter );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewManager* CXnViewManager::NewLC( CXnAppUiAdapter& aAdapter )
-    {
-    CXnViewManager* self = new( ELeave ) CXnViewManager( aAdapter );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::CXnViewManager()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CXnViewManager::CXnViewManager( CXnAppUiAdapter& aAdapter ) 
-    : iAppUiAdapter( aAdapter ), 
-      iApplicationUid( iAppUiAdapter.Application()->AppDllUid() )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::~CXnViewManager()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewManager::~CXnViewManager()
-    {
-    iObservers.Reset();
-    
-    delete iRootData;
-    
-    delete iWidgetAmountTrigger;       
-
-    if ( iResources )
-        {
-        iResources->Reset();
-        }
-    
-    delete iResources;
-
-    iControls.Reset();
-    iAppearanceNodes.Reset();
-       
-    iFailedPlugins.Reset();
-    
-    delete iComposer;
-    delete iEditor;
-    delete iOomSysHandler;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::ConstructL()
-    {
-    iOomSysHandler = CXnOomSysHandler::NewL();
-    
-    // Create resource list
-    iResources = new ( ELeave ) CArrayPtrSeg< CXnResource > ( 16 );
-       
-    const TInt KMaxUidLength( 10 );
-    _LIT8( KUint, "%u" );
-
-    TBuf8< KMaxUidLength > uid;
-    uid.Format( KUint, iApplicationUid.iUid );
-    
-    iEditor = CXnEditor::NewL( *this, uid );
-
-    iHspsWrapper = &iEditor->HspsWrapper();
-    
-    iComposer = CXnComposer::NewL( *iHspsWrapper );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::LoadUiL()
-// Loads the application UI and initial view
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::LoadUiL()
-    {
-    iUiEngine->DisableRenderUiLC();
-    
-    // Load application root configuration
-    iRootData = CXnRootData::NewL( *this, iApplicationUid );
-           
-    // Load root configuration and initial view.
-    iRootData->LoadL();
-    
-    CleanupStack::PopAndDestroy(); // DisableRenderUiLC();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ReloadUiL()
-// Reloads the application UI and initial ivew
-// -----------------------------------------------------------------------------
-void CXnViewManager::ReloadUiL()  
-    {
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnViewManager::ReloadUiL() - start" ) );
-#endif //_XN_PERFORMANCE_TEST_
-    
-    NotifyViewDeactivatedL( ActiveViewData() );
-    
-    delete iWidgetAmountTrigger;
-    iWidgetAmountTrigger = NULL;
-          
-    // Destroy active view data
-    ActiveViewData().Destroy();
-         
-    // Schedule application configuration destroyal
-    iRootData->Destroy();
-    iRootData = NULL;
-    
-    iFlags.ClearAll();
-    
-    User::Heap().Compress();
-    
-    LoadUiL();
-    
-    // Activate first view from the new configuration
-    iAppUiAdapter.ViewAdapter().ActivateContainerL( ActiveViewData() );    
-   
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnViewManager::ReloadUiL() - end" ) );
-#endif //_XN_PERFORMANCE_TEST_
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::LoadWidgetToPluginL()
-// -----------------------------------------------------------------------------
-//
-TInt CXnViewManager::LoadWidgetToPluginL( CHsContentInfo& aContentInfo,
-    CXnPluginData& aPluginData )
-    {
-    // Plugin must not have widget when about to add
-    if ( aPluginData.Occupied() )
-        {
-        return KErrAlreadyExists;
-        }
-
-    CXnViewData& viewData( 
-        static_cast< CXnViewData& >( *aPluginData.Parent() ) );
-
-    TBool emptyInUse( viewData.UseEmptyWidget() );
-            
-    // By default widget is added to active view configuration
-    const TDesC8& configurationId( viewData.ConfigurationId() );
-
-    TInt retval( KErrGeneral );
-              
-    if ( emptyInUse && aPluginData.Empty() )
-        {
-        retval = iHspsWrapper->ReplacePluginL( 
-            aPluginData.PluginId(), aContentInfo.Uid() );   
-        
-        if( retval == KErrDiskFull )
-            {
-            ShowDiskFullMessageL();
-            }
-        }
-    else
-        {
-        TInt index( viewData.PluginData().Find( &aPluginData ) );
-        
-        CAddPluginResult* result = iHspsWrapper->AddPluginL( 
-            configurationId, aContentInfo.Uid(), index );
-    
-        CleanupStack::PushL( result );
-        
-        retval = result->Status();        
-        if ( retval == KErrNone )
-            {
-            aPluginData.SetPluginIdL( result->PluginId() );
-            }
-        else if( retval == KErrDiskFull )
-            {
-            ShowDiskFullMessageL();
-            }        
-        
-        CleanupStack::PopAndDestroy( result ); 
-        }
-             
-    if ( retval == KErrNone )
-        {              
-        iUiEngine->DisableRenderUiLC();
-                                     
-        NotifyConfigureWidgetL( aContentInfo, aPluginData );
-    
-        aPluginData.LoadL();
-                   
-        UpdateCachesL();
-    
-        NotifyWidgetAdditionL( aPluginData );
-
-        // Report widget amount in the view
-        ReportWidgetAmountL( viewData );
-        
-        CleanupStack::PopAndDestroy(); // DisableRenderUiLC
-        }
-           
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::UnloadWidgetFromPluginL()
-// -----------------------------------------------------------------------------
-//
-TInt CXnViewManager::UnloadWidgetFromPluginL( CXnPluginData& aPluginData )    
-    {          
-    TBool error( aPluginData.PluginState().CompareF( KStateError ) == 0 );
-    
-    // Plugins in error state are always removed
-    if ( !error && !aPluginData.Occupied() )
-        {
-        // Plugin must have widget when about to remove
-        return KErrNotFound;            
-        }
-    
-    CXnViewData& viewData( 
-        static_cast< CXnViewData& >( *aPluginData.Parent() ) );
-    
-    TBool emptyInUse( viewData.UseEmptyWidget() );
-    
-    TInt retval( KErrGeneral );
-    
-    // Save temporary
-    TBuf8< 32 > id( aPluginData.PluginId() );
-           
-    if ( emptyInUse )
-        {
-        retval = iHspsWrapper->ReplacePluginL( 
-            aPluginData.PluginId(), KEmptyWidgetUid );                       
-        }
-    else 
-        {        
-        retval = iHspsWrapper->RemovePluginL( aPluginData.PluginId() );
-        }
-       
-    if ( retval == KErrNone )
-        {
-        TBool active( aPluginData.Active() );
-        
-        iUiEngine->DisableRenderUiLC();
-        
-        NotifyWidgetRemovalL( aPluginData );
-                 
-        aPluginData.Destroy();
-        
-        if ( emptyInUse )
-            {
-            // Write id back for for later usage
-            aPluginData.SetEmptyL( id );
-            }
-        else
-            {
-            // Reorder plugindata array
-            RPointerArray< CXnPluginData >& plugins( viewData.PluginData() ); 
-                
-            TInt index( plugins.Find( &aPluginData ) );
-
-            plugins.Remove( index );
-            plugins.Insert( &aPluginData, plugins.Count() - 1 );                                           
-            }
-                                                           
-        UpdateCachesL();
-
-        // Report widget amount in the view 
-        ReportWidgetAmountL( viewData );
-        
-        if ( active )
-            {            
-            iUiEngine->RenderUIL();
-            SetOnlineStateL( iAppUiAdapter, ActiveViewData() );
-            }
-               
-        CleanupStack::PopAndDestroy(); // DisableRenderUiLC               
-        }
-
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ReplaceWidgetToPluginL
-// -----------------------------------------------------------------------------
-//
-TInt CXnViewManager::ReplaceWidgetToPluginL( CHsContentInfo& aContentInfo,
-    CXnPluginData& aPluginData, TBool aUseHsps )
-    {
-    TInt ret = KErrNone;
-    
-    // if aUseHsps is false, the plugin was already replaced by
-    // another process
-    if( aUseHsps )
-        {
-        ret = iHspsWrapper->ReplacePluginL( aPluginData.PluginId(),
-                                           aContentInfo.Uid() );
-        }
-
-    if ( ret == KErrNone )
-        {
-        iUiEngine->DisableRenderUiLC();
-        
-        NotifyWidgetRemovalL( aPluginData );
-
-        TBuf8< 32 > id( aPluginData.PluginId() );
-        TBuf8< 32 > uid( aContentInfo.Uid() );
-        
-        aPluginData.Destroy();
-                        
-        UpdateCachesL();
-        aPluginData.SetPluginIdL( id );
-        
-        NotifyConfigureWidgetL( aContentInfo, aPluginData );
-        
-        aPluginData.LoadL();
-                                                                  
-        UpdateCachesL();
-        
-        // notify addition if not replaced with empty widget
-        // NotifyWidgetAdditionL will call RenderUIL()
-        if( uid != KEmptyWidgetUid )
-            {
-            NotifyWidgetAdditionL( aPluginData );
-            }
-        else
-            {
-            if( aPluginData.Active() )
-                {
-                iUiEngine->RenderUIL();
-                }
-            }
-        
-        CleanupStack::PopAndDestroy(); // DisableRenderUiLC
-        }
-    
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ODT()
-// Get the ODT
-// -----------------------------------------------------------------------------
-//
-CXnODT* CXnViewManager::ODT() const
-    {
-    return iRootData->ODT();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::RootNode()
-// Finds the root node 
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnViewManager::RootNode() const
-    {
-    return iRootData->RootNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ViewNode()
-// Finds the view node from active view data
-// -----------------------------------------------------------------------------
-//
-CXnNode* CXnViewManager::ViewNode() const
-    {
-    return ActiveViewData().ViewNode();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::Parser()
-// Gets ODT parser
-// -----------------------------------------------------------------------------
-//
-CXnODTParser& CXnViewManager::Parser() const
-    {
-    return iRootData->Parser();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::EcomHandler()
-// Gets Ecom handler
-// -----------------------------------------------------------------------------
-//
-CXnEcomHandler& CXnViewManager::EcomHandler() const
-    {
-    return iRootData->EcomHandler();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::Controls()
-// Finds the controls from active view data
-// -----------------------------------------------------------------------------
-//
-const RPointerArray< CXnControlAdapter >& CXnViewManager::Controls() const
-    {
-    return iControls;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::PluginNodes()
-// Finds the plugin nodes from active view data
-// -----------------------------------------------------------------------------
-//
-RPointerArray< CXnNode >& CXnViewManager::PluginNodes() const
-    {
-    // These must be fetched from layout tree to get correct order of plugins
-    CXnViewData& activeViewData( ActiveViewData() );
-
-    // Get first plugin data
-    CXnPluginData* pluginData( activeViewData.PluginData()[0] );
-    CXnNode* parent( pluginData->Owner()->LayoutNode()->Parent() );
-
-    // This assumes that the parent has only "plugin" nodes as its children
-    RPointerArray< CXnNode >& children( parent->Children() );
-
-    return children;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::PluginDataL()
-// 
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::PluginDataL( RPointerArray< CXnPluginData >& aList, 
-    TBool aGlobal ) const
-    {
-    if ( aGlobal )
-        {
-        RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
-        
-        for ( TInt i = 0; i < views.Count(); i++ )
-            {
-            RPointerArray< CXnPluginData >& plugins( views[i]->PluginData() );
-            
-            for ( TInt j = 0; j < plugins.Count(); j++ )
-                {
-                aList.AppendL( plugins[ j ] );
-                }
-            }            
-        }
-    else
-        {
-        RPointerArray< CXnPluginData >& 
-            plugins( ActiveViewData().PluginData() ); 
-
-        for ( TInt j = 0; j < plugins.Count(); j++ )
-            {
-            aList.AppendL( plugins[ j ] );
-            }        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::Resources()
-// Finds the resources from the active view data
-// -----------------------------------------------------------------------------
-//
-CArrayPtrSeg< CXnResource >& CXnViewManager::Resources() const
-    {
-    return *iResources;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::AppearanceNodes()
-// -----------------------------------------------------------------------------
-//
-RPointerArray< CXnNode >& CXnViewManager::AppearanceNodes() const
-    {
-    return iAppearanceNodes;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ViewData()
-// Finds a view data based on a view node
-// -----------------------------------------------------------------------------
-//
-CXnViewData* CXnViewManager::ViewData( CXnNode& aNode ) const
-    {    
-    if ( !aNode.ViewNodeImpl() )
-        {
-        return NULL;
-        }
-
-    RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
-    
-    for ( TInt i = 0; i < views.Count(); i++ )
-        {
-        if ( views[i]->Occupied() )
-            {
-            if ( views[i]->Node()->LayoutNode() == &aNode )
-                {
-                return static_cast< CXnViewData* >( views[ i ] );                
-                }
-            }
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ActiveAppData()
-// Gets the active app data
-// -----------------------------------------------------------------------------
-//
-CXnRootData& CXnViewManager::ActiveAppData() const
-    {
-    return *iRootData;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ActiveViewData()
-// Gets the active view data
-// -----------------------------------------------------------------------------
-//
-CXnViewData& CXnViewManager::ActiveViewData() const
-    {
-    return iRootData->ActiveViewData();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::PreviousViewData()
-// Gets the previous view data 
-// -----------------------------------------------------------------------------
-//
-CXnViewData& CXnViewManager::PreviousViewData() const
-    {
-    return iRootData->PreviousViewData();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NextViewData()
-// Gets the next view data 
-// -----------------------------------------------------------------------------
-//
-CXnViewData& CXnViewManager::NextViewData() const
-    {
-    return iRootData->NextViewData();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ActivateNextViewL()
-// Activates the next view
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::ActivateNextViewL()
-    {
-    CXnViewData& current( ActiveViewData() );
-    CXnViewData& next( NextViewData() );
-
-    if ( !next.Occupied() )
-        {
-        next.LoadL();
-        }
-        
-    // Activate view
-    if ( next.Occupied() && !next.Active() )
-        {            
-        iAppUiAdapter.ViewAdapter().ActivateContainerL( next );                
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ActivatePreviousViewL()
-// Activates the previous view
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::ActivatePreviousViewL()
-    {
-    CXnViewData& current( ActiveViewData() );
-    CXnViewData& prev( PreviousViewData() );
-
-    if ( !prev.Occupied() )
-        {
-        prev.LoadL();
-        }
-        
-    // Activate view
-    if ( prev.Occupied() && !prev.Active() )
-        {   
-        iAppUiAdapter.ViewAdapter().ActivateContainerL( prev );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::AddViewL()
-// Adds a new view based on info
-// -----------------------------------------------------------------------------
-//
-TInt CXnViewManager::AddViewL( CHsContentInfo& aInfo )
-    {    
-    if ( iRootData->PluginData().Count() >= iRootData->MaxPages() )
-        {
-        return KErrGeneral;
-        }
-
-    // Add new view (template view) to hsps
-    CAddPluginResult* result = iHspsWrapper->AddPluginL( 
-        iRootData->ConfigurationId(), aInfo.Uid(),
-        ViewIndex() + 1 ); 
-    CleanupStack::PushL( result );
-
-    TInt retval( result->Status() );
-    
-    if( retval == KErrDiskFull )
-        {
-        ShowDiskFullMessageL();
-        }        
-    else if ( retval == KErrNone )
-        {                             
-        // Create new view        
-        CXnViewData* newView = CXnViewData::NewLC( *iRootData );    
-        
-        newView->SetPluginIdL( result->PluginId() );
-        
-        newView->SetOwner( iRootData->Node() );
-        
-        newView->LoadL();
-                
-        if ( newView->Occupied() )
-            {
-            // Load succeed, add the new view behind the current view               
-            RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
-            
-            TInt index( views.Find( &ActiveViewData() ) );
-            
-            views.InsertL( newView, index + 1 );
-            
-            // Root data owns the new view now
-            CleanupStack::Pop( newView );            
-
-            // Inform observers about added view
-            NotifyViewAdditionL( *newView );
-            
-            UpdatePageManagementInformationL();
-            
-            iUiEngine->RenderUIL();
-            }
-        else
-            {                                  
-            // creation failed, remove it from hsps
-            iHspsWrapper->RemovePluginL( result->PluginId() );
-            
-            // ... and destroy it
-            CleanupStack::PopAndDestroy( newView );            
-            
-            retval = KErrGeneral;
-
-            }
-        }
-
-    CleanupStack::PopAndDestroy( result );   
-    
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::AddViewL()
-// Adds a new view
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::AddViewL()
-    {
-    if ( iRootData->PluginData().Count() >= iRootData->MaxPages() ) 
-        { 
-        HBufC* msg( StringLoader::LoadLC( 
-            R_QTN_HS_MAX_AMOUNT_OF_PAGES_NOTE ) ); 
-
-        CAknErrorNote* note = new ( ELeave ) CAknErrorNote; 
-        CleanupStack::PushL( note ); 
-               
-        note->ExecuteLD( *msg ); 
-               
-        CleanupStack::Pop( note ); 
-        CleanupStack::PopAndDestroy( msg ); 
-
-        return; 
-        }
-
-    // Add new view (template view) to hsps
-    CAddPluginResult* result = iHspsWrapper->AddPluginL( 
-        iRootData->ConfigurationId(), KTemplateViewUID,
-        ViewIndex() + 1 ); 
-    CleanupStack::PushL( result );
-        
-    TInt status( result->Status() );
-    
-    if( status == KErrDiskFull )
-        {
-        ShowDiskFullMessageL();
-        }            
-    else if ( status == KErrNone )
-        {                             
-        // Create new view        
-        CXnViewData* newView = CXnViewData::NewLC( *iRootData );    
-        
-        newView->SetPluginIdL( result->PluginId() );
-        
-        newView->SetOwner( iRootData->Node() );
-        
-        newView->LoadL();
-                
-        if ( newView->Occupied() )
-            {
-            // Load succeed, add the new view behind the current view               
-            RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
-            
-            TInt index( views.Find( &ActiveViewData() ) );
-            
-            views.InsertL( newView, index + 1 );
-            
-            // Root data owns the new view now
-            CleanupStack::Pop( newView );
-            
-            // Activate view
-            iAppUiAdapter.ViewAdapter().ActivateContainerL( *newView, ETrue );
-            
-            // Inform observers about added view
-            NotifyViewAdditionL( *newView );
-            }
-        else
-            {                      
-            // creation failed, remove it from hsps
-            iHspsWrapper->RemovePluginL( result->PluginId() );
-            
-            // ... and destroy it
-            CleanupStack::PopAndDestroy( newView );            
-            }
-        }
-
-    CleanupStack::PopAndDestroy( result );       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::RemoveViewL()
-// Removes view based info
-// -----------------------------------------------------------------------------
-//
-TInt CXnViewManager::RemoveViewL( const CHsContentInfo& aInfo )
-    {
-    TInt retval( KErrGeneral );
-    
-    if ( iRootData->PluginData().Count() <= 1 )
-        {
-        // Only one page left, not allowed to remove
-        return retval;        
-        }
-    
-    RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
-
-    for ( TInt i = 0; i < views.Count(); i++ )
-        {
-        CXnViewData* view( static_cast< CXnViewData* >( views[i] ) );
-        
-        if ( view->PluginId() == aInfo.PluginId() )
-            {
-            if ( !view->Removable() )
-                {
-                return retval;
-                }
-            
-            if ( view->Active() )
-                {
-                // Activate the next view, or first if in the last view 
-                CXnViewData& next( NextViewData() );
-                iAppUiAdapter.ViewAdapter().ActivateContainerL( next );
-                }
-
-            // Remove wallpaper from cache
-            iAppUiAdapter.ViewAdapter().BgManager().DeleteWallpaper( *view );
-
-            retval = iHspsWrapper->RemovePluginL( view->PluginId() );
-            
-            // Notify observers of view list change
-            NotifyViewRemovalL( *view );
-
-            iRootData->DestroyViewData( view );
-                                                                   
-            // Need to update after view is removed
-            UpdatePageManagementInformationL();                
-                                   
-            break;
-            }
-        }
-    
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::RemoveViewL()
-// Removes active view if more than one view.
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::RemoveViewL()
-    {   
-    if ( iRootData->PluginData().Count() <= 1 || 
-        !ActiveViewData().Removable() )
-        {
-        // Only one page left, this should not happen,  
-        // or active view is not removable
-        return;        
-        }
-          
-    RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
-    
-    TInt index( views.Find( &ActiveViewData() ) );
-           
-    CAknQueryDialog* query = CAknQueryDialog::NewL(); 
-    query->PrepareLC( R_YES_NO_HS_REMOVE_VIEW );
-    
-    HBufC* queryText( StringLoader::LoadLC( R_QTN_HS_DELETE_PAGE ) ); 
-    
-    query->SetPromptL( queryText->Des() );
-    
-    CleanupStack::PopAndDestroy( queryText );
-
-    if ( query->RunLD() )
-        { 
-        // Activate the next view, or first if in the last view 
-        CXnViewData& next( NextViewData() );
-
-        iAppUiAdapter.ViewAdapter().ActivateContainerL( next );
-                
-        CXnViewData* view( static_cast< CXnViewData* >( views[ index ] ) );
-
-        // Remove wallpaper from cache
-        iAppUiAdapter.ViewAdapter().BgManager().DeleteWallpaper( *view );
-
-        // Remove plugin from HSPS
-        iHspsWrapper->RemovePluginL( view->PluginId() );
-        
-        // Notify observers of view list change
-        NotifyViewRemovalL( *view );
-
-        iRootData->DestroyViewData( view );
-        
-        // Need to update after view is removed
-        UpdatePageManagementInformationL();        
-        }       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::AddObserver()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::AddObserver( const MXnViewObserver& aObserver )
-    {
-    TInt index( iObservers.Find( &aObserver ) );
-
-    if ( index == KErrNotFound )
-        {
-        iObservers.Append( &aObserver );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::RemoveObserver()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::RemoveObserver( const MXnViewObserver& aObserver )
-    {
-    TInt index( iObservers.Find( &aObserver ) );
-
-    if ( index != KErrNotFound )
-        {
-        iObservers.Remove( index );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ActivateAppL()
-// Activates application configuration
-// -----------------------------------------------------------------------------
-TInt CXnViewManager::ActivateAppL( const TDesC8& aPluginUid )
-    {
-    if ( aPluginUid == KNullDesC8 )
-        {
-        return KErrArgument;
-        }
-
-    if ( iRootData->PluginUid().Compare( aPluginUid ) == 0 )
-        {
-        // Nothing to do
-        return KErrNone;
-        }
-    
-    return iHspsWrapper->SetAppConfigurationL( aPluginUid );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ActivateViewL()
-// Activates view
-// -----------------------------------------------------------------------------
-TInt CXnViewManager::ActivateViewL( const TDesC8& aPluginId )
-    {
-    if ( aPluginId == KNullDesC8 )
-        {
-        return KErrArgument;
-        }
-           
-    CXnViewData& current( ActiveViewData() );
-       
-    if ( current.PluginId() == aPluginId )
-        {
-        // Nothing to do
-        return KErrNone;
-        }
-
-    TInt retval( KErrNotFound );
-    
-    RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
-        
-    for ( TInt i = 0; i < views.Count(); i++ )
-        {
-        CXnViewData* view( static_cast< CXnViewData* >( views[ i ] ) );
-
-        if( view->Occupied() && view->PluginId() == aPluginId )
-            {
-            iAppUiAdapter.ViewAdapter().ActivateContainerL( *view );
-            
-            retval = KErrNone;
-            
-            break;
-            }
-        }
-    
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ViewAmount()
-// Gets current view amount
-// -----------------------------------------------------------------------------
-TInt CXnViewManager::ViewAmount() const
-    {
-    return iRootData->PluginData().Count();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ViewIndex()
-// Gets index of current view
-// -----------------------------------------------------------------------------
-TInt CXnViewManager::ViewIndex() const
-    {
-    TInt index( KErrNotFound );
-    CXnViewData* view = &( ActiveViewData() );
-    RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
-    index = views.Find( view );
-    return index;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NotifyContainerChangedL()
-// Notifies container is changed, this is called always by CXnViewAdapter
-// -----------------------------------------------------------------------------
-void CXnViewManager::NotifyContainerChangedL( CXnViewData& aViewToActivate )
-    {
-#ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnViewManager::NotifyContainerChangedL - start" ) );
-#endif //_XN_PERFORMANCE_TEST_        
-              
-    InvalidateActiveView();
-    
-    CXnViewData& viewToDeactivate( ActiveViewData() );
-    
-    if ( &aViewToActivate != &viewToDeactivate )
-        {
-        // Store focus
-        CXnNode* focused( iUiEngine->FocusedNode() );
-        
-        if ( focused )
-            {
-            viewToDeactivate.SetFocusedNode( focused );
-            }
-        
-        NotifyViewDeactivatedL( viewToDeactivate );
-
-        // Switch active view data
-        iAppUiAdapter.HandlePageSwitch();
-        
-        viewToDeactivate.SetActiveL( EFalse );
-        aViewToActivate.SetActiveL( ETrue );
-        
-        iHspsWrapper->SetActivePluginL( aViewToActivate.PluginId() );
-
-        // Cache update is needed after view activation
-        UpdateCachesL();       
-        UpdateWallpaperL( viewToDeactivate, aViewToActivate );
-        }
-    else
-        {
-        // Activate first view
-        aViewToActivate.SetActiveL( ETrue );
-
-        // Cache update is needed after view activation
-        UpdateCachesL();
-        }
-    
-    NotifyViewActivatedL( aViewToActivate );
-    UpdatePageManagementInformationL();
-    
-    #ifdef _XN_PERFORMANCE_TEST_
-    RDebug::Print( _L( "CXnViewManager::NotifyContainerChangedL - end" ) );
-#endif //_XN_PERFORMANCE_TEST_
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NotifyViewActivatedL()
-// Notifies view is activated
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::NotifyViewActivatedL( const CXnViewData& aViewData )
-    {
-    // Report widget amount in the view
-    ReportWidgetAmountL( aViewData );
-
-    for ( TInt i = 0; i < iObservers.Count(); i++ )
-        {
-        iObservers[i]->NotifyViewActivatedL( aViewData );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NotifyViewDeactivatedL()
-// Notifies view is deactivated
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::NotifyViewDeactivatedL( const CXnViewData& aViewData )
-    {
-    for ( TInt i = 0; i < iObservers.Count(); i++ )
-        {
-        iObservers[i]->NotifyViewDeactivatedL( aViewData );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NotifyViewAdditionL()
-// Notifies view is added
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::NotifyViewAdditionL( const CXnViewData& aViewData )
-    {
-    for ( TInt i = 0; i < iObservers.Count(); i++ )
-        {
-        iObservers[i]->NotifyViewAdditionL( aViewData );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NotifyViewRemovalL()
-// Notifies view is removed
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::NotifyViewRemovalL( const CXnViewData& aViewData )
-    {
-    for ( TInt i = 0; i < iObservers.Count(); i++ )
-        {
-        iObservers[i]->NotifyViewRemovalL( aViewData );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NotifyConfigureWidgetL()
-// Notifies to configure widget
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::NotifyConfigureWidgetL( const CHsContentInfo& aContentInfo,
-    CXnPluginData& aPluginData )
-    {
-    for ( TInt i = 0; i < iObservers.Count(); i++ )
-        {
-        iObservers[i]->NotifyConfigureWidgetL( aContentInfo, aPluginData );
-        }
-    
-    if ( aPluginData.Active() )
-        {
-        // Active view configuration is about to change
-        InvalidateActiveView();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NotifyWidgetAdditionL()
-// Notifys widget is added
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::NotifyWidgetAdditionL( const CXnPluginData& aPluginData )
-    {
-    for ( TInt i = 0; i < iObservers.Count(); i++ )
-        {
-        iObservers[i]->NotifyWidgetAdditionL( aPluginData );
-        }
-    
-    if ( aPluginData.Active() )
-        {
-        // Update UI appearance after active view configuration is changed
-        iUiEngine->RenderUIL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::NotifyWidgetRemovalL()
-// Notifys widget is removed
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::NotifyWidgetRemovalL( const CXnPluginData& aPluginData )
-    {
-    // This loop is intend to go from "count - 1 to 0", because CXnEditor is
-    // the first registered observer and it must be notified as the last one
-    for ( TInt i = iObservers.Count() - 1; i >= 0 ; i-- )
-        {
-        iObservers[i]->NotifyWidgetRemovalL( aPluginData ); 
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::UpdateCachesL()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::UpdateCachesL()
-    {
-    CXnViewData& activeViewData( ActiveViewData() );
-    iControls.Reset();
-    activeViewData.ControlsL( iControls );
-    iAppearanceNodes.Reset();
-    activeViewData.AppearanceNodesL( iAppearanceNodes );
-    iResources->Reset();
-    activeViewData.ResourcesL( *iResources );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::SetFirstPassDrawCompleteL()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::SetFirstPassDrawCompleteL()
-    {
-    if ( iFlags.IsClear( EFirstPassDrawComplete ) )
-        {
-        iFlags.Set( EFirstPassDrawComplete );
-        
-        ValidateActiveViewL();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::SetDataPluginLoadCompleteL()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::SetDataPluginLoadCompleteL( 
-    const CXnPluginData& aPluginData )
-    {                             
-    if ( !aPluginData.Active() )
-        {
-        // Not interested
-        return;
-        }
-    
-    if ( ActiveViewData().DataPluginsLoaded() )
-        {
-        if ( iFlags.IsClear( EDataPluginsComplete ) )
-            {
-            iFlags.Set( EDataPluginsComplete );
-            
-            ValidateActiveViewL();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ValidateActiveViewL()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::ValidateActiveViewL()
-    {
-    if ( iFlags.IsSet( EViewIsValid ) )
-        {
-        // Already ok
-        return;
-        }
-    
-    if ( iFlags.IsClear( EFirstPassDrawComplete ) || 
-         iFlags.IsClear( EDataPluginsComplete ) )
-        {
-        // Not able to confirm yet
-        return;        
-        }
-
-    RPointerArray< CXnPluginData >& plugins( ActiveViewData().PluginData() );
-
-    TInt count( iFailedPlugins.Count() );
-        
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        CXnPluginData* plugin( plugins[i] );
-                
-        const TDesC8& state( plugin->PluginState() );
-        
-        if ( state.CompareF( KStateError ) == 0 && plugin->Removable() )
-            {
-            if ( iFailedPlugins.Find( plugin ) == KErrNotFound )
-                {
-                iFailedPlugins.AppendL( plugin );
-                }
-            }            
-        }
-
-    // This condition prevents recursion
-    if ( iFailedPlugins.Count() > 0 && count == 0 )
-        {
-        // Disable layout and redraw until all plugins are removed
-        iUiEngine->DisableRenderUiLC();
-        
-        for ( TInt i = 0; i < iFailedPlugins.Count(); i++ )
-            {
-            UnloadWidgetFromPluginL( *iFailedPlugins[i] );
-            }        
-        
-        HBufC* msg( StringLoader::LoadLC( R_QTN_HS_ERROR_WIDGETS_REMOVED ) );
-            
-        CAknErrorNote* note = new ( ELeave ) CAknErrorNote;
-        CleanupStack::PushL( note );
-        
-        note->ExecuteLD( *msg );
-        
-        CleanupStack::Pop( note );
-        CleanupStack::PopAndDestroy( msg );
-        
-        iUiEngine->RenderUIL();
-
-        CleanupStack::PopAndDestroy(); // DisableRenderUiLC()
-        
-        iFailedPlugins.Reset();               
-        }
-    
-    // All failed plugins are handled
-    if( iFailedPlugins.Count() == 0 )
-        {
-        iFlags.Set( EViewIsValid );
-        
-        SetOnlineStateL( iAppUiAdapter, ActiveViewData() );
-        
-        // Remaining views can be now loaded
-        iRootData->LoadRemainingViews();        
-        }       
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::InvalidateActiveView()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::InvalidateActiveView()
-    {
-    // Need to cancel async activities while view is invalidated
-    iRootData->CancelLoadRemainingViews();
-
-    iFlags.Clear( EFirstPassDrawComplete );
-    iFlags.Clear( EDataPluginsComplete );
-    iFlags.Clear( EViewIsValid );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ReportWidgetAmountL()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::ReportWidgetAmountL( const CXnViewData& aViewData )
-    {
-    CXnNode* node( aViewData.ViewNode() );
-
-    if ( !iWidgetAmountTrigger )
-        {
-        iWidgetAmountTrigger = BuildTriggerL( *iUiEngine,              
-            XnPropertyNames::action::trigger::name::KWidgetAmount );
-        }
-
-    RPointerArray< CXnPluginData >& plugins( aViewData.PluginData() );
-    TInt max( plugins.Count() );
-    TInt count( 0 );
-
-    for ( TInt i = 0; i < plugins.Count(); i++ )
-        {
-        CXnPluginData* plugin( plugins[i] );
-        
-        if ( plugin->Occupied() )
-            {
-            if( plugin->Removable() )
-                {
-                count++;
-                }
-            else
-                {
-                // non-removable widget consumes max amount
-                max--;
-                }                      
-            }
-        }
-
-    CXnProperty* prop(
-        iWidgetAmountTrigger->GetPropertyL( XnPropertyNames::action::KValue ) );
-
-    if ( prop )
-        {
-        if ( count == max )
-            {
-            // All plugins occupied, report max widget amount reached
-            _LIT8( KMax, "max" );
-            
-            static_cast< CXnDomPropertyValue* >(
-                prop->Property()->PropertyValueList().Item( 0 ) )
-                ->SetStringValueL( CXnDomPropertyValue::EString, KMax() );
-            }
-        else
-            {
-            // Report number of widgets
-            TBuf8< 8 > value;
-            
-            value.AppendNum( count );
-            
-            static_cast< CXnDomPropertyValue* >(
-                prop->Property()->PropertyValueList().Item( 0 ) )
-                ->SetStringValueL( CXnDomPropertyValue::EString, value );
-            }
-        }
-
-    node->ReportXuikonEventL( *iWidgetAmountTrigger );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::UpdateWallpaperL
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::UpdateWallpaperL( CXnViewData& aCurrent, CXnViewData& aNew )
-    {
-    iAppUiAdapter.ViewAdapter().BgManager().WallpaperChanged( aCurrent, aNew );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ShowOperationFailedMessageL
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::ShowDiskFullMessageL() const
-    {
-    HBufC* msg( StringLoader::LoadLC( R_QTN_HS_OPERATION_FAILED_NO_DISK ) ); 
-
-    CAknErrorNote* note = new ( ELeave ) CAknErrorNote; 
-    CleanupStack::PushL( note ); 
-           
-    note->ExecuteLD( *msg );
-           
-    CleanupStack::Pop( note ); 
-    CleanupStack::PopAndDestroy( msg );     
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::OOMSysHandler
-// -----------------------------------------------------------------------------
-//
-CXnOomSysHandler& CXnViewManager::OomSysHandler() const
-    {
-    return *iOomSysHandler;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::UpdateViewSwitcherInformationL()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::UpdatePageManagementInformationL()
-    {
-    // Update MSK info
-    // Obtain menu bar
-    CXnNode* menuBar( iUiEngine->MenuBarNode() );
-
-    if ( menuBar )
-        {
-        // Get object implementing MXnMenuInterface
-        XnMenuInterface::MXnMenuInterface* menuIf( NULL );
-        XnComponentInterface::MakeInterfaceL( menuIf, menuBar->AppIfL() );
-        
-        if ( menuIf )
-            {
-            // Get count of views in array and index of actual view
-            TInt count( ViewAmount() );
-            TInt current( ViewIndex() + 1 );
-
-            // Update MSK icon
-            /*
-            TInt index = ResolveIconIndex( count, current );
-            menuIf->SetSoftKeyImageL( KSkinIds[index],
-                                      KNullDesC, 
-                                      0,
-                                      0,
-                                      XnMenuInterface::MXnMenuInterface::ECenter, 
-                                      ETrue );
-            */
-            TInt index = ResolveIconIndex( count, current );
-            TAknsItemID iconId = ResolveIconId( index );
-            menuIf->SetSoftKeyImageL( iconId,
-                                      KNullDesC, 
-                                      0,
-                                      0,
-                                      XnMenuInterface::MXnMenuInterface::ECenter, 
-                                      ETrue );            
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::UpdatePluginStateL()
-// -----------------------------------------------------------------------------
-//
-void CXnViewManager::UpdatePluginStateL( CXnPluginData& aPluginData )
-    {
-    if ( aPluginData.ConfigurationId().Length() == 0 && 
-         aPluginData.PluginId().Length() )
-        {
-        CHspsConfiguration* configuration( 
-            iHspsWrapper->GetPluginConfigurationL( aPluginData.PluginId() ) );
-        CleanupStack::PushL( configuration );
-        aPluginData.SetConfigurationIdL( configuration->ConfId() );
-        CleanupStack::PopAndDestroy( configuration );
-        }
-
-    if ( aPluginData.ConfigurationId().Length() && 
-         aPluginData.PluginId().Length() )
-        {
-        iHspsWrapper->SetConfStateL( 
-                aPluginData.ConfigurationId(), aPluginData.PluginState() );        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::MaxPages()
-// 
-// -----------------------------------------------------------------------------
-//
-TInt32 CXnViewManager::MaxPages()
-    {
-    return iRootData->MaxPages();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewManager::ResolveIconIndex
-// 
-// -----------------------------------------------------------------------------
-TInt CXnViewManager::ResolveIconIndex( TInt aPageCount, TInt aPageNum ) const
-    {
-    TInt iconCount( 0 );
-
-    // Calculate total amount of icons. Each page has a aPage amount of icons.
-    for ( TInt i( aPageCount ); 0 < i; i-- )
-        {
-        iconCount += i;
-        }
-
-    TInt index( iconCount - aPageCount + aPageNum - 1 );
-
-    return index;
-    }
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewnodeimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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:  View node implementaton
-*
-*/
-
-// User includes
-#include "xnviewnodeimpl.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnViewNodeImpl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewNodeImpl* CXnViewNodeImpl::NewL( CXnType* aType )
-    {
-    CXnViewNodeImpl* self = new( ELeave ) CXnViewNodeImpl;
-    CleanupStack::PushL( self );
-    self->ConstructL( aType );
-    CleanupStack::Pop();
-
-    return self;    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewNodeImpl::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnViewNodeImpl::ConstructL( CXnType* aType )
-    {
-    CXnNodeImpl::ConstructL( aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewNodeImpl::CXnViewNodeImpl()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnViewNodeImpl::CXnViewNodeImpl()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewNodeImpl::~CXnViewNodeImpl()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnViewNodeImpl::~CXnViewNodeImpl()
-    {    
-    }
-
-// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewsnodeimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +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:  Implementation of views node
-*
-*/
-
-// INCLUDES
-
-// USER INCLUDES
-#include    "xnviewsnodeimpl.h"
-#include    "xncomponent.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnViewsNodeImpl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnViewsNodeImpl* CXnViewsNodeImpl::NewL( CXnType* aType )
-    {
-    CXnViewsNodeImpl* self = new( ELeave ) CXnViewsNodeImpl;
-    CleanupStack::PushL( self );
-    self->ConstructL( aType );
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewsNodeImpl::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnViewsNodeImpl::ConstructL( CXnType* aType )
-    {
-    CXnNodeImpl::ConstructL( aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewsNodeImpl::CXnViewsNodeImpl()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnViewsNodeImpl::CXnViewsNodeImpl() 
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewsNodeImpl::~CXnViewsNodeImpl()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnViewsNodeImpl::~CXnViewsNodeImpl()
-    {
-    delete iComponent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewsNodeImpl::Component()
-// Returns the component associated with the views-node.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnComponent* CXnViewsNodeImpl::Component()
-    {
-    return iComponent;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnViewsNodeImpl::Component()
-// Associates given component with the views-node.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnViewsNodeImpl::SetComponent( CXnComponent* aComponent )
-    {
-    if ( iComponent != NULL )
-        {
-        return;
-        }
-    iComponent = aComponent;
-    }
--- a/idlehomescreen/xmluirendering/uiengine/src/xnwallpapercontainer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +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:  Wallpaper view's container.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "xnwallpapercontainer.h"
-
-// SYSTEM INCLUDE FILES
-#include <aknappui.h>
-#include <AknsSkinInstance.h>
-#include <AknUtils.h>
-#include <AknsUtils.h>
-#include <AknsDrawUtils.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CXnWallpaperContainer::CXnWallpaperContainer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnWallpaperContainer* CXnWallpaperContainer::NewL()
-    {
-    CXnWallpaperContainer* self = new (ELeave) CXnWallpaperContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CXnWallpaperContainer::ConstructL()
-    {
-    CreateWindowL();
-    TRect rect = iAvkonAppUi->ClientRect();
-    iBgContext = CAknsBasicBackgroundControlContext::NewL(
-            KAknsIIDQsnBgScreen, rect, EFalse );
-    SetRect( rect );
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnWallpaperContainer::~CXnWallpaperContainer()
-    {
-    if ( iBgContext )
-        {
-        delete iBgContext;
-        iBgContext = NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWallpaperContainer::Draw
-// -----------------------------------------------------------------------------
-//
-void CXnWallpaperContainer::Draw( const TRect& aRect ) const
-    {
-    CWindowGc& gc = SystemGc();
-     
-    // draw background skin.
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsDrawUtils::Background( skin, iBgContext, this, gc, aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWallpaperContainer::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CXnWallpaperContainer::SizeChanged()
-    {
-    if ( iBgContext )
-        {
-        iBgContext->SetRect(Rect());
-        TRect rect = Rect();
-        }
-    }
- 
-// -----------------------------------------------------------------------------
-// CXnWallpaperContainer::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CXnWallpaperContainer::HandleResourceChange(TInt aType)
-    {
-    TRect rect;
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, rect);
-        SetRect(rect);
-        }
-    CCoeControl::HandleResourceChange(aType);
-    }
-
-//  End of File
--- a/idlehomescreen/xmluirendering/uiengine/src/xnwallpaperview.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +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:  Wallpaper view.
-*
-*/
-
-
-// INCLUDE FILES
-#include "xnwallpaperview.h"
-#include "xnwallpapercontainer.h"
-#include "xnuiengine.h"
-#include "xnappuiadapter.h"
-#include "xnviewadapter.h"
-#include "xnbackgroundmanager.h"
-#include <xnuiengine.rsg>
-
-// SYSTEM INCLUDE FILES
-#include <aknappui.h>
-#include <eikbtgpc.h>
-#include <avkon.rsg>
-#include <AknsWallpaperUtils.h>
-#include <MGFetch.h>
-#include <aknnotewrappers.h>
-#include <StringLoader.h> 
-#include <caf/caf.h>
-
-_LIT8( KMulti, "multi" );
-const TInt KFileArrayGranularity = 6;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CXnWallpaperView::CXnWallpaperView( CXnUiEngine& aEngine ) :
-    iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CXnWallpaperView::ConstructL()
-    {
-    BaseConstructL();
-    iTimer = CPeriodic::NewL( CActive::EPriorityIdle );
-    }
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnWallpaperView* CXnWallpaperView::NewL( CXnUiEngine& aEngine )
-    {
-    CXnWallpaperView* self = new (ELeave) CXnWallpaperView( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnWallpaperView::~CXnWallpaperView()
-    {
-    if ( iContainer )
-        {
-        delete iContainer;
-        iContainer = NULL;
-        }
-    delete iTimer;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWallpaperView::Id
-// -----------------------------------------------------------------------------
-//
-TUid CXnWallpaperView::Id() const
-    {
-    return KWallpaperViewUid;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWallpaperView::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CXnWallpaperView::DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid /*aCustomMessageId*/,
-            const TDesC8& aCustomMessage )
-    {
-    iAvkonAppUi->StatusPane()->SwitchLayoutL(
-            R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT );
-    iAvkonAppUi->StatusPane()->DrawNow();
-    if ( !iContainer )
-        {
-        iContainer = CXnWallpaperContainer::NewL();
-        iAvkonAppUi->AddToStackL( *this,  iContainer );
-        iContainer->ActivateL();
-        iContainer->DrawNow();
-        }
-    
-    iData.iAppUid = aPrevViewId.iAppUid;
-    iData.iViewUid = aPrevViewId.iViewUid; 
-    iData.iMultiple = EFalse;
-    iData.iTimer = iTimer;
-    
-    if( aCustomMessage == KMulti )
-        {
-        iData.iMultiple = ETrue;
-        }
-
-    // Run image selection dialog asynchronously
-    if ( iTimer->IsActive() )
-        {
-        iTimer->Cancel();
-        }
-    iTimer->Start( 0, 1000, TCallBack( TimerCallbackL, &iData ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWallpaperView::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CXnWallpaperView::DoDeactivate()
-    {
-    if ( iContainer )
-        {
-        iAvkonAppUi->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWallpaperView::TimerCallback
-// -----------------------------------------------------------------------------
-//
-TInt CXnWallpaperView::TimerCallbackL(TAny *aPtr)
-    {
-    TInt errAddWallpaper = KErrNone;
-    
-    TXnWallpaperViewData* data = reinterpret_cast<TXnWallpaperViewData*>( aPtr );
-    data->iTimer->Cancel();
-    
-    CDesCArrayFlat* files = 
-        new (ELeave) CDesCArrayFlat( KFileArrayGranularity );
-    CleanupStack::PushL( files );
-    TBool selected = EFalse;
-
-    TRAPD( err, selected = MGFetch::RunL( *files, EImageFile, data->iMultiple ) );
-    if ( err == KErrNone &&
-         selected &&
-         files->MdcaCount() > 0 )
-        {
-        // set wallpaper.
-        if( files->MdcaCount() == 1 )
-            {
-            CXnAppUiAdapter* appui = static_cast< CXnAppUiAdapter* >( iAvkonAppUi );
-            CXnBackgroundManager& bgManager = appui->ViewAdapter().BgManager();
-            errAddWallpaper = bgManager.AddWallpaperL( files->MdcaPoint( 0 ) );
-            }
-        }
-    CleanupStack::PopAndDestroy( files );
-
-    if( errAddWallpaper == KErrCACorruptContent )
-        {
-        //load message text
-        HBufC* msg = StringLoader::LoadLC( R_QTN_HS_CORRUPTED_IMAGE_NOTE );
-        //ensure that dialog will not disappear immediatelly - by const. param
-        CAknErrorNote* dialog = new (ELeave) CAknErrorNote( true );
-        CleanupStack::PushL( dialog );
-        //show dialog to user and destroy it
-        dialog->ExecuteLD( *msg );
-        CleanupStack::Pop( dialog );
-        CleanupStack::PopAndDestroy( msg );
-        }
-    
-    iAvkonAppUi->ActivateViewL( TVwsViewId( data->iAppUid, data->iViewUid ) );
-
-    return EFalse;
-    }
-
-
-//  End of File
--- a/idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,519 +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:
-*
-*/
-
-
-#include <e32base.h>
-#include <e32const.h>
-#include <coecntrl.h>
-#include <coemain.h>
-
-#include <AknUtils.h>
-
-#include "xnwidgetextensionadapter.h"
-#include "xncontroladapter.h"
-
-#include "xncomponentnodeimpl.h"
-#include "xncomponent.h"
-
-#include "xnuiengine.h"
-#include "xnhittest.h"
-
-#include "xnnode.h"
-#include "xnnodepluginif.h"
-#include "xnviewnodeimpl.h"
-#include "xnnodepluginif.h"
-#include "xndomdocument.h"
-#include "xnproperty.h"
-#include "xnodt.h"  
-#include "xntype.h"
-#include "xndomnode.h"
-#include "xndomstringpool.h"
-
-#include "xnappuiadapter.h"
-#include "xnviewmanager.h"
-#include "xnviewdata.h"
-#include "xnplugindata.h"
-
-
-_LIT8( KPopUpText, "popup" );
-_LIT8( KPositionHint, "_s60-position-hint" );
-_LIT8( KWidgetNodeName, "widget" );
-_LIT8( KParentIdName, "parentid" );
-_LIT8( KDisplay, "display" );
-_LIT8( KNone, "none" );
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnWidgetExtensionAdapter::NewL
-// Two-phased constructor. Can leave.
-// -----------------------------------------------------------------------------
-//
-CXnWidgetExtensionAdapter* CXnWidgetExtensionAdapter::NewL( 
-    CXnNodePluginIf& aNode )
-    {
-    CXnWidgetExtensionAdapter* self = 
-        new ( ELeave ) CXnWidgetExtensionAdapter( aNode );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWidgetExtensionAdapter::~CXnWidgetExtensionAdapter
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CXnWidgetExtensionAdapter::~CXnWidgetExtensionAdapter()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWidgetExtensionAdapter::CXnWidgetExtensionAdapter
-// C++ default constructor. Must not leave.
-// -----------------------------------------------------------------------------
-//
-CXnWidgetExtensionAdapter::CXnWidgetExtensionAdapter( CXnNodePluginIf& aNode )
-    : iNode( aNode ), iPositionHint( ENone )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWidgetExtensionAdapter::ConstructL
-// 2nd phase constructor. Can leave.
-// -----------------------------------------------------------------------------
-//    
-void CXnWidgetExtensionAdapter::ConstructL()
-    {
-    CreateWindowL();
-    Window().SetRequiredDisplayMode( EColor16MA );
-
-    // this adapter handles both widgetextension and popup nodes
-    // we have to decide which one of them is the recent one    
- 
-    CXnType* typeInfo = iNode.Node().Type();
-    const TDesC8& type = typeInfo->Type();
-
-    if ( ( type != KPopUpText ) &&
-         ( Window().SetTransparencyAlphaChannel() == KErrNone ) )
-        {
-        Window().SetBackgroundColor( ~0 );     
-        }
-    iUiEngine = iNode.Node().UiEngine();
-    CXnControlAdapter::ConstructL( iNode );
-    EnableDragEvents();   
-
-    iAppUiAdapter = static_cast< CXnAppUiAdapter* >( iAvkonAppUi );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWidgetExtensionAdapter::MakeVisible
-// 
-// -----------------------------------------------------------------------------
-// 
-void CXnWidgetExtensionAdapter::MakeVisible( TBool aVisible )
-    {
-   
-    TBool visible( IsVisible() ? ETrue : EFalse );
-    if ( visible == aVisible )
-        {
-        return;
-        }
-
-    SetPointerCapture( aVisible );
-    
-    CXnPluginData& plugin( 
-            iAppUiAdapter->ViewManager().ActiveViewData().Plugin( &iNode.Node() ) );
-
-    plugin.SetIsDisplayingPopup( aVisible, &iNode.Node() );
-    
-    CXnType* typeInfo = iNode.Node().Type();
-    const TDesC8& type = typeInfo->Type();
-
-    if ( type != KPopUpText )
-        {
-        DrawableWindow()->FadeBehind( aVisible );
-        }
-    
-    if ( aVisible && type == KPopUpText )
-        {        
-        // read position-hint property and set-up its variable
-        CXnProperty* positionHintProp = NULL;
-        TRAP_IGNORE( positionHintProp = iNode.Node().GetPropertyL( KPositionHint ) );
-                   
-        if ( positionHintProp )
-            {
-            const TDesC8& displayHintVal = positionHintProp->StringValue();
-                    
-            if ( displayHintVal == XnPropertyNames::tooltip::positionhint::KAboveLeft )
-                {
-                iPositionHint = EAboveLeft;
-                }
-            else if ( displayHintVal == XnPropertyNames::tooltip::positionhint::KAboveRight )
-                {
-                iPositionHint = EAboveRight;
-                }
-            else if ( displayHintVal == XnPropertyNames::tooltip::positionhint::KBelowLeft )
-                {
-                iPositionHint = EBelowLeft;
-                }
-            else if ( displayHintVal == XnPropertyNames::tooltip::positionhint::KBelowRight )
-                {
-                iPositionHint = EBelowRight;
-                }
-            else if ( displayHintVal == XnPropertyNames::tooltip::positionhint::KRight )
-                {
-                iPositionHint = ERight;
-                }
-            else if ( displayHintVal == XnPropertyNames::tooltip::positionhint::KLeft )
-                {
-                iPositionHint = ELeft;
-                }
-            else 
-                {
-                 // if the value if of unknown type, use default one
-                 if ( AknLayoutUtils::LayoutMirrored() )
-                     {
-                     iPositionHint = EAboveRight;
-                     }
-                     else
-                     {
-                     iPositionHint = EAboveLeft; 
-                     }
-                 }
-        
-            if ( iPositionHint != ENone )
-                {    
-                // the popup is going visible and position-hind is available
-                // calculate its position
-                CalculatePosition();
-                }
-            }        
-        }
-
-    CCoeControl::MakeVisible( aVisible );            
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWidgetExtensionAdapter::HandlePointerEventL
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnWidgetExtensionAdapter::HandlePointerEventL( 
-    const TPointerEvent& aPointerEvent )
-    {    
-    
-    CXnType* typeInfo = iNode.Node().Type();
-    const TDesC8& type = typeInfo->Type();
-    
-    // in case of popup, we have to make sure that 
-    // it will be closed after tapping outside of the
-    // area of itself and its parent
-    if ( type == KPopUpText )
-        {
-        
-        // check if the tap was inside of popup
-        TRect popupRect = this->Rect();
-        popupRect.Move(this->Position() );
-        TBool isInPopupWindow = popupRect.Contains(
-                aPointerEvent.iParentPosition );
-
-        if ( !isInPopupWindow )
-            {
-            
-            // if tap was outside of window, check if tap was 
-            // inside of the parrent
-            CXnProperty* parentIdProp = iNode.Node().GetPropertyL(
-                    KParentIdName );
-            
-            if ( parentIdProp )
-                {                
-                const TDesC8& parentIdVal = parentIdProp->StringValue();
-                CXnNode* parentN(iUiEngine->FindNodeByIdL( parentIdVal,
-                        iNode.Node().Namespace() ) );
-                
-                if ( parentN )
-                    {
-                    TRect clientRect =
-                            static_cast<CEikAppUi&> ( *iAppUiAdapter ).ClientRect();
-                    TRect parentRect = parentN->Rect();
-                    parentRect.Move( clientRect.iTl );
-                    
-                    if ( !parentRect.Contains( aPointerEvent.iParentPosition ) )
-                        {
-                        // tap was neither in popup nor in its parent -
-                        // we can close it
-                        if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-                            {
-                            CXnDomStringPool* sp =
-                                iNode.Node().DomNode()->StringPool();
-                            CXnProperty* prop = CXnProperty::NewL( KDisplay, KNone,
-                            CXnDomPropertyValue::EString, *sp );
-                            CleanupStack::PushL( prop );
-                            iNode.Node().SetPropertyL( prop );
-                            CleanupStack::Pop( prop );
-                            return;
-                            }
-                        }
-                    else
-                        {
-                        // tap was made inside of popup parent
-                        // we pass the event to it after
-                        // recalculating the taping point
-                        TPointerEvent newPointerEvent;
-                        newPointerEvent.Copy( aPointerEvent );
-                        newPointerEvent.iPosition = TPoint(
-                                 aPointerEvent.iParentPosition - clientRect.iTl );
-                        parentN->Control()->HandlePointerEventL( newPointerEvent );
-                        return;
-                        }
-                    }
-                }
-            }
-        }
-    
-    CXnControlAdapter::HandlePointerEventL( aPointerEvent );
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CXnWidgetExtensionAdapter::Draw
-// 
-// -----------------------------------------------------------------------------
-//    
-void CXnWidgetExtensionAdapter::Draw( const TRect& aRect ) const
-    {
-        CXnControlAdapter::Draw( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CalculatePosition
-// This is used only for popup element with position hint
-// -----------------------------------------------------------------------------
-void CXnWidgetExtensionAdapter::CalculatePosition() 
-    {
-
-    // widget's rectangle
-    TRect controlRect;
-
-    // get popup's window size
-    TRect popupRect = this->Rect();
-
-    TRect clientRect = static_cast<CEikAppUi&>( *iAppUiAdapter ).ClientRect();
-
-    // get entire screen except control pane
-    TRect contentRect( 0, 0, clientRect.iBr.iX, clientRect.iBr.iY ); 
-
-    // resulting rectangle
-    TRect rect;
-
-    TPoint offset( clientRect.iTl );
-
-    // parent widget's rectangle ( first predecesscor which is "widget" )
-    CXnNode* parent = iNode.Node().Parent();
-
-    while ( parent )
-        {
-        const TDesC8& type( parent->DomNode()->Name() );
-        if ( type == KWidgetNodeName )
-            {
-            break;
-            }
-        parent = parent->Parent();
-        }
-    
-    // if predecesscor widget was not found, use parent's rectangle
-    if ( parent == NULL )
-        { 
-        controlRect = iNode.Node().Parent()->Rect();
-        }
-    else
-        {
-        controlRect = parent->BorderRect();
-        }
-    
-    // calculate available space for placing the popup
-    TInt spaceAbove = controlRect.iTl.iY + offset.iY;
-    TInt spaceBelow = contentRect.iBr.iY - controlRect.iBr.iY - offset.iY;
-    TInt spaceLeft = controlRect.iTl.iX + offset.iX;
-    TInt spaceRight = contentRect.iBr.iX - controlRect.iBr.iX - offset.iX;
-
-    switch ( iPositionHint )
-        {
-        
-        case EAboveLeft:
-            
-            // if this position does not fit the screen,
-            // and if below left is more suitable, use it
-            if ( spaceAbove < popupRect.Height() && spaceBelow > spaceAbove )
-                {
-                rect = TRect( TPoint( controlRect.iTl.iX, controlRect.iBr.iY ), 
-                              TPoint( controlRect.iTl.iX + popupRect.Width(), controlRect.iBr.iY + popupRect.Height() ) );
-                }
-            else
-                {
-                // use the above-left position
-                rect = TRect( TPoint( controlRect.iTl.iX, controlRect.iTl.iY - popupRect.Height() ), 
-                              TPoint( controlRect.iTl.iX + popupRect.Width(), controlRect.iTl.iY ) );
-                
-                }
-            break;
-            
-        case EAboveRight:
-            
-            // if this position does not fit the screen,
-            // and if below right is more suitable, use it
-            if ( spaceAbove < popupRect.Height() && spaceBelow > spaceAbove )
-                {
-                rect = TRect( TPoint( controlRect.iBr.iX - popupRect.Width(), controlRect.iBr.iY ), 
-                              TPoint( controlRect.iBr.iX, controlRect.iBr.iY + popupRect.Height() ) );
-                }
-            else
-                {
-                // use the above-right position
-                rect = TRect( TPoint( controlRect.iBr.iX - popupRect.Width(), controlRect.iTl.iY - popupRect.Height() ), 
-                              TPoint( controlRect.iBr.iX,  controlRect.iTl.iY ) );
-                }
-            break;
-            
-        case EBelowLeft:
-            
-            // if this position does not fit the screen,
-            // and if above left is more suitable, use it
-            if ( spaceBelow < popupRect.Height() && spaceBelow < spaceAbove )
-                {
-                rect = TRect( TPoint( controlRect.iTl.iX, controlRect.iTl.iY - popupRect.Height() ), 
-                              TPoint( controlRect.iTl.iX + popupRect.Width(), controlRect.iTl.iY ) );
-                }
-            else
-                {
-                // use the below-left position
-                rect = TRect( TPoint( controlRect.iTl.iX, controlRect.iBr.iY ), 
-                              TPoint( controlRect.iTl.iX + popupRect.Width(), controlRect.iBr.iY + popupRect.Height() ) );
-                }
-            break;
-
-        case EBelowRight:
-
-              // if this position does not fit the screen,
-              // and if above right is more suitable, use it
-              if ( spaceBelow < popupRect.Height() && spaceBelow < spaceAbove )
-                  {
-                  rect = TRect( TPoint( controlRect.iBr.iX - popupRect.Width(), controlRect.iTl.iY - popupRect.Height() ), 
-                                TPoint( controlRect.iBr.iX,  controlRect.iTl.iY ) );
-                  }
-              else
-                  {
-                  // use the below-right position
-                  rect = TRect( TPoint( controlRect.iBr.iX - popupRect.Width(), controlRect.iBr.iY ), 
-                                TPoint( controlRect.iBr.iX, controlRect.iBr.iY + popupRect.Height() ) );
-                  }
-            break;
-
-        case ERight:
-
-            // if this position does not fit the screen,
-            // and if left or above-left is more suitable, use it
-            if ( spaceRight < popupRect.Width() )
-                {
-                // use the left position if the space is big enough
-                if ( spaceLeft >= popupRect.Width() )
-                    {
-                    // use left position
-                    rect = TRect( TPoint( controlRect.iTl.iX - popupRect.Width(), controlRect.iTl.iY ), 
-                                  TPoint( controlRect.iTl.iX, controlRect.iTl.iY + popupRect.Height() ) );
-                    }
-                else if ( spaceAbove >= popupRect.Height() )
-                    {
-                    // use the above-right position
-                    rect = TRect( TPoint( controlRect.iBr.iX - popupRect.Width(), controlRect.iTl.iY - popupRect.Height() ), 
-                                  TPoint( controlRect.iBr.iX,  controlRect.iTl.iY ) );  
-                    }
-                else
-                    {
-                    // use the below-right position
-                    rect = TRect( TPoint( controlRect.iBr.iX - popupRect.Width(), controlRect.iBr.iY ), 
-                                  TPoint( controlRect.iBr.iX, controlRect.iBr.iY + popupRect.Height() ) );
-                    }
-                }
-            else
-                {
-                // use the right position
-                rect = TRect( TPoint( controlRect.iBr.iX, controlRect.iTl.iY ), 
-                              TPoint( controlRect.iBr.iX + popupRect.Width(), controlRect.iTl.iY + popupRect.Height() ) );
-                }
-                
-            break;
-            
-        case ELeft:
-            
-            // if this position does not fit the screen,
-            // and if right is more suitable, use it
-            if ( spaceLeft < popupRect.Width() )
-                {
-                // use the right position, if it the space is big enough
-                if ( spaceRight >= popupRect.Width() )
-                    {    
-                    rect = TRect( TPoint( controlRect.iBr.iX, controlRect.iTl.iY ), 
-                                  TPoint( controlRect.iBr.iX + popupRect.Width(), controlRect.iTl.iY + popupRect.Height() ) );
-                    }
-                else if ( spaceAbove >= popupRect.Height() )
-                    {
-                    // use the above-left position
-                    rect = TRect( TPoint( controlRect.iTl.iX, controlRect.iTl.iY - popupRect.Height() ), 
-                                  TPoint( controlRect.iTl.iX + popupRect.Width(), controlRect.iTl.iY ) );
-                    }
-                else
-                    {
-                    // use the below-left position
-                    rect = TRect( TPoint( controlRect.iTl.iX, controlRect.iBr.iY ), 
-                                  TPoint( controlRect.iTl.iX + popupRect.Width(), controlRect.iBr.iY + popupRect.Height() ) );
-                    }
-                }
-            else
-                {
-                // use the left position  
-                rect = TRect( TPoint( controlRect.iTl.iX - popupRect.Width(), controlRect.iTl.iY ), 
-                              TPoint( controlRect.iTl.iX, controlRect.iTl.iY + popupRect.Height() ) );
-                }
-            break;
-        default:
-            break;
-        }
-
-    rect.Move( offset );
-
-    // if the popup rectangle exceeds the borders of content rectangle, move it.
-    if ( rect.iTl.iY < contentRect.iTl.iY )
-        {
-        rect.Move( 0, contentRect.iTl.iY - rect.iTl.iY );
-        }
-    if ( rect.iTl.iX < contentRect.iTl.iX )
-        {
-        rect.Move( contentRect.iTl.iX - rect.iTl.iX, 0 );
-        }
-    if ( rect.iBr.iY > contentRect.iBr.iY )
-        {
-        rect.Move( 0, contentRect.iBr.iY - rect.iBr.iY );
-        }
-    if ( rect.iBr.iX > contentRect.iBr.iX )
-        {
-        rect.Move( contentRect.iBr.iX - rect.iBr.iX, 0 );
-        }
-    this->SetRect( rect );
-    }
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/uiresource/bwins/xn3resourceu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-EXPORTS
-	?CacheType@CXnResource@@QBE?AW4TXnCacheType@@XZ @ 1 NONAME ; enum TXnCacheType CXnResource::CacheType(void) const
-	?CloneL@CXnResource@@QAEPAV1@XZ @ 2 NONAME ; class CXnResource * CXnResource::CloneL(void)
-	?ExternalizeL@CXnResource@@QBEXAAVRWriteStream@@@Z @ 3 NONAME ; void CXnResource::ExternalizeL(class RWriteStream &) const
-	?FileName@CXnResource@@QBEABVTDesC16@@XZ @ 4 NONAME ; class TDesC16 const & CXnResource::FileName(void) const
-	?GetDataStreamLength@CXnResource@@QBEHXZ @ 5 NONAME ; int CXnResource::GetDataStreamLength(void) const
-	?InternalizeL@CXnResource@@QAEXAAVRReadStream@@@Z @ 6 NONAME ; void CXnResource::InternalizeL(class RReadStream &)
-	?LockingPolicy@CXnResource@@QBE?AW4TXnLockingPolicy@@XZ @ 7 NONAME ; enum TXnLockingPolicy CXnResource::LockingPolicy(void) const
-	?MimeType@CXnResource@@QBE?AVTDataType@@XZ @ 8 NONAME ; class TDataType CXnResource::MimeType(void) const
-	?NameSpace@CXnResource@@QBEABVTDesC16@@XZ @ 9 NONAME ; class TDesC16 const & CXnResource::NameSpace(void) const
-	?NewL@CXnResource@@SAPAV1@XZ @ 10 NONAME ; class CXnResource * CXnResource::NewL(void)
-	?NewLC@CXnResource@@SAPAV1@AAVRReadStream@@@Z @ 11 NONAME ; class CXnResource * CXnResource::NewLC(class RReadStream &)
-	?Offset@CXnResource@@QBEIXZ @ 12 NONAME ; unsigned int CXnResource::Offset(void) const
-	?ReadStream@CXnResource@@QAEAAVRBufReadStream@@I@Z @ 13 NONAME ; class RBufReadStream & CXnResource::ReadStream(unsigned int)
-	?ResourceId@CXnResource@@QBEABVTDesC16@@XZ @ 14 NONAME ; class TDesC16 const & CXnResource::ResourceId(void) const
-	?ResourceType@CXnResource@@QBE?AW4TXnResourceType@@XZ @ 15 NONAME ; enum TXnResourceType CXnResource::ResourceType(void) const
-	?SetCacheType@CXnResource@@QAEXW4TXnCacheType@@@Z @ 16 NONAME ; void CXnResource::SetCacheType(enum TXnCacheType)
-	?SetFileNameL@CXnResource@@QAEXABVTDesC16@@@Z @ 17 NONAME ; void CXnResource::SetFileNameL(class TDesC16 const &)
-	?SetLockingPolicy@CXnResource@@QAEXW4TXnLockingPolicy@@@Z @ 18 NONAME ; void CXnResource::SetLockingPolicy(enum TXnLockingPolicy)
-	?SetMimeTypeL@CXnResource@@QAEXVTDataType@@@Z @ 19 NONAME ; void CXnResource::SetMimeTypeL(class TDataType)
-	?SetNameSpaceL@CXnResource@@QAEXABVTDesC16@@@Z @ 20 NONAME ; void CXnResource::SetNameSpaceL(class TDesC16 const &)
-	?SetOffset@CXnResource@@QAEXI@Z @ 21 NONAME ; void CXnResource::SetOffset(unsigned int)
-	?SetResourceIdL@CXnResource@@QAEXABVTDesC16@@@Z @ 22 NONAME ; void CXnResource::SetResourceIdL(class TDesC16 const &)
-	?SetResourceType@CXnResource@@QAEXW4TXnResourceType@@@Z @ 23 NONAME ; void CXnResource::SetResourceType(enum TXnResourceType)
-	?WriteStream@CXnResource@@QAEAAVRBufWriteStream@@I@Z @ 24 NONAME ; class RBufWriteStream & CXnResource::WriteStream(unsigned int)
-
--- a/idlehomescreen/xmluirendering/uiresource/eabi/xn3resourceu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-EXPORTS
-	_ZN11CXnResource10ReadStreamEj @ 1 NONAME
-	_ZN11CXnResource11WriteStreamEj @ 2 NONAME
-	_ZN11CXnResource12InternalizeLER11RReadStream @ 3 NONAME
-	_ZN11CXnResource12SetCacheTypeE12TXnCacheType @ 4 NONAME
-	_ZN11CXnResource12SetFileNameLERK7TDesC16 @ 5 NONAME
-	_ZN11CXnResource12SetMimeTypeLE9TDataType @ 6 NONAME
-	_ZN11CXnResource13SetNameSpaceLERK7TDesC16 @ 7 NONAME
-	_ZN11CXnResource14SetResourceIdLERK7TDesC16 @ 8 NONAME
-	_ZN11CXnResource15SetResourceTypeE15TXnResourceType @ 9 NONAME
-	_ZN11CXnResource16SetLockingPolicyE16TXnLockingPolicy @ 10 NONAME
-	_ZN11CXnResource4NewLEv @ 11 NONAME
-	_ZN11CXnResource5NewLCER11RReadStream @ 12 NONAME
-	_ZN11CXnResource6CloneLEv @ 13 NONAME
-	_ZN11CXnResource9SetOffsetEj @ 14 NONAME
-	_ZNK11CXnResource10ResourceIdEv @ 15 NONAME
-	_ZNK11CXnResource12ExternalizeLER12RWriteStream @ 16 NONAME
-	_ZNK11CXnResource12ResourceTypeEv @ 17 NONAME
-	_ZNK11CXnResource13LockingPolicyEv @ 18 NONAME
-	_ZNK11CXnResource19GetDataStreamLengthEv @ 19 NONAME
-	_ZNK11CXnResource6OffsetEv @ 20 NONAME
-	_ZNK11CXnResource8FileNameEv @ 21 NONAME
-	_ZNK11CXnResource8MimeTypeEv @ 22 NONAME
-	_ZNK11CXnResource9CacheTypeEv @ 23 NONAME
-	_ZNK11CXnResource9NameSpaceEv @ 24 NONAME
-	_ZTI11CXnResource @ 25 NONAME ; #<TI>#
-	_ZTV11CXnResource @ 26 NONAME ; #<VT>#
-
--- a/idlehomescreen/xmluirendering/uiresource/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-//DEFAULT
-ARMV5 WINSCW
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-
-
-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
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-//Exporting new system headers:
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-xnresource.mmp
-
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-PRJ_TESTMMPFILES
-// specify the .mmp files required for building any test programs here
-// Example:
-/*
-/agnmodel/agtest/T_ATTEND.MMP	manual
-*/
-
-PRJ_TESTEXPORTS
-// specify the files to be copied from the source directories to the releasables'
-// directories for use with test programs.
-// Example:
-/*
-/agnmodel/inc/agmcomontest.h /epoc32/include/agmcomontest.h
-*/
-
-//  End of File  
\ No newline at end of file
--- a/idlehomescreen/xmluirendering/uiresource/group/xnresource.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:  Project definition for XnResult
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          xn3resource.dll
-TARGETTYPE      dll
-
-VENDORID        VID_DEFAULT
-
-CAPABILITY      CAP_GENERAL_DLL
-
-SOURCEPATH    ../src 
-SOURCE          xnresource.cpp
-
-USERINCLUDE     . 
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         efsrv.lib
-LIBRARY         estor.lib
-LIBRARY         apmime.lib // MIME-library
-LIBRARY         bafl.lib
-LIBRARY         charconv.lib
-LANG    SC
--- a/idlehomescreen/xmluirendering/uiresource/src/xnresource.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +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:  Resource definition of Xuikon Application Theme Management Services.
-*                See XnResource.h.
-*
-*
-*/
-
-
-#include "xnresource.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnResource::CXnResource()
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnResource::CXnResource()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnResource::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnResource* CXnResource::NewL()
-    {
-    CXnResource* self = new( ELeave ) CXnResource;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnResource* CXnResource::NewLC( RReadStream& aStream )
-    {
-    CXnResource* resource = CXnResource::NewL();
-    CleanupStack::PushL( resource );
-    resource->InternalizeL( aStream );
-    return resource;
-    }
-   
-   
-// -----------------------------------------------------------------------------
-// CXnResource::CloneL()
-// Returns an exact copy of this CXnResource object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnResource* CXnResource::CloneL()
-    {
-    CXnResource* clone = CXnResource::NewL();
-    CleanupStack::PushL( clone );
-    clone->SetLockingPolicy( iLockingPolicy );
-    clone->SetCacheType( iCacheType );
-    clone->SetResourceType( iResourceType );
-      
-    clone->SetResourceIdL( *iResourceID );
-    clone->SetNameSpaceL( *iNameSpace );
-    clone->SetFileNameL( *iFileName );
-    clone->SetMimeTypeL( iMimeType );
-    
-    CleanupStack::Pop( clone );
-    return clone;
-    }
-
-// Destructor
-CXnResource::~CXnResource()
-    {
-    iWriteStream.Close();
-    iReadStream.Close();
-    delete iResourceID;
-    delete iNameSpace;
-    delete iFileName;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnResource::ExternalizeL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::ExternalizeL( RWriteStream& aStream ) const
-    {
-    aStream.WriteUint32L( iLockingPolicy );
-    aStream.WriteUint32L( iCacheType );
-    aStream.WriteUint32L( iResourceType );
-    
-    if ( iResourceID )
-        {
-        aStream << *iResourceID;
-        }
-    else
-        {
-        aStream << KNullDesC;
-        }
-  
-    if ( iNameSpace )
-        {
-        aStream << *iNameSpace;
-        }
-    else 
-        {
-        aStream << KNullDesC;
-        }
-        
-    if ( iFileName )
-        {
-        aStream << *iFileName;
-        }
-    else 
-        {
-        aStream << KNullDesC;
-        }
-    
-     
-    iMimeType.ExternalizeL(aStream);    
- 
-    // replacement of unimplemented buffer size
-    TInt size = 0;
-    aStream.WriteUint32L( size );  
-    
-    aStream.WriteUint32L( iOffset );
-    }
-       
-// -----------------------------------------------------------------------------
-// CXnResource::InternalizeL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::InternalizeL( RReadStream& aStream )
-    {
-    iLockingPolicy = (TXnLockingPolicy)aStream.ReadUint32L();
-    iCacheType = (TXnCacheType)aStream.ReadUint32L();
-    iResourceType = (TXnResourceType)aStream.ReadUint32L();
-
-    delete iResourceID;
-    iResourceID = NULL;
-    iResourceID = HBufC::NewL(aStream, KMaxFileName );
- 
-    delete iNameSpace;
-    iNameSpace = NULL;
-    iNameSpace = HBufC::NewL(aStream, KMaxFileName );
-    
-    delete iFileName;
-    iFileName = NULL;
-    iFileName = HBufC::NewL(aStream, KMaxFileName );
-    
-
-    iMimeType.InternalizeL(aStream);
-    
-    TInt size = aStream.ReadUint32L();
-    iOffset = aStream.ReadUint32L();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::SetLockingPolicy().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::SetLockingPolicy( TXnLockingPolicy aLockingPolicy )
-    {
-    iLockingPolicy = aLockingPolicy;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::LockingPolicy().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TXnLockingPolicy CXnResource::LockingPolicy() const
-    {
-    return iLockingPolicy;        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::SetCacheType().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::SetCacheType( TXnCacheType aCacheType )
-    {
-    iCacheType = aCacheType;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::CacheType()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TXnCacheType CXnResource::CacheType() const
-    {
-    return iCacheType;        
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::SetResourceType().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::SetResourceType( TXnResourceType aResourceType )
-    {
-    iResourceType = aResourceType;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::ResourceType().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TXnResourceType CXnResource::ResourceType() const
-    {
-    return iResourceType;        
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnResource::SetResourceIdL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::SetResourceIdL( const TDesC& aResourceId )
-    {
-    delete iResourceID;
-    iResourceID = NULL;
-    iResourceID = aResourceId.AllocL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::ResourceId().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CXnResource::ResourceId() const
-    {
-    if ( iResourceID )
-        {
-        return *iResourceID;
-        }
-    else
-        {
-        return KNullDesC;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::SetNameSpaceL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::SetNameSpaceL( const TDesC& aNameSpace )
-    {
-    delete iNameSpace;
-    iNameSpace = NULL;
-    iNameSpace = aNameSpace.AllocL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::NameSpace().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CXnResource::NameSpace() const
-    {
-    if ( iNameSpace )
-        {
-        return *iNameSpace;
-        }
-    else
-        {
-        return KNullDesC;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::SetFileNameL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::SetFileNameL( const TDesC& aFileName )
-    {
-    delete iFileName;
-    iFileName = NULL;
-    iFileName = aFileName.AllocL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::FileName().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CXnResource::FileName() const
-    {
-    if ( iFileName )
-        {
-        return *iFileName;
-        }
-    else
-        {
-        return KNullDesC;
-        }
-    }
-    
-    
-// -----------------------------------------------------------------------------
-// CXnResource::SetMimeTypeL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::SetMimeTypeL( const TDataType aDataType )
-    {
-    iMimeType = aDataType;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXnResource::MimeType().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TDataType CXnResource::MimeType() const
-    {
-    return iMimeType;
-    }    
-    
-// -----------------------------------------------------------------------------
-// CXnResource::WriteStream().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RBufWriteStream& CXnResource::WriteStream( TUint aOffset )
-    {
-    iWriteStream.Open( *iBuffer, aOffset );
-    return iWriteStream;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::ReadStream().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RBufReadStream& CXnResource::ReadStream(TUint aOffset )
-    {
-    // constructing read stream on buffer 
-    iReadStream.Open( *iBuffer, aOffset );
-    return iReadStream;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::SetOffset().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnResource::SetOffset( TUint aOffset )
-    {
-    iOffset = aOffset;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnResource::Offset().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUint CXnResource::Offset() const
-    {
-    return iOffset;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnResource::GetDataStreamLength().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CXnResource::GetDataStreamLength() const
-    {
-    TInt len = sizeof( iLockingPolicy );
-    len += sizeof(iCacheType);
-    len += sizeof(iResourceType);
-    len += iResourceID->Size();
-    len += iNameSpace->Size();
-    len += iFileName->Size();
-    len += sizeof(iMimeType);
-    len += sizeof(iOffset);
-    return len;
-    }
-    
-//  End of File  
--- a/idlehomescreen/xmluirendering/utils/bwins/xn3utilsu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	?Container@CXnPointerArray@@QAEAAV?$RPointerArray@VCBase@@@@XZ @ 1 NONAME ; class RPointerArray<class CBase> & CXnPointerArray::Container(void)
-	??0TTracer@@QAE@XZ @ 2 NONAME ; TTracer::TTracer(void)
-	?Find@CXnMap@@QBEPAVCBase@@AAV2@AAVMXnComparator@@@Z @ 3 NONAME ; class CBase * CXnMap::Find(class CBase &, class MXnComparator &) const
-	?Equals@MXnComparator@@UAEHAAVCBase@@0@Z @ 4 NONAME ; int MXnComparator::Equals(class CBase &, class CBase &)
-	??0CXnType@@IAE@XZ @ 5 NONAME ; CXnType::CXnType(void)
-	?Get@CXnMap@@QBEPAVCBase@@AAV2@@Z @ 6 NONAME ; class CBase * CXnMap::Get(class CBase &) const
-	?Container@CXnMap@@QAEAAV?$RPointerArray@VCBase@@@@XZ @ 7 NONAME ; class RPointerArray<class CBase> & CXnMap::Container(void)
-	?Container@CXnPointerArrayWithOwnership@@QAEAAV?$RPointerArray@VCBase@@@@XZ @ 8 NONAME ; class RPointerArray<class CBase> & CXnPointerArrayWithOwnership::Container(void)
-	?NewL@CXnPointerArrayWithOwnership@@SAPAV1@XZ @ 9 NONAME ; class CXnPointerArrayWithOwnership * CXnPointerArrayWithOwnership::NewL(void)
-	?NewL@CXnMap@@SAPAV1@PAVMXnComparator@@@Z @ 10 NONAME ; class CXnMap * CXnMap::NewL(class MXnComparator *)
-	?NewL@CXnPointerArray@@SAPAV1@XZ @ 11 NONAME ; class CXnPointerArray * CXnPointerArray::NewL(void)
-	?NewL@CXnArray@@SAPAV1@XZ @ 12 NONAME ; class CXnArray * CXnArray::NewL(void)
-	?NewL@CXnEcomHandler@@SAPAV1@XZ @ 13 NONAME ; class CXnEcomHandler * CXnEcomHandler::NewL(void)
-	?PutL@CXnMap@@QAEXPAVCBase@@@Z @ 14 NONAME ; void CXnMap::PutL(class CBase *)
-	?PluginsL@CXnEcomHandler@@QAEXVTUid@@ABVTDesC8@@AAVCXnArray@@@Z @ 15 NONAME ; void CXnEcomHandler::PluginsL(class TUid, class TDesC8 const &, class CXnArray &)
-	??1TTracer@@QAE@XZ @ 16 NONAME ; TTracer::~TTracer(void)
-	?Print@TTracer@@SAXVTPtrC16@@@Z @ 17 NONAME ; void TTracer::Print(class TPtrC16)
-	?NewL@CXnType@@SAPAV1@ABVTDesC8@@@Z @ 18 NONAME ; class CXnType * CXnType::NewL(class TDesC8 const &)
-	?Container@CXnArray@@QAEAAV?$RArray@PAX@@XZ @ 19 NONAME ; class RArray<void *> & CXnArray::Container(void)
-	?ConstructL@CXnType@@IAEXABVTDesC8@@@Z @ 20 NONAME ; void CXnType::ConstructL(class TDesC8 const &)
-	??1CXnType@@UAE@XZ @ 21 NONAME ; CXnType::~CXnType(void)
-	??0TTracer@@QAE@VTPtrC16@@@Z @ 22 NONAME ; TTracer::TTracer(class TPtrC16)
-	?Type@CXnType@@QAEABVTDesC8@@XZ @ 23 NONAME ; class TDesC8 const & CXnType::Type(void)
-
--- a/idlehomescreen/xmluirendering/utils/eabi/xn3utilsu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-EXPORTS
-	_ZN13MXnComparator6EqualsER5CBaseS1_ @ 1 NONAME
-	_ZN14CXnEcomHandler4NewLEv @ 2 NONAME
-	_ZN14CXnEcomHandler8PluginsLE4TUidRK6TDesC8R8CXnArray @ 3 NONAME
-	_ZN15CXnPointerArray4NewLEv @ 4 NONAME
-	_ZN15CXnPointerArray9ContainerEv @ 5 NONAME
-	_ZN28CXnPointerArrayWithOwnership4NewLEv @ 6 NONAME
-	_ZN28CXnPointerArrayWithOwnership9ContainerEv @ 7 NONAME
-	_ZN6CXnMap4NewLEP13MXnComparator @ 8 NONAME
-	_ZN6CXnMap4PutLEP5CBase @ 9 NONAME
-	_ZN6CXnMap9ContainerEv @ 10 NONAME
-	_ZN7CXnType10ConstructLERK6TDesC8 @ 11 NONAME
-	_ZN7CXnType4NewLERK6TDesC8 @ 12 NONAME
-	_ZN7CXnType4TypeEv @ 13 NONAME
-	_ZN7CXnTypeC1Ev @ 14 NONAME
-	_ZN7CXnTypeC2Ev @ 15 NONAME
-	_ZN7CXnTypeD0Ev @ 16 NONAME
-	_ZN7CXnTypeD1Ev @ 17 NONAME
-	_ZN7CXnTypeD2Ev @ 18 NONAME
-	_ZN7TTracer5PrintE7TPtrC16 @ 19 NONAME
-	_ZN7TTracerC1E7TPtrC16 @ 20 NONAME
-	_ZN7TTracerC1Ev @ 21 NONAME
-	_ZN7TTracerC2E7TPtrC16 @ 22 NONAME
-	_ZN7TTracerC2Ev @ 23 NONAME
-	_ZN7TTracerD1Ev @ 24 NONAME
-	_ZN7TTracerD2Ev @ 25 NONAME
-	_ZN8CXnArray4NewLEv @ 26 NONAME
-	_ZN8CXnArray9ContainerEv @ 27 NONAME
-	_ZNK6CXnMap3GetER5CBase @ 28 NONAME
-	_ZNK6CXnMap4FindER5CBaseR13MXnComparator @ 29 NONAME
-	_ZTI14CXnEcomHandler @ 30 NONAME ; #<TI>#
-	_ZTI15CXnPointerArray @ 31 NONAME ; #<TI>#
-	_ZTI28CXnPointerArrayWithOwnership @ 32 NONAME ; #<TI>#
-	_ZTI6CXnMap @ 33 NONAME ; #<TI>#
-	_ZTI7CXnType @ 34 NONAME ; #<TI>#
-	_ZTI8CXnArray @ 35 NONAME ; #<TI>#
-	_ZTV14CXnEcomHandler @ 36 NONAME ; #<VT>#
-	_ZTV15CXnPointerArray @ 37 NONAME ; #<VT>#
-	_ZTV28CXnPointerArrayWithOwnership @ 38 NONAME ; #<VT>#
-	_ZTV6CXnMap @ 39 NONAME ; #<VT>#
-	_ZTV7CXnType @ 40 NONAME ; #<VT>#
-	_ZTV8CXnArray @ 41 NONAME ; #<VT>#
-
--- a/idlehomescreen/xmluirendering/utils/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  Building information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-ARMV5 WINSCW
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-xnutils.mmp
--- a/idlehomescreen/xmluirendering/utils/group/xnutils.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:  
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <platform/mw/aisystemuids.hrh>
-
-TARGET          xn3utils.dll
-TARGETTYPE      DLL
-UID             0x1000008d AI3_UID_UTILS
-
-VENDORID VID_DEFAULT
-CAPABILITY  CAP_GENERAL_DLL
-
-SOURCEPATH      ../src 
-SOURCE          xnutils.cpp
-SOURCE          xncomparator.cpp
-SOURCE          xntype.cpp
-SOURCE          xnpointerarraywithownership.cpp
-SOURCE          xnpointerarray.cpp
-SOURCE          xnarray.cpp
-SOURCE          xnecomhandler.cpp
-SOURCE          xnmap.cpp
-SOURCE          tracer.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../uiengine/inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib  
-LIBRARY cone.lib
-LIBRARY bafl.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikcore.lib
-LIBRARY egul.lib
-LIBRARY fbscli.lib
-LIBRARY efsrv.lib
-LIBRARY ecom.lib
-LIBRARY charconv.lib
-LIBRARY flogger.lib
-
-LANG SC
-
-
--- a/idlehomescreen/xmluirendering/utils/inc/xnlibraryloader.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +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:  Loads polymorphic dlls
-*
-*/
-
-
-
-#ifndef CXNLIBRARYLOADER_H
-#define CXNLIBRARYLOADER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-class CXnPathRepository;
-class RFs;
-class CXnArray;
-class RXnClientRequest;
-
-// CLASS DECLARATION
-
-/**
-*  Locates files from a set of defined paths
-*  @lib ?library
-*  @since Series 60 3.1
-*/
-class CXnLibraryLoader : public CBase
-    {
-    public:  // Constructors and destructor
-        struct CLibraryItem;  
-              
-        /**
-        * Two-phased constructor.
-        * @param aRFs File server session
-        */
-        IMPORT_C static CXnLibraryLoader* NewL();
-        
-        /**
-        * DEPRECATED
-        * Two-phased constructor.
-        * @param aPathRepository Path repository for handling multiple directories
-        * @param aRFs File server session
-        */
-        IMPORT_C static CXnLibraryLoader* NewL(CXnPathRepository& aPathRepository, RFs& aRFs);
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnLibraryLoader();
-
-    public: // New functions
-        /**
-        * Load libraries by wildcard
-        * @since Series 60 3.1
-        * @param aWildCard Wildcard to search
-        */
-        IMPORT_C void LoadL(const TDesC& aWildCard);
-        
-        /**
-        * Load libraries given by Definition Engine
-        * @since Series 60 3.1
-        * @param aXnClient Client interface to Definition Engine
-        * @param aAppUid Uid of the current application
-        */
-        IMPORT_C void LoadL(RXnClientRequest& aXnClient, const TUid& aAppUid);
-        /**
-        * Get pointers to library functions
-        * @since Series 60 3.1
-        */
-        IMPORT_C void Functions(CXnArray& aFunctions) const;
-        
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-        
-    protected:  // Functions from base classes
-        
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnLibraryLoader();
-
-        /**
-        * 2nd phase constructor.
-        * @param aRFs File server session
-        */
-        void ConstructL();
-
-        /**
-        * DEPRECATED
-        * 2nd phase constructor.
-        * @param aPathRepository Path repository for handling multiple directories
-        * @param aRFs File server session
-        */
-        void ConstructL(CXnPathRepository& aPathRepository, RFs& aRFs);
-
-        /**
-        * Add a library
-        * @param aItem Library to add
-        * @since Series 60 3.1
-        */
-        TInt AddItem(CLibraryItem* aItem);
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // Path repository, not owned by the loader
-        CXnPathRepository* iPathRepository;
-        // array of libraries
-        RPointerArray<CLibraryItem> iLibraries;
-        // file server session
-        RFs* iRFs;
-    };
-
-#endif      // CXnLIBRARYLOADER_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/utils/inc/xnpathrepository.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +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:  Locates files from a set of defined paths
-*
-*/
-
-
-
-#ifndef CXNPATHREPOSITORY_H
-#define CXNPATHREPOSITORY_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-class RFs;
-// CLASS DECLARATION
-
-/**
-*  Locates files from a set of defined paths
-*  @lib ?library
-*  @since Series 60 3.1
-*/
-class CXnPathRepository : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aRFs File server session
-        */
-        IMPORT_C static CXnPathRepository* NewL(RFs& aRFs);
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CXnPathRepository();
-
-    public: // New functions
-        /**
-        * Add a search path
-        * @since Series 60 3.1
-        * @param aPath Path to add
-        * @exception KXnErrAddPathFailed Adding path to repository failed.
-        */
-        IMPORT_C void AddPathL(const TDesC& aPath);
-        /**
-        * Locate a file and build a full path to the file. The path search order is last-in-first-out, the last added path is searched first.
-        * @since Series 60 3.1
-        * @param aFileName Name of the file to locate
-        * @return Full path of the file. Caller must delete the allocated pointer.
-        */
-        IMPORT_C HBufC* FindFileL(const TDesC& aFileName);
-        /**
-        * Get paths stored in the repository. Ownership is not transferred. The paths are ordered first-in-first-out, the last added path is last in the array.
-        * @since Series 60 3.1
-        * @return Paths in the repository
-        */
-        IMPORT_C RPointerArray<HBufC>& Paths();
-
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-        
-    protected:  // Functions from base classes
-        
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnPathRepository();
-
-        /**
-        * 2nd phase constructor.
-        * @param aRFs File server session
-        */
-        void ConstructL(RFs& aRFs);
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // search paths to use
-        RPointerArray<HBufC> iPaths;
-        // File server session
-        RFs* iRFs;
-    };
-
-#endif      // CXnPATHREPOSITORY_H   
-            
-// End of File
--- a/idlehomescreen/xmluirendering/utils/inc/xnpointerarraywithownership.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +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:  Heap-allocated pointer array which owns its objects
-*
-*/
-
-
-
-#ifndef CXNPOINTERARRAYWITHOWNERSHIP_H
-#define CXNPOINTERARRAYWITHOWNERSHIP_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-// CLASS DECLARATION
-
-/**
-*  Heap-allocated pointer array which owns its objects
-*  @since Series 60 3.1
-*/
-class CXnPointerArrayWithOwnership : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CXnPointerArrayWithOwnership* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CXnPointerArrayWithOwnership();
-        
-    public: // New functions
-        
-        /**
-        * Get the underlying container
-        * @since Series 60 3.1
-        * @return Underlying container
-        */
-
-        IMPORT_C RPointerArray<CBase>& Container();
-
-    public: // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        
-    protected:  // New functions
-        
-        /**
-        * ?member_description.
-        * @since Series ?XX ?SeriesXX_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CXnPointerArrayWithOwnership();
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-    
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-        // Internal container
-        RPointerArray<CBase> iContainer;
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // CXnPointerARRAYWITHOWNERSHIP_H
-            
-// End of File
--- a/idlehomescreen/xmluirendering/utils/src/tracer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +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:   
-*
-*/
-
-#include "tracer.h"
-
-#ifdef __WINS__
-// Yes, I know this does not compile for Arm, but at least we can use it in Wins
-static TInt ii;
-#endif
-
-#ifdef FILE_LOGGING_SUPPORT
-_LIT(KTracerLogFilePath, "c:\\logs\\xn3trace.log");
-#endif
-
-EXPORT_C TTracer::TTracer()
-{
-#ifdef FILE_LOGGING_SUPPORT
-    RFs fs;
-    TInt err(fs.Connect());
-    if (KErrNone == err)
-        {
-        RFile file;
-        file.Replace(fs, KTracerLogFilePath, EFileWrite);
-    	file.Close();
-    	fs.Close();
-        }
-#endif
-
-#ifdef __WINS__
-	ii = 0;
-#endif
-}
-
-EXPORT_C TTracer::TTracer(TPtrC aString)
-{
-#ifdef FILE_LOGGING_SUPPORT
-    TInt err (iFs.Connect());
-    if (KErrNone == err)
-        {
-        RFile file;
-        err (file.Open(iFs, KTracerLogFilePath, EFileWrite));
-        if (KErrNone == err)
-            {
-            TFileText tfile;
-            tfile.Set(file);
-#endif
-
-	TBuf<255> str=_L("");
-	TTime currentTime; // set current time to now
-	currentTime.HomeTime();
-	TBuf<25> strCurTime;
-	TRAP_IGNORE( currentTime.FormatL(strCurTime, _L("%H:%T:%S:%*C3 ")) );
-
-	str.Copy(strCurTime);
-
-#ifdef __WINS__
-	for(int i=0;i<ii;i++)
-	{
-		str.Append(_L("  "));
-	}
-#else
-	str.Append(_L(" "));
-#endif
-
-	iString = aString;
-	str.Append(_L("Enter: "));
-	str.Append(iString);
-
-#ifdef FILE_LOGGING_SUPPORT
-        	str.Append(_L("\r")); // carriage return
-        	tfile.Seek(ESeekEnd);
-        	tfile.Write(str);
-            }
-    	file.Close();
-        }
-#endif
-
-#ifdef __WINS__
-	ii++;
-#endif
-}
-
-
-EXPORT_C TTracer::~TTracer()
-{
-#ifdef __WINS__
-	if(ii > 0)
-	{
-		--ii;
-#endif
-
-#ifdef FILE_LOGGING_SUPPORT
-        RFile file;
-        TInt err (file.Open(iFs, KTracerLogFilePath, EFileWrite));
-        if (KErrNone == err)
-            {
-            TFileText tfile;
-            tfile.Set(file);
-#endif
-
-		TBuf<255> str=_L("");
-		TTime currentTime; // set current time to now
-		currentTime.HomeTime();
-		TBuf<25> strCurTime;
-		TRAP_IGNORE( currentTime.FormatL(strCurTime, _L("%H:%T:%S:%*C3 ")) );
-
-		str.Copy(strCurTime);
-
-#ifdef __WINS__
-		for(int i=0;i<ii;i++)
-		{
-			str.Append(_L("  "));
-		}
-#else
-		str.Append(_L(" "));
-#endif
-		str.Append(_L("Leave: "));
-		str.Append(iString);
-
-#ifdef FILE_LOGGING_SUPPORT
-        	str.Append(_L("\r")); // carriage return
-        	tfile.Seek(ESeekEnd);
-        	tfile.Write(str);
-            }
-    	file.Close();
-    	iFs.Close();
-#endif
-#ifdef __WINS__
-	}
-#endif
-}
-
-EXPORT_C void TTracer::Print(TPtrC aString)
-{
-#ifdef FILE_LOGGING_SUPPORT
-    RFs fs;
-    TInt err(fs.Connect());
-    if (KErrNone == err)
-        {
-        RFile file;
-        TInt err(file.Open(fs, KTracerLogFilePath, EFileWrite));
-        if (KErrNone == err)
-            {
-            TFileText tfile;
-            tfile.Set(file);
-#endif
-	TBuf<255> str=_L("");
-	TTime currentTime; // set current time to now
-	currentTime.HomeTime();
-	TBuf<25> strCurTime;
-	TRAP_IGNORE( currentTime.FormatL(strCurTime, _L("%H:%T:%S:%*C3 ")) );
-
-	str.Copy(strCurTime);
-
-	str.Append(_L(" "));
-	str.Append(aString);
-#ifdef FILE_LOGGING_SUPPORT
-        	str.Append(_L("\r")); // carriage return
-        	tfile.Seek(ESeekEnd);
-        	tfile.Write(str);
-            }
-    	file.Close();
-	    fs.Close();
-        }
-#endif
-}
-
--- a/idlehomescreen/xmluirendering/utils/src/xnarray.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +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:  Heap-allocated array
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xnarray.h"
-#include    "xnpanic.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-//?type ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg)  // ?description
-//    {
-
-//    ?code  // ?comment
-
-    // ?comment
-//    ?code
-//    }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnArray::CXnArray
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnArray::CXnArray()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnArray::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnArray::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnArray::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnArray* CXnArray::NewL()
-    {
-    CXnArray* self = new( ELeave ) CXnArray;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-CXnArray::~CXnArray()
-    {
-    iContainer.Reset();
-    }
-// -----------------------------------------------------------------------------
-// CXnArray::Container
-// Get the underlying container
-// -----------------------------------------------------------------------------
-EXPORT_C RArray<TAny*>& CXnArray::Container()
-	{	
-    return iContainer;
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ?function_name implements...
-// ?implementation_description.
-// Returns: ?value_1: ?description
-//          ?value_n: ?description
-//                    ?description
-// -----------------------------------------------------------------------------
-//
-//?type  ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg )  // ?description
-//    {
-
-//    ?code
-
-//    }
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/utils/src/xncomparator.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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:  Compares two objects for equality.
-*
-*/
-
-// INCLUDE FILES
-#include    "xncomparator.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// MXnComparator::Equals
-// Compares two objects
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool MXnComparator::Equals(CBase& /*aItem1*/, CBase& /*aItem2*/)
-	{
-	return EFalse;
-	}
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/utils/src/xnecomhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +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:  Handles ecom plugins
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xnecomhandler.h"
-#include    "xnpanic.h"
-#include    "xnarray.h"
-#include    "xnpointerarraywithownership.h"
-#include    <utf.h>
-#include    <ecom/ecom.h>
-#include    <ecom/implementationinformation.h>
-#include    <f32file.h>
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-/**
-*  A struct used for holding an implementation pointer and notifying ecom of implementation destruction
-*  @since Series 90 2.0
-*/
-struct CXnEcomHandler::CEcomItem : public CBase
-    {
-    CEcomItem(TUid aInterfaceUid, CBase* aPluginImpl, TUid aDestructorId) : iInterfaceUid(aInterfaceUid), iPluginImpl(aPluginImpl), iDestructorId(aDestructorId) 
-        {
-        }
-    // plugin interface id
-    TUid iInterfaceUid;
-    // plugin implementation pointer
-    CBase* iPluginImpl;
-    // ecom destructor id
-    TUid iDestructorId;
-    // plugin type
-    HBufC8* iType;
-    // destructor
-    ~CEcomItem()
-        {
-        delete iPluginImpl;
-        delete iType;
-        REComSession::DestroyedImplementation(iDestructorId);
-        }
-    };
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-//?type ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg)  // ?description
-//    {
-
-//    ?code  // ?comment
-
-    // ?comment
-//    ?code
-//    }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnEcomHandler::CXnEcomHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnEcomHandler::CXnEcomHandler()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEcomHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnEcomHandler::ConstructL()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CXnEcomHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnEcomHandler* CXnEcomHandler::NewL()
-    {
-    CXnEcomHandler* self = new( ELeave ) CXnEcomHandler;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-CXnEcomHandler::~CXnEcomHandler()
-    {
-    iPlugins.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CXnEcomHandler::PluginsL
-// Get pointers to plugins
-// -----------------------------------------------------------------------------
-EXPORT_C void CXnEcomHandler::PluginsL(TUid aInterfaceUid, const TDesC8& aType, CXnArray& aFunctions)
-    {
-    TBool cached = EFalse;
-    for (TInt i = iPlugins.Count() - 1 ; i >= 0; --i)
-        {
-        CEcomItem* tmp = iPlugins[i];
-        if (tmp->iInterfaceUid == aInterfaceUid
-        && *(tmp->iType) == aType)
-            {
-            cached = ETrue;
-            if(aFunctions.Container().Append(tmp->iPluginImpl) != KErrNone)
-                {
-                User::Leave(KXnErrAppendingPluginFailed);
-                }
-            }
-        }
-    if (cached)
-        {
-        return;
-        }
-    HBufC8* defaultData = aType.AllocL();
-    CleanupStack::PushL(defaultData);
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType(*defaultData);
-    RImplInfoPtrArray implInfoArray;
-    CXnPointerArrayWithOwnership* safeArray = CXnPointerArrayWithOwnership::NewL();
-    CleanupStack::PushL(safeArray);
-    REComSession::ListImplementationsL(aInterfaceUid, resolverParams, implInfoArray);        
-//    REComSession::ListImplementationsL(aInterfaceUid, implInfoArray);        
-    TInt count = implInfoArray.Count();
-    for (TInt i = implInfoArray.Count() - 1; i >= 0; --i)
-        {
-        CImplementationInformation* impl = implInfoArray[i];
-        (safeArray->Container()).Insert(impl, 0); 
-        }
-    if ((safeArray->Container()).Count() != count)
-        {
-        (safeArray->Container()).Reset();
-        implInfoArray.ResetAndDestroy();
-        User::Leave(KErrNoMemory);
-        }
-    implInfoArray.Reset();        
-    for (TInt i = safeArray->Container().Count() - 1; i >= 0; --i)
-        {
-        CImplementationInformation* impl = static_cast<CImplementationInformation*>(safeArray->Container()[i]);
-        TUid dtorIdKey;
-        CBase* plugin = (CBase*) REComSession::CreateImplementationL(impl->ImplementationUid(), dtorIdKey);
-        CleanupStack::PushL(plugin);
-        CEcomItem* tmp = new (ELeave) CEcomItem(aInterfaceUid, plugin, dtorIdKey);
-        CleanupStack::PushL(tmp);
-        tmp->iType = aType.AllocL();
-        //tmp->iType = impl->DataType().AllocL();
-        if(iPlugins.Append(tmp) != KErrNone)
-            {
-            User::Leave(KXnErrAppendingPluginFailedAgain);
-            }
-        CleanupStack::Pop(tmp);
-        CleanupStack::Pop(plugin);        
-        }
-    for (TInt i = iPlugins.Count() - 1 ; i >= 0; --i)
-        {
-        CEcomItem* tmp = iPlugins[i];
-        if (tmp->iInterfaceUid == aInterfaceUid
-        && *(tmp->iType) == aType)
-            {
-            cached = ETrue;
-            if(aFunctions.Container().Append(tmp->iPluginImpl) != KErrNone)
-                {
-                User::Leave(KXnErrAppendingPluginImplFailed);
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy(safeArray);        
-    CleanupStack::PopAndDestroy(defaultData);
-    }
-
-// -----------------------------------------------------------------------------
-// ?classname::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-//?type ?classname::?member_function(
-//    ?arg_type arg,
-//    ?arg_type arg )
-//    {
-    
-//    ?code
-    
-//    }
-
-
-	
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ?function_name implements...
-// ?implementation_description.
-// Returns: ?value_1: ?description
-//          ?value_n: ?description
-//                    ?description
-// -----------------------------------------------------------------------------
-//
-//?type  ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg )  // ?description
-//    {
-
-//    ?code
-
-//    }
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/utils/src/xnmap.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +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:  Associative container.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xnmap.h"
-#include	"xncomparator.h"
-#include    "xnpanic.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-//?type ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg)  // ?description
-//    {
-
-//    ?code  // ?comment
-
-    // ?comment
-//    ?code
-//    }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnMap::CXnMap
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnMap::CXnMap() : iContainer(4)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMap::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnMap::ConstructL(MXnComparator* aComparatorFunctor)
-    {
-    iComparator = aComparatorFunctor;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnMap::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnMap* CXnMap::NewL(MXnComparator* aComparatorFunctor)
-    {
-    CXnMap* self = new( ELeave ) CXnMap;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL(aComparatorFunctor);
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-CXnMap::~CXnMap()
-    {
-    delete iComparator;
-    iContainer.ResetAndDestroy();
-    }
-// -----------------------------------------------------------------------------
-// CXnMap::PutL
-// Finds an equal object in the map. If found, destroys it and 
-// replaces it
-// with the object given as a parameter. If not found, inserts
-// the parameter object to the map.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnMap::PutL(CBase* aObject)
-	{	
-	CBase* tmp = Get(*aObject);
-	if (tmp == aObject)
-	    {
-	    // object already in the map, do nothing
-	    return;
-	    }
-	if (tmp != NULL)
-		{
-        // if an equal object is already in the map, replace it
-		TInt index = iContainer.Find(tmp);
-		// add new object
-		TInt error = iContainer.Append(aObject);
-		if (error != KErrNone)
-		    {
-			User::Leave(KXnErrAppendingMapItemFailed_1);
-			}
-	    // remove old object
-		delete tmp;
-		iContainer.Remove(index);
-		return;
-		}
-    // object is not in the map, insert it
-	TInt err = iContainer.Append(aObject);
-	if (err != KErrNone)
-	    {
-		User::Leave(KXnErrAppendingMapItemFailed_2);
-		}
-	}
-// -----------------------------------------------------------------------------
-// CXnMap::Get
-// Finds an object that is equal to the parameter. If found,
-// returns the object. If not found, returns NULL.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CBase* CXnMap::Get(CBase& aObject) const
-	{
-	TUint containerCount = iContainer.Count();
-	CBase* returnValue = NULL;
-	for (TUint i = 0; i < containerCount; ++i)
-		{
-		CBase* tmp = iContainer[i];
-		if (iComparator->Equals(aObject, *tmp))
-			{
-			returnValue = tmp;
-			break;
-			}
-		}
-	return returnValue;
-	}
-
-// -----------------------------------------------------------------------------
-// CXnMap::Find
-// Finds an object that is equal to the parameter. If found,
-// returns the object. If not found, returns NULL.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CBase* CXnMap::Find(CBase& aObject, MXnComparator& aComparator) const
-	{
-	TUint containerCount = iContainer.Count();
-	CBase* returnValue = NULL;
-	for (TUint i = 0; i < containerCount; ++i)
-		{
-		CBase* tmp = iContainer[i];
-		if (aComparator.Equals(aObject, *tmp))
-			{
-			returnValue = tmp;
-			break;
-			}
-		}
-	return returnValue;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CXnMap::Container
-// Gets access to the underlying container
-// -----------------------------------------------------------------------------
-EXPORT_C RPointerArray<CBase>& CXnMap::Container()
-    {
-    return iContainer;
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ?function_name implements...
-// ?implementation_description.
-// Returns: ?value_1: ?description
-//          ?value_n: ?description
-//                    ?description
-// -----------------------------------------------------------------------------
-//
-//?type  ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg )  // ?description
-//    {
-
-//    ?code
-
-//    }
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/utils/src/xnpointerarray.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +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:  Heap-allocated pointer array
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xnpointerarray.h"
-#include    "xnpanic.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-//?type ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg)  // ?description
-//    {
-
-//    ?code  // ?comment
-
-    // ?comment
-//    ?code
-//    }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnPointerArray::CXnPointerArray
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnPointerArray::CXnPointerArray()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPointerArray::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnPointerArray::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPointerArray::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnPointerArray* CXnPointerArray::NewL()
-    {
-    CXnPointerArray* self = new( ELeave ) CXnPointerArray;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-CXnPointerArray::~CXnPointerArray()
-    {
-    iContainer.Reset();
-    }
-// -----------------------------------------------------------------------------
-// CXnPointerArray::Container
-// Get the underlying container
-// -----------------------------------------------------------------------------
-EXPORT_C RPointerArray<CBase>& CXnPointerArray::Container()
-	{	
-    return iContainer;
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ?function_name implements...
-// ?implementation_description.
-// Returns: ?value_1: ?description
-//          ?value_n: ?description
-//                    ?description
-// -----------------------------------------------------------------------------
-//
-//?type  ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg )  // ?description
-//    {
-
-//    ?code
-
-//    }
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/utils/src/xnpointerarraywithownership.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +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:  Heap-allocated pointer array which owns its objects
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xnpointerarraywithownership.h"
-#include    "xnpanic.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-//?type ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg)  // ?description
-//    {
-
-//    ?code  // ?comment
-
-    // ?comment
-//    ?code
-//    }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnPointerArrayWithOwnership::CXnPointerArrayWithOwnership
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXnPointerArrayWithOwnership::CXnPointerArrayWithOwnership()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPointerArrayWithOwnership::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXnPointerArrayWithOwnership::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnPointerArrayWithOwnership::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnPointerArrayWithOwnership* CXnPointerArrayWithOwnership::NewL()
-    {
-    CXnPointerArrayWithOwnership* self = new( ELeave ) CXnPointerArrayWithOwnership;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-CXnPointerArrayWithOwnership::~CXnPointerArrayWithOwnership()
-    {
-    iContainer.ResetAndDestroy();
-    }
-// -----------------------------------------------------------------------------
-// CXnPointerArrayWithOwnership::Container
-// Get the underlying container
-// -----------------------------------------------------------------------------
-EXPORT_C RPointerArray<CBase>& CXnPointerArrayWithOwnership::Container()
-	{	
-    return iContainer;
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ?function_name implements...
-// ?implementation_description.
-// Returns: ?value_1: ?description
-//          ?value_n: ?description
-//                    ?description
-// -----------------------------------------------------------------------------
-//
-//?type  ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg )  // ?description
-//    {
-
-//    ?code
-
-//    }
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/utils/src/xntype.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +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:  Type object used for RTTI.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "xntype.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-//?type ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg)  // ?description
-//    {
-
-//    ?code  // ?comment
-
-    // ?comment
-//    ?code
-//    }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXnType::CXnType
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnType::CXnType()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXnType::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CXnType::ConstructL(const TDesC8& aType)
-    {
-    iType = &aType;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnType::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CXnType* CXnType::NewL(const TDesC8& aType)
-    {
-    CXnType* self = new( ELeave ) CXnType;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL(aType);
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-EXPORT_C CXnType::~CXnType()
-    {
-//    delete iType;
-    }
-
-// -----------------------------------------------------------------------------
-// CXnType::Type
-// Get the type identifier
-// -----------------------------------------------------------------------------
-EXPORT_C const TDesC8& CXnType::Type()
-    {
-    return *iType;
-    }
-
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ?function_name implements...
-// ?implementation_description.
-// Returns: ?value_1: ?description
-//          ?value_n: ?description
-//                    ?description
-// -----------------------------------------------------------------------------
-//
-//?type  ?function_name(
-//    ?arg_type arg,  // ?description
-//    ?arg_type arg )  // ?description
-//    {
-
-//    ?code
-
-//    }
-
-
-//  End of File  
--- a/idlehomescreen/xmluirendering/utils/src/xnutils.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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:  DLL entry point
-*
-*/
-
-
-#include <e32base.h>
-// -----------------------------------------------------------------------------
-// E32Dll implements the Symbian OS dll entry point
-// Needed for EKA1 kernel only
-// -----------------------------------------------------------------------------
-//
-#ifndef EKA2
-GLDEF_C TInt  E32Dll(
-    TDllReason)  // ?description
-    {
-
-    return KErrNone;
-
-    }
-#endif
--- a/layers.sysdef.xml	Tue Feb 02 00:04:13 2010 +0200
+++ b/layers.sysdef.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
   <!ENTITY layer_real_source_path "sf/app/homescreen" >
 ]>
 
-<SystemDefinition name="homescreen" schema="1.4.0">
+<SystemDefinition name="homescreen" schema="1.5.1">
   <systemModel>
-
-
-    <layer name="app_layer">
-      <module name="homescreen">
-        <unit unitID="hs.homescreen" mrp="" bldFile="&layer_real_source_path;/group" name="homescreen" />
-      </module>
-    </layer>
-
-    <layer name="unit_test_layer">
-      <module name="homescreen_unit_tests">
-         <unit unitID="hsdo.wmunit.test" mrp="" bldFile="&layer_real_source_path;/idlehomescreen/widgetmanager/tsrc/wmunittest/group" name="wmunit.test" />
-      </module>
-    </layer>
-
-  </systemModel>
+        <layer name="app_layer">
+            <module name="homescreen">
+                <unit name="homescreen" unitID="homescreen" bldFile="&layer_real_source_path;" mrp="" proFile="homescreen.pro" qmakeArgs="-r -config rom"/>
+            </module>
+        </layer>
+    </systemModel>
 </SystemDefinition>
-
-
Binary file menufw/cenrep/keys_matrix.xls has changed
--- a/menufw/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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:  Build information file for project menufw
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../hierarchynavigator/group/bld.inf"
-#include "../menufwui/group/bld.inf"
-#include "../menusuites/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// ../rom/menufw_stub.iby	CORE_APP_LAYER_IBY_EXPORT_PATH(menufw_stub.iby)
-
-PRJ_MMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../sis/internal/tsrc/iad_testing/group/bld.inf"
-#endif
-
-PRJ_EXTENSIONS
-#ifndef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-START EXTENSION app-services/buildstubsis
-OPTION SISNAME menufw_stub
-OPTION SRCDIR ../sis
-END
-#endif
\ No newline at end of file
--- a/menufw/hierarchynavigator/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  Build information file for project hierarchynavigator
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../hnutilities/group/bld.inf"
-#include "../hnpresentationmodel/group/bld.inf"
-#include "../hnmetadatamodel/group/bld.inf"
-#include "../hnengine/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/hierarchynavigator.iby CORE_APP_LAYER_IBY_EXPORT_PATH(hierarchynavigator.iby)
--- a/menufw/hierarchynavigator/hnengine/bwins/hnengineu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	?HandleRequestL@CHnEngine@@UAEXABVCLiwGenericParamList@@PAV2@@Z @ 1 NONAME ; void CHnEngine::HandleRequestL(class CLiwGenericParamList const &, class CLiwGenericParamList *)
-	?InitializeL@CHnEngine@@UAEHAAVCLiwGenericParamList@@@Z @ 2 NONAME ; int CHnEngine::InitializeL(class CLiwGenericParamList &)
-	?LoadSuitesFromUriL@CHnEngine@@UAEXABVTDesC8@@@Z @ 3 NONAME ; void CHnEngine::LoadSuitesFromUriL(class TDesC8 const &)
-	?NewL@CHnEngine@@SAPAV1@AAVMHnControllerInterface@@@Z @ 4 NONAME ; class CHnEngine * CHnEngine::NewL(class MHnControllerInterface &)
-	?NewLC@CHnEngine@@SAPAV1@AAVMHnControllerInterface@@@Z @ 5 NONAME ; class CHnEngine * CHnEngine::NewLC(class MHnControllerInterface &)
-	?ResetModelsL@CHnEngine@@UAEXXZ @ 6 NONAME ; void CHnEngine::ResetModelsL(void)
-	?TriggerHnEventL@CHnEngine@@UAEHHHPAVCLiwGenericParamList@@@Z @ 7 NONAME ; int CHnEngine::TriggerHnEventL(int, int, class CLiwGenericParamList *)
-
--- a/menufw/hierarchynavigator/hnengine/eabi/hnengineu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	_ZN9CHnEngine11InitializeLER20CLiwGenericParamList @ 1 NONAME
-	_ZN9CHnEngine12ResetModelsLEv @ 2 NONAME
-	_ZN9CHnEngine14HandleRequestLERK20CLiwGenericParamListPS0_ @ 3 NONAME
-	_ZN9CHnEngine15TriggerHnEventLEiiP20CLiwGenericParamList @ 4 NONAME
-	_ZN9CHnEngine18LoadSuitesFromUriLERK6TDesC8 @ 5 NONAME
-	_ZN9CHnEngine4NewLER22MHnControllerInterface @ 6 NONAME
-	_ZN9CHnEngine5NewLCER22MHnControllerInterface @ 7 NONAME
-	_ZThn8_N9CHnEngine15TriggerHnEventLEiiP20CLiwGenericParamList @ 8 NONAME ; #<thunk>#
-
--- a/menufw/hierarchynavigator/hnengine/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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:  Build information file for project hnengine
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/hncontrollerinterface.h      |../../../inc/hncontrollerinterface.h
-../inc/hnengine.h                   |../../../inc/hnengine.h
-../inc/hninterface.h                |../../../inc/hninterface.h
-../inc/hninstallnotifier.h          |../../../inc/hninstallnotifier.h
-../inc/hneventgenerator.h           |../../../inc/hneventgenerator.h
-../inc/menudebug.h                  |../../../inc/menudebug.h
-
-
-PRJ_MMPFILES
-hnengine.mmp
-
-PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/hierarchynavigator/hnengine/group/hnengine.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  Project definition file for project hierarchy navigator engine
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          hnengine.dll
-TARGETTYPE      dll
-
-UID             0x1000008d 0x2000F8C5
-
-CAPABILITY      CAP_GENERAL_DLL
-
-
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          hnengine.cpp
-SOURCE          hninstallnotifier.cpp
-
-USERINCLUDE     ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-
-LIBRARY         euser.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib
-LIBRARY         hnmetadatamodel.lib
-LIBRARY         hnpresentationmodel.lib
-LIBRARY         liwservicehandler.lib
-LIBRARY         xmlenginedom.lib
-LIBRARY         inetprotutil.lib        // for parsing message URI
-LIBRARY         hnutilities.lib
-LIBRARY         centralrepository.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         HWRMLightClient.lib
-LIBRARY         avkon.lib
-
-LIBRARY         eikcore.lib             // for error info notes
-LIBRARY         cone.lib                // for error info notes
-LIBRARY         apgrfx.lib
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-
-// End of file
-
--- a/menufw/hierarchynavigator/hnengine/inc/hncontrollerinterface.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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:
-*
-*/
-
-
-#ifndef HNCONTROLLERINTERFACE_H
-#define HNCONTROLLERINTERFACE_H
-
-#include "hnsuiteobserver.h"
-
-class CLiwGenericParamList;
-
-/**
- * @ingroup group_hnengine
- * User interface refresh type
- */
-enum THnUiRefreshType
-    {
-        ERefreshSuite,
-        ERefreshToolbar,
-        EStartEditMode,
-        EStopEditMode,
-        EForegroundGain,
-        EBackgroundGain,
-        ELightOn,
-        ELightOff,
-        ERemoveLiwObjects
-    };
-
-
-/**
- * @ingroup group_hnengine
- * UI refresh observer. The implementing class can be notified about the ui being refreshed.
- *
- * @lib hnengine
- * @since S60 v3.2
- */
-class MHnControllerInterface : public MHnSuiteObserver
-    {
-public:
-
-    /**
-     * Called when the ui needs to be refreshed,
-     * for a reason indicated in aRefreshType.
-     *
-     * @since S60 v3.2
-     * @param aRefreshType Defines reason for refresh.
-     */
-    virtual void NotifyUiRefreshL( const THnUiRefreshType aRefreshType ) = 0;
-
-    /**
-     * Trigger appropriate action on suite model.
-     *
-     * @param aCustomSuiteEvent Event that is associated
-     *                          with the lifecycle of a suite
-     * @param aModel Suite model on that custom event should be performed.
-     */
-    virtual void HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent,
-            CHnSuiteModel *aModel ) = 0;
-
-    /**
-     * Whenever an action for extension manager occurs it invokes
-     * this method to execute one, passing the information needed
-     * by extension manager about the action as a parameters.
-     *
-     * @param aUid UID of the ECom plugin's.
-     * @param aCommand Command which has to be executed on the plugin.
-     *                 Request to the Service.
-     * @param aEventParamList List of the event parameters needed to
-     *                        execute action. Extention Manager is its owner.
-     * @return Number representing error code.
-     */
-    virtual TInt ExecuteExtensionActionL( const TUid aUid , const TDesC& aCommand,
-            CLiwGenericParamList* aEventParamList ) = 0;
-    };
-
-#endif //HNCONTROLLERINTERFACE_H
--- a/menufw/hierarchynavigator/hnengine/inc/hndatachangenotifier.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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:  
-*
-*/
- 
-
-#ifndef C_HNDATACHANGENOTIFIER_H
-#define C_HNDATACHANGENOTIFIER_H
-
-#include "hndatachangeobserver.h"
-
-
-/**
- * @ingroup group_hnengine
- * Data change notifier interface.
- *
- * @lib hnengine
- * @since S60 v5.0
- */
-class MHnDataChangeNotifier
-    {    
-    public:
-    
-    /**
-     * Subscribes observer.
-     *
-     * @since S60 v5.0
-     * @param aObserv Observer to HNEngine.
-     */
-    virtual void SubscribeL( CHnDataChangeObserver* aObserv ) = 0;  
-    };
-
-
-#endif // C_HNDATACHANGENOTIFIER_H
--- a/menufw/hierarchynavigator/hnengine/inc/hndatachangeobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  
-*
-*/
- 
-
-#ifndef C_HNDATACHANGEOBSERVER_H
-#define C_HNDATACHANGEOBSERVER_H
-
-class CHnItemId;
-
-/**
- * @ingroup group_hnengine
- * Data change observer interface. It is used to notify the implementing class that something in the database has been changed.
- *
- * @lib hnengine
- * @since S60 v5.0 
- */
-NONSHARABLE_CLASS(CHnDataChangeObserver) : public CBase
-    {    
-    public:
-
-    /**
-     * DataChangeL is called when sth in database was changed.
-     * @since S60 v5.0
-     * @param aItemIds Array with ItemIds of changed entries.
-     */
-    virtual void DataChangedL( RPointerArray< CHnItemId >& aItemIds ) = 0;
-    };
-
-
-#endif // C_HNDATACHANGEOBSERVER_H
--- a/menufw/hierarchynavigator/hnengine/inc/hnengine.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +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:   
-*
-*/
-
-
-
-#ifndef C_HNENGINE_H
-#define C_HNENGINE_H
-
-#include <e32base.h>
-#include <eikenv.h>
-#include <hwrmlight.h>
-
-#include "hnglobals.h"
-#include "hninterface.h"
-#include "hnmdmodel.h"
-#include "hninstallnotifier.h"
-
-class CHnMdModel;
-class CHnSuiteModelContainer;
-class MHnControllerInterface;
-class MHnSuiteObserver;
-
-/**
- * @ingroup group_hnengine
- *  Hierarchy Navigator engine - used by Multimedia Menu
- *  to fetch data models. The most commonly used exported method is TriggerHnEventL, 
- *  which offers event execution for the framework. This functionality is implemented
- *  through the MHnEventGenerator interface. The class owns the meta data model ( CHnMdModel ) 
- *  and suite container ( CHnSuiteModelContainer ) to manage them. The engine manages 
- *  the model by processing model events ( HandleModelEventL ) or reseting the models
- *  ( ResetModelsL ).
- *
- * @lib hnengine
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CHnEngine ) : public CHnInterface,
-                  public MHnMdModelEventObserver,
-                  public MHnInstallNotifierCallback,
-                  public MHWRMLightObserver
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @param aController Controller handler.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnEngine* NewL( MHnControllerInterface& aController );
-
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @param aController Controller handler.
-     * @return Fully constructed object.
-     */    
-    IMPORT_C static CHnEngine* NewLC( MHnControllerInterface& aController );
-
-    /**
-     * Standard C++ destructor.
-     * 
-     * @since S60 v5.0
-     */    
-    ~CHnEngine();
-
-    // from CHnInterface
-    
-    /**
-     * Fetches and constructs data structres, needed by Multimedia
-     * Menu to display suites.
-     *
-     * @since S60 v5.0
-     * @return Filled suite model object from the stack.
-     */
-    CHnSuiteModel* GetLastSuiteModelL();
-    
-    /**
-     * Fetches and constructs data structres, needed by Multimedia
-     * Menu to display suites.
-     *
-     * @since S60 v5.0
-     * @return Filled suite model object from the stack.
-     */
-    CHnSuiteModel* GetParentSuiteModelL();
-   
-    /**
-     * Get count of suite models on the stack.
-     * 
-     * @since S60 v5.0
-     * @return Count of suite models on the stack.
-     */
-    virtual TInt GetSuiteModelsCountL();
-    
-    /**
-     * Checks if suite model is loaded.
-     * 
-     * @since S60 v5.0
-     * @return ETrue if suite model is loaded, otherwise EFalse.
-     */
-    TBool SuiteModelLoadedL( TInt aId );
-    
-    /**
-     * Loads suite hierarchy specified in URI.
-     *
-     * @since S60 v5.0
-     * @param aUri The URI contained suite(s) to load.
-     */
-    IMPORT_C void LoadSuitesFromUriL( const TDesC8& aUri );
-
-public:
-    // from MHnMdModelEventObserver
-    
-     /**
-     * Handle model event.
-     *
-     * @since S60 v5.0
-     * @param aEventName Event's name to perform.
-     * @param aParams Event specific parameters used to perform action.
-     */
-     TInt HandleModelEventL( const TDesC& aEventName, CLiwGenericParamList& aParams );
-     
-    // from CHnInterface
-     
-    /**
-     * Handle back event.
-     *
-     * @since S60 v5.0
-     * @param aGenre Suite given by the name genre.
-     * @param aIterations Number of iterations.
-     * @return Status code.
-     */
-     TInt HandleBackEventL( const TDesC& aGenre,
-             TInt aIterations = KModelCountForRoot );
-
-    // from MHNMulModelInstallNotifierCallback
-
-     /**
-      * InstallChangeL is called when the subscribed key has been changed.
-      * 
-      * @since S60 v5.0
-      * @param aStatus Status of the installation event.
-      */
-    virtual void InstallChangeL( TInt aStatus );
-    
-    
-    /**
-     * Loads default root suite
-     * 
-     * @since S60 v5.0
-     * @param aSuiteParams Suite parameters.
-     * @return Status error code.
-     */
-    IMPORT_C TInt InitializeL( CLiwGenericParamList& aSuiteParams );
-    
-    // from MHnEventGenerator
-    
-    /**
-     * Triggers an event inside hierarchy navigator.
-     * 
-     * Used by UI to notify hierarchy navigator of its events,
-     * as well as for hierarchy navigator components to notify
-     * the module of certain events (such as OnSuiteLoaded etc).
-     *
-     * @since S60 v5.0
-     * @param aHnEventId Internal id of an event (Event names are 
-     *                    mapped to ids).
-     * @param aRecipientId The id of the recipient item.
-     * @param aEventParameters Event specific parameter.
-     * @return Status code.
-     */
-     IMPORT_C TInt TriggerHnEventL( const TInt aHnEventId,
-             const TInt aRecipientId, CLiwGenericParamList* aEventParameters = NULL );
-     
-     /**
-      * Splits the source descriptor by a separatos
-      * 
-      * @since S60 v5.0
-      * @param aSource Source descriptor intended to split.
-      * @param aSeparator Separator used to split.
-      * @return Array of descriptors. 
-      */
-     RPointerArray< HBufC8 > SplitL( const TDesC8& aSource,
-             const TDesC8& aSeparator );
-     
-     /**
-      * Generate param list according to query param.
-      * 
-      * @param aUriQuery Descriptor consist of param(s) to split
-      * @param aUriFragment Descriptor containing an uri fragment.
-      * @param aSuiteName The suite's name.  
-      * @return Filled generic param list.
-      */
-     CLiwGenericParamList* UriQueryToLiwListLC( const TDesC8& aUriQuery,
-             const TDesC8& aUriFragment, const TDesC8& aSuiteName );
-     
-     /**
-      * Resets MD Model and Suite Container.
-      *
-      * @since S60 v5.0
-      */
-     IMPORT_C void ResetModelsL();
-     
-     // from MHnEditModeInterface 
-     
-     /**
-      * Sets edit mode.
-      * 
-      * @since S60 v5.0
-      * @param aEditMode Set edit mode member to false/true.
-      */
-     void SetEditModeL( TBool aEditMode );
-
-    /**
-     * Enables to issue a request to Hn engine.
-     * 
-     * @since S60 v5.0
-     * @param aParam Input Parameters.
-     * @param aOutput Target list for output.  
-     */
-     IMPORT_C void HandleRequestL( const CLiwGenericParamList& aParam, 
-                         CLiwGenericParamList* aOutput = NULL);
-
-    //    from MHWRMLightObserver
-    /**
-     * Called when the device light status changes.
-     * Note that if the light status for certain target changes
-     * very rapidly, some state transitions might be missed.
-     * It is however guaranteed that latest state is always obtained.
-     *
-     * @param aTarget Indicates target(s) the new status applies to.
-     * @param aStatus Indicates light request status.
-     */
-    virtual void LightStatusChanged(TInt aTarget,
-            CHWRMLight::TLightStatus aStatus);
-
-private:
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v5.0
-     * @param aController Controller handler.
-     */
-    CHnEngine( MHnControllerInterface& aController );
-    
-    /**
-     * Standard 2nd phase constructor.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-         
-    /**
-     * Handle new suite loaded event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters.
-     * @return Status code.
-     */
-    TInt HandleNewSuiteLoadedEventL( CLiwGenericParamList& aParams );
-
-    /**
-     * Handle open suit event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters that hold liw packed filter.
-     * @return Status code.
-     */
-    TInt HandleReevaluateEventL( CLiwGenericParamList& aParams );
-
-    /**
-     * Handles widget change.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters consist of target widget type.
-     * @return Status code.
-      */
-    TInt HandleWidgetChangeL( CLiwGenericParamList& aParams );
-
-    /**
-     * Handles SetFocus event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters consist of target widget type.
-     * @return Status code.
-     */
-    TInt HandleSetFocusEventL( const CLiwGenericParamList& aParams );
-    
-    /**
-     * Handles MoveFocusBeforeDelete event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters consist of target widget type.
-     * @return Status code.
-     */
-    TInt HandleMoveFocusBeforeDeleteEventL(
-            const CLiwGenericParamList& aParams );
-    
-    /**
-     * Handles RefreshIcons event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters (ignored)
-     * @return Status code.
-     */
-    TInt HandleRefreshIconsEventL( const CLiwGenericParamList& aParams );
-
-    /**
-     * Handles DisableActionsForItem event.
-     * 
-     * @since S60 v5.0
-     * @param aParams Event specific parameters - contains custom item id
-     * @return Status code.
-     */
-    TInt HandleDisableActionsForItemL( const CLiwGenericParamList& aParams );
-
-     /**
-      *  Store widget type to repository.
-      *
-      * @since S60 v5.0
-      * @param aSuiteName Suite name to that set widget type. 
-      * @param aType Widget type to store in repository.
-      * @return Status code.
-      */    
-    TInt HandleWidgetChangeL( const TDesC& aSuiteName,
-            THnSuiteWidgetType aType );
-     
-         
-     /**
-      * Parse URI path component containing Suites to be loaded.
-      *
-      * @since S60 v5.0
-      * @param aUriPath Descriptor URI path which consist of suites' names.
-      * @param aOutput Array on output containes parsed suite names.
-      */
-     void ParseSuiteUriPathL( const TDesC8& aUriPath, 
-         CDesC8ArrayFlat& aOutput );
-   
-     
-     /**
-      * Checks if only root configuration is loaded.
-      * Used to decide if reloading models is needed.
-      *
-      * @since S60 v5.0
-      * @return Return ETrue if only root configuration is loaded
-      *         otherwise EFalse.
-      */
-     TBool IsOnlyRootConfLoaded();
-     
-     /**
-      * Resets loaded resources.
-      *
-      * @since S60 5.0
-      */
-     void ResetLocalization();
-     
-     /**
-      * Loads suite with given suite name with parameters
-      * from uri query. 
-      *
-      * @since S60 5.0
-      * @param aSuiteName Name of the suite to load. 
-      * @param aUriQuery Descriptor containig parsed part of the uri.
-      * @param aUriFragment Descriptor containig parsed part (fragment) of the uri.
-      * @return Error code when loading suite.
-      */
-     TInt LoadSuiteFromUriL( const TDesC8& aSuiteName, 
-         const TDesC8& aUriQuery, const TDesC8& aUriFragment );
-     
-     /**
-      * Reads highlight position from uri fragment 
-      * and sets it on the suite model.
-      *
-      * @since S60 5.0
-      * @param aUriFragment Descriptor containig parsed part of the uri.
-      */
-     void HighlightPlacementFromUriL( const TDesC8& aUriFragment );
-    
-     
-     /**
-      * Loads folder and sets focus through CR.
-      * 
-      * @since S60 v5.0
-      */
-     void LoadFromCrL( const TDesC8& aUri );
-     
-     /**
-      * Handles loading suite from uri if suites names' are the same.
-      * 
-      * @param aNextExists ETrue if the next suite's name exists in uri.
-      * @param aUri The URI's parameters passed to the suite. 
-      */
-     void HandleTheSameSuitesL( TBool aNextExists, const TDesC8& aParams );
-     
-     /**
-      * Checks if suites have the same names.
-      * 
-      * @param aLastSuiteName The last suite's name on the stack.
-      * @param aFirstSuiteName The first suite's name in uri.
-      * @return ETrue if names are equal
-      */
-     TBool SuitesAreTheSameL( const TDesC& aLastSuiteName, const TDesC8& aFirstSuiteName );
-
-     /**
-      * Decides whether to hide menu depending on current state and uri parameters
-      * 
-      * @param aUri The Uri to parse for exit procedure.
-      * @return ETrue If exit was consumed.
-      */
-     TBool HandleActionL( const TDesC8& aUri );
-     
-     /**
-      * Loads suites from uri.
-      * 
-      * @param aUri The uri to parse
-      */
-     void LoadSuitesL( const TDesC8& aUri );
-     
-private: // data
-        
-    /**
-     * Own - Meta data model.
-     */
-    CHnMdModel* iMetaDataModel;
-    
-    /**
-     * Own - Suite container.
-     */
-    CHnSuiteModelContainer* iSuiteContainer;
-       
-    /**
-     * Not own.
-     * EikonEnv for displaying popup messages. 
-     */
-    CEikonEnv* iEEnv;
-    
-    /**
-     * Not own - Suite observer.
-     */
-    MHnControllerInterface& iControllerInterface;
-    
-    /**
-     * Installation observer.
-     * Own.
-     */
-    CHnInstallNotifier* iInstObserver;
-    
-    /**
-     * Edit mode
-     */
-    TBool iEditMode;
-    
-    /**
-     * Light status observer
-     */
-    CHWRMLight* iLight;
-    };
-
-#endif //C_HNENGINE_H
--- a/menufw/hierarchynavigator/hnengine/inc/hneventgenerator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:   
-*
-*/
-
-
-#ifndef HNEVENTGENERATOR_H_
-#define HNEVENTGENERATOR_H_
-
-#include <e32def.h>
-
-class CLiwGenericParamList;
-/**
- * @ingroup group_hnengine
- * Hierarchy navigator event generator.
- * 
- * This class is an interface for event triggering in hierarchy navigator.
- * Events being triggered may be e.g. SuiteLoaded, ItemFocus, etc.
- * It also mediates in events being passed from the UI. 
- *
- * @lib hnengine
- * @since S60 5.0 
- */
-class MHnEventGenerator
-    {
-    public:
-  
-    /**
-    * Method is invoked whenever any component wants to trigger an event 
-    * inside hierarchy navigator.
-    * 
-    * @since S60 5.0
-    * @param aHnEventId Event type id to trigger.
-    * @param aRecipientId The id of the recipient item which the event concerns.
-    * @param aEventParameters Event specific parameters used to perform action.
-    * @return Status code.
-    */
-    virtual TInt TriggerHnEventL( const TInt aHnEventId, const TInt aRecipientId,
-            CLiwGenericParamList* aEventParameters = NULL ) = 0;
-    };
-
-
-#endif // HNEVENTGENERATOR_H_
--- a/menufw/hierarchynavigator/hnengine/inc/hninstallnotifier.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +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:  Sis package installation event listener
-*
-*/
-  
-
-
-#ifndef HNINSTALLNOTIFIER_H
-#define HNINSTALLNOTIFIER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-/**
- * @ingroup group_hnengine
- *  Interface for observing Sis installation events.
- *
- * @lib hnengine
- * @since S60 S60 v3.1
- */
-class MHnInstallNotifierCallback
-    {
-    
-public:
-    /**
-     * @ingroup group_hnengine
-     * Enum defining the purpouse of the installation event.
-     */
-    enum TInstOp
-        {
-        EInstOpNone = 0x00, 
-        EInstOpInstall = 0x01, 
-        EInstOpUninstall = 0x02, 
-        EInstOpRestore = 0x04  
-        };
-
-    /**
-     * @ i ngroup group_hnengine
-     * Enum defining the exit status of the installation event.
-     */
-/*    enum TInstOpStatus
-        {
-        EInstOpStatusNone = 0x0000, 
-        EInstOpStatusSuccess = 0x0100, 
-        EInstOpStatusAborted = 0x0200 
-        };*/
-        
-    /**
-     * InstallChangeL is called when the subscribed key has been changed.
-     * 
-     * @param aStatus Status of the installation event.
-     */
-    virtual void InstallChangeL( TInt aStatus ) = 0;
-    
-    };
-
-
-/**
- * @ingroup group_hnengine
- *  Central Repository notifier.
- * 
- * @lib hnengine
- * @since S60 S60 v3.1
- */
-NONSHARABLE_CLASS( CHnInstallNotifier ) : public CActive
-    {
-    
-public:
-
-    /**
-     * Creates an instance of CHnMulModelInstallNotifier implementation.
-     * 
-     * @since S60 v5.0
-     * 
-     * @param aCallback Reference to notifier interface.
-     * @param aCategory Package uid.
-     * @param aKey Key for central repository.
-     * @return Fully constructed object.
-     */
-    static CHnInstallNotifier* NewL( 
-                                   MHnInstallNotifierCallback* aCallback,
-                                   TUid aCategory, 
-                                   TUint aKey );
-
-    /**
-     * Default destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CHnInstallNotifier();
-
-
-private:
-    /**
-     * Constructor.
-     * 
-     * @since S60 v5.0
-     * 
-     * @param aCallback Reference to notifier interface.
-     * @param aCategory Package uid.
-     * @param aKey Key for central repository.
-     */
-    CHnInstallNotifier( 
-                                MHnInstallNotifierCallback* aCallback, 
-                                TUid aCategory, 
-                                TUint aKey );
-
-    /**
-     * Symbian 2nd phase constructor.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * From CActive. Implements cancellation of an outstanding request.
-     * 
-     * @since S60 v5.0
-     */
-    void DoCancel();
-    
-    /**
-     * From CActive. Handles an active object's request completion event.
-     * 
-     * @since S60 v5.0
-     */
-    void RunL();
-    
-    /**
-     * From CActive.
-     * 
-     * @since S60 v5.0
-     * @param aError The leave code.
-     * @return Status code.
-     */
-    TInt RunError( TInt aError );
-    
-        
-private:
-    /**
-     * User side interface to Publish & Subscribe.
-     */
-    RProperty iProperty;
-
-    /**
-     * Interface for notifying changes in SWI.
-     * Not own.
-     */
-    MHnInstallNotifierCallback* iCallback;
-    
-    /**
-     * Category uid.
-     */
-    TUid    iCategory;
-    
-    /**
-     * Key identifier.
-     */
-    TUint   iKey;
-
-    };
-
-#endif // HNINSTALLNOTIFIER_H
-
-// End of File
--- a/menufw/hierarchynavigator/hnengine/inc/hninterface.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +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:   Interface for Hierarchy Navigator
-*
-*/
-
-
-
-#ifndef C_HNINTERFACE_H
-#define C_HNINTERFACE_H
-
-#include "hneventgenerator.h"
-
-class CHnSuiteModel;
-class CLiwGenericParamList;
-
-/**
- * @ingroup group_hnengine
- * An interface for edit mode. Used by hierarchy navigator to track edit mode state status change.
- *
- * @lib hnengine
- * @since S60 v5.0
- */
-class MHnEditModeInterface
-    {
-public:
-    /**
-     * Sets edit mode.
-     * 
-     * @since S60 v5.0
-     * @param aEditMode Parametr sets edit mode to EFlase/Etrue.
-     */
-    virtual void SetEditModeL( TBool aEditMode ) = 0;
-    };
-
-/**
- * @ingroup group_hnengine
- * Interface for Multimedia Menu to use Hierarchy Navigator engine. The functionality of this interface are
- * suite model event issues like loading a model, counting the models currently loaded or loading the root
- * suite.
- *
- * @lib hnengine
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CHnInterface ) : public CBase, 
-                                    public MHnEditModeInterface,
-                                    public MHnEventGenerator
-    {
-public:
-
-    /**
-     * Fetches and constructs data structres, needed by Multimedia
-     * Menu to display suites.
-     *
-     * @since S60 v5.0
-     * @return Return last loaded suite model on the stack.
-     */
-    virtual CHnSuiteModel* GetLastSuiteModelL() = 0;
-    
-    /**
-     * Fetches and constructs data structres, needed by Multimedia
-     * Menu to display suites.
-     *
-     * @since S60 v5.0
-     * @return Return last loaded suite model on the stack.
-     */
-    virtual CHnSuiteModel* GetParentSuiteModelL() = 0;
-
-    /**
-     * Get count of suite models on the stack.
-     * 
-     * @since S60 v5.0
-     * @return Count of suite models on the stack.
-     */
-    virtual TInt GetSuiteModelsCountL() = 0;
-    
-    /**
-     * Checks if suite model is loaded.
-     * 
-     * @since S60 v5.0
-     * @return ETrue if suite model is loaded, otherwise EFalse.
-     */
-    virtual TBool SuiteModelLoadedL( TInt aId ) = 0;
-      
-    /**
-     * Handles back event coming from the UI.
-     *
-     * @since S60 v5.0
-     * @param aGenre Suite's name given by genre name on
-     *               which perform back event.
-     * @param aIterations Number of iterations.
-     * @return Status code.
-     */
-    virtual TInt HandleBackEventL( const TDesC& aGenre,
-            TInt aIterations = KModelCountForRoot ) = 0;
-    
-    /**
-     * Loads suite hierarchy specified in URI.
-     *
-     * @since S60 v5.0
-     * @param aUri The URI path consist of suite's name(s) to load to the stack.
-     */
-    virtual void LoadSuitesFromUriL( const TDesC8& aUri ) = 0;
-    
-    /**
-     * Resets MD Model and Suite Container.
-     *
-     * @since S60 v5.0
-     */
-    virtual void ResetModelsL() = 0;
-    
-    /**
-     * Loads default root suite
-     * 
-     * @since S60 v5.0
-     * @param aSuiteParams Suite parameters.
-     * @return Status error code.
-     */
-    virtual TInt InitializeL( CLiwGenericParamList& aSuiteParams ) = 0;
-    
-    /**
-     * Enables to issue a request to Hn engine.
-     * 
-     * @since S60 v5.0
-     * @param aParam Input Parameters.
-     * @param aOutput Target list for output.  
-     */
-    virtual void HandleRequestL( const CLiwGenericParamList& aParam, 
-                         CLiwGenericParamList* aOutput = NULL ) = 0; 
-    
-    };
-
-#endif  // C_HNINTERFACE_H
-
-
--- a/menufw/hierarchynavigator/hnengine/inc/hnserviceglobals.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  ?Description
-*
-*/
-
-
-
-#ifndef C_HNSERVICEGLOBALS_H
-#define C_HNSERVICEGLOBALS_H
-   
-
-
-//// model event-related params
-_LIT8( KNewSuiteParamNameEn,       "suite_name" );
-
-
-#endif // C_HNSERVICEGLOBALS_H
--- a/menufw/hierarchynavigator/hnengine/inc/menudebug.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +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:  debug macro definitions
-*
-*/
-
-
-#ifndef MENUDEBUG_H
-#define MENUDEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-#include <flogger.h>
-
-// Maximum formatted size resulting from a single DEBUG* call
-#ifndef MAX_DEBUG_STRING_LENGTH
-#define MAX_DEBUG_STRING_LENGTH 4096
-#endif
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-_LIT( KPerformanceLogDir, "menu" );
-_LIT( KPerformanceLogFile, "performance.txt" );
-#endif
-
-#ifdef _DEBUG
-#include "mymenudebug.h"
-
-// Load correct mymenudebug.h from module inc directory,
-// define your application-specific configuration like this:
-// ----------------------------------------------------------
-// Debug file - debug output is disabled if the parent dir does not exist
-// _LIT(KDebugDirName, "menu");
-// _LIT(KDebugFileName, "hnengine.txt");
-
-// Replace the current debug file - if not defined appends to the file
-#ifndef APPEND_TO_DEBUG_FILE
-#define REPLACE_DEBUG_FILE
-#endif
-
-
-/**
- * @param aData
- */
-static void DoOutput(TDesC8& aData);
-
-static void DebugStringNarrowL(const char* aFmt, ...)
-    {
-    VA_LIST args;
-    VA_START(args, aFmt);
-    
-    TPtrC8 fmt(reinterpret_cast<const unsigned char *>(aFmt));
-    HBufC8* buf = HBufC8::NewLC(MAX_DEBUG_STRING_LENGTH);
-    buf->Des().FormatList(fmt, args);
-    buf->Des().Append('\n');
-    DoOutput(*buf);
-    CleanupStack::PopAndDestroy(buf);
-       
-    VA_END(args);
-    }
-
-static void DebugStringWideL(const char* aFmt, ...)
-    {
-    VA_LIST args;
-    VA_START(args, aFmt);
-    
-    TPtrC8 fmt(reinterpret_cast<const unsigned char *>(aFmt));
-    HBufC* fmt16 = HBufC::NewLC(fmt.Length());
-    fmt16->Des().Copy(fmt);
-    HBufC* buf = HBufC::NewLC(MAX_DEBUG_STRING_LENGTH);
-    buf->Des().FormatList(*fmt16, args);
-    buf->Des().Append('\n');
-    HBufC8* buf8 = HBufC8::NewLC(buf->Length());
-    buf8->Des().Copy(*buf);
-    DoOutput(*buf8);
-    CleanupStack::PopAndDestroy(3); // fmt16, buf, buf8
-
-    VA_END(args);
-    }
-
-static void DebugBufferL(const TDesC8& aBuf)
-    {
-    DebugStringNarrowL("\"%S\"", &aBuf);
-    }
-
-static void DebugBufferL(const TDesC& aBuf)
-    {
-    DebugStringWideL("\"%S\"", &aBuf);
-    }
-
-static void DebugTimeL(const TTime& aTime)
-    {
-    TBuf<64> dateTimeString;
-    _LIT(KDateString, "%E%D%X%N%Y %1 %2 %3");
-    aTime.FormatL(dateTimeString, KDateString);
-    DebugBufferL(dateTimeString);
-    _LIT(KTimeString, "%-B%:0%J%:1%T%:2%S%.%*C4%:3%+B");
-    aTime.FormatL(dateTimeString, KTimeString);
-    DebugBufferL(dateTimeString);
-    }
-
-
-static void DoOutput(TDesC8& aData)
-    {
-    RFileLogger::Write(KDebugDirName,
-                       KDebugFileName,
-                       EFileLoggingModeAppend,
-                       aData);
-    }
-#endif
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-
-static void DoOutputPerf(TDesC8& aData)
-    {
-    RFileLogger::Write(KPerformanceLogDir,
-                       KPerformanceLogFile,
-                       EFileLoggingModeAppend,
-                       aData);
-    }
-
-static void DebugStringNarrowPerfL(const char* aFmt, ...)
-    {
-    VA_LIST args;
-    VA_START(args, aFmt);
-    
-    TPtrC8 fmt(reinterpret_cast<const unsigned char *>(aFmt));
-    HBufC8* buf = HBufC8::NewLC(MAX_DEBUG_STRING_LENGTH);
-    buf->Des().FormatList(fmt, args);
-    buf->Des().Append('\n');
-    
-    TTime timestamp;
-    timestamp.HomeTime();
-    
-    TBuf<64> dateTimeString;
-    TBuf8<64> dateTimeString8;
-    
-    _LIT(KTimeString, "%:0%J%:1%T%:2%S%.%*C4%:3");
-    timestamp.FormatL(dateTimeString, KTimeString);
-    dateTimeString8.Copy( dateTimeString );
-    buf->Des().Insert( 0, _L8(" -> ") );
-    buf->Des().Insert( 0, dateTimeString8 );
-    
-    DoOutputPerf(*buf);
-    CleanupStack::PopAndDestroy(buf);
-       
-    VA_END(args);
-    }
-#endif
-
-// MACROS
-// If you output one or more narrow descriptors by using '%S',
-//    use DEBUGSTRING8
-// else if you output one or more unicode descriptors by using '%S',
-//    use DEBUGSTRING16
-// else
-//    use DEBUGSTRING
-//
-// Narrow and unicode cannot be mixed in a single DEBUGSTRINGx call.
-
-#ifdef _DEBUG
-#define DEBUGINIT() DebugInit()
-#define DEBUGINITSUSPENDED() DebugInit(ETrue)
-#define DEBUGENABLE() SetDebugEnabled(ETrue)
-#define DEBUGDISABLE() SetDebugEnabled(EFalse)
-#define DEBUGSUSPEND() SetDebugSuspended(ETrue)
-#define DEBUGCONTINUE() SetDebugSuspended(EFalse)
-#define DEBUG(x) TRAP_IGNORE( DebugStringNarrowL x )
-#define DEBUG8(x) TRAP_IGNORE( DebugStringNarrowL x )
-#define DEBUG16(x) TRAP_IGNORE( DebugStringWideL x )
-#define DEBUGBUFFER(x) TRAP_IGNORE( DebugBufferL x )
-#define DEBUGTIME(x) TRAP_IGNORE( DebugTimeL x )
-#else
-#define DEBUGINIT()
-#define DEBUGINITSUSPENDED()
-#define DEBUGENABLE()
-#define DEBUGDISABLE()
-#define DEBUGSUSPEND()
-#define DEBUGCONTINUE()
-#define DEBUG(x)
-#define DEBUG8(x)
-#define DEBUG16(x)
-#define DEBUGBUFFER(x)
-#define DEBUGTIME(x)
-#endif
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-#define MMPERF(x) TRAP_IGNORE( DebugStringNarrowPerfL x )
-#else
-#define MMPERF(x)
-#endif
-
-#endif // MENUDEBUG_H
-
--- a/menufw/hierarchynavigator/hnengine/inc/mymenudebug.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-#define APPEND_TO_DEBUG_FILE
-
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "hnengine.txt");
-
-#endif // MYMENUDEBUG_H
-
-// End of File
--- a/menufw/hierarchynavigator/hnengine/src/hnengine.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1301 +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:
-*
-*/
-
-
-#include <uri8.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <sacls.h>
-#include <apgtask.h>
-#include <centralrepository.h>
-#include <AknUtils.h>
-
-#include "hnengine.h"
-#include "hnconvutils.h"
-#include "hncontrollerinterface.h"
-#include "hnfilter.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnsuitemodel.h"
-#include "hnserviceglobals.h"
-#include "hnglobals.h"
-#include "hnmdsuite.h"
-#include "hnitemid.h"
-#include "hnliwutils.h"
-#include "hnrepositorymanager.h"
-#include "menudebug.h"
-#include "hnrepositorymanager.h"
-#include "hnsuiteobserver.h"
-#include "hnmdbasekey.h"
-#include "hnitemsorder.h"
-
-_LIT8(  KAnd8,                      "&" );
-_LIT8(  KEquals8,                   "=" );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::ConstructL()
-    {
-    iEEnv = CEikonEnv::Static();
-    iSuiteContainer = CHnSuiteModelContainer::NewL( *this , iControllerInterface );
-    iMetaDataModel = CHnMdModel::NewL( this, iSuiteContainer );
-    iLight = CHWRMLight::NewL(this);
-    iInstObserver = CHnInstallNotifier::NewL( this,
-            KUidSystemCategory, KSAUidSoftwareInstallKeyValue  );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnEngine* CHnEngine::NewL( MHnControllerInterface& aController )
-    {
-    CHnEngine* self = CHnEngine::NewLC( aController );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnEngine* CHnEngine::NewLC( MHnControllerInterface& aController )
-    {
-    CHnEngine* self = new( ELeave ) CHnEngine( aController );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnEngine::CHnEngine( MHnControllerInterface& aController ):
-    iControllerInterface( aController )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnEngine::~CHnEngine()
-    {
-    delete iInstObserver;
-    delete iLight;
-    if( iSuiteContainer )
-        {
-        iSuiteContainer->RemoveLiwObjects();
-        }
-    delete iMetaDataModel;
-    delete iSuiteContainer;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::GetSuiteModelsCountL()
-    {
-    return iSuiteContainer->GetSuiteModelCount();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnEngine::SuiteModelLoadedL( TInt aId )
-    {
-    TBool ret( EFalse );
-    TInt count( iSuiteContainer->GetSuiteModelCount() );
-    for( int i=0; i<count; i++ )
-        {
-        CHnSuiteModel* suite = iSuiteContainer->GetSuiteModel( i );
-        if( suite->GetItemsOrder()->GetSuiteId() == aId )
-            {
-            ret = ETrue;
-            break;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModel* CHnEngine::GetLastSuiteModelL()
-    {
-    return iSuiteContainer->GetLastSuiteModel();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModel* CHnEngine::GetParentSuiteModelL()
-    {
-    return iSuiteContainer->GetParentSuiteModel();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnEngine::TriggerHnEventL( const TInt aHnEventId,
-        const TInt aRecipientId, CLiwGenericParamList* aEventParameters )
-    {
-    TInt ret = iSuiteContainer->OfferHnEventL( aHnEventId, aRecipientId,
-            aEventParameters);
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::HighlightPlacementFromUriL( const TDesC8& aUriFragment )
-    {
-    TLex8 lexFrag( aUriFragment );
-    TInt highLight( 0 );
-    if( !( lexFrag.Val( highLight ) ) )
-        {
-        iSuiteContainer->GetLastSuiteModel()->SetSuiteHighlightL( highLight );
-        iControllerInterface.HandleSuiteEventL( ESuiteHighlightChanged,
-                iSuiteContainer->GetLastSuiteModel() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::LoadSuiteFromUriL( const TDesC8& aSuiteName,
-        const TDesC8& aUriQuery, const TDesC8& aUriFragment )
-    {
-    TInt error( KErrNone );
-
-    if( !( aSuiteName.Compare( KRoot8 ) ) )
-        {
-        CLiwGenericParamList* uriParams =
-			UriQueryToLiwListLC( aUriQuery, aUriFragment, aSuiteName );
-        CLiwGenericParamList* params = CLiwGenericParamList::NewLC();
-        params->AppendL( iMetaDataModel->GetSuiteParameters( 0 ) );
-        params->AppendL( *uriParams );
-        ResetModelsL();
-        iMetaDataModel->QueueForeground( CHnMdModel::EWhenAnySuiteIsEvaluated );
-        error = InitializeL( *params );
-        CleanupStack::PopAndDestroy( params );
-        CleanupStack::PopAndDestroy( uriParams );
-        }
-    else
-        {
-        CLiwGenericParamList* params =
-			UriQueryToLiwListLC( aUriQuery, aUriFragment, aSuiteName );
-
-        HBufC* suiteName = HnConvUtils::Str8ToStrLC( aSuiteName );
-        params->AppendL( TLiwGenericParam( KNewSuiteParamNameEn,
-            TLiwVariant( *suiteName ) ) );
-
-        error = HandleNewSuiteLoadedEventL( *params );
-
-        CleanupStack::PopAndDestroy( suiteName );
-        CleanupStack::PopAndDestroy( params );
-        }
-
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnEngine::SuitesAreTheSameL( const TDesC& aLastSuiteName,
-    const TDesC8& aFirstSuiteName )
-    {
-    RBuf8 lastSuiteName;
-    CleanupClosePushL( lastSuiteName );
-    lastSuiteName.CreateL( aLastSuiteName.Length() );
-    lastSuiteName.Copy( aLastSuiteName );
-    TBool suitesAreTheSame( !lastSuiteName.Compare( aFirstSuiteName ) );
-    CleanupStack::PopAndDestroy( &lastSuiteName );
-    return suitesAreTheSame;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::HandleTheSameSuitesL( TBool aNextExists, const TDesC8& aParams )
-    {
-    RBuf exitMode;
-    CleanupClosePushL( exitMode );
-    CLiwGenericParamList* params = UriQueryToLiwListLC( aParams, KNullDesC8, KNullDesC8 );
-    HnLiwUtils::GetStringL( *params, KExitModeParams, exitMode );
-
-    if ( !exitMode.Compare( KExitModeHide ) )
-        {
-        // set parameters
-        iSuiteContainer->GetLastSuiteModel()->SetExitMode( EExitModeHide );
-        }
-
-    CleanupStack::PopAndDestroy( params );
-    CleanupStack::PopAndDestroy( &exitMode );
-
-    if ( !aNextExists )
-        {
-        // refresh if necessary
-        iControllerInterface.NotifyUiRefreshL( ERefreshSuite );
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnEngine::LoadSuitesFromUriL( const TDesC8& aUri )
-	{
-	DEBUG(("_MM_:CHnEngine::LoadSuitesFromUriL IN"));
-	DEBUG8(("_MM_:\tURI: %S",&aUri));
-
-	TBool consumed(EFalse);
-
-    if ( aUri.Find( KSetFocusWithPref ) != KErrNotFound )
-	    {
-	    LoadFromCrL( aUri );
-	    consumed = ETrue;
-	    }
-
-    if ( !consumed )
-    	{
-    	consumed = HandleActionL( aUri );
-    	}
-
-    if ( !consumed )
-    	{
-    	LoadSuitesL( aUri );
-    	}
-
-    DEBUG(("_MM_:CHnEngine::LoadSuitesFromUriL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleModelEventL( const TDesC& aEventName,
-                                CLiwGenericParamList& aParams )
-    {
-    TInt ret(KErrNotFound);
-
-    if ( aEventName == KNewSuiteLoadedMdEvent )
-        {
-        // This handles new suite creation, putting its visual model
-        // onto the stack eventually.
-        ret = HandleNewSuiteLoadedEventL( aParams );
-        }
-    else if ( aEventName == KBackMdEvent )
-        {
-        const TDesC& suiteName = iSuiteContainer->GetLastSuiteModel()->SuiteName();
-        ret = HandleBackEventL( suiteName );
-        }
-    else if (aEventName == KReevaluateMdEvent )
-        {
-        // This event triggers reevaluate on the model.
-        // aParams holds liw packed filter.
-        ret = HandleReevaluateEventL( aParams );
-        }
-    else if (aEventName == KSwitchWidgetMdEvent )
-        {
-        // Widget change is requested.
-        ret = HandleWidgetChangeL( aParams );
-        }
-    else if (aEventName == KRefreshUiMdEvent )
-        {
-        // Refresh of the whole of the UI is refreshed
-        iControllerInterface.NotifyUiRefreshL( ERefreshSuite );
-        ret = KErrNone;
-        }
-    else if (aEventName == KRefreshToolbarMdEvent )
-        {
-        // Just the toolbar in UI is refreshed
-        iControllerInterface.NotifyUiRefreshL( ERefreshToolbar );
-        ret = KErrNone;
-        }
-    else if (aEventName == KStartEditModeMdEvent )
-        {
-        // Starting edit mode
-        iControllerInterface.NotifyUiRefreshL( EStartEditMode );
-        ret = KErrNone;
-        }
-    else if (aEventName == KStopEditModeMdEvent )
-        {
-        // Stopping edit mode
-        iControllerInterface.NotifyUiRefreshL( EStopEditMode );
-        ret = KErrNone;
-        }
-    else if (aEventName == KSetFocusEvent )
-        {
-        // SetFocus
-        ret = HandleSetFocusEventL( aParams );
-        }
-    else if (aEventName == KAppGainForeground )
-    	{
-    	//force matrix gain foreground
-        DEBUG(("_MM_:CHnEngine::HandleModelEventL EForegroundGain"));
-        iControllerInterface.NotifyUiRefreshL( EForegroundGain );
-        ret = KErrNone;
-    	}
-    else if (aEventName == KAppGainBackground )
-    	{
-    	//force matrix gain background
-        DEBUG(("_MM_:CHnEngine::HandleModelEventL EBackgroundGain"));
-        iControllerInterface.NotifyUiRefreshL( EBackgroundGain );
-        ret = KErrNone;
-    	}
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleWidgetChangeL(
-        CLiwGenericParamList& aParams )
-    {
-    THnSuiteWidgetType type = EChangeWidget;
-    TInt pos( 0 );
-    const TLiwGenericParam* param = NULL;
-    param = aParams.FindFirst( pos,  KWidgetTypeAttrName8 );
-    if ( pos != KErrNotFound )
-        {
-        TPtrC widgetType( KNullDesC );
-        param->Value().Get( widgetType );
-        if ( widgetType.Compare( KWidgetTypeList ) == 0 )
-            type = EListWidget;
-        else if ( widgetType.Compare( KWidgetTypeGrid ) == 0 )
-            type = EGridWidget;
-        else if ( widgetType.Compare( KWidgetTypeCoverFlow ) == 0 )
-            type = ECoverFlowWidget;
-        }
-
-    CHnSuiteModel* model  = iSuiteContainer->GetLastSuiteModel();
-    return HandleWidgetChangeL( model->SuiteName(), type );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleWidgetChangeL( const TDesC& aSuiteName,
-        THnSuiteWidgetType aType )
-    {
-    DEBUG(("_MM_:CMatrixMenuAppUi::HandleWidgetChangeL IN"));
-    TInt ret( KErrGeneral );
-
-    CHnRepositoryManager* rep = CHnRepositoryManager::NewLC();
-    THnSuiteWidgetType type( EUnspecified );
-    TInt err( rep->ReadSuiteWidgetTypeL( aSuiteName, type ) );
-
-    if( ( !err || err == KErrNotFound ) && type != EUnspecified )
-        {
-        ret = rep->StoreSuiteWidgetTypeL( aSuiteName, aType );
-        }
-    CleanupStack::PopAndDestroy( rep );
-    DEBUG(("_MM_:CMatrixMenuAppUi::HandleWidgetChangeL OUT"));
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleReevaluateEventL(
-        CLiwGenericParamList& aParams )
-    {
-    TInt ret(KErrNone);
-    // Paths to retrieve filter values
-    _LIT8( KGenreGlobalPath, "filter:genre");
-    _LIT8( KIdGlobalPath, "filter:id");
-    _LIT8( KGenrePath, "filter:[%d]/genre");
-    _LIT8( KItemPath, "filter:[%d]/item");
-
-    CHnFilter* filter = CHnFilter::NewLC();
-
-    TLiwGenericParam param;
-    param.PushL();
-    aParams.AtL(0, param);
-    ASSERT( !param.Name().Compare( KFilterElementItem8 ) );
-
-    TLiwVariant suiteIdVariant;
-    suiteIdVariant.PushL();
-    TLiwVariant genreVariant;
-    genreVariant.PushL();
-    TInt idFound =
-        HnLiwUtils::GetVariantL( aParams, KIdGlobalPath(), suiteIdVariant );
-    TInt found =
-        HnLiwUtils::GetVariantL(aParams, KGenreGlobalPath(), genreVariant );
-    if (idFound != KErrNotFound)
-        {
-        filter->SetSuiteId( suiteIdVariant.AsTInt32() );
-        filter->SetEvaluateSuiteL( ETrue );
-        }
-    else if (found != KErrNotFound && found != KErrBadDescriptor)
-        {
-        filter->SetSuiteNameL( genreVariant.AsDes() );
-        filter->SetEvaluateSuiteL( ETrue );
-        }
-    else
-        {
-        filter->SetEvaluateSuiteL( EFalse );
-        // For each entry in the fitler list....
-        for ( int i=0; i< param.Value().AsList()->Count(); i++ )
-            {
-            RBuf8 path;
-            CleanupClosePushL( path );
-            path.CreateL( KGenrePath().Length() );
-            path.Format( KGenrePath, i );
-            TLiwVariant genreVariant;
-            HnLiwUtils::GetVariantL(aParams, path, genreVariant );
-            path.Close();
-            path.CreateL( KItemPath().Length() );
-            path.Format( KItemPath, i );
-            TLiwVariant itemVariant;
-            HnLiwUtils::GetVariantL(aParams, path, itemVariant );
-            CleanupStack::PopAndDestroy( &path );
-
-            TPtrC suiteName;
-            TPtrC itemId;
-            genreVariant.Get(suiteName);
-            itemVariant.Get(itemId);
-
-            CHnItemId* itemIdObject = CHnItemId::NewLC(suiteName, itemId);
-            filter->AppendItemIdL( itemIdObject );
-            CleanupStack::Pop( itemIdObject );
-
-            genreVariant.Reset();
-            itemVariant.Reset();
-            }
-        }
-    CleanupStack::PopAndDestroy( &genreVariant );
-    CleanupStack::PopAndDestroy( &suiteIdVariant );
-    CleanupStack::PopAndDestroy( &param );
-    iMetaDataModel->EvaluateL( *filter );
-    CleanupStack::PopAndDestroy( filter );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleBackEventL( const TDesC& aGenre, TInt aIterations )
-    {
-    return iMetaDataModel->HandleBackEventL(
-            iSuiteContainer, aGenre, aIterations );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleNewSuiteLoadedEventL(
-        CLiwGenericParamList& aParams )
-    {
-    DEBUG(("_MM_:CHnEngine::HandleNewSuiteLoadedEventL IN"));
-    TInt err( KErrNone );
-    const TLiwGenericParam* param =
-        aParams.FindFirst( err, KNewSuiteParamNameEn );
-    if( err != KErrNotFound )
-        {
-        TPtrC genre;
-        param->Value().Get( genre );
-        DEBUG16(("_MM_:\tSuite genre name: %S",&genre));
-        // load and evaluate the suite
-        err = iMetaDataModel->LoadSuiteL( genre, &aParams );
-        if ( !err )
-            {
-            GetLastSuiteModelL()->RegisterSuiteObserverL( &iControllerInterface, EPriorityNull );
-            CHnFilter* filter = CHnFilter::NewLC();
-            filter->SetSuiteNameL( genre );
-            filter->SetEvaluateSuiteL( ETrue );
-            if ( iEditMode )
-                {
-                iMetaDataModel->SetModeL( EMdModeEdit );
-                }
-            else
-                {
-                iMetaDataModel->SetModeL( EMdModeNormal );
-                }
-
-            TRAP( err, iMetaDataModel->EvaluateL( *filter ) );
-
-            CleanupStack::PopAndDestroy( filter );
-            if ( err )
-                {
-                iMetaDataModel->DeleteLastSuite();
-                iSuiteContainer->PopSuiteModelL( genre );
-                }
-            }
-        else
-            {
-            // show error note to User
-            HBufC* message( NULL );
-            switch ( err )
-                {
-                case KErrPathNotFound :
-                    {
-                    message = KDebugNoteDirNotFound().AllocL();
-                    }
-                    break;
-                case KErrNotFound :
-                    {
-                    message = KDebugNoteFileNotFound().AllocL();
-                    }
-                    break;
-                default :
-                    {
-                    message = HBufC::NewL( KDebugNoteOtherError().Length() +
-                                            KMaxLength );
-                    message->Des().AppendFormat( KDebugNoteOtherError, err );
-                    }
-                    break;
-                }
-            iEEnv->AlertWin( *message );
-            delete message;
-            }
-        }
-    DEBUG(("_MM_:\tReturned error code: %d",err));
-    DEBUG(("_MM_:CHnEngine::HandleNewSuiteLoadedEventL OUT"));
-
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleSetFocusEventL( const CLiwGenericParamList& aParams  )
-    {
-    // Triggering event in hierarchy navigator, specifying
-    // that suite given by the name genre has been
-    DEBUG(("_MM_:CHnEngine::HandleSetFocusEventL IN"));
-
-    TInt posSuite( 0 );
-    TInt posItem( 0 );
-	TInt64 suiteCustomId( KErrNotFound );
-	TInt64 itemCustomId( KErrNotFound );
-
-	// Get suite's and item's custom ids.
-	const TLiwGenericParam* paramSuiteId = aParams.FindFirst( posSuite,  KSuiteCustomId8 );
-	const TLiwGenericParam* paramItemId = aParams.FindFirst( posItem,  KItemCustomId8 );
-
-
-	if ( posSuite >= 0 && posItem >= 0 )
-    	{
-    	suiteCustomId = paramSuiteId->Value().AsTInt64();
-    	itemCustomId = paramItemId->Value().AsTInt64();
-
-    	// Get matching suite.
-    	CHnSuiteModel* suiteModel = iSuiteContainer->GetMatchingSuiteModel( suiteCustomId );
-
-    	if ( suiteModel )
-    		{
-    		// If suite is not null, then find matching item model.
-    		TInt index( KErrNotFound );
-    		CHnItemModel* itemModel = suiteModel->GetMatchingItemModelL( itemCustomId, index );
-
-    		if ( itemModel )
-    			{
-    			// If itemModel is not null then set highlight and set highligh
-    			// on matching item.
-    			suiteModel->SetSuiteHighlightL( index );
-        		iControllerInterface.HandleSuiteEventL( ESuiteHighlightChanged, suiteModel );
-    			}
-    		else
-    			{
-    			suiteModel->QueueFocus( itemCustomId );
-    			}
-    		}
-    	}
-
-    DEBUG(("_MM_:CHnEngine::HandleSetFocusEventL OUT"));
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleMoveFocusBeforeDeleteEventL(
-        const CLiwGenericParamList& /* aParams */  )
-    {
-    // Triggering event in hierarchy navigator, specifying
-    // that suite given by the name genre has been
-    DEBUG(("_MM_:CHnEngine::HandleMoveFocusBeforeDeleteEventL IN"));
-
-    TInt currentHighlight( GetLastSuiteModelL()->GetSuiteHighlight() );
-    TInt itemsCount( GetLastSuiteModelL()->GetItemModelsCount() );
-
-    TInt shift( 0 );
-    if( AknLayoutUtils::PenEnabled() && iEditMode )
-        {
-        // add empty item
-        shift = 1;
-        }
-    if( currentHighlight == itemsCount - shift - 1 )
-        {
-        GetLastSuiteModelL()->SetSuiteHighlightL( currentHighlight - 1 );
-        }
-    else
-        {
-        GetLastSuiteModelL()->SetSuiteHighlightL( currentHighlight + 1 );
-        }
-    iControllerInterface.HandleSuiteEventL(
-            ESuiteHighlightChanged, GetLastSuiteModelL() );
-
-    DEBUG(("_MM_:CHnEngine::HandleMoveFocusBeforeDeleteEventL OUT"));
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleRefreshIconsEventL( const CLiwGenericParamList& /* aParams */ )
-    {
-    iMetaDataModel->EvaluateL();
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleDisableActionsForItemL( const CLiwGenericParamList& aParams )
-    {
-    TInt pos( 0 );
-    aParams.FindFirst( pos, KItemCustomId8 );
-    if ( pos != KErrNotFound )
-        {
-        TInt itemCustomId = aParams[pos].Value().AsTInt32();
-        TInt itemId = 0;
-        CHnItemModel* itemModel =
-                iSuiteContainer->GetLastSuiteModel()->GetMatchingItemModelL(
-                        itemCustomId, itemId );
-        if ( itemModel )
-            {
-            itemModel->DeleteAllActionModels();
-            }
-        }
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::InstallChangeL( TInt aStatus )
-    {
-    switch ( aStatus)
-        {
-        case EInstOpNone:
-            {
-            iMetaDataModel->HandleSisInstallationEventL( iSuiteContainer );
-            break;
-            }
-        case EInstOpInstall:
-        case EInstOpUninstall:
-            {
-            iMetaDataModel->ReleaseLocalization();
-            break;
-            }
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnEngine::InitializeL( CLiwGenericParamList& aParam )
-    {
-    DEBUG(("_MM_:CMatrixMenuAppUi::InitializeL IN"));
-    User::LeaveIfError( HandleNewSuiteLoadedEventL( aParam ) );
-    DEBUG(("_MM_:CMatrixMenuAppUi::InitializeL OUT"));
-    // This is an interface method so some value has to be returned.
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::ParseSuiteUriPathL( const TDesC8& aUriPath,
-        CDesC8ArrayFlat& aOutput )
-    {
-    DEBUG(("_MM_:CHnEngine::ParseSuiteUriPathL IN"));
-    DEBUG(("_MM_:\tURI path: %S",&aUriPath));
-    if ( aUriPath.Length() )
-        {
-        // copy the path so we can freely trim already parsed chunks
-        RBuf8 buf( aUriPath.AllocL() );
-        CleanupClosePushL( buf );
-
-        // get rid of the initial slash
-        if ( buf[0] == KSlash8()[0] )
-            {
-            buf.Delete( 0, 1 );
-            DEBUG(("_MM_:\tDeleted leading slash"));
-            }
-
-        // get the first chunk
-        TInt slashPos = buf.Find( KSlash8 );
-        TPtrC8 chunkPtr;
-        if ( slashPos != KErrNotFound )
-            {
-            chunkPtr.Set( buf.Left( slashPos ) );
-            }
-        else
-            {
-            // no slash - one chunk path
-            chunkPtr.Set( buf );
-            }
-
-        while ( chunkPtr.Length() )
-            {
-            aOutput.AppendL( chunkPtr );
-            DEBUG8(( "_MM_:\t\tParsed segment: %S", &chunkPtr ));
-
-            // get rid of the parsed chunk and get a new one
-            if ( slashPos != KErrNotFound )
-                {
-                // also remove the trailing slash
-                buf.Delete( 0, chunkPtr.Length() + 1 );
-                slashPos = buf.Find( KSlash8 );
-                if ( slashPos != KErrNotFound )
-                    {
-                    chunkPtr.Set( buf.Left( slashPos ) );
-                    }
-                else
-                    {
-                    // last chunk
-                    chunkPtr.Set( buf );
-                    }
-                }
-            else
-                {
-                // no slashes found, this was the last one
-                break;
-                }
-            }
-
-        CleanupStack::PopAndDestroy( &buf );
-        }
-    DEBUG(("_MM_:CHnEngine::ParseSuiteUriPathL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnEngine::ResetModelsL()
-    {
-    MMPERF(("CHnEngine::ResetModelsL - START"));
-
-    iControllerInterface.NotifyUiRefreshL( ERemoveLiwObjects );
-
-    if( iSuiteContainer )
-        {
-        iSuiteContainer->RemoveLiwObjects();
-        }
-    delete iMetaDataModel;
-    iMetaDataModel = NULL;
-    delete iSuiteContainer;
-    iSuiteContainer = NULL;
-
-    iSuiteContainer = CHnSuiteModelContainer::NewL( *this , iControllerInterface );
-    MMPERF(("CHnEngine::ResetModelsL - suite container ready"));
-
-    iMetaDataModel = CHnMdModel::NewL( this, iSuiteContainer );
-
-    MMPERF(("CHnEngine::ResetModelsL - DONE"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CLiwGenericParamList* CHnEngine::UriQueryToLiwListLC(
-        const TDesC8& aUriQuery, const TDesC8& aUriFragment, const TDesC8& aSuiteName )
-    {
-    CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-
-    CLiwDefaultMap* map = CLiwDefaultMap::NewL();
-    map->PushL();
-
-    RPointerArray< HBufC8 > params = SplitL( aUriQuery, KAnd8 );
-
-    for( TInt i = 0; i < params.Count(); i++ )
-        {
-        RPointerArray< HBufC8 > paramValue = SplitL( *params[ i ], KEquals8 );
-        CleanupResetAndDestroyPushL( paramValue );
-        ASSERT( paramValue.Count() == 2 );
-        map->InsertL( *paramValue[ 0 ], TLiwVariant( *paramValue[ 1 ] ) );
-        CleanupStack::PopAndDestroy( &paramValue );
-        }
-
-    if ( aUriFragment.Length() > 0 && aSuiteName.Length() > 0 )
-        {
-        map->InsertL( KUriHighlight, TLiwVariant( aUriFragment ) );
-        map->InsertL( KUriHighlightSuite, TLiwVariant( aSuiteName ) );
-        }
-
-    list->AppendL( TLiwGenericParam(  KParams8, TLiwVariant( map )));
-
-    params.ResetAndDestroy();
-    CleanupStack::PopAndDestroy( map );
-
-    return list;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-RPointerArray< HBufC8 > CHnEngine::SplitL( const TDesC8& aSource,
-        const TDesC8& aSeparator )
-    {
-    RPointerArray< HBufC8 > tokens;
-    CleanupResetAndDestroyPushL( tokens );
-
-    if ( aSource.Length() > 0 && aSeparator.Length() > 0 )
-        {
-        TPtrC8 tmpSource = aSource;
-
-        TPtrC8 token( KNullDesC8 );
-
-        while( ETrue )
-            {
-            TInt length = tmpSource.Find( aSeparator );
-
-            if ( length >= 0 )
-                {
-                token.Set( tmpSource.Mid( 0, length ) );
-                tokens.AppendL( token.AllocL() );
-                tmpSource.Set( tmpSource.Mid( length + 1 ) );
-                }
-            else
-                {
-                token.Set( tmpSource );
-                tokens.AppendL( token.AllocL() );
-                break;
-                }
-            }
-        }
-    CleanupStack::Pop( &tokens );
-    return tokens;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::SetEditModeL( TBool aEditMode )
-    {
-    iEditMode = aEditMode;
-    if ( aEditMode )
-        {
-        iMetaDataModel->SetModeL( EMdModeEdit );
-        }
-    else
-        {
-        iMetaDataModel->SetModeL( EMdModeNormal );
-        }
-    //The suite on top of the stack is probably displayed.
-    //Switching to edit mode has some dramatic ui impact,
-    //thus when parts of the suite will get displayed
-    //it may look awkward thus the suite on top of the stack
-    //is marked as uninitialized, therefore ui will be able to
-    //react only to the ready suite model.
-    if (AknLayoutUtils::PenEnabled() || (!AknLayoutUtils::PenEnabled() && iEditMode))
-        {
-        GetLastSuiteModelL()->GetItemsOrder()->MarkSuiteUninitialized();
-        iMetaDataModel->EvaluateL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnEngine::IsOnlyRootConfLoaded()
-    {
-    return ( iSuiteContainer &&
-            iSuiteContainer->GetSuiteModelCount() == KModelCountForRoot );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-
-EXPORT_C void CHnEngine::HandleRequestL( const CLiwGenericParamList& aParam,
-                                CLiwGenericParamList* /*aOutput*/ )
-    {
-    TInt pos( 0 );
-    aParam.FindFirst( pos, KHnRequest );
-    if (pos != KErrNotFound)
-        {
-        TPtrC8 command = aParam[pos].Value().AsData();
-        if( command == KSetFocus )
-            {
-            HandleSetFocusEventL( aParam );
-            }
-        else if( command == KMoveFocusBeforeDelete )
-            {
-            HandleMoveFocusBeforeDeleteEventL( aParam );
-            }
-        else if( command == KRefreshIcons )
-            {
-            HandleRefreshIconsEventL( aParam );
-            }
-        else if (command == KEvaluateMdModel)
-            {
-            GetLastSuiteModelL()->GetItemsOrder()->MarkSuiteUninitialized();
-            iMetaDataModel->EvaluateL();
-            }
-        else if ( command == KDisableActionsForItem )
-            {
-            HandleDisableActionsForItemL( aParam );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::LoadFromCrL( const TDesC8& aUri )
-	{
-	HBufC8* uriBuf = HBufC8::NewLC( aUri.Length() );
-	uriBuf->Des().Copy( aUri );
-
-	TUriParser8 parser;
-	parser.Parse( *uriBuf );
-	User::LeaveIfError( parser.IsSchemeValid() ? KErrNone : KErrPathNotFound );
-
-	const TDesC8& query = parser.Extract( EUriQuery );
-    RPointerArray< HBufC8 > params = SplitL( query, HnLogicalRelations::KLogicalAnd8);
-
-    TBuf8<KApaMaxAppGroupName + KTimeStampBufferLength + KUidStringLength + 2> item;
-
-    for( TInt i = 0; i < params.Count(); i++ )
-        {
-        RPointerArray< HBufC8 > paramValue = SplitL( *params[ i ], HnLogicalRelations::KLogicalEqual8 );
-        CleanupResetAndDestroyPushL( paramValue );
-        ASSERT( paramValue.Count() == 2 );
-
-        if ( !paramValue[0]->Compare(KMcsAppGroupName8) )
-        	{
-        	TBuf8<KApaMaxAppGroupName> appgrname;
-        	if( paramValue[1]->Length()<=KApaMaxAppGroupName )
-        	    {
-        	    appgrname.Append( *paramValue[1] );
-        	    }
-
-        	//get current time
-        	TTime currentTime;
-        	currentTime.HomeTime();
-        	TDateTime date(currentTime.DateTime());
-        	item.Format(KCRepTimeFormat, &appgrname , date.Year(), date.Month(),
-        		date.Day(), date.Hour(), date.Minute(), date.Second(), date.MicroSecond());
-        	}
-        else if ( !paramValue[0]->Compare( KKeyTypeUid ) )
-        	{
-        	item.Append( KComma8 );
-            if( paramValue[1]->Length()<=KUidStringLength )
-                {
-                item.Append( *paramValue[1] );
-                }
-        	}
-        CleanupStack::PopAndDestroy( &paramValue );
-        }
-
-    TBuf<KApaMaxAppGroupName + KTimeStampBufferLength + KUidStringLength + 2> item1;
-    item1.Copy(item);
-	CRepository *cenRep = CRepository::NewLC( KCRUidMenu );
-	cenRep->Set(KMenuShowFolder, item1);
-	CleanupStack::PopAndDestroy( cenRep );
-
-    params.ResetAndDestroy();
-    CleanupStack::PopAndDestroy( uriBuf );
-
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::LightStatusChanged(TInt aTarget,
-        CHWRMLight::TLightStatus aStatus)
-    {
-        DEBUG(("_Mm_:CHnEngine::LightStatusChanged: target %d, status %d - IN", aTarget, aStatus));
-    if (CHWRMLight::EPrimaryDisplay == aTarget
-            || CHWRMLight::EPrimaryDisplayAndKeyboard == aTarget)
-        {
-        switch (aStatus)
-            {
-            case CHWRMLight::ELightOn:
-                {
-                TRAP_IGNORE( iControllerInterface.NotifyUiRefreshL(ELightOn) );
-                break;
-                }
-            case CHWRMLight::ELightOff:
-                {
-                TRAP_IGNORE( iControllerInterface.NotifyUiRefreshL(ELightOff) );
-                break;
-                }
-            }
-        }
-        DEBUG(("_Mm_:CMmAppUi::LightStatusChanged - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnEngine::HandleActionL( const TDesC8& aUri )
-	{
-	TBool exitActionConsumed(EFalse);
-
-	HBufC8* uriBuf = HBufC8::NewLC( aUri.Length() );
-	uriBuf->Des().Copy( aUri );
-
-	TUriParser8 parser;
-    parser.Parse( *uriBuf );
-    User::LeaveIfError( parser.IsSchemeValid() ? KErrNone : KErrPathNotFound );
-
-    const TDesC8& host8 = parser.Extract( EUriHost );
-    const TDesC8& query = parser.Extract( EUriQuery );
-
-	RBuf action;
-    CleanupClosePushL( action );
-    CLiwGenericParamList* paramsUri = UriQueryToLiwListLC( query, KNullDesC8, KNullDesC8 );
-    HnLiwUtils::GetStringL( *paramsUri, KActionParams, action );
-
-    if ( !action.Compare( KActionExit ) )
-    	{
-    	RBuf host;
-		host.CreateL( host8.Length() );
-		CleanupClosePushL( host );
-		host.Copy(host8);
-    	CHnSuiteModel* suiteModel = iSuiteContainer->GetSuiteModel( host );
-    	TBool exitHideHostNotFound( ETrue  );
-    	if( suiteModel  && suiteModel->ExitMode() == EExitModeHide )
-    	    {
-    	    exitHideHostNotFound = EFalse;
-    	    }
-
-		if ( exitHideHostNotFound )
-			{
-			//send to foreground
-			CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-			CleanupStack::PushL( pl );
-			HandleModelEventL( KAppGainForeground, *pl );
-			CleanupStack::PopAndDestroy( pl );
-			}
-		else
-			{
-			//send to background
-			CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-			CleanupStack::PushL( pl );
-			HandleModelEventL( KAppGainBackground, *pl );
-			CleanupStack::PopAndDestroy( pl );
-			}
-
-    	if ( exitHideHostNotFound && iSuiteContainer->GetLastSuiteModel() == suiteModel  )
-    		{
-            HandleBackEventL( host,  1 );
-    		}
-    	else
-    		{
-        	//reset to root
-            CLiwGenericParamList* params = CLiwGenericParamList::NewLC();
-            params->AppendL( iMetaDataModel->GetSuiteParameters( 0 ) );
-        	ResetModelsL();
-            InitializeL( *params );
-            CleanupStack::PopAndDestroy( params );
-    		}
-
-    	CleanupStack::PopAndDestroy( &host );
-    	exitActionConsumed = ETrue;
-    	}
-
-    CleanupStack::PopAndDestroy( paramsUri );
-    CleanupStack::PopAndDestroy( &action );
-    CleanupStack::PopAndDestroy( uriBuf );
-    return exitActionConsumed;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::LoadSuitesL( const TDesC8& aUri )
-	{
-	TBool sendToForeground(EFalse);
-	HBufC8* uriBuf = HBufC8::NewLC( aUri.Length() );
-	uriBuf->Des().Copy( aUri );
-
-	TUriParser8 parser;
-	parser.Parse( *uriBuf );
-	User::LeaveIfError( parser.IsSchemeValid() ? KErrNone : KErrPathNotFound );
-
-	CDesC8ArrayFlat* suiteNameArray = new( ELeave ) CDesC8ArrayFlat( KDefaultGranularity ) ;
-	CleanupStack::PushL( suiteNameArray );
-
-	const TDesC8& host = parser.Extract( EUriHost );
-    RBuf8 host8;
-    CleanupClosePushL( host8 );
-    if (host.Compare( KNullDesC8 ))
-        {
-        host8.CreateL( host );
-        host8.LowerCase();
-        suiteNameArray->AppendL( host8 );
-        DEBUG8(( "_MM_:\tURI host part: %S", &host8 ));
-        }
-
-	const TDesC8& path = parser.Extract( EUriPath );
-	if (path.Compare( KNullDesC8 ))
-		{
-		HBufC8* path8 = HBufC8::NewLC( path.Length() );
-		path8->Des().Copy( path );
-		path8->Des().LowerCase();
-		ParseSuiteUriPathL( *path8, *suiteNameArray );
-		CleanupStack::PopAndDestroy( path8 );
-		}
-
-	TBool suiteExists( EFalse );
-	iMetaDataModel->IgnoreEvaluations( ETrue );
-	iMetaDataModel->QueueForeground( CHnMdModel::EWhenAnySuiteIsEvaluated );
-
-    if( host8.Length() == 0 || ( host8.Length() > 0 &&
-            !iMetaDataModel->SuiteModelExistsL( host8 ) ) )
-        {
-        suiteNameArray->Reset();
-        suiteNameArray->AppendL( KRoot8 );
-        }
-
-	for( TInt i = 0; i < suiteNameArray->Count(); ++i )
-		{
-		suiteExists = iMetaDataModel->SuiteModelExistsL(
-			( *suiteNameArray )[i] );
-		TBool nextExists = i < suiteNameArray->Count() - 1 &&
-			iMetaDataModel->SuiteModelExistsL( ( *suiteNameArray )[i + 1] );
-		TBool isLast = ( i == ( suiteNameArray->Count() - 1 ) );
-
-		TBool turnOnEvaluation = ( suiteExists && ( !nextExists || isLast ) );
-		if( turnOnEvaluation || !suiteExists )
-			{
-			iMetaDataModel->IgnoreEvaluations( EFalse );
-			}
-
-		TInt err( KErrNone );
-
-		// Ignore loading new suite if the last suite in model is the same
-		// as first one in the uri.
-		if ( i == 0 )
-			{
-			if ( SuitesAreTheSameL( iMetaDataModel->GetLastSuite()->SuiteName(), (*suiteNameArray)[i] ) )
-				{
-				HandleTheSameSuitesL( nextExists, parser.Extract( EUriQuery ) );
-				sendToForeground = ETrue;
-				continue;
-				}
-			}
-
-		if( suiteExists )
-			{
-			if (!nextExists)
-			    {
-			    // Tricky: queue foreground so that if the suite is evaluated synchronously
-			    // the foreground will be gained.
-			    iMetaDataModel->QueueForeground( CHnMdModel::EWhenAnySuiteIsEvaluated );
-			    }
-			err = LoadSuiteFromUriL(
-				( *suiteNameArray )[i], parser.Extract( EUriQuery ), parser.Extract( EUriFragment ) );
-			if ( KErrNone == err && !nextExists && iMetaDataModel->IsForegroundQueued() )
-			    {
-			    // Tricky: if foreground is still queued it means that the suite is evaluated
-			    // asynchronously. Override the previos foreground queue setting with one
-			    // that will be effective only if the last loaded suite is evaluated.
-			    iMetaDataModel->QueueForeground( CHnMdModel::EWhenCurrentTopSuiteIsEvaluated );
-			    }
-			if ( err != KErrNone )
-				{
-				sendToForeground = ETrue;
-				}
-			}
-
-		if( !suiteExists || err != KErrNone || !nextExists )
-			{
-			CHnFilter* filter = CHnFilter::NewLC();
-
-			filter->SetSuiteId(
-				iSuiteContainer->GetLastSuiteModel()->CustomId() );
-
-			filter->SetEvaluateSuiteL( ETrue );
-			iMetaDataModel->IgnoreEvaluations( EFalse );
-
-			TRAPD( err, iMetaDataModel->EvaluateL( *filter ) );
-
-			CleanupStack::PopAndDestroy( filter );
-			if( err )
-				{
-				iMetaDataModel->DeleteLastSuite();
-				iSuiteContainer->PopSuiteModelL(
-					 HnConvUtils::Str8ToStr( ( *suiteNameArray )[i] )->Des() );
-				sendToForeground = ETrue;
-				}
-			break;
-			}
-		}
-
-	// set highlight only when path is valid!
-	if( suiteExists )
-		{
-		HighlightPlacementFromUriL( parser.Extract( EUriFragment ) );
-		}
-
-    CleanupStack::PopAndDestroy( &host8 );
-	CleanupStack::PopAndDestroy( suiteNameArray );
-	CleanupStack::PopAndDestroy( uriBuf );
-
-//    send to foreground
-	if ( sendToForeground )
-		{
-		CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-		CleanupStack::PushL( pl );
-		HandleModelEventL( KAppGainForeground, *pl );
-		CleanupStack::PopAndDestroy( pl );
-		iMetaDataModel->QueueForeground( CHnMdModel::ENever );
-		}
-
-	}
-
-// End of file
--- a/menufw/hierarchynavigator/hnengine/src/hninstallnotifier.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +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:  Sis package installation event listener
-*
-*/
- 
-
-#include <sacls.h>
-#include "hninstallnotifier.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// -----------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::CHnMulModelInstallNotifier
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CHnInstallNotifier::CHnInstallNotifier( 
-                                    MHnInstallNotifierCallback* aCallback, 
-                                    TUid aCategory, 
-                                    TUint aKey ) : CActive( EPriorityNormal )
-    {    
-    CActiveScheduler::Add( this );
-    
-    iCallback = aCallback;
-    iCategory = aCategory;
-    iKey = aKey;
-    // Prepare automatically
-    TInt err = iProperty.Attach( iCategory, iKey );
-    SetActive();
-    iStatus = KRequestPending;
-    iProperty.Subscribe( iStatus );
-    }
-
-// -----------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::ConstructL
-// S2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CHnInstallNotifier::ConstructL()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::NewL
-// ---------------------------------------------------------------------------
-//
-CHnInstallNotifier* CHnInstallNotifier::
-                              NewL( MHnInstallNotifierCallback* aCallback,
-                                    TUid aCategory, 
-                                    TUint aKey  )
-    {
-    CHnInstallNotifier* self = 
-                new (ELeave) CHnInstallNotifier( aCallback,
-                                                         aCategory,
-                                                         aKey );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::~CHnMulModelInstallNotifier
-// ---------------------------------------------------------------------------
-//
-CHnInstallNotifier::~CHnInstallNotifier()
-    {
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CHnInstallNotifier::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CHnInstallNotifier::RunError( TInt /*aError*/ )
-    {    
-    // No need to do anything      
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::RunL
-// ---------------------------------------------------------------------------
-//
-void CHnInstallNotifier::RunL()
-    {
-    // Re-issue request before notifying
-    SetActive();
-    iStatus = KRequestPending;
-    iProperty.Subscribe( iStatus );
-    
-    TInt status;
-    User::LeaveIfError( iProperty.Get( KUidSystemCategory, 
-                                      KSAUidSoftwareInstallKeyValue,status ));
-
-    iCallback->InstallChangeL( status );
-    }
-// End of File
--- a/menufw/hierarchynavigator/hnmetadatamodel/bwins/hnmetadatamodelu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-EXPORTS
-	?SetSuiteNameL@CHnFilter@@QAEXABVTDesC16@@@Z @ 1 NONAME ; void CHnFilter::SetSuiteNameL(class TDesC16 const &)
-	?Id@CHnMdEvent@@QBEHXZ @ 2 NONAME ; int CHnMdEvent::Id(void) const
-	?NewLC@CHnItemId@@SAPAV1@ABVTDesC16@@0@Z @ 3 NONAME ; class CHnItemId * CHnItemId::NewLC(class TDesC16 const &, class TDesC16 const &)
-	?GetAlternativeWidgetNumber@CHnMdSuite@@QAEHXZ @ 4 NONAME ; int CHnMdSuite::GetAlternativeWidgetNumber(void)
-	?GetSuiteParameters@CHnMdSuite@@QAEAAVCLiwGenericParamList@@XZ @ 5 NONAME ; class CLiwGenericParamList & CHnMdSuite::GetSuiteParameters(void)
-	?ReloadLocalizationL@CHnMdModel@@QAEXXZ @ 6 NONAME ; void CHnMdModel::ReloadLocalizationL(void)
-	?QueueForeground@CHnMdModel@@QAEXW4TForegroundGainTriggeringEvent@1@@Z @ 7 NONAME ; void CHnMdModel::QueueForeground(enum CHnMdModel::TForegroundGainTriggeringEvent)
-	?ReadFileL@HnUtils@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 8 NONAME ; class HBufC8 * HnUtils::ReadFileL(class TDesC16 const &)
-	?GetModelL@CHnXmlModelProvider@@QAEHABVTDesC16@@AAVRXmlEngDocument@@@Z @ 9 NONAME ; int CHnXmlModelProvider::GetModelL(class TDesC16 const &, class RXmlEngDocument &)
-	?GetLastSuite@CHnMdModel@@QAEPAVCHnMdSuite@@XZ @ 10 NONAME ; class CHnMdSuite * CHnMdModel::GetLastSuite(void)
-	?GetColumnTextColumnCount@HnUtils@@SAHABVTDesC8@@VTChar@@@Z @ 11 NONAME ; int HnUtils::GetColumnTextColumnCount(class TDesC8 const &, class TChar)
-	?SetSuiteParametersL@CHnMdSuite@@QAEXAAVCLiwGenericParamList@@@Z @ 12 NONAME ; void CHnMdSuite::SetSuiteParametersL(class CLiwGenericParamList &)
-	?NewLC@CHnXmlModelProvider@@SAPAV1@XZ @ 13 NONAME ; class CHnXmlModelProvider * CHnXmlModelProvider::NewLC(void)
-	?NewLC@CHnMdModel@@SAPAV1@PAVMHnMdModelEventObserver@@PAVCHnSuiteModelContainer@@@Z @ 14 NONAME ; class CHnMdModel * CHnMdModel::NewLC(class MHnMdModelEventObserver *, class CHnSuiteModelContainer *)
-	?IsForegroundQueued@CHnMdModel@@QBEHXZ @ 15 NONAME ; int CHnMdModel::IsForegroundQueued(void) const
-	?NewL@CHnXmlModelProvider@@SAPAV1@XZ @ 16 NONAME ; class CHnXmlModelProvider * CHnXmlModelProvider::NewL(void)
-	?SetModeL@CHnMdModel@@QAEXW4TMdMode@@@Z @ 17 NONAME ; void CHnMdModel::SetModeL(enum TMdMode)
-	?AppendItemIdL@CHnFilter@@QAEXPAVCHnItemId@@@Z @ 18 NONAME ; void CHnFilter::AppendItemIdL(class CHnItemId *)
-	?HandleSisInstallationEventL@CHnMdModel@@QAEXPAVCHnSuiteModelContainer@@@Z @ 19 NONAME ; void CHnMdModel::HandleSisInstallationEventL(class CHnSuiteModelContainer *)
-	?ReadFileLC@HnUtils@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 20 NONAME ; class HBufC8 * HnUtils::ReadFileLC(class TDesC16 const &)
-	?LoadSuiteL@CHnMdModel@@QAEHABVTDesC16@@PAVCLiwGenericParamList@@@Z @ 21 NONAME ; int CHnMdModel::LoadSuiteL(class TDesC16 const &, class CLiwGenericParamList *)
-	?SuiteModelExistsL@CHnMdModel@@QAEHABVTDesC8@@@Z @ 22 NONAME ; int CHnMdModel::SuiteModelExistsL(class TDesC8 const &)
-	?HandleBackEventL@CHnMdModel@@QAEHPAVCHnSuiteModelContainer@@ABVTDesC16@@H@Z @ 23 NONAME ; int CHnMdModel::HandleBackEventL(class CHnSuiteModelContainer *, class TDesC16 const &, int)
-	?SuiteName@CHnItemId@@QBEABVTDesC16@@XZ @ 24 NONAME ; class TDesC16 const & CHnItemId::SuiteName(void) const
-	?Template@CHnMdItem@@QAEAAVTDesC8@@XZ @ 25 NONAME ; class TDesC8 & CHnMdItem::Template(void)
-	?SetAttributeL@HnUtils@@SAXABVTXmlEngElement@@AAVRBuf8@@@Z @ 26 NONAME ; void HnUtils::SetAttributeL(class TXmlEngElement const &, class RBuf8 &)
-	?ReleaseLocalization@CHnMdModel@@QAEXXZ @ 27 NONAME ; void CHnMdModel::ReleaseLocalization(void)
-	?DeleteLastSuite@CHnMdModel@@QAEXXZ @ 28 NONAME ; void CHnMdModel::DeleteLastSuite(void)
-	?NewLC@CHnFilter@@SAPAV1@XZ @ 29 NONAME ; class CHnFilter * CHnFilter::NewLC(void)
-	?EvaluateL@CHnMdModel@@QAEXXZ @ 30 NONAME ; void CHnMdModel::EvaluateL(void)
-	?SetAttributeL@HnUtils@@SAXABVTXmlEngElement@@ABVTDesC8@@AAVRBuf8@@@Z @ 31 NONAME ; void HnUtils::SetAttributeL(class TXmlEngElement const &, class TDesC8 const &, class RBuf8 &)
-	?Compare@CHnItemId@@QBEHABV1@@Z @ 32 NONAME ; int CHnItemId::Compare(class CHnItemId const &) const
-	?LocateFileLC@HnUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 33 NONAME ; class HBufC16 * HnUtils::LocateFileLC(class TDesC16 const &)
-	?Uid@CHnMdItem@@QAEAAVTDesC8@@XZ @ 34 NONAME ; class TDesC8 & CHnMdItem::Uid(void)
-	?SetEvaluateSuiteL@CHnFilter@@QAEXH@Z @ 35 NONAME ; void CHnFilter::SetEvaluateSuiteL(int)
-	?GetColumnTextLC@HnUtils@@SAPAVHBufC8@@HABVTDesC8@@VTChar@@@Z @ 36 NONAME ; class HBufC8 * HnUtils::GetColumnTextLC(int, class TDesC8 const &, class TChar)
-	?LocateNearestLanguageFileLC@HnUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 37 NONAME ; class HBufC16 * HnUtils::LocateNearestLanguageFileLC(class TDesC16 const &)
-	?SetSuiteId@CHnFilter@@QAEXH@Z @ 38 NONAME ; void CHnFilter::SetSuiteId(int)
-	?NewL@CHnFilter@@SAPAV1@XZ @ 39 NONAME ; class CHnFilter * CHnFilter::NewL(void)
-	?SuiteName@CHnMdSuite@@QAEABVTDesC16@@XZ @ 40 NONAME ; class TDesC16 const & CHnMdSuite::SuiteName(void)
-	?UpdateL@CHnItemId@@QAEXABV1@@Z @ 41 NONAME ; void CHnItemId::UpdateL(class CHnItemId const &)
-	?Type@CHnMdItem@@QAEAAVTDesC8@@XZ @ 42 NONAME ; class TDesC8 & CHnMdItem::Type(void)
-	?ReloadModelL@CHnXmlModelProvider@@QAEXXZ @ 43 NONAME ; void CHnXmlModelProvider::ReloadModelL(void)
-	??1CHnXmlModelProvider@@UAE@XZ @ 44 NONAME ; CHnXmlModelProvider::~CHnXmlModelProvider(void)
-	?NewL@CHnItemId@@SAPAV1@ABVTDesC16@@0@Z @ 45 NONAME ; class CHnItemId * CHnItemId::NewL(class TDesC16 const &, class TDesC16 const &)
-	?Id@CHnItemId@@QBEABVTDesC16@@XZ @ 46 NONAME ; class TDesC16 const & CHnItemId::Id(void) const
-	?EvaluateL@CHnMdModel@@QAEXAAVCHnFilter@@@Z @ 47 NONAME ; void CHnMdModel::EvaluateL(class CHnFilter &)
-	?NewL@CHnMdModel@@SAPAV1@PAVMHnMdModelEventObserver@@PAVCHnSuiteModelContainer@@@Z @ 48 NONAME ; class CHnMdModel * CHnMdModel::NewL(class MHnMdModelEventObserver *, class CHnSuiteModelContainer *)
-	?GetSuiteParameters@CHnMdModel@@QAEAAVCLiwGenericParamList@@H@Z @ 49 NONAME ; class CLiwGenericParamList & CHnMdModel::GetSuiteParameters(int)
-	?IgnoreEvaluations@CHnMdModel@@QAEXH@Z @ 50 NONAME ; void CHnMdModel::IgnoreEvaluations(int)
-	?GetCurrentUriL@CHnMdModel@@QAEXAAVTDes16@@@Z @ 51 NONAME ; void CHnMdModel::GetCurrentUriL(class TDes16 &)
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/eabi/hnmetadatamodelu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-EXPORTS
-	_ZN10CHnMdModel10LoadSuiteLERK7TDesC16P20CLiwGenericParamList @ 1 NONAME
-	_ZN10CHnMdModel12GetLastSuiteEv @ 2 NONAME
-	_ZN10CHnMdModel14GetCurrentUriLER6TDes16 @ 3 NONAME
-	_ZN10CHnMdModel15DeleteLastSuiteEv @ 4 NONAME
-	_ZN10CHnMdModel15QueueForegroundENS_30TForegroundGainTriggeringEventE @ 5 NONAME
-	_ZN10CHnMdModel16HandleBackEventLEP22CHnSuiteModelContainerRK7TDesC16i @ 6 NONAME
-	_ZN10CHnMdModel17IgnoreEvaluationsEi @ 7 NONAME
-	_ZN10CHnMdModel17SuiteModelExistsLERK6TDesC8 @ 8 NONAME
-	_ZN10CHnMdModel18GetSuiteParametersEi @ 9 NONAME
-	_ZN10CHnMdModel19ReleaseLocalizationEv @ 10 NONAME
-	_ZN10CHnMdModel19ReloadLocalizationLEv @ 11 NONAME
-	_ZN10CHnMdModel27HandleSisInstallationEventLEP22CHnSuiteModelContainer @ 12 NONAME
-	_ZN10CHnMdModel4NewLEP23MHnMdModelEventObserverP22CHnSuiteModelContainer @ 13 NONAME
-	_ZN10CHnMdModel5NewLCEP23MHnMdModelEventObserverP22CHnSuiteModelContainer @ 14 NONAME
-	_ZN10CHnMdModel8SetModeLE7TMdMode @ 15 NONAME
-	_ZN10CHnMdModel9EvaluateLER9CHnFilter @ 16 NONAME
-	_ZN10CHnMdModel9EvaluateLEv @ 17 NONAME
-	_ZN10CHnMdSuite18GetSuiteParametersEv @ 18 NONAME
-	_ZN10CHnMdSuite19SetSuiteParametersLER20CLiwGenericParamList @ 19 NONAME
-	_ZN10CHnMdSuite26GetAlternativeWidgetNumberEv @ 20 NONAME
-	_ZN10CHnMdSuite9SuiteNameEv @ 21 NONAME
-	_ZN19CHnXmlModelProvider12ReloadModelLEv @ 22 NONAME
-	_ZN19CHnXmlModelProvider4NewLEv @ 23 NONAME
-	_ZN19CHnXmlModelProvider5NewLCEv @ 24 NONAME
-	_ZN19CHnXmlModelProvider9GetModelLERK7TDesC16R15RXmlEngDocument @ 25 NONAME
-	_ZN19CHnXmlModelProviderD0Ev @ 26 NONAME
-	_ZN19CHnXmlModelProviderD1Ev @ 27 NONAME
-	_ZN19CHnXmlModelProviderD2Ev @ 28 NONAME
-	_ZN7HnUtils10ReadFileLCERK7TDesC16 @ 29 NONAME
-	_ZN7HnUtils12LocateFileLCERK7TDesC16 @ 30 NONAME
-	_ZN7HnUtils13SetAttributeLERK14TXmlEngElementR5RBuf8 @ 31 NONAME
-	_ZN7HnUtils13SetAttributeLERK14TXmlEngElementRK6TDesC8R5RBuf8 @ 32 NONAME
-	_ZN7HnUtils15GetColumnTextLCEiRK6TDesC85TChar @ 33 NONAME
-	_ZN7HnUtils24GetColumnTextColumnCountERK6TDesC85TChar @ 34 NONAME
-	_ZN7HnUtils27LocateNearestLanguageFileLCERK7TDesC16 @ 35 NONAME
-	_ZN7HnUtils9ReadFileLERK7TDesC16 @ 36 NONAME
-	_ZN9CHnFilter10SetSuiteIdEi @ 37 NONAME
-	_ZN9CHnFilter13AppendItemIdLEP9CHnItemId @ 38 NONAME
-	_ZN9CHnFilter13SetSuiteNameLERK7TDesC16 @ 39 NONAME
-	_ZN9CHnFilter17SetEvaluateSuiteLEi @ 40 NONAME
-	_ZN9CHnFilter4NewLEv @ 41 NONAME
-	_ZN9CHnFilter5NewLCEv @ 42 NONAME
-	_ZN9CHnItemId4NewLERK7TDesC16S2_ @ 43 NONAME
-	_ZN9CHnItemId5NewLCERK7TDesC16S2_ @ 44 NONAME
-	_ZN9CHnItemId7UpdateLERKS_ @ 45 NONAME
-	_ZN9CHnMdItem3UidEv @ 46 NONAME
-	_ZN9CHnMdItem4TypeEv @ 47 NONAME
-	_ZN9CHnMdItem8TemplateEv @ 48 NONAME
-	_ZNK10CHnMdModel18IsForegroundQueuedEv @ 49 NONAME
-	_ZNK9CHnItemId2IdEv @ 50 NONAME
-	_ZNK9CHnItemId7CompareERKS_ @ 51 NONAME
-	_ZNK9CHnItemId9SuiteNameEv @ 52 NONAME
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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:  Build information file for project hnmetadatamodel
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS 
-../inc/hnmdmodel.h              |../../../inc/hnmdmodel.h
-../inc/hnfilter.h               |../../../inc/hnfilter.h 
-../inc/hnitemid.h               |../../../inc/hnitemid.h
-../inc/hnutils.h                |../../../inc/hnutils.h
-../inc/hnglobals.h              |../../../inc/hnglobals.h
-../inc/hnhelper.inl             |../../../inc/hnhelper.inl
-../inc/hnqueryresultcollector.h |../../../inc/hnqueryresultcollector.h 
-../inc/hnmdsuite.h              |../../../inc/hnmdsuite.h 
-../inc/hnmdvaluebase.h          |../../../inc/hnmdvaluebase.h
-
-PRJ_MMPFILES
-hnmetadatamodel.mmp
-
-PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/hierarchynavigator/hnmetadatamodel/group/hnmetadatamodel.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +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:  Project definition file for project hierarchy navigator meta data model
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          hnmetadatamodel.dll
-TARGETTYPE      dll
-
-UID             0x1000008d 0x2000F8C7
-
-CAPABILITY      CAP_GENERAL_DLL
-
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-
-SOURCE          hnmdaction.cpp
-SOURCE          hnmditem.cpp
-SOURCE          hnmdevent.cpp
-SOURCE          hnmdeventmapping.cpp
-SOURCE          hnmdeventmappingelement.cpp
-SOURCE          hnmdquery.cpp
-SOURCE          hnmdsuite.cpp
-SOURCE          hnmdvaluebase.cpp
-SOURCE          hnmdvalueimage.cpp
-SOURCE          hnmdvaluetext.cpp
-SOURCE          hnmduimapping.cpp
-SOURCE          hnmduimappingelement.cpp
-SOURCE          hnmdmenuitem.cpp
-SOURCE          hnmdmodel.cpp
-SOURCE          hnutils.cpp
-SOURCE          hnmdlocalizationelement.cpp
-SOURCE          hnmdlocalization.cpp
-SOURCE          hnmdqueries.cpp
-SOURCE          hnstringhandler.cpp
-SOURCE          hnfilter.cpp
-SOURCE          hnitemid.cpp
-SOURCE          hnxmlmodelprovider.cpp
-SOURCE          hnmdnotifyrequest.cpp
-SOURCE          hnmdnotifyrequests.cpp 
-SOURCE          hnmdbutton.cpp 
-SOURCE          hnmdtoolbar.cpp
-SOURCE	        hnrepositoryobserver.cpp
-SOURCE          hnmdservicecommand.cpp
-SOURCE 	        hnmdservice.cpp
-SOURCE          hnsimplecondition.cpp
-SOURCE          hncomplexcondition.cpp
-SOURCE          hnconditionfactory.cpp 
-SOURCE          hnsimpleconditionequal.cpp 
-SOURCE          hnsimpleconditiondifferent.cpp 
-SOURCE          hnsimpleconditionsmaller.cpp 
-SOURCE          hnqueryresultcollector.cpp
-SOURCE          hnsimpleconditiongreater.cpp
-SOURCE          hnsimpleconditionhas.cpp
-SOURCE          hnsimpleconditionhasnot.cpp
-SOURCE          hnxmlmodelcache.cpp 
-SOURCE          hnxmlsuitefilesreg.cpp
-SOURCE          hnbitmapidcache.cpp
-
-USERINCLUDE     ../inc
-//USERINCLUDE     ../../../inc
-
-SYSTEMINCLUDE   ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         estor.lib 
-LIBRARY         euser.lib
-LIBRARY         XmlEngineDOM.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib
-LIBRARY         cone.lib //for CCoeEnv
-LIBRARY         CommonEngine.lib //for String Loader
-LIBRARY         mmextensionmanager.lib
-LIBRARY         liwservicehandler.lib //LIW Framework
-LIBRARY         hnpresentationmodel.lib
-LIBRARY         aknicon.lib
-LIBRARY         XCFW.lib
-LIBRARY         libpthread.lib
-LIBRARY	        aknskins.lib
-LIBRARY	        aknskinsrv.lib
-LIBRARY	        aknswallpaperutils.lib
-LIBRARY         CentralRepository.lib
-LIBRARY	        hnutilities.lib
-LIBRARY         mediaclientimage.lib
-LIBRARY         fbscli.lib
-LIBRARY         egul.lib 
-LIBRARY         cenrepnotifhandler.lib 
-LIBRARY         bitgdi.lib 
-LIBRARY         ws32.lib 
-LIBRARY         gdi.lib
-LIBRARY         sysutil.lib
-    
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-
-// End of file
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnbitmapidcache.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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: 
-*  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef HNXMLMODELCACHE_H_
-#define HNXMLMODELCACHE_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengdom.h>
-#include <bautils.h>
-
-
-/**
- * Bitmaps and masks ids cache.
- * 
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnBitmapIdCache ) : public CBase
-    {
-
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnBitmapIdCache();
-    
-    /**
-     * Standard second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-
-public:
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    static CHnBitmapIdCache* NewLC();
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * 
-     */
-    static CHnBitmapIdCache* NewL();
-    
-    /**
-     * Adds a new entry into the cache.
-     * @param aKey A key identifying a pair: key - value.
-     * @param aValue A value.
-     * 
-     * @since S60 5.0
-     */
-    TInt AddL( const TDesC8& aKey, TInt aValue );
-    
-    /**
-     * Checks if the cache contains an entry identifies by a given key.
-     * 
-     * @param aSuiteName The name of the suite to be checked.
-     * @return ETrue if a suite of a given name is stored in the cache,
-     *         otherwise - EFalse.
-     *         
-     * @since S60 5.0
-     */
-    TBool ExistsL( const TDesC8& aKey );
-    
-    /**
-     * Gets an integer value by a given name.
-     * 
-     * @param aSuiteName The name corresponding to the xml document to be
-     *                   retrieved from the cache.
-     * @param aDocument The reference to the xml document.
-     * 
-     * @since S60 5.0
-     */
-    void GetL( const TDesC8& aKey, TInt& aValue );
-    
-    /**
-     * Resets the cache - removes all stored xml documents.
-     * 
-     * @since S60 5.0
-     */
-    void Reset();
-    
-    /**
-     * Standard C++ virtual destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnBitmapIdCache();
-
-private:
-    
-    /**
-     * The hash map storing pairs: and an integer value.
-     * 
-     * @since S60 5.0
-     */
-    RHashMap< HBufC8*, TInt > iEntries;
-    
-    };
-
-#endif /*HNXMLMODELCACHE_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hncomplexcondition.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +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:  
-*
-*/
-
-
-
-#ifndef C_HNCOMPLEXCONDITION_H
-#define C_HNCOMPLEXCONDITION_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengelement.h>
-
-#include "hnconditioninterface.h"
-
-class CLiwGenericParamList;
-
-/**
- * Complex condition.
- * 
- * This class is designed to support complex conditions in the xml configuration.
- *  
- * @lib hnmetadatamodel
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnComplexCondition) : public CHnConditionInterface
-    {
-public:
-
-     
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnComplexCondition* NewL( TDesC8 & aElement );
-
-    /**
-     * Standard C++ Destructor
-     */
-    ~CHnComplexCondition();
-    
-    /**
-     * Returns result.
-     *
-     * @since S60 v3.2
-     * @param aQueryResults Results of query.
-     * @param aPos Position in the list.
-     * @return True if condition of true, otherwise false.
-     */    
-    TBool ResultL( const CLiwGenericParamList& aQueryResults, TInt aPos );  
-    
-protected:
-    
-    /**
-     *  Standard C++ Constructor
-     */
-    CHnComplexCondition();
-
-    /**
-     * Standard symbian second phase constructor.
-     * 
-     * @param aElement Xml element.
-     */
-    void ConstructL( TDesC8 & aElement );
-       
-    /**
-     * Prepares the condition for processng.
-     * Removes excessive white characters and 
-     * superfluous parentheses
-     * 
-     * @param aConditionString Condition string.
-     */
-    TBool CheckForOrOnTheSameLevelL( TDesC8 & aConditionString );
-    
-protected: // data
-        
-    /**
-     * Logical operation between conditions.
-     */
-    TOperator iOperation;
-    
-    /**
-     * Own - left side of the condition.
-     */
-    CHnConditionInterface* iLeftCondition;
-    
-    /**
-     * Own - right side of the condition.
-     */
-    CHnConditionInterface* iRightCondition;
-    
-    };
-
-#endif // C_HNCOMPLEXCONDITION_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnconditionfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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:  
-*
-*/
-
-
-
-#ifndef C_HNCONDITIONFACTORY_H
-#define C_HNCONDITIONFACTORY_H
-
-#include <e32def.h>
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengelement.h> 
-
-class CHnConditionInterface;
-
-/**
- * Condition factory.
- * 
- * The purpose of this class is the creation of different types of the condition objects.
- *  
- * @lib hnmetadatamodel
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(HnConditionFactory)
-    {
-public:
-   
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnConditionInterface* NewL( TXmlEngAttr aElement );
-
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element
-     * @return Fully constructed object.
-     */
-    static CHnConditionInterface* NewLC( TXmlEngAttr aElement );
-    
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnConditionInterface* NewL( TDesC8 & aElement );
-
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnConditionInterface* NewLC( TDesC8 & aElement );
-    
-private:
-    
-    /**
-     * Prepares the condition for processng.
-     * Removes excessive white characters and 
-     * superfluous parentheses
-     * 
-     * @param aConditionString Condition string.
-     */
-    static void TrimConditionL( RBuf8 & aConditionString );
- 
-    /**
-     * Check condition's brace integrity.
-     * 
-     * @param aConditionString Condition string.
-     * @return Error code. 
-     */
-    static TInt CheckBraceIntegrityL( TDesC8 & aConditionString );
-    
-    /**
-     * Constructs condition appropriate to its properties.
-     * 
-     * @param aConditionString Condition string.
-     * @return A pointer to the condition's interface.
-     */
-    static CHnConditionInterface* ConstructConditionL( TDesC8 & aConditionString );
-
-    };
-
-#endif // C_HNCONDITIONFACTORY_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnconditioninterface.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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:   
-*
-*/
-
-
-
-#ifndef C_HNCONDITIONINTERFACE_H
-#define C_HNCONDITIONINTERFACE_H
-
-#include <e32base.h>
-
-class CLiwGenericParamList;
-
-enum TOperator
-    {
-        EOpeningBrace = '(',
-        EClosingBrace = ')', 
-        ELogicalAnd = '&',  
-        ELogicalOr = '|',  
-        ESpace = ' '
-    };
-
-/**
- * Condition Interface
- * 
- * This class is an interface for conditions.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnConditionInterface ) : public CBase
-    {
-    
-public:
-    /**
-     * Returns result.
-     *
-     * @since S60 v3.2
-     * @param aQueryResults Results of query.
-     * @param aPos position the list.
-     * @return True if condition is true, otherwise false.
-     */    
-    virtual TBool ResultL( const CLiwGenericParamList& aQueryResults, TInt aPos  = 0 ) = 0;
-    
-    };
-
-#endif // C_HNCONDITIONINTERFACE_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnfilter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +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:   
-*
-*/
-
-
-#ifndef C_HNFILTER_H
-#define C_HNFILTER_H
-
-
-#include <e32base.h>
-
-class CHnItemId;
-
-/**
- * Evaluation Filter
- * 
- * This class is a filter which is used during evaluation.
- * Due to the content of this filter the appropriate actions are taken.  
- *
- * @lib hnmetadatamodel
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnFilter ) : public CBase
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @return Filer object.
-     */
-    IMPORT_C static CHnFilter* NewL();
-    
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @return Filter object.
-     */
-    IMPORT_C static CHnFilter* NewLC();
-    
-    /**
-     * standard destructor
-     */
-    ~CHnFilter();
-
-public:    
-
-    /**
-     * Returns iGenre
-     *
-     * @since S60 v5.0
-     * @return Suite's name.
-     */
-    const TDesC& SuiteName() const;
-    
-    /**
-     * Checks if has item ids.
-     *
-     * @since S60 v5.0
-     * @return True if a filter has item ids.
-     */    
-    TBool HasItemIds() const;
-
-    /**
-     * Checks if has genre
-     *
-     * @since S60 v5.0
-     * @return True if suite has name.
-     */    
-    TBool HasSuiteName() const;
-    
-    /**
-     * Resets iterator.
-     *
-     * @since S60 v5.0
-     */    
-    void ResetIterator();
-    
-    /**
-     * Gets next item id.
-     *
-     * @since S60 v5.0
-     * @return Next item id.
-     */    
-    const CHnItemId* GetNextItemId() const;
-    
-    /**
-     * Checks if has next item id.
-     *
-     * @since S60 v5.0
-     * @return True if there is next item id.
-     */    
-    TBool HasNextItemId();
-
-    /**
-     * Resets genre.
-     *
-     * @since S60 v5.0
-     */    
-    void ResetSuiteName();
-    
-    /**
-     * Resets item ids
-     *
-     * @since S60 v5.0
-     */    
-    void ResetItemIds();
-    
-    /**
-     * Set genre.
-     *
-     * @since S60 v5.0
-     * @param aGenre Suite's name.
-     */    
-    IMPORT_C void SetSuiteNameL( const TDesC& aGenre );
-    
-    /**
-     * Append item id. 
-     * NOTE: This class takes the ownership of the given CHnItemId.
-     *
-     * @since S60 v5.0
-     * @param iItemId Item id.
-     */    
-    IMPORT_C void AppendItemIdL( CHnItemId* iItemId );
-    
-    /**
-     * Marks suites for evaluation.
-     *
-     * @since S60 v5.0
-     * @param aEvaluate ValueL of the flag
-     */    
-    IMPORT_C void SetEvaluateSuiteL( TBool aEvaluate );
-    
-    /**
-     * Checks if the suite(s) should be evalauted.
-     *
-     * @since S60 v5.0
-     */    
-    TBool IsEvaluateSuite();
-    
-    /**
-     * Set suite id.
-     *
-     * @since S60 v5.0
-     * @param aSuiteId Suite's id.
-     */    
-    IMPORT_C void SetSuiteId( const TInt aSuiteId );
-    
-    /**
-     * Returns iSuiteId
-     *
-     * @since S60 v5.0
-     * @return Suite's id.
-     */
-    TInt SuiteId() const;
-    
-    /**
-     * Checks if has suite id
-     *
-     * @since S60 v5.0
-     * @return True if suite has id.
-     */ 
-    TBool HasSuiteId() const;
-
-private:
-
-    /**
-     * standard constructor
-     */
-    CHnFilter();
-    
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     */
-    void ConstructL();
-    
-
-private: // data
-        
-    /**
-     * Suite's genre/name.
-     */
-    RBuf iGenre;
-    
-    /**
-     * Items' ids.
-     */
-    RPointerArray< CHnItemId > iItemIds;
-    
-    /**
-     * Flag determines if the suites should also be evaluated.
-     * If set to false, just items are evaluated.
-     * By default it is set to true.
-     */
-    TBool iEvaluateSuite;
-    
-    /**
-     * Current index of item id -> for iterator support
-     */
-    mutable TInt iIter;
-    
-    /**
-     * Suite Id
-     */
-    TInt iSuiteId;
-    
-    };
-
-#endif //C_HNFILTER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnglobals.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,621 +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:
-*
-*/
-
-
-#ifndef C_HNGLOBALS_H
-#define C_HNGLOBALS_H
-
-#include <f32file.h>
-
-/**
- * Default size for svg icons.
- */
-const TInt KDefaultSvgIconSize = 60;
-
-/**
- * Maximum size for icons loaded from files containing
- * raster graphics, such as png, jpg. This does not
- * apply to MIF and MBM files.
- */
-const TInt KMaxIconBitmapSize = 240;
-
-/**
- * Maximun integer character length
- */
-const TInt KMaxLength = 12;
-
-/**
- * Single character length.
- */
-const TInt KSingleChar( 1 );
-
-/**
- * Default datagranularity.
- */
-const TInt KDefaultGranularity( 8 );
-
-/**
- * Max digit number.
- */
-const TInt KMaxDigitNumber( 10 );
-
-/**
- * A number of cached suites.
- */
-const TInt KXmlModelCacheMaxLength( 10 );
-
-/**
- * Used to check if root suite loaded for display.
- */
-const TInt KModelCountForRoot( 1 );
-
-/**
- * KErrNoMemory code from MenuService
- */
-const TInt KSErrNoMemory = 1007;
-/**
- * Logical relations namespace
- */
-namespace HnLogicalRelations
-    {
-    /**
-     * Greater.
-     */
-    _LIT8( KLogicalGreater8,        ">"  );
-
-    /**
-     * Less.
-     */
-    _LIT8( KLogicalLess8,           "<"  );
-
-    /**
-     * Equals.
-     */
-    _LIT8( KLogicalEqual8,          "="  );
-
-    /**
-     * Different.
-     */
-    _LIT8( KLogicalDifferent8,      "!="  );
-
-    /**
-     * And.
-     */
-    _LIT8( KLogicalAnd8,            "&"  );
-
-    /**
-     * Or.
-     */
-    _LIT8( KLogicalOr8,             "|"  );
-
-    /**
-     * Nas.
-     */
-    _LIT8( KLogicalHas8,            "HAS" );
-
-    /**
-     * Has not.
-     */
-	_LIT8( KLogicalHasNot8,         "HASNOT" );
-    }
-
-/**
- * Event namespace
- */
-namespace HnEvent
-    {
-    /**
-     * Event data.
-     */
-    _LIT8( KEventArgNamespace8,     "event_data");
-
-    /**
-     * Dropped before custom id.
-     */
-    _LIT8( KDroppedBefore8,         "dropped_before_custom_id" );
-
-    /**
-     * Dragged custom id.
-     */
-    _LIT8( KDragged8,               "dragged_custom_id" );
-
-    /**
-     * Highlight offset.
-     */
-    _LIT8( KHighlightOffset8,       "highlight_offset" );
-
-    }
-
-
-_LIT8( KMm8,                        "mm" );
-_LIT8( KContentElementName8,        "content" );
-_LIT8( KSuiteElementName8,          "suite" );
-_LIT8( KItemElementName8,           "item" );
-_LIT8( KActionElementName8,         "action" );
-_LIT8( KEventElementName8,          "event" );
-_LIT8( KMenuItemElementName8,       "menuitem" );
-_LIT8( KMenuItemSpecificElementName8,       "menuitem_specific" );
-_LIT8( KMenuItemActionElementName8,       "menuitem_action" );
-_LIT8( KLocalizationElementName8,   "localization" );
-_LIT8( KNotifyRequestElementName8,  "notify_request" );
-_LIT8( KMenuButton8,				"button" );
-_LIT8( KMiddleSoftKey8,             "msk" );
-_LIT8( KMenuToolbar8,				"toolbar" );
-
-_LIT8 ( KName8,                     "name" );
-
-_LIT8( KQueryElementItem8,          "query" );
-_LIT8( KConstructorElementItem8 ,   "constructor" );
-_LIT8( KCommandElementItem8 ,       "command" );
-_LIT8( KOutputElementItem8 ,        "output" );
-_LIT8( KImageElementItem8,          "image" );
-_LIT8( KTextElementItem8,           "text" );
-_LIT8( KIdAttrName8,                "id" );
-_LIT8( KFolderAttrName8,            "folder" );
-
-
-_LIT8( KCommandModeAsync8,          "async" );
-_LIT8( KCommandNameAttr8,           "name" );
-_LIT8( KCommandModeAttr8,           "mode" );
-
-_LIT8( KContentTypeElementItem8,    "contenttype" );
-_LIT8( KFilterElementItem8,         "filter" );
-_LIT8( KKeyElementItem8,            "key" );
-
-_LIT8( 	KKeyAttrName8,              "key" );
-_LIT8( 	KTypeAttrName8,             "type" );
-_LIT8( 	KValueAttrName8,            "value" );
-_LIT8( 	KEventAttrName8,            "event" );
-_LIT8( 	KPositionAttrName8,         "position" );
-_LIT8( 	KMenuConditionAttrName8,    "condition" );
-_LIT8(  KIndexAttrName8, 			"index" );
-_LIT8( 	KMenuDimmAttrName8,    	    "dimm" );
-_LIT8( 	KGenreAttrName8,            "genre" );
-_LIT8( 	KTitleAttrName8,            "title" );
-_LIT8(  KEmptyTextAttrName8,        "emptytext" );
-_LIT8( 	KNameAttrName8,             "name" );
-_LIT8(  KWidgetAttrName8,           "widget" );
-_LIT8( 	KCountAttrName8,            "count" );
-_LIT8( 	KTemplateAttrName8,         "template" );
-_LIT8(  KTemplateEmpty8,            "empty" );
-_LIT8( 	KWidgetTypeAttrName8,       "type" );
-_LIT8( 	KItemIdAttrName8,           "id" );
-_LIT8( 	KNameSpaceAttrName8,        "namespace" );
-_LIT8( 	KServiceAttrName8,          "service" );
-_LIT8( 	KAliasAttrName8,            "alias" );
-_LIT8(  KParams8,                   "params");
-
-_LIT8( KEditModeItem8,              "edit_mode");
-_LIT8( KInterfaceAttrName8,         "interface" );
-
-_LIT8 ( KKeyTypeString,             "string" );
-_LIT8 ( KKeyTypeString8,            "string8" );
-_LIT8 ( KKeyTypeString16,           "string16" );
-_LIT8 ( KKeyTypeInteger,            "integer" );
-_LIT8 ( KKeyTypeInteger64,          "integer64" );
-_LIT8 ( KKeyTypeUInteger,           "uinteger" );
-_LIT8 ( KKeyTypeUid    ,            "uid" );
-_LIT8 ( KKeyTypeBoolean,            "boolean" );
-_LIT8 ( KKeyTypeMap,                "map" );
-_LIT8 ( KKeyTypeList,               "list" );
-_LIT8 ( KIdsList,                   "item_ids" );
-
-_LIT8 ( KAction,                    "action");
-_LIT8 ( KActionRemove,              "remove");
-_LIT8 ( KIdParam,	  				"id" );
-_LIT8 ( KMenuApplication8,          "menu:application" );
-_LIT  ( KMenuApplication,           "menu:application" );
-_LIT8 ( KMenuParentFolder8,         "custom:parent_folder" );
-_LIT  ( KMenuParentFolder,          "custom:parent_folder" );
-_LIT8 ( KMenuFolder8,               "menu:folder" );
-_LIT  ( KMenuFolder,                "menu:folder" );
-_LIT8 ( KMenuSuite8,                "menu:suite" );
-_LIT  ( KMenuSuite,                 "menu:suite" );
-_LIT8 ( KId8,                       "id" );
-_LIT8 ( KUid8,                      "uid" );
-_LIT8 ( KMcsTitleName8,             "title_name" );
-_LIT8 ( KMcsAppGroupName8,          "applicationgroup_name" );
-_LIT8 ( KMcsShortName8,             "short_name" );
-_LIT8 ( KMcsLongName8,              "long_name" );
-_LIT8 ( KMatrixMenuData,  			"matrixmenudata" );
-_LIT8 ( KServiceContentName,  		"ContentName" );
-_LIT8 ( KType8,  		            "type" );
-_LIT8( KIdPath8, 					"ReturnValue:[$index]/id" );
-_LIT8( KTypePath8, 					"ReturnValue:[$index]/type" );
-_LIT8( KTitleNamePath8, 			"ReturnValue:[$index]/title_name" );
-_LIT8( KAppGroupNamePath8,          "ReturnValue:[$index]/applicationgroup_name" );
-_LIT8( KLongNamePath8, 		    	"ReturnValue:[$index]/long_name" );
-_LIT8( KShortNamePath8, 			"ReturnValue:[$index]/short_name" );
-_LIT8( KDeleteLockedPath8, 			"ReturnValue:[$index]/delete_locked" );
-_LIT8( KParentIdPath8,                  "ReturnValue:[$index]/parent_id" );
-_LIT8( KChildrenCountPath8, 			"ReturnValue/[$index]/children_count" );
-_LIT8( KMcsTemplateTypePath8, 			"ReturnValue/[$index]/template" );
-_LIT8( KMcsWidgetTypePath8, 			"ReturnValue/[$index]/widget_type" );
-
-_LIT8( KWidgetTypePath8,            "params:widget_type" );
-_LIT8( KTemplatePath8,              "params:template" );
-_LIT( KTemplatePath,                "params:template" );
-_LIT( KWidgetTypePath,              "params:widget_type" );
-_LIT8( KReturnValue8, 				"ReturnValue" );
-_LIT8( KErrorCode8, 				"ErrorCode" );
-_LIT8( KParentFolderId8,            "parent_folder_id" );
-_LIT8( KTmpParentFolderId8,         "tmp_parent_folder_id" );
-
-_LIT( KCommandDeleteDialog,         "MMDeleteDialogs" );
-
-_LIT8 ( KSourceAttrName8,           "source" );
-
-_LIT(	KColon,                     ":" );
-_LIT8(  KColon8,                    ":" );
-_LIT(   KBslash,                    "\\" );
-_LIT(   KSlash,                     "/" );
-_LIT8(  KSlash8,                    "/" );
-_LIT(   KOpenBracket,               "(" );
-_LIT(   KCloseBracket,              ")" );
-_LIT8(  KOpenSquareBracket,         "[" );
-_LIT8(  KCloseSquareBracket,        "]" );
-_LIT8(  KHexPrefix8,                "0x" );
-_LIT(   KHexPrefix16,               "0x" );
-_LIT(   KPipe,                      "|" );
-_LIT(	KBlank,						"");
-
-_LIT(	KResourceSeparator,         " = " );
-_LIT(	KComma,                     "," );
-_LIT8(	KComma8,                     "," );
-
-_LIT(	KRsg,                       ".rsg");
-_LIT(	KMbg,                       ".mbg");
-_LIT(	KRscPath,                   ":\\resource\\apps\\");
-
-_LIT(   KPrefMm,                    "mm://" );
-_LIT8(  KRootWithPref,              "mm://root" );
-_LIT8(  KSetFocusWithPref,              "mm://!setfocus" );
-_LIT8(   KCRepTimeFormat, "%S,%04d%02d%02d:%02d%02d%02d.%06d" );
-
-// images
-_LIT8(  KSkinIdMajor8,              "skinid_major" );
-_LIT8(  KSkinIdMinor8,              "skinid_minor" );
-_LIT8(  KBitmapId8,                 "bitmap_id" );
-_LIT8(  KMaskId8,                   "mask_id" );
-_LIT8(  KAppUid8,                   "application_uid" );
-_LIT8(  KBitmap8,                   "bitmap" );
-_LIT8(  KMask8,                     "mask" );
-_LIT8(  KMifFile8,                  "mif_file" );
-
-_LIT(  KSvgFileExtension,         ".svg" );
-
-// texts
-_LIT8( KResourceAttrName8,          "resource");
-_LIT8( KFile8,                      "file" );
-
-// services
-
-_LIT8( 	KServiceMultimediaMenu,     "MultimediaMenu");
-_LIT8( 	KServiceOpenSuite,          "OpenSuite");
-_LIT8( 	KServiceStartEditMode,      "StartEditMode");
-_LIT8(  KServiceStopEditMode,       "StopEditMode");
-_LIT8(  KServiceSwitchWidget,       "SwitchWidget");
-_LIT8( 	KServiceBack,               "Back");
-_LIT8( 	KSetFocus,                  "SetFocus");
-_LIT8(  KMoveFocusBeforeDelete,     "MoveFocusBeforeDelete");
-_LIT8( 	KRefreshIcons,              "RefreshIcons" );
-_LIT8(  KEvaluateMdModel,           "EvaluateMdModel" );
-_LIT8(  KDisableActionsForItem,     "DisableActionsForItem" );
-
-_LIT( 	KSuiteName,                 "suite_name" );
-_LIT8(  KSuiteName8, 				"suite_name" );
-
-//
-_LIT8 ( KHnRequest, "KHnRequest" );
-// widget types
-_LIT8 ( KSuite8,                    "suite" );
-_LIT  ( KFolderSuite,               "foldersuite" );
-_LIT8 ( KWidgetType8,               "type" );
-_LIT8 ( KAllowedTypes8,             "allowed_types" );
-_LIT8 ( KWidgetTypeList8,           "list" );
-_LIT8 ( KWidgetTypeCoverFlow8,      "coverflow" );
-_LIT8 ( KWidgetTypeGrid8,           "grid" );
-
-_LIT( KWidgetTypeList,              "list" );
-_LIT( KWidgetTypeCoverFlow,         "coverflow" );
-_LIT( KWidgetTypeGrid,              "grid" );
-
-_LIT(  KStringFalse,                "FALSE" );
-_LIT(  KStringTrue,                 "TRUE" );
-
-_LIT8(  KStringFalse8,              "FALSE" );
-_LIT8(  KStringTrue8,               "TRUE" );
-
-_LIT(	KSuitesDir,					"import\\suites\\" );
-_LIT(	KXmlExt, 					".xml" );
-_LIT(  	Kbackslash, 				"\\" );
-
-_LIT(	KSuiteDefFileName, 			"suite.xml" );
-_LIT( 	KTitle, 					"mul_title" );
-_LIT8( 	KTitle8, 					"mul_title" );
-_LIT8(  KTemplate8,                 "mul_template" );
-
-_LIT8(	KTitleName8, 				"suite" );
-_LIT8(	KItemName8, 				"item" );
-_LIT8(	KGenreName8, 				"genre" );
-_LIT8(	KLocalizationName8, 		"localization" );
-
-_LIT8(	KEventName8, 				"event" );
-_LIT8(	KMenuItemName8, 			"menuitem" );
-_LIT(	KMenuItemName,	 			"menuitem" );
-_LIT8(	KMenuItemSpecificName8, 			"menuitem_specific" );
-_LIT(	KMenuItemSpecificName,	 			"menuitem_specific" );
-
-_LIT( 	KRoot, 						"root" );
-_LIT8(   KRoot8,                    "root" );
-_LIT( 	KExtension, 				".r" ); // rsc, r01, r02, etc.
-_LIT( 	KExtensionRsc, 				".rsc" );
-
-
-_LIT8(	KHexStart8, 				"0x");
-_LIT( 	KDrive ,					"C:");
-_LIT( 	KEntriesSuffix, 			"suites\\");
-
-_LIT8(  KMoveLocked8,               "move_locked" );
-_LIT8(  KRemoveLocked8,             "remove_locked" );
-_LIT8(  KRunning8,                  "running" );
-_LIT8(  KDrmProtection8,            "drm_protection" );
-_LIT8(  KItemType8,                 "type" );
-_LIT8(  KCustomId8,                 "custom_id" );
-_LIT8(  KItemCustomId8,             "item_custom_id" );
-_LIT8(  KIndexShift8,               "index_shift" );
-_LIT8(  KSuiteCustomId8,            "suite_custom_id" );
-_LIT8(  KItemTypeUnknown8,          "unknown" );
-_LIT8(  KItemTypeFolder8,           "folder" );
-_LIT8(  KItemUid8,                  "uid" );
-
-_LIT8(  KMenuDrmUnknown8,           "unknown" );
-_LIT(   KMenuDrmRightsExpired,      "expired" );
-
-
-//From hnmodel.h
-// model events
-_LIT( 	KNewSuiteLoadedMdEvent, 	"new_suite_loaded");
-_LIT( 	KOpenSuiteMdEvent,      	"open_suite" );
-_LIT(   KReevaluateMdEvent,         "reevaluate_model" );
-_LIT(   KSwitchWidgetMdEvent,       "switch_widget" );
-_LIT(   KStartEditModeMdEvent,      "start_edit_mode" );
-_LIT(   KStopEditModeMdEvent,       "stop_edit_mode" );
-_LIT(   KAppGainForeground,         "gain_foreground" );
-_LIT(   KAppGainBackground,         "gain_background" );
-_LIT(   KSetFocusEvent,             "set_focus" );
-_LIT(   KRefreshUiMdEvent,          "refresh_ui" );
-_LIT(   KRefreshToolbarMdEvent,     "refresh_toolbar" );
-_LIT( 	KBackMdEvent,           	"back" );
-_LIT(   KResetToRoot,               "reset_to_root");
-
-// model event-related params
-
-_LIT8( KParentId8,                  "parent_id" );
-_LIT8( KDefaultParentId8,           "1" );
-_LIT( KDefaultParentId,             "1" );
-_LIT8( KDefaultCount8,              "1" );
-
-_LIT(  KMatrixPanic, "Matrix Error" );
-
-// debug strings
-#ifdef _DEBUG
-
-_LIT( 	KEventMapLogFile, 			"c:\\logs\\menu\\event_ids.txt" );
-_LIT( 	KSuiteLoadingLogFile, 		"c:\\logs\\menu" );
-
-#endif// _DEBUG
-
-// info notes for notifying lack of configuration files
-_LIT( KDebugNoteDirNotFound,
-	"Directory containing suite configuration not found!" );
-_LIT( KDebugNoteFileNotFound,
-	"File containing suite configuration not found!" );
-_LIT( KDebugNoteOtherError,
-	"Loading suite configuration returned error: %d" );
-
-_LIT8( KStar8, "*" );
-
-
-_LIT( 	KKeyEmpty,                  "key:empty" );
-_LIT( 	KKeySelect,                 "key:select" );
-_LIT( 	KKeySelect2,                "key:select2" );
-_LIT( 	KKeySelect3,                "key:select3" );
-_LIT( 	KKeyCall,                   "key:call" );
-_LIT( 	KKeyClear,                  "key:clear" );
-_LIT(   KKeyMove,                   "key:move" );
-_LIT(   KKeyMoveInto,               "key:move_into" );
-_LIT( 	KOnSuiteLoad,               "suite:load" );
-_LIT(   KOnSuiteUnLoad,             "suite:unload" );
-_LIT( 	KOnFocusGain,               "item:focus" );
-_LIT(   KOnFocusLost,               "item:unfocus" );
-
-_LIT8(  KIndexWithBrackets8,        "[$index]");
-_LIT8(  KIndex8,                    "$index" );
-_LIT(   KIndex,                     "$index" );
-_LIT8(  KCount,                     "/[$count]" );
-
-
-/** EActiveSpaceActionKeyEmpty */
-const TInt KKeyIdEmpty   		=    0;
-
-/** EActiveSpaceActionKeySelect */
-const TInt KKeyIdSelect  		=    1;
-
-/** EActiveSpaceActionKeySelect2 */
-const TInt KKeyIdSelect2 		=    2;
-
-/** EActiveSpaceActionKeySelect3 */
-const TInt KKeyIdSelect3 		=    3;
-
-/** EActiveSpaceActionKeyCall */
-const TInt KKeyIdCall    		=    4;
-
-const TInt KKeyIdClear          =    6;
-
-const TInt KIdSuiteLoad         =    7;
-
-const TInt KIdSuiteUnLoad       =    8;
-
-const TInt KIdFocusGain         =    9;
-
-const TInt KIdFocusLost         =   10;
-
-const TInt KKeyIdMove           =   11;
-
-const TInt KKeyIdMoveInto       =   12;
-
-const TInt KKeyIdMoveHighlight  =   13;
-
-
-const TInt KCustomKeyOffset     =   7000;
-
-// for XML model provider
-
-const TInt KHnDefaultGranularity = 5;
-
-/** Central Repository Uid for Matrix Menu */
-static const TUid KMatrixRepositoryUid = { 0x20012474 };
-
-/**
- * Following characters are not allowed in the names
- */
-const TUint KNotAllowedChars[] = {'<', '>', '\\', '/', '"', '|', ':', '*', '?'};
-
-/** Central Repository Uid for Appshell (needed to detect folder change) */
-static const TUid KCRUidMenu = {0x101f8847};
-
-const TInt KRootId = 1 ;
-
-const TUint32 KMenuShowFolder = 0x0000000c;
-
-const TInt KTimeStampBufferLength = 25;
-
-const TInt KUidStringLength = 10;
-
-const TInt KTimeStampCutOff = 5;
-
-/**
- * Order in which drives are searched for suites.
- */
-const TInt KDriveSearchOrder[] = { EDriveY, EDriveX, EDriveW, EDriveV, EDriveU,
-		EDriveT, EDriveS, EDriveR, EDriveQ, EDriveP, EDriveO, EDriveN, EDriveM,
-		EDriveL, EDriveK, EDriveJ, EDriveI, EDriveH, EDriveG, EDriveF, EDriveE,
-		EDriveD, EDriveC, EDriveB, EDriveA,	EDriveZ	};
-
-/**
- * Type of the widget which displays Suite data
- *
- * @since S60 v5.0
- */
-enum THnSuiteWidgetType
-    {
-    EUnspecified = 0x00,
-    EGridWidget = 0x01,
-    EListWidget = 0x02,
-    ECoverFlowWidget = 0x04,
-    EChangeWidget = 0x05
-    };
-
-/**
- * Service Mode
- */
-enum TServiceMode
-    {
-    EServiceModeUndefined = 0,
-    EServiceModeSynchronous,
-    EServiceModeAsynchronous
-    };
-
-/**
- * Image source
- */
-enum TImageSource
-    {
-    EImageSourceUndefined = 0,
-    EImageSourceFile,
-    EImageSourceResource,
-    EImageSourceApplicationUid,
-    EImageSourceLiw
-    };
-
-/**
- * Custom item ids.
- */
-enum TCustomId
-	{
-	ECustomIdFirstItem = -2,
-	ECustomIdLastItem = -3
-	};
-
-/**
- * Suite's exit mode
- */
-enum TExitMode
-    {
-    EExitModeNormal = 0,
-    EExitModeHide
-    };
-
-/**
- * Type of change in items number
- */
-enum TItemsChangeType {
-	EItemsAdded = 0,
-	EItemsRemoved
-};
-
-_LIT8( KExitModeParams,  "params:exit" );
-_LIT8( KActionParams,  "params:action" );
-_LIT(  KExitModeHide,    "hide" );
-_LIT(  KActionExit,    "exit" );
-
-/*
- * MCS
- */
-_LIT8(KMCSDataSourceInterface8,   "IDataSource");
-_LIT8(KMCSMenuContentInterface8,  "IMenuContent");
-_LIT8(KMCSService8,               "Service.MenuContent");
-// Search and Result Types
-_LIT8(KRecursiveSearch8,          "recursive_search");
-_LIT8(KFlatResult8,               "flat_result");
-_LIT8(KParentOnly8,               "parent_only");
-_LIT8(KIncludeParent8,            "include_parent");
-// GetList Parameters
-_LIT8(KInData8,                   "InData");
-_LIT8(KFilter8,                   "Filter");
-// Command Names
-_LIT8(KCmdAdd8,                   "Add");
-_LIT8(KCmdDelete8,                "Delete");
-_LIT8(KCmdExecuteAction8,         "ExecuteAction");
-_LIT8(KCmdGetList8,               "GetList");
-_LIT8(KCmdOrganize8,              "Organize");
-// Flags
-_LIT8(KDeleteLocked8,             "delete_locked");
-_LIT8(KHidden8,                   "hidden");
-_LIT8(KMissing8,                  "missing");
-// Organize Parameters
-_LIT8(KFolderId8,                 "folder_id");
-_LIT8(KBeforeItemId8,             "before_item_id");
-
-_LIT8( KUriHighlight,             "uri_highlight" );
-_LIT8( KParamsUriHighlight,       "params:uri_highlight" );
-
-_LIT8( KUriHighlightSuite,        "uri_highlight_suite" );
-_LIT8( KParamsUriHighlightSuite,  "params:uri_highlight_suite" );
-
-#endif // C_HNGLOBALS_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnhelper.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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:   
-*
-*/
-
-
-#ifndef HNHELPER_H
-#define HNHELPER_H
-
-#include <e32hashtab.h>
-
-/**
- * Creates hash.
- * 
- * @param aBuf Descriptor.
- * @return Hash.
- */
-inline TUint32 HBuf16Hash( HBufC16* const &  aBuf )
-    {
-    return DefaultHash::Des16(*aBuf);
-    }
-    
-/**
- * Creates hash.
- * 
- * @param aBuf Descriptor.
- * @return Hash.
- */
-inline TUint32 TDesC16Hash( const TDesC16* const &  aBuf )
-    {
-    return DefaultHash::Des16(*aBuf);
-    }
-
-/**
- * Checks for indentity.
- * 
- * @param aL Descriptor.
- * @param aR Descriptor.
- * @return Bool.
- */
-inline TBool HBuf16Ident( HBufC16* const & aL, HBufC16* const & aR )
-    {
-    return DefaultIdentity::Des16(*aL, *aR);
-    }
-
-/**
- * Checks for indentity.
- * 
- * @param aL Descriptor.
- * @param aR Descriptor.
- * @return Bool.
- */
-inline TBool TDesC16Ident( const TDesC16* const & aL, const TDesC16* const & aR )
-    {
-    return DefaultIdentity::Des16(*aL, *aR);
-    }
-
-/**
- * Destroys both key and value object of a hashmap.
- */
-template <class TKey, class TValue>
-void DestroyMapKeyAndValue( RHashMap< TKey*, TValue* > & aHashMap )
-	{
-	THashMapIter< TKey*, TValue* > iter( aHashMap );
-	while ( iter.NextKey() )
-		{
-		delete *(iter.CurrentKey());
-		delete *(iter.CurrentValue());
-		}
-	}
-
-/**
- * Destroys just value object of a hashmap.
- */
-template <class TKey, class TValue>
-void DestroyMapValue( RHashMap< TKey*, TValue* > & aHashMap )
-	{
-	THashMapIter< TKey*, TValue* > iter( aHashMap );
-	while ( iter.NextKey() )
-		{
-		delete *(iter.CurrentValue());
-		}
-	}
-
-#endif /* HNHELPER_H */
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnitemid.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:  
-*
-*/
-
-
-
-#ifndef C_HN_ITEM_FILTER_H
-#define C_HN_ITEM_FILTER_H
-
-
-#include <e32base.h>
-#include <s32file.h>
-#include <s32mem.h>
-
-
-/**
- * Item Id.
- * 
- * This class represtnets the id of the item.
- * It comprises a file name in which the item was defined
- * and the numerical identifier. 
- *  
- * @lib hnmetadatamodel
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnItemId) :
-        public CBase
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aFile File name.
-     * @param aID Item's numerical identifier.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemId* NewL( const TDesC& aFile,
-        const TDesC& aID );
-    
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aFile File name.
-     * @param aID Item's numerical identifier.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemId* NewLC(const TDesC& aFile,
-        const TDesC& aID );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aItemId Item id.
-     * @return Fully constructed object.
-     */
-    IMPORT_C void UpdateL(const CHnItemId & aItemId );
-    
-    /**
-     * Default destructor
-     */
-    ~CHnItemId();
-
-    /**
-     * Get suite name.
-     * 
-     * @return Suite's name.
-     */
-    IMPORT_C const TDesC& SuiteName() const;
-
-    /**
-     * Returns Id.
-     *
-     * @return Textual identifier.
-     */
-    IMPORT_C const TDesC& Id() const;
-
-    /**
-     * Compares fileName to filter.
-     *
-     * @param aItemId Item id.
-     * @return True if aItemId is equal to current item id (this).
-     */
-    IMPORT_C TBool Compare( const CHnItemId& aItemId ) const;
-
-private:
-
-    /**
-     * default constructor
-     */
-    CHnItemId();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     * 
-    * @param aFile File name.
-    * @param aID Textual identifier of an item.
-     */
-    void ConstructL( const TDesC& aFile, const TDesC& aID );
-
-private: // data
-
-    /**
-     * Own - Filename.
-     */
-    RBuf iSuiteName;
-
-    /**
-     * Own - Id.
-     */
-    RBuf iId;
-
-    };
-
-#endif //C_HN_ITEM_FILTER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdaction.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:  
-*
-*/
-
-
-
-#ifndef C_HNMDACTION_H
-#define C_HNMDACTION_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-
-class CLiwGenericParamList;
-class CLiwDefaultMap;
-class TLiwVariant;
-class CHnMdBaseKey;
-class CHnMdServiceCommand;
-class CHnActionModel;
-class CHnMdService;
-class CHnConditionInterface;
-
-/**
- * Action.
- * 
- * This is the class that represents the action. Actions are used
- * to invoke different functions or methods from services, plugins
- * or internally defined in the Matrix Menu.
- *
- * @lib hnmetadatamodel
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdAction) : public CBase
-    {
-public:
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdAction* NewL( TXmlEngElement aElement );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdAction* NewLC( TXmlEngElement aElement );
-
-    /**
-     * standard destructor
-     */
-    virtual ~CHnMdAction();
-      
-    /**
-     * Evaluates action model based on the instance of meta data action.
-     *
-     * @since S60 5.0
-     * @param aActionModel Visual model af an action.
-     * @param aQueriesResultsList Query results.
-     * @param aPos Position in the query.
-     * @return Error code.
-     */    
-    TInt EvaluateL( CHnActionModel* aActionModel,
-            const CLiwGenericParamList& aQueriesResultsList, 
-            TInt aPos = 0);
-    /**
-     * Checks if the menu item is valid.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Query results in the form of the CLiwGenericParamList object.
-     * @param aPos Position in the query.
-     * @return True if valid, otherwise false.
-     */
-    TBool IsValidL( const CLiwGenericParamList& aQueryResults, 
-            TInt aPos = 0 );
-    
-private:
-
-    /**
-     * Default constructor.
-     */
-    CHnMdAction();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-  
-    /**
-     * Sets interface.
-     * @param aAttr Xml attribute.
-     */  
-    void SetConditionL( TXmlEngAttr aAttr );
-  
-    
-private: // data
-
-    /**
-     * Own - Condition.
-     */
-    CHnConditionInterface* iCondition;
-     
-    /**
-     * Own.
-     */
-    CHnMdService* iService;
-
-    };
-
-#endif // C_HNMMACTION_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdbutton.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +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:    
-*
-*/
-
-
-#ifndef HNMDBUTTON_H_
-#define HNMDBUTTON_H_
-
-#include <e32base.h>
-
-struct THnMdCommonPointers;
-class CHnCondition;
-class CLiwGenericParamList;
-class CGulIcon;
-class CHnMdValueImage;
-class CHnMdValueText;
-class TXmlEngElement;
-class CHnConditionInterface;
-class CHnAttributeBase;
-
-/**
- * Toolbar button.
- * 
- * This class represents the toolbar button.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnMdButton ) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Constructed object.
-     */
-    static CHnMdButton* NewLC( TXmlEngElement aElement,
-           THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     *    
-     * @since S60 5.0
-     */
-   ~CHnMdButton( );
-       
-    /**
-     * Checks if the button should be added.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Query results in the form of a CLiwGenericParamList.
-     * @param aPos Position of the record in the above results.
-     * @return True if valid.
-     */
-    TBool ValidateToAddL( const CLiwGenericParamList& aQueryResults, 
-                                            TInt aPos = 0 );
-    
-    /**
-     * Checks if the button should be added.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Query results in the form of a CLiwGenericParamList.
-     * @param aPos Position of the record in the above results.
-     * @return True if valid.
-     */
-    TBool ValidateToDimmL( const CLiwGenericParamList& aQueryResults, 
-                                            TInt aPos = 0 );
-       
-    /**
-     * Gets the id for event generated by this button.
-     *
-     * @return Event Id.
-     */
-    TInt GetEventId() const;
-       
-    /**
-     * Gets the index of button.
-     *
-     * @return Index.
-     */
-    TInt GetIndex() const;
-       
-    /**
-     * Evaluates button text.
-     *
-     * @param aQueryResults Results from service.
-     * @param aPos Position of item, needed for parsing the path to query.
-     * @return Button text
-     */
-    const TPtrC EvaluateButtonTextL( 
-           const CLiwGenericParamList& aQueryResults, TInt aPos = 0 );
-       
-    /**
-     * Evaluates and returns an icon for the button.
-     *
-     * @param aQueriesResultsList Results from service.
-     * @param aPos Position of item.
-     * @return bit map
-     */
-//    CGulIcon* EvaluateIconL( const CLiwGenericParamList& aQueriesResultsList, 
-//                                                           TInt aPos ) const;
-    CHnAttributeBase* EvaluateIconL( const CLiwGenericParamList& aQueriesResultsList, 
-            TInt aPos ) const;
-private:
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdButton();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-private: // data
-
-    /**
-     * Own - Help text string handler.
-     */
-    CHnMdValueText* iButtonText;
-
-    /**
-     * Index.
-     */
-    TInt iIndex;
-
-    /**
-     * Event element.
-     */
-    TInt iEventId;
-  
-    /**
-     * Own - Condition - if passed, button is added to toolbar.
-     */
-    CHnConditionInterface* iConditionAdd;
-    
-    /**
-     * Own - Condition - if passed, button is dimmed.
-     */
-    CHnConditionInterface* iConditionDimm;
-    
-    /**
-     * Own - Keeps icon for button.
-     */
-    CHnMdValueImage* iIcon;
-    
-    };
-
-#endif // HNMDBUTTON_H_
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdevent.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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:   
-*
-*/
-
-
-#ifndef C_HNMDEVENT_H
-#define C_HNMDEVENT_H
-
-#include <e32base.h>
-
-/**
- * Event.
- *
- * An object of this class represents an event (identified
- * by id). 
- * 
- * @lib hnmetadatamodel
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdEvent) : public CBase
-    {
-public:
-    
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aId Identifier.
-     * @return Fully constructed object.
-     */
-    static CHnMdEvent* NewL( const TInt aId );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aId Identifier.
-     * @return Fully constructed object.
-     */
-
-    static CHnMdEvent* NewLC( const TInt aId );
-
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdEvent();
-    
-    /**
-     * Returns Id.
-     *
-     * since S60 v5.0
-     * @return iId Identifier of the event.
-     */
-    IMPORT_C TInt Id() const;
-
-    /**
-     * Sets Id.
-     * 
-     * @param aId Identifier.
-     */
-    void SetId( TInt aId );
-
-private:
-
-    /**
-     * Standard constructor.
-     */
-    CHnMdEvent();
-    
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aId Identifier.
-     */
-    void ConstructL( const TInt aId );
-    
-private: // data
-
-    /**
-     * Event's identifier.
-     */
-    TInt iId;
-
-    };
-
-#endif // C_HNMMEVENT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmapping.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +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:  
-*
-*/
-
-
-
-#ifndef C_HNMDEVENTMAPPING_H
-#define C_HNMDEVENTMAPPING_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengdom.h>
-
-#include "hnmdmodel.h"
-
-class CHnMdEventMappingElement;
-class CHnMdItem;
-class CHnMdAction;
-struct THnMdCommonPointers;
-class CHnActionModel;
-class CHnItemModel;
-class CHnSuiteModel;
-
-/**
- * Event Mapping.
- * 
- * This class is to store event mapping elements defined
- * in one suite.
- *
- * @lib hnmetadatamodel
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdEventMapping) : public CBase
-    {
-public:
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     * @return Fully constructed object.
-     */
-    static CHnMdEventMapping* NewL( TXmlEngElement aElement, 
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     * @return Fully constructed object.
-     */
-    static CHnMdEventMapping* NewLC( TXmlEngElement aElement, 
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Fills actions models container with evaluated actions.
-     *
-     * since S60 v5.0
-     * @param aActions Actions container to be filled with actions models.
-     * @param aQueriesResultsList Query results.
-     * @param  aPos  Position in the query.
-     */
-    void FillActionsL( RHashMap< TInt, CArrayPtr<CHnActionModel>* >& aActions, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos = 0 );
-    
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdEventMapping();
-    
-    /**
-     * Gets list of actions correspondig to given event id.
-     * 
-     * @param aEventId Event's identifier.
-     * @return Actions list corresponding to the event.
-     */
-    RPointerArray< CHnMdAction > GetActionsForEventId( TInt aEventId );
-    
-    /**
-     * Gets events ids.
-     * 
-     * @param aIds Array to be filled with events ids.
-     */
-    void GetEventIdsL( RArray< TInt >& aIds ) const;
-    
-private:
-
-    /**
-     * Gets action by event id.
-     * 
-     * @return A number of actions.
-     */
-    TInt Count() const;
-    
-    /**
-     * Gets action by event id.
-     * 
-     * @param aActions Actions container to which action model will be added.
-     * @param aActionModel An  evaluated action model.
-     * @param aEventId An event id.  
-     */
-    void AddActionL( 
-            RHashMap<TInt,CArrayPtr<CHnActionModel> *> & aActions, 
-            CHnActionModel *& aActionModel, TInt aEventId );
-    
-    /**
-     * default constructot
-     */
-    CHnMdEventMapping();
-    
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     */
-    void ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-private: // data
-
-    /**
-     * Mappings.
-     */
-    RPointerArray<CHnMdEventMappingElement> iMappings;
-    
-    /**
-     * Common pointers.
-     * Not own.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-
-    };
-
-#endif // C_HNMMEVENTMAPPING_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmappingelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +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:   
-*
-*/
-
-
-
-#ifndef C_HNMDEVENTMAPPINGELEMENT_H
-#define C_HNMDEVENTMAPPINGELEMENT_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-
-#include "hnglobals.h"
-
-class CHnMdItem; 
-class CHnMdAction;
-class CHnMdEvent;
-struct THnMdCommonPointers;
-
-/**
- * Event Mapping Element.
- * 
- * This class is used to bind key events (or different events)
- * with specific actions.
- 
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdEventMappingElement) : public CBase
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdEventMappingElement* NewL( TXmlEngElement aElement );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdEventMappingElement* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Default destructor.
-     */
-    virtual ~CHnMdEventMappingElement();
-    
-    /**
-     * Returns actions.
-     * 
-     * @return A list of actions stored in an object of this class.
-     */
-    RPointerArray<CHnMdAction>& Actions();
-    
-    /**
-     * Returns events.
-     * 
-     * @return A list of events stored in the object of this class.
-     */
-    const RPointerArray<CHnMdEvent>& Events() const;
-
-
-private:
-
-    /**
-     * Standard constructor.
-     */
-    CHnMdEventMappingElement();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-    
-    /**
-     * Adds an event to the list of events.
-     * 
-     * @param aEvent A pointer to the event object.
-     */
-    void AddEventL( CHnMdEvent* aEvent );
-
-    /**
-     * Sets events on the base of the xml element.
-     * 
-     * @param aElement Xml element.
-     */
-    void SetEventsL( TXmlEngElement aElement );
-    
-    /**
-     * Sets actions on the base of the xml element.
-     * 
-     * @param aElement Xml element.
-     */
-    void SetActionsL( TXmlEngElement aElement );
-
-private: // data
-
-    /**
-     * Own - Events.
-     */
-    RPointerArray<CHnMdEvent> iEvents;
-    
-    /**
-     * Own - Actions.
-     */
-    RPointerArray<CHnMdAction> iActions;
-    
-    };
-
-#endif // C_HNMEVENTMAPPINGELEMENT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmditem.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,635 +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: 
-*
-*/
-
-
-
-#ifndef C_HNMDITEM_H
-#define C_HNMDITEM_H
-
-#include <e32base.h>
-
-#include "hnmdmodel.h"
-#include "hnmdeventmapping.h"
-#include "hnqueryresultcollector.h"
-
-class CHnMdQuery;
-class CHnMdButton;
-class CHnMdQueries;
-class CHnMdNotifyRequests;
-class CHnSuiteModel;
-class CLiwGenericParamList;
-class CLiwDefaultMap;
-class THnIdGenerator;
-class CHnFilter;
-class CHnMdUiMapping;
-class CHnMdMenuItem;
-class CHnItemId;
-class CHnMdSuite;
-class CHnXmlModelProvider;
-class CHnItemModel;
-class CHnMenuItemModel;
-class CHnActionModel;
-class CHnMdToolbar;
-struct THnMdCommonPointers;
-class CHnConditionInterface;
-
-/**
- * Item.
- *
- * This is the item's class. Each item (or items' group -
- * the count attribute has a value greater then 1) is represented
- * by an object of the CHnMdItem class.
- *
- * This class comprises different classes which are responsible for
- * conditions, queries, notifications (refreshing), etc.
- *
- * @lib hnmetadatamodel
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdItem) : public CBase,
-    public MHnQueryResultCollectorNotification
-    {
-public:
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     * @return Fully constructed object.
-     */
-    static CHnMdItem* NewL( TXmlEngElement aElement,
-                                      THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     * @return Fully constructed object.
-     */
-    static CHnMdItem* NewLC( TXmlEngElement aElement,
-                                       THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Default destructor.
-     */
-    virtual ~CHnMdItem();
-
-    /**
-     * Updates an item.
-     *
-     * @param aGraphicalList A graphical list.
-     * @param aId Item's identifier.
-     * @param aResultMap A results map.
-     * @return An error code.
-     */
-    void UpdateItemL( CHnSuiteModel* aGraphicalList, TInt aId,
-            RHashMap< HBufC*, CLiwGenericParamList*>& aResultMap );
-    /**
-     * Compares entries.
-     *
-     * @param aSearchCriteria Search critieria item id.
-     * @return True if this item matches aSearchCriteria.
-     */
-    TBool CompareItems( CHnItemId* aSearchCriteria );
-
-    /**
-     * Evaluates an item.
-     *
-     * @since S60 v3.2
-     * @param aSuiteModel A suite's model.
-     * @param aParamList Paramters of the evaluation.
-     * @param aItemPosition A position of an item in the aParamList.
-     */
-    void EvaluateItemL( CHnSuiteModel & aSuiteModel,
-                        CLiwGenericParamList& aParamList,
-                        TInt aItemPosition );
-
-    /**
-     * Marks according to filter which item should be evaluated.
-     *
-     * @since S60 5.0
-     * @param aFilter Filter.
-     */
-    void MarkEvaluationL( CHnFilter& aFilter );
-
-    /**
-     * Sets template.
-     *
-     * @param aOption Option - an identifier of alternative template bo be set.
-     */
-    void SetAlternativeTemplateL( TInt aOption );
-
-    /**
-     * Sets edit mode version of the item.
-     *
-     * @param aEditModeItem Edit mode item.
-     * @return Meta data model of the edit mode version.
-     */
-    void SetAlternativeModeItem(CHnMdItem* aEditModeItem);
-
-    /**
-     * Sets edit mode version of the item.
-     * Transfers ownership.
-     *
-     * @return Meta data model of the edit mode version.
-     */
-    CHnMdItem* TakeAlternativeModeItem();
-
-     /**
-      * Checks if mode version of the item is present.
-      *
-      * @return True if an item has an alternative model to be set.
-      */
-     TBool HasAlternativeModeItem() const;
-
-     /**
-      * Template property getter.
-      *
-      * @return The name of the template.
-      */
-     IMPORT_C TDesC8& Template();
-
-     /**
-      * Type property getter.
-      *
-      * @return Type of an item.
-      */
-     IMPORT_C TDesC8& Type();
-     
-     /**
-      * Type property getter.
-      *
-      * @return Type of an item.
-      */
-     IMPORT_C TDesC8& Uid();
-
-     // from queries collector
-     /**
-      * Triggered when results have been collected.
-      *
-      * @param aResults Results.
-      */
-     virtual void ResultsCollectedL( CLiwGenericParamList* aResults );
-
-private:
-
-    /**
-     * Sets edit mode item.
-     *
-     * @param aElement Xml element.
-     */
-    void SetEditModeItemL( TXmlEngElement aElement );
-
-    /**
-     * Sets count.
-     *
-     * @param aElement Xml element.
-     */
-    void SetCountL( TXmlEngElement aElement );
-
-    /**
-     * Sets template.
-     *
-     * @param aAttr Xml attribute.
-     */
-    void SetTemplateL( TXmlEngAttr aAttr );
-
-    /**
-     * Sets queries.
-     *
-     * @param aElement Xml element.
-     */
-    void SetQueriesL( TXmlEngElement aElement );
-
-    /**
-     * Sets item id.
-     *
-     * @param aItemElement Xml element.
-     */
-    void SetItemIdL( TXmlEngElement aItemElement );
-
-    /**
-     * Sets item id.
-     *
-     * @param aAttrFileName Xml attribute - file name.
-     * @param aId Xml attribute - item's identifier.
-     */
-    void SetItemId2L( TXmlEngAttr aAttrFileName, TXmlEngAttr aId );
-
-    /**
-     * Evaluates item.
-     *
-     * @param aSuiteModel A model of the suite.
-     * @param aItemId Item's id.
-     * @param aParamList Parameters of the evaluation in the form of the CLiwGenericParamList.
-     * @param aItemPosition A position of the record of the parameters list.
-     * @return Error code.
-     */
-    TInt EvaluateItemL( CHnSuiteModel & aSuiteModel,
-            const CHnItemId* aItemId, CLiwGenericParamList& aParamList,
-            TInt aItemPosition );
-
-    /**
-     * Evaluates item.
-     *
-     * @param aSuiteModel A model of the suite.
-     * @param aParamList Parameters of the evaluation in the form of the CLiwGenericParamList.
-     * @param aItemPosition A position of the record of the parameters list.
-     */
-    void EvaluateItemItselfL( CHnSuiteModel & aSuiteModel,
-            CLiwGenericParamList& aParamList, TInt aItemPosition );
-
-    /**
-     * Sets template attribute on item model.
-     *
-     * @param aItemModel Item's model.
-     */
-    void SetTemplateL( CHnItemModel* aItemModel );
-
-    /**
-     * Mode.
-     *
-     * @returns Mode of an item, e.g. normal / edit mode.
-     */
-    TMdMode Mode();
-    
-    /**
-     * Retrieves values from outputs containing the [$index] string.
-     * 
-     * @param aValues Array containing found strings.
-     * @param aElement The xml element.
-     * @return Number of found strings.
-     */
-    TInt GetIndexValuesFromOutputsL( RPointerArray<HBufC8> &aValues, TXmlEngElement aElement );
-
-private:
-
-    /**
-     * Standard constructor.
-     */
-    CHnMdItem();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     *
-    * @param aElement Xml element.
-    * @param aCmnPtrs Common pointers containter.
-     */
-    void ConstructL( TXmlEngElement aElement,THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Fills item model with data.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPosition A position of the record in the parameters list.
-     * @return True if filling finihed with success.
-     */
-    TBool FillItemModelL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList,
-            TInt aPosition );
-
-    /**
-     * Fills item model with menu items created from meta data model.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void FillItemModelWithMenuItemsL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos = 0 );
-
-    /**
-     * Fills item model with toolbar created from meta data model.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void FillItemModelWithToolbarL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos = 0 );
-
-    /**
-     * Fills item model with MSK created from meta data model.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void FillItemModelWithMiddleSoftKeyL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos = 0 );
-
-    /**
-     * Fills menu model with data from mdmenuitem.
-     *
-     * @param aSuiteModel Suite's model.
-     * @param aItemId Item's identifier.
-     * @param aQueriesResultsList Queries results in form of the CLiwGenericParamList.
-     * @param aItemModelNumber Item's model number.
-     * @param aItemPos Position of an item in the queries results list.
-     * @return KErrNone if an item was successfully added.
-     */
-    TInt AddItemL( CHnSuiteModel & aSuiteModel, TInt aItemId,
-            const CLiwGenericParamList& aQueriesResultsList,
-            TInt aItemModelNumber,
-            TInt aItemPos );
-
-    /**
-     * Fills menu model with data from mdmenuitem.
-     *
-     * @param aSuiteModel Suite's model.
-     * @param aItemId Item's identifier.
-     * @param aQueriesResultsList Queries results in form of the CLiwGenericParamList.
-     * @param aItemPos Position of an item in the queries results list.
-     * @return KErrNone if an item was successfully updated.
-     */
-    TInt UpdateItemL( CHnSuiteModel & aSuiteModel, TInt aItemId,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aItemPos );
-
-    /**
-     * Fills menu model with data from mdmenuitem.
-     *
-     * @param aSuiteModel Suite's model.
-     * @param aId Items identifier.
-     */
-    void RemoveItemL( CHnSuiteModel & aSuiteModel, TInt aId );
-
-    /**
-     * Sets move/remove locked attribute.
-     *
-     * @param aElement Xml item element.
-     */
-    void SetAttributesL( TXmlEngElement aElement );
-
-    /**
-     * Sets item type string.
-     *
-     * @param aElement Xml item element.
-     */
-    void SetTypeL( TXmlEngElement aElement );
-    
-    /**
-     * Sets uid string.
-     *
-     * @param aElement Xml item element.
-     */
-    void SetUidL( TXmlEngElement aElement );
-
-    /**
-     * Sets delete / move locked attributes.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void SetDeleteMoveAttributesL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos );
-
-
-    /**
-     * Sets custom id.
-     *
-     * @param aElement Xml item element.
-     */
-    void SetCustomIdL( TXmlEngElement aElement );
-
-    /**
-     * Sets middle soft key.
-     *
-     * @param aElement Xml item element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void SetMiddleSoftKeyL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Checks if an item is valid (the condition returns true).
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @return ETrue or EFalse dependeing on whether the item is valid.
-     */
-    TBool IsValidL( const CLiwGenericParamList& aQueryResults, TInt aPos );
-
-    /**
-     * Sets the evaluated remove lock to the item model.
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @param aItemModel Item model to set custom id on.
-     */
-    void SetRemoveLockedL( const CLiwGenericParamList& aQueryResults,
-            TInt aPos, CHnItemModel* aItemModel );
-
-    /**
-     * Sets the evaluated move lock to the item model.
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @param aItemModel Item model to set custom id on.
-     */
-    void SetMoveLockedL( const CLiwGenericParamList& aQueryResults,
-            TInt aPos, CHnItemModel* aItemModel );
-
-    /**
-     * Sets the evaluated type to the item model.
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @param aItemModel Item model to set custom id on.
-     */
-    void SetTypeL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueryResults, TInt aPos );
-    
-    /**
-     * Sets the uid to the item model.
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @param aItemModel Item model to set custom id on.
-     */
-    void SetUidL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueryResults, TInt aPos );
-
-    /**
-     * Sets custom id.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aParams Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void SetCustomIdL( CHnItemModel* aItemModel,
-          const CLiwGenericParamList& aParams, TInt aPos );
-
-    /**
-     * Returns the maximum possible number of items.
-     *
-     * @return Maximum number of items.
-     */
-    TInt GetItemsMaxCountL();
-
-private: // data
-
-    /**
-     * Own - edit mode version of the item.
-     * However TakeAlternativeModeItem transfers ownership.
-     */
-    CHnMdItem *iAlternativeModeItem;
-
-    /**
-     * Count.
-     */
-    RBuf8 iCount8;
-
-    /**
-     * Template.
-     */
-    RBuf8 iTemplate;
-
-    /**
-     * Own - List of allowable widget types.
-     */
-    CDesC8Array * iAllowableTemplate;
-
-    /**
-     * Item id.
-     */
-    CHnItemId* iItemId;
-
-    /**
-     * Queries.
-     */
-    CHnMdQueries* iQueries;
-
-    /**
-     * Notify Requests.
-     */
-    CHnMdNotifyRequests* iNotifyRequests;
-
-    /**
-     * Event mapping.
-     */
-    CHnMdEventMapping* iEventMapping;
-
-    /**
-     * UI mapping.
-     */
-    CHnMdUiMapping* iUiMapping;
-
-    /**
-     * Menu item.
-     */
-    CHnMdMenuItem* iMenu;
-
-    /**
-     * Toolbar.
-     */
-    CHnMdToolbar* iToolbar;
-
-    /**
-     * Middle soft key button.
-     */
-    CHnMdButton* iMsk;
-
-    /**
-     * Delete locked indicator
-     */
-    RBuf8 iRemoveLocked8;
-
-    /**
-     * MoveLocked indicator.
-     */
-    RBuf8 iMoveLocked8;
-
-    /**
-     * Type of an item.
-     */
-    RBuf8 iType8;
-    
-    /**
-     * Uid of the item.
-     */
-    RBuf8 iUid8;
-
-    /**
-     * Custom identifier.
-     */
-    RBuf8 iCustomId8;
-
-    /**
-     * Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-
-    /**
-     * Mode.
-     */
-    TMdMode iMode;
-
-    /**
-     * Query results list.
-     *  Own - queries results.
-     */
-    CLiwGenericParamList* iQueriesResultsList;
-
-    /**
-     * Query collector.
-     * Own.
-     */
-    CHnQueryResultCollector* iQc;
-
-    /**
-     * Suite model.
-     * Not own - suite model.
-     */
-    CHnSuiteModel* iSuiteModel;
-
-    /**
-     * Position of item.
-     * Own - item's positions.
-     */
-    TInt iItemPosition;
-
-    /**
-     * Own - condition.
-     */
-    CHnConditionInterface* iCondition;
-
-    /**
-     * Running indicator.
-     */
-    RBuf8 iRunning8;
-    
-    /**
-     * DRM protection indicator.
-     */
-    RBuf8 iDrmProtection8;
-
-public:
-    /**
-     * Marks if evaulation should take place.
-     */
-    TBool iEvaluationNeeded;
-
-    };
-
-#endif // C_HNMMITEM_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdlocalization.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +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:   
-*
-*/
-
-
-
-#ifndef C_HNMDLOCALIZATION_H
-#define C_HNMDLOCALIZATION_H
-
-
-#include <e32base.h>
-#include <xmlengelement.h> 
-
-class CHnMdLocalizationElement;
-class CCoeEnv;
-
-/**
- * Localization.
- * 
- * This class is designed to support localization.
- *
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdLocalization) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    static CHnMdLocalization* NewL();
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    static CHnMdLocalization* NewLC();
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdLocalization();
-    
-    /**
-     * Appends localizations.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void AppendLocalizationsL( TXmlEngElement aElement );
-
-    /**
-     * Gets element by name.
-     *
-     * @since S60 5.0
-     * @param aNamespace Namespace.
-     * @return Localization element.
-     */
-    const CHnMdLocalizationElement* ElementByNamespace(
-            const TDesC& aNamespace ) const;
-            
-    /**
-     * Loads resource.
-     * Resources can be defined in formats 
-     * @code <namespace>:<id> @endcode
-     * Namespaces can be defined by localization elements,
-     * but can also point to rsg file.
-     * Id can be rsg constants, but it can be also numbers.
-     *
-     * @since S60 5.0
-     * @param aResourceName Resource name.
-     * @param aDesParams descriptor parameters to format %U, %0U.
-     * @param aIntParams integer parameters to format %N, %0N.* 
-     * @return Descriptor.
-     */
-     HBufC* LoadL( const TDesC& aResourceName, 
-                   const CDesC16Array* aDesParams, 
-                   const CArrayFix<TInt>* aIntParams );
-     
-     /**
-      * Realeses loaded resources.
-      *
-      * @since S60 5.0
-      */
-     void ReleaseResourceFiles();
-     /**
-      * Reloads realesed resources.
-      *
-      * @since S60 5.0
-      */
-     void ReloadResourceFilesL();
-
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdLocalization();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-    /**
-     * Appends element the list of localization elements, it also checks for duplicates
-     * if it is RSC file it load the file in CoeEnv
-     * 
-     * @param aElement element to add, ownership is taken
-     *      if element with the same namespace exists element is ignored
-     *
-     * @since S60 5.0
-     */
-    void AppendElementL( CHnMdLocalizationElement*  aElement );
-
-    /**
-     * Check extension of file and decide it is a resource file
-     * 
-     * @param aFilename file name to check 
-     * @return ETrue if it is rsc file, else EFalse
-     */
-    TBool IsResourceFile( const TDesC&  aFilename );
-        
-    /**
-     * Formats text.
-     * 
-     * @since S60 5.0
-     * @param aTextToFormat A text to format.
-     * @param aDesParams Parameters of the text to be formated.
-     * @param aIntParams Integer parameters of the text to be formated.
-     */
-    HBufC* FormatTextL( const TDesC& aTextToFormat,
-                        const CDesC16Array* aDesParams, 
-                        const CArrayFix<TInt>* aIntParams );
-    
-    /**
-     * Checks whether the localization element identified by a namespace is
-     * duplicated.
-     *
-     * @param aNamespace Namespace.
-     */
-    TBool IsDuplicateL( TDesC8& aNamespace );
-    
-    /**
-     * Checks whether the localization element identified by a namespace is
-     * duplicated.
-     *
-     * @param aNamespace Namespace.
-     */
-    TBool IsDuplicateL( TDesC& aNamespace );
-    
-    /**
-     * Checks whether the localization element identified by a namespace is
-     * internal.
-     *
-     * @param aName Name.
-     */
-    TBool IsInternalL( const TDesC& aName );
-    
-private: // data
-
-    /**
-     * CoeEnv.
-     * Not own.
-     */
-    CCoeEnv* iCoeEnv;
-    
-    /**
-     * Own - Dynamic offset.
-     */
-    RArray< TInt > iDynamicOffset;
-    
-    /**
-     * Own - Dynamic localization.
-     */
-    RPointerArray<CHnMdLocalizationElement> iDynamicLocalization;
-    
-    /**
-     * Own - Internal offset.
-     */
-    RArray< TInt > iInternalOffset;
-    
-    /**
-     * Own - Internal localization.
-     */
-    RPointerArray<CHnMdLocalizationElement> iInternalLocalization;
-
-    };
-
-#endif // C_HNMMLOCALIZATION_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdlocalizationelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +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:   
-*
-*/
-
-
-
-#ifndef C_HNMDLOCALIZATIONELEMENT_H
-#define C_HNMDLOCALIZATIONELEMENT_H
-
-
-#include <e32base.h>
-#include <e32hashtab.h> //RHashMap
-#include <xmlengelement.h> 
-#include <xmlengnodelist.h>
-
-
-/**
- * Localization Element.
- * 
- * This is the localization element which is wrapped by the localization
- * class. 
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdLocalizationElement) : public CBase
-    {
-    /**
-     * State of element - used for caching purpose 
-     */
-    enum TLocalizationElementStates {
-        EInitialized = 1,
-        EWholeFileCached = 2,
-        EUsedItemsCached = 4
-    };
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed element.
-     */
-    static CHnMdLocalizationElement* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aNamespace namespace
-     * @param aSource source
-     * @return Fully constructed element.
-     */
-    static CHnMdLocalizationElement* NewL( const TDesC& aNamespace, 
-                                           const TDesC& aSource);
-
-    /**
-     * Standard C++ virtal destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdLocalizationElement();
-    
-    /**
-     * Gets namespace.
-     *
-     * @since S60 5.0
-     * @return Namespace.
-     */
-    const TDesC& Namespace() const;
-    
-    /**
-     * Gets source.
-     *
-     * @since S60 5.0
-     * @return Source.
-     */
-    const TDesC& Source() const;
-    
-    /**
-     * Gets source path.
-     *
-     * @since S60 5.0
-     * @return Source.
-     */
-    HBufC* SourcePath() const;
-    
-    /**
-     * Returns true if path to source exists.
-     *
-     * @since S60 5.0
-     * @return Does path to source exist.
-     */
-    TBool SourceExists() const;
-    
-    /**
-     * Reloads the resource file path.
-     *
-     * @since S60 5.0
-     */
-    void LocateLanguageFileL();
-
-    /**
-     * Gets resource id from corresponsing rsg if exist
-     * Inside it implemented caching mechanism
-     * If file is small (<KWholeFileReadLimit) cache all entries, 
-     * otherwise it caches only used resources.
-     * 
-     * @since S60 5.0
-     * @param aResourceName Resource name.
-     * @return Resource id if exist.
-     */
-    const TInt& FindResourceIdL( HBufC8* aResourceName );
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdLocalizationElement();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aNamespace namespace
-     * @param aSource source
-     */
-    void ConstructL( const TDesC& aNamespace, const TDesC& aSource);
-    
-    /**
-     * Sets namespace
-     *
-     * @since S60 5.0
-     * @param aNamespace Namespace.
-     */
-    void SetNamespaceL( TXmlEngAttr aNamespace );
-    
-    /**
-     * Sets source.
-     *
-     * @since S60 5.0
-     * @param aSource Xml attribute.
-     */
-    void SetSourceL( TXmlEngAttr aSource );
-        
-    /**
-     * Read corresponding rsg file return content.
-     * 
-     * @since S60 5.0 
-     * @return Descriptor with file content.
-     */     
-    HBufC8* ReadRsgContentLC( );
-    
-    /**
-     * Parse content of corresponding rsg file and 
-     * fill in maping to internal map for all resource listed in content.
-     *  
-     * @since S60 5.0 
-     * @param aContent Descriptor with content.
-     */    
-    void ParseRsgContentL( const TDesC8& aContent );
-
-    /**
-     * Parse content of corresponding rsg file and 
-     * fill in maping to internal map only requested resource 
-     *
-     * @since S60 5.0  
-     * @param aContent Descriptor with content.
-     * @param aResourceName Requested resource name.
-     */        
-    void ParseRsgContentL( const TDesC8& aContent, const TDesC8& aResourceName );    
-    
-private: // data
-
-    /**
-     * Namespace.
-     */
-    RBuf iNamespace;
-    
-    /**
-     * Source.
-     */
-    RBuf iSource;
-    
-    /**
-     * Source path.
-     */
-    HBufC* iSourcePath;
-    
-    /**
-     * Mapping between resource name and resource id.
-     */
-    RHashMap< HBufC8*, TInt> iResourceIDs;
-    
-    /**
-     * State of element. 
-     */
-    TInt iState;
-    };
-
-#endif // C_HNMMLOCALIZATIONELEMENT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdmenuitem.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +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:   
-*
-*/
-
-
-
-#ifndef C_HNMDMENUITEM_H
-#define C_HNMDMENUITEM_H
-
-#include <e32hashtab.h>
-#include <e32base.h>
-#include <xmlengelement.h> 
-#include <hnmenuitemmodel.h>
-
-struct THnMdCommonPointers;
-class CHnCondition;
-class CLiwGenericParamList;
-class CHnConditionInterface;
-
-/**
- * Menu Item.
- * 
- * This class represents items in the Options menu.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdMenuItem) : public CBase
-    {
-public:
-    /**
-     * Checkes if argument descriptor is equal to one of 
-     * menu items elements names.
-     *
-     * @since S60 5.0
-     * @param aNameToCompare name to compare.
-     * @return ETrue if aNameToCompare is equal to one of 
-     *         menu items elements names.
-     */
-    static TBool IsMenuItemElementName(const TDesC8& aNameToCompare);
-    
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdMenuItem* NewL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdMenuItem* NewLC( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    ~CHnMdMenuItem( );
-    
-    /**
-     * Gets position.
-     *
-     * @since S60 5.0
-     * @param aMenuModel Menu model.
-     * @param aQueriesResultsList Queries results list.
-     * @param aPos Position of the record in the results list.
-     */
-    void EvaluateL( CHnMenuItemModel* aMenuModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos );
-
-public:    
-    // from MHnMdMenuItemBase
-         
-    /**
-     * Gets the menu item's name
-     *
-     * @return Name of menu item.
-     */
-    const TDesC& NameL();
-        
-    /**
-     * Checks if the menu item is valid.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Query results.
-     * @param aPos Position.
-     * @return True if a condition is satisfied.
-     */
-    TBool IsValidL( const CLiwGenericParamList& aQueryResults, 
-                    TInt aPos = 0 );
-
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdMenuItem();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Creates children.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void CreateChildrenL( TXmlEngElement aElement, 
-                             THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Appends child item.
-     *
-     * @since S60 5.0
-     * @param aMenuItem Menu item.
-     */
-    void AppendChildItemL( CHnMdMenuItem* aMenuItem );
-    
-    /**
-     * Creates properties.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void CreatePropertiesL( TXmlEngElement aElement, 
-                            THnMdCommonPointers* aCmnPtrs );
-
-private: // data
-
-    /**
-     * Own - Name.
-     */
-    RBuf iName;
-
-    /**
-     * Position.
-     */
-    TInt iPosition;
-
-    /**
-     * Event element.
-     */
-    TInt iEvent;    
-    
-    /**
-     * Own - Children pointer array.
-     */
-    RPointerArray<CHnMdMenuItem> iChildren;
-
-    /**
-     * Own - Name value cache. 
-     */
-    RBuf iNameValueCache;
-    
-    /**
-     * Own - Condition.
-     */
-    CHnConditionInterface* iCondition;
-    
-    /**
-     * Is menu item "type".
-     */
-    CHnMenuItemModel::THnMenuItemType iType;
-    
-    };
-
-#endif // C_HNMULMENUITEM_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdmodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,574 +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:
-*
-*/
-
-
-
-#ifndef C_HNMDMODEL_H
-#define C_HNMDMODEL_H
-
-#include <e32base.h>
-#include <xmlengelement.h>
-#include <liwgenericparam.h>
-#include <eikenv.h>
-#include "hnglobals.h"
-
-class CHnMdLocalization;
-class CHnSuiteModelContainer;
-class CHnFilter;
-class THnIdGenerator;
-class CHnMdSuite;
-class CHnMdModel;
-class CHnItemId;
-class MHnSuiteObserver;
-class CHnXmlModelProvider;
-class CHnMdModel;
-class MHnMdModelEventObserver;
-class CHnSuiteModel;
-class CHnRepositoryObserver;
-class MHnEditModeInterface;
-class CHnBitmapIdCache;
-
-/**
- * Type of the property.
- *
- * @ingroup group_hnmetadatamodel
- */
-enum TPropertyType
-    {
-    EUndefined = 0,
-    EGenre,
-    EVisualItemCount
-    };
-
-/**
- * Mode type.
- *
- * @ingroup group_hnmetadatamodel
- */
-enum TMdMode
-    {
-    EMdModeNormal = 0,
-    EMdModeEdit
-    };
-
-/**
- * Common pointers.
- *
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-struct THnMdCommonPointers
-    {
-    /**
-     * Not own - Localization.
-     */
-    CHnMdLocalization* iLocalization;
-
-    /**
-     * Not own - Query generator.
-     */
-    THnIdGenerator* iIdGenerator;
-
-    /**
-     * Not own - Suite model container.
-     */
-    CHnSuiteModelContainer* iContainer;
-
-    /**
-     * Not own - Meta data model.
-     */
-    CHnMdModel* iModel;
-
-    /**
-     * Not own - Xml model provider.
-     */
-    CHnXmlModelProvider* iXmlModelProvider;
-
-    /**
-     * Not own - Cache for bitmap and mask ids.
-     */
-    CHnBitmapIdCache* iBitmapIdCache;
-
-    /**
-     * Not own - Model event observer.
-     */
-    MHnMdModelEventObserver* iModelEventObserver;
-
-    /**
-     * Not own - Edit mode interface.
-     */
-    MHnEditModeInterface* iEditModeInterface;
-
-    /**
-     * Not own - Handler to file server session;
-     */
-    RFs& iFs;
-
-    /**
-     * Gets static pointer from TLS.
-     */
-    static THnMdCommonPointers* Static() {return (THnMdCommonPointers*)Dll::Tls(); }
-
-    /**
-     * Sets pointer to TLS.
-     *
-     * @param aCmnPtrs Pointer to set
-     */
-    static void SetStatic( THnMdCommonPointers* aCmnPtrs ) {  Dll::SetTls(aCmnPtrs); }
-
-  private:
-
-    // only model can create it
-    friend class CHnMdModel;
-
-    /**
-     * Standard C++ consturctor.
-     */
-    THnMdCommonPointers() : iFs( CEikonEnv::Static()->FsSession() )
-        {
-        iLocalization = NULL;
-        iIdGenerator = NULL;
-        iContainer = NULL;
-        iModel = NULL;
-        iXmlModelProvider = NULL;
-        iModelEventObserver = NULL;
-        iEditModeInterface = NULL;
-        }
-
-    /**
-     * Copy constructor declared as private to disallow copying.
-     *
-     * @param aCmnPtrs Pointer to set.
-     */
-    THnMdCommonPointers( const THnMdCommonPointers& aCmnPtrs ):iFs( aCmnPtrs.iFs ) { }
-
-    /**
-     * Assignment operator
-     */
-    THnMdCommonPointers& operator=( const THnMdCommonPointers& ){return *this;}
-    };
-
-/**
- *  Id generator.
- *
- *  @lib ?library
- *  @since S60 5.0
- *  @ingroup group_hnmetadatamodel
- */
-struct THnIdGenerator
-    {
-    /**
-     * Standatrd C++ constructor.
-     */
-    THnIdGenerator()
-        {
-        iId = 0;
-        }
-
-    /**
-     * Gets next id.
-     * @return Next id.
-     */
-    TInt GetNextId()
-        {
-        return iId++;
-        }
-    private:
-
-    /**
-     * Copy constructor declared as private to disallow copying.
-     * @param aGenerator Id generator;
-     */
-    THnIdGenerator(const THnIdGenerator& aGenerator);
-
-    /**
-     * Assignment operator.
-     */
-    THnIdGenerator& operator=(const THnIdGenerator&);
-
-    /**
-     * Id
-     */
-    TInt iId;
-    };
-
-/**
- * Model event observer.
- *
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-class MHnMdModelEventObserver
-    {
-    public:
-
-     /**
-     * Handles modlde event.
-     *
-     * @since S60 5.0
-     * @param aEventName Event name.
-     * @param aParams Parameters.
-     */
-     virtual TInt HandleModelEventL( const TDesC& aEventName,
-             CLiwGenericParamList& aParams ) = 0;
-    };
-
-/**
- * Meta data model
- *
- * This is the main class of the Meta Data Model component.
- *
- * This class is the entry point for building the meta data model
- * and for evaluation.
- *
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnMdModel ) : public CBase
-    {
-public:
-    enum TForegroundGainTriggeringEvent
-        {
-        EWhenAnySuiteIsEvaluated,
-        EWhenCurrentTopSuiteIsEvaluated,
-        ENever
-        };
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aModelObserver Model observer.
-     * @param aSuiteModelContainer Suite model container.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnMdModel* NewL( MHnMdModelEventObserver* aModelObserver,
-            CHnSuiteModelContainer * aSuiteModelContainer );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aModelObserver Model observer.
-     * @param aSuiteModelContainer Suite model container.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnMdModel* NewLC( MHnMdModelEventObserver* aModelObserver,
-            CHnSuiteModelContainer * aSuiteModelContainer );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdModel();
-
-    /**
-     * Evaluates the model. Takes filter as a parameter.
-     *
-     * @since S60 5.0
-     * @param aFilter Filter.
-     */
-    IMPORT_C void EvaluateL( CHnFilter& aFilter );
-
-    /**
-     * Manages evaluation lock.
-     *
-     * @param aLock Locks evaluation if set to ETrue.
-     * @param aEvaluate Runs evaluation if aEvaluate == ETrue.
-     */
-    IMPORT_C void SetEvaluationLockL( TBool aLock, TBool aEvaluate = ETrue );
-
-    /**
-     * Evaluates the model.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C void EvaluateL();
-
-    /**
-     * Switches between edit mode and normal mode
-     *
-     * @since S60 5.0
-     * @param aMode Suite model container.
-     */
-    IMPORT_C void SetModeL( TMdMode aMode );
-
-
-    /**
-     * Gets suite's meta data model.
-     *
-     * @since S60 5.0
-     * @return Suite meta data model.
-     */
-    IMPORT_C CHnMdSuite* GetLastSuite();
-
-    /**
-     * Gets suite's meta data model.
-     *
-     * @since S60 5.0
-     * @param aPosition Position of the suite in the stack.
-     * @return Suite meta data model.
-     */
-    CHnMdSuite* GetSuite( TInt aPosition );
-
-    /**
-     * Gets suite's parameters..
-     *
-     * @since S60 5.0
-     * @param aPosition Position of the suite in the stack,
-     *        from which gets parameters.
-     * @return Suite meta data model.
-     */
-    IMPORT_C CLiwGenericParamList& GetSuiteParameters( TInt aPosition );
-
-
-    /**
-     * Handles back event.
-     *
-     * @since S60 v3.2
-     * @param aMulContainer Suite model container.
-     * @param aGenre Name of the suite.
-     * @param aIterations Number of iterations.
-     * @return Error code.
-     */
-    IMPORT_C TInt HandleBackEventL( CHnSuiteModelContainer* aMulContainer,
-            const TDesC& aGenre, TInt aIterations = KModelCountForRoot );
-
-    /**
-     * Handles sis installation event.
-     *
-     * @since S60 v3.2
-     * @param aMulContainer Suite model container.
-     */
-    IMPORT_C void HandleSisInstallationEventL(
-            CHnSuiteModelContainer* aMulContainer );
-
-    /**
-     * Loads a suite from xml data.
-     *
-     * @since S60 v5.0
-     * @param aGenre Name of the suite.
-     * @param aSuiteParams Suite parameters.
-     * @return Error code.
-     */
-    IMPORT_C TInt LoadSuiteL( const TDesC& aGenre, CLiwGenericParamList* aSuiteParams = NULL );
-
-    /**
-     * Check if suite model exists.
-     *
-     * @since S60 5.0
-     * @param aSuiteModel Suite model name.
-     * @return ETrue if suite model exists, otherwise EFalse.
-     */
-    IMPORT_C TBool SuiteModelExistsL( const TDesC8& aSuiteModel );
-
-    /**
-     * Gets suite's meta data model.
-     *
-     * @since S60 5.0
-     * @param aUri Current ui.
-     * @return Suite meta data model.
-     */
-    IMPORT_C void GetCurrentUriL( TDes& aUri );
-
-    /**
-     * Deletes last loaded suite model from data model.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C void DeleteLastSuite();
-
-
-    /**
-     * Realeses localization files.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C void ReleaseLocalization();
-
-    /**
-     * Reloads localization.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C void ReloadLocalizationL();
-
-    /**
-     * Informs metadatamodel to ignore evaluations or
-     * to performing evaluations, according to the
-     * given parameter.
-     *
-     * @since S60 5.0
-     * @param aIgnore Metadatamodel ignores evaluations when set to ETrue.
-     */
-    IMPORT_C void IgnoreEvaluations( TBool aIgnore );
-
-    /**
-     * Request that menu goes to foreground when evaluation completes.
-     *
-     * Default behavior is not to go to foreground when evaluation
-     * completes. A change of this behavior requested with this method is
-     * only effective until the menu is sent to foreground (once). Then the
-     * default behavior is assumed again.
-     * Subsequent calls override previous changes.
-     *
-     * @since S60 5.0
-     * @param aWhen Determines when the foreground should be gained.
-     *              Possible values are defined in the
-     *              TForegroundGainTriggeringEvent enum. The value ENever
-     *              simply means not to bring menu to foreground.
-     */
-    IMPORT_C void QueueForeground( TForegroundGainTriggeringEvent aWhen );
-
-    /**
-     * Is there a queue for foreground gain.
-     *
-     * @since S60 5.0
-     * @return should foreground be gained after evaluation.
-     */
-    IMPORT_C TBool IsForegroundQueued() const;
-
-    /**
-     * Notifies this metadata model that suite evaluation has completed.
-     *
-     * @param aJustEvaluatedSuite pointer to the suite whose evaluation
-     *                            has completed
-     */
-    void SuiteModelReadyToShowL( CHnSuiteModel* aJustEvaluatedSuite );
-
-    /**
-     * Causes all of the loades suites except for the suite at the bottom
-     * of the stack to be reloaded from their corresponding xml file
-     * definitions.
-     *
-     * @since S60 5.0
-     * @param aIgnore aModelContainer Model container object.
-     */
-    void ReloadStackSuitesL( CHnSuiteModelContainer* aModelContainer );
-
-    /**
-     * Counts number of loaded suites.
-     *
-     * @since S60 5.0
-     * @return Number of loaded suites
-     */
-    TInt LoadedSuitesCount();
-
-    /**
-     * Evaluates the suite model on top of the stack.
-     *
-     * @since S60 5.0
-     */
-    void EvaluateTopSuiteL();
-
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdModel( );
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aModelObserver Model observer.
-     * @param aSuiteModelContainer Model container.
-     */
-    void ConstructL( MHnMdModelEventObserver* aModelObserver,
-            CHnSuiteModelContainer * aSuiteModelContainer );
-
-private: // data
-
-    /**
-     * Id generator.
-     */
-    THnIdGenerator iIdGenerator;
-
-    /**
-     * Own - Localization.
-     */
-    CHnMdLocalization* iLocalization;
-
-    /**
-     * Own - Xml model provider.
-     */
-    CHnXmlModelProvider* iXmlModelProvider;
-
-    /**
-     * Own - bitmap and mask ids cache.
-     */
-    CHnBitmapIdCache* iBitmapIdCache;
-
-    /**
-     * Not Own - Event observer.
-     */
-    MHnMdModelEventObserver* iModelEventObserver;
-
-    /**
-     * Stores pointers to common objects in the system
-     * This object is shared throut the whole system.
-     */
-    THnMdCommonPointers iCmnPtrs;
-
-    /**
-     * Stores information about mode.
-     */
-    TMdMode iMode;
-
-    /**
-     * Loaded Suites stack.
-     * Object and content owned.
-     */
-    RPointerArray<CHnMdSuite> iLoadedSuites;
-
-    /**
-     * Repository widget type observer.
-     */
-    CHnRepositoryObserver* iRepositoryWidgetTypeObserver;
-
-    /**
-     * Repository folder change observer.
-     */
-    CHnRepositoryObserver* iRepositoryShowFolderObserver;
-
-    /**
-     * When set, forces metadatamodel to skip evaluations.
-     */
-    TBool iIgnoreEvaluations;
-
-    /**
-     * Queues foreground gain action.
-     */
-    TBool iForegroundQueued;
-
-    /**
-     * Not own - pointer to the suite model that must be evaluated
-     * before matrix menu can be brought to foreground.
-     *
-     * When NULL, then any suite evaluation brings menu to foreground.
-     * It is only meaningful when iForegroundQueued is ETrue.
-     */
-    CHnSuiteModel* iForegroundTriggeringSuite;
-
-    };
-
-#endif // C_HNMDMODEL_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdnotifyrequest.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +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:   
-*
-*/
-
-
-#ifndef HNMDREQUESTNOTIFY_
-#define HNMDREQUESTNOTIFY_
-
-#include <e32base.h>
-#include <xmlengelement.h> 
-#include <liwcommon.h>
-
-#include "hnmdbasekey.h"
-#include "hnmdservice.h"
-#include "hnitemid.h"
-
-
-class CHnServiceHandler;
-class CHnMdServiceCommand;
-struct THnMdCommonPointers;
-
-/**
- * Notify Request.
- * 
- * This class is responsible for managing notifications coming from
- * services and refreshing content of the view.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnMdNotifyRequest ):
-    public CBase,
-    public MLiwNotifyCallback
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * Constructs an object from xml element.
-     * 
-     * @since S60 5.0
-     * @param aElement A XML element holding information.
-     * @param aItemId Item id.
-     * @param aCmnPtrs Common pointers structure.
-     * @return Fully constructed notify request.
-     */
-     static CHnMdNotifyRequest* NewL( TXmlEngElement aElement, 
-             const CHnItemId & aItemId,
-             THnMdCommonPointers* aCmnPtrs );
-
-     /**
-      * Two-phased constructor.
-      * Constructs an object from xml element.
-      * 
-      * @since S60 5.0
-      * @param aElement A XML element holding information.
-      * @param aItemId Item id.
-      * @param aCmnPtrs Common pointers structure.
-      * @return Fully constructed notify request.
-      */
-     static CHnMdNotifyRequest* NewLC( TXmlEngElement aElement,
-             const CHnItemId & aItemId,
-             THnMdCommonPointers* aCmnPtrs );
-     
-     /**
-      * Virtual C++ destructor.
-      */
-     virtual ~CHnMdNotifyRequest();
-     
-     /**
-      * Requests notification from the service, which was set up
-      * in the configuration.
-      * 
-      * @param aParams Parameters list.
-      * @param aCmdOptions Command options.
-      */
-     void RequestNotifyL( CLiwGenericParamList& aParams,
-             TInt aCmdOptions = 0 );
-     
-     /**
-      * Method is invoked when the notifucation occurs.
-      * It is called as a callback by the service which want to
-      * notify change.
-      * 
-      * @see MLiwNotifyCallback::HandleNotifyL
-      * @param aCmdId Command id.
-      * @param aEventId Event id.
-      * @param aEventParamList Event parameters list.
-      * @param aInParamList Input parameters list.
-      *
-      * @return error code
-      */
-     TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-             CLiwGenericParamList& aEventParamList,
-             const CLiwGenericParamList& aInParamList );
-
-  
-private:
-
-    /**
-     * Gets command object.
-     *
-     * @since S60 5.0
-     * @return Service command.
-     */
-    const CHnMdServiceCommand& GetService() const;
-    
-    /**
-     * Second phase constructor.
-     * @param aElement A XML element holding information. 
-     * @param aItemId Item's id.
-     */
-    void ConstructL( TXmlEngElement aElement, 
-            const CHnItemId & aItemId );
-    
-    /**
-     * Standard C++ constructor.
-     * @param aCmnPtrs Common pointers structure.
-     */
-    CHnMdNotifyRequest(THnMdCommonPointers* aCmnPtrs);
-           
-private:
-    
-    /**
-     * Own - Associated item id.
-     */
-    CHnItemId* iItemId;
-    
-    /**
-     * Not own - Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-   
-    /**
-     * Own - Service Handler
-     */
-    CHnMdService* iService; 
-    
-    /**
-     * Own - Service Handler
-     */
-    CHnServiceHandler* iSh; 
-    
-    };
-
-#endif // HNMDREQUESTNOTIFY_
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdnotifyrequests.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +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:  represents the notification requests
-*
-*/
-
-
-
-#ifndef C_HNMDREQUESTS_H
-#define C_HNMDREQUESTS_H
-
-#include <e32base.h>
-#include <xmlengelement.h> 
-
-class CHnItemId;
-class CHnMdNotifyRequest;
-struct THnMdCommonPointers;
-
-/**
- * Notify Requests.
- * 
- * This class stores CHnMdNotifyRequest objects.
- * 
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdNotifyRequests) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Element.
-     * @param aItemId Item's identifier.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdNotifyRequests* NewL( TXmlEngElement aElement, 
-            const CHnItemId & aItemId,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Element.
-     * @param aItemId Item's identifier.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdNotifyRequests* NewLC( TXmlEngElement aElement,
-            const CHnItemId & aItemId,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdNotifyRequests();
-
-    /**
-     * Adds request.
-     *
-     * @since S60 5.0
-     * @param aRequests Request parameters.
-     * @return Status code.
-     */
-    TInt AddNotifyRequest( CHnMdNotifyRequest* aRequests );
-    
-    /**
-     * Gets request.
-     *
-     * @since S60 5.0
-     * @param aPosition Position of a query.
-     * @return Query.
-     */
-    CHnMdNotifyRequest& NotifyRequest( TInt aPosition ) const;
-    
-    /**
-     * Gets number of requests.
-     *
-     * @since S60 5.0
-     * @return Number of queries.
-     */
-    TInt Count() const;
-    
-    /**
-     * Requests notifucation from all services.
-     *
-     * @since S60 5.0
-     * @param aParams Parameters in a form of a CLiwGenericParamList object.
-     * @param aCmdOptions Command options.
-     */
-    void SendAllRequestsL( CLiwGenericParamList& aParams,
-            TInt aCmdOptions = 0);
-    
-    /**
-     * Check if requests were sent.
-     * 
-     * @return Returns true if requests were sent.
-     */
-    TBool Sent();
-
-
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdNotifyRequests();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aItemId Item's id.
-     * @param aCmnPtrs Common pointers container.
-     */
-    void ConstructL(  TXmlEngElement aElement, 
-            const CHnItemId & aItemId,
-            THnMdCommonPointers* aCmnPtrs );
-
-private: // data
-
-    /**
-     * Own - Requests.
-     */
-    RPointerArray<CHnMdNotifyRequest> iNotifyRequests;
-    
-    
-    /**
-     * Indicates if requests were sent.
-     */
-    TBool iSent;
-
-    };
-
-#endif // C_HNMDREQUESTS_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdqueries.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +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:   
-*
-*/
-
-
-
-#ifndef C_HNMDQUERIES_H
-#define C_HNMDQUERIES_H
-
-#include <e32base.h>
-#include <liwcommon.h>
-
-class CHnMdQuery;
-class CLiwGenericParamList;
-
-/**
- * Queries.
- *
- * This class stores CHnMdQuery objects.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdQueries) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdQueries* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdQueries* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdQueries();
-
-    /**
-     * Adds query.
-     *
-     * @since S60 5.0
-     * @param aQuery Query.
-     * @return Status code.
-     */
-    TInt AddQuery( CHnMdQuery* aQuery );
-        
-    /**
-     * Gets query.
-     *
-     * @since S60 5.0
-     * @param aPosition Position of a query.
-     * @return Query.
-     */
-    CHnMdQuery& Query( TInt aPosition ) const;
-    
-    /**
-     * Gets number of queries.
-     *
-     * @since S60 5.0
-     * @return Number of queries.
-     */
-    TInt Count() const;
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdQueries();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-
-private: // data
-
-    /**
-     * Own - Queries.
-     */
-    RPointerArray<CHnMdQuery> iQueries;
-
-    };
-
-#endif // C_HNMMQUERIES_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdquery.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +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:  
-*
-*/
-
-
-
-#ifndef C_HNMDQUERY_H
-#define C_HNMDQUERY_H
-
-#include <e32base.h>
-#include <xmlengelement.h>
-
-#include "hnglobals.h"
-
-class CHnMdServiceCommand;
-class CHnMdBaseKey;
-class CLiwGenericParamList;
-class CHnMdService;
-
-/**
- * Query.
- * 
- * This class represents the query.
- * 
- * This class allows sending queries to different services.
- * 
- * Queries are mostly used during evaluation.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0 *** for example, S60 v3.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdQuery) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully cosntructed object.
-     */
-    static CHnMdQuery* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully cosntructed object.
-     */
-    static CHnMdQuery* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdQuery();
-
-    /**
-     * Gets namespace.
-     *
-     * @since S60 5.0
-     * @return Namespace.
-     */
-    const TDesC& NameSpace() const;
-    
-    /**
-     * Gets namespace.
-     *
-     * @since S60 5.0
-     * @return Service object.
-     */
-    CHnMdService& GetService() const;
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdQuery();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL(TXmlEngElement aElement);
-    
-     /**
-     * Sets namespace.
-     *
-     * @since S60 5.0
-     * @param aNameSpace Namespace descriptor.
-     */
-    void SetNameSpaceL( const TDesC& aNameSpace );
-
-    /**
-     * Sets namespace.
-     *
-     * @since S60 5.0
-     * @param aAttr Xml attribute.
-     */
-    void SetNameSpaceL( TXmlEngAttr aAttr );
-    
-private: // data
-
-    /**
-     * Own - Namespace.
-     */
-    RBuf iNameSpace;
-
-    /**
-     * Own - service object.
-     */
-    CHnMdService* iService;
-       
-    };
-
-#endif // C_HNMMQUERY_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdservice.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +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:  
-*
-*/
-
-
-#ifndef C_HNMDSERVICE_H
-#define C_HNMDSERVICE_H
-
-//#include <mnaiwservices.h>
-#include <liwcommon.h>
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengelement.h> 
-
-class CLiwServiceHandler;
-class CHnMdQuery;
-class CLiwGenericParamList;
-class MLiwInterface;
-class CLiwDefaultMap;
-class CHnMdBaseKey;
-class CHnMdServiceCommand;
-class CHnServiceHandler;
-
-/**
- * Service.
- * 
- * This class is desinged to facilitate dealing with services. 	
- *
- * @lib hnmetadatamodel
- * @since S60 5.0 *** for example, S60 v3.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdService) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully cosntructed object.
-     */
-    static CHnMdService* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully cosntructed object.
-     */
-    static CHnMdService* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdService();
-    
-    /**
-     * Gets service.
-     *
-     * @since S60 5.0
-     * @return Service name.
-     */
-    const TDesC8& GetServiceName() const;
-    
-    /**
-     * Gets interface.
-     *
-     * @since S60 5.0
-     * @return Interface name.
-     */
-    const TDesC8& GetInterfaceName() const;
-    
-    /**
-     * Gets command.
-     *
-     * @since S60 5.0
-     * @return Service command.
-     */
-    const CHnMdServiceCommand& GetCommand() const;   
-    
-    /**
-     * returns query results
-     *
-     * since S60 v5.0
-     * @return Result of the query to the service.
-     */
-    const CLiwGenericParamList& Output() const;
-
-    /**
-     * Returns service query constructor.
-     *
-     * since S60 v5.0
-     * @return A structure of the key objects.
-     */
-    CHnMdBaseKey* GetConstructor() const;
-   
-    /**
-     * Reads the consturctor into the model
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return A structure of the key objects.
-     */
-    void CHnMdService::SetConstructorL( TXmlEngElement aElement );
-    
-    /**
-     * Evaluates constructor.
-     * 
-     * @param aList Evaluation parameter.
-     * @param aPos Position of the record in the parameter's list.
-     * @return Evaluated generic parameters list.
-     */
-    CLiwGenericParamList* EvaluateConstructorL( const CLiwGenericParamList& aList,
-            TInt aPos = 0);
-    
-    /**
-     * Evaluates constructor as key.
-     * 
-     * @param aList Evaluation parameter.
-     * @param aPos Position of the record in the parameter's list.
-     * @return Evaluated key.
-     */
-    CHnMdBaseKey* EvaluateConstructorAsKeyL( const CLiwGenericParamList& aList,
-            TInt aPos = 0);
-    /**
-     * Evaluates command.
-     * 
-     * @param aList Evaluation parameter.
-     * @param aPos Position of the record in the parameter's list.
-     * @return Evaluated generic parameters list.
-     */
-    CLiwGenericParamList* EvaluateCommandL( const CLiwGenericParamList& aList, 
-            TInt aPos = 0);
-    
-    /**
-     * Evaluates command as key.
-     * 
-     * @param aList Evaluation parameter.
-     * @param aPos Position of the record in the parameter's list.
-     * @return Evaluated key.
-     */
-    CHnMdBaseKey* EvaluateCommandAsKeyL( const CLiwGenericParamList& aList, 
-            TInt aPos = 0);
-
-
-private:
-
-    /**
-     * Sets interface.
-     * 
-     * @param aAttr Xml attribute.
-     */
-    void SetInterfaceL( TXmlEngAttr aAttr );
-    
-    /**
-     * Sets service.
-     * 
-     * @param aAttr Xml attribute.
-     */
-    void SetServiceL( TXmlEngAttr aAttr );
-    
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdService(); 
-
-
-    /**
-     * Standard symbian 2nd phase contructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-  
-private: // data
-
-    /**
-     * Own - Service.
-     */
-    RBuf8 iServiceName;
-
-    /**
-     * Own - Interface.
-     */
-    RBuf8 iInterfaceName;
-    
-    /**
-     * Own - Service command.
-     */
-    CHnMdServiceCommand* iServiceCommand;
-    
-    /**
-     * Stores input parameters (not data) of the service search method
-     * (ExecuteServiceCmdL).
-     * Own.
-     */
-    CHnMdBaseKey* iConstructor;
-     
-    };
-
-#endif // C_HNMDSERVICEHANDLER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdservicecommand.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +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:    
-*
-*/
-
-
-#ifndef C_HNMDSERVICECOMMAND_H
-#define C_HNMDSERVICECOMMAND_H
-
-#include <e32base.h>
-
-#include "hnglobals.h"
-
-class TXmlEngElement;
-class TXmlEngAttr;
-class CHnMdBaseKey;
-
-/**
- * Service Command.
- * 
- * This class represents the service command. In general, the service command
- * are parameters of the service queries.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0 *** for example, S60 v3.0
- * @ingroup group_hnmetadatamodel
- */   
-NONSHARABLE_CLASS( CHnMdServiceCommand ) : public CBase
-{
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdServiceCommand* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdServiceCommand* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Standard C++ virtual destructor.
-     */
-    virtual ~CHnMdServiceCommand();
-    
-    /**
-     * Returns command.
-     *
-     * @since S60 5.0
-     * @return Command name.
-     */
-    const TDesC8& GetCommandName() const;
-    
-    /**
-     * Returns data.
-     *
-     * @since S60 5.0
-     * @return A list of keys.
-     */
-    CHnMdBaseKey* GetCommandData() const;
-
-    /**
-     * Returns service mode.
-     *
-     * @since S60 5.0
-     * @return Command mode.
-     */
-    TServiceMode GetCommandMode() const;
-       
-private:
-    
-    /**
-     * Standard C++ constructor.
-     */
-    CHnMdServiceCommand();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-        
-    /**
-     * Sets command parameters.
-     * 
-     * @param aElement Xml element.
-     */  
-    void SetCommandDataL( TXmlEngElement aElement );
-    
-    /**
-     * Sets service name.
-     *
-     * @since S60 5.0
-     * @param aAttr Xml attribute.
-     */
-    void SetCommandNameL( TXmlEngAttr aAttr );
-       
-    /**
-     * Sets service mode.
-     *
-     * @since S60 5.0
-     * @param aAttr Xml attribute.
-     */
-    void SetCommandModeL( TXmlEngAttr aAttr );
-    
-    /**
-     * Removes redundant key.
-     * TO BE REMOVED.
-     * 
-     * @param aElement Xml element.
-     * @return Xml element with removed redundant key. 
-     */
-    TXmlEngElement RemoveRedundantKeyL( TXmlEngElement aElement );
-    
-private:
-    
-    /**
-     * Service mode: synchronous / asynchronous
-     */
-    TServiceMode iMode;
-    
-    /**
-     * Command name, own
-     */ 
-    RBuf8 iName;
-
-    /**
-     * Data - service parameters, own
-     */
-    CHnMdBaseKey* iData;
-};
-
-#endif /*HNMDSERVICECOMMAND_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdsuite.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,479 +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:   
-*
-*/
-
-
-#ifndef C_HNMDSUITE_H
-#define C_HNMDSUITE_H
-
-#include <e32base.h>
-#include <badesca.h>
-
-#include "hnmdmodel.h"
-#include "hnsuitemodel.h"
-#include "hnglobals.h"
-#include "hnmdmodel.h"
-#include "hnqueryresultcollector.h"
-
-class CHnSuiteModelContainer;
-class CHnFilter;
-class CHnMdItem;
-class CHnMdLocalization;
-class CHnItemId;
-class CHnMdQueries;
-class CHnMdEventMapping;
-
-/**
- * Suite.
- * 
- * This is the representation of the suite. The crucial member variable
- * of this suite is the list of the items.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdSuite) : public CBase,
-    public MHnQueryResultCollectorNotification
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdSuite* NewL( TXmlEngElement aElement, THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdSuite* NewLC( TXmlEngElement aElement, THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     */
-    virtual ~CHnMdSuite();
-
-    /**
-     * Evaluates suite.
-     *
-     * @since S60 5.0
-     * @param aSuiteModel Suite model.
-     * @return Status code. 
-     */
-    TInt EvaluateL( CHnSuiteModel & aSuiteModel );
-
-    /**
-     * Marks according to filter which item should be evaluated.
-     *
-     * @since S60 5.0
-     * @param aFilter Filter.
-     * @param aSuiteModel Suite Model to get Custom Id
-     */
-    void MarkEvaluationL( CHnFilter& aFilter, CHnSuiteModel& aSuiteModel );
-    
-    /**
-     * Handles back event.
-     *
-     * @since S60 ?S60_version
-     * @param aMulContainer Suite model container.
-     * @param aGenre Suite's name.
-     * @return Error code.
-     */
-    TInt HandleBackEventL( CHnSuiteModelContainer* aMulContainer, TDesC* aGenre );
-    
-    /**
-     * Switches between edit mode and normal mode
-     *
-     * @since S60 5.0
-     * @param aMode Mode, e.g. normal / edit.
-     */
-    void SetModeL( TMdMode aMode );
-    
-    /**
-     * Returns mode type.
-     * 
-     * @return Mode type, e.g. normal / edit. 
-     */
-    TMdMode Mode();
-    
-    /**
-     * Returns name of the suite.
-     * 
-     * @since S60 v3.2
-     * @return Name of the suite.
-     */          
-    IMPORT_C const TDesC& SuiteName();
-    
-    /**
-     * Return suite parameters.
-     * 
-     * @return Suite parameters.
-     */
-    IMPORT_C CLiwGenericParamList& GetSuiteParameters();
-    
-    /**
-     * Sets suite parameters.
-     * 
-     * @param aParams Suite parameters.
-     */
-    IMPORT_C void SetSuiteParametersL(CLiwGenericParamList& aParams);
-    
-    
-    /**
-     * Returns alternative widget number.
-     * 
-     * @since S60 v5.0
-     * @return Alternative widget number.
-     */ 
-    IMPORT_C TInt GetAlternativeWidgetNumber();
-
-private:
-
-    /**
-     * Set genre.
-     *
-     * @since S60 5.0
-     * @param aGenre Genre descriptor.
-     */
-    void SetGenreL(const TDesC& aGenre);
-
-    /**
-     * Set genre.
-     *
-     * @since S60 5.0
-     * @param aAttr Xml attribute.
-     */
-    void SetGenreL(TXmlEngAttr aAttr);
-    
-    /**
-     * Set template.
-     *
-     * @since S60 5.0
-     * @param aTemplate Template descriptor.
-     */
-    void SetTemplateL( const TDesC8& aTemplate );
-    
-    /**
-     * Set template.
-     *
-     * @since S60 5.0
-     * @param aTemplate Xml attribute.
-     */
-    void SetTemplateL( TXmlEngAttr aTemplate );
-    
-    /**
-     * Sets widget type.
-     *
-     * @since S60 5.0
-     * @param aWidgetType Xml attribute.
-     */
-    void SetWidgetTypeL( TXmlEngAttr aWidgetType );
-    
-    /**
-     * Sets allowable widget types.
-     *
-     * @since S60 5.0
-     * @param aWidgetType Contains widget types.
-     */
-    void SetWidgetTypeL( TDesC8& aWidgetType );
-
-    /**
-     * Sets allowable widget types and store it in CR.
-     *
-     * @since S60 5.0
-     * @param aWidgetType Widget type.
-     */
-    void SaveWidgetTypeL( TDesC8& aWidgetType );
-    
-    /**
-     * Sets title.
-     *
-     * @since S60 5.0
-     * @param aTitle Xml attribute.
-     */
-    void SetTitleL( TXmlEngAttr aTitle );
-    
-    /**
-     * Sets empty text.
-     *
-     * @since S60 5.0
-     * @param aEmptyText The text displayed for empty suite.
-     */
-    void SetEmptyTextL( TXmlEngAttr aEmptyText );
-
-    /**
-     * Evaluate suite itself.
-     *
-     * @since S60 5.0
-     * @param aSuiteModel Suite model.
-     */
-    void EvaluateSuiteItselfL( CHnSuiteModel & aSuiteModel );
-
-    /**
-     * Creates items.
-     *
-     * @since S60 5.0
-     * @param aEntries Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void CreateItemsL(TXmlEngElement aEntries,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Gets direct child property.
-     *
-     * @since S60 5.0
-     * @param iIndex Index.
-     * @param aPropertyType Property type.
-     * @param aResult Result variant.
-     * @return Status.
-     */
-    TBool GetDirectChildProperty( TInt iIndex,
-            TPropertyType aPropertyType,
-            TLiwVariant& aResult );
-    
-    /**
-     * Called when results have finished being collected.
-     * 
-     * @param aResults The results.
-     */
-    void ResultsCollectedL( CLiwGenericParamList* aResults );
-    
-    /**
-     * Sets custom id using parameters.
-     * 
-     * @param aSuiteModel Suite model.
-     * @param aParams Parameters used to set custom id.
-     * @param aPos Positions of the custom id in aParams.
-     */
-    void SetCustomIdL( CHnSuiteModel* aSuiteModel, 
-    		const CLiwGenericParamList& aParams, TInt aPos );
-    
-    /**
-     * Sets exit mode for a suite.
-     */
-    void SetExitModeL();
-
-
-private:
-
-    /**
-     * Standar C++ constructor.
-     * 
-     * @since S60 5.0
-     * @param aCmnPtrs Common pointers.
-     */
-    CHnMdSuite( THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Restores widget type for this suite from central repository.
-     *
-     * @return Error code.
-     */
-    TInt ReadWidgetTypeL();
-    
-    /**
-     * Saves widget type for this suite in central repository.
-     *
-     * @return Error code.
-     */
-    TInt SaveWidgetTypeL() const;
-        
-    /**
-     * Checks if the widget type is stored in service 
-     * and saves it in given descriptor.
-     *
-     * @param aParams Contains data from service.
-     * @param aWidgetType Widget type to be set.
-     * @return True if widget was set, False 
-     *      when no widget stored in service.
-     */
-    TBool ReadWidgetTypeFromServiceL( CLiwGenericParamList& aParams, 
-            RBuf8& aWidgetType );
-    
-    /**
-     * Sets the appropriate widget flag for allowable widgets.
-     * 
-     * @param aConfDes Configuration string.
-     */ 
-    void DoSetWidgetTypeL( TDesC8 & aConfDes );
-    
-    /**
-     * Sets the alternative template for widget switch.
-     * 
-     * @param aOption Position of widget in xml configuration.
-     */ 
-    void SetAlternativeTemplateL( TInt aOption );
-    
-    /**
-     * Sets the alternative widget.
-     * 
-     * @param aParams List of data from service.
-     */ 
-    void SetAlternativeWidgetL( CLiwGenericParamList& aParams );
-    
-    /**
-     * Sets the alternative template.
-     * 
-     * @param aParams List of data from service.
-     */ 
-    void SetAlternativeTemplateL( CLiwGenericParamList& aParams );
-        
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param element Xml element.
-     */
-    void ConstructL( TXmlEngElement element );
-    
-    /**
-     * Adds widget type to generic param list passed to
-     * items when evaluating the suite.
-     * 
-     * The information about widget type can be retrieved
-     * using the following path:
-     *      mm:/suite:type
-     * 
-     * @param aParamList a param list into which the wigdet
-     *                   type is added.
-     * 
-     */
-    void AddInternalStateL( CLiwGenericParamList& aParamList );
-    
-
-    /**
-     * Sets custom identifier.
-     * 
-     * @since S60 5.50
-     * @param aElement Xml element.
-     */
-    void SetCustomIdL( TXmlEngElement aElement );
-    
-    /**
-     * Sets highlight according to parameters passed in uri.
-     */
-    void SetUriBasedHighlightL();
-    
-
-
-private: // data
-
-    /**
-     * Own - Suite name.
-     */
-    RBuf iSuiteName;
-
-    /**
-     * Own - Title
-     */
-    RBuf8 iTitle;
-
-    /**
-     * Own - Empty text
-     */
-    RBuf8 iEmptyText;
-
-    /**
-     * Own - Items.
-     */
-    RPointerArray< CHnMdItem > iItems;
-
-    /**
-     * Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-    
-    /**
-     * Template.
-     */
-    RBuf8 iTemplate;
-    
-    /**
-     * Allowable templates.
-     */
-    CDesC8Array * iAllowableTemplate;
-    
-    /**
-     * Widget type.
-     */
-    THnSuiteWidgetType iWidgetType;
-     
-    /**
-     * Widget type.
-     */
-    RArray< THnSuiteWidgetType > iAllowableWidgetType;
-    
-    /**
-     * Allowed types - as string.
-     */
-    RBuf8 iAllowedTypes;
-    
-    /**
-     * Event mapping
-     */
-    CHnMdEventMapping* iEventMapping;
-    
-    /**
-     * Queries
-     */
-    CHnMdQueries* iQueries;
-    
-    /**
-     * Cached evaluation parameters, i.e. params:folder_id, etc.
-     */
-    CLiwGenericParamList* iSuiteParams;
-    
-    /**
-     * Stores information about mode.
-     */
-    TMdMode iMode;
-    
-    /**
-     * Own.
-     */
-    CHnQueryResultCollector* iQc;
-    
-    /**
-     * Suite model.
-     * Not Own
-     */
-    CHnSuiteModel* iSuiteModel;
-    
-    /**
-     * Custom identifier. 
-     */
-    RBuf8 iCustomId8;
-
-public:
-    /**
-     * Marks if evaulation should take place. 
-     */    
-    TBool iEvaluationNeeded;
-    
-    };
-
-#endif // C_HNMMSUITE_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdtoolbar.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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:    
-*
-*/
-
-
-#ifndef HNMDTOOLBAR_H_
-#define HNMDTOOLBAR_H_
-
-#include <e32base.h>
-#include <xmlengelement.h>
-
-class CLiwGenericParamList;
-class CHnMdButton;
-struct THnMdCommonPointers;
-class TXmlEngElement;
-class CHnToolbarModel;
-
-/**
- * Toolbar item.
- * 
- * This is the class which represents the toolbar item.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-
-NONSHARABLE_CLASS( CHnMdToolbar ) : public CBase
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Constructed object.
-     */
-    static CHnMdToolbar* NewLC( TXmlEngElement aElement,
-       THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Constructed object.
-     */
-     static CHnMdToolbar* NewL( TXmlEngElement aElement,
-           THnMdCommonPointers* aCmnPtrs );
-
-
-    /**
-     * Standard C++ virtual destructor.
-     *    
-     * @since S60 5.0
-     */
-    ~CHnMdToolbar( );
-    
-    /**
-     * Standard C++ virtual destructor.
-     *    
-     * @since S60 5.0
-     * @param aToolbar Fills toolbar model with buttons.
-     * @param aQueryResults CLiwGenericParamList object.
-     * @param aPos Position of the record in the params list.
-     */
-    void EvaluateL( CHnToolbarModel* aToolbar, 
-                    const CLiwGenericParamList& aQueryResults, 
-                    TInt aPos = 0 );
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdToolbar();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Creates buttons for toolbar.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void CreateButtonsL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-        
-private: // data
-
-    /**
-     * Buttons for toolbar created from xml configuration.
-     * Own.
-     */
-    RPointerArray< CHnMdButton > iButtons;
-    };
-
-#endif /*HNMDTOOLBAR_H_*/
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmduimapping.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:   
-*
-*/
-
-
-
-#ifndef C_HNMDUIMAPPING_H
-#define C_HNMDUIMAPPING_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-#include <e32hashtab.h>
-
-#include "hnglobals.h"
-
-class CLiwDefaultMap;
-struct THnMdCommonPointers;
-class CHnMdUiMappingElement;
-class CLiwGenericParamList;
-class CHnItemModel;
-
-/**
- * UI mapping.
- * 
- * This class contains the list of CHnMdUiMappingElement objects.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdUiMapping) : public CBase
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdUiMapping* NewL( TXmlEngElement aElement,
-                                 THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdUiMapping* NewLC( TXmlEngElement aElement,
-                                  THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standarc C++ virtual constructor.
-     */
-    virtual ~CHnMdUiMapping();
-    
-    /**
-     * Fills graphical item.
-     *
-     * @param aItemModel Item model.
-     * @param aQueriesResultsList Hash map with query results
-     * @param aPos Current item number
-     * @return True if an item was correctly filled. 
-     */     
-    TBool FillGraphicalItemL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos );
-    
-    /**
-     * Adds UI mapping element.
-     *
-     * @param aUiMappingElement UI mapping element.
-     */
-    void AddUiMappingElementL(
-        CHnMdUiMappingElement *aUiMappingElement );
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     */
-    CHnMdUiMapping();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( TXmlEngElement aElement,
-                     THnMdCommonPointers* aCmnPtrs );
-    
-private: // data
-
-    /**
-     * Mappings.
-     */
-    RPointerArray<CHnMdUiMappingElement> iMappings;
-
-    };
-
-#endif // C_HNMMUIMAPPING_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmduimappingelement.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +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:   
-*
-*/
-
-
-
-#ifndef C_HNMDUIAPPINGELEMENT_H
-#define C_HNMDUIAPPINGELEMENT_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-#include <e32hashtab.h>
-
-class CHnMdValueBase;
-class CHnItemModel;
-class CLiwGenericParamList;
-class CHnConditionInterface;
-struct THnMdCommonPointers;
-
-/**
- * UI Mapping Element.
- * 
- * This class is designed to support output attributes defined in the
- * xml configuration. Most common case is when these attributes
- * define the content of the items, e.g.: text, icons.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdUiMappingElement) : public CBase
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdUiMappingElement* NewL( TXmlEngElement aElement,
-                                        THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdUiMappingElement* NewLC( TXmlEngElement aElement,
-                                         THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     */
-    virtual ~CHnMdUiMappingElement();
-    
-    /**
-     * Gets alias.
-     *
-     * @return Alias.
-     */
-    const TDesC8& Alias() const;
-    
-    /**
-     * Fills graphical item.
-     * 
-     * @param aItemModel Item's model.
-     * @param aQueriesResultsList Parameters used when filling.
-     * @param aPos Position of a record in a parameters list.
-     * @return True if filling was correctly finished.
-     */
-    TBool FillGraphicalItemL( CHnItemModel* aItemModel ,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos );
-    
-    /**
-     * Checks if the uimappingelement is valid.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Parameters used when validating.
-     * @param aPos Position of a record in a parameters list.
-     * @return True if condition was satisfied.
-     */
-    TBool IsValidL( const CLiwGenericParamList& aQueryResults, TInt aPos );
-           
-private:
-
-    /**
-     * Standard C++ constructor.
-     */
-    CHnMdUiMappingElement();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( const TXmlEngElement& aElement , 
-                     THnMdCommonPointers* aCmnPtrs);
-    
-    /**
-     * Sets string handler.
-     *
-     * @param aName Name.
-     */
-    void SetValueL( const TXmlEngAttr& aName);
-    
-    /**
-     * Sets type.
-     *
-     * @param aType Type.
-     */
-    void SetTypeL( const TXmlEngAttr& aType );
-    
-    /**
-     * Set alias.
-     *
-     * @param aName Name.
-     */
-    void SetAliasL( const TXmlEngAttr& aName );
-    
-    /**
-     * Set value.
-     *
-     * @param aElement Element.
-     * @param aCmnPtrs Common parameters.
-     */    
-    void SetValueL( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-    
-
-private: // data
-
-    /**
-     *
-     * Alias.
-     */
-    RBuf8 iAlias;
-    
-    /**
-     * ValueL.
-     */
-    CHnMdValueBase* iValue;
-    
-    /**
-     * Not own - common pointers structure.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-    
-    /**
-     * Own - condition.
-     */
-    CHnConditionInterface* iCondition;
-    };
-
-#endif // C_HNMUIAPPINGELEMENT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvaluebase.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +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:   
-*
-*/
-
-
-#ifndef C_HNMDVALUEBASE_H
-#define C_HNMDVALUEBASE_H
- 
-#include <e32base.h>
-
-class CLiwGenericParamList;
-struct THnMdCommonPointers;
-class TXmlEngElement;
-class CHnAttributeBase;
-
-enum THnMdValueType
-    {
-    EHnTextType, 
-    EHnImageType
-    };
-
-/**
- * Value Base
- * 
- * Based class used for output transformation.
- * Specific classes based on information from XML make correct transformation
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdValueBase) : public CBase
-    {
-public:
-    /**
-     * Create specific class based on parameter
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs Pointer to common pointer structure.
-     */
-    static CHnMdValueBase* CreateL( const TXmlEngElement& aElement, 
-                                THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Get value from spefic class
-     * 
-     * @param aQueriesResultsList query results use for dynnamic data
-     * @param aPos position if data are in list format.
-     * @return A pointer to the CHnAttributeBase object.
-     */
-    
-    virtual CHnAttributeBase* CreateAttributeL( 
-            const CLiwGenericParamList* aQueriesResultsList, TInt aPos ) = 0;
-            
-    };
-
-#endif /*C_HNMDVALUEBASE_H*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvalueimage.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,337 +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:   
-*
-*/
-
-
-#ifndef CHNMDIMAGE_H
-#define CHNMDIMAGE_H
-
-#include <e32base.h>
-#include <AknsItemID.h> 
-#include "hnmdvaluebase.h"
-#include "hnglobals.h"
-
-class TXmlEngElement;
-class CLiwGenericParamList;
-struct THnMdCommonPointers;
-class CGulIcon;
-class CFbsBitmap;
-class CHnAttributeBase;
-class CHnAttributeImage;
-
-// CLASS DECLARATION
-
-/**
- * Value Image.
- * 
- * Specific class inherigint from CHnMdValue Base. This
- * class is responsible for images.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdValueImage) : public CHnMdValueBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CHnMdValueImage();
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs pointer to common pointer structure.
-     * @return Object instance of meta data value image.
-     */
-    static CHnMdValueImage* NewL( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs pointer to common pointer structure.
-     * @return Object instance of meta data value image.
-     */
-    static CHnMdValueImage* NewLC( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Evaluates image object changing references into values
-     * if possible.
-     * 
-     * @param aList Parameters list used in evaluation.
-     * @param aPos Position of the corresponding record in a paramters list.
-     */
-    void EvaluateL( CLiwGenericParamList* aList, TInt aPos );
-    
-// From CHnMdValueBase.
-    
-    /**
-     * Retruns path to the file or the id of the file.
-     * 
-     * @param aQueriesResultsList Parameters list used when creating an attribute.
-     * @param aPos Position of the corresponding record in a paramters list.
-     * @return Attribute.
-     */
-    CHnAttributeBase* CreateAttributeL( const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos );
-                
-    /**
-     * Returns CGulIcon object.
-     * 
-     * @param aQueriesResultsList Parameters list used when creating an attribute.
-     * @param aPos Position of the corresponding record in a paramters list.
-     * @return CGulIcon object.
-     */
-//    CGulIcon* GetIconL( const CLiwGenericParamList* aQueriesResultsList = NULL,
-//            TInt aPos = 0 );
-    
-    /**
-     * Returns variant containing bitmap.
-     * 
-     * @param aPath Path to the bitmap file.
-     * @return Variant object. Ownership is transferred.
-     */
-    TLiwVariant* BitmapFromLiwL( const TDesC8& aPath );
-
-    /**
-     * Returns bitmap.
-     * 
-     * @return Variant containing bitmap object.
-     */
-    TLiwVariant* BitmapL();
-    
-    /**
-     * Returns mask.
-     * 
-     * @return Variant containing bitmap object.
-     */
-    TLiwVariant* MaskL();
-    
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     */
-    CHnMdValueImage();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     * @param aElement Xml element.
-     * @param aCmnPtrs Meta data common pointers.
-     */
-    void ConstructL( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-   
-    /**
-     * Sets image source.
-     */
-    void SetImageSourceL();
-    
-    /**
-     * Searches for resource id in the given file using
-     * resource name.
-     * 
-     * If not found return KErrNotFound
-     * 
-     * @param aResourceFileContents contents of the file to search
-     * @param aResourceName name of the resource (string)
-     * @return KErrNotFound in case of error, otherwise id if the resource
-     */
-    TInt GetResourceIdL( const TDesC8& aResourceFileContents,
-            const TDesC8& aResourceName );
-    
-    /**
-     * File name getter.
-     * 
-     * @return file name
-     */
-    const TDesC8& FileName8();
-    
-    /**
-     * Skin id getter.
-     * 
-     * @return skin id.
-     */
-    TAknsItemID SkinIdL();
-    
-    /**
-     * Determines bitmap id and mask id in the MIF file.
-     * If bitmap id or/and mask id cannot be determined, KErrNotFound
-     * will be returned in aBitmapId or/and aMaskId. 
-     * 
-     * @param aBitmapId on successful execution will be set to bitmap id
-     * @param aMaskId on successful execution will be set to mask id
-     */
-    void GetBitmapAndMaskIdL( TInt& aBitmapId, TInt& aMaskId );
-    
-    /**
-     * Replaces file extension in a path to a file.
-     * Please note that the new extension must not be longer than the old one,
-     * or the method will leave. This means that this method cannot be applied
-     * to files without extension.
-     * 
-     * @param aPath path to a file with extension
-     * @param aNewExt a new extension
-     * @return path to the same file as aPath but with extension replaced
-     */
-    static HBufC* ReplaceFileExtensionLC(
-            const TDesC& aPath, const TDesC& aNewExt );
-    
-    /**
-     * Application UID getter.
-     * 
-     * @return application uid
-     */
-    TUid ApplicationUidL();
-    
-    /**
-     * Sets attribute data.
-     * 
-     * @param aAttr Attribute data to be set.
-     */
-    void SetAttributeDataL( CHnAttributeImage* aAttr );
-    
-    /**
-     * Return Mif file name.
-     * 
-     * @return Mif file name.
-     */
-    HBufC* GetMifFileNameL();
-
-    /**
-     * Returns file name.
-     * 
-     * @return File name.
-     */
-    HBufC* GetFileNameSrcL();
-    
-    /**
-     * Returns a path to the best matching mif file corresponding
-     * to the given file name.
-     * 
-     * @param aFs a reference to the file server
-     * @param aFileName a name of the file to be localized
-     * @return a valid path to the mif file
-     * 
-     */
-    HBufC* FindMatchigMifFileL( const RFs& aFs, TDesC& aFileName );
-    
-    /**
-     * Creates keys for caching bitmap and mask ids.
-     * 
-     * @param aKeyBitmap A bitmap key name to be created. 
-     * @param aBitmapIdBuf A bitmap id.
-     * @param aKeyMask A mask key to be created.
-     * @param aMaskIdBuf A mask id.
-     */
-    void CHnMdValueImage::CreateKeysLC( RBuf8& aKeyBitmap, RBuf8& aBitmapIdBuf, 
-    		RBuf8& aKeyMask, RBuf8& aMaskIdBuf );
-    
-
-private: // data
-    
-    /**
-     * Own - Skin id minor.
-     */
-    RBuf8 iSkinIdMinor8;
-    
-    /**
-     * Own - Skin id major.
-     */
-    RBuf8 iSkinIdMajor8;
-
-    /**
-     * Own - File name.
-     */
-    RBuf8 iFileNameSrc8;
-    
-    /**
-     * Own - Mif file name.
-     */
-    RBuf8 iMifFile8;
-    
-    /**
-     * Own - File name.
-     */
-    RBuf iFileName;
-    
-    /**
-     * Own - Bitmap id.
-     */
-    RBuf8 iBitmapId8;
-    
-    /**
-     * Own - Mask id.
-     */
-    RBuf8 iMaskId8;
-    
-    /**
-     * Own - Application uid.
-     */
-    RBuf8 iApplicationUid8;
-    
-    /**
-     * Own - Bitmap.
-     */
-    RBuf8 iBitmap8;
-    
-    /**
-     * Own - Mask;
-     */
-    RBuf8 iMask8;
-    
-    /**
-     * Own - Image source.
-     */
-    TImageSource iImageSource;
-    
-    /**
-     * A value contining path to the physical image
-     * or its id.
-     */
-    RBuf iReturnValue;
-
-    /**
-     * Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-    
-    /**
-     * Parameters list.
-     */
-    const CLiwGenericParamList* iParamList;
-    
-    /**
-     * Position of the corresponding record in parameters list.
-     */
-    TInt iPos;
-    
-    /**
-     * Full path to the MIF file or NULL if there is no MIF file.
-     * Own.
-     */
-    HBufC* iMifFileName;
-
-    };
-
-#endif // CHNMDIMAGE_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvaluetext.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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:   
-*
-*/
-
-
-#ifndef CHNMDTEXT_H
-#define CHNMDTEXT_H
-
-#include <e32base.h>
-
-#include "hnmdvaluebase.h"
-#include "hnglobals.h"
-
-class TXmlEngElement;
-class CLiwGenericParamList;
-struct THnMdCommonPointers;
-class CDesC16Array;
-class CDesC8Array;
-class CArrayFix<TInt>;
-
-// CLASS DECLARATION
-
-/**
- * Value Text
- * 
- * Specific class inherigint from CHnMdValue Base. This
- * class is responsible for texts: implements text handling in UI mapping phase
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdValueText) : public CHnMdValueBase
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs Common pointers.
-     */
-    static CHnMdValueText* NewL( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-        
-    /**
-     * Destructor.
-     */
-    ~CHnMdValueText();
-
-    /**
-     * From CHnMdValueBase.
-     * 
-     * Retruns localized formatted text.
-     * 
-     * @param aQueriesResultsList Parameters used when getting localized formatted text. 
-     * @param aPos Position of the correspoing record in the parameters list. 
-     * @param aValue Localized formatted text.
-     * @return Error code.
-     */
-    TInt GetL( const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos, TPtrC& aValue );
-    
-    /**
-     * Creates attribute.
-     * 
-     * @param aQueriesResultsList Parameters used when creating an attribute. 
-     * @param aPos Position of the correspoing record in the parameters list. 
-     * @return Attribute object.
-     */
-    CHnAttributeBase* CreateAttributeL( const CLiwGenericParamList* aQueriesResultsList,
-                TInt aPos );
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     */
-    CHnMdValueText();
-    
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( const TXmlEngElement& aElement,
-                     THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Fills list of parameters for text formating.
-     * 
-     * @param aQueryList query results use for dynamic data.
-     * @param aPos position if data are in list format.
-     * @param aDesParams array of descriptor parameters to be filled .
-     * @param aNumericParams array of numeric parameters to be filled  .
-     */
-    void FillParamsL( const CLiwGenericParamList* aQueryList, TInt aPos,
-                      CDesC16Array& aDesParams, CArrayFix<TInt>& aNumericParams);
-    
-    
-    /**
-     * Gets value from resource file
-     *
-     * @param aQueriesResultsList Query results use for dynamic data
-     * @param aPos Position if data are in list format
-     * @param aValue Return value
-     * @return Error code      
-     */
-    TInt GetFromResourceFileL( const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos, RBuf& aValue );
-    
-    
-    /**
-     * Gets simple value.
-     *
-     * @param aQueriesResultsList Query results use for dynamic data.
-     * @param aPos Position if data are in list format.
-     * @param aValue Return value.
-     * @return Error code.
-     */
-    TInt GetSimpleValueL( const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos, RBuf& aValue );
-    
-private: // data
-    /**
-     * Container of common pointers used in Hierarchy navigator
-     * Not own.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-    
-    /**
-     * Simple value, it can be unlocalized text,
-     * or text with localization namespace
-     * or path to query.
-     */
-    RBuf8 iSimpleValue;
-    
-    /**
-     * Resource file name or path for query.
-     * Own.
-     */
-    RBuf8 iResourceFile;
-    
-    /**
-     * Resource id value or path for query.
-     * Own.
-     */
-    RBuf8 iResourceId;
-    
-    /**
-     * It is cached value that is returned to client of this class.
-     * Own.
-     */
-    RBuf iCachedValue;
-    
-    /**
-     * Parameters list defined in XML, it should be path to query.
-     * Own.
-     */
-    CDesC8Array* iParameters;
-    
-    /**
-     * Cached list of descriptor parameters used for formating.
-     * Own.
-     */
-    CDesC16Array* iCachedDesParameters;
-    
-    /**
-     * Cached list of numeric parameters used for formating.
-     * Own.
-     */
-    CArrayFix<TInt>* iCachedIntParameters;
-    
-    };
-
-#endif // CHNMDTEXT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnqueryresultcollector.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +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:    
-*
-*/
-
-
-
-#ifndef C_HNQUERYCOLLECTOR_H
-#define C_HNQUERYCOLLECTOR_H
-
-#include <e32base.h>
-
-class CLiwGenericParamList;
-class CHnMdQueries;
-class CHnServiceHandler;
-class CHnMdQuery;
-
-// CLASS DECLARATION
-/**
- * Query Results Collector - Callback Interface 
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-class MHnQueryResultCollectorNotification
-	{
-public:
-	
-	/**
-	 * Callback function called after results are collected
-	 * 
-	 * 	 
-	 * @since S60 5.0
-     * @param aResults Results collected for the query.
-	 */
-	virtual void ResultsCollectedL( CLiwGenericParamList* aResults ) = 0; 
-	};
-
-
-// CLASS DECLARATION
-/**
- * Query Results Collector.
- * 
- * This class is responsible for collecting queries results.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnQueryResultCollector ): public CActive
-	{
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aQueries Queries to operate on.
-     * @param aParams Parameters.
-     * @return Fully constructed object.
-     */
-	static CHnQueryResultCollector* NewL( const CHnMdQueries& aQueries ,
-	                               const CLiwGenericParamList& aParams);
-	
-	/**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aQueries Queries to operate on.
-     * @param aParams Parameters.
-     * @return Fully constructed object.
-     */
-	static CHnQueryResultCollector* NewLC( const CHnMdQueries& aQueries,
-                                  const CLiwGenericParamList& aParams );
-	        
-    /**
-     * Destructor.
-     */
-	~CHnQueryResultCollector();
-
-    /**
-     * Starts performing queries asynchronously.
-     *
-     * @since S60 5.0
-     * @param aNotification callback interface - ResultCollectedL method calles
-     *                      when queries results collected.
-     */
-	void StartAsynchL( MHnQueryResultCollectorNotification* aNotification );
-    
-protected:
-    // from CActive
-    /**
-     * Resets the current query results.
-     */
-    void DoCancel();
-    
-    /**
-     * Handles query result collection.
-     */
-    void RunL();    
-
-private:
-    /**
-     * Standard C++ constructor.
-     * 
-     * @param aQueries Queries for which results are to be executed.
-     * @param aParams Parameters for the queries.
-     */
-	CHnQueryResultCollector( const CHnMdQueries& aQueries,
-	                         const CLiwGenericParamList& aParams );
-	
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     */
-	void ConstructL();
-	
-    /**
-     * Starts performing next query from a raw.
-     * 
-     */	
-	void ExecQueryAsynchL();
-	
-	/**
-     * Resets iterator and current results.
-     */
-	void ResetL();
-	
-	/**
-     * Check if there is another query waiting.
-     * 
-     * @return ETrue if there is another query waiting.
-     */
-	TBool NextQuery();
-		
-    /**
-     * Removes items.
-     * 
-     */
-	void HandleQueryResultsL();
-    
-    /**
-     * Executes query on Service Handler.
-     * 
-     * @param aQuery Query to be executed.
-     */
-    void ExecQueryL( CHnMdQuery& aQuery );
-    
-private:
-	
-	/**
-     * Queries.
-     * Not Own.
-     */
-	const CHnMdQueries& iQueries;
-	
-	/**
-     * Own.
-     */
-	CLiwGenericParamList* iResults;
-	
-	/**
-     * Not Own.
-     */
-	const CLiwGenericParamList& iParams;
-	
-	/**
-     * Own.
-     */
-	TInt iQueryIterator;
-	
-	/**
-     * Own.
-     */
-	CLiwGenericParamList* iCurrentQueryResults;
-	
-	/**
-     * Not Own.
-     */
-	MHnQueryResultCollectorNotification* iNotification;
-	
-	/**
-     * Service handler.
-     * Own.
-     */
-    CHnServiceHandler* iSh;
-	
-	};
-
-#endif // C_HNQUERYCOLLECTOR_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnrepositoryobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,340 +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:  factory settings for active space
-*
-*/
-
-
-#ifndef HNREPOSITORYOBSERVER_H_
-#define HNREPOSITORYOBSERVER_H_
-
-#include <liwcommon.h>
-#include <e32base.h>
-#include <centralrepository.h>
-#include <cenrepnotifyhandler.h>
-#include "hnmdmodel.h"
-#include "hnservicehandler.h"
-#include "hnsuiteobserver.h"
-
-/**
- * Repository Observer base class.
- *
- * It is used to be derived by repository observers.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnRepositoryObserver ):
-    public CBase,
-    public MCenRepNotifyHandlerCallback
-	{
-public:
-
-    /**
-     * Default C++ Destructor.
-     *
-     * @since S60 v5.0
-     */
-    virtual ~CHnRepositoryObserver();
-
-
-protected:
-
-    /**
-     * Defautlt C++ Constructor.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @since S60 v5.0
-     */
-    CHnRepositoryObserver( THnMdCommonPointers* aCmnPtrs );
-
-
-    /**
-     * Defautlt C++ Constructor.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @since S60 v5.0
-     */
-    CHnRepositoryObserver( THnMdCommonPointers* aCmnPtrs, TUint32 iId );
-
-    /**
-     * Second stage constructor.
-     *
-     * @since S60 v5.0
-     */
-    void ConstructL( const TUid aRepositoryUid );
-
-protected:
-
-    /**
-     * Own - Central Repository access class.
-     */
-    CRepository *iRepository;
-
-    /**
-     * Id of the CR entry to be watched.
-     */
-    TUint32 iId;
-
-    /**
-     * Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-
-    /**
-     * Own - Central repository notification handler.
-     */
-    CCenRepNotifyHandler* iNotifyHandler;
-
-	};
-
-/**
- * Widget Type Repository Observer.
- *
- * It is used to inform hierarchy navigator of changes in the suites repository.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnRepositoryWidgetTypeObserver ): public CHnRepositoryObserver
-	{
-public:
-
-    /**
-     * Default C++ Destructor.
-     *
-     * @since S60 v5.0
-     */
-    virtual ~CHnRepositoryWidgetTypeObserver();
-
-    /**
-     * Factory function.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @return Repository Observer.
-     * @since S60 v5.0
-     */
-    static CHnRepositoryWidgetTypeObserver* NewL( THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid  );
-
-    /**
-     * Factory function.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @return Repository Observer.
-     * @since S60 v5.0
-     */
-    static CHnRepositoryWidgetTypeObserver* NewLC( THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid  );
-
-    /**
-     * Change handler method.
-     * It is invoked whenever notifier detects a change in the CR.
-     *
-     * @param aId Id of the entry in CR.
-     * @since S60 v5.0
-     */
-    void HandleNotifyGeneric(TUint32 aId);
-
-    /**
-     * Change handler method.
-     * It is invoked whenever notifier detects a change in the CR.
-     *
-     * @param aId Id of the entry in CR.
-     * @since S60 v5.0
-     */
-    void HandleNotifyGenericL(TUint32 aId);
-
-private:
-
-    /**
-     * Defautlt C++ Constructor.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @since S60 v5.0
-     */
-	CHnRepositoryWidgetTypeObserver( THnMdCommonPointers* aCmnPtrs );
-
-private:
-
-    /**
-     * Second stage constructor.
-     *
-     * @since S60 v5.0
-     */
-	void ConstructL( const TUid aRepositoryUid );
-
-private:
-
-	/**
-	 * Array holding ids of widgets being switched.
-	 * It is used to eliminate double refresh for such suites.
-	 */
-	RArray<TUint32> iWidgetSwitches;
-
-	};
-
-
-
-NONSHARABLE_CLASS( CHnRepositoryShowFolderObserver ): 	public CHnRepositoryObserver,
-														public MLiwNotifyCallback,
-														public MHnSuiteObserver
-	{
-public:
-
-    /**
-     * Default C++ Destructor.
-     *
-     * @since S60 v5.0
-     */
-    virtual ~CHnRepositoryShowFolderObserver();
-
-    /**
-	 * Factory function.
-	 *
-	 * @param aCmnPtrs Common pointers.
-	 * @return Repository Observer.
-	 * @since S60 v5.0
-	 */
-	static CHnRepositoryShowFolderObserver* NewL(
-			THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid,
-			const TUint32 aId);
-
-	/**
-	 * Factory function.
-	 *
-	 * @param aCmnPtrs Common pointers.
-	 * @return Repository Observer.
-	 * @since S60 v5.0
-	 */
-	static CHnRepositoryShowFolderObserver* NewLC(
-			THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid,
-			const TUint32 aId);
-
-    /**
-     * Change handler method.
-     * It is invoked whenever notifier detects a change in the CR.
-     *
-     * @param aId Id of the entry in CR.
-     * @since S60 v5.0
-     */
-    void HandleNotifyString(TUint32 aId, const TDesC16& aNewValue );
-
-    /**
-     * Change handler method.
-     * It is invoked whenever notifier detects a change in the CR.
-     *
-     * @param aId Id of the entry in CR.
-     * @since S60 v5.0
-     */
-    void HandleNotifyStringL(TUint32 aId, const TDesC16& aNewValue );
-
-
-    /**
-     * From MLiwNotifyCallback
-     */
-    TInt HandleNotifyL(
-        TInt aCmdId,
-        TInt aEventId,
-        CLiwGenericParamList& aEventParamList,
-        const CLiwGenericParamList& aInParamList);
-
-    /**
-     * From MHnSuiteObserver
-     */
-    virtual void HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent,
-            CHnSuiteModel *aModel );
-
-
-
-private:
-
-    /**
-     * Defautlt C++ Constructor.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @since S60 v5.0
-     */
-	CHnRepositoryShowFolderObserver( THnMdCommonPointers* aCmnPtrs, TUint32 iId  );
-
-    /**
-     * Extracts the folder name from the CR key.
-     *
-     * @param aNewValue The CR key.
-     * @since S60 v5.0
-     */
-	void ExtractCRKeyShowFolderName( const TDesC& aNewValue );
-
-	/**
-	 * Request get list for parent folder of an application.
-	 *
-	 * @param aFolderId A parent folder id
-	 * @since S60 v5.0
-	 */
-    void GetShowFolderL( TUint32 aFolderId );
-
-    /**
-     * Request get list for a folder with given application group name
-     * contained in iCRKeyFolderName.
-     *
-     * @since S60 v5.0
-     */
-    void GetShowFolderGroupNameL();
-
-private:
-    /**
-     * Type of a flag describing the type of notification.
-     * APP_ID - MCS id is given
-     * APP_UID - Application UID is given
-     * SECOND_NOTIFY - handled notify caused by the second get list
-     */
-    enum TNotifyType { EAPP_ID=1, EAPP_UID=2, ESECOND_NOTIFY=4 };
-
-private:
-
-    /**
-     * Second stage constructor.
-     *
-     * @since S60 v5.0
-     */
-	void ConstructL( const TUid aRepositoryUid );
-
-private:
-
-	/**
-     * Folder application group name.
-     */
-	TBuf8<KApaMaxAppGroupName> iCRKeyFolderName;
-
-    /**
-     * Mcs id for an application item in a folder with a given app group name.
-     */
-	TBuf8<KUidStringLength> iCRKeyFolderItemUid;
-
-	/**
-     * Own.
-     * Intance of the service handler.
-     */
-    CHnServiceHandler* iServiceHandler;
-
-    /**
-       * Flag describing the type of notification.
-     */
-    TInt iNotifyType;
-	};
-
-#endif /*HNREPOSITORYOBSERVER_H_*/
-
-//End of file
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimplecondition.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +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:  
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITION_H
-#define C_HNSIMPLECONDITION_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengelement.h> 
-#include <liwgenericparam.h>
-#include "hnglobals.h"
-#include "hnconditioninterface.h"
-
-class CLiwGenericParamList;
-class TLiwVariant;
-
-/**
- * Simple Condition.
- * 
- * The simple condition class. This is the base class for different
- * condition classes, e.g. Greater, Has, HasNot conditions.
- *  
- * @lib hierarchynavigatorengine
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnSimpleCondition) : public CHnConditionInterface
-    {
-public:
-   
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnSimpleCondition* NewL( TDesC8 & aElement );
-
-    /**
-     * Standard C++ Destructor
-     */
-    ~CHnSimpleCondition();
-    
-    /**
-     * Removes quotes.
-     *
-     * @since S60 v3.2
-     * @param aValue String to remove quotes from.
-     */
-    static void RemoveQuotes( RBuf8 & aValue );
-    
-    /**
-     * Returns result.
-     *
-     * @since S60 v3.2
-     * @param aQueryResults Results of query.
-     * @param aPos Position.
-     * @return True if condition is satisfied.
-     */    
-    TBool ResultL( const CLiwGenericParamList& aQueryResults, TInt aPos );
-        
-    /**
-     * Returns result.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left variant.
-     * @param aVarRight Right variant.
-     * @return True if condition is satisfied.
-     */    
-    virtual TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight ) = 0;
-
-protected:
-    
-    /**
-     *  Standard C++ Constructor
-     */
-    CHnSimpleCondition();
-
-    /**
-     * Standard symbian second phase constructor.
-     * 
-     * @param aElement Xml element.
-     */
-    void ConstructL( TDesC8 & aElement );
-    
-    /**
-     * Gets positions.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    virtual TInt GetPositionL( const TDesC8& aBuffer ) = 0;
-    
-    /**
-     * Gets length.
-     * 
-     * @return Length of an operator.
-     */
-    virtual TInt SignLength() = 0;
-
-private:
-    
-    
-    /**
-     * Checks if both combinations, if either of the pairs, has this 
-     * sort of type configuration.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left variant.
-     * @param aVarRight Right variant.
-     * @param aType1 Variant type 1.
-     * @param aType2 Variant type 2.
-     */
-    static TLiwVariant* CheckTypes( TLiwVariant* aVarLeft, TLiwVariant* aVarRight, 
-            LIW::TVariantTypeId aType1, LIW::TVariantTypeId aType2 );
-    
-    /**
-     * Normalizes to one sort of descriptor type.
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */
-    static void NormalizeVariantTypeDesL( TLiwVariant* aVar );
-    
-    /**
-     * Tries to match types of content.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left variant.
-     * @param aVarRight Right variant.
-     */    
-    static void NegotiateTypesL( TLiwVariant* aVarLeft, TLiwVariant* aVarRight );
-    
-    /**
-     * If list is compared to a string, a decision is made, to substitute list a
-     * its Count() scalar.
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */    
-    static void NegotiateListL( TLiwVariant & aVar );
-    
-    /**
-     * If map is compared to a string, a decision is made, to substitute list a
-     * its Count() scalar.
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */    
-    static void NegotiateMapL( TLiwVariant & aVar );
-    
-    /**
-     * If tuint is compared to a string, a decision is made, to substitute 
-     * it as tuint
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */    
-    static void NegotiateTUintL( TLiwVariant & aVar );
-    
-
-    /**
-     * 
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */
-    static void NegotiateTBoolL( TLiwVariant & aVar );
-
-    
-    /**
-     * If tuint is compared to a string, a decision is made, to substitute 
-     * it as tin32
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */  
-    static void NegotiateTInt32L( TLiwVariant & aVar );
-    
-    /**
-     * If tuint is compared to a string, a decision is made, to substitute 
-     * it as tin32
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */  
-    static void NegotiateTInt64L( TLiwVariant & aVar );
-    
-    /**
-     * Creates implementation of CHnMenuCondition.
-     * 
-     * @param aElement Xml element.
-     * @return Instance of CHnMenuCondition.
-     */
-    static CHnSimpleCondition* CreateImplementationL( TDesC8 & aElement );
-
-protected: // data
-        
-    /**
-     * Own - Key.
-     */
-    RBuf8 iReferenceRight;
-    
-    /**
-     * Own - Key.
-     */
-    RBuf8 iReferenceLeft;
-    
-    };
-
-#endif // C_HNSIMPLECONDITION_H
-
-//End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditiondifferent.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +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:   
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITIONDIFFERENT_H
-#define C_HNSIMPLECONDITIONDIFFERENT_H
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Different.
- * 
- * Class compares condition with criterium 'different'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
- NONSHARABLE_CLASS( CHnSimpleConditionDifferent ) : public CHnSimpleCondition
-     {
-     /**
-      * Gets positions. From CHnMenuCondition
-      * 
-      * @param aBuffer Buffer.
-      * @return Position.
-      */
-     TInt GetPositionL( const TDesC8& aBuffer );
-     
-     /**
-      * Returns result. From CHnMenuCondition
-      *
-      * @since S60 v3.2
-      * @param aVarLeft Left Liv variant condition to compare.
-      * @param aVarRight Right Liv variant condition to compare.
-      * @return True if condition is satisfied.
-      */    
-     TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-    
-     /**
-      * Gets length. From CHnMenuCondition
-      * 
-      * @return Length of an operator.
-      */
-     TInt SignLength();
-     };
-
-#endif // C_HNSIMPLECONDITIONDIFFERENT_H
-
-//End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionequal.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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:   
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITIONEQUAL_H
-#define C_HNSIMPLECONDITIONEQUAL_H
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Equal.
- * 
- * Class compares condition with criterium 'equal'.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionEqual ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-   
-#endif // C_HNSIMPLECONDITIONEQUAL_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditiongreater.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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:   
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITIONGREATER_H
-#define C_HNSIMPLECONDITIONGREATER_H
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Greater.
- * 
- * Class compares condition with criterium 'greater'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionGreater ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-
-#endif // C_HNSIMPLECONDITIONGREATER_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionhas.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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:   
-*
-*/
-
-
-#ifndef HNSIMPLECONDITIONHAS_H_
-#define HNSIMPLECONDITIONHAS_H_
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Has.
- * 
- * Class compares condition with criterium 'has'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionHas ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-
-#endif /*HNSIMPLECONDITIONHAS_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionhasnot.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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:   
-*
-*/
-
-
-#ifndef HNSIMPLECONDITIONHASNOT_H_
-#define HNSIMPLECONDITIONHASNOT_H_
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Has Not.
- * 
- * Class compares condition with criterium 'hasnot'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionHasNot ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-
-#endif /*HNSIMPLECONDITIONHASNOT_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionsmaller.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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:   
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITIONSMALLER_H
-#define C_HNSIMPLECONDITIONSMALLER_H
-
-#include "hnsimplecondition.h"
-   
-/**
- * Simple Condition Smaller.
- * 
- * Class compares with criterium 'smaller'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionSmaller ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-
-#endif // C_HNSIMPLECONDITIONSMALLER_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnstringhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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:  
-*
-*/
-
-
-#ifndef HNSTRINGHANDLER_H
-#define HNSTRINGHANDLER_H
-
-#include <e32base.h>
-
-class CDesC16Array;
-struct THnMdCommonPointers;
-
-/**
- * String Handler.
- * 
- * Contains static methods for strings manipulation.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(HnStringHandler)
-    {
-public:
-    /**
-     * Localize given string
-     * it is given in format 
-     * @verbatim <namespace>:<id> @endverbatim 
-     * namespace can be declared in XML
-     * it also accepts format myapp.rsc:MY_RESOURCE
-     * 
-     * @param aDestination destiation where localized text is returned
-     * @param aSource string to localize
-     * @param aCmnPtrs common pointers, if not given, 
-     *  taken from THnMdCommonPointers::Static()
-     */
-    static void LocaliseL(  RBuf& aDestination, RBuf& aSource,
-                           THnMdCommonPointers* aCmnPtrs );
-    /**
-     * Localize given string
-     * it is given in format 
-     * @verbatim <namespace>:<id> @endverbatim
-     * namespace can be declared in XML
-     * it also accepts format myapp.rsc:MY_RESOURCE
-     * It formats string based on parameters provided.
-     * 
-     * @param aDestination destiation where localized text is returned
-     * @param aSource string to localize
-     * @param aDesParams list descriptor parameters to format %U, %0U
-     * @param aIntParams list integer parameters to format %N, %0N
-     * @param aCmnPtrs common pointers, if not given, 
-     *  taken from THnMdCommonPointers::Static()
-     */
-    static void LocaliseL( RBuf& aDestination, RBuf& aSource, 
-                            CDesC16Array* aDesParams,
-                            CArrayFix<TInt>* aIntParams,
-                            THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Compares strings ignoring character case.
-     * 
-     * @param aLeft Base descriptor.
-     * @param aRight Descriptor to be compared with the base descriptor.
-     */
-    static TInt CompareIgnoreCaseL( const TDesC& aLeft, const TDesC& aRight );
-    
-    /**
-     * Compares strings ignoring character case.
-     * 
-     * @param aLeft Base descriptor.
-     * @param aRight Descriptor to be compared with the base descriptor.
-     */
-    static TInt CompareIgnoreCaseL( const TDesC8& aLeft, const TDesC8& aRight );
-    };
-
-#endif // HNSTRINGHANDLER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnutils.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +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:   
-*
-*/
-
-
-
-#ifndef C_HNUTILS_H
-#define C_HNUTILS_H
-
-#include <e32base.h>
-
-class CHnMdLocalization;
-class CHnMdBaseKey;
-class CLiwGenericParamList;
-class TLiwVariant;
-class CHnSuiteModel;
-class TXmlEngElement;
-
-
-/**
- * Utils
- * 
- * Utility class.
- *
- * @lib hnmetadatamodel
- * @since S60 3.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( HnUtils )
-    {   
-public:
-    
-   /**
-    * Read file.
-    *
-    * @since S60 v3.0
-    * @param aPath Path to a file.
-    * @return Buffer.
-    */    
-    IMPORT_C static HBufC8* ReadFileLC(const TDesC& aPath);
-   
-   /**
-    * Read file.
-    *
-    * @since S60 v3.0
-    * @param aPath Path to a file.
-    * @return Buffer.
-    */    
-    IMPORT_C static HBufC8* ReadFileL(const TDesC& aPath);
-    
-   /**
-    * Locates file.
-    *
-    * @since S60 v3.0
-    * @param aFile File name.
-    * @return File path.
-    */
-    IMPORT_C static HBufC* LocateFileLC( const TDesC& aFile );
-    
-    /**
-     * Locates nearest Language file.
-     *
-     * @since S60 v3.0
-     * @param aFile File name.
-     * @return File path.
-     */
-    IMPORT_C static HBufC* LocateNearestLanguageFileLC( const TDesC& aFile );
-
-   
-
-    /**
-     * Sets given descriptor using xml element textual value.
-     * 
-     * @since S60 v5.0
-     * @param aElement Xml element.
-     * @param aAttribute Descriptor to be set using aElement.
-     */
-    IMPORT_C static void SetAttributeL( const TXmlEngElement& aElement, 
-            RBuf8& aAttribute );
-    
-    /**
-     * Sets given descriptor using xml attribute. 
-     * 
-     * @since S60 v5.0
-     * @param aElement Xml element from which the attribute will be retrieved
-     *                 by aAttributeName.
-     * @param aAttributeName The name of the attribute to be read from
-     *                 aElement.
-     * @param aAttribute A descriptor to be set using a value of the attribute
-     *                 from aElement.
-     */
-    IMPORT_C static void SetAttributeL( const TXmlEngElement& aElement, 
-            const TDesC8& aAttributeName, RBuf8& aAttribute );
-    
-    /**
-     * Fetches given columns string.
-     * 
-     * @since S60 v5.0
-     * @param aColumn Which column to fetch.
-     * @param aSourceText Source texts.
-     * @param aColumnSeparator Character that separates columns.
-     */
-    IMPORT_C static HBufC8 * GetColumnTextLC(TInt aColumn, const TDesC8 & aSourceText, 
-            TChar aColumnSeparator = TChar('|'));
-    
-    /**
-     * Fetches number of columns.
-     * 
-     * @since S60 v5.0
-     * @param aSourceText Source texts.
-     * @param aColumnSeparator Character that separates columns.
-     */
-    IMPORT_C static TInt GetColumnTextColumnCount(const TDesC8 & aSourceText, 
-                TChar aColumnSeparator = TChar('|'));
-    
-private:
-    };
-
-#endif // C_HNUTILS_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlmodelcache.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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:  
-*
-*/
-
-
-#ifndef HNXMLMODELCACHE_H_
-#define HNXMLMODELCACHE_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengdom.h>
-#include <bautils.h>
-
-
-/**
- * Suites cache.
- * 
- * This class is designed to support caching xml documents which contain
- * suites definitions.
- * 
- * The cache is directlty used by the xml model provider (CHnXmlModelProvider)
- * and is transparent for other data model's classes.
- * 
- * The cache has a maksimum capacity which is equal to KXmlModelCacheMaxLength.
- * The cache works similarily to a shift register. When the maksimum size of
- * the cache is exceeded then the last element in the cache is removed.
- * On contrary, most often used xml documents are moved to the beggining
- * of the cache.
- * 
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnXmlModelCache ) : public CBase
-    {
-
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnXmlModelCache();
-    
-    /**
-     * Standard second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-    /**
-     * Removes a xml document from the cache if the size of the cache
-     * is exceeded.
-     * 
-     * @since S60 5.0
-     */
-    void RemoveUnused();
-    
-    /**
-     * Moves the xml document (identified by a given name) to the top of the
-     * cache.
-     * 
-     * @param aSuiteName A name of the xml document to be moved to the top
-     *                   of the cache.
-     * @since S60 5.0
-     */
-    void MoveToTopL( const TDesC & aSuiteName );
-
-public:
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    static CHnXmlModelCache* NewLC();
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * 
-     */
-    static CHnXmlModelCache* NewL();
-    
-    /**
-     * Adds a new xml document into the cache.
-     * @param aSuiteName A name of the suite.
-     * @param aDocument A xml document to be added to the cache.
-     * 
-     * @since S60 5.0
-     */
-    TInt AddL( const TDesC& aSuiteName, RXmlEngDocument& aDocument );
-    
-    /**
-     * Checks if the xml document is stored in the cache.
-     * 
-     * @param aSuiteName The name of the suite to be checked.
-     * @return ETrue if a suite of a given name is stored in the cache,
-     *         otherwise - EFalse.
-     *         
-     * @since S60 5.0
-     */
-    TBool IsCachedL( const TDesC& aSuiteName );
-    
-    /**
-     * Gets a xml document by a given name.
-     * 
-     * @param aSuiteName The name corresponding to the xml document to be
-     *                   retrieved from the cache.
-     * @param aDocument The reference to the xml document.
-     * 
-     * @since S60 5.0
-     */
-    void GetL( const TDesC& aSuiteName, RXmlEngDocument& aDocument );
-    
-    /**
-     * Resets the cache - removes all stored xml documents.
-     * 
-     * @since S60 5.0
-     */
-    void Reset();
-    
-    /**
-     * Standard C++ virtual destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnXmlModelCache();
-
-private:
-    
-    /**
-     * The hash map storing pairs: name of the suite, corresponding xml
-     * document.
-     * 
-     * @since S60 5.0
-     */
-    RHashMap< HBufC*, RXmlEngDocument > iDocuments;
-    
-    /**
-     * An auxilliary array storing the order of the xml document
-     * in the cache.
-     * 
-     * @since S60 5.0
-     */
-    RPointerArray< HBufC > iOrder;
-    
-    };
-
-#endif /*HNXMLMODELCACHE_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlmodelprovider.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +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:  
-*
-*/
-
-
-
-#ifndef C_HNMULMODELPROVIDER_H
-#define C_HNMULMODELPROVIDER_H
-
-
-#include <xmlengdom.h>
-#include <bautils.h>
-#include <e32hashtab.h>
-
-class CHnXmlModelCache;
-
-/**
- * Xml Model Provider
- * 
- * Parses suites definitions in xml and makes changes in model. 
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnXmlModelProvider) : public CActive
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnXmlModelProvider* NewL();
-
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnXmlModelProvider* NewLC();
-
-    /**
-     * Standard virtual destructor.
-     */
-    IMPORT_C virtual ~CHnXmlModelProvider();
-    
-    /**
-     * @see CAsctive::DoCancel
-     */
-    void DoCancel();
-
-    /**
-     * Services the suite synchronization steps according to class iterator.
-     *
-     * @see CAsctive::RunL
-     */
-    void RunL();
-
-private:
-    
-    /**
-     * ReadFileLC reads file.
-     *
-     * @since S60 v5.0
-     * @param aPath Path to a file.
-     * @return Content of the file.
-     */
-     HBufC8* ReadFileLC(const TDesC& aPath);
-
-    /**
-     * Parses a document.
-     *
-     * @since S60 v5.0
-     * @param aDoc A document to be parsed.
-     * @return Xml document.
-     */
-     RXmlEngDocument ParseDocL( const TDesC8& aDoc );
-
-     
-     /**
-     * Builds root of xml model from suite definition.
-     *
-     * @since S60 v5.0
-     * @param aSuiteName Suite name.
-     * @param aXmlDoc XLM model of the suite.
-     * @return Error code.
-     */
-     TInt CollectSuiteL( const TDesC& aSuiteName, RXmlEngDocument& aXmlDoc );
-     
-     /**
-     * appends items to suite in model,
-     *
-     * @since S60 v5.0
-     * @param aSuiteName Name of suite to append items to.
-     * @param aXmlDoc XLM model of the suite.
-     */
-     void CollectItemsL(const TDesC& aSuiteName, RXmlEngDocument& aXmlDoc );
-     
-     /**
-     * Copies suites and items definitions to working dir.
-     *
-     * @since S60 v5.0
-     * @return Error code.
-     */
-     TBool SynchronizeSuitesL();
-     
-    /**
-     * Creates model from suite definition.
-     *
-     * @since S60 v5.0
-     * @param aStr Name of suite.
-     * @param aXmlDoc XML model of the suite.
-     */
-    void CreateModelL( const TDesC& aStr, RXmlEngDocument& aXmlDoc  );   
-    
-    /**
-     * Changes event names to ids.
-     *
-     * @since S60 v5.0
-     * @param aElement Xml element.
-     */
-    void ChangeEventNamesToIdsL( TXmlEngElement& aElement );
-
-    /**
-     * Changes event names to items in all the children.
-     *
-     * @see ChangeEventNamesToIdsL
-     * @since S60 v5.0
-     * @param aElement Xml element.
-     */
-    void ChangeEventsToIdsInChildrenL(
-            TXmlEngElement & aElement );
-    
-#ifdef _DEBUG
-    /**
-     * Logs event mapping.
-     *
-     * @since S60 v5.0
-     * @param aEventMap Event map.
-     */
-    void LogEventMapping( const RHashMap<HBufC*, TInt>& aEventMap );
-#endif
-
-public:     
-          
-    /**
-     * Parses a document.
-     *
-     * @param aPath Path to a file.
-     * @return RXmlEngDocument.
-     */
-     RXmlEngDocument ParseFileL( const TDesC& aPath );
-     
-     /**
-      * Resets cached models.
-      */
-     void ResetCache();
-     
-    /**
-     * Reparses a document.
-     */
-     IMPORT_C void ReloadModelL();
-   
-    /**
-     * Parses a document - searching proper suite.
-     *
-     * @param aStr Name of the model.
-     * @param aXmlDoc A reference to document of RXmlEngDocument class;
-     * @return Error code. KErrNone if model found.
-     */
-    IMPORT_C TInt GetModelL( const TDesC& aStr, RXmlEngDocument& aXmlDoc );
-    
-     /**
-      * Parses a document.
-      *
-      * @param aEventName Event name.
-      * @return Event id.
-      */     
-     TInt GetNewEventId( HBufC* aEventName );
-     
-     /**
-      * Check if suite exists.
-      *
-      * @since S60 5.0
-      * @param aSuite Suite name.
-      * @return ETrue if suite exists, otherwise EFalse.
-      */
-     TBool SuiteExistsL( const TDesC& aSuite );
-    
-private:
-     
-    /**
-     * Invoked after asynchronous synchronization is finished.
-     */
-     void SynchronizationFinishedL();
-
-    /**
-     * Sets up normal path to suites.
-     *
-     * @param aPath Path to be searched for suites.
-     */	
-     void SearchPathForSuitesL( const TDesC& aPath );
-	
-    /**
-     * Sets up normal path to suites.
-     */   
-     void SetupSuitePathL();
-	
-    /**
-     * Sets up fail sage path to suites.
-     */   
-    void SetupFailSafeSuitePathL();
-	
-    /**
-     * Standard C++ constructor.
-     */     
-    CHnXmlModelProvider();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     */     
-    void ConstructL();
-
-    /**
-    * Finds drive letter where suite definition is.
-    *
-    * @since S60 v5.0
-    * @return Error code
-    */
-    void CheckDrivesL(); 
-               
-    
-#ifdef _DEBUG
-private:
-    void LogSuiteModel( const TDesC& aName, 
-                                         RXmlEngDocument& aDoc );
-#endif // _DEBUG
-
-private: // data
-
-    /**
-     * Xml DOM implementation.
-     */
-    RXmlEngDOMImplementation iDomImpl;
-
-    /**
-     * Xml DOM parser.
-     */
-    RXmlEngDOMParser iDomParser;
-                
-    /**
-     * File server session
-     */
-    RFs iFs;
-        
-    /**
-     * File manager
-     */
-    CFileMan* iFileMan;                
-    
-    /**
-     * List containing names of suites (suite name is same as dir name)
-     * that should be installed from all drives
-     */    
-    RHashSet< HBufC* > iInstSuites;
-    
-    /**
-     * Event map.
-     */
-    RHashMap< HBufC*, TInt > iEventMap;
-    
-    /**
-     * Main path.
-     */
-    RBuf iPath;
-    
-    /**
-     * Cached suites.
-     */
-    CHnXmlModelCache* iCache;
-    
-    /**
-     * Own. Iterator used in synchronisation. 
-     * Indicates next suite name to be synchronised.
-     */
-    THashSetIter<HBufC*>* iSuiteSetIterator;
-
-    /**
-     * ETrue if suite files on the c: drive were updated during the
-     * last synchronization. New suite files also count as updated.
-     * EFalse if the last synchronization did not alter any files
-     * on the c: drive.
-     */
-    TBool iSuiteFilesUpdated;
-
-    };
-#endif // C_HNMULMODELPROVIDER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlsuitefilesreg.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +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: 
-*  Version     : %version:  2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-
-#ifndef C_HNXMLSUITEFILESREG_H
-#define C_HNXMLSUITEFILESREG_H
-
-#include <bautils.h>
-#include <e32hashtab.h>
-
-/**
- * Structure binding file information together.
- * All of this information is essential when synchronising suite files.
- */
-NONSHARABLE_STRUCT(THnFileInfo)
-	{
-	TBuf< KMaxFileName > iFileName;
-	TBuf< KMaxPath > iFilePath;
-	TTime iLastModified;
-	TInt iSize;
-	};
-
-/**
- * Registry of suite definition files.
- * 
- * Keeps track of the suite files' sync. 
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnXmlSuiteFilesReg) : public CBase
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    static TBool SynchronizeL( RFs & aFs, const TDesC &aSuiteName );
- 
-    /**
-     * Standard virtual destructor.
-     */
-    virtual ~CHnXmlSuiteFilesReg();
-   
-private:
-	
-    /**
-     * Standard C++ constructor.
-     */     
-	CHnXmlSuiteFilesReg( RFs & aFs );
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     */     
-    void ConstructL( const TDesC &aSuiteName );
-    
-    /**
-     * Destroys suite file maps.
-     */
-    void DestroySuiteFilesMaps();
-
-    /**
-     * Returns the valid suite import dir.
-     *
-     * @param aDriveNumber Number of the drive for which to create path.
-     * @return Path.
-     */	
-    HBufC* GetSuiteImportDirL( TInt aDriveNumber ) const;
-
-    /**
-     * Searches all the drives for import files for this particular suite.
-     */	
-    void SearchDrivesForSuiteFilesL();
-
-    /**
-     * Processes suite import dir.
-     *
-     * @param aSuitePath Path of the suite import.
-     */	
-    void SearchDirForSuiteFilesL( const TDesC& aSuitePath );
-
-    /**
-     * Adds a file to the suite map. The logics in the methods always prefers
-     * the newer files over the older. If a file by the same name already exists 
-     * with a newer date file will not be added.
-     *
-     * @param aDir Directory of the new file.
-     * @param aFile New file entry.
-     */	
-    void AddSuiteFileToMapL( const TDesC& aDir, const TEntry& aFile );
-
-    /**
-     * Calculates the current size of the dir in the installation.\
-     *
-     * @return Size in bytes.
-     */
-    TInt CalculateCurrentSuiteSizeL();
-
-    /**
-     * Calculates the size of the data to be synchronised.
-     *
-     * @return Size in bytes.
-     */
-    TInt CalculateSynchronizationSuiteSize();
-	
-    /**
-     * Synchronizes the suite files.
-     */
-    TBool SynchronizeSuiteFilesL();
-
-    /**
-     * Constructs the valid installation path.
-     *
-     * @return The installation path.
-     */
-    HBufC* GetSuiteInstallPathL();
-	
-private:
-	
-   /**
-    * Name of the suite (suite folder).
-    */
-    RBuf iSuiteName;
-	
-    /**
-     * File server session reference
-     */
-    RFs &iFs;
-    
-    /**
-     * File manager
-     */
-    CFileMan* iFileMan;  
-        
-    /**
-     * Hashmap containing paths to the suite files.
-     */
-    RHashMap< const TDesC*, THnFileInfo* > iSuiteFiles;
-
-    };
-#endif // C_HNXMLSUITEFILESREG_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/mymenudebug.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "hnmetadatamodel.txt");
-
-#endif // MYMENUDEBUG_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnbitmapidcache.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +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:  
-*  Version     : %version:  3 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "hnbitmapidcache.h"
-#include "hnglobals.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TUint32 HBufC8HashCache( HBufC8* const &  aBuf )
-    {
-    return DefaultHash::Des8(*aBuf);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HBufC8IdentCache( HBufC8* const & aL, HBufC8* const & aR )
-    {
-    return DefaultIdentity::Des8(*aL, *aR);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnBitmapIdCache::CHnBitmapIdCache() : iEntries( &HBufC8HashCache, 
-        &HBufC8IdentCache )
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnBitmapIdCache::ConstructL()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnBitmapIdCache::AddL( const TDesC8& aKey, TInt aValue ) 
-    {
-    HBufC8* key = aKey.AllocL();
-    iEntries.InsertL( key, aValue );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnBitmapIdCache::ExistsL( const TDesC8& aKey )
-    {
-    HBufC8* buf = aKey.AllocLC();
-    TInt* value = iEntries.Find( buf );
-    CleanupStack::PopAndDestroy( buf );
-
-    if ( value )
-        return ETrue;
-    else
-        return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnBitmapIdCache::GetL( const TDesC8& aKey, TInt& value )
-    {
-    HBufC8* buf = aKey.AllocLC();
-    const TInt* res = iEntries.Find( buf );
-    
-    if ( res )
-        {
-        value = *res;
-        }
-
-    CleanupStack::PopAndDestroy( buf );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnBitmapIdCache* CHnBitmapIdCache::NewLC()
-    {
-    CHnBitmapIdCache* self = new (ELeave) CHnBitmapIdCache();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnBitmapIdCache* CHnBitmapIdCache::NewL()
-    {
-    CHnBitmapIdCache* self = CHnBitmapIdCache::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnBitmapIdCache::Reset()
-    {
-    THashMapIter<HBufC8*, TInt> iter( iEntries );
-    while ( HBufC8* const * ptr = iter.NextKey() )
-        {
-        TInt* value = iter.CurrentValue();
-        delete *ptr;
-        }
-    iEntries.Close();
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnBitmapIdCache::~CHnBitmapIdCache()
-    {
-    Reset();
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hncomplexcondition.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +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: 
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hncomplexcondition.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnconditionfactory.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnComplexCondition* CHnComplexCondition::NewL( TDesC8 & aElement )
-    {
-    CHnComplexCondition* self = new (ELeave) CHnComplexCondition();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnComplexCondition::CHnComplexCondition()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnComplexCondition::~CHnComplexCondition()
-    {
-    delete iRightCondition;
-    delete iLeftCondition;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnComplexCondition::CheckForOrOnTheSameLevelL( TDesC8 & aConditionString )
-    {
-    TBool ret = EFalse;
-    TLex8 lexer( aConditionString );
-    TInt lookForClosingBrace( 0 );
-    while  ( !lexer.Eos() )
-        {     
-        switch ( TUint( lexer.Get() ) )
-            {
-            case EOpeningBrace :
-                lookForClosingBrace++;
-                break;
-            case EClosingBrace :
-                lookForClosingBrace--;
-                ret = EFalse;
-                lexer.Inc( lexer.Remainder().Length() );
-                break;             
-            case ELogicalOr:
-                if (lookForClosingBrace == 0)
-                    {
-                    ret = ETrue;
-                    }
-                break;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnComplexCondition::ConstructL( TDesC8 & aElement )
-    {
-    TLex8 lexer( aElement );
-    TInt lookForClosingBrace( 0 );
-    while  ( !lexer.Eos() )
-        {     
-        TChar character = lexer.Get();
-        switch ( TUint( character ) )
-            {
-            case EOpeningBrace :
-                lookForClosingBrace++;
-                break;
-            case EClosingBrace :
-                lookForClosingBrace--;
-                User::LeaveIfError( lookForClosingBrace );
-                break;
-            case ELogicalAnd:
-                {
-                TPtrC8 remainder = lexer.Remainder();
-                if ( CheckForOrOnTheSameLevelL( remainder ) )
-                    {
-                    break;
-                    }
-                }
-            case ELogicalOr:
-                if (lookForClosingBrace == 0)
-                    {
-                    iOperation = (TOperator) TUint(character);
-                    TPtrC8 rightSide = lexer.Remainder();
-                    iRightCondition = HnConditionFactory::NewL( rightSide );
-                    lexer.UnGet();
-                    TPtrC8 leftSide = lexer.MarkedToken();
-                    iLeftCondition = HnConditionFactory::NewL( leftSide );
-                    lexer.Inc( lexer.Remainder().Length() );
-                    }
-                break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnComplexCondition::ResultL( const CLiwGenericParamList& aQueryResults, 
-                                                                TInt aPos )
-    {
-    TBool ret = false;
-    
-    if ( iOperation == ELogicalAnd )
-        {
-        ret = iLeftCondition->ResultL(aQueryResults, aPos) && 
-            iRightCondition->ResultL(aQueryResults, aPos);
-        }
-    else if ( iOperation == ELogicalOr )
-        {
-        ret = iLeftCondition->ResultL(aQueryResults, aPos) || 
-            iRightCondition->ResultL(aQueryResults, aPos);
-        }
-    else
-        {
-        User::Leave(KErrNotFound);
-        }
-    
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnconditionfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +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: 
-*
-*/
-
-
-#include "hnconditionfactory.h"
-#include "hnsimplecondition.h"
-#include "hncomplexcondition.h"
-#include "hnglobals.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::NewL( TXmlEngAttr aElement )
-    {
-    CHnConditionInterface* self = HnConditionFactory::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::NewLC( TXmlEngAttr aElement )
-    {
-    TPtrC8 condition = aElement.Value();
-    CHnConditionInterface* self = ConstructConditionL( condition );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::NewL( TDesC8 & aElement )
-    {
-    CHnConditionInterface* self = HnConditionFactory::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::NewLC( TDesC8 & aElement )
-    {
-    CHnConditionInterface* self = HnConditionFactory::ConstructConditionL( aElement );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void HnConditionFactory::TrimConditionL( RBuf8 & aConditionString )
-    {
-    TBool ret;
-    do
-        {
-        ret = EFalse;
-        aConditionString.TrimAll();
-        TInt conditionLastIndex = aConditionString.Length()-1;
-        if (aConditionString[0] == EOpeningBrace 
-                && aConditionString[conditionLastIndex] == EClosingBrace )
-            {
-            aConditionString[0] = ESpace;
-            aConditionString[conditionLastIndex] = ESpace;
-            
-            ret = ETrue;
-            
-            if ( CheckBraceIntegrityL( aConditionString ) )
-                {
-                aConditionString[0] = EOpeningBrace;
-                aConditionString[conditionLastIndex] = EClosingBrace;
-                ret = EFalse;
-                }
-            }
-        }
-    while (ret);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HnConditionFactory::CheckBraceIntegrityL( TDesC8 & aConditionString )
-    {
-    TInt ret(KErrNone);
-    TLex8 lexer( aConditionString );
-    TInt lookForClosingBrace( 0 );
-    while  ( !lexer.Eos() )
-        {
-        switch ( TUint( lexer.Get() ) )
-            {
-            case EOpeningBrace :
-                lookForClosingBrace++;
-                break;
-            case EClosingBrace :
-                lookForClosingBrace--;
-                if (lookForClosingBrace < 0)
-                    {
-                    ret = KErrGeneral;
-                    lexer.Inc( lexer.Remainder().Length() );
-                    }
-                break;             
-            }
-        }
-    
-    if (lookForClosingBrace > 0)
-        {
-        ret = KErrGeneral;
-        }
-    
-    return ret;  
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::ConstructConditionL(
-        TDesC8 & aConditionString )
-    {
-    RBuf8 condition;
-    CleanupClosePushL( condition );
-    condition.CreateL( aConditionString );
-    HnConditionFactory::TrimConditionL( condition );
-    User::LeaveIfError( HnConditionFactory::CheckBraceIntegrityL(condition) );
-    
-    CHnConditionInterface* ret = NULL;
-    
-    if ( aConditionString.Find( HnLogicalRelations::KLogicalAnd8 ) == KErrNotFound
-         && aConditionString.Find( HnLogicalRelations::KLogicalOr8 ) == KErrNotFound )
-        {
-        ret =  CHnSimpleCondition::NewL( condition );
-        }
-    else
-        {
-        ret = CHnComplexCondition::NewL( condition );
-        }
-    
-    CleanupStack::PopAndDestroy( &condition );
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnfilter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +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:  
-*
-*/
-
-
-#include "hnfilter.h"
-#include "hnitemid.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnFilter::ConstructL( )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnFilter* CHnFilter::NewL( )
-    {
-    CHnFilter* self = CHnFilter::NewLC( );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnFilter* CHnFilter::NewLC( )
-    {
-    CHnFilter* self = new( ELeave ) CHnFilter();
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnFilter::CHnFilter()
-    {
-    iEvaluateSuite = ETrue;
-    iSuiteId = KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnFilter::~CHnFilter()
-    {
-    ResetSuiteName();
-    ResetItemIds();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CHnFilter::SetEvaluateSuiteL( TBool aEvaluate )
-    {
-    iEvaluateSuite = aEvaluate;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TBool CHnFilter::IsEvaluateSuite()
-    {
-    return iEvaluateSuite;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
- const TDesC& CHnFilter::SuiteName() const
-    {
-    return iGenre;
-    }
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnFilter::HasItemIds() const
-    {
-    return iItemIds.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnFilter::ResetIterator()
-    {
-    iIter = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const CHnItemId* CHnFilter::GetNextItemId() const
-    {
-    ASSERT( iIter < iItemIds.Count() );
-    return iItemIds[ iIter++ ];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnFilter::HasNextItemId()
-    {
-    return ( iIter < iItemIds.Count() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnFilter::ResetSuiteName()
-    {
-    iGenre.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnFilter::ResetItemIds()
-    {
-    iItemIds.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnFilter::SetSuiteNameL( const TDesC& aGenre )
-    {
-    ResetSuiteName();
-    iGenre.CreateL( aGenre );
-    iGenre.LowerCase();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnFilter::AppendItemIdL( CHnItemId* iItemId )
-    {
-    iItemIds.AppendL( iItemId ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnFilter::HasSuiteName() const
-    {
-    return iGenre.Length();
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnFilter::SetSuiteId( const TInt aSuiteId )
-    {
-    iSuiteId = aSuiteId;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnFilter::SuiteId() const
-    {
-    return iSuiteId;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnFilter::HasSuiteId() const
-    {
-    return (iSuiteId == KErrNotFound) ? EFalse : ETrue;
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnitemid.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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: 
-*
-*/
-
-
-#include "hnitemid.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnItemId::ConstructL( const TDesC& aFile,
-    const TDesC& aID )
-    {
-    iSuiteName.CreateL( aFile );
-    iSuiteName.LowerCase();
-    iId.CreateL( aID );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemId::UpdateL(const CHnItemId & aItemId )
-    {
-    iSuiteName.Close();
-    iId.Close();
-    
-    iSuiteName.CreateL( aItemId.SuiteName() );
-    iSuiteName.LowerCase();
-    iId.CreateL( aItemId.Id() );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemId* CHnItemId::NewL( const TDesC& aFile,
-    const TDesC& aID )
-    {
-    CHnItemId* self = CHnItemId::NewLC( aFile, aID );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemId* CHnItemId::NewLC(const TDesC& aFile,
-    const TDesC& aID )
-    {
-    CHnItemId* self = new( ELeave ) CHnItemId();
-    CleanupStack::PushL( self );
-    self->ConstructL( aFile, aID );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnItemId::CHnItemId()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnItemId::~CHnItemId()
-    {
-    iSuiteName.Close();
-    iId.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnItemId::SuiteName() const
-    {
-    return iSuiteName;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnItemId::Id() const
-    {
-    return iId;
-    }
-
- // ---------------------------------------------------------------------------
- //
- // ---------------------------------------------------------------------------
- //
-EXPORT_C TBool CHnItemId::Compare( const CHnItemId& aFilter ) const
-     {
-     TBool result( EFalse );
-     if( !iSuiteName.Compare( aFilter.SuiteName() ) &&
-         !iId.Compare( aFilter.Id() ) )
-         {
-         result = ETrue;
-         }
-     return result;
-     }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdaction.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +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:  action model
-*
-*/
-
-
-#include <liwcommon.h>
-
-#include "hnmdaction.h"
-#include "hnmdkeyfactory.h"
-#include "hnmdbasekey.h"
-#include "hnconditionfactory.h"
-#include "hnmdservicecommand.h"
-#include "hnactionmodel.h"
-#include "hnmdservice.h"
-#include "hnconditioninterface.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdAction::ConstructL( TXmlEngElement aElement )
-    {
-    ASSERT( aElement.Name() == KActionElementName8 );
-
-    iService = CHnMdService::NewL( aElement );
-    
-    if( aElement.AttributeValueL( KMenuConditionAttrName8 ).Length() )
-        {
-        SetConditionL( aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdAction* CHnMdAction::NewL( TXmlEngElement aElement )
-    {
-    CHnMdAction* self = CHnMdAction::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdAction* CHnMdAction::NewLC( TXmlEngElement aElement )
-    {
-    CHnMdAction* self = new( ELeave ) CHnMdAction;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdAction::CHnMdAction()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdAction::~CHnMdAction()
-    {
-    delete iService;
-    delete iCondition; 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdAction::SetConditionL( TXmlEngAttr aAttr )
-    {
-    iCondition = HnConditionFactory::NewL( aAttr );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdAction::EvaluateL( CHnActionModel* aActionModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos)
-    {
-    TInt ret( KErrNone );
-    
-    aActionModel->SetServiceL( iService->GetServiceName() );
-    aActionModel->SetInterfaceL( iService->GetInterfaceName() );
-    aActionModel->SetCommandNameL( iService->GetCommand().GetCommandName() );
-    aActionModel->SetServiceModeL( iService->GetCommand().GetCommandMode() );
-    aActionModel->SetConstructorL( 
-            iService->EvaluateConstructorAsKeyL( aQueriesResultsList, aPos ) );
-    aActionModel->SetCommand( 
-            iService->EvaluateCommandAsKeyL( aQueriesResultsList, aPos ) );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdAction::IsValidL( const CLiwGenericParamList& aQueryResults, 
-        TInt aPos )    
-    {
-    TBool ret( EFalse );
-    if( !iCondition || iCondition->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdbutton.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +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:   
-*
-*/
-
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include <xmlengelement.h> 
-#include <gulicon.h>
-#include <xmlengnodelist.h>
-#include <liwcommon.h>
-
-#include "hnmdbutton.h"
-#include "hnmdkeyfactory.h"
-#include "hnconditioninterface.h"
-#include "hnconditionfactory.h"
-#include "hnmdvalueimage.h"
-#include "hnmdvaluetext.h"
-#include "hnglobals.h"
-#include "hnattributebase.h"
-#include "hnattributeimage.h"
-#include "hnattributebase.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdButton* CHnMdButton::NewLC( TXmlEngElement aElement,
-                                            THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdButton* self = new( ELeave ) CHnMdButton;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdButton::~CHnMdButton( )
-    {
-    delete iButtonText;
-    delete iConditionDimm;
-    delete iConditionAdd;
-    delete iIcon;
-    }
-       
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdButton::ValidateToAddL( const CLiwGenericParamList& aQueryResults, 
-                                            TInt aPos )
-    {
-    TBool ret( EFalse );
-    if( !iConditionAdd || iConditionAdd->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdButton::ValidateToDimmL( 
-        const CLiwGenericParamList& aQueryResults, TInt aPos )
-    {
-    TBool ret( EFalse );
-    if( iConditionDimm )
-        {
-        ret = iConditionDimm->ResultL( aQueryResults, aPos );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//       
-TInt CHnMdButton::GetEventId() const
-    {
-    return iEventId;
-    }    
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//       
-TInt CHnMdButton::GetIndex() const
-    {
-    return iIndex;
-    }    
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//       
-const TPtrC CHnMdButton::EvaluateButtonTextL(
-        const CLiwGenericParamList& aQueryResults, TInt aPos )
-    {
-    if( !iButtonText )
-        {
-        return KNullDesC();
-        }
-    
-    TPtrC value;
-    iButtonText->GetL( &aQueryResults, aPos, value );
-    return value;
-    }
-       
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttributeBase* CHnMdButton::EvaluateIconL( 
-        const CLiwGenericParamList& aQueriesResultsList , TInt aPos ) const
-    {
-    //CGulIcon* icon = NULL;
-    CHnAttributeBase* iconAttribute = NULL;
-    if( iIcon )
-        {
-        iconAttribute =
-            iIcon->CreateAttributeL( &aQueriesResultsList, aPos );
-        }
-    return iconAttribute;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdButton::CHnMdButton() : iIndex( KErrNone )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdButton::ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs )
-    {
-    // index
-    if( aElement.HasAttributeL( KIndexAttrName8 ) )
-        {
-        TPtrC8 index = aElement.AttributeValueL( KIndexAttrName8 );
-        TLex8 lexIndex( index );
-        User::LeaveIfError( lexIndex.Val( iIndex ) );
-        }
-
-    // event
-    if( aElement.HasAttributeL( KEventAttrName8 ) )
-        { 
-        TPtrC8 event = aElement.AttributeValueL( KEventAttrName8 );
-        TLex8 lex( event );
-        User::LeaveIfError( lex.Val( iEventId ) );
-        }
-        
-    // condition
-    if( aElement.HasAttributeL( KMenuConditionAttrName8 ) )
-        {
-        iConditionAdd = HnConditionFactory::NewL(  
-                aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-    
-    // dimmed
-    if( aElement.HasAttributeL( KMenuDimmAttrName8 ) )
-        {
-        iConditionDimm = HnConditionFactory::NewL(  
-                aElement.AttributeNodeL( KMenuDimmAttrName8 ) );
-        }
-    
-    // help text
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL( children );
-    aElement.GetChildElements( children );
-    TInt count = children.Count();
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TXmlEngElement child = children.Next();
-        if ( !child.Name().Compare( KTextElementItem8 ) )
-            {
-            iButtonText = CHnMdValueText::NewL( child, aCmnPtrs );
-            }
-        else if( !child.Name().Compare( KImageElementItem8 ) )
-            {
-            iIcon = CHnMdValueImage::NewL( child, aCmnPtrs );
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &children );
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdevent.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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:  
-*
-*/
-
-
-#include "hnmdevent.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdEvent::Id() const
-    {
-    return iId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEvent::SetId( TInt aId )
-    {
-    iId = aId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEvent* CHnMdEvent::NewL( const TInt aId )
-    {
-    CHnMdEvent* self = CHnMdEvent::NewLC( aId );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdEvent* CHnMdEvent::NewLC( const TInt aId )
-    {
-    CHnMdEvent* self = new( ELeave ) CHnMdEvent;
-    CleanupStack::PushL( self );
-    self->ConstructL( aId );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEvent::ConstructL( const TInt aId )
-    {
-    SetId( aId );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEvent::CHnMdEvent()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEvent::~CHnMdEvent()
-    {
-
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdeventmapping.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +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:  
-*
-*/
-
-
-#include "hnmdeventmapping.h"
-#include "hnmdeventmappingelement.h"
-#include "hnmdevent.h"
-#include "hneventhandler.h"
-#include "hnsuitemodel.h"
-#include "hnitemmodel.h"
-#include "hnmdaction.h"
-#include "hnactionmodel.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CHnMdAction> CHnMdEventMapping::GetActionsForEventId(
-    TInt aEventId )
-    {
-    RPointerArray<CHnMdAction> emptyActions;
-    CHnMdEventMappingElement* eventMappingElement = NULL;
-    TBool eventIdFound( EFalse );
-
-    TInt mappingCount( Count() );
-
-    for ( TInt i = 0; i < mappingCount; i++ )
-        {
-        CHnMdEventMappingElement* eme = iMappings[i];
-
-        RPointerArray<CHnMdEvent> events = eme->Events();
-
-        TInt actionsCount = events.Count();
-
-        for ( TInt j = 0; j < actionsCount; j++ )
-            {
-            CHnMdEvent* event = events[ j ];
-
-            if (event->Id() == aEventId )
-                {
-                eventIdFound = ETrue;
-                break;
-                }
-            }
-        if ( eventIdFound )
-            {
-            eventMappingElement = eme;
-            break;
-            }
-        }
-
-    if ( eventIdFound )
-        return eventMappingElement->Actions();
-    else
-        return emptyActions;  
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMapping::ConstructL( TXmlEngElement aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    // construction...
-    iCmnPtrs = aCmnPtrs;
-    
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL(children);
-
-    aElement.GetChildElements(children);
-    TInt amount = children.Count();
-
-    for (TInt i(0);i<amount;i++)
-        {
-        TXmlEngElement child = children.Next();
-        if ( !child.Name().Compare( KEventElementName8 ) )
-            {
-            CHnMdEventMappingElement* eme =
-                CHnMdEventMappingElement::NewL( child );
-            CleanupStack::PushL( eme );
-            iMappings.AppendL( eme );
-            CleanupStack::Pop( eme );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMapping* CHnMdEventMapping::NewL( TXmlEngElement aElement, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdEventMapping* self = CHnMdEventMapping::NewLC( aElement,
-        aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdEventMapping::Count() const
-    {
-    return iMappings.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMapping* CHnMdEventMapping::NewLC( TXmlEngElement aElement, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdEventMapping* self = new( ELeave ) CHnMdEventMapping;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMapping::CHnMdEventMapping()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMapping::~CHnMdEventMapping()
-    {
-    iMappings.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMapping::AddActionL( 
-        RHashMap<TInt,CArrayPtr<CHnActionModel> *> & aActions, 
-        CHnActionModel *& aActionModel, TInt aEventId )
-    {
-    CArrayPtr<CHnActionModel>** actionsContainer = aActions.Find( aEventId );
-    if ( !actionsContainer )
-        {
-        CArrayPtr<CHnActionModel>* newActionsContainer = new( 
-            ELeave ) CArrayPtrFlat<CHnActionModel>( KDefaultGranularity );
-        CleanupStack::PushL( newActionsContainer );
-        aActions.InsertL( aEventId, newActionsContainer );
-        actionsContainer = &newActionsContainer;
-        CleanupStack::Pop( newActionsContainer );
-        }
-    ( *actionsContainer )->AppendL( aActionModel );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMapping::FillActionsL( 
-        RHashMap< TInt, CArrayPtr<CHnActionModel>* >& aActions,
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    RArray< TInt > eventIds;
-    CleanupClosePushL( eventIds );
-    GetEventIdsL( eventIds );
-    
-    for ( TInt i( 0 ); i < eventIds.Count(); i++ )
-        {
-        RPointerArray< CHnMdAction > actions = GetActionsForEventId( 
-                eventIds[ i ] );
-        for ( TInt j( 0 ); j < actions.Count(); j++ )
-            {
-            if ( !actions[ j ] || !actions[ j ]->IsValidL( 
-                    aQueriesResultsList, aPos ) )
-                {
-                continue;
-                }
-            CHnActionModel* actionModel = CHnActionModel::NewL();
-            CleanupStack::PushL( actionModel );
-            actions[ j ]->EvaluateL( actionModel, aQueriesResultsList, aPos );
-            AddActionL( aActions, actionModel, eventIds[ i ] );
-            CleanupStack::Pop( actionModel );
-            }
-        }
-    CleanupStack::PopAndDestroy( &eventIds );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMapping::GetEventIdsL( RArray< TInt >& aIds ) const
-    {
-    TInt mappingCount = Count();
-        
-    for( TInt i = 0; i < mappingCount; i++ )
-        {
-        CHnMdEventMappingElement* eme = iMappings[ i ];
-        const RPointerArray< CHnMdEvent >& events = eme->Events();
-        TInt eventsCount = events.Count();
-        for ( TInt j = 0; j < eventsCount; j++ )
-            {
-            CHnMdEvent* event = events[ j ];
-            aIds.AppendL( event->Id() );
-            }
-        }
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdeventmappingelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +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:  
-*
-*/
-
-
-#include "hnmdeventmappingelement.h"
-#include "hnmdaction.h"
-#include "hnmdevent.h"
-#include "hnconvutils.h"
-#include "hnglobals.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMappingElement::ConstructL( TXmlEngElement aElement )
-    {
-    TPtrC8 n = aElement.Name();
-    
-    //ASSERT( aElement.Name() == KEventElementName8 );
-    //ASSERT( aElement.Prefix() == KNameSpacePrefix8 );
-    ASSERT( aElement.HasAttributeL( KEventAttrName8 ) );
-    ASSERT( aElement.HasChildNodes() );
-
-    SetEventsL( aElement );
-    SetActionsL( aElement );
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-RPointerArray<CHnMdAction>& CHnMdEventMappingElement::Actions()
-    {
-    return iActions;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const RPointerArray<CHnMdEvent>& CHnMdEventMappingElement::Events() const
-    {
-    return iEvents;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMappingElement::SetActionsL( TXmlEngElement aElement )
-    {
-    // retrieve action
-    RXmlEngNodeList< TXmlEngElement > actions;
-    CleanupClosePushL( actions );
-    aElement.GetChildElements( actions );
-    TInt count = actions.Count();
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        TXmlEngElement element = actions.Next();
-        if(!element.Name().Compare( KActionElementName8 ) )
-            {
-            CHnMdAction* action = CHnMdAction::NewL( element );
-            CleanupStack::PushL( action );
-            iActions.AppendL( action );
-            CleanupStack::Pop( action );
-            }
-        }
-    CleanupStack::PopAndDestroy( &actions );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMappingElement::SetEventsL( TXmlEngElement aElement )
-    {
-    // parsing events
-    TPtrC8 events(aElement.AttributeValueL( KEventAttrName8 ));
-    
-    TLex8 lex( events );
-    TChar ch;
-    
-    TInt length( events.Length() );
-    TInt cnt = 0;
-    while( ch = lex.Get() != 0 )
-        {
-        cnt++;
-        while ( ( ch = lex.Peek() ) != '|' && cnt < length)
-            {
-            lex.Inc();
-            cnt++;
-            }
-
-        // retrieve event id
-        RBuf8 eventId;
-        eventId.CreateL( lex.MarkedToken() );
-        
-        TLex8 lexEventId( eventId );
-        TInt id = -1;
-        lexEventId.Val( id );
-
-        CHnMdEvent *event = CHnMdEvent::NewL( 
-                id );
-
-        AddEventL( event );
-        eventId.Close();
-
-        lex.Inc();
-        cnt++;
-        lex.Mark();
-        if (cnt >= length)
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Takes ownership of an event!
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMappingElement::AddEventL( CHnMdEvent* aEvent )
-{
-    iEvents.AppendL( aEvent );
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMappingElement* CHnMdEventMappingElement::NewL( 
-                                    TXmlEngElement aElement )
-    {
-    CHnMdEventMappingElement* self = 
-            CHnMdEventMappingElement::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMappingElement* CHnMdEventMappingElement::NewLC( 
-                                    TXmlEngElement aElement )
-    {
-    CHnMdEventMappingElement* self = new( ELeave ) CHnMdEventMappingElement;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMappingElement::CHnMdEventMappingElement()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMappingElement::~CHnMdEventMappingElement()
-    {
-    iEvents.ResetAndDestroy();
-    iActions.ResetAndDestroy();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmditem.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1078 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include "hnmdquery.h"
-#include "hnmdqueries.h"
-#include "hnconditioninterface.h"
-#include "hnmdmenuitem.h"
-#include "hnbuttonmodel.h"
-#include "hnmdbutton.h"
-#include "hnmdeventmapping.h"
-#include "hnmduimapping.h"
-#include "hnitemid.h"
-#include "hnmdlocalization.h"
-#include "hnmdsuite.h"
-#include "hnxmlmodelprovider.h"
-#include "hnmdaction.h"
-#include "hnfilter.h"
-#include "hnmdtoolbar.h"
-#include "hnmdnotifyrequests.h"
-#include "hnmditem.h"
-#include "hninterface.h"
-#include "hnconditionfactory.h"
-#include "hnattributetext.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnmenuitemmodel.h"
-#include "hnitemsorder.h"
-#include "hnactionmodel.h"
-#include "hnitemmodel.h"
-#include "hntoolbarmodel.h"
-#include "hnconvutils.h"
-#include "hnutils.h"
-#include "hnmdbasekey.h"
-#include "hnmdservicecommand.h"
-#include "hnliwutils.h"
-#include "hnstringhandler.h"
-#include "hnglobals.h"
-#include "menudebug.h"
-
-using namespace LIW;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::ConstructL(TXmlEngElement aElement,
-                                THnMdCommonPointers* aCmnPtrs)
-    {
-    ASSERT( !aElement.Name().Compare( KItemElementName8 ) 
-            || !aElement.Name().Compare( KEditModeItem8 ) );
-
-    iCmnPtrs = aCmnPtrs;
-    
-    // set count
-    SetCountL( aElement );
-
-    // set template
-    SetTemplateL( aElement.AttributeNodeL( KTemplateAttrName8 ) );
-
-    // set condition
-    if( aElement.AttributeValueL( KMenuConditionAttrName8 ).Length() )
-        {
-        iCondition = HnConditionFactory::NewL( 
-                aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-
-    //set item id
-    SetItemIdL( aElement );
-
-    // sets the alternative layout for edit mode
-    SetEditModeItemL( aElement );
-    
-    // sets move_locked and delete_locked attributes
-    SetAttributesL( aElement );
-    
-    // sets type of the item
-    SetTypeL( aElement );
-    
-    // sets uid of the item
-    SetUidL( aElement );
-    
-    // sets custom id
-    SetCustomIdL( aElement );
-    
-    // sets msk
-    SetMiddleSoftKeyL( aElement, aCmnPtrs );
-    
-    //set queries
-    iQueries = CHnMdQueries::NewL( aElement );
-
-    //set notify requests
-    iNotifyRequests = CHnMdNotifyRequests::NewL( aElement, *iItemId, 
-            iCmnPtrs );
-    
-    //set event mapping
-    iEventMapping = CHnMdEventMapping::NewL( aElement, iCmnPtrs );
-
-    //set ui mapping
-    iUiMapping = CHnMdUiMapping::NewL( aElement, iCmnPtrs );
-
-    //set menu items
-    iMenu = CHnMdMenuItem::NewL( aElement, iCmnPtrs );
-
-    //set toolabr element
-    iToolbar = CHnMdToolbar::NewL( aElement, iCmnPtrs );
-         
-    iQueriesResultsList = CLiwGenericParamList::NewL();
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetAlternativeModeItem(CHnMdItem* aAlternativeModeItem)
-    {
-    iAlternativeModeItem = aAlternativeModeItem;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem* CHnMdItem::TakeAlternativeModeItem()
-    {
-    CHnMdItem * ret = iAlternativeModeItem;
-    iAlternativeModeItem = NULL;
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdItem::HasAlternativeModeItem() const
-    {
-    return (iAlternativeModeItem != NULL) ? ETrue : EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetEditModeItemL( TXmlEngElement aElement )
-    {
-    RXmlEngNodeList< TXmlEngElement> children;
-    CleanupClosePushL ( children );
-    aElement.GetChildElements ( children );
-
-    TInt count = children.Count();
-    for (TInt j = 0; j < count ; j++ )
-        {
-        TXmlEngElement item = children.Next();
-             
-        if ( !item.Name().Compare( KEditModeItem8 ) )
-            {
-            iAlternativeModeItem = CHnMdItem::NewL( item, iCmnPtrs );
-            iAlternativeModeItem->iItemId->UpdateL( *iItemId );
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy ( &children );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem* CHnMdItem::NewL(TXmlEngElement aElement,
-                                        THnMdCommonPointers* aCmnPtrs)
-    {
-    CHnMdItem* self = CHnMdItem::NewLC(aElement, aCmnPtrs);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem* CHnMdItem::NewLC(TXmlEngElement aElement,
-                                         THnMdCommonPointers* aCmnPtrs)
-    {
-    CHnMdItem* self = new( ELeave ) CHnMdItem;
-    CleanupStack::PushL( self );
-    self->ConstructL(aElement, aCmnPtrs);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem::CHnMdItem() : iAlternativeModeItem(NULL), iAllowableTemplate(NULL)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem::~CHnMdItem()
-    {
-    if ( iNotifyRequests )
-        {
-        CLiwGenericParamList* empty = NULL;
-        TRAP_IGNORE( iNotifyRequests->SendAllRequestsL( *empty, KLiwOptCancel ) );
-        }
-
-    delete iNotifyRequests;
-    delete iAlternativeModeItem;
-    delete iAllowableTemplate;
-    iTemplate.Close();
-    delete iMenu;
-    delete iQueries;
-    delete iEventMapping;
-    delete iUiMapping;
-    delete iItemId;
-    delete iToolbar;
-    iRemoveLocked8.Close();
-    iRunning8.Close();
-    iDrmProtection8.Close();
-    iMoveLocked8.Close();
-    iType8.Close();
-    iUid8.Close();
-    iCustomId8.Close();
-    iCount8.Close();
-    delete iQueriesResultsList;
-    delete iQc;
-    delete iCondition;
-    delete iMsk;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::EvaluateItemItselfL(CHnSuiteModel & aSuiteModel,
-        CLiwGenericParamList& aParams, TInt aItemPosition )
-    {
-    
-    DEBUG16(("_MM_: CHnMdItem::EvaluateItemL IN"));
-    iSuiteModel = &aSuiteModel;
-   
-    if ( !iNotifyRequests->Sent() )
-    	{
-    	iNotifyRequests->SendAllRequestsL( aParams );
-    	}
-    
-    iItemPosition = aItemPosition;
-    
-    //allocate memory for new results
-    iQueriesResultsList->Reset();
-    iQueriesResultsList->AppendL( aParams );
-
-    //delete old query collector and create new one
-    //currently running evaluations will be cancelled
-    delete iQc;
-    iQc = NULL;
-    iQc = CHnQueryResultCollector::NewL( *iQueries , aParams );
-    iQc->StartAsynchL( this );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::AddItemL( CHnSuiteModel& aSuiteModel, TInt aItemId, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aItemModelNumber, 
-        TInt aItemPos )
-	{
-	TInt err( KErrNone );
-	CHnItemModel* itemModel = CHnItemModel::NewL();
-	CleanupStack::PushL( itemModel );
-	
-	TBool result = FillItemModelL( itemModel, aQueriesResultsList, aItemPos );
-	
-	if ( result )
-		{
-		if ( !itemModel->GetTemplate().Compare( KTemplateEmpty8 ) )
-			{
-			CHnItemModel* empty = aSuiteModel.GetItemModel( aSuiteModel.IdByIndex( -1 ) );
-			// empty has been already added
-			if ( empty )
-				{
-				err = KErrAlreadyExists;
-				}
-			}
-		}
-	else
-		{
-		err = KErrGeneral;
-		}
-	
-	if( KErrNone == err )
-		{
-		aSuiteModel.AddItemL( aItemId, itemModel, aItemModelNumber, aItemPos );
-		CleanupStack::Pop( itemModel );
-	    }
-	else
-		{
-		CleanupStack::PopAndDestroy( itemModel );
-		itemModel = NULL;
-		}
-	return err;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::UpdateItemL( CHnSuiteModel & aSuiteModel, TInt aItemId,
-		const CLiwGenericParamList& aQueriesResultsList, TInt aItemPos )
-	{
-	TBool result = ETrue;
-	CHnItemModel* itemModel = aSuiteModel.GetItemModel( aItemId );
-	itemModel->ClearAttributesL();
-	result = FillItemModelL( itemModel, aQueriesResultsList, aItemPos );
-	if( result )
-		{
-		aSuiteModel.UpdateItemTemplateL( aItemId );
-		}  
-	return result ? KErrNone : KErrGeneral;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::RemoveItemL( CHnSuiteModel & aSuiteModel, TInt aId )
-	{
-	//TInt id = iIds[ aPosition ];
-	//iIds.Remove( aPosition );
-	aSuiteModel.RemoveItemL( aId );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::EvaluateItemL( CHnSuiteModel & aSuiteModel,
-                               CLiwGenericParamList& aParamList, 
-                               TInt aItemPosition )
-    {
-    if( iEvaluationNeeded  )
-        {
-        EvaluateItemItselfL( aSuiteModel, aParamList, aItemPosition );
-        iEvaluationNeeded = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::MarkEvaluationL( CHnFilter& aFilter )
-    {
-    if( aFilter.HasItemIds() )
-        {
-        aFilter.ResetIterator();
-        while( aFilter.HasNextItemId() && !iEvaluationNeeded )
-            {
-            const CHnItemId* item = aFilter.GetNextItemId();
-            if( iItemId->Compare( *item ) )
-                {
-                iEvaluationNeeded = ETrue;
-                }
-            }
-        }
-     else
-        {
-        iEvaluationNeeded = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::EvaluateItemL( CHnSuiteModel & aSuiteModel,
-        const CHnItemId* aItemId, CLiwGenericParamList& aParamList, 
-        TInt aItemPosition )
-    {
-    DEBUG(("_MM_: CHnMdItem::EvaluateItemL IN")); //TO CHANGE LATER (id : %S)", iItemId->Id()));
-    TInt result( KErrNotFound ); 
-    if( iItemId->Compare( *aItemId ) )
-        {
-        EvaluateItemItselfL( aSuiteModel, aParamList, aItemPosition );
-        result = KErrNone;
-        }
-    DEBUG(("_MM_: CHnMdItem::EvaluateItemL OUT"));
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::GetIndexValuesFromOutputsL( RPointerArray < HBufC8 > &aValues,
-        TXmlEngElement aElement )
-	{
-	RXmlEngNodeList < TXmlEngElement > children;
-	CleanupClosePushL( children );
-	aElement.GetChildElements( children );
-	TInt amount = children.Count();
-	
-	TPtrC8 n = aElement.Name();
-
-	for( TInt j( 0 ); j < amount; j++ )
-		{
-		TXmlEngElement item = children.Next();
-		
-		if ( !item.Name().Compare( KOutputElementItem8 ) )
-			{
-			if ( item.HasAttributeL( KValueAttrName8 ) &&
-				 item.AttributeValueL( KValueAttrName8 ).Find( KIndex8 ) >= 0 &&
-				 item.HasAttributeL( KAliasAttrName8 ) &&
-				!item.AttributeValueL( KAliasAttrName8 ).Compare( KTitle8 ) )
-				{
-				TInt pos = item.AttributeValueL( KValueAttrName8 ).Find( KIndexWithBrackets8 ) - 1;
-				TInt siz = KCount().Length();
-				TInt len = pos + siz;
-				TInt len0 = item.AttributeValueL( KValueAttrName8 ).Length() + KCount().Length();
-				
-				HBufC8* buf = HBufC8::NewL( len0 );
-				buf->Des().Copy( item.AttributeValueL( KValueAttrName8 ) );
-				buf->Des().Replace( pos, siz, KCount() );
-				buf->Des().SetLength( len );
-				aValues.Append( buf );
-				}
-			}
-		}
-	
-	CleanupStack::PopAndDestroy( &children );
-	return aValues.Count();
-	}
-        
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetCountL( TXmlEngElement aElement )
-    {
-    TXmlEngAttr aAttr = aElement.AttributeNodeL( KCountAttrName8 );
-    iCount8.Close();
-    iCount8.CreateL( aAttr.Value() );
-    
-    // replace "*"
-    if ( !iCount8.Compare( KStar8 ) )
-    	{
-    	RPointerArray<HBufC8> values;
-    	CleanupClosePushL( values );
-    	if( GetIndexValuesFromOutputsL( values, aElement ) > 0 )
-    	    {
-            for( TInt i = 0; i < values.Count(); i++ )
-                {
-                HBufC8* buf = values[i];
-                iCount8.Close();
-                iCount8.CreateL( buf->Length() );
-                iCount8.Copy( *buf );
-                }
-    	    }
-    	else
-    	    {
-            iCount8.Close();
-            iCount8.CreateL( KDefaultCount8().Length() );
-            iCount8.Copy( KDefaultCount8 );
-    	    }
-    	values.ResetAndDestroy();
-    	CleanupStack::PopAndDestroy( &values );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetTemplateL( TXmlEngAttr aAttr )
-    {
-    iAllowableTemplate = new ( ELeave ) CDesC8ArrayFlat( 3 );
-       
-    for (int i = 0; i < HnUtils::GetColumnTextColumnCount(aAttr.Value()); i++)
-        {
-        HBufC8* templateBuf = HnUtils::GetColumnTextLC( i, aAttr.Value() );
-        templateBuf->Des().Trim();
-        iAllowableTemplate->AppendL( *templateBuf );
-        CleanupStack::PopAndDestroy(templateBuf);
-        }
-      
-    if (iAllowableTemplate->Count() > 0 )
-        {
-        const TDesC8 & val = (*iAllowableTemplate)[0];
-        iTemplate.Close();
-        iTemplate.CreateL( val.Length() + 1 );
-        iTemplate.Copy( val );
-        }
-    else
-        iTemplate.CreateL( KNullDesC8() );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetTemplateL( CHnItemModel* aItemModel )
-    {
-    ASSERT( aItemModel );
-    CHnAttributeText* templateAttr = CHnAttributeText::NewL();
-    templateAttr->SetNameL( KTemplate8 );
-    templateAttr->SetValueL( iTemplate );
-    aItemModel->SetAttributeL( templateAttr );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetAlternativeTemplateL( TInt aOption )
-    {
-    if ( !iTemplate.Compare( KTemplateEmpty8 ) )
-        {
-        return;
-        }
-    iTemplate.Close();
-    if (aOption >=0 && aOption < iAllowableTemplate->Count())
-        {
-        const TDesC8 & val = (*iAllowableTemplate)[aOption];
-        iTemplate.CreateL( val.Length() + 1 );
-        iTemplate.Copy( val );
-        }
-    else
-        {
-        iTemplate.CreateL( KNullDesC8() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetItemIdL( TXmlEngElement aItemElement )
-    {
-    HBufC* suiteName = HnConvUtils::Str8ToStrLC(
-        aItemElement.AttributeNodeL( KSuiteElementName8 ).Value() );
-    HBufC* itemId = HnConvUtils::Str8ToStrLC(
-        aItemElement.AttributeNodeL( KItemIdAttrName8 ).Value() );
-
-    iItemId = CHnItemId::NewL( *suiteName, *itemId );
-
-    CleanupStack::PopAndDestroy( itemId );
-    CleanupStack::PopAndDestroy( suiteName );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetDeleteMoveAttributesL( CHnItemModel* aItemModel, 
-		const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-	{
-	aItemModel->ClearFlags();
-	TLiwVariant moveLocked;
-	moveLocked.PushL();
-	HnLiwUtils::GetVariantL( aQueriesResultsList, iMoveLocked8, aPos, moveLocked );
-    if ( moveLocked == TLiwVariant( (TBool) ETrue ) ) 
-    	{
-    	aItemModel->SetFlag( EItemFlagMoveLocked );
-    	}
-    CleanupStack::PopAndDestroy( &moveLocked );
-    
-    TLiwVariant deleteLocked;
-    deleteLocked.PushL();
-    HnLiwUtils::GetVariantL( aQueriesResultsList, iRemoveLocked8, aPos, deleteLocked );
-    if ( deleteLocked == TLiwVariant( (TBool) ETrue ) )
-    	{
-    	aItemModel->SetFlag( EItemFlagRemoveLocked );
-    	}
-    CleanupStack::PopAndDestroy( &deleteLocked );
-    
-    TLiwVariant running;
-    running.PushL();
-    HnLiwUtils::GetVariantL( aQueriesResultsList, iRunning8, aPos, running );
-    if ( running == TLiwVariant( (TBool) ETrue ) )
-    	{
-    	aItemModel->SetFlag( EItemFlagRunning );
-    	}
-    CleanupStack::PopAndDestroy( &running );
-    
-    TLiwVariant drm;
-    drm.PushL();
-    HnLiwUtils::GetVariantL( aQueriesResultsList, iDrmProtection8, aPos, drm );
-    TPtrC drmRights;
-    drm.Get( drmRights );
-    if ( !drmRights.Compare( KMenuDrmRightsExpired ) )
-        {
-        aItemModel->SetFlag( EItemFlagDrmExpired );
-        }
-    CleanupStack::PopAndDestroy( &drm );
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetTypeL( CHnItemModel* aItemModel, 
-		const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-	{
-	RBuf8 type;
-    CleanupClosePushL( type );
-    HnLiwUtils::GetStringL( aQueriesResultsList, iType8, aPos, type );
-    aItemModel->SetType( type );
-    CleanupStack::PopAndDestroy( &type );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetUidL( CHnItemModel* aItemModel, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    RBuf8 uid;
-    CleanupClosePushL( uid );
-    HnLiwUtils::GetStringL( aQueriesResultsList, iUid8, aPos, uid );
-    aItemModel->SetItemUidL( uid );
-    CleanupStack::PopAndDestroy( &uid );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetCustomIdL( CHnItemModel* aItemModel, 
-		const CLiwGenericParamList& aParams, TInt aPos )
-	{
-	TInt64 customId( KErrNotFound );
-	if ( KErrNone == HnLiwUtils::GetInt64L(
-			aParams, iCustomId8, aPos, customId ) )
-		{
-		aItemModel->SetCustomId( customId );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdItem::FillItemModelL( CHnItemModel* aItemModel, 
-		const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-	{
-	TBool result( EFalse );
-	
-	// set template for item
-	SetTemplateL( aItemModel );
-    
-    // set delete/move locked attributes
-	SetDeleteMoveAttributesL( aItemModel, aQueriesResultsList, aPos );
-
-    // set type of an item    
-	SetTypeL( aItemModel, aQueriesResultsList, aPos );
-	
-    // set uid of an item    
-    SetUidL( aItemModel, aQueriesResultsList, aPos );
-	
-	// set custom id
-    SetCustomIdL( aItemModel, aQueriesResultsList, aPos );
-    
-    // fills mul item	
-	TRAP_IGNORE( result = iUiMapping->FillGraphicalItemL( 
-	        aItemModel, aQueriesResultsList, aPos ) );
-	
-	if ( result )
-		{
-		// fills item model
-		FillItemModelWithMenuItemsL( aItemModel, aQueriesResultsList, aPos );
-		FillItemModelWithToolbarL( aItemModel, aQueriesResultsList, aPos );
-		FillItemModelWithMiddleSoftKeyL( aItemModel, aQueriesResultsList, 
-		        aPos );
-					
-		aItemModel->DeleteAllActionModels();
-		iEventMapping->FillActionsL( aItemModel->GetActions(), 
-		        aQueriesResultsList, aPos );
-		}
-	return result;
-    } 
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::FillItemModelWithMenuItemsL( CHnItemModel* aItemModel, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    CHnMenuItemModel* menu = CHnMenuItemModel::NewL( KMenuItemName() );
-    CleanupStack::PushL( menu );
-    iMenu->EvaluateL( menu, aQueriesResultsList, aPos );
-    aItemModel->SetMenuItemModel( menu );
-    CleanupStack::Pop( menu );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::FillItemModelWithToolbarL( CHnItemModel* aItemModel, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    CHnToolbarModel* toolbar = CHnToolbarModel::NewLC();
-    iToolbar->EvaluateL( toolbar, aQueriesResultsList, aPos );
-    aItemModel->SetToolbarModel( toolbar );
-    CleanupStack::Pop( toolbar );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::FillItemModelWithMiddleSoftKeyL( CHnItemModel* aItemModel, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    if ( iMsk )
-        {
-        CHnButtonModel* msk = CHnButtonModel::NewLC( iMsk->GetIndex() );
-    	const TDesC& helpText = iMsk->EvaluateButtonTextL( 
-                aQueriesResultsList, aPos );
-        msk->SetHelpTextL( helpText );
-        aItemModel->SetMiddleSoftKey( msk );
-        CleanupStack::Pop( msk );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdItem::IsValidL( const CLiwGenericParamList& aQueryResults, 
-                  TInt aPos )    
-    {
-    TBool ret( EFalse );
-    if( !iCondition || iCondition->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-
-TBool CHnMdItem::CompareItems( CHnItemId* aSearchCriteria )
-    {
-    return iItemId->Compare( *aSearchCriteria );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetAttributesL( TXmlEngElement aElement )
-    {
-    iMoveLocked8.Close();
-    iRemoveLocked8.Close();
-    iRunning8.Close();
-    iDrmProtection8.Close();
-    
-    if ( aElement.HasAttributeL( KMoveLocked8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KMoveLocked8 );
-    	iMoveLocked8.CreateL( av );
-    	}
-    else
-    	{
-    	iMoveLocked8.CreateL( KStringFalse8 );
-    	}
-    
-    if ( aElement.HasAttributeL( KRemoveLocked8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KRemoveLocked8 );
-    	iRemoveLocked8.CreateL( av );
-    	}
-    else
-    	{
-    	iRemoveLocked8.CreateL( KStringFalse8 );
-    	}
-    
-    if ( aElement.HasAttributeL( KRunning8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KRunning8 );
-    	iRunning8.CreateL( av );
-    	}
-    else
-    	{
-    	iRunning8.CreateL( KStringFalse8 );
-    	}
-    
-    if ( aElement.HasAttributeL( KDrmProtection8 ) )
-        {
-        TPtrC8 av = aElement.AttributeValueL( KDrmProtection8 );
-        iDrmProtection8.CreateL( av );
-        }
-    else
-        {
-        iDrmProtection8.CreateL( KMenuDrmUnknown8 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetTypeL( TXmlEngElement aElement )
-    {
-    iType8.Close();
-    
-    if ( aElement.HasAttributeL( KItemType8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KItemType8 );
-    	iType8.CreateL( av );
-    	}
-    else
-    	{
-    	iType8.CreateL( KItemTypeUnknown8 );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetUidL( TXmlEngElement aElement )
-    {
-    iUid8.Close();
-    
-    if ( aElement.HasAttributeL( KItemUid8 ) )
-        {
-        TPtrC8 av = aElement.AttributeValueL( KItemUid8 );
-        iUid8.CreateL( av );
-        }
-    else
-        {
-        iUid8.CreateL( TUid::Null().Name().Length() );
-        iUid8.Append( TUid::Null().Name() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetCustomIdL( TXmlEngElement aElement )
-    {
-    iCustomId8.Close();
-    
-    if ( aElement.HasAttributeL( KCustomId8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KCustomId8 );
-    	iCustomId8.CreateL( av );
-    	}
-    else
-    	{
-    	iCustomId8.CreateL( KItemTypeUnknown8 );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetMiddleSoftKeyL( TXmlEngElement aElement, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    RXmlEngNodeList< TXmlEngElement> children;
-    CleanupClosePushL ( children );
-    aElement.GetChildElements ( children );
-    TInt count = children.Count();
-    for (TInt i = 0; i < count; i++ )
-        {
-        TXmlEngElement item = children.Next();
-             
-        if ( !item.Name().Compare( KMiddleSoftKey8 ) )
-            {
-            iMsk = CHnMdButton::NewLC( item, aCmnPtrs );
-            CleanupStack::Pop( iMsk );
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDesC8& CHnMdItem::Template()
-	{
-	return iTemplate;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDesC8& CHnMdItem::Type()
-	{
-	return iType8;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDesC8& CHnMdItem::Uid()
-    {
-    return iUid8;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::GetItemsMaxCountL()
-    {
-    TInt ret( KErrNotFound );
-    
-    // check if iCount8 equals "*"
-    if ( !iCount8.Compare( KStar8() ) )
-    	{
-    	ret = KErrUnknown;
-    	}
-    // check if iCount8 is a number
-    else if ( HnConvUtils::Str8ToInt( iCount8, ret ) >= 0 ) 
-    	{
-    	; // ret contains a number
-    	}
-    // try to retrieve number of items from given paths
-    else
-		{
-		TInt columnsCount( HnUtils::GetColumnTextColumnCount( iCount8 ) );
-		for (int i = 0; i < columnsCount; i++)
-			{
-			HBufC8* tmpCountBuf = HnUtils::GetColumnTextLC( i, iCount8 );
-			TInt pos = tmpCountBuf->Des().Find( KCount() );
-			
-			if ( pos >= 0 )
-				{
-				tmpCountBuf->Des().Replace( pos, KCount().Length(), KNullDesC8 );
-				TLiwVariant variant;
-				variant.PushL();
-				HnLiwUtils::GetVariantL( *iQueriesResultsList, *tmpCountBuf, variant );
-
-				const CLiwList* list = variant.AsList();
-				CLiwIterable* iterable = variant.AsIterable();
-				TInt count = KErrNotFound;
-				if ( list )
-				    {
-				    count = list->Count();
-				    }
-				else if ( iterable )
-				    {
-				    count = HnLiwUtils::GetIterableItemCountL( *iterable );
-				    }
-
-				if ( count != KErrNotFound )
-					{
-					if ( ( i == 0 ) || ( ( i > 0 ) && ( count < ret )  ) )
-						{
-						ret = count;
-						}
-					}
-				CleanupStack::PopAndDestroy( &variant );
-				}
-	
-			CleanupStack::PopAndDestroy( tmpCountBuf );
-			}
-		}
-   
-    return ret; 
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::ResultsCollectedL( CLiwGenericParamList* aResults )
-    {
-    iQueriesResultsList->AppendL( *aResults );
-
-    RArray< TInt > ids;
-    CleanupClosePushL( ids );
-    iSuiteModel->GetItemsOrder()->GetIdsForL( iItemPosition, ids );
-    TInt startCount = ids.Count();
-    TInt visibleItemsBeforeEvaluation = iSuiteModel->GetItemsOrder()->Count();
-    TInt id( 0 );
-
-    TBool result = ETrue;
-    TInt itemCounter = 0;
-    
-    TInt maxCount( GetItemsMaxCountL() );
-    
-    for ( TInt i(0); result; i++, itemCounter++)
-        {
-        result = ( maxCount != KErrUnknown ) ? i < maxCount && result : result;
-        
-        if ( !result )
-            {
-            continue;
-            }
-       
-        id = (ids.Count() > 0 && i < ids.Count()) ? ids[itemCounter]
-				: KErrNotFound;
-        
-        if( id == KErrNotFound )
-        	{
-        	id = iCmnPtrs->iIdGenerator->GetNextId();
-        	TInt err = AddItemL( *iSuiteModel, id, *iQueriesResultsList,
-        	        iItemPosition, itemCounter );
-        	if ( KErrAlreadyExists == err )
-        		{
-        		// update empty item which is identified by "-1"
-        		TInt err = UpdateItemL( *iSuiteModel, iSuiteModel->IdByIndex(-1), *iQueriesResultsList, i );
-        		result = ( KErrNone == err ) ? ETrue : EFalse;
-        		}
-        	else if ( KErrNone != err )
-        		{
-        		result = EFalse;
-        		}
-        	}
-        else
-        	{
-           	TInt err = UpdateItemL( *iSuiteModel, id, *iQueriesResultsList, i );
-           	result = ( KErrNone == err ) ? ETrue : EFalse;
-        	}
-        
-        if ( !IsValidL( *iQueriesResultsList, i ) )
-            {
-            RemoveItemL( *iSuiteModel, id );
-            itemCounter--;
-            continue;
-            }
-        }
-    
-    for( TInt it(startCount - 1); it >= itemCounter -1 && it >= 0; it-- )
-    	{
-    	RemoveItemL( *iSuiteModel, ids[it] );
-    	}
-    
-    CleanupStack::PopAndDestroy( &ids );    
-    iSuiteModel->RefreshMulModelL( visibleItemsBeforeEvaluation );
-    TBool observersNotified = 
-		iSuiteModel->ItemEvaluationFinishedL( iItemPosition );
-    if ( observersNotified )
-    	{
-    	iCmnPtrs->iModel->SuiteModelReadyToShowL( iSuiteModel );
-    	}
-    
-    DEBUG(("_MM_: CHnMdItem::ResultsCollectedL OUT"));
-    }
-
-// End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalization.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,476 +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:   
-*
-*/
-
-
-#include <coemain.h>
-#include <bautils.h>
-#include <StringLoader.h>
-
-#include "hnmdlocalization.h"
-#include "hnmdlocalizationelement.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-/** Max param count */
-static const TInt KMaxParamsCount( 10 );
-const TInt KFileExtensionLength( 4 );
-
-_LIT(KLocalizationOneDes, "%U");
-_LIT(KLocalizationMoreDes, "%?U");
-_LIT(KLocalizationOneInt, "%N");
-_LIT(KLocalizationMoreInt, "%?N");
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalization::ConstructL()
-    {
-    iCoeEnv = CCoeEnv::Static();
-    ASSERT( iCoeEnv );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalization* CHnMdLocalization::NewL()
-    {
-    CHnMdLocalization* self = CHnMdLocalization::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalization* CHnMdLocalization::NewLC()
-    {
-    CHnMdLocalization* self = new( ELeave ) CHnMdLocalization;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalization::AppendLocalizationsL( TXmlEngElement aElement )
-    {
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL( children );
-    aElement.GetChildElements( children );
-
-    RPointerArray<CHnMdLocalizationElement> tempArray;
-    CleanupClosePushL( tempArray );
-    TInt count = children.Count();
-    for ( TInt i( 0 ); i < count; i++ )
-        {
-        TXmlEngElement child = children.Next();
-        
-        if ( !child.Name().Compare( KLocalizationElementName8 ) )
-            {
-            RBuf8 namespac;
-            CleanupClosePushL( namespac );
-            if ( child.HasAttributeL( KNameSpaceAttrName8 ) )
-                {
-                HnUtils::SetAttributeL( child, KNameSpaceAttrName8, namespac );
-                if ( !IsDuplicateL( namespac ) )
-                    {
-                    CHnMdLocalizationElement* element =
-                        CHnMdLocalizationElement::NewL( child );
-            
-                    AppendElementL( element ); // ownership transfered
-                    }
-                }
-            CleanupStack::PopAndDestroy( &namespac );
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &tempArray );
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const CHnMdLocalizationElement* CHnMdLocalization::ElementByNamespace(
-        const TDesC& aNamespace ) const
-    {
-    TInt count = iInternalLocalization.Count();
-    const CHnMdLocalizationElement* element = NULL;
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        const CHnMdLocalizationElement* tmp = iInternalLocalization[i];
-        if ( !tmp->Namespace().Compare( aNamespace) )
-            {
-            element = tmp;
-            break;
-            }
-        }
-    if( !element )
-        {
-        count = iDynamicLocalization.Count();
-            
-        for ( TInt i = 0; i < count; i++ )
-            {
-            const CHnMdLocalizationElement* tmp = iDynamicLocalization[i];
-            if ( !tmp->Namespace().Compare( aNamespace) )
-                {
-                element = tmp;
-                break;
-                }
-            }
-        }
-
-    return element;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalization::CHnMdLocalization()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalization::~CHnMdLocalization()
-    {
-    iDynamicLocalization.ResetAndDestroy();
-    for( TInt i( 0 ); i < iDynamicOffset.Count(); i++ )
-        {
-        iCoeEnv->DeleteResourceFile( iDynamicOffset[i] );
-        }
-    iDynamicOffset.Close();
-    
-    iInternalLocalization.ResetAndDestroy();
-    for( TInt i( 0 ); i < iInternalOffset.Count(); i++ )
-        {
-        iCoeEnv->DeleteResourceFile( iInternalOffset[i] );
-        }
-    iInternalOffset.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalization::ReloadResourceFilesL()
-    {
-    for( TInt i( 0 ); i < iDynamicLocalization.Count(); i++ )
-        {
-        iDynamicLocalization[i]->LocateLanguageFileL();
-        if( iDynamicLocalization[i]->SourcePath()  )
-            {        
-            TInt offset( 0 );
-            TRAPD( err, offset = iCoeEnv->AddResourceFileL(
-                    *(iDynamicLocalization[i]->SourcePath()) ) );
-            if ( !err )
-                {
-                iDynamicOffset.AppendL( offset );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalization::ReleaseResourceFiles()
-    {
-    iDynamicLocalization.ResetAndDestroy();
-    for( TInt i( 0 ); i < iDynamicOffset.Count(); i++ )
-        {
-        iCoeEnv->DeleteResourceFile( iDynamicOffset[i] );
-        }
-    iDynamicOffset.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CHnMdLocalization::AppendElementL( CHnMdLocalizationElement* aElement )
-    {
-    if( IsInternalL( aElement->Source() ) )
-        {
-        iInternalLocalization.AppendL( aElement );
-        if( IsResourceFile (aElement->Source()) )
-            {
-            TInt offset( 0 );
-            TRAPD( err, offset = iCoeEnv->AddResourceFileL( *(aElement->SourcePath()) ) ); 
-            if ( !err )
-                {
-                iInternalOffset.AppendL( offset );
-                }
-            }
-        }
-    else
-        {
-        iDynamicLocalization.AppendL( aElement );
-        if( IsResourceFile (aElement->Source()) )
-            {
-            TInt offset( 0 );
-            TRAPD( err, offset = iCoeEnv->AddResourceFileL( *(aElement->SourcePath()) ) ); 
-            if ( !err )
-                {
-                iDynamicOffset.AppendL( offset );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TBool CHnMdLocalization::IsDuplicateL( TDesC8& aNamespace )
-	{
-	HBufC* namespac = HnConvUtils::Str8ToStrLC( aNamespace );
-	TBool isDuplicate( IsDuplicateL( *namespac ) );
-    CleanupStack::PopAndDestroy( namespac );
-    return isDuplicate;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TBool CHnMdLocalization::IsDuplicateL( TDesC& aNamespace )
-    {
-    TBool isDuplicate( EFalse );
-    
-    if ( ElementByNamespace( aNamespace ) != NULL )
-        {
-        isDuplicate = ETrue;
-        }
-    
-    return isDuplicate;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TBool CHnMdLocalization::IsInternalL( const TDesC& aName )
-    {
-    TBool isInternal( EFalse );
-    _LIT( KDot, "." );
-    
-    TInt offset( aName.Find( KDot ) );
-    if( offset != KErrNotFound )
-        {
-        if( aName.Left( offset ).Compare( KFolderSuite ) == KErrNone )
-            {
-            isInternal = ETrue;
-            }
-        }
-    
-    return isInternal;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-TBool CHnMdLocalization::IsResourceFile( const TDesC& aFileName )
-    {
-    TInt pos = aFileName.Find( KExtension );
-    if( aFileName.Right( KFileExtensionLength ).Compare( KExtensionRsc ) )
-    	{
-        TBuf<2> tail;
-        tail.Copy(aFileName.Right(2));
-        for (TInt i = 0; i < tail.Length(); i++ )
-        	{
-            TChar c = tail[i];
-            if ( !c.IsDigit() )
-            	{
-                pos = KErrNotFound;
-                break;
-            	}
-        	}
-    	}
-    return pos == ( aFileName.Length() - KFileExtensionLength );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-HBufC* CHnMdLocalization::LoadL( const TDesC& aResourceName,
-    const CDesC16Array* aDesParams, const CArrayFix<TInt>* aIntParams )
-    {
-    TInt position = aResourceName.Locate(':');
-    HBufC* res = NULL;
-    if( position!= KErrNotFound )
-        {
-        TPtrC resourceName = aResourceName.Mid(position + 1);
-        TPtrC locName = aResourceName.Left(position);
-        
-        const CHnMdLocalizationElement* localization = 
-            ElementByNamespace( locName );
-        // if there is not namaspace defined, check may it is file in format
-        // myapp.rsc:id
-        if (!localization && !IsDuplicateL( locName ) && IsResourceFile( locName ))
-            {
-            // let's try to add namespace
-            CHnMdLocalizationElement* element = 
-                CHnMdLocalizationElement::NewL( locName, locName);
-            AppendElementL(element); // ownership transfered
-            localization =  ElementByNamespace( locName );
-            }
-        
-        if( localization && IsResourceFile( localization->Source() ) && localization->SourceExists() )
-            {
-			HBufC8* resourceName8 = HBufC8::NewLC(resourceName.Length());
-			resourceName8->Des().Copy(resourceName);
-			TInt resourceId (KErrNotFound);
-			TRAPD(err,  resourceId = 
-				const_cast<CHnMdLocalizationElement*>(localization)->FindResourceIdL(resourceName8) );
-			if ( err != KErrNone ) // maybe it was only number
-				{
-				err = HnConvUtils::Str8ToInt(*resourceName8, resourceId);
-				}
-			User::LeaveIfError(err); 
-			if ( iCoeEnv->IsResourceAvailableL( resourceId ) )
-				{
-				res = iCoeEnv->AllocReadResourceL( resourceId );
-				}
-
-			CleanupStack::PopAndDestroy( resourceName8 );
-            }
-        }
-    
-    if (!res) // it mean that we dont have localization item for it
-        {
-        res = aResourceName.AllocL();
-        }
-    if ((aDesParams && aDesParams->Count()) ||
-        (aIntParams && aIntParams->Count()))
-        {
-        CleanupStack::PushL(res);
-        HBufC* formatted = FormatTextL(*res, aDesParams, aIntParams);
-        CleanupStack::PopAndDestroy(res);
-        res = formatted;
-        }
-     
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdLocalization::FormatTextL( const TDesC& aTextToFormat,
-    const CDesC16Array* aDesParams, const CArrayFix<TInt>* aIntParams )
-    {
-    HBufC* res = aTextToFormat.AllocL();
-    TInt noParams(0);
-    
-    if (aDesParams)
-        noParams += aDesParams->Count();
-    if (aIntParams)
-        noParams += aIntParams->Count();   
-    
-    if (noParams > KMaxParamsCount)
-        User::Leave( KErrNotSupported );
-    
-    // let's check if we have descriptors to format
-    if( aDesParams && aDesParams->Count() )
-         {
-         // if we have only one we match to %U
-         if (aDesParams->Count() == 1)
-             {
-             if ( res->FindC(KLocalizationOneDes) != KErrNotFound )
-                 {
-                 TPtrC16 param = aDesParams->MdcaPoint(0);
-                 HBufC* dest = HBufC::NewL( res->Length() +
-                                            param.Length() * KMaxParamsCount );
-                 TPtr destDes(dest->Des());
-                 StringLoader::Format( destDes, *res, -1, param );
-                 delete res;
-                 res = dest;
-                 }
-             }
-         // and we match for format %(index)U
-         TBufC<3> descformat(KLocalizationMoreDes);
-         TInt desIndexUsed(0);
-         for (TInt i = 0; i < noParams && desIndexUsed < aDesParams->Count(); i++)
-             {
-             descformat.Des()[1] = '0'+ i; // replace index infromation
-             if ( res->FindC( descformat ) != KErrNotFound )
-                 {
-                 
-                 TPtrC16 param = aDesParams->MdcaPoint(desIndexUsed++);
-                 HBufC* dest = HBufC::NewL( res->Length() + 
-                                            param.Length() * KMaxParamsCount );
-                 TPtr destDes(dest->Des());
-                 StringLoader::Format( destDes, *res, i, param );
-                 delete res;
-                 res = dest;
-                 }
-             }
-         }
-    // let's check if we have numbers to format
-    if( aIntParams && aIntParams->Count() )
-          {
-          // if we have only one we match to %N
-          if (aIntParams->Count() == 1)
-              {
-              if ( res->FindC(KLocalizationOneInt) != KErrNotFound )
-                  {
-                  HBufC* dest = HBufC::NewL( res->Length() +
-                                             sizeof(TInt) * KMaxParamsCount );
-                  TPtr destDes(dest->Des());
-                  StringLoader::Format( destDes, *res, -1, aIntParams->At(0) );
-                  delete res;
-                  res = dest;
-                  }
-              }
-          // and we match for format %(index)N
-          TBufC<3> format(KLocalizationMoreInt);
-          TInt numberUsed(0);
-          for (TInt i = 0; i < noParams && numberUsed < aIntParams->Count(); i++)
-              {
-              format.Des()[1] = '0'+ i;
-              if ( res->FindC(format) != KErrNotFound )
-                  {
-                  HBufC* dest = HBufC::NewL( res->Length() +
-                                             sizeof(TInt)* KMaxParamsCount );
-                  TPtr destDes(dest->Des());
-                  StringLoader::Format( destDes, *res, i, aIntParams->At(numberUsed++) );
-                  delete res;
-                  res = dest;
-                  }
-              }
-          }
-    return res;
-    }
-
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalizationelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +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:   
-*
-*/
-
-
-#include <f32file.h>
-#include "hnmdlocalizationelement.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnutils.h"
-
-const TText8 KSPChar = ' ';
-const TText8 KNLChar = '\n';
-const TInt KWholeFileReadLimit = 1024;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TUint32 HBufC8Hash( HBufC8* const &  aBuf )
-    {
-    return DefaultHash::Des8(*aBuf);
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HBufC8Ident( HBufC8* const & aL, HBufC8* const & aR )
-    {
-    return DefaultIdentity::Des8(*aL, *aR);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::ConstructL( const TDesC& aNamespace, 
-                                           const TDesC& aSource )
-    {
-    iNamespace.CreateL( aNamespace );
-    iSource.CreateL( aSource );
-    iSource.LowerCase();
-    LocateLanguageFileL();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::ConstructL( TXmlEngElement aElement )
-    {
-    ASSERT( aElement.HasAttributeL( KNameSpaceAttrName8 ) );
-
-    SetNamespaceL( aElement.AttributeNodeL( KNameSpaceAttrName8 ) );
-    SetSourceL( aElement.AttributeNodeL( KSourceAttrName8 ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::SetNamespaceL( TXmlEngAttr aNamespace )
-    {
-    HBufC* namespac = HnConvUtils::Str8ToStrLC( aNamespace.Value() );
-    
-    iNamespace.Close();
-    iNamespace.CreateL( *namespac );
-
-    CleanupStack::PopAndDestroy( namespac );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::SetSourceL( TXmlEngAttr aSource )
-    {
-    HBufC* source = HnConvUtils::Str8ToStrLC( aSource.Value() );
-    iSource.Close();
-    iSource.CreateL( *source );
-    iSource.LowerCase();
-    LocateLanguageFileL();
-    CleanupStack::PopAndDestroy( source );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalizationElement* CHnMdLocalizationElement::NewL(
-        TXmlEngElement aElement )
-    {
-    CHnMdLocalizationElement* self = new( ELeave ) CHnMdLocalizationElement;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalizationElement* CHnMdLocalizationElement::NewL(const TDesC& aNamespace, 
-                                                         const TDesC& aSource)
-    {
-    CHnMdLocalizationElement* self = new( ELeave ) CHnMdLocalizationElement;
-    CleanupStack::PushL( self );
-    self->ConstructL( aNamespace, aSource );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalizationElement::CHnMdLocalizationElement():
-    iResourceIDs( &HBufC8Hash, &HBufC8Ident )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalizationElement::~CHnMdLocalizationElement()
-    {
-    iNamespace.Close();
-    iSource.Close();
-    delete iSourcePath;
-    THashMapIter<HBufC8*, TInt> iter( iResourceIDs );
-    while ( HBufC8* const * ptr = iter.NextKey() )
-        {       
-        delete *ptr;
-        }    
-    iResourceIDs.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdLocalizationElement::Namespace() const
-    {
-    return iNamespace;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdLocalizationElement::Source() const
-    {
-    return iSource;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdLocalizationElement::SourcePath() const
-    {
-    return iSourcePath;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdLocalizationElement::SourceExists() const
-    {
-    if ( iSourcePath )
-    	{
-        return iSourcePath->Compare(KNullDesC) != 0;
-    	}
-    else
-    	{
-    	return EFalse;
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::LocateLanguageFileL()
-	{
-	delete iSourcePath;
-    iSourcePath = NULL;
-    iSourcePath = HnUtils::LocateNearestLanguageFileLC( iSource );
-    CleanupStack::Pop( iSourcePath );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TInt& CHnMdLocalizationElement::FindResourceIdL( HBufC8* aResourceName )
-    {
-    if ( iState&EInitialized )
-        {
-        // check if we have it in cache
-        TInt* result = iResourceIDs.Find(aResourceName);
-        if (result)
-            {
-            return *result;
-            }
-        else if (iState&EWholeFileCached) // all should be in cache
-            {
-            User::Leave(KErrNotFound);
-            }
-        }
-    
-    if (!(iState&EInitialized) || iState&EUsedItemsCached )
-        {
-        // set initialized here, as we could have problem with file read
-        // i.e. file is missing, but we dont want to go here next time
-        iState |= EInitialized;
-        HBufC8* rsgContent = ReadRsgContentLC( );
-		if (rsgContent->Length() < KWholeFileReadLimit)
-			{
-			iState |= EWholeFileCached;
-			ParseRsgContentL(*rsgContent);
-			}
-		else
-			{
-			iState |= EUsedItemsCached;
-			ParseRsgContentL(*rsgContent, *aResourceName);
-			}          
-        //cleanup
-        CleanupStack::PopAndDestroy(rsgContent);   
-        }
-    
-    return iResourceIDs.FindL(aResourceName);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC8* CHnMdLocalizationElement::ReadRsgContentLC( )
-    {
-    HBufC8* result(NULL);
-    if ( iSourcePath->Compare( KNullDesC ) )
-    	{
-    	HBufC* fPath = iSourcePath->AllocLC();
-		// change extension to rsg        
-		TInt extPos = fPath->LocateReverse(KExtDelimiter);
-		fPath->Des().Replace(extPos, fPath->Length() - extPos, KRsg);
-		result = HnUtils::ReadFileLC(*fPath);
-		CleanupStack::Pop(result);
-		CleanupStack::PopAndDestroy(fPath);
-		CleanupStack::PushL(result);
-    	}
-    else
-    	{
-        result = KNullDesC8().AllocLC();   
-    	}
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::ParseRsgContentL( const TDesC8& aContent )
-    {
-    TPtrC8 content(aContent);
-    TInt posEoL(-1);
-    // iterate over each line
-    while ((posEoL = content.Locate(KNLChar)) > 0)
-        {
-        TPtrC8 line = content.Left( posEoL - 1 );        
-        TInt firstSpace  = line.Locate(KSPChar);
-        TInt lastSpace  = line.LocateReverse(KSPChar);
-        // resource name
-        TPtrC8 rname =  line.Mid(firstSpace, lastSpace - firstSpace);
-        // resource id
-        TPtrC8 rid =  line.Right( line.Length() - lastSpace - 1 );
-        // trim resource name
-        HBufC8* rnameTrimmed = rname.AllocLC();
-        rnameTrimmed->Des().Trim();                
-        // parse numer and insert to map
-        TInt id(0);
-        User::LeaveIfError( HnConvUtils::Str8ToInt(rid, id) );        
-        User::LeaveIfError( iResourceIDs.Insert(rnameTrimmed->AllocL(), id) );        
-        CleanupStack::PopAndDestroy(rnameTrimmed);
-        // start search from next line
-        content.Set(content.Mid( posEoL + 1 ));
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::ParseRsgContentL( const TDesC8& aContent, 
-                                                 const TDesC8& aResourceName )
-    {
-    TPtrC8 content(aContent);
-    
-    HBufC8* resourceName = HBufC8::NewLC( aResourceName.Length() 
-                                          + 2 /* extra spaces */  );
-    // add extra space to make sure that we find the right one    
-    resourceName->Des().Append(KSPChar);
-    resourceName->Des().Append(aResourceName);
-    resourceName->Des().Append(KSPChar);    
-    
-    TInt position = content.Find(*resourceName);
-    User::LeaveIfError(position); // we can not find resource
-    TPtrC8 contentAfterMid = content.Mid( position + 
-                                          resourceName->Length());
-
-    TInt posResId = contentAfterMid.Locate(KNLChar);
-    User::LeaveIfError(posResId); // we can not find resource
-    TPtrC8 rid = contentAfterMid.Left(posResId - 1);    
-    
-    HBufC8* ridTrimmed = rid.AllocLC();
-    ridTrimmed->Des().Trim();
-    // trim also resource name
-    resourceName->Des().Trim();
-
-    TInt id(0);
-    User::LeaveIfError( HnConvUtils::Str8ToInt( *ridTrimmed, id) );      
-    User::LeaveIfError( iResourceIDs.Insert( resourceName->AllocL(), id) );
-    // clean up
-    CleanupStack::PopAndDestroy(ridTrimmed);
-    CleanupStack::PopAndDestroy(resourceName);        
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdmenuitem.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +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:  
-*
-*/
-
-
-#include "hnmdmenuitem.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnstringhandler.h"
-#include "hnconditioninterface.h"
-#include "hnmdeventmappingelement.h"
-#include "hnmdevent.h"
-#include "hnmenuitemmodel.h"
-#include "hnconditionfactory.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdMenuItem::IsMenuItemElementName( const TDesC8& aNameToCompare )    
-    {
-    return !aNameToCompare.Compare( KMenuItemElementName8 )
-        || !aNameToCompare.Compare( KMenuItemSpecificElementName8 )
-        || !aNameToCompare.Compare( KMenuItemActionElementName8 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::AppendChildItemL( CHnMdMenuItem* aMenuItem )
-    {
-    iChildren.AppendL( aMenuItem );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::EvaluateL( CHnMenuItemModel* aMenuModel,
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    for ( TInt i( 0 ); i < iChildren.Count(); i++ )
-      {
-      CHnMdMenuItem* mdMenu = iChildren[ i ];
-      if ( mdMenu->IsValidL( aQueriesResultsList, aPos ) )
-          {
-          CHnMenuItemModel* menu = CHnMenuItemModel::NewL( mdMenu->NameL() );
-          mdMenu->EvaluateL( menu, aQueriesResultsList, aPos );
-          aMenuModel->AppendChildMenuL( menu );
-          }
-      }
-    aMenuModel->SetCommand( iEvent );
-    aMenuModel->SetPosition( iPosition );
-    aMenuModel->SetMenuItemType( iType );
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL takes as an argument an item xml element. It iterates through 
-// item elements in order to find menuitems.
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::CreatePropertiesL( TXmlEngElement aElement,
-                                 THnMdCommonPointers* /* aCmnPtrs */ )
-    {
-    iType = CHnMenuItemModel::EItemApplication;
-    if ( !aElement.Name().Compare( KMenuItemSpecificElementName8 ) )
-    	{
-    	iType = CHnMenuItemModel::EItemSpecific;
-    	}
-    else if ( !aElement.Name().Compare( KMenuItemActionElementName8 ) )
-    	{
-    	iType = CHnMenuItemModel::EItemAction;
-    	}
-    
-    // name
-    HBufC* name = HnConvUtils::Str8ToStrLC(
-            aElement.AttributeValueL( KName8 ) );
-    iName.Assign(name);
-    CleanupStack::Pop( name );
-
-    // position
-    TPtrC8 pos = aElement.AttributeValueL( KPositionAttrName8 );
-    TLex8 lexPosition ( pos );
-    User::LeaveIfError( lexPosition.Val( iPosition ) );
-
-    // event
-    if( aElement.AttributeValueL( KEventAttrName8 ).Length() && 
-                                            !aElement.HasChildNodes() )
-        { // there might not be the event attribute - submenues
-        TPtrC8 event = aElement.AttributeValueL( KEventAttrName8 );
-        TLex8 lex( event );
-        User::LeaveIfError( lex.Val( iEvent ) );
-        }
-    
-    // condition
-    if( aElement.AttributeValueL( KMenuConditionAttrName8 ).Length() )
-        {
-        iCondition = HnConditionFactory::NewL(  
-          aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::CreateChildrenL( TXmlEngElement aElement,
-                                        THnMdCommonPointers* aCmnPtrs )
-    { 
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL( children );
-    aElement.GetChildElements( children );
-    TInt count = children.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TXmlEngElement child = children.Next();
-        if ( IsMenuItemElementName( child.Name() ) )
-            {
-            AppendChildItemL( CHnMdMenuItem::NewL( child, aCmnPtrs ) );
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL takes as an argument an item xml element. It iterates through 
-// item elements in order to find menuitems.
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::ConstructL( TXmlEngElement aElement,
-                                THnMdCommonPointers* aCmnPtrs )
-    {
-    if ( IsMenuItemElementName( aElement.Name() ) )
-        { // this is an ordinary menu item
-        CreatePropertiesL( aElement, aCmnPtrs );
-        CreateChildrenL( aElement, aCmnPtrs ); // in case there are subitems
-        }
-    else
-        { // this is the root level
-        CreateChildrenL( aElement, aCmnPtrs );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMenuItem* CHnMdMenuItem::NewL( TXmlEngElement aElement,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdMenuItem* self = CHnMdMenuItem::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMenuItem* CHnMdMenuItem::NewLC( TXmlEngElement aElement, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdMenuItem* self = new( ELeave ) CHnMdMenuItem;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMenuItem::CHnMdMenuItem()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMenuItem::~CHnMdMenuItem()
-    {
-    iName.Close();
-    iChildren.ResetAndDestroy();
-    iNameValueCache.Close();
-    delete iCondition;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdMenuItem::NameL() 
-    {
-    iNameValueCache.Close();
-    HnStringHandler::LocaliseL( iNameValueCache, iName, NULL /*common params*/);
-    return iNameValueCache;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdMenuItem::IsValidL( const CLiwGenericParamList& aQueryResults, 
-        TInt aPos )    
-    {
-    TBool ret( EFalse );
-    if( !iCondition || iCondition->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdmodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,509 +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:
-*
-*/
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <AvkonInternalCRKeys.h>
-
-#include "hnmdmodel.h"
-#include "hnmdsuite.h"
-#include "hnrepositoryobserver.h"
-#include "hnfilter.h"
-#include "hnglobals.h"
-#include "hneventhandler.h"
-#include "hnmdlocalization.h"
-#include "hnxmlmodelprovider.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnitemsorder.h"
-#include "hninterface.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnbitmapidcache.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdModel::ConstructL( MHnMdModelEventObserver *aModelObserver,
-        CHnSuiteModelContainer * aSuiteModelContainer )
-    {
-    MMPERF(("CHnMetaDataModel::ConstructL - START"));
-    MMPERF(("CHnMetaDataModel::ConstructL - query handler ready"));
-    iLocalization = CHnMdLocalization::NewL();
-    MMPERF(("CHnMetaDataModel::ConstructL - localization ready"));
-    iXmlModelProvider = CHnXmlModelProvider::NewL();
-    MMPERF(("CHnMetaDataModel::ConstructL - bitmap and mask ids cache ready"));
-    iBitmapIdCache = CHnBitmapIdCache::NewL();
-    MMPERF(("CHnMetaDataModel::ConstructL - model privider ready"));
-    iXmlModelProvider->ReloadModelL();
-    MMPERF(("CHnMetaDataModel::ConstructL - model reloaded"));
-
-    iCmnPtrs.iLocalization = iLocalization;
-    iCmnPtrs.iIdGenerator = &iIdGenerator;
-    iCmnPtrs.iModel = this;
-    iCmnPtrs.iXmlModelProvider = iXmlModelProvider;
-    iCmnPtrs.iContainer = aSuiteModelContainer;
-    iCmnPtrs.iModelEventObserver = aModelObserver;
-    iCmnPtrs.iBitmapIdCache = iBitmapIdCache;
-
-    THnMdCommonPointers::SetStatic(&iCmnPtrs);
-
-    iMode = EMdModeNormal;
-    iRepositoryWidgetTypeObserver = CHnRepositoryWidgetTypeObserver::NewL( &iCmnPtrs, KMatrixRepositoryUid );
-    iRepositoryShowFolderObserver = CHnRepositoryShowFolderObserver::NewL( &iCmnPtrs, KCRUidMenu, KMenuShowFolder );
-    MMPERF(("CHnMetaDataModel::ConstructL - rep. observer ready"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdModel* CHnMdModel::NewL(
-        MHnMdModelEventObserver* aModelObserver,
-        CHnSuiteModelContainer * aSuiteModelContainer  )
-    {
-    CHnMdModel* self = CHnMdModel::NewLC( aModelObserver,
-            aSuiteModelContainer );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdModel* CHnMdModel::NewLC(
-        MHnMdModelEventObserver* aModelObserver,
-        CHnSuiteModelContainer * aSuiteModelContainer )
-    {
-    CHnMdModel* self = new( ELeave ) CHnMdModel();
-    CleanupStack::PushL( self );
-    self->ConstructL( aModelObserver, aSuiteModelContainer );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdModel::CHnMdModel()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdModel::~CHnMdModel()
-    {
-    delete iRepositoryWidgetTypeObserver;
-    delete iRepositoryShowFolderObserver;
-    iLoadedSuites.ResetAndDestroy();
-    delete iXmlModelProvider;
-    delete iLocalization;
-    delete iBitmapIdCache;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMdModel::HandleBackEventL(
-        CHnSuiteModelContainer* aMulContainer,
-        const TDesC& aSuiteName,
-        TInt aIterations )
-    {
-    TInt ret( KErrNotFound );
-#ifdef _DEBUG
-    // check if genres match
-    CHnMdSuite* lastMdModel = GetLastSuite();
-    ASSERT( !lastMdModel->SuiteName().Compare( aSuiteName ) );
-#endif
-
-    TInt countDown( aIterations );
-    CHnSuiteModel* current = NULL;
-    while( ( current = aMulContainer->GetParentSuiteModel() ) != NULL &&
-            countDown > 0 )
-        {
-        current = aMulContainer->GetLastSuiteModel();
-        // pop the suite model
-        aMulContainer->PopSuiteModelL( current->SuiteName() );
-
-        // remove the suite that we are leaving
-        DeleteLastSuite();
-        countDown--;
-        }
-
-    current = aMulContainer->GetLastSuiteModel();
-    current->GetItemsOrder()->MarkSuiteUninitialized();
-    CHnFilter* filter = CHnFilter::NewLC();
-    filter->SetSuiteNameL( current->SuiteName() );
-    filter->SetSuiteId( current->CustomId() );
-    GetLastSuite()->MarkEvaluationL( *filter, *current);
-    CleanupStack::PopAndDestroy( filter );
-    //Evaluate suite at the top (if needed)
-    EvaluateTopSuiteL();
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::HandleSisInstallationEventL(
-        CHnSuiteModelContainer* /*aModelContainer*/ )
-    {
-    iXmlModelProvider->ReloadModelL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdModel::ReloadStackSuitesL( CHnSuiteModelContainer* aModelContainer )
-	{
-    RPointerArray< CLiwGenericParamList > paramsArray;
-    CleanupResetAndDestroyPushL( paramsArray );
-
-    TBool rootDisplayed( iLoadedSuites.Count() == 1 );
-    while( iLoadedSuites.Count() > 0 )
-        {
-        // break loop to leave root suite on the stack
-        if( ( iLoadedSuites.Count() == 1 && paramsArray.Count() > 0 )
-                || rootDisplayed )
-            {
-            break;
-            }
-
-        CHnMdSuite* suite = GetLastSuite();
-        if( iXmlModelProvider->SuiteExistsL( suite->SuiteName() ) )
-            {
-            CLiwGenericParamList* suiteParams = CLiwGenericParamList::NewL();
-            CleanupStack::PushL( suiteParams );
-            suiteParams->AppendL( suite->GetSuiteParameters() );
-            paramsArray.Append( suiteParams );
-            CleanupStack::Pop( suiteParams );
-            }
-        aModelContainer->PopSuiteModelL( suite->SuiteName() );
-        DeleteLastSuite();
-        }
-
-    TInt err( KErrNone );
-    CHnFilter* filter = CHnFilter::NewLC();
-    filter->SetEvaluateSuiteL( ETrue );
-
-    SetModeL( iMode );
-
-    for( TInt i( paramsArray.Count() - 1 ); i >= 0 && !err; i-- )
-        {
-        CLiwGenericParamList* suiteParams = CLiwGenericParamList::NewL();
-        CleanupStack::PushL(suiteParams);
-        suiteParams->AppendL( *(paramsArray[ i ]));
-        TInt pos( 0 );
-        const TLiwGenericParam* param = suiteParams->FindFirst( pos, KSuiteName8 );
-        if ( param && pos >= 0)
-            {
-            TPtrC suiteName;
-            param->Value().Get( suiteName );
-            err = LoadSuiteL( suiteName, suiteParams );
-            }
-        CleanupStack::PopAndDestroy( suiteParams );
-
-        GetLastSuite()->SetModeL( iMode );
-        GetLastSuite()->MarkEvaluationL(
-                *filter, *iCmnPtrs.iContainer->GetLastSuiteModel() );
-        GetLastSuite()->EvaluateL( *iCmnPtrs.iContainer->GetLastSuiteModel() );
-        }
-
-    CleanupStack::PopAndDestroy( filter );
-    CleanupStack::PopAndDestroy( &paramsArray );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::DeleteLastSuite()
-    {
-    CHnMdSuite* tmpPtr = GetLastSuite();
-    iLoadedSuites.Remove( iLoadedSuites.Count() - 1 );
-    delete tmpPtr;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::ReleaseLocalization()
-    {
-    iLocalization->ReleaseResourceFiles();
-    iXmlModelProvider->ResetCache();
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::ReloadLocalizationL()
-    {
-    iLocalization->ReloadResourceFilesL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::EvaluateL()
-    {
-    CHnFilter* empty = CHnFilter::NewLC();
-    EvaluateL( *empty );
-    CleanupStack::PopAndDestroy( empty );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::SetModeL( TMdMode aMode )
-    {
-    iMode = aMode;
-    for ( TInt i( 0 ); i < iLoadedSuites.Count(); i++ )
-        {
-        CHnMdSuite* suite = iLoadedSuites[i];
-        ASSERT( suite != NULL );
-        suite->SetModeL( aMode );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdSuite* CHnMdModel::GetLastSuite()
-    {
-    return (iLoadedSuites.Count()>0)
-            ? iLoadedSuites[ iLoadedSuites.Count()-1 ]
-            : NULL;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::IgnoreEvaluations( TBool aIgnore )
-    {
-    iIgnoreEvaluations = aIgnore;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::QueueForeground(
-        TForegroundGainTriggeringEvent aWhen )
-    {
-    switch ( aWhen )
-        {
-        case EWhenAnySuiteIsEvaluated:
-            iForegroundQueued = ETrue;
-            iForegroundTriggeringSuite = NULL;
-            break;
-        case EWhenCurrentTopSuiteIsEvaluated:
-            iForegroundQueued = ETrue;
-            iForegroundTriggeringSuite = iCmnPtrs.iContainer->GetLastSuiteModel();
-            break;
-        case ENever:
-            iForegroundQueued = EFalse;
-            iForegroundTriggeringSuite = NULL;
-            break;
-        default:
-            ASSERT( 0 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnMdModel::IsForegroundQueued() const
-	{
-	return iForegroundQueued;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdModel::SuiteModelReadyToShowL( CHnSuiteModel* aJustEvaluatedSuite )
-    {
-    if ( !aJustEvaluatedSuite )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    if ( IsForegroundQueued() && ( !iForegroundTriggeringSuite ||
-            iForegroundTriggeringSuite == aJustEvaluatedSuite ) )
-    	{
-    	CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-    	CleanupStack::PushL( pl );
-    	iCmnPtrs.iModelEventObserver->HandleModelEventL( KAppGainForeground, *pl );
-    	CleanupStack::PopAndDestroy( pl );
-    	QueueForeground( ENever );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite* CHnMdModel::GetSuite( TInt aPosition )
-    {
-    return ( (aPosition >= 0) && (aPosition < iLoadedSuites.Count()) )
-            ? iLoadedSuites[ aPosition ]
-            : NULL;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLiwGenericParamList& CHnMdModel::GetSuiteParameters( TInt aPosition )
-    {
-    return GetSuite( aPosition )->GetSuiteParameters();
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::EvaluateL( CHnFilter& aFilter )
-    {
-    for ( TInt i = iLoadedSuites.Count() - 1; i >= 0; i-- )
-        {
-        iLoadedSuites[i]->MarkEvaluationL( aFilter, *iCmnPtrs.iContainer->GetSuiteModel(i) );
-        if( i == iLoadedSuites.Count() - 1 && !iIgnoreEvaluations )
-            {
-            iLoadedSuites[i]->EvaluateL( *iCmnPtrs.iContainer->GetSuiteModel(i) );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMdModel::LoadSuiteL( const TDesC& aGenre,
-        CLiwGenericParamList* aSuiteParams )
-    {
-    TInt err( KErrNone );
-
-	RXmlEngDocument xmlDoc;
-	// Xml model provider takes ownership of xmlDoc.
-	TRAP( err, iXmlModelProvider->GetModelL( aGenre, xmlDoc ) );
-
-	TXmlEngElement element;
-    if ( !err )
-        {
-        element = xmlDoc.DocumentElement().AsElement();
-        if ( element.Name() != KContentElementName8 )
-            {
-            err = KErrCorrupt;
-            }
-        }
-
-    if ( !err )
-        {
-        CHnMdSuite* newSuite = CHnMdSuite::NewLC( element, &iCmnPtrs );
-
-        if (aSuiteParams)
-            {
-            newSuite->SetSuiteParametersL( *aSuiteParams );
-            }
-
-        TInt pos( 0 );
-        newSuite->GetSuiteParameters().FindFirst( pos, KSuiteName8);
-        if ( pos == KErrNotFound )
-        	{
-        	newSuite->GetSuiteParameters().AppendL(
-        			TLiwGenericParam(KSuiteName8, TLiwVariant( aGenre ) ) );
-        	}
-
-        iCmnPtrs.iContainer->PushNewSuiteModelL( newSuite->SuiteName() );
-        iCmnPtrs.iContainer->GetLastSuiteModel()->GetItemsOrder()->
-            SetSuiteId( iCmnPtrs.iIdGenerator->GetNextId() );
-
-        CleanupStack::Pop( newSuite );
-        iLoadedSuites.AppendL( newSuite );
-        }
-    else
-    	{
-    	MMPERF(("CHnMdModel::LoadSuiteL - Error TRAPPED!"));
-    	}
-
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnMdModel::SuiteModelExistsL( const TDesC8& aSuiteModel )
-    {
-    TBool res( EFalse );
-    HBufC* suiteName = HnConvUtils::Str8ToStrLC( aSuiteModel );
-    res = iXmlModelProvider->SuiteExistsL( *suiteName ) ||
-            aSuiteModel.Compare( KRoot8 ) == KErrNone ;
-    CleanupStack::PopAndDestroy( suiteName );
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::GetCurrentUriL( TDes& aUri )
-    {
-    iXmlModelProvider->ReloadModelL();
-
-    aUri.Append( KPrefMm );
-    for( TInt i(0); i < iLoadedSuites.Count(); i++ )
-        {
-        aUri.Append( iLoadedSuites[ i ]->SuiteName() );
-        aUri.Append( KSlash );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdModel::EvaluateTopSuiteL()
-    {
-    if ( !iIgnoreEvaluations )
-        {
-        TInt topItem = iLoadedSuites.Count() - 1;
-        iLoadedSuites[topItem]->EvaluateL( *iCmnPtrs.iContainer->GetSuiteModel(topItem) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdModel::LoadedSuitesCount()
-	{
-	return iLoadedSuites.Count();
-	}
-
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdnotifyrequest.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +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:  
-*
-*/
-
-
-#include <xmlengelement.h> 
-#include <xmlengdom.h>
-
-#include "hnmdbasekey.h"
-#include "hnmdmodel.h"
-#include "hnservicehandler.h"
-#include "hnmdservicecommand.h"
-#include "hnitemid.h"
-#include "hnmdnotifyrequest.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-CHnMdNotifyRequest* CHnMdNotifyRequest::NewL( TXmlEngElement aElement, 
-        const CHnItemId & aItemId, THnMdCommonPointers* aCmnPtrs )
-        
-    {
-    CHnMdNotifyRequest* self = CHnMdNotifyRequest::NewLC(aElement,
-            aItemId, aCmnPtrs );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequest* CHnMdNotifyRequest::NewLC( TXmlEngElement aElement,
-        const CHnItemId & aItemId, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdNotifyRequest* self = new (ELeave) CHnMdNotifyRequest( aCmnPtrs );
-    CleanupStack::PushL(self);
-    self->ConstructL( aElement, aItemId );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequest::~CHnMdNotifyRequest()
-    {
-    delete iItemId;
-    delete iService;
-    delete iSh;
-    }
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdNotifyRequest::ConstructL( TXmlEngElement aElement, 
-        const CHnItemId & aItemId )
-    {
-    ASSERT(aElement.Name() == KNotifyRequestElementName8 );
-
-    iItemId = CHnItemId::NewL( aItemId.SuiteName(), aItemId.Id() );
-    iService = CHnMdService::NewL( aElement );
-    iSh = NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequest::CHnMdNotifyRequest(THnMdCommonPointers* aCmnPtrs) 
-    : iCmnPtrs(aCmnPtrs)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdNotifyRequest::RequestNotifyL( CLiwGenericParamList& aParams, 
-        TInt aCmdOptions )
-    {
-    if ( iSh == NULL )
-        {
-        CLiwGenericParamList* constructor =
-            iService->EvaluateConstructorL( aParams );
-        CleanupStack::PushL(constructor);
-        CLiwGenericParamList* command = iService->EvaluateCommandL( aParams );
-        CleanupStack::PushL( command );
-    
-        // Create service
-        iSh = CHnServiceHandler::NewL( 
-                iService->GetServiceName(), 
-                iService->GetInterfaceName(), 
-                iService->GetCommand().GetCommandName(),
-                EServiceModeAsynchronous,
-                constructor, 
-                command );
-    
-        CleanupStack::Pop( command );
-        CleanupStack::Pop( constructor );
-        }
-    iSh->ExecuteL( this, aCmdOptions ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//     
-TInt CHnMdNotifyRequest::HandleNotifyL( TInt /* aCmdId */, TInt aEventId ,
-        CLiwGenericParamList& /* aEventParamList */,
-        const CLiwGenericParamList& /* aInParamList */)
-    {
-    TInt err( KErrNone );
-    
-    if ( aEventId == KLiwEventInProgress )
-        {
-        //Filling in variant structure.
-        CLiwGenericParamList* inParam = CLiwGenericParamList::NewL();
-        CleanupStack::PushL( inParam );
-           
-        CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-            
-        map->InsertL( KGenreName8, TLiwVariant(iItemId->SuiteName()) );
-        map->InsertL( KItemName8, TLiwVariant(iItemId->Id()) );
-        
-        CLiwDefaultList* list = CLiwDefaultList::NewLC();   
-        
-        list->AppendL( TLiwVariant( map ) );
-        inParam->AppendL(TLiwGenericParam( KFilterElementItem8, TLiwVariant(list)));
-        CleanupStack::PopAndDestroy( list );
-        CleanupStack::PopAndDestroy( map );
-        
-        iCmnPtrs->iModelEventObserver->HandleModelEventL( KReevaluateMdEvent, *inParam );
-    
-        CleanupStack::PopAndDestroy( inParam );
-        }
-    
-    return err;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdnotifyrequests.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +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:  represents the notification request
-*
-*/
-
-
-#include <e32base.h>
-#include <xmlengdom.h> 
-#include <hnglobals.h>
-
-#include "hnmdnotifyrequest.h"
-#include "hnmdnotifyrequests.h"
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdNotifyRequests::ConstructL( TXmlEngElement aElement,
-        const CHnItemId & aItemId,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    iSent = EFalse;
-    RXmlEngNodeList< TXmlEngElement > entries;
-    CleanupClosePushL( entries );
-    aElement.GetChildElements( entries );
-    
-    TInt entriesAmount = entries.Count();
-    
-    for (TInt j = 0; j < entriesAmount; j++ )
-        {
-        TXmlEngElement item = entries.Next();
-        
-        if ( !item.Name().Compare( KNotifyRequestElementName8 ) )
-            {
-            CHnMdNotifyRequest *request = CHnMdNotifyRequest::NewL( 
-                    item, aItemId, aCmnPtrs );
-            AddNotifyRequest( request );
-            }
-        }
-        
-    CleanupStack::PopAndDestroy( &entries );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnMdNotifyRequests::SendAllRequestsL( CLiwGenericParamList& aParams,
-        TInt aCmdOptions )
-    {
-    for (int i=0; i<Count(); i++)
-        {
-        NotifyRequest(i).RequestNotifyL( aParams, aCmdOptions );
-        }
-    iSent = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TInt CHnMdNotifyRequests::AddNotifyRequest( CHnMdNotifyRequest* aNotifyRequest )
-    {
-    return iNotifyRequests.Append( aNotifyRequest );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CHnMdNotifyRequest& CHnMdNotifyRequests::NotifyRequest( 
-           TInt aPosition ) const
-    {
-    ASSERT( aPosition >=0 && aPosition < iNotifyRequests.Count() );
-    return *iNotifyRequests[aPosition];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TInt CHnMdNotifyRequests::Count() const
-    {
-    return iNotifyRequests.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequests* CHnMdNotifyRequests::NewL( 
-         TXmlEngElement aElement, const CHnItemId & aItemId, 
-         THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdNotifyRequests* self = CHnMdNotifyRequests::NewLC(
-             aElement, aItemId, aCmnPtrs);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequests* CHnMdNotifyRequests::NewLC(
-        TXmlEngElement aElement, const CHnItemId & aItemId, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdNotifyRequests* self = new( ELeave ) CHnMdNotifyRequests();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aItemId, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequests::CHnMdNotifyRequests()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequests::~CHnMdNotifyRequests()
-    {
-    iNotifyRequests.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdNotifyRequests::Sent()
-    {
-    return iSent;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdqueries.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:  
-*
-*/
-
-
-
-#include <xmlengdom.h>
-#include "hnmdqueries.h"
-#include "hnmdquery.h"
-#include "hnglobals.h"
-#include "hnmdmodel.h"
-#include "hnconvutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdQueries::ConstructL( TXmlEngElement aElement )
-    {
-    // construction...
-    RXmlEngNodeList< TXmlEngElement > entries;
-    CleanupClosePushL( entries );
-    aElement.GetChildElements( entries );
-    
-    TInt entriesAmount = entries.Count();
-    
-    for (TInt j = 0; j < entriesAmount; j++ )
-        {
-        TXmlEngElement item = entries.Next();
-        
-        if ( !item.Name().Compare( KQueryElementItem8 ) )
-            {
-            CHnMdQuery *query = CHnMdQuery::NewL( item );
-            AddQuery( query );
-            }
-        }
-    CleanupStack::PopAndDestroy( &entries );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TInt CHnMdQueries::AddQuery( CHnMdQuery* aQuery )
-    {
-    return iQueries.Append( aQuery );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CHnMdQuery& CHnMdQueries::Query( TInt aPosition ) const
-    {
-    ASSERT( aPosition >=0 && aPosition < iQueries.Count() );
-    return *iQueries[aPosition];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TInt CHnMdQueries::Count() const
-    {
-    return iQueries.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQueries* CHnMdQueries::NewL( TXmlEngElement aElement )
-    {
-    CHnMdQueries* self = CHnMdQueries::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQueries* CHnMdQueries::NewLC( TXmlEngElement aElement )
-    {
-    CHnMdQueries* self = new( ELeave ) CHnMdQueries();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQueries::CHnMdQueries()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQueries::~CHnMdQueries()
-    {
-    iQueries.ResetAndDestroy();
-    }
-
-
-    
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdquery.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +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:  
-*
-*/
-
-
-#include <xmlengdom.h>
-// for CleanupResetAndDestroyPushL
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-#include "hnmdkeyfactory.h"
-#include "hnmdbasekey.h"
-#include "hnmdquery.h"
-#include "hnconvutils.h"
-#include "hnmdservicecommand.h"
-#include "hnmdservice.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdQuery::ConstructL( TXmlEngElement aElement )
-    {
-    ASSERT( aElement.Name() == KQueryElementItem8 );
-
-    SetNameSpaceL( aElement.AttributeNodeL( KNameSpaceAttrName8 ) );
-    iService = CHnMdService::NewL( aElement );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQuery* CHnMdQuery::NewL( TXmlEngElement aElement )
-    {
-    CHnMdQuery* self = CHnMdQuery::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQuery* CHnMdQuery::NewLC( TXmlEngElement aElement )
-    {
-    CHnMdQuery* self = new( ELeave ) CHnMdQuery();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQuery::CHnMdQuery()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQuery::~CHnMdQuery()
-    {
-    iNameSpace.Close();
-    delete iService;
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdQuery::NameSpace() const
-    {
-    return iNameSpace;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdQuery::SetNameSpaceL( const TDesC& aNameSpace )
-    {
-    iNameSpace.Close();
-    iNameSpace.CreateL(aNameSpace);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdQuery::SetNameSpaceL( TXmlEngAttr aAttr )
-    {
-    HBufC* nspace = HnConvUtils::Str8ToStrLC( aAttr.Value() );
-    SetNameSpaceL( *nspace );
-    
-    // clean up
-    CleanupStack::PopAndDestroy( nspace );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService& CHnMdQuery::GetService() const
-    {
-    return *iService;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservice.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +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:  
-*
-*/
-
-
-#include <xmlengdom.h>
-#include <liwservicehandler.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-#include "hnmdservice.h"
-#include "hnmdservicecommand.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "hnservicehandler.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdService::ConstructL( TXmlEngElement aElement )
-    {
-    SetInterfaceL( aElement.AttributeNodeL( KInterfaceAttrName8 ) );
-    SetServiceL( aElement.AttributeNodeL( KServiceAttrName8 ) );
-    SetConstructorL( aElement );
-    iServiceCommand = CHnMdServiceCommand::NewL( aElement );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService* CHnMdService::NewL( TXmlEngElement aElement )
-    {
-    CHnMdService* self = CHnMdService::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService* CHnMdService::NewLC( TXmlEngElement aElement )
-    {
-    CHnMdService* self = new( ELeave ) CHnMdService();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService::CHnMdService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService::~CHnMdService()
-    {
-    iServiceName.Close();
-    iInterfaceName.Close();
-    delete iConstructor;
-    delete iServiceCommand;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnMdService::GetServiceName() const
-    {
-    return iServiceName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnMdService::GetInterfaceName() const
-    {
-    return iInterfaceName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const CHnMdServiceCommand& CHnMdService::GetCommand() const
-    {
-    return *iServiceCommand;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdService::GetConstructor() const
-    {
-    return iConstructor;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdService::SetConstructorL( TXmlEngElement aElement )
-    {
-    iConstructor = HnMdKeyFactory::CreateL( KConstructorElementItem8(), KKeyTypeList(), 
-            KNullDesC8() );
-    RXmlEngNodeList< TXmlEngElement > elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-
-    TInt elementsCount = elements.Count();
-
-    for (TInt i =0; i < elementsCount; i++ )
-        {
-        TXmlEngElement dataElement = elements.Next();
-
-        if ( !dataElement.Name().Compare( KConstructorElementItem8 ) )
-            {
-            RXmlEngNodeList< TXmlEngElement > keys;
-            CleanupClosePushL( keys );
-            dataElement.GetChildElements( keys );
-
-            for (TInt j = 0; j < keys.Count(); j++ )
-                {
-                TXmlEngElement keyElement = keys.Next();
-                if ( !keyElement.Name().Compare( KKeyElementItem8 ) )
-                    {
-                    CHnMdBaseKey *key = HnMdKeyFactory::CreateL( keyElement );
-                    CleanupStack::PushL( key );
-                    iConstructor->AddSubKeyL( key );
-                    CleanupStack::Pop( key );
-                    }
-                }
-            CleanupStack::PopAndDestroy( &keys );
-            }
-        }
-    CleanupStack::PopAndDestroy( &elements );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdService::SetInterfaceL( TXmlEngAttr aAttr )
-    {
-    iInterfaceName.Close();
-    iInterfaceName.CreateL( aAttr.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdService::SetServiceL( TXmlEngAttr aAttr )
-    {
-    iServiceName.Close();
-    iServiceName.CreateL( aAttr.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CLiwGenericParamList* CHnMdService::EvaluateConstructorL( 
-        const CLiwGenericParamList& aList,
-        TInt aPos)
-    {
-    CHnMdBaseKey* evalKeys = EvaluateConstructorAsKeyL( aList, aPos ); 
-    CleanupStack::PushL( evalKeys );
-    CLiwGenericParamList* ret = CLiwGenericParamList::NewL();
-    CleanupStack::PushL( ret ); 
-    if ( evalKeys )
-        {
-        evalKeys->ToGenericParamListL( *ret );
-        }
-    CleanupStack::Pop( ret );
-    CleanupStack::PopAndDestroy( evalKeys );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdService::EvaluateConstructorAsKeyL( 
-        const CLiwGenericParamList& aList,
-        TInt aPos)
-    {
-    CHnMdBaseKey* consKeys = GetConstructor();
-    CHnMdBaseKey* evalKeys = NULL;
-    if (consKeys)
-        {
-        evalKeys =  consKeys->EvaluateLC( aList, aPos );
-        CleanupStack::Pop( evalKeys );
-        }
-    return evalKeys;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CLiwGenericParamList* CHnMdService::EvaluateCommandL( 
-        const CLiwGenericParamList& aList,
-        TInt aPos
-        )
-    {
-    CHnMdBaseKey* evalKeys = EvaluateCommandAsKeyL( aList, aPos );
-    CleanupStack::PushL( evalKeys );
-    CLiwGenericParamList* ret = CLiwGenericParamList::NewL();
-    CleanupStack::PushL( ret );
-    if ( evalKeys )
-            {
-            evalKeys->ToGenericParamListL( *ret );
-            }
-    CleanupStack::Pop( ret );
-    CleanupStack::PopAndDestroy( evalKeys );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdService::EvaluateCommandAsKeyL( 
-        const CLiwGenericParamList& aList,
-        TInt aPos
-        )
-    {
-    CHnMdBaseKey* keys = iServiceCommand->GetCommandData();
-    CHnMdBaseKey* evalKeys = NULL;
-    if (keys)
-        {
-        evalKeys = keys->EvaluateLC( aList, aPos );
-        CleanupStack::Pop( evalKeys );
-        
-        }
-    return evalKeys;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservicecommand.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +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:  
-*
-*/
-
-
-#include <xmlengdom.h>
-
-#include "hnmdkeyfactory.h"
-#include "hnmdbasekey.h"
-#include "hnmdservicecommand.h"
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdServiceCommand* CHnMdServiceCommand::NewL( 
-        TXmlEngElement aElement )
-    {
-    CHnMdServiceCommand* self = CHnMdServiceCommand::NewLC(aElement);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdServiceCommand* CHnMdServiceCommand::NewLC( 
-        TXmlEngElement aElement )
-    {
-    CHnMdServiceCommand* self = new( ELeave ) CHnMdServiceCommand;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TXmlEngElement CHnMdServiceCommand::RemoveRedundantKeyL( TXmlEngElement aElement )
-    {
-    TXmlEngElement ret = aElement;
-    
-    RXmlEngNodeList< TXmlEngElement > elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-
-    TInt elementsCount = elements.Count();
-    if (elementsCount == 1)
-        {
-        TXmlEngElement dataElement = elements.Next();
-        RXmlEngNodeList< TXmlEngAttr > nodeList;
-        CleanupClosePushL( nodeList );
-        dataElement.GetAttributes(nodeList);
-        if (! dataElement.Name().Compare( KKeyElementItem8 ) && nodeList.Count() == 0)
-            {
-            ret = dataElement;
-            }
-        CleanupStack::PopAndDestroy( &nodeList );
-        }
-    
-    CleanupStack::PopAndDestroy( &elements );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdServiceCommand::ConstructL( TXmlEngElement aElement )
-    {
-    iData = HnMdKeyFactory::CreateL( KCommandElementItem8(), KKeyTypeList(), 
-            KNullDesC8() );
-    
-    RXmlEngNodeList< TXmlEngElement > elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-
-    TInt elementsCount = elements.Count();
-
-    for (TInt i =0; i < elementsCount; i++ )
-        { 
-        TXmlEngElement dataElement = elements.Next();
-
-        if ( !dataElement.Name().Compare( KCommandElementItem8 ) )
-            {
-            SetCommandNameL( dataElement.AttributeNodeL( KCommandNameAttr8 ) );
-            SetCommandModeL( dataElement.AttributeNodeL( KCommandModeAttr8 ) );
-            
-            SetCommandDataL( RemoveRedundantKeyL( dataElement ) );
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &elements );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdServiceCommand::CHnMdServiceCommand()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdServiceCommand::~CHnMdServiceCommand()
-    {
-    delete iData;
-    iName.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnMdServiceCommand::GetCommandName() const
-    {
-    return iName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdServiceCommand::SetCommandNameL( TXmlEngAttr aAttr )
-    {
-    iName.Close();
-    iName.CreateL( aAttr.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdServiceCommand::GetCommandData() const
-    {
-    return iData;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdServiceCommand::SetCommandDataL( TXmlEngElement aElement )
-    {
-    
-    RXmlEngNodeList< TXmlEngElement > keys;
-    CleanupClosePushL( keys );
-    aElement.GetChildElements( keys );
-
-    TInt count = keys.Count();
-    for (TInt j = 0; j < count; j++ )
-        {
-        TXmlEngElement keyElement = keys.Next();
-        if ( !keyElement.Name().Compare( KKeyElementItem8 ) )
-            {
-            CHnMdBaseKey *key = HnMdKeyFactory::CreateL( keyElement );
-            CleanupStack::PushL( key );
-            iData->AddSubKeyL(key);
-            CleanupStack::Pop( key );
-            }
-        }
-    CleanupStack::PopAndDestroy( &keys );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TServiceMode CHnMdServiceCommand::GetCommandMode() const
-    {
-    return iMode;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdServiceCommand::SetCommandModeL( TXmlEngAttr aAttr )
-    {
-    iMode = EServiceModeSynchronous;
-    
-    if ( !aAttr.Value().Compare( KCommandModeAsync8 ) )
-        {
-            iMode = EServiceModeAsynchronous;
-        }
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdsuite.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,881 +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:  
-*
-*/
-
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-#include "hnmdsuite.h"
-#include "hnmditem.h"
-#include "hnmdmodel.h"
-#include "hnstringhandler.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnitemsorder.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnutils.h"
-#include "hnfilter.h"
-#include "menudebug.h"
-#include "hnactionmodel.h"
-#include "hnmdaction.h"
-#include "hnmdservicecommand.h"
-#include "hnmdlocalization.h"
-#include "hnmdqueries.h"
-#include "hnmdquery.h"
-#include "hnrepositorymanager.h"
-#include "hnmdbasekey.h"
-#include "hninterface.h"
-#include "hnservicehandler.h"
-#include "hnmdeventmapping.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CLiwGenericParamList& CHnMdSuite::GetSuiteParameters()
-    {
-    return *iSuiteParams;
-    }
- 
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdSuite::SetSuiteParametersL(CLiwGenericParamList& aParams)
-    {
-    iSuiteParams->Reset();
-    iSuiteParams->AppendL( aParams );               
-    }
-    
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::ConstructL( TXmlEngElement aElement )
-    {
-    DEBUG(("_MM_: CHnMdSuite::ConstructL IN"));
-
-    // append localization elements
-    iCmnPtrs->iLocalization->AppendLocalizationsL( aElement );
-    
-    RXmlEngNodeList<TXmlEngElement> elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-    
-    // suite element was found
-    TBool suiteFound( EFalse );
-    
-    // one suite per file
-    TXmlEngElement suiteElement;
-    while ( elements.HasNext() )
-        {
-        suiteElement = elements.Next();
-        if ( !suiteElement.Name().Compare( KSuiteElementName8 ) )
-            {
-            suiteFound = ETrue;
-            break;
-            }
-        }
-    
-    if ( suiteFound )
-        {
-        // set event mapping
-        iEventMapping = CHnMdEventMapping::NewL( suiteElement, iCmnPtrs );
-   
-        // set genre
-        SetGenreL( suiteElement.AttributeNodeL( KGenreAttrName8 ) );
-        
-        // set widget type
-        // widget needs to be set before template will be set
-        SetWidgetTypeL( suiteElement.AttributeNodeL( KWidgetTypeAttrName8 ) );
-        
-        // set template
-        SetTemplateL( suiteElement.AttributeNodeL( KTemplateAttrName8 ) );
-        
-        // set name
-        SetTitleL( suiteElement.AttributeNodeL( KTitleAttrName8 ) );
-        
-        // set empty text
-        SetEmptyTextL( suiteElement.AttributeNodeL( KEmptyTextAttrName8 ) );
-        
-        // set custom identifier
-        SetCustomIdL( suiteElement );
-            
-        // set entries
-        CreateItemsL( suiteElement, iCmnPtrs );
-        
-        // set queries
-        iQueries = CHnMdQueries::NewL( suiteElement );
-        
-        // set cached parameters
-        iSuiteParams = CLiwGenericParamList::NewL();
-        }
-    else
-        {
-        // definiotion of the suite was not found!
-        DEBUG(("_MM_: CHnMdSuite::ConstructL Suite definition not found!"));
-        User::Leave( KErrNotFound );
-        }
-    
-    CleanupStack::PopAndDestroy( &elements );
-    DEBUG(("_MM_: CHnMdSuite::ConstructL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite* CHnMdSuite::NewL(TXmlEngElement aElement,
-                                            THnMdCommonPointers* aCmnPtrs)
-    {
-    CHnMdSuite* self = CHnMdSuite::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite* CHnMdSuite::NewLC(TXmlEngElement aElement,
-                                            THnMdCommonPointers* aCmnPtrs)
-    {
-    CHnMdSuite* self = new( ELeave ) CHnMdSuite( aCmnPtrs );
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite::CHnMdSuite( THnMdCommonPointers* aCmnPtrs )
-    : iCmnPtrs( aCmnPtrs ), iAllowableTemplate(NULL)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite::~CHnMdSuite()
-    {
-    iAllowableWidgetType.Close();
-    delete iAllowableTemplate;
-    delete iEventMapping;
-    iSuiteName.Close();
-    iItems.ResetAndDestroy();
-    iTemplate.Close();
-    iTitle.Close();
-    iEmptyText.Close();
-    iCustomId8.Close();
-    delete iQueries;
-    delete iSuiteParams;
-    iAllowedTypes.Close();
-    delete iQc;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdSuite::EvaluateL( CHnSuiteModel & aSuiteModel )
-    {
-    MMPERF(("CHnMdSuite::EvaluateL - START"));
-    aSuiteModel.GetItemsOrder()->DefineModelItemCountL( iItems.Count() );
-    if( iEvaluationNeeded )
-        {
-        EvaluateSuiteItselfL( aSuiteModel );
-        MMPERF(("CHnMdSuite::EvaluateL - suite evaluated"));
-        iEvaluationNeeded = EFalse;
-        }
-    for( TInt i( 0 ); i < iItems.Count(); i++ )
-    	{
-    	CHnMdItem * item = iItems[i];
-    	item->SetAlternativeTemplateL( GetAlternativeWidgetNumber() );
-    	item->EvaluateItemL( aSuiteModel, GetSuiteParameters(), i );
-    	}
-    
-    MMPERF(("CHnMdSuite::EvaluateL - items evaluated - DONE"));
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::MarkEvaluationL( CHnFilter& aFilter, CHnSuiteModel& aSuiteModel )
-    {  
-    if (aFilter.HasSuiteId())
-        {
-        if (aSuiteModel.CustomId() == aFilter.SuiteId() )
-            {
-            if ( aFilter.IsEvaluateSuite() )
-                {
-                iEvaluationNeeded = ETrue;
-                }
-            for (TInt item(0); item < iItems.Count(); item++)
-               {
-               iItems[item]->MarkEvaluationL( aFilter );
-               }
-            }
-        else
-            {
-            for (TInt itemIter(0); itemIter < iItems.Count(); itemIter++)
-                {
-                RArray< TInt > ids;
-                CleanupClosePushL( ids );
-                aSuiteModel.GetItemsOrder()->GetIdsForL( itemIter, ids);
-                for (TInt idsIter(0); idsIter < ids.Count(); idsIter++)
-                    {
-                    if (aFilter.SuiteId() == ids[idsIter])
-                        {
-                        iItems[itemIter]->MarkEvaluationL( aFilter );
-                        if (aFilter.IsEvaluateSuite())
-                            {
-                            iEvaluationNeeded = ETrue;
-                            }
-                        }
-                    }                        
-                CleanupStack::PopAndDestroy( &ids );
-                }
-            }
-        }
-    else if( aFilter.HasSuiteName() )
-        {
-        if( !SuiteName().Compare( aFilter.SuiteName()) )
-            {
-            if ( aFilter.IsEvaluateSuite() )
-                {
-                iEvaluationNeeded = ETrue;
-                }    
-            for( TInt i( 0 ); i < iItems.Count(); i++ )
-                {
-                iItems[i]->MarkEvaluationL( aFilter );
-                } 
-            } 
-        }
-    else
-        {
-        if( aFilter.IsEvaluateSuite() )
-            {
-            iEvaluationNeeded = ETrue;
-            }
-        for( TInt i( 0 ); i < iItems.Count(); i++ )
-           {
-           iItems[i]->MarkEvaluationL( aFilter );
-           } 
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::CreateItemsL( TXmlEngElement aElement,
-                        THnMdCommonPointers* aCmnPtrs )
-    {
-    ASSERT( aElement.Name() == KSuiteElementName8 );
-
-    // construction...
-    RXmlEngNodeList< TXmlEngElement > elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-
-    TInt elementsCount = elements.Count();
-
-    for (TInt j = 0; j < elementsCount; j++ )
-        {
-        TXmlEngElement element = elements.Next();
-        if ( !element.Name().Compare( KItemElementName8 ) )
-            {
-            CHnMdItem *item = CHnMdItem::NewL( element, aCmnPtrs );
-            CleanupStack::PushL( item );
-            iItems.AppendL( item );
-            CleanupStack::Pop( item );
-            }
-        }
-    CleanupStack::PopAndDestroy( &elements );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetGenreL(const TDesC& aGenre)
-    {
-    iSuiteName.Close();
-    iSuiteName.CreateL( aGenre );
-    iSuiteName.LowerCase();
-    DEBUG16(("\t_MM_: suite attribute (genre): %S", &aGenre ));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetGenreL(TXmlEngAttr aGenre)
-    {
-    HBufC* genre = HnConvUtils::Str8ToStrLC( aGenre.Value() );
-    SetGenreL(*genre);
-    // clean up
-    CleanupStack::PopAndDestroy(genre);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetTemplateL( TXmlEngAttr aTemplate )
-    {
-    SetTemplateL( aTemplate.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetTemplateL( const TDesC8& aTemplate )
-    {
-    delete iAllowableTemplate;
-    iAllowableTemplate = NULL;
-    iAllowableTemplate = new ( ELeave ) CDesC8ArrayFlat( 3 );
-    
-    for (int i = 0; i < HnUtils::GetColumnTextColumnCount( aTemplate ); i++)
-        {
-        HBufC8* templateBuf = HnUtils::GetColumnTextLC( i, aTemplate );
-        templateBuf->Des().Trim();
-        iAllowableTemplate->AppendL( *templateBuf );
-        CleanupStack::PopAndDestroy(templateBuf);
-        }
-    SetAlternativeTemplateL( GetAlternativeWidgetNumber() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::AddInternalStateL( CLiwGenericParamList& aParamList )
-    {
-    TLiwGenericParam param;
-    param.PushL();
-    
-    CLiwDefaultMap* suiteMap = CLiwDefaultMap::NewL();
-    suiteMap->PushL();
-
-    TLiwVariant suiteWidgetTypeVariant;
-    suiteWidgetTypeVariant.PushL();
-    
-    CLiwDefaultMap* widgetTypeMap = CLiwDefaultMap::NewL();
-    widgetTypeMap->PushL();
-
-    if ( iWidgetType == EGridWidget )
-        {
-        widgetTypeMap->InsertL( KWidgetType8(), KWidgetTypeGrid8() );
-        }
-    else if ( iWidgetType == EListWidget )
-        {
-        widgetTypeMap->InsertL( KWidgetType8(), KWidgetTypeList8() );
-        }
-    else if ( iWidgetType == ECoverFlowWidget )
-        {
-        widgetTypeMap->InsertL( KWidgetType8(), KWidgetTypeCoverFlow8() );
-        }
-    
-    widgetTypeMap->InsertL( KAllowedTypes8(), iAllowedTypes );
-    
-    suiteWidgetTypeVariant.Set( widgetTypeMap );
-    
-    // add suite widget type
-    suiteMap->InsertL( KSuite8(), suiteWidgetTypeVariant );
-    aParamList.Remove( KMm8 );
-    
-    // set internal state
-    param.SetNameAndValueL( KMm8, TLiwVariant( suiteMap ) );
-    aParamList.AppendL( param );
-
-    CleanupStack::PopAndDestroy( widgetTypeMap );
-    CleanupStack::PopAndDestroy( &suiteWidgetTypeVariant );
-    CleanupStack::PopAndDestroy( suiteMap );
-    CleanupStack::PopAndDestroy( &param );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::DoSetWidgetTypeL( TDesC8 & aConfDes )
-    {
-    if ( !aConfDes.Compare( KWidgetTypeGrid8 ))
-        {
-        iAllowableWidgetType.AppendL( EGridWidget );
-        }
-    else if ( !aConfDes.Compare( KWidgetTypeList8 ) )
-        {
-        iAllowableWidgetType.AppendL( EListWidget );        
-        }
-    else if ( !aConfDes.Compare( KWidgetTypeCoverFlow8 ) )
-        {
-        iAllowableWidgetType.AppendL( ECoverFlowWidget );                
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMdSuite::GetAlternativeWidgetNumber()
-    {
-    return iAllowableWidgetType.Find( iWidgetType );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetAlternativeTemplateL( TInt aOption )
-    {
-    iTemplate.Close();
-    if (aOption >= 0 && aOption < iAllowableTemplate->Count())
-        {
-        const TDesC8 & val = (*iAllowableTemplate)[aOption];
-        iTemplate.CreateL(val.Length());
-        iTemplate.Copy(val);
-        iTemplate.Trim();
-        }
-    else
-        {
-        iTemplate.CreateL( KNullDesC8() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetAlternativeTemplateL( CLiwGenericParamList& aParams )
-    {
-    RBuf8 logicalTemplate;
-    logicalTemplate.CleanupClosePushL();
-    if ( KErrNone == HnLiwUtils::GetStringL( 
-            aParams, KTemplatePath8, logicalTemplate ) &&
-            KErrNone != logicalTemplate.Compare( KTemplatePath8 ) &&
-            logicalTemplate.Length() )
-        {
-        SetTemplateL( logicalTemplate );
-        }
-    else
-    	{
-    	SetAlternativeTemplateL( GetAlternativeWidgetNumber() );
-    	}
-    CleanupStack::PopAndDestroy( &logicalTemplate );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdSuite::ReadWidgetTypeFromServiceL( CLiwGenericParamList& aParams, 
-        RBuf8& aWidgetType )
-    {
-    return 
-        HnLiwUtils::GetStringL( aParams, KWidgetTypePath8, aWidgetType ) == KErrNone 
-        && aWidgetType.Compare( KWidgetTypePath8 ) !=  KErrNone 
-        && aWidgetType.Length();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetAlternativeWidgetL( CLiwGenericParamList& aParams )
-    {
-    RBuf8 widget;
-    widget.CleanupClosePushL();
-    if ( ReadWidgetTypeFromServiceL( aParams, widget )  )
-        {
-        iAllowableWidgetType.Reset();
-        SetWidgetTypeL( widget );
-        }
-    else
-        {
-        ReadWidgetTypeL();
-        }
-    CleanupStack::PopAndDestroy( &widget );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetWidgetTypeL( TXmlEngAttr aWidgetType )
-    {
-    TPtrC8 widgetType = aWidgetType.Value();
-    DEBUG8(("\t_MM_: suite attribute (widget type): %S", &widgetType));
-
-    SaveWidgetTypeL( widgetType );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetWidgetTypeL(TDesC8& aWidgetType)
-    {
-    iAllowedTypes.Close();
-    iAllowedTypes.CreateL(aWidgetType);
-    const TInt columnCount(HnUtils::GetColumnTextColumnCount(aWidgetType));
-    for (TInt i = 0; i < columnCount; i++)
-        {
-        HBufC8* type = HnUtils::GetColumnTextLC(i, aWidgetType);
-        type->Des().Trim();
-        DoSetWidgetTypeL(*type);
-        CleanupStack::PopAndDestroy(type);
-        }
-    if (iAllowableWidgetType.Count() <= 0)
-        {
-        User::Leave(KErrCorrupt);
-        }
-    iWidgetType = iAllowableWidgetType[0];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SaveWidgetTypeL( TDesC8& aWidgetType )
-    {
-    SetWidgetTypeL( aWidgetType );
-    CHnRepositoryManager* repMan = CHnRepositoryManager::NewLC();
-        
-    if ( iAllowableWidgetType.Count() > 0 )
-        {
-        THnSuiteWidgetType crWidgetType( EUnspecified );
-        TInt err( repMan->ReadSuiteWidgetTypeL( iSuiteName, crWidgetType ) );
-        if( !err || err == KErrNotFound )
-            {
-            TInt found = iAllowableWidgetType.Find( crWidgetType );
-            if ( crWidgetType != EUnspecified && found != KErrNotFound )
-                {
-                iWidgetType = crWidgetType;
-                }
-            else
-                {
-                err = repMan->StoreSuiteWidgetTypeL( iSuiteName, iWidgetType );
-                }
-            }
-        }
-            
-    CleanupStack::PopAndDestroy( repMan );
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetModeL( TMdMode aMode )
-    {
-    if ( iMode != aMode )
-    	{
-	    for( TInt i( 0 ); i < iItems.Count() ; i++ )
-	        {
-	        if( iItems[i]->HasAlternativeModeItem() )
-	            {
-	            CHnMdItem * currentItem = iItems[i];
-	            CHnMdItem * newItem = currentItem->TakeAlternativeModeItem();
-	            newItem->SetAlternativeModeItem( currentItem );
-	            iItems.InsertL( newItem, i );
-	            iItems.Remove( i+1 );
-	            }
-	        }
-	    iMode = aMode;
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TMdMode CHnMdSuite::Mode()
-	{
-	return iMode;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetTitleL( TXmlEngAttr aTitle )
-    {
-    iTitle.Close();
-    iTitle.CreateL( aTitle.Value().Length() );
-    iTitle.Copy( aTitle.Value() );
-    DEBUG8(("\t_MM_: suite attribute (name): %S", &iTitle));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetEmptyTextL( TXmlEngAttr aEmptyText )
-    {
-    iEmptyText.Close();
-    iEmptyText.CreateL( aEmptyText.Value().Length() );
-    iEmptyText.Copy( aEmptyText.Value() );
-    DEBUG8(("\t_MM_: suite attribute (name): %S", &iEmptyText));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-//
-void CHnMdSuite::EvaluateSuiteItselfL( CHnSuiteModel & aSuiteModel )
-    {
-    
-    DEBUG(("_MM_: CHnMdSuite::EvaluateSuiteItselfL IN"));
-    iSuiteModel = &aSuiteModel;
-    //delete old query collector and create new one
-    //currently running evaluations will be cancelled
-    delete iQc;
-    iQc = NULL;
-    iQc = CHnQueryResultCollector::NewL( *iQueries, GetSuiteParameters() );
-    iQc->StartAsynchL( this );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnMdSuite::SuiteName()
-    {
-    return iSuiteName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdSuite::SaveWidgetTypeL() const
-	{
-	CHnRepositoryManager *repManager = CHnRepositoryManager::NewLC();
-	DEBUG8(("\t_MM_: Saving '%S' widget type to CR: %d", &iSuiteName, iWidgetType));
-	TInt ret( repManager->StoreSuiteWidgetTypeL( iSuiteName, iWidgetType ) );
-	CleanupStack::PopAndDestroy(repManager);
-	return ret;
-	}
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdSuite::ReadWidgetTypeL()
-	{
-	TInt ret = KErrNone;
-	
-	if (iAllowableWidgetType.Count() <= 1)
-	    {
-	    DEBUG8(("\t_MM_: Suite '%S' is allowed to have just one widget: %d ", &iSuiteName, iWidgetType));
-	    return ret;
-	    }
-	    
-	CHnRepositoryManager* repManager = CHnRepositoryManager::NewLC();
-	THnSuiteWidgetType widgetType( EUnspecified );
-	TInt err( repManager->ReadSuiteWidgetTypeL( iSuiteName, widgetType ) );
-	if( ( !err || err == KErrNotFound ) && widgetType != EUnspecified )
-		{
-		if ( widgetType == EChangeWidget )
-		    {
-		    ASSERT( iAllowableWidgetType.Find( iWidgetType ) >= 0 );
-		    TInt index = (iAllowableWidgetType.Find( iWidgetType ) + 1) 
-		        % iAllowableWidgetType.Count();
-		    iWidgetType = iAllowableWidgetType[index];
-		    DEBUG8(("\t_MM_: Suite '%S' widget change invoked: %d", &iSuiteName, widgetType));
-		    SaveWidgetTypeL();
-		    }
-		else if ( iAllowableWidgetType.Find( widgetType ) != KErrNotFound )
-		    {
-		    DEBUG8(("\t_MM_: Suite '%S' sets widget: %d from CR", &iSuiteName, widgetType));
-	        iWidgetType = widgetType;
-		    }
-		}
-	CleanupStack::PopAndDestroy( repManager );
-	return ret;
-	}
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::ResultsCollectedL( CLiwGenericParamList* aResults )
-    {
-    CLiwGenericParamList* queriesResultsList = CLiwGenericParamList::NewLC();
-    queriesResultsList->AppendL( *aResults );
-    queriesResultsList->AppendL( GetSuiteParameters() );
-
-    RBuf title;
-    CleanupClosePushL( title );
-    HnLiwUtils::GetStringL( *queriesResultsList, iTitle, title );
-    
-    RBuf suiteTitle;
-    CleanupClosePushL( suiteTitle );
-    HnStringHandler::LocaliseL( suiteTitle, title, iCmnPtrs );
-    
-    DEBUG16( ( "\t_MM_: SetTitleL: %S", &suiteTitle ) ); 
-    iSuiteModel->SetTitleL( suiteTitle );
-    
-    CleanupStack::PopAndDestroy( &suiteTitle );
-    CleanupStack::PopAndDestroy( &title );
-    
-    RBuf emptyText;
-    CleanupClosePushL( emptyText );
-    HnLiwUtils::GetStringL( *queriesResultsList, iEmptyText, emptyText );
-    
-    RBuf emptyTextLoc;
-    CleanupClosePushL( emptyTextLoc );
-    HnStringHandler::LocaliseL( emptyTextLoc, emptyText, iCmnPtrs );
-    
-    DEBUG16(("\t_MM_: SetEmptyTestL: %S", &emptyTextLoc));
-    iSuiteModel->SetEmptyTextL( emptyTextLoc );
-    
-    CleanupStack::PopAndDestroy( &emptyTextLoc );
-    CleanupStack::PopAndDestroy( &emptyText );
-    
-    // set widget type
-    SetAlternativeWidgetL( *queriesResultsList );
-    iSuiteModel->SetWidgetType( iWidgetType );
-    
-    // set custom id
-    SetCustomIdL( iSuiteModel, *queriesResultsList, 0 );
-    
-    // set exit mode
-    SetExitModeL();
-        
-    // set template 
-    SetAlternativeTemplateL( *queriesResultsList );
-    iSuiteModel->SetTemplateL( iTemplate );
-    
-    // add widget type to aParams
-    AddInternalStateL( GetSuiteParameters() );
-    DEBUG(("\t_MM_: WidgetType: %d", iSuiteModel->WidgetType()));
-            
-    // evaluate actions
-    iEventMapping->FillActionsL( iSuiteModel->GetActions(), 
-            *queriesResultsList );
-    
-    CleanupStack::PopAndDestroy( queriesResultsList );
-
-    iSuiteModel->RefreshMulModelL( iSuiteModel->GetItemsOrder()->Count() );
-    TBool observersNotified = iSuiteModel->SuiteEvaluationFinishedL();
-    if ( observersNotified )
-        {
-        iCmnPtrs->iModel->SuiteModelReadyToShowL( iSuiteModel );
-        }
-    
-    // set uri based highlight
-    SetUriBasedHighlightL();
-
-    //DEBUG16(("\t\t_MM_: SetTemplate: "));
-    DEBUG(("_MM_: CHnMdSuite::ResultsCollectedL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetUriBasedHighlightL()
-    {
-    RBuf tmp;
-    CleanupClosePushL( tmp );
-    HnLiwUtils::GetStringL( *iSuiteParams, KParamsUriHighlightSuite, tmp );
-    
-    if ( !tmp.Compare( this->iSuiteName ) )
-        {
-        tmp.Close();
-        HnLiwUtils::GetStringL( *iSuiteParams, KParamsUriHighlight, tmp );
-        
-        TLex lexFrag( tmp );
-        TInt highLight( 0 );
-        if( !( lexFrag.Val( highLight ) ) )
-            {
-            iSuiteModel->SetSuiteHighlightL( highLight ); 
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &tmp );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetCustomIdL( TXmlEngElement aElement )
-    {
-    iCustomId8.Close();
-    
-    if ( aElement.HasAttributeL( KCustomId8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KCustomId8 );
-    	iCustomId8.CreateL( av );
-    	}
-    else
-    	{
-    	iCustomId8.CreateL( KItemTypeUnknown8 );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetCustomIdL( CHnSuiteModel* aSuiteModel, 
-		const CLiwGenericParamList& aParams, TInt aPos )
-	{
-	TInt64 customId( KErrNotFound );
-	if ( KErrNone == HnLiwUtils::GetInt64L(
-			aParams, iCustomId8, aPos, customId ) )
-		{
-		aSuiteModel->SetCustomId( customId );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetExitModeL()
-    {
-    RBuf exitMode;
-    CleanupClosePushL( exitMode );
-    HnLiwUtils::GetStringL( *iSuiteParams, KExitModeParams, exitMode );
-    
-    if ( !exitMode.Compare( KExitModeHide ) )
-        {
-        iSuiteModel->SetExitMode( EExitModeHide );
-        }
-    else
-        {
-        iSuiteModel->SetExitMode( EExitModeNormal );
-        }
-    
-    CleanupStack::PopAndDestroy( &exitMode );
-    }
-
-
-// End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdtoolbar.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +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:   
-*
-*/
-
-
-#include <xmlengelement.h>
-#include <xmlengnodelist.h>
-
-#include "hnmdtoolbar.h"
-#include "hnmdbutton.h"
-#include "hnconvutils.h"
-#include "hnglobals.h"
-#include "hntoolbarmodel.h"
-#include "hnbuttonmodel.h"
-#include "hnattributebase.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdToolbar* CHnMdToolbar::NewLC( TXmlEngElement aElement,
-                                            THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdToolbar* self = new( ELeave ) CHnMdToolbar;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdToolbar* CHnMdToolbar::NewL( TXmlEngElement aElement,
-      THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdToolbar* self = CHnMdToolbar::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdToolbar::EvaluateL( CHnToolbarModel* aToolbar, 
-                              const CLiwGenericParamList& aQueryResults, 
-                              TInt aPos )
-    {
-    TInt buttonCount = iButtons.Count();
-    for( TInt i( 0 ); i < buttonCount; i++ )
-        {
-        if( iButtons[ i ]->ValidateToAddL( aQueryResults, aPos ) && 
-                aToolbar->GetButton( iButtons[ i ]->GetIndex() ) == NULL )
-            {
-            CHnButtonModel* button = CHnButtonModel::NewLC( 
-                    iButtons[ i ]->GetIndex() );
-
-        	const TDesC& helpText = iButtons[ i ]->EvaluateButtonTextL( aQueryResults, aPos );
-        	button->SetHelpTextL( helpText );
-            
-            button->SetEventId( iButtons[ i ]->GetEventId() );
-            button->SetDimmed( 
-                    iButtons[ i ]->ValidateToDimmL( aQueryResults, aPos ) );
-            
-            CHnAttributeBase* attributeImage = iButtons[ i ]->EvaluateIconL( aQueryResults, aPos );
-            button->SetIcon( attributeImage );
-            
-            aToolbar->AddButtonL( button );
-            CleanupStack::Pop( button );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdToolbar::~CHnMdToolbar( )
-    {
-    iButtons.ResetAndDestroy();    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdToolbar::CHnMdToolbar()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdToolbar::ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs )
-    {
-    TXmlEngElement toolbarElement;
-    if ( aElement.Name().Compare( KMenuToolbar8 ) != 0 )
-        {
-        RXmlEngNodeList< TXmlEngElement > children;
-        CleanupClosePushL( children );
-        aElement.GetChildElements( children );
-        TInt count = children.Count();
-        
-        for ( TInt i = 0; i < count; i++ )
-            {
-            TXmlEngElement child = children.Next();
-            if ( !child.Name().Compare( KMenuToolbar8 ) )
-                {
-                CreateButtonsL( child, aCmnPtrs );
-                }
-            }
-        CleanupStack::PopAndDestroy( &children );
-        }
-     
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdToolbar::CreateButtonsL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs )
-    {
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL( children );
-    aElement.GetChildElements( children );
-    TInt count = children.Count();
-        
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TXmlEngElement child = children.Next();
-        if ( !child.Name().Compare( KMenuButton8 ) )
-            {
-            CHnMdButton* button = CHnMdButton::NewLC( child, aCmnPtrs );
-            iButtons.AppendL( button );
-            CleanupStack::Pop( button );
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmduimapping.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include <e32hashtab.h>
-
-#include "menudebug.h"
-#include "hnmduimapping.h"
-#include "hnmduimappingelement.h"
-#include "hnutils.h"
-#include "hnglobals.h"
-#include "hnitemmodel.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMapping::ConstructL( TXmlEngElement aElement,
-                                 THnMdCommonPointers* aCmnPtrs )
-    {
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL(children);
-    aElement.GetChildElements(children);
-    TInt amount = children.Count();
-    
-    TPtrC8 n = aElement.Name();
-
-    for (TInt j = 0; j < amount; j++ )
-        {
-        TXmlEngElement item = children.Next();
-        
-        if ( !item.Name().Compare( KOutputElementItem8 ) )
-            {
-            CHnMdUiMappingElement *element =
-                CHnMdUiMappingElement::NewL( item , aCmnPtrs );
-            this->AddUiMappingElementL( element );
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMapping::AddUiMappingElementL( 
-    CHnMdUiMappingElement *aUiMappingElement )
-    {
-    iMappings.AppendL( aUiMappingElement );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMapping* CHnMdUiMapping::NewL( TXmlEngElement aElement,
-                                      THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdUiMapping* self = CHnMdUiMapping::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMapping* CHnMdUiMapping::NewLC( TXmlEngElement aElement,
-                                       THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdUiMapping* self = new( ELeave ) CHnMdUiMapping;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMapping::CHnMdUiMapping()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMapping::~CHnMdUiMapping()
-    {
-    iMappings.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdUiMapping::FillGraphicalItemL( CHnItemModel* aItemModel ,
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    RPointerArray< TDesC8 > aliases;
-    CleanupClosePushL( aliases );
-    
-    TBool ret( ETrue );
-    for ( TInt i(0); i < iMappings.Count(); i++ )
-        {     
-        CHnMdUiMappingElement* uiElem = iMappings[ i ];
-        ASSERT( uiElem );
-        TBool alreadyFilled( EFalse );
-        const TDesC8* alias = &uiElem->Alias();
-        for( TInt index( 0 ); index < aliases.Count(); index++ )
-            {
-            if ( !aliases[ index ]->Compare( *alias ) )
-                {
-                alreadyFilled = ETrue;
-                }
-            }
-        if (  !alreadyFilled && uiElem->IsValidL( aQueriesResultsList, aPos ) )
-            {
-            aliases.AppendL( alias );
-            ret = uiElem->FillGraphicalItemL( aItemModel, aQueriesResultsList, aPos );
-            if ( !ret )
-                {
-                break;
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy( &aliases );
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmduimappingelement.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +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:  
-*
-*/
-
-
-#include "hnmduimappingelement.h"
-#include "hnmdkeyfactory.h"
-#include "hnmdbasekey.h"
-#include "hnconvutils.h"
-#include "menudebug.h"
-#include "hnitemmodel.h"
-#include "bautils.h"
-#include "hnglobals.h"
-#include "hnmdvaluebase.h"
-#include "hnmdmodel.h"
-#include "hninterface.h"
-#include "hnconditioninterface.h"
-#include "hnattributebase.h"
-#include "hnattributeimage.h"
-#include "hnconditionfactory.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMappingElement::ConstructL( const TXmlEngElement& aElement,
-                                        THnMdCommonPointers* aCmnPtrs )
-    {
-    ASSERT( !aElement.Name().Compare( KOutputElementItem8 ) );
- 
-    // set alias
-    SetAliasL( aElement.AttributeNodeL( KAliasAttrName8 ) );
-    
-    // set condition
-    if( aElement.AttributeValueL( KMenuConditionAttrName8 ).Length() )
-        {
-        iCondition = HnConditionFactory::NewL( 
-                aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-    
-    // common pointers
-    iCmnPtrs = aCmnPtrs;
-    
-    if ( aElement.IsSimpleTextContents() == EFalse &&
-            aElement.HasChildNodes() )
-        {
-        // get child element from output and pass to set value
-        RXmlEngNodeList< TXmlEngElement > childElements;
-        CleanupClosePushL( childElements );
-        aElement.GetChildElements( childElements );
-        TXmlEngElement childElement = childElements.Next();
-        // it could be text/image node
-        SetValueL( childElement, aCmnPtrs );
-        CleanupStack::PopAndDestroy( &childElements );
-        }
-    else
-        {
-        // handle output node
-        SetValueL( aElement, aCmnPtrs );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnMdUiMappingElement::Alias() const
-    {
-    return iAlias;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMappingElement::SetAliasL( const TXmlEngAttr& aName )
-    {
-    iAlias.Close();
-    iAlias.CreateL( aName.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMappingElement::SetValueL( const TXmlEngElement& aValue,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    delete iValue;
-    iValue = NULL;
-    iValue = CHnMdValueBase::CreateL( aValue, aCmnPtrs );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMappingElement* CHnMdUiMappingElement::NewL( TXmlEngElement aElement,
-                                              THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdUiMappingElement* self = CHnMdUiMappingElement::NewLC( aElement,
-                                                                aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMappingElement* CHnMdUiMappingElement::NewLC( TXmlEngElement aElement,
-                                              THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdUiMappingElement* self = new( ELeave ) CHnMdUiMappingElement;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMappingElement::CHnMdUiMappingElement()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMappingElement::~CHnMdUiMappingElement()
-    {
-    iAlias.Close();
-    delete iValue;
-    delete iCondition;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdUiMappingElement::FillGraphicalItemL( CHnItemModel* aItemModel ,
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    TBool ret = EFalse;
-    CHnAttributeBase* attr = iValue->CreateAttributeL( 
-            &aQueriesResultsList, aPos );
-    
-    if( attr )
-        {
-        CleanupStack::PushL( attr );
-        attr->SetNameL( iAlias );
-        aItemModel->SetAttributeL( attr ); 
-        CleanupStack::Pop( attr );
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdUiMappingElement::IsValidL( 
-                    const CLiwGenericParamList& aQueryResults, TInt aPos )    
-    {
-    TBool ret( EFalse );
-    
-    if( !iCondition || iCondition->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvaluebase.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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:   
-*
-*/
-
-#include <xmlengdom.h>
-#include <liwservicehandler.h>
-
-#include "hnmdvaluebase.h"
-#include "hnmdvalueimage.h"
-#include "hnmdvaluetext.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueBase* CHnMdValueBase::CreateL(
-        const TXmlEngElement& aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdValueBase* ret( NULL );
-            
-    // check the child element name
-    if ( !aElement.Name().Compare( KImageElementItem8 ) )
-        {
-        ret = CHnMdValueImage::NewL( aElement, aCmnPtrs);
-        }
-    else if ( !aElement.Name().Compare( KTextElementItem8 ) )
-        {
-        ret = CHnMdValueText::NewL(aElement, aCmnPtrs);
-        }
-    else if ( !aElement.Name().Compare( KOutputElementItem8 ) )
-        {
-        // now we have two options, element value, or attribute
-        // text will hande it
-        ret = CHnMdValueText::NewL(aElement, aCmnPtrs);
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }    
-    return ret;
-    }
-
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvalueimage.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,618 +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:   
-*
-*/
-
-
-#include <xmlengdom.h>
-#include <bautils.h>
-#include <liwcommon.h>
-#include <AknsSkinInstance.h> 
-#include <AknsDrawUtils.h> 
-#include <gulicon.h> 
-
-#include "hnmdvalueimage.h"
-#include "hnglobals.h"
-#include "hnmdmodel.h"
-#include "AknsUtils.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnutils.h"
-#include "bitdev.h"
-#include "hnattributebase.h"
-#include "hnattributeimage.h"
-#include "menudebug.h"
-#include "hnbitmapidcache.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueImage* CHnMdValueImage::NewLC(
-        const TXmlEngElement& aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdValueImage* self = 
-        new (ELeave)CHnMdValueImage();
-    CleanupStack::PushL(self);
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueImage* CHnMdValueImage::NewL(
-        const TXmlEngElement& aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdValueImage* self =
-        CHnMdValueImage::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdValueImage::ConstructL( const TXmlEngElement& aElement,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    iCmnPtrs = aCmnPtrs;
-    iPos = 0;
-    
-    HnUtils::SetAttributeL( aElement, KFile8, iFileNameSrc8 );
-    if ( iFileNameSrc8.Length( ) == 0 )
-        {
-        HnUtils::SetAttributeL( aElement, iFileNameSrc8 );
-        }
-    HnUtils::SetAttributeL( aElement, KSkinIdMinor8, iSkinIdMinor8 );
-    HnUtils::SetAttributeL( aElement, KSkinIdMajor8, iSkinIdMajor8 );
-    HnUtils::SetAttributeL( aElement, KBitmapId8, iBitmapId8 );
-    HnUtils::SetAttributeL( aElement, KMaskId8, iMaskId8 );
-    HnUtils::SetAttributeL( aElement, KMifFile8, iMifFile8 );
-    HnUtils::SetAttributeL( aElement, KAppUid8, iApplicationUid8 );
-    HnUtils::SetAttributeL( aElement, KBitmap8, iBitmap8 );
-    HnUtils::SetAttributeL( aElement, KMask8, iMask8 );
-    
-    iMifFileName = GetMifFileNameL();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ----------------------------------------------------------------------------
-//
-TInt CHnMdValueImage::GetResourceIdL( const TDesC8& aResourceFileContents,
-        const TDesC8& aResourceName )
-    {
-    HBufC8* resourceWithSeparator = 
-        HBufC8::NewLC( aResourceName.Length() + KResourceSeparator().Length() );   
-    resourceWithSeparator->Des().Append( aResourceName ); 
-    resourceWithSeparator->Des().Append( KResourceSeparator() );
-    
-    TInt position = aResourceFileContents.Find( *resourceWithSeparator );
-
-    TInt id( KErrNotFound );
-    
-    if ( position >= 0 )
-        {
-        TPtrC8 contentAfterMid = aResourceFileContents.Mid(
-                    position + resourceWithSeparator->Length() );    
-    
-        TChar comma( KComma()[0] );
-        TInt posEnd = contentAfterMid.Locate( comma );
-        
-        if ( posEnd >= 0 )
-            {
-    
-            TPtrC8 resourceId = contentAfterMid.Left( posEnd );
-        
-            HBufC8* resourceTrimmed = resourceId.AllocL();
-            resourceTrimmed->Des().Trim();
-        
-            // GET ICON ID
-            HnConvUtils::Str8ToInt( *resourceTrimmed, id );
-            
-            delete resourceTrimmed; 
-            }
-        }
-    
-    //cleanup    
-    CleanupStack::PopAndDestroy( resourceWithSeparator );
-    
-    return id;        
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnMdValueImage::SetImageSourceL()
-    {
-    if ( iBitmapId8.Length() > 0 && iMaskId8.Length() > 0 &&
-            iMifFile8.Length() > 0 )
-        {
-        iImageSource = EImageSourceResource;
-        // check if file exists
-        if ( !iMifFileName ||
-                !BaflUtils::FileExists( iCmnPtrs->iFs, *iMifFileName ) )
-            {
-            iImageSource = EImageSourceUndefined;
-            }
-        }
-    else if ( iFileNameSrc8.Length() > 0  )
-        {
-        iImageSource = EImageSourceFile;
-        // check if file exists
-        HBufC* fn = GetFileNameSrcL();
-        CleanupStack::PushL( fn );
-        if ( EFalse == BaflUtils::FileExists( iCmnPtrs->iFs, *fn ) )
-            {
-            iImageSource = EImageSourceUndefined;
-            }
-        CleanupStack::PopAndDestroy( fn );
-        }
-    else if ( iBitmap8.Length() > 0 && iMask8.Length() > 0 ) 
-        {
-        iImageSource = EImageSourceLiw;
-        }
-    else if ( iApplicationUid8.Length() > 0 )
-        {
-        iImageSource = EImageSourceApplicationUid;
-        }
-    else
-        {
-        iImageSource = EImageSourceUndefined;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueImage::CHnMdValueImage()
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueImage::~CHnMdValueImage()
-    {
-    iFileNameSrc8.Close();
-    //iFileName.Close();
-    iBitmap8.Close();
-    iMask8.Close();
-    iSkinIdMinor8.Close();
-    iSkinIdMajor8.Close();
-    iBitmapId8.Close();
-    iMaskId8.Close();
-    iApplicationUid8.Close();
-    iMifFile8.Close();
-    iReturnValue.Close();
-    delete iMifFileName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnAttributeBase* CHnMdValueImage::CreateAttributeL( 
-        const CLiwGenericParamList* aParamList,
-        TInt aPos )
-    {
-    iParamList = aParamList;
-    iPos = aPos;
-    CHnAttributeImage* attr = CHnAttributeImage::NewLC();
-    SetAttributeDataL( attr );
-    CleanupStack::Pop( attr );
-    return attr;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-void CHnMdValueImage::SetAttributeDataL( CHnAttributeImage* aAttr )
-    {
-    TInt bitmapId = 0;
-    TInt maskId = 0;
-    delete iMifFileName;
-    iMifFileName = NULL;
-    iMifFileName = GetMifFileNameL(); 
-    GetBitmapAndMaskIdL( bitmapId, maskId );
-    
-    if ( iMifFileName )
-        {
-        aAttr->SetMifFile( iMifFileName->AllocL() );
-        }
-    else
-        {
-        aAttr->SetMifFile( NULL );
-        }
-    aAttr->SetSkinId( SkinIdL() );
-    aAttr->SetBitmapId( bitmapId );
-    aAttr->SetMaskId( maskId );
-    aAttr->SetApplicationUid( ApplicationUidL() );
-    aAttr->SetBitmap( BitmapL() );
-    aAttr->SetMask( MaskL() );
-    aAttr->SetFileNameSrc( GetFileNameSrcL() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdValueImage::GetFileNameSrcL()
-    {
-    RBuf tmpBuf;
-    CleanupClosePushL( tmpBuf );
-    
-    HnLiwUtils::GetStringL( *iParamList, iFileNameSrc8, iPos, tmpBuf );
-    HBufC* ret = tmpBuf.AllocL();
-    CleanupStack::PopAndDestroy( &tmpBuf );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdValueImage::FindMatchigMifFileL( const RFs& aFs, TDesC& aFileName )
-    {
-    DEBUG16(("_MM_: CHnMdValueImage::FindMatchigMifFileL IN"));
-
-    // whole path to the mif file was not specified
-    TDriveList driveList;
-    HBufC* ret = NULL;
-
-    if ( KErrNone == aFs.DriveList( driveList ) )
-        {
-        TInt driveNumber( EDriveY ); // start with drive Y
-        do // iterates through drives: Y, X, W, ..., C, B, A, Z
-            {
-            if ( driveList[ driveNumber ] )
-                {
-                ret = HBufC::NewLC(
-                        1 + KRscPath().Length() + // 1 - drive letter len. 
-                        aFileName.Length() );
-                TPtr ptr( ret->Des() );
-                TChar driveLetter;
-                aFs.DriveToChar( driveNumber, driveLetter );
-                ptr.Append( driveLetter );
-                ptr.Append( KRscPath );
-                ptr.Append( aFileName );
-                
-                if ( BaflUtils::FileExists( aFs, *ret ) )
-                    {
-                    // break if file was found
-                    CleanupStack::Pop( ret );
-                    break;
-                    }
-                else
-                    {
-                    CleanupStack::PopAndDestroy( ret );
-                    ret = NULL;
-                    }
-                }
-            /* The below formula is created so that the loop itarates
-               through drives in the following order:
-               Y, X, W, ..., D, C, B, A, Z.
-               Drive Y is most important. */
-            ( --driveNumber >= 0 ) ? driveNumber %= KMaxDrives :
-                driveNumber = EDriveZ;
-            }
-        while( EDriveY != driveNumber );
-        }
-    DEBUG16(("_MM_: CHnMdValueImage::FindMatchigMifFileL OUT"));
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdValueImage::GetMifFileNameL()
-    {
-    DEBUG16(("_MM_: CHnMdValueImage::GetMifFileNameL IN"));
-    HBufC* ret = NULL;
-    RBuf tmpBuf;
-    CleanupClosePushL( tmpBuf );
-
-    TInt errCode = HnLiwUtils::GetStringL( *iParamList, iMifFile8, iPos, tmpBuf );
-    if ( !BaflUtils::FileExists( iCmnPtrs->iFs, tmpBuf ) && tmpBuf.Length() )
-        {
-        // fileName was retrieved but corresponding file was not found
-        ret = FindMatchigMifFileL( iCmnPtrs->iFs, tmpBuf );
-        }
-    else if ( tmpBuf.Length() )
-        {
-        // return fileName as it is
-        ret = tmpBuf.AllocL();
-        }
-    
-    // clean up
-    CleanupStack::PopAndDestroy( &tmpBuf );
-   
-    DEBUG16(("_MM_: CHnMdValueImage::GetMifFileNameL OUT"));
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-TAknsItemID CHnMdValueImage::SkinIdL()
-    {
-    TAknsItemID retItemId( KAknsIIDNone );
-    
-    TInt skinIdMinor( KErrNotFound );
-    TInt skinIdMajor( KErrNotFound );
-    
-    RBuf8 bufMajor;
-    RBuf8 bufMinor;
-    CleanupClosePushL(bufMinor);
-    CleanupClosePushL(bufMajor);
-    
-    HnLiwUtils::GetStringL( *iParamList, iSkinIdMajor8, iPos, bufMajor );
-    HnLiwUtils::GetStringL( *iParamList, iSkinIdMinor8, iPos, bufMinor );
-
-    if ( KErrNone == HnConvUtils::Str8ToInt( bufMinor, skinIdMinor) &&
-            KErrNone == HnConvUtils::Str8ToInt( bufMajor, skinIdMajor) )
-        {
-        retItemId.Set( skinIdMajor, skinIdMinor );
-        }
-     
-    CleanupStack::PopAndDestroy(&bufMajor);
-    CleanupStack::PopAndDestroy(&bufMinor);
-    return retItemId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CHnMdValueImage::GetBitmapAndMaskIdL( TInt& aBitmapId, TInt& aMaskId )
-    {
-    aBitmapId = KErrNotFound;
-    aMaskId = KErrNotFound;
-        
-    RBuf8 bitmapIdBuf;
-    CleanupClosePushL( bitmapIdBuf );
-    RBuf8 maskIdBuf;
-    CleanupClosePushL( maskIdBuf );
-    
-    HnLiwUtils::GetStringL( *iParamList, iBitmapId8, iPos, bitmapIdBuf );
-    HnLiwUtils::GetStringL( *iParamList, iMaskId8, iPos, maskIdBuf );
-    TBool bitmapIdLookupNeeded =
-            HnConvUtils::Str8ToInt( bitmapIdBuf, aBitmapId ) != KErrNone;
-    TBool maskIdLookupNeeded =
-            HnConvUtils::Str8ToInt( maskIdBuf, aMaskId ) != KErrNone;
-    
-    // if bitmap and mas ids are stored in mbg file
-    if ( ( bitmapIdLookupNeeded || maskIdLookupNeeded ) && iMifFileName )
-        {
-        // look up in cache
-        RBuf8 keyBitmap;
-        RBuf8 keyMask;
-        CreateKeysLC( keyBitmap, bitmapIdBuf, keyMask, maskIdBuf );
-        
-        iCmnPtrs->iBitmapIdCache->GetL( keyBitmap, aBitmapId );
-        iCmnPtrs->iBitmapIdCache->GetL( keyMask, aMaskId );
-        
-        // if not found in cache read ids from mbg file
-        if ( aBitmapId == KErrNotFound || aMaskId == KErrNotFound )
-            {
-            HBufC* path = ReplaceFileExtensionLC( *iMifFileName, KMbg() );
-            HBufC8* fileContents = NULL;
-            TRAPD( readFileErr, fileContents = HnUtils::ReadFileL( *path ) );
-            if ( !readFileErr && fileContents )
-                {
-                CleanupStack::PushL( fileContents );
-                if ( bitmapIdLookupNeeded )
-                    {
-                    aBitmapId = GetResourceIdL( *fileContents,  bitmapIdBuf );
-                    iCmnPtrs->iBitmapIdCache->AddL( keyBitmap, aBitmapId );
-                    }
-                if ( maskIdLookupNeeded )
-                    {
-                    aMaskId = GetResourceIdL( *fileContents,  maskIdBuf );
-                    iCmnPtrs->iBitmapIdCache->AddL( keyMask, aMaskId );
-                    }
-                CleanupStack::PopAndDestroy( fileContents );
-                }
-            CleanupStack::PopAndDestroy( path );
-            }
-        CleanupStack::PopAndDestroy( &keyMask );
-        CleanupStack::PopAndDestroy( &keyBitmap );
-        }
-    
-    CleanupStack::PopAndDestroy( &maskIdBuf );
-    CleanupStack::PopAndDestroy( &bitmapIdBuf );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdValueImage::ReplaceFileExtensionLC(
-        const TDesC& aPath, const TDesC& aNewExt )
-    {
-    HBufC* newPath = HBufC::NewLC( aPath.Length() );
-    newPath->Des().Copy( aPath );
-    TInt extPos = newPath->LocateReverse( '.' );
-    User::LeaveIfError( extPos );
-    newPath->Des().Replace( extPos, newPath->Length() - extPos, aNewExt );
-    return newPath;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-TUid CHnMdValueImage::ApplicationUidL()
-    {
-    TUid uid;
-    TUint result( 0 );
-    
-    RBuf8 buf;
-    CleanupClosePushL(buf);
-    HnLiwUtils::GetStringL( *iParamList, iApplicationUid8, iPos, buf );
-    
-    if( buf.Length() )
-        {
-        TLex8 lex( buf );
-        if( !buf.Find( KHexPrefix8 ) )
-            {
-            lex.Inc( KHexPrefix8().Length() );
-            lex.Mark();
-            }
-        lex.Val( result, EHex );
-        }
-    uid.iUid = result;
-    
-    CleanupStack::PopAndDestroy(&buf);
-    return uid;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-TLiwVariant* CHnMdValueImage::BitmapFromLiwL( const TDesC8& aPath )
-    {
-    TLiwVariant* ret = new( ELeave ) TLiwVariant;
-    TInt err( KErrNone ); 
-    TInt check( KErrNone );
-    TRAP( err, check = HnLiwUtils::GetVariantL( *iParamList, aPath, iPos, *ret ) );
-    if( err != KErrNone || check != KErrNone )
-        {
-        ret->Reset();
-        delete ret;
-        ret = NULL;
-        }
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TLiwVariant* CHnMdValueImage::BitmapL()
-    {
-    TLiwVariant* ret = NULL;
-    if( iBitmap8.Length() )
-        {
-        ret = BitmapFromLiwL( iBitmap8 );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TLiwVariant* CHnMdValueImage::MaskL()
-    {
-    TLiwVariant* ret = NULL;
-    if( iMask8.Length() )
-        {
-        ret = BitmapFromLiwL( iMask8 );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnMdValueImage::CreateKeysLC( RBuf8& aKeyBitmap, RBuf8& aBitmapIdBuf, 
-		RBuf8& aKeyMask, RBuf8& aMaskIdBuf )	
-	{
-	CleanupClosePushL( aKeyBitmap );
-	CleanupClosePushL( aKeyMask );
-	aKeyBitmap.CreateL( iMifFile8.Length() + aBitmapIdBuf.Length() );
-	aKeyBitmap.Copy( iMifFile8 );
-	aKeyBitmap.Append( aBitmapIdBuf );
-	aKeyMask.CreateL( iMifFile8.Length() + aMaskIdBuf.Length() );
-	aKeyMask.Copy( iMifFile8 );
-	aKeyMask.Append( aMaskIdBuf );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-//CGulIcon* CHnMdValueImage::GetIconL(
-//        const CLiwGenericParamList* aQueriesResultsList, TInt aPos )
-//    {
-//    CGulIcon* gulIcon = NULL;
-//
-//    iParamList = aQueriesResultsList;
-//    iPos = aPos;
-//    
-//    // only to set iImageSource, to be optimized    
-//    SetImageSourceL();
-//    
-//    TSize defaultSize( KDefaultIconSize, KDefaultIconSize );
-//    
-//    CFbsBitmap* bitmap = NULL; 
-//    CFbsBitmap* mask = NULL;
-//        
-//    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-//    
-//    switch( iImageSource )
-//        {
-//        case EImageSourceResource:
-//            {
-//            TInt bitmapId = 0;
-//            TInt maskId = 0;
-//            GetBitmapAndMaskIdL(bitmapId, maskId);
-//            if ( iMifFileName && bitmapId != KErrNotFound )
-//                {
-//                AknsUtils::CreateIconL(
-//                        skin, SkinIdL(), bitmap, mask,
-//                        *iMifFileName, bitmapId, maskId );
-//                }
-//            }
-//            break;
-//        default:
-//            {
-//            User::Panic( KMatrixPanic , 1 );
-//            }    
-//        }
-//       
-//    if ( EImageSourceUndefined != iImageSource )
-//        {        
-//        if ( EImageSourceFile != iImageSource )
-//            {
-//            gulIcon = CGulIcon::NewL( bitmap, mask );
-//            AknIconUtils::SetSize( mask, defaultSize );
-//            AknIconUtils::SetSize( bitmap, defaultSize );
-//            }
-//        else
-//            {
-//            gulIcon = CGulIcon::NewL( bitmap );
-//            AknIconUtils::SetSize( bitmap, defaultSize );
-//            }
-//        }
-//    
-//    return gulIcon;
-//    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvaluetext.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +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:   
-*
-*/
-
-#include <xmlengdom.h>
-#include <liwservicehandler.h>
-#include <hnmdbasekey.h>
-#include <hnconvutils.h>
-
-#include "hnmdvaluetext.h"
-#include "hnglobals.h"
-#include "hnmdmodel.h"
-#include "hnliwutils.h"
-#include "hnutils.h"
-#include "hnstringhandler.h"
-#include "hnattributetext.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueText* CHnMdValueText::NewL(
-        const TXmlEngElement& aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdValueText* self = 
-        new (ELeave)CHnMdValueText();
-    CleanupStack::PushL(self);
-    self->ConstructL( aElement, aCmnPtrs );
-    CleanupStack::Pop(self); 
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnMdValueText::ConstructL( const TXmlEngElement& aElement,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    iCmnPtrs = aCmnPtrs;
-
-    if ( !aElement.Name().Compare( KTextElementItem8 ) )
-        {
-        // handle text node
-        HnUtils::SetAttributeL( aElement, KResourceAttrName8 , iResourceFile );
-        HnUtils::SetAttributeL( aElement, KIdAttrName8 , iResourceId );
-        HnUtils::SetAttributeL( aElement, KValueAttrName8 , iSimpleValue);
-        
-        if (  aElement.HasChildNodes() )
-            {
-            iParameters = new(ELeave)CDesC8ArraySeg(1);
-            iCachedDesParameters = new(ELeave)CDesC16ArraySeg(1);
-            iCachedIntParameters = new(ELeave)CArrayFixSeg<TInt>(1);
-            // get child element from output and pass to set value
-            RXmlEngNodeList< TXmlEngElement > childElements;
-            CleanupClosePushL( childElements );
-            aElement.GetChildElements( childElements );
-            TInt amount = childElements.Count();
-
-            for (TInt i(0); i<amount; i++)
-                {
-                TXmlEngElement child = childElements.Next();
-                RBuf8 tmp;
-                CleanupClosePushL(tmp);
-                HnUtils::SetAttributeL( child, KValueAttrName8 , tmp);
-                if (tmp.Length() > 0)
-                    {
-                    iParameters->AppendL( tmp );
-                    }
-                CleanupStack::PopAndDestroy( &tmp );
-                }
-            CleanupStack::PopAndDestroy( &childElements );
-            }
-        }
-    else 
-        {
-        // it can accept element that have text define in element node
-        // or value attribute
-        if ( iSimpleValue.Length() == 0 )
-            {
-            HnUtils::SetAttributeL( aElement, KValueAttrName8 , iSimpleValue );
-            }
-        HnUtils::SetAttributeL(aElement, iSimpleValue);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueText::CHnMdValueText()
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueText::~CHnMdValueText()
-    {
-    iSimpleValue.Close();
-    iResourceFile.Close();
-    iResourceId.Close();
-    iCachedValue.Close();
-    delete iParameters;
-    delete iCachedDesParameters;
-    delete iCachedIntParameters;
-    }
-
-// ---------------------------------------------------------------------------
-//  
-// ---------------------------------------------------------------------------
-//  
-void CHnMdValueText::FillParamsL( const CLiwGenericParamList* aQueryList, 
-                                   TInt aPos, 
-                                   CDesC16Array& aDesParams,
-                                   CArrayFix<TInt>& aNumericParams)
-    {
-    if (iParameters)
-        {
-        // remove old values
-        aDesParams.Reset();
-        aNumericParams.Reset();
-        
-        for (TInt i(0); i < iParameters->Count(); i++)
-            {
-            TLiwVariant value;
-            CleanupStack::PushL( 
-                    TCleanupItem( TLiwVariant::VariantCleanup , &value) );
-
-            HnLiwUtils::GetVariantL( *aQueryList, 
-                                  iParameters->MdcaPoint(i), 
-                                  aPos, 
-                                  value );
-            
-            if ( value.TypeId() == LIW::EVariantTypeTInt32 )
-                {
-                aNumericParams.AppendL( value.AsTInt32() );
-                } 
-            else if ( value.TypeId() == LIW::EVariantTypeTUint )
-                {
-                aNumericParams.AppendL( value.AsTUint() );
-                }
-            else if ( value.TypeId() == LIW::EVariantTypeTBool )
-                {
-                aNumericParams.AppendL( value.AsTBool() );
-                }
-            else if ( value.TypeId() == LIW::EVariantTypeTTime )
-                {
-                // PW add time formating
-                }
-            else if ( value.TypeId() != LIW::EVariantTypeNull )
-                {
-                RBuf vbuf;
-                CleanupClosePushL(vbuf);
-                HnLiwUtils::VariantToStringL( value, vbuf );
-                aDesParams.AppendL(vbuf);
-                CleanupStack::PopAndDestroy(&vbuf);
-                }
-            CleanupStack::PopAndDestroy(&value); 
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdValueText::GetFromResourceFileL( 
-        const CLiwGenericParamList* aParamList, TInt aPos, RBuf& aValue )
-    {
-    TInt retFile(KErrNotFound);
-    TInt retId(KErrNotFound);
-    RBuf resourceFile;
-    RBuf resourceId;
-
-    CleanupClosePushL(resourceFile);
-    CleanupClosePushL(resourceId);
-     
-    retFile = HnLiwUtils::GetStringL( *aParamList, iResourceFile, aPos, resourceFile );
-    retId = HnLiwUtils::GetStringL( *aParamList, iResourceId, aPos, resourceId );
-    if ( retFile != KErrBadDescriptor && retId != KErrBadDescriptor )
-         {
-         RBuf resourceName;
-         CleanupClosePushL(resourceName);
-         resourceName.CreateL( resourceFile.Length()+ 1 + resourceId.Length() );
-         // concatenate resource file with id, localization understands it
-         resourceName.Append(resourceFile);
-         resourceName.Append(KColon);
-         resourceName.Append(resourceId);
-
-         FillParamsL( aParamList, aPos, *iCachedDesParameters,
-                 *iCachedIntParameters);
-         
-         HnStringHandler::LocaliseL( aValue, resourceName, 
-                 iCachedDesParameters, iCachedIntParameters, iCmnPtrs );
-         
-         CleanupStack::PopAndDestroy(&resourceName);
-         }
-        
-    CleanupStack::PopAndDestroy(&resourceId);
-    CleanupStack::PopAndDestroy(&resourceFile);
-    
-    return (retFile != KErrNone) ? retFile : retId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdValueText::GetSimpleValueL( 
-        const CLiwGenericParamList* aParamList, TInt aPos, RBuf& /*aValue*/ )
-    {
-    TInt ret(KErrNotFound);
-    RBuf vbuf;
-    CleanupClosePushL(vbuf);
-    
-    ret = HnLiwUtils::GetStringL( *aParamList, iSimpleValue, aPos, vbuf );
-    if ( ret != KErrNotFound )
-        {            
-        FillParamsL( aParamList, aPos, *iCachedDesParameters,
-                *iCachedIntParameters);
-        
-        HnStringHandler::LocaliseL( iCachedValue, vbuf,  iCachedDesParameters,                
-                iCachedIntParameters, iCmnPtrs );
-        }
-    CleanupStack::PopAndDestroy(&vbuf); 
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TInt CHnMdValueText::GetL( 
-        const CLiwGenericParamList* aParamList, TInt aPos,
-        TPtrC& aValue )
-    {
-    TInt ret(KErrNone);
-    iCachedValue.Close();
-    // first let's check resource file and id
-    if (iResourceFile.Length() > 0 && iResourceId.Length() > 0)
-        {
-        ret = GetFromResourceFileL(aParamList, aPos, iCachedValue);
-        }
-    // if still cached value is empty, let's try with simple value
-    if (iSimpleValue.Length() > 0 && iCachedValue.Length() == 0 )
-        {
-        ret = GetSimpleValueL(aParamList, aPos, iCachedValue);
-        }
-    
-    aValue.Set(iCachedValue);
-    return ret;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnAttributeBase* CHnMdValueText::CreateAttributeL( 
-            const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos )
-    {
-    CHnAttributeText* attr = 0;
-    TPtrC val;
-    if( GetL(aQueriesResultsList, aPos, val) != KErrNotFound )
-        {
-        attr = CHnAttributeText::NewLC();
-        HBufC8* bufVal( HnConvUtils::StrToStr8LC( val ) );
-        attr->SetValueL( *bufVal );
-        
-        // clean up
-        CleanupStack::PopAndDestroy( bufVal );
-        CleanupStack::Pop( attr );
-        }
-    return attr;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnqueryresultcollector.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnqueryresultcollector.h"
-#include "hnmdquery.h"
-#include "hnmdqueries.h"
-#include "hnconvutils.h"
-#include "hnservicehandler.h"
-#include "hnmdservice.h"
-#include "hnmdservicecommand.h"
-
-using namespace LIW;
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnQueryResultCollector* CHnQueryResultCollector::NewL(
-		const CHnMdQueries& aQueries , const CLiwGenericParamList& aParams )
-	{
-	CHnQueryResultCollector* self = NewLC( aQueries , aParams );
-	CleanupStack::Pop( self );
-	return self;
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnQueryResultCollector* CHnQueryResultCollector::NewLC(
-		const CHnMdQueries& aQueries , const CLiwGenericParamList& aParams )
-	{
-	CHnQueryResultCollector* self =
-	new ( ELeave ) CHnQueryResultCollector( aQueries , aParams );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnQueryResultCollector::CHnQueryResultCollector(
-		const CHnMdQueries& aQueries ,
-		const CLiwGenericParamList& aParams) : CActive ( EPriorityStandard ),
-                                        	   iQueries( aQueries ),
-                                        	   iParams( aParams )
-	{
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnQueryResultCollector::~CHnQueryResultCollector()
-	{
-	Cancel();
-	delete iResults;
-	delete iCurrentQueryResults;
-	delete iSh;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::ConstructL()
-	{
-	iResults = CLiwGenericParamList::NewL();
-	iCurrentQueryResults = CLiwGenericParamList::NewL();
-	CActiveScheduler::Add( this );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::StartAsynchL(
-        MHnQueryResultCollectorNotification* aNotification )
-    {
-    __ASSERT_DEBUG( aNotification , User::Panic( KMatrixPanic , 0) );
-    iNotification = aNotification;
-    ResetL();
-    if( iQueryIterator < iQueries.Count())
-        {
-        ExecQueryAsynchL();
-        }
-    else
-        {
-        iNotification->ResultsCollectedL( iResults );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::ResetL()
-    {
-    iQueryIterator = 0;
-    iCurrentQueryResults->Reset();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::DoCancel()
-    {
-    iCurrentQueryResults->Reset();
-    delete iSh;
-    iSh = NULL;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnQueryResultCollector::NextQuery()
-    {
-    iQueryIterator++;
-    return iQueryIterator < iQueries.Count();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::HandleQueryResultsL()
-    {
-    HBufC8* name8 = HnConvUtils::StrToStr8FastLC(
-            iQueries.Query( iQueryIterator ).NameSpace() );
-    CLiwDefaultMap* map = CLiwDefaultMap::NewL();
-    map->PushL();
-
-    TLiwGenericParam param;
-    param.PushL();
-    for (TInt i = 0; i < iCurrentQueryResults->Count(); i++)
-        {
-        iCurrentQueryResults->AtL(i, param);
-        map->InsertL( param.Name(), param.Value() );
-        param.Reset();
-        }
-
-    param.SetNameAndValueL( *name8, TLiwVariant( map) );
-    iResults->AppendL(param);
-
-    CleanupStack::PopAndDestroy( &param);
-    CleanupStack::PopAndDestroy( map);
-    CleanupStack::PopAndDestroy(name8);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::RunL()
-    {
-    if ( !iStatus.Int() )
-        {
-        HandleQueryResultsL();
-        }
-
-    if( NextQuery() )
-        {
-        ExecQueryAsynchL();
-        }
-    else
-        {
-        iNotification->ResultsCollectedL( iResults );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::ExecQueryAsynchL()
-    {
-    __ASSERT_DEBUG( iQueryIterator < iQueries.Count() ,
-                    User::Panic( KMatrixPanic , 0) );
-    //cancel any running evaulations
-    Cancel();
-    ExecQueryL( iQueries.Query( iQueryIterator ) );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::ExecQueryL( CHnMdQuery& aQuery )
-    {
-    CLiwGenericParamList* constructor
-        = aQuery.GetService().EvaluateConstructorL( iParams );
-    CleanupStack::PushL( constructor );
-    CLiwGenericParamList* command
-        = aQuery.GetService().EvaluateCommandL( iParams );
-    CleanupStack::PushL( command );
-
-    delete iSh;
-    iSh = NULL;
-    iSh = CHnServiceHandler::NewL(
-            aQuery.GetService().GetServiceName(),
-            aQuery.GetService().GetInterfaceName(),
-            aQuery.GetService().GetCommand().GetCommandName(),
-            aQuery.GetService().GetCommand().GetCommandMode(),
-            constructor,
-            command );
-
-    CleanupStack::Pop( command );
-    CleanupStack::Pop( constructor );
-
-    iSh->ExecuteL( *iCurrentQueryResults, iStatus );
-    }
-
-
-
-// End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnrepositoryobserver.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,805 +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:  factory settings for active space
-*
-*/
-
-
-#include <centralrepository.h>
-#include <menudebug.h>
-#include <apadef.h>
-#include <AknDef.hrh>
-#include "hnrepositoryobserver.h"
-#include "hnglobals.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnsuitemodel.h"
-#include "hnmdsuite.h"
-#include "hnitemsorder.h"
-#include "hnliwutils.h"
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "hnconvutils.h"
-#include "hnsuiteobserver.h"
-#include "hnmdmodel.h"
-
-class CHnServiceHandler;
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryObserver::ConstructL( const TUid aRepositoryUid )
-    {
-    iRepository = CRepository::NewL( aRepositoryUid );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryObserver::CHnRepositoryObserver( THnMdCommonPointers* aCmnPtrs )
-    : iCmnPtrs(aCmnPtrs)
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryObserver::CHnRepositoryObserver( THnMdCommonPointers* aCmnPtrs, TUint32 aId  )
-: iId( aId ), iCmnPtrs(aCmnPtrs)
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryObserver::~CHnRepositoryObserver()
-    {
-    if (iNotifyHandler)
-        iNotifyHandler->StopListening();
-    delete iNotifyHandler;
-    delete iRepository;
-    }
-
-
-// class CHnRepositoryWidgetTypeObserver
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryWidgetTypeObserver * CHnRepositoryWidgetTypeObserver::NewL(
-        THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid )
-    {
-    CHnRepositoryWidgetTypeObserver * self = CHnRepositoryWidgetTypeObserver::NewLC( aCmnPtrs, aRepositoryUid );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryWidgetTypeObserver * CHnRepositoryWidgetTypeObserver::NewLC(
-        THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid )
-    {
-    CHnRepositoryWidgetTypeObserver * self = new (ELeave) CHnRepositoryWidgetTypeObserver( aCmnPtrs );
-    CleanupStack::PushL(self);
-    self->ConstructL( aRepositoryUid );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryWidgetTypeObserver::ConstructL( const TUid aRepositoryUid )
-    {
-    CHnRepositoryObserver::ConstructL( aRepositoryUid );
-    iNotifyHandler = CCenRepNotifyHandler::NewL(*this, *iRepository );
-    iNotifyHandler->StartListeningL();
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryWidgetTypeObserver::CHnRepositoryWidgetTypeObserver( THnMdCommonPointers* aCmnPtrs )
-    : CHnRepositoryObserver( aCmnPtrs )
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryWidgetTypeObserver::~CHnRepositoryWidgetTypeObserver()
-    {
-    iWidgetSwitches.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryWidgetTypeObserver::HandleNotifyGeneric(TUint32 aId)
-    {
-    TRAP_IGNORE( HandleNotifyGenericL(aId) );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryWidgetTypeObserver::HandleNotifyGenericL(TUint32 aId)
-    {
-    DEBUG(("_MM_:CHnRepositoryObserver::HandleNotifyGeneric IN"));
-    DEBUG(("\tID: %d",aId));
-    THnSuiteWidgetType suiteState( EUnspecified );
-
-    iRepository->Get( aId, (int &) suiteState);
-    TInt id = iWidgetSwitches.Find(aId);
-
-    if ( suiteState == EChangeWidget )
-        {
-        iWidgetSwitches.AppendL(aId);
-        }
-    else if ( id != KErrNotFound )
-        {
-        iWidgetSwitches.Remove(id);
-        return;
-        }
-
-    CHnSuiteModel* lastSuiteModel = iCmnPtrs->iContainer->GetLastSuiteModel();
-    TBuf <NCentralRepositoryConstants::KMaxUnicodeStringLength> suiteName;
-    if ( iRepository->Get( aId - 1, suiteName ) == KErrNone && lastSuiteModel
-            && lastSuiteModel->WidgetType() != suiteState )
-        {
-        DEBUG16(("\t\tSuite Name: %S",&suiteName));
-        lastSuiteModel->GetItemsOrder()->MarkSuiteUninitialized();
-
-        TInt32 suiteId = lastSuiteModel->CustomId();
-
-        CLiwGenericParamList* inParam = CLiwGenericParamList::NewL();
-        CleanupStack::PushL( inParam );
-
-        CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-
-        map->InsertL( KGenreName8, TLiwVariant(suiteName) );
-        map->InsertL( KId8, TLiwVariant(suiteId) );
-        inParam->AppendL(TLiwGenericParam( KFilterElementItem8, TLiwVariant(map) ));
-        CleanupStack::PopAndDestroy( map );
-
-        iCmnPtrs->iModelEventObserver->HandleModelEventL( KReevaluateMdEvent, *inParam );
-
-        CleanupStack::PopAndDestroy( inParam );
-        }
-    DEBUG(("_MM_:CHnRepositoryObserver::HandleNotifyGeneric OUT"));
-    }
-
-
-// class CHnRepositoryShowFolderObserver
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryShowFolderObserver * CHnRepositoryShowFolderObserver::NewL(
-        THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid, const TUint32 aId )
-    {
-    CHnRepositoryShowFolderObserver * self = CHnRepositoryShowFolderObserver::NewLC( aCmnPtrs, aRepositoryUid, aId );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryShowFolderObserver * CHnRepositoryShowFolderObserver::NewLC(
-        THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid, const TUint32 aId )
-    {
-    CHnRepositoryShowFolderObserver * self = new (ELeave) CHnRepositoryShowFolderObserver( aCmnPtrs, aId );
-    CleanupStack::PushL(self);
-    self->ConstructL( aRepositoryUid );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::ConstructL( const TUid aRepositoryUid )
-    {
-    CHnRepositoryObserver::ConstructL( aRepositoryUid );
-    TInt ret = iRepository->Create( iId, KBlank );
-    iNotifyHandler = CCenRepNotifyHandler::NewL(
-        *this, *iRepository,
-    	CCenRepNotifyHandler::EStringKey, iId );
-    iNotifyHandler->StartListeningL();
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryShowFolderObserver::CHnRepositoryShowFolderObserver( THnMdCommonPointers* aCmnPtrs, TUint32 aId  )
-    : CHnRepositoryObserver( aCmnPtrs, aId )
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryShowFolderObserver::~CHnRepositoryShowFolderObserver()
-    {
-    delete iServiceHandler;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::HandleNotifyString(TUint32 aId, const TDesC16& aNewValue )
-    {
-    TRAP_IGNORE( HandleNotifyStringL(aId, aNewValue) );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::HandleNotifyStringL(TUint32 aId, const TDesC16& aNewValue)
-    {
-    DEBUG(("_MM_:CHnRepositoryShowFolderObserver::HandleNotifyStringL IN"));
-    DEBUG(("\tID: %d : %S", aId, &aNewValue));
-
-    //++Show Folder
-    if( aId == iId && aNewValue.Length())
-		{
-        iNotifyType = 0;
-		ExtractCRKeyShowFolderName( aNewValue );
-
-		// iCRKeyFolderItemUid can contain mcs id or uid
-		// in case of uid it will be replaced whith id in HandleNotifyL callback
-		if( iCRKeyFolderItemUid.Length()>0 )
-		    {
-		    if( iCRKeyFolderItemUid.FindF( KHexPrefix8 )==0 )
-		        {
-		        iNotifyType |= EAPP_UID;
-		        }
-		    else
-		        {
-		        iNotifyType |= EAPP_ID;
-		        }
-		    }
-
-        CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId8 );
-        CleanupStack::PushL( inDataKey );
-
-        CHnMdBaseKey* filter( NULL );
-        HBufC8* id( NULL );
-        if ( iCRKeyFolderName.Length()>0 && !( iNotifyType & EAPP_UID ) )
-            {
-            // app group name is known
-            // id is optional
-            id = HnConvUtils::NumToStr8LC( KRootId );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KRecursiveSearch8, KKeyTypeBoolean, KStringTrue8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KFlatResult8, KKeyTypeBoolean, KStringTrue8 ) );
-
-            filter = HnMdKeyFactory::CreateL(
-                    KFilter8, KKeyTypeMap, KStringTrue8 );
-            CleanupStack::PushL( filter );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KMcsAppGroupName8, KKeyTypeString, iCRKeyFolderName ) );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KHidden8, KKeyTypeBoolean, KStringFalse8 ) );
-            }
-        else if( iNotifyType & EAPP_ID )
-            {
-            // no app group name, id is known
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuApplication8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, iCRKeyFolderItemUid ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KParentOnly8, KKeyTypeBoolean, KStringTrue8 ) );
-            }
-        else if( iNotifyType & EAPP_UID )
-            {
-            // uid is known
-            // app group name is optional
-            id = HnConvUtils::NumToStr8LC( KRootId );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KRecursiveSearch8, KKeyTypeBoolean, KStringTrue8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KFlatResult8, KKeyTypeBoolean, KStringTrue8 ) );
-
-            filter = HnMdKeyFactory::CreateL(
-                KFilter8, KKeyTypeMap, KStringTrue8 );
-            CleanupStack::PushL( filter );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KUid8, KKeyTypeInteger, iCRKeyFolderItemUid ) );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuApplication8 ) );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KHidden8, KKeyTypeBoolean, KStringFalse8 ) );
-            }
-        else
-            {
-            // No app group name, no uid. Search for root.
-            id = HnConvUtils::NumToStr8LC( KRootId );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KParentOnly8, KKeyTypeBoolean, KStringTrue8 ) );
-            }
-
-        RPointerArray< CHnMdBaseKey > data;
-        CleanupClosePushL( data );
-        data.AppendL( inDataKey );
-        if ( filter )
-            {
-            data.AppendL( filter );
-            }
-
-        CHnMdBaseKey* serviceData = HnMdKeyFactory::CreateL(
-            KServiceContentName, KKeyTypeString, KMatrixMenuData );
-        CleanupStack::PushL( serviceData );
-
-        RPointerArray< CHnMdBaseKey> constructor;
-        CleanupClosePushL( constructor );
-        constructor.AppendL( serviceData );
-        CLiwGenericParamList* constructorLiw = CLiwGenericParamList::NewLC();
-        CLiwGenericParamList* commandLiw = CLiwGenericParamList::NewLC();
-        HnLiwUtils::SetGenericParamListL( constructor, *constructorLiw );
-        HnLiwUtils::SetGenericParamListL( data, *commandLiw );
-
-        TBuf8< KMaxLength > interface( KMCSDataSourceInterface8 );
-
-        delete iServiceHandler;
-        iServiceHandler = NULL;
-        iServiceHandler = CHnServiceHandler::NewL(
-                KMCSService8, interface, KCmdGetList8,
-                EServiceModeAsynchronous, constructorLiw, commandLiw );
-
-        CleanupStack::Pop( commandLiw );
-        CleanupStack::Pop( constructorLiw );
-
-        iServiceHandler->ExecuteL( this );
-
-        CleanupStack::PopAndDestroy( &constructor );
-        CleanupStack::PopAndDestroy( serviceData );
-        CleanupStack::PopAndDestroy( &data );
-        if( filter )
-            {
-            CleanupStack::PopAndDestroy( filter );
-            }
-        if( id )
-            {
-            CleanupStack::PopAndDestroy( id );
-            }
-        CleanupStack::PopAndDestroy( inDataKey );
-		}
-
-    DEBUG(("_MM_:CHnRepositoryShowFolderObserver::HandleNotifyStringL OUT"));
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName( const TDesC& aNewValue )
-	{
-	DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName IN" ));
-	iCRKeyFolderName.Copy( KBlank );
-	iCRKeyFolderItemUid.Copy( KBlank );
-
-	int keyValueLength = aNewValue.Length();
-	if( keyValueLength )
-		{
-			TApaAppGroupName folder;
-	        TBuf<KTimeStampBufferLength + KUidStringLength + 1> tempBuf;
-	        TBuf<KTimeStampBufferLength> timeStamp;
-
-	        TInt ret = aNewValue.Find( KComma );
-	        if( (ret == KErrNotFound )|| ( ret == ( keyValueLength-1 ) ) )
-	            {
-	            DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName (bad CR key value input) OUT" ));
-	        	return;	//bad CR key value input
-	            }
-	        if( ret>KApaMaxAppGroupName )
-	            {
-	            return;
-	            }
-	        folder.Copy(aNewValue.Left(ret));
-	        if( aNewValue.Length()-ret > tempBuf.MaxLength() )
-	            {
-	            return;
-	            }
-	        tempBuf.Copy(aNewValue.Mid( ret + 1 ) );
-
-	        TInt posUid = tempBuf.Find( KComma );
-	        if ( KErrNotFound != posUid )
-	        	{
-	        	if( posUid>KTimeStampBufferLength )
-	        	    {
-	        	    return;
-	        	    }
-	        	timeStamp.Copy( tempBuf.Left(posUid) );
-	        	if( tempBuf.Length()-(posUid+1) > KUidStringLength )
-	        	    {
-	        	    return;
-	        	    }
-	        	iCRKeyFolderItemUid.Copy( tempBuf.Mid( posUid + 1 ) );
-	        	}
-	        else
-	        	{
-                if( tempBuf.Length()>KTimeStampBufferLength )
-                    {
-                    return;
-                    }
-	        	timeStamp.Copy( tempBuf );
-	        	}
-
-	        TTime currentTime;
-	        currentTime.HomeTime();
-	        TTimeIntervalSeconds interval;
-
-	        TTime timeStampTime;
-	        ret = timeStampTime.Set(timeStamp);
-
-	        if(ret == KErrGeneral )
-	            {
-	            DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName (bad timestamp) OUT" ));
-	        	return; // bad time stamp value
-	            }
-
-	        ret = currentTime.SecondsFrom( timeStampTime, interval );
-
-	        if( interval.Int() < 0 )
-	            {//negative timestamp is set ahead of current time...!
-	            DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName (negative interval) OUT" ));
-	        	return;
-	            }
-
-	        if(( interval.Int()) > KTimeStampCutOff )
-	            {//positive timestamp but more than 5 seconds
-	            DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName (more than 5 seconds) OUT" ));
-	        	return;
-	            }
-	        else
-        	    {
-	        	iCRKeyFolderName.Copy(folder);
-        	    }
-		}
-	DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName OUT" ));
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::GetShowFolderL( TUint32 aFolderId )
-    {
-
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId8 );
-    CleanupStack::PushL( inDataKey );
-    HBufC8* id = HnConvUtils::NumToStr8LC( aFolderId );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KParentOnly8, KKeyTypeBoolean, KStringTrue8 ) );
-
-    RPointerArray< CHnMdBaseKey > data;
-    CleanupClosePushL( data );
-    data.Append( inDataKey );
-
-    CHnMdBaseKey* serviceData = HnMdKeyFactory::CreateL(
-        KServiceContentName, KKeyTypeString, KMatrixMenuData );
-    CleanupStack::PushL( serviceData );
-
-    RPointerArray< CHnMdBaseKey> constructor;
-    CleanupClosePushL( constructor );
-    constructor.Append( serviceData );
-    CLiwGenericParamList* constructorLiw = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* commandLiw = CLiwGenericParamList::NewLC();
-    HnLiwUtils::SetGenericParamListL( constructor, *constructorLiw );
-    HnLiwUtils::SetGenericParamListL( data, *commandLiw );
-
-    TBuf8< KMaxLength > interface( KMCSDataSourceInterface8 );
-
-    delete iServiceHandler;
-    iServiceHandler = NULL;
-    iServiceHandler = CHnServiceHandler::NewL(
-            KMCSService8, interface, KCmdGetList8,
-            EServiceModeAsynchronous, constructorLiw, commandLiw );
-
-    CleanupStack::Pop( commandLiw );
-    CleanupStack::Pop( constructorLiw );
-
-    iServiceHandler->ExecuteL( this );
-
-    CleanupStack::PopAndDestroy( &constructor );
-    CleanupStack::PopAndDestroy( serviceData );
-    CleanupStack::PopAndDestroy( &data );
-    CleanupStack::PopAndDestroy( id );
-    CleanupStack::PopAndDestroy( inDataKey );
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::GetShowFolderGroupNameL()
-    {
-
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId8 );
-    CleanupStack::PushL( inDataKey );
-    HBufC8* id = HnConvUtils::NumToStr8LC( KRootId );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KRecursiveSearch8, KKeyTypeBoolean, KStringTrue8 ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KFlatResult8, KKeyTypeBoolean, KStringTrue8 ) );
-
-    CHnMdBaseKey* filter = HnMdKeyFactory::CreateL(
-            KFilter8, KKeyTypeMap, KStringTrue8 );
-    CleanupStack::PushL( filter );
-    filter->AddSubKeyL( HnMdKeyFactory::CreateL( KMcsAppGroupName8, KKeyTypeString, iCRKeyFolderName ) );
-    filter->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-    filter->AddSubKeyL( HnMdKeyFactory::CreateL( KHidden8, KKeyTypeBoolean, KStringFalse8 ) );
-
-    RPointerArray< CHnMdBaseKey > data;
-    CleanupClosePushL( data );
-    data.AppendL( inDataKey );
-    if ( filter )
-        {
-        data.AppendL( filter );
-        }
-
-    CHnMdBaseKey* serviceData = HnMdKeyFactory::CreateL(
-        KServiceContentName, KKeyTypeString, KMatrixMenuData );
-    CleanupStack::PushL( serviceData );
-
-    RPointerArray< CHnMdBaseKey> constructor;
-    CleanupClosePushL( constructor );
-    constructor.Append( serviceData );
-    CLiwGenericParamList* constructorLiw = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* commandLiw = CLiwGenericParamList::NewLC();
-    HnLiwUtils::SetGenericParamListL( constructor, *constructorLiw );
-    HnLiwUtils::SetGenericParamListL( data, *commandLiw );
-
-    TBuf8< KMaxLength > interface( KMCSDataSourceInterface8 );
-
-    delete iServiceHandler;
-    iServiceHandler = NULL;
-    iServiceHandler = CHnServiceHandler::NewL(
-            KMCSService8, interface, KCmdGetList8,
-            EServiceModeAsynchronous, constructorLiw, commandLiw );
-
-    CleanupStack::Pop( commandLiw );
-    CleanupStack::Pop( constructorLiw );
-
-    iServiceHandler->ExecuteL( this );
-
-    CleanupStack::PopAndDestroy( &constructor );
-    CleanupStack::PopAndDestroy( serviceData );
-    CleanupStack::PopAndDestroy( &data );
-    CleanupStack::PopAndDestroy( filter );
-    CleanupStack::PopAndDestroy( id );
-    CleanupStack::PopAndDestroy( inDataKey );
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnRepositoryShowFolderObserver::HandleNotifyL(
-    TInt /*aCmdId*/,
-    TInt aEventId,
-    CLiwGenericParamList& aEventParamList,
-    const CLiwGenericParamList& /*aInParamList*/)
-	{
-	DEBUG(("_MM_:CHnRepositoryShowFolderObserver::HandleNotifyL IN"));
-	if( aEventId == KLiwEventCanceled )
-        {
-        return KErrNotFound;
-        }
-    else
-        {
-        TInt pos( 0 );
-        const TLiwGenericParam* first = aEventParamList.FindFirst( pos, KReturnValue8() );
-        if( pos==KErrNotFound )
-            {
-            return KErrNotFound;
-            }
-
-        TInt count = first->Value().AsList()->Count();
-        if( !( iNotifyType & ESECOND_NOTIFY ) ) //first notify
-            {
-            if( iCRKeyFolderName.Length()==0 )
-                {
-                // no app group name
-                // it must be found using parent id
-                if ( count == 0 )
-                    {
-                    return KErrNotFound;
-                    }
-                iNotifyType |= ESECOND_NOTIFY;
-                TLiwVariant varId; varId.PushL();
-                TLiwVariant varParentId; varParentId.PushL();
-
-                HnLiwUtils::GetVariantL( aEventParamList, KIdPath8, 0, varId );
-                HnLiwUtils::GetVariantL( aEventParamList, KParentIdPath8, 0, varParentId );
-
-                TInt32 id( 0 );
-                TInt32 parentId( 0 );
-                varId.Get( id );
-                iCRKeyFolderItemUid.Num( id );
-                varParentId.Get( parentId );
-
-                CleanupStack::PopAndDestroy( &varParentId );
-                CleanupStack::PopAndDestroy( &varId );
-
-                GetShowFolderL( parentId );
-                return KErrNone;
-                }
-            else
-                {
-                // app group name is known
-                if( iNotifyType & EAPP_UID )
-                    {
-                    // first get list was used to found id for app item
-                    iNotifyType |= ESECOND_NOTIFY;
-                    if ( count )
-                        {
-                        // uid was given, id is found
-                        // and replaces uid
-                        TLiwVariant varId; varId.PushL();
-                        HnLiwUtils::GetVariantL( aEventParamList, KIdPath8, 0, varId );
-                        TInt32 id( 0 );
-                        varId.Get( id );
-                        iCRKeyFolderItemUid.Num( id );
-                        CleanupStack::PopAndDestroy( &varId );
-                        }
-                    GetShowFolderGroupNameL();
-                    return KErrNone;
-                    }
-                else
-                    {
-                    // intentionally empty
-                    // no uid was given so only one get list is needed
-                    }
-                }
-            }
-            if ( count == 0 )
-                {
-                return KErrNotFound;
-                }
-
-            TLiwVariant varId; varId.PushL();
-            TLiwVariant varAppGroupName; varAppGroupName.PushL();
-            TLiwVariant varSuiteName; varSuiteName.PushL();
-            TLiwVariant varChildrenCount; varChildrenCount.PushL();
-
-            HnLiwUtils::GetVariantL( aEventParamList, KIdPath8, 0, varId );
-            HnLiwUtils::GetVariantL( aEventParamList, KAppGroupNamePath8, 0, varAppGroupName );
-            HnLiwUtils::GetVariantL( aEventParamList, KTitleNamePath8, 0, varSuiteName );
-            HnLiwUtils::GetVariantL( aEventParamList, KChildrenCountPath8, 0, varChildrenCount );
-
-            CLiwGenericParamList* paramList = CLiwGenericParamList::NewL();
-            CleanupStack::PushL( paramList );
-
-            CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-
-            paramList->AppendL( TLiwGenericParam( KSuiteName8,
-                    TLiwVariant( KFolderSuite ) ) );
-
-            map->InsertL( KSuiteName8, varSuiteName );
-            map->InsertL( KFolderId8, varId );
-            map->InsertL( KRemoveLocked8, TLiwVariant( KStringFalse8 ) );
-            map->InsertL( KParentFolderId8, varId );
-            map->InsertL( KTmpParentFolderId8, varId );
-            map->InsertL( KMcsAppGroupName8, varAppGroupName );
-
-            paramList->AppendL( TLiwGenericParam( KParams8, TLiwVariant( map ) ) );
-
-            CleanupStack::PopAndDestroy( map );
-
-            while ( iCmnPtrs->iModel->LoadedSuitesCount() > 1 )
-                {
-                CHnMdSuite* suite = iCmnPtrs->iModel->GetLastSuite();
-                iCmnPtrs->iContainer->PopSuiteModelL( suite->SuiteName() );
-                iCmnPtrs->iModel->DeleteLastSuite();
-                }
-
-            if ( iCmnPtrs->iContainer->GetLastSuiteModel()->CustomId() != varId.AsTInt64() )
-                {
-                iCmnPtrs->iModelEventObserver->HandleModelEventL( KNewSuiteLoadedMdEvent, *paramList );
-                iCmnPtrs->iContainer->GetLastSuiteModel()->RegisterSuiteObserverL( this );
-                iCmnPtrs->iModel->QueueForeground( CHnMdModel::EWhenCurrentTopSuiteIsEvaluated );
-                }
-            else
-                {
-                iCmnPtrs->iContainer->GetLastSuiteModel()->NotifyObserversL( ESuiteModelInitialized );
-                TLex8 lex( iCRKeyFolderItemUid );
-                TInt64 id (0);
-                TInt err = lex.Val( id );
-                TLiwVariant varItemCustomId; varItemCustomId.PushL();
-                varItemCustomId.Set( id );
-                TLiwVariant varId; varId.PushL();
-                varId.Set( iCmnPtrs->iContainer->GetLastSuiteModel()->CustomId() );
-                CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-                CleanupStack::PushL( pl );
-                pl->AppendL( TLiwGenericParam( KSuiteCustomId8, varId ) );
-                pl->AppendL( TLiwGenericParam( KItemCustomId8, varItemCustomId ) );
-                iCmnPtrs->iModelEventObserver->HandleModelEventL( KSetFocusEvent, *pl );
-                iCmnPtrs->iModelEventObserver->HandleModelEventL( KAppGainForeground, *pl );
-                CleanupStack::PopAndDestroy( pl );
-                CleanupStack::PopAndDestroy( &varId );
-                CleanupStack::PopAndDestroy( &varItemCustomId );
-
-                iCRKeyFolderItemUid.Copy( KBlank );
-                }
-
-            iNotifyType = 0;
-            iCRKeyFolderName.Copy( KBlank );
-            iRepository->Set( iId, KBlank );
-
-            CleanupStack::PopAndDestroy( paramList );
-            CleanupStack::PopAndDestroy( &varChildrenCount );
-            CleanupStack::PopAndDestroy( &varSuiteName );
-            CleanupStack::PopAndDestroy( &varAppGroupName );
-            CleanupStack::PopAndDestroy( &varId );
-        }
-
-	DEBUG(("_MM_:CHnRepositoryShowFolderObserver::HandleNotifyL OUT"));
-	return KErrNone;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent,
-        CHnSuiteModel *aModel )
-	{
-
-	if ( aCustomSuiteEvent == ESuiteModelInitialized && iCRKeyFolderItemUid.Length() > 0 )
-		{
-	      if (iCRKeyFolderItemUid.Length() > 0 )
-            {
-            TLex8 lex( iCRKeyFolderItemUid );
-            TInt64 id (0);
-            TInt err = lex.Val( id );
-            TInt focus( KErrNotFound );
-            // If suite is not null, then find matching item model.
-            CHnItemModel* itemModel = aModel->GetMatchingItemModelL( id, focus );
-            aModel->SetSuiteHighlightL( focus );
-            }
-		iCRKeyFolderItemUid.Copy( KBlank );
-		aModel->UnregisterSuiteObserver( this );
-		CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-		CleanupStack::PushL( pl );
-		iCmnPtrs->iModelEventObserver->HandleModelEventL( KAppGainForeground, *pl );
-		CleanupStack::PopAndDestroy( pl );
-		}
-	}
-
-// End of File
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimplecondition.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,397 +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: 
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionequal.h"
-#include "hnsimpleconditiondifferent.h"
-#include "hnsimpleconditiongreater.h"
-#include "hnsimpleconditionhas.h"
-#include "hnsimpleconditionhasnot.h"
-#include "hnsimpleconditionsmaller.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnstringhandler.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSimpleCondition* CHnSimpleCondition::NewL( TDesC8 & aElement )
-    {
-    CHnSimpleCondition* self = CHnSimpleCondition::CreateImplementationL( aElement );
-    CleanupStack::PushL(self);
-    self->ConstructL( aElement );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSimpleCondition* CHnSimpleCondition::CreateImplementationL(
-        TDesC8 & aElement )
-    {
-    TPtrC8 buffer = aElement;
-    CHnSimpleCondition* ret = NULL;
-    if ( buffer.Find( HnLogicalRelations::KLogicalGreater8 )!= KErrNotFound )
-        {
-        ret =  new( ELeave ) CHnSimpleConditionGreater();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalDifferent8 ) != 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionDifferent();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalEqual8 ) != 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionEqual();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalLess8 )!= 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionSmaller();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalHas8 )!= 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionHas();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalHasNot8 )!= 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionHasNot();
-        }
-    else
-        {
-        User::Leave( KErrGeneral );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSimpleCondition::CHnSimpleCondition()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSimpleCondition::~CHnSimpleCondition()
-    {
-    iReferenceRight.Close();
-    iReferenceLeft.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::RemoveQuotes( RBuf8 & aValue )
-    {
-    TInt quoPos = aValue.Locate('\'');
-    if( quoPos == 0 )
-        {
-        aValue.Delete( 0 , 1 );
-        aValue.Delete( aValue.Length() - 1, 1 );
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::ConstructL( TDesC8 & aElement )
-    {
-    TPtrC8 buffer = aElement;
-    TInt pos = GetPositionL( buffer );
-    ASSERT( pos );
-    
-    RBuf8 tempbuf;
-    CleanupClosePushL( tempbuf );
-    tempbuf.CreateL( buffer.Right( buffer.Length() - pos - SignLength() ) );
-    iReferenceRight.Close();
-    iReferenceRight.CreateL( tempbuf );
-    iReferenceRight.Trim();
-    CHnSimpleCondition::RemoveQuotes( iReferenceRight );
-    
-    tempbuf.Close();
-    tempbuf.CreateL( buffer.Left( pos ) );
-    
-    iReferenceLeft.Close();
-    iReferenceLeft.CreateL( tempbuf );
-    iReferenceLeft.Trim();
-    CHnSimpleCondition::RemoveQuotes( iReferenceLeft );
-    
-    CleanupStack::PopAndDestroy( &tempbuf );
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NormalizeVariantTypeDesL( TLiwVariant* aVar )
-    {
-    if( aVar->TypeId() == LIW::EVariantTypeDesC8 )
-        {
-        TPtrC8 left;
-        aVar->Get( left );
-        HBufC * data = HnConvUtils::Str8ToStrFastLC( left );
-        aVar->SetL( TLiwVariant( data ) );
-        CleanupStack::PopAndDestroy( data );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TLiwVariant* CHnSimpleCondition::CheckTypes( TLiwVariant* aVarLeft,
-        TLiwVariant* aVarRight, LIW::TVariantTypeId aType1, 
-        LIW::TVariantTypeId aType2 )
-    {
-    LIW::TVariantTypeId varLeftId = aVarLeft->TypeId();
-    LIW::TVariantTypeId varRightId = aVarRight->TypeId();
-     
-    if (varLeftId == aType1 && varRightId == aType2)
-        {
-        return aVarLeft;
-        }
-    else if (varLeftId == aType2 && varRightId == aType1)
-        {
-        return aVarRight;
-        }
-    
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateListL( TLiwVariant & aVar )
-    {
-    ASSERT( aVar.TypeId() == LIW::EVariantTypeList );
-    
-    CLiwList* temp = CLiwDefaultList::NewL();
-    temp->PushL();
-    aVar.Get( *temp );
-    aVar.SetL( TLiwVariant( TInt32(temp->Count()) ) );
-    CleanupStack::PopAndDestroy( temp );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateMapL( TLiwVariant & aVar  )
-    {
-    ASSERT( aVar.TypeId() == LIW::EVariantTypeMap );
-        
-    CLiwDefaultMap* temp = CLiwDefaultMap::NewL();
-    temp->PushL();
-    aVar.Get( *temp ); 
-    aVar.SetL( TLiwVariant( TInt32(temp->Count()) ) );
-    CleanupStack::PopAndDestroy( temp );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTUintL( TLiwVariant & aVar )
-    {
-    ASSERT ( aVar.TypeId() == LIW::EVariantTypeDesC );
-    
-    TPtrC temp;
-    TUint integer;
-    
-    aVar.Get(temp);
-    TLex val( temp );
-    val.Val(integer);
-    aVar.Set( integer );
-        
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTBoolL( TLiwVariant & aVar )
-    {    
-    ASSERT( aVar.TypeId() == LIW::EVariantTypeDesC );
-        
-    TPtrC ptr;
-    aVar.Get( ptr );
-     
-    if ( !HnStringHandler::CompareIgnoreCaseL( ptr, KStringTrue ) )
-        {
-        aVar.Set( ETrue );
-        }
-    else
-          {
-          aVar.Set( EFalse );
-           }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTInt32L( TLiwVariant & aVar )
-    {
-    ASSERT( aVar.TypeId() == LIW::EVariantTypeDesC
-            || aVar.TypeId() == LIW::EVariantTypeTUint );
-   
-    if ( aVar.TypeId() == LIW::EVariantTypeDesC )
-        {
-        TPtrC temp;
-        TInt32 integer;
-        
-        aVar.Get(temp);
-        TLex val( temp );
-        val.Val(integer);
-        aVar.Set( integer );
-        }
-    else if ( aVar.TypeId() == LIW::EVariantTypeTUint )
-        {
-        TUint unsignedValue( 0U );
-        aVar.Get( unsignedValue );
-        if( unsignedValue <= static_cast<TUint>( KMaxTInt32 ) )
-            {
-            aVar.Set( static_cast<TInt32>( unsignedValue ) );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTInt64L( TLiwVariant & aVar )
-    {
-    ASSERT(aVar.TypeId() == LIW::EVariantTypeDesC );
-    
-    TPtrC temp;
-    TInt64 integer;
-    
-    aVar.Get(temp);
-    TLex val( temp );
-    val.Val(integer);
-    aVar.Set( integer );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTypesL( TLiwVariant* aVarLeft, 
-        TLiwVariant* aVarRight )
-    {
-    NormalizeVariantTypeDesL( aVarLeft );
-    NormalizeVariantTypeDesL( aVarRight );
-    
-    if (aVarLeft->TypeId() != aVarRight->TypeId())
-        {
-        TLiwVariant* chosen( NULL );
-        
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeList, LIW::EVariantTypeDesC );
-        if ( chosen )
-            {
-            NegotiateListL( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeMap, LIW::EVariantTypeDesC );
-        if ( chosen )
-            {
-            NegotiateMapL( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeDesC, LIW::EVariantTypeTInt32 );
-        if ( chosen )
-            {
-            NegotiateTInt32L( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeDesC, LIW::EVariantTypeTUint );
-        if ( chosen )
-            {
-            NegotiateTUintL( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeDesC, LIW::EVariantTypeTInt64 );
-        if ( chosen )
-            {
-            NegotiateTInt64L( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeDesC, LIW::EVariantTypeTBool );
-        if ( chosen )
-            {
-            NegotiateTBoolL( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeTUint, LIW::EVariantTypeTInt32 );
-        if ( chosen )
-            {
-            NegotiateTInt32L( *chosen );
-            return;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleCondition::ResultL( const CLiwGenericParamList& aQueryResults, 
-        TInt aPos )
-    {
-    TBool ret( EFalse );
-    
-    TLiwVariant varLeft;
-    varLeft.PushL();
-    TInt err1 = HnLiwUtils::GetVariantL( aQueryResults, iReferenceLeft, aPos, varLeft );
-    
-    TLiwVariant varRight;
-    varRight.PushL();
-    TInt err2 = HnLiwUtils::GetVariantL( aQueryResults, iReferenceRight, aPos , varRight );
-    
-    if ( err1 == KErrNone && err2 == KErrNone )
-    	{
-    	NegotiateTypesL( &varLeft, &varRight);
-    	ret = CheckCondition( varLeft, varRight );
-    	}
-    
-    CleanupStack::PopAndDestroy( &varRight );
-    CleanupStack::PopAndDestroy( &varLeft );
-    
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditiondifferent.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditiondifferent.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionDifferent::CheckCondition(TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    return (aVarLeft != aVarRight);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionDifferent::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalDifferent8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionDifferent::SignLength()
-    {
-     return HnLogicalRelations::KLogicalDifferent8().Length();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionequal.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionequal.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionEqual::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    return (aVarLeft == aVarRight);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionEqual::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalEqual8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionEqual::SignLength()
-    {
-     return HnLogicalRelations::KLogicalEqual8().Length();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditiongreater.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditiongreater.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionGreater::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    TBool ret = EFalse;
-    
-    LIW::TVariantTypeId varLId = aVarLeft.TypeId();
-    LIW::TVariantTypeId varRId = aVarRight.TypeId();
-    
-    if (varLId == varRId)
-        {
-        if( varLId == LIW::EVariantTypeTInt32 )
-            {
-            ret = (aVarLeft.AsTInt32() > aVarRight.AsTInt32());
-            }
-        else if( varLId == LIW::EVariantTypeTInt64 )
-            {
-            ret = (aVarLeft.AsTInt64() > aVarRight.AsTInt64());
-            }
-        else if( varLId == LIW::EVariantTypeTUint )
-            {
-            ret = (aVarLeft.AsTUint() > aVarRight.AsTUint() );
-            }
-        else if( varLId == LIW::EVariantTypeDesC )
-            {
-            ret = ( aVarLeft.AsDes().Compare( aVarRight.AsDes()) > 0 );
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionGreater::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalGreater8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionGreater::SignLength()
-    {
-     return HnLogicalRelations::KLogicalGreater8().Length();
-    }
-
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionhas.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionhas.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionHas::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    TBool ret = EFalse;
-    
-    LIW::TVariantTypeId varLId = aVarLeft.TypeId();
-    LIW::TVariantTypeId varRId = aVarRight.TypeId();
-    
-    if (varLId == varRId)
-        {
-        if( varLId == LIW::EVariantTypeDesC )
-            {
-            TPtrC left  = aVarLeft.AsDes();
-            TPtrC right = aVarRight.AsDes();
-            
-            if ( KErrNotFound != left.Find( right ) )
-                {
-                ret = ETrue;
-                }
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionHas::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalHas8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionHas::SignLength()
-    {
-     return HnLogicalRelations::KLogicalHas8().Length();
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionhasnot.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionhasnot.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionHasNot::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    TBool ret = EFalse;
-    
-    LIW::TVariantTypeId varLId = aVarLeft.TypeId();
-    LIW::TVariantTypeId varRId = aVarRight.TypeId();
-    
-    if (varLId == varRId)
-        {
-        if( varLId == LIW::EVariantTypeDesC )
-            {
-            TPtrC left  = aVarLeft.AsDes();
-            TPtrC right = aVarRight.AsDes();
-            
-            if ( KErrNotFound != left.Find( right ) )
-                {
-                ret = ETrue;
-                }
-            }
-        }
-    return !ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionHasNot::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalHasNot8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionHasNot::SignLength()
-    {
-     return HnLogicalRelations::KLogicalHasNot8().Length();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionsmaller.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionsmaller.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionSmaller::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    TBool ret = EFalse;
-    
-    LIW::TVariantTypeId varLId = aVarLeft.TypeId();
-    LIW::TVariantTypeId varRId = aVarRight.TypeId();
-    
-    if (varLId == varRId)
-        {
-        if( varLId == LIW::EVariantTypeTInt32 )
-            {
-            ret = (aVarLeft.AsTInt32() < aVarRight.AsTInt32());
-            }
-        else if( varLId == LIW::EVariantTypeTInt64 )
-            {
-            ret = (aVarLeft.AsTInt64() < aVarRight.AsTInt64());
-            }
-        else if( varLId == LIW::EVariantTypeTUint )
-            {
-            ret = (aVarLeft.AsTUint() < aVarRight.AsTUint() );
-            }
-        else if( varLId == LIW::EVariantTypeDesC )
-            {
-            ret = ( aVarLeft.AsDes().Compare( aVarRight.AsDes()) < 0 );
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionSmaller::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalLess8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionSmaller::SignLength()
-    {
-     return HnLogicalRelations::KLogicalLess8().Length();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnstringhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +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:  
-*
-*/
-
-
-#include "hnstringhandler.h"
-#include "hnmdmodel.h"
-#include "hnutils.h"
-#include "hnmdlocalization.h"
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void HnStringHandler::LocaliseL( RBuf& aDestination, RBuf& aSource,
-                                        THnMdCommonPointers* aCmnPtrs )
-    {
-    HnStringHandler::LocaliseL( aDestination, aSource, NULL, NULL, aCmnPtrs);
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void HnStringHandler::LocaliseL( RBuf& aDestination,
-                                 RBuf& aSource,
-                                 CDesC16Array* aDesParams,
-                                 CArrayFix<TInt>* aIntParams,
-                                 THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdLocalization* localization(NULL);
-    if (aCmnPtrs)
-        {
-        localization = aCmnPtrs->iLocalization;
-        }
-    else
-        {
-        localization =  THnMdCommonPointers::Static()->iLocalization;
-        }
-
-    HBufC* buf = localization->LoadL( aSource, aDesParams, aIntParams );
-    aDestination.Assign( buf);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnStringHandler::CompareIgnoreCaseL( const TDesC8& aLeft,
-        const TDesC8& aRight )
-    {
-    TInt res( KErrGeneral );
-    
-    RBuf8 left;
-    CleanupClosePushL( left );
-    left.CreateL( aLeft.Length() );
-    left.CopyUC( aLeft );
-
-    RBuf8 right;
-    CleanupClosePushL( right );
-    right.CreateL( aRight.Length() );
-    right.CopyUC( aRight );
-
-    res = left.Compare( right );
-    
-    CleanupStack::PopAndDestroy( &left );
-    CleanupStack::PopAndDestroy( &right );
-    return res;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnStringHandler::CompareIgnoreCaseL( const TDesC& aLeft,
-        const TDesC& aRight )
-    {
-    TInt res( KErrGeneral );
-    
-    RBuf left;
-    CleanupClosePushL( left );
-    left.CreateL( aLeft.Length() );
-    left.CopyUC( aLeft );
-    
-    RBuf right;
-    CleanupClosePushL( right );
-    right.CreateL( aRight.Length() );
-    right.CopyUC( aRight );
-
-    res = left.Compare( right );
-    
-    CleanupStack::PopAndDestroy( &right );
-    CleanupStack::PopAndDestroy( &left );
-    
-    return res;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnutils.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +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:  
- *
-*/
-
-
-#include <bautils.h>
-//#include <mnaiwservices.h>
-#include <liwservicehandler.h>
-#include <e32hashtab.h>
-#include <eikenv.h> 
-
-
-#include "hnutils.h"
-#include "hnliwutils.h"
-#include "hnmdservicecommand.h"
-#include "hnservicehandler.h"
-#include "hnglobals.h"
-#include "hnmdbasekey.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnUtils::ReadFileLC(const TDesC& aPath)
-    {
-    RFs& fs = CEikonEnv::Static()->FsSession();
-    
-    RFile file;
-    User::LeaveIfError( file.Open(fs, aPath, EFileRead) );
-    CleanupClosePushL( file );
-
-    TInt fileSize(0);
-    User::LeaveIfError( file.Size( fileSize ) );
-    HBufC8* buf = HBufC8::NewLC( fileSize );
-    TPtr8 bufPtr( buf->Des() );
-    User::LeaveIfError( file.Read( bufPtr ) );
-
-    // clean up
-    CleanupStack::Pop(buf);
-    CleanupStack::PopAndDestroy(&file);
-    CleanupStack::PushL(buf);
-
-    return buf;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnUtils::ReadFileL( const TDesC& aPath )
-    {
-    HBufC8* buf = ReadFileLC( aPath );
-    CleanupStack::Pop( buf );
-    return buf;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C HBufC* HnUtils::LocateFileLC( const TDesC& aFile )
-    {
-    HBufC* filePath = HBufC::NewLC(KMaxName);
-    RFs& fs = CEikonEnv::Static()->FsSession();
-
-    TDriveList driveList;
-    TChar driveLetter;
-    TInt driveNumber=EDriveY;
-    User::LeaveIfError(fs.DriveList(driveList));
-    for(; driveNumber>=EDriveA-1; driveNumber-- )
-        {
-        if (driveNumber==EDriveA-1)
-        driveNumber = EDriveZ;
-        if (driveList[driveNumber])
-            {
-            User::LeaveIfError(fs.DriveToChar(driveNumber, driveLetter));
-            filePath->Des().Zero();
-            filePath->Des().Append(driveLetter);
-            filePath->Des().Append(KRscPath);
-            filePath->Des().Append(aFile);
-
-            if (BaflUtils::FileExists(fs,*filePath))
-                {
-                return filePath;
-                }
-            }
-        if (driveNumber == EDriveZ)
-        break;
-        }
-
-    User::Leave(KErrNotFound);
-    return filePath;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C HBufC* HnUtils::LocateNearestLanguageFileLC( const TDesC& aFile )
-    {
-    _LIT( KExtRSC, ".r");
-    if (aFile.Find( KExtRSC ) == (aFile.Length() - 4) )
-        {
-        HBufC* filePath = HBufC::NewLC(KMaxName);
-        RFs& fs = CEikonEnv::Static()->FsSession();
-        TDriveList driveList;
-        TChar driveLetter;
-        TInt driveNumber=EDriveY;
-        User::LeaveIfError(fs.DriveList(driveList));
-        TFileName file;
-        for(; driveNumber>=EDriveA-1; driveNumber-- )
-            {
-            if (driveNumber==EDriveA-1)
-            driveNumber = EDriveZ;
-            if (driveList[driveNumber])
-                {
-                User::LeaveIfError(fs.DriveToChar(driveNumber, driveLetter));
-                filePath->Des().Zero();
-                filePath->Des().Append(driveLetter);
-                filePath->Des().Append(KRscPath);
-                filePath->Des().Append(aFile);
-    
-                file = *filePath;
-                BaflUtils::NearestLanguageFile( fs, file);
-                if( BaflUtils::FileExists( fs, file))
-                    {
-                    CleanupStack::PopAndDestroy(filePath);    
-                    return file.AllocLC();
-                    }
-                }
-            if (driveNumber == EDriveZ)
-            break;
-            }
-        CleanupStack::PopAndDestroy(filePath);
-        }
-    return KNullDesC().AllocLC();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void HnUtils::SetAttributeL( const TXmlEngElement& aElement,
-        RBuf8& aAttribute )
-    {
-    TPtrC8 v = aElement.Value();
-
-    if ( v.Length()> 0 )
-        {
-        HBufC8* trimmed = v.AllocLC();
-        trimmed->Des().Trim();
-        aAttribute.Close();
-        aAttribute.CreateL( trimmed->Length() );
-        aAttribute.Copy( *trimmed );
-        CleanupStack::PopAndDestroy( trimmed );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void HnUtils::SetAttributeL( const TXmlEngElement& aElement,
-        const TDesC8& aAttributeName, RBuf8& aValue8 )
-    {
-    if ( aElement.HasAttributeL( aAttributeName ) )
-        {
-        TPtrC8 value8 =
-        aElement.AttributeNodeL( aAttributeName ).Value();
-
-        aValue8.Close();
-        aValue8.CreateL( value8.Length() );
-        aValue8.Copy( value8 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C HBufC8 * HnUtils::GetColumnTextLC( TInt aColumn,
-        const TDesC8 & aSourceText, TChar aColumnSeparator )
-    {
-    HBufC8 * ret = NULL;
-    TLex8 processedText ( aSourceText );
-
-    TInt column( 0 );
-    processedText.Mark();
-    
-    while ( !processedText.Eos() )
-        {
-        if ( processedText.Get() == aColumnSeparator )
-            {
-            if ( column == aColumn )
-                {
-                processedText.UnGet();
-                break;
-                }
-            processedText.Mark();
-            column++;
-            }
-        }
-
-    if ( aColumn <= column )
-        {
-        ret = processedText.MarkedToken().AllocLC();
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt HnUtils::GetColumnTextColumnCount(
-        const TDesC8 & aSourceText, TChar aColumnSeparator )
-    {
-    TInt ret(1);
-    TLex8 processedText(aSourceText);
-    while ( !processedText.Eos() )
-        {
-        if (processedText.Get() == aColumnSeparator)
-            {
-            ret++;
-            }
-        }
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlmodelcache.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +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:  
-*
-*/
-
-
-#include "hnxmlmodelcache.h"
-#include "hnglobals.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TUint32 HBufCHashCache( HBufC* const &  aBuf )
-    {
-    return DefaultHash::Des16(*aBuf);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HBufCIdentCache( HBufC* const & aL, HBufC* const & aR )
-    {
-    return DefaultIdentity::Des16(*aL, *aR);
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelCache::CHnXmlModelCache() : iDocuments( &HBufCHashCache, 
-        &HBufCIdentCache )
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::ConstructL()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::RemoveUnused()
-    {
-    // remove unnecessary (oldest and unused) xml cached documents
-    if(iDocuments.Count() > KXmlModelCacheMaxLength)
-        {
-        HBufC *suiteToRemove = iOrder[0];
-        RXmlEngDocument* document = iDocuments.Find( suiteToRemove );
-        document->Close();
-        iDocuments.Remove(suiteToRemove);
-        iOrder.Remove(0);
-        delete suiteToRemove;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlModelCache::AddL( const TDesC& aSuiteName, RXmlEngDocument& aDocument ) 
-    {
-    HBufC* key = aSuiteName.AllocLC();
-    iDocuments.InsertL( key, aDocument );
-    CleanupStack::Pop( key );
-    iOrder.AppendL( key );
-    RemoveUnused();
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlModelCache::IsCachedL( const TDesC& aSuiteName )
-    {
-    HBufC* buf = aSuiteName.AllocLC();
-    const RXmlEngDocument* res = iDocuments.Find( buf );
-    CleanupStack::PopAndDestroy( buf );
-
-    if ( res )
-        return ETrue;
-    else
-        return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::MoveToTopL( const TDesC & aSuiteName )
-    {
-    TInt pos( KErrNotFound );
-    
-    for ( TInt i(0); i < iOrder.Count(); i++ )
-        {
-        if ( !iOrder[i]->Compare( aSuiteName ) )
-            {
-            pos = i;
-            break;
-            }
-        }
-
-    // if document was found and is not the latest in the array 
-    if ( pos != KErrNotFound && ( pos != iOrder.Count() - 1 ) )
-        {
-        HBufC *tmp = iOrder[ pos ];
-        iOrder.Remove( pos );
-        iOrder.AppendL( tmp );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::GetL( const TDesC& aSuiteName,
-        RXmlEngDocument& aDocument )
-    {
-    HBufC* buf = aSuiteName.AllocLC();
-    const RXmlEngDocument* res = iDocuments.Find( buf );
-    
-    MoveToTopL( aSuiteName );
-
-    if ( res )
-        {
-        aDocument = *res;
-        }
-
-    CleanupStack::PopAndDestroy( buf );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelCache* CHnXmlModelCache::NewLC()
-    {
-    CHnXmlModelCache* self = new (ELeave) CHnXmlModelCache();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelCache* CHnXmlModelCache::NewL()
-    {
-    CHnXmlModelCache* self = CHnXmlModelCache::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::Reset()
-    {
-    THashMapIter<HBufC*, RXmlEngDocument> iter( iDocuments );
-    while ( HBufC* const * ptr = iter.NextKey() )
-        {
-        RXmlEngDocument* currentDocument = iter.CurrentValue();
-        currentDocument->Close();
-        delete *ptr;
-        }
-    iDocuments.Close();
-    // Names have already been destroyed when destroying iDocuments so
-    // it is not necessay to destroy elements of the iOrder array. 
-    iOrder.Close(); 
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelCache::~CHnXmlModelCache()
-    {
-    Reset();
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlmodelprovider.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,881 +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:   
-*
-*/
-
-#include <sysutil.h> 
-#include "hnxmlmodelprovider.h"
-#include "hnxmlmodelcache.h"	
-#include "hnxmlsuitefilesreg.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "menudebug.h"
-#include "hnhelper.inl"
-#include "hnmdmodel.h"
-#include "hnmdmenuitem.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::ConstructL()
-	{
-	iDomImpl.OpenL();
-	User::LeaveIfError(iDomParser.Open(iDomImpl));
-	User::LeaveIfError(iFs.Connect());
-	iFileMan = CFileMan::NewL(iFs);
-
-	iPath.CreateL(KMaxPath);
-	User::LeaveIfError(iFs.PrivatePath(iPath));
-	iPath.Insert(0, KDrive);
-	iPath.Append(KEntriesSuffix);
-	iCache = CHnXmlModelCache::NewL();
-	
-	CActiveScheduler::Add( this);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::DoCancel()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::SynchronizationFinishedL()
-	{
-	ResetCache();
-	THnMdCommonPointers &cmnPtr = *THnMdCommonPointers::Static();
-	CHnMdModel* model = cmnPtr.iModel;
-	if ( iSuiteFilesUpdated )
-	    {
-	    model->ReloadStackSuitesL( cmnPtr.iContainer );
-	    }
-	}
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::RunL()
-	{
-	if ( !iSuiteSetIterator )
-		{
-		CheckDrivesL();
-	    iSuiteSetIterator = new ( ELeave ) THashSetIter<HBufC*>( iInstSuites );
-	    iSuiteSetIterator->Reset();
-	    iStatus = KRequestPending;
-	    SetActive();
-	    TRequestStatus* status = &iStatus;
-	    User::RequestComplete( status, KErrNone );
-		}
-	else if ( iSuiteSetIterator->Next() )
-		{
-		TBool filesUpdated = CHnXmlSuiteFilesReg::SynchronizeL(
-                iFs, **(iSuiteSetIterator->Current()) );
-        iSuiteFilesUpdated = ( iSuiteFilesUpdated || filesUpdated ); 
-	    iStatus = KRequestPending;
-	    SetActive();
-	    TRequestStatus* status = &iStatus;
-	    User::RequestComplete( status, KErrNone );
-		}
-	else
-		{
-		delete iSuiteSetIterator;
-		iSuiteSetIterator = NULL;
-		SynchronizationFinishedL();
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnXmlModelProvider* CHnXmlModelProvider::NewL()
-	{
-	CHnXmlModelProvider* self = CHnXmlModelProvider::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnXmlModelProvider* CHnXmlModelProvider::NewLC()
-	{
-	CHnXmlModelProvider* self = new (ELeave) CHnXmlModelProvider;
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelProvider::CHnXmlModelProvider() :
-	CActive( EPriorityLow ),	
-	iInstSuites(&HBuf16Hash, &HBuf16Ident),
-	iEventMap(&HBuf16Hash, &HBuf16Ident), 
-	iSuiteSetIterator( NULL )
-	{
-	 
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnXmlModelProvider::~CHnXmlModelProvider()
-	{
-	Cancel(); 
-	
-	delete iSuiteSetIterator;
-	delete iCache;
-	iDomParser.Close();
-	iDomImpl.Close();
-	delete iFileMan;
-	iFs.Close();
-	iPath.Close();
-
-	// clean up eventmap
-	THashMapIter<HBufC*, TInt> iter(iEventMap);
-	while (HBufC* const * ptr = iter.NextKey())
-		{
-		delete *ptr;
-		}
-	iEventMap.Close();
-
-	THashSetIter<HBufC*> iterSuites(iInstSuites);
-	while ( iterSuites.Next())
-		{
-		delete *iterSuites.Current();
-		}
-	iInstSuites.Close();
-
-	}
-
-#ifdef _DEBUG
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::LogEventMapping(
-		const RHashMap<HBufC*, TInt>& aEventMap)
-	{
-    DEBUG(("\t_MM_: CHnXmlModelProvider::LogEventMapping IN"));
-    RFs fs;
-    if ( !fs.Connect() )
-        {
-        RFile logFile;
-        if ( !logFile.Replace( fs, KEventMapLogFile, EFileWrite ) )
-            {
-            // first line
-            TBuf8<256> buf1;
-            buf1.Append( _L8("EventName") );
-            buf1.Append( _L8("\t") );
-            buf1.Append( _L8("EventId") );
-            buf1.Append( _L8("\n") );
-            logFile.Write( 0, buf1 );                    
-            THashMapIter<HBufC*, TInt> iter( aEventMap );
-            while ( HBufC* const * ptr = iter.NextKey() )
-                {
-                TInt *v = iter.CurrentValue();
-                TBuf8<256> buf2;
-                buf2.Append( (*ptr)->Des() );
-                buf2.Append( _L8("\t") );
-                buf2.AppendNum( *v );
-                buf2.Append( _L8("\n") );
-                TInt size ( 0 );
-                logFile.Size( size );
-                logFile.Write( size, buf2 );
-                }
-            logFile.Close();
-            }
-        fs.Close();
-        }
-    DEBUG(("\t_MM_: CHnXmlModelProvider::LogEventMapping OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnXmlModelProvider::LogSuiteModel( const TDesC& aName, 
-                                                    RXmlEngDocument& aDoc )
-    {
-    DEBUG(("\t_MM_: CHnXmlModelProvider::LogSuiteModel IN"));
-    TBuf8<256> buf1;
-    TFileName logFileName;
-    logFileName.Copy( KSuiteLoadingLogFile );
-    logFileName.Append( Kbackslash );
-    logFileName.Append( aName );
-    logFileName.Append( KXmlExt );
-    TRAP_IGNORE( aDoc.SaveL( logFileName, aDoc.DocumentElement() ) );
-    DEBUG(("\t_MM_: CHnXmlModelProvider::LogSuiteModel OUT"));
-    }
-#endif
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-RXmlEngDocument CHnXmlModelProvider::ParseFileL( const TDesC& aPath )
-    {
-    RBuf8 doc( ReadFileLC( aPath ) );
-    CleanupClosePushL(doc);
-    
-    RXmlEngDocument xmlDoc;
-    CleanupClosePushL( xmlDoc );
-    xmlDoc = ParseDocL(doc);
-    CleanupStack::Pop( &xmlDoc );
-    
-    // clean up
-    CleanupStack::PopAndDestroy( &doc );
-    
-    return xmlDoc;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-RXmlEngDocument CHnXmlModelProvider::ParseDocL( const TDesC8& aDoc )
-    {
-    RXmlEngDocument doc;
-    CleanupClosePushL( doc );
-    doc = iDomParser.ParseL( aDoc );
-    CleanupStack::Pop( &doc );
-    return doc;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC8* CHnXmlModelProvider::ReadFileLC(const TDesC& aPath)
-    {
-    RFile file;
-    User::LeaveIfError( file.Open(iFs, aPath, EFileRead) );
-    CleanupClosePushL( file );
-    
-    TInt fileSize(0);
-    User::LeaveIfError( file.Size( fileSize ) );
-    HBufC8* buf = HBufC8::NewLC( fileSize );
-    TPtr8 bufPtr( buf->Des() );
-    User::LeaveIfError( file.Read( bufPtr ) );
-
-    // clean up
-    CleanupStack::Pop(buf);
-    CleanupStack::PopAndDestroy(&file);    
-
-    return buf;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::ChangeEventsToIdsInChildrenL(
-		TXmlEngElement & aElement)
-	{
-	RXmlEngNodeList<TXmlEngElement> children;
-	CleanupClosePushL(children);
-	aElement.GetChildElements(children);
-	TInt amount = children.Count();
-	for (TInt i(0); i < amount; i++)
-		{
-		TXmlEngElement child = children.Next();
-		TPtrC8 childName = child.Name();
-
-		if (!childName.Compare(KEventName8) 
-				|| CHnMdMenuItem::IsMenuItemElementName( childName )
-				|| !child.Name().Compare(KMenuToolbar8))
-			{
-			ChangeEventNamesToIdsL(child);
-			}
-		else if (!childName.Compare(KEditModeItem8))
-			{
-			ChangeEventsToIdsInChildrenL(child);
-			}
-		}
-
-	CleanupStack::PopAndDestroy(&children);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlModelProvider::CollectSuiteL(const TDesC& aSuiteName,
-		RXmlEngDocument& aXmlDoc)
-	{
-	TInt err(KErrNotFound);
-	TBuf<KMaxPath> filePath;
-	TBuf<KMaxPath> KsuitePath;
-	KsuitePath.Zero();
-	KsuitePath.Copy(iPath);
-	KsuitePath.Append(aSuiteName);
-	KsuitePath.Append(Kbackslash);
-
-	filePath.Zero();
-	filePath.Copy(KsuitePath);
-	filePath.Append(KSuiteDefFileName);
-
-	RXmlEngDocument suiteDoc;
-	CleanupClosePushL(suiteDoc);
-	
-	suiteDoc = ParseFileL(filePath);
-    
-    // one suite per file
-    RXmlEngNodeList<TXmlEngElement> elements;
-    suiteDoc.DocumentElement().GetChildElements( elements );
-    TXmlEngElement suiteElement;
-    while ( elements.HasNext() )
-        {
-        suiteElement = elements.Next();
-        TPtrC8 t = suiteElement.Name();
-        if ( !suiteElement.Name().Compare( KSuiteElementName8 ) )
-            {
-            ChangeEventsToIdsInChildrenL( suiteElement.AsElement() );    
-            break;
-            }
-        }
-    
-    aXmlDoc.OpenL( iDomImpl, suiteDoc.DocumentElement() );            
-    err = KErrNone;
-    
-    CleanupStack::PopAndDestroy( &suiteDoc );
-    return err;             
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlModelProvider::SuiteExistsL( const TDesC& aSuite )
-    {
-    TBuf<KMaxPath> filePath;
-    TBuf<KMaxPath> KsuitePath;
-    KsuitePath.Zero();
-    KsuitePath.Copy( iPath );
-    KsuitePath.Append( aSuite );
-    KsuitePath.Append( Kbackslash );
-
-    filePath.Zero();
-    filePath.Copy( KsuitePath );
-    filePath.Append( KSuiteDefFileName );
-    
-    return BaflUtils::FileExists( iFs, filePath );
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::CollectItemsL( const TDesC& aSuiteName,
-        RXmlEngDocument& aXmlDoc )
-    {
-    TBuf<KMaxPath> filePath;
-    TBuf<KMaxPath> KsuitePath;
-    KsuitePath.Zero();
-    KsuitePath.Copy( iPath );
-    KsuitePath.Append( aSuiteName ); 
-    KsuitePath.Append( Kbackslash ); 
-    CDir* fileList;                  
-    iFs.GetDir( KsuitePath, KEntryAttMaskSupported, ESortByName, fileList);
-    CleanupStack::PushL(fileList);
-
-    //for each file with entries definitions         
-    for( TInt i(0); i<fileList->Count(); i++ )  
-        {            
-        TPtrC fileName = (*fileList)[i].iName;   
-        
-        if(!fileName.Compare(KSuiteDefFileName))
-            continue;
-        
-        filePath.Zero();
-        filePath.Copy(KsuitePath);
-        filePath.Append(fileName);  
-            
-        RXmlEngDocument itemDoc;
-        CleanupClosePushL( itemDoc );
-        
-        TInt err( KErrNone );
-        TRAP( err , itemDoc = ParseFileL(filePath) );
-        if( !err )
-            {
-            RXmlEngNodeList< TXmlEngElement > children;
-            CleanupClosePushL(children);
-            itemDoc.DocumentElement().GetChildElements(children);
-            
-            TPtrC8 itemGenre =
-                itemDoc.DocumentElement().AttributeNodeL(KGenreName8).Value();
-                
-            TInt amount = children.Count();
-            for( TInt i(0); i<amount; i++ )
-                {
-                TXmlEngElement child = children.Next();
-                TPtrC8 tempChildName = child.Name();
-                // append localizations to root
-                if (!child.Name().Compare(KLocalizationName8)) 
-                    {                
-                    aXmlDoc.DocumentElement().AsElement().AppendChildL(child);
-                    child.ReconcileNamespacesL();
-                    } 
-                // append itmes to proper suite 
-                else if (!child.Name().Compare(KItemName8) )
-                    {                                    
-                    // go througs item's children to change event names to ids
-                    ChangeEventsToIdsInChildrenL(child);
-                    
-                    // edit_mode item
-                    RXmlEngNodeList< TXmlEngElement > editModeItems;
-                    CleanupClosePushL( editModeItems );
-                    child.GetChildElements( editModeItems );
-                    TInt count = editModeItems.Count();
-                    for ( TInt ic( 0 ); ic < count; ic++ )
-                        {
-                        TXmlEngElement editModeItem = editModeItems.Next();
-                        if ( !editModeItem.Name().Compare( KEditModeItem8 ))
-                            {
-							editModeItem.AddNewAttributeL(KSuiteElementName8,
-									itemGenre);
-							}
-						}
-					CleanupStack::PopAndDestroy(&editModeItems);
-					// edit_mode items - end
-
-					RXmlEngNodeList<TXmlEngElement> suites;
-					CleanupClosePushL(suites);
-					aXmlDoc.DocumentElement().GetChildElements(suites);
-					TInt amountSuites = suites.Count();
-					for (TInt i(0); i < amountSuites; i++)
-						{
-						TXmlEngElement childSuite = suites.Next();
-						TPtrC8 tempName = child.Name();
-						//find suite
-						if (!childSuite.Name().Compare(KTitleName8))
-							{
-							TPtrC8 suiteGenre = childSuite.AttributeNodeL(
-									KGenreName8).Value();
-
-							//find proper suite to append item
-							if (!suiteGenre.Compare(itemGenre))
-								{
-								child.AddNewAttributeL(KSuiteElementName8,
-										itemGenre);
-								childSuite.AppendChildL(child);
-                                }                        
-                            }
-                        }
-					aXmlDoc.DocumentElement().ReconcileNamespacesL();
-                    CleanupStack::PopAndDestroy( &suites );                    
-                    }                                
-                }                   
-            CleanupStack::PopAndDestroy( &children );
-            }
-        CleanupStack::PopAndDestroy( &itemDoc );
-        } 
-    
-    CleanupStack::PopAndDestroy(fileList);
-    }        
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlModelProvider::GetNewEventId( HBufC* aEventName )
-    {
-    TInt res( KErrGeneral );
-
-    if ( !aEventName->Compare( KKeyEmpty ) )
-        {
-        res = KKeyIdEmpty;
-        }
-    else if ( !aEventName->Compare( KKeySelect ) )
-        {
-        res = KKeyIdSelect;
-        }
-    else if ( !aEventName->Compare( KKeySelect2 ) )
-        {
-        res = KKeyIdSelect2;
-        }
-    else if ( !aEventName->Compare( KKeySelect3 ) )
-        {
-        res = KKeyIdSelect3;
-        }
-    else if ( !aEventName->Compare( KKeyCall ) )
-        {
-        res = KKeyIdCall;
-        }
-    else if ( !aEventName->Compare( KKeyClear ) )
-        {
-        res = KKeyIdClear;
-        }
-    else if ( !aEventName->Compare( KKeyMove ) )
-        {
-        res = KKeyIdMove;
-        }
-    else if ( !aEventName->Compare( KKeyMoveInto ) )
-        {
-        res = KKeyIdMoveInto;
-        }
-    else if ( !aEventName->Compare( KOnSuiteLoad ) )
-        {
-        res = KIdSuiteLoad;
-        }
-    else if ( !aEventName->Compare( KOnSuiteUnLoad ) )
-        {
-        res = KIdSuiteUnLoad;
-        }
-    else if ( !aEventName->Compare( KOnFocusGain ) )
-        {
-        res = KIdFocusGain;
-        }
-    else if ( !aEventName->Compare( KOnFocusLost ) )
-        {
-        res = KIdFocusLost;
-        }
-    else
-        {
-        THashMapIter<HBufC*, TInt> iter( iEventMap );
-        res = KCustomKeyOffset;
-        
-        while ( TInt const * v = iter.NextValue() )
-            {
-            if ( v != NULL && *v >= KCustomKeyOffset )
-                {
-                res++;
-                }
-            }
-        }
-    
-    return res;    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::ChangeEventNamesToIdsL( TXmlEngElement& aElement )
-    {
-    if ( aElement.HasChildNodes() && ( !aElement.Name().Compare( KMenuItemName8 )  
-            || !aElement.Name().Compare( KMenuToolbar8 ) ) )
-        {
-        
-        RXmlEngNodeList< TXmlEngElement > children;
-        CleanupClosePushL(children);
-        aElement.GetChildElements(children);
-        TInt count( children.Count() );
-        for( TInt i( 0 ); i < count; i++ )
-            {
-            TXmlEngElement element = children.Next();
-            if ( CHnMdMenuItem::IsMenuItemElementName( element.Name() ) ||
-                    !element.Name().Compare( KMenuButton8 ) )
-                {
-                ChangeEventNamesToIdsL( element );
-                }
-            }
-        CleanupStack::PopAndDestroy( &children );
-        }
-    else if( aElement.AttributeValueL( KEventAttrName8 ).Length() )
-        {
-        TBool bufferEmpty ( ETrue );
-        TBuf8<KMaxPath> newEventIds;
-             
-        // loop through all event names
-
-        // parsing events        
-        HBufC* events = HnConvUtils::Str8ToStrLC(
-            aElement.AttributeValueL( KEventName8 ) );
-        
-        TLex lex( events->Ptr() );
-        TChar ch;
-        
-        TInt length( events->Length() );
-        TInt cnt = 0;
-        while( ch = lex.Get() != 0 )
-            {
-            cnt++;
-            while ( ( ch = lex.Peek() ) != '|' && cnt < length)
-                {
-                lex.Inc();
-                cnt++;
-                }
-
-            // iEventMap takes ownership of "en"
-            HBufC* en = HBufC::NewL( lex.MarkedToken().Length() );
-            en->Des().Copy( lex.MarkedToken() );
-
-            TInt* resFind = iEventMap.Find( en );
-            TInt res = -1;
-            if ( resFind == NULL )
-                {
-                TInt newId( GetNewEventId( en ) );
-                iEventMap.Insert( en, newId );                
-                res = newId;
-                }
-            else
-                {
-                res = *resFind;
-                delete en;
-                }
-            
-            if ( bufferEmpty ) 
-                {
-                newEventIds.AppendNum( res );
-                bufferEmpty = EFalse;
-                }
-			else
-				{
-				newEventIds.Append(KPipe);
-				newEventIds.AppendNum(res);
-				}
-
-            lex.Inc();
-            cnt++;
-            lex.Mark();
-            if (cnt >= length)
-                break;
-            }
-
-        TXmlEngAttr att = aElement.AttributeNodeL( KEventName8 );
-        att.SetValueL( newEventIds );
-        aElement.SetAttributeNodeL( att );
-
-        CleanupStack::PopAndDestroy( events );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlModelProvider::SynchronizeSuitesL()
-    {
-    MMPERF(("CHnXmlModelProvider::SynchronizeSuitesL - START"));
-    iSuiteFilesUpdated = EFalse;
-    TBool refresh( EFalse );   
-
-    if (IsActive())
-    	{
-    	Cancel();
-    	}
-    
-    delete iSuiteSetIterator;
-    iSuiteSetIterator = NULL;
-    
-    iStatus = KRequestPending;
-    SetActive();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-   
-    MMPERF(("CHnXmlModelProvider::SynchronizeSuitesL - DONE"));
-    return refresh;
-    }
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnXmlModelProvider::ResetCache()
-    {
-    iCache->Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CHnXmlModelProvider::SetupSuitePathL()
-	{
-	iPath.Close();
-	iPath.CreateL(KMaxPath);
-	User::LeaveIfError(iFs.PrivatePath(iPath));
-	TChar drive;
-	TBuf<1> driveLetter;
-	
-	iFs.DriveToChar( EDriveC, drive );
-	iPath.Insert(0, KColon );
-	driveLetter.Append( drive );
-	iPath.Insert(0, driveLetter );
-	iPath.Append(KEntriesSuffix);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CHnXmlModelProvider::SetupFailSafeSuitePathL()
-	{
-	iPath.Close();
-	iPath.CreateL(KMaxPath);
-	User::LeaveIfError(iFs.PrivatePath(iPath));
-	TChar drive;
-	TBuf<1> driveLetter;
-	
-	iFs.DriveToChar( EDriveZ, drive );
-	iPath.Insert(0, KColon );
-	driveLetter.Append( drive );
-	iPath.Insert(0, driveLetter );
-	iPath.Append(KSuitesDir);
-	}
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnXmlModelProvider::ReloadModelL()
-	{
-	SynchronizeSuitesL();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnXmlModelProvider::CreateModelL(const TDesC& aSuiteName,
-        RXmlEngDocument& aXmlDoc )
-    {
-    MMPERF( ( "CHnXmlModelProvider::CreateModelL IN") );
-    MMPERF( ( "    Suite name: %S", &aSuiteName ) );
-    
-    TBool suiteCollected = EFalse;
-	
-    SetupSuitePathL();	
-    TRAPD( failSafeErr, suiteCollected = CollectSuiteL( aSuiteName, aXmlDoc ));
-    if (failSafeErr)
-    	{
-    	SetupFailSafeSuitePathL();
-    	suiteCollected = CollectSuiteL( aSuiteName, aXmlDoc );
-    	}
-    
-    if ( !suiteCollected )
-        {
-        MMPERF(("CHnXmlModelProvider::CreateModelL - suite collected"));
-        CollectItemsL( aSuiteName, aXmlDoc );
-        MMPERF(("CHnXmlModelProvider::CreateModelL - items collected"));
-        }
-    MMPERF( ( "CHnXmlModelProvider::CreateModelL OUT") );
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CHnXmlModelProvider::GetModelL(
-    const TDesC& aSuiteName, RXmlEngDocument& aXmlDoc )
-    {
-    if ( !iCache->IsCachedL( aSuiteName ) )
-        {
-        RXmlEngDocument newXmlDoc;
-        CleanupClosePushL( newXmlDoc );
-        
-        CreateModelL( aSuiteName, newXmlDoc );
-        
-        #ifdef _DEBUG
-            DEBUG(("_MM_:CHnXmlModelProvider::GetModelL _DEBUG IN"));
-            LogEventMapping( iEventMap );
-            LogSuiteModel( aSuiteName, newXmlDoc );
-            DEBUG(("_MM_:CHnXmlModelProvider::GetModelL _DEBUG OUT"));
-        #endif
-
-        // cache takes ownership of the suite name and the document  
-        iCache->AddL( aSuiteName, newXmlDoc );
-        
-        CleanupStack::Pop( &newXmlDoc );
-        }
-    
-    iCache->GetL( aSuiteName, aXmlDoc );
-    
-    return KErrNone;
-    }   
-   
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::SearchPathForSuitesL( const TDesC& aPath )
-	{
-	CDir* fileList = NULL;            
-	iFs.GetDir( aPath, KEntryAttMaskSupported, ESortByName, fileList );  
-	if ( fileList )                        
-		{                
-		CleanupStack::PushL( fileList );      
-		for( TInt i( 0 ); i < fileList->Count(); i++ ) 
-			{  
-			if ( (*fileList)[ i ].IsDir() )
-				{
-				HBufC* suiteName = (*fileList)[i].iName.AllocLC();
-				if ( !iInstSuites.Find(suiteName) )
-					{
-					iInstSuites.InsertL( suiteName );
-					CleanupStack::Pop(suiteName);
-					}
-				else
-					{
-					CleanupStack::PopAndDestroy(suiteName);
-					}
-				}
-			}
-			CleanupStack::PopAndDestroy( fileList );
-		}
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::CheckDrivesL()
-    { 
-    TDriveList driveList;
-    User::LeaveIfError( iFs.DriveList( driveList ) );
-    
-    TFixedArray< TInt, KMaxDrives > driveSearchOrder( KDriveSearchOrder, KMaxDrives );
-    for(TInt iterator(0); iterator < driveSearchOrder.Count(); iterator++ )
-     	{        
-        if ( driveList[ driveSearchOrder[ iterator ] ] )
-            {
-            TBuf<KMaxPath> filePath;
-
-            TChar driveLetter;
-            User::LeaveIfError( iFs.DriveToChar( driveSearchOrder[ iterator ], driveLetter ) );  
-            
-            TBuf< KSingleChar > driveLetterConst;
-            driveLetterConst.Append( driveLetter );
-            User::LeaveIfError( iFs.PrivatePath( filePath ) );
-            filePath.Insert( 0, driveLetterConst );
-            filePath.Insert( 1, KColon );
-            filePath.Append( KSuitesDir );
-                         
-            SearchPathForSuitesL( filePath );           
-            }
-    	}
-    
-    SearchPathForSuitesL( iPath );
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlsuitefilesreg.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,290 +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:  
-*  Version     : %version:  9 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include <sysutil.h> 
-#include "hnxmlsuitefilesreg.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "menudebug.h"
-#include "hnhelper.inl"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlSuiteFilesReg::SynchronizeL( RFs & aFs, const TDesC &aSuiteName )
-	{
-	CHnXmlSuiteFilesReg* self = new (ELeave) CHnXmlSuiteFilesReg( aFs );
-	CleanupStack::PushL(self);
-	self->ConstructL( aSuiteName );
-	TBool ret = self->SynchronizeSuiteFilesL();
-	CleanupStack::PopAndDestroy( self );
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnXmlSuiteFilesReg::~CHnXmlSuiteFilesReg()
-	{
-	iSuiteName.Close();
-	DestroySuiteFilesMaps();
-	delete iFileMan;
-	}
-   
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnXmlSuiteFilesReg::CHnXmlSuiteFilesReg( RFs & aFs ) : iFs(aFs),
-	iSuiteFiles(&TDesC16Hash, &TDesC16Ident)
-	{
-
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-HBufC* CHnXmlSuiteFilesReg::GetSuiteInstallPathL()
-	{
-	TBuf<KMaxPath> installPath;	
-	User::LeaveIfError( iFs.PrivatePath(installPath) );
-	TChar drive;
-	TBuf<1> driveLetter;
-	iFs.DriveToChar( EDriveC, drive );
-	installPath.Insert(0, KColon );
-	driveLetter.Append( drive );
-	installPath.Insert(0, driveLetter );
-	installPath.Append(KEntriesSuffix);
-	installPath.Append( iSuiteName );
-	installPath.Append( Kbackslash );
-	return installPath.AllocL();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::ConstructL( const TDesC &aSuiteName )
-	{
-	iSuiteName.CreateL( aSuiteName );
-	iFileMan = CFileMan::NewL(iFs);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::DestroySuiteFilesMaps()
-	{
-	DestroyMapValue( iSuiteFiles );
-	iSuiteFiles.Close();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnXmlSuiteFilesReg::GetSuiteImportDirL( TInt aDriveNumber ) const
-	{
-	TBuf<KMaxPath> outputDir; 
-			
-	TChar driveLetter;
-    User::LeaveIfError( iFs.DriveToChar( aDriveNumber, driveLetter ) );  
-    
-    TBuf< KSingleChar > driveLetterConst;
-    driveLetterConst.Append( driveLetter );
-      
-    User::LeaveIfError( iFs.PrivatePath( outputDir ) );
-
-    outputDir.Insert( 0, driveLetterConst );
-    outputDir.Insert( 1, KColon );
-    outputDir.Append( KSuitesDir );
-    outputDir.Append( iSuiteName );
-    outputDir.Append( Kbackslash );
-    
-    return outputDir.AllocL();
-	}
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::SearchDrivesForSuiteFilesL()
-    {
-    DestroySuiteFilesMaps();
-    
-    TDriveList driveList;
-    User::LeaveIfError( iFs.DriveList( driveList ) );
-    TFixedArray< TInt, KMaxDrives > driveSearchOrder( KDriveSearchOrder, KMaxDrives );
-    
-    for(TInt iterator(0); iterator < driveSearchOrder.Count(); iterator++ )
-    	{ 
-        if ( driveList[ driveSearchOrder[ iterator ] ] )
-            {
-            RBuf filePath( GetSuiteImportDirL( driveSearchOrder[ iterator ] ) );
-            CleanupClosePushL( filePath );
-            SearchDirForSuiteFilesL(filePath);
-            CleanupStack::PopAndDestroy( &filePath );
-            }
-    	} 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::SearchDirForSuiteFilesL( const TDesC& aSuitePath )
-    {
-    CDir* fileList = NULL;
-    if (!iFs.GetDir( aSuitePath, KEntryAttMaskSupported, ESortByName, fileList ))
-	    {
-	    CleanupStack::PushL( fileList );
-        for( TInt i( 0 ); i < fileList->Count(); i++ ) 
-            {  
-            if (! (*fileList)[i].IsDir() )
-        	    {
-        	    AddSuiteFileToMapL( aSuitePath, (*fileList)[i] );
-        	    }
-            }
-        CleanupStack::PopAndDestroy( fileList );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::AddSuiteFileToMapL( const TDesC& aDir, const TEntry& aFile )
-	{
-    THnFileInfo fileInfo = { aFile.iName, aDir, aFile.iModified, aFile.iSize };
-	fileInfo.iFilePath.Append( aFile.iName );
-		
-	THnFileInfo** existingFileInfo = iSuiteFiles.Find( &aFile.iName );
-	
-    TInt newFileDrive( KErrNotFound );
-    iFs.CharToDrive( fileInfo.iFilePath[0], newFileDrive );
-    
-    TBool newerThanExisting( EFalse );
-	TInt existingFileDrive( KErrNotFound );
-	if ( existingFileInfo )
-		{
-		iFs.CharToDrive( (*existingFileInfo)->iFilePath[0], existingFileDrive);
-        newerThanExisting =
-                (*existingFileInfo)->iLastModified < fileInfo.iLastModified &&
-                newFileDrive != EDriveZ;
-		}
-	
-    if ( !existingFileInfo || newerThanExisting || existingFileDrive == EDriveZ )
-        {
-        if( existingFileInfo )
-            {
-            iSuiteFiles.Remove( &aFile.iName );
-            }
-        THnFileInfo* fileInfoPointer = new (ELeave) THnFileInfo( fileInfo );
-        iSuiteFiles.InsertL( &fileInfo.iFileName, fileInfoPointer );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlSuiteFilesReg::CalculateCurrentSuiteSizeL()
-	{
-	RBuf suiteInstallDir( GetSuiteInstallPathL() );
-	CleanupClosePushL( suiteInstallDir );
-	CDir* suiteFileList;                  
-	iFs.GetDir( suiteInstallDir, KEntryAttMaskSupported, ESortByName, suiteFileList);
-	CleanupStack::PushL(suiteFileList);
-
-	TInt suiteSize(0); 
-	for( TInt i(0); suiteFileList && i< suiteFileList->Count(); i++ )  
-		{
-		suiteSize+= (*suiteFileList)[i].iSize;
-		}
-	CleanupStack::PopAndDestroy( suiteFileList );
-	CleanupStack::PopAndDestroy( &suiteInstallDir );
-	return suiteSize;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlSuiteFilesReg::CalculateSynchronizationSuiteSize()
-	{
-	TInt retSize( 0 );
-	
-	THashMapIter< const TDesC*, THnFileInfo* > iter( iSuiteFiles );
-	
-	while ( iter.NextKey() )
-		{
-		const THnFileInfo& fileInfo =  **(iter.CurrentValue());
-		retSize += fileInfo.iSize;
-		}
-	
-	return retSize;
-	}
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlSuiteFilesReg::SynchronizeSuiteFilesL()
-	{
-	TBool ret( EFalse );
-	SearchDrivesForSuiteFilesL();
-
-	TInt spaceNeeded = CalculateSynchronizationSuiteSize() -
-		CalculateCurrentSuiteSizeL();
-	
-	RBuf suiteInstallationDir( GetSuiteInstallPathL() );
-	CleanupClosePushL( suiteInstallationDir );
-	iFileMan->RmDir( suiteInstallationDir );
-	if( iSuiteFiles.Count() && ( spaceNeeded < 0 || !SysUtil::DiskSpaceBelowCriticalLevelL(
-	        &iFs, spaceNeeded , EDriveC ) ) )
-        {
-        THashMapIter< const TDesC*, THnFileInfo* > iter( iSuiteFiles );
-        iFs.MkDirAll( suiteInstallationDir );
-        while( iter.NextKey() )
-            {
-            const THnFileInfo& fileInfo =  **(iter.CurrentValue());
-            TBuf<KMaxPath> filePath( suiteInstallationDir );
-            filePath.Append( fileInfo.iFileName );
-            if( filePath.Compare( fileInfo.iFilePath ) )
-                {
-                if( BaflUtils::FileExists( iFs, filePath ) )
-                    {
-                    iFs.SetAtt( filePath, NULL, KEntryAttReadOnly );
-                    iFs.Delete( filePath );
-                    }
-                iFileMan->Copy(
-                        fileInfo.iFilePath,
-                        filePath, CFileMan::EOverWrite );
-                ret = ETrue;
-                }
-            }
-        }
-	CleanupStack::PopAndDestroy( &suiteInstallationDir );
-	return ret;
-	}
--- a/menufw/hierarchynavigator/hnpresentationmodel/bwins/hnpresentationmodelu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-EXPORTS
-	?GetMiddleSoftKey@CHnItemModel@@QAEPAVCHnButtonModel@@XZ @ 1 NONAME ; class CHnButtonModel * CHnItemModel::GetMiddleSoftKey(void)
-	?GetMatchingItemModelL@CHnSuiteModel@@QAEPAVCHnItemModel@@_JAAH@Z @ 2 NONAME ; class CHnItemModel * CHnSuiteModel::GetMatchingItemModelL(long long, int &)
-	?NewLC@CHnAttrImgProvSvgImage@@SAPAV1@ABVTDesC16@@@Z @ 3 NONAME ; class CHnAttrImgProvSvgImage * CHnAttrImgProvSvgImage::NewLC(class TDesC16 const &)
-	?GetRootSuite@CHnSuitesStack@@QAEPAVCHnSuiteModel@@XZ @ 4 NONAME ; class CHnSuiteModel * CHnSuitesStack::GetRootSuite(void)
-	??1CHnButtonModel@@UAE@XZ @ 5 NONAME ; CHnButtonModel::~CHnButtonModel(void)
-	?Value@CHnAttributeBase@@UAEABVTDesC8@@XZ @ 6 NONAME ; class TDesC8 const & CHnAttributeBase::Value(void)
-	?SetDimmed@CHnButtonModel@@QAEXH@Z @ 7 NONAME ; void CHnButtonModel::SetDimmed(int)
-	?GetModelItemCount@CHnItemsOrder@@QAEHXZ @ 8 NONAME ; int CHnItemsOrder::GetModelItemCount(void)
-	?SetEmptyTextL@CHnSuiteModel@@QAEXABVTDesC16@@@Z @ 9 NONAME ; void CHnSuiteModel::SetEmptyTextL(class TDesC16 const &)
-	?IsActive@CHnSuiteModel@@QAEHXZ @ 10 NONAME ; int CHnSuiteModel::IsActive(void)
-	?Get@CHnSuitesStack@@QAEPAVCHnSuiteModel@@H@Z @ 11 NONAME ; class CHnSuiteModel * CHnSuitesStack::Get(int)
-	?SetActiveL@CHnSuiteModel@@QAEXH@Z @ 12 NONAME ; void CHnSuiteModel::SetActiveL(int)
-	?IsItemMoveLocked@CHnSuiteModel@@QAEHH@Z @ 13 NONAME ; int CHnSuiteModel::IsItemMoveLocked(int)
-	?NewL@CHnAttributeImage@@SAPAV1@XZ @ 14 NONAME ; class CHnAttributeImage * CHnAttributeImage::NewL(void)
-	?CommandName@CHnActionModel@@QBEABVTDesC8@@XZ @ 15 NONAME ; class TDesC8 const & CHnActionModel::CommandName(void) const
-	?SetServiceL@CHnActionModel@@QAEXABVTDesC8@@@Z @ 16 NONAME ; void CHnActionModel::SetServiceL(class TDesC8 const &)
-	?SetBitmap@CHnAttributeImage@@QAEXPAVTLiwVariant@@@Z @ 17 NONAME ; void CHnAttributeImage::SetBitmap(class TLiwVariant *)
-	?SetTemplateL@CHnSuiteModel@@QAEXABVTDesC8@@@Z @ 18 NONAME ; void CHnSuiteModel::SetTemplateL(class TDesC8 const &)
-	?UpdateItemTemplateL@CHnSuiteModel@@QAEXH@Z @ 19 NONAME ; void CHnSuiteModel::UpdateItemTemplateL(int)
-	?SuiteEvaluated@CHnItemsOrder@@QAEXXZ @ 20 NONAME ; void CHnItemsOrder::SuiteEvaluated(void)
-	?Name@CHnAttributeBase@@QBEABVTDesC8@@XZ @ 21 NONAME ; class TDesC8 const & CHnAttributeBase::Name(void) const
-	?SetCustomId@CHnItemModel@@QAEX_J@Z @ 22 NONAME ; void CHnItemModel::SetCustomId(long long)
-	?CustomId@CHnItemModel@@QAE_JXZ @ 23 NONAME ; long long CHnItemModel::CustomId(void)
-	??1CHnSuiteModel@@UAE@XZ @ 24 NONAME ; CHnSuiteModel::~CHnSuiteModel(void)
-	?GetActions@CHnItemModel@@QAEPAV?$CArrayPtr@VCHnActionModel@@@@H@Z @ 25 NONAME ; class CArrayPtr<class CHnActionModel> * CHnItemModel::GetActions(int)
-	?SetGulIcon@CHnIconHolder@@QAEXPAVCGulIcon@@@Z @ 26 NONAME ; void CHnIconHolder::SetGulIcon(class CGulIcon *)
-	?SetValueL@CHnAttributeText@@QAEXABVTDesC8@@@Z @ 27 NONAME ; void CHnAttributeText::SetValueL(class TDesC8 const &)
-	?GetItemIdAt@CHnItemsOrder@@QAEHHH@Z @ 28 NONAME ; int CHnItemsOrder::GetItemIdAt(int, int)
-	?ClearAttributesL@CHnItemModel@@QAEXXZ @ 29 NONAME ; void CHnItemModel::ClearAttributesL(void)
-	?NewLC@CHnAttrImgProvFileImage@@SAPAV1@ABVTDesC16@@@Z @ 30 NONAME ; class CHnAttrImgProvFileImage * CHnAttrImgProvFileImage::NewLC(class TDesC16 const &)
-	?ExitMode@CHnSuiteModel@@QAE?AW4TExitMode@@XZ @ 31 NONAME ; enum TExitMode CHnSuiteModel::ExitMode(void)
-	?ServiceMode@CHnActionModel@@QBE?AW4TServiceMode@@XZ @ 32 NONAME ; enum TServiceMode CHnActionModel::ServiceMode(void) const
-	?GetIcon@CHnButtonModel@@QBEPAVCGulIcon@@XZ @ 33 NONAME ; class CGulIcon * CHnButtonModel::GetIcon(void) const
-	?GetSuiteHighlight@CHnSuiteModel@@QAEHXZ @ 34 NONAME ; int CHnSuiteModel::GetSuiteHighlight(void)
-	?PopSuiteModelL@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@ABVTDesC16@@@Z @ 35 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::PopSuiteModelL(class TDesC16 const &)
-	?NewL@CHnSuiteModelContainer@@SAPAV1@AAVMHnMdModelEventObserver@@AAVMHnControllerInterface@@@Z @ 36 NONAME ; class CHnSuiteModelContainer * CHnSuiteModelContainer::NewL(class MHnMdModelEventObserver &, class MHnControllerInterface &)
-	?CommandLC@CHnActionModel@@QBEPAVCLiwGenericParamList@@XZ @ 37 NONAME ; class CLiwGenericParamList * CHnActionModel::CommandLC(void) const
-	?InsertItemIdToL@CHnItemsOrder@@QAEXHHH@Z @ 38 NONAME ; void CHnItemsOrder::InsertItemIdToL(int, int, int)
-	?SetBitmapId@CHnAttributeImage@@QAEXH@Z @ 39 NONAME ; void CHnAttributeImage::SetBitmapId(int)
-	?RefreshMulModelL@CHnSuiteModel@@QAEXH@Z @ 40 NONAME ; void CHnSuiteModel::RefreshMulModelL(int)
-	?UnregisterSuiteObserver@CHnSuiteModel@@QAEXPAVMHnSuiteObserver@@@Z @ 41 NONAME ; void CHnSuiteModel::UnregisterSuiteObserver(class MHnSuiteObserver *)
-	?SetApplicationUid@CHnAttributeImage@@QAEXVTUid@@@Z @ 42 NONAME ; void CHnAttributeImage::SetApplicationUid(class TUid)
-	?GetGulIcon@CHnIconHolder@@QBEPAVCGulIcon@@XZ @ 43 NONAME ; class CGulIcon * CHnIconHolder::GetGulIcon(void) const
-	?Command@CHnMenuItemModel@@QAEHXZ @ 44 NONAME ; int CHnMenuItemModel::Command(void)
-	?GetButton@CHnToolbarModel@@QBEPBVCHnButtonModel@@H@Z @ 45 NONAME ; class CHnButtonModel const * CHnToolbarModel::GetButton(int) const
-	?SetNameL@CHnAttributeBase@@QAEXABVTDesC8@@@Z @ 46 NONAME ; void CHnAttributeBase::SetNameL(class TDesC8 const &)
-	?GetSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@ABVTDesC16@@@Z @ 47 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetSuiteModel(class TDesC16 const &)
-	?SetFileNameSrc@CHnAttributeImage@@QAEXPAVHBufC16@@@Z @ 48 NONAME ; void CHnAttributeImage::SetFileNameSrc(class HBufC16 *)
-	?PushL@CHnSuitesStack@@QAEHPAVCHnSuiteModel@@@Z @ 49 NONAME ; int CHnSuitesStack::PushL(class CHnSuiteModel *)
-	?OfferHnEventL@CHnSuiteModelContainer@@QAEHHHPAVCLiwGenericParamList@@@Z @ 50 NONAME ; int CHnSuiteModelContainer::OfferHnEventL(int, int, class CLiwGenericParamList *)
-	?RemoveLiwObjects@CHnSuiteModelContainer@@QAEXXZ @ 51 NONAME ; void CHnSuiteModelContainer::RemoveLiwObjects(void)
-	?HasButtons@CHnToolbarModel@@QBEHXZ @ 52 NONAME ; int CHnToolbarModel::HasButtons(void) const
-	?GetItemUid@CHnItemModel@@QAE?AVTUid@@XZ @ 53 NONAME ; class TUid CHnItemModel::GetItemUid(void)
-	?AddItemL@CHnSuiteModel@@QAEXHPAVCHnItemModel@@HH@Z @ 54 NONAME ; void CHnSuiteModel::AddItemL(int, class CHnItemModel *, int, int)
-	?GetDimmed@CHnButtonModel@@QBEHXZ @ 55 NONAME ; int CHnButtonModel::GetDimmed(void) const
-	?GetItemsOrder@CHnSuiteModel@@QAEPAVCHnItemsOrder@@XZ @ 56 NONAME ; class CHnItemsOrder * CHnSuiteModel::GetItemsOrder(void)
-	?PushNewSuiteModelL@CHnSuiteModelContainer@@QAEXABVTDesC16@@@Z @ 57 NONAME ; void CHnSuiteModelContainer::PushNewSuiteModelL(class TDesC16 const &)
-	?Interface@CHnActionModel@@QBEABVTDesC8@@XZ @ 58 NONAME ; class TDesC8 const & CHnActionModel::Interface(void) const
-	?GetAttribute@CHnItemModel@@QAEPAVCHnAttributeBase@@ABVTDesC8@@@Z @ 59 NONAME ; class CHnAttributeBase * CHnItemModel::GetAttribute(class TDesC8 const &)
-	?SetInterfaceL@CHnActionModel@@QAEXABVTDesC8@@@Z @ 60 NONAME ; void CHnActionModel::SetInterfaceL(class TDesC8 const &)
-	?HasNext@CHnMenuItemModel@@UAEHXZ @ 61 NONAME ; int CHnMenuItemModel::HasNext(void)
-	?Type@CHnAttributeBase@@QAE?AW4TAttributeType@@XZ @ 62 NONAME ; enum TAttributeType CHnAttributeBase::Type(void)
-	?RegisterSuiteObserverL@CHnSuiteModel@@QAEXPAVMHnSuiteObserver@@W4TThreadPriority@@@Z @ 63 NONAME ; void CHnSuiteModel::RegisterSuiteObserverL(class MHnSuiteObserver *, enum TThreadPriority)
-	?GetItemModelsCount@CHnSuiteModel@@QAEHXZ @ 64 NONAME ; int CHnSuiteModel::GetItemModelsCount(void)
-	?SetToolbarModel@CHnItemModel@@QAEXPAVCHnToolbarModel@@@Z @ 65 NONAME ; void CHnItemModel::SetToolbarModel(class CHnToolbarModel *)
-	?SetServiceModeL@CHnActionModel@@QAEXW4TServiceMode@@@Z @ 66 NONAME ; void CHnActionModel::SetServiceModeL(enum TServiceMode)
-	?SetMenuItemModel@CHnItemModel@@QAEXPAVCHnMenuItemModel@@@Z @ 67 NONAME ; void CHnItemModel::SetMenuItemModel(class CHnMenuItemModel *)
-	?SetHelpTextL@CHnButtonModel@@QAEXABVTDesC16@@@Z @ 68 NONAME ; void CHnButtonModel::SetHelpTextL(class TDesC16 const &)
-	?NewLC@CHnButtonModel@@SAPAV1@H@Z @ 69 NONAME ; class CHnButtonModel * CHnButtonModel::NewLC(int)
-	??ACHnItemsOrder@@QAEHH@Z @ 70 NONAME ; int CHnItemsOrder::operator[](int)
-	?ClearFlags@CHnItemModel@@QAEXXZ @ 71 NONAME ; void CHnItemModel::ClearFlags(void)
-	?GetToolbarModel@CHnItemModel@@QBEPBVCHnToolbarModel@@XZ @ 72 NONAME ; class CHnToolbarModel const * CHnItemModel::GetToolbarModel(void) const
-	?GetActions@CHnSuiteModel@@QAEPAV?$CArrayPtr@VCHnActionModel@@@@H@Z @ 73 NONAME ; class CArrayPtr<class CHnActionModel> * CHnSuiteModel::GetActions(int)
-	?WidgetType@CHnSuiteModel@@QBEHXZ @ 74 NONAME ; int CHnSuiteModel::WidgetType(void) const
-	?Reset@CHnMenuItemModel@@UAEXXZ @ 75 NONAME ; void CHnMenuItemModel::Reset(void)
-	?SetItemIdAtL@CHnItemsOrder@@QAEXHH@Z @ 76 NONAME ; void CHnItemsOrder::SetItemIdAtL(int, int)
-	?GetIcon@CHnAttributeBase@@UAEPAVCGulIcon@@PAVTSize@@@Z @ 77 NONAME ; class CGulIcon * CHnAttributeBase::GetIcon(class TSize *)
-	?GetMatchingSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@_J@Z @ 78 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetMatchingSuiteModel(long long)
-	?NewL@CHnSuiteModel@@SAPAV1@AAVCHnEventHandler@@ABVTDesC16@@@Z @ 79 NONAME ; class CHnSuiteModel * CHnSuiteModel::NewL(class CHnEventHandler &, class TDesC16 const &)
-	?NewL@CHnAttrImgProvLiwImage@@SAPAV1@AAPAVTLiwVariant@@0@Z @ 80 NONAME ; class CHnAttrImgProvLiwImage * CHnAttrImgProvLiwImage::NewL(class TLiwVariant * &, class TLiwVariant * &)
-	?CustomId@CHnSuiteModel@@QAE_JXZ @ 81 NONAME ; long long CHnSuiteModel::CustomId(void)
-	?Count@CHnItemsOrder@@QAEHXZ @ 82 NONAME ; int CHnItemsOrder::Count(void)
-	?Position@CHnMenuItemModel@@QAEHXZ @ 83 NONAME ; int CHnMenuItemModel::Position(void)
-	?IsEmpty@CHnSuitesStack@@QAEHXZ @ 84 NONAME ; int CHnSuitesStack::IsEmpty(void)
-	?GetItemPosition@CHnItemsOrder@@QAEHH@Z @ 85 NONAME ; int CHnItemsOrder::GetItemPosition(int)
-	?GetSuiteId@CHnItemsOrder@@QBEHXZ @ 86 NONAME ; int CHnItemsOrder::GetSuiteId(void) const
-	?AppendChildMenuL@CHnMenuItemModel@@QAEXPAV1@@Z @ 87 NONAME ; void CHnMenuItemModel::AppendChildMenuL(class CHnMenuItemModel *)
-	?NewLC@CHnToolbarModel@@SAPAV1@XZ @ 88 NONAME ; class CHnToolbarModel * CHnToolbarModel::NewLC(void)
-	?GetSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@H@Z @ 89 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetSuiteModel(int)
-	?SetTitleL@CHnSuiteModel@@QAEXABVTDesC16@@@Z @ 90 NONAME ; void CHnSuiteModel::SetTitleL(class TDesC16 const &)
-	?GetItemModel@CHnSuiteModel@@QAEPAVCHnItemModel@@H@Z @ 91 NONAME ; class CHnItemModel * CHnSuiteModel::GetItemModel(int)
-	?GetMenuStructureL@CHnSuiteModel@@QAEPAVMHnMenuItemModelIterator@@H@Z @ 92 NONAME ; class MHnMenuItemModelIterator * CHnSuiteModel::GetMenuStructureL(int)
-	?RemoveAllItems@CHnSuiteModel@@QAEXXZ @ 93 NONAME ; void CHnSuiteModel::RemoveAllItems(void)
-	?SetPosition@CHnMenuItemModel@@QAEXH@Z @ 94 NONAME ; void CHnMenuItemModel::SetPosition(int)
-	?Service@CHnActionModel@@QBEABVTDesC8@@XZ @ 95 NONAME ; class TDesC8 const & CHnActionModel::Service(void) const
-	?SetFlag@CHnItemModel@@QAEXH@Z @ 96 NONAME ; void CHnItemModel::SetFlag(int)
-	?ConstructorLC@CHnActionModel@@QAEPAVCLiwGenericParamList@@XZ @ 97 NONAME ; class CLiwGenericParamList * CHnActionModel::ConstructorLC(void)
-	?SetExitMode@CHnSuiteModel@@QAEXW4TExitMode@@@Z @ 98 NONAME ; void CHnSuiteModel::SetExitMode(enum TExitMode)
-	?SetSuiteId@CHnItemsOrder@@QAEXH@Z @ 99 NONAME ; void CHnItemsOrder::SetSuiteId(int)
-	?NewL@CHnItemsOrder@@SAPAV1@XZ @ 100 NONAME ; class CHnItemsOrder * CHnItemsOrder::NewL(void)
-	?NewL@CHnItemModel@@SAPAV1@XZ @ 101 NONAME ; class CHnItemModel * CHnItemModel::NewL(void)
-	?SetCommand@CHnMenuItemModel@@QAEXH@Z @ 102 NONAME ; void CHnMenuItemModel::SetCommand(int)
-	?Title@CHnSuiteModel@@QBEABVTDesC16@@XZ @ 103 NONAME ; class TDesC16 const & CHnSuiteModel::Title(void) const
-	?GetParentSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@XZ @ 104 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetParentSuiteModel(void)
-	?GetIcon@CHnAttributeImage@@UAEPAVCGulIcon@@PAVTSize@@@Z @ 105 NONAME ; class CGulIcon * CHnAttributeImage::GetIcon(class TSize *)
-	?RemoveItemId@CHnItemsOrder@@QAEXH@Z @ 106 NONAME ; void CHnItemsOrder::RemoveItemId(int)
-	?ExecuteActionL@CHnEventHandler@@QAEHPAVCHnActionModel@@@Z @ 107 NONAME ; int CHnEventHandler::ExecuteActionL(class CHnActionModel *)
-	?IsDrmExpired@CHnItemModel@@QAEHXZ @ 108 NONAME ; int CHnItemModel::IsDrmExpired(void)
-	?Count@CHnSuitesStack@@QAEHXZ @ 109 NONAME ; int CHnSuitesStack::Count(void)
-	?SetGulIcon@CHnExtBmpIconHolder@@QAEXPAVCGulIcon@@PAVCLiwBitmapBuffer@@1@Z @ 110 NONAME ; void CHnExtBmpIconHolder::SetGulIcon(class CGulIcon *, class CLiwBitmapBuffer *, class CLiwBitmapBuffer *)
-	?GetLast@CHnSuitesStack@@QAEPAVCHnSuiteModel@@XZ @ 111 NONAME ; class CHnSuiteModel * CHnSuitesStack::GetLast(void)
-	?NewLC@CHnAttrImgProvAppImage@@SAPAV1@VTUid@@@Z @ 112 NONAME ; class CHnAttrImgProvAppImage * CHnAttrImgProvAppImage::NewLC(class TUid)
-	?SetMiddleSoftKey@CHnItemModel@@QAEXPAVCHnButtonModel@@@Z @ 113 NONAME ; void CHnItemModel::SetMiddleSoftKey(class CHnButtonModel *)
-	?NewL@CHnSuitesStack@@SAPAV1@AAVMHnControllerInterface@@@Z @ 114 NONAME ; class CHnSuitesStack * CHnSuitesStack::NewL(class MHnControllerInterface &)
-	?GetEventId@CHnButtonModel@@QBEHXZ @ 115 NONAME ; int CHnButtonModel::GetEventId(void) const
-	?GetItemType@CHnSuiteModel@@QAE?AW4TMcsItemType@@H@Z @ 116 NONAME ; enum TMcsItemType CHnSuiteModel::GetItemType(int)
-	?IsSuiteReadyToShow@CHnItemsOrder@@QAEHXZ @ 117 NONAME ; int CHnItemsOrder::IsSuiteReadyToShow(void)
-	?EmptyText@CHnSuiteModel@@QBEABVTDesC16@@XZ @ 118 NONAME ; class TDesC16 const & CHnSuiteModel::EmptyText(void) const
-	?GetItemIdAt@CHnItemsOrder@@QAEHH@Z @ 119 NONAME ; int CHnItemsOrder::GetItemIdAt(int)
-	?GetMenuStructure@CHnMenuItemModel@@QAEPAVMHnMenuItemModelIterator@@XZ @ 120 NONAME ; class MHnMenuItemModelIterator * CHnMenuItemModel::GetMenuStructure(void)
-	?NewL@CHnAttrImgProvFileImage@@SAPAV1@ABVTDesC16@@@Z @ 121 NONAME ; class CHnAttrImgProvFileImage * CHnAttrImgProvFileImage::NewL(class TDesC16 const &)
-	?MarkSuiteUninitialized@CHnItemsOrder@@QAEXXZ @ 122 NONAME ; void CHnItemsOrder::MarkSuiteUninitialized(void)
-	?IsMoveLocked@CHnItemModel@@QAEHXZ @ 123 NONAME ; int CHnItemModel::IsMoveLocked(void)
-	?SetMask@CHnAttributeImage@@QAEXPAVTLiwVariant@@@Z @ 124 NONAME ; void CHnAttributeImage::SetMask(class TLiwVariant *)
-	?ItemEvaluated@CHnItemsOrder@@QAEXH@Z @ 125 NONAME ; void CHnItemsOrder::ItemEvaluated(int)
-	??1CHnToolbarModel@@UAE@XZ @ 126 NONAME ; CHnToolbarModel::~CHnToolbarModel(void)
-	?SuiteName@CHnSuiteModel@@QBEABVTDesC16@@XZ @ 127 NONAME ; class TDesC16 const & CHnSuiteModel::SuiteName(void) const
-	?SetTemplateL@CHnItemModel@@QAEXABVTDesC8@@@Z @ 128 NONAME ; void CHnItemModel::SetTemplateL(class TDesC8 const &)
-	?GetIndex@CHnButtonModel@@QBEHXZ @ 129 NONAME ; int CHnButtonModel::GetIndex(void) const
-	?QueueFocus@CHnSuiteModel@@QAEXH@Z @ 130 NONAME ; void CHnSuiteModel::QueueFocus(int)
-	?IsDeleteLocked@CHnItemModel@@QAEHXZ @ 131 NONAME ; int CHnItemModel::IsDeleteLocked(void)
-	?SetConstructorL@CHnActionModel@@QAEXPAVCHnMdBaseKey@@@Z @ 132 NONAME ; void CHnActionModel::SetConstructorL(class CHnMdBaseKey *)
-	?IdByIndex@CHnSuiteModel@@QAEHH@Z @ 133 NONAME ; int CHnSuiteModel::IdByIndex(int)
-	?NewLC@CHnAttributeImage@@SAPAV1@XZ @ 134 NONAME ; class CHnAttributeImage * CHnAttributeImage::NewLC(void)
-	?IsItemBetweenMoveLocked@CHnSuiteModel@@QAEHHH@Z @ 135 NONAME ; int CHnSuiteModel::IsItemBetweenMoveLocked(int, int)
-	?SetMifFile@CHnAttributeImage@@QAEXPAVHBufC16@@@Z @ 136 NONAME ; void CHnAttributeImage::SetMifFile(class HBufC16 *)
-	?GetSuiteModelCount@CHnSuiteModelContainer@@QBEHXZ @ 137 NONAME ; int CHnSuiteModelContainer::GetSuiteModelCount(void) const
-	?HasToolbar@CHnSuiteModel@@QBEHXZ @ 138 NONAME ; int CHnSuiteModel::HasToolbar(void) const
-	?SetAttributeL@CHnItemModel@@QAEXPAVCHnAttributeBase@@@Z @ 139 NONAME ; void CHnItemModel::SetAttributeL(class CHnAttributeBase *)
-	?SetEventId@CHnButtonModel@@QAEXH@Z @ 140 NONAME ; void CHnButtonModel::SetEventId(int)
-	?GetLastSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@XZ @ 141 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetLastSuiteModel(void)
-	?NewL@CHnAttrImgProvSvgImage@@SAPAV1@ABVTDesC16@@@Z @ 142 NONAME ; class CHnAttrImgProvSvgImage * CHnAttrImgProvSvgImage::NewL(class TDesC16 const &)
-	?RemoveItemL@CHnSuiteModel@@QAEXH@Z @ 143 NONAME ; void CHnSuiteModel::RemoveItemL(int)
-	?GetTemplate@CHnItemModel@@QAEABVTDesC8@@XZ @ 144 NONAME ; class TDesC8 const & CHnItemModel::GetTemplate(void)
-	?SetMaskId@CHnAttributeImage@@QAEXH@Z @ 145 NONAME ; void CHnAttributeImage::SetMaskId(int)
-	?GetActions@CHnSuiteModel@@QAEAAV?$RHashMap@HPAV?$CArrayPtr@VCHnActionModel@@@@@@XZ @ 146 NONAME ; class RHashMap<int, class CArrayPtr<class CHnActionModel> *> & CHnSuiteModel::GetActions(void)
-	?GetItemType@CHnItemModel@@QAE?AW4TMcsItemType@@XZ @ 147 NONAME ; enum TMcsItemType CHnItemModel::GetItemType(void)
-	?GetButtonText@CHnButtonModel@@QBEABVTDesC16@@XZ @ 148 NONAME ; class TDesC16 const & CHnButtonModel::GetButtonText(void) const
-	?NewL@CHnAttributeText@@SAPAV1@XZ @ 149 NONAME ; class CHnAttributeText * CHnAttributeText::NewL(void)
-	?GetNext@CHnMenuItemModel@@UAEPAV1@XZ @ 150 NONAME ; class CHnMenuItemModel * CHnMenuItemModel::GetNext(void)
-	?DefineModelItemCountL@CHnItemsOrder@@QAEXH@Z @ 151 NONAME ; void CHnItemsOrder::DefineModelItemCountL(int)
-	?SuiteEvaluationFinishedL@CHnSuiteModel@@QAEHXZ @ 152 NONAME ; int CHnSuiteModel::SuiteEvaluationFinishedL(void)
-	?ItemEvaluationFinishedL@CHnSuiteModel@@QAEHH@Z @ 153 NONAME ; int CHnSuiteModel::ItemEvaluationFinishedL(int)
-	?NewL@CHnMenuItemModel@@SAPAV1@ABVTDesC16@@@Z @ 154 NONAME ; class CHnMenuItemModel * CHnMenuItemModel::NewL(class TDesC16 const &)
-	?ReorderItemsL@CHnSuiteModel@@QAEHHH@Z @ 155 NONAME ; int CHnSuiteModel::ReorderItemsL(int, int)
-	?GetIdsForL@CHnItemsOrder@@QAEXHAAV?$RArray@H@@@Z @ 156 NONAME ; void CHnItemsOrder::GetIdsForL(int, class RArray<int> &)
-	?NewLC@CHnAttrImgProvThemeMif@@SAPAV1@VTAknsItemID@@ABVTDesC16@@HH@Z @ 157 NONAME ; class CHnAttrImgProvThemeMif * CHnAttrImgProvThemeMif::NewLC(class TAknsItemID, class TDesC16 const &, int, int)
-	?SetWidgetType@CHnSuiteModel@@QAEXW4THnSuiteWidgetType@@@Z @ 158 NONAME ; void CHnSuiteModel::SetWidgetType(enum THnSuiteWidgetType)
-	?NotifyObserversL@CHnSuiteModel@@QAEXW4THnCustomSuiteEvent@@@Z @ 159 NONAME ; void CHnSuiteModel::NotifyObserversL(enum THnCustomSuiteEvent)
-	?DeleteAllActionModels@CHnItemModel@@QAEXXZ @ 160 NONAME ; void CHnItemModel::DeleteAllActionModels(void)
-	?SetSuiteHighlightL@CHnSuiteModel@@QAEXH@Z @ 161 NONAME ; void CHnSuiteModel::SetSuiteHighlightL(int)
-	?SetCustomId@CHnSuiteModel@@QAEX_J@Z @ 162 NONAME ; void CHnSuiteModel::SetCustomId(long long)
-	?SetCommandNameL@CHnActionModel@@QAEXABVTDesC8@@@Z @ 163 NONAME ; void CHnActionModel::SetCommandNameL(class TDesC8 const &)
-	?NewLC@CHnItemsOrder@@SAPAV1@XZ @ 164 NONAME ; class CHnItemsOrder * CHnItemsOrder::NewLC(void)
-	?SetCommand@CHnActionModel@@QAEXPAVCHnMdBaseKey@@@Z @ 165 NONAME ; void CHnActionModel::SetCommand(class CHnMdBaseKey *)
-	?NewL@CHnAttrImgProvAppImage@@SAPAV1@VTUid@@@Z @ 166 NONAME ; class CHnAttrImgProvAppImage * CHnAttrImgProvAppImage::NewL(class TUid)
-	?NewLC@CHnAttributeText@@SAPAV1@XZ @ 167 NONAME ; class CHnAttributeText * CHnAttributeText::NewLC(void)
-	?NewLC@CHnSuiteModelContainer@@SAPAV1@AAVMHnMdModelEventObserver@@AAVMHnControllerInterface@@@Z @ 168 NONAME ; class CHnSuiteModelContainer * CHnSuiteModelContainer::NewLC(class MHnMdModelEventObserver &, class MHnControllerInterface &)
-	?IsRunning@CHnItemModel@@QAEHXZ @ 169 NONAME ; int CHnItemModel::IsRunning(void)
-	?NewL@CHnActionModel@@SAPAV1@XZ @ 170 NONAME ; class CHnActionModel * CHnActionModel::NewL(void)
-	?AddButtonL@CHnToolbarModel@@QAEXPAVCHnButtonModel@@@Z @ 171 NONAME ; void CHnToolbarModel::AddButtonL(class CHnButtonModel *)
-	?SetItemUidL@CHnItemModel@@QAEXABVTDesC8@@@Z @ 172 NONAME ; void CHnItemModel::SetItemUidL(class TDesC8 const &)
-	?SetType@CHnItemModel@@QAEXABVTDesC8@@@Z @ 173 NONAME ; void CHnItemModel::SetType(class TDesC8 const &)
-	?SetSkinId@CHnAttributeImage@@QAEXVTAknsItemID@@@Z @ 174 NONAME ; void CHnAttributeImage::SetSkinId(class TAknsItemID)
-	?NameL@CHnMenuItemModel@@QAEABVTDesC16@@XZ @ 175 NONAME ; class TDesC16 const & CHnMenuItemModel::NameL(void)
-	?PopL@CHnSuitesStack@@QAEPAVCHnSuiteModel@@XZ @ 176 NONAME ; class CHnSuiteModel * CHnSuitesStack::PopL(void)
-	?SetVisibleL@CHnSuiteModel@@QAEXH@Z @ 177 NONAME ; void CHnSuiteModel::SetVisibleL(int)
-	?SetIcon@CHnButtonModel@@QAEXPAVCHnAttributeBase@@@Z @ 178 NONAME ; void CHnButtonModel::SetIcon(class CHnAttributeBase *)
-	?NewL@CHnAttrImgProvThemeMif@@SAPAV1@VTAknsItemID@@ABVTDesC16@@HH@Z @ 179 NONAME ; class CHnAttrImgProvThemeMif * CHnAttrImgProvThemeMif::NewL(class TAknsItemID, class TDesC16 const &, int, int)
-	?NewLC@CHnAttrImgProvLiwImage@@SAPAV1@AAPAVTLiwVariant@@0@Z @ 180 NONAME ; class CHnAttrImgProvLiwImage * CHnAttrImgProvLiwImage::NewLC(class TLiwVariant * &, class TLiwVariant * &)
-	?GetTemplate@CHnSuiteModel@@QBEABVTDesC8@@XZ @ 181 NONAME ; class TDesC8 const & CHnSuiteModel::GetTemplate(void) const
-	?GetActions@CHnItemModel@@QAEAAV?$RHashMap@HPAV?$CArrayPtr@VCHnActionModel@@@@@@XZ @ 182 NONAME ; class RHashMap<int, class CArrayPtr<class CHnActionModel> *> & CHnItemModel::GetActions(void)
-	?SetMenuItemType@CHnMenuItemModel@@QAEXW4THnMenuItemType@1@@Z @ 183 NONAME ; void CHnMenuItemModel::SetMenuItemType(enum CHnMenuItemModel::THnMenuItemType)
-	?HasNextSpecific@CHnMenuItemModel@@UAEHXZ @ 184 NONAME ; int CHnMenuItemModel::HasNextSpecific(void)
-	?GetNextSpecific@CHnMenuItemModel@@UAEPAV1@XZ @ 185 NONAME ; class CHnMenuItemModel * CHnMenuItemModel::GetNextSpecific(void)
-	?MenuItemType@CHnMenuItemModel@@QAE?AW4THnMenuItemType@1@XZ @ 186 NONAME ; enum CHnMenuItemModel::THnMenuItemType CHnMenuItemModel::MenuItemType(void)
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/eabi/hnpresentationmodelu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-EXPORTS
-	_ZN12CHnItemModel10ClearFlagsEv @ 1 NONAME
-	_ZN12CHnItemModel10GetActionsEi @ 2 NONAME
-	_ZN12CHnItemModel10GetActionsEv @ 3 NONAME
-	_ZN12CHnItemModel10GetItemUidEv @ 4 NONAME
-	_ZN12CHnItemModel11GetItemTypeEv @ 5 NONAME
-	_ZN12CHnItemModel11GetTemplateEv @ 6 NONAME
-	_ZN12CHnItemModel11SetCustomIdEx @ 7 NONAME
-	_ZN12CHnItemModel11SetItemUidLERK6TDesC8 @ 8 NONAME
-	_ZN12CHnItemModel12GetAttributeERK6TDesC8 @ 9 NONAME
-	_ZN12CHnItemModel12IsDrmExpiredEv @ 10 NONAME
-	_ZN12CHnItemModel12IsMoveLockedEv @ 11 NONAME
-	_ZN12CHnItemModel12SetTemplateLERK6TDesC8 @ 12 NONAME
-	_ZN12CHnItemModel13SetAttributeLEP16CHnAttributeBase @ 13 NONAME
-	_ZN12CHnItemModel14IsDeleteLockedEv @ 14 NONAME
-	_ZN12CHnItemModel15SetToolbarModelEP15CHnToolbarModel @ 15 NONAME
-	_ZN12CHnItemModel16ClearAttributesLEv @ 16 NONAME
-	_ZN12CHnItemModel16GetMiddleSoftKeyEv @ 17 NONAME
-	_ZN12CHnItemModel16SetMenuItemModelEP16CHnMenuItemModel @ 18 NONAME
-	_ZN12CHnItemModel16SetMiddleSoftKeyEP14CHnButtonModel @ 19 NONAME
-	_ZN12CHnItemModel21DeleteAllActionModelsEv @ 20 NONAME
-	_ZN12CHnItemModel4NewLEv @ 21 NONAME
-	_ZN12CHnItemModel7SetFlagEi @ 22 NONAME
-	_ZN12CHnItemModel7SetTypeERK6TDesC8 @ 23 NONAME
-	_ZN12CHnItemModel8CustomIdEv @ 24 NONAME
-	_ZN12CHnItemModel9IsRunningEv @ 25 NONAME
-	_ZN13CHnIconHolder10SetGulIconEP8CGulIcon @ 26 NONAME
-	_ZN13CHnItemsOrder10GetIdsForLEiR6RArrayIiE @ 27 NONAME
-	_ZN13CHnItemsOrder10SetSuiteIdEi @ 28 NONAME
-	_ZN13CHnItemsOrder11GetItemIdAtEi @ 29 NONAME
-	_ZN13CHnItemsOrder11GetItemIdAtEii @ 30 NONAME
-	_ZN13CHnItemsOrder12RemoveItemIdEi @ 31 NONAME
-	_ZN13CHnItemsOrder12SetItemIdAtLEii @ 32 NONAME
-	_ZN13CHnItemsOrder13ItemEvaluatedEi @ 33 NONAME
-	_ZN13CHnItemsOrder14SuiteEvaluatedEv @ 34 NONAME
-	_ZN13CHnItemsOrder15GetItemPositionEi @ 35 NONAME
-	_ZN13CHnItemsOrder15InsertItemIdToLEiii @ 36 NONAME
-	_ZN13CHnItemsOrder17GetModelItemCountEv @ 37 NONAME
-	_ZN13CHnItemsOrder18IsSuiteReadyToShowEv @ 38 NONAME
-	_ZN13CHnItemsOrder21DefineModelItemCountLEi @ 39 NONAME
-	_ZN13CHnItemsOrder22MarkSuiteUninitializedEv @ 40 NONAME
-	_ZN13CHnItemsOrder4NewLEv @ 41 NONAME
-	_ZN13CHnItemsOrder5CountEv @ 42 NONAME
-	_ZN13CHnItemsOrder5NewLCEv @ 43 NONAME
-	_ZN13CHnItemsOrderixEi @ 44 NONAME
-	_ZN13CHnSuiteModel10GetActionsEi @ 45 NONAME
-	_ZN13CHnSuiteModel10GetActionsEv @ 46 NONAME
-	_ZN13CHnSuiteModel10QueueFocusEi @ 47 NONAME
-	_ZN13CHnSuiteModel10SetActiveLEi @ 48 NONAME
-	_ZN13CHnSuiteModel11GetItemTypeEi @ 49 NONAME
-	_ZN13CHnSuiteModel11RemoveItemLEi @ 50 NONAME
-	_ZN13CHnSuiteModel11SetCustomIdEx @ 51 NONAME
-	_ZN13CHnSuiteModel11SetExitModeE9TExitMode @ 52 NONAME
-	_ZN13CHnSuiteModel11SetVisibleLEi @ 53 NONAME
-	_ZN13CHnSuiteModel12GetItemModelEi @ 54 NONAME
-	_ZN13CHnSuiteModel12SetTemplateLERK6TDesC8 @ 55 NONAME
-	_ZN13CHnSuiteModel13GetItemsOrderEv @ 56 NONAME
-	_ZN13CHnSuiteModel13ReorderItemsLEii @ 57 NONAME
-	_ZN13CHnSuiteModel13SetEmptyTextLERK7TDesC16 @ 58 NONAME
-	_ZN13CHnSuiteModel13SetWidgetTypeE18THnSuiteWidgetType @ 59 NONAME
-	_ZN13CHnSuiteModel14RemoveAllItemsEv @ 60 NONAME
-	_ZN13CHnSuiteModel16IsItemMoveLockedEi @ 61 NONAME
-	_ZN13CHnSuiteModel16NotifyObserversLE19THnCustomSuiteEvent @ 62 NONAME
-	_ZN13CHnSuiteModel16RefreshMulModelLEi @ 63 NONAME
-	_ZN13CHnSuiteModel17GetMenuStructureLEi @ 64 NONAME
-	_ZN13CHnSuiteModel17GetSuiteHighlightEv @ 65 NONAME
-	_ZN13CHnSuiteModel18GetItemModelsCountEv @ 66 NONAME
-	_ZN13CHnSuiteModel18SetSuiteHighlightLEi @ 67 NONAME
-	_ZN13CHnSuiteModel19UpdateItemTemplateLEi @ 68 NONAME
-	_ZN13CHnSuiteModel21GetMatchingItemModelLExRi @ 69 NONAME
-	_ZN13CHnSuiteModel22RegisterSuiteObserverLEP16MHnSuiteObserver15TThreadPriority @ 70 NONAME
-	_ZN13CHnSuiteModel23IsItemBetweenMoveLockedEii @ 71 NONAME
-	_ZN13CHnSuiteModel23ItemEvaluationFinishedLEi @ 72 NONAME
-	_ZN13CHnSuiteModel23UnregisterSuiteObserverEP16MHnSuiteObserver @ 73 NONAME
-	_ZN13CHnSuiteModel24SuiteEvaluationFinishedLEv @ 74 NONAME
-	_ZN13CHnSuiteModel4NewLER15CHnEventHandlerRK7TDesC16 @ 75 NONAME
-	_ZN13CHnSuiteModel8AddItemLEiP12CHnItemModelii @ 76 NONAME
-	_ZN13CHnSuiteModel8CustomIdEv @ 77 NONAME
-	_ZN13CHnSuiteModel8ExitModeEv @ 78 NONAME
-	_ZN13CHnSuiteModel8IsActiveEv @ 79 NONAME
-	_ZN13CHnSuiteModel9IdByIndexEi @ 80 NONAME
-	_ZN13CHnSuiteModel9SetTitleLERK7TDesC16 @ 81 NONAME
-	_ZN13CHnSuiteModelD0Ev @ 82 NONAME
-	_ZN13CHnSuiteModelD1Ev @ 83 NONAME
-	_ZN13CHnSuiteModelD2Ev @ 84 NONAME
-	_ZN14CHnActionModel10SetCommandEP12CHnMdBaseKey @ 85 NONAME
-	_ZN14CHnActionModel11SetServiceLERK6TDesC8 @ 86 NONAME
-	_ZN14CHnActionModel13ConstructorLCEv @ 87 NONAME
-	_ZN14CHnActionModel13SetInterfaceLERK6TDesC8 @ 88 NONAME
-	_ZN14CHnActionModel15SetCommandNameLERK6TDesC8 @ 89 NONAME
-	_ZN14CHnActionModel15SetConstructorLEP12CHnMdBaseKey @ 90 NONAME
-	_ZN14CHnActionModel15SetServiceModeLE12TServiceMode @ 91 NONAME
-	_ZN14CHnActionModel4NewLEv @ 92 NONAME
-	_ZN14CHnButtonModel10SetEventIdEi @ 93 NONAME
-	_ZN14CHnButtonModel12SetHelpTextLERK7TDesC16 @ 94 NONAME
-	_ZN14CHnButtonModel5NewLCEi @ 95 NONAME
-	_ZN14CHnButtonModel7SetIconEP16CHnAttributeBase @ 96 NONAME
-	_ZN14CHnButtonModel9SetDimmedEi @ 97 NONAME
-	_ZN14CHnButtonModelD0Ev @ 98 NONAME
-	_ZN14CHnButtonModelD1Ev @ 99 NONAME
-	_ZN14CHnButtonModelD2Ev @ 100 NONAME
-	_ZN14CHnSuitesStack12GetRootSuiteEv @ 101 NONAME
-	_ZN14CHnSuitesStack3GetEi @ 102 NONAME
-	_ZN14CHnSuitesStack4NewLER22MHnControllerInterface @ 103 NONAME
-	_ZN14CHnSuitesStack4PopLEv @ 104 NONAME
-	_ZN14CHnSuitesStack5CountEv @ 105 NONAME
-	_ZN14CHnSuitesStack5PushLEP13CHnSuiteModel @ 106 NONAME
-	_ZN14CHnSuitesStack7GetLastEv @ 107 NONAME
-	_ZN14CHnSuitesStack7IsEmptyEv @ 108 NONAME
-	_ZN15CHnEventHandler14ExecuteActionLEP14CHnActionModel @ 109 NONAME
-	_ZN15CHnToolbarModel10AddButtonLEP14CHnButtonModel @ 110 NONAME
-	_ZN15CHnToolbarModel5NewLCEv @ 111 NONAME
-	_ZN15CHnToolbarModelD0Ev @ 112 NONAME
-	_ZN15CHnToolbarModelD1Ev @ 113 NONAME
-	_ZN15CHnToolbarModelD2Ev @ 114 NONAME
-	_ZN16CHnAttributeBase4TypeEv @ 115 NONAME
-	_ZN16CHnAttributeBase5ValueEv @ 116 NONAME
-	_ZN16CHnAttributeBase7GetIconEP5TSize @ 117 NONAME
-	_ZN16CHnAttributeBase8SetNameLERK6TDesC8 @ 118 NONAME
-	_ZN16CHnAttributeText4NewLEv @ 119 NONAME
-	_ZN16CHnAttributeText5NewLCEv @ 120 NONAME
-	_ZN16CHnAttributeText9SetValueLERK6TDesC8 @ 121 NONAME
-	_ZN16CHnMenuItemModel10SetCommandEi @ 122 NONAME
-	_ZN16CHnMenuItemModel11SetPositionEi @ 123 NONAME
-	_ZN16CHnMenuItemModel16AppendChildMenuLEPS_ @ 124 NONAME
-	_ZN16CHnMenuItemModel16GetMenuStructureEv @ 125 NONAME
-	_ZN16CHnMenuItemModel4NewLERK7TDesC16 @ 126 NONAME
-	_ZN16CHnMenuItemModel5NameLEv @ 127 NONAME
-	_ZN16CHnMenuItemModel5ResetEv @ 128 NONAME
-	_ZN16CHnMenuItemModel7CommandEv @ 129 NONAME
-	_ZN16CHnMenuItemModel7GetNextEv @ 130 NONAME
-	_ZN16CHnMenuItemModel7HasNextEv @ 131 NONAME
-	_ZN16CHnMenuItemModel8PositionEv @ 132 NONAME
-	_ZN17CHnAttributeImage10SetMifFileEP7HBufC16 @ 133 NONAME
-	_ZN17CHnAttributeImage11SetBitmapIdEi @ 134 NONAME
-	_ZN17CHnAttributeImage14SetFileNameSrcEP7HBufC16 @ 135 NONAME
-	_ZN17CHnAttributeImage17SetApplicationUidE4TUid @ 136 NONAME
-	_ZN17CHnAttributeImage4NewLEv @ 137 NONAME
-	_ZN17CHnAttributeImage5NewLCEv @ 138 NONAME
-	_ZN17CHnAttributeImage7GetIconEP5TSize @ 139 NONAME
-	_ZN17CHnAttributeImage7SetMaskEP11TLiwVariant @ 140 NONAME
-	_ZN17CHnAttributeImage9SetBitmapEP11TLiwVariant @ 141 NONAME
-	_ZN17CHnAttributeImage9SetMaskIdEi @ 142 NONAME
-	_ZN17CHnAttributeImage9SetSkinIdE11TAknsItemID @ 143 NONAME
-	_ZN19CHnExtBmpIconHolder10SetGulIconEP8CGulIconP16CLiwBitmapBufferS3_ @ 144 NONAME
-	_ZN22CHnAttrImgProvAppImage4NewLE4TUid @ 145 NONAME
-	_ZN22CHnAttrImgProvAppImage5NewLCE4TUid @ 146 NONAME
-	_ZN22CHnAttrImgProvLiwImage4NewLERP11TLiwVariantS2_ @ 147 NONAME
-	_ZN22CHnAttrImgProvLiwImage5NewLCERP11TLiwVariantS2_ @ 148 NONAME
-	_ZN22CHnAttrImgProvSvgImage4NewLERK7TDesC16 @ 149 NONAME
-	_ZN22CHnAttrImgProvSvgImage5NewLCERK7TDesC16 @ 150 NONAME
-	_ZN22CHnAttrImgProvThemeMif4NewLE11TAknsItemIDRK7TDesC16ii @ 151 NONAME
-	_ZN22CHnAttrImgProvThemeMif5NewLCE11TAknsItemIDRK7TDesC16ii @ 152 NONAME
-	_ZN22CHnSuiteModelContainer13GetSuiteModelERK7TDesC16 @ 153 NONAME
-	_ZN22CHnSuiteModelContainer13GetSuiteModelEi @ 154 NONAME
-	_ZN22CHnSuiteModelContainer13OfferHnEventLEiiP20CLiwGenericParamList @ 155 NONAME
-	_ZN22CHnSuiteModelContainer14PopSuiteModelLERK7TDesC16 @ 156 NONAME
-	_ZN22CHnSuiteModelContainer16RemoveLiwObjectsEv @ 157 NONAME
-	_ZN22CHnSuiteModelContainer17GetLastSuiteModelEv @ 158 NONAME
-	_ZN22CHnSuiteModelContainer18PushNewSuiteModelLERK7TDesC16 @ 159 NONAME
-	_ZN22CHnSuiteModelContainer19GetParentSuiteModelEv @ 160 NONAME
-	_ZN22CHnSuiteModelContainer21GetMatchingSuiteModelEx @ 161 NONAME
-	_ZN22CHnSuiteModelContainer4NewLER23MHnMdModelEventObserverR22MHnControllerInterface @ 162 NONAME
-	_ZN22CHnSuiteModelContainer5NewLCER23MHnMdModelEventObserverR22MHnControllerInterface @ 163 NONAME
-	_ZN23CHnAttrImgProvFileImage4NewLERK7TDesC16 @ 164 NONAME
-	_ZN23CHnAttrImgProvFileImage5NewLCERK7TDesC16 @ 165 NONAME
-	_ZNK12CHnItemModel15GetToolbarModelEv @ 166 NONAME
-	_ZNK13CHnIconHolder10GetGulIconEv @ 167 NONAME
-	_ZNK13CHnItemsOrder10GetSuiteIdEv @ 168 NONAME
-	_ZNK13CHnSuiteModel10HasToolbarEv @ 169 NONAME
-	_ZNK13CHnSuiteModel10WidgetTypeEv @ 170 NONAME
-	_ZNK13CHnSuiteModel11GetTemplateEv @ 171 NONAME
-	_ZNK13CHnSuiteModel5TitleEv @ 172 NONAME
-	_ZNK13CHnSuiteModel9EmptyTextEv @ 173 NONAME
-	_ZNK13CHnSuiteModel9SuiteNameEv @ 174 NONAME
-	_ZNK14CHnActionModel11CommandNameEv @ 175 NONAME
-	_ZNK14CHnActionModel11ServiceModeEv @ 176 NONAME
-	_ZNK14CHnActionModel7ServiceEv @ 177 NONAME
-	_ZNK14CHnActionModel9CommandLCEv @ 178 NONAME
-	_ZNK14CHnActionModel9InterfaceEv @ 179 NONAME
-	_ZNK14CHnButtonModel10GetEventIdEv @ 180 NONAME
-	_ZNK14CHnButtonModel13GetButtonTextEv @ 181 NONAME
-	_ZNK14CHnButtonModel7GetIconEv @ 182 NONAME
-	_ZNK14CHnButtonModel8GetIndexEv @ 183 NONAME
-	_ZNK14CHnButtonModel9GetDimmedEv @ 184 NONAME
-	_ZNK15CHnToolbarModel10HasButtonsEv @ 185 NONAME
-	_ZNK15CHnToolbarModel9GetButtonEi @ 186 NONAME
-	_ZNK16CHnAttributeBase4NameEv @ 187 NONAME
-	_ZNK22CHnSuiteModelContainer18GetSuiteModelCountEv @ 188 NONAME
-	_ZTI19CHnExtBmpIconHolder @ 189 NONAME
-	_ZTV19CHnExtBmpIconHolder @ 190 NONAME
-	_ZThn4_N16CHnMenuItemModel5ResetEv @ 191 NONAME
-	_ZThn4_N16CHnMenuItemModel7GetNextEv @ 192 NONAME
-	_ZThn4_N16CHnMenuItemModel7HasNextEv @ 193 NONAME
-	_ZN16CHnMenuItemModel15GetNextSpecificEv @ 194 NONAME
-	_ZN16CHnMenuItemModel15HasNextSpecificEv @ 195 NONAME
-	_ZN16CHnMenuItemModel15SetMenuItemTypeENS_15THnMenuItemTypeE @ 196 NONAME
-	_ZThn4_N16CHnMenuItemModel15GetNextSpecificEv @ 197 NONAME
-	_ZThn4_N16CHnMenuItemModel15HasNextSpecificEv @ 198 NONAME
-	_ZN16CHnMenuItemModel12MenuItemTypeEv @ 199 NONAME
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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:  Build information file for project hnpresentationmodel
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/hnsuitemodelcontainer.h      |../../../inc/hnsuitemodelcontainer.h
-../inc/hnsuitemodel.h               |../../../inc/hnsuitemodel.h
-../inc/hnitemmodel.h                |../../../inc/hnitemmodel.h
-../inc/hnmenuitemmodel.h            |../../../inc/hnmenuitemmodel.h
-../inc/hnactionmodel.h              |../../../inc/hnactionmodel.h
-../inc/hntoolbarmodel.h             |../../../inc/hntoolbarmodel.h
-../inc/hnbuttonmodel.h              |../../../inc/hnbuttonmodel.h
-../inc/hnattributetext.h            |../../../inc/hnattributetext.h
-../inc/hnattributeimage.h           |../../../inc/hnattributeimage.h
-../inc/hneventhandler.h             |../../../inc/hneventhandler.h 
-../inc/hnattributebase.h            |../../../inc/hnattributebase.h 
-../inc/hnsuiteobserver.h            |../../../inc/hnsuiteobserver.h 
-../inc/hnitemsorder.h               |../../../inc/hnitemsorder.h
-../inc/hniconholder.h               |../../../inc/hniconholder.h
-../inc/hnextbmpiconholder.h         |../../../inc/hnextbmpiconholder.h
-
-PRJ_MMPFILES
-hnpresentationmodel.mmp
-
-PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/hierarchynavigator/hnpresentationmodel/group/hnpresentationmodel.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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:  Project definition file for project hierarchy navigator presentation model
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          hnpresentationmodel.dll
-TARGETTYPE      dll
-
-UID             0x1000008d 0x2000F8C6
-
-CAPABILITY      CAP_GENERAL_DLL
-
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          hnsuitemodelcontainer.cpp
-SOURCE          hnsuitemodel.cpp
-SOURCE          hnsuitesstack.cpp
-SOURCE          hnitemmodel.cpp
-SOURCE          hnmenuitemmodel.cpp
-SOURCE          hnactionmodel.cpp 
-SOURCE          hntoolbarmodel.cpp 
-SOURCE          hnbuttonmodel.cpp 
-SOURCE          hnattributebase.cpp 
-SOURCE          hnattributeimage.cpp 
-SOURCE          hnattrimgprovider.cpp 
-SOURCE          hnattrimgprovthememif.cpp 
-SOURCE          hnattrimgprovemptyimage.cpp
-SOURCE          hnattrimgprovappimage.cpp
-SOURCE          hnattrimgprovfileimage.cpp
-SOURCE          hnattrimgprovliwimage.cpp 
-SOURCE          hnattributetext.cpp
-SOURCE          hneventhandler.cpp
-SOURCE          hnitemsorder.cpp 
-SOURCE          hnattrimgprovsvgimage.cpp
-SOURCE          hnitemfocushandler.cpp
-SOURCE          hniconholder.cpp
-SOURCE          hnextbmpiconholder.cpp
-
-USERINCLUDE     ../inc
-
-SYSTEMINCLUDE   ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         hnutilities.lib
-LIBRARY         euser.lib
-LIBRARY         bafl.lib
-LIBRARY         libpthread.lib
-LIBRARY         egul.lib
-LIBRARY         liwservicehandler.lib //LIW Framework
-LIBRARY         mmextensionmanager.lib
-LIBRARY         aknskins.lib
-LIBRARY         aknskinsrv.lib
-LIBRARY         aknicon.lib
-LIBRARY         efsrv.lib
-LIBRARY         fbscli.lib
-LIBRARY         mediaclientimage.lib
-LIBRARY         imageconversion.lib 
-LIBRARY         cone.lib 
-LIBRARY         estor.lib
-LIBRARY         svgengine.lib
-LIBRARY         gdi.lib
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-
-// End of file
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnactionmodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +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:   action presentation model
-*
-*/
-
-
-#ifndef HNACTIONMODEL_H_
-#define HNACTIONMODEL_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <liwservicehandler.h>
-#include "hnglobals.h"
-
-
-class MLiwNotifyCallback;
-class CLiwGenericParamList;
-class CHnMdServiceCommand;
-class CHnEventHandler;
-class CHnMdBaseKey;
-struct THnMdCommonPointers;
-
-/**
- *  Action model class.
- * 
- *  The class represents an evaluated action, with concrete values.
- *  It is constructed from the data contained in the CHnMdAction, 
- *  during evaluation. The afore mentioned process, replaces any 
- *  configurable data with specific information fetched form services
- *  or other sources. Such setup action, may be executed by means
- *  of its methods. However, a reference to an instance of CHnEventHandler
- *  has to be provided. 
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @see CHnMdAction
- *  @see CHnEventHandler
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnActionModel ) : public CBase
-    {
-    
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C static CHnActionModel* NewL();
-    
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnActionModel();
-    
-    /**
-     * Concretizes the key values.
-     *
-     * @since S60 5.0
-     * @param aActionModel The action model to be concretized.
-     * @param aGenericParamList The list of parameters.
-     * @return Concretized instance of action model.
-     * 
-     */
-    CHnActionModel* ConcretizeL( const CHnActionModel & aActionModel,
-            CLiwGenericParamList* aGenericParamList );
-    
-    /**
-     * Returns service constructor parameters
-     * as a CLiwGenericParamList. The list contains 
-     * keys evaluated from the XML configuration.
-     *
-     * @since S60 5.0
-     * @return Constructor parameters.
-     * 
-     */
-    IMPORT_C CLiwGenericParamList*  ConstructorLC();
-    
-    /**
-     * Returns the service name.
-     *
-     * @since S60 5.0
-     * @return Service name.
-     */
-    IMPORT_C const TDesC8& Service() const;
-        
-    /**
-     * Returns service command content as
-     * a CLiwGenericParamList. The list contains
-     * keys evaluated from the XML configuration.
-     *
-     * @since S60 5.0
-     * @return Command element.
-     */
-    IMPORT_C CLiwGenericParamList* CommandLC() const;
-        
-    /**
-     * Returns interface name.
-     *
-     * @since S60 5.0
-     * @return Interface name.
-     */
-    IMPORT_C const TDesC8& Interface() const;
-    
-    /**
-     * Sets constructor parameters.
-     * Method takes copy of items from the array.
-     *
-     * @since S60 5.0
-     * @param aData Constructor parameters.
-     */
-    IMPORT_C void SetConstructorL( CHnMdBaseKey* aData );
-    
-    /**
-     * Sets the service name.
-     *
-     * @since S60 5.0
-     * @param aService Service name.
-     */
-    IMPORT_C void SetServiceL( const TDesC8& aService );
-        
-    /**
-     * Sets the service command parameters.
-     *
-     * @since S60 5.0
-     * @param aCommand Command parameters.
-     */
-    IMPORT_C void SetCommand( CHnMdBaseKey* aCommand );
-    
-    /**
-     * Sets interface name.
-     *
-     * @since S60 5.0
-     * @param aInterface Interface name.
-     */
-    IMPORT_C void SetInterfaceL( const TDesC8& aInterface );
-    
-    /**
-     * Sets service command name.
-     *
-     * @since S60 5.0
-     * @param aCommandName Name of the service command.
-     */
-    IMPORT_C void SetCommandNameL( const TDesC8& aCommandName );
-    
-    
-    /**
-     * Sets the mode in which the service command
-     * should operate.
-     *
-     * @since S60 5.0
-     * @param aMode Mode in which command operates.
-     */
-    IMPORT_C void SetServiceModeL( TServiceMode aMode );
-    
-    /**
-     * Returns command name.
-     *
-     * @since S60 5.0
-     * @return Command name.
-     */
-    IMPORT_C const TDesC8& CommandName() const;
-    
-    
-    /**
-     * Returns service mode in which the action operates.
-     *
-     * @since S60 5.0
-     * @return Service mode.
-     */
-    IMPORT_C TServiceMode ServiceMode() const;
-    
-    /**
-     * Executes the action.
-     *
-     * @since S60 5.0
-     * @param aEventHandler A reference to an instance of event handler
-     * @param aExecutionParams A pointer to the parameters to the event.
-     * @return Error code of the event execution.
-     */
-    TInt ExecuteL( CHnEventHandler & aEventHandler,
-            CLiwGenericParamList *aExecutionParams );
-    
-private:
-
-    /**
-     * Second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnActionModel();
-    
-private: // data
-
-    /**
-     * Service name.
-     */
-    RBuf8 iService;
-
-    /**
-     * Interface name.
-     */
-    RBuf8 iInterface;
-    
-    /**
-     * Command name.
-     */
-    RBuf8 iCommandName;
-    
-    /**
-     * Service mode.
-     */
-    TServiceMode iMode;
-
-    /**
-     * Command parameters.
-     * Own.
-     */
-    CHnMdBaseKey* iCommand;
-    
-    /**
-     * Constructor parameters.
-     * Own.
-     */
-    CHnMdBaseKey* iConstructor;
-    
-    };
-
-#endif /*HNACTIONMODEL_H_*/
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributebase.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +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:   abstract base class for attribute models
-*
-*/
-
-
-#ifndef C_HNATTRIBUTEBASE_H
-#define C_HNATTRIBUTEBASE_H
-
-#include <e32base.h>
-#include "hniconholder.h"
-
-class CGulIcon;
-
-/** 
- * Attribute type. Indicates the text or image attribute. 
- */
-enum TAttributeType 
-    {
-    ETextAttribute,
-    EImageAttribute
-    };
-
-/**
- * Attribute base (abstract) class.
- * 
- * Base class for attributes providing common functionality 
- * and defining required abstract methods for the interface.
- * Attributes are used to logically mediate visual properties, 
- * such as icons, texts, templates, etc., from the xml to the 
- * presentation layer. Atributes are used eg., to retrieve content 
- * of such visual items in the widget library (mmwidgets), 
- * for display purposes. 
- *
- * @lib hnpresentationmodel
- * @since S60 5.0
- * @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttributeBase ) : public CBase
-     {
-public:
-    
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnAttributeBase();
-    
-    /**
-     * Sets the attribute name.
-     *
-     * @since S60 5.0
-     * @param aName Name of the attribute
-     */
-    IMPORT_C void SetNameL( const TDesC8& aName );
-
-    /**
-     * Gets the name of the attribute.
-     *
-     * @since S60 5.0
-     * @return Attribute name.
-     */
-    IMPORT_C const TDesC8& Name() const;
-
-    /**
-     * Gets the value of the attribute.
-     *
-     * @since S60 5.0
-     * @return Attribute's value.
-     */
-    IMPORT_C virtual const TDesC8& Value();
-    
-    /**
-     * Gets icon, packed in CGulIcon.
-     * 
-     * @see CGulIcon
-     * @since S60 5.0
-     * @return Icon as a poitner to CGulIcon.
-     */
-    IMPORT_C virtual CGulIcon* GetIcon( TSize* aDesiredIconSize 
-            = NULL );
-    
-    /**
-     * Gets icon holder, which owns the same icon that GetIcon returns.
-     * 
-     * Icon holder should be used when the icon from model needs to
-     * be stored. Please see @c CHnIconHolder description for more
-     * details on how to store icons.
-     * 
-     * @param aDesiredIconSize Desired size of the icon contained in
-     *                         the returned icon holder.
-     * @return An icon holder. You can call GetGulIcon on it to get the
-     *         actual icon (may return NULL).
-     */
-    virtual CHnIconHolder* GetIconHolder( TSize* aDesiredIconSize );
-    
-    /**
-     * Gets attributes's type.
-     * 
-     * @since S60 5.0
-     * @return Attribute's type.
-     */    
-    IMPORT_C TAttributeType Type();
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    virtual void RemoveLiwObjects();
-
-protected: // data
-    
-    /**
-     * Attribute type.
-     */
-    TAttributeType iAttributeType;
-    
-private: // data
-
-    /**
-     * Attribute name. 
-     */
-    RBuf8 iName;
-    
-    };
-
-#endif // C_HNATTRIBUTEBASE_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributeimage.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +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:   image attribute model
-*
-*/
-
-
-#ifndef C_HNATTRIBUTEIMAGE_H
-#define C_HNATTRIBUTEIMAGE_H
-
-#include <AknsSkinInstance.h> 
-#include "hnattributebase.h"
-
-class CFbsBitmap;
-class CHnAttrImgProvider;
-class CGulIcon;
-class TLiwVariant;
-
-/**
- *  Image attribute.
- * 
- *  Class defining behaviour of the CHnAttributeBase interface
- *  to support images. The model is responsible for creation 
- *  of the image, appropriately, depending on the source 
- *  of the image.
- * 
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttributeImage ) : public CHnAttributeBase
-{
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttributeImage* NewL();
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttributeImage* NewLC();
-
-    
-    /**
-     * Standard C++ virtual destructor.
-     * @since S60 5.0
-     */
-    ~CHnAttributeImage();
-    
-    /**
-     * Sets skin id.
-     * 
-     * @since S60 5.0
-     * @param aSkinId Skind id.
-     */
-    IMPORT_C void SetSkinId ( TAknsItemID aSkinId );
-
-    /**
-     * Sets file name source.
-     * Takes ownership of the buffer. Therefore the buffer must not be NULL.
-     * 
-     * @since S60 5.0
-     * @param aFileNameSrc A source filename, as a heap buffer pointer.
-     */
-    IMPORT_C void SetFileNameSrc ( HBufC* aFileNameSrc );
-
-    /**
-     * Sets mif file.
-     * Takes ownership of the buffer. Therefore the buffer must not be NULL.
-     * 
-     * @since S60 5.0
-     * @param aMifFile Mif filename as a heap buffer pointer.
-     */
-    IMPORT_C void SetMifFile ( HBufC* aMifFile );
-
-    /**
-     * Sets bitmap id.
-     * 
-     * @since S60 5.0
-     * @param aBitmapId Bitmap id.
-     */
-    IMPORT_C void SetBitmapId ( TInt aBitmapId );
-
-    /**
-     * Sets mask id.
-     * 
-     * @since S60 5.0
-     * @param aMaskId Mask id.
-     */
-    IMPORT_C void SetMaskId ( TInt aMaskId );
-
-    /**
-     * Sets application uid.
-     * 
-     * @since S60 5.0
-     * @param aApplicationUid Application uid.
-     */
-    IMPORT_C void SetApplicationUid( TUid aApplicationUid);
-
-    /**
-     * Sets bitmap.
-     * Takes ownership.
-     * 
-     * @since S60 5.0
-     * @param aBitmap Pointer to a bitmap.
-     */
-    IMPORT_C void SetBitmap ( TLiwVariant* aBitmap );
-
-    /**
-     * Sets mask.
-     * Takes ownership.
-     * 
-     * @since S60 5.0
-     * @param aMask Pointer to a mask.
-     */
-    IMPORT_C void SetMask ( TLiwVariant* aMask );
-    
-    /**
-     * Gets icon, packed in CGulIcon.
-     * 
-     * @see CGulIcon
-     * @since S60 5.0
-     * @return Icon as a poitner to CGulIcon.
-     */
-    IMPORT_C CGulIcon* GetIcon( TSize* aDesiredIconSize );
-    
-    /**
-     * Please see the description in the base class @c CHnAttributeBase.
-     */
-    CHnIconHolder* GetIconHolder( TSize* aDesiredIconSize );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-    
-    /**
-     * Standard C++ constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttributeImage();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-
-    /**
-     * Method is used to prepare the image provider,
-     * if the icon is being fetched for the first time.
-     * Image providers are created appropriately depending on 
-     * the image source, and they are responsible for providing
-     * bitmaps.
-     *
-     * @since S60 5.0
-     * @return Error code when provider cannot be created.
-     */
-    TInt Prepare();
-
-    /**
-     * Method is used to prepare the image provider.
-     * Image providers are created appropriately depending on 
-     * the image source, and they are responsible for providing
-     * bitmaps.
-     * 
-     * @since S60 5.0
-     */
-    void PrepareProviderL();
-
-    /**
-     * Returns true if the attribute loaded a mif icon.
-     * 
-     * @since S60 5.0
-     * @return True if image was loaded from mif.
-     */
-    TBool IsThemeMif();
-    
-    /**
-     * Returns true if the attribute is loaded from application uid.
-     * 
-     * @since S60 5.0
-     * @return True if image was loaded from application uid.
-     */
-    TBool IsApplicationImage();
-    
-    /**
-     * Returns true if the attribute is loaded from image file.
-     * 
-     * @since S60 5.0
-     * @return True if image was loaded from image file.
-     */
-    TBool IsFileImageL();
-
-    /**
-     * Returns true if the attribute is loaded from liw buffer.
-     * 
-     * @since S60 5.0
-     * @return True if image was loaded from liw buffer.
-     */
-    TBool IsLiwImage();
-
-private:
-
-    /**
-     * Skin id.
-     */
-    TAknsItemID iSkinId;
-    
-    /**
-     * Mif file name.
-     */
-    RBuf iMifFile;
-
-    /**
-    * Bitmap id.
-    */
-   TInt iBitmapId;
-
-   /**
-    * Mask id.
-    */
-   TInt iMaskId;
-   
-   /**
-    * Image source file name.
-    */
-    RBuf iFileNameSrc;
-    
-    /**
-     * Application uid to fetch the image from.
-     */
-    TUid iApplicationUid;
-    
-    /**
-     * Bitmap from Liw Buffer.
-     * Own.
-     */
-    TLiwVariant* iBitmap;
-    
-    /**
-     * Mask from Liw Buffer.
-     * Own.
-     */
-    TLiwVariant* iMask;
-    
-    /**
-     * Hn image provider
-     * Own.
-     */
-    CHnAttrImgProvider* iAttrImgProvider;
-
-    };
-
-#endif // C_HNATTRIBUTEIMAGE_H
-
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributetext.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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:   text attribute model
-*
-*/
-
-
-#ifndef C_HNATTRIBUTETEXT_H
-#define C_HNATTRIBUTETEXT_H
-
-#include "hnattributebase.h"
-
-/**
- *  Image attribute.
- * 
- *  Class defining behaviour of the CHnAttributeBase interface
- *  to support text. The model is responsible for creation 
- *  of the text, appropriately, depending on the definition in the
- *  xml.
- * 
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttributeText ) : public CHnAttributeBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttributeText* NewL();
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttributeText* NewLC();
-
-    
-    /**
-     * Standard C++ virtual destructor.
-     */
-    ~CHnAttributeText();
-    
-    /**
-     * Sets the attribute value.
-     * 
-     * @since S60 5.0
-     * @param aValue A reference to a descriptor.
-     */
-    IMPORT_C void SetValueL ( const TDesC8& aValue );
-
-// From base class CHnAttributeBase
-public:
-    
-    /**
-     * Returns the value of the attribute.
-     *
-     * @since S60 5.0
-     * @return Value of the attribute.
-     */
-    const TDesC8& Value( );
-
-private:
-
-    /**
-      * Standard C++ constructor.
-      * 
-      * @since S60 5.0
-      */
-     CHnAttributeText();
-
-     /**
-      * Standard symbian 2nd phase constructor.
-      * 
-      * @since S60 5.0
-      */
-     void ConstructL();
-    
-private:
-
-    /**
-     * Attribute value.
-     */
-    RBuf8 iValue;
-    
-    };
-
-#endif // C_HNATTRIBUTETEXT_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovappimage.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +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:   image provider for application uid
-*
-*/
-
-
-#ifndef HNATTRIMGPROVAPPIMAGE_H_
-#define HNATTRIMGPROVAPPIMAGE_H_
-
-#include <AknUtils.h>
-#include "hnattrimgprovider.h"
-#include "hnglobals.h" 
-
-/**
- *  Image provider class for application uid.
- *
- *  Image provider specialization that loads the image 
- *  based on the application uid.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvAppImage ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aApplicationUid Application uid.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvAppImage* NewL( TUid aApplicationUid );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aApplicationUid Application uid.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvAppImage* NewLC( TUid aApplicationUid );
-
-    /**
-     * Virtual destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvAppImage();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Returns value.
-     *
-     * @since S60 5.0
-     * @return Value.
-     */
-    const TDesC8& Value( );
-
-    /**
-     * This method should create a bitmap and its mask, 
-     * by retrieving it form the application by a given uid (passed
-     * in the constructor)
-     *
-     * @param aId          Parameter not used.
-     * @param aBitmap      Output pointer to a bitmap.     
-     * @param aMaskBitmap  Output pointer to a mask.
-     * @since S60 5.0
-     */
-     void ProvideBitmapL(TInt aId, CFbsBitmap*& aBitmap, 
-             CFbsBitmap*& aMaskBitmap);
-
-private:
-
-    /**
-     * Default constructor.
-     */
-    CHnAttrImgProvAppImage();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aApplicationUid Application uid.
-     */
-    void ConstructL( TUid aApplicationUid );
-
-private: // data
-    
-    /**
-     * Value
-     */
-    TBuf8<KMaxLength> iValue;
-
-    /**
-     * Application UID
-     */
-    TUid iApplicationUid;
-    };
-    
-#endif // HNATTRIMGPROVAPPIMAGE_H_
-    
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovemptyimage.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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:   image provider for empty image
-*
-*/
-
-
-
-#ifndef C_HNATTRIMAGEPROVEMPTY_H
-#define C_HNATTRIMAGEPROVEMPTY_H
-
-#include "hnattrimgprovider.h"
-
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads empty icon.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvEmptyImage ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object
-     */
-    static CHnAttrImgProvEmptyImage* NewL();
-
-    /**
-     * Two-phase constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object
-     */
-    static CHnAttrImgProvEmptyImage* NewLC();
-
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvEmptyImage();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Value property getter.
-     *
-     * @since S60 5.0
-     * @return value
-     */
-    const TDesC8& Value( );
-
-private:
-
-    /**
-     * Defualt constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvEmptyImage();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL( );
-
-private: // data
-
-    /**
-     * Empty value.
-     */
-    TBuf8<1> iEmptyVal;
-    };
-
-
-#endif // C_HNATTRIMGPROVEMPTY_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovfileimage.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +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:   image provider for image file
-*
-*/
-
-
-#ifndef HNATTRIMGPROVFILEIMAGE_H_
-#define HNATTRIMGPROVFILEIMAGE_H_
-
-#include "hnattrimgprovider.h"
-
-class CImageDecoder;
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads image
- *  from an image file path.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvFileImage ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvFileImage* NewL( const TDesC& aFileName );
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvFileImage* NewLC( const TDesC& aFileName );
-
-    /**
-     * Virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvFileImage();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Returns value.
-     *
-     * @return Value.
-     * @since S60 5.0
-     */
-    const TDesC8& Value();
-
-private:
-
-    /**
-     * Defualt constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvFileImage();
-    
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     */
-    void ConstructL( const TDesC& aFileName );
-    
-    /**
-     * Determines optimal size for a bitmap to store an image from file.
-     * 
-     * The bitmap whose size is determindd by this method is supposed to
-     * be passed to CImageDecoder::Convert method.
-     * The size will be chosen so that the following two requirements are
-     * satisfied:
-     * 1. Bitmap size does not exceed the initial bitmap size passed in
-     *    aBitmapSize.
-     * 2. CImageDecoder::Convert fills the whole bitmap with image data
-     *    (there will be no empty space in the bitmap).
-     * Please note that the information about the size of the image in the
-     * file is accessible through the aImageDec object.
-     * @param aImageDec reference to a CImageDecoder object
-     * @param aBitmapSize maximal bitmap size, optimal bitmap size after
-     *        execution
-     */
-    void CorrectBitmapSize( CImageDecoder& aImageDec, TSize& aBitmapSize );
-
-private: // data
-
-    /**
-     * Value
-     */
-    RBuf8 iValue;
-
-    };
-
-#endif // HNATTRIMGPROVFILEIMAGE_H_
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovider.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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:   base class for all image providers
-*
-*/
-
-
-
-#ifndef C_HNATTRIMGPROVIDER_H
-#define C_HNATTRIMGPROVIDER_H
-
-#include <e32base.h>
-#include <gulicon.h>
-#include <AknUtils.h>
-#include "SVGRequestObserver.h"
-#include "hniconholder.h"
-
-
-/**
- * Allows for removing an item from a cleanup stack without using
- * CleanupStack::Pop().
- * This is useful when an item must be removed from the cleanup stack
- * but it is not possible to use Pop() because some other items have
- * been pushed onto cleanup stack after that item. 
- */
-NONSHARABLE_CLASS( TDismissableCleaner )
-    {
-public:
-    /**
-     * Constructor.
-     * 
-     * @param aToBeDeletedOnLeave pointer to a memory to be freed on leave.
-     */
-    TDismissableCleaner( TAny* aToBeDeletedOnLeave );
-    
-    /**
-     * The Close method - to be called during the cleanup process.
-     * It simply deletes the object passed as parameter to constructor
-     * unless Dismiss() has been called.
-     */
-    void Close();
-    
-    /**
-     * Dismiss the deletion.
-     * Call this method to prevent the memory freeing on leave.
-     * This is an equivalent of removing item from cleanup stack with Pop().
-     */
-    void Dismiss();
-private:
-    /**
-     * Pointer to memory to be deleted on leave.
-     * Not own.
-     */
-    TAny* mToBeDeletedOnLeave;
-    };
-
-/**
- * Image provider class interface.
- * Interface for attribute image classes. Provides methods
- * for obtainnig values and icons. 
- *  
- * @lib hnpresentationmodel
- * @since S60 5.0
- * @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvider ) : public CBase
-    {
-    
-public:
-
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnAttrImgProvider();
-
-    /**
-     * Gets icon.
-     * 
-     * @since S60 5.0
-     * @param aDesiredSize Desired size of the icon.
-     * @return Icon as a CGulIcon pointer.
-     */
-    virtual CGulIcon* GetIcon( TSize* aDesiredIconSize );
-    
-    /**
-     * Gets icon holder which contains the icon that GetIcon returns.
-     * 
-     * @param aDesiredSize Desired size of the icon.
-     * @return icon hoder that contains the icon (may return NULL).
-     */
-    virtual CHnIconHolder* GetIconHolder( TSize* aDesiredIconSize );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    virtual void RemoveLiwObjects();
-        
-protected:
-    
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvider();
-    
-    /**
-     * Creates icon.
-     * 
-     * @since S60 5.0
-     * @param aBitmap bitmap
-     * @param aMask mask
-     */
-    void CreateIconL( CFbsBitmap* aBitmap, CFbsBitmap* aMask );
-
-       
-protected:
-    
-    /**
-     * Icon holder - the object that owns the CGulIcon that this
-     * provider creates. 
-     * Co-own(CHnIconHolder is ref-counted).
-     */
-    CHnIconHolder* iIconHolder;
-    
-    };
-
-
-#endif // C_HNATTRIMGPROVIDER_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovliwimage.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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:   image provider for liw buffer
-*
-*/
-
-
-#ifndef HNATTRIMGPROVLIWIMAGE_H_
-#define HNATTRIMGPROVLIWIMAGE_H_
-
-#include <AknUtils.h>
-#include "hnattrimgprovider.h"
-#include "hnglobals.h"
-
-class TLiwVariant;
-class CLiwBitmapBuffer;
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads image
- *  froma an liw buffer.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvLiwImage ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aBitmap Pointer to bitmap.
-     * @param aMaskBitmap Poitner to mask.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvLiwImage* NewL( TLiwVariant*& aBitmap, 
-            TLiwVariant*& aMaskBitmap );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aBitmap Pointer to bitmap.
-     * @param aMaskBitmap Poitner to mask.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvLiwImage* NewLC( TLiwVariant*& aBitmap, 
-            TLiwVariant*& aMaskBitmap );
-
-    /**
-     * Virtual destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvLiwImage();
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    virtual void RemoveLiwObjects();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Returns the value.
-     *
-     * @since S60 5.0
-     * @return Value
-     */
-    const TDesC8& Value();
-
-private:
-
-    /**
-     * Defualt constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvLiwImage();
-
-    /**
-     * Standard 2nd pahse symbian constructor.
-     * 
-     * @since S60 5.0
-     * @param aBitmap Pointer to bitmap.
-     * @param aMaskBitmap Poitner to mask.
-     */
-    void ConstructL( TLiwVariant*& aBitmap, TLiwVariant*& aMaskBitmap );
-    
-    /**
-     * Creates icon whose bitmaps are owned externally by CLiwBitmapBuffer objects.
-     * 
-     * @param aBitmap Primary icon bitmap.
-     * @param aMask Icon mask.
-     * @param aExtBmp Buffer that owns the primary bitmap of the icon.
-     * @param aExtMask Buffer that owns the mask.
-     */
-    void CreateExtIconL( CFbsBitmap* aBitmap, CFbsBitmap* aMask,
-            CLiwBitmapBuffer* aExtBmp, CLiwBitmapBuffer* aExtMask );
-    
-    /**
-     * Creates Bitmap from variant which can be a handle or a descriptor.  
-     * 
-     * @since S60 5.0
-     * @param aVariant Contains bitmap.
-     * @return Bitmap.
-     */
-    CFbsBitmap* CreateBitmapFromVariantL( const TLiwVariant& aVariant );
-    
-    /**
-     * Retrieves bitmap handle from a TLiwVariant object.
-     * The reason why such function is needed is that bitmap handle can be
-     * stored in many integer types.
-     * 
-     * @param aVariant a variant from which to extract the handle
-     * @param aHandle will contain the handle on successful execution
-     * @return KErrNone if handle extracted successfully, KErrNotFound if
-     *         the variant did not contain anything that can be cast to
-     *         integer. 
-     */
-    TInt ExtractBitmapHandleFromVariant( const TLiwVariant& aVariant,
-            TInt& aHandle );
-    
-private: // data
-   
-    /**
-     * Value.
-     */
-    TBuf8<KMaxLength> iValue;
-    
-    };
-    
-#endif // HNATTRIMGPROVLIWIMAGE_H_
-    
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovsvgimage.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +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:   image provider for image file
-*
-*/
-
-
-#ifndef HNATTRIMGPROVSVGIMAGE_H_
-#define HNATTRIMGPROVSVGIMAGE_H_
-
-#include "hnattrimgprovider.h"
-
-class CSvgEngineInterfaceImpl;
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads image
- *  from an image file path.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvSvgImage ):
-    public CHnAttrImgProvider,
-    public MSvgRequestObserver
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvSvgImage* NewL( const TDesC& aFileName );
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvSvgImage* NewLC( const TDesC& aFileName );
-
-    /**
-     * Virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvSvgImage();
-
-    /**
-     * Gets icon.
-     * 
-     * @since S60 5.0
-     * @param aDesiredSize Desired size of the icon.
-     * @return Icon as a CGulIcon pointer.
-     */
-    CGulIcon* GetIcon( TSize *aDesiredIconSize );
-    
-    /**
-     * Gets icon holder which contains the icon that GetIcon returns.
-     * 
-     * @param aDesiredSize Desired size of the icon.
-     * @return icon hoder that contains the icon (may return NULL).
-     */
-    CHnIconHolder* GetIconHolder( TSize* aDesiredIconSize );
-    
-
-private:
-
-    /**
-     * Renders the icon.
-     * 
-     * @since S60 5.0
-     * @param aDesiredSize Desired size of the icon.
-     * @return Error code.
-     */
-    TInt RenderIcon( TSize aDesiredIconSize );
-    
-    /**
-     * Defualt constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvSvgImage();
-    
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     */
-    void ConstructL( const TDesC& aFileName );
-    
-public : //from MSvgRequestObserver
-	
-	/**
-	 * @see MSvgRequestObserver:UpdateScreen
-	 */
-    void UpdateScreen();
-
-    /**
-	 * @see MSvgRequestObserver:MSvgRequestObserver
-     */
-    TBool ScriptCall( const TDesC& aScript,	CSvgElementImpl* aCallerElement );
-
-    /**
-	 * @see MSvgRequestObserver:FetchImage
-     */
-    TInt FetchImage( const TDesC& aUri, RFs& aSession, RFile& aFileHandle );
-
-	/**
-	 * @see MSvgRequestObserver:FetchFont    
-	 */
-	TInt FetchFont( const TDesC& aUri, RFs& aSession, RFile& aFileHandle );
-
-    /**
-	 * @see MSvgRequestObserver:UpdatePresentation
-     */
-    void UpdatePresentation(const TInt32&  aNoOfAnimation);    
-
-private: // data
-
-    /**
-     * Bitmap. Not Own. GulIcon takes ownership.
-     */
-    CFbsBitmap* iBitmap;
-
-    /**
-     * Mask. Not Own. GulIcon takes ownership.
-     */
-    CFbsBitmap* iMask;
-
-    /**
-     * Mask. Own. Dummy for the engine.
-     */
-    CFbsBitmap* iDummyBitmap;
-    
-	/**
-	* SVG Engine instance
-	*/    
-    CSvgEngineInterfaceImpl* iSvgEngine;
-    
-	/**
-	* Handle to the svg dom tree.
-	*/    
-    TInt iHandle;
-    
-    };
-
-#endif // HNATTRIMGPROVSVGIMAGE_H_
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovthememif.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +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:   image provider for mif file
-*
-*/
-
-
-
-#ifndef C_HNATTRIMGPROVTHEMEMIF_H
-#define C_HNATTRIMGPROVTHEMEMIF_H
-
-#include "hnattrimgprovider.h"
-#include "hnglobals.h"
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads image
- *  froma an image file path.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvThemeMif ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aSkinId Skin id
-     * @param aFile File name
-     * @param aBitmapId Bitmap id
-     * @param aMaskId Mask id
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvThemeMif* NewL( TAknsItemID aSkinId,
-            const TDesC& aFile, TInt aBitmapId, TInt aMaskId );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aSkinId Skin id
-     * @param aFile File name
-     * @param aBitmapId Bitmap id
-     * @param aMaskId Mask id
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvThemeMif* NewLC( TAknsItemID aSkinId,
-            const TDesC& aFile, TInt aBitmapId, TInt aMaskId );
-
-    /**
-     * Virtual destructor.
-     *      
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvThemeMif();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Returns the value.
-     *
-     * @since S60 5.0
-     * @return Value
-     */
-    const TDesC8& Value( );
-
-    /**
-     * This method should create a bitmap and its mask, 
-     * by retrieving it form the application by a given uid (passed
-     * in the constructor)
-     *
-     * @param aId          Parameter not used.
-     * @param aBitmap      Output pointer to a bitmap.     
-     * @param aMaskBitmap  Output pointer to a mask.
-     */
-     void ProvideBitmapL(TInt aId, CFbsBitmap*& aBitmap, 
-             CFbsBitmap*& aMaskBitmap);
-
-
-private:
-
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvThemeMif();
-
-    /**
-     * Standard 2nd pahse symbian constructor.
-     * 
-     * @since S60 5.0
-     * @param aSkinId Skin id
-     * @param aFile File name
-     * @param aBitmapId Bitmap id
-     * @param aMaskId Mask id
-     */
-    void ConstructL( TAknsItemID aSkinId,
-            const TDesC& aFile, TInt aBitmapId, TInt aMaskId );
-    
-    /**
-     * Checks if mask id and bitmap id are in the range of mif file ids.
-     * 
-     * @since S60 5.0
-     * @return ETrue if ids are in the range of mif file ids. Else return EFalse.
-     */
-    TBool ValidateIconIds();
-
-private: // data
-    
-    /**
-     * Value.
-     */
-    TBuf8<KMaxLength> iValue;
-
-    /**
-     * Skin id.
-     */
-    TAknsItemID iSkinId;
-    
-    /**
-     * File name.
-     */
-    TPtrC iFile;
-
-    /**
-     * Bitmap id.
-     */
-    TInt iBitmapId;
-    
-    /**
-     * Mask id.
-     */
-    TInt iMaskId;
-    
-    };
-
-
-#endif // C_HNATTRIMGPROVTHEMEMIF_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnbuttonmodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +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:   toolbar button model
-*
-*/
-
-
-#ifndef C_HNBUTTONMODEL_H
-#define C_HNBUTTONMODEL_H
-
-#include <e32base.h>
-
-class CGulIcon;
-class CHnAttributeBase;
-
-/**
- *  Button model class.
- * 
- *  Class represent a toolbar button. It contains all of the
- *  information essential to displaying a button in the 
- *  presentationlayer.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnButtonModel ) : public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aIndex Button index in the toolbar.
-     */
-    IMPORT_C static CHnButtonModel* NewLC( TInt aIndex );
-    
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C ~CHnButtonModel();
-    
-    /**
-     * Gets icon model.
-     * 
-     * @since S60 5.0
-     * @return Icon for button, NULL if not exist
-     */
-    IMPORT_C CGulIcon* GetIcon() const;
-    
-    /**
-     * Sets icon for button model.
-     * 
-     * @since S60 5.0
-     * @param aIcon Icon for button, transfers ownership
-     */
-    IMPORT_C void SetIcon( CHnAttributeBase* aAttribute );
-    
-    /**
-     * Gets tooltip for button model.
-     * 
-     * @since S60 5.0
-     * @return Help text corresponding to button mdoel
-     */
-    IMPORT_C const TDesC& GetButtonText() const;
-    
-    /**
-     * Sets help text for button model.
-     * 
-     * @since S60 5.0
-     * @param aToolTip Text to display
-     */
-    IMPORT_C void SetHelpTextL( const TDesC& aToolTip );
-    
-    /**
-     * Gets dimmed.
-     * 
-     * @since S60 5.0
-     * @return iDimmed
-     */
-    IMPORT_C TBool GetDimmed() const;
-    
-    /**
-     * Sets dimmed
-     * 
-     * @since S60 5.0
-     * @param aDimmed Sets button state to dimmed
-     */
-    IMPORT_C void SetDimmed( TBool aDimmed );
-    
-    /**
-     * Gets index of button model.
-     * 
-     * @since S60 5.0
-     * @return Index
-     */
-    IMPORT_C TInt GetIndex() const;
-    
-    /**
-     * Gets command for button model.
-     * 
-     * @since S60 5.0
-     * @return Event id
-     */
-    IMPORT_C TInt GetEventId() const;
-    
-    /**
-     * Sets command for button model.
-     * 
-     * @since S60 5.0
-     * @param aEventId Id of event to invoke when button pressed
-     */
-    IMPORT_C void SetEventId( TInt aEventId );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     * @param aIndex Index of the button, being created.
-     */
-    CHnButtonModel( TInt aIndex );
-    
-    /**
-     * Second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-private: // data
-    
-    /**
-     * Index of button, indicates the position on the toolbar.
-     * Values: 0, 1, 2 applicable. 
-     */
-    TInt iIndex;
-        
-    /**
-     * Event Id. 
-     */
-    TInt iEventId;
-    
-    /**
-     * Text to be displayed as help for button.
-     * Own
-     */
-    RBuf iToolTip;
-    
-    /**
-     * Indicates if button should be dimmed.
-     */
-    TBool iDimmed;
-    
-    /**
-     * Icon displayed on the button.
-     * Own
-     */    
-    //CGulIcon* iIcon;
-    
-    /**
-     * Own - icon attribute;
-     */
-    CHnAttributeBase* iIconAttribute;
-    
-    };
-    
-#endif // C_HNBUTTONMODEL_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hneventhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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:  event handler class
-*
-*/
-
-
-#ifndef C_HNEVENTHANDLER_H
-#define C_HNEVENTHANDLER_H
-
-#include <liwcommon.h>
-
-class CHnMetaDataModel;
-class CHnMdAction;
-class MLiwInterface;
-class CLiwServiceHandler;
-class CLiwGenericParamList;
-class CHnMdBaseKey;
-class TLiwVariant;
-class CHnMdItem;
-class CHnActionModel;
-class MHnMdModelEventObserver;
-class CHnServiceHandler;
-class MHnControllerInterface;
-
-/**
- *  Event handler class.
- * 
- *  Event Handler is designed to handle events. 
- *  It reveives an event id from the UI, 
- *  mapps this event into an appropriate action, 
- *  and runs this action.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS(CHnEventHandler) : public CBase, public MLiwNotifyCallback
-{
-public: // Constructors and destructor
-
-   /**
-    * Two-phased constructor.
-    * 
-    * @since S60 5.0
-    * @param aModelObserver Model event observer.
-    * @param aController Interface enabling to issues request to Hn engine.    
-    * @return Fully constructed object.
-    */
-    static CHnEventHandler* NewL( MHnMdModelEventObserver& aModelObserver,
-            MHnControllerInterface& aController );
-
-   /**
-    * Two-phased constructor.
-    * 
-    * @since S60 5.0
-    * @param aModelObserver Model event observer.
-    * @param aController Interface enabling to issues request to Hn engine.
-    * @return Fully constructed object.
-    */
-    static CHnEventHandler* NewLC( MHnMdModelEventObserver& aModelObserver,
-            MHnControllerInterface& aController);
-    
-   /**
-    * Destructor.
-    * 
-    * @since S60 5.0
-    */
-    ~CHnEventHandler();    
-    
-    /**
-     * Executes the action that was found in the Model.
-     * 
-     * @since S60 v3.2
-     * @see CHnActionModel
-     * @param aActionModel A pointer to the object of the CHnActionModel class.
-     * @return Error code. KErrNone in case of a correct execution (even if
-               given action was not found). KErrNotFound in case of incorrect
-               action parameters.
-     */
-    IMPORT_C TInt ExecuteActionL( CHnActionModel* aActionModel );
-       
-private:
-
-   /**
-    * Constructor for performing 1st stage construction
-    * 
-    * @since S60 5.0
-    * @param aModelObserver A model event observer reference.
-    * @param aController A HH controller reference.
-    */
-    CHnEventHandler( MHnMdModelEventObserver& aModelObserver,
-                     MHnControllerInterface& aController );
-
-   /**
-    * EPOC default constructor for performing 2nd stage construction
-    * 
-    * @since S60 5.0
-    */
-    void ConstructL();
-
-    /**
-     * Notifies UI about actions that can be passed back to the UI,
-     * i.e. openning nested suites, widget change.
-     * 
-     * @since S60 5.0
-     * @param aActionModel Model of the action.
-     * @return Error code
-     */
-    TInt ExecuteInternalActionL( CHnActionModel* aActionModel );
-
-    /**
-     * Executes action from Extension Manager.
-     * 
-     * @since S60 v5.0
-     * @param aActionModel Model of the action.
-     * @return Error code
-     */
-    TInt ExecuteExtensionManagerActionL( CHnActionModel* aActionModel );
-
-    /**
-     * Uses default mechanism to execute an action.
-     * 
-     * @since S60 v5.0
-     * @param aActionModel Model of the action.
-     * @return Error code
-     */
-    TInt ExecuteStandardActionL( CHnActionModel* aActionModel );
-        
-    /**
-     * Extracts extension uid from the action.
-     * 
-     * @since S60 v5.0
-     * @param aInterface Interface to invoke action on.
-     * @param aUid The resulting UID.
-     * @return Error code
-     */
-    TInt ExtractUidFromActionL( const TDesC8& aInterface, TUid& aUid );
-
-    
-// from MLiwNotifyCallback
-public :    
-	
-    /**
-     * Handles notification.
-     * 
-     * @param aCmdId The Id of the command triggered.
-     * @param aEventId The Id of the event.
-     * @param aEventParamList Parameters to event.
-     * @param aInParamList Input parameter list.
-     * 
-     * @return Error code.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-            CLiwGenericParamList& aEventParamList,
-            const CLiwGenericParamList& aInParamList );
-        
-private: // data
-    
-    /**
-     * Not own.
-     * Reference to HnEngine - Event observer.
-     */
-    MHnMdModelEventObserver& iEventObserver;
-    
-    /**
-     * Own.
-     */
-    CHnServiceHandler* iServiceHandler;
-    
-    /**
-     * Not own.
-     * Reference to App UI - Event observer.
-     */
-    MHnControllerInterface& iControllerInterface;
-
-};
-
-#endif // C_HNEVENTHANDLER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnextbmpiconholder.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*
-*/
-
-
-#ifndef MMEXTBMPICONHOLDER_H
-#define MMEXTBMPICONHOLDER_H
-
-#include "hniconholder.h"
-
-class CLiwBitmapBuffer;
-
-/**
- * This is an extended version of @c CHnIconHolder which holds a CGulIcon that does
- * not own the bitmaps and CLiwBitmapBuffer objects that do.
- * 
- * Such class was needed because some of the bitmaps for icons are obtained from
- * CLiwBitmapBuffer objects and there is no way to transfer ownership of that
- * bitmaps from them. It is not possible to make copies of that bitmaps either,
- * because some of them are not CFbsBitmaps but CAknBitmaps.
- */
-class CHnExtBmpIconHolder: public CHnIconHolder
-    {
-public:
-    /**
-     * Sets the icon to be stored in this icon holder along with the bitmap buffers.
-     * This method should be called only once. If you want to store another icon
-     * simply call Close() on this icon holder and then create a new icon holder
-     * to store the new icon.
-     * 
-     * @param aGulIcon Icon to store in this icon holder.
-     * @param aBmpBuffer The buffer that owns the primary bitmap.
-     * @param aMaskBuffer The buffer that owns the mask bitmap. 
-     */
-    IMPORT_C void SetGulIcon( CGulIcon* aGulIcon, CLiwBitmapBuffer* aBmpBuffer, CLiwBitmapBuffer* aMaskBuffer );
-    
-    /**
-     * Standard C++ virtual destructor.
-     */
-    virtual ~CHnExtBmpIconHolder();
-
-private: // data
-    
-    /**
-     * Liw bitmap buffer that owns the primary bitmap for the icon.
-     * Co-owns (CLiwBitmapBuffer are ref-counted).
-     */
-    CLiwBitmapBuffer* iBmpBuffer;
-    
-    /**
-     * Liw bitmap buffer that owns the mask bitmap for the icon.
-     * Co-owns (CLiwBitmapBuffer are ref-counted).
-     */
-    CLiwBitmapBuffer* iMaskBuffer;
-    };
-
-#endif // MMEXTBMPICONHOLDER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hniconholder.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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 MMICONHOLDER_H
-#define MMICONHOLDER_H
-
-#include <e32base.h>
-
-class CGulIcon;
-
-/**
- * A ref-counted icon holder that can be useful if you want to store
- * an icon from the model for an unspecified period of time.
- * By getting the icon holder instead of the icon you can share ownership
- * over the icon by calling Open() on the icon holder. Then Close() must
- * be called when the icon is no longer needed, otherwise a memory leak
- * will occur.
- */
-NONSHARABLE_CLASS( CHnIconHolder ): public CObject
-    {
-public:
-    /**
-     * Sets the icon to be stored in this icon holder.
-     * This method should be called only once. If you want to store another icon
-     * simply call Close() on this icon holder and then create a new icon holder
-     * to store the new icon.
-     * 
-     * @param aGulIcon Icon to store in this icon holder.
-     */
-    IMPORT_C void SetGulIcon( CGulIcon* aGulIcon );
-    
-    /**
-     * Returns the icon held by this icon holder.
-     * 
-     * @return Icon held by this object (NULL value possible).
-     */
-    IMPORT_C CGulIcon* GetGulIcon() const;
-    
-    /**
-     * Standard C++ destructor.
-     */
-    ~CHnIconHolder();
-    
-private: // data
-    
-    /**
-     * A CGulIcon object owned by this icon holder.
-     * Can possibly be NULL.
-     * Own.
-     */
-    CGulIcon* iGulIcon;
-    };
-
-#endif // MMICONHOLDER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemfocushandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +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:  Application UI class
-*  Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*/
-#ifndef HNITEMFOCUSHANDLER_H
-#define HNITEMFOCUSHANDLER_H
-
-#include <e32base.h>
-#include <e32std.h>
-
-class CHnSuiteModel;
-
-/**
- *  Class representing the focus item to be queued.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-class TFocusQueueItem
-	{
-public:
-	
-    /**
-     * Constructor. Sets the trigger time on construction.
-     * 
-     * @since S60 v5.0
-     * @param aItemId Index of the item in the suite model.
-     */
-	TFocusQueueItem( TInt aItemId, TInt aEventId );
-	
-    /**
-     * Fetches the focus item trigger time.
-     * 
-     * @since S60 v5.0
-     * @return Time when the event was triggered.
-     */
-	TTime TriggerTime();
-	
-    /**
-     * Fetches the focus/unfocus item id.
-     * 
-     * @since S60 v5.0
-     * @return Suite model item id of the focused/unfocused item.
-     */
-	TInt ItemId();
-	
-    /**
-     * Fetches the focus/unfocus item id.
-     * 
-     * @since S60 v5.0
-     * @return Suite model item id of the focused/unfocused item.
-     */
-	TInt EventId();
-	
-    /**
-     * Compares queued items by triggered time.
-     * 
-     * @since S60 v5.0
-     * @param aItem1 First item to compare.
-     * @param aItem2 Second item to compare.
-     * @return 1 if aItem1 was triggered earlier than aItem2.
-     * -1 if aItem1 was triggered later than aItem2.
-     * 0 if aItem1 was triggered at the same time as aItem2.
-     */
-	static TInt CompareByTriggerTime( const TFocusQueueItem& aItem1,
-			const TFocusQueueItem& aItem2 );
-    /**
-     * Compares queued items by triggered time.
-     * 
-     * @since S60 v5.0
-     * @param aItem1 First item to compare.
-     * @param aItem2 Second item to compare.
-     * @return ETrue if aItem1 is equal to aItem2 regarding the item id.
-     * EFalse if aItem1 is not equal to aItem2 regarding the item id.
-     */
-	static TBool CompareByItemId( const TFocusQueueItem& aItem1,
-			const TFocusQueueItem& aItem2 );
-
-private:
-	
-    /**
-     * Item id.
-     * Own.
-     */
-	TInt iItemId;
-    
-	/**
-     * Trigger time.
-     * Own.
-     */
-	TTime iTriggerTime;
-    
-	/**
-     * Event type.
-     */
-	TInt iEventId;
-	
-	};
-
-/**
- *  Item focus handler class.
- *
- *  This is an active object which handles focus/unfocus event triggering.
- *  This class causes focus/unfocus events to be run without performance impact
- *  on the UI. The focus/unfocus events are queued. If incoming events logically 
- *  cancel the queued events, the appropriate events are removed from the queue.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnItemFocusHandler ) : public CActive
-	{
-public:
-	
-    /**
-    * Virtual Destructor.
-    * 
-    * @since S60 5.0
-    */
-	~CHnItemFocusHandler();
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aSuiteModel The suite model for which focus events are handled.
-     */
-	static CHnItemFocusHandler* NewL( CHnSuiteModel* aSuiteModel );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aSuiteModel The suite model for which focus events are handled.
-     */
-	static CHnItemFocusHandler* NewLC( CHnSuiteModel* aSuiteModel );
-
-public:
-	
-    /**
-     * Called to initiate item focus action handling.
-     * 
-     * @since S60 v5.0
-     * @param aEventId The type of event. Can be KIdFocusGain or KIdFocusLost. Otherwise focus actions are not triggered.
-     * @param aItemId Index of the item in the suite model.
-     */
-	void SetFocusL( TInt aEventId, TBool aItemId );
-
-private:
-	
-    /**
-     * C++ default constructor.
-     * 
-     * @since S60 v5.0
-     */
-	CHnItemFocusHandler();
-
-    /**
-     * Second-phase constructor.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteModel The suite model for which focus events are handled.
-     */
-	void ConstructL( CHnSuiteModel* aSuiteModel );
-
-private:
-	
-    /**
-     * Handles completion. In fact the request is completed immediately after activating the object.
-     * This method calls focus/unfocus action events.
-     * 
-     * @since S60 v5.0
-     */
-	void RunL();
-
-    /**
-     * Run when request is cancelled.
-     */
-	void DoCancel();
-
-    /**
-     * Overriden to handle leaves from RunL(). Default implementation causes
-     * the active scheduler to panic.
-     * 
-     * @since S60 v5.0
-     * @param aError The Error code.
-     * @return Id The eroor code.
-     */
-	TInt RunError(TInt aError);
-	
-    /**
-     * Removes duplicated items. E.g. if a request to focus an item has been triggered
-     * when there is still a request to unfocus that item pending in the queue. Then the unfocus 
-     * event will be removed from the queue and the event and only the focus event is triggered.
-     * 
-     * @since S60 v5.0
-     * @param aFocusItem The item to be compared.
-     * @param aEventId focus or unfocus event.
-     */
-	void RemoveDuplicatedItem( const TFocusQueueItem& aFocusItem );
-
-private:
-	
-    /**
-     * The suite model for which focus events are handled.
-     * Not own.
-     */
-	CHnSuiteModel* iSuiteModel;
-	
-    /**
-     * Focus Queue.
-     * Own.
-     */
-	RArray<TFocusQueueItem> iFocusQueue;
-	
-	};
-
-#endif // HNITEMFOCUSHANDLER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemmodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +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:   item presentation model
-*
-*/
-
-
-#ifndef HNITEMMODEL_H_
-#define HNITEMMODEL_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-
-class CHnMenuItemModel;
-class MHnMenuItemModelIterator;
-class CHnActionModel;
-class CHnToolbarModel;
-class CHnEventHandler;
-class CHnAttributeBase;
-class CLiwGenericParamList;
-class CHnButtonModel;
-
-/** 
- * Item flag. Used to indicate if item is move locked,
- * remove locked or runs.
- */
-enum TItemFlag
-    {
-    EItemFlagDefault = 0,
-    EItemFlagRemoveLocked = 1,
-    EItemFlagMoveLocked = 2,
-    EItemFlagRunning = 4,
-    EItemFlagDrmExpired = 8
-    };
-
-/** 
- * Service item type. Type of the item in service. 
- */
-enum TMcsItemType
-    {
-    EItemTypeUnknown = 0,
-    EItemTypeFolder,
-    EItemTypeSuite,
-    EItemTypeApplication,
-    EItemTypeParentFolder,
-    };
-
-/**
- *  Item presentation model class.
- * 
- *  Instance of this class represents item visible 
- *  on the screen. A single CHnMdItem may lead to 
- *  creation of multiple CHnItemModel instances.
- *
- *  @see CHnMdItem
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnItemModel ) : public CBase
-    {
-    
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemModel* NewL();
-    
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnItemModel();
-    
-    /**
-     * Sets menu item model.
-     * 
-     * @since S60 5.0
-     * @param aMenu visual model for menu item, transfers ownership.
-     */
-    IMPORT_C  void SetMenuItemModel(  CHnMenuItemModel* aMenu );
-    
-    /**
-     * Gets menu item model.
-     * 
-     * @since S60 5.0
-     * @return menu item structure
-     */
-    MHnMenuItemModelIterator* GetMenuStructure();
-    
-    /**
-     * Gets actions models.
-     * 
-     * @param aId Event id
-     * @return Array of actions models corresponding to event id
-     */
-    IMPORT_C CArrayPtr<CHnActionModel>* GetActions( TInt aId );
-    
-    /**
-     * Gets actions models.
-     * 
-     * @return List of all actions for every event.
-     */
-    IMPORT_C RHashMap< TInt, CArrayPtr<CHnActionModel>* >& GetActions();
-    
-    /**
-     * Gets toolbar model.
-     * 
-     * @since S60 5.0
-     * @return Toolbar model for item, NULL if not exist
-     */
-    IMPORT_C const CHnToolbarModel* GetToolbarModel() const;
-    
-    /**
-     * Sets toolbar model.
-     * 
-     * @since S60 5.0
-     * @param aToolbar Toolbar model for item, transfers ownership
-     */
-    IMPORT_C void SetToolbarModel( CHnToolbarModel* aToolbar );
-    
-    /**
-     * event handling
-     * 
-     * @since S60 5.0
-     * @param aEventHandler An instance of event handler.
-     * @param aEventId Event id.
-     * @param aEventParameters Parameters of that event
-     * @return Error code
-     */
-    TInt OfferHnEventL( CHnEventHandler & aEventHandler, 
-            const TInt aEventId, CLiwGenericParamList* aEventParameters );
-
-    /**
-     * Sets attribute.
-     * 
-     * @since S60 5.0
-     * @param aAttr Attribute name
-     */
-    IMPORT_C void SetAttributeL( CHnAttributeBase* aAttr );
- 
-    /**
-     * Gets attribute.
-     * 
-     * @since S60 5.0
-     * @param aAttribute Attribute name.
-     * @return Attribute instance. 
-     */
-    IMPORT_C CHnAttributeBase* GetAttribute( const TDesC8 & aAttribute );
-    
-    /**
-     * Clears attributes.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C void ClearAttributesL();
-
-    /**
-     * Gets template name.
-     * 
-     * @since S60 5.0
-     * @return Template name
-     */
-    IMPORT_C const TDesC8& GetTemplate();
-    
-    /**
-     * Sets middle soft key.
-     * 
-     * @since S60 5.0
-     * @param aMsk Msk model for item.
-     */
-    IMPORT_C void SetMiddleSoftKey( CHnButtonModel* aMsk );
-    
-    /**
-     * Gets middle soft key.
-     * 
-     * @since S60 5.0
-     * @return Msk model for item.
-     */
-    IMPORT_C CHnButtonModel* GetMiddleSoftKey();
-    
-    /**
-     * Sets template.
-     * 
-     * @since S60 5.0
-     * @param aTemplate Template name.
-     */
-    IMPORT_C void SetTemplateL( const TDesC8& aTemplate );
-    
-    /**
-     * Sets item's flag.
-     * 
-     * @since S60 5.0
-     * @param aFlag A flag to be set.
-     */
-    IMPORT_C void SetFlag( TInt aFlag );
-    
-    /**
-     * Removes all flags of the item.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C void ClearFlags();
-    
-    /**
-     * Returns true if deleting the item is locked.
-     * 
-     * @since S60 5.0
-     * @return True if deleting the item is forbidden, otherwise - false
-     */
-    IMPORT_C TBool IsDeleteLocked();
-    
-    /**
-     * Returns true if moving the item is locked.
-     * 
-     * @since S60 5.0
-     * @return True if moving the item is forbidden, otherwise - false
-     */
-    IMPORT_C TBool IsMoveLocked();
-    
-    /**
-     * Returns true if the item is running.
-     * 
-     * @since S60 5.0
-     * @return True if the item is running, otherwise - false.
-     */
-    IMPORT_C TBool IsRunning();
-    
-    /**
-     * Returns true if the item drm rights are expired.
-     * 
-     * @since S60 5.0
-     * @return True if the item drm rights are expired, otherwise - false.
-     */
-    IMPORT_C TBool IsDrmExpired();
-    
-    /**
-     * Sets type of the item.
-     * 
-     * @since S60 5.0
-     * @param aType type
-     */
-    IMPORT_C void SetType( const TDesC8& aType );
-    
-    /**
-     * Sets custom id.
-     * 
-     * @since S60 5.0
-     * @param aCustomId Custom id.
-     */
-    IMPORT_C void SetCustomId( TInt64 aCustomId );
-    
-    /**
-     * Returns custom id.
-     * 
-     * @since S60 5.0
-     * @return Custom id.
-     */
-    IMPORT_C TInt64 CustomId();
-    
-    /**
-     * Returns the type of the item.
-     * 
-     * @since S60 5.0
-     * @return Item type.
-     */
-    IMPORT_C TMcsItemType GetItemType();
-    
-    /**
-     * Returns the uid of the item.
-     * 
-     * @since S60 5.0
-     * @return Item uid.
-     */
-    IMPORT_C TUid GetItemUid();
-    
-    /**
-     * Sets uid of the item.
-     * 
-     * @since S60 5.0
-     * @param Item uid.
-     */
-    IMPORT_C void SetItemUidL( const TDesC8& aUid );
-    
-    /**
-     * Deletes all action models.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C void DeleteAllActionModels();
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-    
-    /**
-     * Default constructor.
-     */
-    CHnItemModel();
-            
-    /**
-     * Second phase constructor.
-     */
-    void ConstructL();
-    
-private: // data
-
-    /**
-     * Template.
-     */
-    RBuf8 iTemplate;
-    
-    /**
-     * Menu item structure
-     * Own
-     */
-    CHnMenuItemModel* iMenuModel;
-    
-    /**
-     * Model for toolbar
-     * Own
-     */
-    CHnToolbarModel* iToolbarModel;
-    
-    /**
-     * Actions corresponding to events
-     * event id <=> array of actions models
-     */
-    RHashMap< TInt, CArrayPtr<CHnActionModel>* > iActions; 
-    
-    /**
-     * Visual item model (Aakash)
-     */
-    TBool iEditable;
-
-    /**
-     * Attributes.
-     */
-    RPointerArray<CHnAttributeBase> iAttrs;
-    
-    /**
-     * Flags.
-     */
-    TInt iFlags;
-    
-    /**
-     * Type of an item.
-     */
-    TMcsItemType iType;
-    
-    /**
-     * Uid of the item.
-     */
-    TUid iUid;
-    
-    /**
-     * Custom Id.
-     */
-    TInt64 iCustomId;
-    
-    /**
-     * Middel soft key model
-     * Own
-     */
-    CHnButtonModel* iMskModel;
-    
-    };
-
-#endif // HNITEMMODEL_H_
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemsorder.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +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:   items order manager class
-*
-*/
-
-
-#ifndef HNITEMSORDER_H_
-#define HNITEMSORDER_H_
-
-#include <e32base.h>
-#include <e32cmn.h>
-
-/**
- * Items order manager.
- * 
- * Instances of this class control order of the items 
- * displayed within a suite. The keep and manage the
- * complex relation between CHnMdItem, and consequenltly 
- * created CHnItemModels.
- * 
- * @lib hnpresentationmodel
- * @since S60 5.0
- * @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnItemsOrder ) : public CBase
-    {
-    
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemsOrder* NewL();
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemsOrder* NewLC();
-
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnItemsOrder();
-        
-    /**
-     * @since S60 5.0
-     * @param aId Suite id, should be generated by IdGenrator
-     */
-    IMPORT_C void SetSuiteId( TInt aId );
-    
-    /**
-     * @since S60 5.0
-     * @return id of the associated suite 
-     */
-    IMPORT_C TInt GetSuiteId() const;
-    
-    /**
-     * Removes item with given id.
-     * 
-     * @since S60 5.0
-     * @param aId id of the item to be removed
-     */
-    IMPORT_C void RemoveItemId( TInt aId );
-    
-    /**
-     * Insert an item referred to by an aId, to a suite.
-     * It is indicated that this item has been produced from
-     * CHnMdItem at index aDataModelItem. Evaluation indicates also
-     * that this item is produced on the index aIndex in that particular
-     * CHnMdItem.
-     * 
-     * @since S60 5.0
-     * @param aDataModelItem Index of CHnMdItem instance in the CHnMdSuite.
-     * @param aIndex Position in that CHnMdItem instance
-     * @param aId Id of the item model.
-     */
-    IMPORT_C void InsertItemIdToL( TInt aDataModelItem, TInt aIndex, TInt aId );
-    
-    /**
-     * Gets the item id at position aIndex, relative to the beginning
-     * of the items generated from CHnMdItem at index aDataModelItem
-     * 
-     * @since S60 5.0
-     * @param aDataModelItem Index of CHnMdItem instance in the CHnMdSuite.
-     * @param aIndex Position in that CHnMdItem instance.
-     */
-    IMPORT_C TInt GetItemIdAt( TInt aDataModelItem, TInt aIndex );
-    
-    /**
-     * Gets item id at specified position.
-     * 
-     * @since S60 5.0
-     * @param aPosition Position in the suite model. 
-     * @return Item id
-     */
-    IMPORT_C TInt GetItemIdAt( TInt aPosition );
-    
-    /**
-     * Sets item id at given position.
-     * 
-     * @since S60 5.0
-     * @param aPosition Position in the suite model
-     * @param aId Item id
-     */
-    IMPORT_C void SetItemIdAtL( TInt aPosition, TInt aId );
-    
-    /**
-     * Gets item position.
-     * 
-     * @since S60 5.0
-     * @param aId Item id
-     * @return Item position.
-     */
-    IMPORT_C TInt GetItemPosition( TInt aId );
-    
-    /**
-     * Count property getter.
-     * 
-     * @since S60 5.0
-     * @return Count
-     */
-    IMPORT_C TInt Count();
-    
-    /**
-     * Informs the class of the count of CHnMdItem instances
-     * in the suite.
-     * 
-     * @since S60 5.0
-     * @param aItemCounts Number of CHnMdItems in the suite.
-     */
-    IMPORT_C void DefineModelItemCountL( TInt aItemCounts );
-    
-    /**
-     * Gets the count of CHnMdItem instances
-     * in the suite.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C TInt GetModelItemCount();
-    
-    /**
-     * Gets the ids for a particular CHnMdItem instance.
-     * 
-     * @since S60 5.0
-     * @param aDataModelItem Index of the CHnMdItem instance
-     * @param aIds Array of ids.
-     */
-    IMPORT_C void GetIdsForL( TInt aDataModelItem, 
-            RArray< TInt >& aIds );
-    
-    /**
-     * Operator to access id at a particular position in the suite.
-     * 
-     * @since S60 5.0
-     * @param aPosition Position in the suite.
-     */
-    IMPORT_C TInt operator[]( TInt aPosition );
-    
-    /**
-     * Informs the instance of the class that the associated suite
-     * has been evaluated.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C void SuiteEvaluated();
-    
-    /**
-     * Informs the instance of the class that the associated item
-     * has been evaluated.
-     * 
-     * @since S60 5.0
-     * @param aIndex Item of the model that has been evaluated.
-     */
-    IMPORT_C void ItemEvaluated( TInt aIndex );
-    
-    /**
-     * Determined if the suite is ready to be shown.
-     * 
-     * @since S60 5.0
-     * @return Value determinig if associated suite is ready to show.
-     */
-    IMPORT_C TBool IsSuiteReadyToShow();
-    
-    /**
-     * Marks suite as uninitialized.
-     * 
-     */
-    IMPORT_C void MarkSuiteUninitialized();
-    
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnItemsOrder();
-    
-    /**
-     * Stnadard 2nd stage symbian constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-    /**
-     * @since S60 5.0
-     * @param aDataModelItem data model item
-     * @return start index
-     */
-    TInt CountStartIndexFor( TInt aDataModelItem );
-    
-    /**
-     * @since S60 5.0
-     * @param aIndex index
-     * @return model number
-     */
-    TInt CountModelNumberFor( TInt aIndex );
-    
-private: // data
-    
-    /**
-     * Unique id for the associated suite. 
-     * Should be generated via IdGenerator mechanism.
-     */ 
-    TInt iSuiteId;
-
-    /**
-     * Indicates if the associated suite has been initialized
-     * with the first evaluation.
-     */
-    TBool iSuiteEvaluated;
-
-    /**
-     * Array of values indication if each of associated CHnMdItems
-     * has been initialized with first evaluation.
-     */
-    RArray<TBool> iItemsEvaluated;
-    
-    /**
-     * Items order counts
-     * Holds the counts of CHnItemModels, for each of CHnMdItems
-     */
-    RArray<TInt> iItemsOrderCounts;
-
-    /**
-     * Complex items order.
-     * Hold the order of CHnItemModels in a suite associated with the
-     * instance of this class.
-     */
-    RArray<TInt> iComplexItemsOrder;
-    
-    };
-
-#endif // HNITEMSORDER_H_
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnmenuitemmodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +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:   menu item presentation model
-*
-*/
-
-
-#ifndef HNMENUITEMMODEL_H_
-#define HNMENUITEMMODEL_H_
-
-#include <e32base.h>
-
-class CHnMenuItemModel;
-
-/**
- *  Menu item model iterator.
- *
- *  Used to iterate on menu items structure. Provides basic
- *  iterator interface.
- *  
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-class MHnMenuItemModelIterator
-    {
-public:
-
-    /**
-     * Checks whether there is at least one more element.
-     *
-     * @since S60 5.0
-     * @return ETrue if there is a next item, otherwise EFalse.
-     */
-    virtual TBool HasNext() = 0;
-
-    /**
-     * Gets the next item and move the cursor to the next item.
-     *
-     * @since S60 5.0
-     * @return A pointer to the element or NULL if there are no more elements.
-     */
-    virtual CHnMenuItemModel* GetNext() = 0;
-
-    /**
-     * Checks whether there is at least one more element (item specific).
-     *
-     * @since S60 5.0
-     * @return ETrue if there is a next item, otherwise EFalse.
-     */
-    virtual TBool HasNextSpecific() = 0;
-    
-    /**
-     * Gets the next menu item ( specific for the item 
-     * - e.g. Applications folder item )
-     * and move the cursor to the next menu item.
-     *
-     * @since S60 5.0
-     * @return A pointer to the element or NULL if there are no more elements.
-     */
-    virtual CHnMenuItemModel* GetNextSpecific() = 0;
-    
-    /**
-     * Resets the iterator.
-     *
-     * @since S60 5.0
-     */
-    virtual void Reset() = 0;
-    
-    };
-
-/**
- *  Menu item model class.
- *
- *  Represents menu item. Contains all data needed to display and 
- *  use menu item properly. Implemented as tree structure.
- *  
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnMenuItemModel ):
-    public CBase,
-    public MHnMenuItemModelIterator
-    {
-public:
-	enum THnMenuItemType {
-		EItemApplication,	//in options with & without focus
-		EItemAction,		//in options with focus
-		EItemSpecific		//in options with focus & in stylus popup
-	};
-    
-public:
-        
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aName Name for menu item
-     */
-    IMPORT_C static CHnMenuItemModel* NewL( const TDesC& aName );
-        
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnMenuItemModel();
-    
-    /**
-     * Gets menu item model.
-     * 
-     * @since S60 5.0
-     * @return Menu item structure
-     */
-    IMPORT_C MHnMenuItemModelIterator* GetMenuStructure();
-    
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual TBool HasNext();
-    
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual CHnMenuItemModel* GetNext();
-
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual TBool HasNextSpecific();
-    
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual CHnMenuItemModel* GetNextSpecific();
-    
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual void Reset();
-    
-    /**
-     * Gets name.
-     *
-     * @since S60 5.0
-     * @return Name of the menu.
-     */
-    IMPORT_C const TDesC& NameL();
-    
-    /**
-     * Gets command id.
-     *
-     * @since S60 5.0
-     * @return Command id.
-     */
-    IMPORT_C TInt Command();
-        
-    /**
-     * Sets command id.
-     *
-     * @since S60 5.0
-     * @param aCommandId Command id from data model.
-     */
-    IMPORT_C void SetCommand( TInt aCommandId );
-    
-    /**
-     * Gets menu item position.
-     *
-     * @since S60 5.0
-     * @return Position of item in menu.
-     */
-    IMPORT_C TInt Position();
-    
-    /**
-     * Sets menu item position.
-     *
-     * @since S60 5.0
-     * @param aPosition Position of item in menu.
-     */
-    IMPORT_C void SetPosition( TInt aPosition );
-    
-    /**
-     * Sets menu item type.
-     *
-     * @since S60 5.0
-     * @param aMenuItemType type of menu element.
-     */
-    IMPORT_C void SetMenuItemType( THnMenuItemType aMenuItemType );
-
-    /**
-     * Appends child item.
-     *
-     * @since S60 5.0
-     * @param aMenuModel Menu item model.
-     */
-    IMPORT_C void AppendChildMenuL( CHnMenuItemModel* aMenuModel );
-    
-    /**
-     * Returns menu item type.
-     * 
-     * @since S60 5.0
-     * @return menu item type.
-     */
-    IMPORT_C THnMenuItemType MenuItemType();
-    
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnMenuItemModel();
-    
-    /**
-     * Second phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aName Name for menu item 
-     */
-    void ConstructL( const TDesC& aName );
-    
-private: // data
-        
-    /**
-     * Name value cache.
-     */
-    RBuf iName;
-        
-    /**
-     * Command Id. 
-     */
-    TInt iCommand;
-        
-    /**
-     * Position.
-     */
-    TInt iPosition;
-    
-    /**
-     * Next child.
-     */
-    TInt iNextMenu;
-        
-    /**
-     * Children pointer array.
-     */
-    RPointerArray< CHnMenuItemModel > iChildren;
-    
-    /**
-     * Type of menu item.
-     */
-    THnMenuItemType iMenuItemType;
-    };
-
-#endif // HNMENUITEMMODEL_H_
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitemodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,598 +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:   suite presentation model
-*
-*/
-
-
-#ifndef C_HNSUITEMODEL_H
-#define C_HNSUITEMODEL_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include "hnsuiteobserver.h"
-#include "hnglobals.h"
-#include "hnitemmodel.h"
-
-class CHnSuiteModelContainer;
-class CHnItemModel;
-class MHnMenuItemModelIterator;
-class CHnActionModel;
-class CHnEventHandler;
-class MHnSuiteObserver;
-class CHnItemsOrder;
-class CHnItemFocusHandler;
-
-/**
- *  Suite model class.
- *
- *  Represents suite. Evaluated from CHnMdSuite class, contains
- *  all data from services and xml configuration. It is used to fill data
- *  displayed on the screen.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnSuiteModel ) : public CBase
-    {
-    
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aEventHandler Event handler.
-     * @param aGenreName Suite genre identifier.
-     */
-    IMPORT_C static CHnSuiteModel* NewL( CHnEventHandler& aEventHandler,
-            const TDesC& aGenreName );
-    
-    /**
-    * Virtual Destructor.
-    * 
-    * @since S60 5.0
-    */
-    IMPORT_C ~CHnSuiteModel();
- 
-    /**
-     * Return Suite's genre name.
-     * Used for identifying the Suite.
-     * 
-     * @since S60 v5.0
-     * @return The genre name.
-     */
-    IMPORT_C const TDesC& SuiteName() const;
-
-    /**
-     * Return Suite's name
-     * This should be displayed in Status Pane
-     * 
-     * @since S60 v5.0
-     * @return the name
-     */
-    IMPORT_C const TDesC& Title() const;
-    
-    /**
-     * Sets the Suite's name
-     * 
-     * @since S60 v5.0
-     * @param aName the name
-     */
-    IMPORT_C void SetTitleL( const TDesC& aName );
-    
-    /**
-     * Return Suite's empty text
-     * 
-     * @since S60 v5.0
-     * @return empty text if defined o
-     */
-    IMPORT_C const TDesC& EmptyText() const;
-    
-    /**
-     * Sets the Suite's empty text
-     * 
-     * @since S60 v5.0
-     * @param aName the name
-     */
-    IMPORT_C void SetEmptyTextL( const TDesC& aName );
-
-    /**
-     * Notifies all of the observers.
-     * 
-     * @since S60 v5.0
-     * @param aEventType Event to be pushed to all observers.
-     */    
-    IMPORT_C void NotifyObserversL( THnCustomSuiteEvent aEventType );
-
-    /**
-     * Method used to indicate that item evaluation has finished.
-     * 
-     * @since S60 v5.0
-     * @param aModelItemNumber Index of the item model.
-     * @return True if observers were notified.
-     */    
-    IMPORT_C TBool ItemEvaluationFinishedL( TInt aModelItemNumber );
-    
-    /**
-     * Method used to indicate that item evaluation has finished.
-     * 
-     * @since S60 v5.0
-     */    
-    IMPORT_C TBool SuiteEvaluationFinishedL();
-    
-    /**
-     * Return Suite's Widget type
-     * 
-     * @since S60 v5.0
-     * @return the Widget type or EUnspecified if not set
-     */
-    IMPORT_C TInt WidgetType() const;
-    
-    /**
-     * Sets the Suite's Widget type
-     * Also sets the correct template to the Widget Model
-     * 
-     * @since S60 v5.0
-     * @param aWidgetType Suite's Widget type
-     */
-    IMPORT_C void SetWidgetType( THnSuiteWidgetType aWidgetType );
-    
-    /**
-     * Gets menu structure for certain model
-     *  
-     * @since S60 v5.0
-     * @param aItemId Id of the item model
-     * @return Pointer to menu model
-     */
-    IMPORT_C MHnMenuItemModelIterator* GetMenuStructureL( TInt aItemId );
-    
-    /**
-     * Adds item both to Aakash model and Matrix model.
-     * 
-     * @since S60 v5.0
-     * @param aItemModel Item model.
-     * @param aId Item id
-     * @param aItemModelNumber Index of data model that creates the item.
-     * @param aItemModelPosition Position in the particular data model
-     */
-    IMPORT_C void AddItemL( TInt aId, CHnItemModel* aItemModel,
-            TInt aItemModelNumber, TInt aItemModelPosition );
-    
-    /**
-     * Updates item template with template from suite model.
-     * 
-     * @since S60 v5.0
-     * @param aId Id of the item to update template
-     */
-    IMPORT_C void UpdateItemTemplateL( TInt aId );
-    
-    /**
-     * Updates item in Aakash model.
-     * 
-     * @since S60 v5.0
-     * @param aPreviousItemCount Previous number of items in the suite.
-     */
-    IMPORT_C void RefreshMulModelL( TInt aPreviousItemCount = 0 );
-    
-    /**
-     * Sets template for suite.
-     * 
-     * @since S60 v5.0
-     * @param aValue template of the suite
-     */
-    IMPORT_C void SetTemplateL( const TDesC8& aValue );
-    
-    /**
-     * Gets template.
-     * 
-     * @since S60 v5.0
-     * @return template of the suite
-     */
-    IMPORT_C const TDesC8& GetTemplate() const;
-    
-    /**
-     * Remove model by id both from Aakash model and Matrix model.
-     * 
-     * @since S60 v5.0
-     * @param aId Id of the item to remove
-     */
-    IMPORT_C void RemoveItemL( TInt aId );
-    
-    /**
-     * Removes all items from the suite model.
-     * 
-     * @since S60 v5.0
-     */
-    IMPORT_C void RemoveAllItems();
-    
-    /**
-     * Gets item model id by its position in Aakash model.
-     * 
-     * @since S60 v5.0
-     * @param aIndex Index of visual item in Aakash model
-     * @return Id of the item model for input parameter
-     */
-    IMPORT_C TInt IdByIndex( TInt aIndex );
-    
-    /**
-     * Gets item model count.
-     * 
-     * @since S60 v5.0
-     * @return Count of item models.
-     */
-    IMPORT_C TInt GetItemModelsCount();
-    
-    /**
-     * Gets actions models.
-     * 
-     * @return List of all actions for every event.
-     */
-    IMPORT_C RHashMap< TInt, CArrayPtr<CHnActionModel>* >& GetActions();
-    
-    /**
-     * Gets actions models.
-     * 
-     * @param aId Event id
-     * @return Array of actions models corresponding to event id
-     */
-    IMPORT_C CArrayPtr<CHnActionModel>* GetActions( TInt aId );
-    
-    /**
-     * Gets item model.
-     * 
-     * @param aId Item model id
-     * @return Item model corresponding to id, if not found returns NULL
-     */
-    IMPORT_C CHnItemModel* GetItemModel( TInt aId );
-    
-    /**
-     * Returns visibility of toolbar for suite
-     * 
-     * @return TRUE if visible, otherwise FALSE
-     */
-    IMPORT_C TBool HasToolbar() const;
-    
-    /**
-     * Registers suite observer.
-     * 
-     * @param aObserver observer
-     * @param aPriority priority
-     */
-    IMPORT_C void RegisterSuiteObserverL( MHnSuiteObserver* aObserver, 
-            TThreadPriority aPriority = EPriorityNormal);
-    
-    /**
-     * Unregisters suite observer
-     *
-     * @param aObserver observer 
-     */
-    IMPORT_C void UnregisterSuiteObserver( MHnSuiteObserver* aObserver);
-    
-    /**
-     * Checks if one of items between aIndexStart and
-     * aIndexEnd is move-locked
-     * 
-     * @param aIndexStart starting item
-     * @param aIndexEnd ending item
-     * @return true if one of the preceeding items is locked 
-     */
-    IMPORT_C TBool IsItemBetweenMoveLocked( TInt aIndexStart, 
-            TInt aIndexEnd );
-    
-    /**
-     * Handles event.
-     *
-     * @since S60 5.0
-     * @param aEventId Event id.
-     * @param aRecipientId Recipient Id.
-     * @param aEventParameters Parameters to event.
-     * @return Status code.
-     */
-    TInt OfferHnEventL( 
-            const TInt aEventId, const TInt aRecipientId, 
-             CLiwGenericParamList* aEventParameters  );
-    
-    /**
-     * Reorders item.
-     * 
-     * @param aFromIndex Index of the item to move.
-     * @param aToIndex Index of the item to shift to.
-     */
-    IMPORT_C TInt ReorderItemsL( TInt aFromIndex, TInt aToIndex );
-    
-    /**
-     * Returns items order object.
-     * 
-     * @return items order object from suite model
-     */
-    IMPORT_C CHnItemsOrder* GetItemsOrder();
-    
-public:
-    
-    /**
-     * Returns true if an item is move locked.
-     * 
-     * @param aIndex item's index
-     * @return true if an item is move-locked otherwise false
-     */
-    IMPORT_C TBool IsItemMoveLocked( TInt aIndex );
-    
-    /**
-     * Returns type of an item.
-     * 
-     * @param aIndex an item's index
-     * @return item's type
-     */
-    IMPORT_C TMcsItemType GetItemType( TInt aIndex );
-    
-    /**
-     * Returns highlighted item's id.
-     * 
-     * @since S60 v5.0
-     * @return highlighted item's id
-     */
-    IMPORT_C TInt GetSuiteHighlight();
-    
-    /**
-     * Set highlighted item's id.
-     * 
-     * @since S60 v5.0
-     * @param aHighLight sets highlighted item's id
-     */
-    IMPORT_C void SetSuiteHighlightL( TInt aHighLight );
-	
-    /**
-     * Add items index to focus queue. Item will be highlighted/focused
-     * during evaluation.
-     * 
-     * @since S60 v5.0
-     * @param aCustomId Custom Id of an item which will be highlighted
-     */
-    IMPORT_C void QueueFocus( TInt aCustomId );
-    
-    /**
-     * Sets suite's custom id.
-     * 
-     * @since S60 v5.0
-     * @param aCustomId Custom identifier to be set.
-     */
-    IMPORT_C void SetCustomId( TInt64 aCustomId );
-    
-    /**
-     * Returns custom identifier of the suite.
-     * 
-     * @since S60 v5.0
-     * @return Custom identifier of the suite.
-     */
-    IMPORT_C TInt64 CustomId();
-    
-    /**
-     * Activates highlight handling.
-     * Used for highlight events for items.
-     * 
-     * @since S60 v5.0
-     * @param aActive ETrue if active.
-     */
-    IMPORT_C void SetActiveL( TBool aActive );
-    
-    /**
-     * Returns the state of the suite.
-     * 
-     * @since S60 v5.0
-     * @return ETrue if active.
-     */
-    IMPORT_C TBool IsActive();
-    
-    /**
-     * Notifies the model that the suite is visible.
-     * Used for highlight events for items.
-     * 
-     * @since S60 v5.0
-     * @param aVisible ETrue if visible.
-     */
-    IMPORT_C void SetVisibleL( TBool aVisible );
-
-    /**
-     * Returns item model matching given criteria.
-     * 
-     * @param aCustomId Item's custom id.
-     * @param aIndex
-     * @return Item model matching given custom_id, otherwise null.
-     */
-    IMPORT_C CHnItemModel* GetMatchingItemModelL( TInt64 aCustomId, TInt& aIndex );
-    
-    /**
-     * Returns the suite's exit mode flag.
-     */
-    IMPORT_C TExitMode ExitMode();
-    
-    /**
-     * Sets the exid mode.
-     */
-    IMPORT_C void SetExitMode( TExitMode aExitMode );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-
-    /**
-     * Struct holding highlight information.
-     * iWidgetIndex - index of the visible item in the UI widget.
-     * iItemId - presentation model ID of the item.
-     * iCustomId - custom ID from data provider.
-     * 
-     * @since S60 v5.0
-     */
-    struct TSuiteHighlight
-        {
-        /** Widget index. */
-        TInt iWidgetIndex;
-        /** Item Id. */
-        TInt iItemId;
-        /** Custom Id. */
-        TInt64 iCustomId;
-        };
-
-    /**
-     * C++ default constructor.
-     * 
-     * @since S60 v5.0
-     * @param aEventHandler Event handler.
-     */
-    CHnSuiteModel( CHnEventHandler& aEventHandler );
-    
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 v5.0
-     * @param aGenreName Genre name for model
-     */
-    void ConstructL( const TDesC& aGenreName );
-    
-    /**
-     * Launches the appropriate action if allowed.
-     * Used for highlight events for items.
-     * 
-     * @since S60 v5.0
-     * @param aItemId ID of the item.
-     * @param aFocused ETrue if focused.
-     */
-    void HandleItemFocusL( TInt aItemId, TBool aFocused );
-    
-    /**
-     * Set highlight on item.
-     * 
-     * @since S60 v5.0
-     * @param aCustomId Custom id of the item.
-     */
-    void SetSuiteHighlightByCustomIdL( TInt64 aCustomId );
-    
-private:
-
-    /**
-     * Genre name.
-     * Own.
-     */
-    HBufC* iSuiteName;
-    
-    /**
-     * Suite name.
-     * Own.
-     */
-    HBufC* iTitle;
-
-    /**
-     * Suite empty text
-     * Own.
-     */
-    HBufC* iEmptyText;
-    
-    /**
-     * Suite Widget type
-     */
-    THnSuiteWidgetType iWidgetType;
-    
-    /**
-     * Template.
-     */
-    RBuf8 iTemplate;
-
-    /**
-     * Holds models evaluated from CHnMdItem objects
-     */
-    RHashMap< TInt, CHnItemModel* > iItemsModels;
-
-    /**
-     * Holds positions of item ids and suite id.
-     * Own.
-     */
-    CHnItemsOrder* iItemsOrder;
-
-    /**
-     * Actions corresponding to events
-     * event id <=> array of actions models
-     */
-    RHashMap< TInt, CArrayPtr<CHnActionModel>* > iActions;
-    
-    /**
-     * Id of "empty" item
-     */
-    TInt iEmptyItemId;
-    
-    /**
-     * Suite observers.
-     * Not own.
-     */
-    RPointerArray<MHnSuiteObserver> iSuiteObservers;
-    
-    /**
-     * Observer priorities array.
-     */
-    RArray<TThreadPriority> iObserverPriorities;
-    
-    /**
-     * Stores IDs of currently higlighted item.
-     */ 
-    TSuiteHighlight iSuiteHighlight;
-    
-    /**
-     * Focus queue.
-     */
-    TInt iFocusQueue;
-    
-    /**
-     * Custom id.
-     */
-    TInt64 iCustomId;
-    
-    /**
-     * Event Handler from Suite Container.
-     * Used for executing item focused/unfocused events.
-     * 
-     * Not Own.
-     */ 
-    CHnEventHandler& iEventHandler;
-		
-    /**
-     * Indicates if the suite is active.
-     * Used for handling highlight events for items.
-     */ 
-    TBool iIsActive;
-    
-    /**
-     * Indicates if the suite is visible.
-     * Used for handling highlight events for items.
-     */ 
-    TBool iIsVisible;
-    
-    /**
-     * Exit mode.
-     */
-    TExitMode iExitMode;
-    /**
-     * Active Focus Handler.
-     */
-    CHnItemFocusHandler* iItemFocusHandler;
-    };
-
-#endif // C_HNSUITEMODEL_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitemodelcontainer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +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:   suite presentation models container
-*
-*/
-
-
-#ifndef C_HNSUITEMODELCONTAINER_H
-#define C_HNSUITEMODELCONTAINER_H
-
-#include <e32base.h>
-
-class MHnMdModelEventObserver;
-class CHnSuitesStack;
-class CHnEventHandler;
-class CHnSuiteModel;
-class CLiwGenericParamList;
-class MHnControllerInterface;
-class CLiwGenericParamList;
-
-/**
- * Predefined offsets.
- */
-enum THighlightOffset
-    {
-    EOffsetPrevious = -1,
-    EOffsetNone = 0,
-    EOffsetNext = 1
-    };
-
-/**
- *  Suite Model Container class.
- *  It manages the presentation models, and manages their position on the
- *  presentation stack.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnSuiteModelContainer ) : public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructors.
-     * 
-     * @since S60 5.0
-     * @param aModelObserver Interface of the model event observer.
-     * @param aController Interface enabling to issues request to Hn engine.
-     */
-    IMPORT_C static CHnSuiteModelContainer* NewL( 
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController );
-    
-    /**
-     * Two-phased constructors.
-     * 
-     * @since S60 5.0
-     * @param aModelObserver Interface of the model event observer.
-     * @param aController Interface enabling to issues request to Hn engine.
-     */
-    IMPORT_C static CHnSuiteModelContainer* NewLC( 
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController );
-
-    /**
-    * Virtual Destructor.
-    * 
-    * @since S60 5.0
-    */
-    ~CHnSuiteModelContainer();
-    
-    /**
-     * Pushes a new swuite model to the stack,
-     * by the name of aGenre
-     * 
-     * @since S60 v5.0
-     * @param aGenre Name of the suite.
-     * @return the Suite Model
-     */
-    IMPORT_C void PushNewSuiteModelL( const TDesC& aGenre  );
-
-    /**
-     * Fetches a Suite Model for the supplied genre name
-     * "root" name reserved for root grid
-     * 
-     * @since S60 v5.0
-     * @param aGenre genre name
-     * @return the Suite Model
-     */
-    IMPORT_C CHnSuiteModel* GetSuiteModel( const TDesC& aGenre );
-    
-    /**
-     * Pops the last Suite Model from the internal Suites Stack
-     * and retruns in turn the element which remains as the last
-     * after the change.
-     * 
-     * @since S60 v5.0
-     * @param aGenre Name of the suite which is expected to be at the top
-     * @return Suite Model which remains as the last.
-     */
-    IMPORT_C CHnSuiteModel* PopSuiteModelL( const TDesC& aGenre );
-   
-    /**
-     * Fetches the count of suites stored in the container.
-     * 
-     * @since S60 v5.0
-     * @return Suite count
-     */
-    IMPORT_C TInt GetSuiteModelCount() const;
-    
-    /**
-     * Fetches the last suite model from the container.
-     * 
-     * @since S60 5.0
-     * @return Requested, last suite model.
-     */
-    CHnSuiteModel* GetLastSuiteModel();
-    
-    /**
-     * Fetches parent suite model from the container.
-     * 
-     * @since S60 5.0
-     * @return Requested, last suite model.
-     */
-    CHnSuiteModel* GetParentSuiteModel();
-    
-    /**
-     * Fetches the last suite model from the container.
-     * 
-     * @since S60 5.0
-     * @param aPosition Position of the model in the stack.
-     * @return Requested suite model.
-     */
-    CHnSuiteModel* GetSuiteModel( TInt aPosition );
-    
-    /**
-     * Handles event.
-     *
-     * @since S60 5.0
-     * @param aEventId Event id.
-     * @param aRecipientId Recipient id.
-     * @param aEventParameters Parameters to an event.
-     * @return Status code.
-     */
-    IMPORT_C TInt OfferHnEventL( const TInt aEventId,
-            const TInt aRecipientId, CLiwGenericParamList* aEventParameters = NULL );
-    
-    /**
-     * Returns CHnSuiteModel matching given criteria (custom_id).
-     * 
-     * @param aCustomId Suite's custom identifier. 
-     * @return Pointer to the suite model or null if model not found.
-     */
-    IMPORT_C CHnSuiteModel* GetMatchingSuiteModel( TInt64 aCustomId );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    IMPORT_C void RemoveLiwObjects();
-    
-private:
-
-    /**
-     * Standard C++ Constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnSuiteModelContainer( );
-      
-    /**
-     * Symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aModelObserver Interface of the model event observer.
-     * @param aController Interface enabling to issues request to Hn engine.
-     */
-    void ConstructL( MHnMdModelEventObserver& aModelObserver,
-            MHnControllerInterface& aController );
-    
-private: // data
-        
-    /**
-     * Event handler.
-     * Not own.
-     */
-    CHnEventHandler* iEventHandler;
-    
-    /**
-     * Suites stack
-     * Own
-     */
-    CHnSuitesStack* iSuitesStack;
-   
-    };
-
-#endif //C_HNSUITEMODELCONTAINER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuiteobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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:   suite observer interface
-*
-*/
-
-
-
-#ifndef HNSUITEOBSERVER_H
-#define HNSUITEOBSERVER_H
-
-#include <e32def.h>
-
-/**
- * Definition of events that are associated
- * with the lifecycle of a suite
- */
-enum THnCustomSuiteEvent
-    {
-        ESuitePushedToStack,
-        ESuitePoppedFromStack,
-        ESuiteModelInitialized,
-        ESuiteModelDestroyed,
-        ESuiteItemsAdded,
-        ESuiteItemsRemoved,
-        ESuiteItemsUpdated,
-        ESuiteHighlightChanged
-    };
-
-class CHnSuiteModel;
-
-/**
- *  Suite observer interface class.
- * 
- *  Interface, for observers of suite events. Suite 
- *  May inform its observers about different situation it encoutners.
- *  e.g. suite informs all about its initialization, its deletion, 
- *  about updates of items. 
- *  This interface is also used by the suite container stack to inform
- *  all interested classes of new suite being pushed or popped from the stack. 
- * 
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-class MHnSuiteObserver
-    {
-    
-public:
-
-    /**
-     * Whenever an event occurs, and suite wants to notify observers,
-     * it invokes this method on all of its own observers, passing the information
-     * about the particular event as a parameter.
-     * 
-     * @param aCustomSuiteEvent Type of evetn
-     * @param aModel Suite presentation model that is notifying.
-     */
-    virtual void HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent, 
-            CHnSuiteModel *aModel ) = 0;
-    
-    };
-
-
-#endif // HNSUITEOBSERVER_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitesstack.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +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:   suite stack
-*
-*/
-
-
-#ifndef C_HNSUITESSTACK_H
-#define C_HNSUITESSTACK_H
-
-#include <e32base.h>
-
-class CHnSuiteModel;
-class MHnControllerInterface;
-
-/**
- *  Class implements Suites stack.
- *  Suite stack is used to keep visual models of suites
- *  in the order they have been opened.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnSuitesStack ): public CBase
-    {
-
-public:
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aControllerInterface A HN controller inteface.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnSuitesStack* NewL( MHnControllerInterface& aControllerInterface );
-    
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnSuitesStack();
-    
-    /**
-     * Pushes a Suite Model onto the stack.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteModel Model to be pushed to stack.
-     * @return Quantity of models in the stack after insert.
-     */
-    IMPORT_C TInt PushL( CHnSuiteModel* aSuiteModel );
-
-    /**
-     * Pops the last Suite Model from the top of the stack.
-     * Ownership is transfered to the code that invokes it.
-     * 
-     * @since S60 v5.0
-     * @return Suite Model object, ownership is transfered to 
-     *         invoking code.
-     */
-    IMPORT_C CHnSuiteModel* PopL();
-    
-    /**
-     * Gets the last Suite Model, from the top of the stack.
-     * 
-     * @since S60 v5.0
-     * @return Suite Model at the top of the stack.
-     */
-    IMPORT_C CHnSuiteModel* GetLast();
-    
-    /**
-    * Gets the stack, from a certain position in the stack.
-    * Index 0, refers to the lowest Suite Model.
-    * 
-    * @since S60 v5.0
-    * @param aPositon Position to fetch model from.
-    * @return Suite Model form a certain posiotion.
-    */
-    IMPORT_C CHnSuiteModel* Get( TInt aPositon );
-    
-    /**
-     * Gets the Suite Model from the bottom of the stack.
-     * 
-     * @since S60 v5.0
-     * @return Suite Model from the bottom of the stack.
-     */
-    IMPORT_C CHnSuiteModel* GetRootSuite();
-     
-    /**
-     * Checks if the stack is empty.
-     * 
-     * @since S60 v5.0
-     * @return Bollean value.
-     */
-    IMPORT_C TBool IsEmpty();
-    
-    /**
-     * Gets the size of the stack.
-     * 
-     * @since S60 v5.0
-     * @return Number of Suite Models in the stack.
-     */
-    IMPORT_C TInt Count();
-
-private:
-    
-    /**
-     * Constructor.
-     * 
-     * @since S60 v5.0
-     * @param aControllerInterface Reference to App Ui - event observer
-     */
-    CHnSuitesStack( MHnControllerInterface& aControllerInterface );
-
-    /**
-     * Second pahse constructor.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL( );
-
-private:
-
-    /**
-     * Suites stack
-     */
-    RPointerArray< CHnSuiteModel > iStack;
-    
-    /**
-     * Reference to App Ui - event observer
-     */
-    MHnControllerInterface& iControllerInterface; 
-
-    };
-
-#endif // C_HNSUITESSSTACK_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hntoolbarmodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +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:   toolbar presentation model
-*
-*/
-
-
-#ifndef HNTOOLBARMODEL_H_
-#define HNTOOLBARMODEL_H_
-
-#include <e32base.h>
-#include <e32cmn.h>
-
-class CHnButtonModel;
-
-/**
- *  Toolbar model class.
- *  
- *  Toolbar represents toolbar class from meta data model. Contains buttons.
- *  UI layer can fetch the data from toolbar model to display it on screen. 
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnToolbarModel ) : public CBase
-    {
-public:
-        
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C static CHnToolbarModel* NewLC();
-        
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C ~CHnToolbarModel();
-    
-    /**
-     * Adds toolbar button.
-     *
-     * @since S60 5.0 
-     * @param aButton Toolbar button to add
-     */
-    IMPORT_C void AddButtonL( CHnButtonModel* aButton );
-    
-    /**
-     * Gets toolbar button model.
-     * 
-     * @since S60 5.0
-     * @param aIndex Index of toolbar button
-     * @return Toolbar button model for item, NULL if not exist
-     */
-    IMPORT_C const CHnButtonModel* GetButton( TInt aIndex ) const;
-    
-    /**
-     * Informs if toolbar has any buttons.
-     * 
-     * @since S60 5.0
-     * @return true if has, false if doesn't
-     */    
-    IMPORT_C TBool HasButtons() const;
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @param aMaxCount Maximal number of buttons in the toolbar.
-     * @since S60 5.0
-     */
-    CHnToolbarModel( TInt aMaxCount = 3);
-    
-    /**
-     * Second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-private: // data
-
-    /**
-     * Buttons for toolbar. Max 3 buttons.
-     */
-    RPointerArray< CHnButtonModel > iButtons;
-    
-private: // constants
-    
-    /**
-     * Max button count.
-     */
-    const TInt KMaxButtonCount;
-    };
-
-
-#endif // HNTOOLBARMODEL_H_
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/mymenudebug.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-#define APPEND_TO_DEBUG_FILE
-
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "hnpresentationmodel.txt");
-
-#endif // MYMENUDEBUG_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnactionmodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +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:  action presentation model
-*
-*/
-
-
-#include <liwcommon.h>
-#include "hnsuitemodelcontainer.h"
-#include "hnactionmodel.h"
-#include "hnmdbasekey.h"
-#include "hnmdmodel.h"
-#include "hneventhandler.h"
-#include "hnhelper.inl"
-
-using namespace LIW;
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnActionModel* CHnActionModel::NewL()
-    {
-    CHnActionModel* self = new( ELeave ) CHnActionModel();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnActionModel::~CHnActionModel()
-    {
-    delete iConstructor;
-    delete iCommand;
-    
-    iService.Close();
-    iInterface.Close();
-    iCommandName.Close();
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnActionModel::ConstructL()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-EXPORT_C CLiwGenericParamList*  CHnActionModel::ConstructorLC()
-    {
-    CLiwGenericParamList* constructor = CLiwGenericParamList::NewL();
-    CleanupStack::PushL( constructor );
-    if ( iConstructor )
-        {
-        iConstructor->ToGenericParamListL( *constructor );
-        }
-    return constructor;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnActionModel::Service() const
-    {
-    return iService;
-    }
-        
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLiwGenericParamList* CHnActionModel::CommandLC() const
-    {
-    CLiwGenericParamList* command = CLiwGenericParamList::NewL();
-    CleanupStack::PushL( command );
-    if ( iCommand )
-        {
-        iCommand->ToGenericParamListL( *command );        
-        }
-    return command;
-    }
-
-
-        
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnActionModel::Interface() const
-    {
-    return iInterface;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetConstructorL( CHnMdBaseKey* aData )
-    {
-    delete iConstructor;
-    iConstructor = aData;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetServiceL( const TDesC8& aSrevice )
-    {
-    iService.Close();
-    iService.CreateL( aSrevice );
-    }
-        
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetCommand( CHnMdBaseKey* aCommand )
-    {
-    delete iCommand;
-    iCommand = aCommand;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetInterfaceL( const TDesC8& aInterface )
-    {
-    iInterface.Close();
-    iInterface.CreateL( aInterface );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetCommandNameL( const TDesC8& aCommandName )
-    {
-    iCommandName.Close();
-    iCommandName.CreateL( aCommandName );
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetServiceModeL( const TServiceMode aMode )
-    {
-    iMode = aMode;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnActionModel::CommandName() const
-{
-    return iCommandName;
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TServiceMode CHnActionModel::ServiceMode() const
-{
-    return iMode;
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnActionModel::CHnActionModel()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnActionModel* CHnActionModel::ConcretizeL( const CHnActionModel & aActionModel,
-        CLiwGenericParamList* aGenericParamList )
-    {
-    CHnActionModel* newInstance = CHnActionModel::NewL();
-    CleanupStack::PushL( newInstance );
-    
-    newInstance->iService.CreateL( aActionModel.Service() );
-    newInstance->iInterface.CreateL( aActionModel.Interface() );
-    newInstance->iCommandName.CreateL( aActionModel.CommandName() );
-    newInstance->iMode = aActionModel.iMode;
-    
-    if ( aActionModel.iCommand )
-        {
-        if ( aGenericParamList )
-            {
-            newInstance->iCommand = aActionModel.iCommand->EvaluateLC( *aGenericParamList );
-            }
-        else
-            {
-            newInstance->iCommand = aActionModel.iCommand->CopyLC();
-            }
-        CleanupStack::Pop( newInstance->iCommand );
-        }
-    
-    if (  aActionModel.iConstructor )
-        {
-        if ( aGenericParamList )
-            {
-            newInstance->iConstructor = aActionModel.iConstructor->EvaluateLC( *aGenericParamList );
-            }
-        else
-            {
-            newInstance->iConstructor = aActionModel.iConstructor->CopyLC();
-            }
-        CleanupStack::Pop( newInstance->iConstructor );
-        }
-
-    CleanupStack::Pop( newInstance );
-    return newInstance;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ------------------ ---------------------------------------------------------
-//
-TInt CHnActionModel::ExecuteL( CHnEventHandler & aEventHandler, 
-        CLiwGenericParamList *aExecutionParams )
-{
-    CHnActionModel* actionModel = ConcretizeL( *this, aExecutionParams );
-    CleanupStack::PushL( actionModel );
-    TRAPD( err, aEventHandler.ExecuteActionL( actionModel ) );
-    // forward KErrNoMemory error to most outer TRAP.
-    if ( KErrNoMemory == err || KErrDiskFull == err )
-        {
-        User::Leave( err );
-        }
-    CleanupStack::PopAndDestroy( actionModel );
-    return err;
-}
-
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattributebase.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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:  abstract base class for attribute models.
-*
-*/
-
-
-#include "hnattributebase.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeBase::SetNameL( const TDesC8& aName )
-    {
-    iName.Close();
-    iName.CreateL( aName.Length() + 1 );
-    iName.Copy( aName );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnAttributeBase::Name( ) const
-    {
-    return iName;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeBase::~CHnAttributeBase( )
-    {
-    iName.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAttributeType CHnAttributeBase::Type()
-    {
-    return iAttributeType;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttributeBase::RemoveLiwObjects()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnAttributeBase::Value()
-    {
-    // The descendant should override this if such functionality is provided.
-    // if that functionality is not provided, generally it means that this
-    // should not be invoked this assert in debug.
-    ASSERT(EFalse);
-    return KNullDesC8;
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CHnAttributeBase::GetIcon( TSize* /*aDesiredIconSize*/ )
-    {
-    // The descendant should override this if such functionality is provided.
-    // if that functionality is not provided, generally it means that this
-    // should not be invoked this assert in debug.    
-    ASSERT(EFalse);
-    return NULL;
-    }
-
-CHnIconHolder* CHnAttributeBase::GetIconHolder( TSize* /*aDesiredIconSize*/ )
-    {
-    // The descendant should override this just like the other methods.
-    ASSERT( EFalse );
-    return NULL;
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattributeimage.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +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:  image attribute model
- *
-*/
-
-
-#include <bautils.h>
-#include <f32file.h>
-#include <liwcommon.h>
-
-#include "hnglobals.h"
-#include "hnattributeimage.h"
-#include "hnattrimgprovider.h"
-#include "hnattrimgprovthememif.h"
-#include "hnattrimgprovappimage.h"
-#include "hnattrimgprovfileimage.h"
-#include "hnattrimgprovliwimage.h"
-#include "hnattrimgprovemptyimage.h"
-#include "hnattrimgprovsvgimage.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeImage::CHnAttributeImage()
-    {
-    iSkinId = KAknsIIDNone;
-    iAttributeType = EImageAttribute;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeImage::~CHnAttributeImage()
-    {
-    iFileNameSrc.Close();
-    iMifFile.Close();
-    RemoveLiwObjects();
-    delete iAttrImgProvider;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttributeImage* CHnAttributeImage::NewL()
-    {
-    CHnAttributeImage* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttributeImage* CHnAttributeImage::NewLC()
-    {
-    CHnAttributeImage* self = new ( ELeave ) CHnAttributeImage;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttributeImage::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetSkinId(TAknsItemID aSkinId)
-    {
-    iSkinId = aSkinId ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetFileNameSrc(HBufC* aFileNameSrc)
-    {
-    iFileNameSrc.Assign( aFileNameSrc );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetMifFile(HBufC* aMifFile)
-    {
-    iMifFile.Assign( aMifFile );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetBitmapId(TInt aBitmapId)
-    {
-    iBitmapId = aBitmapId ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetMaskId(TInt aMaskId)
-    {
-    iMaskId = aMaskId ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetApplicationUid(TUid aApplicationUid)
-    {
-    iApplicationUid = aApplicationUid ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetBitmap( TLiwVariant* aBitmap )
-    {
-    iBitmap = aBitmap ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetMask( TLiwVariant* aMask )
-    {
-    iMask = aMask ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnAttributeImage::Prepare()
-    {
-    TInt error = KErrNone;
-    if( !iAttrImgProvider )
-        {
-        TRAP( error, PrepareProviderL() );
-        }
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttributeImage::PrepareProviderL()
-    {
-    ASSERT( !iAttrImgProvider );
-    if ( IsThemeMif() )
-        {
-        iAttrImgProvider = CHnAttrImgProvThemeMif::NewL( iSkinId, iMifFile, 
-                iBitmapId, iMaskId );
-        }
-    else if ( IsApplicationImage() )
-        {
-        iAttrImgProvider = CHnAttrImgProvAppImage::NewL( iApplicationUid );
-        }
-    else if ( IsFileImageL() )
-        {
-        if ( iFileNameSrc.Find( KSvgFileExtension() ) != KErrNotFound )
-        	{
-        	iAttrImgProvider = CHnAttrImgProvSvgImage::NewL( iFileNameSrc );
-        	}
-        else
-        	{
-        	iAttrImgProvider = CHnAttrImgProvFileImage::NewL( iFileNameSrc );
-        	}
-        }
-    else if ( IsLiwImage() )
-        {
-        iAttrImgProvider = CHnAttrImgProvLiwImage::NewL( iBitmap, iMask );
-        }
-    // if strin couldn't be resolved then provide empty one
-    else
-        {
-        iAttrImgProvider = CHnAttrImgProvEmptyImage::NewL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnAttributeImage::IsThemeMif()
-    {
-    if( iSkinId != KAknsIIDNone )
-        {
-        return ETrue;
-        }
-    if( iMifFile.Length() && iBitmapId && iMaskId )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnAttributeImage::IsApplicationImage()
-    {
-    TBool ret( EFalse );
-    if ( iApplicationUid.iUid != 0 )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-TBool CHnAttributeImage::IsFileImageL()
-    {
-    TBool ret( EFalse );
-    if ( iFileNameSrc.Length() > 0  )
-        {
-        RFs& fs = CEikonEnv::Static()->FsSession();
-        
-        if ( BaflUtils::FileExists( fs, iFileNameSrc ) )
-            {
-            ret = ETrue;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-TBool CHnAttributeImage::IsLiwImage()
-    {
-    TBool ret( EFalse );
-    if ( iBitmap )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CGulIcon* CHnAttributeImage::GetIcon( TSize* aDesiredIconSize )
-    { 
-    if ( Prepare() == KErrNone )
-        {
-        return iAttrImgProvider->GetIcon( aDesiredIconSize );
-        }
-    else 
-        {
-        return NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnIconHolder* CHnAttributeImage::GetIconHolder( TSize* aDesiredIconSize )
-{
-    CHnIconHolder* iconHolder = NULL;
-    if ( Prepare() == KErrNone )
-        {
-        iconHolder = iAttrImgProvider->GetIconHolder( aDesiredIconSize );
-        }
-    return iconHolder;
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnAttributeImage::RemoveLiwObjects()
-    {
-    if ( iAttrImgProvider )
-        {
-        iAttrImgProvider->RemoveLiwObjects();
-        }
-
-    if( iBitmap )
-        {
-        iBitmap->Reset();
-        delete iBitmap;
-        iBitmap = NULL;
-        }
-
-    if( iMask )
-        {
-        iMask->Reset();
-        delete iMask;
-        iMask = NULL;
-        }
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattributetext.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +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:  text attribute model 
-*
-*/
-
-
-#include "hnattributetext.h"
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeText::CHnAttributeText()
-    {
-    iAttributeType = ETextAttribute;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeText::~CHnAttributeText()
-    {
-    iValue.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttributeText* CHnAttributeText::NewL()
-    {
-    CHnAttributeText* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttributeText* CHnAttributeText::NewLC()
-    {
-    CHnAttributeText* self = new ( ELeave ) CHnAttributeText;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttributeText::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeText::SetValueL ( const TDesC8& aValue )
-    {
-    iValue.Close();
-    iValue.CreateL( aValue.Length() + 1 );
-    iValue.Copy( aValue );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttributeText::Value( )
-    {
-    return iValue;
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovappimage.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +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:  image provider for application uid
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <avkon.mbg>
-#include "hnglobals.h"
-#include "hnattrimgprovappimage.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvAppImage::CHnAttrImgProvAppImage( )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvAppImage::ConstructL( TUid aApplicationUid )
-    {
-    iApplicationUid = aApplicationUid;
-    
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-    ProvideBitmapL( NULL, bitmap, mask );
-    CreateIconL( bitmap, mask );
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvAppImage* CHnAttrImgProvAppImage::NewL( 
-        TUid aApplicationUid )
-    {
-    CHnAttrImgProvAppImage* self = NewLC( aApplicationUid );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvAppImage* CHnAttrImgProvAppImage::NewLC( 
-        TUid aApplicationUid )
-    {
-    CHnAttrImgProvAppImage* self = new( ELeave ) CHnAttrImgProvAppImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aApplicationUid );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvAppImage::~CHnAttrImgProvAppImage()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvAppImage::Value( )
-    {
-    return iValue;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvAppImage::ProvideBitmapL( TInt /*aId*/, CFbsBitmap*& aBitmap, 
-        CFbsBitmap*& aMaskBitmap )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    TInt err( KErrNone );
-    TRAP( err,
-        {
-        AknsUtils::CreateAppIconLC( skin, iApplicationUid,
-            EAknsAppIconTypeContext, aBitmap, aMaskBitmap );
-        CleanupStack::Pop( 2 ); // for trap
-        }
-        );
-    
-    if( err != KErrNone )
-        {
-        // If icon is not created, try to create default application icon
-        TRAP( err,
-            {
-            AknsUtils::CreateIconLC( skin,
-                KAknsIIDQgnMenuUnknownLst, aBitmap, aMaskBitmap,
-                AknIconUtils::AvkonIconFileName(),
-                EMbmAvkonQgn_menu_unknown_lst,
-                EMbmAvkonQgn_menu_unknown_lst_mask );
-            CleanupStack::Pop( 2 ); // for trap
-            }
-            );
-        }
-    }
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovemptyimage.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +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:  image provider for empty image
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include "hnattrimgprovemptyimage.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvEmptyImage::ConstructL( )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvEmptyImage* CHnAttrImgProvEmptyImage::NewL( )
-    {
-    CHnAttrImgProvEmptyImage* self = NewLC( );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvEmptyImage* CHnAttrImgProvEmptyImage::NewLC( )
-    {
-    CHnAttrImgProvEmptyImage* self = new( ELeave ) CHnAttrImgProvEmptyImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvEmptyImage::CHnAttrImgProvEmptyImage()
-{
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvEmptyImage::~CHnAttrImgProvEmptyImage()
-{
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvEmptyImage::Value( )
-    {
-    return iEmptyVal;
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovfileimage.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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:  image provider for image file
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include "hnconvutils.h"
-#include "hnglobals.h"
-#include "hnattrimgprovfileimage.h"
-#include "imageconversion.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvFileImage::CHnAttrImgProvFileImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvFileImage::CorrectBitmapSize(
-        CImageDecoder& aImageDec, TSize& aBitmapSize )
-    {
-    const TFrameInfo& frameInfo = aImageDec.FrameInfo();
-    TSize imageSize = frameInfo.iOverallSizeInPixels;
-    if ( imageSize.iWidth && imageSize.iHeight )
-        {
-        if ( imageSize.iWidth <= aBitmapSize.iWidth
-                && imageSize.iHeight <= aBitmapSize.iHeight)
-            {
-            aBitmapSize = imageSize;
-            }
-        else
-            {
-            TInt reductionFactor = aImageDec.ReductionFactor(
-                    imageSize, aBitmapSize );
-            TInt err = aImageDec.ReducedSize(
-                    imageSize, reductionFactor, aBitmapSize );
-            ASSERT( KErrNone == err );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvFileImage::ConstructL( const TDesC& aFileName )
-    {
-    TSize bitmapSize( KMaxIconBitmapSize, KMaxIconBitmapSize );
-    
-    HBufC8* buf = HnConvUtils::StrToStr8LC( aFileName );
-    iValue.CreateL( aFileName.Length() + 1  );
-    iValue.Copy( *buf );
-    CleanupStack::PopAndDestroy( buf );
-    
-    CImageDecoder* imageDec = CImageDecoder::FileNewL(CEikonEnv::Static()->FsSession(), 
-            aFileName, CImageDecoder::EOptionAlwaysThread);
-    CleanupStack::PushL( imageDec );            
-    
-    CFbsBitmap* bitmap = new (ELeave) CFbsBitmap();
-    TDismissableCleaner bitmapCleaner( bitmap );
-    CleanupClosePushL( bitmapCleaner );
-    CFbsBitmap* mask = new (ELeave) CFbsBitmap();
-    CleanupStack::PushL( mask );
-
-    CorrectBitmapSize( *imageDec, bitmapSize );
-    User::LeaveIfError( bitmap->Create( bitmapSize, EColor64K ) );
-    User::LeaveIfError( mask->Create( bitmapSize, EGray256  ) );
-    TRequestStatus status = KRequestPending;
-    imageDec->Convert( &status, *bitmap, *mask );
-    User::WaitForRequest( status );  
-
-    CleanupStack::Pop( mask );
-    CFbsBitmap* avkonishMask = AknIconUtils::CreateIconL( mask );
-    mask = NULL;
-    CleanupStack::PushL( avkonishMask );
-
-    bitmapCleaner.Dismiss();
-    CFbsBitmap* avkonishBitmap = AknIconUtils::CreateIconL( bitmap );
-    bitmap = NULL;
-    CleanupStack::PushL( avkonishBitmap );
-    
-    CreateIconL( avkonishBitmap, avkonishMask );
-    CleanupStack::Pop( avkonishBitmap );
-    CleanupStack::Pop( avkonishMask );
-    
-    CleanupStack::PopAndDestroy( &bitmapCleaner );
-    CleanupStack::PopAndDestroy( imageDec ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvFileImage* CHnAttrImgProvFileImage::NewL( 
-        const TDesC& aFileName )
-    {
-    CHnAttrImgProvFileImage* self = NewLC( aFileName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvFileImage* CHnAttrImgProvFileImage::NewLC( 
-        const TDesC& aFileName )
-    {
-    CHnAttrImgProvFileImage* self = new( ELeave ) CHnAttrImgProvFileImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aFileName );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvFileImage::~CHnAttrImgProvFileImage()
-    {
-    iValue.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvFileImage::Value()
-    {
-    return iValue;
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovider.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  base class for all image providers
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknIconUtils.h>
-#include <AknsUtils.h>
-#include "hnattrimgprovider.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TDismissableCleaner::TDismissableCleaner( TAny* aToBeDeletedOnLeave )
-    : mToBeDeletedOnLeave( aToBeDeletedOnLeave )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void TDismissableCleaner::Close()
-    {
-    delete mToBeDeletedOnLeave;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void TDismissableCleaner::Dismiss()
-    {
-    mToBeDeletedOnLeave = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvider::CHnAttrImgProvider()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvider::~CHnAttrImgProvider()
-    {
-    if ( iIconHolder )
-        {
-        iIconHolder->Close();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvider::CreateIconL( CFbsBitmap* aBitmap, 
-                                      CFbsBitmap* aMaskBitmap )
-    {
-    CGulIcon* newIcon = CGulIcon::NewL( aBitmap, aMaskBitmap );
-    CleanupStack::PushL( newIcon );
-    CHnIconHolder *newIconHolder = new (ELeave) CHnIconHolder();
-    newIconHolder->SetGulIcon( newIcon );
-    CleanupStack::Pop( newIcon );
-    
-    if ( iIconHolder )
-        {
-        iIconHolder->Close();
-        }
-    iIconHolder = newIconHolder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CHnAttrImgProvider::GetIcon( TSize* /*aDesiredIconSize*/ )
-    {   
-    return iIconHolder ? iIconHolder->GetGulIcon() : NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnIconHolder* CHnAttrImgProvider::GetIconHolder( TSize* /*aDesiredIconSize*/ )
-    {
-    return iIconHolder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvider::RemoveLiwObjects()
-    {
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovliwimage.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +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:  image provider for liw buffer
-*
-*/
-
-
-#include <fbs.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <liwcommon.h>
-#include <liwbufferextension.h>
-#include <s32mem.h>
-#include "hnattrimgprovliwimage.h"
-#include "hnextbmpiconholder.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvLiwImage::CHnAttrImgProvLiwImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvLiwImage::ConstructL( TLiwVariant*& aBitmap, 
-                                         TLiwVariant*& aMaskBitmap )
-    {
-    ASSERT( aBitmap );
-    CFbsBitmap* mask = NULL;
-    CFbsBitmap* bitmap = CreateBitmapFromVariantL( *aBitmap );
-    if ( bitmap )
-        {
-        if( aMaskBitmap )
-            {
-            mask = CreateBitmapFromVariantL( *aMaskBitmap );
-            }
-        CreateIconL( bitmap, mask );
-        }
-    else if ( aBitmap->TypeId() == LIW::EVariantTypeBuffer )
-        {
-        CLiwBitmapBuffer* bmpBuff =
-            static_cast<CLiwBitmapBuffer*>( aBitmap->AsBuffer() ); 
-        CLiwBitmapBuffer* maskBuff =
-            static_cast<CLiwBitmapBuffer*>(
-                    aMaskBitmap ? aMaskBitmap->AsBuffer() : NULL );
-        if ( bmpBuff )
-            {
-            bitmap = bmpBuff->AsBitmap();
-            }
-        if ( maskBuff )
-            {
-            mask = maskBuff->AsBitmap();
-            }
-        if ( bitmap )
-            {
-            CreateExtIconL( bitmap, mask, bmpBuff, maskBuff );
-            }
-        }
-    if ( !bitmap )
-        {
-        //No point to keep variant as bitmap was not created
-        aBitmap->Reset();
-        delete aBitmap;
-        aBitmap = NULL;
-        }
-    if ( aMaskBitmap && !mask )
-        {
-        //No point to keep variant as bitmap was not created
-        aMaskBitmap->Reset();
-        delete aMaskBitmap;
-        aMaskBitmap = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvLiwImage::CreateExtIconL( CFbsBitmap* aBitmap,
-        CFbsBitmap* aMask, CLiwBitmapBuffer* aExtBmp,
-        CLiwBitmapBuffer* aExtMask )
-    {
-    // the condition in the assertion below means: if you provide aMask then
-    // you must also provide aExtMask
-    __ASSERT_DEBUG( aBitmap && aExtBmp && ( !aMask || aExtMask ),
-            User::Invariant() );
-    
-    CGulIcon* newIcon = CGulIcon::NewL( aBitmap, aMask );
-    CleanupStack::PushL( newIcon );
-    newIcon->SetBitmapsOwnedExternally( ETrue );
-    CHnExtBmpIconHolder *newIconHolder = new (ELeave) CHnExtBmpIconHolder();
-    newIconHolder->SetGulIcon( newIcon , aExtBmp, aExtMask );
-    CleanupStack::Pop( newIcon );
-    
-    if ( iIconHolder )
-        {
-        iIconHolder->Close();
-        }
-    iIconHolder = newIconHolder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvLiwImage* CHnAttrImgProvLiwImage::NewL( 
-        TLiwVariant*& aBitmap, TLiwVariant*& aMaskBitmap )
-    {
-    CHnAttrImgProvLiwImage* self = NewLC( aBitmap, aMaskBitmap );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvLiwImage* CHnAttrImgProvLiwImage::NewLC( 
-        TLiwVariant*& aBitmap, TLiwVariant*& aMaskBitmap )
-    {
-    CHnAttrImgProvLiwImage* self = new( ELeave ) CHnAttrImgProvLiwImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aBitmap, aMaskBitmap );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvLiwImage::~CHnAttrImgProvLiwImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvLiwImage::RemoveLiwObjects()
-    {
-    if ( iIconHolder )
-        {
-        iIconHolder->Close();
-        iIconHolder = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvLiwImage::Value( )
-    {
-    return iValue;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CFbsBitmap* CHnAttrImgProvLiwImage::CreateBitmapFromVariantL( 
-                                                const TLiwVariant& aVariant )
-    {
-    CFbsBitmap* bitmap( NULL );
-    TInt handle = 0;
-
-    if ( ExtractBitmapHandleFromVariant( aVariant, handle ) == KErrNone )
-        {
-        CFbsBitmap* tempBitmap  = new( ELeave ) CFbsBitmap;
-        if ( tempBitmap->Duplicate( handle ) == KErrNone )
-            {
-            bitmap = tempBitmap;
-            }
-        else
-            {
-            delete tempBitmap;
-            }
-        }
-    else if ( aVariant.TypeId() == LIW::EVariantTypeDesC8 )
-        {
-        CFbsBitmap* tempBitmap = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( tempBitmap );
-        TPtrC8 buf = aVariant.AsData();
-        RDesReadStream stream( buf );
-        CleanupClosePushL( stream );
-        tempBitmap->InternalizeL( stream );
-        CleanupStack::PopAndDestroy( &stream );
-        CleanupStack::Pop( tempBitmap );
-        bitmap = tempBitmap;
-        }
-    return bitmap;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TInt CHnAttrImgProvLiwImage::ExtractBitmapHandleFromVariant(
-        const TLiwVariant& aVariant, TInt& aHandle )
-    {
-    TInt err = KErrNone;
-    switch ( aVariant.TypeId() )
-        {
-        case LIW::EVariantTypeTInt32:
-            aHandle = static_cast<TInt>( aVariant.AsTInt32() );         
-            break;
-        case LIW::EVariantTypeTUint:
-            aHandle = static_cast<TInt>( aVariant.AsTUint() );         
-            break;
-        case LIW::EVariantTypeTInt64:
-            aHandle = static_cast<TInt>( aVariant.AsTInt64() );         
-            break;
-        case LIW::EVariantTypeTBool:
-            // Putting a TInt into a TLiwVariant will result in the variant
-            // storing a TBool variable. CFbsBitmap::Handle() returns TInt, so
-            // we can assume that the TBool stored in aVariant is in fact TInt.
-            aHandle = static_cast<TInt>( aVariant.AsTBool() );
-            break;
-        default:
-            err = KErrNotFound;
-        }
-    return err;
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovsvgimage.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +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:  image provider for image file
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include "hnconvutils.h"
-#include "hnglobals.h"
-#include "hnattrimgprovsvgimage.h"
-#include "SVGEngineInterfaceImpl.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvSvgImage::CHnAttrImgProvSvgImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvSvgImage::ConstructL( const TDesC& aFileName )
-    {
-    iBitmap = new (ELeave) CFbsBitmap();
-    iMask = new (ELeave) CFbsBitmap();
-    TFontSpec fontSpec;
-       
-    iDummyBitmap = new( ELeave ) CFbsBitmap;
-    User::LeaveIfError( iDummyBitmap->Create( TSize( 0, 0 ), EGray2 ) );
-
-    
-    iSvgEngine = CSvgEngineInterfaceImpl::NewL( iDummyBitmap, this, fontSpec );
-    iSvgEngine->SetBackgroundColor( 0 );
-    iSvgEngine->SetDRMMode( EFalse );
-    
-    User::LeaveIfError( iSvgEngine->PrepareDom( aFileName, iHandle )->SystemErrorCode() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnAttrImgProvSvgImage::RenderIcon( TSize aDesiredIconSize )
-    {   
-    TInt err = iBitmap->Create( aDesiredIconSize, EColor64K );
-    if ( err == KErrNone )
-        {
-        err = iMask->Create( aDesiredIconSize, EGray256 );
-        }
-    if ( err == KErrNone )
-        {
-        iSvgEngine->UseDom( iHandle, iBitmap, iMask );
-        iSvgEngine->SetPreserveAspectRatio( NULL, ESvgPreserveAspectRatio_XmidYmid, 
-                ESvgMeetOrSlice_Meet, ETrue);
-        iSvgEngine->Start();
-        }
-    return err; 
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvSvgImage::~CHnAttrImgProvSvgImage()
-    {
-    if ( iSvgEngine )
-    	{
-    	iSvgEngine->UseDom( iHandle, NULL, NULL );
-    	iSvgEngine->DeleteDom( iHandle );
-    	}
-    delete iDummyBitmap;
-    delete iSvgEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvSvgImage* CHnAttrImgProvSvgImage::NewL( 
-        const TDesC& aFileName )
-    {
-    CHnAttrImgProvSvgImage* self = NewLC( aFileName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvSvgImage* CHnAttrImgProvSvgImage::NewLC( 
-        const TDesC& aFileName )
-    {
-    CHnAttrImgProvSvgImage* self = new( ELeave ) CHnAttrImgProvSvgImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aFileName );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CHnAttrImgProvSvgImage::GetIcon( TSize* aDesiredIconSize )
-    {
-    TInt err = KErrNone;
-    if ( !iIconHolder || !iIconHolder->GetGulIcon() )
-        {
-        TSize targetSize = aDesiredIconSize ?
-            *aDesiredIconSize : TSize( KDefaultSvgIconSize, KDefaultSvgIconSize );
-        err = RenderIcon( targetSize );
-        if ( err == KErrNone )
-            {
-            TRAP( err, CreateIconL( iBitmap, iMask ) );
-            }
-        }
-    else if ( aDesiredIconSize && iBitmap->SizeInPixels() != *aDesiredIconSize )
-        {
-        err = RenderIcon( *aDesiredIconSize );
-        }
-    
-    return ( !err && iIconHolder ? iIconHolder->GetGulIcon() : NULL );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnIconHolder* CHnAttrImgProvSvgImage::GetIconHolder( TSize* aDesiredIconSize )
-    {
-    GetIcon( aDesiredIconSize );
-    return iIconHolder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvSvgImage::UpdateScreen()
-	{
-
-	}
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TBool CHnAttrImgProvSvgImage::ScriptCall( const TDesC& /* aScript */,
-		CSvgElementImpl* /* aCallerElement */ )
-	{
-	return EFalse;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnAttrImgProvSvgImage::FetchImage( const TDesC& /* aUri */, 
-		RFs& /* aSession */, RFile& /* aFileHandle */ )
-	{
-	return KErrNotSupported;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnAttrImgProvSvgImage::FetchFont( const TDesC& /* aUri */, 
-		RFs& /* aSession */, RFile& /* aFileHandle */ )
-	{
-	return KErrNotSupported;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvSvgImage::UpdatePresentation(
-		const TInt32&  /*aNoOfAnimation*/ )
-	{
-	
-	}
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovthememif.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +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:  image provider for mif file
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <mifconvdefs.h>
-#include "hnattrimgprovthememif.h"
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvThemeMif::CHnAttrImgProvThemeMif( )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvThemeMif::ConstructL( TAknsItemID aSkinId,
-        const TDesC& aFile, TInt aBitmapId, TInt aMaskId )
-    {
-    iSkinId = aSkinId;
-    iFile.Set( aFile );
-    iBitmapId = aBitmapId;
-    iMaskId = aMaskId;
-
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-    if ( ValidateIconIds() )
-        {
-        ProvideBitmapL( NULL, bitmap, mask );
-        CreateIconL( bitmap, mask );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvThemeMif* CHnAttrImgProvThemeMif::NewL( 
-        TAknsItemID aSkinId, const TDesC& aFile, 
-        TInt aBitmapId, TInt aMaskId )
-    {
-    CHnAttrImgProvThemeMif* self = NewLC( aSkinId, aFile, 
-            aBitmapId, aMaskId );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnAttrImgProvThemeMif::ValidateIconIds()
-    {
-    return ((iSkinId.iMajor != KErrNotFound && iSkinId.iMinor != KErrNotFound)
-            || (iBitmapId >= KMifIdFirst && iMaskId >= KMifIdFirst));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvThemeMif* CHnAttrImgProvThemeMif::NewLC( 
-        TAknsItemID aSkinId, const TDesC& aFile,
-        TInt aBitmapId, TInt aMaskId )
-    {
-    CHnAttrImgProvThemeMif* self = new( ELeave ) CHnAttrImgProvThemeMif;
-    CleanupStack::PushL( self );
-    self->ConstructL( aSkinId, aFile, aBitmapId, aMaskId );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvThemeMif::~CHnAttrImgProvThemeMif()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvThemeMif::Value( )
-    {
-    return iValue;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvThemeMif::ProvideBitmapL( TInt /*aId*/, CFbsBitmap*& aBitmap, 
-        CFbsBitmap*& aMaskBitmap )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsUtils::CreateIconL( skin, iSkinId, aBitmap, aMaskBitmap,
-            iFile, iBitmapId, iMaskId );
-    }
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnbuttonmodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +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:  toolbar button model
-*
-*/
-
-
-#include "hnbuttonmodel.h"
-#include "gulicon.h"
-#include "hnattributeimage.h"
-#include "hnattributebase.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnButtonModel* CHnButtonModel::NewLC( TInt aIndex )
-    {
-    CHnButtonModel* self = new( ELeave ) CHnButtonModel( aIndex );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnButtonModel::~CHnButtonModel()
-    {
-    iToolTip.Close();
-    //delete iIcon;
-    delete iIconAttribute;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CHnButtonModel::GetIcon() const
-    {
-    CGulIcon* icon = NULL;
-    
-    if ( iIconAttribute )
-        {
-        icon = iIconAttribute->GetIcon();
-        }
-    
-    return icon;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnButtonModel::SetIcon( CHnAttributeBase* aAttribute )
-    {
-    delete iIconAttribute;
-    iIconAttribute = NULL;
-    iIconAttribute = aAttribute;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnButtonModel::GetButtonText() const
-    {
-    return iToolTip; 
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnButtonModel::SetHelpTextL( const TDesC& aToolTip )
-    {
-    iToolTip.Close();
-    iToolTip.CreateL( aToolTip );
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnButtonModel::GetDimmed() const
-    {
-    return iDimmed;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnButtonModel::SetDimmed( TBool aDimmed )
-    {
-    iDimmed = aDimmed;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnButtonModel::GetIndex() const
-    {
-    return iIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnButtonModel::GetEventId() const
-    {
-    return iEventId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnButtonModel::SetEventId( TInt aEventId )
-    {
-    iEventId = aEventId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnButtonModel::RemoveLiwObjects()
-    {
-    iIconAttribute->RemoveLiwObjects();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnButtonModel::CHnButtonModel( TInt aIndex ) 
-    {
-    iIndex = aIndex;
-    iDimmed = EFalse;
-    iEventId = KErrNotFound;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnButtonModel::ConstructL()
-    {
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hneventhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +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:  event handler class
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include "hneventhandler.h"
-#include "hnmdmodel.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnmdbasekey.h"
-#include "hncontrollerinterface.h"
-#include "hnactionmodel.h"
-#include "hnservicehandler.h"
-#include "menudebug.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// Safe constructor. Initializes refrerece to the Meta Data Model in which 
-// the event-to-action mappings are stored.
-// ---------------------------------------------------------------------------
-//
-CHnEventHandler::CHnEventHandler( MHnMdModelEventObserver& aModelObserver,
-        MHnControllerInterface& aController ):
-        iEventObserver( aModelObserver), iControllerInterface( aController )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnEventHandler::~CHnEventHandler()
-    {
-    delete iServiceHandler;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnEventHandler* CHnEventHandler::NewLC( 
-                                      MHnMdModelEventObserver& aModelObserver,
-                                      MHnControllerInterface& aController )
-    {
-    CHnEventHandler* self =
-        new (ELeave)CHnEventHandler( aModelObserver, aController );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnEventHandler* CHnEventHandler::NewL( 
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController )
-    {
-    CHnEventHandler* self=CHnEventHandler::NewLC( aModelObserver, 
-                                                  aController );
-    CleanupStack::Pop(self); 
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnEventHandler::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-
-TInt CHnEventHandler::ExecuteStandardActionL( CHnActionModel* aActionModel )
-    {
-    delete iServiceHandler;
-    iServiceHandler = NULL;
-    iServiceHandler = CHnServiceHandler::NewL(
-            aActionModel->Service(),
-            aActionModel->Interface(),
-            aActionModel->CommandName(),
-            aActionModel->ServiceMode(),
-            aActionModel->ConstructorLC(), 
-            aActionModel->CommandLC() );
-
-    CleanupStack::Pop( 2 );
-    TInt res = iServiceHandler->ExecuteL( this, 0 ); 
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnEventHandler::ExtractUidFromActionL( const TDesC8& aInterface, 
-        TUid& aUid )
-    {
-    DEBUG16(("_MM_: CHnEventHandler::ExtractUidFromActionL UIext - uid %S",
-                &aInterface ));
-  
-    TLex8 lex( aInterface );
-    lex.Inc( 2 );
-    return lex.Val( (TUint32 &) aUid.iUid, EHex );
-    }
-    
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnEventHandler::ExecuteInternalActionL( CHnActionModel* aActionModel )
-    {
-    TInt ret(KErrNotFound);
-    CLiwGenericParamList* params = aActionModel->CommandLC();
-    if ( aActionModel->CommandName() == KServiceOpenSuite )
-        {
-        ret = iEventObserver.HandleModelEventL( KNewSuiteLoadedMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KServiceSwitchWidget )
-        {
-        ret = iEventObserver.HandleModelEventL( KSwitchWidgetMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KServiceStartEditMode )
-        {
-        ret = iEventObserver.HandleModelEventL( KStartEditModeMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KServiceStopEditMode )
-        {
-        ret = iEventObserver.HandleModelEventL( KStopEditModeMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KServiceBack )
-        {
-        ret = iEventObserver.HandleModelEventL( KBackMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KSetFocus )
-        {
-        ret = iEventObserver.HandleModelEventL( KSetFocusEvent(), 
-                *params );
-        }
-
-    CleanupStack::PopAndDestroy( params );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnEventHandler::ExecuteExtensionManagerActionL(
-        CHnActionModel* aActionModel )
-    {
-    TUid uid;
-    TInt err = ExtractUidFromActionL( aActionModel->Interface(), uid );
-    
-    if ( KErrNone == err )
-        {
-        HBufC* cmd = HnConvUtils::Str8ToStrFastLC( aActionModel->CommandName() );
-        CLiwGenericParamList* command = aActionModel->CommandLC();
-        err = iControllerInterface.ExecuteExtensionActionL( uid, *cmd, command );        
-        CleanupStack::PopAndDestroy( command );
-        CleanupStack::PopAndDestroy( cmd );
-        }
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnEventHandler::ExecuteActionL( CHnActionModel* aActionModel )
-    {
-    ASSERT( aActionModel );
-    TInt err( KErrNone );
-    
-    if( aActionModel->Service() == KServiceMultimediaMenu )
-        {
-        if ( aActionModel->Interface().Length() == 0 )
-            {
-            err = ExecuteInternalActionL( aActionModel );
-            }
-        else
-            {
-            err = ExecuteExtensionManagerActionL( aActionModel );
-            }
-        }
-    else
-        {
-        err = ExecuteStandardActionL( aActionModel );
-        }
-    
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-TInt CHnEventHandler::HandleNotifyL( TInt /*aCmdId*/, TInt /*aEventId*/,
-        CLiwGenericParamList& /*aEventParamList*/,
-        const CLiwGenericParamList& /*aInParamList*/ )
-    {
-    return KErrNone;
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnextbmpiconholder.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  
-*
-*/
-
-
-#include <gulicon.h>
-#include <liwbufferextension.h>
-#include "hnextbmpiconholder.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnExtBmpIconHolder::SetGulIcon( CGulIcon* aGulIcon,
-        CLiwBitmapBuffer* aBmpBuffer, CLiwBitmapBuffer* aMaskBuffer )
-    {
-    __ASSERT_DEBUG( aGulIcon && aBmpBuffer, User::Invariant() );
-    
-    if ( aGulIcon )
-        {
-        __ASSERT_DEBUG( aGulIcon->BitmapsOwnedExternally(), User::Invariant() ); 
-        CHnIconHolder::SetGulIcon( aGulIcon );
-        aGulIcon->SetBitmapsOwnedExternally( ETrue );
-        if ( aBmpBuffer )
-            {
-            iBmpBuffer = aBmpBuffer;
-            iBmpBuffer->IncRef();
-            }
-        if ( aMaskBuffer )
-            {
-            iMaskBuffer = aMaskBuffer;
-            iMaskBuffer->IncRef();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnExtBmpIconHolder::~CHnExtBmpIconHolder()
-    {
-    if ( iBmpBuffer )
-        {
-        iBmpBuffer->DecRef();
-        }
-    if ( iMaskBuffer )
-        {
-        iMaskBuffer->DecRef();
-        }
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hniconholder.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  
-*
-*/
-
-
-#include <gulicon.h>
-#include "hniconholder.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnIconHolder::SetGulIcon( CGulIcon* aGulIcon )
-    {
-    ASSERT( !iGulIcon ); // icon may be set only once
-    iGulIcon = aGulIcon;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CHnIconHolder::GetGulIcon() const
-    {
-    return iGulIcon;
-    }
-    
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnIconHolder::~CHnIconHolder()
-    {
-    delete iGulIcon;
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnitemfocushandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +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:  Application UI class
-*  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
-*/
-
-
-#include "hnitemfocushandler.h"
-#include "hnglobals.h"
-#include "hnsuitemodel.h"
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::TFocusQueueItem( TInt aItemId, TInt aEventId )
-// ---------------------------------------------------------------------------
-//
-TFocusQueueItem::TFocusQueueItem( TInt aItemId, TInt aEventId ): 
-	iItemId( aItemId ),  iEventId( aEventId )
-	{
-	iTriggerTime.HomeTime();
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::TriggerTime()
-// ---------------------------------------------------------------------------
-//
-TTime TFocusQueueItem::TriggerTime()
-	{
-	return iTriggerTime;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::ItemId()
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::ItemId()
-	{
-	return iItemId;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::EventId()
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::EventId()
-	{
-	return iEventId;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::CompareByTriggerTime( const TFocusQueueItem& aItem1,
-// const TFocusQueueItem& aItem2 )
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::CompareByTriggerTime( const TFocusQueueItem& aItem1,
-		const TFocusQueueItem& aItem2 )
-	{
-	if ( aItem1.iTriggerTime < aItem2.iTriggerTime )
-		{
-		return -1;
-		}
-	else
-		{
-		return 1;
-		}
-	}
-   
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::CompareByItemId( const TFocusQueueItem& aItem1,
-// const TFocusQueueItem& aItem2 )
-// ---------------------------------------------------------------------------
-//
-TBool TFocusQueueItem::CompareByItemId( const TFocusQueueItem& aItem1,
-		const TFocusQueueItem& aItem2 )
-	{
-	return aItem1.iItemId == aItem2.iItemId;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::CHnItemFocusHandler() 
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler::CHnItemFocusHandler() :
-	CActive(EPriorityLow) // Standard priority
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler* CHnItemFocusHandler::NewLC()
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler* CHnItemFocusHandler::NewLC( CHnSuiteModel* aSuiteModel )
-	{
-	CHnItemFocusHandler* self = new (ELeave) CHnItemFocusHandler();
-	CleanupStack::PushL(self);
-	self->ConstructL( aSuiteModel );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler* CHnItemFocusHandler::NewL()
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler* CHnItemFocusHandler::NewL( CHnSuiteModel* aSuiteModel )
-	{
-	CHnItemFocusHandler* self = CHnItemFocusHandler::NewLC( aSuiteModel );
-	CleanupStack::Pop(); // self;
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::ConstructL( CHnSuiteModel* aSuiteModel )
-	{
-	CActiveScheduler::Add( this); // Add to scheduler
-	iSuiteModel = aSuiteModel;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::~CHnItemFocusHandler(
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler::~CHnItemFocusHandler()
-	{
-	Cancel(); // Cancel any request, if outstanding
-	
-//	handle all pending unfocus events synchronously.
-	for(TInt i = 0; i < iFocusQueue.Count(); i++ )
-		{
-		if ( KIdFocusLost == iFocusQueue[i].EventId() )
-			{
-			if( iSuiteModel )
-			    {
-	            TRAP_IGNORE( iSuiteModel->OfferHnEventL( 
-	                    KIdFocusLost, iFocusQueue[i].ItemId(), NULL ) );
-			    }
-			}
-		}
-	iFocusQueue.Reset();
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::DoCancel()
-	{
-//	TRequestStatus* status = &iStatus;
-//	User::RequestComplete( status, KErrCancel);
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::StartL(TTimeIntervalMicroSeconds32 aDelay)
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::SetFocusL( TInt aEventId, TBool aItemId )
-	{
-	TLinearOrder<TFocusQueueItem> byTriggerTime( 
-			TFocusQueueItem::CompareByTriggerTime );
-	TFocusQueueItem focusItem(aItemId, aEventId);
-	RemoveDuplicatedItem( focusItem );
-	iFocusQueue.InsertInOrderL( focusItem, byTriggerTime );
-	if ( !IsActive() )
-		{
-		SetActive();
-    	TRequestStatus* status = &iStatus;
-    	User::RequestComplete( status, KErrNone );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::RunL()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::RunL()
-	{
-	TRAP_IGNORE( iSuiteModel->OfferHnEventL( 
-			iFocusQueue[0].EventId(), iFocusQueue[0].ItemId() , NULL ) );
-	iFocusQueue.Remove(0);
-	
-	if ( iFocusQueue.Count() > 0)
-		{
-		SetActive(); // Tell scheduler a request is active		
-    	TRequestStatus* status = &iStatus;
-    	User::RequestComplete( status, KErrNone );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::RunError(TInt aError)
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemFocusHandler::RunError(TInt aError)
-	{
-	return aError;
-	}
-
-// ---------------------------------------------------------------------------
-// RemoveDuplicatedItem( const TFocusQueueItem& aFocusItem )
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::RemoveDuplicatedItem( const TFocusQueueItem& aFocusItem )
-	{
-	if ( iFocusQueue.Count() != 0 )
-		{
-		TIdentityRelation< TFocusQueueItem > byItemId( 
-				TFocusQueueItem::CompareByItemId );
-		TInt itemPosition;
-		itemPosition = iFocusQueue.Find( aFocusItem, byItemId );
-		if ( KErrNotFound != itemPosition )
-			{
-			iFocusQueue.Remove( itemPosition );
-			}
-		}
-	}
-
-// End of file
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnitemmodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,463 +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:   item presentation model
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include "hnitemmodel.h"
-#include "hnmenuitemmodel.h"
-#include "hnactionmodel.h"
-#include "hntoolbarmodel.h"
-#include "hnattributebase.h"
-#include "hnattributetext.h"
-#include "hnbuttonmodel.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemModel* CHnItemModel::NewL()
-    {
-    CHnItemModel* self = new( ELeave ) CHnItemModel();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CHnItemModel::~CHnItemModel()
-    {
-    iTemplate.Close();
-    delete iMenuModel;
-    delete iToolbarModel;
-    delete iMskModel;
-    DeleteAllActionModels();
-    iAttrs.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemModel::DeleteAllActionModels()
-    {
-    THashMapIter< TInt, CArrayPtr<CHnActionModel>* > iterator( iActions );
-    while( iterator.NextKey() )
-        {
-        CArrayPtr<CHnActionModel>** actions = iterator.CurrentValue();
-        (*actions)->ResetAndDestroy();
-        delete *actions;
-        iterator.RemoveCurrent();
-        }
-    iActions.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnItemModel::RemoveLiwObjects()
-    {
-    if ( iToolbarModel )
-        {
-        iToolbarModel->RemoveLiwObjects();
-        }
-
-    for( TInt i = 0; i < iAttrs.Count(); ++i )
-        {
-        iAttrs[i]->RemoveLiwObjects();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemModel::OfferHnEventL( CHnEventHandler & aEventHandler, 
-        const TInt aEventId, CLiwGenericParamList* aEventParameters  )
-    {
-    TInt err = KErrNotFound;
-    CArrayPtr<CHnActionModel>* actions = GetActions( aEventId );
-    if ( actions ) 
-        {
-        TInt actionsCount = actions->Count();
-        for( TInt i = 0; i < actionsCount; i++ )
-            {
-            ASSERT( actions->At( i ) );
-            err = actions->At( i )->ExecuteL( aEventHandler,  aEventParameters );
-            if ( err != KErrNone )
-                {
-                break;
-                }
-            }
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//      
-CHnItemModel::CHnItemModel() :
-                iActions( &DefaultHash::Integer, &DefaultIdentity::Integer ),
-                iEditable( EFalse ),
-                iCustomId( KErrNotFound ),
-                iMskModel( NULL )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnItemModel::ConstructL()
-    {
-    iUid = TUid::Null();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetMenuItemModel(  CHnMenuItemModel* aMenu )
-    {
-    ASSERT( aMenu );
-    delete iMenuModel;
-    iMenuModel = aMenu;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-MHnMenuItemModelIterator* CHnItemModel::GetMenuStructure()
-    {
-    if( iMenuModel )
-        return iMenuModel->GetMenuStructure();
-    else 
-        return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnItemModel::SetMiddleSoftKey( CHnButtonModel* aMsk )
-    {
-    delete iMskModel;
-    iMskModel = aMsk;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CHnButtonModel* CHnItemModel::GetMiddleSoftKey()
-    {
-    return iMskModel;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C RHashMap< TInt, CArrayPtr<CHnActionModel>* >& 
-        CHnItemModel::GetActions()
-    {
-    return iActions;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C CArrayPtr<CHnActionModel>* CHnItemModel::GetActions( TInt aId )
-    {
-    CArrayPtr<CHnActionModel>** ret = iActions.Find( aId );
-    if( ret )
-        {
-        return *ret;
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C const CHnToolbarModel* CHnItemModel::GetToolbarModel() const
-    {
-    return iToolbarModel;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetToolbarModel( CHnToolbarModel* aToolbar )
-    {
-    delete iToolbarModel;
-    iToolbarModel = NULL;
-    iToolbarModel = aToolbar;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnItemModel::GetTemplate()
-    {
-    CHnAttributeBase* templateAttr = GetAttribute( KTemplate8() );
-    if ( templateAttr )
-        {
-        return templateAttr->Value();
-        }
-    return KNullDesC8();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemModel::SetTemplateL( const TDesC8& aTemplate )
-    {
-    CHnAttributeText* templateAttr = CHnAttributeText::NewL();
-    templateAttr->SetNameL( KTemplate8 );
-    templateAttr->SetValueL( aTemplate );
-    SetAttributeL( templateAttr );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnItemModel::SetAttributeL( CHnAttributeBase* aAttr )
-    {
-    for( TInt i( 0 ); i < iAttrs.Count(); i++ )
-        {
-        if( iAttrs[i]->Name() == aAttr->Name() )
-            {
-            delete iAttrs[i];
-            iAttrs.Remove(i);
-            break;
-            }
-        }
-    iAttrs.AppendL( aAttr );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnItemModel::ClearAttributesL()
-    {
-    iAttrs.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CHnAttributeBase* CHnItemModel::GetAttribute( const TDesC8 & aMulAttribute )
-    {
-    CHnAttributeBase* attr = NULL;
-    for( TInt i( 0 ); i < iAttrs.Count(); i++ )
-        {
-        if( ! iAttrs[i]->Name().Compare( aMulAttribute ) )
-            {
-            attr = iAttrs[i];
-            break;
-            }
-        }
-    return attr;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnItemModel::IsDeleteLocked()
-    {
-    TBool res = EFalse;
-    if ( iFlags & EItemFlagRemoveLocked )
-        {
-        res = ETrue;
-        }
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnItemModel::IsMoveLocked()
-    {
-    TBool res = EFalse;
-    if ( iFlags & EItemFlagMoveLocked )
-        {
-        res = ETrue;
-        }
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnItemModel::IsDrmExpired()
-    {
-    TBool res = EFalse;
-    if ( iFlags & EItemFlagDrmExpired )
-        {
-        res = ETrue;
-        }
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnItemModel::IsRunning()
-    {
-    TBool res = EFalse;
-    if ( iFlags & EItemFlagRunning )
-        {
-        res = ETrue;
-        }
-    return res;    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetFlag( TInt aFlag )
-    {
-    if ( ( iFlags & aFlag ) == 0 )
-        {
-        iFlags |= aFlag;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::ClearFlags()
-    {
-    iFlags = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetType( const TDesC8& aType )
-    {
-    if ( !aType.Compare( KMenuFolder8 ) )
-        {
-        iType = EItemTypeFolder;
-        }
-    else if ( !aType.Compare( KMenuSuite8 ) )
-        {
-        iType = EItemTypeSuite;
-        }
-    else if ( !aType.Compare( KMenuApplication8 ) )
-        {
-        iType = EItemTypeApplication;
-        }
-    else if ( !aType.Compare( KMenuParentFolder8 ) )
-        {
-        iType = EItemTypeParentFolder;
-        }
-    else
-        {
-        iType = EItemTypeUnknown;        
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetCustomId( TInt64 aCustomId )
-    {
-    iCustomId = aCustomId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TInt64 CHnItemModel::CustomId()
-    {
-    return iCustomId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TMcsItemType CHnItemModel::GetItemType()
-    {
-    return iType;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TUid CHnItemModel::GetItemUid()
-    {
-    return iUid;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnItemModel::SetItemUidL( const TDesC8& aUid )
-    {
-    TUint uint( KErrNone );
-    HBufC* str = HnConvUtils::Str8ToStr( aUid );
-    CleanupStack::PushL( str );
-    
-    TInt position( str->Find( KHexPrefix16 ) );
-    TPtrC string( *str );
-    TRadix radix( EDecimal );
-    if ( position == 0 )
-        {
-        radix = EHex;
-        string.Set( str->Mid( KHexPrefix16().Length() ) );
-        }
-    
-    TLex( string ).Val( uint, radix );
-    CleanupStack::PopAndDestroy( str );
-
-    iUid = TUid::Uid( uint );
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnitemsorder.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +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:  items order manager class
-*
-*/
-
-
-#include "hnitemsorder.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemsOrder* CHnItemsOrder::NewL()
-    {
-    CHnItemsOrder* self = NewLC();
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::MarkSuiteUninitialized()
-	{
-    for (TInt i(0); i < iItemsEvaluated.Count(); i++)
-         {
-         iItemsEvaluated[i] = EFalse;
-         }
-    
-    iSuiteEvaluated = EFalse;
-	}
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemsOrder* CHnItemsOrder::NewLC()
-    {
-    CHnItemsOrder* self = new( ELeave ) CHnItemsOrder();
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnItemsOrder::~CHnItemsOrder()
-    {
-    iItemsOrderCounts.Reset();
-    iComplexItemsOrder.Reset();
-    iItemsEvaluated.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::SetSuiteId( TInt aId )
-    {
-    iSuiteId = aId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetSuiteId() const
-    {
-    return iSuiteId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::RemoveItemId( TInt aId )
-    {
-    TInt position = iComplexItemsOrder.Find( aId );
-    if (position != KErrNotFound)
-        {
-        TInt modelNumber = CountModelNumberFor( position );
-        --iItemsOrderCounts[ modelNumber ] ;    
-        iComplexItemsOrder.Remove( position );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::InsertItemIdToL( TInt aDataModelItem, 
-        TInt aIndex, TInt aId )
-    {
-    TInt position = CountStartIndexFor( aDataModelItem ) + aIndex;
-    if (position < iComplexItemsOrder.Count() )
-        {
-        iComplexItemsOrder.InsertL( aId, position ); 
-        }
-    else
-        {
-        iComplexItemsOrder.AppendL( aId );
-        }
-    
-    TInt modelsCount = iItemsOrderCounts.Count();
-    if (modelsCount <= aDataModelItem)
-        {
-        for (TInt i(modelsCount);  i <= aDataModelItem; i++)
-            {
-            iItemsOrderCounts.AppendL( 0 );
-            }
-        }
-    ++iItemsOrderCounts[ aDataModelItem ] ;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetItemIdAt( TInt aDataModelItem, TInt aIndex )
-    {
-    TInt globalItemPosition = CountStartIndexFor( aDataModelItem ) + aIndex;
-    return (iComplexItemsOrder.Count() > globalItemPosition)
-        ? iComplexItemsOrder[globalItemPosition] : KErrNotFound;
-    }  
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetItemIdAt( TInt aPosition )
-    {
-    return (iComplexItemsOrder.Count() > aPosition) 
-        ? iComplexItemsOrder[aPosition] : KErrNotFound;
-    }  
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::GetIdsForL( TInt aDataModelItem,
-        RArray< TInt >& aIds )
-    {
-    if ( CountStartIndexFor( aDataModelItem ) == KErrNotFound 
-            || iItemsOrderCounts.Count() <= aDataModelItem )
-        {
-        return;
-        }
-    
-    TInt startIndex = CountStartIndexFor( aDataModelItem );
-    
-    for ( TInt i = 0; 
-            i < iItemsOrderCounts[ aDataModelItem ]; i++ )
-        {
-        aIds.AppendL( iComplexItemsOrder[ startIndex + i ] );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::SetItemIdAtL( TInt aPosition, TInt aId )
-    {
-    if ( aPosition >= iComplexItemsOrder.Count() )
-        {
-        iComplexItemsOrder.AppendL( aId );
-        }
-    else
-        {
-        iComplexItemsOrder[ aPosition ] = aId;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::DefineModelItemCountL( TInt aItemCounts )
-    {
-    // Don't update this information on a initialized suitemodel.
-    if (iItemsEvaluated.Count() == 0 && !iSuiteEvaluated)
-        {
-        iSuiteEvaluated = EFalse;
-        for (TInt i(0); i < aItemCounts; i++)
-            {
-            iItemsOrderCounts.AppendL( 0 );
-            iItemsEvaluated.AppendL(EFalse);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::SuiteEvaluated()
-    {
-    iSuiteEvaluated = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::ItemEvaluated( TInt aIndex )
-    {
-    iItemsEvaluated[aIndex] = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnItemsOrder::IsSuiteReadyToShow()
-    {
-    TBool ready = ETrue;
-    for (TInt i(0); ready && i < iItemsEvaluated.Count(); i++)
-         {
-         ready = iItemsEvaluated[i];
-         }
-    
-    return ready && iSuiteEvaluated;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetModelItemCount( )
-    {
-    return iItemsOrderCounts.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::operator[]( TInt aPosition )
-    {
-    return GetItemIdAt( aPosition );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetItemPosition( TInt aId )
-    {
-    return iComplexItemsOrder.Find( aId );
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemsOrder::CountStartIndexFor( TInt aDataModelItem )
-    {
-    TInt startIndex( 0 );
-    for( TInt i = 0; i < aDataModelItem && i < iItemsOrderCounts.Count(); i++ )
-        {
-        startIndex += iItemsOrderCounts[ i ];
-        }
-    return startIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemsOrder::CountModelNumberFor( TInt aIndex )
-    {
-    TInt modelNumber( 0 );
-    TInt countLow( 0 );
-    TInt countHigh( 0 );
-    for( ; modelNumber < iItemsOrderCounts.Count(); modelNumber++ )
-        {
-        countHigh += iItemsOrderCounts[ modelNumber ];
-        if ( aIndex >= countLow && aIndex < countHigh )
-            {
-            break;
-            }
-        countLow = countHigh;
-        }
-    return modelNumber;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::Count()
-    {
-    return iComplexItemsOrder.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnItemsOrder::CHnItemsOrder() : iSuiteId( KErrNotFound )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnItemsOrder::ConstructL()
-    {
-    
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnmenuitemmodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +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:  menu item presentation model
-*
-*/
-
-
-#include "hnmenuitemmodel.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMenuItemModel* CHnMenuItemModel:: NewL( const TDesC& aName )
-    {
-    CHnMenuItemModel* self = new( ELeave ) CHnMenuItemModel();
-    CleanupStack::PushL( self );
-    self->ConstructL( aName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CHnMenuItemModel::~CHnMenuItemModel()
-    {
-    iName.Close();
-    iChildren.ResetAndDestroy();
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnMenuItemModel::HasNext()
-    {
-    TBool ret = ETrue;
-    if( iNextMenu >= iChildren.Count() )
-        {
-        ret = EFalse;
-        Reset();
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMenuItemModel* CHnMenuItemModel::GetNext()
-    {
-    ASSERT( iNextMenu < iChildren.Count() );
-    CHnMenuItemModel* ret = iChildren[ iNextMenu ];
-    iNextMenu++;
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnMenuItemModel::HasNextSpecific()
-    {
-    TBool hasNext = EFalse;
-    if ( iNextMenu >= iChildren.Count() )
-    	{
-    	Reset();
-    	}
-    else if ( iChildren[iNextMenu]->MenuItemType() == EItemSpecific )
-    	{
-    	hasNext = ETrue;
-    	}
-    else
-    	{
-    	iNextMenu++;
-    	hasNext = HasNextSpecific();
-    	}
-    return hasNext;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMenuItemModel* CHnMenuItemModel::GetNextSpecific()
-    {
-    ASSERT( iNextMenu < iChildren.Count() );
-    ASSERT( iChildren[iNextMenu]->MenuItemType() == EItemSpecific );
-    CHnMenuItemModel* nextSpecific = iChildren[ iNextMenu ];
-    iNextMenu++;
-    return nextSpecific;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::Reset()
-    {
-    iNextMenu = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::AppendChildMenuL( CHnMenuItemModel* aMenuModel )
-    {
-    ASSERT( aMenuModel );
-    iChildren.AppendL( aMenuModel );
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMenuItemModel::CHnMenuItemModel()
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMenuItemModel::ConstructL( const TDesC& aName )
-    {
-    ASSERT( aName.Length() );
-    iMenuItemType = EItemApplication;
-    iName.CreateL( aName );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnMenuItemModel::NameL()
-    {
-    return iName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMenuItemModel::Command()
-    {
-    return iCommand;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::SetCommand( TInt aCommandId )
-    {
-    iCommand = aCommandId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMenuItemModel::Position()
-    {
-    return iPosition;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::SetPosition( TInt aPosition )
-    {
-    iPosition = aPosition;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::SetMenuItemType( THnMenuItemType aMenuItemType )
-    {
-    iMenuItemType = aMenuItemType;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMenuItemModel::THnMenuItemType CHnMenuItemModel::MenuItemType()
-    {
-    return iMenuItemType;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C MHnMenuItemModelIterator* CHnMenuItemModel::GetMenuStructure()
-    {
-    return this;
-    }
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitemodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,987 +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:   suite presentation model
-*
-*/
-
-
-#include <e32cmn.h>
-#include "hnsuitemodel.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnitemmodel.h"
-#include "hnmenuitemmodel.h"
-#include "hnactionmodel.h"
-#include "hntoolbarmodel.h"
-#include "menudebug.h"
-#include "hnglobals.h"
-#include "hnsuiteobserver.h"
-#include "hnattributebase.h"
-#include "hnattributetext.h"
-#include "hnitemsorder.h"
-#include "hneventhandler.h"
-#include "hnitemfocushandler.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModel::NewL( CHnEventHandler& aEventHandler,
-        const TDesC& aGenreName )
-	{
-	CHnSuiteModel* self = new (ELeave) CHnSuiteModel( aEventHandler );
-	CleanupStack::PushL( self );
-	self->ConstructL( aGenreName );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuiteModel::ConstructL( const TDesC& aSuiteName )
-	{
-	ASSERT( aSuiteName.Length() );
-	iSuiteName = aSuiteName.AllocL();
-	iTemplate.CreateL( KNullDesC8() );
-	iItemsOrder = CHnItemsOrder::NewL();
-	iExitMode = EExitModeNormal;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel::~CHnSuiteModel()
-	{
-    for (TInt i(0) ; i < iSuiteObservers.Count(); i++)
-        {
-        TRAP_IGNORE( iSuiteObservers[i]->HandleSuiteEventL( ESuiteModelDestroyed, this ) );
-        }
-
-    if ( iIsVisible && iIsActive )
-    	{
-    	TRAP_IGNORE( HandleItemFocusL( iSuiteHighlight.iItemId, EFalse ) );
-    	}
-    delete iItemFocusHandler;
-    TRAP_IGNORE( OfferHnEventL( KIdSuiteUnLoad, 
-            GetItemsOrder()->GetSuiteId(), NULL ) );
-
-    DEBUG16(("\t_Mm_:KIdSuiteUnLoad - %S",iSuiteName));
-    
-	iSuiteObservers.Close();
-	iObserverPriorities.Close();
-	DEBUG16(("\t_MM_: CHnSuiteModel destructor: %S",iSuiteName));
-	iTemplate.Close();
-	delete iTitle;
-	delete iEmptyText;
-	delete iSuiteName;
-
-	THashMapIter< TInt ,CHnItemModel* > modelIter( iItemsModels );
-	while( modelIter.NextKey() )
-		{
-		const TInt* key = modelIter.CurrentKey();
-		iItemsOrder->RemoveItemId( *key );
-		CHnItemModel** model = modelIter.CurrentValue();
-		delete *model;
-		modelIter.RemoveCurrent();
-		}
-	iItemsModels.Close();
-		    
-    THashMapIter< TInt, CArrayPtr<CHnActionModel>* > actionIter( iActions );
-    while( actionIter.NextKey() )
-        {
-        CArrayPtr<CHnActionModel>** actions = actionIter.CurrentValue();
-        (*actions)->ResetAndDestroy();
-        delete *actions;
-        actionIter.RemoveCurrent();
-        }
-    iActions.Close();
-    delete iItemsOrder;
-    DEBUG16(("\t_MM_: CHnSuiteModel destructor OUT"));
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModel::CHnSuiteModel( CHnEventHandler& aEventHandler ) :
-        iItemsModels( &DefaultHash::Integer, &DefaultIdentity::Integer ),      
-        iActions( &DefaultHash::Integer, &DefaultIdentity::Integer ),
-        iEmptyItemId( KErrNotFound ),
-        iFocusQueue( KErrNotFound ),
-        iCustomId( KErrNotFound ),
-        iEventHandler( aEventHandler ) 
-	{
-	iSuiteHighlight.iWidgetIndex = KErrNotFound;
-	iSuiteHighlight.iItemId = KErrNotFound;
-	iSuiteHighlight.iCustomId = KErrNotFound;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSuiteModel::OfferHnEventL( 
-       const TInt aEventId, const TInt aRecipientId, 
-        CLiwGenericParamList* aEventParameters  )
-    {
-    TInt err( KErrNotFound );
-        
-    CArrayPtr<CHnActionModel>* actions = GetActions( aEventId );
-    
-    if ( aRecipientId != KErrNotFound )
-        {       
-        CHnItemModel** itemModel = iItemsModels.Find( aRecipientId );
-        if ( itemModel && *itemModel )
-            {
-            err = (*itemModel)->OfferHnEventL( iEventHandler, aEventId,
-                    aEventParameters);
-            }
-        }
-    
-    if ( err != KErrNone && actions) 
-        {
-        for( TInt i = 0; i < actions->Count(); i++ )
-            {
-            ASSERT( actions->At( i ) );
-            err = actions->At( i )->ExecuteL( iEventHandler, aEventParameters );
-            if ( err != KErrNone )
-                {
-                break;
-                }
-            }
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::ItemEvaluationFinishedL( TInt aModelItemNumber )
-    {
-    TBool observersNotified( EFalse );
-    TBool alreadyNotified = iItemsOrder->IsSuiteReadyToShow();
-    iItemsOrder->ItemEvaluated( aModelItemNumber );
-    if ( iItemsOrder->IsSuiteReadyToShow() && !alreadyNotified )
-        {
-        TRAP_IGNORE( OfferHnEventL( KIdSuiteLoad, 
-                GetItemsOrder()->GetSuiteId(), NULL ) );
-        DEBUG16(("\t_Mm_:KIdSuiteLoad - %S",iSuiteName));
-        NotifyObserversL( ESuiteModelInitialized );
-        observersNotified = ETrue;
-        }
-    return observersNotified;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnSuiteModel::SuiteEvaluationFinishedL( )
-    {
-    TBool observersNotified( EFalse );
-    TBool alreadyNotified = iItemsOrder->IsSuiteReadyToShow();
-    iItemsOrder->SuiteEvaluated();
-    if ( iItemsOrder->IsSuiteReadyToShow() && !alreadyNotified )
-        {
-        TRAP_IGNORE( OfferHnEventL( KIdSuiteLoad, 
-                GetItemsOrder()->GetSuiteId(), NULL ) );
-        DEBUG16(("\t_Mm_:KIdSuiteLoad - %S",iSuiteName));
-        NotifyObserversL( ESuiteModelInitialized );
-        observersNotified = ETrue;
-        }
-    return observersNotified;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuiteModel::GetItemModelsCount()
-    {
-    return iItemsModels.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnSuiteModel::SuiteName() const
-	{
-	return *iSuiteName;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnSuiteModel::Title() const
-	{
-	if ( iTitle )
-		{
-		return *iTitle;
-		}
-	else
-		{
-		return KNullDesC();
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetTitleL( const TDesC& aName )
-	{
-	delete iTitle;
-	iTitle = NULL;
-	iTitle = aName.AllocL();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnSuiteModel::EmptyText() const
-    {
-    if ( iEmptyText )
-        {
-        return *iEmptyText;
-        }
-    else
-        {
-        return KNullDesC();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetEmptyTextL( const TDesC& aName )
-    {
-    delete iEmptyText;
-    iEmptyText = NULL;
-    iEmptyText = aName.AllocL();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuiteModel::WidgetType() const
-	{
-    //Following check is necessary because suite can be 
-    //during evalutation -> UI Widgets can try to get and process templates
-    //what causes problems. Only when suite is fully evaluated and 
-    //ready to be shown it returns widget type.
-	THnSuiteWidgetType ret( EUnspecified );
-    if ( iItemsOrder->IsSuiteReadyToShow()  )
-        {
-        ret =  iWidgetType;
-        }
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetWidgetType( THnSuiteWidgetType aWidgetType )
-	{
-	iWidgetType = aWidgetType;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MHnMenuItemModelIterator* CHnSuiteModel::GetMenuStructureL( 
-		TInt aItemId )
-	{
-	if (aItemId == KErrNotFound) 
-	    {
-	    // this could be used in future for empty item
-	    return NULL;
-	    }
-	return iItemsModels.FindL( aItemId )->GetMenuStructure();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::AddItemL( TInt aId, CHnItemModel* aItemModel,
-        TInt aItemModelNumber, TInt aItemModelPosition )
-	{
-	DEBUG16(("_MM_: CHnSuiteModel::AddItemL IN"));
-	ASSERT( aItemModel );
-
-	TInt highlightedItem( iSuiteHighlight.iCustomId );
-	iItemsModels.InsertL( aId, aItemModel );
-	
-	// "empty" item should not be added to ordering table
-	if ( !aItemModel->GetTemplate().Compare( KTemplateEmpty8 ) )
-	    {
-	    // store id of empty item
-	    iEmptyItemId = aId;	    
-	    }
-	else
-	    {
-	    iItemsOrder->InsertItemIdToL( aItemModelNumber, aItemModelPosition, aId );
-	    DEBUG16(("_MM_: Adding at index: model no. %D item no. %D, id: %D", aItemModelNumber, aItemModelPosition, aId));
-	    
-		// focus queue
-		if ( ( iFocusQueue >= 0 ) && ( iFocusQueue == aItemModel->CustomId() ) )
-			{
-			SetSuiteHighlightL(  iItemsOrder->Count() - 1  );
-			iFocusQueue = KErrGeneral ;
-			}
-		else if( aItemModel->CustomId() != KErrNotFound )
-		    {
-		    SetSuiteHighlightByCustomIdL( highlightedItem );
-		    }
-	    }
-		
-	DEBUG16(("_MM_: CHnSuiteModel::AddItemL OUT"));
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnSuiteModel::GetTemplate() const
-    {
-    //Following check is necessary because suite can be 
-    //during evalutation -> UI Widgets can try to get and process templates
-    //what causes problems. Only when suite is fully evaluated and 
-    //ready to be shown it returns templates.
-    if ( iItemsOrder->IsSuiteReadyToShow()  )
-        {
-        return iTemplate;
-        }
-    return KNullDesC8;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnSuiteModel::SetTemplateL( const TDesC8& aValue )
-    {
-    if( aValue.Compare( iTemplate ) )
-    	{
-    	iTemplate.Close();
-    	iTemplate.CreateL( aValue.Length() + 1);
-    	iTemplate.Copy( aValue );
-    	const char* templateChar = reinterpret_cast<const char* >( 
-                iTemplate.PtrZ() );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::NotifyObserversL( THnCustomSuiteEvent aEventType )
-    {
-    RPointerArray<MHnSuiteObserver> observerFreezedArray;
-    CleanupClosePushL( observerFreezedArray );
-      
-    for (TInt i(0); i < iSuiteObservers.Count(); i++)
-        {
-        observerFreezedArray.AppendL( iSuiteObservers[i] );
-        }
-    
-    for (TInt i(0); i < observerFreezedArray.Count(); i++)
-        {
-        observerFreezedArray[i]->HandleSuiteEventL( aEventType, this );
-        }
-    
-    CleanupStack::PopAndDestroy( &observerFreezedArray );
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::RefreshMulModelL( TInt aPreviousItemCount )
-    {   
-    if (iItemsOrder->IsSuiteReadyToShow())
-    	{
-		TInt modelcount = iItemsOrder->Count();
-		if ( aPreviousItemCount < modelcount )
-			{
-			NotifyObserversL(ESuiteItemsAdded);
-			}
-		else if ( aPreviousItemCount > modelcount )
-			{
-			NotifyObserversL(ESuiteItemsRemoved);
-			}    
-		else
-			{
-			NotifyObserversL(ESuiteItemsUpdated);
-			}
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::UpdateItemTemplateL( TInt aId )
-	{
-	TInt position = iItemsOrder->GetItemPosition( aId );
-	if( position != KErrNotFound )
-		{
-		CHnItemModel** model = iItemsModels.Find( aId );
-		if (model && !(*model)->GetTemplate().Compare( KNullDesC8() ) )
-            {
-            (*model)->SetTemplateL( GetTemplate() );
-            }
-		}
-	}
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::RegisterSuiteObserverL( MHnSuiteObserver* aObserver, 
-        TThreadPriority aPriority )
-    {
-    TInt i(0);
-    TInt posFound = iSuiteObservers.Find( aObserver );
-    if ( posFound != KErrNotFound )
-        {
-        iObserverPriorities.Remove( posFound );
-        iSuiteObservers.Remove( posFound ); 
-        }
-    
-    for (; i < iObserverPriorities.Count(); i++)
-        {
-        if (aPriority > iObserverPriorities[i])
-            {
-            break;
-            }
-        }
-    
-    iObserverPriorities.InsertL( aPriority , i );
-    iSuiteObservers.InsertL( aObserver, i );
-    
-    if ( iItemsOrder->IsSuiteReadyToShow() && posFound == KErrNotFound )
-        {
-        aObserver->HandleSuiteEventL( ESuiteModelInitialized, this );
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::UnregisterSuiteObserver( MHnSuiteObserver* aObserver)
-    {
-    TInt index = iSuiteObservers.Find( aObserver );
-    if (index != KErrNotFound)
-        {
-        iSuiteObservers.Remove( index );
-        iObserverPriorities.Remove( index );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::RemoveItemL( TInt aId )
-	{
-    TInt highlightedItem( KErrNotFound );
-	CHnItemModel* modelToRemove = GetItemModel( aId );
-	if( modelToRemove )
-	    {
-	    if( modelToRemove->CustomId() != KErrNotFound )
-	        {
-	        if (modelToRemove->CustomId() != iSuiteHighlight.iCustomId )
-				{
-		        highlightedItem = iSuiteHighlight.iCustomId;
-				}
-	        else
-	        	{
-//	        	set the highlight to the item before the removed item.
-	        	TInt newWidgetIndex = iItemsOrder->Count() - 2;
-	        	if( newWidgetIndex < 0 )
-	        		{
-	        		newWidgetIndex = 0;
-	        		}
-	        	SetSuiteHighlightL( newWidgetIndex );
-	        	}
-	        }
-	    delete modelToRemove;
-	    iItemsModels.Remove( aId );
-	    }
-    iItemsOrder->RemoveItemId( aId );
-    SetSuiteHighlightByCustomIdL( highlightedItem );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::RemoveAllItems()
-	{
-	THashMapIter< TInt ,CHnItemModel* > iterator( iItemsModels );
-	while( iterator.NextKey() )
-		{
-		CHnItemModel** model = iterator.CurrentValue();
-		delete *model;
-		iterator.RemoveCurrent();
-		}
-	}
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C RHashMap< TInt, CArrayPtr<CHnActionModel>* >& 
-    CHnSuiteModel::GetActions()
-    {
-    return iActions;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C CArrayPtr<CHnActionModel>* CHnSuiteModel::GetActions( TInt aId )
-	{
-	CArrayPtr<CHnActionModel>** ret = iActions.Find( aId );
-	if( ret )
-		{
-		return *ret;
-		}
-	return NULL;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CHnItemModel* CHnSuiteModel::GetItemModel( TInt aId )
-	{
-    TRAP_IGNORE( UpdateItemTemplateL( aId ) );
-    
-	CHnItemModel** model = iItemsModels.Find( aId );
-	return ( model ) ? *model : NULL;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::HasToolbar() const
-	{
-	TBool hasToolbar = EFalse;
-	THashMapIter< TInt ,CHnItemModel* > modelIter( iItemsModels );
-	while( modelIter.NextKey() )
-		{
-		CHnItemModel** model = modelIter.CurrentValue();
-		const CHnToolbarModel * toolbarModel = ( *model )->GetToolbarModel();
-		hasToolbar = (toolbarModel) ? toolbarModel->HasButtons() : EFalse;
-		if( hasToolbar )
-			{
-			break;
-			}
-		}
-	return hasToolbar;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CHnSuiteModel::IdByIndex( TInt aIndex )
-	{
-	TInt result(KErrNotFound);
-	
-	if (aIndex < 0)
-	    {
-	    result = iEmptyItemId;
-	    }
-    else
-        {
-        result = iItemsOrder->GetItemIdAt( aIndex );
-	    }
-
-    return result;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::IsItemMoveLocked( TInt aIndex )
-	{
-	TInt ret( EFalse );
-
-	if (aIndex >= 0)
-	    {
-    	CHnItemModel** itemModel = iItemsModels.Find( 
-    	        iItemsOrder->GetItemIdAt( aIndex ) );
-    	
-    	if ( !itemModel || (*itemModel)->IsMoveLocked() )
-    		{
-    		ret = ETrue;
-    		}
-	    }
-	
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TMcsItemType CHnSuiteModel::GetItemType( TInt aIndex )
-	{
-	TMcsItemType type = EItemTypeUnknown;
-	
-	CHnItemModel** itemModel = iItemsModels.Find( 
-	        iItemsOrder->GetItemIdAt( aIndex ) );
-
-	if ( itemModel )
-		{
-		type = (*itemModel)->GetItemType();
-		}
-
-	return type;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CHnSuiteModel::GetSuiteHighlight()
-    {
-    return iSuiteHighlight.iWidgetIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnSuiteModel::SetSuiteHighlightL( TInt aHighLight )
-    {
-    DEBUG(("_MM_:CHnSuiteModel::SetSuiteHighlight - IN"));
-    DEBUG(("\t_MM_:aHighLight: %d",aHighLight));
-    
-    TInt newItemId( IdByIndex( aHighLight ) );
-    CHnItemModel* itemModel( GetItemModel( newItemId ) );
-    TInt64 newCustomId( KErrNotFound );
-    if ( itemModel )
-    	{
-	    newCustomId = itemModel->CustomId();
-    	}
-    
-    if ( ( newCustomId != iSuiteHighlight.iCustomId ||
-            newItemId != iSuiteHighlight.iItemId ) && ( iIsActive && iIsVisible ) )
-        {
-        HandleItemFocusL( iSuiteHighlight.iItemId, EFalse );
-        HandleItemFocusL( newItemId, ETrue );
-        }
-    
-    iSuiteHighlight.iCustomId = newCustomId;
-    iSuiteHighlight.iItemId = newItemId;
-    iSuiteHighlight.iWidgetIndex = aHighLight;
-    
-    DEBUG(("_MM_:CHnSuiteModel::SetSuiteHighlight - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnSuiteModel::SetSuiteHighlightByCustomIdL( TInt64 aCustomId )
-    {
-    DEBUG(("_MM_:CHnSuiteModel::SetSuiteHighlightByCustomIdL - IN"));
-    DEBUG(("\t_MM_:aHighLight: %d",aCustomId));
-    
-    if( aCustomId != KErrNotFound )
-        {
-        THashMapIter< TInt ,CHnItemModel* > modelIter( iItemsModels );
-        while( modelIter.NextKey() )
-            {
-            const TInt* id = modelIter.CurrentKey();
-            CHnItemModel** model = modelIter.CurrentValue();
-            if( (*model)->CustomId() == aCustomId )
-                {
-                if( *id != KErrNotFound )
-                    {
-                    TInt itemIndex( iItemsOrder->GetItemPosition( *id ) );
-                    if( itemIndex != KErrNotFound )
-                        {
-                        SetSuiteHighlightL( itemIndex );
-                        }
-                    }
-                break;
-                }
-            }
-        }
-    
-    DEBUG(("_MM_:CHnSuiteModel::SetSuiteHighlightByCustomIdL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::IsItemBetweenMoveLocked( TInt aIndexStart, TInt aIndexEnd )
-	{
-	if ( aIndexEnd < KErrNone || aIndexStart < KErrNone )
-	    {
-	    return ETrue;
-	    }
-	if ( aIndexEnd >= iItemsOrder->Count() )
-		{
-		aIndexEnd = iItemsOrder->Count() - 1;
-		}
-	
-	TInt start( ( aIndexStart > aIndexEnd ) ? aIndexEnd : aIndexStart );
-	TInt end( ( aIndexStart > aIndexEnd ) ? aIndexStart : aIndexEnd );
-	
-	TInt ret( EFalse );
-	
-	for ( TInt index = start; index <= end; index++ )
-		{
-		CHnItemModel** itemModel = iItemsModels.Find( 
-		        iItemsOrder->GetItemIdAt( index ) );
-		if ( !itemModel || (*itemModel)->IsMoveLocked() )
-			{
-			ret = ETrue;
-			break;
-			}
-		}
-	return ret;
-	}
-	
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CHnSuiteModel::ReorderItemsL( TInt aFromIndex, TInt aToIndex )
-    {
-    DEBUG( ("_MM_: CHnSuiteModel::ReorderItems - IN" ) );
-
-    TInt operation ( (aFromIndex < aToIndex) ? 1 : -1 );
-    TInt realFromId = iItemsOrder->GetItemIdAt(aFromIndex);
-    for ( int i = aFromIndex ; (operation == 1 && i < aToIndex) 
-            || (operation == -1 && i > aToIndex) ; i = i + operation )
-        {
-        if ( (i+operation < 0) || (i+operation >= GetItemModelsCount()) )
-            break;
-        
-        iItemsOrder->SetItemIdAtL(i, iItemsOrder->GetItemIdAt(i+operation));
-        }
-    
-    iItemsOrder->SetItemIdAtL(aToIndex, realFromId);
-    
-    // recalculate current active item
-    SetSuiteHighlightL( GetSuiteHighlight() );
-        
-    DEBUG( ("_MM_: CHnSuiteModel::ReorderItems - OUT" ) );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CHnItemsOrder* CHnSuiteModel::GetItemsOrder()
-    {
-    return iItemsOrder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnSuiteModel::QueueFocus( TInt aCustomId )
-	{
-	iFocusQueue = aCustomId;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnSuiteModel::SetCustomId( TInt64 aCustomId )
-	{
-	iCustomId = aCustomId;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt64 CHnSuiteModel::CustomId()
-	{
-	return iCustomId;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnSuiteModel::SetActiveL( TBool aActive )
-    {
-    DEBUG16(("_MM_:CHnSuiteModel::SetActiveL %S - IN",iSuiteName));
-    DEBUG(("\t_MM_:aActive: %d",aActive));
-    DEBUG(("\t_MM_:iIsActive: %d",iIsActive));
-    
-    if ( aActive != iIsActive )
-        {
-        iIsActive = aActive;
-        if ( iIsVisible )
-            {
-            HandleItemFocusL( iSuiteHighlight.iItemId, aActive );
-            }
-        }
-    
-    DEBUG(("_MM_:CHnSuiteModel::SetActiveL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::IsActive()
-    {
-    return iIsActive;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetVisibleL( TBool aVisible )
-    {
-    DEBUG16(("_MM_:CHnSuiteModel::SetVisible %S - IN",iSuiteName));
-    DEBUG(("\t_MM_:aVisible: %d",aVisible));
-    DEBUG(("\t_MM_:iIsVisible: %d",iIsVisible));
-    
-    if ( aVisible != iIsVisible )
-        {
-        iIsVisible = aVisible;
-        if ( iIsActive )
-            {
-            HandleItemFocusL( iSuiteHighlight.iItemId, aVisible );
-            }
-        }
-    
-    DEBUG(("_MM_:CHnSuiteModel::SetVisible - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuiteModel::HandleItemFocusL( TInt aItemId, TBool aFocused )
-    {
-    DEBUG16(("_MM_:CHnSuiteModel::HandleItemFocusL %S - IN",iSuiteName));
-    DEBUG(("\t_MM_:aItemIndex: %d",aItemId));
-    DEBUG(("\t_MM_:aFocused: %d",aFocused));
-    
-    if ( aItemId >= 0 )
-        {
-        if ( !iItemFocusHandler )
-        	{
-        	iItemFocusHandler = CHnItemFocusHandler::NewL( this );
-        	}
-        TInt eventId = aFocused ? KIdFocusGain : KIdFocusLost;
-        iItemFocusHandler->SetFocusL( eventId, aItemId );
-//        TRAP_IGNORE( OfferHnEventL( eventId, aItemId, NULL ) );
-        }
-    
-    DEBUG(("_MM_:CHnSuiteModel::HandleItemFocusL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemModel* CHnSuiteModel::GetMatchingItemModelL( TInt64 aCustomId,
-		TInt& aIndex )
-	{
-	CHnItemModel* itemModel( NULL );
-	
-	// check suiteCustomId
-	if ( aCustomId >= 0 )
-		{
-	    for ( TInt i( 0 ); i < GetItemModelsCount(); i++ )
-	    	{
-	    	TInt itemModelId = IdByIndex( i );
-	    	CHnItemModel* tmpItemModel = GetItemModel( itemModelId );
-	
-	    	if ( tmpItemModel &&
-	    			tmpItemModel->CustomId() == aCustomId )
-	    		{
-	    		aIndex = i;
-	    		itemModel = tmpItemModel;
-	    		break;
-	    		}
-	    	}
-		}
-	
-	return itemModel;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetExitMode( TExitMode aExitMode )
-	{
-	iExitMode = aExitMode;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuiteModel::RemoveLiwObjects()
-    {
-    for ( TInt i = 0; i < GetItemModelsCount(); ++i )
-        {
-        CHnItemModel* itemModel = GetItemModel( IdByIndex( i ) );
-        if ( itemModel )
-            {
-            itemModel->RemoveLiwObjects();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TExitMode CHnSuiteModel::ExitMode()
-	{
-	return iExitMode;
-	}
-
-
-// End of file
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitemodelcontainer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +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:  suite presentation models container
-*
-*/
-
-
-#include "hnsuitesstack.h"
-#include "hneventhandler.h"
-#include "hnmdmodel.h"
-#include "hnsuitemodel.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnglobals.h"
-#include "hncontrollerinterface.h"
-
-const TInt KParentSuiteDistance( 2 );
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuiteModelContainer::ConstructL( 
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController )
-    {
-    iSuitesStack = CHnSuitesStack::NewL( aController );
-    iEventHandler = CHnEventHandler::NewL( aModelObserver , aController );
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModelContainer* CHnSuiteModelContainer::NewL(
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController  )
-    {
-    CHnSuiteModelContainer* self = CHnSuiteModelContainer::NewLC(
-            aModelObserver , aController );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModelContainer* CHnSuiteModelContainer::NewLC(
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController )
-    {
-    CHnSuiteModelContainer* self = new( ELeave ) CHnSuiteModelContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aModelObserver, aController );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModelContainer::CHnSuiteModelContainer()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModelContainer::~CHnSuiteModelContainer()
-    {
-    delete iSuitesStack;
-    delete iEventHandler;
-    }
- 
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::PopSuiteModelL(
-        const TDesC& aSuiteName )
-    {
-    CHnSuiteModel* suiteModel = iSuitesStack->PopL();
-    
-    if ( suiteModel &&
-            suiteModel->SuiteName().Compare( aSuiteName ) )
-        {
-        User::LeaveIfError( KErrNotFound );
-        }
-
-    delete suiteModel;
-    suiteModel = iSuitesStack->GetLast();
-    return suiteModel;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuiteModelContainer::OfferHnEventL( const TInt aEventId,
-        const TInt aRecipientId, CLiwGenericParamList* aEventParameters )
-    {
-    CHnSuiteModel* lastSuiteModel = GetLastSuiteModel();
-    TInt err = KErrNotFound;
-    
-    if( aEventId == KKeyIdMoveHighlight )
-        {
-        for( int i( 0 ); i<GetSuiteModelCount(); i++ )
-            {
-            CHnSuiteModel* model = GetSuiteModel( i );
-            TBool isRoot( model->CustomId() == KRootId );
-            if( model && !isRoot )
-                {
-                model->SetSuiteHighlightL( model->GetSuiteHighlight() + aRecipientId );
-                }
-            } 
-        }
-    else
-        {
-        if ( lastSuiteModel ) 
-            {
-            err = lastSuiteModel->OfferHnEventL( aEventId, 
-                    aRecipientId, aEventParameters );
-            }
-        }
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModelContainer::PushNewSuiteModelL(
-        const TDesC& aGenre )
-    {
-    CHnSuiteModel* retModel = NULL;
-    retModel = CHnSuiteModel::NewL( *iEventHandler, aGenre );
-    iSuitesStack->PushL( retModel );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetSuiteModel(
-        const TDesC& aSuiteName )
-    {
-    ASSERT( aSuiteName.Length() );
-
-    TInt count( iSuitesStack->Count() );
-    CHnSuiteModel* retModel = NULL;
-
-    for (TInt i = iSuitesStack->Count() - 1; i >= 0; i-- )
-            {
-            retModel = iSuitesStack->Get( i );
-            if ( retModel && !retModel->SuiteName().Compare( aSuiteName ) )
-                {
-                break;
-                }
-            else
-                {
-                retModel = NULL;
-                }
-            }
-
-    return retModel;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuiteModelContainer::GetSuiteModelCount() const
-    {
-    return iSuitesStack->Count();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetLastSuiteModel()
-    {
-    return iSuitesStack->GetLast();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetParentSuiteModel()
-    {
-    CHnSuiteModel* model = NULL;
-    if( iSuitesStack->Count() > 1 )
-        {
-        model = iSuitesStack->Get(
-                iSuitesStack->Count() - KParentSuiteDistance );
-        }
-    return model;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetSuiteModel(TInt aPosition)
-    {
-    return iSuitesStack->Get( aPosition );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetMatchingSuiteModel(
-		TInt64 aCustomId )
-	{
-	CHnSuiteModel* suiteModel( NULL );
-
-	if ( aCustomId >= 0 )
-		{
-	    for( TInt i( 0 ); i < GetSuiteModelCount(); i++ )
-	    	{
-		    CHnSuiteModel* tmpSuiteModel( GetSuiteModel( i ) );
-		    
-		    // compare suiteCustomIds
-		    if ( tmpSuiteModel && ( tmpSuiteModel->CustomId() == aCustomId ) )
-		    	{
-		    	suiteModel = tmpSuiteModel;
-			    break;
-		    	}
-	    	}
-		}
-    
-    return suiteModel;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModelContainer::RemoveLiwObjects()
-    {
-    for( TInt i = 0; i < GetSuiteModelCount(); ++i )
-        {
-        GetSuiteModel( i )->RemoveLiwObjects();
-        }
-    }
-
-// End of file
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitesstack.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +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:  suite stack
-*
-*/
-
-
-#include "hnsuitemodel.h"
-#include "hnsuitesstack.h"
-#include "hnsuitemodelcontainer.h"
-#include "hncontrollerinterface.h"
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuitesStack* CHnSuitesStack::NewL( MHnControllerInterface& aControllerInterface )
-    {
-    CHnSuitesStack* self = new (ELeave) CHnSuitesStack( aControllerInterface );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuitesStack::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnSuitesStack::~CHnSuitesStack()
-    {
-    iStack.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnSuitesStack::CHnSuitesStack( MHnControllerInterface& aControllerInterface ):
-    iControllerInterface( aControllerInterface )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuitesStack::PushL( CHnSuiteModel* aSuiteModel )
-    {
-    iStack.AppendL( aSuiteModel );
-    iControllerInterface.HandleSuiteEventL( ESuitePushedToStack, aSuiteModel );
-    return iStack.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuitesStack::PopL()
-    {
-    CHnSuiteModel* retSuite = NULL;
-    TInt pos = iStack.Count() - 1;
-    if ( pos >= 0 )
-    { 
-        retSuite = iStack[ pos ];
-        iStack.Remove( pos );
-    }
-    iControllerInterface.HandleSuiteEventL( ESuitePoppedFromStack, retSuite );
-    
-    return retSuite;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuitesStack::GetLast()
-    {
-    return ( iStack.Count() > 0 ) ? iStack[ iStack.Count() - 1 ] : NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuitesStack::Get( TInt aPosition )
-    {
-    ASSERT( aPosition >= 0 );
-    ASSERT( aPosition < iStack.Count() );
-
-    return iStack[ aPosition ];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnSuitesStack::IsEmpty()
-    {
-    return ( iStack.Count() > 0 ) ? EFalse : ETrue;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuitesStack::GetRootSuite()
-    {
-    CHnSuiteModel* retSuite = NULL;
-    
-    if ( iStack.Count() > 0 )
-        {
-        retSuite = iStack[ 0 ];
-        }
-        
-    return retSuite;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuitesStack::Count()
-    {
-    return iStack.Count();
-    }
-//End of file.
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hntoolbarmodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  toolbar presentation model
-*
-*/
-
-
-#include "hntoolbarmodel.h"
-#include "hnbuttonmodel.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnToolbarModel* CHnToolbarModel::NewLC()
-    {
-    CHnToolbarModel* self = new( ELeave ) CHnToolbarModel();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-        
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnToolbarModel::~CHnToolbarModel()
-    {
-    iButtons.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnToolbarModel::AddButtonL( CHnButtonModel* aButton )
-    {
-    if( iButtons.Count() <= KMaxButtonCount )
-        {
-        iButtons.AppendL( aButton );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const CHnButtonModel* CHnToolbarModel::GetButton( TInt aIndex ) const
-    {
-    CHnButtonModel* button = NULL;
-    for( TInt i( 0 ); i < iButtons.Count(); i++ )
-        {
-        if( iButtons[ i ]->GetIndex() == aIndex )
-            {
-            button = iButtons[ i ];
-            }
-        }
-    return button;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnToolbarModel::HasButtons() const
-    {
-    TBool hasButtons = EFalse;
-    if( iButtons.Count() != 0 )
-        {
-        hasButtons = ETrue;
-        }
-    return hasButtons;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnToolbarModel::RemoveLiwObjects()
-    {
-    for( TInt i( 0 ); i < iButtons.Count(); i++ )
-        {
-        iButtons[i]->RemoveLiwObjects();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnToolbarModel::CHnToolbarModel( TInt aMaxCount ) : 
-                                        KMaxButtonCount( aMaxCount )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnToolbarModel::ConstructL()
-    {
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/bwins/hnutilitiesu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-EXPORTS
-	?ExecuteL@CHnServiceHandler@@QAEHPAVMLiwNotifyCallback@@H@Z @ 1 NONAME ; int CHnServiceHandler::ExecuteL(class MLiwNotifyCallback *, int)
-	?GetStringL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@AAVRBuf8@@@Z @ 2 NONAME ; int HnLiwUtils::GetStringL(class CLiwGenericParamList const &, class TDesC8 const &, class RBuf8 &)
-	?NewLC@CHnRepositoryManager@@SAPAV1@XZ @ 3 NONAME ; class CHnRepositoryManager * CHnRepositoryManager::NewLC(void)
-	?ToGenericParamListL@CHnMdBaseKey@@UBEXAAVCLiwGenericParamList@@@Z @ 4 NONAME ; void CHnMdBaseKey::ToGenericParamListL(class CLiwGenericParamList &) const
-	?NumToStr8LC@HnConvUtils@@SAPAVHBufC8@@ABH@Z @ 5 NONAME ; class HBufC8 * HnConvUtils::NumToStr8LC(int const &)
-	?StoreSuiteWidgetTypeL@CHnRepositoryManager@@QAEHABVTDesC16@@W4THnSuiteWidgetType@@@Z @ 6 NONAME ; int CHnRepositoryManager::StoreSuiteWidgetTypeL(class TDesC16 const &, enum THnSuiteWidgetType)
-	?StrToStr8L@HnConvUtils@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 7 NONAME ; class HBufC8 * HnConvUtils::StrToStr8L(class TDesC16 const &)
-	?NewL@CHnRepositoryManager@@SAPAV1@XZ @ 8 NONAME ; class CHnRepositoryManager * CHnRepositoryManager::NewL(void)
-	?VariantToStringL@HnLiwUtils@@SAHAAVTLiwVariant@@AAVRBuf16@@@Z @ 9 NONAME ; int HnLiwUtils::VariantToStringL(class TLiwVariant &, class RBuf16 &)
-	?SetGenericParamListL@HnLiwUtils@@SAXABV?$RPointerArray@VCHnMdBaseKey@@@@AAVCLiwGenericParamList@@@Z @ 10 NONAME ; void HnLiwUtils::SetGenericParamListL(class RPointerArray<class CHnMdBaseKey> const &, class CLiwGenericParamList &)
-	?GetStringL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@HAAVRBuf8@@@Z @ 11 NONAME ; int HnLiwUtils::GetStringL(class CLiwGenericParamList const &, class TDesC8 const &, int, class RBuf8 &)
-	?CreateL@HnMdKeyFactory@@SAPAVCHnMdBaseKey@@ABVTDesC8@@00@Z @ 12 NONAME ; class CHnMdBaseKey * HnMdKeyFactory::CreateL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &)
-	?CreateL@HnMdKeyFactory@@SAPAVCHnMdBaseKey@@VTXmlEngElement@@@Z @ 13 NONAME ; class CHnMdBaseKey * HnMdKeyFactory::CreateL(class TXmlEngElement)
-	?Str8ToStrLC@HnConvUtils@@SAPAVHBufC16@@ABVTDesC8@@@Z @ 14 NONAME ; class HBufC16 * HnConvUtils::Str8ToStrLC(class TDesC8 const &)
-	?GetIterableItemCountL@HnLiwUtils@@SAHAAVCLiwIterable@@@Z @ 15 NONAME ; int HnLiwUtils::GetIterableItemCountL(class CLiwIterable &)
-	?ReadSuiteWidgetTypeL@CHnRepositoryManager@@QAEHABVTDesC16@@AAW4THnSuiteWidgetType@@@Z @ 16 NONAME ; int CHnRepositoryManager::ReadSuiteWidgetTypeL(class TDesC16 const &, enum THnSuiteWidgetType &)
-	?StrToInt@HnConvUtils@@SAHABVTDesC16@@AAJ@Z @ 17 NONAME ; int HnConvUtils::StrToInt(class TDesC16 const &, long &)
-	??1CHnServiceHandler@@UAE@XZ @ 18 NONAME ; CHnServiceHandler::~CHnServiceHandler(void)
-	?NewLC@CHnServiceHandler@@SAPAV1@ABVTDesC8@@00W4TServiceMode@@PAVCLiwGenericParamList@@2@Z @ 19 NONAME ; class CHnServiceHandler * CHnServiceHandler::NewLC(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, enum TServiceMode, class CLiwGenericParamList *, class CLiwGenericParamList *)
-	?Str8ToUint@HnConvUtils@@SAHABVTDesC8@@AAI@Z @ 20 NONAME ; int HnConvUtils::Str8ToUint(class TDesC8 const &, unsigned int &)
-	?Str8ToInt@HnConvUtils@@SAHABVTDesC8@@AAJ@Z @ 21 NONAME ; int HnConvUtils::Str8ToInt(class TDesC8 const &, long &)
-	?NewL@CHnServiceHandler@@SAPAV1@ABVTDesC8@@00W4TServiceMode@@PAVCLiwGenericParamList@@2@Z @ 22 NONAME ; class CHnServiceHandler * CHnServiceHandler::NewL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, enum TServiceMode, class CLiwGenericParamList *, class CLiwGenericParamList *)
-	?AddSubKeyL@CHnMdBaseKey@@QAEXPAV1@@Z @ 23 NONAME ; void CHnMdBaseKey::AddSubKeyL(class CHnMdBaseKey *)
-	?Str8ToInt@HnConvUtils@@SAHABVTDesC8@@AAH@Z @ 24 NONAME ; int HnConvUtils::Str8ToInt(class TDesC8 const &, int &)
-	?ToVariantL@CHnMdBaseKey@@UBEXAAVTLiwVariant@@@Z @ 25 NONAME ; void CHnMdBaseKey::ToVariantL(class TLiwVariant &) const
-	?Str8ToStr@HnConvUtils@@SAPAVHBufC16@@ABVTDesC8@@@Z @ 26 NONAME ; class HBufC16 * HnConvUtils::Str8ToStr(class TDesC8 const &)
-	?HandleNotifyL@CHnServiceHandler@@EAEHHHAAVCLiwGenericParamList@@ABV2@@Z @ 27 NONAME ; int CHnServiceHandler::HandleNotifyL(int, int, class CLiwGenericParamList &, class CLiwGenericParamList const &)
-	?DeleteSuiteRelatedL@CHnRepositoryManager@@QAEHABVTDesC16@@@Z @ 28 NONAME ; int CHnRepositoryManager::DeleteSuiteRelatedL(class TDesC16 const &)
-	?GetInt64L@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@HAA_J@Z @ 29 NONAME ; int HnLiwUtils::GetInt64L(class CLiwGenericParamList const &, class TDesC8 const &, int, long long &)
-	??1CHnRepositoryManager@@UAE@XZ @ 30 NONAME ; CHnRepositoryManager::~CHnRepositoryManager(void)
-	?CreateL@HnMdKeyFactory@@SAPAVCHnMdBaseKey@@ABVTDesC8@@0ABVTDesC16@@@Z @ 31 NONAME ; class CHnMdBaseKey * HnMdKeyFactory::CreateL(class TDesC8 const &, class TDesC8 const &, class TDesC16 const &)
-	?GetVariantL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@HAAVTLiwVariant@@@Z @ 32 NONAME ; int HnLiwUtils::GetVariantL(class CLiwGenericParamList const &, class TDesC8 const &, int, class TLiwVariant &)
-	?GetStringL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@AAVRBuf16@@@Z @ 33 NONAME ; int HnLiwUtils::GetStringL(class CLiwGenericParamList const &, class TDesC8 const &, class RBuf16 &)
-	?GetStringL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@HAAVRBuf16@@@Z @ 34 NONAME ; int HnLiwUtils::GetStringL(class CLiwGenericParamList const &, class TDesC8 const &, int, class RBuf16 &)
-	?ExecuteL@CHnServiceHandler@@QAEHAAVCLiwGenericParamList@@AAVTRequestStatus@@@Z @ 35 NONAME ; int CHnServiceHandler::ExecuteL(class CLiwGenericParamList &, class TRequestStatus &)
-	?VariantToStringL@HnLiwUtils@@SAHAAVTLiwVariant@@AAVRBuf8@@@Z @ 36 NONAME ; int HnLiwUtils::VariantToStringL(class TLiwVariant &, class RBuf8 &)
-	?StrToInt@HnConvUtils@@SAHABVTDesC16@@AAH@Z @ 37 NONAME ; int HnConvUtils::StrToInt(class TDesC16 const &, int &)
-	?CreateLC@HnMdKeyFactory@@SAPAVCHnMdBaseKey@@VTXmlEngElement@@@Z @ 38 NONAME ; class CHnMdBaseKey * HnMdKeyFactory::CreateLC(class TXmlEngElement)
-	?StrToStr8LC@HnConvUtils@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 39 NONAME ; class HBufC8 * HnConvUtils::StrToStr8LC(class TDesC16 const &)
-	?EvaluateLC@CHnMdBaseKey@@QAEPAV1@ABVCLiwGenericParamList@@H@Z @ 40 NONAME ; class CHnMdBaseKey * CHnMdBaseKey::EvaluateLC(class CLiwGenericParamList const &, int)
-	?GetVariantL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@AAVTLiwVariant@@@Z @ 41 NONAME ; int HnLiwUtils::GetVariantL(class CLiwGenericParamList const &, class TDesC8 const &, class TLiwVariant &)
-
Binary file menufw/hierarchynavigator/hnutilities/data/20012474.txt has changed
Binary file menufw/hierarchynavigator/hnutilities/data/20012474_newMenuFw.txt has changed
--- a/menufw/hierarchynavigator/hnutilities/eabi/hnutilitiesu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-EXPORTS
-	_ZN10HnLiwUtils10GetStringLERK20CLiwGenericParamListRK6TDesC8R5RBuf8 @ 1 NONAME
-	_ZN10HnLiwUtils10GetStringLERK20CLiwGenericParamListRK6TDesC8R6RBuf16 @ 2 NONAME
-	_ZN10HnLiwUtils10GetStringLERK20CLiwGenericParamListRK6TDesC8iR5RBuf8 @ 3 NONAME
-	_ZN10HnLiwUtils10GetStringLERK20CLiwGenericParamListRK6TDesC8iR6RBuf16 @ 4 NONAME
-	_ZN10HnLiwUtils11GetVariantLERK20CLiwGenericParamListRK6TDesC8R11TLiwVariant @ 5 NONAME
-	_ZN10HnLiwUtils11GetVariantLERK20CLiwGenericParamListRK6TDesC8iR11TLiwVariant @ 6 NONAME
-	_ZN10HnLiwUtils16VariantToStringLER11TLiwVariantR5RBuf8 @ 7 NONAME
-	_ZN10HnLiwUtils16VariantToStringLER11TLiwVariantR6RBuf16 @ 8 NONAME
-	_ZN10HnLiwUtils20SetGenericParamListLERK13RPointerArrayI12CHnMdBaseKeyER20CLiwGenericParamList @ 9 NONAME
-	_ZN10HnLiwUtils21GetIterableItemCountLER12CLiwIterable @ 10 NONAME
-	_ZN10HnLiwUtils9GetInt64LERK20CLiwGenericParamListRK6TDesC8iRx @ 11 NONAME
-	_ZN11HnConvUtils10Str8ToUintERK6TDesC8Rj @ 12 NONAME
-	_ZN11HnConvUtils10StrToStr8LERK7TDesC16 @ 13 NONAME
-	_ZN11HnConvUtils11NumToStr8LCERKi @ 14 NONAME
-	_ZN11HnConvUtils11Str8ToStrLCERK6TDesC8 @ 15 NONAME
-	_ZN11HnConvUtils11StrToStr8LCERK7TDesC16 @ 16 NONAME
-	_ZN11HnConvUtils8StrToIntERK7TDesC16Ri @ 17 NONAME
-	_ZN11HnConvUtils8StrToIntERK7TDesC16Rl @ 18 NONAME
-	_ZN11HnConvUtils9Str8ToIntERK6TDesC8Ri @ 19 NONAME
-	_ZN11HnConvUtils9Str8ToIntERK6TDesC8Rl @ 20 NONAME
-	_ZN11HnConvUtils9Str8ToStrERK6TDesC8 @ 21 NONAME
-	_ZN12CHnMdBaseKey10AddSubKeyLEPS_ @ 22 NONAME
-	_ZN12CHnMdBaseKey10EvaluateLCERK20CLiwGenericParamListi @ 23 NONAME
-	_ZN14HnMdKeyFactory7CreateLE14TXmlEngElement @ 24 NONAME
-	_ZN14HnMdKeyFactory7CreateLERK6TDesC8S2_RK7TDesC16 @ 25 NONAME
-	_ZN14HnMdKeyFactory7CreateLERK6TDesC8S2_S2_ @ 26 NONAME
-	_ZN14HnMdKeyFactory8CreateLCE14TXmlEngElement @ 27 NONAME
-	_ZN17CHnServiceHandler13HandleNotifyLEiiR20CLiwGenericParamListRKS0_ @ 28 NONAME
-	_ZN17CHnServiceHandler4NewLERK6TDesC8S2_S2_12TServiceModeP20CLiwGenericParamListS5_ @ 29 NONAME
-	_ZN17CHnServiceHandler5NewLCERK6TDesC8S2_S2_12TServiceModeP20CLiwGenericParamListS5_ @ 30 NONAME
-	_ZN17CHnServiceHandler8ExecuteLEP18MLiwNotifyCallbacki @ 31 NONAME
-	_ZN17CHnServiceHandler8ExecuteLER20CLiwGenericParamListR14TRequestStatus @ 32 NONAME
-	_ZN17CHnServiceHandlerD0Ev @ 33 NONAME
-	_ZN17CHnServiceHandlerD1Ev @ 34 NONAME
-	_ZN17CHnServiceHandlerD2Ev @ 35 NONAME
-	_ZN20CHnRepositoryManager19DeleteSuiteRelatedLERK7TDesC16 @ 36 NONAME
-	_ZN20CHnRepositoryManager20ReadSuiteWidgetTypeLERK7TDesC16R18THnSuiteWidgetType @ 37 NONAME
-	_ZN20CHnRepositoryManager21StoreSuiteWidgetTypeLERK7TDesC1618THnSuiteWidgetType @ 38 NONAME
-	_ZN20CHnRepositoryManager4NewLEv @ 39 NONAME
-	_ZN20CHnRepositoryManager5NewLCEv @ 40 NONAME
-	_ZN20CHnRepositoryManagerD0Ev @ 41 NONAME
-	_ZN20CHnRepositoryManagerD1Ev @ 42 NONAME
-	_ZN20CHnRepositoryManagerD2Ev @ 43 NONAME
-	_ZNK12CHnMdBaseKey10ToVariantLER11TLiwVariant @ 44 NONAME
-	_ZNK12CHnMdBaseKey19ToGenericParamListLER20CLiwGenericParamList @ 45 NONAME
-	_ZThn4_N17CHnServiceHandler13HandleNotifyLEiiR20CLiwGenericParamListRKS0_ @ 46 NONAME
-
--- a/menufw/hierarchynavigator/hnutilities/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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:  Build information file for project hnutilities
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS 
-../inc/hnrepositorymanager.h    |../../../inc/hnrepositorymanager.h
-../inc/hnconvutils.h            |../../../inc/hnconvutils.h
-../inc/hnconvutils.inl          |../../../inc/hnconvutils.inl
-../inc/hnliwutils.h             |../../../inc/hnliwutils.h
-../inc/hnmdbasekey.h            |../../../inc/hnmdbasekey.h
-../inc/hnmdkeyfactory.h         |../../../inc/hnmdkeyfactory.h
-../inc/hnservicehandler.h       |../../../inc/hnservicehandler.h
-
-../data/20012474_newMenuFw.txt z:/private/10202be9/20012474.txt
-
-PRJ_MMPFILES
-hnutilities.mmp
-
-PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/hierarchynavigator/hnutilities/group/hnutilities.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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:  Project definition file for project hierarchy navigator utilities
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          hnutilities.dll
-TARGETTYPE      dll
-
-UID             0x1000008d 0x2001843B
-
-CAPABILITY      CAP_GENERAL_DLL
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-
-SOURCE          hnrepositorymanager.cpp
-// static utils
-SOURCE          hnconvutils.cpp
-SOURCE          hnliwutils.cpp
-// keys
-SOURCE          hnmdbasekey.cpp
-SOURCE          hnmdbooleankey.cpp
-SOURCE          hnmdintegerkey.cpp
-SOURCE          hnmdlistkey.cpp
-SOURCE          hnmdmapkey.cpp
-SOURCE          hnmdstring16key.cpp
-SOURCE          hnmdstring8key.cpp
-SOURCE          hnmdundefkey.cpp
-SOURCE          hnmduidkey.cpp
-SOURCE          hnmdkeyfactory.cpp
-// service handling
-SOURCE          hnservicehandler.cpp 
-SOURCE          hnmduintegerkey.cpp hnmdinteger64key.cpp
-
-USERINCLUDE     ../inc
-
-SYSTEMINCLUDE   ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         estor.lib 
-LIBRARY         euser.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib
-LIBRARY         CentralRepository.lib
-LIBRARY         charconv.lib              // for CnvUtfConverter
-LIBRARY         liwservicehandler.lib     // LIW Framework
-LIBRARY         XmlEngineDOM.lib          // XML parser
-LIBRARY         commonengine.lib          // StringLoader
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-// End of file
-
--- a/menufw/hierarchynavigator/hnutilities/inc/hnconvutils.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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:   
-*
-*/
-
-
-
-#ifndef HNCONVUTILS_H
-#define HNCONVUTILS_H
-
-#include <e32base.h>
-
-/**
- * Provides static methods for converting numbers to
- * descriptors and vice versa.
- *  
- *  @lib hnutilities.lib
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( HnConvUtils )
-    {   
-public:
-
-	/**
-     * Converts narrow string descriptor to default width string descriptor.
-     *
-	 * @since S60 v5.0
-	 * @param aStr Narrow string descriptor.
-	 * @return Default wide string descriptor.
-	 */
-	IMPORT_C static HBufC* Str8ToStr( const TDesC8& aStr );
-	
-    /**
-     * Converts narrow string descriptor to default width string descriptor.
-     * Does not handle special characters.
-     *
-     * @since S60 v5.0
-     * @param aStr Narrow string descriptor.
-     * @return Default wide string descriptor.
-     */
-    static HBufC* Str8ToStrFastLC( const TDesC8& aStr );
-    
-    /**
-     * Converts wide string descriptor to narrow string descriptor.
-     * Does not handle special characters.
-     *
-     * @since S60 v5.0
-     * @param aStr Wide string descriptor input.
-     * @return Narrow string.
-     */    
-    static HBufC8* StrToStr8FastLC( const TDesC16& aStr );
-        
-    /**
-     * Converts narrow string descriptor to default width string descriptor.
-     * Handles special characters.
-     *
-     * @since S60 v5.0
-     * @param aStr Narrow string descriptor.
-     * @return Default wide string descriptor.
-     */
-    IMPORT_C static HBufC* Str8ToStrLC( const TDesC8& aStr );
-
-    /**
-     * Converts wide string descriptor to narrow string descriptor.
-     * Handles special characters.
-     *
-     * @since S60 v5.0
-     * @param aStr Wide string descriptor input.
-     * @return Narrow string.
-     */    
-    IMPORT_C static HBufC8* StrToStr8LC( const TDesC16& aStr );
-
-    /**
-     * Converts wide string descriptor to narrow string descriptor.
-     *
-     * @since S60 v5.0
-     * @param aStr Wide string descriptor input.
-     * @return Narrow string.
-     */    
-    IMPORT_C static HBufC8* StrToStr8L( const TDesC16& aStr );
-    
-    /**
-     * Converts integer to narrow string descriptor.
-     *
-     * @since S60 v5.0
-     * @param aNum Number.
-     * @return Narrow string.
-     */    
-    IMPORT_C static HBufC8* NumToStr8LC( const TInt& aNum );
-    
-    /**
-     * Converts narrow string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt Str8ToInt( const TDesC8& aValue, TInt& aResult );
-
-    /**
-     * Converts string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt StrToInt( const TDesC& aValue, TInt& aResult );
-  
-    /**
-     * Converts narrow string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt Str8ToInt( const TDesC8& aValue, TInt32& aResult );
-     
-    /**
-     * Converts narrow string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt StrToInt( const TDesC& aValue, TInt32& aResult );
-     
-    /**
-     * Converts narrow string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt Str8ToUint( const TDesC8& aValue, TUint& aResult );
-    };
-
-#include "hnconvutils.inl"
-
-#endif // HNCONVUTILS_H
-
--- a/menufw/hierarchynavigator/hnutilities/inc/hnconvutils.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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:  
-*
-*/
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline HBufC* HnConvUtils::Str8ToStrFastLC( const TDesC8& aStr )
-    {
-    HBufC* ret = HBufC::NewLC( aStr.Length() );
-    ret->Des().Copy( aStr );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline HBufC8* HnConvUtils::StrToStr8FastLC( const TDesC16& aStr )
-    {
-    HBufC8* ret = HBufC8::NewLC( aStr.Length() );
-    ret->Des().Copy( aStr );
-    return ret;
-    }
--- a/menufw/hierarchynavigator/hnutilities/inc/hnliwutils.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +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:   
-*
-*/
-
-
-#ifndef HNLIWUTILS_H
-#define HNLIWUTILS_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <liwcommon.h>
-
-
-class CHnMdBaseKey;
-class CLiwGenericParamList;
-class TLiwVariant;
-
-/**
- *  Provides static methods which handles operations
- *  like extracting data from and inserting data to 
- *  LIW composite classes ( CLiwGenericParamList, TLiwVariant ).   
- * 
- *  @lib hnutilities.lib
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( HnLiwUtils )
-    {   
-public:
-    /**
-     * Appends key-value pairs stored in aKeys to aInParam.
-     * Keys are appended in the same order as they occur in the aKeys array.
-     * Every key value is converted to a TLiwVariant before appending to the
-     * param list.
-     * 
-     * @since S60 v5.0
-     * @param aKeys Keys to append.
-     * @param aInParam Param list to be modified.
-     */    
-    IMPORT_C static void SetGenericParamListL(
-        const RPointerArray<CHnMdBaseKey> & aKeys,
-        CLiwGenericParamList& aInParam );
-
-    /**
-     * Creates a string representing a selected value from the param list.
-     * The aPath paramter is the path to the selected param list element.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aBuf Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetStringL(
-        const CLiwGenericParamList& aParam, 
-        const TDesC8& aPath, 
-        RBuf& aBuf );
-
-    /**
-     * Creates a string representing a selected value from the param list.
-     * The aPath paramter is the path to the selected param list element.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aBuf Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetStringL(
-        const CLiwGenericParamList& aParam, 
-        const TDesC8& aPath, 
-        RBuf8& aBuf );
-    
-    /**
-     * Returns TInt64 value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aPos Position.
-     * @param aRet Return TInt64 value.
-     * @return TInt64 value or KErrNotFound.
-     */
-    IMPORT_C static TInt GetInt64L( const CLiwGenericParamList& aParam,
-    	    const TDesC8& aPath, TInt aPos, TInt64& aRet );
-    
-    /**
-     * Creates a string representing a selected value from the param list.
-     * The aPath paramter is the path to the selected param list element.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aPos Position.
-     * @param aBuf Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetStringL(
-        const CLiwGenericParamList& aParam, 
-        const TDesC8& aPath, 
-        TInt aPos,
-        RBuf& aBuf );
-
-    /**
-     * Creates a string representing a selected value from the param list.
-     * The aPath paramter is the path to the selected param list element.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aPos Position.
-     * @param aBuf Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetStringL(
-        const CLiwGenericParamList& aParam, 
-        const TDesC8& aPath, 
-        TInt aPos,
-        RBuf8& aBuf );
-    
-    /**
-     *  Exctracts variant from param list.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI path.
-     * @param aPos Position.
-     * @param aRet Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetVariantL(
-        const CLiwGenericParamList& aParam,
-        const TDesC8& aPath,
-        TInt aPos,
-        TLiwVariant& aRet );
-
-    /**
-     *  Exctracts variant from param list.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI path.
-     * @param aRet Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetVariantL(
-        const CLiwGenericParamList& aParam,
-        const TDesC8& aPath,
-        TLiwVariant& aRet );
-    
-    /**
-     * Creates a string representation of a variant value.
-     * Supported variant types are: EVariantTypeDesC, 
-     * EVariantTypeDesC8, EVariantTypeTUid, EVariantTypeTInt32,
-     * and EVariantTypeTUint.
-     * 
-     * @since S60 v5.0
-     * @param aVariant Source variant.
-     * @param aBuf Output buffer.
-     * @return EFalse if variant type is not supported.
-     */
-    IMPORT_C static TBool VariantToStringL( TLiwVariant& aVariant,
-                                           RBuf& aBuf );
-    
-    /**
-     * Creates a string representation of a variant value.
-     * Supported variant types are: EVariantTypeDesC, 
-     * EVariantTypeDesC8, EVariantTypeTUid, EVariantTypeTInt32,
-     * and EVariantTypeTUint.
-     * 
-     * @since S60 v5.0
-     * @param aVariant Source variant.
-     * @param aBuf Output buffer.
-     * @return EFalse if variant type is not supported.
-     */
-    IMPORT_C static TBool VariantToStringL( TLiwVariant& aVariant,
-                                           RBuf8& aBuf );
-
-    /**
-     * Gets total number of items held by an iterable.
-     * 
-     * @param aIterable the iterable
-     * @return total number of items stored in aIterable
-     */
-    IMPORT_C static TInt GetIterableItemCountL( CLiwIterable& aIterable );
-
-private:
-    
-    /**
-     * Exctracts namespace from param list.
-     *
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aNameSpace Namespace.
-     * @param aRet Output variant.
-     * @return Error code.
-     */
-    static TInt ExtractNameSpaceL( const CLiwGenericParamList& aParam,
-                                   const TDesC8& aNameSpace,
-                                   TLiwVariant& aRet );
-    
-    /**
-     * Process path for selecting elements separated by colon or slash.
-     *
-     * @since S60 v5.0
-     * @param aPath Path.
-     * @param aPathParts Elements of the path.
-     */
-    static void ParsePathL( const TDesC8& aPath, 
-                           RArray< TPtrC8 >& aPathParts );
-
-    /**
-     * Replaces the first occurence of the string "$index" with a number.
-     * On successful execution the string contained in aPath8 will have
-     * have the first occurence of the substring "$index" replaced by
-     * a string representation of the number given in aPos.
-     *  
-     * @since S60 v5.0
-     * @param aPath8 A path to the variant in the generic param list.
-     * @param aPos A position of the item in the group of items.
-     * @return Length of the new path, ending at the index object.
-     */
-    static TInt ReplaceIndexL( RBuf8& aPath8, TInt aPos );
-        
-    /**
-     * Extracts a number enclosed in square brackets from a string.
-     * The number is assumed to be non-negative (otherwise it would be
-     * impossible to determine if the function executed successfully).
-     * If the string contains more than one pair of square brackets, only
-     * the first pair is processed by this method.
-     * 
-     * @since S60 v5.0
-     * @param aPosition String containing the position number.
-     * @return Number extracted from string or error code on failure.
-     */
-    static TInt GetPosition( const TDesC8& aPosition );
-
-    /**
-     * Uses iterator object to extract variant pointed by position. 
-     *
-     * @since S60 v5.0
-     * @param aIterable Iterator to use.
-     * @param aPos Position of the variant.
-     * @param aVariant Output variant.
-     * @return ETrue if variant found.
-     */
-    static TBool GetIterableByPositionL(
-        CLiwIterable & aIterable,
-        TInt aPos,
-        TLiwVariant & aVariant );
-     
-     };
-
-#endif // HNLIWUTILS_H
-
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdbasekey.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +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:    
-*
-*/
-
-
-#ifndef C_HNMDBASEKEY_H
-#define C_HNMDBASEKEY_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengdom.h>
-
-class CLiwDefaultMap;
-class CLiwGenericParamList;
-class TLiwVariant;
-class CHnMdBaseKey;
-
-/**
- *  Abstract Class representing keys used in XML configuration.
- *  These keys can become parameters for LIW requests for example.
- *  Deriving classes defines particular key types like integers or strings.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdBaseKey ) : public CBase
-    {
-    friend class HnMdKeyFactory; 
-    
-public:
-
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdBaseKey();
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC() = 0;
-    
-    /**
-     * Getter - key name.
-     * since S60 v5.0
-     * 
-     * @return Key name.
-     */     
-    const TDesC8& KeyName() const;
-    
-    /**
-     * Getter - key content.
-     * since S60 v5.0
-     * 
-     * @return Key content.
-     */ 
-    virtual const TDesC& KeyContent() const;
-    
-    /**
-     * Getter - sub keys.
-     * 
-     * @since S60 v5.0
-     * @return Sub keys array.
-     */
-    const RPointerArray<CHnMdBaseKey>& SubKeys() const;
-    
-    /**
-     * Getter - key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    virtual void GetKeyContent( TInt& aContent ) const;
-    
-    /**
-     * Getter - key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    virtual void GetKeyContent( TInt64& aContent ) const;
-     
-    /**
-     * Evaluates key - sets params.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position of the item in the items group.
-     * 
-     */
-    IMPORT_C CHnMdBaseKey* EvaluateLC(
-        const CLiwGenericParamList& aParamList,
-        TInt aPos = 0 );
-  
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    IMPORT_C virtual void ToVariantL( TLiwVariant& aRet ) const;
-     
-    /**
-     * Change to generic param list.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output generic param list.
-     * 
-     */
-    IMPORT_C virtual void ToGenericParamListL( CLiwGenericParamList & aRet ) const;
-        
-    /**
-     * Adds a sub key.
-     * 
-     * @since S60 v5.0
-     * @param aKey New key.
-     */
-    IMPORT_C void AddSubKeyL( CHnMdBaseKey* aKey );
-    
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdBaseKey();
-       
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aElement XML DOM Element.
-     */
-    void BaseConstructL( TXmlEngElement aElement );
-    
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Key.
-     */
-    void BaseConstructL( const CHnMdBaseKey* aKey );
-        
-    /**
-     * Sets key name.
-     * 
-     * @since S60 v5.0
-     * @param aName Name of new key.
-     */
-    void SetKeyNameL( const TXmlEngAttr& aName );
-    
-    /**
-     * Sets key content.
-     *
-     * @since S60 v5.0
-     * @param aContent XML Attribute.
-     */
-    void SetKeyContentL( const TXmlEngAttr& aContent );
-
-    /**
-     * Sets sub keys.
-     *
-     * @since S60 v5.0
-     * @param aElement XML DOM Element.
-     */
-    void SetSubKeysL( const TXmlEngElement& aElement );
-    
-    /**
-      * Sets sub keys.
-      *
-      * @since S60 v5.0
-      * @param aKey New key.
-      */
-    void SetSubKeysL( const CHnMdBaseKey* aKey );
-    
-    /**
-     * Sets value.
-     *
-     * @since S60 v5.0
-     * @param aElement XML DOM Element.
-     */
-    void SetValueL( const TXmlEngElement& aElement );
-    
-    /**
-     * Sets value.
-     *
-     * @since S60 v5.0
-     * @param aValue New value.
-     */
-    void SetValueL( const TDesC8& aValue );
-
-	    /**
-     * Sets value.
-     *
-     * @since S60 v5.0
-     * @param aValue New value.
-     */
-    void SetValueL( const TDesC& aValue );
-	
-    /**
-     * Sets key or name.
-     *
-     * @since S60 v5.0
-     * @param aElement XML DOM Element.
-     */
-    void SetKeyOrNameL( const TXmlEngElement& aElement );
-    
-    /**
-     * Sets key name.
-     * 
-     * @since S60 v5.0
-     * @param aName New key name.
-     */
-    void SetKeyNameL( const TDesC8& aName );
-    
-    /**
-     * Evaluates key - sets params.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position in the param list. Default is 0.
-     */
-    void DoEvaluateL( const CLiwGenericParamList& aParamList,
-                        TInt aPos = 0 );
-    
-    /**
-     * Evaluates the key value.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position in the param list. Default is 0.
-     */
-    virtual void EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-                        TInt aPos = 0 );
-    
-protected: // data
-    
-    /**
-     * Key name (8-bit descriptor).
-     * Own. 
-     */
-    RBuf8 iKeyName;
-
-    /**
-     * Key content.
-     * Own. 
-     */
-    RBuf iContent;
-       
-   /**
-    * Subkeys (i.e. to handle with actions).
-    * Own. 
-    */
-    RPointerArray<CHnMdBaseKey> iSubKeys;
-
-    };
-
-#endif // C_HNMDBASEKEY_H
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdbooleankey.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:    
-*
-*/
-
-
-
-#ifndef C_HNMDBOOLEANKEY_H
-#define C_HNMDBOOLEANKEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- * Defines particular key type which is bool.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdBooleanKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdBooleanKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdBooleanKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdBooleanKey* NewL( const CHnMdBooleanKey* aKey );
-    
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdBooleanKey* NewLC( const CHnMdBooleanKey* aKey );
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdBooleanKey();
-    
-    /**
-     * Gets key boolean value.
-     *
-     * @since S60 v5.0
-     * @return Boolean value represented by the key.
-     */
-    TBool GetBooleanValueL() const;//Only in CHnMdBooleanKey
-
-// from base class CHnMdBaseKey
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-           
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdBooleanKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdBooleanKey* aKey );
-    
-    };
-
-#endif // C_HNMDBOOLEANKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdinteger64key.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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:    
-*
-*/
-
-
-
-#ifndef C_HNMDINTEGER64KEY_H
-#define C_HNMDINTEGER64KEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- * Defines particular key type which is 64-bit integer.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdInteger64Key ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdInteger64Key* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdInteger64Key* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdInteger64Key* NewL( const CHnMdInteger64Key* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdInteger64Key* NewLC( const CHnMdInteger64Key* aKey );
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdInteger64Key();
-    
-// from base class CHnMdBaseKey
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-    
-    /**
-     * Gets key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    void GetKeyContent( TInt64& aContent ) const;
-
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:      
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdInteger64Key();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdInteger64Key* aKey );
-    };
-
-#endif // C_HNMDINTEGER64KEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdintegerkey.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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:    
-*
-*/
-
-
-#ifndef C_HNMDINTEGERKEY_H
-#define C_HNMDINTEGERKEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-
-/**
- * Defines particular key type which is integer.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdIntegerKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdIntegerKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdIntegerKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdIntegerKey* NewL( const CHnMdIntegerKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdIntegerKey* NewLC( const CHnMdIntegerKey* aKey );
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdIntegerKey();
- 
-// from base class CHnMdBaseKey
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-    
-    /**
-     * Gets key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    void GetKeyContent( TInt& aContent ) const;
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdIntegerKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdIntegerKey* aKey );
-    };
-
-#endif // C_HNMDINTEGERKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdkeyfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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:   
-*
-*/
-
-
-#ifndef HNMDKEYFACTORY_H
-#define HNMDKEYFACTORY_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-
-class CHnMdBaseKey;
-
-/**
- * Provides static methods for creating particular key classes.
- *
- * @lib hnutilities.lib
- * @since S60 v3.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( HnMdKeyFactory )
-    {  
-public:
-
-    /**
-     * Creates particular key type depending on XML element.
-     * Sets name and value of the key read also from XML. 
-     * 
-     * since S60 v5.0
-     * @param aElement XML DOM Element.
-     * @return Pointer to created key.
-     */
-    IMPORT_C static CHnMdBaseKey* CreateLC( TXmlEngElement aElement );
-    
-    /**
-     * Creates particular key type depending on XML element.
-     * Sets name and value of the key read also from XML. 
-     *
-     * since S60 v5.0
-     * @param aElement XML DOM Element.
-     * @return Pointer to created key.
-     */
-    IMPORT_C static CHnMdBaseKey* CreateL( TXmlEngElement aElement );
-    
-    /**
-     * Creates particular key type depending on passed argument.
-     * Sets name and value of the key. 
-     * 
-     * since S60 v5.0
-     * @param aName Key name.
-     * @param aType Key type.
-     * @param aValue Key value.
-     * @return Pointer to created key.
-     */
-    IMPORT_C static CHnMdBaseKey* CreateL(
-        const TDesC8& aName,
-        const TDesC8& aType,
-        const TDesC8& aValue );
-
-    /**
-    * Creates particular key type depending on passed argument.
-    * Sets name and value of the key. 
-    * 
-    * since S60 v5.0
-    * @param aName Key name.
-    * @param aType Key type.
-    * @param aValue Key value.
-    * @return Pointer to created key.
-    */
-   IMPORT_C static CHnMdBaseKey* CreateL(
-       const TDesC8& aName,
-       const TDesC8& aType,
-       const TDesC& aValue );    
-    
- private:
- 
-    /**
-     * Creates particular key type depending on passed argument.
-     *
-     * since S60 v5.0
-     * @param aKeyType Key type.
-     * @return Pointer to created key.
-     */
-    static CHnMdBaseKey* CreateL( const TDesC8& aKeyType );
-    };
-
-#endif // HNMDKEYFACTORY_H
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdlistkey.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +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:    
-*
-*/
-
-
-#ifndef C_HNMDLISTKEY_H
-#define C_HNMDLISTKEY_H
-
-#include <liwcommon.h>
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-
-/**
- * Defines particular key type which is LIW list.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdListKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdListKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdListKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdListKey* NewL( const CHnMdListKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdListKey* NewLC( const CHnMdListKey* aKey );
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdListKey();
-    
-// from base class CHnMdBaseKey
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdListKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-  
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdListKey* aKey );
-
-// from base class CHnMdBaseKey
-
-    /**
-     * Evaluates the key value.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position in the param list. Default is 0.
-     */
-    void EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-                            TInt aPos );
-
-private: // data
-    
-    /**
-     * Own. Variant.
-     */
-    TLiwVariant iVariantContent;
-    
-    };
-
-#endif // C_HNMDLISTKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdmapkey.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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:    
-*
-*/
-
-
-
-#ifndef C_HNMDMAPKEY_H
-#define C_HNMDMAPKEY_H
-
-#include <liwcommon.h>
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- *  Defines particular key type which is LIW map.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdMapKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    static CHnMdMapKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    static CHnMdMapKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdMapKey* NewL( const CHnMdMapKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdMapKey* NewLC( const CHnMdMapKey* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CHnMdMapKey();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-
-protected:      
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdMapKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdMapKey* aKey );
-    
-    /**
-     * Evaluates the key value.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position in the param list. Default is 0.
-     */
-    void EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-            TInt aPos );
-       
-private:
-    
-    /**
-     * Variant.
-     */
-    TLiwVariant iVariantContent;
-    
-    };
-
-#endif // C_HNMDMAPKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdstring16key.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:    
-*
-*/
-
-
-
-#ifndef C_HNMDSTRING16KEY_H
-#define C_HNMDSTRING16KEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- *  Defines particular key type which is unicode string.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdString16Key ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdString16Key* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdString16Key* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdString16Key* NewL( const CHnMdString16Key* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdString16Key* NewLC( const CHnMdString16Key* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdString16Key();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdString16Key();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdString16Key* aKey );
-    };
-
-#endif // C_HNMDSTRING16KEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdstring8key.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +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:    
-*
-*/
-
-
-
-#ifndef C_HNMDSTRING8KEY_H
-#define C_HNMDSTRING8KEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- *  Defines particular key type which is narrow string.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdString8Key ) : public CHnMdBaseKey
-    {
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdString8Key* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdString8Key* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdString8Key* NewL( const CHnMdString8Key* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdString8Key* NewLC( const CHnMdString8Key* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdString8Key();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-    friend class HnMdKeyFactory;  
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdString8Key();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdString8Key* aKey );
-    };
-
-#endif // C_HNMDSTRING8KEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmduidkey.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +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:    
-*
-*/
-
-
-#ifndef C_HNMDUIDKEY_H
-#define C_HNMDUIDKEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- * Defines particular key type which is UID.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CHnMdUidKey ) : public CHnMdBaseKey
-    {
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUidKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUidKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUidKey* NewL( const CHnMdUidKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUidKey* NewLC( const CHnMdUidKey* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdUidKey();
-
-    /**
-     * Gets key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    void GetKeyContent( TInt& aContent ) const;
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-    friend class HnMdKeyFactory;  
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdUidKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdUidKey* aKey );
-    };
-
-#endif // C_HNMDUIDKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmduintegerkey.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +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:    
-*
-*/
-
-
-#ifndef HNMDUINTEGERKEY_H_
-#define HNMDUINTEGERKEY_H_
-
-#include <e32base.h>
-#include "hnmdbasekey.h"
-
-/**
- * Defines particular key type which is unsigned integer.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdUIntegerKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUIntegerKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUIntegerKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUIntegerKey* NewL( const CHnMdUIntegerKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUIntegerKey* NewLC( const CHnMdUIntegerKey* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdUIntegerKey();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdUIntegerKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdUIntegerKey* aKey );
-    };
-
-#endif // HNMDUINTEGERKEY_H_
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdundefkey.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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:    
-*
-*/
-
-
-
-#ifndef C_HNMDUNDEFKEY_H
-#define C_HNMDUNDEFKEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- * Defines key which has undefined type.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdUndefKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory function.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUndefKey* NewL();
-
-    /**
-     * Standard factory function.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUndefKey* NewLC();
-    
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUndefKey* NewL( const CHnMdUndefKey* aKey );    
-
-    /**
-     * Instance copy method.
-     *
-     * since S60 v5.0
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUndefKey* NewLC( const CHnMdUndefKey* aKey );    
-
-    /**
-     * Instance copy method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */  
-    virtual CHnMdBaseKey* CopyLC();
-    
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdUndefKey();
-        
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdUndefKey();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();    
-    
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdUndefKey* aKey );
-    };
-
-#endif // C_HNMDUNDEFKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnrepositorymanager.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +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:   
-*
-*/
-
-
-#ifndef HNREPOSITORYMANAGER_H_
-#define HNREPOSITORYMANAGER_H_
-
-#include <e32base.h>
-#include <centralrepository.h>
-
-#include "hnglobals.h"
-
-/**
- * Class for managing operation on the central repository.
- * It is used to store widget types of suites in the central repository.
- * 
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnRepositoryManager ) : public CBase
-    {
-
-public:
-    /**
-     * Factory method.
-     * 
-     * @since S60 v5.0
-     * @return Returns fully qualified object.
-     */
-    IMPORT_C static CHnRepositoryManager * NewL();
-    
-    /**
-     * Factory method.
-     * 
-     * @since S60 v5.0 
-     * @return Returns fully qualified object.
-     */    
-    IMPORT_C static CHnRepositoryManager * NewLC();
-    
-    /**
-     * Stores widget type in the repository.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteName Name of the suite.
-     * @param aWidgetType Widget type to be stored.
-     * @return Error code.
-     */    
-    IMPORT_C TInt StoreSuiteWidgetTypeL( const TDesC & aSuiteName, 
-                                         THnSuiteWidgetType aWidgetType );
-    
-    /**
-     * Deletes all suite related information from the repository.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteName Name of the suite.
-     * @return Error code.
-     */    
-    IMPORT_C TInt DeleteSuiteRelatedL( const TDesC & aSuiteName );
-    
-    /**
-     * Read suite widget type from the repository.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteName Name of the suite.
-     * @param aSuiteWidget Widget type.
-     * @return Error code.
-     */    
-    IMPORT_C TInt ReadSuiteWidgetTypeL(
-            const TDesC & aSuiteName, THnSuiteWidgetType& aSuiteWidget );
-    
-    /**
-     * Standard C++ destructor.
-     * 
-     * @since S60 v5.0
-     */    
-    IMPORT_C ~CHnRepositoryManager();
-    
-private:
-
-    /**
-     * Second phase symbian constructor.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-    
-    /**
-     * Standard C++ constructor.
-     * 
-     * @since S60 v5.0
-     */    
-    CHnRepositoryManager();
-    
-private: // data
-
-    /**
-     * Widget type position.
-     */
-    const TInt KWidgetTypePosition;
-
-    /**
-     * Central Repository object.
-     * Own.
-     */
-    CRepository *iRepository;
-    
-    };
-
-#endif // HNREPOSITORYMANAGER_H_
--- a/menufw/hierarchynavigator/hnutilities/inc/hnservicehandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +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:  
-*
-*/
-
-
-#ifndef C_HNMDSERVICEHANDLER_H
-#define C_HNMDSERVICEHANDLER_H
-
-//#include <mnaiwservices.h>
-#include <liwcommon.h>
-#include <e32base.h>
-#include <xmlengelement.h> 
-
-#include "hnglobals.h"
-
-class CLiwServiceHandler;
-class CHnMdQuery;
-class CLiwGenericParamList;
-class MLiwInterface;
-class CLiwDefaultMap;
-class CHnMdBaseKey;
-class CHnMdServiceCommand;
-class CHnServiceHandler;
-
-/**
- * Class represeting request to LIW service. 
- * The request can be synchronous or asynchronous.
- *
- * @since S60 5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS(CHnServiceHandler) : public CBase, public MLiwNotifyCallback
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aService Service name.
-     * @param aInterface Interface name.
-     * @param aCommand Request to the Service.
-     * @param aMode Asynchronous or Synchronous Request.
-     * @param aConstructor Parameters used during Service construction.
-     * @param aServiceCommand Additional Parameters for the Request.
-     * @return Fully cosntructed object.
-     */
-    IMPORT_C static CHnServiceHandler* NewL(
-            const TDesC8& aService, const TDesC8& aInterface, 
-            const TDesC8& aCommand, TServiceMode aMode,
-            CLiwGenericParamList* aConstructor,
-            CLiwGenericParamList* aServiceCommand );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aService Service name.
-     * @param aInterface Interface name.
-     * @param aCommand Request to the Service.
-     * @param aMode Asynchronous or Synchronous Request.
-     * @param aConstructor Parameters used during Service construction.
-     * @param aServiceCommand Additional Parameters for the Request.
-     * @return Fully cosntructed object.
-     */
-    IMPORT_C static CHnServiceHandler* NewLC(
-            const TDesC8& aService, const TDesC8& aInterface,
-            const TDesC8& aCommand, TServiceMode aMode,
-            CLiwGenericParamList* aConstructor,
-            CLiwGenericParamList* aServiceCommand );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C virtual ~CHnServiceHandler();
-
-    /**
-     * Executes the Request on the service.
-     *
-     * since S60 v5.0
-     * @param aOutParamList Request outcome.
-     * @param aStatus Status for signalling when request completes.
-     * @return Error code.
-     */
-    IMPORT_C TInt ExecuteL( CLiwGenericParamList& aOutParamList, TRequestStatus& aStatus );
-    
-    /**
-     * Executes the query on the service, with external
-     * notification callback.
-     *
-     * since S60 v5.0
-     * @param aCallback Notification callback.
-     * @param aCmdOptions Additional options for the Request.
-     * @return Error code.
-     */
-    IMPORT_C TInt ExecuteL( MLiwNotifyCallback* aCallback,
-            TInt aCmdOptions = 0 );
-            
-            
-    /**
-     * Executes the query on the service.
-     * Deprecated - Do not Use this method!!!! Will be removed asap.
-     * 
-     * since S60 v5.0
-     * @return Error code.
-     */
-    IMPORT_C TInt ExecuteL();
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     * @param aMode Synchronous or asynchronous.
-     */
-    CHnServiceHandler( TServiceMode aMode ); 
-
-
-    /**
-     * Standard symbian 2nd phase contructor.
-     *
-     * @since S60 5.0
-     * @param aService Service name.
-     * @param aInterface Interface name.
-     * @param aCommandName Request to the Service.
-     * @param aConstructor Parameters used during Service construction.
-     * @param aServiceCommand Additional Parameters for the Request.  
-     */
-    void ConstructL(
-            const TDesC8& aService, const TDesC8& aInterface,
-            const TDesC8& aCommandName,
-            CLiwGenericParamList* aConstructor,
-            CLiwGenericParamList* aServiceCommand );
-
-    
-    /**
-     * Handles notifications caused by an asynchronous Request.
-     *
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL(
-            TInt aCmdId,
-            TInt aEventId,
-            CLiwGenericParamList& aEventParamList,
-            const CLiwGenericParamList& aInParamList);
-
-    /**
-     * Creates interface.
-     * 
-     * @param aConstructor constructor
-     * @return Error code.
-     */
-    TInt SetServiceInterfaceL( CLiwGenericParamList* aConstructor );
-     
-private: // data
-
-    /**
-     * Service name.
-     * Own.
-     */
-    RBuf8 iServiceName;
-
-    /**
-     * Interface name.
-     * Own.
-     */
-    RBuf8 iInterfaceName;
-    
-    /**
-     * Command (Request) name.
-     * Own.
-     */
-    RBuf8 iCommandName;
-
-    /**
-     * Service mode.
-     */
-    TServiceMode iMode;
-    
-    /**
-     * Stores input parameters (not data) of the service search method\
-     * (ExecuteServiceCmdL).
-     * Own. 
-     */
-    CLiwGenericParamList* iConstructor;
-
-    /**
-     * 
-     * Own.
-     */
-    CLiwGenericParamList* iCommand;
-    
-    /**
-     * Parameters for the Request.
-     * Own.
-     */
-    CLiwGenericParamList* iInput;
-    
-    /**
-     * Request results from ExecuteL();
-     * Own.
-     */
-    CLiwGenericParamList* iOutputForAS;
-    
-    /**
-     * Request results from 
-     * ExecuteL( CLiwGenericParamList& aOutParamList, TRequestStatus& aStatus ).
-     * Own.
-     */
-    CLiwGenericParamList* iOutputForAO;
-    
-    /**
-     * Service interface. 
-     */
-    MLiwInterface* iServiceInterface;
-    
-    /**
-     * Service Handler.
-     * Own.
-     */
-    CLiwServiceHandler* iServiceHandler;
-    
-    /**
-     * Client status.
-     * Not Own.
-     */
-    TRequestStatus* iClientStatus;
-    
-    /**
-     * Waits for asynchronous queries.
-     * Own.
-     */
-    CActiveSchedulerWait* iWait;
-    
-    };
-
-#endif // C_HNMDSERVICEHANDLER_H
--- a/menufw/hierarchynavigator/hnutilities/inc/mymenudebug.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "hnutilities.txt");
-
-#endif // MYMENUDEBUG_H
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnconvutils.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +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: 
-*
-*/
-
-
-#include <utf.h> 
-#include <e32std.h>
-
-#include "hnconvutils.h"
-#include "hnglobals.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* HnConvUtils::Str8ToStr( const TDesC8& aStr )
-    {
-    HBufC* ret = HBufC::New( aStr.Length() );
-    if (ret)
-    	{
-    	TPtr dest( ret->Des() );
-    	CnvUtfConverter::ConvertToUnicodeFromUtf8( dest, aStr );
-    	}
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* HnConvUtils::Str8ToStrLC( const TDesC8& aStr )
-    {
-    HBufC* ret = HBufC::NewLC( aStr.Length() );
-    TPtr dest( ret->Des() );
-    CnvUtfConverter::ConvertToUnicodeFromUtf8( dest, aStr );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnConvUtils::StrToStr8LC( const TDesC16& aStr )
-    {
-    TInt length = aStr.Length();
-    HBufC8* ret = HBufC8::NewL( length );
-    TPtr8 dest( ret->Des() );
-    TInt num = CnvUtfConverter::ConvertFromUnicodeToUtf8( dest, aStr );
-    while( num != 0 )
-    	{
-    	delete ret;
-    	length += num;
-    	ret = HBufC8::NewL( length );
-    	dest.Set( ret->Des() );
-    	num = CnvUtfConverter::ConvertFromUnicodeToUtf8( dest, aStr );
-    	}
-    CleanupStack::PushL(ret);
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnConvUtils::StrToStr8L( const TDesC16& aStr )
-    {
-    HBufC8* buf = HnConvUtils::StrToStr8LC( aStr );
-    CleanupStack::Pop( buf );
-    return buf;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnConvUtils::NumToStr8LC( const TInt& aNum )
-    {
-    HBufC8* ret = HBufC8::NewLC( KMaxLength );
-    ret->Des().AppendNum( aNum );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnConvUtils::Str8ToInt( const TDesC8& aValue, TInt& aResult )
-    {
-    // if a string starts from '0x' then convert aStr from hex to int.
-    // else send aStr to the StrDec2Uint    
-    TInt err( KErrNotFound );
-    TInt position( aValue.Find( KHexStart8 ) );
-    
-    TLex8 lexer( aValue );
-    if ( position == 0 )
-        {
-        // is hex, it it can only unsinged
-        lexer.SkipAndMark( KHexStart8().Length() );
-        TUint tmp;
-        err = lexer.Val( tmp, EHex );
-        aResult = tmp;
-        }
-    else
-        {
-        err = lexer.Val( aResult );
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnConvUtils::StrToInt( const TDesC& aValue, TInt& aResult )
-    {
-    TInt err( KErrNotFound );
-    RBuf8 buf;
-    err = buf.Create( aValue.Length() );
-    if ( KErrNone == err )
-        {
-        buf.Copy( aValue );
-        err = HnConvUtils::Str8ToInt( buf, aResult );
-        }
-    buf.Close();
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnConvUtils::Str8ToInt( const TDesC8& aValue, TInt32& aResult )
-    {
-    // if a string starts from '0x' then convert aStr from hex to int.
-    // else send aStr to the StrDec2Uint    
-    TInt err( KErrNotFound );
-    TInt position( aValue.Find( KHexStart8 ) );
-    
-    TLex8 lexer( aValue );
-    if ( position == 0 )
-        {
-        // is hex, it it can only unsinged
-        TUint32 tmp;
-        lexer.SkipAndMark( KHexStart8().Length() );
-        err = lexer.Val( tmp, EHex );
-        aResult = tmp;
-        }
-    else
-        {
-        err = lexer.Val( aResult );
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt  HnConvUtils::StrToInt( const TDesC& aValue, TInt32& aResult )
-    {
-    TInt err( KErrNotFound );
-    RBuf8 buf; 
-    err = buf.Create( aValue.Length() );
-    if ( KErrNone == err )
-        {
-        buf.Copy( aValue );
-        err = HnConvUtils::Str8ToInt( buf, aResult );
-        }
-    buf.Close();
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnConvUtils::Str8ToUint( const TDesC8& aValue, TUint& aResult )
-    {
-    // if a string starts from '0x' then convert aStr from hex to int.
-    // else send aStr to the StrDec2Uint    
-    TInt err( KErrNotFound );
-    TInt position( aValue.Find( KHexStart8 ) );
-    
-    TLex8 lexer( aValue );
-    if ( position == 0 )
-        {
-        // is hex
-        lexer.SkipAndMark( KHexStart8().Length() );
-        err = lexer.Val( aResult, EHex );
-        }
-    else
-        {
-        err = lexer.Val( aResult );
-        }
-    return err;
-    }
--- a/menufw/hierarchynavigator/hnutilities/src/hnliwutils.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,579 +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:  
-*
-*/
-
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <liwservicehandler.h>
-#include <f32fsys.h>
-#include "hnmdbasekey.h"
-#include "hnglobals.h"
-#include "hnliwutils.h"
-#include "hnconvutils.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C void HnLiwUtils::SetGenericParamListL(
-    const RPointerArray<CHnMdBaseKey> & aKeys,
-    CLiwGenericParamList & aInParam )
-    {
-    // for each key
-    for ( TInt i( 0 ); i < aKeys.Count(); i++ )
-        {
-        CHnMdBaseKey* key = aKeys[i];
-        const TDesC8& keyName = key->KeyName();
-        TLiwVariant value;
-        value.PushL();
-        key->ToVariantL( value );
-        aInParam.AppendL( TLiwGenericParam( keyName, value ) );      
-        CleanupStack::PopAndDestroy( &value );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool HnLiwUtils::VariantToStringL(
-        TLiwVariant& aVariant,
-        RBuf& aBuf )
-    {
-    TBool accepted( ETrue );
-    switch ( aVariant.TypeId() )
-        {
-        case LIW::EVariantTypeDesC:
-            {
-            aBuf.CreateL( aVariant.AsDes() );
-            break;
-            }
-        case LIW::EVariantTypeDesC8:
-            {
-            HBufC* tmp = HnConvUtils::Str8ToStr( aVariant.AsData() );
-            if ( !tmp )
-                {
-                User::Leave( KErrNoMemory );
-                }
-                aBuf.Assign( tmp );
-            break;
-            }
-        case LIW::EVariantTypeTUid:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTUid().iUid, EHex );
-            break;
-            }
-        case LIW::EVariantTypeTInt32:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTInt32() );
-            break;
-            }
-        case LIW::EVariantTypeTInt64:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTInt64() );
-            break;
-            }
-        case LIW::EVariantTypeTUint:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTUint() );
-            break;
-            }
-        case LIW::EVariantTypeTBool:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTBool() );
-            break;
-            }
-        default:
-            {
-            accepted = EFalse;
-            }
-        }
-    return accepted;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool HnLiwUtils::VariantToStringL(
-        TLiwVariant& aVariant,
-        RBuf8& aBuf )
-    {
-    TBool accepted( ETrue );
-    switch ( aVariant.TypeId() )
-        {
-        case LIW::EVariantTypeDesC:
-            {
-            aBuf.Assign( HnConvUtils::StrToStr8L( aVariant.AsDes() ) );
-            break;
-            }
-        case LIW::EVariantTypeDesC8:
-            {
-            aBuf.CreateL( aVariant.AsData() );
-            break;
-            }
-        case LIW::EVariantTypeTUid:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTUid().iUid, EHex );
-            break;
-            }
-        case LIW::EVariantTypeTInt32:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTInt32() );
-            break;
-            }
-        case LIW::EVariantTypeTInt64:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTInt64() );
-            break;
-            }
-        case LIW::EVariantTypeTUint:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTUint() );
-            break;
-            }
-        case LIW::EVariantTypeTBool:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTBool() );
-            break;
-            }
-        default:
-            {
-            accepted = EFalse;
-            }
-        }
-    return accepted;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetIterableItemCountL( CLiwIterable& aIterable )
-    {
-    TInt count = 0;
-    TLiwVariant variant;
-    variant.PushL();
-    aIterable.Reset();
-    while( aIterable.NextL(variant))
-        {
-        ++count;
-        }
-    CleanupStack::PopAndDestroy( &variant );
-    return count;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetStringL(
-    const CLiwGenericParamList& aParam,
-    const TDesC8& aPath,
-    RBuf& aRet )
-    {
-    TInt ret( KErrNone );
-    TLiwVariant value;
-    value.PushL();
-    
-    ret = GetVariantL( aParam, aPath, value );
-    if ( ret == KErrNone && !VariantToStringL( value, aRet ) )
-        {
-        ret = KErrBadDescriptor;
-        }
-    
-    CleanupStack::PopAndDestroy( &value );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetStringL(
-    const CLiwGenericParamList& aParam,
-    const TDesC8& aPath,
-    RBuf8& aRet )
-    {
-    TInt ret( KErrNone );
-    TLiwVariant value;
-    value.PushL();
-    
-    ret = GetVariantL( aParam, aPath, value );
-    if ( ret == KErrNone && !VariantToStringL( value, aRet ) )
-        {
-        ret = KErrBadDescriptor;
-        }
-    
-    CleanupStack::PopAndDestroy( &value );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetStringL( const CLiwGenericParamList& aParam,
-    const TDesC8& aPath, TInt aPos, RBuf& aRet )
-    {
-    TInt ret( KErrNone );
-    TLiwVariant value;
-    value.PushL();
-    
-    ret = GetVariantL( aParam, aPath, aPos, value );
-    if ( ret == KErrNone && !VariantToStringL( value, aRet ) )
-        {
-        ret = KErrBadDescriptor;
-        }
-    
-    CleanupStack::PopAndDestroy( &value );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetStringL( const CLiwGenericParamList& aParam,
-    const TDesC8& aPath, TInt aPos, RBuf8& aRet )
-    {
-    TInt ret( KErrNone );
-    TLiwVariant value;
-    value.PushL();
-    
-    ret = GetVariantL( aParam, aPath, aPos, value );
-    if ( ret == KErrNone && !VariantToStringL( value, aRet ) )
-        {
-        ret = KErrBadDescriptor;
-        }
-    
-    CleanupStack::PopAndDestroy( &value );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetInt64L( const CLiwGenericParamList& aParam,
-    const TDesC8& aPath, TInt aPos, TInt64& aRet )
-    { 
-    RBuf8 buf;
-    TInt err = HnLiwUtils::GetStringL( aParam, aPath, aPos, buf );
-    
-    if ( KErrNone == err )
-    	{
-        TInt64 value( KErrNotFound );
-        TLex8 lex( buf );
-
-    	if ( KErrNone == lex.Val( value ) )
-    		{
-    		aRet = value;
-    		err = KErrNone;
-    		}
-    	}
-    
-    buf.Close();
-    
-    return err;    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetVariantL(
-    const CLiwGenericParamList& aParam,
-    const TDesC8& aPath,
-    TInt aPos,
-    TLiwVariant& aRet )
-    {
-    TInt ret( KErrNone );
-    RBuf8 path;
-    CleanupClosePushL( path );
-    path.CreateL( aPath );
-    // replace index if exist in the path
-    HnLiwUtils::ReplaceIndexL( path, aPos );
-    // fetch variant
-    ret = HnLiwUtils::GetVariantL( aParam, path, aRet );
-    if ( ret == KErrNotFound )
-        {
-        TInt colonFound( aPath.Find( KColon8 ) );
-        if ( KErrNotFound != colonFound )
-            {
-            /*TInt pos( 0 );
-            TInt rest( aPos );
-            while ( ( rest = rest / 10 ) != 0 )
-                { 
-                pos++;
-                }*/
-            
-            path.SetLength( colonFound ); 
-            TLiwVariant tempVariant;
-            tempVariant.PushL();
-            if ( KErrNotFound != HnLiwUtils::GetVariantL( aParam, path, aRet ) )
-                {
-                ret = KErrHidden;
-                }
-            else
-                {
-                ret = KErrNotFound;
-                }
-            CleanupStack::PopAndDestroy( &tempVariant );
-            }
-        }
-    CleanupStack::PopAndDestroy( &path );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnLiwUtils::ExtractNameSpaceL(
-    const CLiwGenericParamList& aParam, 
-    const TDesC8& aNameSpace,
-    TLiwVariant& aRet )
-    {
-        TInt pos( 0 );
-        const TLiwGenericParam* param;
-        
-        if ( &aParam != NULL )
-	    	{
-	    	param = aParam.FindFirst( pos, aNameSpace );
-	        if ( pos >= 0 )
-		        {
-		        aRet.SetL( param->Value() );
-		        }
-	    	}
-        else
-        	{
-        	pos = KErrNotFound;
-        	}
-        
-        return pos;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetVariantL(
-    const CLiwGenericParamList& aParam,
-    const TDesC8& aPath,
-    TLiwVariant& aRet )
-    {
-    RArray< TPtrC8 > path;
-    CleanupClosePushL( path );
-    TInt ret( KErrNone );
-    TLiwVariant variant;
-    TLiwVariant lastVariant;
-    variant.PushL();
-    lastVariant.PushL();
-    
-    aRet.SetL( TLiwVariant( aPath ) );
-    
-    ParsePathL( aPath, path );
-
-    if ( path.Count() > 0
-        && ExtractNameSpaceL( aParam, path[0], lastVariant ) != KErrNotFound )
-        {
-        TBool found( ETrue );
-        for ( TInt i( 1 ); i < path.Count() && found; i++ )
-            {
-            TPtrC8 name = path[ i ];
-            LIW::TVariantTypeId typeId = lastVariant.TypeId();
-            // LIW::Type ID 7
-            if ( typeId == LIW::EVariantTypeList ) 
-                {
-                TInt pos( GetPosition( name ) );
-                found = (pos != KErrNotFound) ? lastVariant.AsList()->AtL( pos, variant ) : EFalse;
-                }
-            // LIW::Type ID 8
-            else if ( typeId == LIW::EVariantTypeMap ) 
-                {
-                found = lastVariant.AsMap()->FindL( name, variant );
-                }
-            // LIW::Type ID 9
-            else if ( typeId == LIW::EVariantTypeIterable ) 
-                {
-                TInt pos( GetPosition( name ) );
-                found = GetIterableByPositionL( *lastVariant.AsIterable(), pos, variant );
-                }
-            lastVariant.SetL( variant ); 
-            }
-        ret = found ? KErrNone : KErrNotFound;
-        //aRet.SetL( ( ret != KErrNotFound ) ? variant : TLiwVariant( aPath ) );
-        if ( found == 0 )
-        	{
-        	aRet.SetL( TLiwVariant( KNullDesC8 ) );
-        	}
-        else
-        	{
-        	aRet.SetL( variant );
-        	}
-        }
-
-    CleanupStack::PopAndDestroy( &lastVariant );
-    CleanupStack::PopAndDestroy( &variant );
-    CleanupStack::PopAndDestroy( &path );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void HnLiwUtils::ParsePathL(
-    const TDesC8& aPath, 
-    RArray< TPtrC8 >& aPathParts )
-    {
-    TChar ch; // token separator
-
-    TInt colonPos = aPath.Find( KColon8 );
-
-    if ( colonPos > 0 )
-        {
-        TLex8 lex( aPath );
-
-        while ( !lex.Eos() )
-            {
-            ch = lex.Get();
-
-            // namespace
-            if ( ch == KColon()[0] )
-                {
-                lex.UnGet();
-                TPtrC8 nextToken = lex.MarkedToken();
-                lex.SkipAndMark( 1 );
-                aPathParts.AppendL( nextToken );
-                }
-            // list or map
-            else if ( ch == KSlash()[0] )
-                {
-                lex.UnGet();
-                TPtrC8 nextToken = lex.MarkedToken();
-                lex.SkipAndMark( 1 );
-                aPathParts.AppendL( nextToken );
-                }
-            // last token
-            else if ( lex.Eos() )
-                {
-                TPtrC8 nextToken = lex.MarkedToken();
-                aPathParts.AppendL( nextToken );
-                break;
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool HnLiwUtils::GetIterableByPositionL( CLiwIterable & aIterable, TInt pos, 
-                                          TLiwVariant & aVariant )
-	{
-    TBool ret(EFalse);
-    if ( pos >= 0 )
-        {
-        TInt counter = 0;
-        aIterable.Reset();
-        ret = aIterable.NextL( aVariant );
-        while ( ret )
-        	{
-        	if (counter == pos)
-        		{
-        		break;
-        		}
-        	counter++;
-        	ret = aIterable.NextL( aVariant );
-        	}
-        }
-    return ret;   
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnLiwUtils::GetPosition( const TDesC8& aPosition )
-    {
-    TInt ret( KErrNotFound );
-    TInt pos1 = aPosition.Find( KOpenSquareBracket );
-
-    if ( pos1 >= 0 )
-        {
-        TInt pos2 = aPosition.Find( KCloseSquareBracket );
-        // extract string number ( +1 a character after "[",
-        // -1 a character before "]"
-        TPtrC8 num = aPosition.Mid( pos1 + 1, pos2 - 1 );
-        // extract number value
-        TLex8 lex( num );
-        lex.Val( ret );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnLiwUtils::ReplaceIndexL( RBuf8& aPath8, TInt aPos )
-    {
-    TInt ret(KErrNotFound);
-    TInt indexFound( aPath8.Find( KIndex8 ) );
-
-    if ( !aPath8.Compare( KIndexWithBrackets8 ) )
-        {
-        aPath8.Close();
-        aPath8.CreateL( KMaxLength );
-        aPath8.AppendNum( aPos );
-        ret = aPath8.Length();
-        }
-    else if ( KErrNotFound != indexFound )
-        {
-        RBuf8 indexNum;
-        CleanupClosePushL( indexNum );
-        indexNum.CreateL( KMaxLength );
-        indexNum.AppendNum( aPos );
-    
-        TInt indexPos = ret = aPath8.Find( KIndex8 );
-        TInt indexLength = KIndex().Length();
-    
-        aPath8.Replace( indexPos, indexLength, indexNum );
-        ret += indexNum.Length();
-        
-        CleanupStack::PopAndDestroy( &indexNum );
-        }
-    
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdbasekey.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdkeyfactory.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnmdbasekey.h"
-
-// ======== MEMBER FUNCTIONS ========
-   
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetKeyOrNameL( const TXmlEngElement& aElement )
-    {
-    // set key or name
-    if ( !aElement.Name().Compare( KKeyElementItem8 ) )
-        {
-        if ( aElement.HasAttributeL( KKeyAttrName8 ) )
-            {
-            // key
-            SetKeyNameL( aElement.AttributeNodeL( KKeyAttrName8 ) );
-            }
-        else if ( aElement.HasAttributeL( KNameAttrName8 ) )
-            {
-            // name
-            SetKeyNameL( aElement.AttributeNodeL( KNameAttrName8 ) );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const RPointerArray<CHnMdBaseKey>& CHnMdBaseKey::SubKeys() const
-    {
-    return iSubKeys;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::BaseConstructL( const CHnMdBaseKey* aKey )
-    {
-    iKeyName.CreateL( aKey->KeyName() );
-    iContent.CreateL( aKey->KeyContent() );
-    SetSubKeysL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::BaseConstructL( TXmlEngElement aElement )
-    {
-    ASSERT( !aElement.Name().Compare( KKeyElementItem8 )
-        || !aElement.Name().Compare( KContentTypeElementItem8 ) );
-
-    SetKeyOrNameL( aElement );
-    SetValueL( aElement );
-
-    if ( aElement.HasChildNodes() )
-        {
-        SetSubKeysL( aElement  );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetValueL( const TXmlEngElement& aElement )
-    {
-    if ( aElement.HasAttributeL( KValueAttrName8 ) )
-        {
-        SetKeyContentL( aElement.AttributeNodeL( KValueAttrName8 ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetValueL( const TDesC8& aValue )
-    {
-    iContent.Close();
-    iContent.CreateL( aValue.Length() );
-    iContent.Copy( aValue );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetValueL( const TDesC& aValue )
-    {
-    iContent.Close();
-    iContent.CreateL( aValue );
-    }	
-	
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey::CHnMdBaseKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey::~CHnMdBaseKey()
-    {
-    iKeyName.Close();
-    iContent.Close();
-    iSubKeys.ResetAndDestroy();
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-const TDesC8& CHnMdBaseKey::KeyName() const
-    {  
-    return iKeyName;
-    } 
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdBaseKey::KeyContent() const
-    {
-    return iContent;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::GetKeyContent( TInt& /* aKeyContent */ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::GetKeyContent( TInt64& /* aKeyContent */ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetKeyNameL( const TXmlEngAttr& aName )
-    {
-    iKeyName.Close();
-    iKeyName.CreateL( aName.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetKeyNameL( const TDesC8& aName )
-    {
-    iKeyName.Close();
-    iKeyName.CreateL( aName );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetSubKeysL( const TXmlEngElement& aElement )
-    {    
-    RXmlEngNodeList< TXmlEngElement > subkeys;
-    CleanupClosePushL( subkeys );
-    aElement.GetChildElements( subkeys );
-    
-    TInt subkeysAmount( subkeys.Count() );
-    
-    for ( TInt j( 0 ); j < subkeysAmount; j++ )
-        {
-        TXmlEngElement subkeyElement( subkeys.Next() );
-        
-        if ( !subkeyElement.Name().Compare( KKeyElementItem8 ) )
-            {
-            CHnMdBaseKey *subkey = HnMdKeyFactory::CreateL( subkeyElement );
-            CleanupStack::PushL( subkey );
-            AddSubKeyL( subkey );
-            CleanupStack::Pop( subkey );
-            }
-        }
-    CleanupStack::PopAndDestroy( &subkeys );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetSubKeysL( const CHnMdBaseKey* aKey )
-    {
-    const RPointerArray<CHnMdBaseKey>& subKeys = aKey->SubKeys();
-    TInt count = subKeys.Count();
-    for( TInt i( 0 ); i < count ; i++ )
-        {
-        CHnMdBaseKey* subKey = subKeys[ i ]->CopyLC();
-        AddSubKeyL( subKey );
-        CleanupStack::Pop( subKey );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdBaseKey::AddSubKeyL( CHnMdBaseKey* aKey )
-    {
-    iSubKeys.AppendL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetKeyContentL( const TXmlEngAttr& aContent )
-    {
-    HBufC* value = HnConvUtils::Str8ToStrLC( aContent.Value() );
-    iContent.Close();
-    iContent.Assign( value );
-    // clean up
-    CleanupStack::Pop( value );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* CHnMdBaseKey::EvaluateLC(
-    const CLiwGenericParamList& aParamList,
-    TInt aPos )
-    {
-    CHnMdBaseKey* copy = CopyLC();
-    copy->DoEvaluateL(  aParamList, aPos );
-    return copy;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::DoEvaluateL(
-    const CLiwGenericParamList& aParamList,
-    TInt aPos )
-    {
-    EvaluateKeyValueL( aParamList, aPos );
-    // evaluate subkeys
-    TInt count( iSubKeys.Count() );
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        CHnMdBaseKey* key = iSubKeys[ i ];
-        key->DoEvaluateL( aParamList, aPos );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::EvaluateKeyValueL(
-    const CLiwGenericParamList& aParamList,
-    TInt aPos )
-    {
-    HBufC8* tempContent = HnConvUtils::StrToStr8LC( iContent );
-    RBuf tempResult;
-    CleanupClosePushL( tempResult );
-    if ( HnLiwUtils::GetStringL( aParamList, *tempContent, aPos, tempResult ) 
-        != KErrBadDescriptor )
-        {
-        iContent.Swap( tempResult );
-        }
-    CleanupStack::PopAndDestroy( &tempResult );
-    CleanupStack::PopAndDestroy( tempContent );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-
-EXPORT_C void CHnMdBaseKey::ToVariantL( TLiwVariant& /* aRet */ ) const
-    {
-    
-    }
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdBaseKey::ToGenericParamListL( CLiwGenericParamList & aRet ) const
-    {
-
-    // for each key
-    for ( TInt i( 0 ); i < iSubKeys.Count(); i++ )
-        {
-        CHnMdBaseKey* key = iSubKeys[i];
-        const TDesC8& keyName = key->KeyName();
-        TLiwVariant value;
-        value.PushL();
-        key->ToVariantL( value );
-        aRet.AppendL( TLiwGenericParam( keyName, value ) );      
-        CleanupStack::PopAndDestroy( &value );
-        }
-    }
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdbooleankey.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnglobals.h"
-#include "hnmdbooleankey.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey* CHnMdBooleanKey::NewL()
-    {
-    CHnMdBooleanKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey* CHnMdBooleanKey::NewLC()
-    {
-    CHnMdBooleanKey* self = new ( ELeave ) CHnMdBooleanKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey* CHnMdBooleanKey::NewL( const CHnMdBooleanKey* aKey )
-    {
-    CHnMdBooleanKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey* CHnMdBooleanKey::NewLC( const CHnMdBooleanKey* aKey )
-    {
-    CHnMdBooleanKey* self = new ( ELeave ) CHnMdBooleanKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdBooleanKey::CopyLC()
-    {
-    CHnMdBooleanKey* self = CHnMdBooleanKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey::~CHnMdBooleanKey()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdBooleanKey::GetBooleanValueL() const
-    {
-    TBool ret( EFalse );
-    
-    if ( !iContent.Compare( KStringFalse ) )
-        {
-        ret = EFalse;
-        }
-    else if ( !iContent.Compare( KStringTrue ) )
-        {
-        ret = ETrue;
-        }
-    else
-        {
-        TLex lex( iContent );
-        User::LeaveIfError( lex.Val( ret ) );    
-        }
-        
-    return ret;
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey::CHnMdBooleanKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBooleanKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBooleanKey::ConstructL( const CHnMdBooleanKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBooleanKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    aRet.SetL( TLiwVariant( ( TBool ) ( GetBooleanValueL() ) ) );   
-    }
-// End of file
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdinteger64key.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +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: 
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdinteger64key.h"
-#include "hnglobals.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key* CHnMdInteger64Key::NewL()
-    {
-    CHnMdInteger64Key* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key* CHnMdInteger64Key::NewLC()
-    {
-    CHnMdInteger64Key* self = new ( ELeave ) CHnMdInteger64Key();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key* CHnMdInteger64Key::NewL( const CHnMdInteger64Key* aKey )
-    {
-    CHnMdInteger64Key* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key* CHnMdInteger64Key::NewLC( const CHnMdInteger64Key* aKey )
-    {
-    CHnMdInteger64Key* self = new ( ELeave ) CHnMdInteger64Key();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CHnMdBaseKey
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdInteger64Key::CopyLC()
-    {
-    CHnMdInteger64Key* self = CHnMdInteger64Key::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key::~CHnMdInteger64Key()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// From class CHnMdBaseKey
-// converts decimal or hexadecimal string into integer 
-// ---------------------------------------------------------------------------
-//
-void CHnMdInteger64Key::GetKeyContent( TInt64& aKeyContent ) const
-    {
-    TLex lex( iContent );
-    TInt err( KErrNone );
-    if ( !iContent.Find( KHexPrefix16 ) )
-        {
-        // hexadecimal
-        TUint hex;
-        lex.Inc( KHexPrefix16().Length() );
-        lex.Mark();
-        err = lex.Val( hex, EHex );
-        aKeyContent = hex;
-        }
-    else
-        {
-        // decimal
-        err = lex.Val( aKeyContent );
-        }
-
-    if ( err != KErrNone )
-        {
-        aKeyContent = err;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key::CHnMdInteger64Key()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdInteger64Key::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdInteger64Key::ConstructL( const CHnMdInteger64Key* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// From class CHnMdBaseKey
-// ---------------------------------------------------------------------------
-//
-void CHnMdInteger64Key::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TInt64 decimalValue( KErrNotFound );
-    GetKeyContent( decimalValue );
-    aRet.SetL( TLiwVariant( ( TInt64 ) decimalValue ) );
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdintegerkey.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdintegerkey.h"
-#include "hnglobals.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey* CHnMdIntegerKey::NewL()
-    {
-    CHnMdIntegerKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey* CHnMdIntegerKey::NewLC()
-    {
-    CHnMdIntegerKey* self = new ( ELeave ) CHnMdIntegerKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey* CHnMdIntegerKey::NewL( const CHnMdIntegerKey* aKey )
-    {
-    CHnMdIntegerKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey* CHnMdIntegerKey::NewLC( const CHnMdIntegerKey* aKey )
-    {
-    CHnMdIntegerKey* self = new ( ELeave ) CHnMdIntegerKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdIntegerKey::CopyLC()
-    {
-    CHnMdIntegerKey* self = CHnMdIntegerKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey::~CHnMdIntegerKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// converts decimal or hexadecimal string into integer 
-// ---------------------------------------------------------------------------
-//
-void CHnMdIntegerKey::GetKeyContent( TInt& aKeyContent ) const
-    {
-    TLex lex( iContent );
-    TInt err( KErrNone );
-    if ( !iContent.Find( KHexPrefix16 ) )
-        {
-        // hexadecimal
-        TUint hex;
-        lex.Inc( KHexPrefix16().Length() );
-        lex.Mark();
-        err = lex.Val( hex, EHex );
-        aKeyContent = hex;
-        }
-    else
-        {
-        // decimal
-        err = lex.Val( aKeyContent );
-        }
-
-    if ( err != KErrNone )
-        {
-        aKeyContent = err;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey::CHnMdIntegerKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdIntegerKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdIntegerKey::ConstructL( const CHnMdIntegerKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdIntegerKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TInt decimalValue( KErrNotFound );
-    GetKeyContent( decimalValue );
-    aRet.SetL( TLiwVariant( ( TInt32 ) decimalValue ) );
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdkeyfactory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +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:  
-*
-*/
-
-
-#include "hnmdbasekey.h"
-#include "hnmdstring8key.h"
-#include "hnmdintegerkey.h"
-#include "hnmdinteger64key.h"
-#include "hnmduintegerkey.h"
-#include "hnmduidkey.h"
-#include "hnmdbooleankey.h"
-#include "hnmdstring16key.h"
-#include "hnmdmapkey.h"
-#include "hnmdlistkey.h"
-#include "hnmdundefkey.h"
-#include "hnglobals.h"
-#include "hnmdkeyfactory.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* HnMdKeyFactory::CreateLC( TXmlEngElement aElement )
-    {
-    CHnMdBaseKey* self = NULL;
-    
-    // First we are testing if the key contains any
-    // runtime alterable parameters. If so, they have to be constructed 
-    // differently
-//    if ( aElement.HasAttributeL( KValueAttrName8) && 
-//            aElement.HasAttributeL( KTypeAttrName8 ) ) 
-//        {
-//        TXmlEngAttr keyValue = aElement.AttributeNodeL( KValueAttrName8 );
-//        TXmlEngAttr keyType = aElement.AttributeNodeL( KTypeAttrName8 );
-//        if ( keyValue.Value().Find( HnEvent::KEventArgNamespace) 
-//                != KErrNotFound)
-//            {
-//            self = CHnMdDynamicKey::NewL( keyType.Value() );
-//            }
-//        }
-    
-    if ( aElement.HasAttributeL( KTypeAttrName8 ) )
-        {
-        TXmlEngAttr type = aElement.AttributeNodeL( KTypeAttrName8 );
-        const TPtrC8 &name = type.Value();
-        self = HnMdKeyFactory::CreateL( name );
-        }
-    else
-        {
-        self = CHnMdMapKey::NewL();
-        }
-    
-    CleanupStack::PushL( self );
-    self->BaseConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* HnMdKeyFactory::CreateL( TXmlEngElement aElement )
-    {
-    CHnMdBaseKey* self = HnMdKeyFactory::CreateLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* HnMdKeyFactory::CreateL(
-    const TDesC8& aName,
-    const TDesC8& aType,
-    const TDesC8& aValue )
-    {
-    CHnMdBaseKey* self = HnMdKeyFactory::CreateL( aType );
-    CleanupStack::PushL( self );
-    self->SetValueL( aValue );
-    self->SetKeyNameL( aName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* HnMdKeyFactory::CreateL(
-    const TDesC8& aName,
-    const TDesC8& aType,
-    const TDesC& aValue )
-    {
-    CHnMdBaseKey* self = HnMdKeyFactory::CreateL( aType );
-    CleanupStack::PushL( self );
-    self->SetValueL( aValue );
-    self->SetKeyNameL( aName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* HnMdKeyFactory::CreateL( const TDesC8& aType )
-    {
-    CHnMdBaseKey* key = NULL;
-    
-    if ( !aType.Compare( KKeyTypeString ) )
-        {
-        key = CHnMdString16Key::NewL(); //String
-        }
-    else if ( !aType.Compare( KKeyTypeString8 ) )
-        {
-        key = CHnMdString8Key::NewL(); //String8
-        }
-    else if ( !aType.Compare( KKeyTypeInteger ) )
-        {
-        key = CHnMdIntegerKey::NewL(); //Integer
-        }
-    else if ( !aType.Compare( KKeyTypeInteger64 ) )
-        {
-        key = CHnMdInteger64Key::NewL(); //Integer64
-        }
-    else if ( !aType.Compare( KKeyTypeUInteger ) )
-        {
-        key = CHnMdUIntegerKey::NewL(); //Unsigned Integer
-        }
-    else if ( !aType.Compare( KKeyTypeUid ) )
-        {
-        key = CHnMdUidKey::NewL(); //Uid
-        }
-    else if ( !aType.Compare( KKeyTypeBoolean ) )
-        {
-        key = CHnMdBooleanKey::NewL(); //Boolean
-        }
-    else if ( !aType.Compare( KKeyTypeString16 ) )
-        {
-        key = CHnMdString16Key::NewL(); //String16
-        }
-    else if ( !aType.Compare( KKeyTypeMap ) )
-        {
-        key = CHnMdMapKey::NewL(); //Map
-        }
-    else if ( !aType.Compare( KKeyTypeList ) )
-        {
-        key = CHnMdListKey::NewL(); //List
-        }
-    else
-        {
-        key = CHnMdUndefKey::NewL(); //Undefined
-        }
-
-    return key;
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdlistkey.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include <liwcommon.h>
-
-#include "hnmdlistkey.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey* CHnMdListKey::NewL()
-    {
-    CHnMdListKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey* CHnMdListKey::NewLC()
-    {
-    CHnMdListKey* self = new ( ELeave ) CHnMdListKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey* CHnMdListKey::NewL( const CHnMdListKey* aKey )
-    {
-    CHnMdListKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey* CHnMdListKey::NewLC( const CHnMdListKey* aKey )
-    {
-    CHnMdListKey* self = new ( ELeave ) CHnMdListKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdListKey::CopyLC()
-    {
-    CHnMdListKey* self = CHnMdListKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey::~CHnMdListKey()
-    {
-    iVariantContent.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey::CHnMdListKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdListKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdListKey::ConstructL( const CHnMdListKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdListKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    if ( iVariantContent.TypeId() == LIW::EVariantTypeNull )
-        {
-        CLiwDefaultList* list = CLiwDefaultList::NewL();
-        list->PushL();
-    
-        // handle children
-        for ( TInt i( 0 ); i < SubKeys().Count(); i++ )
-            {
-            TLiwVariant variant;
-            variant.PushL();
-            SubKeys()[ i ]->ToVariantL( variant );
-            list->AppendL( variant );
-            CleanupStack::Pop( &variant );
-            variant.Reset();
-            }
-        
-        aRet.SetL( TLiwVariant( list ) );
-        CleanupStack::PopAndDestroy( list );
-        }
-    else
-        {
-        aRet.SetL( iVariantContent );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdListKey::EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-        TInt aPos )
-    {
-    HBufC8 *path8 = HnConvUtils::StrToStr8LC(iContent);
-    iVariantContent.Reset();
-    
-    TLiwVariant variant;
-    if (HnLiwUtils::GetVariantL(aParamList, *path8, aPos, variant) == KErrNone
-            &&  variant.TypeId() == LIW::EVariantTypeList)
-        {
-        iVariantContent = variant;
-        }
-    else
-        {
-        variant.Reset();
-        }
-        
-    CleanupStack::PopAndDestroy(path8);
-    }
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdmapkey.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdmapkey.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey* CHnMdMapKey::NewL()
-    {
-    CHnMdMapKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey* CHnMdMapKey::NewLC()
-    {
-    CHnMdMapKey* self = new ( ELeave ) CHnMdMapKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey* CHnMdMapKey::NewL( const CHnMdMapKey* aKey )
-    {
-    CHnMdMapKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey* CHnMdMapKey::NewLC( const CHnMdMapKey* aKey )
-    {
-    CHnMdMapKey* self = new ( ELeave ) CHnMdMapKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdMapKey::CopyLC()
-    {
-    CHnMdMapKey* self = CHnMdMapKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey::~CHnMdMapKey()
-    {
-    iVariantContent.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey::CHnMdMapKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMapKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMapKey::ConstructL( const CHnMdMapKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMapKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    if ( iVariantContent.TypeId() == LIW::EVariantTypeNull )
-        {
-        CLiwDefaultMap* map = CLiwDefaultMap::NewL();
-        map->PushL();
-          
-        // handle children
-        for( TInt i( 0 ); i < SubKeys().Count(); i++ )
-            {
-            TLiwVariant variant;
-            SubKeys()[ i ]->ToVariantL( variant );
-            map->InsertL( SubKeys()[ i ]->KeyName(), variant );
-            variant.Reset();
-            }
-    
-        aRet.SetL( TLiwVariant( map ) );
-        CleanupStack::PopAndDestroy( map );
-        }
-    else
-        {
-        aRet.SetL(iVariantContent);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMapKey::EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-        TInt aPos )
-    {
-    HBufC8 *path8 = HnConvUtils::StrToStr8LC(iContent);
-    iVariantContent.Reset();
-    
-    TLiwVariant variant;
-    if ( HnLiwUtils::GetVariantL(aParamList, *path8, aPos, variant) == KErrNone
-            &&  variant.TypeId() == LIW::EVariantTypeMap )
-        {
-        iVariantContent = variant;
-        }
-    else
-        {
-        variant.Reset();
-        }
-        
-    CleanupStack::PopAndDestroy(path8);
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdstring16key.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +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: 
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdstring16key.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key* CHnMdString16Key::NewL()
-    {
-    CHnMdString16Key* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key* CHnMdString16Key::NewLC()
-    {
-    CHnMdString16Key* self = new ( ELeave ) CHnMdString16Key();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key* CHnMdString16Key::NewL( const CHnMdString16Key* aKey )
-    {
-    CHnMdString16Key* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key* CHnMdString16Key::NewLC( const CHnMdString16Key* aKey )
-    {
-    CHnMdString16Key* self = new ( ELeave ) CHnMdString16Key();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdString16Key::CopyLC()
-    {
-    CHnMdString16Key* self = CHnMdString16Key::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key::~CHnMdString16Key()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key::CHnMdString16Key()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString16Key::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString16Key::ConstructL( const CHnMdString16Key* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString16Key::ToVariantL( TLiwVariant& aRet ) const
-    {
-    aRet.SetL( TLiwVariant( KeyContent() ) );
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdstring8key.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 <liwservicehandler.h>
-
-#include "hnconvutils.h"
-#include "hnmdstring8key.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key* CHnMdString8Key::NewL()
-    {
-    CHnMdString8Key* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key* CHnMdString8Key::NewLC()
-    {
-    CHnMdString8Key* self = new ( ELeave ) CHnMdString8Key();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key* CHnMdString8Key::NewL( const CHnMdString8Key* aKey )
-    {
-    CHnMdString8Key* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key* CHnMdString8Key::NewLC( const CHnMdString8Key* aKey )
-    {
-    CHnMdString8Key* self = new ( ELeave ) CHnMdString8Key();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdString8Key::CopyLC()
-    {
-    CHnMdString8Key* self = CHnMdString8Key::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key::~CHnMdString8Key()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key::CHnMdString8Key()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString8Key::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString8Key::ConstructL( const CHnMdString8Key* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString8Key::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TLiwVariant ret;
-    HBufC8* keyVal8 = HnConvUtils::StrToStr8LC( KeyContent() );
-
-    aRet.SetL(TLiwVariant( *keyVal8) ); // crates a copy of the data
-
-    // clean up
-    CleanupStack::PopAndDestroy(keyVal8);    
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmduidkey.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +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:  
- *
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmduidkey.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey* CHnMdUidKey::NewL()
-    {
-    CHnMdUidKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey* CHnMdUidKey::NewLC()
-    {
-    CHnMdUidKey* self = new ( ELeave ) CHnMdUidKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey* CHnMdUidKey::NewL(const CHnMdUidKey* aKey)
-    {
-    CHnMdUidKey* self = NewLC(aKey);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey* CHnMdUidKey::NewLC( const CHnMdUidKey* aKey )
-    {
-    CHnMdUidKey* self = new ( ELeave ) CHnMdUidKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdUidKey::CopyLC()
-    {
-    CHnMdUidKey* self = CHnMdUidKey::NewL( this);
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey::~CHnMdUidKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUidKey::GetKeyContent( TInt& aKeyContent ) const
-    {
-    // converts hexadecimal string into integer
-    TLex lex( iContent );
-    TUint a;
-    lex.Inc( 2 );
-    lex.Mark();
-
-    TInt err = lex.Val( a, EHex );
-
-    if ( err == KErrNone )
-        {
-        aKeyContent = a;
-        }
-    else
-        {
-        aKeyContent = err;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey::CHnMdUidKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUidKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUidKey::ConstructL( const CHnMdUidKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUidKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TLiwVariant ret;
-    TInt intVal( KErrGeneral );
-    GetKeyContent( intVal );
-    aRet.SetL( TLiwVariant( TUid::Uid( intVal ) ) ); // creates a copy of the data
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmduintegerkey.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmduintegerkey.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey* CHnMdUIntegerKey::NewL()
-    {
-    CHnMdUIntegerKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey* CHnMdUIntegerKey::NewLC()
-    {
-    CHnMdUIntegerKey* self = new ( ELeave ) CHnMdUIntegerKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey* CHnMdUIntegerKey::NewL( const CHnMdUIntegerKey* aKey )
-    {
-    CHnMdUIntegerKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey* CHnMdUIntegerKey::NewLC( const CHnMdUIntegerKey* aKey )
-    {
-    CHnMdUIntegerKey* self = new ( ELeave ) CHnMdUIntegerKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdUIntegerKey::CopyLC()
-    {
-    CHnMdUIntegerKey* self = CHnMdUIntegerKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey::~CHnMdUIntegerKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey::CHnMdUIntegerKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUIntegerKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUIntegerKey::ConstructL( const CHnMdUIntegerKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUIntegerKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TLex lex( KeyContent() );
-    TUint uIntVal( KErrNone );
-    lex.Val( uIntVal );
-    aRet.SetL( TLiwVariant( uIntVal ) ); // crates a copy of the data
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdundefkey.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdundefkey.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey* CHnMdUndefKey::NewL()
-    {
-    CHnMdUndefKey* self = NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey* CHnMdUndefKey::NewLC()
-    {
-    CHnMdUndefKey* self = new ( ELeave ) CHnMdUndefKey();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey* CHnMdUndefKey::NewL( const CHnMdUndefKey* aKey )
-    {
-    CHnMdUndefKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey* CHnMdUndefKey::NewLC( const CHnMdUndefKey* aKey )
-    {
-    CHnMdUndefKey* self = new ( ELeave ) CHnMdUndefKey();
-    CleanupStack::PushL(self);
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdUndefKey::CopyLC()
-    {
-    CHnMdUndefKey* self = CHnMdUndefKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey::~CHnMdUndefKey()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey::CHnMdUndefKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUndefKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUndefKey::ConstructL( const CHnMdUndefKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnrepositorymanager.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +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: 
-*
-*/
-
-
-#include <menudebug.h>
-
-#include "hnrepositorymanager.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnRepositoryManager * CHnRepositoryManager::NewL()
-    {
-    CHnRepositoryManager * self = CHnRepositoryManager::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnRepositoryManager * CHnRepositoryManager::NewLC()
-    {
-    CHnRepositoryManager * self = new (ELeave) CHnRepositoryManager();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnRepositoryManager::StoreSuiteWidgetTypeL( 
-                    const TDesC& aSuiteName, THnSuiteWidgetType aWidgetType )
-    {
-    DEBUG(("_MM_:CHnRepositoryManager::StoreSuiteWidgetTypeL IN"));
-    DEBUG16(("_MM_:\taSuiteName: %S; aWidgetType: %d",&aSuiteName,aWidgetType));
-    
-    TInt ret( KErrGeneral );
-    
-    RArray< TUint32 > foundIds;
-    CleanupClosePushL( foundIds );
-    
-    ret = iRepository->FindEqL( 0, 0, aSuiteName, foundIds );
-
-    // If there is more than one entry of suite genre in central repository
-    // it certainly means that it's a mistake.
-    ASSERT( foundIds.Count() <= 1 );
-
-    TInt keyId;
-    if ( foundIds.Count() == 1 )
-        {
-        keyId = foundIds[ foundIds.Count() - 1 ];
-        }
-    else
-        {
-        foundIds.Reset();
-        ret = iRepository->FindL(0, 0, foundIds);
-        //Finding a free position to write
-        keyId = ( foundIds.Count() > 0 ) ?
-        		foundIds[ foundIds.Count() - 1 ] + 1 : 0;
-        }
-        
-    DEBUG(("_MM_:\t\tkey ID: %d",keyId));
-                
-    TInt stateType(aWidgetType);
-    if ( ( ret = iRepository->Set( keyId, aSuiteName ) ) == KErrNone )
-    	{
-        ret = iRepository->Set(keyId + KWidgetTypePosition, stateType);
-    	}
-    
-    User::LeaveIfError( ret );
-
-    DEBUG(("_MM_:\treturn value: %d",ret));
-    DEBUG(("_MM_:CHnRepositoryManager::StoreSuiteWidgetTypeL OUT"));
-    
-    CleanupStack::PopAndDestroy( &foundIds );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnRepositoryManager::DeleteSuiteRelatedL( const TDesC & aSuiteName )
-    {
-    TInt ret( KErrNone );
-    RArray< TUint32 > foundIds;
-    CleanupClosePushL( foundIds );
-    
-    ret = iRepository->FindEqL( 0, 0, aSuiteName, foundIds );
-    for (int i=0; i<foundIds.Count(); i++)
-        {
-        if( iRepository->Delete( foundIds[i] ) < 0 )
-        	{
-        	ret = KErrGeneral;
-        	}
-        if( iRepository->Delete( foundIds[i] + KWidgetTypePosition ) < 0 )
-        	{
-        	ret = KErrGeneral;
-        	}
-        }
-    
-    CleanupStack::PopAndDestroy( &foundIds );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnRepositoryManager::ReadSuiteWidgetTypeL(
-		const TDesC& aSuiteName, THnSuiteWidgetType& aSuiteWidget )
-    {
-    TInt ret( KErrNone );
-    RArray< TUint32 > foundIds;
-    CleanupClosePushL( foundIds );
-    ret = iRepository->FindEqL( 0, 0, aSuiteName, foundIds );
-    
-    // If there is more than one entry of suite genre in central repository
-    // it certainly means that it's a mistake.
-    ASSERT( foundIds.Count() <= 1 );
-    if ( foundIds.Count() == 1 )
-         {
-         THnSuiteWidgetType suiteState( EUnspecified );
-         ret = iRepository->Get( foundIds[0] + KWidgetTypePosition,
-        		 (int &) suiteState);
-         if( !ret )
-             {
-             switch( suiteState )
-                {
-                case EGridWidget:
-                case EListWidget:
-                case ECoverFlowWidget: 
-                case EChangeWidget:
-                case EUnspecified:
-                    aSuiteWidget = suiteState;
-                    break;
-                default: 
-                    ASSERT(false);                
-                }
-             }
-        }
-
-    CleanupStack::PopAndDestroy( &foundIds );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnRepositoryManager::~CHnRepositoryManager()
-    {
-    delete iRepository;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryManager::ConstructL()
-    {
-    iRepository = CRepository::NewL( KMatrixRepositoryUid );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryManager::CHnRepositoryManager() 
-    : KWidgetTypePosition(1), iRepository(NULL)
-    {
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnservicehandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +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:   ?Description
-*
-*/
-
-
-#include <xmlengdom.h>
-#include <liwservicehandler.h>
-
-#include "hnservicehandler.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnmdbasekey.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnServiceHandler::ConstructL(
-        const TDesC8& aService, const TDesC8& aInterface,
-        const TDesC8& aCommand,
-        CLiwGenericParamList* aConstructor,
-        CLiwGenericParamList* aServiceCommand )
-    {
-    iServiceName.CreateL( aService );
-    iInterfaceName.CreateL( aInterface );
-    iCommandName.CreateL( aCommand );
-
-    iServiceHandler = CLiwServiceHandler::NewL();
-    iInput = CLiwGenericParamList::NewL();
-
-    iOutputForAS = CLiwGenericParamList::NewL();
-
-    iServiceInterface = NULL;
-    SetServiceInterfaceL( aConstructor );
-
-    // Please note that by setting these two member variables
-    // we take ownership of aConstructor and aServiceCommand.
-    // No leaving functions may be called in ConstructL from
-    // now on.
-    iConstructor = aConstructor;
-    iCommand = aServiceCommand;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnServiceHandler* CHnServiceHandler::NewL(
-        const TDesC8& aService, const TDesC8& aInterface,
-        const TDesC8& aCommand, TServiceMode aMode,
-        CLiwGenericParamList* aConstructor,
-        CLiwGenericParamList* aServiceCommand )
-    {
-    CHnServiceHandler* self = CHnServiceHandler::NewLC( aService, aInterface,
-            aCommand, aMode,  aConstructor, aServiceCommand );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnServiceHandler* CHnServiceHandler::NewLC(
-        const TDesC8& aService, const TDesC8& aInterface,
-        const TDesC8& aCommandName, TServiceMode aMode,
-        CLiwGenericParamList* aConstructor,
-        CLiwGenericParamList* aServiceCommand )
-    {
-    CHnServiceHandler* self =  new( ELeave ) CHnServiceHandler( aMode );
-    CleanupStack::PushL( self );
-    self->ConstructL( aService, aInterface, aCommandName, aConstructor,
-            aServiceCommand );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnServiceHandler::CHnServiceHandler( TServiceMode aMode ) :
-        iMode( aMode )
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnServiceHandler::~CHnServiceHandler()
-    {
-
-    iServiceName.Close();
-    iInterfaceName.Close();
-    iCommandName.Close();
-
-    if ( iServiceInterface )
-        {
-        iServiceInterface->Close();
-        }
-
-    delete iInput;
-    delete iConstructor;
-    delete iCommand;
-    delete iOutputForAS;
-    
-    if ( iServiceHandler )
-        {
-        iServiceHandler->Reset();
-        delete iServiceHandler;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnServiceHandler::ExecuteL( MLiwNotifyCallback* aCallback,
-        TInt aCmdOptions)
-    {
-    TInt err( KErrNotSupported );
-    if( iServiceInterface )
-        {
-        err = KErrNotSupported;
-        iOutputForAS->Reset();
-        iInput->Reset();
-        iInput->AppendL( *iCommand );
-        switch( iMode )
-            {
-            case EServiceModeAsynchronous:
-                {
-                __ASSERT_DEBUG( aCallback , User::Panic( KMatrixPanic , 0 ) );
-                TRAP(err, iServiceInterface->ExecuteCmdL(
-                 iCommandName, *iInput, *iOutputForAS, aCmdOptions, aCallback ) );
-                }
-                break;
-            case EServiceModeSynchronous:
-                {
-                TRAP(err, iServiceInterface->ExecuteCmdL(
-                 iCommandName, *iInput, *iOutputForAS, aCmdOptions, NULL ) );
-                }
-                break;
-            }
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnServiceHandler::ExecuteL(
-        CLiwGenericParamList& aOutParamList, TRequestStatus& aStatus )
-    {
-    iClientStatus = &aStatus;
-    (*iClientStatus) = KRequestPending;
-    iOutputForAO = &aOutParamList;
-
-    TInt err( KErrNotSupported );
-    if( iServiceInterface )
-        {
-        err = KErrNone;
-        iInput->Reset();
-        iInput->AppendL( *iCommand );
-
-        switch (iMode)
-            {
-            case EServiceModeAsynchronous:
-                {
-                TRAP(err, iServiceInterface->ExecuteCmdL(
-                     iCommandName, *iInput, *iOutputForAO, 0, this ) );
-                if ( err != KErrNone )
-                	{
-                	User::RequestComplete( iClientStatus, err );
-                	}
-                }
-                break;
-            case EServiceModeSynchronous:
-                 {
-                 TRAP(err, iServiceInterface->ExecuteCmdL(
-                     iCommandName, *iInput, *iOutputForAO ) );
-                 User::RequestComplete( iClientStatus, KErrNone );
-                 }
-                 break;
-            default:
-                break;
-            }
-        }
-    else
-    	{
-    	// KErrNone ensures that CHnQueryResultCollector::HandleQueryResultsL()
-    	// is called, empty results are added to list, and 
-    	// CHnMdItem::ResultsCollectedL doesn't get confused
-    	User::RequestComplete( iClientStatus, KErrNone );
-    	}
-
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-EXPORT_C TInt CHnServiceHandler::HandleNotifyL(
-        TInt /*aCmdId*/,
-        TInt /*aEventId*/,
-        CLiwGenericParamList& aEventParamList,
-        const CLiwGenericParamList& /*aInParamList*/ )
-    {
-    // reset
-    if( iOutputForAO )
-        {
-        iOutputForAO->Reset();
-        iOutputForAO->AppendL( aEventParamList );
-        
-        TLiwGenericParam param;
-        TInt error(KErrNone);
-        param.PushL();
-        for (TInt i = 0; i < aEventParamList.Count(); i++)
-            {
-            if ( param.Name().Compare( KErrorCode8 ) == 0
-            		&& param.Value().AsTInt32() == KSErrNoMemory )
-            	{
-            	error = KErrNoMemory;
-            	break;
-            	}
-            }
-        CleanupStack::PopAndDestroy(&param);
-        User::RequestComplete( iClientStatus, error);
-        }
-    return KErrNone;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-TInt CHnServiceHandler::SetServiceInterfaceL(
-        CLiwGenericParamList* aConstructor )
-    {
-    CLiwGenericParamList& inParam = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParam = iServiceHandler->OutParamListL();
-
-    CLiwCriteriaItem* critItem = CLiwCriteriaItem::NewLC( KLiwCmdAsStr,
-        iInterfaceName, iServiceName );
-
-    critItem->SetServiceClass( TUid::Uid( KLiwClassBase ) );
-    RCriteriaArray critArr;
-    CleanupClosePushL( critArr );
-    critArr.AppendL( critItem );
-    iServiceHandler->AttachL( critArr );
-    inParam.AppendL( *aConstructor );
-    iServiceHandler->ExecuteServiceCmdL( *critItem, inParam, outParam );
-    CleanupStack::PopAndDestroy( &critArr );
-    CleanupStack::PopAndDestroy( critItem );
-
-    TInt pos( KErrNone );
-    outParam.FindFirst( pos, iInterfaceName );
-    if ( pos != KErrNotFound )
-        {
-        iServiceInterface = outParam[pos].Value().AsInterface();
-        }
-
-    return pos;
-    }
-
-// End of file
--- a/menufw/hierarchynavigator/rom/hierarchynavigator.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  IBY file for the hierarchynavigator space subsystem
-*
-*/
-
-
-#ifndef HIERARCHYNAVIGATOR_IBY
-#define HIERARCHYNAVIGATOR_IBY
-
-file=ABI_DIR\BUILD_DIR\hnengine.dll	                SHARED_LIB_DIR\hnengine.dll
-file=ABI_DIR\BUILD_DIR\hnmetadatamodel.dll    	    SHARED_LIB_DIR\hnmetadatamodel.dll
-file=ABI_DIR\BUILD_DIR\hnpresentationmodel.dll		SHARED_LIB_DIR\hnpresentationmodel.dll
-file=ABI_DIR\BUILD_DIR\hnutilities.dll			    SHARED_LIB_DIR\hnutilities.dll
-
-data=DATAZ_\private\10202be9\20012474.txt		private\10202be9\20012474.txt
-
-#endif // HIERARCHYNAVIGATOR_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/menufwui/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +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:  Build information file for project menufwui
-*
-*/
-
-
-#include "../mmextensions/group/bld.inf"
-#include "../mmwidgets/group/bld.inf"
-#include "../matrixmenu/group/bld.inf"
--- a/menufw/menufwui/matrixmenu/data/matrixmenu.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +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:   Resource definitions for project matrixmenu
-*
-*/
-
-
-
-NAME MMEN	// 4 letter ID
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <appinfo.rh>
-
-#ifdef LANGUAGE_SC
-	#include <sc/avkon.loc>
-	#include <sc/matrix_menu.loc>
-#else
-	#include <avkon.loc>
-	#include <matrix_menu.loc>
-#endif
-
-#include "mmgui.hrh"
-
-
-// ---------------------------------------------------------------------------
-// RSS_SIGNATURE
-// ---------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// r_default_document_name
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name
-	{
-	buf="";
-	}
-
-// ---------------------------------------------------------------------------
-// EIK_APP_INFO
-// ---------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-	{
-	menubar = r_main_menubar;
-	cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-	}
-
-// ---------------------------------------------------------------------------
-// r_global_toolbar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_global_toolbar
-    {
-    flags = KAknToolbarFixed;
-    // define empty button set in order for the toolbar to be displayed properly,
-    // buttons will be updated at runtime
-    items =
-        {
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMmToolbarControl1;
-            control = AVKON_BUTTON
-                {
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMmToolbarControl2;
-            control = AVKON_BUTTON
-                {
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMmToolbarControl3;
-            control = AVKON_BUTTON
-                {
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_main_menubar
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_main_menubar
-	{
-	titles =
-		{
-		MENU_TITLE { menu_pane = r_main_menu_pane; }
-		};
-	}
-
-// ---------------------------------------------------------------------------
-// r_main_menu_pane
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_main_menu_pane
-	{
-	items =
-		{
-        MENU_ITEM
-            {
-            command = EMmOptionsExit;
-            txt = qtn_options_exit;
-            }
-        };
-	}
-
-//empty "placeholder" cascade menu panes
-// ---------------------------------------------------------------------------
-// r_cascade_menu_pane_1
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cascade_menu_pane_1
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// r_cascade_menu_pane_2
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cascade_menu_pane_2
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// r_cascade_menu_pane_3
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cascade_menu_pane_3
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// r_localisable_app_info
-// ---------------------------------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
-	{
-	short_caption = qtn_menu_title;
-	caption_and_icon = 
-	CAPTION_AND_ICON_INFO
-		{
-		caption = qtn_menu_title;
-		number_of_icons = 1;
-	   	icon_file = "\\resource\\apps\\matrixmenu.mif";
-		};
-	}
-
-//-----------------------------------------------------------------------------
-// LOGICAL NAME STRINGS
-//-----------------------------------------------------------------------------
-
-// from us spec
-
-RESOURCE TBUF r_menu_title { buf=qtn_menu_title; }
-RESOURCE TBUF r_org_root_editing_title { buf=qtn_org_root_editing_title; }
-RESOURCE TBUF r_org_folder_editing_title { buf=qtn_org_folder_editing_title; }
-RESOURCE TBUF r_menu_open { buf=qtn_menu_open; }
-RESOURCE TBUF r_menu_organize { buf=qtn_menu_organize; }
-RESOURCE TBUF r_sub_options_org_move_to_folder { buf=qtn_sub_options_org_move_to_folder; }
-RESOURCE TBUF r_menu_uninstall { buf=qtn_menu_uninstall; }
-RESOURCE TBUF r_apps_note_item_already_stored { buf=qtn_apps_note_item_already_stored; }
-RESOURCE TBUF r_apps_note_move_to_folder { buf=qtn_apps_note_move_to_folder; }
-RESOURCE TBUF r_fldr_cannot_move_folder { buf=qtn_fldr_cannot_move_folder; }
-RESOURCE TBUF r_fldr_cannot_delete_item { buf=qtn_fldr_cant_delete_folder; }
-RESOURCE TBUF r_fldr_item_cannot_be_moved { buf=qtn_fldr_item_cannot_be_moved; }
-                                
-//-----------------------------------------------------------------------------
-// Info dialog
-//-----------------------------------------------------------------------------
-RESOURCE DIALOG r_menu_info
-	{
-	flags = EAknWarningNoteFlags | EEikDialogFlagWait;
-	buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-	items =
-		{
-		DLG_LINE
-			{
-			type = EAknCtNote;
-			id = EGeneralNote;
-			control = AVKON_NOTE
-				{
-				layout = EGeneralLayout;
-				animation = R_QGN_NOTE_ERROR_ANIM;
-				};
-			}
-		};
-	}
-    
-RESOURCE CBA r_menu_softkeys_options_bexit
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt = text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt = text_softkey_exit; }
-        };
-    }
-    
-RESOURCE CBA r_menu_softkeys_options_bexit__select
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt = text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt = text_softkey_exit; },
-        AVKON_CBA_BUTTON{id=EAknSoftkeySelect; longpressid=0; txt= qtn_msk_select; }
-        };
-    }
-
-RESOURCE CBA r_menu_softkeys_empty__empty
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt = " ";},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt = " "; }
-        };
-    }
-
-// End of File
--- a/menufw/menufwui/matrixmenu/data/matrixmenu_reg.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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:  Resource definitions for project matrixmenu
-*
-*/
-
-
-#include "mmguiuid.hrh"
-#include <appinfo.rh>
-#include <matrixmenu.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 _MATRIX_UID3
-
-RESOURCE APP_REGISTRATION_INFO
-	{
-	app_file="matrixmenu";
-	localisable_resource_file = "\\resource\\apps\\matrixmenu";
-	localisable_resource_id = R_LOCALISABLE_APP_INFO;
-
-	embeddability=KAppNotEmbeddable;
-	newfile=KAppDoesNotSupportNewFile;
-	}
--- a/menufw/menufwui/matrixmenu/group/backup_registration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?> 
-<backup_registration> 
-	<proxy_data_manager SID="0x10202BE9"/>
-</backup_registration>
\ No newline at end of file
--- a/menufw/menufwui/matrixmenu/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  Build information file for project matrixmenu
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-//  Help exports
-#include "../help/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../loc/matrix_menu.loc          APP_LAYER_LOC_EXPORT_PATH(matrix_menu.loc)
-../rom/matrixmenu.iby           CORE_APP_LAYER_IBY_EXPORT_PATH(matrixmenu.iby)
-../rom/matrixmenu_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(matrixmenu_resources.iby)
-../inc/mmactionrequest.h        |../../../inc/mmactionrequest.h
-../inc/mmguiconstants.h         |../../../inc/mmguiconstants.h
-../inc/mmguiuid.hrh             |../../../inc/mmguiuid.hrh
-
-// backup registration
-backup_registration.xml Z:/private/101F4CD2/backup_registration.xml
-
-PRJ_MMPFILES
-matrixmenu.mmp
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE matrixmenu.mif
-OPTION SOURCES 	-c8,8 qgn_menu_appsgrid 
-END
-
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/menufwui/matrixmenu/group/matrixmenu.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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 definition file for project matrixmenu
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "../inc/mmguiuid.hrh"
-
-epocheapsize  1800000 4500000
-
-TARGET          matrixmenu.exe
-TARGETTYPE      exe
-UID             0x100039CE _MATRIX_UID3  
-
-CAPABILITY      CAP_APPLICATION
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          mmgui.cpp
-SOURCE          mmapplication.cpp
-SOURCE          mmappui.cpp
-SOURCE          mmdocument.cpp
-SOURCE          mmnomemory.cpp
-SOURCE          mmappkeyhandler.cpp
-
-SOURCEPATH      ../data
-
-START RESOURCE  matrixmenu.rss
-HEADER
-TARGET matrixmenu.rsc
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END //RESOURCE
-
-START RESOURCE  matrixmenu_reg.rss
-DEPENDS matrixmenu.rsg
-TARGET matrixmenu_reg.rsc
-TARGETPATH /private/10003a3f/apps
-END //RESOURCE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../loc
-
-SYSTEMINCLUDE   ../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY           euser.lib
-
-LIBRARY           apparc.lib
-LIBRARY           avkon.lib
-LIBRARY           apgrfx.lib            // for TApaTask
-LIBRARY           eikcore.lib
-LIBRARY           eikcoctl.lib
-LIBRARY           cone.lib
-LIBRARY           fbscli.lib
-LIBRARY           egul.lib
-LIBRARY           gdi.lib
-LIBRARY			  eikctl.lib
-LIBRARY           bafl.lib
-LIBRARY           ws32.lib 
-
-LIBRARY           commonengine.lib      // for  stringloader
-LIBRARY           cdlengine.lib         // for Layout_Meta_Data
-LIBRARY           featmgr.lib
-LIBRARY           gfxtrans.lib          // effects
-
-LIBRARY           hnengine.lib
-LIBRARY           hnpresentationmodel.lib
-LIBRARY           mmwidgets.lib
-LIBRARY           hnutilities.lib
-LIBRARY           liwservicehandler.lib 
-LIBRARY           mmextensionmanager.lib
-LIBRARY           aknskins.lib
-LIBRARY           aknskinsrv.lib
-LIBRARY           aknswallpaperutils.lib
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-// End of File
Binary file menufw/menufwui/matrixmenu/help/data/xhtml.zip has changed
--- a/menufw/menufwui/matrixmenu/help/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>				
-PRJ_EXPORTS
-:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
-
-../inc/app.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/app.hlp.hrh)
-../rom/matrixmenuhelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(matrixmenuhelps_variant.iby)
--- a/menufw/menufwui/matrixmenu/help/inc/app.hlp.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:
-*
-*/
-	
-//
-// app.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __APP_HLP_HRH__
-#define __APP_HLP_HRH__
-
-_LIT(KAPP_HLP_APP_SHELL, "APP_HLP_APP_SHELL"); // 
-
-#endif 
\ No newline at end of file
--- a/menufw/menufwui/matrixmenu/help/rom/matrixmenuhelps_variant.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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 the matrix menu helps
-*
-*/
-
-#ifndef __MATRIXMENUHELPS_VARIANT_IBY__
-#define __MATRIXMENUHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE) 
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD2\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD2\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD2\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD2\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD2\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD2\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD2\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD2\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/menufw/menufwui/matrixmenu/inc/mmactionrequest.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  
-*
-*/
-
-
-
-#ifndef C_HNENGINE_REQUEST_H
-#define C_HNENGINE_REQUEST_H
-
-class CLiwGenericParamList;
-/**
- * @ingroup group_hnengine
- *  Hierarchy Navigator engine request. Implemented by the hierarchy navigator engine to handle 
- *  incoming requests defined using the liw generic parameters list ( CLiwGenericParamList ).
- *
- * @lib hnengine
- * @since S60 v3.2
- */
-class MMmActionRequest
-    {
-public:
-    
-    /**
-     * Enables to issue a request to Hn engine.
-     * 
-     * @since S60 v5.0
-     * @param aParam Input Parameters.
-     * @param aOutput Target list for output.  
-     */
-    virtual void HandleRequestL( const CLiwGenericParamList& aParam, 
-                                CLiwGenericParamList* aOutput = NULL ) = 0;
-    
-    };
-
-#endif //C_HNENGINE_REQUEST_H
--- a/menufw/menufwui/matrixmenu/inc/mmappkeyhandler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +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:  Application key detecting helper class
-*  Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#ifndef CMMAPPKEYHANLDER_H
-#define CMMAPPKEYHANDLER_H
-
-#include <e32base.h>	// For CActive, link against: euser.lib
-#include <w32std.h>
-
-/**
- *  @ingroup group_matrixmenu
- *  
- *  CMmAppkeyHandler is a helper class. It is a low priority active object.
- *  It is used to detect quick and frequent usage of the application key.
- *  To detect this state the IsActive() method should be invoked. If IsActive() returns
- *  ETrue, this means there is heavy processing which blocks the active object completion,
- *  which may indicate that appkey is being frequently pressed.
- *  
- *  @since S60 v5.0
- */
-class CMmAppkeyHandler : public CActive
-	{
-public:
-    /**
-     * Cancel and destroy.
-     */
-	~CMmAppkeyHandler();
-
-    /**
-     * Two-phased constructor.
-     * @return instance of CMmAppkeyHandler.
-     */
-	static CMmAppkeyHandler* NewL();
-
-    /**
-     * Two-phased constructor.
-     * @return instance of CMmAppkeyHandler.
-     */
-	static CMmAppkeyHandler* NewLC();
-
-public:
-	// New functions
-	
-    /**
-     * Function for making the initial request.
-     */
-	void StartL();
-
-private:
-    /**
-     * C++ constructor.
-     */
-	CMmAppkeyHandler();
-
-    /**
-     * Second-phase constructor.
-     */
-	void ConstructL();
-	
-private:
-    /**
-     * From CActive.
-     * Handle completion.
-     */
-	void RunL();
-
-    /**
-     * How to cancel me.
-     * Left without implementation because the AO completes itself in StartL;
-     */
-	void DoCancel();
-    
-	/**
-     * Override to handle leaves from RunL(). Default implementation causes
-     * the active scheduler to panic.
-     * 
-     * @param aError Error occurred;
-     * @return Error code.
-     */
-	TInt RunError(TInt aError);
-
-	};
-
-#endif // CMMAPPKEYHANLDER_H
--- a/menufw/menufwui/matrixmenu/inc/mmapplication.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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:  Application class
-*
-*/
-
-
-#ifndef C_MMAPPLICATION_H
-#define C_MMAPPLICATION_H
-
-// INCLUDES
-#include <aknapp.h>
-
-/**
- *  @ingroup group_matrixmenu
- *  Matrix Menu Application.
- *  AVKON Application class.
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS(CMmApplication) : public CAknApplication
-	{
-	
-public:
-
-// from base class CApaApplication
-
-	/**
-     * From CApaApplication.
-     * Returns application's UID.
-     *
-     * @since S60 v5.0
-     * @return Application's UID (KUidMatrixMenuApp).
-     */
-	TUid AppDllUid() const;
-
-protected:
-
-// from base class CApaApplication
-
-	/**
-     * From CApaApplication.
-     * Creates the Document.
-     *
-     * @since S60 v5.0
-     * @return Instance of the Document.
-     */
-	CApaDocument* CreateDocumentL();
-	
-	};
-
-#endif // C_MMAPPLICATION_H
-
-// End of File
--- a/menufw/menufwui/matrixmenu/inc/mmappui.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1014 +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:  Application UI class
-*  Version     : %version: MM_83.1.2.1.23.1.20 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMAPPUI_H
-#define C_MMAPPUI_H
-
-// INCLUDES
-#include <gfxtranseffect/gfxtranseffect.h>     // for transition effects
-#include <akntranseffect.h>                    // for transition effects
-
-#include <e32hashtab.h>
-#include <aknappui.h>
-#include <akntoolbarobserver.h>
-#include <eiklbo.h>
-#include <AknsSrvClient.h>
-
-#include "hncontrollerinterface.h"
-#include "mmwidgetobserver.h"
-#include "hnsuiteobserver.h"
-#include "mmactionrequest.h"
-#include "hnglobals.h"
-
-
-// FORWARD DECLARATIONS
-
-class CHnInterface;
-class CHnSuiteModel;
-class MHnMenuItemModelIterator;
-class CAknToolbar;
-class CMmWidgetContainer;
-class CMmListBoxContainer;
-class CMmGridContainer;
-class CMmHighlightManager;
-class CLiwGenericParamList;
-class CHnItemModel;
-class CMMExtensionManager;
-class CMmTemplateLibrary;
-class CMmNoMemory;
-class CMmAppkeyHandler;
-class CAknStylusPopUpMenu;
-
-/**
- *  @ingroup group_matrixmenu
- *  Matrix Menu Application UI.
- *  Regular AVKON Application UI class, acts as controller for the application.
- *  <br>Implements:
- *  <ul>
- *  <li>MHnControllerInterface - for notifications about model changes.</li>
- *  <li>MAknToolbarObserver - to get notifications about toolbar events.</li>
- *  <li>MMmWidgetObserver -
- *      to get notifications about widget highlight changes.</li>
- *  </ul>
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS(CMmAppUi) : public CAknAppUi,
-                            public MHnControllerInterface,
-							public MAknToolbarObserver,
-                            public MMmWidgetObserver,
-                            public MMmActionRequest,
-                            public MAknsSkinChangeObserver
-	{
-
-public:
-
-	/**
-	 * 2nd phase constructor.
-	 *
-	 * @since S60 v5.0
-	 */
-	void ConstructL();
-
-	/**
-	 * C++ default constructor. This needs to be public due to
-	 * the way the framework constructs the AppUi.
-	 *
-	 * @since S60 v5.0
-	 */
-	CMmAppUi();
-
-	/**
-	 * Virtual Destructor.
-	 *
-	 * @since S60 v5.0
-	 */
-	~CMmAppUi();
-
-// from base class CEikAppUi
-
-    /**
-     * From CEikAppUi.
-     * Handles a change to the application's resources which
-     * are shared across the environment. This function calls
-     * CEikAppUi::HandleResourceChangeL except when aType is
-     * KEikDynamicLayoutVariantSwitch.
-     *
-     * @since S60 v5.0
-     * @param aType The type of resources that have changed.
-     */
-    void HandleResourceChangeL( TInt aType );
-
-    /**
-     * From CEikAppUi.
-     * Takes care of Command Line tail handling.
-     *
-     * @since S60 v5.0
-     * @param aCommand Not used by this app.
-     * @param aDocumentName Not used by this app.
-     * @param aTail Command line tail.
-     */
-	TBool ProcessCommandParametersL( TApaCommand aCommand,
-									TFileName& aDocumentName,
-									const TDesC8& aTail );
-
-    /**
-     * From CAknAppUi.
-     * This method is overriden to ignore certain commands in
-     * certain situations. For not ignored commands it simply
-     * calls the base class implementation.
-     *
-     * @param aCommand A command ID.
-     */
-    void ProcessCommandL(TInt aCommand);
-
-	/**
-     * From CEikAppUi.
-     * Takes care of Command Line tail handling.
-     *
-     * @since S60 v5.0
-     * @param aUid UID of the message.
-     * @param aParams Message params.
-     */
-	void ProcessMessageL( TUid aUid, const TDesC8& aParams );
-
-	/**
-     * From MCoeMessageObserver.
-     * Handles window server messages.
-     *
-     * @since S60 v5.0
-     * @param aClientHandleOfTargetWindowGroup The window group that the message was sent to.
-     * @param aMessageUid The message UID.
-     * @param aMessageParameters The message parameters.
-     * @return Indicates whether the message was handled or not handled by the function.
-     */
-    MCoeMessageObserver::TMessageResponse HandleMessageL(
-         TUint32 aClientHandleOfTargetWindowGroup,
-         TUid aMessageUid,
-         const TDesC8& aMessageParameters );
-
-	/**
-     * From MEikMenuObserver (CEikAppUi).
-     * Handles dynamic menu pane initialization.
-     *
-     * @since S60 v5.0
-     * @param aResourceId Resource ID of the menu pane.
-     * @param aMenuPane The menu pane itself.
-     */
-    void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-// from base class MHnControllerInterface
-
-    /**
-     * From MHnControllerInterface.
-     * Notifies UI to start a refresh after content change.
-     *
-     * @since S60 v5.0
-     * @param aRefreshType Type of refresh.
-     */
-    void NotifyUiRefreshL( const THnUiRefreshType aRefreshType );
-
-// from base class MHnSuiteObserver
-
-    /**
-     * From MHnSuiteObserver.
-     * Trigger appropriate action on suite model.
-     *
-     * @since S60 v5.0
-     * @param aCustomSuiteEvent Event to perform.
-     * @param aModel Suite model where aCustomSuiteEvent should be envoked.
-     */
-    void HandleSuiteEventL( THnCustomSuiteEvent aCustomSuiteEvent,
-                CHnSuiteModel* aModel );
-
-// from base class MEikListBoxObserver
-
-    /**
-     * From MEikListBoxObserver.
-     * Handles list box events.
-     *
-     * This pure virtual function is invoked by CEikListBox to
-     * notify the observer of list box events.
-     *
-     * @since S60 v5.0
-     * @param aListBox   The originating list box.
-     * @param aEventType A code for the event. Further information
-     *                   may be obtained by accessing the list box itself.
-     */
-    void HandleListBoxEventL( CEikListBox* aListBox,
-            MEikListBoxObserver::TListBoxEvent aEventType );
-
-// from base class MMmLongTapObserver
-
-    /**
-     * From MMmLongTapObserver.
-     * Handles long tap event reported by widget container.
-     *
-     * @since S60 v5.0
-     * @param aPenEventLocation The relative to screen pen event location.
-     */
-    void HandleLongTapEventL( const TPoint& aPenEventLocation );
-
-// from base class MMmKeyEventObserver
-
-    /**
-     * From MMmKeyEventObserver.
-     * Handles key press events.
-     *
-     * @since S60 v5.0
-     * @param aKeyEvent Key event.
-     * @param aType Event type.
-     */
-    TKeyResponse HandleKeyPressedL( const TKeyEvent &aKeyEvent,
-        TEventCode aType );
-
-// from base class MMmDragAndDropObserver
-
-    /**
-     * From MMmDragAndDropObserver.
-     * Handles the start of dragging of an item.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of the dragged item.
-     */
-    void HandleDragStartL( TInt aModelItemIndex );
-
-    /**
-     * From MMmDragAndDropObserver.
-     * Handles the event of dragging an item over a different one.
-     * Used to change presentation of folder icons to indicate drop into action.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of the item.
-     */
-    void HandleDragOverL( TInt aModelItemIndex );
-
-    /**
-     * From MMmDragAndDropObserver.
-     * Handles the stop of dragging of an item.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of the dragged item.
-     */
-    void HandleDragStopL( TInt aModelItemIndex );
-
-    /**
-     * From MMmDragAndDropObserver.
-     * Handles update of dragged item index.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex New dragged item index.
-     */
-    void HandleDraggedIndexUpdatedL( TInt  aModelItemIndex  );
-
-// from base class MAknToolbarObserver
-
-    /**
-     * From MAknToolbarObserver.
-     * Handles toolbar events for a certain toolbar item.
-     *
-     * @since S60 v5.0
-     * @param aCommand The command ID of some toolbar item.
-     */
-    void OfferToolbarEventL( TInt aCommand );
-
-//    from base class MHnControllerInterface
-    /**
-     * From MHnControllerInterface.
-     * Execute extension manager action.
-     *
-     * @since S60 v5.0
-     * @param aUid UID of the ECom plugin's.
-     * @param aCommand Command which has to be executed on the plugin.
-     *                 Request to the Service.
-     * @param aEventParamList List of the event parameters needed to
-     *                        execute action. Extention Manager is its owner.
-     * @return Number representing error code.
-     */
-    TInt ExecuteExtensionActionL( const TUid aUid , const TDesC& aCommand,
-                CLiwGenericParamList* aEventParamList );
-
-    /**
-     * Reloads cascade menu map.
-     */
-    void ReloadCascadeMenuMapL();
-
-    /**
-     * Called by the skin server when skin content is changed and the
-     * connected client wants to be informed.
-     *
-     * @since 2.0
-     */
-    void SkinContentChanged();
-
-    /**
-    * Called by the skin server to indicate that the current skin
-    * configuration has changed.
-    *
-    * @param aReason Reason code.
-    *
-    * @since 2.5
-    */
-    void SkinConfigurationChanged(
-        const TAknsSkinStatusConfigurationChangeReason aReason );
-
-    /**
-    * Called by the skin server to indicate that the available
-    * skin packages have changed.
-    *
-    * @param aReason Reason code.
-    *
-    * @since 2.5
-    */
-    void SkinPackageChanged(
-        const TAknsSkinStatusPackageChangeReason aReason );
-
-private:
-
-    /**
-     * Enum defining possible exit types for ExitMenuL method.
-     *
-     * @since S60 v5.0
-     */
-    enum TExitType
-        {
-        EExitReally,
-        EExitToIdle,
-        EExitToPhone
-        };
-
-    /**
-     * Enum defining possible exit types for ExitMenuL method.
-     *
-     * @since S60 v5.0
-     */
-    enum TExitKeyType
-        {
-        EExitKeyApplication,
-        EExitKeyRed
-        };
-
-    /**
-     * Defiens edit mode state.
-     *
-     * @since S60 v5.0
-     */
-    enum TEditModeStatus
-        {
-        ENoEditMode,
-        ETransitionToEditMode,
-        EEditMode,
-        ETransitionFromEditMode,
-        EFastTransitionFromEditMode
-        };
-
-    /**
-	 * Indicates if edit mode is on.
-	 *
-	 * @since S60 v5.0
-	 * @return Returns edit mode status.
-	 */
-    TBool IsEditMode();
-
-    /**
-	 * Adjusts highlight when entering or leaving edit mode.
-	 *
-	 * @since S60 v5.0
-	 * @param aOriginalHighlight Highlight that would normally be set
-	 * @return A modified value of highlight
-	 */
-    TInt AdjustEditModeHighlightL( TInt aOriginalHighlight );
-
-    /**
-	 * Manages the container lookup.
-	 *
-	 * @since S60 v5.0
-	 * @return Pointer to the container to be loaded, of NULL
-	 * 		   if a new container should be created.
-	 */
-    CMmWidgetContainer* GetAppropriateContainerToLoadL();
-
-    /**
-     * Submits an asynchronous service request to show user a message
-     * when Matrix Menu is out of memory.
-     *
-     * @since S60 v5.0
-     */
-    void HandleOutOfMemoryL();
-
-    /**
-     * Resets MM App UI to the initial state (most of the fields).
-     *
-     * @since S60 v5.0
-     */
-    void ResetToInitialStateL();
-
-    /**
-     * Refreshes menu pane if needed
-     */
-    void HideMenuPaneIfVisibleL();
-
-// from base class CEikAppUi
-
-	/**
-	 * From CEikAppUi.
-	 * Takes care of command handling.
-	 *
-	 * @since S60 v5.0
-	 * @param aCommand Command to be handled.
-	 */
-	void HandleCommandL( TInt aCommand );
-
-	/**
-     * From CEikAppUi.
-     * Handles Window Server events.
-     *
-     * @since S60 v5.0
-     * @param aEvent Event to be handled.
-     * @param aDestination Destination control.
-     */
-    void HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination );
-
-	/**
-     * Indicates if root (main) view is displayed.
-     *
-     * @since S60 v5.0
-     * @return ETrue if root displayed, EFalse otherwise.
-     */
-	TBool IsRootdisplayedL();
-
-	/**
-	 * Handles pen down events for an item.
-	 *
-	 * @since S60 v5.0
-     * @param aIndex Item index.
-     */
-    void HandleHighlightItemPenDownL( TInt aIndex );
-
-    /**
-     * Handles single click event on widget item.
-     *
-     * @since S60 v5.0
-     * @param aIndex Clicked item index.
-     */
-    void HandleHighlightItemSingleClickedL( TInt aIndex );
-
-    /**
-     * Handles drag event.
-     *
-     * @since S60 v5.0
-     */
-    void HandleEventDraggingActionedL();
-
-    /**
-     * Handles click (select) events for an item.
-     *
-     * @since S60 v5.0
-     * @param aIndex Item index.
-     */
-    void HandleHighlightItemDoubleClickedL( TInt aIndex );
-
-    /**
-     * Handles suite model initialized event.
-     *
-     * @param aModel Suite model that has been initialized.
-     * @since S60 v5.0
-     */
-    void HandleSuiteModelInitializedL( CHnSuiteModel* aModel );
-
-    /**
-     * Handles suite update events.
-     *
-     * @since S60 v5.0
-     */
-    void UpdateL();
-
-    /**
-     * Handles suite remove events.
-     *
-     * @since S60 v5.0
-     */
-    void RemoveL();
-
-    /**
-     * Handles suite insert events.
-     *
-     * @since S60 v5.0
-     */
-    void InsertL();
-
-	/**
-     * Handles the "Back" softkey event.
-     *
-     * @since S60 v5.0
-     */
-	void HandleBackCommandL();
-
-    /**
-     * Refreshes toolbar.
-     *
-     * @since S60 v5.0
-     */
-    void RefreshToolbarL();
-
-    /**
-     * Updates app's presentation to show desired suite content.
-     *
-     * @since S60 v5.0
-     */
-    void ShowSuiteL();
-
-    /**
-     * Creates new container for suite model.
-     *
-     * @since S60 v5.0
-     * @param aSuiteModel Suite model to load.
-     * @param aContainerToLoad Target pointer for the new container.
-     * @return ETrue if operation is succesful, EFalse otherwise
-     */
-    TBool CreateNewContainerL( CHnSuiteModel* aSuiteModel,
-            CMmWidgetContainer*& aContainerToLoad );
-
-    /**
-     * Forwards the passed event code to Hierarchy Navigator for handling.
-     *
-     * @since S60 v5.0
-     * @param aEvent Event code.
-     */
-    void ForwardEventToHNL( TInt aEvent );
-
-    /**
-     * Forwards the passed event code to Hierarchy Navigator for handling
-     * regarding the current suite's item referred to by itemid.
-     *
-     * @since S60 v5.0
-     * @param aEvent Event code.
-     * @param aItemId Item ID.
-     * @param aEventParams Additional parameters.
-     */
-    void ForwardEventToHNL( TInt aEvent, TInt aItemId,
-            CLiwGenericParamList* aEventParams = NULL );
-
-    /**
-     * Sets the Status Pane and CBA to indicate the current open suite.
-     *
-     * @param aReset Indicates if status pane should be reset.
-     * @since S60 v5.0
-     */
-    void RefreshUiPanesL( TBool aReset = EFalse );
-
-    /**
-     * Checks recieved messages and forwards to HN.
-     *
-     * @since S60 v5.0
-     * @param aMessage The message.
-     */
-    void HandleMessageL( const TDesC8& aMessage );
-
-    /**
-     * Gets the resource ID of the first free cascade menu pane container.
-     * Resource containers are defined in nsui.rss under
-     * r_main_menu_pane_cascade_* tags.
-     *
-     * @since @since S60 v5.0
-     * @return The ID of the first available cascade manu pane resource
-     *          container, or KErrNotFound if none available.
-     */
-    TInt GetNextCascadeMenuResourceId();
-
-    /**
-     * Handles the update of current shown container.
-     *
-     * @since S60 v5.0
-     * @param aWidgetContainer The widget container to be shown.
-     */
-    void HandlePresentationChangeL( CMmWidgetContainer* aWidgetContainer );
-
-    /**
-     * Handles the switching of visible containers.
-     *
-     * @since S60 v5.0
-     * @param aWidgetContainer The widget to switch to.
-     */
-    void HandleWidgetChangeRefreshL( CMmWidgetContainer* aWidgetContainer );
-
-    /**
-     * Handles the refresh if no widget change occured.
-     * Just model on the stack changed.
-     *
-     * @since S60 v5.0
-     */
-    void HandleNoWidgetChangeRefreshL();
-
-    /**
-     * Shows or hides toolbar depending on context.
-     *
-     * @since S60 v5.0
-     */
-    void HandleToolbarVisibilityL();
-
-    /**
-     * Updates the toolbar content.
-     *
-     * @since S60 v5.0
-     */
-    void UpdateToolbarL();
-
-    /**
-     * Sets the Edit Mode.
-     *
-     * @since S60 v5.0
-     * @param aIsEditMode ETrue if edit mode needs to be turned on.
-     */
-    void SetEditModeL( TBool aIsEditMode );
-
-    /**
-     * Returns TAT/Kastor effect rectangle.
-     *
-     * @since S60 v5.0
-     * @param aItemModel Model of the selected item.
-     * @param aItemId Item ID.
-     * @return Screen rect of the selected item.
-     */
-    TRect GetKastorRectL( CHnItemModel* aItemModel, TInt aItemId );
-
-    /**
-     * Returns TAT/Kastor effect depends on selected item.
-     *
-     * @since S60 v5.0
-     * @param aItemModel Model of the selected item.
-     * @return Effect id depends on item type and status.
-     */
-    TInt GetKastorEffectL( CHnItemModel* aItemModel );
-
-    /**
-     * Handles exiting Matrix.
-     *
-     * @since S60 v5.0
-     * @param aExitType type of exit.
-     */
-    void ExitMatrix( TExitType aExitType );
-
-    /**
-     * Cleans up before exiting Matrix.
-     * Stops edit mode and resets to root.
-     *
-     * @param aExitKey Red key or application key.
-     * @since S60 v5.0
-     */
-    void CleanupForExitL( TExitKeyType aExitKey );
-
-    /**
-     * Manages bringing homescreen and relevant apps to foreground.
-     *
-     * @since S60 v5.0
-     * @param aExitType type of exit.
-     */
-    void ShowHomescreenL( TExitType aExitType );
-
-    /**
-     * Places the homescreen window underneath the menu window.
-     *
-     * This method puts the homescreen window just below the matrix menu
-     * window (assuming that matrix menu is running in the foreground) so
-     * that if matrix gets closed and disappears from the screen, then
-     * homescreen will be visible immediately. If it is impossible to do
-     * so (for any reason), this method will call ShowHomescreenL.
-     *
-     * @since S60 v5.0
-     */
-    void PrepareHomescreenForMatrixExitL();
-
-    /**
-     * Opens the desired application.
-     * Used in exiting Matrix.
-     *
-     * @since S60 v5.0
-     * @param aUid UID of the app to open.
-     */
-    void OpenAppL( const TUid aUid );
-
-    /**
-     * Loads default root suite
-     *
-     * @since S60 v5.0
-     */
-    void InitializeL();
-
-    /**
-     * Refreshes Cba according to current context.
-     *
-     * @since S60 v5.0
-     */
-    void RefreshCbaL();
-
-    /**
-     * MSK text.
-     *
-     * @since S60 v5.0
-     */
-    void SetMiddleSoftKeyL();
-
-    /**
-     * Starts fullscreen.
-     * @param aKastorEffect Id of the TAT/Kastor effect.
-     *
-     * @since S60 v5.0
-     */
-    void StartLayoutSwitchFullScreen( TInt aKastorEffect
-    		= AknTransEffect::ELayoutSwitchStart);
-
-    /**
-     * Ends fullscreen
-     *
-     * @since S60 v5.0
-     */
-    void EndFullScreen();
-
-    // From MMActionRequest
-
-    /**
-     * Enables to issue a request to Hn engine.
-     *
-     * @since S60 v5.0
-     * @param aParam Input Parameters.
-     * @param aOutput Target list for output.
-     */
-     void HandleRequestL( const CLiwGenericParamList& aParam,
-                         CLiwGenericParamList* aOutput = NULL );
-
-     /**
-      * Resets map of widget containers.
-      *
-      * @since S60 v5.0
-      */
-     void ResetContainerMap();
-
-     /**
-      * Resets map of widget container to root.
-      *
-      * @since S60 v5.0
-      */
-     void ResetContainerMapToRootL();
-
-     /**
-      * Resets view to root.
-      *
-      * @return ETrue if view was not displaying root suite already, EFalse otherwise
-      */
-     TBool ResetToRootL();
-
-     /**
-      * Refreshes icons after skin changing
-      */
-     void RefreshIconsL();
-
-     /**
-      * Forward event to hierarchy navigator.
-      *
-      * @param aOffset Highlight offset.
-      */
-     void HandleHighlightOffsetL( TInt aOffset );
-
-     /**
-      * Replaces ETransitionFromEditMode or EFastTransitionFromEditMode to ENoEditMode
-      */
-     void ClearTransitionFromEditModeFlag();
-     /**
-       * Method inherited from CEikAppUi to handle
-       * out of memory problem.
-       *
-       * @param aError KErrNoMemory is handled.
-       * @param aExtErr Not used.
-       * @param aErrorText Not used.
-       * @param aContextText Not used.
-       * @return EErrorNotHandled in order to display proper information.
-       */
-     TErrorHandlerResponse HandleError( TInt aError,
-                                        const SExtendedError &aExtErr,
-                                        TDes &aErrorText,
-                                        TDes &aContextText );
-
-     /**
-      * Update widget data for number of items changed.
-      *
-      * @param aChange type of change.
-      */
-     void HandleNumberOfItemsChangedL( TItemsChangeType aChange );
-
-     /**
-      * Sets the highlighted item in gui objects accordingly to what
-      * is stored in the model. The exact result of calling this
-      * method depends on @c iMakeHightlightedItemFullyVisible
-      * flag.
-      */
-     void ApplyHighlightFromModelL();
-
-     /**
-      * Called when EFocusGained message is received by menu.
-      * Should be called only from HandleWsEvent.
-      */
-     void HandleFocusGainedL();
-
-     /**
-      * Called when application is sent to foreground.
-      * Should be called only from HandleWsEvent.
-      */
-     void HandleFullOrPartialForegroundGainedL();
-
-     /**
-      * Called when application is sent to background.
-      * Should be called only from HandleWsEvent.
-      */
-     void HandleFullOrPartialForegroundLostL();
-
-     /**
-      * Called when EFocusLost message is received by menu.
-      * Should be called only from HandleWsEvent.
-      */
-     void HandleFocusLostL();
-
-private: // Data
-
-    /**
-     * Grid's Container Widget.
-     * Own.
-     */
-    //CMmWidgetContainer* iGridContainer;
-
-    /**
-     * List's Container Widget.
-     * Own.
-     */
-    //CMmWidgetContainer* iListboxContainer;
-
-    /**
-     * Current visible Widget.
-     * Not own.
-     */
-    CMmWidgetContainer* iCurrentContainer;
-
-    /**
-     * Hash map containig widget containers, with corresponding
-     * suite id.
-     */
-    RHashMap< TInt, CMmWidgetContainer* > iContainerMap;
-
-    /**
-     * Array of container pointers, whose deletion should
-     * be delayed.
-     */
-    RPointerArray< CMmWidgetContainer > iGarbage;
-
-    /**
-     * Current suite model
-     * Not own.
-     */
-    CHnSuiteModel* iCurrentSuiteModel;
-
-    /**
-     * Hierarchy Navigator
-     * Own.
-     */
-    CHnInterface* iHNInterface;
-
-    /**
-     * Hash map for dynamic initialization of cascade menu panes.
-     * Contains item iterator pointers indexed with cascade pane resource IDs.
-     * MHnMdMenuItemIterator items not owned.
-     */
-    RHashMap<TInt, MHnMenuItemModelIterator*> iCascadeMenuMap;
-
-    /**
-     * Indicates the edit mode status.
-     */
-    TEditModeStatus iEditModeStatus;
-
-    /**
-     * Pointer to application's custom toolbar.
-     * Own.
-     */
-    CAknToolbar* iToolbar;
-
-    /**
-     * Index of dragged item.
-     */
-    TInt iItemDragged;
-
-    /**
-     * Model ID of the dragged item.
-     */
-    TInt iIdDragged;
-
-    /**
-     * Locks select events for highlight based scrolling.
-     */
-    TBool iKeyClickLocked;
-
-    /**
-     * Indicates if TAT/Kastor effect is started.
-     */
-    TBool iIsKastorEffectStarted;
-
-    /**
-     * Extension manager.
-     * Own.
-     */
-    CMMExtensionManager* iMmExtManager;
-
-	/**
-     * Screen state.
-     */
-    TBool iScreenOn;
-
-    /**
-     * Skin change needed
-     */
-    TBool iSkinChangeNeeded;
-
-    /**
-     * Template library.
-     */
-    CMmTemplateLibrary* iTemplateLibrary;
-
-    /**
-    * Skin server session.
-    */
-    RAknsSrvSession iSkinSrvSession;
-
-    /**
-     * Skin change in progress
-     */
-    TBool iSkinChangeInProgress;
-
-    /**
-     * Widget container that contains only an empty listbox.
-     * It is displayed only when there is no other container that
-     * could be displayed. It is needed to avoid ugly flicker
-     * effects where homescreen becomes visible for a fraction of
-     * second.
-     */
-    CMmWidgetContainer* iDummyContainer;
-
-    /**
-     * A template library for iDummyContainer;
-     */
-    CMmTemplateLibrary* iDummyTemplateLib;
-
-    /**
-     * Out-of-memory condition handler.
-     */
-    CMmNoMemory* iOutOfMemoryHandler;
-
-    /**
-     * This flag is intended for indicating that the highlithted item must
-     * be fully visible. It is only used in two cases:
-     * 1. When an item has been drag-and-dropped into a folder (the item
-     *    moved into the folder must be fully visible when the target suite
-     *    is displayed).
-     * 2. When turning on edit mode (the item highlighted must be fully
-     *    visible once edit mode is turned on).
-     */
-    TBool iMakeHightlightedItemFullyVisible;
-
-    /**
-     * An low priority active object used as a helper to detect frequent and
-     * quick appkey pressing.
-     * Owns.
-     */
-    CMmAppkeyHandler* iAppkeyHandler;
-
-    /**
-     * ETrue if Matrix menu has focus i.e. it is in foreground and is not eclipsed
-     * by any popup note that is not originating from Matrix menu.
-     */
-    TBool iHasFocus;
-
-    /**
-     * Own.
-     * Popup menu displayed after long tap.
-     */
-    CAknStylusPopUpMenu* iPopupMenu;
-
-    };
-
-#endif // C_MMAPPUI_H
-
-// End of File
-
--- a/menufw/menufwui/matrixmenu/inc/mmdocument.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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:  Application Document class
-*
-*/
-
-
-#ifndef C_MMDOCUMENT_H
-#define C_MMDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-// FORWARD DECLARATIONS
-class CMmAppUi;
-class CEikApplication;
-
-/**
- *  @ingroup group_matrixmenu
- *  Matrix Menu Application Document.
- *  AVKON Application Document class.
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS(CMmDocument) : public CAknDocument
-	{
-	
-public: // Constructors and destructor
-
-	/**
-	 * Two-phased constructor.
-	 * Construct a CMatrixMenuDocument for the AVKON application aApp
-	 * using two phase construction, and return a pointer
-	 * to the created object.
-	 * 
-	 * @since S60 v5.0
-	 * @param aApp Application creating this document.
-	 * @return A pointer to the created instance of CMmDocument.
-	 */
-	static CMmDocument* NewL( CEikApplication& aApp );
-
-	/**
-	 * Two-phased constructor.
-	 * Construct a CMatrixMenuDocument for the AVKON application aApp
-	 * using two phase construction, and return a pointer
-	 * to the created object.
-	 * 
-	 * @since S60 v5.0
-	 * @param aApp Application creating this document.
-	 * @return A pointer to the created instance of CMmDocument.
-	 */
-	static CMmDocument* NewLC( CEikApplication& aApp );
-
-	/**
-	 * Virtual Destructor.
-	 * 
-	 * @since S60 v5.0
-	 */
-	virtual ~CMmDocument();
-
-public: // Functions from base classes
-
-	/**
-	 * From CEikDocument, CreateAppUiL.
-	 * Create a CMmAppUi object and return a pointer to it.
-	 * The object returned is owned by the Uikon framework.
-	 * 
-     * @since S60 v5.0
-	 * @return Pointer to created instance of AppUi.
-	 */
-	CEikAppUi* CreateAppUiL();
-	
-private: // Constructors
-
-	/**
-	 * 2nd phase constructor.
-	 * 
-	 * @since S60 v5.0
-	 */
-	void ConstructL();
-
-	/**
-	 * C++ default constructor.
-	 * 
-	 * @since S60 v5.0
-	 * @param aApp Application creating this document.
-	 */
-	CMmDocument( CEikApplication& aApp );
-
-	};
-
-#endif // C_MMDOCUMENT_H
-
-// End of File
--- a/menufw/menufwui/matrixmenu/inc/mmgui.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  Resource headers for project matrixmenu
-*
-*/
-
-
-#ifndef MMGUI_HRH
-#define MMGUI_HRH
-
-#include "mmguiuid.hrh"
-
-/**
- * matrixmenu enumerate command codes.
- * 
- * @since S60 v5.0
- */
-enum TMmOptionsMenuIds
-	{
-	EMmOptionsExit = 0x6001 // start value must not be 0
-	};
-
-/** 
- * Toolbar button control IDs.
- * 
- * @since S60 v5.0
- */
-enum TMmToolbarControlIds
-    {
-    // zero based indices to bind button IDs to their positions on toolbar,
-    // now we can query HN for a button model using this enumeration
-    EMmToolbarControl1 = 0,
-    EMmToolbarControl2,
-    EMmToolbarControl3
-    };
-
-#endif // MMGUI_HRH
--- a/menufw/menufwui/matrixmenu/inc/mmguiconstants.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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:  Constants for the matrixmenu
-*
-*/
-
-
-#ifndef MMGUICONSTANTS_H
-#define MMGUICONSTANTS_H
-
-#include "mmguiuid.hrh"
-
-// UID for the application,
-// this should correspond to the uid defined in the mmp file
-const TUid 	KUidMatrixMenuApp = { _MATRIX_UID3 };
-
-// fixed menu items position multiplier
-const TInt KMenuPosMultiplier( 100 );
-// supported number of buttons in toolbar
-const TInt KNumOfButtonsInToolbar( 3 );
-
-// used for exiting Matrix
-const TInt KPhoneAppUid( 0x100058B3 );
-
-// EMHU-7KW9WM 
-const TInt KVideoCallAppUid( 0x101F8681 );  
-// used for initializing Matrix
-_LIT8( KParamSuiteName8,                 "suite_name" );
-_LIT ( KParamFolderSuite,                "foldersuite" );
-_LIT8( KParamFolderId8,                  "folder_id" );
-_LIT8( KParamRemoveLocked8, 			 "remove_locked" );
-const TInt32 KParamFolderId( 1 );
-_LIT8( KParamMoveLocked8,                "move_locked" );
-_LIT ( KParamFalse,                      "false" );
-
-#endif // MMGUICONSTANTS_H
--- a/menufw/menufwui/matrixmenu/inc/mmguiuid.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  UID of the application
-*
-*/
-
-
-#ifndef MMGUIUID_HRH
-#define MMGUIUID_HRH
-
-#define _MATRIX_UID3 0x101F4CD2
-
-#endif // MMGUIUID_HRH
--- a/menufw/menufwui/matrixmenu/inc/mmnomemory.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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: Subscribes properties from P&S
-*
-*/
-
-#ifndef CMMNOMEMORY_H
-#define CMMNOMEMORY_H
-
-#include <e32base.h>	// For CActive, link against: euser.lib
-
-/**
-
- *  An active object for generating a message.
- *
- *  It generates an appropriate message for user
- *  when Matrix Menu is out of memory.
- *
- *  @since S60 v5.0
- *  @ingroup group_matrixmenu
- */
-NONSHARABLE_CLASS( CMmNoMemory ) : public CActive
-    {
-public:
-    ~CMmNoMemory();
-
-    static CMmNoMemory* NewL();
-
-    static CMmNoMemory* NewLC();
-
-public:
-    // New functions
-	
-    /*
-     * Submit a service request.
-     * It completes on iStatus to generate an event.
-     */
-    void Start();
-
-private:
-    CMmNoMemory();
-
-    void ConstructL();
-
-private:
-    // From CActive
-    
-    /**
-     * Handle completion.
-     * It leaves (KErrNoMemory) to generate an appropriate message.
-     */
-    void RunL();
-
-    void DoCancel();
-
-    TInt RunError(TInt aError);
-
-private:
-    };
-
-#endif // CMMNOMEMORY_H
--- a/menufw/menufwui/matrixmenu/inc/mymenudebug.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "matrixmenu.txt");
-
-#endif // MYMENUDEBUG_H
-
-// End of File
--- a/menufw/menufwui/matrixmenu/loc/matrix_menu.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:   Localization strings for project matrixmenu
-*
-*/
-
-
-
-CHARACTER_SET UTF8
-
-//d: Title of the main view (root suite).
-//d: Displayed in Status Pane.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_menu_title "Menu"
-
-//d: Title of a root folder in Edit Mode.
-//d: Displayed in Status Pane.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_org_root_editing_title "Organizing Menu"
-
-//d: Title of a folder in Edit Mode.
-//d: Displayed in Status Pane. %U is the name of the opened folder.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_org_folder_editing_title "Organizing %U"
-
-//d: Label of the menu item.
-//d: Opens selected item.
-//l: list_single_pane_t1_cp2
-//r: 1.0
-#define qtn_menu_open "Open"
-
-//d: Label of the menu item.
-//d: Displayed when we are in grid and list wiev is available.
-//l: list_single_graphic_pane_t1_cp2
-//r: 1.0
-#define qtn_skins_list_appshell_list "Change to list"
-
-//d: Label of the menu item.
-//d: Displayed when we are in list and grid wiev is available.
-//l: list_single_graphic_pane_t1_cp2
-//r: 1.0
-#define qtn_skins_list_appshell_grid "Change to grid"
-
-//d: Label of the submenu item.
-//d: Enables the item to be moved using rocker keys.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_org_move "Move"
-
-//d: Label of the submenu item.
-//d: Opens "Move to folder" dialog.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_org_move_to_folder "Move to folder"
-
-//d: Label of the submenu item.
-//d: Displays "New Folder" dialog.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_org_new_folder "New folder"
-
-//d: Label of the submenu item.
-//d: Deletes an empty folder or uninstalls an application.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_delete "Delete"
-
-//d: Label of the submenu item.
-//d: Renames an existing folder.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_rename "Rename"
-
-//d: Label of the menu item.
-//d: Starts edit mode.
-//l: list_single_pane_t1_cp2
-//r: 1.0
-#define qtn_menu_organize "Edit"
-
-//d: Label of the menu item.
-//d: Opens "Move to folder" dialog in non-touch.
-//l: list_single_pane_t1_cp2
-//r: 1.0
-#define qtn_sub_options_org_move_to_folder "Move to folder"
-
-//d: Label of the submenu item.
-//d: Opens "Move to folder" dialog in touch Edit Mode.
-//l: list_single_pane_t1_cp2
-//r: 1.0
-#define qtn_popup_options_move_to_folder "Move to folder"
-
-//d: Text of the message.
-//d: Displayed if an item already stored in selected folder.
-//l: popup_note_window
-//r: 1.0
-#define qtn_apps_note_item_already_stored "Item already stored in selected folder"
-
-//d: Summary of the item moving.
-//d: Displayed after successful move.
-//d: %0U - name of the moved item, %1U - name of the destination folder.
-//l: popup_note_window
-//r: 1.0
-#define qtn_apps_note_move_to_folder "'%0U' moved to '%1U'"
-
-//d: Default text of the empty folder.
-//d: Displayed when empty folder is open.
-//l: main_list_empty_pane
-//r: 1.0
-#define qtn_menu_empty_folder "Empty folder"
-
--- a/menufw/menufwui/matrixmenu/rom/matrixmenu.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  Image description file for project matrixmenu
-*
-*/
-
-
-#ifndef MATRIXMENU_IBY
-#define MATRIXMENU_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-S60_APP_EXE( matrixmenu )
-data=DATAZ_\RESOURCE_FILES_DIR\apps\matrixmenu.mif	RESOURCE_FILES_DIR\apps\matrixmenu.mif
-
-S60_UPGRADABLE_APP_REG_RSC ( matrixmenu )
-
-// Backup registration
-data=DATAZ_\private\101F4CD2\backup_registration.xml	private\101F4CD2\backup_registration.xml
-
-#endif // MATRIXMENU_IBY
--- a/menufw/menufwui/matrixmenu/rom/matrixmenu_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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:  Image description file for project matrixmenu
-*
-*/
-
-
-#ifndef MATRIXMENURESOURCES_IBY
-#define MATRIXMENURESOURCES_IBY
-
-#include <bldvariant.hrh>
-
-S60_APP_RESOURCE( matrixmenu )
-
-#endif // MATRIXMENURESOURCES_IBY
-
-// End of File 
--- a/menufw/menufwui/matrixmenu/src/mmappkeyhandler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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:  Application UI class
-*  Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "mmappkeyhandler.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmAppkeyHandler::CMmAppkeyHandler() :
-	CActive(EPriorityIdle) // Standard priority
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmAppkeyHandler* CMmAppkeyHandler::NewLC()
-	{
-	CMmAppkeyHandler* self = new (ELeave) CMmAppkeyHandler();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmAppkeyHandler* CMmAppkeyHandler::NewL()
-	{
-	CMmAppkeyHandler* self = CMmAppkeyHandler::NewLC();
-	CleanupStack::Pop(); // self;
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmAppkeyHandler::ConstructL()
-	{
-	CActiveScheduler::Add(this); // Add to scheduler
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmAppkeyHandler::~CMmAppkeyHandler()
-	{
-	Cancel(); // Cancel any request, if outstanding
-//	 Delete instance variables if any
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmAppkeyHandler::DoCancel()
-	{
-//	no implementation.
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmAppkeyHandler::StartL()
-	{
-	Cancel(); //just in case
-	iStatus = KRequestPending;
-	SetActive(); // Tell scheduler a request is active
-	TRequestStatus* status = &iStatus;
-	User::RequestComplete( status, KErrNone );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmAppkeyHandler::RunL()
-	{
-//	do nothing
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppkeyHandler::RunError(TInt aError)
-	{
-	return aError;
-	}
--- a/menufw/menufwui/matrixmenu/src/mmapplication.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  Application class
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "mmgui.hrh"
-#include "mmdocument.h"
-#include "mmapplication.h"
-#include "mmguiconstants.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CMmApplication::CreateDocumentL()
-	{
-	// Create a Matrix Menu document, and return a pointer to it
-	return ( static_cast<CApaDocument*>
-					( CMmDocument::NewL( *this ) ) );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TUid CMmApplication::AppDllUid() const
-	{
-	// Return the UID for the Matrix Menu application
-	return KUidMatrixMenuApp;
-	}
-
-// End of File
--- a/menufw/menufwui/matrixmenu/src/mmappui.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3016 +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:  Application UI class
-*  Version     : %version: MM_176.1.28.1.61 % << Don't touch! Updated by Synergy at check-out.
-*  Version     : %version: MM_176.1.28.1.61 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include <avkon.hrh>
-#include <avkon.rsg>
-#include <akntitle.h>
-#include <eikmenub.h>
-#include <akntoolbar.h>
-#include <aknbutton.h>
-#include <e32hashtab.h>
-#include <layoutmetadata.cdl.h>
-#include <gulicon.h>
-#include <fbs.h>
-#include <eikcmbut.h>
-#include <hlplch.h>
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <activeidle2domainpskeys.h>
-#include <UikonInternalPSKeys.h>
-#include <e32property.h>
-#include <AknTaskList.h>
-#include <AknSgcc.h>                           // for transition effects
-#include <featmgr.h>
-#include <matrixmenu.rsg>
-#include <akntabgrp.h>
-#include <apgcli.h>
-#include <AknDef.hrh>
-#include <AknDlgShut.h>
-#include <mmenuinternalPSkeys.h>
-#include <aknstyluspopupmenu.h> //stylus popup for long tap event
-
-#include "mmgui.hrh"
-#include "mmguiconstants.h"
-#include "mmappui.h"
-#include "menudebug.h"
-#include "hnengine.h"
-#include "hnglobals.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnmenuitemmodel.h"
-#include "hntoolbarmodel.h"
-#include "hnbuttonmodel.h"
-#include "hnitemmodel.h"
-#include "hnconvutils.h"
-#include "hnsuitemodel.h"
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "mmwidgetcontainer.h"
-#include "mmtemplatelibrary.h"
-#include "mmextensionmanager.h"
-#include "hnitemsorder.h"
-
-#include "mmnomemory.h"
-#include "mmappkeyhandler.h"
-
-enum TMenuTransEffectContext
-    {
-    EMenuOpenFolderEffect = 1001,
-    EMenuCloseFolderEffect = 1002
-    };
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ConstructL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::ConstructL IN"));
-    MMPERF(("Test Logger speed..."));
-    MMPERF(("Test Logger speed - DONE"));
-    MMPERF(("GO!"));
-
-    //set matrix to be system app
-    iEikonEnv->SetSystem( ETrue );
-
-    TInt appUiFlags = AknLayoutUtils::PenEnabled() ?
-    	EAknEnableSkin | EAknSingleClickCompatible :
-        EAknEnableSkin | EAknEnableMSK;
-    BaseConstructL( appUiFlags );
-
-    FeatureManager::InitializeLibL();
-    iIsKastorEffectStarted = EFalse;
-    StartLayoutSwitchFullScreen( AknTransEffect::EApplicationStart );
-
-    RefreshUiPanesL( ETrue );
-    Cba()->MakeVisible( EFalse );
-    StatusPane()->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL );
-
-    iDummyTemplateLib = CMmTemplateLibrary::NewL();
-    iDummyContainer = CMmWidgetContainer::NewGridContainerL( ClientRect(),
-            this, iDummyTemplateLib );
-    iDummyContainer->SetEmptyTextL( KNullDesC );
-    AddToStackL( iDummyContainer, ECoeStackPriorityDefault,
-            ECoeStackFlagRefusesFocus | ECoeStackFlagRefusesAllKeys );
-    iDummyContainer->MakeVisible( ETrue );
-    iDummyContainer->DrawNow();
-
-    iHNInterface = CHnEngine::NewL( *this );
-    iTemplateLibrary = CMmTemplateLibrary::NewL();
-    InitializeL();
-
-    iMmExtManager = CMMExtensionManager::NewL( *this );
-
-    iScreenOn = ETrue;
-    iSkinChangeNeeded = EFalse;
-    iSkinChangeInProgress = EFalse;
-    iHasFocus = ETrue;
-
-    iSkinSrvSession.Connect(this);
-    iAppkeyHandler = CMmAppkeyHandler::NewL();
-
-    RProperty::Define( KMMenuPSCat, KMMenuLastViewKey, RProperty::EText );
-
-    MMPERF(("CMmAppUi::ConstructL - HN ready"));
-    DEBUG(("_Mm_:CMmAppUi::ConstructL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::IsRootdisplayedL()
-    {
-    TBool ret( EFalse );
-    if( iHNInterface && iHNInterface->GetSuiteModelsCountL() == KModelCountForRoot )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmAppUi::CMmAppUi()
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmAppUi::~CMmAppUi()
-    {
-    DEBUG(("_Mm_:CMmAppUi::~CMmAppUi IN"));
-
-    delete iOutOfMemoryHandler;
-    if (iCurrentSuiteModel)
-        {
-        iCurrentSuiteModel->UnregisterSuiteObserver( this );
-        }
-    delete iToolbar;
-    iCascadeMenuMap.Close();
-    RemoveFromStack( iCurrentContainer );
-    RemoveFromStack( iDummyContainer );
-    iDummyContainer->MakeVisible( EFalse );
-    delete iDummyContainer;
-    ResetContainerMap();
-    iGarbage.ResetAndDestroy();
-    delete iHNInterface;
-    FeatureManager::UnInitializeLib();
-    delete iMmExtManager;
-    delete iTemplateLibrary;
-    delete iDummyTemplateLib;
-    delete iAppkeyHandler;
-    delete iPopupMenu;
-    iSkinSrvSession.Close();
-
-    MMPERF(("Matrix closed"));
-    DEBUG(("_Mm_:CMmAppUi::~CMmAppUi OUT"));
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CAknAppUi::HandleResourceChangeL( aType );
-
-    //we're interested in layout change events
-    //only if container is available
-    if ( aType == KEikDynamicLayoutVariantSwitch &&
-            iCurrentContainer && iCurrentSuiteModel )
-        {
-        MMPERF(("Layout change START"));
-        // Do not call StartLayoutSwitchFullScreen(),
-        // layout switch effect is started automatically
-        iIsKastorEffectStarted = ETrue;
-        TInt lastItemIndex = iCurrentContainer->NumberOfItems() - 1;
-
-        if ( lastItemIndex >= 0 && iCurrentContainer->ItemIsFullyVisible( lastItemIndex ) &&
-        		!iCurrentContainer->IsHighlightVisible() )
-        	{
-        	iCurrentContainer->SetManualHighlightL( lastItemIndex, EFalse );
-        	}
-
-        iCurrentContainer->SetRect( ClientRect() );
-        iDummyContainer->SetRect( ClientRect() );
-
-        THashMapIter< TInt, CMmWidgetContainer* > iterator( iContainerMap );
-        while( iterator.NextKey() )
-            {
-            CMmWidgetContainer* container = *iterator.CurrentValue();
-            if ( container != iCurrentContainer )
-                {
-                container->SetRect( ClientRect() );
-                container->HandleResourceChange( aType );
-                }
-            }
-        ShowSuiteL();
-        EndFullScreen();
-        MMPERF(("Layout change END"));
-        }
-
-    if ( aType == KEikMessageFadeAllWindows && iCurrentContainer )
-        {
-        iCurrentContainer->SetIsFaded( ETrue );
-        }
-    else if ( aType == KEikMessageUnfadeWindows && iCurrentContainer )
-        {
-        iCurrentContainer->SetIsFaded( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::ProcessCommandParametersL( TApaCommand aCommand,
-                                                TFileName& aDocumentName,
-                                                const TDesC8& aTail )
-    {
-    DEBUG(("_Mm_:CMmAppUi::ProcessCommandParametersL IN"));
-    DEBUG8(("\t_Mm_:tail: %S", &aTail));
-
-    if ( aTail.Length() )
-        {
-        DEBUG(("\t_Mm_:call HandleMessageL"));
-        HandleMessageL( aTail );
-        }
-
-    TBool result = CEikAppUi::ProcessCommandParametersL( aCommand,
-                                                    aDocumentName,
-                                                    aTail );
-
-    MMPERF(("Matrix started and ready!"));
-    DEBUG(("_Mm_:CMmAppUi::ProcessCommandParametersL OUT"));
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ProcessCommandL(TInt aCommand)
-    {
-    TBool ignoreCommand = EFalse;
-
-    // ignore options click in edit mode and intermediate states for non-touch
-    if ( aCommand == EAknSoftkeyOptions && iEditModeStatus != ENoEditMode &&
-            !AknLayoutUtils::PenEnabled() )
-        {
-        ignoreCommand = ETrue;
-        }
-
-    // ignore keyselect for non-touch while in edit mode or stopping edit mode
-    if ( aCommand == KKeyIdSelect && !AknLayoutUtils::PenEnabled() &&
-            ( iEditModeStatus == ETransitionFromEditMode || IsEditMode() ) )
-        {
-        ignoreCommand = ETrue;
-        }
-
-    if ( !ignoreCommand )
-        {
-        CAknAppUi::ProcessCommandL( aCommand );
-        }
-
-    if ( iCurrentContainer )
-    	{
-    	iCurrentContainer->EndLongTapL();
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ProcessMessageL( TUid /*aUid*/, const TDesC8& aParams )
-    {
-    DEBUG(("_Mm_:CMmAppUi::ProcessMessageL IN"));
-    DEBUG8(("\t_Mm_:params: %S", &aParams));
-    MMPERF(("APA Message Recieved"));
-
-    // fix for the CR 417-35490
-    // Handle empty message sends by AVKON after app key press or switch
-    // to Menu via task swapper.
-    if( !aParams.Compare( KNullDesC8 ) )
-        {
-        if ( !iAppkeyHandler->IsActive() )
-        	{
-            //make dummy container visible when returning
-            //to menu by AppKey
-        	iDummyContainer->MakeVisible( ETrue );
-            RefreshUiPanesL( ETrue );
-            iCurrentContainer->MakeVisible( EFalse );
-            iDummyContainer->DrawNow();
-            CleanupForExitL( EExitKeyApplication );
-			User::LeaveIfError( iCoeEnv->WsSession().SetWindowGroupOrdinalPosition(
-						CEikonEnv::Static()->RootWin().Identifier(), 0 ) );
-			iAppkeyHandler->StartL();
-        	}
-        }
-
-    // first refresh model, show afterwords
-    if ( aParams.Length() )
-        {
-        DEBUG(("\t_Mm_:call HandleMessageL"));
-        HandleMessageL( aParams );
-        }
-
-    MMPERF(("APA Message Processed"));
-    DEBUG(("_Mm_:CMmAppUi::ProcessMessageL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-MCoeMessageObserver::TMessageResponse CMmAppUi::HandleMessageL(
-         TUint32 aClientHandleOfTargetWindowGroup,
-         TUid aMessageUid,
-         const TDesC8& aMessageParameters )
-    {
-    if ( aMessageUid.iUid == KUidApaMessageSwitchOpenFileValue )
-        {
-        ProcessMessageL( aMessageUid, aMessageParameters );
-        return EMessageHandled;
-        }
-    else
-        {
-        return CAknAppUi::HandleMessageL(
-                aClientHandleOfTargetWindowGroup,
-                aMessageUid,
-                aMessageParameters );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleCommandL( TInt aCommand )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleCommandL IN"));
-    DEBUG(("\t_Mm_:aCommand: %d",aCommand));
-
-    // in case something has gone wrong
-    ClearTransitionFromEditModeFlag();
-
-    switch( aCommand )
-        {
-        case EEikCmdExit:
-            {
-            DEBUG(("\t_Mm_:EEikCmdExit"));
-            // Simply exit
-            Exit();
-            }
-            break;
-
-        case EMmOptionsExit:
-            {
-            MMPERF(("Options->Exit pressed"));
-            DEBUG(("\t_Mm_:EMmOptionsExit"));
-
-            //Check if it is a folder suite.If Yes really exit.
-            //Otherwise behave like LSK.
-            if( iCurrentSuiteModel &&
-                iCurrentSuiteModel->SuiteName().Compare( KFolderSuite) )
-                {
-                if( iCurrentSuiteModel->ExitMode() == EExitModeHide )
-                    {
-                    // hide and reset menu
-                    TApaTaskList taskList( iCoeEnv->WsSession() );
-                    TApaTask me = taskList.FindApp( KUidMatrixMenuApp );
-                    me.SendToBackground();
-                    CleanupForExitL( EExitKeyApplication );
-                    }
-                else
-                    {
-                    StartLayoutSwitchFullScreen( EMenuCloseFolderEffect );
-                    HandleBackCommandL();
-                    }
-                }
-            else
-                {
-                ExitMatrix( EExitReally );
-                }
-            }
-            break;
-
-        case EAknSoftkeyExit:
-            {
-            MMPERF(("SoftkeyExit pressed"));
-            DEBUG(("\t_Mm_:EAknSoftkeyExit"));
-            ExitMatrix( EExitToPhone );
-            }
-            break;
-
-        case EAknSoftkeyBack:
-            {
-            StartLayoutSwitchFullScreen( EMenuCloseFolderEffect );
-
-            if( iCurrentSuiteModel && iCurrentSuiteModel->ExitMode() == EExitModeHide )
-                {
-                // hide and reset menu
-                TApaTaskList taskList( iCoeEnv->WsSession() );
-                TApaTask me = taskList.FindApp( KUidMatrixMenuApp );
-                me.SendToBackground();
-                if ( iCurrentContainer )
-                    {
-                    iCurrentContainer->MakeVisible( EFalse );
-                    }
-                iDummyContainer->MakeVisible( ETrue );
-                RefreshCbaL();
-                iDummyContainer->DrawNow();
-                CleanupForExitL( EExitKeyApplication );
-                }
-            else if( iCurrentSuiteModel )
-                {
-                HandleBackCommandL();
-                }
-            }
-            break;
-
-        case EAknSoftkeyOk:
-        case EAknSoftkeyDone:
-            {
-            ASSERT( IsEditMode() );
-            SetEditModeL( EFalse );
-            }
-            break;
-        default:
-            {
-            ForwardEventToHNL( aCommand );
-            }
-            break;
-        }
-    DEBUG(("_Mm_:CMmAppUi::HandleCommandL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleBackCommandL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleBackCommandL IN"));
-    MMPERF(("CMmAppUi::HandleBackCommandL - START"));
-    DEBUG16(("\t_Mm_:current genre: %S",&iCurrentSuiteModel->SuiteName()));
-
-    iDummyContainer->MakeVisible( ETrue );
-    RefreshUiPanesL( ETrue );
-    iCurrentContainer->MakeVisible( EFalse );
-    iDummyContainer->DrawNow();
-
-    iHNInterface->HandleBackEventL( iCurrentSuiteModel->SuiteName() );
-
-    MMPERF(("CMmAppUi::HandleBackCommandL - DONE"));
-    DEBUG(("_Mm_:CMmAppUi::HandleBackCommandL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmWidgetContainer* CMmAppUi::GetAppropriateContainerToLoadL()
-    {
-    CMmWidgetContainer* retContainer = NULL;
-    if ( iCurrentSuiteModel )
-        {
-        TInt currentSuiteId = iCurrentSuiteModel->GetItemsOrder()->GetSuiteId();
-
-        CMmWidgetContainer** ret = iContainerMap.Find( currentSuiteId );
-        retContainer = (ret) ? *ret : NULL;
-
-        if ( ret && (*ret)->WidgetType() != iCurrentSuiteModel->WidgetType() )
-            {
-            iMakeHightlightedItemFullyVisible = ETrue;
-            iGarbage.AppendL( *ret );
-            iContainerMap.Remove(
-                    iCurrentSuiteModel->GetItemsOrder()->GetSuiteId() );
-            retContainer = NULL;
-            }
-        }
-    return retContainer;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ShowSuiteL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::ShowSuiteL IN"));
-//    DEBUG16(("\t_Mm_:current genre: %S", &iCurrentSuiteModel->SuiteName()));
-
-    if ( iCurrentSuiteModel )
-        {
-        CMmWidgetContainer* containerToLoad = GetAppropriateContainerToLoadL();
-        TBool makeHandlePresentationChange( ETrue );
-
-        if (!containerToLoad)
-            {
-            makeHandlePresentationChange = CreateNewContainerL(
-                    iCurrentSuiteModel, containerToLoad );
-            }
-
-        if( makeHandlePresentationChange )
-            {
-            HandlePresentationChangeL( containerToLoad );
-            }
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::ShowSuiteL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::CreateNewContainerL(
-        CHnSuiteModel* aSuiteModel, CMmWidgetContainer*& aContainerToLoad )
-    {
-    TRect rect = ClientRect();
-    switch( aSuiteModel->WidgetType() )
-        {
-        case ECoverFlowWidget :
-        case EGridWidget :
-            aContainerToLoad = CMmWidgetContainer::NewGridContainerL(
-                    rect, this, iTemplateLibrary );
-            break;
-        case EListWidget :
-            aContainerToLoad = CMmWidgetContainer::NewListBoxContainerL(
-                    rect, this, iTemplateLibrary );
-            break;
-        case EUnspecified:
-        default:
-            return EFalse;
-        }
-    aContainerToLoad->SetLongTapObserver(this);
-    aContainerToLoad->HandleItemAdditionL();
-    iContainerMap.InsertL(
-            aSuiteModel->GetItemsOrder()->GetSuiteId(),
-            aContainerToLoad );
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ForwardEventToHNL( TInt aEvent, TInt aItemId,
-        CLiwGenericParamList* aEventParams )
-    {
-    DEBUG(("\t_Mm_:event ID: %d for item ID %d", aEvent, aItemId));
-
-    TInt id = iCurrentSuiteModel->IdByIndex( aItemId );
-    if ( id >= 0 )
-        {
-        MMPERF(("Handling event %d for item %d - START",aEvent,aItemId));
-
-        if( aEvent == KKeyIdSelect )
-            {
-            MMPERF(("This is a 'select' event"));
-
-            TInt modelId = iCurrentSuiteModel->IdByIndex( aItemId );
-            CHnItemModel* itemModel =
-                iCurrentSuiteModel->GetItemModel( modelId );
-            TInt effect = GetKastorEffectL( itemModel );
-            TRect rect = GetKastorRectL( itemModel, aItemId );
-            TUid appUid = itemModel->GetItemType() == EItemTypeApplication ?
-                itemModel->GetItemUid() : KUidMatrixMenuApp;
-
-            if (iScreenOn && IsForeground() && effect
-                    != AknTransEffect::ENone)
-                {
-                DEBUG(("_MM_:CMmAppUi::ForwardEventToHNL Foreground"));
-                GfxTransEffect::BeginFullScreen(
-                     effect, rect,
-                     AknTransEffect::EParameterType,
-                     AknTransEffect::GfxTransParam( appUid ) );
-                }
-            }
-
-        iHNInterface->TriggerHnEventL( aEvent, id, aEventParams );
-        MMPERF(("Handling event - END"));
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppUi::GetKastorEffectL( CHnItemModel* aItemModel )
-	{
-	TInt effect( AknTransEffect::ENone );
-    if ((IsEditMode() || iEditModeStatus == ETransitionFromEditMode)
-            && !AknLayoutUtils::PenEnabled())
-        {
-        return effect;
-        }
-	switch( aItemModel->GetItemType() )
-		{
-		case EItemTypeApplication:
-			{
-			if( !IsEditMode() && !aItemModel->IsDrmExpired() )
-				{
-				if( aItemModel->IsRunning() )
-					{
-					effect = AknTransEffect::EApplicationStartSwitchRect;
-					}
-				else
-					{
-					effect = AknTransEffect::EApplicationStartRect;
-					}
-				}
-			break;
-			}
-		case EItemTypeSuite:
-			{
-			if( !IsEditMode() )
-				{
-				effect = EMenuOpenFolderEffect;
-				iIsKastorEffectStarted = ETrue;
-				}
-			break;
-			}
-		case EItemTypeParentFolder:
-		    {
-            effect = EMenuCloseFolderEffect;
-            iIsKastorEffectStarted = ETrue;
-		    break;
-		    }
-		case EItemTypeFolder:
-			{
-			if (!(IsEditMode() && aItemModel->IsDeleteLocked()))
-                {
-                effect = EMenuOpenFolderEffect;
-                iIsKastorEffectStarted = ETrue;
-                }
-			break;
-			}
-		case EItemTypeUnknown:
-		default:
-			{
-			effect = AknTransEffect::ENone;
-			break;
-			}
-		}
-    return effect;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TRect CMmAppUi::GetKastorRectL( CHnItemModel* aItemModel, TInt aItemId )
-    {
-    TRect rect = TRect();
-    if( aItemModel->GetItemType() == EItemTypeApplication )
-        {
-        rect = iCurrentContainer->GetItemRectL( aItemId );
-        RRegion region; CleanupClosePushL( region );
-        StatusPane()->GetShapeL( region, true, true );
-        TInt statusPaneHeight = region.BoundingRect().Height();
-        rect.iBr.iY += statusPaneHeight;
-        rect.iTl.iY += statusPaneHeight;
-        CleanupStack::PopAndDestroy( &region );
-        }
-    return rect;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ForwardEventToHNL( TInt aEvent )
-    {
-    DEBUG(("_Mm_:CMmAppUi::ForwardEventToHNL IN"));
-    DEBUG(("\t_Mm_:event ID: %d", aEvent));
-
-    if ( iCurrentContainer )
-        {
-        TBool idByContainer = iCurrentContainer->IsHighlightVisible() &&
-                iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1;
-        TInt current = idByContainer ?
-             iCurrentContainer->GetHighlight():
-             iCurrentContainer->GetSuiteModelL()->GetSuiteHighlight();
-        ForwardEventToHNL( aEvent, current );
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::ForwardEventToHNL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::NotifyUiRefreshL( const THnUiRefreshType aRefreshType )
-    {
-    DEBUG(("_Mm_:CMmAppUi::NotifyUiRefreshL IN"));
-    DEBUG(("\t_Mm_:refresh type: %d", aRefreshType));
-
-    switch (aRefreshType)
-        {
-        case ERefreshSuite:
-            TRAPD( err, ShowSuiteL() );
-            if ( KErrNoMemory == err )
-                {
-                HandleOutOfMemoryL();
-                User::Leave( KErrNoMemory );
-                }
-            break;
-        case ERefreshToolbar:
-            RefreshToolbarL();
-            break;
-        case EStartEditMode:
-            SetEditModeL( ETrue );
-            break;
-        case EStopEditMode:
-            SetEditModeL( EFalse );
-            break;
-        case EForegroundGain:
-            {
-            DEBUG(("_MM_:CMmAppUi::NotifyUiRefreshL Foreground"));
-            TApaTaskList taskList( iCoeEnv->WsSession() );
-            TApaTask me = taskList.FindApp( KUidMatrixMenuApp );
-            me.BringToForeground();
-            }
-            break;
-        case EBackgroundGain:
-            {
-            DEBUG(("_MM_:CMmAppUi::NotifyUiRefreshL Foreground"));
-            TApaTaskList taskList( iCoeEnv->WsSession() );
-            TApaTask me = taskList.FindApp( KUidMatrixMenuApp );
-            me.SendToBackground();
-            }
-            break;
-        case ELightOn:
-            {
-            DEBUG(("_Mm_:CMmAppUi::NotifyUiRefreshL - ELightOn"));
-            iScreenOn = ETrue;
-            if ( IsForeground() && iCurrentSuiteModel )
-                {
-                iCurrentSuiteModel->SetVisibleL( ETrue );
-                }
-            if ( iCurrentContainer )
-                {
-                iCurrentContainer->HandleForegroundGainedL();
-                }
-            }
-            break;
-        case ELightOff:
-            {
-            DEBUG(("_Mm_:CMmAppUi::NotifyUiRefreshL - ELightOff"));
-            iScreenOn = EFalse;
-            if (iCurrentContainer)
-                {
-                iCurrentContainer->HandleBackgroundGainedL();
-                if (IsEditMode() && iCurrentContainer->IsDraggable())
-                    {
-                    iCurrentContainer->CancelDragL(EFalse);
-                    }
-                }
-            if (iCurrentSuiteModel)
-                {
-                iCurrentSuiteModel->SetVisibleL(EFalse);
-                }
-
-            }
-            break;
-        case ERemoveLiwObjects:
-            {
-            THashMapIter< TInt, CMmWidgetContainer* > iterator( iContainerMap );
-            while( iterator.NextKey() )
-                {
-                CMmWidgetContainer** container = iterator.CurrentValue();
-                (*container)->RemoveLiwObjects();
-                }
-            }
-            break;
-        default:
-            ASSERT( false );
-        }
-    DEBUG(("_Mm_:CMmAppUi::NotifyUiRefreshL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::RefreshToolbarL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::RefreshToolbarL IN"));
-    HandleToolbarVisibilityL();
-    UpdateToolbarL();
-    DEBUG(("_Mm_:CMmAppUi::RefreshToolbarL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::RefreshUiPanesL( TBool aReset )
-    {
-    // refresh status pane
-    CAknTitlePane* titlePane =
-        static_cast<CAknTitlePane*>(
-                StatusPane()->ControlL(
-                        TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
-    if( aReset )
-        {
-        titlePane->SetTextL( KNullDesC );
-        }
-    else
-        {
-        if ( IsEditMode() && iCurrentSuiteModel )
-            {
-            HBufC* title = NULL;
-            if ( IsRootdisplayedL() )
-                {
-                title = StringLoader::LoadLC( R_ORG_ROOT_EDITING_TITLE );
-                }
-            else
-                {
-                title = StringLoader::LoadLC(
-                        R_ORG_FOLDER_EDITING_TITLE,
-                        iCurrentSuiteModel->Title() );
-                }
-            ASSERT( title );
-            titlePane->SetTextL( title->Des() );
-            CleanupStack::PopAndDestroy( title );
-            }
-        else if ( iCurrentSuiteModel && iCurrentContainer )
-            {
-            // refresh status pane
-            titlePane->SetTextL( iCurrentSuiteModel->Title() );
-
-            // inform AVKON about current suite to allow proper handling
-            // of AppKey and FSW
-            RProperty::Set( KMMenuPSCat, KMMenuLastViewKey, iCurrentSuiteModel->SuiteName() );
-            }
-        else
-            {
-            titlePane->SetTextL( KNullDesC );
-            }
-        }
-
-    RefreshCbaL();
-    SetMiddleSoftKeyL();
-
-    StatusPane()->DrawNow();
-    Cba()->DrawNow();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::RefreshCbaL()
-    {
-    if ( ( iDummyContainer && iDummyContainer->IsVisible() ) ||
-            !iCurrentSuiteModel )
-        {
-        // R_MENU_SOFTKEYS_EMPTY__EMPTY looks much better than
-        // R_AVKON_SOFTKEYS_EMPTY
-        Cba()->SetCommandSetL( R_MENU_SOFTKEYS_EMPTY__EMPTY );
-        }
-    else
-        {
-        if ( IsEditMode() )
-            {
-            Cba()->SetCommandSetL( AknLayoutUtils::PenEnabled() ?
-                R_AVKON_SOFTKEYS_OPTIONS_DONE :
-                R_AVKON_SOFTKEYS_OK_EMPTY__OK );
-            }
-        else if ( IsRootdisplayedL() )
-            {
-            Cba()->SetCommandSetL( AknLayoutUtils::PenEnabled() ?
-                 R_AVKON_SOFTKEYS_OPTIONS_EXIT :
-                 R_AVKON_SOFTKEYS_OPTIONS_EXIT__SELECT );
-            }
-        else if ( iCurrentSuiteModel &&
-                iCurrentSuiteModel->SuiteName().Compare(KParamFolderSuite) )
-            {
-            Cba()->SetCommandSetL( AknLayoutUtils::PenEnabled() ?
-                 R_MENU_SOFTKEYS_OPTIONS_BEXIT :
-                 R_MENU_SOFTKEYS_OPTIONS_BEXIT__SELECT );
-            }
-        else
-            {
-            Cba()->SetCommandSetL( AknLayoutUtils::PenEnabled() ?
-                R_AVKON_SOFTKEYS_OPTIONS_BACK :
-                R_AVKON_SOFTKEYS_OPTIONS_BACK__SELECT );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CMmAppUi::HandleKeyPressedL( const TKeyEvent &aKeyEvent,
-            TEventCode aType )
-    {
-    TKeyResponse resp = EKeyWasNotConsumed;
-
-    // handling enter key - touch & non touch
-    if ( ( aKeyEvent.iScanCode == EStdKeyEnter ||
-            aKeyEvent.iScanCode == EStdKeyNkpEnter ||
-           aKeyEvent.iScanCode == EStdKeyDevice3 ) && aType == EEventKeyDown )
-        {
-        if ( iCurrentContainer->IsHighlightVisible() )
-            {
-            DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - enter"));
-            ForwardEventToHNL( KKeyIdSelect );
-            resp = EKeyWasConsumed;
-            }
-        }
-
-    //handling enter key - non touch / edit mode
-    if ( ( aKeyEvent.iScanCode == EStdKeyEnter ||
-            aKeyEvent.iScanCode == EStdKeyDevice3 ) &&
-            aType == EEventKeyDown &&
-            IsEditMode() && !Layout_Meta_Data::IsPenEnabled() )
-        {
-        DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - enter in edit mode"));
-		HandleCommandL( EAknSoftkeyOk );
-        resp = EKeyWasConsumed;
-        }
-
-    // handle the key exactly as container does (the same conditions)
-    if ( ( aKeyEvent.iRepeats > 0 && aType == EEventKey ) ||
-            ( aKeyEvent.iRepeats == 0 && aType == EEventKeyUp ) )
-        {
-        TBool navigationEvent =
-            aKeyEvent.iScanCode == EStdKeyRightArrow ||
-            aKeyEvent.iScanCode == EStdKeyLeftArrow ||
-            aKeyEvent.iScanCode == EStdKeyUpArrow ||
-            aKeyEvent.iScanCode == EStdKeyDownArrow;
-
-        if ( navigationEvent )
-            {
-            DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - navi event: %d",
-                aKeyEvent.iScanCode));
-            MMPERF(("Rocker navigation - START"));
-            UpdateToolbarL();
-            SetMiddleSoftKeyL();
-            resp = EKeyWasConsumed;
-            MMPERF(("Rocker navigation - END"));
-            }
-        else if ( aKeyEvent.iScanCode == EStdKeyBackspace )
-            {
-            // handle clear key event
-            DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - clear key"));
-            ForwardEventToHNL( KKeyIdClear );
-            resp = EKeyWasConsumed;
-            }
-        }
-
-    if( aType == EEventUser )
-        {
-        if ( aKeyEvent.iScanCode == EStdKeyNull &&
-                iCurrentContainer->IsHighlightVisible() )
-            {
-            DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - User press -> forward key:select to HN"));
-            UpdateToolbarL();
-            SetMiddleSoftKeyL();
-            ForwardEventToHNL( KKeyIdSelect );
-            resp = EKeyWasConsumed;
-            }
-        }
-
-    return resp;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmAppUi::HandleDragStartL( TInt aModelItemIndex )
-    {
-    MMPERF(("CMmAppUi::HandleDragStartL - START"));
-
-    if ( IsEditMode() )
-        {
-
-        TInt modelId = iCurrentSuiteModel->IdByIndex( aModelItemIndex );
-        if (modelId != KErrNotFound)
-            {
-            CHnItemModel *itModel = iCurrentSuiteModel->GetItemModel( modelId );
-            if (itModel->GetItemType() == EItemTypeParentFolder)
-                {
-                iCurrentContainer->CancelDragL( EFalse );
-                }
-            else
-                {
-                iItemDragged = aModelItemIndex;
-                iIdDragged = iCurrentSuiteModel->IdByIndex( aModelItemIndex );
-                }
-            }
-        }
-    MMPERF(("CMmAppUi::HandleDragStartL - STOP"));
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmAppUi::HandleDragOverL( TInt /* aModelItemIndex */ )
-    {
-    MMPERF(("CMmAppUi::HandleDragOverL - START"));
-
-    MMPERF(("CMmAppUi::HandleDragOverL - STOP"));
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmAppUi::HandleDraggedIndexUpdatedL( TInt  aModelItemIndex  )
-    {
-    MMPERF(("CMmAppUi::HandleDraggedIndexUpdatedL - START"));
-    iItemDragged = aModelItemIndex;
-    MMPERF(("CMmAppUi::HandleDraggedIndexUpdatedL - STOP"));
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmAppUi::HandleDragStopL( TInt aModelItemIndex )
-    {
-    MMPERF(("CMmAppUi::HandleDragStopL - START"));
-    if ( IsEditMode() )
-        {
-        TInt itemId = iCurrentSuiteModel->IdByIndex( aModelItemIndex );
-        TMcsItemType typeCurr =
-            iCurrentSuiteModel->GetItemType( aModelItemIndex );
-        TBool isOverFolder = ( AknLayoutUtils::PenEnabled() &&
-            ( typeCurr == EItemTypeParentFolder || typeCurr == EItemTypeFolder ) );
-        TBool isDeleteLocked = (itemId != KErrNotFound) ?
-                    iCurrentSuiteModel->GetItemModel( itemId )->IsDeleteLocked():
-                    EFalse;
-
-        TBuf8< KMaxLength > beforeCustomId;
-        beforeCustomId.Num( KErrNotFound );
-        if ( aModelItemIndex + 1 < iCurrentContainer->NumberOfItems() )
-            {
-            beforeCustomId.Num( iCurrentSuiteModel->GetItemModel(
-                    iCurrentSuiteModel->IdByIndex( aModelItemIndex + 1 ) )->CustomId() );
-            }
-
-        TBuf8< KMaxLength > draggedCustomId;
-        draggedCustomId.Num( KErrNotFound );
-        CHnItemModel* draggedModel = iCurrentSuiteModel->GetItemModel( iIdDragged );
-        if (draggedModel)
-            {
-            draggedCustomId.Num( iCurrentSuiteModel->GetItemModel( iIdDragged )->CustomId() );
-            }
-
-        CLiwGenericParamList* eventParameters = CLiwGenericParamList::NewL();
-        CleanupStack::PushL( eventParameters );
-        CHnMdBaseKey* tempKeys = HnMdKeyFactory::CreateL(
-                HnEvent::KEventArgNamespace8(), KKeyTypeMap(), KNullDesC8() );
-        CleanupStack::PushL( tempKeys );
-
-        CHnMdBaseKey* baseKey = HnMdKeyFactory::CreateL(
-                HnEvent::KEventArgNamespace8(), KKeyTypeMap(), KNullDesC8() );
-        CleanupStack::PushL( baseKey );
-        baseKey->AddSubKeyL( HnMdKeyFactory::CreateL( HnEvent::KDroppedBefore8(),
-                KKeyTypeInteger(), beforeCustomId ) );
-        baseKey->AddSubKeyL( HnMdKeyFactory::CreateL( HnEvent::KDragged8(),
-                KKeyTypeInteger(), draggedCustomId ) );
-        CleanupStack::Pop( baseKey );
-        tempKeys->AddSubKeyL( baseKey );
-
-        tempKeys->ToGenericParamListL( *eventParameters );
-        CleanupStack::PopAndDestroy( tempKeys );
-
-        if ( iIdDragged != itemId
-                && isOverFolder && !isDeleteLocked)
-            {
-            iCurrentSuiteModel->RemoveItemL( iIdDragged );
-            if ( iItemDragged < aModelItemIndex )
-                {
-                // indices of all items after iItemDragged have been
-                // decreased when the dragged item got removed from the
-                // current suite; prevent highlighted item change
-                iCurrentSuiteModel->SetSuiteHighlightL( aModelItemIndex - 1 );
-                iCurrentContainer->SetManualHighlightL(
-                        iCurrentContainer->GetHighlight() - 1, EFalse );
-                }
-
-            iCurrentContainer->HandleItemRemovalL();
-            iCurrentContainer->CancelDragL( EFalse );
-
-            if( typeCurr == EItemTypeParentFolder )
-                {
-                StartLayoutSwitchFullScreen( EMenuCloseFolderEffect );
-                }
-            else
-                {
-                StartLayoutSwitchFullScreen( EMenuOpenFolderEffect );
-                }
-            iHNInterface->TriggerHnEventL( KKeyIdMoveInto, itemId, eventParameters );
-            iMakeHightlightedItemFullyVisible = ETrue;
-            }
-        else if ( iIdDragged == itemId )
-            {
-            iCurrentContainer->CancelDragL( ETrue );
-            TBool result = iHNInterface->TriggerHnEventL( KKeyIdMove, itemId, eventParameters );
-            // fix for: edit->move, then LSK->Up->LSK->LSK FAST... (short options show up)
-            if ( result != KErrNone && !AknLayoutUtils::PenEnabled() )
-				{
-				CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC();
-				TLiwGenericParam command(KHnRequest, TLiwVariant( KEvaluateMdModel));
-				paramList->AppendL(command);
-				HandleRequestL(*paramList);
-				CleanupStack::PopAndDestroy(paramList);
-				}
-            }
-        else
-            {
-            iCurrentContainer->CancelDragL( ETrue );
-            if (!AknLayoutUtils::PenEnabled())
-                {
-                CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC();
-                TLiwGenericParam command(KHnRequest, TLiwVariant( KEvaluateMdModel));
-                paramList->AppendL(command);
-                HandleRequestL(*paramList);
-                CleanupStack::PopAndDestroy(paramList);
-                }
-            }
-
-        CleanupStack::PopAndDestroy( eventParameters );
-        }
-    MMPERF(("CMmAppUi::HandleDragStopL - STOP"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleEventDraggingActionedL()
-    {
-    SetMiddleSoftKeyL();
-    UpdateToolbarL();
-    iKeyClickLocked = ETrue;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleListBoxEventL( CEikListBox* /*aListBox*/,
-        MEikListBoxObserver::TListBoxEvent aEventType )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleListBoxEventL IN"));
-    DEBUG(("\t_Mm_: aEventType = %d", (TInt) aEventType ) );
-
-    TInt currentHighlight = iCurrentContainer->GetHighlight();
-
-    DEBUG(("\t_Mm_: CurrentHighlight = %d", currentHighlight ) );
-
-    if ( aEventType == MEikListBoxObserver::EEventItemDraggingActioned )
-        {
-        DEBUG8(("\t_Mm_:CMmAppUi::HandleListBoxEventL EEventItemDraggingActioned"));
-        HandleEventDraggingActionedL();
-        }
-    else if ( aEventType == MEikListBoxObserver::EEventPenDownOnItem )
-        {
-        DEBUG(("\t_Mm_:CMmAppUi::HandleListBoxEventL EEventItemClicked"));
-        HandleHighlightItemPenDownL( iCurrentContainer->GetHighlight() );
-        }
-    else if ( aEventType == MEikListBoxObserver::EEventItemDoubleClicked )
-        {
-        DEBUG(("\t_Mm_:CMmAppUi::HandleListBoxEventL EEventItemDoubleClicked"));
-        HandleHighlightItemDoubleClickedL( iCurrentContainer->GetHighlight() );
-        }
-    else if ( aEventType == MEikListBoxObserver::EEventItemSingleClicked )
-        {
-        DEBUG(("\t_Mm_:CMmAppUi::HandleListBoxEventL EEventItemSingleClicked"));
-        HandleHighlightItemSingleClickedL(  iCurrentContainer->Widget()->CurrentItemIndex() );
-        }
-    else if ( aEventType == MEikListBoxObserver::EEventPanningStarted )
-    	{
-    	iKeyClickLocked = ETrue;
-    	}
-
-    DEBUG(("_Mm_:CMmAppUi::HandleListBoxEventL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleLongTapEventL( const TPoint& aPenEventLocation )
-	{
-    TBool popupMenuDisplayed(EFalse);
-	if (iPopupMenu)
-    	{
-    	delete iPopupMenu;
-    	iPopupMenu = NULL;
-    	}
-    iPopupMenu = CAknStylusPopUpMenu::NewL(this,aPenEventLocation);
-
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        iPopupMenu->SetPosition( aPenEventLocation,
-                CAknStylusPopUpMenu::EPositionTypeRightBottom );
-        }
-    else
-        {
-        iPopupMenu->SetPosition( aPenEventLocation,
-                CAknStylusPopUpMenu::EPositionTypeLeftBottom );
-        }
-
-    if( iCurrentSuiteModel == iHNInterface->GetLastSuiteModelL()
-    		&& iCurrentContainer->IsHighlightVisible()
-    		&& iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1 )
-    	{
-		MMPERF(("CMmAppUi::DynInitMenuPaneL - START"));
-		//fill the main menu structure, look for cascade menus
-		//reset the helper hash map
-		iCascadeMenuMap.Close();
-
-		MHnMenuItemModelIterator* menuIterator =
-			iCurrentSuiteModel->GetMenuStructureL(
-				iCurrentSuiteModel->IdByIndex(
-						iCurrentContainer->GetHighlight() ) );
-
-		// check if there is a menu structure available
-		// for the specified item
-		if ( menuIterator )
-			{
-			//create item sorting helper objects
-			RArray<TInt> positionArray;
-			CleanupClosePushL( positionArray );
-			RHashMap<TInt, CEikMenuPaneItem::SData> menuItemMap;
-			CleanupClosePushL( menuItemMap );
-
-            while ( menuIterator->HasNextSpecific() )
-                {
-                CHnMenuItemModel* childItem = menuIterator->GetNextSpecific();
-				CEikMenuPaneItem::SData childData;
-				childData.iCommandId = childItem->Command();
-				childData.iText = childItem->NameL().
-					Left( CEikMenuPaneItem::SData::ENominalTextLength );
-				childData.iFlags = 0;
-				childData.iCascadeId = 0;
-
-				positionArray.AppendL( childItem->Position() );
-				menuItemMap.InsertL( childItem->Position(), childData );
-                }
-
-			positionArray.Sort();
-
-			//add items in correct order
-			for ( TInt i = 0; i < positionArray.Count(); ++i )
-				{
-				iPopupMenu->
-					AddMenuItemL(
-						menuItemMap.FindL( positionArray[i] ).iText,
-						menuItemMap.FindL( positionArray[i] ).iCommandId );
-				}
-
-			if (positionArray.Count()>0)
-				{
-				iPopupMenu->ShowMenu();
-				popupMenuDisplayed = ETrue;
-				}
-			CleanupStack::PopAndDestroy( &menuItemMap );
-			CleanupStack::PopAndDestroy( &positionArray );
-			}
-		MMPERF(("CMmAppUi::DynInitMenuPaneL - STOP"));
-		}
-
-	if ( !popupMenuDisplayed && iCurrentContainer )
-		{
-		iCurrentContainer->EndLongTapL( ETrue );
-		HandleHighlightItemSingleClickedL(
-				iCurrentContainer->Widget()->CurrentItemIndex() );
-		}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleHighlightItemDoubleClickedL( TInt aIndex )
-    {
-    if ( iKeyClickLocked )
-    	return;
-
-    if ( iCurrentSuiteModel->WidgetType() == EListWidget
-        && iCurrentContainer->GetPreviousHighlight() == aIndex )
-        {
-        ForwardEventToHNL( KKeyIdSelect, aIndex );
-        }
-    else if ( iCurrentSuiteModel->WidgetType() == EGridWidget
-            && IsEditMode() && iCurrentContainer->GetPreviousHighlight() == aIndex
-            && !iCurrentContainer->IsDraggable())
-        {
-        ForwardEventToHNL( KKeyIdSelect, aIndex );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleHighlightItemPenDownL( TInt /* aIndex */ )
-    {
-    DEBUG(("CMmAppUi::HandleHighlightItemPenDownL - IN"));
-    UpdateToolbarL();
-    SetMiddleSoftKeyL();
-    iKeyClickLocked = EFalse;
-    DEBUG(("CMmAppUi::HandleHighlightItemPenDownL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleHighlightItemSingleClickedL( TInt aIndex )
-    {
-    if ( !iKeyClickLocked && !IsFaded() )
-        {
-        ForwardEventToHNL( KKeyIdSelect, aIndex );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ResetContainerMap()
-    {
-    THashMapIter< TInt, CMmWidgetContainer* > iterator( iContainerMap );
-    while( iterator.NextKey() )
-        {
-        CMmWidgetContainer** container = iterator.CurrentValue();
-        delete *container;
-        iterator.RemoveCurrent();
-        }
-    iContainerMap.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ResetContainerMapToRootL()
-    {
-    TInt err( KErrNone );
-    CHnSuiteModel* currentSuite = iHNInterface->GetLastSuiteModelL();
-
-    // there is a loaded suite configuration
-    if( currentSuite )
-        {
-        TInt id( currentSuite->GetItemsOrder()->GetSuiteId() );
-        TRAP( err, iCurrentContainer = iContainerMap.FindL( id ) );
-
-        // configuration loaded but there is no container
-        if( err != KErrNone )
-            {
-            HandleSuiteModelInitializedL( currentSuite );
-            }
-        else if( iContainerMap.Count() > 0 )
-            {
-            THashMapIter< TInt, CMmWidgetContainer* > iterator( iContainerMap );
-            while( iterator.NextKey() )
-                {
-                CMmWidgetContainer** container = iterator.CurrentValue();
-                if( iCurrentContainer != *container )
-                    {
-                    RemoveFromStack( *container );
-                    iGarbage.AppendL( *container );
-                    iterator.RemoveCurrent();
-                    }
-                }
-            }
-        }
-    else
-        {
-        ResetContainerMap();
-        InitializeL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleMessageL( const TDesC8& aMessage )
-    {
-    if( iMmExtManager )
-        {
-        iMmExtManager->ExecuteActionL(TUid::Null(), KCommandDeleteDialog, NULL );
-        }
-    if ( IsEditMode() )
-        {
-        SetEditModeL( EFalse );
-        }
-    if ( aMessage.Find( KRootWithPref ) != KErrNotFound )
-        {
-        RemoveFromStack( iCurrentContainer );
-        iDummyContainer->MakeVisible( ETrue );
-        RefreshCbaL();
-        iGarbage.ResetAndDestroy();
-        ResetContainerMap();
-	    iCurrentSuiteModel = NULL;
-	    iCurrentContainer = NULL;
-	    }
-
-    TRAPD( err, iHNInterface->LoadSuitesFromUriL( aMessage ) );
-
-    if ( err && iCurrentContainer && ( aMessage.Find( KSetFocusWithPref ) == KErrNotFound ) )
-        {
-        HandleSuiteEventL( ESuiteModelInitialized, iHNInterface->GetLastSuiteModelL() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::DynInitMenuPaneL( TInt aResourceId,
-                                 CEikMenuPane* aMenuPane )
-    {
-    aMenuPane->EnableMarqueeL( ETrue );
-    if( iCurrentSuiteModel == iHNInterface->GetLastSuiteModelL() )
-        {
-        switch ( aResourceId )
-            {
-            case R_MAIN_MENU_PANE:
-                {
-                MMPERF(("CMmAppUi::DynInitMenuPaneL - START"));
-                //fill the main menu structure, look for cascade menus
-                //reset the helper hash map
-                iCascadeMenuMap.Close();
-
-                MHnMenuItemModelIterator* menuIterator = NULL;
-                TBool ignoreItemSpecific( EFalse );
-                if ( iCurrentSuiteModel )
-                    {
-                    TInt itemId( KErrNotFound );
-                    TBool suiteModelHasItems = iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1;
-					TBool highlightVisible = iCurrentContainer->IsHighlightVisible();
-					if ( !highlightVisible && suiteModelHasItems )
-						{
-//						if there is no highlight, but there are items, show menuitems for logically
-//						current suite highlight fetched from suite model.
-						TInt suiteHighlight = iCurrentSuiteModel->GetSuiteHighlight();
-						ASSERT( suiteHighlight != KErrNotFound );
-						itemId = iCurrentSuiteModel->IdByIndex( suiteHighlight );
-						ignoreItemSpecific = ETrue;
-						}
-					else
-						{
-	                    TBool idByContainer = highlightVisible && suiteModelHasItems;
-	                    itemId = idByContainer ?
-	                        iCurrentSuiteModel->IdByIndex( iCurrentContainer->GetHighlight() ) :
-	                        iCurrentSuiteModel->IdByIndex( KErrNotFound );
-						}
-                    menuIterator = iCurrentSuiteModel->GetMenuStructureL( itemId );
-                }
-
-                // check if there is a menu structure available
-                // for the specified item
-                if ( menuIterator )
-                    {
-                    //create item sorting helper objects
-                    RArray<TInt> positionArray;
-                    CleanupClosePushL( positionArray );
-                    RHashMap<TInt, CEikMenuPaneItem::SData> menuItemMap;
-                    CleanupClosePushL( menuItemMap );
-
-                    //get original (rss defined) items positions
-                    for ( TInt i = 0; i < aMenuPane->NumberOfItemsInPane(); ++i )
-                        {
-                        //multiply to make space for suite defined entries
-                        //first item has 100th conceptual position
-                        positionArray.AppendL( ( i + 1 ) * KMenuPosMultiplier );
-                        //store items, position as the key
-                        menuItemMap.InsertL( ( i + 1 ) * KMenuPosMultiplier,
-                            aMenuPane->
-                                ItemData( aMenuPane->MenuItemCommandId( i ) ) );
-                        }
-
-
-                    //get custom menu items and their positions
-                    while ( menuIterator->HasNext() )
-                        {
-                        CHnMenuItemModel* menuItem = menuIterator->GetNext();
-                        if ( (menuItem->MenuItemType() == CHnMenuItemModel::EItemApplication) || !ignoreItemSpecific )
-                        	{
-                        	CEikMenuPaneItem::SData menuData;
-							menuData.iCommandId = menuItem->Command();
-							menuData.iText = menuItem->NameL().
-								Left( CEikMenuPaneItem::SData::ENominalTextLength );
-							menuData.iFlags = 0;
-
-							//check for children
-							MHnMenuItemModelIterator* childIterator =
-								menuItem->GetMenuStructure();
-							if ( childIterator->HasNext() )
-								{
-								//this is a cascade item
-								//one menu item can contain only one cascade menu
-								//check if there are available cascade menu containers
-								TInt freeResource = GetNextCascadeMenuResourceId();
-								if ( freeResource != KErrNotFound )
-									{
-									//error checking
-									if( !iCascadeMenuMap.Insert( freeResource,
-																childIterator ) )
-										{
-										//add item only if there is an
-										//available resource
-										menuData.iCascadeId = freeResource;
-										}
-									}
-								}
-							else
-								{
-								//normal entry
-								menuData.iCascadeId = 0;
-								}
-							positionArray.AppendL( menuItem->Position() );
-							menuItemMap.InsertL( menuItem->Position(), menuData );
-                        	}
-                        }
-
-                    aMenuPane->Reset();
-                    positionArray.Sort();
-
-                    //add items in correct order
-                    for ( TInt i = 0; i < positionArray.Count(); ++i )
-                        {
-                        aMenuPane->
-                            AddMenuItemL(
-                                ( menuItemMap.FindL( positionArray[i] ) ) );
-                        }
-
-                    CleanupStack::PopAndDestroy( &menuItemMap );
-                    CleanupStack::PopAndDestroy( &positionArray );
-                    }
-                MMPERF(("CMmAppUi::DynInitMenuPaneL - STOP"));
-                }
-                break;
-
-            case R_CASCADE_MENU_PANE_1:
-            case R_CASCADE_MENU_PANE_2:
-            case R_CASCADE_MENU_PANE_3:
-                {
-                //realod cascade menu map
-                ReloadCascadeMenuMapL();
-                //fill the cascade menu panes
-                MHnMenuItemModelIterator* childIteratorPtr =
-                    iCascadeMenuMap.FindL( aResourceId );
-
-                // check if child iterator available
-                if ( childIteratorPtr )
-                    {
-                    childIteratorPtr->Reset();
-
-                    //create item sorting helper objects
-                    RArray<TInt> positionArray;
-                    CleanupClosePushL( positionArray );
-                    RHashMap<TInt, CEikMenuPaneItem::SData> menuItemMap;
-                    CleanupClosePushL( menuItemMap );
-
-                    while ( childIteratorPtr->HasNext() )
-                        {
-                        CHnMenuItemModel* childItem = childIteratorPtr->GetNext();
-
-                        CEikMenuPaneItem::SData childData;
-                        childData.iCommandId = childItem->Command();
-                        childData.iText = childItem->NameL().
-                            Left( CEikMenuPaneItem::SData::ENominalTextLength );
-                        childData.iFlags = 0;
-                        childData.iCascadeId = 0;
-
-                        positionArray.AppendL( childItem->Position() );
-                        menuItemMap.InsertL( childItem->Position(), childData );
-                        }
-
-                    positionArray.Sort();
-                    //add items in correct order
-                    for ( TInt i = 0; i < positionArray.Count(); ++i )
-                        {
-                        aMenuPane->AddMenuItemL(
-                            ( menuItemMap.FindL( positionArray[i] ) ) );
-                        }
-
-                    CleanupStack::PopAndDestroy( &menuItemMap );
-                    CleanupStack::PopAndDestroy( &positionArray );
-                    }
-                }
-                break;
-
-            default:
-                break;
-            }
-        }
-    else if( aResourceId == R_MAIN_MENU_PANE )
-        {
-        aMenuPane->SetItemDimmed( EMmOptionsExit, ETrue );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ReloadCascadeMenuMapL()
-    {
-    iCascadeMenuMap.Close();
-    MHnMenuItemModelIterator* menuIterator = NULL;
-    if ( iCurrentSuiteModel )
-        {
-        TBool idByContainer = iCurrentContainer->IsHighlightVisible() &&
-                iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1;
-        TInt itemId = idByContainer ?
-            iCurrentSuiteModel->IdByIndex( iCurrentContainer->GetHighlight() ) :
-            iCurrentSuiteModel->IdByIndex( KErrNotFound );
-        menuIterator = iCurrentSuiteModel->GetMenuStructureL( itemId );
-        }
-
-    if ( menuIterator )
-        {
-        while ( menuIterator->HasNext() )
-            {
-            CHnMenuItemModel* menuItem = menuIterator->GetNext();
-
-            MHnMenuItemModelIterator* childIterator =
-                menuItem->GetMenuStructure();
-            if ( childIterator->HasNext() )
-                {
-                TInt freeResource = GetNextCascadeMenuResourceId();
-                if ( freeResource != KErrNotFound )
-                    {
-                    iCascadeMenuMap.Insert( freeResource, childIterator );
-                    }
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppUi::GetNextCascadeMenuResourceId()
-    {
-    //if needed add additional placeholders in matrixmenu.rss
-    //next add additional cases in this method and the
-    //CMmAppUi::DynInitMenuPaneL
-
-    TInt freeResource( KErrNotFound );
-    switch ( iCascadeMenuMap.Count() )
-        {
-        case 0:
-            {
-            freeResource = R_CASCADE_MENU_PANE_1;
-            }
-            break;
-        case 1:
-            {
-            freeResource = R_CASCADE_MENU_PANE_2;
-            }
-            break;
-        case 2:
-            {
-            freeResource = R_CASCADE_MENU_PANE_3;
-            }
-            break;
-        default:
-            break;
-        }
-    return freeResource;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleWidgetChangeRefreshL(
-        CMmWidgetContainer* aWidgetContainer )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleWidgetChangeRefreshL IN"));
-
-    CMmWidgetContainer* previousContainer = iCurrentContainer;
-    if (previousContainer)
-        {
-        previousContainer->SetObserver(NULL);
-        RemoveFromStack(previousContainer);
-        }
-
-    iCurrentContainer = aWidgetContainer;
-    iCurrentContainer->Widget()->View()->SetDisableRedraw(ETrue);
-    iDummyContainer->MakeVisible( ETrue );
-    RefreshCbaL();
-    iCurrentContainer->SetEditModeL( IsEditMode() );
-    iCurrentContainer->SetSuiteModelL( iCurrentSuiteModel );
-    iCurrentContainer->HandleResourceChange( KAknsMessageSkinChange );
-    iCurrentContainer->HandleResourceChange( KUidValueCoeColorSchemeChangeEvent );
-    iCurrentContainer->SetEmptyTextL( iCurrentSuiteModel->EmptyText() );
-    iCurrentContainer->SetHasFocusL( iHasFocus );
-    iCurrentContainer->SetIsFaded( IsFaded() );
-    iCurrentContainer->SetObserver( this );
-
-    if ( previousContainer && previousContainer->WidgetType() != iCurrentContainer->WidgetType()
-            && previousContainer->GetSuiteModelL() == iCurrentContainer->GetSuiteModelL() )
-        {
-        iCurrentSuiteModel->SetSuiteHighlightL( KErrNotFound );
-        }
-
-    AddToStackL( iCurrentContainer );
-    if ( previousContainer )
-        {
-        previousContainer->MakeVisible( EFalse );
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::HandleWidgetChangeRefreshL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleNoWidgetChangeRefreshL()
-    {
-    if ( iCurrentSuiteModel )
-        {
-        iCurrentContainer->Widget()->View()->SetDisableRedraw(ETrue);
-        iCurrentContainer->SetEditModeL( IsEditMode() );
-        iCurrentContainer->SetSuiteModelL( iCurrentSuiteModel );
-        iCurrentContainer->SetEmptyTextL( iCurrentSuiteModel->EmptyText() );
-        iCurrentContainer->SetHasFocusL( iHasFocus );
-        iCurrentContainer->SetIsFaded( IsFaded() );
-        iCurrentContainer->SetObserver(this);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::IsEditMode()
-    {
-    return (iEditModeStatus == EEditMode
-            || iEditModeStatus == ETransitionToEditMode);
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandlePresentationChangeL(
-        CMmWidgetContainer* aWidgetContainer )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandlePresentationChangeL IN"));
-
-    if ( iToolbar && iToolbar->IsShown() )
-        {
-        iToolbar->SetToolbarVisibility( EFalse );
-        }
-
-    if( iCurrentContainer != aWidgetContainer )
-        {
-        TBool highlightVisibleBefore = iCurrentContainer != NULL &&
-			iCurrentContainer->IsHighlightVisible();
-
-        HandleWidgetChangeRefreshL( aWidgetContainer );
-
-        if ( highlightVisibleBefore )
-        	{
-        	iCurrentContainer->SetHighlightVisibilityL( ETrue );
-        	}
-        }
-    else
-        {
-        HandleNoWidgetChangeRefreshL();
-        }
-
-    if( iCurrentContainer )
-        {
-        iCurrentContainer->SetRect(ClientRect());
-        iDummyContainer->SetRect(ClientRect());
-        if( IsForeground() )
-            {
-            // should be called before MakeVisible (and after SetRect or SetupLayout,
-            // so that default highlight is displayed correctly when zoomed)
-            ApplyHighlightFromModelL();
-
-            // There is defferences in code because behaviour in non-touch edit mode
-            // and non-touch edit mode is different.
-            if (!AknLayoutUtils::PenEnabled())
-                {
-                // While starting non-touch edit mode we have to scroll view in case when
-                // higlighted item is placed on top/bottow row of view and there
-                // are more rows over/under one to show all needed indicator arrows.
-                // DrawNow() method caused jumping both scrollbar and view to old positions.
-                iCurrentContainer->MakeVisible(ETrue);
-                iCurrentContainer->Widget()->View()->SetDisableRedraw(EFalse);
-                iCurrentContainer->SetEditModeL(IsEditMode());
-                iDummyContainer->MakeVisible(EFalse);
-                }
-            else
-                {
-                // For touch normal mode we have to redraw container in case
-                // we back "parent folder" which was edited in edit mode.
-                // Thanks to DrawNow() method we avoid drawing items's backdrop icons
-                // and switching between edit mode's and normal mode's views
-                iCurrentContainer->SetEditModeL(IsEditMode());
-                iCurrentContainer->MakeVisible(ETrue);
-
-                // cache widget position so that we can restore it after DrawNow(), which
-                // changes it for no apparent reason when using list view.
-                iCurrentContainer->CacheWidgetPosition();
-
-                // draw container before effects gets snapshot
-                iCurrentContainer->DrawNow();
-                iCurrentContainer->Widget()->View()->SetDisableRedraw(EFalse);
-                iDummyContainer->MakeVisible(EFalse);
-
-                // restore the correct widget position
-                iCurrentContainer->RestoreWidgetPosition();
-                }
-
-            // refresh changed items only
-            iCurrentContainer->DrawView();
-            RefreshUiPanesL();
-            RefreshToolbarL();
-            }
-        else
-            {
-            iCurrentContainer->SetupWidgetLayoutL();
-            iCurrentContainer->Widget()->View()->SetDisableRedraw( EFalse );
-            ApplyHighlightFromModelL();
-            }
-        }
-
-    MMPERF(("CMmAppUi::HandlePresentationChangeL - model swapped"));
-    DEBUG(("_Mm_:CMmAppUi::HandlePresentationChangeL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::OfferToolbarEventL( TInt aCommand )
-    {
-    TInt itemId = iCurrentSuiteModel->IdByIndex( iCurrentContainer->GetHighlight() );
-    CHnItemModel* itemModel = iCurrentSuiteModel->GetItemModel( itemId );
-    ASSERT( itemModel );
-    const CHnToolbarModel* toolbarModel = itemModel->GetToolbarModel();
-    ASSERT( toolbarModel );
-    const CHnButtonModel* buttonModel = toolbarModel->GetButton( aCommand );
-    ASSERT( buttonModel );
-
-    ForwardEventToHNL( buttonModel->GetEventId() );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppUi::ExecuteExtensionActionL( const TUid aUid , const TDesC& aCommand,
-                CLiwGenericParamList* aEventParamList )
-    {
-    return iMmExtManager->ExecuteActionL( aUid, aCommand, aEventParamList);
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleToolbarVisibilityL()
-    {
-    TBool suiteModelHasToolbar =
-        iCurrentSuiteModel && iCurrentSuiteModel->HasToolbar();
-
-    if ( suiteModelHasToolbar )
-        {
-        if ( iToolbar )
-            {
-            // could have gotten hidden during view change
-            iToolbar->SetToolbarVisibility( ETrue );
-            }
-        else
-            {
-            iToolbar = CAknToolbar::NewL( R_GLOBAL_TOOLBAR );
-            iToolbar->SetToolbarObserver( this );
-            iToolbar->SetToolbarVisibility( ETrue );
-
-            // substract the toolbar from display's visible area
-            TRect remainingArea( ClientRect() );
-            if ( !Layout_Meta_Data::IsLandscapeOrientation() )
-                remainingArea.Resize( 0, -iToolbar->Size().iHeight );
-            iCurrentContainer->SetRect( remainingArea );
-            }
-        }
-    else if ( !suiteModelHasToolbar && iToolbar )
-        {
-        iToolbar->SetToolbarVisibility( EFalse );
-        delete iToolbar;
-        iToolbar = NULL;
-        iCurrentContainer->SetRect( ClientRect() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::UpdateToolbarL()
-    {
-    // drop toolbar handling if there should be none
-    if ( iToolbar && iCurrentSuiteModel->HasToolbar() )
-        {
-        iToolbar->RemoveItem( EMmToolbarControl1 );
-        iToolbar->RemoveItem( EMmToolbarControl2 );
-        iToolbar->RemoveItem( EMmToolbarControl3 );
-
-        TInt itemId = iCurrentSuiteModel->IdByIndex( iCurrentContainer->Widget()->CurrentItemIndex() );
-        CHnItemModel* itemModel = iCurrentSuiteModel->GetItemModel( itemId );
-        if ( !itemModel )
-            {
-            return;
-            }
-        const CHnToolbarModel* toolbarModel = itemModel->GetToolbarModel();
-
-        CAknButton* button( NULL );
-        for ( TInt i = 0; i < KNumOfButtonsInToolbar; ++i )
-            {
-            const CHnButtonModel* buttonModel = toolbarModel->GetButton( i );
-            // get button icon and help text from model
-            if ( buttonModel )
-                {
-                CGulIcon* originalIcon = buttonModel->GetIcon();
-                CGulIcon* iconCopy( NULL );
-                if ( originalIcon && originalIcon->Bitmap() )
-                    {
-                    // create a copy of the icon if exists,
-                    // CAknButton takes ownership of the icon but we
-                    // want to reuse it,
-                    // also duplicate bitmaps for proper scaling
-                    CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
-                    CleanupStack::PushL( bitmap );
-                    bitmap->Duplicate( originalIcon->Bitmap()->Handle() );
-
-                    CFbsBitmap* mask( NULL );
-                    if ( originalIcon->Mask() )
-                        {
-                        mask = new (ELeave) CFbsBitmap;
-                        CleanupStack::PushL( mask );
-                        mask->Duplicate( originalIcon->Mask()->Handle() );
-                        }
-
-                    iconCopy = CGulIcon::NewL( bitmap, mask );
-                    if ( mask )
-                        {
-                        CleanupStack::Pop( mask );
-                        }
-                    CleanupStack::Pop( bitmap );
-                    CleanupStack::PushL( iconCopy );
-                    }
-                button = CAknButton::NewL( iconCopy,
-                        NULL,
-                        NULL,
-                        NULL,
-                        KNullDesC,
-                        buttonModel->GetButtonText(),
-                        0,
-                        0 );
-                if ( iconCopy )
-                    {
-                    CleanupStack::Pop( iconCopy );
-                    }
-                CleanupStack::PushL( button );
-                button->SetDimmed( buttonModel->GetDimmed() );
-                }
-            else
-                {
-                button = CAknButton::NewLC();
-                }
-            iToolbar->AddItemL( button,
-                    EAknCtButton,
-                    EMmToolbarControl1 + i,
-                    0 );
-            CleanupStack::Pop( button );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SetEditModeL( TBool aIsEditMode )
-	{
-	MMPERF(("CMmAppUi::SetEditModeL %d - START",aIsEditMode));
-    if ( IsEditMode() != aIsEditMode && iCurrentSuiteModel )
-        {
-
-        // stops moving items. This must be called when leaving non-touch edit mode to save
-        // the current visible order of the items. In non-touch it is called only once when completing editing
-
-        iHNInterface->SetEditModeL(aIsEditMode);
-        iCurrentContainer->StopMovingL();
-
-        if ( aIsEditMode )
-        	{
-        	iEditModeStatus = ETransitionToEditMode;
-        	}
-        else
-        	{
-        	if ( iEditModeStatus == ETransitionToEditMode )
-        		{
-        		iEditModeStatus = EFastTransitionFromEditMode;
-        		}
-        	else
-        		{
-        		iEditModeStatus = ETransitionFromEditMode;
-        		}
-        	}
-
-        HandleHighlightOffsetL( aIsEditMode ? EOffsetNext : EOffsetPrevious );
-        iCurrentSuiteModel->SetSuiteHighlightL(
-                AdjustEditModeHighlightL( iCurrentSuiteModel->GetSuiteHighlight() ) );
-
-        // update the container at the end when highlight is proper,
-        // this will ensure correct focus/unfocus action handling
-        iCurrentContainer->CacheWidgetPosition();
-        iCurrentContainer->SetEditModeL( IsEditMode() );
-
-        if ( iCurrentContainer->IsHighlightVisible() )
-            {
-            iMakeHightlightedItemFullyVisible = ETrue;
-            }
-
-        RefreshUiPanesL();
-
-        //disable redraw so that no redrawing events coming from window server cause redrawing until
-        //everything is ready to draw. Then iCurrentContainer->DrawNow in HandlePresentationChangeL is called
-        if (IsEditMode())
-            {
-            iCurrentContainer->Widget()->View()->SetDisableRedraw(ETrue);
-            }
-        }
-
-    MMPERF(("CMmAppUi::SetEditModeL - STOP"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleWsEventL( const TWsEvent& aEvent,
-                               CCoeControl* aDestination )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleWsEventL %d - IN", aEvent.Type()));
-
-    if ( aEvent.Type() == KAknUidValueEndKeyCloseEvent )
-        {
-        // return when the red key was pressed
-        MMPERF(("End key pressed"));
-        DEBUG(("_Mm_:CMmAppUi::HandleWsEventL - End key"));
-        ExitMatrix( EExitToIdle );
-        return;
-        }
-
-    TEventCode type = static_cast< TEventCode >( aEvent.Type() );
-
-    if ( ( type == EEventFocusLost || type == KAknFullOrPartialForegroundLost )
-    		&& iCurrentContainer )
-        {
-        iCurrentContainer->CacheWidgetPosition();
-        }
-
-    // base's HandleWsEventL needs to be called before foreground handling,
-    // otherwise the screen saver will be turned off
-    CAknAppUi::HandleWsEventL( aEvent, aDestination );
-
-    // refreshes toolbar when pen down event was invoked
-    if ( type == EEventPointer )
-        {
-        if ( iCurrentSuiteModel )
-            {
-            RefreshToolbarL();
-            }
-        }
-    else if ( type == EEventFocusGained )
-        {
-        HandleFocusGainedL();
-        }
-    else if ( type == EEventFocusLost )
-    	{
-    	HandleFocusLostL();
-        }
-    else if ( type == KAknFullOrPartialForegroundGained )
-        {
-        HandleFullOrPartialForegroundGainedL();
-        }
-    else if( type == KAknFullOrPartialForegroundLost )
-        {
-        HandleFullOrPartialForegroundLostL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TErrorHandlerResponse CMmAppUi::HandleError(TInt aError,
-                                            const SExtendedError& /*aExtErr*/,
-                                            TDes& /*aErrorText*/,
-                                            TDes& /*aContextText*/ )
-    {
-    if( aError == KErrNoMemory )
-        {
-        TRAP_IGNORE( ResetToInitialStateL( ) );
-        }
-    return EErrorNotHandled;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleSuiteEventL (
-        THnCustomSuiteEvent aCustomSuiteEvent, CHnSuiteModel* aModel )
-    {
-
-    DEBUG(("_Mm_:CMmAppUi::HandleSuiteEventL %d - IN",aCustomSuiteEvent));
-    switch ( aCustomSuiteEvent )
-        {
-        case ESuitePushedToStack:
-            {
-            aModel->RegisterSuiteObserverL( this, EPriorityMuchLess );
-            }
-            break;
-        case ESuitePoppedFromStack:
-            {
-
-            }
-            break;
-        case ESuiteModelInitialized:
-            {
-            HandleSuiteModelInitializedL( aModel );
-            }
-            break;
-        default:
-            break;
-        }
-
-    if ( iCurrentSuiteModel == aModel )
-        {
-        //We are interested in the following event
-        //only if they come from the current suite.
-        TBool redraw = (iScreenOn && IsForeground()) ? ETrue : EFalse;
-        switch (aCustomSuiteEvent)
-            {
-            case ESuiteModelDestroyed:
-                {
-                iCurrentContainer->PrepareForGarbage();
-                iGarbage.AppendL(iCurrentContainer);
-                iContainerMap.Remove(
-                        iCurrentSuiteModel->GetItemsOrder()->GetSuiteId());
-                RemoveFromStack(iCurrentContainer);
-                iDummyContainer->MakeVisible( ETrue );
-                iCurrentContainer->SetObserver(NULL);
-                iCurrentSuiteModel = NULL;
-                iCurrentContainer = NULL;
-                }
-                break;
-            case ESuiteItemsAdded:
-                {
-                //we need consistent view/state before item is added
-                //so draggind should be cancelled
-                if( IsEditMode() && iCurrentContainer->IsDraggable() )
-                    {
-                    iCurrentContainer->CancelDragL( EFalse );
-                    iCurrentContainer->DrawNow();
-                    }
-                HandleNumberOfItemsChangedL( EItemsAdded );
-                }
-                break;
-            case ESuiteItemsRemoved:
-                {
-                //we need consistent view/state before item is removed
-                //so draggind should be cancelled
-                if( IsEditMode() && iCurrentContainer->IsDraggable() )
-                    {
-                    iCurrentContainer->CancelDragL( EFalse );
-                    iCurrentContainer->DrawNow();
-                    }
-                HandleNumberOfItemsChangedL( EItemsRemoved );
-                }
-                break;
-            case ESuiteItemsUpdated:
-            	{
-				ClearTransitionFromEditModeFlag();
-                iCurrentContainer->DrawView();
-                }
-                break;
-            case ESuiteHighlightChanged:
-                {
-                iCurrentContainer->SetManualHighlightL(
-                        iCurrentSuiteModel->GetSuiteHighlight(), redraw );
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    DEBUG(("_Mm_:CMmAppUi::HandleSuiteEventL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ClearTransitionFromEditModeFlag()
-	{
-	if ( iEditModeStatus == ETransitionFromEditMode ||
-		 iEditModeStatus == EFastTransitionFromEditMode )
-		{
-		iEditModeStatus = ENoEditMode;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppUi::AdjustEditModeHighlightL( TInt aOriginalHighlight )
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        if ( !iCurrentContainer->IsHighlightVisible()
-                && iEditModeStatus == ETransitionToEditMode )
-            {
-            aOriginalHighlight = KErrNotFound ;
-            }
-        }
-    return aOriginalHighlight;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleOutOfMemoryL()
-    {
-    if( !iOutOfMemoryHandler )
-        {
-        iOutOfMemoryHandler = CMmNoMemory::NewL();
-        }
-    iOutOfMemoryHandler->Start();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ResetToInitialStateL()
-    {
-    iDummyContainer->MakeVisible( ETrue );
-    iDummyContainer->DrawNow();
-    RefreshCbaL();
-
-    if (iCurrentSuiteModel)
-        {
-        iCurrentSuiteModel->UnregisterSuiteObserver( this );
-        }
-    RemoveFromStack( iCurrentContainer );
-    ResetContainerMap();
-    iGarbage.ResetAndDestroy();
-    delete iHNInterface;
-    iHNInterface = NULL;
-    delete iMmExtManager;
-    iMmExtManager = NULL;
-    delete iTemplateLibrary;
-    iTemplateLibrary = NULL;
-
-    iCurrentSuiteModel = NULL;
-    iCurrentContainer = NULL;
-    iContainerMap.Close();
-    iEditModeStatus = ENoEditMode;
-
-    GfxTransEffect::AbortFullScreen();
-    iIsKastorEffectStarted = EFalse;
-
-    RefreshUiPanesL();
-    Cba()->MakeVisible( EFalse );
-    StatusPane()->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL );
-
-    iHNInterface = CHnEngine::NewL( *this );
-    iTemplateLibrary = CMmTemplateLibrary::NewL();
-    InitializeL();
-
-    iMmExtManager = CMMExtensionManager::NewL( *this );
-
-    iScreenOn = ETrue;
-    iSkinChangeNeeded = EFalse;
-    iSkinChangeInProgress = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleSuiteModelInitializedL( CHnSuiteModel* aModel )
-    {
-    StatusPane()->MakeVisible( ETrue );
-    Cba()->MakeVisible( ETrue );
-
-    if ( aModel == iHNInterface->GetLastSuiteModelL() )
-        {
-        TBool showOpenFolderEffect(iCurrentSuiteModel
-                && (iCurrentSuiteModel->CustomId() != aModel->CustomId()
-                        || iCurrentSuiteModel->WidgetType()
-                                != aModel->WidgetType()));
-        if( showOpenFolderEffect )
-            {
-            StartLayoutSwitchFullScreen( EMenuOpenFolderEffect );
-            }
-
-        if ( iCurrentSuiteModel )
-            {
-            iCurrentSuiteModel->SetVisibleL( EFalse );
-            DEBUG16(("\t\t_Mm_:SetVisible EFalse - %S",
-                    &(iCurrentSuiteModel->SuiteName())));
-            }
-        iCurrentSuiteModel = aModel;
-        ShowSuiteL();
-        iGarbage.ResetAndDestroy();
-
-       	if ( iEditModeStatus == ETransitionToEditMode )
-            {
-            iEditModeStatus = EEditMode;
-            }
-        else if ( iEditModeStatus == ETransitionFromEditMode )
-            {
-            iEditModeStatus = ENoEditMode;
-            }
-
-        if (iScreenOn && IsForeground())
-            {
-            iCurrentSuiteModel->SetVisibleL( ETrue );
-            DEBUG16(("\t\t_Mm_:SetVisible ETrue - %S",
-                    &(iCurrentSuiteModel->SuiteName())));
-            }
-
-        HideMenuPaneIfVisibleL();
-        EndFullScreen();
-        }
-    else
-        {
-        if( iHNInterface->SuiteModelLoadedL(
-                aModel->GetItemsOrder()->GetSuiteId() ) )
-            {
-            CMmWidgetContainer* containerToLoad = NULL;
-            TBool created( CreateNewContainerL( aModel, containerToLoad ) );
-            if( created )
-                {
-                containerToLoad->Widget()->View()->SetDisableRedraw( ETrue );
-                containerToLoad->SetEditModeL( IsEditMode() );
-                containerToLoad->SetSuiteModelL( aModel );
-                containerToLoad->SetEmptyTextL( aModel->EmptyText() );
-                containerToLoad->SetObserver( this );
-                containerToLoad->SetRect( ClientRect() );
-                containerToLoad->MakeVisible( EFalse );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HideMenuPaneIfVisibleL()
-    {
-    if ( iEikonEnv->AppUiFactory()->MenuBar()->IsDisplayed() )
-        {
-        iEikonEnv->AppUiFactory()->MenuBar()->StopDisplayingMenuBar();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ExitMatrix( TExitType aExitType )
-    {
-    DEBUG(("_Mm_:CMmAppUi::ExitMatrix - IN"));
-    DEBUG(("\t_Mm_:Exit type: %d",aExitType));
-
-    if ( aExitType == EExitReally )
-        {
-        // Calling PrepareHomescreenForMatrixExitL instead of ShowHomescreenL
-        // allows for avoiding a bug that would occur if appkey was pressed
-        // immediately after exiting the menu via Options->Exit.
-        // The bug would be that on pressing the appkey homescreen would be
-        // displayed and then the menu would appear again on the screen for
-        // a fraction of second causing an ugly and confusing flicker effect.
-        TRAP_IGNORE( PrepareHomescreenForMatrixExitL() );
-//        ShowHomescreenL( aExitType );
-        //if we got exit cmd from OS, let's really exit.
-        Exit();
-        }
-    else
-        {
-        GfxTransEffect::AbortFullScreen();
-        iIsKastorEffectStarted = EFalse;
-        StartLayoutSwitchFullScreen( AknTransEffect::EApplicationExit );
-
-        TRAP_IGNORE( ShowHomescreenL( aExitType ) );
-        TRAP_IGNORE( CleanupForExitL( EExitKeyRed ) );
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::ExitMatrix - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::CleanupForExitL( TExitKeyType aExitKey )
-    {
-    DEBUG(("_Mm_:CMmAppUi::CleanupForExitL - IN"));
-
-    // closing all dialogs opened in ui extensions before exit
-    iMmExtManager->ExecuteActionL( TUid::Null(), KCommandDeleteDialog, NULL );
-    if( IsDisplayingDialog() )
-        {
-        AknDialogShutter::ShutDialogsL( *iEikonEnv );
-        }
-
-    if ( IsEditMode() && iCurrentContainer )
-        {
-        DEBUG(("\t_Mm_:Edit Mode turned off"));
-        iCurrentContainer->CancelDragL( EFalse );
-        SetEditModeL( EFalse );
-        }
-
-    // reset model - revert to root if current view is not a suite view
-    CHnSuiteModel* model = iHNInterface->GetLastSuiteModelL();
-    if ( model && aExitKey == EExitKeyApplication )
-        {
-        TBool topSuiteIsBeingEvaluated =
-            !model->GetItemsOrder()->IsSuiteReadyToShow();
-        TBool topSuiteChanged = ResetToRootL();
-        model = NULL; // ResetToRootL might have deleted the model
-        TBool presentationChangeExpected = topSuiteChanged || topSuiteIsBeingEvaluated;
-
-        TBool mustDrawImmediately =
-            !presentationChangeExpected || !iDummyContainer->IsVisible();
-
-        if ( iCurrentContainer && mustDrawImmediately )
-            {
-            DEBUG(("\t_Mm_:Top item index reset"));
-            iCurrentContainer->ResetWidgetPosition();
-            iCurrentContainer->Widget()->UpdateScrollBarsL();
-			iCurrentContainer->MakeVisible( ETrue );
-			iCurrentContainer->DrawNow();
-            }
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::CleanupForExitL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ShowHomescreenL( TExitType  aExitType  )
-    {
-    TInt appToShowUid(0);
-    TInt idleid(0);
-    if (aExitType == EExitToIdle)
-        {
-        User::LeaveIfError(RProperty::Get(KPSUidAiInformation, KActiveIdleUid,
-                appToShowUid));
-        OpenAppL(TUid::Uid(appToShowUid));
-        }
-    else if (KErrNone == RProperty::Get(KPSUidUikon, KUikVideoCallTopApp,
-            idleid))
-        {
-        // Possible error code not relevant, as we have valid id anyway
-        if (idleid != KVideoCallAppUid) // idle or phone
-            {
-            OpenAppL(TUid::Uid(KPhoneAppUid));
-            }
-        else
-            {
-            CreateActivateViewEventL(TVwsViewId(TUid::Uid(idleid),
-                    TUid::Uid(idleid)), KNullUid, KNullDesC8());
-            }
-        }
-    else
-        {
-        OpenAppL(TUid::Uid(KPhoneAppUid));
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::PrepareHomescreenForMatrixExitL()
-    {
-    TBool succeeded( EFalse );
-
-    CAknTaskList* taskList = CAknTaskList::NewL( iCoeEnv->WsSession() );
-    TApaTask task = taskList->FindRootApp( TUid::Uid( KPhoneAppUid ) );
-    delete taskList;
-
-    if ( task.Exists() )
-        {
-        succeeded = !iCoeEnv->WsSession().SetWindowGroupOrdinalPosition(
-                    task.WgId(), 1 );
-        }
-
-    if( !succeeded )
-        {
-        ShowHomescreenL( EExitReally );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::OpenAppL( const TUid aUid )
-    {
-    DEBUG(("_Mm_:CMmAppUi::OpenAppL - IN"));
-    DEBUG(("\t_Mm_:aUid: 0x%x",aUid.iUid));
-
-    // Get the correct application data
-    CAknTaskList* taskList = CAknTaskList::NewL( iCoeEnv->WsSession() );
-    TApaTask task = taskList->FindRootApp( aUid );
-    delete taskList;
-
-    if ( task.Exists() )
-        {
-        CAknSgcClient::MoveApp( task.WgId(), ESgcMoveAppToForeground );
-        }
-    else
-        {
-        // Task doesn't exist, launch a new instance of an application
-        TApaAppInfo appInfo;
-        TApaAppCapabilityBuf capabilityBuf;
-        RApaLsSession lsSession;
-        User::LeaveIfError( lsSession.Connect() );
-        CleanupClosePushL( lsSession );
-        User::LeaveIfError( lsSession.GetAppInfo( appInfo, aUid ) );
-        User::LeaveIfError(
-                lsSession.GetAppCapability( capabilityBuf, aUid ) );
-
-        TApaAppCapability& caps = capabilityBuf();
-        TFileName appName = appInfo.iFullName;
-        CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
-        cmdLine->SetExecutableNameL( appName );
-
-        if ( caps.iLaunchInBackground )
-            {
-            cmdLine->SetCommandL( EApaCommandBackground );
-            }
-        else
-            {
-            cmdLine->SetCommandL( EApaCommandRun );
-            }
-
-        User::LeaveIfError( lsSession.StartApp( *cmdLine ) );
-
-        CleanupStack::PopAndDestroy( cmdLine );
-        CleanupStack::PopAndDestroy( &lsSession );
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::OpenAppL - OUT"));
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::InitializeL()
-    {
-    DEBUG(("_MM_:CMmAppUi::InitializeL IN"));
-    CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC();
-    CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-
-    HBufC* suiteName = StringLoader::LoadLC( R_MENU_TITLE );
-
-    paramList->AppendL( TLiwGenericParam( KParamSuiteName8,
-            TLiwVariant( KParamFolderSuite ) ) );
-    map->InsertL( KParamSuiteName8, TLiwVariant( suiteName ) );
-    map->InsertL( KParamFolderId8, TLiwVariant( KParamFolderId ) );
-    map->InsertL( KParamRemoveLocked8, TLiwVariant( KParamFalse ) );
-    map->InsertL( KParentFolderId8, TLiwVariant( KParamFolderId ) );
-    map->InsertL( KTmpParentFolderId8, TLiwVariant( KParamFolderId ) );
-    paramList->AppendL( TLiwGenericParam( KParams8, TLiwVariant( map ) ) );
-
-    iHNInterface->InitializeL( *paramList );
-
-    CleanupStack::PopAndDestroy( suiteName );
-    CleanupStack::PopAndDestroy( map );
-    CleanupStack::PopAndDestroy( paramList );
-    DEBUG(("_MM_:CMmAppUi::InitializeL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SetMiddleSoftKeyL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::SetMiddleSoftKeyL - IN"));
-    if ( iCurrentSuiteModel && !AknLayoutUtils::PenEnabled() && !IsEditMode() )
-    	{
-    	DEBUG(("\t_Mm_:suite highlight: %d",
-    	            iCurrentSuiteModel->GetSuiteHighlight()));
-
-		TBool idByContainer = iCurrentContainer->IsHighlightVisible() &&
-				iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1;
-		TInt itemId = idByContainer ?
-			iCurrentSuiteModel->IdByIndex( iCurrentContainer->GetHighlight() ) :
-			iCurrentSuiteModel->IdByIndex( KErrNotFound );
-		CHnItemModel* itemModel = iCurrentSuiteModel->GetItemModel( itemId );
-
-		CHnButtonModel* mskModel = NULL;
-
-		if ( itemModel )
-			{
-			mskModel = itemModel->GetMiddleSoftKey();
-			}
-
-		if ( mskModel )
-			{
-			TInt event = (mskModel->GetEventId() == KErrNotFound) ?
-					KKeyIdSelect : mskModel->GetEventId();
-			Cba()->SetCommandL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
-					event, mskModel->GetButtonText());
-			}
-		else
-			{
-			// reset to default
-			RefreshCbaL();
-			}
-    	}
-    DEBUG(("_Mm_:CMmAppUi::SetMiddleSoftKeyL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::StartLayoutSwitchFullScreen( TInt aKastorEffect )
-    {
-    if( ( !iIsKastorEffectStarted && iScreenOn && IsForeground() ) ||
-            aKastorEffect == AknTransEffect::EApplicationStart ||
-            aKastorEffect == AknTransEffect::EApplicationExit )
-        {
-        DEBUG(("_MM_:CMmAppUi::StartLayoutSwitchFullScreen Foreground"));
-        TUid uid1( KUidMatrixMenuApp );
-        TUid uid2( KUidMatrixMenuApp );
-        if ( aKastorEffect == AknTransEffect::EApplicationExit )
-            {
-            uid2 = TUid::Null();
-            }
-
-        AknTransEffect::TParamBuffer params = AknTransEffect::GfxTransParam(
-                uid1, uid2, AknTransEffect::TParameter::EFlagNone );
-
-        GfxTransEffect::BeginFullScreen( aKastorEffect, TRect(),
-                AknTransEffect::EParameterType, params );
-
-        iIsKastorEffectStarted = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::EndFullScreen()
-    {
-    if( iIsKastorEffectStarted && iScreenOn )
-        {
-        DEBUG(("_MM_:CMmAppUi::EndFullScreen Foreground"));
-        GfxTransEffect::EndFullScreen();
-        iIsKastorEffectStarted = EFalse;
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleRequestL( const CLiwGenericParamList& aParam,
-                         CLiwGenericParamList* aOutput )
-    {
-    iHNInterface->HandleRequestL( aParam, aOutput );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::ResetToRootL()
-    {
-    TBool resetConsumed( EFalse );
-    if( iHNInterface && iCurrentSuiteModel &&
-            !IsRootdisplayedL() )
-        {
-        RemoveFromStack( iCurrentContainer );
-        iDummyContainer->MakeVisible( ETrue );
-        iHNInterface->HandleBackEventL(
-                iCurrentSuiteModel->SuiteName(),
-                iHNInterface->GetSuiteModelsCountL() - 1 );
-        ResetContainerMapToRootL();
-        if( iCurrentContainer )
-            {
-            iCurrentContainer->ResetWidgetPosition();
-            AddToStackL( iCurrentContainer );
-            }
-        RefreshUiPanesL( ETrue );
-        resetConsumed = ETrue;
-        }
-    return resetConsumed;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SkinContentChanged()
-    {
-    iSkinChangeNeeded = ETrue;
-    iSkinChangeInProgress = ETrue;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SkinConfigurationChanged(
-        const TAknsSkinStatusConfigurationChangeReason aReason)
-    {
-        DEBUG(("_Mm_:CMmAppUi::SkinConfigurationChanged IN - aReason:%d iSkinChangeNeeded:%d iSkinChangeInProgress:%d", aReason, iSkinChangeNeeded, iSkinChangeInProgress));
-    switch (aReason)
-        {
-        case EAknsSkinStatusConfigurationMerged://      = 1,
-            {
-            iSkinChangeNeeded = ETrue;
-            iSkinChangeInProgress = ETrue;
-            }
-            break;
-        case EAknsSkinStatusConfigurationDeployed://    = 2,
-            {
-            iSkinChangeInProgress = EFalse;
-            if (IsForeground())
-                {
-                TRAPD( err, RefreshIconsL());
-                if (!err)
-                    {
-                    iSkinChangeNeeded = ETrue;
-                    }
-                }
-            }
-            break;
-        default:
-            {
-
-            }
-        }
-        DEBUG(("_Mm_:CMmAppUi::SkinConfigurationChanged OUT - aReason:%d iSkinChangeNeeded:%d iSkinChangeInProgress:%d", aReason, iSkinChangeNeeded, iSkinChangeInProgress));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SkinPackageChanged(const TAknsSkinStatusPackageChangeReason /*aReason*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::RefreshIconsL()
-    {
-    iSkinChangeNeeded = EFalse;
-    CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC();
-    TLiwGenericParam command(KHnRequest, TLiwVariant( KRefreshIcons));
-    paramList->AppendL(command);
-    HandleRequestL(*paramList);
-    CleanupStack::PopAndDestroy(paramList);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleHighlightOffsetL( TInt aOffset )
-    {
-    if( AknLayoutUtils::PenEnabled() )
-        {
-        iHNInterface->TriggerHnEventL( KKeyIdMoveHighlight, aOffset, NULL );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleNumberOfItemsChangedL( TItemsChangeType aChange )
-    {
-    iCurrentContainer->NumberOfItemsChangedL( aChange );
-    TBool scrollConsumed( EFalse );
-    scrollConsumed =
-        iCurrentContainer->ScrollToItemL( iCurrentSuiteModel->GetSuiteHighlight() );
-    if ( !scrollConsumed || !AknLayoutUtils::PenEnabled() )
-        {
-        iCurrentContainer->DrawNow();
-        }
-    RefreshUiPanesL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ApplyHighlightFromModelL()
-    {
-    if ( iCurrentSuiteModel && iCurrentContainer )
-        {
-        TInt highlightedItemIndex = iCurrentSuiteModel->GetSuiteHighlight();
-        iCurrentContainer->RestoreWidgetPosition();
-
-        iCurrentContainer->SetManualHighlightL(
-                highlightedItemIndex, EFalse );
-        if ( iMakeHightlightedItemFullyVisible &&
-                !iCurrentContainer->ItemIsFullyVisible( highlightedItemIndex ) )
-            {
-            iCurrentContainer->ScrollToItemL( highlightedItemIndex );
-            }
-        iCurrentContainer->CacheWidgetPosition();
-        iMakeHightlightedItemFullyVisible = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleFocusGainedL()
-	{
-	DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
-			"- EEventFocusGained"));
-
-	iHasFocus = ETrue;
-
-    // Tricky: lack of iCurrentSuiteModel indicates that suite evaluation is in
-    // progress - do not call HandlePresentationChangeL if evalution has not
-    // finished.
-	if ( iCurrentContainer && !iCurrentContainer->IsVisible() &&
-	        iCurrentSuiteModel )
-		{
-		HandlePresentationChangeL( iCurrentContainer );
-		}
-
-	if ( iCurrentSuiteModel && iCurrentContainer )
-		{
-		iDummyContainer->MakeVisible( EFalse );
-		iCurrentContainer->MakeVisible( ETrue );
-		iCurrentContainer->DrawNow();
-		}
-	if( IsForeground() )
-		{
-		RefreshUiPanesL();
-		}
-	if ( iCurrentContainer )
-	    {
-	    iCurrentContainer->SetHasFocusL( ETrue );
-	    }
-	if ( iCurrentSuiteModel )
-        {
-        iCurrentSuiteModel->SetVisibleL( ETrue );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleFocusLostL()
-	{
-	DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
-			"- EEventFocusLost"));
-
-	iHasFocus = EFalse;
-
-	if( iCurrentContainer )
-		{
-		//This is needed in case some popup is displayed
-		//while touching item in grid. Highlight
-		//should be reset to normal then.
-		if( AknLayoutUtils::PenEnabled() )
-			{
-			if( iCurrentContainer->WidgetType() == EGridWidget && !IsEditMode() )
-				{
-				iCurrentContainer->Widget()->View()->ItemDrawer()->
-					SetFlags( CListItemDrawer::EDisableHighlight );
-				}
-			iCurrentContainer->Widget()->View()->
-			ItemDrawer()->ClearFlags( CListItemDrawer::EPressedDownState );
-			iCurrentContainer->Widget()->View()->DrawItem(
-							  iCurrentContainer->Widget()->CurrentItemIndex() ) ;
-			}
-		if( IsEditMode() && iCurrentContainer->IsDraggable() )
-			{
-			iCurrentContainer->CancelDragL( EFalse );
-			iCurrentContainer->DrawNow();
-			}
-		iCurrentContainer->SetHasFocusL( EFalse );
-		}
-	if ( iCurrentSuiteModel )
-		{
-		iCurrentSuiteModel->SetVisibleL( EFalse );
-		}
-
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleFullOrPartialForegroundGainedL()
-	{
-		DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
-						"- KAknFullOrPartialForegroundGained"));
-	if (iCurrentContainer && iCurrentSuiteModel )
-		{
-		iCurrentContainer->HandleForegroundGainedL();
-		iDummyContainer->MakeVisible( EFalse );
-		iCurrentContainer->MakeVisible( ETrue );
-		RefreshUiPanesL();
-		}
-	if (iSkinChangeNeeded && !iSkinChangeInProgress)
-		{
-		MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-		if (skinInstance && !skinInstance->IsUpdateInProgress())
-			{
-			RefreshIconsL();
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleFullOrPartialForegroundLostL()
-	{
-	DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
-			"- KAknFullOrPartialForegroundLost"));
-	if ( iCurrentContainer )
-		{
-		iCurrentContainer->HandleBackgroundGainedL();
-		if ( IsRootdisplayedL() )
-			{
-			iCurrentContainer->RestoreWidgetPosition();
-			iCurrentContainer->CacheWidgetPosition();
-			}
-		}
-	}
-
-// End of File
--- a/menufw/menufwui/matrixmenu/src/mmdocument.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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:  Application Document class
-*
-*/
-
-
-// INCLUDE FILES
-#include "mmappui.h"
-#include "mmdocument.h"
-#include <apgwgnam.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmDocument* CMmDocument::NewL( CEikApplication& aApp )
-	{
-	CMmDocument* self = NewLC( aApp );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmDocument* CMmDocument::NewLC( CEikApplication& aApp )
-	{
-	CMmDocument* self =
-		new ( ELeave ) CMmDocument( aApp );
-
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmDocument::ConstructL()
-	{
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmDocument::CMmDocument( CEikApplication& aApp )
-	: CAknDocument( aApp )
-	{
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmDocument::~CMmDocument()
-	{
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CMmDocument::CreateAppUiL()
-	{
-	// Create the application user interface, and return a pointer to it
-	// the framework takes ownership of this object
-	return ( static_cast <CEikAppUi*> ( new ( ELeave ) CMmAppUi ) );
-	}
-
-// End of File
--- a/menufw/menufwui/matrixmenu/src/mmgui.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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:  Application startpoint
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikstart.h>
-#include "mmapplication.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication()
-	{
-	return new CMmApplication;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-	{
-	return EikStart::RunApplication( NewApplication );
-	}
--- a/menufw/menufwui/matrixmenu/src/mmnomemory.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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: Subscribes properties from P&S
-*
-*/
-
-#include "mmnomemory.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmNoMemory::CMmNoMemory() :
-    CActive( EPriorityIdle )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmNoMemory* CMmNoMemory::NewLC()
-    {
-    CMmNoMemory* self = new (ELeave) CMmNoMemory();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmNoMemory* CMmNoMemory::NewL()
-    {
-    CMmNoMemory* self = CMmNoMemory::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmNoMemory::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmNoMemory::Start()
-    {
-    Cancel();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmNoMemory::~CMmNoMemory()
-    {
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmNoMemory::DoCancel()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmNoMemory::RunL()
-    {
-    User::Leave( KErrNoMemory );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmNoMemory::RunError(TInt aError)
-    {
-    return aError;
-    }
--- a/menufw/menufwui/mmextensions/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  Build information file for project mmextensions
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../mmextensionmanager/group/bld.inf"
-#include "../mmfolderuiextension/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/mmextensions.iby                                             CORE_APP_LAYER_IBY_EXPORT_PATH(mmextensions.iby)
-../rom/mmextensions_resources.iby                                   LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(mmextensions_resources.iby)
--- a/menufw/menufwui/mmextensions/mmextensionmanager/BWINS/mmextensionmanageru.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?NewL@CMMExtensionManager@@SAPAV1@AAVMMmActionRequest@@@Z @ 1 NONAME ; class CMMExtensionManager * CMMExtensionManager::NewL(class MMmActionRequest &)
-
--- a/menufw/menufwui/mmextensions/mmextensionmanager/EABI/mmextensionmanageru.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_ZN19CMMExtensionManager4NewLER16MMmActionRequest @ 1 NONAME
-
--- a/menufw/menufwui/mmextensions/mmextensionmanager/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  Build information file for project mmextensionmanager
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/mmextensionmanager.h 		|../../../../inc/mmextensionmanager.h
-../inc/mmecomobserver.h             |../../../../inc/mmecomobserver.h
-
-PRJ_MMPFILES
-mmextensionmanager.mmp
-
-//PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/menufwui/mmextensions/mmextensionmanager/group/mmextensionmanager.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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:  Project definition file for project extension manager
-*
-*/
-
-
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-TARGET        mmextensionmanager.dll
-TARGETTYPE    DLL
-UID			  0x1000008d 0x2000E57F
-VENDORID      VID_DEFAULT
-
-CAPABILITY    CAP_GENERAL_DLL
-
-SOURCEPATH    	../src
-
-SOURCE		mmextensionmanager.cpp
-SOURCE      mmecomobserver.cpp
-
-
-USERINCLUDE   	.
-USERINCLUDE 	../inc
-USERINCLUDE   ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY       euser.lib 
-LIBRARY       ECom.lib
-
-DEBUGLIBRARY  flogger.lib
-
-// End of File
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmdialogmanager.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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:   Menu Framework extension plugin
-*
-*/
-
-#ifndef MMDIALOGMANAGER_H
-#define MMDIALOGMANAGER_H
-
-#include <AknQueryDialog.h>
-
-class MMmDialogManager
-    {
-public:
-    /**
-     * Setter for dialog.
-     * @param aDialog Dialog instance.
-     * @return Result of the dialog.
-     */
-    virtual void SetDialogL( CAknQueryDialog* aDialog ) = 0;
-    
-    /**
-     * Removes active dialog.
-     */
-    virtual void RemoveDialogL() = 0;
-    };
-
-#endif /* MMDIALOGMANAGER_H */
-
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmecomobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:   Menu Framewrok ECom observer
-*
-*/
-
-#ifndef C_ECOM_OBSERVER_H
-#define C_ECOM_OBSERVER_H
-
-#include <e32base.h>	// For CActive, link against: euser.lib
-#include <e32std.h>		// For RTimer, link against: euser.lib
-
-class REComSession;
-
-/**
- * Class defining callback interface.
- */
-
-/**
- * MHNEcomInstallNotifierCallback is an interface contains function
- * executed when ECom plugin have changed. Interface is used by all
- * ECom observer implementations.
- *
- * @since S60 5.0
- * @ingroup group_mmextensions
- */
-class MHNEcomInstallNotifierCallback
-    {
-public:
-	
-	/**
-	 * Refreshes list of MultimediaMenu plugins implementations.
-	 */
-    virtual void EcomChangedL() = 0;    
-    };
-
-/**
- * Class for observing ECom server
- */
-
-/**
- * CMMEcomObserver is a class represents ECom plugin. Class is
- * derived by all ECom plugin implemetations. Implementation
- * contains basic functionality related with ECom mechanism and
- * notification handling.
- *
- * @since S60 5.0
- * @ingroup group_mmextensions
- */
-NONSHARABLE_CLASS( CMMEcomObserver ) : public CActive
-    {
-public:
-    /**
-     * Cancel and destroy.
-     */
-    ~CMMEcomObserver();
-
-    /**
-     * Two-phased constructor.
-     * @param aCallback Pointer to ECom plugin callback.
-     * @return Instance of the CMMEcomObserver class.
-     */
-    static CMMEcomObserver* NewL( MHNEcomInstallNotifierCallback* aCallback );
-
-    /**
-     * Two-phased constructor.
-     * @param aCallback Pointer to ECom plugin callback.
-     * @return Instance of the CMMEcomObserver class.
-     */
-    static CMMEcomObserver* NewLC( MHNEcomInstallNotifierCallback* aCallback );
-
-private:
-    /**
-     * Default C++ constructor.
-     */
-    CMMEcomObserver();
-
-    /**
-     * Second-phase constructor.
-     * @param aCallback Pointer to ECom plugin callback.
-     */
-    void ConstructL( MHNEcomInstallNotifierCallback* aCallback );
-
-private:
-    
-    /**
-     * From CActive. Handles completion.
-     */
-    void RunL();
-
-    /**
-     * Cancels active object.
-     */
-    void DoCancel();
-
-    /**
-     * Override to handle leaves from RunL(). Default implementation causes
-     * the active scheduler to panic.
-     * @param aError Currently error status.
-     * @return Error code.
-     */
-    TInt RunError( TInt aError );
-
-private:
-
-    /**
-     * ECom handler
-     * Own.
-     */
-    REComSession* iSession;
-    
-    /**
-     * Callback pointer.
-     * Not own.
-     */
-    MHNEcomInstallNotifierCallback* iCallback;
-    
-    };
-
-#endif // C_ECOM_OBSERVER_H
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionmanager.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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:   Menu Framewrok extension manager
-*
-*/
-
-
-#ifndef C_MM_EXTENSION_MANAGER_H
-#define C_MM_EXTENSION_MANAGER_H
-
-// INCLUDES
-#include "mmecomobserver.h"
-#include <e32std.h>
-#include <e32base.h>
-#include <e32hashtab.h>
-
-class CMMExtensionPlugin;
-class CLiwGenericParamList;
-class MMmActionRequest;
-
-/**
- * CMMExtensionManager is a class derived from MHNEcomInstallNotifierCallback.
- * It is responsible for loading, keeping and managing all ECom plugin
- * implementations. Additionaly, CMMExtensionManager receives command from UI
- * and decides which plugin have to handle the event.
- *
- * @since S60 5.0
- * @ingroup group_mmextensions
- */
-NONSHARABLE_CLASS( CMMExtensionManager ):
-    public CBase,
-    public MHNEcomInstallNotifierCallback
-	{
-public: // Constructors and destructor
-
-	/**
-	 * Standard C++ Destructor.
-	 */
-	~CMMExtensionManager();
-
-	/**
-	 * Two-phased constructor.
-     * @return Instance of the CMMExtensionManager class.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-	 */
-	IMPORT_C static CMMExtensionManager* NewL( MMmActionRequest& aActionRequest );
-
-	/**
-	 * Two-phased constructor.
-     * @return Instance of the CMMExtensionManager class.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-	 */
-	static CMMExtensionManager* NewLC( MMmActionRequest& aActionRequest );
-	
-public:
-
-	/** Pure interface method.
-	* Representative of a method provided on the interface by 
-	* the interface definer.
-	* @param aUid UID of the ECom plugin's.
-	* @param aCommand Command which has to be executed on the plugin.
-	*                 Request to the Service.
-	* @param aEventParamList List of the event parameters needed to
-	*                        execute action. Extention Manager is its owner.
-	* @return Number representing error code.
-	*/
-	virtual TInt ExecuteActionL( 
-		const TUid aUid,
-        const TDesC& aCommand,
-        CLiwGenericParamList* aEventParamList );
-	
-	/**
-	 * Refreshes list of MultimediaMenu plugins implementations.
-	 */
-	void EcomChangedL();
-
-private:
-
-	/**
-	 * Constructor for performing 1st stage construction.
-	 * @param aActionRequest Interface enabling to issues request to App UI.
-	 */
-	CMMExtensionManager( MMmActionRequest& aActionRequest );
-	
-	/**
-	 * EPOC default constructor for performing 2nd stage construction.
-	 *
-	 */
-	void ConstructL();
-	
-	/**
-	 * Loads MultimediaMenu plugins implementations.
-	 */
-	void LoadPluginsL( );
-	
-	/**
-	 * Gets ECom plugin implementation.
-	 * @param aUid Id of the ECom plugin.
-	 * @return ECom extension plugin.
-	 */
-	CMMExtensionPlugin* GetImplementationL( const TUid aUid );
-	
-private:
-	
-	/**
-	 * Pointer to plugin map.
-	 * Own.
-	 */
-	RHashMap< TInt32, CMMExtensionPlugin*> iPluginMap;
-	
-    /**
-	 * Not Own.
-	 * Reference to the App UI.
-	 */	
-	MMmActionRequest& iActionRequest;
-	
-	/**
-	 * Pointer to ECom observer.
-	 * Own.
-	 */
-    CMMEcomObserver *iEcomObserver;
-};
-
-#endif // C_MM_EXTENSION_MANAGER_H
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugin.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +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: Menu Framework extension plugin
-*
-*/
-
-
-#ifndef C_MM_EXTENSION_PLUGIN_H_
-#define C_MM_EXTENSION_PLUGIN_H_
-
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include "mmextensionplugindef.h"
-
-class CLiwGenericParamList;
-
-/**
- * CMMExtensionPlugin is a class representing ECom plugin.
- * Class has virtual function responsible for executing
- * command. It can also returns array of all implementations.
- * Class is deriving by all ECom plugin implementations.
- *
- * @since S60 5.0
- * @ingroup group_mmextensions
- */
-NONSHARABLE_CLASS( CMMExtensionPlugin ) : public CBase
-	{
-public:
- 	/** 
- 	* Instantiates an object of this type.
-    * @param aUid ECom plugin's UID.
-    * @param aParams The plugin's parameters.
-    * @return Instance of the CMMExtensionPlugin class.
-    */
- 	static CMMExtensionPlugin* NewL( TUid aUid ,  TAny* aParams );
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
-    virtual ~CMMExtensionPlugin();
-    
-	/** 
-	* Request a list of all available implementations which 
-	* satisfy this given interface.
-    * @param aImplInfoArray ECom plugin implementations array.
-    */
-	static void ListAllImplementationsL( RImplInfoPtrArray& aImplInfoArray );
-
-    /**
-     * Executes provided action.
-     * @param aCommand Command which has to be executed on the plugin.
-     *                 Request to the Service.
-     * @param aEventParamList Pointer to a list of the event parameters. 
-     *                        Its ownership is held in extension manager,
-     *                        so if one wishes to use it in asynchronous operations
-     *                        then he needs to keep a copy of the data.
-     * @return Error code.
-     */
-    virtual TInt ExecuteActionL( 
-        const TDesC& aCommand,
-        CLiwGenericParamList* aEventParamList ) = 0;
-
-protected:
-	/**
-	 * Default constructor.
-	 */
-	inline CMMExtensionPlugin();
-
-private:
-	/**
-	 * Unique instance identifier key.
-	 */
-	TUid iDtor_ID_Key;
-	};
-	
-#include "mmextensionplugin.inl"
-
-#endif /* C_MMEXTENSIONPLUGIN_H_ */
-
-// End of file    
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugin.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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:  Inline functions for Menu Framewrok extension plugins
- *
-*/
-
-
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-inline CMMExtensionPlugin::CMMExtensionPlugin()
-	{
-	}
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-inline CMMExtensionPlugin::~CMMExtensionPlugin()
-	{
-	// Destroy any instance variables and then
-	// inform the framework that this specific 
-	// instance of the interface has been destroyed.
-	REComSession::DestroyedImplementation( iDtor_ID_Key );
-	}
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-inline CMMExtensionPlugin* CMMExtensionPlugin::NewL( TUid aUid , TAny* aParams )
-	{
-	return REINTERPRET_CAST( CMMExtensionPlugin*, 
-		REComSession::CreateImplementationL( aUid, 
-		   _FOFF( CMMExtensionPlugin, iDtor_ID_Key ) , aParams ) ) ;
-	}   
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-inline void CMMExtensionPlugin::ListAllImplementationsL(
-	RImplInfoPtrArray& aImplInfoArray)
-	{
-	REComSession::ListImplementationsL( TUid::Uid( KCMMExtensionInterfaceUid ), 
-		aImplInfoArray );
-	}
-
-// End of File
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugindef.h	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Plugin definition
- *
-*/
-
-
-
-#ifndef MM_PLUGINS_DEF_H_
-#define MM_PLUGINS_DEF_H_
-
-const TInt32 KCMMExtensionInterfaceUid = {0x2000E581};
-const TInt32 KCMMExtContactsAddPlugin = {0x2000E582};
-const TInt32 KCMMExtContactsDefNumberPlugin = {0x2000E583};
-const TInt32 KCMMExtContactsThumbnailPlugin = {0x2000E584};
-
-_LIT( KCMMExtContactsAddPluginName, "AddContact" );
-_LIT( KCMMExtContactsDefNumberPluginName, "ChangeDefaultNumber" );
-_LIT( KCMMExtContactsThumbnailPluginName, "ChangeThumbnail" );
-
-#endif /*MM_PLUGINS_DEF_H_*/
-
-
-// End of file    
-
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionpluginuids.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  UIds definitions
- *
-*/
-
-
-#ifndef MM_PLUGIN_UIDS_HRH_
-#define MM_PLUGIN_UIDS_HRH_
-
-#define KCMMExtensionPluginUid 0x2000E581
-#define KCMMExtContactsAddPluginUid 0x2000E582
-#define KCMMExtContactsDefNumberPluginUid 0x2000E583
-#define KCMMExtContactsThumbnailPluginUid 0x2000E584
-
-#endif /*MM_PLUGIN_UIDS_HRH_*/
-
-// End of file    
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mymenudebug.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  Debug constants definitions
- *
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT( KDebugDirName, "menu" );
-_LIT( KDebugFileName, "mmextensionmeneger.txt" );
-
-#endif // MYMENUDEBUG_H
-
-// End of File
--- a/menufw/menufwui/mmextensions/mmextensionmanager/src/mmecomobserver.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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:   Interface of the Ecom observer
-*
-*/
-
-#include <ecom/ecom.h>
-#include "mmecomobserver.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMEcomObserver::CMMEcomObserver() :
-    CActive(EPriorityStandard) // Standard priority
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMEcomObserver* CMMEcomObserver::NewLC( 
-                                    MHNEcomInstallNotifierCallback* aCallback )
-    {
-    CMMEcomObserver* self = new ( ELeave ) CMMEcomObserver();
-    CleanupStack::PushL(self);
-    self->ConstructL( aCallback );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMEcomObserver* CMMEcomObserver::NewL( 
-                                    MHNEcomInstallNotifierCallback* aCallback )
-    {
-    CMMEcomObserver* self = CMMEcomObserver::NewLC( aCallback );
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMEcomObserver::ConstructL( MHNEcomInstallNotifierCallback* aCallback )
-    {
-    iCallback = aCallback;
-    iSession = &REComSession::OpenL();
-    iSession->NotifyOnChange( iStatus );
-    CActiveScheduler::Add( this );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMEcomObserver::~CMMEcomObserver()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    if( iSession )
-        {
-        iSession->Close();
-        }
-    REComSession::FinalClose( );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMEcomObserver::DoCancel()
-    {
-    iSession->CancelNotifyOnChange( iStatus );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMEcomObserver::RunL()
-    {
-    iCallback->EcomChangedL();
-    iSession->NotifyOnChange( iStatus );
-    SetActive(); // Tell scheduler a request is active
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMMEcomObserver::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
--- a/menufw/menufwui/mmextensions/mmextensionmanager/src/mmextensionmanager.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +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:   Menu Framework Extension Manager
-*
-*/
-
-#include <mmf/common/mmfcontrollerpluginresolver.h> // for CleanupResetAndDestroyPushL
-
-#include "mmextensionplugin.h"
-#include "mmextensionmanager.h"
-#include "menudebug.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMExtensionManager::CMMExtensionManager( MMmActionRequest& aActionRequest ):
-    iActionRequest( aActionRequest )
-	{
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMExtensionManager::~CMMExtensionManager()
-	{
-	THashMapIter< TInt32, CMMExtensionPlugin* > iter( iPluginMap);	
-    for (CMMExtensionPlugin* const* ptr =
-                                ( CMMExtensionPlugin* const* ) iter.NextValue();
-        ptr; ptr = ( CMMExtensionPlugin* const* ) iter.NextValue())
-        {
-            delete (CMMExtensionPlugin*)(*ptr);
-        }    
-	iPluginMap.Close ();
-	
-	
-    //delete iPluginNameMap
-    /*THashMapIter< HBufC*, TInt32 > iter1( iPluginNameMap );
-    while ( HBufC*const* ptrHbuf = iter1.NextKey() )
-        {		
-        delete *ptrHbuf;
-        }  
-    iPluginNameMap.Close();*/
-	
-    delete iEcomObserver;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMExtensionManager* CMMExtensionManager::NewLC( MMmActionRequest& aActionRequest )
-	{
-	CMMExtensionManager* self = new (ELeave) CMMExtensionManager( aActionRequest );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMMExtensionManager* CMMExtensionManager::NewL( 
-                                                   MMmActionRequest& aActionRequest )
-	{
-	CMMExtensionManager* self = CMMExtensionManager::NewLC( aActionRequest );
-	CleanupStack::Pop (); // self;
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMExtensionManager::ConstructL()
-	{
-    iEcomObserver = CMMEcomObserver::NewL( this );
-	LoadPluginsL();
-	}
-
-// ---------------------------------------------------------------------------
-// CASpaPluginManager::LoadPluginsL
-// Load plugins implementations
-// ---------------------------------------------------------------------------
-//    
-void CMMExtensionManager::LoadPluginsL()
-    {	
-	DEBUG16(("\t_MM_: CMMExtensionManager::LoadPluginsL()") );
-	
-	// Read info about all implementations into infoArray
-	RImplInfoPtrArray infoArray;
-	
-	// Note that a special cleanup function is required to reset and destroy
-	// all items in the array, and then close it.
-	CleanupResetAndDestroyPushL( infoArray );
-	CMMExtensionPlugin::ListAllImplementationsL( infoArray );
-	
-	// Loop through each info for each implementation
-	// and create and use each in turn
-	CMMExtensionPlugin* plug;
-	for ( TInt i = 0; i < infoArray.Count(); i++ )
-		{
-		// Slice off first sub-section in the data section
-	    TUid current_plugin = infoArray[i]->ImplementationUid();
-		plug = CMMExtensionPlugin::NewL( current_plugin , &iActionRequest );
-		CleanupStack::PushL( plug );
-		TInt32 key = current_plugin.iUid;
-	    iPluginMap.InsertL( key, plug );
-	    CleanupStack::Pop( plug );
-		plug = NULL;
-		}
-    CleanupStack::PopAndDestroy( &infoArray );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMMExtensionManager::ExecuteActionL( 
-	    const TUid aUid,
-        const TDesC& aCommand,
-	    CLiwGenericParamList* aEventParamList )
-	{
-    TInt result = KErrNotFound;
-	if( aUid.iUid != KNullUidValue )
-	    {
-	    CMMExtensionPlugin* pluginInstance = GetImplementationL( aUid );
-	    if( pluginInstance ) 
-	        {
-	        result = pluginInstance->ExecuteActionL(
-	                aCommand, aEventParamList );
-	        }
-	    }
-	else
-	    {
-	    THashMapIter<TInt32, CMMExtensionPlugin*> plugins( iPluginMap );
-	    CMMExtensionPlugin* const* plugin = NULL;
-	    for( plugin = plugins.NextValue(); plugin;
-	            plugin = plugins.NextValue() )
-	        {
-	        (*plugin)->ExecuteActionL( aCommand, aEventParamList );
-	        }
-	    result = KErrNone;
-	    }
-	return result;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMExtensionPlugin* CMMExtensionManager::GetImplementationL(
-    const TUid aUid )
-    {
-    CMMExtensionPlugin* ret = NULL;
-    CMMExtensionPlugin **imp = NULL;
-
-    TInt pluginId ( aUid.iUid );
-    
-    imp = iPluginMap.Find( pluginId );
-    if( imp )
-        {
-        ret = *imp;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMExtensionManager::EcomChangedL()
-    {
-    THashMapIter< TInt32, CMMExtensionPlugin* > iter( iPluginMap );
-    for (CMMExtensionPlugin* const* ptr =
-                                ( CMMExtensionPlugin* const* ) iter.NextValue();
-        ptr; ptr = ( CMMExtensionPlugin* const* ) iter.NextValue())
-        {
-            delete (CMMExtensionPlugin*)(*ptr);
-        }
-    iPluginMap.Close();
-    LoadPluginsL();
-    }
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/data/mmfolderuiextensionplugin.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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:  Resource file for the browse folder UI extension plugin
- *
-*/
-
-
-#include <ecom/registryinfo.rh>
-#include "mmextensionpluginuids.hrh"
-
-// ---------------------------------------------------------------------------
-// theInfo
-// Declares info for implementations
-// ---------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = 0x2001CB78;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = KCMMExtensionPluginUid;
-			implementations = 
-				{
-				// Info for CMmFolderUIExtPlugin
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x2001CB79;
-					version_no = 1;
-					display_name = "Folder UI Extension Plugin";
-					default_data = "Folder";
-					opaque_data = "";
-					}
-				};
-			}
-		};
-	}
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/data/mmfolderuiextplugin.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +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:  Resource file for the browse folder UI extension plugin
- *
-*/
-
-
-NAME PPUP	// 4 letter ID
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-
-#ifdef LANGUAGE_SC
-	#include <sc/avkon.loc>
-#else
-	#include <avkon.loc>
-#endif
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf="AFUP"; }
-
-RESOURCE DIALOG r_menu_filename_query
-	{
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-	items=
-		{
-		DLG_LINE
-			{
-			type = EAknCtQuery;
-			id = EGeneralQuery;
-			control= AVKON_DATA_QUERY
-				{
-				layout = EDataLayout;
-				control = EDWIN
-					{
-					flags= EEikEdwinNoHorizScrolling | EEikEdwinResizable;
-					maxlength = 256; // KMaxFileName
-					};
-				};
-			}
-		};
-	}
-
-RESOURCE DIALOG r_menu_wait_dialog
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control= AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_fldr_deleting_wait_note;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-
-RESOURCE DIALOG r_menu_edit_interruption_info
-	{
-	flags = EAknWarningNoteFlags | EEikDialogFlagWait;
-	buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-	items =
-		{
-		DLG_LINE
-			{
-			type = EAknCtNote;
-			id = EGeneralNote;
-			control = AVKON_NOTE
-				{
-				layout = EGeneralLayout;
-				animation = R_QGN_NOTE_ERROR_ANIM;
-				};
-			}
-		};
-	}
-
-RESOURCE DIALOG r_menu_edit_delete_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_menu_edit_move_to_folder_select_cancel_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_SELECT_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleGraphicPopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxMenuList;
-                    height = 3;
-                    width = 10;
-                    };
-                heading = qtn_fldr_move_to_prmpt;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_menu_edit_move_to_folder_select_back_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_SELECT_BACK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleGraphicPopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxMenuList;
-                    height = 3;
-                    width = 10;
-                    };
-                heading = qtn_fldr_move_to_prmpt;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_menu_edit_moving_complete_notification
-    {
-    flags = EAknWarningNoteFlags | EEikDialogFlagWait;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                animation = R_QGN_NOTE_OK_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_menu_edit_moving_abort_notification
-    {
-    flags = EAknWarningNoteFlags | EEikDialogFlagWait;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                animation = R_QGN_NOTE_ERROR_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE TBUF r_menu_edit_root_folder { buf=qtn_fldr_root_level; }
-RESOURCE TBUF r_menu_edit_default_folder_name { buf=qtn_fldr_name_default; }
-RESOURCE TBUF r_menu_edit_folder_name { buf=qtn_fldr_name_prmpt; }
-RESOURCE TBUF r_menu_edit_delete_query_text { buf=qtn_query_common_conf_delete; }
-RESOURCE TBUF r_menu_edit_fldr_deleting_wait_note { buf=qtn_fldr_deleting_wait_note; }
-RESOURCE TBUF r_menu_edit_fldr_bad_file_name { buf=qtn_fldr_bad_file_name; }
-RESOURCE TBUF r_menu_edit_fldr_illegal_characters { buf=qtn_fldr_illegal_characters; }
-
-// end of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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:  Build information file for project mmfolderuiextensionplugin
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-mmfolderuiextensionplugin.mmp
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/group/mmfolderuiextensionplugin.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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:  Project definition file for project ui extension plugin
-*
-*/
-
-
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET        mmfolderuiextensionplugin.dll
-TARGETTYPE    PLUGIN
-UID 0x10009D8D 0x2001CB78
-
-CAPABILITY    CAP_ECOM_PLUGIN
-LANG	      SC
-
-SOURCEPATH    ../src
-SOURCE	      mmproxy.cpp
-SOURCE	      mmfolderuiextplugin.cpp
-SOURCE	      mmfoldercommand.cpp
-SOURCE        mmfoldercommandadd.cpp
-SOURCE        mmfoldercommanddelete.cpp
-SOURCE        mmfoldercommandrename.cpp
-SOURCE        mmmovetofoldercommand.cpp
-SOURCE        mmpluginsharedresources.cpp
-
-USERINCLUDE   ../inc
-USERINCLUDE   ../loc
-USERINCLUDE   ../../../../inc
-USERINCLUDE   ../../mmextensionmanager/inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH    ../data
-START RESOURCE mmfolderuiextensionplugin.rss
-HEADER
-TARGET        mmfolderuiextensionplugin.rsc
-TARGETPATH    ECOM_RESOURCE_DIR
-END
-
-SOURCEPATH		../data
-START RESOURCE mmfolderuiextplugin.rss
-HEADER
-TARGET         mmfolderuiextplugin.rsc
-TARGETPATH     APP_RESOURCE_DIR 
-LANGUAGE_IDS
-END //RESOURCE
-
-
-LIBRARY       euser.lib
-LIBRARY       ecom.lib 
-LIBRARY       liwservicehandler.lib     // CLiwGenericParamList
-LIBRARY       avkon.lib                 // CAknListQueryDialog
-LIBRARY       bafl.lib                  // CDesCArrayFlat
-LIBRARY       eikdlg.lib                // CEikDialog
-LIBRARY       commonengine.lib          // StringLoader
-LIBRARY       hnmetadatamodel.lib
-LIBRARY       hnutilities.lib
-LIBRARY       eikcoctl.lib
-LIBRARY       aknicon.lib
-LIBRARY       egul.lib
-LIBRARY       cone.lib
-LIBRARY       favouritesengine.lib
-LIBRARY       commondialogs.lib 
-LIBRARY       swinstcli.lib
-LIBRARY       sisregistryclient.lib
-LIBRARY       apgrfx.lib
-LIBRARY       ws32.lib
-LIBRARY       apparc.lib
-LIBRARY       widgetregistryclient.lib
-LIBRARY       featmgr.lib
-LIBRARY       mcsmenu.lib
-LIBRARY       estor.lib 
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-// End of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommand.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,359 +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:   Interface of the folder command
- *
-*/
-
-
-
-#ifndef MMFOLDERCOMMAND_H
-#define MMFOLDERCOMMAND_H
-
-#include <e32base.h>
-#include <liwcommon.h>
-#include "mmdialogmanager.h"
-#include "mcsmenusapi.h"
-
-class CMmPluginSharedResources;
-class CHnMdBaseKey;
-class CHnServiceHandler;
-class CAknQueryDialog;
-class MMmActionRequest;
-class MMmDialogManager;
-
-/**
- * Base class for folder operations
- * @since S60 v5.0
- */
-
-/**
- * CMmFolderCommand is a class which all command classes derived from.
- * It has a several common functions responsible for creating appropriate
- * command instance, displaying dialogs, controlling command execution,
- * getting data from resources, displaying dialogs and executing MCS queries.
- * CMmFolderCommand is using only as a base class in inheritance.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommand ) : public CBase, 
-                                        public MMmDialogManager,
-                                        public MLiwNotifyCallback
-    {
-
-protected:
-    
-    /**
-     * Current state of folder name validation.
-     */
-    enum TValidation
-        {
-        EValidationOk = 0,
-        EValidationInvalid = 1,
-        EValidationNotAllowed = 2
-        };
-
-public:
-   
-    /**
-     * Factory Method which returns concrete class
-     * representing folder operation.
-     * @param aCommand Descriptor contains required command.
-     * @return If aCommand is supported, operations instance is returned.
-     */
-    static CMmFolderCommand* FactoryL( const TDesC& aCommand );
-    
-    /**
-     * Returns TInt value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return TInt value or KErrNotFound.
-     */
-    TInt GetIntL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Returns string value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return String value or KNullDesC.
-     */
-    TPtrC GetStringL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Returns bool value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return TBool value.
-     */
-    TBool GetBoolL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Performs operation on folder.
-     * @param aEventParamList List of parameters for operations.
-     */
-    virtual void ExecuteActionL( CLiwGenericParamList* aEventParamList ) = 0;
-    
-    /**
-     * Setter for App UI.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-     */ 	
- 	void SetRequestInterface( MMmActionRequest* aActionRequest );
- 	
-    /**
-     * Setter for shared resources.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-     */ 	
- 	void SetSharedResources( CMmPluginSharedResources* aResources ); 
- 	
-    /**
-     * Setter for dialog.
-     * @param aDialog Dialog instance.
-     * @return Result of the dialog.
-     */
-    void SetDialogL( CAknQueryDialog* aDialog );
-    
-    /**
-     * Removes active dialog.
-     */
-    void RemoveDialogL();
- 	
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
-    virtual ~CMmFolderCommand();
-    
-protected:
-
-	/**
-	 * Base Plugin constructor
-	 */ 
-	void BaseConstructL();
-	
-    /**
-    * Gets folder name.
-    * @param aFolderName Name of the folder.
-    * @return Modal dialog displaying result.
-    */ 
-    TBool DoChangeNameL( RBuf& aFolderName, TInt aDefaultNameLength,
-        RBuf& aNumberInBracket, CLiwGenericParamList& aFoldersNames, 
-        TLiwVariant& aVar, TInt aNumberToAppend = 0 );
-
-    /**
-     * Gets folder name.
-     * @param aFolderName Name of the folder.
-     * @return Modal dialog displaying result.
-     */ 
-    void ChangeNameIfAlreadyExistsL( RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames, TInt aNumberToAppend = 0 );
-    
-    /**
-     * Gets list of the folders names.
-     * @param aFolderName Name of the folder.
-     */
-    void GetFolderListL( TInt aItemId );
-    
-    /**
-     * Gets list of the items names.
-     * @param aFolderName Name of the folder.
-     */
-    void GetListL( TInt aItemId );
-    
-    /**
-     * Gets folder name.
-     * @param aFolderName Name of the folder.
-     * @return Modal dialog displaying result.
-     */ 
-    TBool GetFolderNameL( RBuf& aFolderName, 
-            CLiwGenericParamList* aFoldersNames = 0 );
-    
-    /**
-     * Displays notification contains reason of the deletion cancel.
-     * @param aFolderName Name of the folder.
-     */
-    void DisplayErrorInfoL( const TDesC& aFolderName );
-    
-    /**
-     * Executes query on MCS service.
-     * @param aQueryName Query name.
-     * @param aInputData Input data.
-     * @param aFilter Query filter.
-     * @param aCallback Interface handling query execution.
-     */ 
-    void MCSQueryExecutionL( const TDesC8& aQueryName,
-                             const CHnMdBaseKey* aInputData,
-                             const CHnMdBaseKey* aFilter,
-                             MLiwNotifyCallback* aCallback );
-    
-    /**
-     * Add new key to existing key.
-     * @param aInDataKey An existing key.
-     * @param aKeyName Name of the new key.
-     * @param aKeyType Type of the new key.
-     * @param aKeyValue Value of the new key.
-     */
-    void AddSubKeyL( CHnMdBaseKey* aInDataKey, 
-                     const TDesC8& aKeyName, 
-                     const TDesC8& aKeyType, 
-                     const TDesC8& aKeyValue );
-    
-    /**
-     * Add new key to existing key.
-     * @param aInDataKey An existing key.
-     * @param aKeyName Name of the new key.
-     * @param aKeyType Type of the new key.
-     * @param aKeyValue Value of the new key.
-     */
-    void AddSubKeyL( CHnMdBaseKey* aInDataKey, 
-                     const TDesC8& aKeyName, 
-                     const TDesC8& aKeyType, 
-                     const TDesC& aKeyValue );
-    
-    /**
-     * Checks if folder name is valid and consists of allowed characters
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt FolderNameValidationL(RBuf& aFolderName,
-            CLiwGenericParamList* aFoldersNames = 0);
-    
-    /**
-     * Removes illegal character
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt IllegalCharacterRemoveL(RBuf& aFolderName,
-            CLiwGenericParamList* aFoldersNames = 0);
-    
-    /**
-     * Checks if folder name is valid
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt CheckValidFileNameL( const TDes& aFolderName );
-    
-    /**
-     * Checks if folder name consists of allowed characters
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt CheckAllowedCharsL( const TDes& aFolderName );
-    
-    /**
-     * Displays notification contains reason of the add folder/rename folder name  cancel.
-     * @param aResourceId The numeric ID of the resource string to be read.
-     */
-    void DisplayNameErrorInfoL( const TDesC& aMsg );
-    
-private:
-	
-    /**
-     * Prepare GetList input data for specified folder
-     * @param aItemId id of folder.
-     */
-	void PrepareGetListInputL(TInt aItemId);
-	
-	/**
-	 * Prepare GetList filter for folders
-	 */
-	void PrepareGetListFolderFilterL();
-	
-    /**
-     * Prepare GetList filter for folders
-     */
-    void PrepareGetListFilterL();
-	
-	/**
-	 * Insert Liw map to Liw list
-     * @param aList
-     * @param aKey
-     * @param aMap
-	 */
-	void InsertToLiwListL(CLiwGenericParamList* aList, 
-			const TDesC8& aKey, const CLiwDefaultMap* aMap); 
-	
-	/**
-	 * Externalize GetList input list
-	 */
-    void ExternalizeInputListL();
-    
-    /**
-     * Internalize GetList output list
-     */
-    void InternalizeOutputListL();
-	
-    
-protected:
-    
-    /**
-     * Own.
-     * Intance of the service handler.
-     */
-    CHnServiceHandler* iServiceHandler;
-    
-    
-    /**
-	 * Not Own.
-	 * Pointer to the App UI.
-	 */
-    MMmActionRequest* iActionRequest;
-    
-    /**
-     * Own.
-     * Pointer to active dialog.
-     */
-    CAknQueryDialog* iDialog;
-    
-    /**
-     * Flag indicating wheather dialog can be displayed.
-     */
-    TBool iLockDialog;
-    
-    /*
-     * MCS sesion.
-     * Own.
-     * */
-    RMenuSapi iMcs;
-    
-    /**
-     * GetList input and output parameter lists.
-     * Own.
-     */
-    CLiwGenericParamList* iGetListInParam;
-    CLiwGenericParamList* iGetListOutParam;
-    
-    /**
-     * GetList serialized input and output parameter lists.
-     * Own.
-     */
-    RBuf8 iSerializedInputList;
-    RBuf8 iSerializedOutputList;
-    
-    /**
-     * Pointer to shared resources class.
-     * Not owned.
-     */
-    CMmPluginSharedResources* iSharedResources;
-    
-    };
-
-#endif /*MMFOLDERCOMMAND_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommandadd.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +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:   Add folder command
- *
-*/
-
-
-
-#ifndef MMFOLDERCOMMANDADD_H
-#define MMFOLDERCOMMANDADD_H
-
-#include <e32base.h>
-#include "mmfoldercommand.h"
-
-
-/**
- * Class representing add folder operations
- * @since S60 v5.0
- */
-
-/**
- * CMmFolderCommandAdd is a class inherits from CMmFolderCommand.
- * It's responsible for handling command adding folder to MCS. Plugin supports
- * MMCreateNewFolderCommand command. It displays query, get name and executes
- * MCS query creating new folder. After successfully folder creation it send
- * request to HN engine to set focus on added folder.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommandAdd ) : public CMmFolderCommand
-    {
-public:
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderCommandAdd class.
- 	 */
- 	static CMmFolderCommandAdd* NewL();
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderCommandAdd();    
-
-private:
-    
-    /**
-     * Performs add folder operation.
-     * @param aEventParamList List of the event parameters.
-     */
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-    
-    /**
-     * Handles notifications caused by an asynchronous Execute*CmdL call
-     * or an event.
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-                        CLiwGenericParamList& aEventParamList,
-                        const CLiwGenericParamList& aInParamList );
-    
-    /**
-     * Handle adding folder, caalled just after the GetList
-     */
-    void ExecuteAddFolderL();
-     
-    /**
-     * Creates folder in MCS.
-     * @param aFolder Folder name.
-     */
-    void CreateFolderL( const TDesC& aFolder );
-	
-    /**
-	 * Default C++ constructor.
-	 */
-	CMmFolderCommandAdd();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-    
-   	
-private:
-    
-    /**
-     * Id of the parent folder.
-     */
-    TInt32 iParent;
-    
-    };
-
-#endif /*MMFOLDERCOMMANDADD_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommanddelete.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +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:  Delete folder command
-*
- *
-*/
-
-
-
-
-#ifndef MMFOLDERCOMMANDDELETE_H
-#define MMFOLDERCOMMANDDELETE_H
-
-#include <e32base.h>
-#include <AknProgressDialog.h> // for MProgressDialogCallback
-#include "mmfoldercommand.h"
-
-class CAknWaitDialog;
-
-/**
- * Class representing remove folder operations.
- * @since S60 v5.0
- */
-
-/**
- * CMmFolderCommandDelete is a class inherits from CMmFolderCommand.
- * It's responsible for handling command removing folder from MCS. Plugin
- * supports MMDeleteFolderCommand command. It displays confirmation dialog,
- * removes item from MCS and displays notification with operation summary.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommandDelete ):
-    public CMmFolderCommand,
-    public MProgressDialogCallback
-    {
-public:
-    
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderCommandDelete class.
- 	 */
- 	static CMmFolderCommandDelete* NewL();
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderCommandDelete();    
-
-protected:
-    /**
-     * Performs add folder operation.
-     * @param aEventParamList Parameters for operations.
-     */
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-    
-    /**
-     * Handles notifications caused by an asynchronous Execute*CmdL call
-     * or an event.
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-             CLiwGenericParamList& aEventParamList,
-             const CLiwGenericParamList& aInParamList );
-
-	/**
-	 * Default C++ constructor.
-	 */
-	CMmFolderCommandDelete();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-    
-   	/**
-	 * Displays confirmation dialog.
-	 * @param aFolderName Name of the folder.
-	 */
-    TBool DeleteQueryL( const TDesC& aFolderName );
-    
-    /**
-     * Moves focus before delete.
-     */
-    void MoveFocusBeforeDeleteL();
-    
-    /**
-	 * Starts wait dialog with progress bar.
-	 * @param aLabel Wait dialog content.
-	 */
-    void StartWaitDialogL( const TDesC& aLabel );
-    
-    /**
-	 * Stops wait dialog with progress bar.
-	 */
-    void StopWaitDialogL();
-    
-    /**
-	 * Removes item from mcs.
-	 * @param aId Id in MCS.
-	 * @param aFolderName Name of the folder.
-	 */
-    void DeleteItemFromMcsL( TInt aId, const TDesC& aFolderName );
-    
-    /**
-     * Starts uninstallation process.
-     * @param aId Id in MCS.
-     */
-    void UninstallL( TInt aId );
-    
-    /**
-     * Gets application package UID.
-     * @param aUid UID of the application.
-     * @return Application package UID.
-     */
-    TUid GetSisPackageUidL( TUid aUid );
-    
-    /**
-     * Checks wheather item is a midlet.
-     * @param aUid UID of the item.
-     * @return ETrue if item is a midlet, otherwise EFalse.
-     */
-    TBool IsMidletL( TUid aUid );
-    
-
-private:
-    
-    /**
-     * Callback method from MProgressDialogCallback interface.
-     * Gets called when a dialog is dismissed.
-     * @param aButtonId Id of the pushed button.
-     */
-    void DialogDismissedL( TInt aButtonId );
-
-protected:
-    
-    /**
-     * Own.
-     * Pointer to wait dialog.
-     */ 
-    CAknWaitDialog* iWaitDialog;
-    };
-
-
-/**
- *  Class representing remove suite operations.
- *  @since S60 v5.0
- */
-
-/**
- * CMmFolderDeleteSuite is a class deriving from CMmFolderCommandDelete.
- * It's responsible for handling command removing a suite from MCS.
- *
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderDeleteSuite ) : public CMmFolderCommandDelete
-    {
-public:
-    
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderDeleteSuite();
-    
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderDeleteSuite class.
- 	 */
- 	static CMmFolderDeleteSuite* NewL();
-
-private:
-	
-	/**
-     * Performs add folder operation.
-     * @param aEventParamList Parameters for operations.
-     */ 
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-
-	/**
-	 * Default C++ constructor.
-	 */
-	CMmFolderDeleteSuite();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-    
-    };
-
-
-/**
- *  Class representing remove application operations.
- *  @since S60 v5.0
- */
-
-/**
- * CMmFolderDeleteApp is a class deriving from CMmFolderCommandDelete.
- * It's responsible for handling command removing an application from MCS.
- *
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderDeleteApp ) : public CMmFolderCommandDelete
-	{
-public:
-    
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderDeleteApp class.
- 	 */
- 	static CMmFolderDeleteApp* NewL();
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderDeleteApp();
-
-
-private:     
-	
-	/**
-     * Performs add folder operation.
-     * @param aEventParamList Parameters for operations.
-     */ 
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-
-	/**
-	 * Default C++ constructor.
-	 */
-	CMmFolderDeleteApp();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-    
-    };
-
-
-#endif /*MMFOLDERCOMMANDDELETE_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommandrename.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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:   Rename folder command
- *
-*/
-
-
-
-
-#ifndef MMFOLDERCOMMANDRENAME_H
-#define MMFOLDERCOMMANDRENAME_H
-
-#include <e32base.h>
-#include "mmfoldercommand.h"
-
-/**
- * CMmFolderCommandRename is a class inherits from CMmFolderCommand.
- * It's responsible for handling command renaming folder in MCS. Plugin supports
- * MMRenameFolderCommand command. It displays query, get name and update item
- * from MCS.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommandRename ) : public CMmFolderCommand
-    {
-public:
-    
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderCommandRename class.
- 	 */
- 	static CMmFolderCommandRename* NewL();
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderCommandRename(); 
-
-private:
-
-    /**
-     * Performs rename folder operation.
-     * @param aEventParamList Parameters for operations.
-     */
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-    
-    /**
-     * Handles notifications caused by an asynchronous Execute*CmdL call
-     * or an event.
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-             CLiwGenericParamList& aEventParamList,
-             const CLiwGenericParamList& aInParamList );
-    
-    /**
-     * Gets new name of the folder.
-     * @param aId Id of the item.
-     * @param aFolderName Reference to buffer contains folder name.
-     */ 
-    void RenameFolderL( TInt aId, RBuf& aFolderName );
-	
-	/**
-	 * Default C++ constructor.
-	 */
-	CMmFolderCommandRename();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-     	
-private:
-    
-    };
-
-#endif /*MMFOLDERCOMMANDRENAME_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfolderuiextplugin.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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:   Folder UI extension plugin
- *
-*/
-
-
-
-#ifndef MMFOLDERUIEXTPLUGIN_H
-#define MMFOLDERUIEXTPLUGIN_H
-
-#include <e32base.h>
-#include <liwcommon.h>
-#include "mmextensionplugin.h"
-
-class CMmPluginSharedResources;
-class CMmFolderCommand;
-class MMmActionRequest;
-
-/**
- * CMmFolderUiExtPlugin is an Ecom plugin implementation responsible for
- * executing operations on folders from MCS. Plugin receives command from UI,
- * creates appropriate handler and starts command handling.
- * 
- * CMmFolderUiExtPlugin implements CMMExtensionPlugin interface. The most
- * important function is ExecuteActionL which receives parameters from
- * extension manager. One of those parameters is command name. Plugin is
- * supporting following commands:
- * - MMCreateNewFolderCommand,
- * - MMRenameFolderCommand,
- * - MMDeleteFolderCommand,
- * - MMDeleteAppCommand,
- * - MMDeleteSuiteCommand.
- * If function received other command it would return KErrNotSupported error
- * code.
- * 
- * UI extension plugin need to be declared and configured in xml file as part
- * of mmenu:action tag, which is inside mmenu:event tag. Any data that should
- * be passed to plugin have to be defined inside mmenu:data tag as mmenu:key
- * tags.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderUiExtPlugin ) : public CMMExtensionPlugin
-	{
-public:
-   
-    /** 
-     * Instantiates an object of this type.
-     * @return Instance of the CMmFolderUiExtPlugin class.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-     */
-    static CMmFolderUiExtPlugin* NewL( MMmActionRequest& aActionRequest );
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderUiExtPlugin();
-    
-    /**
-     * Executes provided action.
-     * Has to be implemented by each UI extension plugin.
-     * @param aEventParamList Event parameters.
-     * @param aCommand Command to be executed.
-     * @return Error code.
-     */
-    TInt ExecuteActionL( const TDesC& aCommand,
-    					 CLiwGenericParamList* aEventParamList );
-
-protected:
-	/**
-	 * Default C++ constructor.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-	 */
-	CMmFolderUiExtPlugin( MMmActionRequest& aActionRequest );
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-	 
-private:
-    /**
-     * Check wheather Menu is in foreground.
-     * @return ETrue if Menu is in foreground, otherwise EFalse;
-     */
-    TBool IsMatrixInForegroundL();
-    
-private:
-
-	/**
-	 * Own.
-	 * Pointer to the folder command.
-	 */
-    CMmFolderCommand* iCommand;
-    
-    /**
-	 * Not Own.
-	 * Reference to the App UI.
-	 */
-    MMmActionRequest& iActionRequest;
-    
-    /**
-     * Own.
-     * Shared resources used in plugins.
-     * Created during first command execution.
-     */
-    CMmPluginSharedResources* iSharedResources;
-    
-    };
-
-#endif /*MMFOLDERUIEXTPLUGIN_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfolderuiextpluginconstants.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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:  Contatns used by folder UI extension plugin
- *
-*/
-
-
-#ifndef MMFOLDERUIEXTPLUGINCONTANTS_H
-#define MMFOLDERUIEXTPLUGINCONTANTS_H
-
-/**
- * Constants used in add folder UI extension plugin.
- * For XML configuration as well.
- */
-
-// implemantation UID
-const TInt32 KCFolderUiExtPluginUid = { 0x2001CB79 };
-
-// command names, also used in XML configuration
-_LIT( KAddFolderCmd,    "MMCreateNewFolderCommand" );
-_LIT( KRenameFolderCmd, "MMRenameFolderCommand" );
-_LIT( KDeleteFolderCmd, "MMDeleteFolderCommand" );
-_LIT( KDeleteAppCmd,    "MMDeleteAppCommand" );
-_LIT( KDeleteSuiteCmd,  "MMDeleteSuiteCommand" );
-_LIT( KMoveToFolderCmd, "MMMoveToFolderCommand" );
-
-
-#endif /*MMFOLDERUIEXTPLUGINCONTANTS_H*/
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmmovetofoldercommand.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +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:   Add folder command
- *
-*/
-
-
-
-#ifndef MMMOVETOFOLDERCOMMAND_H
-#define MMMOVETOFOLDERCOMMAND_H
-
-#include <e32base.h>
-#include "mmfoldercommand.h"
-
-class CMmFolder;
-
-/**
- * CMmMoveToFolderCommand is a class inherits from CMmFolderCommand.
- * It's responsible for handling command adding folder to MCS. Plugin supports
- * MMCreateNewFolderCommand command. It displays query, get name and executes
- * MCS query creating new folder. After successfully folder creation it send
- * request to HN engine to set focus on added folder.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmMoveToFolderCommand ) : public CMmFolderCommand
-    {
-public:
-    /** 
-     * Instantiates an object of this type.
-     * @return Instance of the CMmMoveToFolderCommand class.
-     */
-    static CMmMoveToFolderCommand* NewL();
-
-    /**
-     * Virtual C++ Destructor.
-     */
-    ~CMmMoveToFolderCommand();
-
-private:
-    
-    /**
-     * Performs add folder operation.
-     * @param aEventParamList List of the event parameters.
-     */
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-    
-    /**
-     * Handles notifications caused by an asynchronous Execute*CmdL call
-     * or an event.
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-                        CLiwGenericParamList& aEventParamList,
-                        const CLiwGenericParamList& aInParamList );
-    
-    /**
-     * Default C++ constructor.
-     */
-    CMmMoveToFolderCommand();
-    
-    /**
-     * Second phase Symbian constructor.
-     */
-    void ConstructL();
-
-    /**
-     * Second phase Symbian constructor.
-     */
-    CMmFolder* CurrentFolder();
-    
-    /**
-     * Selects folder.
-     */
-    void SelectFolderL( const RPointerArray< CMmFolder >& aFolderContent );
-    
-    /**
-     * Moves item with given id to another folder.
-     * @param aId Id of an item to be moved.
-     * @param aFolderId Id of the target folder. 
-     *        If KErrNotFound than item moved in 
-     *        hierarchy is the current folder.
-     * @param aBeforeItemId Id of the item after which an item should be 
-     *        placed. If KErrNotFound than items are placed at the end of the
-     *        folder. 
-     */
-    void MoveToFolderL( TInt aId, TInt aFolderId,
-                        TInt aBeforeItemId = KErrNotFound );
-    
-    
-    /**
-     * Gets index of the selected item.
-     * @param aItems Folder list.
-     * @param aCurrentFolderId Id of the current folder.
-     * @return Index of the selected item.
-     */
-    TInt SelectFolderFromListL( CDesCArrayFlat* aItems, TBool aIsRoot );
-    
-    /**
-     * Provides array contains folder icons.
-     * @return Array of icons.
-     */
-    CArrayPtr<CGulIcon>* GetFolderIconsL();
-    
-    /**
-     * Browses folder from list.
-     * @param aParentId Parent folder id.
-     * @param aMovingItemId Id of the moving item.
-     * @param aDestinationFolderId Id of the selected folder.
-     * @param aWidgetType Type of the current widget.
-     */
-    void BrowseFolderL( TInt aParentId, TInt aMovingItemId,
-            TInt& aDestinationFolderId, const TDesC& aWidgetType );
-    
-    /**
-     * Displays notification.
-     */
-    void NotificationMovingCompleteL();
-    
-    /**
-     * Displays notification.
-     */
-    void NotificationItemAlreadyStoredL();
-    
-    /**
-     * Gets default name of root folder.
-     * @param aIdentifier Identifier of resource.
-     * @return Descriptor from resource.
-     */
-    HBufC* GetFromResourceLC( TInt aIdentifier );
-    
-    /**
-     * Removes last folder from opened hierarchy
-     */
-    void StepBackInHierarchy();
-    
-    
-    /**
-     * Handles MoveToFolder operation
-     */
-    void ExecuteMoveToFolderL();
-    
-    /**
-     * Fill aFolderArray with folders from GetList output
-     */
-    void GetFoldersL(RPointerArray<CMmFolder >& aFolderArray);
-    
-private:
-    
-    /**
-     * Id of the parent folder.
-     */
-    TInt32 iParentId;
-    
-    TInt iItemId;
-    
-    TBool iFlagLeave;
-    
-    RBuf iWidgetType;
-    
-    RBuf iItemName;
-    
-    RBuf iFolderName;
-    
-    RPointerArray< CMmFolder > iOpenedHierarchy;
-    
-    };
-
-
-
-NONSHARABLE_CLASS( CMmFolder ) : public CBase
-    {
-public:
-    /** 
-     * Instantiates an object of this type.
-     * @return Instance of the CMmMoveToFolderCommand class.
-     */
-    static CMmFolder* NewL();
-
-    /**
-     * Virtual C++ Destructor.
-     */
-    ~CMmFolder();
-    
-    /**
-     * Setter for the folder name.
-     * @param aName Name of the folder.
-     */
-    void SetNameL( const TDesC& aName );
-    
-    /**
-     * Getter for the folder name.
-     * @return Name of the item.
-     */
-    const TDesC& Name() const;
-    
-    /**
-     * Setter for the folder id.
-     * @param aId Id of the folder.
-     */
-    void SetId( TInt aId );
-    
-    /**
-     * Getter for the folder id.
-     * @return Id of the folder.
-     */
-    TInt Id();
-    
-private:
-    /**
-     * Default C++ constructor.
-     */
-    CMmFolder();
-    
-    /**
-     * Second phase Symbian constructor.
-     */
-    void ConstructL();
-    
-private:
-    /**
-     * Own.
-     * Name of the folder.
-     */
-    RBuf iName;
-    
-    /**
-     * Id of the folder.
-     */
-    TInt iId;
-    
-    };
-
-#endif /*MMMOVETOFOLDERCOMMAND_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmpluginsharedresources.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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: Holds plugins shared resources
-* Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-#ifndef CMMPLUGINSHAREDRESOURCES_H_
-#define CMMPLUGINSHAREDRESOURCES_H_
-
-class CMmPluginSharedResources : public CBase
-	{
-public:
-	
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmPluginSharedResources class.
- 	 */
- 	static CMmPluginSharedResources* NewL();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-	
- 	/**
- 	 * C++ Destructor.
- 	 */
-	~CMmPluginSharedResources();
-	
-	/**
-	 * Getter for resource file
-	 * @return String file path. 
-	 */
-	const TDesC& GetLanguageFilePath() { return *iLanguageFilePath; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_DEFAULT_FOLDER_NAME
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetDefaultFolderName() { return *iDefFolderName; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_FOLDER_NAME 
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetEditFolderName() { return *iEditFolderName; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_FLDR_BAD_FILE_NAME
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetMsgBadFileName() { return *iMsgBadFileName; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_FLDR_ILLEGAL_CHARACTERS
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetMsgIllegalCharacters() { return *iMsgBadChar; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_ROOT_FOLDER
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetRootFolder() { return *iRootFolder; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_FLDR_DELETING_WAIT_NOTE
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetMsgFolderDeleting() { return *iDelWaitNote; }
-	
-private:
-    /**
-     * Resources. Own.
-     */
-    HBufC* iLanguageFilePath;
-    HBufC* iDefFolderName;
-    HBufC* iEditFolderName;
-    HBufC* iMsgBadFileName;
-    HBufC* iMsgBadChar;
-    HBufC* iRootFolder;
-	HBufC* iDelWaitNote;
-    
-	/**
-	 * Resource offset.
-	 */
-    TInt iResourceOffset;
-	};
-
-#endif /* CMMPLUGINSHAREDRESOURCES_H_ */
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommand.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,682 +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:   Interface of the folder command
- *
-*/
-
-#include <liwcommon.h>
-#include <e32base.h>
-#include <eikenv.h>
-#include <StringLoader.h>
-#include <AknQueryDialog.h>
-#include <aknnotewrappers.h>
-#include <s32mem.h>
-
-#include "mmfoldercommand.h"
-#include "mmfoldercommandadd.h"
-#include "mmfoldercommandrename.h"
-#include "mmfoldercommanddelete.h"
-#include "mmmovetofoldercommand.h"
-#include "mmdialogmanager.h"
-#include "hnliwutils.h"
-#include "menudebug.h"
-#include "hnutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnservicehandler.h"
-#include "mmfolderuiextpluginconstants.h"
-#include "mmpluginsharedresources.h"
-
-#include <avkon.rsg>
-#include <matrixmenu.rsg>
-#include <mmfolderuiextplugin.rsg>
-
-
-const TInt KCountNotAllowedChars = 9;
-// Unicode character of sign obtained by press '0' key three times. Enter key.
-const TUint16 KIllegalCharEnter = 0x21b2;
-// Unicode line separator character obtained by pressing Shift + Enter keys
-const TUint16 KIllegalCharLineSeparator = 0x2028;
-// Space unicode character.
-// Characters which ascii value is smaller than 32 are not allowed.
-const TUint16 KSpace = ' '; //32;
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommand::~CMmFolderCommand()
-    {
-    iSerializedInputList.Close();
-    iSerializedOutputList.Close();
-    delete iGetListOutParam;
-    delete iGetListInParam;
-    iMcs.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::BaseConstructL()
-	{
-	// Init MCS session
-	TBuf16<KMaxFileName> buf;
-	buf.Copy(KMatrixMenuData);
-	iMcs.OpenL(buf);
-	iGetListInParam = CLiwGenericParamList::NewL();
-	iGetListOutParam = CLiwGenericParamList::NewL();
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::MCSQueryExecutionL(
-        const TDesC8& aQueryName,
-        const CHnMdBaseKey* aInputData,
-        const CHnMdBaseKey* aFilter,
-        MLiwNotifyCallback* aCallback )
-    {
-    RPointerArray< CHnMdBaseKey > data;
-    CleanupClosePushL( data );
-    data.AppendL( aInputData );
-    if ( aFilter )
-        {
-        data.AppendL( aFilter );
-        }
-
-    CHnMdBaseKey* serviceData = HnMdKeyFactory::CreateL(
-        KServiceContentName, KKeyTypeString, KMatrixMenuData );
-    CleanupStack::PushL( serviceData );
-
-    RPointerArray< CHnMdBaseKey> constructor;
-    CleanupClosePushL( constructor );
-    constructor.AppendL( serviceData );
-    CLiwGenericParamList* constructorLiw = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* commandLiw = CLiwGenericParamList::NewLC();
-    HnLiwUtils::SetGenericParamListL( constructor, *constructorLiw );
-    HnLiwUtils::SetGenericParamListL( data, *commandLiw );
-
-    TBuf8< KMaxLength > interface( KMCSDataSourceInterface8 );
-    if ( !aQueryName.Compare( KCmdOrganize8 ) ||
-            !aQueryName.Compare( KCmdExecuteAction8 ) )
-        {
-        interface.Copy( KMCSMenuContentInterface8 );
-        }
-
-    delete iServiceHandler;
-    iServiceHandler = NULL;
-    iServiceHandler = CHnServiceHandler::NewL(
-            KMCSService8, interface, aQueryName,
-            EServiceModeAsynchronous, constructorLiw, commandLiw );
-
-    CleanupStack::Pop( commandLiw );
-    CleanupStack::Pop( constructorLiw );
-
-    iServiceHandler->ExecuteL( aCallback , 0 );
-
-    CleanupStack::PopAndDestroy( &constructor );
-    CleanupStack::PopAndDestroy( serviceData );
-    CleanupStack::PopAndDestroy( &data );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommand* CMmFolderCommand::FactoryL( const TDesC& aCommand )
-    {
-    CMmFolderCommand* ret = NULL;
-    if( !aCommand.Compare( KAddFolderCmd ) )
-		{
-		ret = CMmFolderCommandAdd::NewL();
-		}
-    else if ( !aCommand.Compare( KRenameFolderCmd ) )
-		{
-		ret = CMmFolderCommandRename::NewL();
-		}
-    else if ( !aCommand.Compare( KDeleteFolderCmd ) )
-		{
-		ret = CMmFolderCommandDelete::NewL();
-		}
-    else if ( !aCommand.Compare( KDeleteAppCmd ) )
-		{
-		ret = CMmFolderDeleteApp::NewL();
-		}
-    else if ( !aCommand.Compare( KDeleteSuiteCmd ) )
-		{
-		ret = CMmFolderDeleteSuite::NewL();
-		}
-    else if ( !aCommand.Compare( KMoveToFolderCmd ) )
-        {
-        ret = CMmMoveToFolderCommand::NewL();
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmFolderCommand::DoChangeNameL( RBuf& aFolderName, 
-		TInt aDefaultNameLength, RBuf& aNumberInBracket, 
-		CLiwGenericParamList& aFoldersNames, TLiwVariant& aVar,
-		TInt aNumberToAppend )
-    {
-    TBool nameChanged( EFalse );
-    TInt position( KErrNone );
-    TInt count = aFoldersNames.FindFirst( position, KReturnValue8() )
-        ->Value().AsList()->Count();
-    aNumberInBracket.Delete( KOpenBracket().Length(), 
-        aNumberInBracket.Length() - KOpenBracket().Length() );
-    
-    if ( aNumberToAppend < KMaxDigitNumber )
-        {
-        aNumberInBracket.AppendNum( 0 );
-        }
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        HnLiwUtils::GetVariantL( aFoldersNames, KLongNamePath8, i, aVar );
-        TPtrC longName;
-        aVar.Get( longName );
-        if ( !aFolderName.Compare( longName ) )
-            {
-            aNumberInBracket.AppendNum( aNumberToAppend );
-            aNumberInBracket.Append( KCloseBracket );
-            aFolderName.Delete( aDefaultNameLength, 
-                aFolderName.Length() - aDefaultNameLength );
-            aFolderName.Append( aNumberInBracket );
-            nameChanged = ETrue;
-            break;
-            }
-        }
-    return nameChanged;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::ChangeNameIfAlreadyExistsL( RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames, TInt aNumberToAppend )
-    {
-    if ( !aFoldersNames )
-        {
-        return;
-        }
-    TLiwVariant var;
-    var.PushL();
-    RBuf numberInBracket;
-    CleanupClosePushL(numberInBracket);
-    numberInBracket.CreateL( KMaxLength );
-    numberInBracket.Append( KOpenBracket );
-    numberInBracket.AppendNum( aNumberToAppend );
-    numberInBracket.Append( KCloseBracket );
-    TInt defaultNameLength = aFolderName.Length();
-    
-    while( DoChangeNameL( aFolderName, defaultNameLength, numberInBracket,
-            *aFoldersNames, var, ++aNumberToAppend ) )
-        ;
-        
-    CleanupStack::PopAndDestroy(&numberInBracket);
-    CleanupStack::PopAndDestroy( &var );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmFolderCommand::GetFolderNameL( RBuf& aFolderName, 
-        CLiwGenericParamList* aFoldersNames )
-	{
-	TBool res( EFalse );
-	if( aFolderName.Length() == 0 )
-		{
-	    aFolderName.Append( iSharedResources->GetDefaultFolderName() );
-	    ChangeNameIfAlreadyExistsL( aFolderName, aFoldersNames );
-		}
-
-	CAknTextQueryDialog* dialog =
-	    CAknTextQueryDialog::NewL( aFolderName, CAknQueryDialog::ENoTone );
-	
-	dialog->PrepareLC( R_MENU_FILENAME_QUERY );
-	dialog->SetPromptL( iSharedResources->GetEditFolderName() );
-
-	SetDialogL( dialog );
-    res = dialog->RunLD();
-    SetDialogL( NULL );
-
-	return res;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::GetFolderListL( TInt aItemId )
-    {
-    // Prepare data for GetList
-    iGetListInParam->Reset();
-    PrepareGetListInputL( aItemId );
-    PrepareGetListFolderFilterL();
-    ExternalizeInputListL();
-    
-    // Get folders list from MCS
-    iMcs.GetListL( iSerializedInputList, iSerializedOutputList );
-    InternalizeOutputListL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::GetListL( TInt aItemId )
-    {
-    // Prepare data for GetList
-    iGetListInParam->Reset();
-    PrepareGetListInputL( aItemId );
-    PrepareGetListFilterL();
-    ExternalizeInputListL();
-    
-    // Get folders list from MCS
-    iMcs.GetListL( iSerializedInputList, iSerializedOutputList );
-    InternalizeOutputListL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::DisplayErrorInfoL( const TDesC& aFolderName )
-    {
-    CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ELongTimeout );
-    HBufC* msg = StringLoader::LoadLC(
-            R_FLDR_CANNOT_DELETE_ITEM, aFolderName );
-    dialog->SetTextL( msg->Des() );
-    dialog->ExecuteDlgLD( R_MENU_EDIT_INTERRUPTION_INFO );
-
-    CleanupStack::PopAndDestroy( msg );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::SetRequestInterface( MMmActionRequest* aActionRequest )
-    {
-    iActionRequest = aActionRequest;
-    }
-
-void CMmFolderCommand::SetSharedResources( CMmPluginSharedResources* aResources )
-	{
-	iSharedResources = aResources;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::SetDialogL( CAknQueryDialog* aDialog )
-    {
-    iDialog = aDialog;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::RemoveDialogL()
-    {
-    iLockDialog = ETrue;
-    if( iDialog )
-        {
-        iDialog->HandleQueryEditorStateEventL( NULL,
-            MAknQueryControlObserver::EEmergencyCallAttempted,
-            MAknQueryControlObserver::EEditorEmpty );
-        iDialog = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::AddSubKeyL( CHnMdBaseKey* aInDataKey,
-                                   const TDesC8& aKeyName,
-                                   const TDesC8& aKeyType,
-                                   const TDesC8& aKeyValue )
-    {
-    CHnMdBaseKey* key = HnMdKeyFactory::CreateL(
-    		aKeyName, aKeyType, aKeyValue );
-    CleanupStack::PushL( key );
-    aInDataKey->AddSubKeyL( key );
-    CleanupStack::Pop( key );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommand::AddSubKeyL( CHnMdBaseKey* aInDataKey, 
-                                   const TDesC8& aKeyName, 
-                                   const TDesC8& aKeyType, 
-                                   const TDesC& aKeyValue )
-    {
-    CHnMdBaseKey* key = HnMdKeyFactory::CreateL(
-    		aKeyName, aKeyType, aKeyValue );
-    CleanupStack::PushL( key );
-    aInDataKey->AddSubKeyL( key );
-    CleanupStack::Pop( key );
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-TInt CMmFolderCommand::FolderNameValidationL(RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames)
-    {
-    TValidation allowed(EValidationOk);
-
-    allowed = (TValidation) IllegalCharacterRemoveL(aFolderName, aFoldersNames);
-    if (allowed != EValidationOk)
-        {
-        return allowed;
-        }
-    allowed = (TValidation) CheckValidFileNameL(aFolderName);
-    if (allowed != EValidationOk)
-        {
-        // qtn_fldr_bad_file_name
-        // data entry (for example data query New name: qtn_fldr_item_name_prmpt ) is opened
-        DisplayNameErrorInfoL(iSharedResources->GetMsgBadFileName());
-        return allowed;
-        }
-    allowed = (TValidation) CheckAllowedCharsL(aFolderName);
-    if (allowed != EValidationOk)
-        {
-        // information note "Name cannot contain
-        // the characters < > \\ /"" |:*?" qtn_fldr_illegal_characters is displayed.                 
-        DisplayNameErrorInfoL(iSharedResources->GetMsgIllegalCharacters());
-        }
-    return allowed;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommand::IllegalCharacterRemoveL(RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames)
-    {
-    TValidation allowed( EValidationOk );
-    // illegal characters are removed
-    TInt pos( 0 );
-    while ( pos < aFolderName.Length() )
-        {
-        if ( aFolderName[pos] == KIllegalCharEnter ||
-             aFolderName[pos] == KIllegalCharLineSeparator )
-            {
-            aFolderName.Delete( pos, 1 );
-            }
-        else
-            {
-            ++pos;
-            }
-        }
-    if (aFolderName.Length() == 0)
-        {
-        aFolderName.Append(iSharedResources->GetDefaultFolderName());
-        ChangeNameIfAlreadyExistsL(aFolderName, aFoldersNames);
-        return allowed;
-        }
-    // only space character is not allowed
-    RBuf trimBuf;
-    CleanupClosePushL(trimBuf);
-    trimBuf.CreateL(aFolderName.Length());
-    trimBuf.Copy(aFolderName);
-    trimBuf.Trim();
-    if (!trimBuf.Length())
-        {
-        allowed = EValidationInvalid;
-        }
-    CleanupStack::PopAndDestroy(&trimBuf);
-
-    return allowed;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommand::CheckValidFileNameL( const TDes& aFolderName )
-    {
-    TValidation allowed(EValidationOk);
-    _LIT( KSingleDot, ".");
-    _LIT( KDoubleDot, "..");
-    
-    if (!aFolderName.Compare( KSingleDot) ||
-            !aFolderName.Compare( KDoubleDot ) ||
-            aFolderName.Length() > KMaxFileName)
-        {
-        allowed = EValidationInvalid;
-        }
-    else
-        {
-        // characters with ascii value less than 32
-        for (TInt index(0); index < aFolderName.Length(); index++)
-            {
-            if (aFolderName[index] < KSpace)
-                {
-                allowed = EValidationInvalid;                
-                }
-            }
-        }    
-    return allowed;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommand::CheckAllowedCharsL( const TDes& aFolderName )
-    {
-    TValidation allowed(EValidationOk);
-
-    for (TInt index(0); index < aFolderName.Length(); index++)
-        {
-        for (TInt c(0); c < KCountNotAllowedChars; c++)
-            {
-            if (TChar( KNotAllowedChars[c] ) == aFolderName[index])
-                {
-                allowed = EValidationNotAllowed;
-                }
-            }
-        }
-
-    return allowed;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::DisplayNameErrorInfoL( const TDesC& aMsg )
-    {
-    CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ELongTimeout );
-    dialog->SetTextL( aMsg );
-    dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_ABORT_NOTIFICATION );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::PrepareGetListInputL(TInt aItemId)
-	{
-    CLiwDefaultMap* inputMap = CLiwDefaultMap::NewLC();
-    
-    // Specify GetList input data
-    inputMap->InsertL( KIdAttrName8, TLiwVariant( TInt32( aItemId ) ) );         	// Item id
-    inputMap->InsertL( KRecursiveSearch8, TLiwVariant( TBool ( EFalse ) ) );	// Recursive Search
-    inputMap->InsertL( KFlatResult8, TLiwVariant ( TBool ( ETrue ) ) );	   	// Flat GetList
-    inputMap->InsertL( KParentOnly8, TLiwVariant ( TBool ( EFalse ) ) );	   	// Get children
-    
-    // Fill GetList input param list
-    InsertToLiwListL(iGetListInParam, KInData8, inputMap);
-
-    CleanupStack::PopAndDestroy(inputMap);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::PrepareGetListFolderFilterL()
-	{
-    // Specify GetList filter
-	CLiwDefaultMap* folderFilter = CLiwDefaultMap::NewLC();
-	folderFilter->InsertL( KTypeAttrName8, TLiwVariant( KMenuFolder ) ); // Folders
-	
-	folderFilter->InsertL( KHidden8, TLiwVariant( TBool(EFalse) ) ); // Not Hidden
-	folderFilter->InsertL( KDeleteLocked8, TLiwVariant( TBool(EFalse) ) ); // Not locked
-	
-	// Fill GetList input param list
-	InsertToLiwListL(iGetListInParam, KFilter8, folderFilter);
-	
-	CleanupStack::PopAndDestroy(folderFilter);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::PrepareGetListFilterL()
-    {
-    // Specify GetList filter
-    CLiwDefaultMap* folderFilter = CLiwDefaultMap::NewLC();
-    
-    folderFilter->InsertL( KHidden8, TLiwVariant( TBool(EFalse) ) ); // Not Hidden
-    folderFilter->InsertL( KMissing8, TLiwVariant( TBool(EFalse) ) ); // Not Missing
-    
-    // Fill GetList input param list
-    InsertToLiwListL(iGetListInParam, KFilter8, folderFilter);
-    
-    CleanupStack::PopAndDestroy(folderFilter);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::InsertToLiwListL(CLiwGenericParamList* aList, 
-		const TDesC8& aKey, const CLiwDefaultMap* aMap)
-	{
-    TLiwVariant liwVar;    
-    liwVar.Set( aMap );
-    liwVar.PushL();
-    TLiwGenericParam livGenParam( aKey, liwVar );
-    livGenParam.PushL();
-    aList->AppendL ( livGenParam );
-    CleanupStack::PopAndDestroy( &livGenParam );
-    CleanupStack::PopAndDestroy( &liwVar ); 
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::ExternalizeInputListL()
-	{
-	iSerializedInputList.Close();
-	iSerializedOutputList.Close();
-	iSerializedInputList.CreateL( iGetListInParam->Size() );
-	RDesWriteStream datastrm( iSerializedInputList );
-	CleanupClosePushL(datastrm);
-	iGetListInParam->ExternalizeL(datastrm);
-	datastrm.CommitL();
-	CleanupStack::PopAndDestroy(&datastrm);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::InternalizeOutputListL()
-	{
-	iGetListOutParam->Reset();
-	if (iSerializedOutputList.Size())
-		{
-		RDesReadStream stream( iSerializedOutputList );
-		CleanupClosePushL( stream );
-		iGetListOutParam->InternalizeL( stream ) ;
-		CleanupStack::PopAndDestroy(&stream);
-		}
-	}
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommand::GetIntL(
-        const CLiwGenericParamList& aParam, const TDesC8& aPath )
-    {
-    TInt pos( 0 );
-    const TLiwGenericParam* param = aParam.FindFirst( pos, aPath );
-    if( pos != KErrNotFound && param )
-        {
-        return param->Value().AsTInt32();
-        }
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TPtrC CMmFolderCommand::GetStringL(
-        const CLiwGenericParamList& aParam, const TDesC8& aPath )
-    {
-    TInt pos( 0 );
-    const TLiwGenericParam* param = aParam.FindFirst( pos, aPath );
-    if( pos != KErrNotFound && param )
-        {
-        return param->Value().AsDes();
-        }
-    TPtrC ret( KNullDesC16 );
-    return ret; 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CMmFolderCommand::GetBoolL(
-        const CLiwGenericParamList& aParam, const TDesC8& aPath )
-    {
-    TInt pos( 0 );
-    const TLiwGenericParam* param = aParam.FindFirst( pos, aPath );
-    if( pos != KErrNotFound && param )
-        {
-        return param->Value().AsTBool();
-        }
-    return EFalse; 
-    }
-
-// end of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommandadd.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +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:  Add folder command
- *  Version     : %version: 19.1.7 % << Don't touch! Updated by Synergy at check-out.
- *
-*/
-
- 
-#include <liwcommon.h>
-
-#include "mmfoldercommandadd.h"
-#include "hnglobals.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "mmactionrequest.h"
-#include "hnservicehandler.h"
-
-_LIT8( KItemLock, "item_lock" );
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandAdd* CMmFolderCommandAdd::NewL()
-	{
-	CMmFolderCommandAdd* self = new( ELeave ) CMmFolderCommandAdd();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandAdd::ConstructL()
-	{
-	BaseConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandAdd::~CMmFolderCommandAdd()
-	{
-	delete iServiceHandler;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandAdd::CMmFolderCommandAdd()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommandAdd::HandleNotifyL( TInt /*aCmdId*/, 
-                                TInt aEventId,
-                                CLiwGenericParamList& aEventParamList,
-                                const CLiwGenericParamList& /*aInParamList*/ )
-    {  
-    if( aEventId != KLiwEventCanceled )
-        {	
-	    TInt pos( 0 );
-        aEventParamList.FindFirst( pos, KIdAttrName8 );
-        if (pos != KErrNotFound)
-            {   
-            CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-            TLiwGenericParam command( KHnRequest, TLiwVariant( KSetFocus ) );
-            TLiwGenericParam dataId(
-                    KItemCustomId8, aEventParamList[pos].Value() );
-            TLiwGenericParam dataParentId(
-                    KSuiteCustomId8, TLiwVariant( iParent ) );
-                      
-            list->AppendL( dataId );
-            list->AppendL( dataParentId );
-            list->AppendL( command );
-            
-            iActionRequest->HandleRequestL( *list );
-            CleanupStack::PopAndDestroy( list );
-            }
-	    MMPERF(("CFolderUiExtPlugin::AddFolderCommandL - END"));
-		}
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandAdd::ExecuteAddFolderL()
-	{
-    MMPERF(("\t Show dialog - START"));
-    RBuf folder;
-    CleanupClosePushL( folder );
-    folder.CreateL( KMaxFileName );    
-    
-    TInt changed( KErrNone);
-    TInt allowed( EValidationInvalid );
-    do
-        {
-        changed = GetFolderNameL(folder, iGetListOutParam);
-        if (changed && folder.Length() > 0)
-            {
-            allowed = FolderNameValidationL(folder, iGetListOutParam);
-            }
-        }
-    while (allowed != EValidationOk && changed);
-    MMPERF(("\t Show Dialog - END"));
-    if (changed && allowed == EValidationOk)
-        {
-        MMPERF(("\t\t Create folder - START"));
-        CreateFolderL( folder );
-        MMPERF(("\t\t Create folder - END"));
-        }
-    CleanupStack::PopAndDestroy( &folder );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandAdd::ExecuteActionL( 
-                                       CLiwGenericParamList* aEventParamList )
-    {
-	MMPERF(("CFolderUiExtPlugin::AddFolderCommandL - START"));
-	ASSERT( aEventParamList );
-	TBool lock = GetBoolL( *aEventParamList, KItemLock );
-	if( !lock )
-	    {
-	    iParent = GetIntL( *aEventParamList, KItemTypeFolder8 );
-	    GetFolderListL( iParent );
-	    ExecuteAddFolderL();
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandAdd::CreateFolderL( const TDesC& aFolder )
-
-    {
-	HBufC8* parentTemp = HnConvUtils::NumToStr8LC( iParent );
-
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId );
-    CleanupStack::PushL( inDataKey );
-
-    AddSubKeyL( inDataKey, KType8, KKeyTypeString, KMenuFolder8 );
-    AddSubKeyL( inDataKey, KDeleteLocked8, KKeyTypeBoolean, KStringFalse8 );
-    AddSubKeyL( inDataKey, KMcsAppGroupName8, KKeyTypeString, aFolder );
-    AddSubKeyL( inDataKey, KMcsTitleName8, KKeyTypeString, aFolder );
-    AddSubKeyL( inDataKey, KMcsShortName8, KKeyTypeString, aFolder );
-    AddSubKeyL( inDataKey, KMcsLongName8, KKeyTypeString, aFolder );
-    AddSubKeyL( inDataKey, KParentId8, KKeyTypeInteger, *parentTemp );
-
-    MCSQueryExecutionL( KCmdAdd8, inDataKey, NULL, this );
-
-    CleanupStack::PopAndDestroy( inDataKey );
-    CleanupStack::PopAndDestroy( parentTemp );
-    }
-	
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommanddelete.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +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:   Delete folder command
- *
-*/
-
- 
-#include <liwcommon.h>
-#include <e32base.h>
-#include <eikenv.h>
-#include <StringLoader.h>
-#include <aknnotedialog.h>
-#include <AknQueryDialog.h>
-#include <AknWaitDialog.h> 
-
-#include "mmfoldercommanddelete.h"
-#include "mmdialogmanager.h"
-#include "mmactionrequest.h"
-#include "hnglobals.h"
-#include "hnliwutils.h"
-#include "menudebug.h"
-#include "hnutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnservicehandler.h"
-#include "mmpluginsharedresources.h"
-
-#include <avkon.rsg>
-#include <matrixmenu.rsg>
-#include <mmfolderuiextplugin.rsg>
-
-
-_LIT8( KChildrenCount8, "children_count" );
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete* CMmFolderCommandDelete::NewL()
-	{
-	CMmFolderCommandDelete* self = new( ELeave ) CMmFolderCommandDelete();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandDelete::ConstructL()
-	{
-	BaseConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete::~CMmFolderCommandDelete()
-	{
-	delete iServiceHandler;
-    if( iWaitDialog )
-        {
-        delete iWaitDialog;
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete::CMmFolderCommandDelete()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommandDelete::HandleNotifyL(  TInt /*aCmdId*/, 
-                                TInt aEventId,
-                                CLiwGenericParamList& /* aEventParamList */,
-                                const CLiwGenericParamList& /*aInParamList*/ )
-    {  
-    if( aEventId != KLiwEventCanceled  )
-        {
-        StopWaitDialogL();
-        MMPERF(("CFolderUiExtPlugin::DeleteFolderCommandL - END"));
-        }
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandDelete::ExecuteActionL(
-        CLiwGenericParamList* aEventParamList )
-    {
-    MMPERF(("CFolderUiExtPlugin::DeleteFolderCommandL - START"));
-    TInt id = GetIntL( *aEventParamList, KIdAttrName8 );
-    TPtrC currentName = GetStringL( *aEventParamList, KName8 );
-    TInt32 childrenCount = GetIntL( *aEventParamList, KChildrenCount8 );
-	
-	if( childrenCount == 0 )
-	    {
-        if( DeleteQueryL( currentName ) )
-            {
-            DeleteItemFromMcsL( id, currentName );
-
-            CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-            TLiwGenericParam command( KHnRequest, TLiwVariant( KDisableActionsForItem ) );
-            TLiwGenericParam itemCustomId(
-                    KItemCustomId8, TLiwVariant( static_cast<TInt32>( id ) ) );
-            list->AppendL( itemCustomId );
-            list->AppendL( command );
-            iActionRequest->HandleRequestL( *list );
-            CleanupStack::PopAndDestroy( list );
-        	}
-	    }
-	else
-	    {
-	    DisplayErrorInfoL( currentName );
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CMmFolderCommandDelete::MoveFocusBeforeDeleteL()
-    {
-    CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-    TLiwGenericParam command( KHnRequest, TLiwVariant( KMoveFocusBeforeDelete ) );
-
-    list->AppendL( command );
-    
-    iActionRequest->HandleRequestL( *list );
-    CleanupStack::PopAndDestroy( list );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::StartWaitDialogL( const TDesC& aLabel )
-    {
-    if( iWaitDialog )
-        {
-        delete iWaitDialog;
-        iWaitDialog = NULL;
-        }
- 
-    // For the wait dialog
-    iWaitDialog = new (ELeave) CAknWaitDialog(
-        REINTERPRET_CAST( CEikDialog**, &iWaitDialog ) );
-    iWaitDialog->SetCallback( this );
-    iWaitDialog->SetTextL( aLabel );
-    iWaitDialog->ExecuteLD( R_MENU_WAIT_DIALOG );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::DialogDismissedL(TInt /*aButtonId*/)
-    {
-    // No implementation required.
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::StopWaitDialogL()
-    {
-    if( iWaitDialog )
-        {
-        iWaitDialog->ProcessFinishedL(); 
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-TBool CMmFolderCommandDelete::DeleteQueryL( const TDesC& aFolderName )
-	{
-	HBufC* msg = StringLoader::LoadLC(
-			R_MENU_EDIT_DELETE_QUERY_TEXT, aFolderName );
-	CAknQueryDialog* dialog = CAknQueryDialog::NewL();
-	SetDialogL( dialog );
-	TBool result( dialog->ExecuteLD( R_MENU_EDIT_DELETE_QUERY, *msg ) );
-	SetDialogL( NULL );
-    CleanupStack::PopAndDestroy( msg );
-    return result;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommandDelete::DeleteItemFromMcsL(
-        TInt aId, const TDesC& aFolderName )
-    {
-	MMPERF(("\t\t Delete folder - START"));
-	
-	GetListL( aId );
-    TInt pos( 0 );
-    TInt count( 0 );
-    const TLiwGenericParam* res =
-            iGetListOutParam->FindFirst( pos, KReturnValue8() );
-    if( pos != KErrNotFound && res )
-        {
-        count = res->Value().AsList()->Count();
-        }
-    
-    if( count == 0 )
-        {
-        StartWaitDialogL( iSharedResources->GetMsgFolderDeleting() );
-        CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId8 );
-        CleanupStack::PushL( inDataKey );
-
-        HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-        AddSubKeyL( inDataKey, KIdParam, KKeyTypeInteger, *id );
-        MCSQueryExecutionL( KCmdDelete8, inDataKey, NULL, this );
-
-        CleanupStack::PopAndDestroy( id );
-        CleanupStack::PopAndDestroy( inDataKey );
-        }
-    else
-        {
-        HBufC* message = StringLoader::LoadLC(
-                R_FLDR_CANNOT_DELETE_ITEM, aFolderName );
-        CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-                CAknNoteDialog::EConfirmationTone,
-                CAknNoteDialog::ELongTimeout );
-        dialog->SetTextL( message->Des() );
-        dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_ABORT_NOTIFICATION );
-        
-        CleanupStack::PopAndDestroy( message );
-        }
-	
-	MMPERF(("\t\t Delete folder - END"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommandDelete::UninstallL( TInt aId )
-    {
-    MMPERF(("\t\t Delete folder - START"));
-    
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId8 );
-    CleanupStack::PushL( inDataKey );
-
-    HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-    AddSubKeyL( inDataKey, KIdParam, KKeyTypeInteger, *id );
-    AddSubKeyL( inDataKey, KAction, KKeyTypeString8, KActionRemove );
-    MCSQueryExecutionL( KCmdExecuteAction8, inDataKey, NULL, this );
-
-    CleanupStack::PopAndDestroy( id );
-    CleanupStack::PopAndDestroy( inDataKey );
-    
-    MMPERF(("\t\t Delete folder - END"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite* CMmFolderDeleteSuite::NewL()
-	{
-	CMmFolderDeleteSuite* self = new( ELeave ) CMmFolderDeleteSuite();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteSuite::ConstructL()
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite::~CMmFolderDeleteSuite()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite::CMmFolderDeleteSuite()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteSuite::ExecuteActionL(
-        CLiwGenericParamList* /* aEventParamList */ )
-    {
-//    TPtrC currentName = GetStringL( *aEventParamList, KName8 );
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp* CMmFolderDeleteApp::NewL()
-	{
-	CMmFolderDeleteApp* self = new( ELeave ) CMmFolderDeleteApp();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteApp::ConstructL()
-	{
-	
-	}
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp::~CMmFolderDeleteApp()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp::CMmFolderDeleteApp()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteApp::ExecuteActionL(
-        CLiwGenericParamList* aEventParamList )
-    {
-    MMPERF(("CMmFolderDeleteApp::DeleteAppCommandL - START"));
-    TInt id = GetIntL( *aEventParamList, KIdAttrName8 );
-    UninstallL( id );
-    }
-
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommandrename.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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:   Rename folder command
- *
-*/
-
-
- 
-#include <liwcommon.h>
-
-#include "mmfoldercommandrename.h"
-#include "mmactionrequest.h"
-#include "hnglobals.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "hnservicehandler.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandRename* CMmFolderCommandRename::NewL()
-	{
-	CMmFolderCommandRename* self = new( ELeave ) CMmFolderCommandRename();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandRename::ConstructL()
-	{
-	BaseConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandRename::~CMmFolderCommandRename()
-	{
-	delete iServiceHandler;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandRename::CMmFolderCommandRename()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommandRename::HandleNotifyL( TInt /*aCmdId*/, 
-                                TInt /*aEventId*/,
-                                CLiwGenericParamList& /*aEventParamList*/,
-                                const CLiwGenericParamList& /*aInParamList*/ )
-    {  
-    MMPERF(("CFolderUiExtPlugin::RenameFolderCommandL - END"));
-	return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandRename::ExecuteActionL( 
-                                        CLiwGenericParamList* aEventParamList )
-    {
-  	MMPERF(("CFolderUiExtPlugin::RenameFolderCommandL - START"));
-    TInt id = GetIntL( *aEventParamList, KIdAttrName8 );
-    TPtrC currentName = GetStringL( *aEventParamList, KName8 );
-    
-    RBuf folder;
-    CleanupClosePushL( folder );
-    folder.CreateL( KMaxFileName );
-    folder.Copy( currentName );
-
-    MMPERF(("\t Show dialog"));
-    TInt changed( KErrNone);
-    TInt allowed( EValidationInvalid );
-    do
-        {
-        changed = GetFolderNameL( folder );
-        if (changed && folder.Length() > 0)
-            {
-            allowed = FolderNameValidationL( folder );
-            }
-        }
-    while (allowed != EValidationOk && changed);
-    
-	if( changed && allowed == EValidationOk )
-        {
-        MMPERF(("\t\t Rename folder - START"));
-        RenameFolderL( id , folder );
-        CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-        TLiwGenericParam command( KHnRequest, TLiwVariant( KDisableActionsForItem ) );
-        TLiwGenericParam itemCustomId(
-                KItemCustomId8, TLiwVariant( static_cast<TInt32>( id ) ) );
-        list->AppendL( itemCustomId );
-        list->AppendL( command );
-        iActionRequest->HandleRequestL( *list );
-        CleanupStack::PopAndDestroy( list );        
-        MMPERF(("\t\t Rename folder - END"));
-        }
-
-	CleanupStack::PopAndDestroy( &folder );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommandRename::RenameFolderL( TInt aId, RBuf& aFolderName )
-    {
-    HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-    
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId );
-    CleanupStack::PushL( inDataKey );
-    
-    AddSubKeyL( inDataKey, KIdParam, KKeyTypeInteger, *id );
-    AddSubKeyL( inDataKey, KMcsTitleName8, KKeyTypeString, aFolderName );
-    AddSubKeyL( inDataKey, KMcsShortName8, KKeyTypeString, aFolderName );
-    AddSubKeyL( inDataKey, KMcsLongName8, KKeyTypeString, aFolderName );
-    
-	MCSQueryExecutionL( KCmdAdd8, inDataKey, NULL, this );
-
-    CleanupStack::PopAndDestroy( inDataKey );
-    CleanupStack::PopAndDestroy( id );
-    }
-	
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfolderuiextplugin.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +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:  Folder UI extension plugin
- *
-*/
-
-
-
-#include <liwcommon.h>
-
-#include "mmpluginsharedresources.h"
-#include "menudebug.h"
-#include "mmfolderuiextplugin.h"
-#include "mmfolderuiextpluginconstants.h"
-#include "mmfoldercommand.h"
-#include "hnglobals.h"
-#include "mmguiconstants.h"
-#include <apgwgnam.h>
-#include <w32std.h>
-#include <apgtask.h>
-#include <AknQueryDialog.h>
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderUiExtPlugin* CMmFolderUiExtPlugin::NewL(
-        MMmActionRequest& aActionRequest )
-	{
-	CMmFolderUiExtPlugin* self =
-	    new( ELeave ) CMmFolderUiExtPlugin( aActionRequest );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderUiExtPlugin::ConstructL()
-	{
-	iSharedResources = NULL;
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderUiExtPlugin::~CMmFolderUiExtPlugin()
-	{
-    delete iCommand;
-    iCommand = NULL;
-    delete iSharedResources;
-    iSharedResources = NULL;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderUiExtPlugin::CMmFolderUiExtPlugin( MMmActionRequest& aActionRequest ):
-        iActionRequest( aActionRequest )
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderUiExtPlugin::ExecuteActionL( const TDesC& aCommand,
-    					 CLiwGenericParamList* aEventParamList )
-	{
-	TInt err = KErrNone;
-	DEBUG16( ( "\t_MM_: CMmFolderUiExtPlugin::ExecuteActionL(): %S", 
-			&aCommand ) );
-	
-	if( !aCommand.Compare( KCommandDeleteDialog ) && iCommand )
-        {
-        iCommand->RemoveDialogL();
-        }
-	else if( IsMatrixInForegroundL() )
-	    {
-	    // Resources lazy initialization
-	    if (!iSharedResources)
-	    	{
-	    	iSharedResources = CMmPluginSharedResources::NewL();
-	    	}
-	    
-	    delete iCommand;
-	    iCommand = NULL;
-	    iCommand = CMmFolderCommand::FactoryL( aCommand );
-	    if( iCommand )
-	    	{
-	    	iCommand->SetRequestInterface( &iActionRequest );
-	    	iCommand->SetSharedResources( iSharedResources );
-	    	iCommand->ExecuteActionL( aEventParamList );
-	    	}
-	    else
-	    	{
-	    	DEBUG16( ( "\t_MM_: Unsupported command: %S", &aCommand ) );
-	    	err = KErrNotSupported;
-	    	}
-	    }
-    
-	return err;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CMmFolderUiExtPlugin::IsMatrixInForegroundL()
-    {
-    TBool res( EFalse );
-    RWsSession wsSession;
-    User::LeaveIfError( wsSession.Connect() );
-    CleanupClosePushL( wsSession );
-    TApaTaskList taskList = TApaTaskList( wsSession );
-    TApaTask foregroundTask = taskList.FindByPos( 0 );
-    CApaWindowGroupName* wgName =
-        CApaWindowGroupName::NewLC( wsSession, foregroundTask.WgId() );
-    if( wgName->AppUid() == KUidMatrixMenuApp )
-        {
-        res = ETrue;
-        }
-    CleanupStack::PopAndDestroy( wgName );
-    CleanupStack::PopAndDestroy( &wsSession );
-    return res;
-    }
-
-
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmmovetofoldercommand.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,637 +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:   Add folder command
- *
-*/
-
- 
-#include <liwcommon.h>
-
-#include "mmmovetofoldercommand.h"
-#include "hnglobals.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "mmactionrequest.h"
-#include "hnservicehandler.h"
-#include "mmpluginsharedresources.h"
-
-#include <StringLoader.h>
-#include <liwcommon.h>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <AknIconArray.h>
-#include <AknIconUtils.h>
-#include <aknnotedialog.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <mmfolderuiextplugin.rsg>
-#include <matrixmenu.rsg>
-
-_LIT( KFolderClosed, "0\t" );
-_LIT( KFolderOpened, "1\t" );
-const TInt KSoftkeyBack( 0 );
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmMoveToFolderCommand* CMmMoveToFolderCommand::NewL()
-    {
-    CMmMoveToFolderCommand* self = new( ELeave ) CMmMoveToFolderCommand();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::ConstructL()
-    {
-    BaseConstructL();
-    iLockDialog = EFalse;
-    iFlagLeave = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmMoveToFolderCommand::~CMmMoveToFolderCommand()
-    {
-    iItemName.Close();
-    iFolderName.Close();
-    iWidgetType.Close();
-    iOpenedHierarchy.ResetAndDestroy();
-    iOpenedHierarchy.Close();
-    delete iServiceHandler;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmMoveToFolderCommand::CMmMoveToFolderCommand()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmMoveToFolderCommand::HandleNotifyL(
-        TInt /*aCmdId*/, 
-        TInt aEventId,
-        CLiwGenericParamList& /*aEventParamList*/,
-        const CLiwGenericParamList& /*aInParamList*/ )
-    {
-    if (aEventId != KLiwEventCanceled)
-        {
-        NotificationMovingCompleteL();
-        iItemName.Close();
-        iFolderName.Close();
-        }
-    return KErrNone;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::ExecuteActionL(
-        CLiwGenericParamList* aEventParamList )
-    {
-    
-    //
-    // Prepare move to folder operation
-    MMPERF(("CMmMoveToFolderCommand::ExecuteActionL - START"));
-    iItemId = GetIntL( *aEventParamList, KIdAttrName8 );
-    iParentId = GetIntL( *aEventParamList, KFolderAttrName8 );
-    TPtrC widget = GetStringL( *aEventParamList, KWidgetAttrName8 );
-    TPtrC currentTempName = GetStringL( *aEventParamList, KName8 );
-    
-    iItemName.Close();
-    iItemName.CreateL( currentTempName );
-    
-    iWidgetType.Close();
-    iWidgetType.CreateL( widget );
-    
-    CMmFolder* rootFolder = CMmFolder::NewL();
-    CleanupStack::PushL( rootFolder );
-   
-    rootFolder->SetNameL( iSharedResources->GetRootFolder());
-    rootFolder->SetId( KRootId );
-    iOpenedHierarchy.AppendL( rootFolder );
-    CleanupStack::Pop( rootFolder );
-    iLockDialog = EFalse;
-
-    // Excute move to folder operation
-    TInt err( KErrNone );
-    
-	// Get folder list form MCS
-	GetFolderListL( CurrentFolder()->Id() );
-	
-	RPointerArray< CMmFolder > folders;
-	CleanupResetAndDestroyPushL( folders );
-
-	// Get folders from GetList output
-	GetFoldersL(folders);
-	
-    // if foler already exists, reopen options menu
-    do
-    	{
-    	TRAP( err, ExecuteMoveToFolderL());
-    	}
-    while ( err == KErrAlreadyExists && folders.Count() > 0 );
-    
-    // if any different leave was trapped, pass it on
-    if ( err != KErrNone )
-    	{
-    	User::Leave( err );
-    	}
-    
-    CleanupStack::PopAndDestroy( &folders );
-    //MMPERF(("CFolderUiExtPlugin::AddFolderCommandL - END"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmFolder* CMmMoveToFolderCommand::CurrentFolder()
-    {
-    ASSERT( iOpenedHierarchy.Count() > 0 );
-    return iOpenedHierarchy[ iOpenedHierarchy.Count() - 1 ];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::MoveToFolderL( TInt aId, TInt aFolderId,
-                                            TInt aBeforeItemId )
-    {
-    if( aFolderId != iParentId )
-        {
-        CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId8 );
-        CleanupStack::PushL( inDataKey );
-        CHnMdBaseKey* listIds = HnMdKeyFactory::CreateL(
-            KIdsList, KKeyTypeList, KNullDesC8 );
-
-        HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-        AddSubKeyL( listIds, KIdParam, KKeyTypeBoolean, *id );
-        CleanupStack::PopAndDestroy();
-        
-        inDataKey->AddSubKeyL( listIds );
-        HBufC8* folderId = HnConvUtils::NumToStr8LC( aFolderId );
-        AddSubKeyL( inDataKey, KFolderId8, KKeyTypeBoolean, *folderId );
-        CleanupStack::PopAndDestroy( folderId );
-
-        if( aBeforeItemId != KErrNotFound )
-            {
-            HBufC8* itemId = HnConvUtils::NumToStr8LC( aBeforeItemId );
-            AddSubKeyL( inDataKey, KBeforeItemId8, KKeyTypeBoolean, *itemId );
-            CleanupStack::PopAndDestroy( itemId );
-            }
-        MCSQueryExecutionL( KCmdOrganize8, inDataKey, NULL, this );
-        iOpenedHierarchy.ResetAndDestroy();
-
-        CleanupStack::PopAndDestroy( inDataKey );
-        CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-        TLiwGenericParam command( KHnRequest, TLiwVariant( KDisableActionsForItem ) );
-        TLiwGenericParam itemCustomId(
-                KItemCustomId8, TLiwVariant( static_cast<TInt32>( aId ) ) );
-        list->AppendL( itemCustomId );
-        list->AppendL( command );
-        iActionRequest->HandleRequestL( *list );
-        CleanupStack::PopAndDestroy( list );  
-        }
-    else
-        {
-        NotificationItemAlreadyStoredL();
-        if( iOpenedHierarchy.Count() > 0 && !iLockDialog )
-            {
-            if( CurrentFolder()->Id() == iParentId && iParentId != KRootId )
-                {
-                StepBackInHierarchy();
-                }
-            else if ( iParentId == KRootId )
-                {
-                User::Leave( KErrAlreadyExists );
-                }
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::SelectFolderL(
-        const RPointerArray< CMmFolder >& aFolderContent )
-    {
-    CDesCArrayFlat* folders =
-        new( ELeave )CDesCArrayFlat( aFolderContent.Count() + 1 );
-    CleanupStack::PushL( folders );
-    RBuf currentFolder;
-    CleanupClosePushL( currentFolder );
-    currentFolder.CreateL(
-        KFolderOpened().Length() + CurrentFolder()->Name().Length() );
-    currentFolder.Append( KFolderOpened );
-    currentFolder.Append( CurrentFolder()->Name() );
-    folders->AppendL( currentFolder );
-    
-    for( int i( 0 ); i<aFolderContent.Count(); i++ )
-        {
-        CMmFolder* folder = aFolderContent[ i ];
-        RBuf name;
-        CleanupClosePushL( name );
-        name.CreateL( KFolderClosed().Length() + folder->Name().Length() );
-        name.Append( KFolderClosed );
-        name.Append( folder->Name() );
-        folders->AppendL( name );
-        CleanupStack::PopAndDestroy( &name );
-        }
-    
-    TInt selected( SelectFolderFromListL(
-        folders, CurrentFolder()->Id() == KRootId ) );
-    
-    switch( selected )
-        {
-        case EAknSoftkeyBack:
-            {
-            if( iOpenedHierarchy.Count() > 1 && !iLockDialog )
-                {
-                StepBackInHierarchy();
-                break;
-                }
-            }
-        case EAknSoftkeyExit:
-            {
-            iItemName.Close();
-            iFolderName.Close();
-            iOpenedHierarchy.ResetAndDestroy();
-            break;
-            }
-        default:
-            {
-            if( selected > 0 )
-                {
-                CMmFolder* folder = CMmFolder::NewL();
-                CleanupStack::PushL( folder );
-                folder->SetNameL( aFolderContent[ selected - 1 ]->Name() );
-                folder->SetId( aFolderContent[ selected - 1 ]->Id() );
-                iOpenedHierarchy.AppendL( folder );
-                CleanupStack::Pop( folder );
-                }
-            else
-                {
-                iFolderName.Close();
-                iFolderName.CreateL( CurrentFolder()->Name() );
-                MoveToFolderL( iItemId, CurrentFolder()->Id() );
-                }
-            break;
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &currentFolder );
-    CleanupStack::PopAndDestroy( folders );
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmMoveToFolderCommand::SelectFolderFromListL(
-        CDesCArrayFlat* aItems, TBool aIsRoot )
-    {
-    TInt selected( KErrNotFound );
-    
-    CAknListQueryDialog* dialog =
-        new ( ELeave ) CAknListQueryDialog( &selected );
-    if( aIsRoot )
-        {
-        dialog->PrepareLC( R_MENU_EDIT_MOVE_TO_FOLDER_SELECT_CANCEL_QUERY );
-        }
-    else
-        {
-        dialog->PrepareLC( R_MENU_EDIT_MOVE_TO_FOLDER_SELECT_BACK_QUERY );
-        }
-    dialog->SetItemTextArray( aItems );
-    dialog->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    CArrayPtr<CGulIcon>* icons = GetFolderIconsL();
-    dialog->SetIconArrayL( icons );
-    dialog->ListBox()->SetCurrentItemIndexAndDraw( 0 );
-    
-    if( !iLockDialog )
-        {
-        SetDialogL( dialog );
-        TInt softkey ( KErrNotFound );
-        softkey = dialog->RunLD();
-        SetDialogL( NULL );
-        
-        if( softkey == KSoftkeyBack )
-            {
-            selected = EAknSoftkeyBack;
-            }
-        else if( selected < 0 ||
-                ( softkey != EAknSoftkeyOk && softkey != EAknSoftkeySelect ) )
-            {
-            selected = EAknSoftkeyExit;
-            }
-        }
-    else
-        {
-        CleanupStack::PopAndDestroy( dialog );
-        selected = EAknSoftkeyExit;
-        }
-
-    return selected;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Action resolving function.
-// ---------------------------------------------------------------------------
-//  
-CArrayPtr<CGulIcon>* CMmMoveToFolderCommand::GetFolderIconsL()
-    {
-    CArrayPtr<CGulIcon>* icons = new( ELeave )CAknIconArray( 10 );
-    CleanupStack::PushL( icons );
-    CFbsBitmap* folderClosed     = NULL;
-    CFbsBitmap* folderClosedMask = NULL;
-        
-    AknIconUtils::CreateIconL( folderClosed, folderClosedMask,
-            AknIconUtils::AvkonIconFileName(),
-            EMbmAvkonQgn_prop_folder_small,
-            EMbmAvkonQgn_prop_folder_small_mask );
-    CleanupStack::PushL( folderClosed );
-    CleanupStack::PushL( folderClosedMask );
-    icons->AppendL( CGulIcon::NewL( folderClosed, folderClosedMask ) );
-    CleanupStack::Pop( 2 );
-
-    CFbsBitmap* folderOpened     = NULL;
-    CFbsBitmap* folderOpenedMask = NULL;
-    AknIconUtils::CreateIconL( folderOpened, folderOpenedMask,
-            AknIconUtils::AvkonIconFileName(),
-            EMbmAvkonQgn_prop_folder_current, 
-            EMbmAvkonQgn_prop_folder_current_mask );
-    CleanupStack::PushL( folderOpened );
-    CleanupStack::PushL( folderOpenedMask );
-    icons->AppendL( CGulIcon::NewL( folderOpened, folderOpenedMask ) );
-    CleanupStack::Pop( 3 );
-    return icons;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Action resolving function.
-// ---------------------------------------------------------------------------
-//  
-HBufC* CMmMoveToFolderCommand::GetFromResourceLC( TInt aIdentifier )
-    {
-    HBufC* string = StringLoader::LoadLC( aIdentifier );
-    return string;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Action resolving function.
-// ---------------------------------------------------------------------------
-//  
-void CMmMoveToFolderCommand::NotificationMovingCompleteL()
-    {
-    CDesCArrayFlat* items = new(ELeave) CDesCArrayFlat( 1 );
-    CleanupStack::PushL( items );
-    items->AppendL( iItemName );
-    items->AppendL( iFolderName );
-    
-    HBufC* msg = StringLoader::LoadLC( R_APPS_NOTE_MOVE_TO_FOLDER, *items );
-    CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ELongTimeout );
-    dialog->SetTextL( msg->Des() );
-    dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_COMPLETE_NOTIFICATION );
-    
-    CleanupStack::PopAndDestroy( msg );
-    CleanupStack::PopAndDestroy( items );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Action resolving function.
-// ---------------------------------------------------------------------------
-//  
-void CMmMoveToFolderCommand::NotificationItemAlreadyStoredL()
-    {
-    HBufC* message = StringLoader::LoadLC( R_APPS_NOTE_ITEM_ALREADY_STORED );
-    CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ELongTimeout );
-    dialog->SetTextL( message->Des() );
-    dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_ABORT_NOTIFICATION );
-    
-    CleanupStack::PopAndDestroy( message );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::StepBackInHierarchy()
-	{
-	// Remove last folder from iOpenedHierarchy
-	CMmFolder* folder = CurrentFolder();
-	iOpenedHierarchy.Remove( iOpenedHierarchy.Count() - 1 );
-	delete folder;
-	}
-
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::ExecuteMoveToFolderL()
-	{
-    while (iOpenedHierarchy.Count() > 0)
-    	{
-    	// Get folder list form MCS
-    	GetFolderListL( CurrentFolder()->Id() );
-    	
-    	RPointerArray< CMmFolder > folders;
-    	CleanupResetAndDestroyPushL( folders );
-
-    	// Get folders from GetList output
-    	GetFoldersL(folders);
-
-    	// Perform further folder selection or move operation
-    	if( folders.Count() > 0 )
-    		{
-    		SelectFolderL( folders );
-    		}
-    	else
-    		{
-    		iFolderName.Close();
-    		iFolderName.CreateL( CurrentFolder()->Name() );
-    		MoveToFolderL( iItemId, CurrentFolder()->Id() );
-    		}
-    	CleanupStack::PopAndDestroy( &folders );
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::GetFoldersL(RPointerArray<CMmFolder >& aFolderArray)
-	{
-	TInt pos( 0 );
-	TInt count = iGetListOutParam->FindFirst(
-			pos, KReturnValue8() )->Value().AsList()->Count();
-	TLiwVariant var; var.PushL();
-	
-	// Get propper widget names depending from view type
-	// and append to aFolderArray
-	for( TInt i = 0; i < count; i++ )
-		{
-		HnLiwUtils::GetVariantL( *iGetListOutParam, KIdPath8, i, var );
-		TInt32 id;
-		var.Get( id );
-
-		if (id != iItemId)
-			{
-			CMmFolder* folder = CMmFolder::NewL();
-			CleanupStack::PushL( folder );
-			
-			folder->SetId( id );
-			
-			TPtrC title;
-			if( !iWidgetType.Compare( KWidgetTypeList ) )
-				{
-				HnLiwUtils::GetVariantL(
-						*iGetListOutParam, KLongNamePath8, i, var );
-				}
-			else if( !iWidgetType.Compare( KWidgetTypeGrid ) )
-				{
-				HnLiwUtils::GetVariantL(
-						*iGetListOutParam, KShortNamePath8, i, var );
-				}
-			else
-				{
-				HnLiwUtils::GetVariantL(
-						*iGetListOutParam, KAppGroupNamePath8, i, var );
-				}
-			var.Get( title );
-			folder->SetNameL( title );
-			aFolderArray.AppendL( folder );
-			
-			CleanupStack::Pop( folder );
-			}
-		}
-	CleanupStack::PopAndDestroy(&var);
-	}
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolder* CMmFolder::NewL()
-    {
-    CMmFolder* self = new( ELeave ) CMmFolder();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolder::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolder::~CMmFolder()
-    {
-    iName.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmFolder::CMmFolder()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolder::SetNameL( const TDesC& aName )
-    {
-    iName.Close();
-    iName.CreateL( aName );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CMmFolder::Name() const
-    {
-    return iName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolder::SetId( TInt aId )
-    {
-    iId = aId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolder::Id()
-    {
-    return iId;
-    }
-    
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmpluginsharedresources.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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: Holds plugins shared resources
-*
-* Description: 
-* Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-#include <StringLoader.h>
-#include "mmpluginsharedresources.h"
-#include "hnutils.h"
-
-#include <mmfolderuiextplugin.rsg>
-
-_LIT( KResourceFile, "mmfolderuiextplugin.rsc" );
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmPluginSharedResources* CMmPluginSharedResources::NewL()
-	{
-	CMmPluginSharedResources* self = new( ELeave ) CMmPluginSharedResources();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmPluginSharedResources::ConstructL()
-	{
-	// Init resources
-    iLanguageFilePath = HnUtils::LocateNearestLanguageFileLC( KResourceFile );
-    CleanupStack::Pop(iLanguageFilePath);
-	iResourceOffset = CCoeEnv::Static()->AddResourceFileL( 
-			iLanguageFilePath->Des() );
-	
-    iDefFolderName = StringLoader::LoadLC( R_MENU_EDIT_DEFAULT_FOLDER_NAME );
-    CleanupStack::Pop(iDefFolderName);
-    iEditFolderName = StringLoader::LoadLC( R_MENU_EDIT_FOLDER_NAME );
-    CleanupStack::Pop(iEditFolderName);
-    iMsgBadFileName = StringLoader::LoadLC( R_MENU_EDIT_FLDR_BAD_FILE_NAME );
-    CleanupStack::Pop(iMsgBadFileName);
-    iMsgBadChar = StringLoader::LoadLC(R_MENU_EDIT_FLDR_ILLEGAL_CHARACTERS);
-    CleanupStack::Pop(iMsgBadChar);  
-    iRootFolder = StringLoader::LoadLC( R_MENU_EDIT_ROOT_FOLDER );
-    CleanupStack::Pop(iRootFolder);
-	iDelWaitNote = StringLoader::LoadLC(R_MENU_EDIT_FLDR_DELETING_WAIT_NOTE);
-	CleanupStack::Pop(iDelWaitNote);
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmPluginSharedResources::~CMmPluginSharedResources()
-	{
-	delete iDelWaitNote;
-	delete iRootFolder;
-	delete iMsgBadChar;
-	delete iMsgBadFileName;
-	delete iEditFolderName;
-	delete iDefFolderName;
-	delete iLanguageFilePath;
-	CCoeEnv::Static()->DeleteResourceFile( iResourceOffset );
-	}
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmproxy.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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:   Proxy for the folder UI extension plugin
- *
-*/
-
-
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "mmfolderuiextpluginconstants.h"
-#include "mmfolderuiextplugin.h"
-
-// Map the implementation UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-	{
-	IMPLEMENTATION_PROXY_ENTRY( KCFolderUiExtPluginUid,	CMmFolderUiExtPlugin::NewL )
-	};
-
-// Exported proxy for instantiation method resolution
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-	{
-	aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-	return ImplementationTable;
-	}
-	
-// End of file
--- a/menufw/menufwui/mmextensions/rom/mmextensions.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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:  IBY file for the mmextensions space 3.0 subsystem
- *
-*/
-
-
-#ifndef MMEXTENSION_IBY
-#define MMEXTENSION_IBY
-
-file=ABI_DIR\BUILD_DIR\mmextensionmanager.dll    	SHARED_LIB_DIR\mmextensionmanager.dll
-
-ECOM_PLUGIN(mmfolderuiextensionplugin.dll, mmfolderuiextensionplugin.rsc) 
-
-#endif // MMEXTENSION_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/menufwui/mmextensions/rom/mmextensions_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:  IBY file for the mmextensions space 3.0 subsystem
- *
-*/
-
-
-#ifndef MMEXTENSION_RESOURCES_IBY
-#define MMEXTENSION_RESOURCES_IBY
-
-data=\epoc32\data\z\resource\apps\mmfolderuiextplugin.rsc  resource\apps\mmfolderuiextplugin.rsc 
-
-#endif // MMEXTENSION_RESOURCES_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/bwins/mmwidgetsu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-EXPORTS
-	?GetPreviousHighlight@CMmWidgetContainer@@UAEHXZ @ 1 NONAME ; int CMmWidgetContainer::GetPreviousHighlight(void)
-	?HandleItemRemovalL@CMmWidgetContainer@@UAEXXZ @ 2 NONAME ; void CMmWidgetContainer::HandleItemRemovalL(void)
-	?SetObserver@CMmWidgetContainer@@UAEXPAVMMmWidgetObserver@@@Z @ 3 NONAME ; void CMmWidgetContainer::SetObserver(class MMmWidgetObserver *)
-	?ItemIconZoomL@CMmWidgetContainer@@QAEXH@Z @ 4 NONAME ; void CMmWidgetContainer::ItemIconZoomL(int)
-	?SetDefaultHighlightL@CMmListBoxContainer@@UAEXH@Z @ 5 NONAME ; void CMmListBoxContainer::SetDefaultHighlightL(int)
-	?GetItemRectL@CMmWidgetContainer@@QAE?AVTRect@@H@Z @ 6 NONAME ; class TRect CMmWidgetContainer::GetItemRectL(int)
-	?ScrollToItemL@CMmWidgetContainer@@QAEHH@Z @ 7 NONAME ; int CMmWidgetContainer::ScrollToItemL(int)
-	?IsHighlightVisible@CMmWidgetContainer@@UAEHXZ @ 8 NONAME ; int CMmWidgetContainer::IsHighlightVisible(void)
-	?HandleBackgroundGainedL@CMmWidgetContainer@@UAEXXZ @ 9 NONAME ; void CMmWidgetContainer::HandleBackgroundGainedL(void)
-	?SetHasFocusL@CMmWidgetContainer@@QAEXH@Z @ 10 NONAME ; void CMmWidgetContainer::SetHasFocusL(int)
-	?NewGridContainerL@CMmWidgetContainer@@SAPAV1@ABVTRect@@PAVMObjectProvider@@PAVCMmTemplateLibrary@@@Z @ 11 NONAME ; class CMmWidgetContainer * CMmWidgetContainer::NewGridContainerL(class TRect const &, class MObjectProvider *, class CMmTemplateLibrary *)
-	?SetLongTapObserver@CMmWidgetContainer@@UAEXPAVMMmLongTapObserver@@@Z @ 12 NONAME ; void CMmWidgetContainer::SetLongTapObserver(class MMmLongTapObserver *)
-	?EndLongTapL@CMmWidgetContainer@@UAEXH@Z @ 13 NONAME ; void CMmWidgetContainer::EndLongTapL(int)
-	?NumberOfItems@CMmWidgetContainer@@QAEHXZ @ 14 NONAME ; int CMmWidgetContainer::NumberOfItems(void)
-	?GetSuiteModelL@CMmWidgetContainer@@QAEPAVCHnSuiteModel@@XZ @ 15 NONAME ; class CHnSuiteModel * CMmWidgetContainer::GetSuiteModelL(void)
-	?NewLC@CMmTemplateLibrary@@SAPAV1@XZ @ 16 NONAME ; class CMmTemplateLibrary * CMmTemplateLibrary::NewLC(void)
-	?NewL@CMmTemplateLibrary@@SAPAV1@XZ @ 17 NONAME ; class CMmTemplateLibrary * CMmTemplateLibrary::NewL(void)
-	?NumberOfItemsChangedL@CMmWidgetContainer@@QAEXW4TItemsChangeType@@@Z @ 18 NONAME ; void CMmWidgetContainer::NumberOfItemsChangedL(enum TItemsChangeType)
-	?SetManualHighlightL@CMmWidgetContainer@@UAEXHH@Z @ 19 NONAME ; void CMmWidgetContainer::SetManualHighlightL(int, int)
-	?IsDraggable@CMmWidgetContainer@@QAEHXZ @ 20 NONAME ; int CMmWidgetContainer::IsDraggable(void)
-	?HandleForegroundGainedL@CMmWidgetContainer@@UAEXXZ @ 21 NONAME ; void CMmWidgetContainer::HandleForegroundGainedL(void)
-	?SetDefaultHighlightL@CMmGridContainer@@UAEXH@Z @ 22 NONAME ; void CMmGridContainer::SetDefaultHighlightL(int)
-	?WidgetType@CMmWidgetContainer@@UAE?AW4THnSuiteWidgetType@@XZ @ 23 NONAME ; enum THnSuiteWidgetType CMmWidgetContainer::WidgetType(void)
-	?SetEmptyTextL@CMmGridContainer@@UAEXABVTDesC16@@@Z @ 24 NONAME ; void CMmGridContainer::SetEmptyTextL(class TDesC16 const &)
-	?HandleItemAdditionL@CMmWidgetContainer@@UAEXXZ @ 25 NONAME ; void CMmWidgetContainer::HandleItemAdditionL(void)
-	?StopMovingL@CMmWidgetContainer@@QAEXXZ @ 26 NONAME ; void CMmWidgetContainer::StopMovingL(void)
-	?NewListBoxContainerL@CMmWidgetContainer@@SAPAV1@ABVTRect@@PAVMObjectProvider@@PAVCMmTemplateLibrary@@@Z @ 27 NONAME ; class CMmWidgetContainer * CMmWidgetContainer::NewListBoxContainerL(class TRect const &, class MObjectProvider *, class CMmTemplateLibrary *)
-	?SetEmptyTextL@CMmListBoxContainer@@UAEXABVTDesC16@@@Z @ 28 NONAME ; void CMmListBoxContainer::SetEmptyTextL(class TDesC16 const &)
-	?PrepareForGarbage@CMmWidgetContainer@@QAEXXZ @ 29 NONAME ; void CMmWidgetContainer::PrepareForGarbage(void)
-	?GetHighlight@CMmWidgetContainer@@UAEHXZ @ 30 NONAME ; int CMmWidgetContainer::GetHighlight(void)
-	?RestoreWidgetPosition@CMmWidgetContainer@@QAEXXZ @ 31 NONAME ; void CMmWidgetContainer::RestoreWidgetPosition(void)
-	?EnableLongTapAnimation@CMmWidgetContainer@@QAEXH@Z @ 32 NONAME ; void CMmWidgetContainer::EnableLongTapAnimation(int)
-	?SetHighlightVisibilityL@CMmWidgetContainer@@UAEXH@Z @ 33 NONAME ; void CMmWidgetContainer::SetHighlightVisibilityL(int)
-	?ResetWidgetPosition@CMmWidgetContainer@@QAEXXZ @ 34 NONAME ; void CMmWidgetContainer::ResetWidgetPosition(void)
-	?ItemIsFullyVisible@CMmWidgetContainer@@QAEHH@Z @ 35 NONAME ; int CMmWidgetContainer::ItemIsFullyVisible(int)
-	?CacheWidgetPosition@CMmWidgetContainer@@QAEXXZ @ 36 NONAME ; void CMmWidgetContainer::CacheWidgetPosition(void)
-	?SetIsFaded@CMmWidgetContainer@@QAEXH@Z @ 37 NONAME ; void CMmWidgetContainer::SetIsFaded(int)
-	?CancelDragL@CMmWidgetContainer@@QAEXH@Z @ 38 NONAME ; void CMmWidgetContainer::CancelDragL(int)
-
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_1.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" width="360">
-	
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="360" height="525" />
-            <layout id="grid" positionx="0" positiony="0" width="360" height="525" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="340" scrollwidth="20" height="525" row="6" col="3" />						
-			<layout id="bgimage" state="1" />	
-	</element>
-		
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" height="85" width="111" >
-            <imagevisual id="mul_icon" positionx="3" positiony="3" width="105" height="79" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_1" positionx="81" positiony="3" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_2" positionx="81" positiony="55" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_3" positionx="3" positiony="3" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_3" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-        </layout>
-    </element>
-    		  	
-    <element id ="highlight">        
-    </element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="502" height="299" />
-            <layout id="grid" positionx="0" positiony="0" width="502" height="299" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="482" scrollwidth="20" height="299" row="3" col="4" />						
-			<layout id="bgimage" state="1" />	
-	</element>
-	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" height="90" width="118" >
-            <imagevisual id="mul_icon" positionx="3" positiony="3" width="112" height="84" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_1" positionx="88" positiony="3" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_2" positionx="88" positiony="60" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_3" positionx="3" positiony="3" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_3" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-        </layout>
-    </element>
-
-    <element id ="highlight">
-    </element>		  
-
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_2.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" width="360">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="360" height="515" />
-            <layout id="grid" positionx="0" positiony="0" width="360" height="515" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="340" scrollwidth="20" height="515" row="6" col="4" />						
-	    <layout id="bgimage" state="1" />	
-	</element>
-	
-  	<element id="nohighlight">
-  	    <layout id="anchor" name="anchor" height="85" width="85" >	
-  	    
-			<imagevisual id="mul_icon" positionx="3" positiony="3" width="79" height="79" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-			<imagevisual id="mul_indicator_1" positionx="55" positiony="3" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-			<imagevisual id="mul_indicator_2" positionx="55" positiony="55" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-		</layout>
-	 </element>		  
-		
-	<element id ="highlight">	    
-	 </element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-	
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="502" height="288" />
-            <layout id="grid" positionx="0" positiony="0" width="502" height="288" />						
-			<layout id="gridlayout" positionx="0" positiony="0" width="482" scrollwidth="20" height="288" row="3" col="5" />						
-	    <layout id="bgimage" state="1" />	
-	</element>
-	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" height="96" width="96" >
-        
-			<imagevisual id="mul_icon" positionx="3" positiony="3" width="90" height="90" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-			<imagevisual id="mul_indicator_1" positionx="66" positiony="3" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-			<imagevisual id="mul_indicator_2" positionx="66" positiony="66" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-		</layout>
-    </element>		  
-
-	<element id ="highlight">		
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_3.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="360" height="462" />			
-            <layout id="grid" positionx="2" positiony="18" width="358" height="444" />
-			<layout id="gridlayout" positionx="0" positiony="0" width="338" scrollwidth="20" height="444" row="4" col="3"/>						            
-			<layout id="bgimage" state="1" />						
-	</element>
-	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" positionx="0" positiony="0" width="111" height="133" >
-
-            <imagevisual id="mul_icon" positionx="8" positiony="8" width="95" height="95" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>			
-                
-            <imagevisual id="mul_indicator_1" positionx="80" positiony="15" width="24" height="24">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>    
-            
-            <imagevisual id="mul_indicator_2" positionx="80" positiony="39" width="24" height="24">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>    
-                                            	
-            <textvisual id="mul_title" positionx="3" positiony="106" width="104"  height="24">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_primarysmall" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-                <attributesetter name="horizontalalign" targetvalue="1" />
-                <attributesetter name="verticalalign" targetvalue="0" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-
-            <!-- For matrix Menu Swap mode visulisation-->
-            <imagevisual id="mul_icon_2" positionx="4" positiony="7" width="103" height="103" fitmode="off">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>			
-
-            <!-- Matrix Menu Swap Mode Visulisation Ends here -->        	
-
-        </layout>
-    </element>		  
-
-    <element id ="highlight">	        
-    </element>		  
-	<element id="mul_move_indicator">
-        <layout id="anchor" name="anchor" positionx="-20" positiony="-20" width="131" height="130" >
-        	           
-			<!-- For matrix Menu Non Touch Edit mode move indicator-->	
-			<imagevisual id="mul_move_indicator_frame" positionx="20" positiony="20" width="111" height="110" />
-			<imagevisual id="mul_move_indicator_arrow_top" positionx="60" positiony="0" width="30" height="17" />
-			<imagevisual id="mul_move_indicator_arrow_right" positionx="134" positiony="60" width="17" height="30" />
-			<imagevisual id="mul_move_indicator_arrow_bottom" positionx="60" positiony="133" width="30" height="17" />
-			<imagevisual id="mul_move_indicator_arrow_left" positionx="0" positiony="60" width="17" height="30" />
-		
-			<!-- Matrix Menu Non Touch Edit mode move indicator Ends here-->					
-        </layout>
-	</element>
-</orientation>
-
-<orientation id ="landscape" width="502">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="502" height="306" />
-			<layout id="grid" positionx="7" positiony="6" width="475" height="300" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="455" scrollwidth="20" height="300" row="3" col="4"/>						
-			<layout id="bgimage" state="1" />					
-	</element>
-	
-    <element id="nohighlight">		
-        <layout id="anchor" name="anchor" positionx="0" positiony="0" width="120" height="102" >
-            
-            <imagevisual id="mul_icon" positionx="25" positiony="4" width="70" height="70" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>	
-            
-            <imagevisual id="mul_indicator_1" positionx="82" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-
-            <imagevisual id="mul_indicator_2" positionx="10" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            	
-            <textvisual id="mul_title" positionx="5" positiony="77" width="110"  height="21" horizontalalign="center" opacity="1">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="style" targetvalue="qfn_primarysmall" />
-                <attributesetter name="fontthemecolor" targetvalue="8" />
-                <attributesetter name="horizontalalign" targetvalue="1" />
-                <attributesetter name="verticalalign" targetvalue="0" />				
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <!-- For matrix Menu Swap mode visulisation-->
-            <imagevisual id="mul_icon_2" positionx="25" positiony="4" width="70" height="70" fitmode="off">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>	
-
-            <!-- Matrix Menu Swap Mode Visulisation Ends here -->                    	 	
-
-        </layout>
-    </element>		  
-
-    <element id ="highlight">	
-
-    </element>
-</orientation>
-
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_4.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-		<element id="base" scrollbar="0" > 
-		<!-- 0 here implies No scrollbar 
-		1 means scrollbar -->
-			<layout id="mainlayout" positionx="0" positiony="511" width="360" height="78" />
-            <layout id="grid" positionx="14" positiony="9" width="330" height="60" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="330" scrollwidth="0" height="60" row="1" col="5" />
-			<layout id="bgimage" state="0" />									
-		</element>
-
-		<element id="nohighlight">
-    		<layout id="anchor" positionx="0" positiony="0" width="66" height="60" >		
-				<imagevisual id="mul_icon" positionx="0" positiony="0" width="60" height="60" fitmode="on">
-					<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-					<attributesetter name="opacity" targetvalue="1" />
-				</imagevisual>				 	
-            </layout>
-        </element>		  
-
-    <element id ="highlight">		
-    </element>		        		 	
-    
- </orientation>
- 
- <orientation id ="landscape" width="502">
-	
-	    <element id="base" scrollbar="0">
-		<!-- 0 here implies No scrollbar 
-		1 means scrollbar -->		
-			<layout id="mainlayout" positionx="218" positiony="310" width="284" height="50" />
-            <layout id="grid" positionx="0" positiony="2" width="284" height="40" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="284" scrollwidth = "0" height="40" row ="1" col="5"/>
-			<layout id="bgimage" state="0" />						
-		</element>
-
-
-		<element id="nohighlight">
-        <layout id="anchor" positionx="0" positiony="0" width="58" height="46" >		
-		    <imagevisual id="mul_icon" positionx="0" positiony="0" width="40" height="40" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>				 	
-        </layout>
-        </element>		  
-
-    <element id ="highlight">        
-    </element>		        		 	
-	</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_single_large_graphic_pane.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="360" height="462" />			
-            <layout id="grid" positionx="2" positiony="18" width="358" height="444" />
-			<layout id="gridlayout" positionx="0" positiony="0" width="338" scrollwidth="20" height="444" row="4" col="3"/>						            
-			<layout id="bgimage" state="1" />						
-	</element>
-	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" positionx="0" positiony="0" width="111" height="110" >
-        	           
-            <imagevisual id="mul_icon" positionx="19" positiony="5" width="74" height="74" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>			
-                
-            <imagevisual id="mul_indicator_1" positionx="80" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>    
-            
-            <imagevisual id="mul_indicator_2" positionx="8" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>    
-                                            	
-            <textvisual id="mul_title" positionx="6" positiony="86" width="100"  height="21">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_primarysmall" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-                <attributesetter name="horizontalalign" targetvalue="1" />
-                <attributesetter name="verticalalign" targetvalue="0" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>		        
-
-            <!-- For matrix Menu Swap mode visulisation-->
-        <imagevisual id="mul_icon_2" positionx="19" positiony="5" width="74" height="74" fitmode="off">
-            <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            <attributesetter name="opacity" targetvalue="1" />
-        </imagevisual>			
-
-            <!-- Matrix Menu Swap Mode Visulisation Ends here -->        	
-
-        </layout>
-    </element>		  
-
-    <element id ="highlight">	        
-    </element>		  
-
-</orientation>
-
-<orientation id ="landscape" width="502">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="502" height="306" />
-			<layout id="grid" positionx="7" positiony="6" width="475" height="300" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="455" scrollwidth="20" height="300" row="3" col="4"/>						
-			<layout id="bgimage" state="1" />					
-	</element>
-	
-    <element id="nohighlight">		
-        <layout id="anchor" name="anchor" positionx="0" positiony="0" width="120" height="102" >
-            
-            <imagevisual id="mul_icon" positionx="25" positiony="4" width="70" height="70" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>	
-            
-            <imagevisual id="mul_indicator_1" positionx="82" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-
-            <imagevisual id="mul_indicator_2" positionx="10" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            	
-            <textvisual id="mul_title" positionx="5" positiony="77" width="110"  height="21" horizontalalign="center" opacity="1">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="style" targetvalue="qfn_primarysmall" />
-                <attributesetter name="fontthemecolor" targetvalue="8" />
-                <attributesetter name="horizontalalign" targetvalue="1" />
-                <attributesetter name="verticalalign" targetvalue="0" />				
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <!-- For matrix Menu Swap mode visulisation-->
-            <imagevisual id="mul_icon_2" positionx="25" positiony="4" width="70" height="70" fitmode="off">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>	
-
-            <!-- Matrix Menu Swap Mode Visulisation Ends here -->                    	 	
-
-        </layout>
-    </element>		  
-
-    <element id ="highlight">	
-
-    </element>		  
-
-</orientation>
-
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/lct/akn_logical_template_3.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-  	
-	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="cell_hc_apps_pane" variety="3" >
-			<textvisual id="mul_title" lct="cell_hc_apps_pane_t1" variety="0" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="cell_hc_apps_pane_g1" variety="0" halign="center" >
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="cell_hc_apps_pane_g2" variety="0" >
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="cell_hc_apps_pane_g3" variety="0" >
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-			</imagevisual>
-		</layout>	
- 	</element>
-	
-	<element id="highlight">
-	</element>
-</orientation>
-
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0" >
-
-	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="cell_app_pane" variety="3" >
-			<textvisual id="mul_title" lct="cell_app_pane_t1"  variety="0" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="cell_app_pane_g1" variety="0" halign="center" >
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="cell_app_pane_g2" variety="0" >
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-			</imagevisual>
-		</layout>
-	</element>	
-	
-	<element id ="highlight">	
- 	</element>		  
-
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_1.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-	<element id="read">
-        <layout id="anchor" name="anchor" width="340" height="55">
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="7" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="0.5" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>	
-		
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" width="340" height="55">
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
-
-	<element id ="highlight">
-	    <layout id="anchor" name="anchor" width="340" height="55">		
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="9" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502" >
-		
-		 <element id="read">
-        <layout id="anchor" name="anchor" width="482" height="55">
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="0.5" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>
- 	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" width="482" height="55">
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">
-	    <layout id="anchor" name="anchor" width="482" height="55">	
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="340" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="9" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_10.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_input_text" positionx="10" positiony="51" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_input_text" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<plaintexteditor id="mul_input_text" positionx="10" positiony="51" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_input_text" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</plaintexteditor>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="454" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_input_text" positionx="10" positiony="51" width="444" height="27">
-				<attributesetter name="text" targetvalue="mul_input_text" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="454" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<plaintexteditor id="mul_input_text" positionx="10" positiony="51" width="444" height="27">
-				<attributesetter name="text" targetvalue="mul_input_text" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</plaintexteditor>		
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_11.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-			
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" noindicatorwidth="218" oneindicatorwidth="190" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="143" height="24" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>						
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		    <textvisual id="mul_n" positionx="156" positiony="56" width="44" height="24">
-				<attributesetter name="text" targetvalue="mul_n" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_%" positionx="204" positiony="56" width="24" height="24">
-				<attributesetter name="text" targetvalue="mul_%" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-		</layout>
-	 </element>		  
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" noindicatorwidth="218" oneindicatorwidth="190" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="143" height="24" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>						
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		    <textvisual id="mul_n" positionx="156" positiony="56" width="44" height="24">
-				<attributesetter name="text" targetvalue="mul_n" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_%" positionx="204" positiony="56" width="24" height="24">
-				<attributesetter name="text" targetvalue="mul_%" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-		</layout>
- 	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" noindicatorswidth="358" oneindicatorwidth="326" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="52" width="143" height="24" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_7" positionx="159" positiony="56" width="194" height="14">
-			</embeded>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" noindicatorswidth="358" oneindicatorwidth="326" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="52" width="143" height="24" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_7" positionx="159" positiony="56" width="194" height="14">
-			</embeded>
-		</layout>
-	 </element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_12.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-    <orientation id ="portrait" width="360">
-		
-  	    <element id="nohighlight">
-  	        <layout id="anchor" name="anchor" height="88" width="340" >
-    			<imagevisual id="mul_icon" positionx="17" positiony="12" width="305" height="64" fitmode="on">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="1" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-		
-		<element id ="highlight">		    
-	 	</element>		  
-	 	
-    </orientation>
- 
-    <orientation id ="landscape" width="502">
-
-		
-  	    <element id="nohighlight">
-  	        <layout id="anchor" name="anchor" height="88" width="482">
-    			<imagevisual id="mul_icon" positionx="88" positiony="12" width="305" height="64" fitmode="on">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="1" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-
-		<element id ="highlight">		    
-	 	</element>		  
- 	
-    </orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_13.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-			
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" noindicatorwidth="242" oneindicatorwidth="210" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>					
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_8" positionx="10" positiony="56" width="242" height="14">
-			</embeded>
-		</layout>
-	 </element>		  
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" noindicatorwidth="242" oneindicatorwidth="210" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>					
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_8" positionx="10" positiony="56" width="242" height="14">
-			</embeded>
-		</layout>
- 	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" noindicatorswidth="382" oneindicatorwidth="350" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_8" positionx="10" positiony="56" width="382" height="14">
-			</embeded>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" noindicatorswidth="382" oneindicatorwidth="350" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_8" positionx="10" positiony="56" width="382" height="14">
-			</embeded>
-		</layout>
-	 </element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_2.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="318" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502" >
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	 </element>
-		
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="392" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="454" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_3.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="242" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502" >
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>		  	
-		
-	<element id ="highlight">	
-		<layout id = "anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="382" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_4.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id = "anchor" name="anchor" height="88" width="340">	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="218" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502" >
-
-  	<element id="nohighlight">
-		<layout id="anchor"  name="anchor" height="55" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="358" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_5.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-				
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="318" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  	
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="318" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	 </element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="395" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="454" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="395" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="454" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_6.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="242" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="242" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="382" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="382" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_7.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="218" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="218" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		 
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-	
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="358" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="358" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-	</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_8.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" width="360">
-			
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="312" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-		</layout>
-	</element>		  
-	 
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="237" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="237" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="254" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="299" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="254" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	 </element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="452" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-		</layout>
-	 </element>		  
-
-		
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="211" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="211" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="395" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_icon_2" positionx="315" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_icon_3" positionx="235" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon_3" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>						
-			<imagevisual id="mul_indicator_1" positionx="442" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="395" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_3" positionx="362" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_3" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_4" positionx="315" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_4" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_5" positionx="282" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_5" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_6" positionx="235" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_6" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	 </element>		  
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_single_large_graphic_pane.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="53" width="334" >
-			<imagevisual id="mul_icon" positionx="10" positiony="4" width="64" height="46" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<textvisual id="mul_title" positionx="85" positiony="13" width="195" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_primary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="307" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="287" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" height="53" width="334" >	
-			<imagevisual id="mul_icon" positionx="10" positiony="4" width="64" height="46" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<textvisual id="mul_title" positionx="85" positiony="13" width="195" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_primary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="307" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="287" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502" >
-	
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="53" width="476" >
-			<imagevisual id="mul_icon" positionx="26" positiony="4" width="64" height="46" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<textvisual id="mul_title" positionx="108" positiony="13" width="314" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_primary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="449" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="429" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>		  	
-	
-	<element id ="highlight">	
-		<layout id = "anchor" name="anchor" height="53" width="476" >
-			<imagevisual id="mul_icon" positionx="26" positiony="4" width="64" height="46" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<textvisual id="mul_title" positionx="108" positiony="13" width="361" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_primary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="449" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="429" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_list_single_hc_apps_pane.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait">
-
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="list_single_hc_apps_pane" variety="0" >
-            <imagevisual id="mul_icon" lct="list_single_hc_apps_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_hc_apps_pane_t1" variety="0" >
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_hc_apps_pane_g2" variety="0" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-            </imagevisual>
-        </layout>
-    </element>
-        
-    <element id ="highlight">
-        <layout id = "anchor" name="anchor" lct="list_single_hc_apps_pane" variety="0" >	
-            <imagevisual id="mul_icon" lct="list_single_hc_apps_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_hc_apps_pane_t1" variety="0">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_hc_apps_pane_g2" variety="0">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-            </imagevisual>
-        </layout>
-    </element>
-
-</orientation>
- 
-<orientation id ="landscape">
-
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="list_single_hc_apps_pane" variety="0" >
-            <imagevisual id="mul_icon" lct="list_single_hc_apps_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_hc_apps_pane_t1" variety="0" >
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_hc_apps_pane_g2" variety="0" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-            </imagevisual>
-        </layout>
-    </element>
-        
-    <element id ="highlight">
-        <layout id = "anchor" name="anchor" lct="list_single_hc_apps_pane" variety="0" >	
-            <imagevisual id="mul_icon" lct="list_single_hc_apps_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_hc_apps_pane_t1" variety="0">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_hc_apps_pane_g2" variety="0">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-            </imagevisual>
-        </layout>
-    </element>
- 
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_1.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-	<element id="read">
-        <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="7" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="0.5" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>	
-		
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
-
-	<element id ="highlight">
-	    <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">		
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="9" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape"  lct="uiaccel_main_aa_listscroll_pane" variety="0" >
-		
-		 <element id="read">
-        <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="0.5" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>
- 	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">
-	    <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">	
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="9" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_12.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-    <orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	    <element id="nohighlight">
-  	        <layout id="anchor" name="anchor" lct="uiaccel_aalist_gene_ad_pane" variety="0">
-    			<imagevisual id="mul_icon" lct="uiaccel_aalist_gene_ad_pane_g1" variety="0">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="100" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-		
-		<element id ="highlight">
-		    <layout id = "anchor" name="anchor" lct="uiaccel_aalist_gene_ad_pane" variety="0">			
-    			<imagevisual id="mul_icon" lct="uiaccel_aalist_gene_ad_pane_g1" variety="0">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="100" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-	 	
-    </orientation>
- 
-    <orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-
-		
-  	    <element id="nohighlight">
-  	        <layout id="anchor" name="anchor" lct="uiaccel_aalist_gene_ad_pane" variety="0">
-    			<imagevisual id="mul_icon" lct="uiaccel_aalist_gene_ad_pane_g1" variety="0">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="100" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-
-		<element id ="highlight">
-		    <layout id = "anchor" name="anchor" lct="uiaccel_aalist_gene_ad_pane" variety="0">		
-    			<imagevisual id="mul_icon" lct="uiaccel_aalist_gene_ad_pane_g1" variety="0">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="100" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
- 	
-    </orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_2.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	 </element>
-		
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_3.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0" >
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
- 	</element>		  	
-		
-	<element id ="highlight">	
-		<layout id = "anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_4.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-
-  	<element id="nohighlight">
-		<layout id="anchor"  name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_5.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-				
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="2" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  	
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="2" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	 </element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="2" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="2" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_6.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_6a.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_7.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		 
-	 	
-</orientation>
- 
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-	
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5"  marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-	</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_8.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-			
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-		</layout>
-	</element>		  
-	 
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	 </element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-		</layout>
-	 </element>		  
-
-		
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="7">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="7" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-
-			<imagevisual id="mul_icon_2" lct="uiaccel_aalist_double_graphic_pane_g6" variety="7">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-
-			<imagevisual id="mul_icon_3" lct="uiaccel_aalist_double_graphic_pane_g7" variety="7">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	 </element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_single_large_graphic_pane.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="list_single_large_graphic_pane" variety="0" >
-            <imagevisual id="mul_icon" lct="list_single_large_graphic_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_large_graphic_pane_t1" variety="0" >
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_large_graphic_pane_g2_cp2" variety="0" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <!--missign second indicator in definition -->
-            <!--imagevisual id="mul_indicator_2" lct="" variety="" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual-->
-        </layout>
-    </element>
-        
-    <element id ="highlight">
-        <layout id = "anchor" name="anchor" lct="list_single_large_graphic_pane" variety="0" >	
-            <imagevisual id="mul_icon" lct="list_single_large_graphic_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_large_graphic_pane_t1" variety="0">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_large_graphic_pane_g2_cp2" variety="0">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <!--missign second indicator in definition -->
-            <!--imagevisual id="mul_indicator_2" lct="" variety="" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual-->
-        </layout>
-    </element>
-
-</orientation>
- 
-<orientation id ="landscape" width="502" >
-
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="list_single_large_graphic_pane" variety="0" >
-            <imagevisual id="mul_icon" lct="list_single_large_graphic_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_large_graphic_pane_t1" variety="0" >
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_large_graphic_pane_g2_cp2" variety="0" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <!--missign second indicator in definition -->
-            <!--imagevisual id="mul_indicator_2" lct="" variety="" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual-->
-        </layout>
-    </element>
-        
-    <element id ="highlight">
-        <layout id = "anchor" name="anchor" lct="list_single_large_graphic_pane" variety="0" >	
-            <imagevisual id="mul_icon" lct="list_single_large_graphic_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_large_graphic_pane_t1" variety="0">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_large_graphic_pane_g2_cp2" variety="0">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <!--missign second indicator in definition -->
-            <!--imagevisual id="mul_indicator_2" lct="" variety="" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual-->
-        </layout>
-    </element>
- 
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/eabi/mmwidgetsu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-EXPORTS
-	_ZN16CMmGridContainer13SetEmptyTextLERK7TDesC16 @ 1 NONAME
-	_ZN16CMmGridContainer20SetDefaultHighlightLEi @ 2 NONAME
-	_ZN18CMmTemplateLibrary4NewLEv @ 3 NONAME
-	_ZN18CMmTemplateLibrary5NewLCEv @ 4 NONAME
-	_ZN18CMmWidgetContainer10SetIsFadedEi @ 5 NONAME
-	_ZN18CMmWidgetContainer10WidgetTypeEv @ 6 NONAME
-	_ZN18CMmWidgetContainer11CancelDragLEi @ 7 NONAME
-	_ZN18CMmWidgetContainer11EndLongTapLEi @ 8 NONAME
-	_ZN18CMmWidgetContainer11IsDraggableEv @ 9 NONAME
-	_ZN18CMmWidgetContainer11SetObserverEP17MMmWidgetObserver @ 10 NONAME
-	_ZN18CMmWidgetContainer11StopMovingLEv @ 11 NONAME
-	_ZN18CMmWidgetContainer12GetHighlightEv @ 12 NONAME
-	_ZN18CMmWidgetContainer12GetItemRectLEi @ 13 NONAME
-	_ZN18CMmWidgetContainer12SetHasFocusLEi @ 14 NONAME
-	_ZN18CMmWidgetContainer13ItemIconZoomLEi @ 15 NONAME
-	_ZN18CMmWidgetContainer13NumberOfItemsEv @ 16 NONAME
-	_ZN18CMmWidgetContainer13ScrollToItemLEi @ 17 NONAME
-	_ZN18CMmWidgetContainer14GetSuiteModelLEv @ 18 NONAME
-	_ZN18CMmWidgetContainer17NewGridContainerLERK5TRectP15MObjectProviderP18CMmTemplateLibrary @ 19 NONAME
-	_ZN18CMmWidgetContainer17PrepareForGarbageEv @ 20 NONAME
-	_ZN18CMmWidgetContainer18HandleItemRemovalLEv @ 21 NONAME
-	_ZN18CMmWidgetContainer18IsHighlightVisibleEv @ 22 NONAME
-	_ZN18CMmWidgetContainer18ItemIsFullyVisibleEi @ 23 NONAME
-	_ZN18CMmWidgetContainer18SetLongTapObserverEP18MMmLongTapObserver @ 24 NONAME
-	_ZN18CMmWidgetContainer19CacheWidgetPositionEv @ 25 NONAME
-	_ZN18CMmWidgetContainer19HandleItemAdditionLEv @ 26 NONAME
-	_ZN18CMmWidgetContainer19ResetWidgetPositionEv @ 27 NONAME
-	_ZN18CMmWidgetContainer20GetPreviousHighlightEv @ 28 NONAME
-	_ZN18CMmWidgetContainer20NewListBoxContainerLERK5TRectP15MObjectProviderP18CMmTemplateLibrary @ 29 NONAME
-	_ZN18CMmWidgetContainer21NumberOfItemsChangedLE16TItemsChangeType @ 30 NONAME
-	_ZN18CMmWidgetContainer21RestoreWidgetPositionEv @ 31 NONAME
-	_ZN18CMmWidgetContainer22EnableLongTapAnimationEi @ 32 NONAME
-	_ZN18CMmWidgetContainer23HandleBackgroundGainedLEv @ 33 NONAME
-	_ZN18CMmWidgetContainer23HandleForegroundGainedLEv @ 34 NONAME
-	_ZN18CMmWidgetContainer23SetHighlightVisibilityLEi @ 35 NONAME
-	_ZN19CMmListBoxContainer13SetEmptyTextLERK7TDesC16 @ 36 NONAME
-	_ZN19CMmListBoxContainer20SetDefaultHighlightLEi @ 37 NONAME
-	_ZThn52_N18CMmWidgetContainer23HandleBackgroundGainedLEv @ 38 NONAME
-	_ZThn52_N18CMmWidgetContainer23HandleForegroundGainedLEv @ 39 NONAME
-
--- a/menufw/menufwui/mmwidgets/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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:  Build information file for project mmwidgets
-*  Version     : %version: 8.1.3.1.8 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/mmwidgets.iby  CORE_APP_LAYER_IBY_EXPORT_PATH(mmwidgets.iby)
-
-// list exports
-../data/list/custom/akn_single_large_graphic_pane.xml Z:/resource/list/custom/akn_single_large_graphic_pane.xml
-
-../data/list/custom/akn_logical_template_1.xml Z:/resource/list/custom/akn_logical_template_1.xml
-
-../data/list/custom/akn_logical_template_2.xml Z:/resource/list/custom/akn_logical_template_2.xml
-
-../data/list/custom/akn_logical_template_3.xml Z:/resource/list/custom/akn_logical_template_3.xml
-
-../data/list/custom/akn_logical_template_4.xml Z:/resource/list/custom/akn_logical_template_4.xml
-
-../data/list/custom/akn_logical_template_5.xml Z:/resource/list/custom/akn_logical_template_5.xml
-
-../data/list/custom/akn_logical_template_6.xml Z:/resource/list/custom/akn_logical_template_6.xml
-
-../data/list/custom/akn_logical_template_7.xml Z:/resource/list/custom/akn_logical_template_7.xml
-
-../data/list/custom/akn_logical_template_8.xml Z:/resource/list/custom/akn_logical_template_8.xml
-
-../data/list/custom/akn_logical_template_10.xml Z:/resource/list/custom/akn_logical_template_10.xml
-
-../data/list/custom/akn_logical_template_11.xml Z:/resource/list/custom/akn_logical_template_11.xml
-
-../data/list/custom/akn_logical_template_12.xml Z:/resource/list/custom/akn_logical_template_12.xml
-
-../data/list/custom/akn_logical_template_13.xml Z:/resource/list/custom/akn_logical_template_13.xml
-
-// grid exports
-../data/grid/custom/akn_single_large_graphic_pane.xml Z:/resource/grid/custom/akn_single_large_graphic_pane.xml
- 
-../data/grid/custom/akn_logical_template_1.xml Z:/resource/grid/custom/akn_logical_template_1.xml
-
-../data/grid/custom/akn_logical_template_2.xml Z:/resource/grid/custom/akn_logical_template_2.xml
-
-../data/grid/custom/akn_logical_template_3.xml Z:/resource/grid/custom/akn_logical_template_3.xml
-
-../data/grid/custom/akn_logical_template_4.xml Z:/resource/grid/custom/akn_logical_template_4.xml
-
-//lct exports
-../data/list/lct/akn_list_single_hc_apps_pane.xml Z:/resource/list/lct/akn_list_single_hc_apps_pane.xml
-
-../data/list/lct/akn_single_large_graphic_pane.xml Z:/resource/list/lct/akn_single_large_graphic_pane.xml
-
-../data/list/lct/akn_logical_template_1.xml Z:/resource/list/lct/akn_logical_template_1.xml
-
-../data/list/lct/akn_logical_template_2.xml Z:/resource/list/lct/akn_logical_template_2.xml
-
-../data/list/lct/akn_logical_template_3.xml Z:/resource/list/lct/akn_logical_template_3.xml
-
-../data/list/lct/akn_logical_template_4.xml Z:/resource/list/lct/akn_logical_template_4.xml
-
-../data/list/lct/akn_logical_template_5.xml Z:/resource/list/lct/akn_logical_template_5.xml
-
-../data/list/lct/akn_logical_template_6.xml Z:/resource/list/lct/akn_logical_template_6.xml
-
-../data/list/lct/akn_logical_template_6a.xml Z:/resource/list/lct/akn_logical_template_6a.xml
-
-../data/list/lct/akn_logical_template_7.xml Z:/resource/list/lct/akn_logical_template_7.xml
-
-../data/list/lct/akn_logical_template_8.xml Z:/resource/list/lct/akn_logical_template_8.xml
-
-../data/list/lct/akn_logical_template_12.xml Z:/resource/list/lct/akn_logical_template_12.xml
-
-../data/grid/lct/akn_logical_template_3.xml Z:/resource/grid/lct/akn_logical_template_3.xml
-
-../inc/mmdraganddropobserver.h         |../../../inc/mmdraganddropobserver.h 
-../inc/mmlongtapobserver.h         |../../../inc/mmlongtapobserver.h 
-../inc/mmkeyeventobserver.h            |../../../inc/mmkeyeventobserver.h
-../inc/mmwidgetobserver.h              |../../../inc/mmwidgetobserver.h 
-../inc/mmwidgetcontainer.h             |../../../inc/mmwidgetcontainer.h 
-../inc/mmvisibilityobserver.h          |../../../inc/mmvisibilityobserver.h 
-../inc/mmtemplatelibrary.h             |../../../inc/mmtemplatelibrary.h
-../inc/mmwidgetsconstants.h             |../../../inc/mmwidgetsconstants.h
-
-PRJ_MMPFILES
-mmwidgets.mmp
--- a/menufw/menufwui/mmwidgets/group/mmwidgets.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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:  Project definition file for project multimedia menu widgets
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          mmwidgets.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x2001E658
-
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          mmlistboxcontainer.cpp 
-SOURCE          mmlistbox.cpp 
-SOURCE          mmlistboxitemdrawer.cpp
-SOURCE          mmlistboxview.cpp
-SOURCE          mmtemplatelibrary.cpp 
-SOURCE          mmgrid.cpp 
-SOURCE          mmgridmodel.cpp 
-SOURCE          mmgridview.cpp 
-SOURCE          mmgridcontainer.cpp
-SOURCE          mmwidgetcontainer.cpp 
-SOURCE          mmmarqueeadapter.cpp
-SOURCE          mmfloatingitem.cpp 
-SOURCE          mmdraweranimator.cpp
-SOURCE          mmlctutils.cpp
-SOURCE          mmlistboxmodel.cpp
-SOURCE          mmpostevaluationprocessor.cpp
-SOURCE          mmcacheforitem.cpp
-SOURCE          mmitemsdatacache.cpp
-
-USERINCLUDE     ../inc
-SYSTEMINCLUDE   ../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY           euser.lib
-LIBRARY           apparc.lib
-LIBRARY           avkon.lib
-LIBRARY           apgrfx.lib            // for TApaTask
-LIBRARY           eikcore.lib
-LIBRARY           eikcoctl.lib
-LIBRARY           cone.lib
-LIBRARY           cdlengine.lib        // for Layout_Meta_Data
-LIBRARY           fbscli.lib
-LIBRARY           egul.lib
-
-LIBRARY           hnengine.lib
-LIBRARY           hnpresentationmodel.lib
-LIBRARY           hnutilities.lib
-
-LIBRARY           liwservicehandler.lib // for Back Stepping SAPI
-
-LIBRARY           AknCapserverClient.lib // for fastswap activation
-LIBRARY           ws32.lib               // for getting list of running applications
-LIBRARY           AknSkins.lib           // for application icon fetching
-LIBRARY           aknicon.lib            // for application icon fetching
-LIBRARY           gfxtrans.lib           // effects
-LIBRARY           akntransitionutils.lib
-LIBRARY           commonengine.lib      // for  stringloader
-LIBRARY           gdi.lib 
-LIBRARY           bafl.lib 
-LIBRARY	          eikctl.lib 
-LIBRARY           fontutils.lib
-LIBRARY           XmlEngineDOM.lib
-LIBRARY           hnmetadatamodel.lib
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-LIBRARY	 		  aknlistloadertfx.lib
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-LIBRARY           hlplch.lib 
-LIBRARY           AknLayout2.lib       
-LIBRARY           AknLayout2Scalable.lib
-LIBRARY           BitmapTransforms.lib
-LIBRARY           bitgdi.lib
-LIBRARY           centralrepository.lib
-LIBRARY           touchfeedback.lib
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-
-// End of File
--- a/menufw/menufwui/mmwidgets/inc/mmcacheforitem.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#ifndef MMCACHEFORITEM_H
-#define MMCACHEFORITEM_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include "mmsubcellssetupcode.h"
-
-class CGulIcon;
-class CHnIconHolder;
-class CMmItemsDataCache;
-
-/**
- * Stores cached information needed to draw a single item.
- */
-NONSHARABLE_CLASS( CMmCacheForItem ): public CBase
-    {
-public:
-    /**
-     * Creates a new instance of CMmCacheForItem object.
-     * The newly created object will be left on the cleanup stack.
-     * 
-     * @param aParent The owner of the newly created object.
-     */
-    static CMmCacheForItem* NewLC( CMmItemsDataCache& aParent );
-    
-    /**
-     * Creates a new instance of CMmCacheForItem object.
-     * The newly created object will be left on the cleanup stack.
-     * 
-     * @param aParent The owner of the newly created object. 
-     */
-    static CMmCacheForItem* NewL( CMmItemsDataCache& aParent );
-    
-    /**
-     * Standard C++ virtual destructor.
-     */
-    ~CMmCacheForItem();
-    
-    /**
-     * Sets the subcell setup code that denoted valid subcell setup for this
-     * item.
-     * 
-     * @param aSubcellsSetupCode Subcells setup code for this item. 
-     */
-    inline void SetSubcellsSetupCode( TMmSubcellsSetupCode aSubcellsSetupCode );
-    
-    /**
-     * Returns the code of the subcells setup required by this item to be
-     * properly drawn using cached data.
-     */
-    inline TMmSubcellsSetupCode GetSubcellsSetupCode() const;
-    
-    /**
-     * Returns information whether the data in this cache is valid.
-     * Invalid cache should never be used.
-     * 
-     * @return ETrue if valid, EFalse otherwise.
-     */
-    inline TBool IsValid() const;
-    
-    /**
-     * Marks this cache as valid or invalid.
-     * 
-     * @param aValid (Self-explanatory).
-     */
-    inline void SetValidL( TBool aValid );
-    
-    /**
-     * Returns information whether at the moment of updating this cache object
-     * the item was current (highlighted).
-     * 
-     * @return ETrue if current, EFalse otherwise.
-     */
-    inline TBool IsCurrent();
-    
-    /**
-     * Sets the information whether the item was current (highlighted). 
-     */
-    inline void SetCurrent( TBool aCurrent );
-    
-    /**
-     * Retrieves the cached item text.
-     * This is the complete string needed by AVKON methods to draw the item
-     * including tab characters and icon indices.
-     * 
-     * @return Cached item text.
-     */
-    inline const TDesC& GetItemText() const;
-    
-    /**
-     * Returns reference to the text buffer owned by this cache.
-     * This methods allows for updating the cached text.
-     * 
-     * @return Reference to the text buffer owned by this cache.
-     */
-    inline RBuf& GetItemTextForModifications();
-    
-    /**
-     * Retrives cached template name.
-     * 
-     * @return Cached template name. 
-     */
-    const TDesC8& GetTemplate() const;
-    
-    /**
-     * Sets template name for the item.
-     * 
-     * @param aItemTemplate Template name.
-     */
-    void SetTemplateL( const TDesC8& aItemTemplate );
-    
-    /**
-     * Returns cached item size.
-     *
-     * @return Cached item size. 
-     */
-    inline TSize GetSize() const;
-    
-    /**
-     * Updates item size stored in the cache.
-     * 
-     * @param aItemSize Item size.
-     */
-    inline void SetSize( TSize aItemSize );
-
-    /**
-     * Produces icon list, which can be then passed as parameter to
-     * CEikFormattedCellListBoxData::SetIconArray.
-     * It is up to the caller to delete the returned array. However,
-     * the icons stored in the array must not be deleted.
-     */
-    CArrayPtr<CGulIcon>* GetIconListL();
-
-    /**
-     * Appends an icon (specifically an icon holder) to the cached array of icon holders.
-     * The icon holder is then co-owned by this CMmCacheForItem object so that the
-     * icon contained in the icon holder can be safely stored.
-     * 
-     * @param aIconHolder An icon holder (NULL value not allowed).
-     * @return Index of the just appended icon holder.
-     */
-    TInt AppendIconL( CHnIconHolder* aIconHolder );
-
-    /**
-     * Clears the array of icon holders stored in this item cache.
-     * It ceases co-owning the icon holders and resets the array
-     * that stores them.
-     */
-    void ClearIconArray();
-    
-    /**
-     * Based on the information about how the item must be drawn (with
-     * hightlight or not) and what currect subcells setup it, this methods
-     * invalidates the cache for this item to prevent problems such as:
-     * * cache information for highlighted item being used for to draw
-     *   the item without highlight or vice versa.
-     * * relying on cache and not performing the full subcells setup while
-     *   the current subcells setup does not fit this particular item.
-     */
-    void InvalidateIfCacheMayNotBeUsed( TBool aIsItemCurrent,
-            TMmSubcellsSetupCode aSubcellsSetupCode );
-    
-protected:
-    /**
-     * Stardard C++ constructor.
-     * 
-     * @param aParent CMmItemsDataCache object owning this object.
-     */
-    CMmCacheForItem( CMmItemsDataCache& aParent );
-    
-    /**
-     * 2nd phase constructor.
-     */
-    void ConstructL();
-    
-    /**
-     * Updates the iIconList so that it reflects the contents of
-     * iIconHolderList.
-     */
-    void UpdateIconListL();
-
-protected:
-    /**
-     * Stores information whether this cache object is valid.
-     */
-    TBool iIsValid;
-    
-    /**
-     * Stores information the item was highlighted at the moment
-     * of last cache update.
-     */
-    TBool iIsCurrent;
-    
-    /**
-     * Stores subcells setup code that denotes the subcells setup
-     * needed to draw the item using the cached data.
-     */
-    TMmSubcellsSetupCode iSubcellsSetupCode;
-    
-    /**
-     * Own.
-     * Stores the item text in the format that
-     * CFormattedCellListBoxData::Draw accepts.
-     * This text includes icon indices separated with tab characters.
-     */
-    RBuf iItemText;
-    
-    /**
-     * Stores the item size.
-     */
-    TSize iItemSize;
-    
-    /**
-     * Template identifier obtained from @c aParent using
-     * @c CMmItemsDataCache::GetTemplateIdentifierL.
-     */
-    TInt iTemplateIdentifier;
-    
-    /**
-     * Own. 
-     * The icon holders in the array are co-owned.
-     */
-    RArray<CHnIconHolder*> iIconHolderList;
-    
-    /**
-     * Object that represents the whole data cache as opposed
-     * to single item cache represented by this object.
-     */
-    CMmItemsDataCache& iParent;
-
-    /**
-     * Array of icons stored in the icon holders which are in iIconHolderList.
-     * This member is only valid when this cache object is marked as valid
-     * using the SetValidL method.
-     * Own.
-     */
-    CArrayPtr<CGulIcon>* iIconList;
-
-    };
-
-#include "mmcacheforitem.inl"
-
-#endif // MMCACHEFORITEM_H
--- a/menufw/menufwui/mmwidgets/inc/mmcacheforitem.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TBool CMmCacheForItem::IsValid() const
-    {
-    return iIsValid;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void CMmCacheForItem::SetSubcellsSetupCode( TMmSubcellsSetupCode aSubcellsSetupCode )
-    {
-    iSubcellsSetupCode = aSubcellsSetupCode;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TMmSubcellsSetupCode CMmCacheForItem::GetSubcellsSetupCode() const
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iSubcellsSetupCode;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void CMmCacheForItem::SetValidL( TBool aValid )
-    {
-    if ( !!iIsValid != !!aValid ) // Ex-OR
-        {
-        iIsValid = aValid;
-        if ( iIsValid )
-            {
-            UpdateIconListL();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TBool CMmCacheForItem::IsCurrent()
-    {
-    return iIsCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void CMmCacheForItem::SetCurrent( TBool aCurrent )
-    {
-    iIsCurrent = aCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline const TDesC& CMmCacheForItem::GetItemText() const
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iItemText;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline RBuf& CMmCacheForItem::GetItemTextForModifications()
-    {
-    return iItemText;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TSize CMmCacheForItem::GetSize() const
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iItemSize;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void CMmCacheForItem::SetSize( TSize aItemSize )
-    {
-    iItemSize = aItemSize;
-    }
--- a/menufw/menufwui/mmwidgets/inc/mmdraganddropobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +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:  receives key pressed notifications
-*
-*/
-
-
-#ifndef M_MMDRAGANDDROPOBSERVER_H
-#define M_MMDRAGANDDROPOBSERVER_H
-
-/**
- *  Used by Multimedia Menu widgets to notify about dragging events.
- *  Whenever a drag begins HandleDragStartL() is invoked.
- *  When the highlight changes during drag, HandleDragOverL() is invoked.
- *  When item is dropped, HandleDragStopL() is invoked.
- *  The set of the three methods fully notifies the observer about the state 
- *  of the drag.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-class MMmDragAndDropObserver
-    {
-public:
-    /**
-     * Method is invoked on the observer, when the dragging starts.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of item that has started dragging.
-     */
-    virtual void HandleDragStartL( TInt aModelItemIndex ) = 0;
-
-    /**
-     * Method is invoked on the observer, when highlight changes
-     * while dragging.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of item that the dragged item hovers over.
-     */
-    virtual void HandleDragOverL( TInt aModelItemIndex ) = 0;
-    
-    /**
-     * Method is invoked on the observer, when the item is dropped.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of item on which the draging stops.
-     */
-    virtual void HandleDragStopL( TInt aModelItemIndex ) = 0;
-    
-    /**
-     * Method is invoked on the observer, when the dragged item index changes.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of item on which the draging stops.
-     */
-    virtual void HandleDraggedIndexUpdatedL( TInt aModelItemIndex ) = 0;
-    
-    };
-    
-#endif // M_MMDRAGANDDROPOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmdraweranimator.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmDrawerAnimator declaration
-*  Version     : %version: MM_17.1.8 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMDRAWERANIMATOR_H
-#define C_MMDRAWERANIMATOR_H
-
-#include <e32base.h>
-#include <e32std.h>
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#include <aknlistboxtfx.h>
-#endif 
-class CMmListBoxItemDrawer;
-class TMmFloatingItem;
-
-/**
- * Zoom ratio when no zooming is performed.
- */
-const TReal KNormalStateZoomRatio = 1.0f;
-
-/**
- * Zoom ratio when zooming is performed.
- */
-const TReal KZoomStateZoomRatio = 1.25f;
-
-/**
- *  Used by Multimedia Menu to draw Animated items.
- *  Drawer animator is an active object, that forces refreshes
- *  while floating items are available in the associated CListBoxItemDrawer.
- *  When no items are available the drawer ceases to redraw the screen.
- *  Active object becomes active when a new animation is triggered.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v5.0
- *  @see CListBoxItemDrawer
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmDrawerAnimator ) : public CActive
-    {
-    
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aDrawer Item drawer used to draw item.
-     */
-    static CMmDrawerAnimator* NewL( CMmListBoxItemDrawer& aDrawer );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aDrawer Item drawer used to draw item.
-     */
-    static CMmDrawerAnimator* NewLC( CMmListBoxItemDrawer& aDrawer );
-    
-    /**
-     * Destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CMmDrawerAnimator();
-
-    /**
-     * Animates transition of the dragged item.
-     * The animation starts in the current position of EDrag
-     * floating item, and end in the original place of dragging
-     * or destination place, if reorder occured.
-     *
-     * @since S60 v5.0
-     */
-    void AnimateDragItemTransitionL( );
-    
-    /**
-     * Animates an item with index aItemFrom into position 
-     * indexed by aItemTo.
-     *
-     * @since S60 v5.0
-     * @param aItemFrom Which item should be animated.
-     * @param aItemTo Where to should the item be animated.
-     */
-    void AnimateItemSwapL( TInt aItemFrom, TInt aItemTo );
-
-    /**
-     * Animates zooming of an item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Index of item to be zoomed.
-     * @param aZoomIn Is zooming in or out.
-     */
-    void AnimateItemZoomL( TInt aItemIndex, TBool aZoomIn );
-
-    /**
-     * Checks if system is ready for new animation.
-     *
-     * @since S60 v5.0
-     * @return Is system ready so new animation can proceed.
-     */
-    TBool IsReadyForNewAnimation();
-    
-    /**
-     * Cancel currently running or pending animations.
-     *
-     * @since S60 v5.0
-     */
-    void CancelAnimationsL();
-    
-    /**
-     * Triggers animation.
-     * This methods sets the Activeobject into active state
-     * if floating items are available
-     *
-     * @since S60 v5.0
-     * @return Error code
-     */
-    TInt Trigger();
-    
-    /**
-     * Marks next redraw to be cancelled.
-     * 
-     * @return Indicates if redraw occured due to cancel.
-     */
-    TBool CancelNextRedrawL();
-    
-    /**
-     * Make the next animation redraw the whole screen;
-     */
-    void SetNextRedrawToWholeScreen();
-    
-    /**
-     * Indicates that draweranimator is in garbage.
-     * This is used when suite model has been destroyed so there isn't 
-     * anything to draw, therefore any animator attempts should be 
-     * dropped.
-     */
-    void PrepareForGarbage();
-    
-private:
-	
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0
-     * @param aDrawer Object used to draw items in widgets.
-     */
-    CMmDrawerAnimator( CMmListBoxItemDrawer& aDrawer );
-    
-    /**
-     * 2nd phase constructor.
-     *
-     * @since S60 v3.0 
-     */
-    void ConstructL();
-
-private: // From CActive
-
-    /**
-     * Draws next animation phase.
-     *
-     * @since S60 v3.0
-     */
-    void RunL();
-
-    /**
-     * Cancels animation timer. Stops animation.
-     *
-     * @since S60 v3.0
-     */
-    void DoCancel();
-
-    /**
-     * Handles error if error an error occured.
-     *
-     * @since S60 v3.0
-     * @param aError Error code which occurred.
-     * @return Error code for error handling.
-     */
-    TInt RunError( TInt aError );
-    
-    /**
-     * Adjusts rect to non touch.
-     * 
-     * @since S60 v3.0
-     * @param aRefreshRect Refresh rect.
-     * @return Adjusted rect.
-     */
-    TRect AdjustRefreshRectToNonTouch( const TRect& aRefreshRect );
-
-private: // Data
-	
-    /**
-     * Timer
-     */  
-    RTimer iTimer;
-    
-    /**
-     * Associated item drawer.
-     */  
-    CMmListBoxItemDrawer& iDrawer;
-    
-    /**
-     * Number of animation frames
-     */  
-    TInt iAnimateFrames;
-
-    /**
-     * Delay between redrawing.
-     */  
-    TTimeIntervalMicroSeconds iDelay;
-   
-    /**
-     * Last redraw time
-     */  
-    TTime iLastRedrawTime;
-      
-    /**
-     * Effects api.
-     */  
-    MAknListBoxTfx *iTransTfx;
-    
-    /**
-     * Effects api.
-     */  
-    MAknListBoxTfxInternal *iTransTfxInternal;
-    
-    /**
-     * Highlight noted when last redraw occured.
-     */
-    TInt iLastNotedHighlight;
-    
-    /**
-     * Top item index noted when last redraw occured.
-     */
-    TInt iLastNotedTopItem;
-    
-    /**
-     * Vertical offset noted when last redraw occured.
-     */
-    TInt iLastNotedVerticalOffset;
-    
-    /**
-     * Holds the previous animation refresh rectangle.
-     */
-    TRect iPreviousRefreshRect;
-    
-    /**
-     * Holds the number of frames to animate.
-     */
-    const TInt iUsualAnimationFramesCount;
-    
-    /**
-     * Holds the previous animation refresh rectangle.
-     */
-    TBool iPreparedForGarbage;
-    };
-
-#endif // MMDRAWERANIMATOR_H
--- a/menufw/menufwui/mmwidgets/inc/mmfloatingitem.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +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:  floating item
-*
-*/
-
-
-#ifndef T_MMFLOATINGITEM_H
-#define T_MMFLOATINGITEM_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include "mmwidgetsconstants.h"
-
-
-/**
- * Floating item.
- * 
- * This class describes a floating item element. Floating item is an extension
- * to the way grid and list widgets are drawn. Since widgets are very restrictive,
- * as to the place where na item is drawn (since in both grid and list each item
- * has a pretty well defined place) there had to be a way to draw items off the
- * standard place. Together with CMMDrawerAnimator, these classes support
- * drawing of dragged item as well as other off place items such as animation 
- * frames.
- * Floating items as such support the idea of animation, as each of the items
- * are aware of the animation step, and may modify its own position, whenever
- * requested. However a timer in this manner is needed, and this role is 
- * performed by CMMDrawerAnimator, which is aware of the redraw speed, and may
- * control the state of all instances of TMMFloatingItem.
- * It should be noted that both TMMFloatingItem and CMMDrawerAnimator doesn't 
- * handle item's drawing on it's own. These classes just control the logical 
- * state of floating items. All floating items are associated with the 
- * CMMListBoxItemDrawer in an array, and drawn whenever a Draw operation is 
- * performed on the widget, or any particular item, that is in any way overlapped
- * by a floating item.
- * 
- * @see CMMDrawerAnimator
- * @lib mmwidgets
- * @since S60 v5.0
- * @ingroup group_mmwidgets
- */
-
-class CListBoxView;
-
-class TMmFloatingItem
-    {
-    
-public:
-    /**
-     * Constructor.
-     * 
-     * If a non-null value for the aView parameter is supplied, then item position
-     * will be relative, so when the view is scrolled the floating item will move
-     * just like all the non-floating items.
-     * If aView is NULL, then item position will be absolute, meaning that it will
-     * not change when the view is scrolled. 
-     *
-     * @since S60 ?S60_version
-     * @param aDrawnIndex Index of the item which is going to 
-     *                        be draw off place.
-     * @param aStartPosition Position of the item (always expressed in screen
-     *                       coordinates, even when creating an item with relative
-     *                       position).
-     * @param aType Type of the floating item.
-     * @param aAnimationFrames Total number of animation frames to perform.
-     * @param aView The view on which items are drawn (optional - affects
-     *        scrolling behavior).
-     */
-    TMmFloatingItem( TInt aDrawnIndex, TPoint aStartPosition,
-            TMmFloatingItemType aType, TInt aAnimationFrames,
-            CListBoxView* aView = NULL );
-    
-    /**
-     * Sets the flag of manual delete. If such flag is set
-     * the floating item will not perfrom self removal. Normally
-     * floating items remove themselves fram the drawing buffer whenever 
-     * the animation is finished. This is used for example for
-     * dragged items, since they are not animated, and they will be
-     * deleted manual when the uses lets go of the drag.
-     *
-     * @since S60 5.0
-     * @param aManual Flag of manual deletion.
-     */
-    void SetManualDelete( TBool aManual );
-    
-    /**
-     * Performs a step of the animation, according to 
-     * earlier provided information.
-     *
-     * @since S60 5.0
-     */
-    TBool MakeStep();
-       
-    /**
-     * Set the difference in the location of the floating item
-     * from the originating position of the item, to the resulting
-     * position of the animation
-     *
-     * @since S60 5.0
-     * @param aDiffetenceVector Vector of displacement.
-     */
-    void SetPositionStep( TPoint aDiffetenceVector  );
-    
-    /**
-     * Set the size of the step that modifies the size of the
-     * item with every step of the animation.
-     *
-     * @since S60 5.0
-     * @param aStartSize Initial size of the item.
-     * @param aFinalSize Final size of the item.
-     */
-    void SetSizeStep( TReal aStartSize, TReal aFinalSize );   
-    
-    /**
-     * Gets the current zoom ratio. The ratio might by
-     * time specific, since floating items support animations
-     * changing size of the item.
-     *
-     * @since S60 5.0
-     * @return Zooming ratio.
-     */
-    TReal GetCurrentZoomRatio() const;
-    
-    /**
-     * Gets the type of the floating item.
-     *
-     * @since S60 5.0
-     * @return Type of the floating item.
-     */    
-    TMmFloatingItemType GetFloatingItemType() const;
-
-    /**
-     * Gets the item index of the item being drawn.
-     *
-     * @since S60 5.0
-     * @return Item of the item drawn.
-     */    
-    TInt GetDrawnItemIndex() const;
-    
-    /**
-     * Gets the current item position.
-     * 
-     * The position returned is always expressed in screen coordinates,
-     * even if this item's position is relative.
-     *
-     * @since S60 5.0
-     * @return Position of the item.
-     */    
-    TPoint GetItemPosition() const;
-
-    /**
-     * Marks the item as invalid. Item will be deleted 
-     * from the cache when an attempt to draw the item
-     * occurs.
-     *
-     * @since S60 5.0
-     */    
-    void InvalidateFloatingItem();
-
-    /**
-     * Tests if the item is still valid.
-     *
-     * @since S60 5.0
-     */    
-    TBool IsFloatingItemValid() const;
-    
-    /**
-     * Zooming status is returned, meaning if the item is still 
-     * in the state of zoming in, zooming out, or in normal size
-     * 
-     * @since S60 5.0
-     * @return Negative value is returned if the item is zooming out.
-     *         Positive value is returned if item is zooming in.
-     *         Zero is returned if the item is static in size.
-     */
-    TInt GetZoomingStatus();
-    
-    /**
-     * Checks if the item has the manual deletion
-     * flag setup.
-     *
-     * @since S60 5.0
-     * @return The status of manual deletion flag.
-     */    
-    TBool IsManualDelete();
-    
-    /**
-     * Calculates consequent steps
-     *
-     * @since S60 5.0
-     * @param aVector Displacement vector.
-     */    
-    void CalculateSteps(TPoint aVector);
-    
-private:
-    
-    /**
-     * Index of the item, which is being animated. 
-     */  
-    TInt iDrawnItemIndex;
-    
-    /**
-     * Current item position.
-     * 
-     * This can be either an absolute position (expressed in screen coordinates) or
-     * a relative position depending on whether iView member variable is NULL.
-     * In the latter case, the position is relative to the top-left corner of the
-     * first item in the view.
-     */  
-    TPoint iItemPosition;
-    
-    /**
-     * Dispalcement of the item, per animation step.
-     */  
-    TFixedArray<TPoint, MmEffects::KMaximumAnimationFramesCount> iPositionStep;
-    
-    /**
-     * Size change, per animation step.
-     */  
-    TReal iSizeStep;
-    
-    /**
-     * Counter of animation frames.
-     */  
-    TInt iFrameCounter;
-    
-    /**
-     * Total number of animation frames to perform.
-     */  
-    TInt iFrames;
-    
-    /**
-     * Manual deletion flag.
-     */  
-    TBool iManualDelete;
-    
-    /**
-     * Current scaling ratio.
-     */  
-    TReal iZoomRatio;
-    
-    /**
-     * Type of the floating item. There is a need for distinction
-     * between different animations types.
-     */  
-    TMmFloatingItemType iType; 
-    
-    /**
-     * The view on which items are drawn.
-     * 
-     * When iView is NULL, then iItemPosition contains absolute item position.
-     * Otherwise iItemPostion contains item position relative to the top-left
-     * corner of the first item in the view. 
-     */
-    CListBoxView* iView;
-       
-    };
-    
-#endif // T_MMFLOATINGITEM_H
--- a/menufw/menufwui/mmwidgets/inc/mmgrid.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,508 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmGrid declaration
-*  Version     : %version: MM_32.1.22 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMGRID_H
-#define C_MMGRID_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknGrid.h> 
-
-class CMmGridModel;
-class CMmListBoxItemDrawer;
-class CMmMarqueeAdapter;
-class CMmWidgetContainer;
-class CMmTemplateLibrary;
-
-/**
- *  Multimedia Menu Grid Widget
- * 
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmGrid ) : public CAknGrid
-    {
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aParent Parent control.
-     * @param aFlags Additional Flags.
-     * @param aTemplateLibrary Template library for drawer.
-     */
-    static CMmGrid* NewL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aParent Parent control.
-     * @param aFlags Additional Flags.
-     * @param aTemplateLibrary Template library for drawer.
-     */
-    static CMmGrid* NewLC(const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Destructor.
-     */
-    virtual ~CMmGrid();
-
-    /**
-     * Draws the grid is given rectangle.
-     *
-     * @since S60 v3.0
-     * @param aRect Rect within which grid should be drawn.
-     */
-    void Draw( const TRect& aRect ) const;
-    
-    /**
-     * Draws the grid view.
-     *
-     * @since S60 v5.0
-     */
-    void DrawView();
-
-    /**
-     * Creates the item drawer for grid.
-     * 
-     * @since S60 v3.0
-     */
-    void CreateItemDrawerL();
-    
-    /**
-     * Creates the item drawer for grid.
-     * 
-     * @param aTemplateLibrary Template library for drawer. 
-     * @since S60 v3.0
-     */
-    void CreateItemDrawerL( CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Creates the view class instance for grid.
-     *
-     * @since S60 v3.0
-     * @return Griv view.
-     */
-    CListBoxView* MakeViewClassInstanceL();
-    
-    /**
-     * Handles scrolling event.
-     *
-     * @since S60 v3.0
-     * @param aScrollBar Scrollbar being scrolled.
-     * @param aEventType Type of scrollbar event.
-     */
-    void HandleScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType );
-    
-    /**
-     * Handles pointer event.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Type of pointer event.
-     */
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-     
-    /**
-     * Sets item drawer and view background context.
-     *
-     * @since S60 v3.0
-     * @param aBgContext Background context to be set in view and item drawer.
-     */
-    void SetItemDrawerAndViewBgContext(
-    		CAknsBasicBackgroundControlContext* aBgContext );
-    
-    /**
-     * Handles changes in scrollbar visibility.
-     *
-     * @since S60 v3.0
-     */
-    TBool HandleScrollbarVisibilityChangeL();
-    
-    /**
-     * Checks if all items from model fit in given rectangle.
-     *
-     * @since S60 v3.0
-     * @return Do items fit in view rectangle.
-     */
-    TBool AllItemsFitInViewRect();
-    
-    /**
-     * Updates scrollbar changes.
-     *
-     * @since S60 v3.0
-     */
-    void UpdateScrollBarsL();
-    
-    /**
-     * Sets the marquee adapter.
-     *
-     * @since S60 v3.0
-     * @param aAdapter Marquee adapter.
-     */
-    void SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter );
-    
-    /**
-     * Sets up the layout (orientation and items' sizes).
-     *
-     * @since S60 v3.0
-     */
-    void SetupLayout();
-
-    /**
-     * Gets the Grid model.
-     *
-     * @since S60 v3.0
-     * @return Grid model.
-     */       
-    CMmGridModel * MmModel();
-    
-    /**
-     * This function from @c CAknGrid handles key events.
-     *  
-     * It has been overridden to allow for correct handling of
-     * left and right rocker keys when mirrored layout is used.
-     * 
-     * @param aKeyEvent event to handle
-     * @param aType type of the key event
-     * @return response code ( @c EKeyWasConsumed, @c EKeyWasNotConsumed )
-     */
-    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-    
-    /**
-     * This function from CAknGrid is overriden to make grid 
-     * behavior correct in the mirrored layout.
-     * Please note that it is necessary because of the hackish
-     * solution used to draw items in mirrored layout.
-     */
-    void HandleViewRectSizeChangeL();
-    
-    /**
-     * Overridden function from CAknGrid.
-     */
-    void AdjustTopItemIndex() const;
-
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     * 
-     * @since S60 v5.0
-     */
-    void SetVerticalItemOffset( TInt aOffset );
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    TInt VerticalItemOffset() const;
-    
-    /**
-     * Simply sets the item height members in widget and view.
-     */
-    void SetItemHeight( TInt aItemHeight );
-
-    /**
-     * Updates scrollbar thumbs.
-     */
-    void UpdateScrollBarThumbs();
-
-    /**
-     * Counts the number of component controls which this component owns.
-     */ 
-    TInt CountComponentControls() const;
-
-    /**
-     * Disables/enables child component (scrollbar) drawing.
-     */
-    void SetDisableChildComponentDrawing( TBool aDisable );
-    
-private:
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    CMmGrid();
-    
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v3.0 
-     * @param aParent Parent control.
-     * @param aFlags Additional Flags.
-     * @param aTemplateLibrary Template library for drawer.
-     */
-    void ConstructL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Handles changes in resource.
-     *
-     * @since S60 v3.0
-     * @param aIsLandscape Is orientation in landscape mode.
-     * @param aCellSize The size of grid cell/item.
-     * @param aViewLayout The layout of the grid (e.g. 3x4).
-     */
-    void DoHandleResourceChangeL( TBool aIsLandscape, TSize& aCellSize,
-            TSize& aViewLayout );
-    
-    /**
-     * Handles changes in resource.
-     *
-     * @since S60 v3.0
-     * @param aCellSize The size of grid cell/item.
-     * @param aViewLayout The layout of the grid (e.g. 3x4).
-     */
-    void DoHandleResourceChangeL( TSize& aCellSize,
-            TSize& aViewLayout );
-    
-    /**
-     * Sets up the layout (for use in non-leaving SetupLayout())
-     * 
-     * @since S60 v3.0 
-     */
-    void DoSetupLayoutL();
-    
-    /**
-     * Handles pointer events when edit mode is enabled.
-     * 
-     * This method is only called during edit mode. It selectively passes
-     * only some of the pointer events to CAknGrid::HandlePointerEventL
-     * in order to disable flicking and panning.
-     * 
-     * @param aPointerEvent pointer event
-     */
-    void HandlePointerEventInEditModeL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Handles pointer events when edit mode is disabled.
-     * 
-     * @param aPointerEvent pointer event
-     */
-    void HandlePointerEventInNormalModeL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Handles button repeat event in normal mode.
-     * 
-     * Such event is requested when handling button1down event so that
-     * certain actions (i.e. setting highlight visibility) can be made
-     * with a small delay - this improves menu behavior on flicking.
-     * 
-     * @param aPointerEvent pointer event 
-     */
-    void HandleButtonRepeatEventInNormalModeL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Scrolls the view if pointer is close to the top/bottom edge.
-     * 
-     * This method is used only when edit mode is active. In a way it
-     * brings back the focus based scrolling behavior that was present
-     * in CAknGrid before ODE scrolling was introduced.
-     */
-    void HandleScrollingInEditMode( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Checks if pointer position is within the scroll-triggering area.
-     * 
-     * @param aPointerEvent pointer event
-     * @return true if pointer above the top scrolling threshold.
-     */
-    TBool IsPointerInTopScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const;
-
-    /**
-     * Checks if pointer position is within the scroll-triggering area.
-     * 
-     * @param aPointerEvent pointer event
-     * @return true if pointer below the bottom scrolling threshold.
-     */
-    TBool IsPointerInBottomScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const;
-    
-    /**
-     * Scrolls the view if the pointer is near top/bottom edge of the screen.
-     * 
-     * Assumes that current item index is the index of the item under the
-     * pointer. The time value returned is based on the distance of the pointer
-     * from the top/bottom edge of the grid view (this makes the scrolling speed
-     * dependent of how close the pointer is to the edge).
-     * If there is no need to continue scrolling because the beginning/end of
-     * the list has already been reached, 0 is returned.
-     * 
-     * @param aPointerEvent pointer event
-     * @return time to wait before calling this method again (in microseconds)
-     *         or 0 if already at the beginning/end of the list
-     */
-    TInt ScrollIfNeeded( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Minimal scrolling (setting top item index and vertical offset) with 
-     * boundary checking and WITHOUT redrawing.
-     * 
-     * @param aDistanceInPixels Distance to scroll.
-     */
-    void ScrollWithoutRedraw( TInt aDistanceInPixels );
-    
-    /**
-     * Updates the dispapearing highlight.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Type of pointer event.
-     */
-    void HandleOverridenHighlightDrawing( const TPointerEvent& aPointerEvent,
-    		TInt aIndexBefore, TInt aIndexAfter );
-
-    /**
-     * Ensures that elements are drawn correctly when mirrored layout is
-     * used and scrollbar is visible by shifting ViewRect to the right.
-     * Also disabled background drawing for scrollbar as it would not
-     * be drawn correctly in mirrored layout.
-     */
-    void FixViewForMirroredLayout();
-    
-    /**
-     * Gets the offset margin of scrollbar related to view rectangle.
-     * 
-     * @return The distance from view rect side to scrollbar.
-     */
-    TInt ScrollBarOffset();
-    
-    /**
-     * Redraws the background under the vertical scrollbar in mirrored layout.
-     * 
-     * The reason such method is needed is that view rectangle is shifted
-     * to the right in mirrored layout and does not cover the scrollbar
-     * area. In normal (non-mirrored) mode this method does nothing.
-     */
-    void RedrawScrollbarBackground() const;
-    
-    /**
-     * Does actual handling of scroll events.
-     * 
-     * @param aScrollBar Scrollbar being scrolled.
-     * @param aEventType Type of scrollbar event.
-     */
-    void ProcessScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType );
-    
-    /**
-     * Handles periodic events from @c iRedrawTimer.
-     * Such events are generated at equal time intervals while
-     * the view is being scrolled using the scrollbar.
-     * This function typically calls @c ProcessScrollEventL,
-     * which actually scrolls the view and causes a redraw. 
-     */
-    void HandleRedrawTimerEvent();
-    
-private:
-    /**
-     * Callback function for @c iRedrawTimer.
-     * It simply calls @c HandleRedrawTimerEvent and returns 0.
-     * 
-     * @param aPtr A pointer to CMmGrid object.
-     * @return 0 (always).
-     */
-    static TInt RedrawTimerCallback( TAny* aPtr );
-
-private:
-    /**
-     * Grid model.
-     */            
-    CMmGridModel* iMmModel;
-    
-    /**
-     * Item drawer.
-     */                
-    CMmListBoxItemDrawer* iMmDrawer;
-
-    /**
-     * Marquee adapter.
-     */                
-    CMmMarqueeAdapter* iMarqueeAdapter;
-    
-    /**
-     * Scrollbar visibility flag.
-     */                
-    TBool iScrollbarVisibilityChanged;
-
-    /**
-     * Item index which is current in grid.
-     */            
-    TInt iCurrentItemIndex;
-    
-    /**
-     * Currently top view item index.
-     */            
-    TInt iCurrentTopItemIndex;
-    
-    /**
-     * Layout of grid.
-     */            
-    TSize iViewLayout;
-    
-    /**
-     * A flag that indicates that highlight is visible because
-     * the user is pressing the screen (continuously) and that
-     * highlight should remain visible only as long as the screen
-     * is being pressed.    
-     */
-    TBool iHighlightVisibleUntilButton1Up;
-	
-    /**
-     * Blocks scrollbar drawing. When this flag is set scrollbars components
-     * are blocked in the CountComponentControls() method;   
-     */
-    TBool iDisableChildComponentDrawing;
-    
-    /**
-     * This member is only used in edit mode to store the position of the pointer
-     * during EButton1Down event.
-     */
-    TPoint iButton1DownPos;
-
-    /**
-     * ETrue if the view is being scrolled with the scrollbar.
-     */
-    TBool iScrollbarThumbIsBeingDragged;
-    
-    /**
-     * Stores the number of scrollbar events that were ignored.
-     * It is only used while scrolling the view using scrollbar,
-     * in such situation the scroll events that this object receives
-     * are ignored, and actual scrolling is done only when
-     * iRedrawTimer completes.
-     */
-    TInt iSkippedScrollbarEventsCount;
-    
-    /**
-     * A timer that initiates redraws at certain time intervals.
-     * It is used to refresh the view while scrolling with
-     * the scrollbar.
-     */
-    CPeriodic* iRedrawTimer;
-    };
-
-#endif // C_MMGRID_H
--- a/menufw/menufwui/mmwidgets/inc/mmgridcontainer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmGridContainer declaration
-*  Version     : %version: MM_29.1.14 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMGRIDCONTAINER_H
-#define C_MMGRIDCONTAINER_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include <AknGrid.h>
-#include "mmwidgetcontainer.h"
-#include "hnglobals.h"
-
-class CMmGrid;
-class CMmMarqueeAdapter;
-class CEikColumnListBox;
-class CNaviScrollTimer;
-class CHnSuiteModel;
-class CMmTemplateLibrary;
-class CMmListBoxItemDrawer;
-
-/**
- *  Container for Multimedia Menu grid widget
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v5.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmGridContainer ) : public CMmWidgetContainer
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary template library for Drawer
-     */
-    static CMmGridContainer* NewL( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary template library for Drawer
-     */
-    static CMmGridContainer* NewLC( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v5.0
-     */
-    virtual ~CMmGridContainer();
-
-    /**
-     * Gets grid widget.
-     *
-     * @since S60 v5.0
-     * @return Pointer to grid.
-     */
-    CAknGrid* Grid();
-
-public: // from base class CMmWidgetContainer
-
-    /**
-     * Handle item addition.
-     *
-     * @since S60 v3.0
-     */
-    void HandleItemAdditionL();
-
-    /**
-     * Handle item removal.
-     *
-     * @since S60 v3.0
-     */
-    void HandleItemRemovalL();
-
-    /**
-     * Sets the default highlight in grid.
-     *
-     * @since S60 v5.0
-     * @param aRedraw Is highlight to redraw.
-     */
-    IMPORT_C void SetDefaultHighlightL(  TBool aRedraw = ETrue  );
-
-    /**
-     * Checks if widget is in edit mode state.
-     *
-     * @since S60 v5.0
-     * @param aIsEditMode Is grid in edit mode state.
-     */
-    void SetEditModeL( TBool aIsEditMode );
-
-    /**
-     * Derived from CCoeControl, called when container rectangle size is changed.
-     *
-     * @since S60 v5.0
-     */
-    void SizeChanged();
-
-    /**
-     * Gets grid model.
-     *
-     * @since S60 v5.0
-     * @return Grid model.
-     */
-    CMmListBoxModel* GetMmModel();
-
-    /**
-     * Sets empty text shown when grid is empty.
-     *
-     * @since S60 v5.0
-     * @param aText Text to be shown when grid is empty.
-     */
-    IMPORT_C void SetEmptyTextL( const TDesC& aText );
-
-    /**
-     * Sets item drawer and view background context.
-     *
-     * @since S60 v5.0
-     * @param aBgContext Background context.
-     */
-    void SetItemDrawerAndViewBgContext(
-        CAknsBasicBackgroundControlContext * aBgContext );
-
-    /**
-     * Sets up the grid layout.
-     *
-     * @since S60 v5.0
-     */
-    void SetupWidgetLayoutL();
-
-    /**
-     * Sets suite model.
-     *
-     * @since S60 v5.0
-     * @param aModel Suite model.
-     */
-    void SetSuiteModelL( CHnSuiteModel* aModel );
-
-    /**
-     * Set highlight visibility.
-     *
-     * @since S60 v5.0
-     * @param aVisible Visibility status.
-     */
-    void SetHighlightVisibilityL( TBool aVisible );
-
-    /**
-     * Retrieve type of widget.
-     *
-     * @since S60 v3.0
-     * @return Type of widget.
-     */
-    THnSuiteWidgetType WidgetType();
-
-    /**
-      * Draws the widget view.
-      *
-      * @since S60 v5.0
-      */
-    virtual void DrawView();
-
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     *
-     * @since S60 v5.0
-     */
-    virtual void SetVerticalItemOffset( TInt aOffset );
-
-    /**
-     * Gets the current widget vertical item offset.
-     *
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    virtual TInt VerticalItemOffset() const;
-
-    /**
-     * Tells if item is visible (fully or partially).
-     * Overridden from the base class CMmWidgetContainer in order to
-     * provide a reliable implementation for grid.
-     *
-     * @param aItemIndex Item index.
-     * @return ETrue if visible, EFalse otherwise.
-     */
-    TBool ItemIsVisible( TInt aItemIndex ) const;
-
-private:
-    /**
-     * Default constructor.
-     *
-     * @since S60 v5.0
-     */
-    CMmGridContainer();
-
-    /**
-     * 2nd phase constructor.
-     *
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary template library for Drawer
-     */
-    void ConstructL( const TRect& aRect, MObjectProvider* aObjectProvider,
-        CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Constructs listbox from resource, creates scrollbar and sets empty list background text.
-     *
-     * @since S60 v5.0
-     * @param aTemplateLibrary template library for Drawer
-     * @return Grid model.
-     */
-    CMmGrid* CreateGridL( CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-	 * Gets column count in current view.
-	 * @returns Column count in current view.
-	 */
-    TInt ColumnsInCurrentView();
-
-    /**
-     * Gets row count in current view.
-     * @returns Row count in current view.
-     */
-    TInt RowsInCurrentView();
-
-    /**
-	 * Updates current view's scrollbar thumbs.
-	 */
-    void UpdateViewScrollBarThumbs();
-
-    /**
-     * Calculates offset for default highlight position based on
-     * index of first visible item.
-     *
-     * @returns offset for default highlight
-     */
-    TInt DefaultHighlightOffset();
-
-private: // Data
-
-    /**
-     * Pointer to listbox control.
-     * Own.
-     */
-    CMmGrid* iGrid;
-
-    };
-
-#endif // C_MMGRIDCONTAINER_H
--- a/menufw/menufwui/mmwidgets/inc/mmgridmodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmGridModel declaration
-*  Version     : %version: MM_14 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMGRIDMODEL_H
-#define C_MMGRIDMODEL_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknGridM.h> 
-
-class CMmListBoxModel;
-class CHnSuiteModel;
-
-/**
- *  Multimedia Menu grid model.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmGridModel ) : public CAknGridM
-    {
-public:
-    /**
-     * Two-phased constructor.
-     */
-    static CMmGridModel* NewL();
-    
-    /**
-     * Two-phased constructor.
-     */
-    static CMmGridModel* NewLC();
-    
-    /**
-     * Destructor.
-     * 
-     * @since S60 v3.0
-     */
-    ~CMmGridModel();
-
-
-    /**
-     * Returns the number of grid items in model.
-     *
-     * @since S60 v3.0
-     * @return Number of items in model.
-     */
-    TInt NumberOfItems() const;
-    
-    /**
-     * Returns the Multimedia Menu listbox model.
-     *
-     * @since S60 v3.0
-     * @return Listbox model.
-     */
-    CMmListBoxModel* MmListBoxModel();
-
-private:
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    CMmGridModel();
-
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    void ConstructL();
-	
-    /**
-     * 2nd phase constructor.
-     * Do not delete!!! This constructor does not do anything 
-     * and is overloaded to make sure AVKON sets up the grid only by calling 
-     * ConstructL() without any parameters.
-     * 
-     * @since S60 v5.0 
-     */
-	void ConstructL(MDesCArray* /*aItemTextArray*/, TListBoxModelItemArrayOwnership /*aOwnershipType*/);
-	
-private: // Data
-	
-    /**
-     * The Multimedia Menu Listbox model which is in fact the grid model used.
-     */
-    CMmListBoxModel* iMmListBoxModel;
-
-    };
-
-#endif // C_MMGRIDMODEL_H
--- a/menufw/menufwui/mmwidgets/inc/mmgridview.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmGridView declaration
-*  Version     : %version: MM_24.1.9 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMGRIDVIEW_H
-#define C_MMGRIDVIEW_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknGridView.h> 
-
-/**
- *  Multimedia Menu Grid View.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmGridView ) : public CAknGridView
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v3.0
-     */
-    static CMmGridView* NewL();
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v3.0
-     */
-    static CMmGridView* NewLC();
-
-    /**
-     * Destructor.
-     * 
-     * @since S60 v3.0
-     */
-    virtual ~CMmGridView();
-    
-    /**
-     * Draws the grid within the given clipping rectangle.
-     *
-     * @since S60 v3.0
-     * @param aClipRect Clipping rectangle.
-     */
-	void Draw( const TRect* aClipRect ) const;
-	
-	/**
-     * Gets item position.
-     * 
-     * This fuction from @c CAknGridView is overridden so that it
-     * returns 'mirrored' item positions when mirrored layout is
-     * used. 
-     * 
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @return Item position.
-     */
-    TPoint ItemPos( TInt aItemIndex ) const;
-    
-    /**
-     * Converts an (x, y) pixel position to an item index.
-     * 
-     * This fuction from @c CAknGridView has been overridden in order
-     * to make it work properly when mirrored layout is used.
-     * 
-     * @param aPosition Pixel position in the viewing rectangle.
-     * @param aItemIndex Reference to the item index.
-     * @return Whether there was an item at aPosition.
-     */  
-    TBool XYPosToItemIndex(TPoint aPosition, TInt& aItemIndex) const;
-	
-	/**
-	 * Returns this view's gc.
-	 * 
-	 * @return pointer to gc
-	 */
-	CWindowGc* Gc();
-	
-    /**
-     * @see CAknGridView::UpdateSelectionL
-     * 
-     * This method of CAknGridView is overriden to so that
-     * correct effects are displayed when moving highlight with 
-     * rocker key in mirrored layout.
-     * Please note that it is necessary because of the hackish
-     * solution used to draw items in mirrored layout.
-     */
-    void UpdateSelectionL( TSelectionMode aSelectionMode );
-
-	/**
-	 * @see CAknGridView::MoveCursorL
-	 * 
-	 * This method of CAknGridView is overriden to so that
-	 * correct effects are displayed when moving highlight with 
-	 * rocker key in mirrored layout.
-     * Please note that it is necessary because of the hackish
-     * solution used to draw items in mirrored layout.
-	 */
-    void MoveCursorL( TCursorMovement aCursorMovement,
-            TSelectionMode aSelectionMode );
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    TInt VerticalItemOffset() const;
-    
-	/**
-	* This function sets item height in pixels.
-	* @param aItemHeight New height in pixels for this views items.
-	*/	
-    void SetItemHeight(TInt aItemHeight);
-    
-    /**
-     * Updates various member variables in this grid view and related objects
-     * with item dimensions taken from the template library.
-     */
-    void UpdateItemHeightAndWidth();
-
-private:
-	
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    CMmGridView();
-
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    void ConstructL();
-    
-    /**
-     * Draws the grid within the given clipping rectangle.
-     *
-     * @since S60 v3.0
-     * @param aClipRect Clipping rectangle.
-     */
-    void DoDraw( const TRect* aClipRect ) const;
-    
-    /**
-     * Gets item position.
-     * 
-     * AVKON implementation of ItemPos method does not always work properly.
-     * It fails when:
-     *   aItemIndex < TopItemIndex() - NumberOfColsInView()
-     * Because of that problem this method was created. It is now used in
-     * CMmGridView::ItemPos in place where base class (AVKON) implementation
-     * was used previously.
-     * 
-     * @param aItemIndex Item index.
-     * @return Item position.
-     */
-    TPoint CorrectItemPos( TInt aItemIndex ) const;
-
-private:
-
-    /**
-     * Stores cursor movement flag during CMmGridView::MoveCursorL execution.
-     * 
-     * When CMmGridView::MoveCursorL is not executing this member variable is
-     * always set to ECursorFirstItem. This is part of the hack that allows
-     * for correct effects to be displayed when using rocker key in mirrored
-     * layout.
-     */
-    TCursorMovement iLastCurMove;
-    
-    /**
-     * Stores previosly highlighted item index during CMmGridView::MoveCursorL
-     * execution.
-     * 
-     * When CMmGridView::MoveCursorL is not executing this member variable is
-     * always set to KErrNotFound. This is part of the hack that allows
-     * for correct effects to be displayed when using rocker key in mirrored
-     * layout.
-     */
-    TInt iOldIndex;	
-    };
-
-#endif // C_MMGRIDVIEW_H
--- a/menufw/menufwui/mmwidgets/inc/mmitemsdatacache.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#ifndef MMITEMSDATACACHE_H
-#define MMITEMSDATACACHE_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-
-class CMmCacheForItem;
-
-/**
- * Provides a cache of data needed to draw every item in grid or list view.
- * This class is only used by CMmListBoxItemDrawer.
- */
-NONSHARABLE_CLASS( CMmItemsDataCache ): public CBase
-    {
-public:
-    /**
-     * Creates new CMmItemsDataCache object. 
-     */
-    static CMmItemsDataCache* NewLC();
-    
-    /**
-     * Creates new CMmItemsDataCache object.
-     */
-    static CMmItemsDataCache* NewL();
-    
-    /**
-     * Returns item cache object for an item at specified index.
-     * 
-     * @param aItemIndex Item index
-     * @return Item cache object.
-     */
-    CMmCacheForItem* GetItemCacheL( TInt aItemIndex );
-    
-    /**
-     * Gets an integer identifier of a template of given name.
-     * The identifier is guaranteed to be unique among other
-     * identifiers obtained from this instance of CMmItemsDataCache
-     * object.
-     * Such identifier can be used to perform fast template
-     * comparisons in the CMmListBoxItemDrawer code.
-     * @c TMmSubcellsSetupCode code assumes that the template
-     * identifier will not exceed 255. Assumption will be met unless
-     * there are more that 256 different templates used in one suite
-     * which is extremely unlikely.
-     * 
-     * @param aTemplateName Name of a template.
-     * @return Template identifier based on template name.
-     */
-    TInt GetTemplateIdentifierL( const TDesC8& aTemplateName );
-    
-    /**
-     * Translates a template identifier obtained from @c GetTemplateIdentifierL
-     * into a regular string containing template name.
-     * 
-     * @param aTemplateIdentifier Template identifier from GetTemplateIdentifierL.
-     * @return Template name.
-     */
-    const TDesC8& GetTemplateNameByIdentifier( TInt aTemplateIdentifier ) const;
-    
-    /**
-     * Marks the whole data in cache as outdated so that
-     * it cannot possibly be used until it is updated by
-     * setting up subcells in normal (non-cached) mode.
-     */
-    void Invalidate();
-    
-    /**
-     * Reduces the number of cache entries to given number.
-     * If there are less entries than aItemCount then nothing
-     * is done.
-     * 
-     * @param aItemCount number of items to store cached data for
-     */
-    void Trim( TInt aItemCount );
-    
-    /**
-     * Standard C++ virtual destructor. 
-     */
-    ~CMmItemsDataCache();
-protected:
-    
-    /**
-     * Standard C++ constructor.
-     */
-    CMmItemsDataCache();
-    
-    /**
-     * 2nd phase constructor.
-     */
-    void ConstructL();
-
-protected: // data
-
-    /**
-     * Array of cache objects for individual items.
-     * Own.
-     */
-    RPointerArray<CMmCacheForItem> iItemCacheArr;
-    
-    /**
-     * Array of template names used by @c GetTemplateIdentifierL and
-     * @c GetTemplateNameByIdentifier methods. Template identifiers
-     * that @c GetTemplateIdentifierL returns are in fact indices in
-     * this array.
-     * Own. Contents of the array owned too.
-     */
-    RPointerArray<HBufC8> iTemplateNames;
-
-    };
-
-#endif // MMITEMSDATACACHE_H
--- a/menufw/menufwui/mmwidgets/inc/mmkeyeventobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  receives key pressed notifications
-*
-*/
-
-
-#ifndef M_MMKEYEVENTOBSERVER_H
-#define M_MMKEYEVENTOBSERVER_H
-
-#include <coedef.h>
-
-/**
- *  Interface for handling key events.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v3.0
- */
-class MMmKeyEventObserver
-    {
-public:
-	
-    /**
-     * Called by implementing class to handle incoming key event (e.g. rocker key pressed).
-     *
-     * @since S60 v3.0
-     * @param aKeyEvent The type of key event triggered.
-     * @param aType The Code of the event.
-     * @return Information if the key event has been handled.
-     */
-    virtual TKeyResponse HandleKeyPressedL( const TKeyEvent &aKeyEvent, 
-        TEventCode aType ) = 0; 
-    
-    };
-    
-#endif // M_MMKEYEVENTOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmlctutils.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +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:  
-*
-*/
-
-
-
-#ifndef MMLCTUTILS_H
-#define MMLCTUTILS_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <aknlayoutscalable_uiaccel.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknDef.hrh>
-#include "mmtemplatelibrary.h"
-
-// CLASS DECLARATION
-
-/**
- *  Utilities for LCT scalable layout support in Multimedia Menu.
- * 
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-class MmLCTUtils
-	{
-	
-public:
-
-	/**
-	 * Gets the window component layout for the given layout name and variety.
-	 * 
-	 * @since S60 v3.0
-	 * @param aLayout Name of the layout.
-	 * @param aVariety Variety for the layout.
-	 * @return Window component layout.
-	 */
-	static TAknWindowComponentLayout ItemLayout (const TDesC8& aLayout,
-			TInt aVariety);
-	
-    /**
-     * Gets the text component layout for the given layout name and variety.
-     * 
-     * @since S60 v3.0
-     * @param aLayout Name of the layout.
-     * @param aVariety Variety for the layout.
-     * @return Text component layout.
-     */
-	static TAknTextComponentLayout
-			TextLayout (const TDesC8& aLayout, TInt aVariety);
-	
-    /**
-     * Gets the Window component layout for the given layout name and variety. Used for setting up graphical subcells.
-     * 
-     * @since S60 v3.0
-     * @param aLayout Name of the layout.
-     * @param aVariety Variety for the layout.
-     * @return Window component layout.
-     */
-	static TAknWindowComponentLayout GraphicLayout (const TDesC8& aLayout,
-			TInt aVariety);
-	
-    /**
-     * Sets up template data for text subcell.
-     * 
-     * @since S60 v3.0
-     * @param aItemSize Size of the parent item.
-     * @param aSubCellTemplate Template data to be set.
-     */
-	static void SetupTextSubCellTemplate (TSize aItemSize,
-			TTemplateChild& aSubCellTemplate);
-	
-    /**
-     * Sets up template data for graphic subcell.
-     * 
-     * @since S60 v3.0
-     * @param aItemSize Size of the parent item.
-     * @param aSubCellTemplate Template data to be set.
-     */
-	static void SetupGraphicSubCellTemplate (TSize aItemSize,
-			TTemplateChild& aSubCellTemplate);
-	
-    /**
-     * Calculates the item size using LCT.
-     * 
-     * @since S60 v3.0
-     * @param aLCTTemplate Name of the layout.
-     * @param aVariety Variety for the layout.
-     * @param aParentRect Parent rectangle.
-     * @param aWindowLayout Window component layout to be set.
-     * @return Size of the item calculated by LCT.
-     */
-	static TSize GetLCTSize (const TDesC8& aLCTTemplate, TInt aVariety,
-			const TRect aParentRect, TAknWindowLineLayout& aWindowLayout );
-
-    /**
-     * Calculates the layout size using LCT.
-     * 
-     * @since S60 v3.0
-     * @param aLCTTemplate Name of the layout template.
-     * @param aVariety Variation of the layout.
-     * @return Size of the layout (e.g 3x4) calculated by LCT.
-     */
-	static TSize GetLayoutSize( const TDesC8& aLCTTemplate, TInt aVariety );
-    
-	/**
-     * Gets the structure of parameters for a given layout.
-     * 
-     * @since S60 v3.0
-     * @param aLayout Name of the layout template.
-     * @param aVariety Variation of the layout.
-     * @return 
-     */
-	static TAknLayoutScalableParameterLimits LCTParameterLimits( const TDesC8& aLayout, TInt aVariety );
-	};
-
-#endif // MMLCTUTILS_H
-
--- a/menufw/menufwui/mmwidgets/inc/mmlistbox.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,454 +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:  CMmListBox
-*  Version     : %version: MM_22.1.16 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMLISTBOX_H
-#define C_MMLISTBOX_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <aknlists.h>
-#include <e32cmn.h> 
-
-class CMmListBoxModel;
-class CMmListBoxItemDrawer;
-class CMmMarqueeAdapter;
-class CMmWidgetContainer;
-class CMmTemplateLibrary;
-
-/**
- *  CMmListBox
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBox ) : public CEikFormattedCellListBoxTypedef
-	{
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v3.0
-     * @param aParent Parent control.
-     * @param aFlags Flags.
-     * @param aTemplateLibrary Template library for drawer. 
-     * @return List box.
-     */
-    static CMmListBox* NewL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v3.0
-     * @param aParent Parent control.
-     * @param aFlags Flags.
-     * @param aTemplateLibrary Template library for drawer. 
-     * @return List box.
-     */
-    static CMmListBox* NewLC( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-	
-    /**
-	 * Destructor.
-	 * 
-	 * @since S60 v3.0
-	 */
-	virtual ~CMmListBox();
-   
-	/**
-     * Gets the listbox model.
-     *
-     * @since S60 v3.0
-     * @return Listbox model.
-     */
-    CMmListBoxModel * MmModel(); 
-    
-    /**
-     * Sets the listbox model.
-     *
-     * @since S60 v3.0
-     * @param aMmModel The model to be set.
-     */
-    void SetMmModel( CMmListBoxModel* aMmModel );
-
-   /**
-    * Creates the view class instance.
-    *
-    * @since S60 v3.0
-    * @return Listbox view.
-    */
-   CListBoxView* MakeViewClassInstanceL();
-   
-   /** 
-    * Creates the item drawer for listbox.
-    * 
-    * @param aTemplateLibrary Template library for drawer. 
-    * @since S60 v3.0
-    */
-   void CreateItemDrawerL( CMmTemplateLibrary* aTemplateLibrary );
-   
-   /** 
-    * Sets the flag.
-    * 
-    * @since S60 v3.0
-    * @param aFlag Avkon list flag
-    */
-   void SetListFlag( TInt aFlag );
-   
-   /** 
-    * Clears the flag.
-    * 
-    * @since S60 v3.0
-    * @param aFlag Avkon list flag
-    */
-   void ClearListFlag( TInt aFlag );
-      
-
-public: // from base class CCoeControl.
-
-   /**
-    * From CCoeControl.     
-    * Handles pointer events.
-    * 
-    * @since S60 v3.0
-    * @param aPointerEvent Pointer event.
-    */
-   void HandlePointerEventL( const TPointerEvent& aPointerEvent ); 
-   
-   /**
-    * From base class.
-    *
-    * @since S60 v3.0
-    * @param aKeyEvent Key event.
-    * @param aType Event code.
-    */
-   TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-           TEventCode aType );
-   
-   /**
-    * Adjusts the given rectangle.
-    *
-    * @since S60 v3.0
-    * @param aRect Rectangle to be adjusted.
-    * @return Error code.
-    */
-   TInt AdjustRectHeightToWholeNumberOfItems( TRect& aRect ) const;
-   
-   /**
-    * Sets item drawer and view background context.
-    *
-    * @since S60 v3.0
-    * @param aBgContext Background context.
-    */
-   void SetItemDrawerAndViewBgContext( 
-           CAknsBasicBackgroundControlContext * aBgContext );
- 
-   /**
-    * Updates scrollbar.
-    *
-    * @since S60 v3.0
-    */
-   void UpdateScrollBarsL();
-   
-   /**
-    * Special version of Update scrollbar that never calls DrawNow()
-    */
-   void UpdateScrollBarsNoRedrawL();
-   
-   /**
-    * Checks if all items fit in view rectangle.
-    *
-    * @since S60 v3.0
-    * @return Do all items fit in view rectangle.
-    */
-   TBool AllItemsFitInViewRect();
-   
-   /**
-    * Handles scrollbar visibility change.
-    *
-    * @since S60 v3.0
-    * @return Is redraw needed.
-    */
-   TBool HandleScrollbarVisibilityChangeL();
-   
-   /**
-    * Sets marquee adapter.
-    *
-    * @since S60 v3.0
-    * @param aAdapter Marquee adapter.
-    */
-   void SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter );
-   
-   /**
-    * Notifies that marquee is being drawn.
-    *
-    * @since S60 v3.0
-    * @param aIsMarqueeBeingDrawn Is marquee being drawn.
-    */
-   void SetMarqueeDrawing( TBool aIsMarqueeBeingDrawn );
-   
-   /**
-    * Handles item removal. redraws view, updates scrollbar.
-    *
-    * @since S60 v3.0
-    */
-   void HandleItemRemovalL();
-   
-   /**
-    * Redraws items in view if it is necessary.
-    *
-    * @since S60 v3.0
-    * @param aPreviousCurrent Previously current item index.
-    * @param aCurrent Current item index.
-    * 
-    * @return true if anything was drawn.
-    */
-	TBool RedrawIfNecessary( TInt aPreviousCurrent, TInt aCurrent );
-	
-	/**
-	 * Overridden from base class to allow for drawing scrollbar
-	 * background in mirrored layout.
-	 * 
-	 * @param aRect clipping rect
-	 */
-	void Draw(const TRect& aRect) const;
-	
-	/**
-     * Draws the listbox view.
-     *
-     * @since S60 v5.0
-     */
-	void DrawView();
-    
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     * 
-     * @since S60 v5.0
-     */
-    void SetVerticalItemOffset( TInt aOffset );
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    TInt VerticalItemOffset() const;
-    
-    /**
-     * Simply sets the item height members in widget and view.
-     */
-    void SetItemHeight( TInt aItemHeight );
-    
-    /**
-     * Updates scrollbar thumbs.
-     */
-    void UpdateScrollBarThumbs();
-    
-    /**
-     * Counts the number of component controls which this component owns.
-     */ 
-    TInt CountComponentControls() const;
-    
-    /**
-     * Disables/enables child component (scrollbar) drawing.
-     */
-    void SetDisableChildComponentDrawing( TBool aDisable );
-    
-    /**
-     * Handles scrolling event.
-     *
-     * @since S60 v3.0
-     * @param aScrollBar Scrollbar being scrolled.
-     * @param aEventType Type of scrollbar event.
-     */
-    void HandleScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType );
-    
-private:
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0
-     */
-	CMmListBox();
-	
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v3.0
-     * @param aParent Parent control.
-     * @param aFlags Flags.
-     * @param aTemplateLibrary Template library for drawer. 
-     */
-	void ConstructL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Handles pointer events when edit mode is enabled.
-     * 
-     * This method is only called during edit mode. It selectively passes
-     * only some of the pointer events to CAknGrid::HandlePointerEventL
-     * in order to disable flicking and panning.
-     * 
-     * @param aPointerEvent pointer event
-     */
-    void HandlePointerEventInEditModeL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Scrolls the view if pointer is close to the top/bottom edge.
-     * 
-     * This method is used only when edit mode is active. In a way it
-     * brings back the focus based scrolling behavior that was present
-     * in CAknGrid before ODE scrolling was introduced.
-     */
-    void HandleScrollingInEditMode( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Checks if pointer position is within the scroll-triggering area.
-     * 
-     * @param aPointerEvent pointer event
-     * @return true if pointer above the top scrolling threshold.
-     */
-    TBool IsPointerInTopScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const;
-
-    /**
-     * Checks if pointer position is within the scroll-triggering area.
-     * 
-     * @param aPointerEvent pointer event
-     * @return true if pointer below the bottom scrolling threshold.
-     */
-    TBool IsPointerInBottomScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const;
-    
-    /**
-     * Scrolls the view if the pointer is near top/bottom edge of the screen.
-     * 
-     * Assumes that current item index is the index of the item under the
-     * pointer. The time value returned is based on the distance of the pointer
-     * from the top/bottom edge of the grid view (this makes the scrolling speed
-     * dependent of how close the pointer is to the edge).
-     * If there is no need to continue scrolling because the beginning/end of
-     * the list has already been reached, 0 is returned.
-     * 
-     * @param aPointerEvent pointer event
-     * @return time to wait before calling this method again (in microseconds)
-     *         or 0 if already at the beginning/end of the list
-     */
-    TInt ScrollIfNeeded( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Ensures that elements are drawn correctly when mirrored layout is
-     * used and scrollbar is visible by shifting ViewRect to the right.
-     */
-    void FixViewForMirroredLayout();
-    
-    /**
-     * Redraws the background under the vertical scrollbar in mirrored layout.
-     * 
-     * The reason such method is needed is that view rectangle is shifted
-     * to the right in mirrored layout and does not cover the scrollbar
-     * area. In normal (non-mirrored) mode this method does nothing.
-     */
-    void RedrawScrollbarBackground() const;
-    
-    /**
-     * Does actual handling of scroll events.
-     * 
-     * @param aScrollBar Scrollbar being scrolled.
-     * @param aEventType Type of scrollbar event.
-     */
-    void ProcessScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType );
-    
-    /**
-     * Handles periodic events from @c iRedrawTimer.
-     * Such events are generated at equal time intervals while
-     * the view is being scrolled using the scrollbar.
-     * This function typically calls @c ProcessScrollEventL,
-     * which actually scrolls the view and causes a redraw. 
-     */
-    void HandleRedrawTimerEvent();
-    
-private:
-    /**
-     * Callback function for @c iRedrawTimer.
-     * It simply calls @c HandleRedrawTimerEvent and returns 0.
-     * 
-     * @param aPtr A pointer to CMmListBox object.
-     * @return 0 (always).
-     */
-    static TInt RedrawTimerCallback( TAny* aPtr );
-    
-private: // Data
-    /**
-     * Item drawer.
-     */
-    CMmListBoxItemDrawer* iMmDrawer;
-    
-    /**
-     * Multimedia Menu model.
-     */
-	CMmListBoxModel* iMmModel;
-
-    /**
-     * marquee adapter.
-     */
-	CMmMarqueeAdapter* iMarqueeAdapter;
-
-    /**
-     * Blocks scrollbar drawing. When this flag is set scrollbars components
-     * are blocked in the CountComponentControls() method;   
-     */
-	TBool iDisableChildComponentDrawing;
-	
-	/**
-     * This member is only used in edit mode to store the position of the pointer
-     * during EButton1Down event.
-     */
-    TPoint iButton1DownPos;
-    
-    /**
-     * ETrue if the view is being scrolled with the scrollbar.
-     */
-    TBool iScrollbarThumbIsBeingDragged;
-    
-    /**
-     * Stores the number of scrollbar events that were ignored.
-     * It is only used while scrolling the view using scrollbar,
-     * in such situation the scroll events that this object receives
-     * are ignored, and actual scrolling is done only when
-     * iRedrawTimer completes.
-     */
-    TInt iSkippedScrollbarEventsCount;
-    
-    /**
-     * A timer that initiates redraws at certain time intervals.
-     * It is used to refresh the view while scrolling with
-     * the scrollbar.
-     */
-    CPeriodic* iRedrawTimer;
-	};
-	
-#endif // MMLISTBOX_H
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxcontainer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,260 +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:  CMmListBoxContainer
-*  Version     : %version: MM_21.1.10 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMLISTBOXCONTAINER_H
-#define C_MMLISTBOXCONTAINER_H
-
-#include <eiklbo.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-
-#include "mmwidgetcontainer.h"
-#include "mmwidgetsconstants.h"
-#include "hnglobals.h"
-
-class CMmListBox;
-class CMmMarqueeAdapter;
-class CEikColumnListBox;
-class CNaviScrollTimer;
-class CHnSuiteModel;
-class CMmTemplateLibrary;
-
-/**
- *  Container for Multimedia Menu listbox widget.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v5.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBoxContainer ) : public CMmWidgetContainer
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary Template library for drawer. 
-     */
-    static CMmListBoxContainer* NewL( const TRect& aRect, 
-        MObjectProvider* aObjectProvider, 
-        CMmTemplateLibrary* aTemplateLibrary );    
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary Template library for drawer. 
-     */
-    static CMmListBoxContainer* NewLC( const TRect& aRect, 
-        MObjectProvider* aObjectProvider,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CMmListBoxContainer();
-    
-public: // from base class CMmWidgetContainer    
-    
-    /**
-     * Handle item addition.
-     * 
-     * @since S60 v3.0
-     */
-    void HandleItemAdditionL();
-    	
-    /**
-     * Handle item removal.
-     * 
-     * @since S60 v3.0
-     */
-    void HandleItemRemovalL(); 
-    
-    /**
-     * Set the default highlight in listbox.
-     *
-     * @since S60 v5.0
-     * @param aRedraw Is highlight to redraw.
-     */
-    IMPORT_C void SetDefaultHighlightL( TBool aRedraw = ETrue );
-    
-    /**
-     * Called to set widget in edit mode state.
-     *
-     * @since S60 v5.0
-     * @param aIsEditMode Is edit mode to be set.
-     */
-    void SetEditModeL( TBool aIsEditMode );
-            
-    /**
-     * Gets the listbox model.
-     *
-     * @since S60 v5.0
-     * @return listbox model
-     */
-    CMmListBoxModel* GetMmModel();
-    	
-    /**
-     * Sets the empty text for empty list.
-     *
-     * @since S60 v5.0
-     * @param aText Text to be set when list is empty.
-     */
-    IMPORT_C void SetEmptyTextL(const TDesC& aText);
-    
-    /**
-     * Set background context for item drawer and view.
-     *
-     * @since S60 v5.0
-     * @param aBgContext Background context.
-     */
-    void SetItemDrawerAndViewBgContext(
-        CAknsBasicBackgroundControlContext * aBgContext );
-   
-    /**
-     * Sets up the layout for the widget.
-     *
-     * @since S60 v5.0
-     */
-    void SetupWidgetLayoutL();
-    
-    /**
-     * Sets suite model.
-     * 
-     * @since S60 v5.0
-     * @param aModel Suite model.
-     */
-    void SetSuiteModelL( CHnSuiteModel* aModel );
-    
-    /**
-     * Set highlight visibility.
-     * 
-     * @since S60 v5.0
-     * @param aVisible Visibility status. 
-     */
-    void SetHighlightVisibilityL( TBool aVisible );
-    
-    /**
-     * Gets widget type.
-     * 
-     * @since S60 v5.0
-     * @return Widget type. 
-     */
-    THnSuiteWidgetType WidgetType();
-
-public:
-    /**
-      * Draws the widget view.
-      *
-      * @since S60 v5.0
-      */
-    virtual void DrawView();
-    
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     * 
-     * @since S60 v5.0
-     */
-    virtual void SetVerticalItemOffset( TInt aOffset );
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    virtual TInt VerticalItemOffset() const;
-    
-protected: // from CMmWidgetContainer
-    
-    /**
-     * Checks whether given point collides with specific item's re-order area.
-     * 
-     * Please see @c CMmWidgetContainer::PointInItemReorderAreaL documentation
-     * for details.
-     * 
-     * @since S60 v5.0
-     */
-    TBool PointInItemReorderAreaL( TInt aItemIndex, TPoint aPoint );
-    
-private: 
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v5.0 
-     */
-    CMmListBoxContainer();    
-
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v5.0 
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary Template library for drawer. 
-     */
-    void ConstructL( const TRect& aRect, MObjectProvider* aObjectProvider,
-        CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Constructs listbox from resource, creates scrollbar 
-     * and sets empty list background text.
-     *
-     * @since S60 v5.0
-     * @param aTemplateLibrary Template library for drawer. 
-     * @return List box widget.
-     */
-    CMmListBox* CreateListboxL( CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-	 * Gets column count in current view.
-	 * @returns Column count in current view.
-	 */
-    TInt ColumnsInCurrentView();
-    
-    /**
-     * Gets row count in current view.
-     * @returns Row count in current view.
-     */
-    TInt RowsInCurrentView();
-    
-    /**
-   	 * Updates current view's scrollbar thumbs.
- 	 */
-    void UpdateViewScrollBarThumbs();
-
-private: // members
-    /**
-     * Pointer to listbox widget.
-     * Owned.
-     */
-    CMmListBox* iListBox;
-    
-    };
-
-#endif //__MMLISTBOXCONTAINER_H__
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxitemdrawer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,934 +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:  CMmListBoxItemDrawer
-*  Version     : %version: MM_38.1.15 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMLISTBOXITEMDRAWER_H
-#define C_MMLISTBOXITEMDRAWER_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <eikfrlbd.h>
-#include <AknDef.hrh>
-#include "mmwidgetsconstants.h"
-#include "mmtemplatelibrary.h"
-#include "hniconholder.h"
-#include "mmsubcellssetupcode.h"
-
-class CMmListBoxModel;
-class TMmFloatingItem;
-class CMmMarqueeAdapter;
-class CMmDrawerAnimator;
-class CMmPostEvaluationProcessor;
-class CMmItemsDataCache;
-
-/**
- * Used to draw items in widgets. The item drawer is used both by grid
- * and listbox. Data is used to draw subcells. The subcell templates are fetched
- * from the template library and set to data to be drawn.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBoxItemDrawer ):
-    public CFormattedCellListBoxItemDrawer
-    {
-
-    friend class CMmPostEvaluationProcessor;
-
-public:
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.0
-     * @param aMmListBoxModel The listbox model.
-     * @param aFont Font.
-     * @param aFormattedCellData Cell data.
-     * @param aWidgetType Widget type.
-     */
-	static CMmListBoxItemDrawer* NewL(
-	        CMmListBoxModel* aMmListBoxModel,
-		    const CFont* aFont,
-		    CFormattedCellListBoxData* aFormattedCellData,
-		    TMmWidgetType aWidgetType,
-		    CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.0
-     * @param aMmListBoxModel The listbox model.
-     * @param aFont Font.
-     * @param aFormattedCellData Cell data.
-     * @param aWidgetType Widget type.
-     */
-	static CMmListBoxItemDrawer* NewLC(
-	        CMmListBoxModel* aMmListBoxModel,
-		    const CFont* aFont,
-		    CFormattedCellListBoxData* aFormattedCellData,
-		    TMmWidgetType aWidgetType,
-		    CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.0
-     */
-    ~CMmListBoxItemDrawer();
-    
-    /**
-     * Enables/disables cached data use.
-     * 
-     * When aEnable is true:
-     * Enables the use of cached data when drawing items.
-     * This significantly improves performance.
-     * Do not ever try to use this feature in edit mode.
-     * 
-     * When aEnable is false:
-     * Restores the normal mode where data needed for drawing
-     * items is retrieved from the model and the cached data
-     * is updated with the information retrieved from the model
-     * 
-     * @param aEnable Self-explanatory.
-     */
-    void EnableCachedDataUse( TBool aEnable );
-    
-    /**
-     * Returns ETrue if item drawer is using cached data.
-     * To start/stop using cached data, use the @c EnableCachedDataUse
-     * method.
-     * 
-     * @return ETrue if cached data is used, EFalse otherwise.
-     */
-    TBool CachedDataUseIsEnabled() const;
-    
-    /**
-     * This method should be called whenever items(s) are removed
-     * in order to remove corresponding entries in the local
-     * items data cache.
-     * 
-     * @param aItemCount current item count
-     */
-    void TrimCacheSize( TInt aItemCount );
-    
-    /**
-     * Invalidates the cached data for all items.
-     */
-    void InvalidateCache();
-
-    /**
-     * Get the height of the given item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index for which height is calculated.
-     * @param aItemIsCurrent Is item the current widget item.
-     * @return Item height.
-     */
-    TInt GetItemHeight( TInt aItemIndex, TBool aItemIsCurrent ) const;
-
-    /**
-     * Gets size of given item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @param aItemIsCurrent Is item the current widget item.
-     * @return Size of item.
-     */
-    TSize GetItemSize( TInt aItemIndex, TBool aItemIsCurrent ) const;
-    
-    /**
-     * Gets rect of indicator.
-     *
-     * @since S60 v3.0
-     * @return Rect of indicator.
-     */
-    TRect GetIndicatorRect() const;
-
-    /**
-     * Setx draggable state
-     *
-     * @since S60 v3.0
-     * @param aDraggable Is draggable.
-     */
-    void SetDraggableL( TBool aDraggable );
-
-    /**
-     * Sets item which is dragged.
-     *
-     * @since S60 v3.0
-     * @param aDraggedItemIndex Dragged item index.
-     * @param aPoint Dragged point.
-     */
-    void SetDraggedIndexL( TInt aDraggedItemIndex, TPoint aPoint );
-
-    /**
-     * Sets item which is dragged.
-     *
-     * @since S60 v3.0
-     * @param aCenterPoint Center point of dragged item.
-     */
-    void SetDraggedPointL( TPoint aCenterPoint );
-
-    /**
-     * Reveales if is possible to drag.
-     *
-     * @since S60 5.0
-     * @return Is draggable.
-     */
-    TBool IsDraggable() const;
-
-    /**
-     * Sets associated widget.
-     *
-     * @since S60 5.0
-     * @param aView Widget to associated with this drawer.
-     */
-    void SetView( CEikListBox* aView );
-
-    /**
-     * Get associated widget.
-     *
-     * @since S60 5.0
-     * @return Widget associated with this drawer.
-     */
-    CEikListBox* Widget() const;
-
-    /**
-     * Gets template library.
-     *
-     * @since S60 5.0
-     * @return Return iTemplateLibrary.
-     */
-    CMmTemplateLibrary* TemplateLibrary();
-
-    /**
-     * Sets the background context.
-     *
-     * @since S60 5.0
-     * @param aBgContext Background context.
-     */
-	void SetBgContext(
-			CAknsBasicBackgroundControlContext* aBgContext );
-
-    /**
-     * Sets condition if background should be redrawn.
-     *
-     * @since S60 v3.0
-     * @param aRedraw Should background be redrawn.
-     */
-    void SetRedrawItemBackground( TBool aRedraw );
-
-    /**
-     * Checks if item background redrawing is enabled.
-     *
-     * @since S60 v3.0
-     * @return Is background redrawing enabled.
-     */
-    TBool IsRedrawItemBackgroundEnabled() const;
-
-    /**
-     * Draws empty item ( no subcells ).
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @param aItemRectPos Item rectangle position.
-     * @param aViewIsDimmed Is view dimmed.
-     */
-    void DrawEmptyItem( TInt aItemIndex,
-            TPoint aItemRectPos,  TBool aViewIsDimmed ) const;
-
-    /**
-     * Sets edit mode condition.
-     *
-     * @since S60 v3.0
-     * @param aIsEditMode Is edit mode.
-     */
-    void SetEditModeL( TBool aIsEditMode );
-
-    /**
-     * Checks if edit mode is running.
-     *
-     * @since S60 v3.0
-     * @return Is edit mode running.
-     */
-    TBool IsEditMode() const;
-
-    /**
-     * Animates dragged item transition.
-     *
-     * @since S60 v3.0
-     */
-    void AnimateDragItemTransitionL( );
-
-    /**
-     * Animates swapping of items.
-     *
-     * @since S60 v3.0
-     * @param aItemFrom Start item position (index).
-     * @param aItemTo End item position (index).
-     */
-    void AnimateItemSwapL( TInt aItemFrom, TInt aItemTo );
-
-    /**
-     * Animate item zoom in.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index of item to be zoomed in.
-     */
-    void AnimateItemZoomInL( TInt aItemIndex );
-
-    /**
-     * Animate item zoom out.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index of zoomed item.
-     */
-    void AnimateItemZoomOutL( TInt aItemIndex );
-
-    /**
-     * Checks if item drawer is ready to run new animation.
-     *
-     * @since S60 v3.0
-     * @return Is drawer ready to run animation.
-     */
-    CMmDrawerAnimator* GetAnimator();
-
-    /**
-     * Draws floating items.
-     *
-     * @since S60 v3.0
-     * @param aCurrentlyDrawnRect Currently drawn item rectangle.
-     */
-    void DrawFloatingItems( TRect aCurrentlyDrawnRect );
-
-    /**
-     * Gets floating item index.
-     *
-     * @since S60 v3.0
-     * @param aType Floating item type.
-     * @return Floating item index.
-     */
-    TInt GetFloatingItemIndex( TMmFloatingItemType aType ) const;
-
-    /**
-     * Gets floating item.
-     *
-     * @since S60 v3.0
-     * @param aType Floating item type.
-     * @return Floating item.
-     */
-    TMmFloatingItem& GetFloatingItemL( TMmFloatingItemType aType );
-
-    /**
-     * Gets number of floating items.
-     *
-     * @since S60 5.0
-     * @param aType Floating item type.
-     * @return Number of floating items.
-     */
-    TInt GetValidFloatingItemCount( TMmFloatingItemType aType );
-
-    /**
-     * Gets floating items count.
-     *
-     * @since S60 5.0
-     * @return Number of the floating items in the array.
-     */
-    TInt GetFloatingItemCount();
-
-    /**
-     * Adds floating item to the floating item array.
-     *
-     * @since S60 5.0
-     * @param aFloatingItem Floating item to be added.
-     * @param aPosition Position to add at.
-     */
-    void AddFloatingItemL( TMmFloatingItem& aFloatingItem,
-            TInt aPosition = KErrNotFound );
-
-    /**
-     * Removes floating item.
-     *
-     * @since S60 5.0
-     * @param aPosition Floating item index to be removed.
-     */
-    void RemoveFloatingItem( TInt aPosition );
-    
-    /**
-     * Removes all floating items.
-     *
-     * @since S60 5.0
-     */
-    void RemoveFloatingItems();
-    
-    /**
-     * Gets floating item at particular index in the
-     * floating item array.
-     *
-     * @since S60 5.0
-     * @param aIndex Index of the floating item in the array.
-     * @return Floating item.
-     */
-    TMmFloatingItem& GetFloatingItemAtIndex( TInt aIndex );
-
-    /**
-     * Used to set scrollbar visibility flag.
-     *
-     * @since S60 v3.0
-     * @param aIsScrollbarVisible Is scrollbar visible.
-     */
-    void SetScrollbarVisibilityL( TBool aIsScrollbarVisible );
-
-    /**
-     * Replaces subcell text.
-     *
-     * @since S60 v3.0
-     * @param aText Text which will replace previous text.
-     */
-    void ReplaceSubCellText( const TDesC& aText );
-
-    /**
-     * Adds subcell marquee element.
-     *
-     * @since S60 v3.0
-     * @param aSubCellTemplate Subcell template data.
-     * @param aIndex Subcell index.
-     * @param aItemIndex Item index.
-     */
-    void AddSubcellMarqueeElementL( TTemplateChild aSubCellTemplate,
-            TInt aIndex, TInt aItemIndex );
-
-    /**
-     * Sets the marquee adapter.
-     *
-     * @since S60 v3.0
-     * @param aAdapter Marquee adapter.
-     */
-    void SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter );
-
-    /**
-     * Sets the flag which tells that marquee is currently being drawn.
-     *
-     * @since S60 v3.0
-     * @param aIsMarqueeBeingDrawn Is marquee being drawn.
-     */
-    void SetMarqueeDrawing( TBool aIsMarqueeBeingDrawn );
-
-    /**
-     * Checks if text is clipped.
-     *
-     * @since S60 v3.0
-     * @param aTemplateChild Subcell template data.
-     * @param aText Text to be clipped.
-     * @return Is text clipped.
-     */
-    TBool IsTextClippedL( TTemplateChild aTemplateChild,
-            const TDesC& aText ) const;
-
-    /**
-     * Sets the flag which tells that a scrollbar event is running.
-     *
-     * @since S60 v3.0
-     * @param aIsRunning Is scrollbar event running.
-     */
-	void SetScrollbarEventRunning( TBool aIsRunning );
-
-    /**
-     * Sets number of columns in view.
-     *
-     * @since S60 v3.0
-     * @param aNumberOfColumns Number of columns in view.
-     */
-	void SetNumberOfColsInView( TInt aNumberOfColumns );
-
-	/**
-	 * Used in non-touch edit mode to block drawing of move indicators and highlight
-	 * to clean screen for animation.
-	 *
-	 * @since S60 v3.0
-	 * @param aDrawn Should highlight and move indicators be drawn.
-	 */
-	void SetHighlightShown( TBool aDrawn );
-
-protected:
-    /**
-     * From CListItemDrawer. Draws an item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index to be drawn.
-     * @param aItemRectPos Item rectangle position.
-     * @param aItemIsSelected Is item selected.
-     * @param aItemIsCurrent Is item current.
-     * @param aViewIsEmphasized Is view emphasized.
-     * @param aViewIsDimmed Is view dimmed.
-     */
-    void DrawItem( TInt aItemIndex, TPoint aItemRectPos,
-                   TBool aItemIsSelected, TBool aItemIsCurrent,
-                   TBool aViewIsEmphasized, TBool aViewIsDimmed ) const;
-
-    /**
-     * Draws item according to format text.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index to be drawn.
-     * @param aItemTextRect Item rectangle.
-     * @param aItemIsCurrent Is item current.
-     * @param aViewIsEmphasized Is view emphasized.
-     * @param aItemIsSelected Is item selected.
-     */
-    void DrawItemText( TInt aItemIndex, const TRect& aItemTextRect,
-    		TBool aItemIsCurrent, TBool aViewIsEmphasized,
-    		TBool aItemIsSelected ) const;
-    /**
-     * Draws the actual item contents for the specified item in the specified 
-     * rectangle.
-     *
-     * @param aItemIndex Index of the item to draw. 
-     * @param aActualItemRect Area to draw into. 
-     * @param aItemIsCurrent @c ETrue if the item is current. 
-     * @param aViewIsEmphasized @c ETrue if the view is emphasised. 
-     * @param aViewIsDimmed Ignored
-     * @param aItemIsSelected @c ETrue if the item is selected.
-     */
-    void DrawActualItem(TInt aItemIndex, const TRect& aActualItemRect,
-			TBool aItemIsCurrent, TBool aViewIsEmphasized, TBool aViewIsDimmed,
-			TBool aItemIsSelected) const;
-    /**
-     * Draws background and separator lines.
-     *
-     * @since S60 v3.0
-     * @param aItemTextRect Item rectangle.
-     */
-    void DrawBackgroundAndSeparatorLines( const TRect& aItemTextRect ) const;
-
-    /**
-     * Sets up item currently drawn item subcells.
-     * Also, fills-in/updates the cache information for the item at index
-     * aItemIndex.
-     *
-     * @since S60 v3.0
-     * @param aItemIsCurrent Is item the current item in widget.
-     * @param aItemIndex Item index.
-     */
-    void SetupSubCellsL( TBool aItemIsCurrent, TInt aItemIndex ) const;
-
-    /**
-     * Sets up subcell to be drawn by listbox data.
-     *
-     * @since S60 v3.0
-     * @param aSubCellTemplate Subcell template data.
-     * @param aIndex Subcell index.
-     * @param aItemIndex Item index.
-     */
-    void SetupSubCellL( TTemplateChild aSubCellTemplate, TInt aIndex,
-            TInt aItemIndex ) const;
-
-    /**
-     * Sets up "null" subcell to be avoided when drawing.
-     *
-     * @since S60 v3.0
-     * @param aIndex Subcell index.
-     * @param aItemIndex Item index.
-     */
-    void SetupSubNoCellL( TInt aIndex, TInt aItemIndex ) const;
-
-    /**
-     * Sets up icon for dragged subcell.
-     *
-     * @since S60 v3.0
-     * @param aSubCellTemplate Subcell template data.
-     * @param aIndex Subcell index.
-     * @param aItemIndex Index of dragged item.
-     */
-    void SetupSubIcondDragHighlightCellL( TTemplateChild aSubCellTemplate,
-            TInt aIndex, TInt aItemIndex ) const;
-
-    /**
-     * Adjusts rectangle of item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item's index which adjust rectangle.
-     * @return Index of item which rectangle should be adjusted.
-     */
-    TRect AdjustItemRect( TInt aItemIndex ) const;
-
-    /**
-     * Draws the move indicator over the indicated item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index with move indicator.
-     * @param aActualItemRect The actual rectangle of indicator item.
-     */
-    void DrawActualIndicatorItem( TInt aItemIndex, TRect aActualItemRect );
-
-    /**
-     * Sets up colors for subcell data.
-     *
-     * @since S60 v3.0
-     * @return Colors for subcell drawing.
-     */
-    CFormattedCellListBoxData::TColors SetupColors( TBool aDragged = EFalse ) const;
-
-private:
-
-    /**
-     * Default constructor.
-     *
-     * @since S60 v3.0
-     * @param  aMmListBoxModel List box model.
-     * @param  aFont Font needed by base constructor.
-     * @param  aFormattedCellData Used to format subcell data in item drawer.
-     * @param  aWidgetType Type of widgte (list/grid).
-     * @param  aTemplateLibrary TemplateLibrary contains items sizes.
-     */
-    CMmListBoxItemDrawer( CMmListBoxModel* aMmListBoxModel,
-            const CFont* aFont,
-            CFormattedCellListBoxData* aFormattedCellData,
-            TMmWidgetType aWidgetType, CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * 2nd phase constructor.
-     *
-     * @since S60 v3.0
-     */
-    void ConstructL();
-
-    /**
-     *Draws the item text according to the format defined by a text string.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index to be drawn.
-     * @param aItemTextRect Item rectangle.
-     * @param aItemIsCurrent Is item current.
-     * @param aViewIsEmphasized Is view emphasized.
-     * @param aItemIsSelected Is item selected.
-     */
-    void DoDrawItemTextL( TInt aItemIndex, const TRect& aItemTextRect,
-        TBool aItemIsCurrent, TBool aViewIsEmphasized,
-        TBool aItemIsSelected ) const;
-
-    /**
-     * Draws an item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index to be drawn.
-     * @param aItemRectPos Position of item rectangle.
-     * @param aItemIsSelected Is item selected.
-     * @param aItemIsCurrent Is item current.
-     * @param aViewIsEmphasized Is view emphasized.
-     * @param aViewIsDimmed Is view dimmed.
-     */
-    void DoDrawItem(TInt aItemIndex, TPoint aItemRectPos,
-        TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized,
-        TBool aViewIsDimmed) const;
-
-    /**
-     * Sets up backdrop image subcell.
-     *
-     * @since S60 v3.0
-     * @param aTemplateChildArray Array of subcell children where the backdrop subcell template is appended.
-     * @param aItemIndex Index of currently drawn item.
-     * @param aItemText Text used to format item subcell content.
-     * @param aSubcellIncrement Is incremented if backdrop subcell template is appended.
-     */
-    void SetupBackdropSubcellL(
-    		RArray<TTemplateChild>& aTemplateChildArray, TInt aItemIndex,
-            RBuf& aItemText, TInt& aSubcellIncrement ) const;
-
-    /**
-     * Sets up icon image subcell.
-     *
-     * @since S60 v3.0
-     * @param aTemplateChildArray Array of subcell children where the backdrop subcell template is appended.
-     * @param aChildIndex Index of a template child.
-     * @param aItemIndex Index of currently drawn item.
-     * @param aItemText Text used to format item subcell content.
-     * @param aSubcellIncrement Is incremented if backdrop subcell template is appended.
-     */
-    void SetupIconSubcellL(
-    		RArray<TTemplateChild>& aTemplateChildArray, TInt aChildIndex, TInt aItemIndex,
-    		RBuf& aItemText, TInt& aSubcellIncrement ) const;
-    
-    /**
-     * Determines whether a bitmap of given size needs scaling to be displayed
-     * in a rectangular area of some given target size.
-     * 
-     * This method assumes that the bitmap will always be scaled with aspect
-     * ratio preserved. A bitmap does not need scaling if its size meets either
-     * of the two conditions:
-     * 1. bitmap width is nearly the same* as target area width and bitmap height
-     *    is not greater than target height
-     * 2. bitmap width is not greater that target width and bitmap height is
-     *    nearly the same* as target height.
-     * * nearly the same means that it is exactly the same or differs by at most
-     * 1 pixel.
-     * Please note that a bitmap which is too small (i.e. neither its width or its
-     * height is close to the target width/height) will be regarded as one that
-     * needs scaling. 
-     * 
-     * @param aBmpSize size of the bitmap
-     * @param aTargetSize size of the area where bitmap will be displayed
-     * @return ETrue if bitmap does not need scaling
-     */
-    TBool BitmapFitsIntoTarget( TSize aBmpSize, TSize aTargetSize ) const;
-
-    /**
-     * Sets up icon text subcell.
-     *
-     * @since S60 v3.0
-     * @param aTemplateChildArray Array of subcell children where the backdrop subcell template is appended.
-     * @param aItemIndex Index of currently drawn item.
-     * @param aItemText Text used to format item subcell content.
-     * @param aSubcellIncrement Is incremented if backdrop subcell template is appended.
-     * @param aChildIndex Index of a template child.
-     */
-    void SetupTextSubcellL(
-    		RArray<TTemplateChild>& aTemplateChildArray, TInt aChildIndex, TInt aItemIndex,
-    		RBuf& aItemText, TInt& aSubcellIncrement ) const;
-
-    /**
-     * Appends text if there is enough free memory.
-     *
-     * @since S60 v3.0
-     * @param aBuffer Buffer to which the text will be added
-     * @param aTextToAppend Text to add
-     */
-    void AppendText( RBuf& aBuffer, const TDesC& aTextToAppend ) const;
-
-    /**
-     * Returns true if an item having an index equal to aItemIndex is a
-     * floating and dragged item.
-     *
-     * @param aItemIndex An index of a currently drawn item.
-     * @return ETrue if an item is floating and dragged.
-     */
-    TBool IsFloating( TInt aItemIndex ) const;
-
-    /**
-     * Returns highlight visibility.
-     *
-     * @param aItemIndex An index of a currently drawn item.
-     * @param aItemIsCurrent Is aItemIndex the current item index.
-     * @param aAllowHighlightForNonDraggedItem Should highlight be shown 
-     * 	(set in case when effects are used).
-     * @return ETrue if highlight is drawn for the actually drawn item.
-     */
-    TBool GetHighlightVisibility(  TInt aItemIndex, 
-    		TBool aItemIsCurrent, TBool aAllowHighlightForNonDraggedItem  ) const;
-    
-    /**
-     * Returns backdrop visibility.
-     *
-     * @param aItemIndex An index of a currently drawn item.
-     * @param aItemIsCurrent Is aItemIndex the current item index.
-     * @return ETrue if backdrop is visible for the currently drawn item.
-     */
-    TBool GetBackdropVisibility( TInt aItemIndex, TBool aItemIsCurrent ) const;
-
-    /**
-     * Checks if item has specified floating type.
-     *
-     * @param aItemIndex Item index.
-     * @param aFloatingType Floating type to check on the item.
-     * @return ETrue if the item is of the given floating type.
-     */
-    TBool ItemHasFloatingType( TInt aItemIndex, TMmFloatingItemType aFloatingType) const;
-
-public:
-    /**
-     * Animator used by drawer to animate item transitions.
-     * Own
-     */
-    CMmDrawerAnimator* iAnimator;
-
-private: // Data
-    /**
-     * Listbox model.
-     * Not own.
-     */
-    CMmListBoxModel* iMmModel;
-
-    /**
-     * Font.
-     */
-    const CFont * iFont;
-
-    /**
-     * Drawer owner widget type (list/grid).
-     */
-    TMmWidgetType iWidgetType;
-
-    /**
-     * Is draggable flag.
-     */
-    TBool iDraggable;
-
-    /**
-     * Widget.
-     */
-    CEikListBox* iWidget;
-
-    /**
-     * Background context.
-     * Not own.
-     */
-    CAknsBasicBackgroundControlContext * iBgContext;
-
-    /**
-     * Redraw background flag.
-     */
-    TBool iRedrawBackground;
-
-    /**
-     * Ratio of zooming animation.
-     */
-    TReal iIconAnimationZoomRatio;
-
-    /**
-     * Zommed item index.
-     */
-    TInt iZoomIconIndex;
-
-    /**
-     * Is edit mode flag.
-     */
-    TBool iIsEditMode;
-
-    /**
-     * Array of floating items.
-     */
-    RArray<TMmFloatingItem> iFloatingItems;
-
-    /**
-     * Just draw backdrop flag.
-     */
-    TBool iLeftOverAreaUnderAnimatedItem;
-
-    /**
-     * Is drawn item an indicator item.
-     */
-    TBool iIsIndicatorItem;
-
-    /**
-     * Marquee adapter.
-     */
-    CMmMarqueeAdapter* iMarqueeAdapter;
-
-    /**
-     * Subcell item text.
-     */
-    HBufC* iSubcellText;
-
-    /**
-     * Is marquee being drawn flag;
-     */
-    TBool iIsMarqueeBeingDrawn;
-
-    /**
-     * Number of columns in widget.
-     */
-    TInt iNumberOfColsInWidget;
-
-    /**
-     * Original mask of the dragged item.
-     * Not own.
-     */
-    CFbsBitmap* iOriginalMask;
-
-    /**
-     * Gul Icon of the item dragged.
-     * Not own.
-     */
-    CGulIcon* iGulDragged;
-
-    /**
-     * Temporary mask of the dragged item.
-     * Not own.
-     */
-    CFbsBitmap* iDragMask;
-
-    /**
-     * Indicates id original gul had external bitmaps.
-     */
-    TBool iExternalBitamp;
-
-    /**
-     * Indicates if highlight should be shown.
-     */
-    TBool iHighlightShown;
-
-    /**
-     * Indicates if move indicators should be drawn.
-     */
-    TBool iDrawMoveIndicators;
-
-    /**
-     * Template library. Stores template attributes.
-     * Not own.
-     */
-    CMmTemplateLibrary* iTemplateLibrary;
-    
-    /**
-     * Storage for cached items data. The data is updated during normal operation
-     * and used when iUseCache is ETrue.
-     * Own.
-     */
-    CMmItemsDataCache* iItemsDataCache;
-
-    /**
-     * This flag tells whether to rely on cached data (when possible) or
-     * to obtain data from the model normally. It should be set to ETrue
-     * when drawing performance is critical (e.g. during flick).
-     */
-    TBool iUseCache;
-
-    /**
-     * Stores information on the last used subcells configuration.
-     * Such information is needed to determine whether it is necessary to
-     * setup subcells before drawing a particular item or is it possible
-     * to skip this step because the subcells are already set properly.  
-     */
-    mutable TMmSubcellsSetupCode iLastSubcellsSetupCode;
-
-    /**
-     * Set to ETrue if item has backdrop.
-     */
-    mutable TBool iItemHasBackdrop;
-    
-    /**
-     * Number of subcells in iData.
-     */
-    mutable TInt iCurrentNumberOfSubcellsSet;
-    
-    /**
-     * A structure that stores color information needed to draw an item.
-     */
-    mutable CFormattedCellListBoxData::TColors iColors;
-    
-    /**
-     * ETrue if the item that was last drawn was a floating item.
-     */
-    mutable TBool iLastDrawnItemWasFloating;
-
-	};
-
-#endif // MMLISTBOXITEMDRAWER_H
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxmodel.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +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:  CMmListBoxItemModel
-*  Version     : %version: MM_18.1.4 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMLISTBOXMODEL_H
-#define C_MMLISTBOXMODEL_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <gulicon.h>
-#include <AknUtils.h>
-#include "hnsuiteobserver.h"
-
-class CHnSuiteModel;
-class CHnAttributeBase;
-class CHnAttributeImage;
-class CHnIconHolder;
-
-/**
- *  Multimedia Menu listbox model
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBoxModel ):
-    public CAknFilteredTextListBoxModel,
-    public MHnSuiteObserver
-	{
-public:
-	// Constructors and destructor
-
-	/**
-	 * Destructor.
-	 */
-	~CMmListBoxModel();
-
-	/**
-	 * Two-phased constructor.
-	 */
-	static CMmListBoxModel* NewL( );
-
-	/**
-	 * Two-phased constructor.
-	 */
-	static CMmListBoxModel* NewLC( );
-	
-	/**
-	 * Gets the text attribute for a specific item by the name of the attribute.
-	 * 
-	 * @since S60 v3.0
-	 * @param aIndex The index of the item for which the text is requested.
-	 * @param aAttributeName The name of the text attribute to be returned.
-	 * @return Size of item.
-	 */
-	const TDesC8& GetAttributeAsText( TInt aIndex, const TDesC8 & aAttributeName );
-    
-    /**
-     * Gets the graphical attribute for a specific item by the name of the attribute.
-     * The attribute is returned as an icon holder. Please see @c CHnIconHolder for
-     * infomation on what icon holder is and what
-     * it is useful for.
-     * 
-     * @param aIndex The index of the item for which the graphic is requested.
-     * @param aAttributeName The name of the graphical attribute to be returned.
-     * @param aDesiredIconSize The desired icon size. 
-     * @return An icon holder object.
-     */
-    CHnIconHolder* GetAttributeAsRefCountedGraphics( TInt aIndex,
-            const TDesC8& aAttributeName, TSize* aDesiredIconSize = NULL );
-	
-	/**
-	 * Sets the suite model. This method is used by matrix menu application when suite is loaded.
-	 * 
-	 * @since S60 v3.0
-	 * @param aSuiteModel The suite model to be set.
-	 */ 
-	void SetSuiteModelL( CHnSuiteModel * aSuiteModel );	
-	
-	/**
-	 * Gets the suite model of the currently visible suite.
-	 * 
-	 * @since S60 v3.0
-	 * @return The current suite model.
-	 */
-	CHnSuiteModel* GetSuiteModel(); 
-	
-	/**
-	 * Reorders the model when item positions are edited in edit mode.
-	 * 
-	 * @since S60 v3.0
-	 * @param aFromIndex The starting index of items to be shifted.
-	 * @param aToIndex The end index of items to be shifted.
-	 */
-	void ReorderModelL(TInt aFromIndex, TInt aToIndex);
-	
-	/**
-	 * Handle event triggered by suite.
-	 * 
-	 * @since S60 v3.0
-	 * @param aCustomSuiteEvent Type of suite event.
-	 * @param aModel The suite model that the event concerns.
-	 */
-    void HandleSuiteEventL( THnCustomSuiteEvent aCustomSuiteEvent, 
-            CHnSuiteModel* aModel );
-    
-    /**
-     * Determines the number of item-specific menu items for given item.
-     * 
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @return Number of item-specific menu items.
-     */
-    TInt GetNumberOfSpecificMenuItemsL( TInt aItemIndex );
-    
-private:
-
-	/**
-	 * Gets the attribute by name.
-	 * 
-	 * @since S60 v3.0
-	 * @param aIndex The index of the item for which the attribute is requested.
-	 * @param aAttributeName The name of the requested attribute.
-	 * @return Size of item.
-	 */
-    CHnAttributeBase* GetAttribute( TInt aIndex, const TDesC8 & aAttributeName );
-	
-	/**
-	 * Updates the item text array when model is reordered or new model is loaded.
-	 * It is important that the number of elements in the array is the same
-	 * as number of items in the suite.
-	 * 
-	 * @since S60 v3.0
-	 */
-    void UpdateDummyArrayDataL();  
-
-	
-    /**
-	 * Constructor for performing 1st stage construction
-	 */
-	CMmListBoxModel( );
-
-	/**
-	 * Default symbian 2nd stage constructor.
-	 */
-	void ConstructL();
-
-
-private:
-    
-    /**
-     * Not own. Suite model being the container for the data.
-     */
-    CHnSuiteModel* iSuiteModel;
-    
-	};
-
-#endif // CMMLISTBOXMODEL_H
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxview.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +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:  
-*  Version     : %version: MM_12.1.6 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef MMLISTBOXVIEW_H
-#define MMLISTBOXVIEW_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <eikfrlb.h> 
-
-// CLASS DECLARATION
-
-/**
- *  Multimedia Menu Listbox view.
- *  
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBoxView ) : public CFormattedCellListBoxView 
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CMmListBoxView();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CMmListBoxView* NewL();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CMmListBoxView* NewLC();
-	
-	/**
-	 * Calculate the bottom item index.
-	 * 
-	 * @since S60 v3.0
-	 */
-    void CalcBottomItemIndex();
-	
-	/**
-	 * Draw the view.
-	 * 
-	 * @since S60 v3.0
-	 * @param clipRect Clipping rectangle.
-	 */
-    void Draw(const TRect* clipRect) const;
-    
-	/**
-	 * Draws the listbox within the given clipping rect.
-	 * 
-	 * @since S60 v3.0
-	 * @param clipRect Clipping rectangle.
-	 */
-    void DoDraw(const TRect* aClipRect) const;
-    
-	/**
-	 * Draw item in view. It is possible that it
-	 * calls drawing of more than one item.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item index.
-	 */
-    void DrawItem(TInt aItemIndex) const;
-    
-	/**
-	 * Draw a single item in view.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item index.
-	 */
-    void DrawSingleItem (TInt aItemIndex) const;
-    
-	/**
-	 * Get the number of items that fit in rectangle.
-	 * 
-	 * @since S60 v3.0
-	 * @param aRect Clipping rectangle.
-	 * @return Number of items that fit in rectangle.
-	 */
-    TInt NumberOfItemsThatFitInRect(const TRect& aRect) const;
-	
-	/**
-	 * Get the number of items that fit in rectangle (with option to include
-	 * partial item at bottom of view).
-	 * 
-	 * @since S60 v3.0
-	 * @param aRect Rect for calculations.
-	 * @param aIncludePartialItem Should partial item be included.
-	 * @return Number of items that fit in rectangle.
-	 */
-    TInt GetNumberOfItemsThatFitInRect (const TRect& aRect, TBool aIncludePartialItem ) const;
-	
-	/**
-	 * Get item size.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item index.
-	 * @return Size of item.
-	 */
-    TSize ItemSize(TInt aItemIndex) const;
-	
-	/**
-	 * Sets aItemIndex to the index of the item whose bounding box contains aPosition.
-	 * 
-	 * @since S60 v3.0
-	 * @param aPosition Item position.
-	 * @param aItemIndex Item index.
-	 * @return Was item found.
-	 */
-    TBool XYPosToItemIndex(TPoint aPosition, TInt& aItemIndex) const;
-    
-	/**
-	 * Gets item position.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item index.
-	 * @return Item position.
-	 */
-    TPoint ItemPos(TInt aItemIndex) const;
-	
-	/**
-	 * Sets item height.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemHeight Item height.
-	 */
-    void SetItemHeight(TInt aItemHeight);
-	
-	/**
-	 * Calculates new top item index so item is visible.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item to be visible.
-	 * @return New top item index.
-	 */
-    TInt CalcNewTopItemIndexSoItemIsVisible(TInt aItemIndex) const;
-	
-	/**
-	 * Draw background between rects.
-	 * 
-	 * @since S60 v3.0
-	 * @param aUsedPortionOfViewRect Inner rect.
-	 * @param aSmallerViewRect Outer rect.
-	 */
-    void RedrawBackground( TRect aUsedPortionOfViewRect, TRect aSmallerViewRect) const;
-	
-	/**
-	 * Draws background in list which is not covered by vivible items.
-	 * 
-	 * @since S60 v3.0
-	 */
-    void RedrawBackground() const;
-	
-	/**
-	 * Gets total height of items within range.
-	 * 
-	 * @since S60 v3.0
-	 * @param aStartIndex Start item index.
-	 * @param aEndIndex End item index.
-	 * @return Total height of items starting from aStartIndex, ending with aEndIndex.
-	 */
-    TInt GetTotalHeight( TInt aStartIndex, TInt aEndIndex ) const;
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    TInt VerticalItemOffset() const;
-    
-    /**
-     * Overridden to allow for disabling this method in certain situations.
-     * 
-     * @param aItemIndex Item index.
-     */
-    TBool ScrollToMakeItemVisible(TInt aItemIndex);
-
-    /**
-     * Disables ScrollToMakeItemVisible.
-     * When disabled, ScrollToMakeItemVisible does nothing.
-     * 
-     * @param aDisable Self-explanatory.
-     */
-    void DisableScrollToItem( TBool aDisable );
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction.
-     */
-    CMmListBoxView();
-
-    /**
-     * Default symbian 2nd stage constructor.
-     */
-    void ConstructL();
-
-	/**
-	 * Updates average item height.
-	 * 
-	 * @since S60 v3.0
-	 */
-   	void UpdateAverageItemHeight();
-
-	/**
-	 * Gets last item index depending on height.
-	 * 
-	 * @since S60 v3.0
-	 * @param aStartIndex Start item index.
-	 * @param aHeight Height of area.
-	 * @return Last item index.
-	 */
-    TInt GetLastIndexInHeight( const TInt aStartIndex, TInt aHeight ) const;
-    
-	/**
-	 * Sets the previously drawn current item index.
-	 * 
-	 * @since S60 v3.0
-	 * @param aIndex Current Item index.
-	 */
-    void SetPreviouslyDrawnCurrentItemIndex( TBool aIndex );
-    
-private:
-
-	/**
-	 * Scrollbar visibility flag.
-	 */
-	TBool iScrollbarIsVisible;
-	
-	/**
-	 * iCurrentItemIndex
-	 */
-	TInt iPreviouslyDrawnCurrentItemIndex;
-	
-	/**
-	 * When ETrue, disables ScrollToMakeItemVisible method.
-	 */
-	TBool iScrollToItemDisabled;
-    };
-
-#endif // MMLISTBOXVIEW_H
--- a/menufw/menufwui/mmwidgets/inc/mmlongtapobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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:  receives key pressed notifications
-*
-*/
-
-
-#ifndef M_MMLONGTAPOBSERVER_H
-#define M_MMLONGTAPOBSERVER_H
-
-#include <coedef.h>
-
-/**
- *  Interface for handling long tap events.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v3.0
- */
-class MMmLongTapObserver
-    {
-public:
-	
-    virtual void HandleLongTapEventL( const TPoint& aPenEventLocation ) = 0; 
-    
-    };
-    
-#endif // M_MMLONGTAPOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmmarqueeadapter.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +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:  Constants for the matrixmenu
-*  Version     : %version: 22 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-
-#ifndef MMMARQUEEADAPTER_H
-#define MMMARQUEEADAPTER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <AknMarqueeControl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <eiklbx.h>
-
-// CLASS DECLARATION
-/**
- *  Used by Multimedia Menu to display marquee 
- * 
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmMarqueeAdapter ) : public CBase
-	{
-
-
-private: 
-	/**
- 	*  Used to keep currently drawn marquee element
- 	*  @code
- 	*  @endcode
- 	*  @lib mmwidgets
- 	*  @since S60 v3.0
- 	*  @ingroup group_mmwidgets
- 	*/
-    NONSHARABLE_CLASS( CMmMarqueeElement ) : public CBase
-		{
-		
-		friend class CMmMarqueeAdapter;
-		
-		// No implementation required
-		public:
-		
-	    /**
-	     * Constructor
-	     * 
-	     * @since S60 v3.0
-	     * @param aElementRect The rect to draw marquee
-	     * @param aAlign Align of text
-	     * @param aFont Font
-	     * @param aColor Color
-	     * @param aIndex Item subcell index
-	     * @param aBaselineOffset Baseline offset
-	     */
-		CMmMarqueeElement (
-				TRect aElementRect,
-				CGraphicsContext::TTextAlign aAlign,
-				TAknLogicalFontId aFont,
-				TRgb aColor, 
-				TInt aIndex,
-				TInt aBaselineOffset );
-
-	    /**
-	     * Destructor
-	     * 
-	     * @since S60 v3.0
-	     */
-		~CMmMarqueeElement ();
-	
-	    /**
-	     * Two-phased constructor.
-	     * 
-	     * @since S60 v3.0	     
-	     * @param aElementRect The rect to draw marquee.
-	     * @param aAlign Align of text.
-	     * @param aText Text do be drawn.
-	     * @param aFontId Font's id.
-	     * @param aColor Color.
-	     * @param aIndex Item subcell index.
-	     * @param aBaselineOffset Baseline offset.
-	     */
-		static CMmMarqueeElement* NewL (
-				TRect aElementRect,
-				CGraphicsContext::TTextAlign aAlign,
-				const TDesC& aText,
-				TAknLogicalFontId aFontId,
-				TRgb aColor, 
-				TInt aIndex,
-				TInt aBaselineOffset );
-
-	    
-	    /**
-	     * Setup marquee scroll data
-	     * 
-	     * @since S60 v3.0
-	     * @param aLoops Number of loops to be drawn
-	     * @param aScrollAmount Scroll amount 
-	     * @param aScrollDelay Scroll delay
-	     */
-		void SetupMarqueeControlL(
-				TInt aLoops,
-				TInt aScrollAmount,
-				TInt aScrollDelay );
-	
-		
-	private:
-    
-	    /**
-	     * ConstructL construct marquee element
-	     * 
-	     * @since S60 v3.0
-	     * @param aText Text for element
-	     */
-		void ConstructL ( const TDesC& aText );
-		
-	private:
-    
-		    /**
-		     * Element rectangle ( according to item rect )
-		     */
-			TRect iElementRect;
-	        
-	        /**
-	         * Align of text
-	         */
-			CGraphicsContext::TTextAlign iAlign;
-	        
-	        /**
-	         * LCT layouts map
-	         * Own
-	         */
-			HBufC* iText; 
-	        
-	        /**
-	         * Font 
-	         */
-			TAknLogicalFontId iFont;
-	        
-	        /**
-	         * Color
-	         */
-			TRgb iColor;
-	        
-	        /**
-	         * Loops to be drawn
-	         */
-			TInt iLoops; // default 1
-	        
-	        /**
-	         * Scroll amount
-	         */
-			TInt iScrollAmount; // default 6
-	        
-	        /**
-	         * Scroll delay
-	         */
-			TInt iScrollDelay; // default 1000000
-	        
-	        /**
-	         * Marquee control
-	         * Own
-	         */
-			CAknMarqueeControl* iMarqueeControl;
-	        
-	        /**
-	         * Subcell index of marquee element
-	         */
-			TInt iSubcellIndex;
-	        
-	        /**
-	         * Baseline offset
-	         */
-			TInt iBaselineOffset;
-				};
-public:
-	// Constructors and destructor
-	
-	/**
-	 * Destructor.
-	 */
-	~CMmMarqueeAdapter ();
-	
-	/**
-	 * Two-phased constructor.
-	 */
-	static CMmMarqueeAdapter* NewL ();
-	
-	/**
-	 * Two-phased constructor.
-	 */
-	static CMmMarqueeAdapter* NewLC ();
-
-private:
-
-	/**
-	 * Constructor for performing 1st stage construction
-	 */
-	CMmMarqueeAdapter ();
-	
-	/**
-	 * Default symbian 2nd stage constructor.
-	 */
-	void ConstructL ();
-
-
-public:
-	
-	/**
-	 * Adds marquee element to be drawn
-	 * 
-	 * @since S60 v3.0
-	 * @param aRect Rectangle where marquee is drawn
-	 * @param aText Marquee text
-	 * @param aFont Font
-	 * @param aColor Color
-	 * @param aAlign Align of text
-	 * @param aIndex Subcell index
-	 * @param aBaselineOffset Baseline offset
-	 * @param aCurrentlyDrawnItemIndex Currently drawn item index
-	 */
-	void AddMarqueeElementL (const TRect& aRect, const TDesC& aText,
-		TAknLogicalFontId aFont, TRgb aColor,
-		CGraphicsContext::TTextAlign aAlign, TInt aIndex, TInt aBaselineOffset, TInt aCurrentlyDrawnItemIndex);
-	
-	/**
-	 * Enables marquee
-	 * 
-	 * @since S60 v3.0
-	 * @param aEnable Enable/disable marquee
-	 */
-	void EnableMarquee( TBool aEnable );
-	
-	/**
-	 * Draws marquee text. is called every time marque is scrolled
-	 * 
-	 * @since S60 v3.0
-	 * @param aGc Window graphics context.
-	 */
-	void DrawMarqueeL(CWindowGc & aGc);
-	
-	/**
-	 * Stops marquee drawing 
-	 * 
-	 * @since S60 v3.0
-	 */
-	void StopMarqueeDrawing(TInt aIndex = -1);
-		
-	/**
-	 * Set listbox where marquee is drawn
-	 * 
-	 * @since S60 v3.0
-	 * @param aControl Listbox
-	 */
-	void SetControl( CEikListBox * aControl );
-	
-	/**
-	 * Reveales if subcell marquee element already exists
-	 * 
-	 * @since S60 v3.0
-	 * @param aIndex Item subcell index
-	 * @return Does element exist in marquee adapter marquee elements array
-	 */
-	TBool SubcellMarqueeElementExists( TInt aIndex );
-	
-	/**
-	 * Removes marquee elements from marquee adapter
-	 * 
-	 * @since S60 v3.0
-	 * @param aSubcellIndex Item subcell index
-	 */
-	void RemoveSubcellMarqueeElement(TInt aSubcellIndex);
-	
-	/**
-	 * Checks if marquee is enabled.
-	 * 
-	 * @return ETrue if marquee enabled, EFalse otherwise. 
-	 */
-    TBool IsMarqueeEnabled() const;
-
-private:
-
-	/**
-	 * Called when marquee scroll increments
-	 * 
-	 * @since S60 v3.0
-	 * @param aControl Listbox where marquee is drawn 
-	 * @return Was marqueee drawing successful
-	 */
-	static TInt RedrawEvent(TAny* aControl);
-
-private: //members
-
-	/**
-	 * Array of marquee element
-	 */
-	RPointerArray< CMmMarqueeElement > iMarqueeElements;
-
-    /**
-     * Is marquee enabled
-     */
-	TBool iMarqueeEnabled;
-    
-    /**
-     * Listbox where marquee is drawn 
-     * Not own
-     */
-	CEikListBox* iListbox;
-    
-    /**
-     * Currently drawn item index
-     */
-	TInt iCurrentMarqueeItemIndex;
-	};
-	
-#endif // MMMARQUEEADAPTER_H
--- a/menufw/menufwui/mmwidgets/inc/mmpostevaluationprocessor.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmPostEvaluationProcessor declaration
-* Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMPOSTEVALUATIONPROCESSOR_H
-#define C_MMPOSTEVALUATIONPROCESSOR_H
-
-#include <e32base.h>
-#include <e32std.h>
-
-class CMmListBoxItemDrawer;
-
-/**
- *  Used to performa additional post evaluation operations connected with
- *  the ui, and preparation of a suite display from the mmwidgets side.
- *  All the operation are performed in an active object, since they
- *  are not time crucial, and are performed to adjust performance:
- *  such as preloading suite icons that are not visible in the current view.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v5.0
- *  @see CListBoxItemDrawer
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmPostEvaluationProcessor ) : public CActive
-    {
-    
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aDrawer Item drawer used to draw item.
-     */
-    static CMmPostEvaluationProcessor* NewL( CMmListBoxItemDrawer& aDrawer );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aDrawer Item drawer used to draw item.
-     */
-    static CMmPostEvaluationProcessor* NewLC( CMmListBoxItemDrawer& aDrawer );
-    
-    /**
-     * Destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CMmPostEvaluationProcessor();
-
-    /**
-     * Starts at predefiend index.
-     *
-     * @param aIndex Starts processing at index.
-     * @since S60 v3.0
-     */
-    void StartAt( TInt aIndex = 0 );
-        
-private:
-	
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0
-     * @param aDrawer Object used to draw items in widgets.
-     */
-    CMmPostEvaluationProcessor( CMmListBoxItemDrawer& aDrawer );
-    
-    /**
-     * 2nd phase constructor.
-     *
-     * @since S60 v3.0 
-     */
-    void ConstructL();
-    
-    
-
-private: // From CActive
-
-    /**
-     * Draws next animation phase.
-     *
-     * @since S60 v3.0
-     */
-    void RunL();
-
-    /**
-     * Cancels animation timer. Stops animation.
-     *
-     * @since S60 v3.0
-     */
-    void DoCancel();
-
-    /**
-     * Handles error if error an error occured.
-     *
-     * @since S60 v3.0
-     * @param aError Error code which occurred.
-     * @return Error code for error handling.
-     */
-    TInt RunError( TInt aError );
-
-private: // Data
-	
-    /**
-    * Drawer to use for preload.
-	 
-    */
-    CMmListBoxItemDrawer & iDrawer;
-	
-    /**
-     * Index to be processed in next RunL.
-     
-    */
-    TInt iIndexToProcess;
-	
-    };
-
-#endif // MMDRAWERANIMATOR_H
--- a/menufw/menufwui/mmwidgets/inc/mmsubcellssetupcode.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#ifndef MMSUBCELLSSETUPCODE_H
-#define MMSUBCELLSSETUPCODE_H
-
-#include <e32def.h>
-
-const TInt KNumberOfBitsToStoreSubcellType = 3;
-const TInt KNumberOfBitsToStoreTemplateId = 8;
-const TInt KNumberOfBitsToStoreIsCurrentInfo = 1;
-
-/**
- * The purpose of this class is to provide a very fast way
- * of determining whether two particular ways of setting up
- * subcells are compatible (compatible == the same).
- * 
- * It is important that the methods of this class are used
- * in a fixed order:
- * 1. (Optional) Clear() - only needed if this object was
- *    used before.
- * 2. AddSubcellInfo() - for every subcell being set up
- *    and in the same order.
- * 3. AddTemplateInfo
- * 4. AddIsCurrentInfo
- * It is currently possible to store information about up to 21
- * subcells (type of iCode is TUint64 and single subcell info
- * takes 3 bits). It can be easily proven that CMmListBoxItemDrawer
- * will never try to store more than
- * (2 * MmTemplateContants::KSubCellsCount) subcell infos
- * (2 * 6 = 12; 12 <= 21, so everything is fine).
- * Default assignment operator and copy constructor are ok
- * for this class.
- */
-NONSHARABLE_CLASS( TMmSubcellsSetupCode )
-    {
-public:
-    /**
-     * Values of this enum must be low enough to be stored in
-     * just KNumberOfBitsToStoreSubcellType bits (currently the
-     * maximum value allowed is 7).
-     */
-    enum TSubcellType
-        {
-        ENoSubcell = 0,
-        EGraphicsSubcell = 1,
-        ETextSubcell = 2,
-        EBackdropSubcell = 3,
-        ESkippedSubcell = 4
-        };
-public:
-    /**
-     * Standard C++ constructor.
-     */
-    inline TMmSubcellsSetupCode();
-    /**
-     * Adds the information about what type of subcell was just
-     * set up.
-     * @param aSubcellType Subcell type (any value defined in the
-     *        TSubcellType enum).
-     */
-    inline void AddSubcellInfo( TSubcellType aSubcellType );
-    /**
-     * Adds information about the template used.
-     * 
-     * @param aTemplateIdentifier Template idetifier obtained from
-     *        CMmItemsDataCache::GetTemplateIdentifierL().
-     */
-    inline void AddTemplateInfo( TInt aTemplateIdentifier );
-    /**
-     * Adds information whether subcells setup was made for a
-     * highlighted item.
-     */
-    inline void AddIsCurrentInfo( TBool aIsCurrent );
-    /**
-     * Clears all the information stored in this object so that
-     * it can be-reused.
-     */
-    inline void Clear();
-    /**
-     * Comparison operator ==.
-     * @param aOther object to compare with this object.
-     * @return ETrue if objects equal.
-     */
-    inline TBool operator==( const TMmSubcellsSetupCode aOther ) const;
-    /**
-     * Comparison operator !=.
-     * @param aOther object to compare with this object.
-     * @return ETrue if objects differ.
-     */
-    inline TBool operator!=( const TMmSubcellsSetupCode aOther ) const;
-
-protected: // data
-    /**
-     * The subcells setup code.
-     */
-    TUint64 iCode;
-    };
-
-#include "mmsubcellssetupcode.inl"
-
-#endif // MMSUBCELLSSETUPCODE_H 
--- a/menufw/menufwui/mmwidgets/inc/mmsubcellssetupcode.inl	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "mmwidgetsconstants.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TMmSubcellsSetupCode::TMmSubcellsSetupCode()
-    : iCode( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void TMmSubcellsSetupCode::AddSubcellInfo( TSubcellType aSubcellType )
-    {
-    // 8 == 2 ^ KNumberOfBitsToStoreSubcellType
-    __ASSERT_DEBUG( aSubcellType < 8, User::Invariant() );
-    
-    iCode <<= KNumberOfBitsToStoreSubcellType;
-    iCode |= aSubcellType;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void TMmSubcellsSetupCode::AddTemplateInfo( TInt aTemplateIdentifier )
-    {
-    // 256 == 2 ^ KNumberOfBitsToStoreTemplateId
-    __ASSERT_DEBUG( aTemplateIdentifier < 256, User::Invariant() );
-    
-    iCode <<= KNumberOfBitsToStoreTemplateId;
-    iCode |= aTemplateIdentifier;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void TMmSubcellsSetupCode::AddIsCurrentInfo( TBool aIsCurrent )
-    {
-    iCode <<= KNumberOfBitsToStoreIsCurrentInfo;
-    // remember that TBool is in fact an integer
-    iCode |= ( aIsCurrent ? 1 : 0 );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void TMmSubcellsSetupCode::Clear()
-    {
-    iCode = 0;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TBool TMmSubcellsSetupCode::operator==(
-        const TMmSubcellsSetupCode aOther ) const
-    {
-    return iCode == aOther.iCode;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TBool TMmSubcellsSetupCode::operator!=(
-        const TMmSubcellsSetupCode aOther ) const
-    {
-    return iCode != aOther.iCode;
-    }
--- a/menufw/menufwui/mmwidgets/inc/mmtemplatelibrary.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,574 +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:
-*  Version     : %version: MM_24.1.9 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef MMTEMPLATELIBRARY_H
-#define MMTEMPLATELIBRARY_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <e32hashtab.h> //RHashMap
-#include <avkon.hrh>
-#include <xmlengdom.h>
-#include <gdi.h>
-#include <eiksbfrm.h>
-#include <AknLayout2Def.h>
-#include "mmwidgetsconstants.h"
-#include <AknDef.hrh>
-
-// default templates
-// grid
-_LIT8( KDefaultGridLogicalTemplate, "logical_template_3" );
-// list
-_LIT8( KDefaultListLogicalTemplate, "list_single_hc_apps_pane" );
-
-
-// STRUCT DECLARATION
-
-/**
- *  Struct used to store template child data
- *
- * @since S60 v5.0
- * @ingroup group_mmwidgets
- */
-class TTemplateChild
-    {
-
-public:
-
-    /**
-     * Rectangle of subcell according to position in item.
-     */
-    TRect iRectAccordingToParent;
-
-    /**
-     * Data type represented by the subcell.
-     */
-    TBufC8<64> iData;
-
-    /**
-     * The LCT template used to calculate the subcell position.
-     */
-    TBufC8<64> iLct;
-
-    /**
-     * The variety for the lct template.
-     */
-    TInt iVariety;
-
-    /**
-     * Depicts if the subcell is an image or text.
-     */
-    TBool iIsImage;
-
-    /**
-     * The font id used for displaying text.
-     */
-    TAknLogicalFontId iFontId;
-
-    /**
-     * The type of align for the text.
-     */
-    CGraphicsContext::TTextAlign  iTextAlign;
-
-    /**
-     * The additional Id for a subcell element used to differentiate it
-     * from others. e.g the backdrop image has a different visual id
-     * since it is displayed only in edit mode.
-     */
-    TImageVisualId iImageVisualId;
-
-    /**
-     * The type of horizontal align for the icon.
-     */
-    TManualAlign iHAlign;
-
-    };
-
-// CLASS DECLARATION
-
-/**
- *  Used by Multimedia Menu to load template data.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmTemplateLibrary ) : public CBase
-	{
-public:
-	// Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CMmTemplateLibrary();
-
-	/**
-	 * Two-phased constructor.
-	 */
-	IMPORT_C static CMmTemplateLibrary* NewL();
-
-	/**
-     * Two-phased constructor.
-     */
-	IMPORT_C static CMmTemplateLibrary* NewLC();
-
-private:
-
-	/**
-	 * Constructor for performing 1st stage construction.
-	 */
-	CMmTemplateLibrary();
-
-	/**
-	 * Default symbian 2nd stage constructor.
-	 */
-	void ConstructL();
-
-public:
-
-	/**
-	 * Gets the size of template item according to highlight and orientation.
-	 *
-	 * @since S60 v3.0
-	 * @param aWidgetType The widget type.
-	 * @param aTemplate The current template for the item.
-	 * @param aLandscapeOrientation Is view in landscape orientation.
-	 * @param aHighlighted Is item highlighted.
-	 * @param aParentRect The bounding rect in which the item is drawn.
-	 *
-	 * @return size of item
-	 */
-	TSize GetSize( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation = 0, TBool aHighlighted = 0,
-			TRect aParentRect = TRect() );
-
-    /**
-     * Gets the size of template.
-     *
-     * @since S60 v3.0
-     * @param aItemSize Item size to be set.
-     * @param aWidgetType The widget type.
-	 * @param aTemplate The current template for the item.
-	 * @param aLandscapeOrientation Is view in landscape orientation.
-	 * @param aHighlighted Is item highlighted.
-	 * @param aParentRect The bounding rect in which the item is drawn.
-	 *
-     * @return error code
-     */
-	TInt GetSize(  TSize& aItemSize, TMmWidgetType aWidgetType,
-	        const TDesC8& aTemplate, TBool aLandscapeOrientation,
-	        TBool aHighlighted , TRect aParentRect = TRect() );
-
-    /**
-     * Get array of templates for subcells ( item children ).
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aArray The array of subcell children to be set.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     * @param aIsEditMode Is in edit mode.
-     *
-     */
-	void GetChildrenL( TMmWidgetType aWidgetType,
-			RArray< TTemplateChild >& aArray, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation = 0, TBool aHighlighted = 0, TBool aIsEditMode = 0 );
-
-    /**
-     * Get the layout size ( Grid ) e.g. 3x4
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     *
-     * @return the size of the layout.
-     */
-	TSize GetLayoutSizeL( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation );
-
-    /**
-     * Get rect of move indicator according to item (as reference position).
-     * The rect is relevant to the item in point (0,0).
-     * e.g for item size 20x360 the rect can be (-5,-5):(365,25).
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     *
-     * @return rect of move indicator area.
-     */
-	TRect GetMoveIndicatorRect( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation, TBool aHighlighted );
-
-    /**
-     * Get children templates for move indicator.
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aArray Array of children templates.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     *
-     */
-	void GetMoveIndicatorChildrenL( TMmWidgetType aWidgetType,
-			RArray< TTemplateChild >& aArray, const TDesC8& aTemplate, TBool aLandscapeOrientation, TBool aHighlighted );
-
-    /**
-     * Get size of item for LCT template.
-     *
-     * @since S60 v3.0
-     * @param aLCTTemplate The LCT template name.
-     * @param aVariety The variety for aLCTTemplate.
-     * @param aWindowLayout The window layout to be used to calculet the size.
-     * @param aLandscapeOrientation ETrue if view in landscape orientation otherwise EFalse.
-     *
-     * @return item size
-     */
-	TSize GetLCTSize( const TDesC8& aLCTTemplate, TInt aVariety, TAknWindowLineLayout& aWindowLayout, TBool aLandscapeOrientation );
-
-    /**
-     * Clean the cache
-     *
-     * @since S60 v3.0
-     */
-	void CleanAndClearCache( );
-
-    /**
-     * The template content is loaded. LCT templates have highest priority.
-     * If there is no LCT template, a custom template is loaded.
-     *
-     * @since S60 v3.0
-     * @param aTemplate The current template for the item.
-     * @param aWidgetType The widget type.
-     * @param aMmTemplateType Type of template (LCT/custom).
-     *
-     * @return Template content.
-     */
-	HBufC8* GetTemplateContentL( const TDesC8& aTemplate, TMmWidgetType aWidgetType, TMmTemplateType& aMmTemplateType );
-
-    /**
-     * Sets scrollbar visibility so template library is aware.
-     *
-     * @since S60 v3.0
-     * @param aIsScrollbarVisible Is scrollbar visible.
-     */
-    void SetScrollbarVisibilityL( TBool aIsScrollbarVisible );
-
-    /**
-     * Gets scrollbar visibility.
-     *
-     * @since S60 v3.0
-     * @return Is scrollbar visible.
-     */
-    TBool GetScrollbarVisibility();
-
-	/**
-     * Sets the scrollbar width so template library can calculate the width of the item correctly.
-     *
-     * @since S60 v3.0
-     * @param aScrollbarWidth The current width of the scrollbar.
-     */
-	void SetScrollbarWidthL( TInt aScrollbarWidth );
-
-	/**
-	 * Gets scrollbar width.
-	 *
-	 * @since S60 v3.0
-	 * @return scrollbar width
-	 */
-	TInt ScrollbarWidth();
-
-	/**
-     * Gets the parent rect for given orientation from which templates were calculated.
-     *
-     * @since S60 v3.0
-     * @param aLandscapeOrientation The current landscape orientation.
-     * @return Parent rect for given orientation.
-     */
-	TRect GetParentRect( TBool aLandscapeOrientation );
-
-private:
-	/**
-	 * Get the lookup text.
-	 *
-	 * @since S60 v3.0
-	 * @param aTemplate The current template for the item.
-	 * @param aWidgetType The widget type.
-	 * @param aLandscapeOrientation Is view in landscape orientation.
-	 * @param aHighlighted Is item highlighted.
-	 *
-	 * @return Lookup text.
-	 */
-	HBufC8* LookupText( const TDesC8& aTemplate, TMmWidgetType aWidgetType,
-                        TBool aLandscapeOrientation = EFalse,
-                        TBool aHighlighted = EFalse );
-
-    /**
-     * Get the lookup text for layout size.
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     *
-     * @return lookup layout text.
-     */
-	HBufC8* LookupLayoutText( TMmWidgetType aWidgetType,
-                              const TDesC8& aTemplate,
-                              TBool aLandscapeOrientation );
-
-	/**
-     * Get the lookup text for move indicator.
-     *
-     * @since S60 v3.0
-     * @param aLookupText The lookup text to be used to create the lookup indicator text.
-     * @return lookup Indicator text.
-     */
-	HBufC8* LookupIndicatorText( const TDesC8& aLookupText );
-
-    /**
-     * Load the template to cache.
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aTemplate The current template for the item.
-	 * @param aLandscapeOrientation The current orientation.
-     */
-	void LoadTemplateL( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation );
-
-    /**
-     * Get template file content.
-     *
-     * @since S60 v3.0
-     * @param aContent Descriptor to which the file content should be set.
-     * @param aTemplate The current template for the item.
-     * @param aWidgetType The widget type.
-     * @param aMmTemplateType Type of template (LCT/custom).
-     * @param aLoadCustomTemplate Value to be set depending on template type loaded (LCT/custom).
-     */
-	void GetTemplateFileContentL (HBufC8*& aContent, const TDesC8& aTemplate,
-		TMmWidgetType aWidgetType, TMmTemplateType& aMmTemplateType,
-		TBool aLoadCustomTemplate = EFalse);
-
-    /**
-     * Process xml element.
-     *
-     * @since S60 v3.0
-     * @param aMmTemplateType Type of template (LCT/custom).
-     * @param aElement Element ( xml ).
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     *
-     */
-	void ProcessElementL (TMmTemplateType aMmTemplateType,
-		TXmlEngElement aElement, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation, TBool aHighlighted);
-
-	/**
-     * Process the LCT template.
-     *
-     * @since S60 v3.0
-     * @param aElement Element (xml).
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     */
-	void ProcessLCTTemplateElementL( TXmlEngElement aElement,
-	                                         const TDesC8& aTemplate,
-	                                         TBool aLandscapeOrientation,
-	                                         TBool aHighlighted );
-
-    /**
-     * Process the custom template.
-     *
-     * @since S60 v3.0
-     * @param aElement Element (xml)
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     */
-	void ProcessCustomTemplateElementL( TXmlEngElement aElement,
-	                                         const TDesC8& aTemplate,
-	                                         TBool aLandscapeOrientation,
-	                                         TBool aHighlighted );
-
-    /**
-     * Setup LCT template data.
-     *
-     * @since S60 v3.0
-     * @param aChildTemplate Template where the data should be set up.
-     * @param aChildElement Element (xml).
-     * @param aItemSize Item size.
-     */
-	void SetupLCTTemplateL(TTemplateChild& aChildTemplate, TXmlEngElement& aChildElement, TSize aItemSize );
-
-	/**
-     * Setup custom template.
-     *
-     * @since S60 v3.0
-     * @param aChildTemplate Template where the data should be set up.
-     * @param aChildElement Element (xml).
-     */
-	void SetupCustomTemplateL(TTemplateChild& aChildTemplate, TXmlEngElement& aChildElement );
-
-	/**
-     * Set the template visual id.
-     *
-     * @since S60 v3.0
-     * @param aChildTemplate Template data.
-     */
-	void SetupTemplateVisualId(TTemplateChild& aChildTemplate );
-
-	/**
-     * Setup the item children template data for move indicator and cache the data.
-     *
-     * @since S60 v3.0
-     * @param aLookupString Lookup string.
-     * @param aItemSize Item size.
-     */
-	void SetupMoveIndicatorTemplateChildrenL( const TDesC8& aLookupString, TSize aItemSize );
-
-	/**
-     * Adjusts the item size loaded to template cache according to layout size and orientation.
-     * This method adjusts the item width so that items occupy the view correctly.
-     *
-     * @since S60 v3.0
-     * @param aSize The size of the item to be adjusted.
-     * @param aLayoutSize The layout of the widget e.g 3x4
-     * @param aLandscapeOrientation The orientation of the template being processed.
-     */
-	void AdjustItemWidth( TSize& aSize, TSize aLayoutSize, TBool aLandscapeOrientation );
-
-	/**
-     * Updates the parent rect according to orientation.
-     *
-     * @since S60 v3.0
-     * @param aParentRect The current parent rectangle.
-     * @param aLandscapeOrientation The current orientation.
-     */
-	void UpdateParentRect( TRect aParentRect, TBool aLandscapeOrientation );
-
-	/**
-     * Sets the parent rect for given orientation.
-     *
-     * @since S60 v3.0
-     * @param aLandscapeOrientation Orientation for which parent rect shoul be set.
-     * @param aParentRect The parent rect of current orientation.
-     */
-	void SetParentRect( TBool aLandscapeOrientation, TRect aParentRect);
-
-	/**
-     * Appends the edit mode template (backdrop icon) to the array of template children passed to the item drawer for drawing.
-     *
-     * @since S60 v3.0
-     * @param aTemplateArray The template array to which the edit mode template is appended.
-     * @param aSize The size of the item for which the edit mode template should be calculated.
-     */
-	void AppendEditModeTemplateL( RArray< TTemplateChild >& aTemplateArray, TSize aSize );
-
-	/**
-     * Adjusts the item size according to layout, LCT item size and orientation.
-     *
-     * @since S60 v3.0
-     * @param aItemSize The LCT item size.
-     * @param aLayoutSize The layout size to be used to calculate item size.
-     * @param aLandscapeOrientation The orientation for which the template is loaded.
-     */
-	void AdjustItemSize(TSize& aItemSize,  TSize aLayoutSize, TBool aLandscapeOrientation );
-
-	/**
-     * Caches the layout size
-     *
-     * @since S60 v3.0
-     * @param aLayoutSize The layout size to ba cached.
-     * @param aTemplate The template for the cached layout size.
-     * @param aLandscapeOrientation The orientation for which the template is loaded.
-     */
-	void CacheLayoutSizeL( TSize aLayoutSize, const TDesC8& aTemplate, TBool aLandscapeOrientation );
-
-	/**
-     * Adjusts icon's align to layout (left, center, right).
-     *
-     * @since S60 v5.0
-     * @param aParentSize The LCT parent item size.
-     * @param aTemplateChild Template data.
-     */
-    void AdjustIconPosition(TSize aParentSize,
-                    TTemplateChild& aTemplateChild);
-
-private: //Members
-
-	/**
-	 * Widget type of template being loaded.
-	 */
-    TMmWidgetType iWidgetType;
-
-    /**
-     * Template type which is being loaded (LCT/custom).
-     */
-    TMmTemplateType iMmTemplateType;
-
-    /**
-     * Template sizes map.
-     */
-    RHashMap< HBufC8*, TSize> iTemplateSizesMap;
-
-    /**
-     * Item children template map.
-     */
-    RHashMap< HBufC8*, RArray<TTemplateChild> > iTemplateChildrenMap;
-
-    /**
-     * Move indicator rects map.
-     */
-    RHashMap< HBufC8*, TRect> iMoveIndicatorRectsMap;
-
-    /**
-     * Parent bounding rect.
-     */
-    TRect iParentRectPortrait;
-
-    /**
-     * Parent bounding rect.
-     */
-    TRect iParentRectLandscape;
-
-    /**
-     * Scrollbar is visible.
-     */
-    TBool iIsScrollbarVisible;
-
-    /**
-     * Scrollbar width.
-     */
-    TInt iScrollbarWidth;
-
-	};
-#endif // MMTEMPLATELIBRARY_H
--- a/menufw/menufwui/mmwidgets/inc/mmvisibilityobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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:  receives key pressed notifications
-*
-*/
-
-#ifndef M_MMVISIBILITYOBSERVER_H
-#define M_MMVISIBILITYOBSERVER_H
-
-#include <coedef.h>
-
-/**
- *  Interface for handling application changing background/foreground states.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-class MMmVisibilityObserver
-    {
-public:
-    
-    /**
-     * Called when application goes into foreground (e.g options menu
-     * goes off or application is opened ).
-     * 
-     * @since S60 v5.0
-     */
-    virtual void HandleForegroundGainedL() = 0;
-    
-    /**
-     * Called when application goes into background (e.g the options list
-     * is open and application view is dimmed).
-     *
-     * @since S60 v5.0
-     */
-    virtual void HandleBackgroundGainedL() = 0;
-    
-    };
-    
-#endif // M_MMVISIBILITYOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmwidgetcontainer.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1006 +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:
-*  Version     : %version: MM_48.1.37 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef MMMWIDGETCONTAINER_H
-#define MMMWIDGETCONTAINER_H
-
-// INCLUDES
-#include <AknDef.hrh>
-#include <e32std.h>
-#include <e32base.h>
-#include <eiklbx.h>
-#include <coecntrl.h>
-#include <AknsDrawUtils.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include <aknlongtapdetector.h>
-
-#include "hnsuiteobserver.h"
-#include "mmvisibilityobserver.h"
-#include "hnglobals.h"
-
-// CLASS DECLARATION
-class CHnSuiteModel;
-class CMmListBoxModel;
-class MEikListBoxObserver;
-class MMmKeyEventObserver;
-class MMmDragAndDropObserver;
-class MMmWidgetObserver;
-class CMatrixMenuAppUi;
-class CMmHighlightTimer;
-class CMmMarqueeAdapter;
-class CMmListBoxItemDrawer;
-class CMmTemplateLibrary;
-class CMmPostEvaluationProcessor;
-class MMmLongTapObserver;
-/**
- * Square of the distance the cursor has to be dragged from the current
- * position to really move the dragged item.
- */
-const TInt KDragDelta( 640 );
-
-/**
- * Structure used to store cache for widget position.
- *
- * @since S60 v5.0
- * @ingroup group_mmwidgets
- */
-class TMmWidgetPosition
-	{
-public:
-    /**
-     * Default constructor.
-     * Initializes member variables with sensible values.
-     */
-    TMmWidgetPosition();
-
-public: // data
-	/**
-	 * The vertical item offset cache.
-	 */
-	TInt iVerticalItemOffset;
-
-	/**
-	 * The top item index cache.
-	 */
-	TInt iTopItemIndex;
-
-	/**
-	 * Tells if the cached values are valid.
-	 */
-	TBool iValid;
-
-	/**
-	 * The mode (portrait/landscape) for which the cache is valid.
-	 */
-	TBool iLandscape;
-
-	/**
-	 * Id from model (not index) of the currently highlighted item.
-	 * It should only be set if the currently highlighted item is
-	 * visible (fully or partially), otherwise it must remain
-	 * initialized to KErrNotFound.
-	 */
-	TInt iHighlightedItemId;
-	};
-
-/**
- *  Interface for widget containers.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-
-NONSHARABLE_CLASS( CMmWidgetContainer ): public CCoeControl,
-                                         public MMmVisibilityObserver,
-                                         public MEikListBoxObserver,
-                                         public MAknLongTapDetectorCallBack
-	{
-public:
-
-    /**
-     * Creates a new grid container.
-     *
-     * @since S60 v3.0
-     * @param aRect Parent rectangle.
-     * @param aObjectProvider Object provider.
-     * @return GridContainer.
-     */
-     IMPORT_C static CMmWidgetContainer* NewGridContainerL( const TRect& aRect,
-            MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Creates a new listbox container.
-     *
-     * @since S60 v3.0
-     * @param aRect Parent rectangle.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary Template library for drawer.
-     * @return ListboxContainer.
-     */
-     IMPORT_C static CMmWidgetContainer* NewListBoxContainerL( const TRect& aRect,
-            MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary );
-
-public: // Highlight related methods
-
-	/**
-	 * Sets the default highlight.
-	 *
-     * @since S60 v3.0
-     * @param aRedraw Is highlight to redraw.
-     */
-	virtual void SetDefaultHighlightL( TBool aRedraw = ETrue ) = 0;
-
-    /**
-     * Sets the highlight.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Index to set the highlight at.
-     * @param aRedraw Is highlight to redraw.
-     */
-	IMPORT_C virtual void SetManualHighlightL(TInt aItemIndex,  TBool aRedraw = ETrue );
-
-    /**
-     * Gets the highlight from the widget.
-     *
-     * @since S60 v3.0
-     * @return Current Highlight in the widget.
-     */
-	IMPORT_C virtual TInt GetHighlight();
-
-    /**
-     * Gets the highlight from the widget.
-     *
-     * @since S60 v3.0
-     * @return Previous Highlight in the widget.
-     */
-	IMPORT_C virtual TInt GetPreviousHighlight();
-
-    /**
-     * Set highlight visibility.
-     *
-     * @since S60 v3.0
-     * @param aVisible Visibility status.
-     */
-	IMPORT_C virtual void SetHighlightVisibilityL( TBool aVisible );
-	
-    /**
-     * Set highlight visibility.
-     *
-     * @since S60 v3.0
-     * @return Visibility status.
-     */
-	IMPORT_C virtual TBool IsHighlightVisible();
-
-    /**
-     * Handle item addition.
-     *
-     * @since S60 v3.0
-     */
-	IMPORT_C virtual void HandleItemAdditionL();
-
-
-    /**
-     * Handle item removal.
-     *
-     * @since S60 v3.0
-     */
-	IMPORT_C virtual void HandleItemRemovalL();
-
-    /**
-     * Handle item removal.
-     *
-     * @since S60 v3.0
-     */
-	IMPORT_C CHnSuiteModel* GetSuiteModelL();
-
-    /**
-     * Retrieve type of widget.
-     *
-     * @since S60 v3.0
-     * @return Type of widget.
-     */
-	IMPORT_C virtual THnSuiteWidgetType WidgetType();
-
-	/**
-	 * Removes all LIW objects owned by this object.
-     *
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-	 */
-	virtual void RemoveLiwObjects();
-
-	/**
-	 * Sets the long tap observer.
-     *
-     * @param aObserver Observer to receive long tap events.
-	 */
-	IMPORT_C virtual void SetLongTapObserver( MMmLongTapObserver* aObserver );
-
-	/**
-	 * Informs the container that long tap event is finished (e.g. because 
-	 * a command from the context menu has been issued).
-	 * 
-	 * @param aStopTimer ETrue when the highlight timer should be stopped.
-	 */
-	IMPORT_C virtual void EndLongTapL( TBool aStopTimer = ETrue );
-
-public:
-
-	/**
-	 * Sets suite model.
-	 *
-	 * @since S60 v3.0
-	 * @param aModel Suite model.
-	 */
-	virtual void SetSuiteModelL( CHnSuiteModel* aModel );
-
-    /**
-     * Gets Multimedia Menu model.
-     *
-     * @since S60 v3.0
-     * @return Model.
-     */
-	virtual CMmListBoxModel* GetMmModel() = 0;
-
-    /**
-     * Sets widget observer.
-     *
-     * @since S60 v3.0
-     * @param aObserver Widget observer.
-     */
-	IMPORT_C virtual void SetObserver( MMmWidgetObserver*  aObserver);
-
-    /**
-     * Gets item rectangle according to item index.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @return Item rectangle.
-     */
-    IMPORT_C TRect GetItemRectL( TInt aItemIndex );
-
-    /**
-     * Sets empty text visible when model has no items.
-     *
-     * @since S60 v3.0
-     * @param aText Text to be shown when view is empty.
-     */
-	virtual void SetEmptyTextL(const TDesC& aText) = 0 ;
-
-    /**
-     * Sets flag.
-     *
-     * @since S60 v3.0
-     * @param Flag Flag.
-     */
-	virtual void SetFlag(TInt Flag);
-
-    /**
-     * Gets widget.
-     *
-     * @since S60 v3.0
-     * @return Widget.
-     */
-	virtual CEikListBox* Widget();
-
-    /**
-     * Sets background context for item drawer and view.
-     *
-     * @since S60 v3.0
-     * @param aBgContext Background context.
-     */
-	virtual void SetItemDrawerAndViewBgContext(
-			CAknsBasicBackgroundControlContext * aBgContext ) =0;
-
-    /**
-     * Sets edit mode so UI is aware.
-     *
-     * @since S60 v3.0
-     * @param aIsEditMode Is edit mode.
-     */
-	virtual void SetEditModeL( TBool aIsEditMode );
-
-    /**
-     * Tells if UI is aware of edit mode.
-     *
-     * @since S60 v5.0
-     * @return Edit mode status.
-     */
-	virtual TBool IsEditMode() const;
-
-    /**
-     * Sets up widget layout (needed for grid).
-     *
-     * @since S60 v3.0
-     */
-	virtual void SetupWidgetLayoutL() =0;
-
-    /**
-     * Constructor.
-     */
-	CMmWidgetContainer();
-
-    /**
-     * Destructor.
-     */
-    ~CMmWidgetContainer();
-    
-    /**
-     * Enables/disables animation during long tap.
-     * Tactile feedback is also enabled and disabled with the animation.
-     * Changes made with this method will be effective on the next long
-     * tap, i.e. it is not possible to stop an already started animation
-     * by using this method.
-     * 
-     * @param aEnable ETrue - enable, EFalse - disable long tap animation
-     *                and long tap tactile feedback
-     */
-    IMPORT_C void EnableLongTapAnimation( TBool aEnable );
-
-    /**
-     * from CCoeControl.
-     *
-     * @since S60 v3.0
-     */
-    void SizeChanged();
-
-    /**
-     * Draws the widget.
-     *
-     * @since S60 v3.0
-     * @param aRect Rectangle within the widget shuld be drawn.
-     */
-    void Draw(const TRect& aRect) const;
-
-    /**
-      * Draws the widget view.
-      *
-      * @since S60 v5.0
-      */
-    virtual void DrawView() = 0;
-
-    /**
-     * Returns type UID pointer that can be used in MopSupplyObject.
-     *
-     * @since S60 v3.0
-     * @param aId Type UID, should be the same that was given as aId.
-     * parameter of MopSupplyObject.
-     * @return Type UID pointer.
-     */
-    TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Pointer event.
-     */
-    void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v5.0
-     * @param aPointerEvent Pointer event.
-     */
-    void HandlePointerEventsInEditModeL(const TPointerEvent& aPointerEvent,
-    		TBool aAbortAnimations );
-
-    /**
-     * Set draggable.
-     *
-     * @since S60 v3.0
-     * @param aDraggable Is draggable.
-     */
-    void SetDraggableL( TBool aDraggable );
-
-    /**
-     * Gets draggable status.
-     * Draggable status determines if the item has
-     * the capability to be dragged at the momont.
-     * So before threshold is crossed the container
-     * is not draggable in the sense of this method
-     * because the dragged item is not yet drawn.
-     * It becomes draggable when it start to be drawn
-     *
-     * @since S60 v3.0
-     * @return Is draggable.
-     */
-    IMPORT_C TBool IsDraggable();
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v3.0
-     * @return count component controls.
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v3.0
-     * @param aIndex index of control.
-     * @return component control.
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v3.0
-     * @param aKeyEvent key event.
-     * @param aType event type.
-     * @return response to key event.
-     */
-    TKeyResponse OfferKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType);
-
-    /**
-     * Zooms item icon.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     */
-    IMPORT_C void ItemIconZoomL( TInt aItemIndex );
-
-    /**
-     * Handle button up event.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Pointer event.
-     */
-    void HandleButtonDownL(const TPointerEvent& aPointerEvent );
-
-    /**
-     * Handle button down event.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Pointer event.
-     */
-    void HandleButtonUpL(const TPointerEvent& aPointerEvent );
-
-    /**
-     * Overridden to invalidate item drawer cache on skin change and
-     * dynamic variant switch.
-     *
-     * @param aType A message UID value.
-     */
-    void HandleResourceChange( TInt aType );
-
-    /**
-     * Handle dragging of item.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Pointer event.
-     * @param aAbortAnimation Should animation be aborted.
-     */
-    void HandleDragL(const TPointerEvent& aPointerEvent, TBool aAbortAnimation );
-
-    /**
-     * Sets marquee adapter.
-     *
-     * @since S60 v3.0
-     * @param aAdapter A marquee adapter.
-     */
-    void SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter );
-
-    /**
-     * Sets up item drawer.
-     *
-     * @since S60 v3.0
-     */
-    void SetupDrawer();
-
-    /**
-     * Cancels gragging of item.
-     *
-     * @since S60 v3.0
-     * @param aAnimate Should dragged item transition be animated.
-     */
-    IMPORT_C void CancelDragL( TBool aAnimate );
-
-    /**
-     * Animates item shifting.
-     *
-     * @since S60 v3.0
-     * @param aHighlight Highlighted item index.
-     */
-    void AnimateShiftL(TInt aHighlight);
-
-    /**
-     * Gest number of items.
-     *
-     * @since S60 v3.0
-     * @return Number of items.
-     */
-    IMPORT_C TInt NumberOfItems();
-
-    /**
-     * This should be called at the end of edit mode in non-touch
-     *
-     * @since S60 v5.0
-     */
-    IMPORT_C void StopMovingL();
-
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     *
-     * @since S60 v5.0
-     */
-    virtual void SetVerticalItemOffset( TInt aOffset ) = 0;
-
-    /**
-     * Gets the current vertical item offset for the widget in the container.
-     * @since S60 v5.0
-     *
-     * @return The current vertical item offset.
-     */
-    virtual TInt VerticalItemOffset() const = 0;
-
-    /**
-     * Saves the currents position of the widget. The vertical item offset
-     * and the top item index are cached.
-     * @since S60 v5.0
-     */
-    IMPORT_C void CacheWidgetPosition();
-
-    /**
-     * Resets the widget position cache to top of view.
-     * Both vartical item offset and top index are set to zero
-     * in cache and widget.
-     * @since S60 v5.0
-     */
-    IMPORT_C void ResetWidgetPosition();
-
-    /**
-     * Restores the cached widget position values in the widget.
-     * @since S60 v5.0
-     */
-    IMPORT_C void RestoreWidgetPosition();
-
-    /**
-     * Scrolls to the specified item index so that the item is seen entirely on screen.
-     * @since S60 v5.0
-     *
-     * @param aIndex The widget item index to scroll to.
-     * @return True if any scrolling was done.
-     */
-    IMPORT_C TBool ScrollToItemL( TInt aIndex );
-
-    /**
-     * Called when the number of items in widget model changed.
-     * @since S60 v5.0
-     *
-     * @param aChange Type of change
-     */
-    IMPORT_C void NumberOfItemsChangedL( TItemsChangeType aChange );
-
-    /**
-     * Aligns the bottom of view to the last model item bottom edge so that no extra
-     * unused pixels are visible at the bottom of screen.
-     * @since S60 v5.0
-     *
-     * @return True if the view was scrolled.
-     */
-    TBool AlignBottomOfViewL( );
-
-    /**
-     * Calculate numer of pixels required to scroll when aligning bottom of view.
-     * @since S60 v5.0
-     */
-    TInt CalcBottomPixelsToScroll();
-
-    /**
-     * Sets visibility of a widget.
-     *
-     * @param aVisible ETrue if widget should be visible, EFalse - otherwise
-     */
-    void MakeVisible(TBool aVisible);
-
-    /**
-     * Tells if item is visible (fully or partially).
-     * @param aItemIndex Item index.
-     * @return ETrue if visible, EFalse otherwise.
-     */
-    virtual TBool ItemIsVisible( TInt aItemIndex ) const;
-
-     /**
-     * Tells if item is entirely visible.
-     * @param aIndex The index of the item.
-     */
-    IMPORT_C TBool ItemIsFullyVisible(TInt aIndex);
-
-    /**
-    * Prepares the container to be set to the garbage collector.
-    */
-    IMPORT_C void PrepareForGarbage();
-
-    /**
-     * Checks, whether the currently dragged item is a draggable item. i.e. parent folder
-     * is not a draggable item.
-     * @returns True, if dragged item is parent folder
-     * or no item is dragged (iDraggedIndex = -1), false otherwise.
-     */
-    TBool IsNoItemDragged();
-
-    /**
-     * Sets the iHasFocus member variable, which is used to determine
-     * if marquee animation can be enabled.
-     */
-    IMPORT_C void SetHasFocusL( TBool aHasFocus );
-
-    /**
-     * Sets the iIsFaded member variable, which is used to determine
-     * if marquee animation can be enabled.
-     */
-    IMPORT_C void SetIsFaded( TBool aIsFaded );
-    
-    /**
-     * Determines if long tap is in progress.
-     * 
-     * @return ETrue if long tap is in progress.
-     */
-    TBool LongTapInProgress() const;
-
-public: // from MMmVisibilityObserver
-
-    /**
-     *
-     * @since S60 v3.0
-     */
-    IMPORT_C void HandleBackgroundGainedL();
-
-    /**
-     *
-     * @since S60 v3.0
-     */
-    IMPORT_C void HandleForegroundGainedL();
-public: // from MEikListBoxObserver
-
-    /**
-     * Handles list box events.
-     *
-     * @since S60 v5.0
-     */
-    virtual void HandleListBoxEventL(CEikListBox* aListBox,
-            TListBoxEvent aEventType);
-
-public:
-    /**
-     * From MAknLongTapDetectorCallBack. Handles long tap events.
-     *
-     * @since S60 v5.0
-     * @param aPenEventLocation Point coordinates relative to container.
-     * @param aPenEventScreenLocation Point coordinates relative to screen.
-     */
-    virtual void HandleLongTapEventL( const TPoint& aPenEventLocation,
-                                      const TPoint& aPenEventScreenLocation );
-protected:
-
-    /**
-     * Handles additional contruction tasks.
-     *
-     * @since S60 v3.0
-     */
-	void ConstructL();
-
-    /**
-     * Sets highlight locally.
-     * Does not modify the avkon behaviur.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Index of the item.
-     */
-	void SetHighlightL(TInt aItemIndex);
-
-	/**
-     * Checks whether given point collides with specific item's re-order area.
-     *
-     * This function gets called during drag-and-drop operations to
-     * help determine whether item re-ordering is needed.
-     *
-     * @param aItemIndex index of the item to check
-     * @param aPoint point coordinates
-     * @return ETrue if point is located within item re-order area,
-     *         EFalse otherwise
-     */
-    virtual TBool PointInItemReorderAreaL( TInt aItemIndex, TPoint aPoint );
-
-    /**
-     * Hides the options menu if it is being displayed.
-     * This has (probably) the same effect as clicking Cancel (RSK) -
-     * the menu just disappears.
-     */
-    void HideOptionsMenuIfDisplayed();
-
-protected:
-
-    /**
-     * Validates the widget current item index so that it is consistent with
-     * the current model.
-     */
-    void ValidateWidgetCurrentItemIndex();
-
-    /**
-     * Updates current view's scrollbar thumbs.
-     */
-    virtual void UpdateViewScrollBarThumbs();
-
-    /**
-     * Starts or stops marquee animation based on the current state
-     * of the container.
-     */
-    void StartOrStopMarquee();
-
-private:
-
-	 /**
-	 * Called when the number of items in widget model changed.
-	 * @since S60 v5.0
-	 *
-	 * @param aChange Type of change
-	 */
-	void HandleNumberOfItemsChangedL( TItemsChangeType aChange );
-
-    /**
-     * Manages zooming of folder.
-     *
-     * @since S60 v3.0
-     * @param aDraggedItemOverIcons Is dragged over icons flag.
-     */
-	void ManageFolderZoomingL( TBool aDraggedItemOverIcons );
-
-    /**
-     * Cancels gragging of item if relevant( Edit Mode is activated )
-     *
-     * @since S60 v3.0
-     */
-    void CancelDragL();
-
-    /**
-     * Sets the widget highlight back to place if e.g. item was dragged over an item
-     * where it could not be dropped into.
-     *
-     * @since S60 v3.0
-     */
-    void SetHighlightAfterDrag();
-
-    /**
-     * Handles key event.
-     *
-     * @since S60 v3.0
-     * @param aKeyEvent Key event.
-     * @param aType Event code.
-     */
-    TKeyResponse HandleKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType);
-
-    /**
-     * Handles rocker (select) press.
-     */
-    void HandleRockerPressL();
-
-    /**
-     * Gets distance between current and previous position.
-     * @param aPos Current position.
-     * @param aTapPoint Point of the tap.
-     * @return Distance between two points in pixels.
-     */
-    TInt DeltaSquare( const TPoint aTapPoint,
-    		const TPoint aPos );
-
-    /**
-     * Checks, whether given item is a folder or root folder.
-     * @param aItemIndex Item index to check.
-     * @returns True, if given item is a folder or root folder, false otherwise.
-     */
-    TBool IsFolderL( TInt aItemIndex );
-
-    /**
-	 * Checks, whether given item has IsDeleteLockedL flag set.
-	 * @param aItemIndex Item index to check.
-	 * @returns IsDeleteLockedL flag
-	 */
-	TBool IsDeleteLockedL( TInt aItemIndex );
-
-	/**
-	 * Gets column count in current view.
-	 * @returns Column count in current view.
-	 */
-	virtual TInt ColumnsInCurrentView();
-
-    /**
-     * Gets row count in current view.
-     * @returns Row count in current view.
-     */
-    virtual TInt RowsInCurrentView();
-
-	/**
-	 * Scrolls the view move mode non-touch so that move indicators are visible.
-	 */
-	void ScrollViewIfNeededL();
-
-    /**
-     * Scrolls the view in pixels.
-     * @param aPixels THe number of pixels to scroll. If negative, the view is scrolled down.
-     */
-	void ScrollInPixelsL( TInt aPixels );
-
-    /**
-     * Sets up the scrolling effect movement type.
-     * @param aDown True if scrolling is downwards.
-     */
-	void SetupScrollingEffectsL( TBool aDown );
-
-protected:
-
-
-	/**
-	 * Own.
-	 */
-	CEikListBox* iWidget;
-
-    /**
-     * Key event observer.
-     */
-	MMmKeyEventObserver* iKeyEventObserver;
-
-    /**
-     * Drag and drop observer.
-     */
-     MMmDragAndDropObserver* iDragAndDropObserver;
-     /**
-      * List box observer.
-      */
-     MEikListBoxObserver* iListBoxObserver;
-
-    /**
-     * Marquee adapter.
-     * Own.
-     */
-    CMmMarqueeAdapter* iMarqueeAdapter;
-
-    /**
-     * Item drawer.
-     * Not own.
-     */
-    CMmListBoxItemDrawer* iDrawer;
-
-protected:
-
-	/**
-	 * Current Highlight.
-	 */
-	TInt iCurrentHighlight;
-
-    /**
-     * Has drag occurred.
-     */
-    TBool iDragOccured;
-
-	/**
-	 * Processed display elelments for better performance.
-	 */
-    CMmPostEvaluationProcessor* iPostProcessor;
-
-	/**
-	 * Set when long tap is in progress (stylus popup displayed over container)
-	 */
-    TBool iLongTapInProgress;
-
-private:
-
-
-    /**
-     * Background context.
-     * Own.
-     */
-	CAknsBasicBackgroundControlContext* iBgContext;
-
-    /**
-     * Last drag point.
-     */
-	TPoint iLastDragPoint;
-
-    /**
-     * First tap point.
-     */
-	TPoint iTapPoint;
-
-    /**
-     * First tap point.
-     */
-	TPoint iItemRelativeTapPoint;
-
-	/**
-     * Last drag highlight.
-     */
-	TInt iLastDragHighlight;
-
-    /**
-     * Dragged item index.
-     */
-	TBool iDraggedIndex;
-
-    /**
-     * Edit mode status.
-     */
-	TBool iIsEditMode;
-
-	/**
-     * Destination of item index.
-     */
-	TInt iItemIndexDestination;
-
-	/**
-     * Previous Highlight.
-     */
-	TInt iPreviousHighlight;
-
-	/**
-	 * The current rect of the widget control.
-	 */
-    TRect iWidgetRect;
-
-    /**
-     * Longpress allowed flag. We only accept long press (EEventKey+iRepeats)
-     * when there was no highlight visible before EEventKeyDown, otherwise
-     * we react only to EEventKeyDown
-     */
-    TBool iAllowLongPress;
-
-	/**
-	 * Cache for widget position.
-	 */
-    TMmWidgetPosition iWidgetPositionCache;
-
-    /**
-     * ETrue if Matrix menu window is faded.
-     */
-    TBool iIsFaded;
-
-    /**
-     * ETrue if Matrix menu has focus (i.e. it is not obscured by any popup
-     * note).
-     */
-    TBool iHasFocus;
-
-    /**
-     * ETrue if in foreground.
-     */
-    TBool iInForeground;
-
-    /**
-     * Own.
-     * Detects long tap events.
-     */
-    CAknLongTapDetector* iLongTapDetector;
-
-    /**
-     * Observer to notify about long tap events.
-     */
-    MMmLongTapObserver* iLongTapObserver;
-
-	};
-
-#endif // MMMWIDGETCONTAINER_H
--- a/menufw/menufwui/mmwidgets/inc/mmwidgetobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  receives key pressed notifications
-*  Version     : %version: 8 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef M_MMWIDGETOBSERVER_H
-#define M_MMWIDGETOBSERVER_H
-
-#include <coedef.h>
-#include <eiklbo.h>
-#include "mmkeyeventobserver.h"
-#include "mmdraganddropobserver.h"
-#include "mmlongtapobserver.h"
-
-/**
- *  MKeyEventObserver used to bundle different interfaces.
- *  A complete set of the bundled interfaces allows to fully
- *  control widgets behaviour.
- *  Class implementing this interface will be able to receive all 
- *  notifications from a widget.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v5.0
- */
-class MMmWidgetObserver : public MMmKeyEventObserver,
-                          public MMmDragAndDropObserver,
-                          public MEikListBoxObserver,
-                          public MMmLongTapObserver
-    {
-    
-    };
-    
-#endif // M_MMWIDGETOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmwidgetsconstants.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,457 +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:  Constants for the matrixmenu
-*  Version     : %version: 33.1.11 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef MMWIDGETSCONSTANTS_H
-#define MMWIDGETSCONSTANTS_H
-
-
-#include <e32keys.h>
-
-/**
- * Grid constants' namespace.
- */
-namespace MmGrid
-	{
-	/**
-	 * X component of the 4x3 layout.
-	 */
-	const TInt K4By3LayoutX = 4;
-
-	/**
-	 * Y component of the 4x3 layout.
-	 */
-	const TInt K4By3LayoutY = 3;
-
-	/**
-	 * X component of the 3x4 layout.
-	 */
-
-	const TInt K3By4LayoutX = 3;
-
-	/**
-	 * Y component of the 3x4 layout.
-	 */
-	const TInt K3By4LayoutY = 4;
-
-	/**
-	 * X component of the 4x5 layout.
-	 */
-	const TInt K4By5LayoutX = 4;
-
-	/**
-	 * Y component of the 5x4 layout.
-	 */
-	const TInt K4By5LayoutY = 5;
-
-	/**
-	 * X component of the 5x4 layout.
-	 */
-	const TInt K5By4LayoutX = 5;
-
-	/**
-	 * Y component of the 5x4 layout.
-	 */
-	const TInt K5By4LayoutY = 4;
-
-	/**
-	 * Below this value, default highlight in 3x4 grid
-	 * is set up on the first item. Otherwize, on the default
-	 * highlight.
-	 */
-	const TInt K3By4Threshold(5);
-
-	/**
-	 * Below this value, default highlight in 4x3 grid
-	 * is set up on the first item. Otherwize, on the default
-	 * highlight.
-	 */
-	const TInt K4By3Threshold(6);
-
-	/**
-	 * Below this value, default highlight in 5x4 grid
-	 * is set up on the first item. Otherwize, on the default
-	 * highlight.
-	 */
-	const TInt K5By4Threshold(8);
-
-	/**
-	 * Below this value, default highlight in 4x5 grid
-	 * is set up on the first item. Otherwize, on the default
-	 * highlight.
-	 */
-	const TInt K4By5Threshold(10);
-
-	/**
-	 * Default highlight in 3x4 grid.
-	 */
-	const TInt K3By4DefaultHighlight(4);
-
-	/**
-	 * Default highlight in 4x3 grid.
-	 */
-	const TInt K4By3DefaultHighlight(5);
-
-	/**
-	 * Default highlight in 5x4 grid.
-	 */
-	const TInt K5By4DefaultHighlight(7);
-
-	/**
-	 * Default highlight in 4x5 grid.
-	 */
-	const TInt K4By5DefaultHighlight(8);
-
-	/**
-	 * Number of rows in portrait/non-zoom mode;
-	 */
-	const TInt KRowsPortraitZoomNormal(4);
-
-	/**
-	 * Number of columns in landscape/non-zoom mode;
-	 */
-	const TInt KColsPortraitZoomNormal(3);
-
-	/**
-	 * Number of rows in portrait/non-zoom mode;
-	 */
-	const TInt KRowsLandscapeZoomNormal(3);
-
-	/**
-	 * Number of columns in landscape/non-zoom mode;
-	 */
-	const TInt KColsLandscapeZoomNormal(4);
-
-	}
-
-/**
- * Listbox constants' namespace.
- */
-namespace MmListBox
-	{
-	/**
-	 * Threshold value, determinign if a partial should
-	 * be shown in a list.
-	 */
-	const TInt KPartialItemShowThreshold (0);
-
-	/**
-	 * Default highlight in 4x5 grid.
-	 */
-	const TInt KCols(1);
-	}
-
-/**
- * Drag and drop related constants.
- */
-namespace MmEffects
-	{
-	/**
-	 * Threshold for items shift.
-	 */
-	const TReal KShiftRatio(0.25);
-
-	/**
-	 * Drag and drop speed limit.
-	 */
-	const TInt KDragSpeedIgnoreThreshold(15 * 15);
-
-	/**
-	 * Number of frames to animate.
-	 */
-	const TInt KMaximumAnimationFramesCount( 6 );
-
-	/**
-	 * Number of frames to animate.
-	 */
-	const TInt KUsualAnimationFramesCount( 3 );
-
-	/**
-	 * Number of frames to animate on non-touch devices.
-	 */
-	const TInt KUsualAnimationFramesCountNonTouch( 2 );
-
-	/**
-	 * No animation frames count.
-	 */
-	const TInt KNoAnimationFramesCount( 1 );
-
-	/**
-	 * Delay between redrawing frames.
-	 */
-	const TInt KAnimationFrameDelay( 40000 );
-
-	/**
-	 * Text alpha during drag.
-	 */
-	const TInt KDragTextAlpha( 50 );
-
-	/**
-	 * Focus based scrolling item threshold.
-	 */
-	const TReal KFocusScrollingThreshold( 0.55 );
-
-	/**
-	 * Focus based scrolling item threshold for listbox landscape mode.
-	 */
-	const TReal KFocusScrollingThresholdListboxLanscape( 1.0 );
-
-	/**
-	 * Value of drag ignore.
-	 */
-	const TInt KDragIgnoreRectValue(200);
-
-	/**
-	 * Time between two butto repeat events.
-	 */
-	const TInt KDragRepeatRespawn(2);
-
-	/**
-	 * Determines the speed of focus-based scrolling in edit mode.
-	 */
-	const TInt KEditModeScrollingDelayFactor = 4000;
-	}
-
-/**
- * Templates' related constants.
- */
-namespace MmTemplateContants
-	{
-	/**
-	 * If a custom (non LCT) template is used, this is
-	 * its default scrollbar width.
-	 */
-	const TInt KCustomTemplateScrolbarWidth (25);
-
-	const TInt KTemplateChildTextLength (64);
-
-	const TInt KSubCellsCount (6);
-
-	const TInt KItemSubCellsText (300);
-
-	const TInt KMoveIndicatorStartingPos ( 32 );
-
-	}
-
-/**
- * Shortcut constants.
- */
-namespace MmShortcutConstants
-	{
-	/**
-	 * Possible scancodes when interpreting shortcut key.
-	 */
-	const TInt KScanCodes[] = { '1','2','3','4','5','6','7','8','9',
-#ifndef __WINS__
-        '*',
-#else
-        EStdKeyNkpAsterisk,
-#endif
-	    '0', EStdKeyHash };
-
-	/**
-	 * Number of available scancodes.
-	 */
-	const TInt KScanCodeCount = 12;
-	}
-
-namespace MmMarqueeConstants
-	{
-	const TInt KTextTrimmingThreshold (80);
-	const TInt KClippingBufLength (80);
-	const TInt KLoops (1);
-	const TInt KScrollAmount (6);
-	const TInt KScrollDelay (1000000);
-	}
-/**
- * Matrix Template Library panic notice.
- */
-_LIT( KMtlPanic,  "MTL" );
-
-_LIT8( KMmTitle8,       	"mul_title"         );
-_LIT8( KMmDetail8,      	"mul_detail"        );
-_LIT8( KMmIcon8,        	"mul_icon"          );
-_LIT8( KMmBackdropIcon8,    "mul_icon_backdrop" );
-_LIT8( KMmTemplate8,    	"mul_template"      );
-_LIT8( KGrid8,           	"grid"              );
-_LIT8( KListbox8,        	"listbox"           );
-
-_LIT8( KEmpty8,        			"empty"            );
-_LIT8( KOrientation8,        	"orientation"      );
-_LIT8( KBase8,        			"base"             );
-_LIT8( KText8,        			"text"             );
-_LIT8( KLayout8,        		"layout"           );
-_LIT8( KVariety8,        		"variety"          );
-_LIT8( KHAlign8,                "halign"           );
-_LIT8( KCenter8,                "center"           );
-_LIT8( KLeft8,                  "left"             );
-_LIT8( KRight8,                 "right"            );
-_LIT8( KHeight8,        		"height"           );
-_LIT8( KWidth8,        			"width"           );
-_LIT8( KTextVisual8,        	"textvisual"           );
-_LIT8( KImageVisual8,        	"imagevisual"           );
-_LIT8( KImagePath8,        		"imagepath"           );
-_LIT8( KGridLayout8,        	"gridlayout"           );
-_LIT8( KEnabled8,        	"enabled"           );
-_LIT8( KRow8,        			"row"           );
-_LIT8( KCol8,        			"col"           );
-_LIT8( KPositionX8,        		"positionx"           );
-_LIT8( KPositionY8,        		"positiony"           );
-_LIT8( KStyle8,        			"style"           );
-_LIT8( KTargetValue8,        	"targetvalue"           );
-_LIT8( KQfnPrimarySmall8,       "qfn_primarysmall"           );
-_LIT8( KHorizontalAlign8,       "horizontalalign"           );
-_LIT8( KLct8, 					"lct");
-_LIT8( KHighlight8,      		"highlight"       );
-_LIT8( KNoHighlight8,   		"nohighlight"    );
-_LIT8( KLandscape8,        		"landscape"         );
-
-_LIT8( KMmMoveIndicatorFrame8,    		"mul_move_indicator_frame"      	);
-_LIT8( KMmMoveIndicatorArrowTop8,  		"mul_move_indicator_arrow_top"   	);
-_LIT8( KMmMoveIndicatorArrowBottom8,	"mul_move_indicator_arrow_bottom"   );
-_LIT8( KMmMoveIndicatorArrowLeft8,    	"mul_move_indicator_arrow_left"     );
-_LIT8( KMmMoveIndicatorArrowRight8,   	"mul_move_indicator_arrow_right"    );
-_LIT8( KMI8,        					"MI" 						        );
-
-_LIT( KTab,         "\t"      	);
-_LIT( KAkn, 		"akn"		);
-_LIT( KUnderline, 	"_"			);
-_LIT( KLct, 		"lct"		);
-_LIT( KCustom, 		"custom"	);
-
-_LIT( KZResource,        "z:\\resource\\"    );
-
-_LIT( KFormat1,          "\t%S\t%S\t"        );
-_LIT( KFormat2,          "%d\t%S\t%S\t"      );
-
-
-_LIT( KMLID,          "MLID"      );
-_LIT8( KListSingleLargeGraphicPane8,        "list_single_large_graphic_pane"           );
-_LIT8( KUiaccelAalistDoubleGraphicPane8,        "uiaccel_aalist_double_graphic_pane"           );
-_LIT8( KUiaccelAalistDoublePane8,        "uiaccel_aalist_double_pane"           );
-_LIT8( KUiaccelAalistSinglePane8,        "uiaccel_aalist_single_pane"           );
-_LIT8( KUiaccelAalistGeneAdPane8,        "uiaccel_aalist_gene_ad_pane"           );
-_LIT8( KUiaccelAalistSinglePaneT18,        "uiaccel_aalist_single_pane_t1"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneT18,        "uiaccel_aalist_double_graphic_pane_t1"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneT28,        "uiaccel_aalist_double_graphic_pane_t2"           );
-_LIT8( KUiaccelAalistDoublePaneT18,        "uiaccel_aalist_double_pane_t1"           );
-_LIT8( KUiaccelAalistDoublePaneT28,        "uiaccel_aalist_double_pane_t2"           );
-_LIT8( KlistSingleLargeGraphicPaneT18,        "list_single_large_graphic_pane_t1"           );
-_LIT8( KUiaccelAalistSinglePaneG18,        "uiaccel_aalist_single_pane_g1"           );
-_LIT8( KUiaccelAalistSinglePaneG28,        "uiaccel_aalist_single_pane_g2"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG1,        "uiaccel_aalist_double_graphic_pane_g1"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG28,        "uiaccel_aalist_double_graphic_pane_g2"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG38,        "uiaccel_aalist_double_graphic_pane_g3"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG68,        "uiaccel_aalist_double_graphic_pane_g6"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG78,        "uiaccel_aalist_double_graphic_pane_g7"           );
-_LIT8( KUiaccelAalistDoublePaneG18,        "uiaccel_aalist_double_pane_g1"           );
-_LIT8( KUiaccelAalistDoublePaneG28,        "uiaccel_aalist_double_pane_g2"           );
-_LIT8( KlistSingleLargeGraphicPane8,        "list_single_large_graphic_pane"           );
-_LIT8( KlistSingleLargeGraphicPaneG18,        "list_single_large_graphic_pane_g1"           );
-_LIT8( KlistSingleLargeGraphicPaneG2Cp28,        "list_single_large_graphic_pane_g2_cp2"           );
-_LIT8( KlistSingleLargeGraphicPaneG4Cp28,        "list_single_large_graphic_pane_g4_cp2"           );
-_LIT8( KUiaccelAalistGeneAdPaneG18,        "uiaccel_aalist_gene_ad_pane_g1"           );
-
-_LIT8( KUiaccelAagridCellImagePane8,        "uiaccel_aagrid_cell_image_pane"           );
-_LIT8( KUiaccelAagridCellImagePaneT18,        "uiaccel_aagrid_cell_image_pane_t1"           );
-_LIT8( KUiaccelAagridCellImagePaneG18,        "uiaccel_aagrid_cell_image_pane_g1"           );
-_LIT8( KUiaccelAagridCellImagePaneG28,        "uiaccel_aagrid_cell_image_pane_g2"           );
-_LIT8( KUiaccelAagridCellImagePaneG38,        "uiaccel_aagrid_cell_image_pane_g3"           );
-_LIT8( KUiaccelAagridCellImagePaneG48,        "uiaccel_aagrid_cell_image_pane_g4"           );
-
-_LIT8( KCellHcAppsPane8,        "cell_hc_apps_pane"           );
-_LIT8( KCellHcAppsPaneT18,        "cell_hc_apps_pane_t1"           );
-_LIT8( KCellHcAppsPaneG18,        "cell_hc_apps_pane_g1"           );
-_LIT8( KCellHcAppsPaneG28,        "cell_hc_apps_pane_g2"           );
-_LIT8( KCellHcAppsPaneG38,        "cell_hc_apps_pane_g3"           );
-
-_LIT8( KCellAppPane8,        "cell_app_pane"           );
-_LIT8( KCellAppsPaneG18,        "cell_app_pane_g1"           );
-_LIT8( KCellAppsPaneT18,        "cell_app_pane_t1"           );
-_LIT8( KCellAppsPaneG28,        "cell_app_pane_g2"           );
-
-_LIT8( KListSingleHcAppsPane8,        "list_single_hc_apps_pane"           );
-_LIT8( KListSingleHcAppsPaneT18,        "list_single_hc_apps_pane_t1"           );
-_LIT8( KListSingleHcAppsPaneG18,        "list_single_hc_apps_pane_g1"           );
-_LIT8( KListSingleHcAppsPaneG28,        "list_single_hc_apps_pane_g2"           );
-/**
- * Defines the type of a widget.
- */
-enum TMmWidgetType
-    {
-    EWidgetTypeNone = 0,
-    EGrid,
-    EListbox,
-    ECoverflow
-    };
-
-enum TImageVisualId
-    {
-    EImageVisualIdNormalMode = 0x00000000,
-    EImageVisualIdSwapMode = 0x00000001,
-    EImageVisualIdEditMode = 0x00000002
-    };
-
-/**
- * Defines the type of a template.
- */
-enum TMmTemplateType
-    {
-    ETemplateTypeCustom = 0,
-    ETemplateTypeLCT
-    };
-
-/**
- * Defines the type of a floating item.
- */
-enum TMmFloatingItemType
-    {
-    EDrag,
-    EPostDragRefreshItem,
-    EPostHighlightChangeRefreshItem,
-    ESwapTransition,
-    EDragTransition,
-    EZoomTransition
-    };
-
-const TInt KDelayInSeconds1 = 1000000;
-const TInt KDelayInSeconds6 = 6000000;
-const TInt KDelayInfinite = -1;
-
-enum TManualAlign
-    {
-    EManualAlignUndefined,
-    EManualAlignLeft,
-    EManualAlignCenter,
-    EManualAlignRight
-    };
-
-/**
- * The minimal drag vector y-length that can trigger kinetic scrolling.
- * This is just a rough estimation of the actual trigger value used by AVKON,
- * but it is sufficient for our purposes.  
- */
-const TInt KDragTreshold = 18;
-
-/**
- * The interval between redraws when scrolling using the scrollbar.
- * This will give us nice ~30 fps.
- */
-const TInt KScrollingRedrawInterval = 33333;
-
-#endif // MMWIDGETSCONSTANTS_H
--- a/menufw/menufwui/mmwidgets/rom/mmwidgets.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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:  Image description file for project matrixmenu
-*
-*/
-
-
-#ifndef MATRIXWIDGETS_IBY
-#define MATRIXWIDGETS_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\mmwidgets.dll	                                 SHARED_LIB_DIR\mmwidgets.dll
-
-data=\epoc32\data\z\resource\list\custom\akn_single_large_graphic_pane.xml      resource\list\custom\akn_single_large_graphic_pane.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_1.xml      	resource\list\custom\akn_logical_template_1.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_2.xml      	resource\list\custom\akn_logical_template_2.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_3.xml             resource\list\custom\akn_logical_template_3.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_4.xml      	resource\list\custom\akn_logical_template_4.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_5.xml      	 resource\list\custom\akn_logical_template_5.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_6.xml      	 resource\list\custom\akn_logical_template_6.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_7.xml      	 resource\list\custom\akn_logical_template_7.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_8.xml      	 resource\list\custom\akn_logical_template_8.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_10.xml      	 resource\list\custom\akn_logical_template_10.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_11.xml      	 resource\list\custom\akn_logical_template_11.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_12.xml      	 resource\list\custom\akn_logical_template_12.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_13.xml      	 resource\list\custom\akn_logical_template_13.xml
-
-
-data=\epoc32\data\z\resource\grid\custom\akn_single_large_graphic_pane.xml      resource\grid\custom\akn_single_large_graphic_pane.xml
-data=\epoc32\data\z\resource\grid\custom\akn_logical_template_1.xml      	resource\grid\custom\akn_logical_template_1.xml
-data=\epoc32\data\z\resource\grid\custom\akn_logical_template_2.xml      	resource\grid\custom\akn_logical_template_2.xml
-data=\epoc32\data\z\resource\grid\custom\akn_logical_template_3.xml             resource\grid\custom\akn_logical_template_3.xml
-data=\epoc32\data\z\resource\grid\custom\akn_logical_template_4.xml      	resource\grid\custom\akn_logical_template_4.xml
-
-
-//lct exports
-
-data=\epoc32\data\z\resource\list\lct\akn_list_single_hc_apps_pane.xml      	resource\list\lct\akn_list_single_hc_apps_pane.xml
-data=\epoc32\data\z\resource\list\lct\akn_single_large_graphic_pane.xml      	resource\list\lct\akn_single_large_graphic_pane.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_1.xml      	 	resource\list\lct\akn_logical_template_1.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_2.xml      	 	resource\list\lct\akn_logical_template_2.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_3.xml             	resource\list\lct\akn_logical_template_3.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_4.xml      	 	resource\list\lct\akn_logical_template_4.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_5.xml      	 	resource\list\lct\akn_logical_template_5.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_6.xml      	 	resource\list\lct\akn_logical_template_6.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_6a.xml      	 	resource\list\lct\akn_logical_template_6a.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_7.xml      	 	resource\list\lct\akn_logical_template_7.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_8.xml      	 	resource\list\lct\akn_logical_template_8.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_12.xml      	 	resource\list\lct\akn_logical_template_12.xml
-
-data=\epoc32\data\z\resource\grid\lct\akn_logical_template_3.xml      	 	resource\grid\lct\akn_logical_template_3.xml
-
-#endif // MATRIXWIDGETS_IBY
--- a/menufw/menufwui/mmwidgets/src/mmcacheforitem.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +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:
-* Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "mmcacheforitem.h"
-#include "mmitemsdatacache.h"
-#include "hniconholder.h"
-
-const TInt KIconHolderListGranularity = 2;
-const TInt KIconListGranularity = 2;
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem* CMmCacheForItem::NewLC( CMmItemsDataCache& aParent )
-    {
-    CMmCacheForItem* self = new (ELeave) CMmCacheForItem( aParent );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem* CMmCacheForItem::NewL( CMmItemsDataCache& aParent )
-    {
-    CMmCacheForItem* self = NewLC( aParent );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem::~CMmCacheForItem()
-    {
-    ClearIconArray();
-    iIconHolderList.Close();
-    iItemText.Close();
-    delete iIconList;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CMmCacheForItem::GetTemplate() const
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iParent.GetTemplateNameByIdentifier( iTemplateIdentifier );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::SetTemplateL( const TDesC8& aItemTemplate )
-    {
-    iTemplateIdentifier = iParent.GetTemplateIdentifierL( aItemTemplate );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CArrayPtr<CGulIcon>* CMmCacheForItem::GetIconListL()
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iIconList;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmCacheForItem::AppendIconL( CHnIconHolder* aIconHolder )
-    {
-    ASSERT( aIconHolder );
-    iIconHolderList.AppendL( aIconHolder );
-    TInt itemIndex =  iIconHolderList.Count() - 1;
-    TInt err = aIconHolder->Open();
-    if ( err != KErrNone )
-        {
-        iIconHolderList.Remove( itemIndex );
-        User::Leave( err );
-        }
-    return itemIndex;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::ClearIconArray()
-    {
-    iIconList->Reset();
-    const TInt count = iIconHolderList.Count();
-    for (TInt i = 0; i < count; ++i )
-        {
-        iIconHolderList[i]->Close();
-        }
-    if ( count )
-        {
-        iIconHolderList.Reset();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::InvalidateIfCacheMayNotBeUsed( TBool aIsItemCurrent,
-            TMmSubcellsSetupCode aSubcellsSetupCode )
-    {
-    if ( iSubcellsSetupCode != aSubcellsSetupCode ||
-            (!!iIsCurrent) != (!!aIsItemCurrent) )
-        {
-        SetValidL( EFalse );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem::CMmCacheForItem( CMmItemsDataCache& aParent )
-    : iIconHolderList( KIconHolderListGranularity ), iParent( aParent )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::ConstructL()
-    {
-    iIconList = new ( ELeave ) CArrayPtrFlat<CGulIcon>( KIconListGranularity );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::UpdateIconListL()
-    {
-    iIconList->Reset();
-    const TInt iconCount = iIconHolderList.Count();
-    for ( TInt i = 0; i < iconCount; ++i )
-        {
-        iIconList->AppendL( iIconHolderList[i]->GetGulIcon() );
-        }
-    }
--- a/menufw/menufwui/mmwidgets/src/mmdraweranimator.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,437 +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:  
-*  Version     : %version: MM_41 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include <AknUtils.h>
-
-#include "mmdraweranimator.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmfloatingitem.h"
-#include "mmwidgetcontainer.h"
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmDrawerAnimator::CMmDrawerAnimator(CMmListBoxItemDrawer& aDrawer) :
-    CActive( AknLayoutUtils::PenEnabled() ?
-    		EPriorityRealTime : 
-			EPriorityAbsoluteRealTime8 ), iDrawer(aDrawer), 
-    iLastNotedHighlight( KErrNotFound ), iLastNotedTopItem( KErrNotFound ),
-    iLastNotedVerticalOffset( 0 ),
-    iUsualAnimationFramesCount( AknLayoutUtils::PenEnabled() ?
-    		MmEffects::KUsualAnimationFramesCount : 
-			MmEffects::KUsualAnimationFramesCountNonTouch )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmDrawerAnimator* CMmDrawerAnimator::NewLC(CMmListBoxItemDrawer& aDrawer)
-    {
-    CMmDrawerAnimator* self = new ( ELeave ) CMmDrawerAnimator(aDrawer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmDrawerAnimator* CMmDrawerAnimator::NewL(CMmListBoxItemDrawer& aDrawer)
-    {
-    CMmDrawerAnimator* self = CMmDrawerAnimator::NewLC(aDrawer);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::ConstructL()
-    {
-    User::LeaveIfError( iTimer.CreateLocal() ); // Initialize timer
-    CActiveScheduler::Add( this); // Add to scheduler
-    iPreparedForGarbage = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmDrawerAnimator::~CMmDrawerAnimator()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    iTimer.Close(); // Destroy the RTimer object
-    // Delete instance variables if any
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TBool CMmDrawerAnimator::CancelNextRedrawL()
-	{
-	RunL();
-    TTime currentTime;
-    currentTime.HomeTime();
-    return (currentTime.MicroSecondsFrom(iLastRedrawTime) 
-    		<= MmEffects::KAnimationFrameDelay);
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::RunL()
-    {      
-	if ( iPreparedForGarbage )
-		{
-		return;
-		}
-	
-    TTime currentTime;
-    currentTime.HomeTime();
-	
-   if (currentTime.MicroSecondsFrom(iLastRedrawTime) 
-    		>= MmEffects::KAnimationFrameDelay && iDrawer.GetFloatingItemCount() > 0)
-    	{
-    	Cancel();
-    	
-    	TRect refreshRect;
-    	for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-			{
-			TMmFloatingItem& current = iDrawer.GetFloatingItemAtIndex(i);
-			TSize itemSize = iDrawer.GetItemSize(current.GetDrawnItemIndex(), EFalse);
-
-			TRect beforeRect(current.GetItemPosition(), itemSize);
-			current.MakeStep();
-			TRect afterRect(current.GetItemPosition(), itemSize);
-			
-			if (current.GetFloatingItemType() == EDrag )
-				{
-				TInt dragTrail = iDrawer.GetFloatingItemIndex( EPostDragRefreshItem );
-				if (dragTrail != KErrNotFound)
-					{
-					refreshRect = (refreshRect == TRect(0,0,0,0)) ? beforeRect : refreshRect;
-					refreshRect.BoundingRect( afterRect );
-					}
-				}
-			else
-				{
-				refreshRect = (refreshRect == TRect(0,0,0,0)) ? beforeRect : refreshRect;
-				refreshRect.BoundingRect( beforeRect );
-				refreshRect.BoundingRect( afterRect );
-				}
-			}
-    	const TInt highlightedItemIndex = iDrawer.Widget()->View()->CurrentItemIndex();
-    	if ( iLastNotedHighlight != highlightedItemIndex )
-    	    {
-            TRect highlightedItemRect(
-                    iDrawer.Widget()->View()->ItemPos( highlightedItemIndex ),
-                    iDrawer.Widget()->View()->ItemSize( highlightedItemIndex ) ); 
-            refreshRect.BoundingRect( highlightedItemRect );
-            iLastNotedHighlight = highlightedItemIndex;
-    	    }
-
-    	
-    	TInt currentVerticalOffset = static_cast<CMmWidgetContainer*>(
-    	        iDrawer.Widget()->Parent() )->VerticalItemOffset();
-
-    	if (iLastNotedTopItem != iDrawer.Widget()->TopItemIndex() ||
-    	        iLastNotedVerticalOffset != currentVerticalOffset )
-    		{
-    		iDrawer.Widget()->DrawNow();
-        	iLastNotedTopItem = iDrawer.Widget()->TopItemIndex();
-        	iLastNotedVerticalOffset = currentVerticalOffset;
-    		}
-    	else
-    		{
-			if ( refreshRect != TRect(0,0,0,0))
-				{
-				TRect prev(iPreviousRefreshRect);
-				iPreviousRefreshRect = refreshRect;
-				refreshRect.BoundingRect(prev);
-				
-	            // expand rect if non-touch
-	            refreshRect = TRect( AdjustRefreshRectToNonTouch( refreshRect ) );
-	            
-	            // never draw on the outside of widget's view rectangle
-	            refreshRect.Intersection( iDrawer.Widget()->View()->ViewRect() );
-	            
-				iDrawer.Widget()->View()->Draw( &refreshRect );
-				}
-    		}
-
-    	
-		iLastRedrawTime.HomeTime();
-    	
-    	}
-    
-		if (iDrawer.GetFloatingItemCount() > 0)
-			{
-			Trigger();
-			}
-		else
-			{
-			Cancel();
-			
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( iTransTfx && iTransTfxInternal->EffectsDisabled() )
-				{
-				iTransTfx->EnableEffects( ETrue );
-	
-				if ( iTransTfx )
-					{
-					iTransTfxInternal->Remove( MAknListBoxTfxInternal::EListEverything );
-					iDrawer.Widget()->DrawNow();
-					iTransTfxInternal->Draw( iDrawer.Widget()->Rect() );
-					}
-				}
-#endif
-			}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TRect CMmDrawerAnimator::AdjustRefreshRectToNonTouch( const TRect& aRefreshRect )
-    {
-    TRect rect( aRefreshRect );
-    if( !AknLayoutUtils::PenEnabled() )
-        {
-        TRect indicatorRect( iDrawer.GetIndicatorRect() );
-        TSize itemSize( iDrawer.GetItemSize(
-                iDrawer.Widget()->CurrentItemIndex(), ETrue ) );
-        
-        TInt horizontalMargin( ( indicatorRect.Width() - itemSize.iWidth ) / 2 );
-        TInt verticalMargin( ( indicatorRect.Height() - itemSize.iHeight ) / 2 );
-        rect.iBr.iX += horizontalMargin;
-        rect.iBr.iY += verticalMargin;
-        rect.iTl.iX -= horizontalMargin;
-        rect.iTl.iY -= verticalMargin;
-        }
-    return rect;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmDrawerAnimator::Trigger()
-    {
-	if ( iPreparedForGarbage )
-		{
-		return KErrCancel;
-		}
-	
-    if (!IsActive() && iDrawer.GetFloatingItemCount() > 0 )
-        {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-		iTransTfx = CAknListLoader::TfxApi( iDrawer.Gc() );
-		iTransTfxInternal = CAknListLoader::TfxApiInternal( 
-				iDrawer.Gc() );
-	
-		if ( iTransTfx && !iTransTfxInternal->EffectsDisabled() )
-			{
-			iTransTfx->EnableEffects( EFalse );
-			
-			if ( iTransTfxInternal )
-				{
-				iTransTfxInternal->Remove( MAknListBoxTfxInternal::EListEverything );
-				iTransTfxInternal->Draw( iDrawer.Widget()->Rect() );
-				}
-			}
-#endif
-    
-        iTimer.After(iStatus, TTimeIntervalMicroSeconds32( 
-        		MmEffects::KAnimationFrameDelay ) ); 
-        SetActive();
-        }
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmDrawerAnimator::RunError(TInt aError)
-    {
-    return aError;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::AnimateDragItemTransitionL( )
-    {     
-    if (KErrNotFound != iDrawer.GetFloatingItemIndex(EDrag))
-        {
-        TMmFloatingItem floatingItem(
-                iDrawer.GetFloatingItemL(EDrag).GetDrawnItemIndex(), 
-                iDrawer.GetFloatingItemL(EDrag).GetItemPosition(), 
-                EDragTransition, iUsualAnimationFramesCount,
-                iDrawer.Widget()->View());
-        TPoint pointEnd = iDrawer.Widget()->View()->ItemPos( floatingItem.GetDrawnItemIndex() );
-        floatingItem.SetPositionStep( pointEnd - floatingItem.GetItemPosition() );
-        iDrawer.AddFloatingItemL( floatingItem, 0 );
-        iDrawer.RemoveFloatingItem( iDrawer.GetFloatingItemIndex(EDrag) );
-        }
-    }
-  
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmDrawerAnimator::IsReadyForNewAnimation()
-    {
-	if ( iPreparedForGarbage )
-		{
-		return EFalse;
-		}
-	
-    for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-        {
-        TMmFloatingItemType type 
-			= iDrawer.GetFloatingItemAtIndex(i).GetFloatingItemType();
-        if ( type != EDrag && type != EZoomTransition )
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmDrawerAnimator::CancelAnimationsL()
-    {
-    for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-        {
-        TMmFloatingItem& current = iDrawer.GetFloatingItemAtIndex(i);
-        if (current.GetFloatingItemType() != EDrag)
-            {
-            current.InvalidateFloatingItem();
-            }
-        }
-    }
-
- // -----------------------------------------------------------------------------
- //
- // -----------------------------------------------------------------------------
- // 
-void CMmDrawerAnimator::AnimateItemSwapL( TInt aItemFrom, TInt aItemTo )
-    {
-    TMmFloatingItem floatingItem( aItemTo, 
-            iDrawer.Widget()->View()->ItemPos( aItemFrom ), 
-            ESwapTransition, iUsualAnimationFramesCount,
-            iDrawer.Widget()->View() );
-      
-    for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-        {
-        TMmFloatingItem& current = iDrawer.GetFloatingItemAtIndex(i);
-
-        if (current.GetFloatingItemType() == EZoomTransition 
-                && current.GetDrawnItemIndex() == aItemFrom )
-            {
-            current.InvalidateFloatingItem();
-            floatingItem.SetSizeStep( current.GetCurrentZoomRatio(), 1.0f );
-            break;
-            }
-        }
-
-    floatingItem.SetPositionStep( iDrawer.Widget()->View()->ItemPos(aItemTo)- 
-            iDrawer.Widget()->View()->ItemPos(aItemFrom) );
-    iDrawer.AddFloatingItemL(floatingItem);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::AnimateItemZoomL( TInt aItemIndex, TBool aZoomIn )
-    {
-    TMmFloatingItem floatingItem( aItemIndex,
-            iDrawer.Widget()->View()->ItemPos( aItemIndex ),
-            EZoomTransition, iUsualAnimationFramesCount,
-            iDrawer.Widget()->View() );
-    floatingItem.SetManualDelete( aZoomIn );
-    floatingItem.SetSizeStep(
-            (aZoomIn) ? KNormalStateZoomRatio : KZoomStateZoomRatio,
-            (aZoomIn) ? KZoomStateZoomRatio : KNormalStateZoomRatio );
-
-    TInt animationFound = EFalse;
-    for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-        {
-        TMmFloatingItem& current = iDrawer.GetFloatingItemAtIndex(i);
-        if (current.GetFloatingItemType() == EZoomTransition &&
-                current.GetDrawnItemIndex() == aItemIndex )
-            {
-            current.InvalidateFloatingItem();
-            floatingItem.SetSizeStep( current.GetCurrentZoomRatio(),
-                    (aZoomIn) ? KZoomStateZoomRatio : KNormalStateZoomRatio);
-            animationFound = ETrue;
-            break;
-            }
-        }
-    
-    if ( (aZoomIn != EFalse || animationFound != EFalse) )
-        {
-        // This covers the situation, when a zoom out animation is requested
-        // whilst no zoom in occured earlier. In this case the request is 
-        // neglected.
-        iDrawer.AddFloatingItemL( floatingItem );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::SetNextRedrawToWholeScreen()
-	{
-	iPreviousRefreshRect = iDrawer.Widget()->View()->ViewRect();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::PrepareForGarbage()
-	{
-//	Cancel any outstanding requests
-	Cancel();
-	iPreparedForGarbage = ETrue;
-	}
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mmfloatingitem.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +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:  floating item
-*
-*/
-
-#include <e32math.h>
-#include <eiklbv.h>
-#include "mmfloatingitem.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TMmFloatingItem::TMmFloatingItem( TInt aDrawnIndex, TPoint aStartPosition,
-        TMmFloatingItemType aType, TInt aAnimationFrames, CListBoxView* aView ) 
-    {
-    iView = aView;
-    iSizeStep = 0;
-    iZoomRatio = 1;
-    iManualDelete = EFalse;
-    
-    if ( iView )
-        {
-        // item position is relative
-        iItemPosition = aStartPosition - iView->ItemPos( 0 );
-        }
-    else
-        {
-        // item position is absolute
-        iItemPosition = aStartPosition;
-        }
-
-    iDrawnItemIndex = aDrawnIndex;
-    iType = aType;
-    iFrames = aAnimationFrames;
-    iFrameCounter = 0;
-    CalculateSteps(TPoint(0,0));
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void TMmFloatingItem::SetPositionStep( TPoint aDiffetenceVector  )
-     {
-     ASSERT( iFrames );
-     iFrameCounter = 0;
-     CalculateSteps( aDiffetenceVector );
-     }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void TMmFloatingItem::CalculateSteps(TPoint aVector) 
-    {
-    iPositionStep.Reset();
-
-    TReal x = aVector.iX;
-    TReal y = aVector.iY;
-    
-    TReal sx = 0.0;
-    TReal sy = 0.0;
-    
-    for( TInt i = 0; i < iFrames; i++ )
-    	{
-    	TReal sin;
-    	Math::Sin( sin, (i+1) * KPi/iFrames + KPi * 3./2.  );
-    	TReal xx = x * (0.5*( sin + 1.0 ) ) - sx;
-    	TReal yy = y * (0.5*( sin + 1.0 ) ) - sy;
-    	
-    	sx += xx;
-    	sy += yy;
-    	
-    	iPositionStep.At(i) = TPoint( xx, yy );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void TMmFloatingItem::SetSizeStep( TReal aStartSize, TReal aFinalSize )
-    {
-    ASSERT( iFrames );
-    iFrameCounter = 0;
-    iZoomRatio = aStartSize;
-    iSizeStep = (aFinalSize - aStartSize) / iFrames;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//   
-TBool TMmFloatingItem::MakeStep() 
-    {
-    TBool ret(EFalse);
-    
-    if(iFrameCounter >= iFrames && iManualDelete == EFalse)
-        {
-        InvalidateFloatingItem();
-        }
-    else if (iFrameCounter < iFrames)
-        {
-        iItemPosition += iPositionStep[iFrameCounter];
-        iZoomRatio += iSizeStep;
-        ret = Abs(iPositionStep[iFrameCounter].iX) > 0 
-			|| Abs(iPositionStep[iFrameCounter].iY > 0)
-			|| Abs(iSizeStep) > 0;
-		iFrameCounter++;
-        }
-    
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void TMmFloatingItem::SetManualDelete(TBool aManual)
-    {
-    iManualDelete = aManual;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TReal TMmFloatingItem::GetCurrentZoomRatio() const
-    {
-    return iZoomRatio;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TMmFloatingItemType TMmFloatingItem::GetFloatingItemType() const
-    {
-    return iType;
-    }
-
-TInt TMmFloatingItem::GetDrawnItemIndex() const
-    {
-    return iDrawnItemIndex;
-    }
-
-TPoint TMmFloatingItem::GetItemPosition() const
-    {
-    TPoint ret;
-    if ( iView )
-        {
-        // item position is relative
-        ret = iItemPosition + iView->ItemPos( 0 );
-        }
-    else
-        {
-        // item position is absolute
-        ret = iItemPosition;
-        }
-    return ret;
-    }
-
-void TMmFloatingItem::InvalidateFloatingItem()
-    {
-    iDrawnItemIndex = KErrNotFound;
-    }
-
-TBool TMmFloatingItem::IsFloatingItemValid() const
-    {
-    return GetDrawnItemIndex() != KErrNotFound 
-		&& iType != EPostDragRefreshItem 
-		&& iType != EPostHighlightChangeRefreshItem;
-    }
-
-TBool TMmFloatingItem::IsManualDelete()
-    {
-    return iManualDelete;
-    }
-
-TInt TMmFloatingItem::GetZoomingStatus()
-    {
-    return iSizeStep;
-    }
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmgrid.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1098 +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:
-*  Version     : %version: MM_98 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include <AknsDrawUtils.h>
-#include <layoutmetadata.cdl.h>
-#include "mmgrid.h"
-#include "mmgridmodel.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmgridview.h"
-#include "mmtemplatelibrary.h"
-#include "mmlistboxmodel.h"
-#include "mmmarqueeadapter.h"
-#include "mmwidgetsconstants.h"
-#include "mmwidgetcontainer.h"
-#include "hnsuitemodel.h"
-#include "mmdraweranimator.h"
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#endif
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGrid::CMmGrid()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGrid::~CMmGrid()
-    {
-    delete iRedrawTimer;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGrid* CMmGrid::NewLC( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary)
-    {
-    CMmGrid* self = new (ELeave)CMmGrid();
-    CleanupStack::PushL(self);
-    self->ConstructL( aParent, aFlags, aTemplateLibrary );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGrid* CMmGrid::NewL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CMmGrid* self = CMmGrid::NewLC( aParent, aFlags, aTemplateLibrary );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// If a parent to the supplied control has its Gc set, this function will find
-// it and return it. (Copied from EIKLBX.CPP, needed by CMmGrid::Draw)
-// -----------------------------------------------------------------------------
-//
-LOCAL_C CWindowGc* ReplaceGcWithCustomGc( const CEikListBox* aListBox )
-    {
-    const CCoeControl* parent = aListBox;
-    CWindowGc* customGc;
-    while(parent)
-        {
-        customGc = parent->GetGc();
-        if ( customGc )
-            {
-            CListItemDrawer* itemDrawer = aListBox->View()->ItemDrawer();
-            CWindowGc* originalGc = itemDrawer->Gc();
-            if ( customGc == originalGc )
-                {
-                return NULL;
-                }
-            else
-                {
-                itemDrawer->SetGc( customGc );
-                return originalGc;
-                }
-            }
-        parent = parent->Parent();
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::Draw(const TRect& aRect) const
-    {
-    if ( View()->RedrawDisabled () || !IsVisible () )
-        {
-        return;
-        }
-    iMmDrawer->SetNumberOfColsInView(
-            static_cast<CMmGridView*>(iView)->NumberOfColsInView() );
-
-    // If a parent has a custom gc, draw listbox using that gc
-    CWindowGc* replacedGc = ReplaceGcWithCustomGc( this );
-
-    CWindowGc* gc = iItemDrawer->Gc();
-    TGulBorder::TColors borderColors;
-    iBorder.Draw(*gc, Rect(), borderColors);
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal(
-            static_cast<CMmGridView*>(iView)->Gc() );
-    TBool effects = transApi && !transApi->EffectsDisabled();
-    if ( effects )
-        {
-        // ViewRect might have been moved to the right to prevent grid items
-        // from overlapping the scrollbar in mirrored layout.
-        // However, we still have to draw scrollbar background, thus the
-        // rectangle object passed to MAknListBoxTfxInternal::BeginRedraw must
-        // be placed at (0, 0) so that it covers the area where scrollbar is
-        // drawn.
-        TRect r( View()->ViewRect().Size() );
-        transApi->BeginRedraw( MAknListBoxTfxInternal::EListView, r );
-        transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
-        }
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-
-    ClearMargins();
-    RedrawScrollbarBackground();
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if ( effects )
-        {
-        transApi->StopDrawing();
-        }
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-    iView->Draw(&aRect);
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if ( effects )
-        {
-        transApi->EndViewRedraw( aRect );
-        }
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-
-    if ( replacedGc )
-        {
-        // Stop using the custom gc
-        iItemDrawer->SetGc( replacedGc );
-        }
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::DrawView()
-    {
-    iDisableChildComponentDrawing = ETrue;
-    DrawNow(Rect());
-    iDisableChildComponentDrawing = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::CreateItemDrawerL()
-    {
-    iItemDrawer = iMmDrawer;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::CreateItemDrawerL( CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CFormattedCellListBoxData* data=CFormattedCellGridData::NewL();
-    CleanupStack::PushL(data);
-
-    iMmDrawer = CMmListBoxItemDrawer::NewL(
-        MmModel()->MmListBoxModel(), iEikonEnv->NormalFont(), data, EGrid,
-        aTemplateLibrary );
-    iItemDrawer = iMmDrawer;
-    data->SetControl( this );
-    CleanupStack::Pop( data );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleScrollEventL( CEikScrollBar* aScrollBar,
-        TEikScrollEvent aEventType )
-    {
-    if ( aEventType == EEikScrollThumbDragVert && !iScrollbarThumbIsBeingDragged )
-        {
-        iScrollbarThumbIsBeingDragged = ETrue;
-        static_cast<CMmListBoxItemDrawer*>(
-                View()->ItemDrawer() )->EnableCachedDataUse( ETrue );
-        iRedrawTimer->Start( KScrollingRedrawInterval, KScrollingRedrawInterval,
-                TCallBack( &CMmGrid::RedrawTimerCallback, static_cast<TAny*>( this ) ) );
-        }
-    else if ( aEventType == EEikScrollThumbReleaseVert )
-        {
-        iScrollbarThumbIsBeingDragged = EFalse;
-        static_cast<CMmListBoxItemDrawer*>(
-                View()->ItemDrawer() )->EnableCachedDataUse( EFalse );
-        // The view will be redrawn with cache disabled when ProcessScrollEventL
-        // calls the base class's HandleScrollEventL method -- no need to
-        // explicitly redraw the view.
-        iRedrawTimer->Cancel();
-        }
-
-    if ( !iScrollbarThumbIsBeingDragged )
-        {
-        ProcessScrollEventL( aScrollBar, aEventType );
-        }
-    else
-        {
-        __ASSERT_DEBUG( aEventType == EEikScrollThumbDragVert, User::Invariant() );
-        ++iSkippedScrollbarEventsCount;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Clearing ELeftDownInViewRect flag before invoking the base class
-// HandlePointerEventL method effectively prevents that method from doing most
-// of the things it would normally do in response to EButton1Down event.
-// This flag is explicitly cleared to achieve two things:
-// 1. Prevent kinetic scrolling (flick) in edit mode.
-// 2. Prevent highlight removal when popup menu is displayed.
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandlePointerEventInEditModeL( const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        iButton1DownPos = aPointerEvent.iPosition;
-        }
-    else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-        {
-        CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-        TPoint dragDelta = iButton1DownPos - aPointerEvent.iPosition;
-        if ( Abs( dragDelta.iY ) > KDragTreshold || parent->LongTapInProgress() )
-            {
-            iListBoxFlags &= ~ELeftDownInViewRect;
-            }
-        }
-
-    TInt itemUnderPointerIndex = KErrNotFound;
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Up ||
-            aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        CAknGrid::HandlePointerEventL( aPointerEvent );
-        }
-    else if ( View()->XYPosToItemIndex(
-            aPointerEvent.iPosition, itemUnderPointerIndex ) )
-        {
-        if ( CurrentItemIndex() != itemUnderPointerIndex )
-            {
-            CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-    		if ( parent->IsNoItemDragged() )
-    			{
-    			if ( ItemDrawer()->Flags() & CListItemDrawer::EPressedDownState )
-    				{
-    				ItemDrawer()->ClearFlags( CListItemDrawer::EPressedDownState );
-    				iView->DrawItem( CurrentItemIndex() );
-    				}
-    			}
-    		else
-    			{
-    			iView->SetCurrentItemIndex( itemUnderPointerIndex );
-				iView->DrawItem(itemUnderPointerIndex);
-    			}
-            }
-        }
-
-    HandleScrollingInEditMode( aPointerEvent );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandlePointerEventInNormalModeL( const TPointerEvent& aPointerEvent )
-    {
-    CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-		{
-        const TInt KIgnoreRectSize = 40;
-        TRect ignoreDragRect(aPointerEvent.iPosition,
-                TSize(KIgnoreRectSize, KIgnoreRectSize));
-        ignoreDragRect.Move( - KIgnoreRectSize / 2, - KIgnoreRectSize / 2 );
-        Window().RequestPointerRepeatEvent( 50000, ignoreDragRect );
-		}
-    else if ( aPointerEvent.iType == TPointerEvent::EButtonRepeat )
-        {
-        HandleButtonRepeatEventInNormalModeL( aPointerEvent );
-        }
-	CAknGrid::HandlePointerEventL(aPointerEvent);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleButtonRepeatEventInNormalModeL(
-        const TPointerEvent& aPointerEvent )
-    {
-    TInt itemUnderPointerIndex = KErrNotFound;
-    TBool itemFound = View()->XYPosToItemIndex(
-            aPointerEvent.iPosition, itemUnderPointerIndex );
-    if ( !itemFound )
-        {
-        return;
-        }
-
-    View()->ItemDrawer()->SetFlags( CListItemDrawer::EPressedDownState );
-    CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-    TBool highlightWasVisible = parent->IsHighlightVisible();
-
-    if( itemUnderPointerIndex == View()->CurrentItemIndex() )
-        {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-        MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                iMmDrawer->Gc() );
-         if ( transApi )
-             {
-             transApi->Remove( MAknListBoxTfxInternal::EListHighlight );
-             View()->DrawItem( itemUnderPointerIndex );
-             TRect itemUnderPointerIndexRect (
-                     View()->ItemPos(itemUnderPointerIndex),
-                     View()->ItemSize(itemUnderPointerIndex));
-             transApi->Draw( itemUnderPointerIndexRect );
-             }
-         else
-        	 {
-        	 View()->DrawItem( itemUnderPointerIndex );
-        	 }
-#else
-         View()->DrawItem( itemUnderPointerIndex );
-#endif
-        }
-     else
-        {
-        TInt previouslyHighlightedItemIndex = View()->CurrentItemIndex();
-        parent->SetManualHighlightL( itemUnderPointerIndex , EFalse );
-        if ( highlightWasVisible )
-            {
-            View()->DrawItem( previouslyHighlightedItemIndex );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleScrollingInEditMode( const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EDrag
-            || aPointerEvent.iType == TPointerEvent::EButtonRepeat )
-        {
-        TInt nextScrollDelay = ScrollIfNeeded( aPointerEvent );
-        if ( nextScrollDelay )
-            {
-            TRect ignoreDragRect(
-                TPoint(aPointerEvent.iParentPosition.iX - MmEffects::KDragIgnoreRectValue,
-                    aPointerEvent.iParentPosition.iY - MmEffects::KDragIgnoreRectValue),
-                TPoint(aPointerEvent.iParentPosition.iX + MmEffects::KDragIgnoreRectValue,
-                    aPointerEvent.iParentPosition.iY + MmEffects::KDragIgnoreRectValue));
-
-            Window().CancelPointerRepeatEventRequest();
-            Window().RequestPointerRepeatEvent( nextScrollDelay, ignoreDragRect );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGrid::IsPointerInTopScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const
-    {
-    TInt topScrollingTreshold = Rect().iTl.iY
-        + ( MmEffects::KFocusScrollingThreshold
-            * TReal( View()->ItemSize().iHeight ) );
-
-    return ( aPointerEvent.iPosition.iY < topScrollingTreshold );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGrid::IsPointerInBottomScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const
-    {
-    TInt bottomScrollingTreshold = Rect().iBr.iY
-        - ( MmEffects::KFocusScrollingThreshold
-            * TReal( View()->ItemSize().iHeight ) );
-
-    return ( aPointerEvent.iPosition.iY > bottomScrollingTreshold );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::ScrollWithoutRedraw( TInt distanceInPixels )
-    {
-    CAknGridView* view = static_cast<CAknGridView*>( iView );
-    const TInt rowHeight = ItemHeight();
-    const TInt numOfCols = view->NumberOfColsInView();
-    const TInt itemCount = iModel->NumberOfItems();
-    TInt totalNumberOfRows = itemCount / numOfCols;
-    if ( itemCount % numOfCols )
-        {
-        ++totalNumberOfRows;
-        }
-    const TInt topItemRowIndex = TopItemIndex() / numOfCols;
-    
-    // desired view position relative to the first item in grid (always positive)
-    TInt desiredViewPosition = rowHeight * topItemRowIndex - VerticalItemOffset();
-    
-    desiredViewPosition += distanceInPixels;
-    
-    const TInt viewPositionMin = 0;
-    const TInt viewPositionMax = 
-		Max( 0, ( totalNumberOfRows * rowHeight ) - view->ViewRect().Height() );
-    
-    desiredViewPosition = Min( desiredViewPosition, viewPositionMax );
-    desiredViewPosition = Max( desiredViewPosition, viewPositionMin );
-   
-    ASSERT( desiredViewPosition >= 0 );
-    
-    TInt newTopItemIndex = ( desiredViewPosition / rowHeight ) * numOfCols;
-    TInt newVerticalOffset = -( desiredViewPosition % rowHeight ); 
-    SetTopItemIndex( newTopItemIndex );
-    SetVerticalItemOffset( newVerticalOffset );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::ScrollIfNeeded( const TPointerEvent& aPointerEvent )
-    {
-    CAknGridView* view = static_cast<CAknGridView*>( View() );
-    TInt nextScrollDelay = 0;
-
-    TBool readyForScrolling = iMmDrawer->GetAnimator()->IsReadyForNewAnimation()
-		&& iMmDrawer->GetFloatingItemCount() != 0;
-
-	if ( IsPointerInTopScrollingThreshold( aPointerEvent ) )
-		{
-		// scroll up by one row
-		TInt newCurrentItemIndex = CurrentItemIndex() - view->NumberOfColsInView();
-        if ( newCurrentItemIndex < 0 )
-            {
-            newCurrentItemIndex = CurrentItemIndex();
-            }
-
-       nextScrollDelay = MmEffects::KEditModeScrollingDelayFactor *
-		   Max( 1, aPointerEvent.iPosition.iY - Rect().iTl.iY );
-
-		if ( readyForScrolling )
-			{
-			ScrollWithoutRedraw( -iItemHeight );
-			View()->SetCurrentItemIndex( newCurrentItemIndex );
-			}
-		}
-	else if ( IsPointerInBottomScrollingThreshold( aPointerEvent) )
-		{
-		TInt newCurrentItemIndex = CurrentItemIndex() + view->NumberOfColsInView();
-		if ( newCurrentItemIndex > iModel->NumberOfItems() - 1 )
-			{
-			newCurrentItemIndex = CurrentItemIndex();
-			}
-	
-		nextScrollDelay = MmEffects::KEditModeScrollingDelayFactor *
-			Max( 1, Rect().iBr.iY - aPointerEvent.iPosition.iY );
-
-		if ( readyForScrolling )
-			{
-			ScrollWithoutRedraw( iItemHeight );
-			View()->SetCurrentItemIndex( newCurrentItemIndex );
-			}
-		}
-
-    return nextScrollDelay;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-//    if ( aPointerEvent.iType == TPointerEvent::EButton1Down &&
-//            iMmDrawer->CachedDataUseIsEnabled() )
-//        {
-//        // Touching the screen stops flick but avkon does not send us
-//        // MEikListBoxObserver::EEventFlickStopped event in such case.
-//        // Thus this little hack:
-//        iMmDrawer->EnableCachedDataUse( EFalse );
-//        DrawView();
-//        }
-
-    CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-    if ( parent->IsEditMode() )
-        {
-        HandlePointerEventInEditModeL( aPointerEvent );
-        }
-    else
-        {
-        HandlePointerEventInNormalModeL( aPointerEvent );
-        }
-
-    if ( iMmDrawer->GetFloatingItemCount() > 0 &&
-            iMmDrawer->GetAnimator()->IsActive() )
-        {
-        iMmDrawer->GetAnimator()->CancelNextRedrawL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleOverridenHighlightDrawing( const TPointerEvent& aPointerEvent,
-        TInt aIndexBefore, TInt aIndexAfter )
-    {
-    // In grid our behaviour is a little different than defalt avkon.
-    // It is required to clean the highlight after the finger has been raised,
-    // and simulate the tap effect, when an item that has an invisible
-    // highlight is tapped again.
-    TBool effects (EFalse);
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-        MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                iMmDrawer->Gc() );
-        effects = transApi && !transApi->EffectsDisabled();
-#endif
-    if (effects)
-        {
-        CMmWidgetContainer* parent = static_cast< CMmWidgetContainer* > ( Parent() );
-        if ( aIndexBefore == aIndexAfter
-                && !parent->IsEditMode()
-                && aPointerEvent.iType == TPointerEvent::EButton1Down )
-            {
-            DrawItem( aIndexAfter );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-            MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                    iMmDrawer->Gc() );
-             if ( transApi )
-                 {
-                 transApi->SetMoveType( MAknListBoxTfxInternal::EListTap);
-                 transApi->Draw( Rect() );
-                 }
-#endif
-            }
-        else if ( aIndexBefore == aIndexAfter
-                && aPointerEvent.iType == TPointerEvent::EButton1Up
-                && !parent->IsHighlightVisible())
-            {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-            MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                    iMmDrawer->Gc() );
-             if ( transApi )
-                 {
-                 transApi->Draw( Rect() );
-                 }
-#endif
-            }
-        }
-
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::FixViewForMirroredLayout()
-    {
-    TInt scrollbarWidth = ScrollBarOffset() +
-            ScrollBarFrame()->VerticalScrollBar()->Rect().Width();
-    TRect r( View()->ViewRect() );
-    TInt currentShift = r.iTl.iX;
-    TBool scrollbarVisible = ScrollBarFrame()->VerticalScrollBar()->IsVisible();
-    TBool layoutMirrored = AknLayoutUtils::LayoutMirrored();
-
-    if ( layoutMirrored )
-        {
-        // Extra width, which results from the fact that it is not always
-        // possible to divide screen width by the number of columns without
-        // a non-zero remainder. This makes the distance of grid items from
-        // scrollbar in mirrored layout exactly the same as in normal layout.
-        scrollbarWidth += ( r.Width() - scrollbarWidth ) %
-            ( (CAknGridView*) View() )->NumberOfColsInView();
-        }
-
-    if ( layoutMirrored && scrollbarVisible && currentShift != scrollbarWidth )
-        {
-        // shift view rect to the right
-        r.Move( scrollbarWidth - currentShift, 0 );
-        View()->SetViewRect( r );
-        }
-    else if ( ( !layoutMirrored || !scrollbarVisible ) && currentShift != 0 )
-        {
-        // restore view rect to its normal position
-        r.Move( -currentShift, 0 );
-        View()->SetViewRect( r );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::ConstructL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary )
-    {
-    iDisableChildComponentDrawing = EFalse;
-    iModel = iMmModel = CMmGridModel::NewL();
-    CreateItemDrawerL(aTemplateLibrary);
-    CAknGrid::ConstructL( aParent, aFlags );
-    iMmDrawer->SetView( this );
-
-    //set initial value so avkon does not panic
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        iViewLayout = TSize( MmGrid::K4By3LayoutX, MmGrid::K4By3LayoutY );
-        }
-    else
-        {
-        iViewLayout = TSize( MmGrid::K3By4LayoutX, MmGrid::K3By4LayoutY );
-        }
-
-    DoSetupLayoutL();
-    iRedrawTimer = CPeriodic::NewL( EPriorityRealTime );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CListBoxView* CMmGrid::MakeViewClassInstanceL()
-    {
-    return CMmGridView::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridModel* CMmGrid::MmModel()
-    {
-    return iMmModel;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMmGrid::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
-    {
-    TKeyEvent eventCopy( aKeyEvent );
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        if ( eventCopy.iCode == EKeyLeftArrow )
-            {
-            eventCopy.iCode = EKeyRightArrow;
-            }
-        else if ( eventCopy.iCode == EKeyRightArrow )
-            {
-            eventCopy.iCode = EKeyLeftArrow;
-            }
-        }
-    return CAknGrid::OfferKeyEventL( eventCopy, aType );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleViewRectSizeChangeL()
-    {
-    if ( !AknLayoutUtils::LayoutMirrored() )
-        {
-        CAknGrid::HandleViewRectSizeChangeL();
-        }
-    else
-        {
-        // for mirrored layout this function should do
-        // exactly the same things as CAknGrid::HandleViewRectSizeChangeL
-        // would do for normal layout
-        iView->CalcBottomItemIndex();
-        if ( CurrentItemIndex() >= 0 )
-            {
-            AdjustTopItemIndex();
-            iView->CalcDataWidth();
-            UpdateScrollBarsL();
-            iView->CalcBottomItemIndex();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::AdjustTopItemIndex() const
-    {
-    CAknGridView* view = static_cast<CAknGridView*>( iView );
-    const TInt numOfCols = view->NumberOfColsInView();
-    const TInt numOfRows = view->NumberOfRowsInView();
-    const TInt itemCount = iModel->NumberOfItems();
-
-    ASSERT( numOfCols > 0 );
-
-    TInt lastRow = 0;
-    if ( itemCount > 0 )
-        {
-        lastRow = ( itemCount - 1 ) / numOfCols;
-        }
-    TInt maxPossibleTopRow = Max( 0, lastRow - numOfRows + 1 );
-
-    TInt topRow = TopItemIndex() / numOfCols;
-
-    if ( !( TopItemIndex() % numOfCols == 0 &&
-         topRow <= maxPossibleTopRow ) )
-        {
-        topRow = Min( topRow, maxPossibleTopRow );
-        SetTopItemIndex( topRow * numOfCols );
-        }
-
-    // prevent problems with view being scrolled up beyond limits
-    if ( topRow == maxPossibleTopRow && VerticalItemOffset() < 0 )
-        {
-        TRAP_IGNORE(
-                ( ( CMmWidgetContainer* ) Parent() )->AlignBottomOfViewL() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::DoHandleResourceChangeL( TSize& aCellSize,
-        TSize& aViewLayout )
-    {
-    TBool cond = Layout_Meta_Data::IsLandscapeOrientation();
-    TRAPD( err, DoHandleResourceChangeL( cond, aCellSize, aViewLayout ) );
-    if ( err == KErrNotFound )
-        {
-        aViewLayout = iViewLayout;
-        aCellSize = TSize (1,1);
-        }
-    else if ( err == KErrNoMemory )
-        {
-        User::Leave( KErrNoMemory );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::DoHandleResourceChangeL( TBool aIsLandscape, TSize& aCellSize,
-        TSize& aViewLayout )
-    {
-    CHnSuiteModel* model = iMmModel->MmListBoxModel()->GetSuiteModel();
-    const TDesC8& templ = (model) ? model->GetTemplate() : KNullDesC8();
-    aCellSize = iMmDrawer->TemplateLibrary()->GetSize(
-        EGrid, templ, aIsLandscape, EFalse, iView->ViewRect() );
-    aViewLayout = iMmDrawer->TemplateLibrary()->GetLayoutSizeL(
-        EGrid, templ, aIsLandscape );
-    iViewLayout = aViewLayout;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetItemDrawerAndViewBgContext(
-        CAknsBasicBackgroundControlContext * aBgContext )
-    {
-    iMmDrawer->SetBgContext (aBgContext);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGrid::HandleScrollbarVisibilityChangeL()
-    {
-    TBool ret = EFalse;
-    if ( AllItemsFitInViewRect() )
-        {
-        if ( ScrollBarFrame()->VerticalScrollBar()->IsVisible()
-             || iMmDrawer->TemplateLibrary()->GetScrollbarVisibility() )
-            {
-            ScrollBarFrame()->VerticalScrollBar()->MakeVisible( EFalse );
-            iMmDrawer->SetScrollbarVisibilityL( EFalse );
-            SetTopItemIndex( 0 );
-            iCurrentTopItemIndex = 0;
-            ret = ETrue;
-            }
-        }
-    else if ( !ScrollBarFrame()->VerticalScrollBar()->IsVisible()
-            || !iMmDrawer->TemplateLibrary()->GetScrollbarVisibility() )
-        {
-        ScrollBarFrame()->VerticalScrollBar()->MakeVisible( ETrue );
-        iMmDrawer->SetScrollbarVisibilityL( ETrue );
-        ret = ETrue;
-        }
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-
-TBool CMmGrid::AllItemsFitInViewRect()
-    {
-    if ( iMmModel->NumberOfItems() <= iViewLayout.iWidth * iViewLayout.iHeight
-            || iViewLayout == TSize(0,0) )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::UpdateScrollBarsL()
-    {
-    TBool visibilityChanged = HandleScrollbarVisibilityChangeL();
-    if (ScrollBarFrame()->VerticalScrollBar()->IsVisible())
-        {
-        CAknGrid::UpdateScrollBarsL();
-        }
-    iCurrentTopItemIndex = TopItemIndex();
-    iMmDrawer->TemplateLibrary()->SetScrollbarWidthL(
-            ScrollBarFrame()->VerticalScrollBar()->Rect().Width() + ScrollBarOffset() );
-    FixViewForMirroredLayout();
-    if ( visibilityChanged )
-        {
-        CMmGridView* view = static_cast<CMmGridView*>( iView );
-        view->UpdateItemHeightAndWidth();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter )
-    {
-    iMarqueeAdapter = aAdapter;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetupLayout()
-    {
-    TRAP_IGNORE( DoSetupLayoutL() );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::DoSetupLayoutL()
-    {
-    TSize cellSize;
-    TSize viewLayout;
-    DoHandleResourceChangeL( cellSize, viewLayout );
-//  The mirrored layout arabic item lineout ( right to left )
-//  is handled by CMmGridView::ItemPos( TInt aItemIndex )
-//  and CMmGridView::XYPosToItemIndex( TPoint aPosition, TInt& aItemIndex )
-    SetLayoutL( EFalse, ETrue /*!AknLayoutUtils::LayoutMirrored()*/, ETrue, viewLayout.iWidth,
-        viewLayout.iHeight, cellSize, 0, 0 );
-    iMmDrawer->SetNumberOfColsInView(
-            static_cast<CMmGridView*>(iView)->NumberOfColsInView() );
-    // setting the top item index when changing orientation
-    TInt cols( static_cast<CMmGridView*>(iView)->NumberOfColsInView() );
-    SetTopItemIndex( ( (TInt) ( iCurrentTopItemIndex / cols ) ) * cols );
-    UpdateScrollBarsL();
-    AknsUtils::RegisterControlPosition( iMmDrawer->FormattedCellData()->Control() );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::ScrollBarOffset()
-    {
-    TInt offset = 0;
-    if ( ScrollBarFrame()->ScrollBarExists( CEikScrollBar::EVertical ) )
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            offset = ScrollBarFrame()->VerticalScrollBar()->Position().iX;
-            }
-        else
-            {
-            offset = View()->ViewRect().Width()
-                    - ( ScrollBarFrame()->VerticalScrollBar()->Position().iX
-                        + ScrollBarFrame()->VerticalScrollBar()->Rect().Width() );
-            }
-        }
-    return offset;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::RedrawScrollbarBackground() const
-    {
-    TRect viewRect( View()->ViewRect() );
-    if ( viewRect.iTl.iX > 0 )
-        {
-        TRect scrollbarRect( TPoint( 0, 0 ),
-                TSize( viewRect.iTl.iX, viewRect.Height() ) );
-
-        CWindowGc* gc = iItemDrawer->Gc();
-        CMmListBoxItemDrawer* itemDrawer =
-                static_cast<CMmListBoxItemDrawer*>( iItemDrawer );
-        MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-        CCoeControl* control = itemDrawer->FormattedCellData()->Control();
-        MAknsControlContext *cc = AknsDrawUtils::ControlContext( control );
-        if( gc )
-            {
-            if ( control )
-                {
-                AknsDrawUtils::Background( skin, cc, control, *gc, scrollbarRect );
-                }
-            else
-                {
-                gc->SetBrushColor( BackColor() );
-                gc->Clear( scrollbarRect );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::ProcessScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType )
-    {
-    CAknGrid::HandleScrollEventL( aScrollBar, aEventType );
-    iCurrentTopItemIndex = TopItemIndex();
-
-    // setting default highligh in order not to overwrite the top item index
-    // set before in the SetLayout method
-    CMmWidgetContainer* parent = static_cast< CMmWidgetContainer* > ( Parent() );
-    if (!parent->IsHighlightVisible())
-         {
-         parent->SetDefaultHighlightL( EFalse );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-         MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal(
-                 static_cast<CMmGridView*>(iView)->Gc() );
-         TBool effects = transApi && !transApi->EffectsDisabled();
-         if ( effects && aEventType == EEikScrollPageUp ||
-                 aEventType == EEikScrollPageDown )
-             {
-             DrawNow();
-             }
-#endif
-
-         }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleRedrawTimerEvent()
-    {
-    if ( iSkippedScrollbarEventsCount )
-        {
-        ProcessScrollEventL( ScrollBarFrame()->VerticalScrollBar(),
-                EEikScrollThumbDragVert );
-        }
-    iSkippedScrollbarEventsCount = 0;
-    }
-    
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::RedrawTimerCallback( TAny* aPtr )
-    {
-    CMmGrid* self = static_cast<CMmGrid*>( aPtr );
-    self->HandleRedrawTimerEvent();
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetVerticalItemOffset(TInt aOffset)
-	{
-	static_cast<CMmGridView*> (View())->SetItemOffsetInPixels(aOffset);
-	UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::VerticalItemOffset() const
-	{
-	return static_cast<CMmGridView*> (View())->VerticalItemOffset();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetItemHeight( TInt aItemHeight )
-	{
-	iItemHeight = aItemHeight;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::UpdateScrollBarThumbs()
-	{
-	CAknGrid::UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::CountComponentControls() const
-    {
-    TInt componentControls(0);
-    if ( !iDisableChildComponentDrawing )
-    	{
-        componentControls = CAknGrid::CountComponentControls();
-    	}
-    return componentControls;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetDisableChildComponentDrawing( TBool aDisable )
-    {
-    iDisableChildComponentDrawing = aDisable;
-    }
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mmgridcontainer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +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:
-*  Version     : %version: MM_74 % << Don't touch! Updated by Synergy at check-out.
-*  Version     : %version: MM_74 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include "mmgridcontainer.h"
-#include "mmgridmodel.h"
-#include "mmlistboxmodel.h"
-#include "mmmarqueeadapter.h"
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include <layoutmetadata.cdl.h>
-#include "hnsuitemodel.h"
-#include "mmgrid.h"
-#include "mmwidgetsconstants.h"
-#include "hnglobals.h"
-#include "mmpostevaluationprocessor.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmdraweranimator.h"
-
-// -----------------------------------------------------------------------------
-// CMmGridContainer::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CMmGridContainer* CMmGridContainer::NewLC( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aLibrary )
-    {
-    CMmGridContainer* self = new( ELeave ) CMmGridContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aObjectProvider, aLibrary );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CMmGridContainer::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CMmGridContainer* CMmGridContainer::NewL( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aLibrary )
-    {
-    CMmGridContainer* self = NewLC( aRect, aObjectProvider, aLibrary);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CMmGridContainer::CMmGridContainer()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CMmGridContainer::CMmGridContainer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CAknGrid* CMmGridContainer::Grid()
-    {
-    return iGrid;
-    }
-// -----------------------------------------------------------------------------
-// CMmGridContainer::~CMmGridContainer()
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CMmGridContainer::~CMmGridContainer()
-    {
-    delete iGrid;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-THnSuiteWidgetType CMmGridContainer::WidgetType()
-	{
-	return EGridWidget;
-	}
-// -----------------------------------------------------------------------------
-// CMmGridContainer::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::ConstructL( const TRect& aRect, MObjectProvider* aObjectProvider,
-        CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CMmWidgetContainer::ConstructL();
-
-    SetMopParent( aObjectProvider );
-    CreateWindowL(); // Creates window.
-    iWidget = CreateGridL(aTemplateLibrary);
-    iWidget->SetListBoxObserver( this );
-    SetRect( aRect ); // Sets rectangle of frame.
-    ActivateL(); // Activates window. ( Ready to draw )
-    SetupDrawer();
-    SetHighlightVisibilityL( !AknLayoutUtils::PenEnabled() );
-    iPostProcessor = CMmPostEvaluationProcessor::NewL( *iDrawer );
-    }
-
-// -----------------------------------------------------------------------------
-// CMmGridContainer::CreateGridL()
-// Constructs listbox from resource, creates scroll bar and sets empty
-// list background text.
-// -----------------------------------------------------------------------------
-//
-CMmGrid* CMmGridContainer::CreateGridL( CMmTemplateLibrary* aTemplateLibrary )
-    {
-    iGrid = CMmGrid::NewL( this,
-    		EAknListBoxSelectionList | EAknListBoxLoopScrolling | EAknListBoxDisableHighlight , aTemplateLibrary );
-    iGrid->SetContainerWindowL( *this );
-    iGrid->CreateScrollBarFrameL( ETrue );
-    iGrid->SetPrimaryScrollingType(
-    			CAknGridView::EScrollFollowsItemsAndLoops );
-    iGrid->SetSecondaryScrollingType(
-    			CAknGridView::EScrollFollowsGrid );
-    iGrid->ScrollBarFrame()->SetScrollBarVisibilityL(
-    		CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto );
-    iGrid->ScrollBarFrame()->DrawBackground( EFalse, EFalse );
-    return iGrid;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SizeChanged()
-    {
-    CMmWidgetContainer::SizeChanged();
-    if ( iGrid )
-    	{
-//    	iGrid->SetRect( Rect() );
-        iGrid->SetupLayout();
-        }
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetEditModeL( TBool aIsEditMode )
-    {
-	if (aIsEditMode && !AknLayoutUtils::PenEnabled() )
-		{
-		iGrid->SetPrimaryScrollingType(
-				CAknGridView::EScrollStops );
-		iGrid->SetSecondaryScrollingType(
-				CAknGridView::EScrollStops );
-        }
-    else
-    	{
-    	iGrid->SetPrimaryScrollingType(
-    	    			CAknGridView::EScrollFollowsItemsAndLoops );
-    	iGrid->SetSecondaryScrollingType(
-    	    			CAknGridView::EScrollFollowsGrid );
-
-    	}
-
-	// In EditMode we allow Avkon to redraw scrollbar background
-	// to prevent scrollbar flicking.
-	// When edit mode is disabled, this redrawing causes performance problems
-	// (and disabling it does not produce erroneous side-effects).
-	if( aIsEditMode )
-		{
-	    iGrid->ScrollBarFrame()->DrawBackground( EFalse, ETrue );
-		}
-	else
-		{
-	    iGrid->ScrollBarFrame()->DrawBackground( EFalse, EFalse );
-		}
-
-    CMmWidgetContainer::SetEditModeL( aIsEditMode );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmGridContainer::SetEmptyTextL(const TDesC& aText)
-    {
-    iGrid->SetEmptyGridTextL( aText );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmGridContainer::SetDefaultHighlightL(  TBool aRedraw )
-    {
-    TInt defaultHighlight( 0 );
-    SetManualHighlightL( defaultHighlight + DefaultHighlightOffset(), aRedraw );
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGridContainer::DefaultHighlightOffset()
-	{
-	TInt topVisibleItemIndex = iGrid->View()->TopItemIndex();
-	TInt hiddenPixels = -iGrid->View()->ItemOffsetInPixels();
-
-	if ( iGrid->View()->ItemIsPartiallyVisible( topVisibleItemIndex )
-		&& hiddenPixels > iGrid->View()->ItemSize().iHeight / 2 )
-		{
-		topVisibleItemIndex += ColumnsInCurrentView();
-		}
-
-	return topVisibleItemIndex;
-	}
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxModel* CMmGridContainer::GetMmModel()
-    {
-    return iGrid->MmModel()->MmListBoxModel();
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetItemDrawerAndViewBgContext(
-		CAknsBasicBackgroundControlContext * aBgContext )
-	{
-	iGrid->SetItemDrawerAndViewBgContext (aBgContext);
-	}
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetupWidgetLayoutL()
-	{
-	User::LeaveIfNull( iGrid );
-	iGrid->SetupLayout();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetSuiteModelL( CHnSuiteModel* aModel )
-    {
-    CMmWidgetContainer::SetSuiteModelL( aModel );
-    if ( aModel )
-        {
-        aModel->SetActiveL( !AknLayoutUtils::PenEnabled() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetHighlightVisibilityL( TBool aVisible )
-    {
-    CMmWidgetContainer::SetHighlightVisibilityL( aVisible );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmGridContainer::HandleItemAdditionL()
-	{
-	iGrid->HandleItemAdditionL();
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmGridContainer::HandleItemRemovalL()
-	{
-
-	GetMmModel()->HandleSuiteEventL( ESuiteItemsRemoved, GetMmModel()->GetSuiteModel() );
-	ValidateWidgetCurrentItemIndex();
-	iDrawer->RemoveFloatingItems();
-	if( IsEditMode() )
-		{
-		iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
-		}
-
-	CacheWidgetPosition();
-	iGrid->HandleItemRemovalL();
-	RestoreWidgetPosition();
-	CacheWidgetPosition();
-
-	if ( iCurrentHighlight != iGrid->CurrentItemIndex() )
-		{
-		iCurrentHighlight = iGrid->CurrentItemIndex();
-		if( !iCurrentHighlight && !iGrid->Model()->NumberOfItems() )
-			{
-			iCurrentHighlight = KErrNotFound ;
-			}
-		CHnSuiteModel* suiteModel = GetSuiteModelL();
-		if ( suiteModel )
-		    {
-		    suiteModel->SetSuiteHighlightL( iCurrentHighlight );
-		    }
-		}
-	static_cast<CMmListBoxItemDrawer*>( iGrid->ItemDrawer() )->TrimCacheSize(
-            GetMmModel()->NumberOfItems() );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmGridContainer::ColumnsInCurrentView()
-	{
-	CAknGridView* view ( (CAknGridView*) iGrid->View() );
-	return view->NumberOfColsInView();
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmGridContainer::RowsInCurrentView()
-    {
-    CAknGridView* view ( (CAknGridView*) iGrid->View() );
-    return view->NumberOfRowsInView();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmGridContainer::DrawView()
-    {
-    iGrid->DrawView();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetVerticalItemOffset( TInt aOffset )
-	{
-	iGrid->SetVerticalItemOffset( aOffset );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGridContainer::VerticalItemOffset() const
-	{
-	return iGrid->VerticalItemOffset();
-	}
-
-//----------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmGridContainer::UpdateViewScrollBarThumbs()
-	{
-	iGrid->UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGridContainer::ItemIsVisible( TInt aItemIndex ) const
-    {
-    CListBoxView* v = iGrid->View();
-    TRect itemRect( v->ItemPos( aItemIndex ), v->ItemSize( aItemIndex ) );
-    TRect viewRect = v->ViewRect();
-    TBool isVisible = EFalse;
-    if ( itemRect.Intersects( viewRect ) )
-        {
-        TRect intersection = itemRect;
-        intersection.Intersection( viewRect );
-        isVisible = intersection.Height() > 1 && intersection.Width() > 1;
-        }
-    return isVisible;
-    }
-
-// End of File
-
--- a/menufw/menufwui/mmwidgets/src/mmgridmodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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:  
-*
-*/
-
-
-#include "mmgridmodel.h"
-#include "mmlistboxmodel.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmGridModel::CMmGridModel()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmGridModel::~CMmGridModel()
-    {
-    delete iMmListBoxModel;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmGridModel* CMmGridModel::NewLC()
-    {
-    CMmGridModel* self = new (ELeave)CMmGridModel();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmGridModel* CMmGridModel::NewL()
-    {
-    CMmGridModel* self = CMmGridModel::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//      
-TInt CMmGridModel::NumberOfItems() const
-    {
-    return CAknGridM::NumberOfItems();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmGridModel::ConstructL()
-    {
-    iMmListBoxModel = CMmListBoxModel::NewL();
-    delete iItemTextArray;
-    iItemTextArray = iMmListBoxModel->ItemTextArray();
-    SetOwnershipType(ELbmDoesNotOwnItemArray);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmGridModel::ConstructL(MDesCArray* /*aItemTextArray*/, 
-		TListBoxModelItemArrayOwnership /*aOwnershipType*/)
-    {
-    //do not delete this is needed to cheat AVKON
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel* CMmGridModel::MmListBoxModel()
-    {
-    return iMmListBoxModel;
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmgridview.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +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:
-*
-*/
-
-
-#include <eikfrlbd.h>
-
-#include "mmgridview.h"
-#include "mmgrid.h"
-#include "mmlistboxitemdrawer.h"
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#endif
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridView::CMmGridView() :
-    iLastCurMove( ECursorFirstItem ), iOldIndex( KErrNotFound )
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridView::~CMmGridView()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridView* CMmGridView::NewLC()
-    {
-    CMmGridView* self = new (ELeave)CMmGridView();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridView* CMmGridView::NewL()
-    {
-    CMmGridView* self = CMmGridView::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TPoint CMmGridView::ItemPos( TInt aItemIndex ) const
-    {
-    if ( aItemIndex < 0 )
-        {
-        // let avkon handle the insane cases
-        return CAknGridView::ItemPos( aItemIndex );
-        }
-
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        const TInt colNum = NumberOfColsInView();
-        TInt itemCol = aItemIndex % colNum;
-        TInt mirroredItemCol = colNum - itemCol - 1;
-        aItemIndex = aItemIndex - itemCol + mirroredItemCol;
-        }
-    
-    // return CAknGridView::ItemPos( aItemIndex );
-    return CorrectItemPos( aItemIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TPoint CMmGridView::CorrectItemPos( TInt aItemIndex ) const
-    {
-    // it the assertion below fails, review this implementation to make sure that
-    // primary vertical case is handled correctly
-    ASSERT( !IsPrimaryVertical() );
-    
-    ASSERT( aItemIndex >= 0 );
-    const TInt colNum = NumberOfColsInView();
-    TInt itemRow = aItemIndex / colNum;
-    TInt itemCol = aItemIndex % colNum;
-    
-    TInt topItemRow = TopItemIndex() / colNum;
-//    __ASSERT_DEBUG( TopItemIndex() % colNum == 0, User::Invariant() );
-    
-    // it is safe to assume that size between items is (0, 0) because we
-    // explicitly set such value in CMmGrid::DoSetupLayoutL
-    const TSize sizeBetweenItems( 0, 0 );
-    
-    TPoint itemPos(
-        iViewRect.iTl.iX + itemCol *
-            ( ColumnWidth() + sizeBetweenItems.iWidth ),
-        iViewRect.iTl.iY + (itemRow - topItemRow) *
-            ( iItemHeight + sizeBetweenItems.iHeight ) + iVerticalOffset );
-
-    return itemPos;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGridView::XYPosToItemIndex( TPoint aPosition, TInt& aItemIndex ) const
-    {
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        aPosition.iX = iViewRect.Width() - ( aPosition.iX - iViewRect.iTl.iX );
-        }
-    return CAknGridView::XYPosToItemIndex( aPosition, aItemIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CWindowGc* CMmGridView::Gc()
-    {
-    return iGc;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::MoveCursorL( TCursorMovement aCursorMovement,
-        TSelectionMode aSelectionMode )
-    {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    iLastCurMove = aCursorMovement;
-    iOldIndex = iCurrentItemIndex;
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-
-    CAknGridView::MoveCursorL( aCursorMovement, aSelectionMode );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    iLastCurMove = ECursorFirstItem;
-    iOldIndex = KErrNotFound;
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::UpdateSelectionL( TSelectionMode aSelectionMode )
-    {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        MAknListBoxTfxInternal* api = CAknListLoader::TfxApiInternal( Gc() );
-        TInt row( 0 );
-        TInt col( 0 );
-        TInt newRow( 0 );
-        TInt newCol( 0 );
-        LogicalPosFromListBoxIndex( iOldIndex, row, col );
-        LogicalPosFromListBoxIndex( iCurrentItemIndex, newRow, newCol );
-        if ( api )
-            {
-            if ( iLastCurMove == CAknGridView::ECursorNextColumn )
-                {
-                if ( newCol < col || newRow != row )
-                    api->SetMoveType( MAknListBoxTfxInternal::EListNoMovement );
-                }
-            else if ( iLastCurMove == CAknGridView::ECursorPreviousColumn )
-                {
-                if ( newCol > col || newRow != row )
-                    api->SetMoveType( MAknListBoxTfxInternal::EListNoMovement );
-                }
-            }
-        }
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-
-    CAknGridView::UpdateSelectionL( aSelectionMode );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::Draw(const TRect* aClipRect) const
-    {
-    const_cast<CMmGridView*>( this )->UpdateItemHeightAndWidth();
-    DoDraw( aClipRect );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::DoDraw(const TRect* aClipRect) const
-    {
-    CMmListBoxItemDrawer* itemDrawer = static_cast< CMmListBoxItemDrawer*> ( ItemDrawer() );
-    TBool drawingInitiated(EFalse);
-    if ( CAknEnv::Static()->TransparencyEnabled() &&
-    		iWin && iWin->GetDrawRect() == TRect::EUninitialized )
-    	{
-    	TRect a;
-    	if (!aClipRect || *aClipRect == TRect(0,0,0,0) )
-    		{
-    		a = ViewRect();
-    		aClipRect = &a;
-    		}
-
-    	drawingInitiated=ETrue;
-		iWin->Invalidate( *aClipRect );
-		iWin->BeginRedraw( *aClipRect );
-    	}
-    CAknGridView::Draw( aClipRect );
-
-	if ( aClipRect )
-	    {
-    	TRect rect(*aClipRect);
-    	TInt lastItemInView = (iModel->NumberOfItems() <= BottomItemIndex() )
-    	    ? iModel->NumberOfItems()-1 : BottomItemIndex();
-    	rect.iTl.iY = ItemPos( lastItemInView ).iY + ItemSize( lastItemInView ).iHeight;
-//      iGc->SetClippingRect( rect );
-//		removed to prevent non-redraw drawing. Was present to prevent out of view drawing when effects are on.
-//      could be removed because effects were disabled at some point in edit mode to enhance performance.
-    	itemDrawer->DrawFloatingItems( rect );
-//      iGc->CancelClippingRect();
-	    }
-
-//    if (aClipRect)
-//    	{
-//    	const_cast< CMmGridView* >(this)->Gc()->DrawRect(*aClipRect);
-//    	}
-
-    if ( CAknEnv::Static()->TransparencyEnabled() &&
-    		iWin && drawingInitiated )
-    	{
-    	drawingInitiated = EFalse;
-    	iWin->EndRedraw( );
-    	}
-
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGridView::VerticalItemOffset() const
-	{
-	return iVerticalOffset;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::SetItemHeight(TInt aItemHeight)
-	{
-	//	we need to update the iItemHeight member in grid also (there are two different item height value holders - in grid and here in grid view)
-	CMmListBoxItemDrawer* itemDrawer =
-	        STATIC_CAST( CMmListBoxItemDrawer*, ItemDrawer() );
-	static_cast<CMmGrid*>(itemDrawer->Widget())->SetItemHeight( aItemHeight );
-	
-	CAknGridView::SetItemHeight(aItemHeight);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::UpdateItemHeightAndWidth()
-    {
-    if ( iModel && iModel->NumberOfItems() )
-        {
-        CMmListBoxItemDrawer* itemDrawer =
-                STATIC_CAST( CMmListBoxItemDrawer*, ItemDrawer() );
-        TSize size = itemDrawer->GetItemSize( 0, EFalse );
-        if ( itemDrawer->ItemCellSize() != size  )
-            {
-            const_cast<CMmGridView*>( this )->SetItemHeight( size.iHeight );
-            const_cast<CMmGridView*>( this )->SetColumnWidth( size.iWidth );
-            }
-        }
-    }
-
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mmitemsdatacache.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +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:
-* Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "mmitemsdatacache.h"
-#include "mmcacheforitem.h"
-
-const TInt KItemCacheArrGranularity = 20;
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmItemsDataCache* CMmItemsDataCache::NewLC()
-    {
-    CMmItemsDataCache* self = new (ELeave) CMmItemsDataCache();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmItemsDataCache* CMmItemsDataCache::NewL()
-    {
-    CMmItemsDataCache* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem* CMmItemsDataCache::GetItemCacheL( TInt aItemIndex )
-    {
-    ASSERT( aItemIndex >= 0 );
-    while ( iItemCacheArr.Count() <= aItemIndex )
-        {
-        CMmCacheForItem* cacheForItem = CMmCacheForItem::NewLC( *this );
-        iItemCacheArr.AppendL( cacheForItem );
-        CleanupStack::Pop( cacheForItem );
-        }
-    return iItemCacheArr[aItemIndex];
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmItemsDataCache::GetTemplateIdentifierL( const TDesC8& aTemplateName )
-    {
-    TInt identifier = KErrNotFound;
-    
-    // this looks very primitive, but RPointerArray::FindL just compares pointers
-    // so I guess there is no other way
-    TInt templateCount = iTemplateNames.Count();
-    for ( TInt i = 0; i < templateCount; ++i )
-        {
-        if ( iTemplateNames[i]->Compare( aTemplateName ) == 0 )
-            {
-            identifier = i;
-            break;
-            }
-        }
-    
-    if ( identifier == KErrNotFound )
-        {
-        HBufC8* templateNameCopy = HBufC8::NewLC( aTemplateName.Length() );
-        templateNameCopy->Des().Copy( aTemplateName );
-        iTemplateNames.AppendL( templateNameCopy );
-        CleanupStack::Pop( templateNameCopy );
-        identifier = iTemplateNames.Count() - 1;
-        }
-    return identifier;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CMmItemsDataCache::GetTemplateNameByIdentifier(
-        TInt aTemplateIdentifier ) const
-    {
-    return *( iTemplateNames[aTemplateIdentifier] );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmItemsDataCache::Invalidate()
-    {
-    const TInt count = iItemCacheArr.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        iItemCacheArr[i]->SetValidL( EFalse );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmItemsDataCache::Trim( TInt aItemCount )
-    {
-    __ASSERT_ALWAYS( aItemCount >= 0, User::Invariant() );
-    for ( TInt i = iItemCacheArr.Count() - 1; i >= aItemCount; --i )
-        {
-        CMmCacheForItem* cache = iItemCacheArr[i];
-        iItemCacheArr.Remove( i );
-        delete cache;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmItemsDataCache::~CMmItemsDataCache()
-    {
-    iItemCacheArr.ResetAndDestroy();
-    iItemCacheArr.Close();
-    iTemplateNames.ResetAndDestroy();
-    iTemplateNames.Close();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmItemsDataCache::CMmItemsDataCache()
-    : iItemCacheArr( KItemCacheArrGranularity )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmItemsDataCache::ConstructL()
-    {
-    }
--- a/menufw/menufwui/mmwidgets/src/mmlctutils.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,337 +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:  highlight control class
-*
-*/
-
-
-#include "mmlctutils.h"
-#include "mmtemplatelibrary.h"
-#include "mmwidgetsconstants.h"
-#include <aknlayoutscalable_uiaccel.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknUtils.h>
-#include <AknFontId.h>
-#include <AknLayoutFont.h>
-#include <AknDef.hrh>
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TAknWindowComponentLayout MmLCTUtils::ItemLayout( const TDesC8& aLayout, TInt aVariety )
-	{
-    if ( !aLayout.Compare(KListSingleLargeGraphicPane8))
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane(0, 0, 0);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoubleGraphicPane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoublePane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistSinglePane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_single_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistGeneAdPane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_gene_ad_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAagridCellImagePane8))
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane(aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare(KCellHcAppsPane8))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare(KCellAppPane8))
-    	{
-    	return AknLayoutScalable_Avkon::cell_app_pane( aVariety, 0, 0 );
-        }
-    else if ( !aLayout.Compare(KListSingleHcAppsPane8))
-        {
-        return AknLayoutScalable_Avkon::list_single_hc_apps_pane( 0, aVariety );
-        }
-    else
-        {
-        User::Panic(KMLID, -1);
-        }
-    return TAknWindowComponentLayout();
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TAknTextComponentLayout MmLCTUtils::TextLayout( const TDesC8& aLayout, TInt aVariety )
-    {
-    if ( aLayout.Compare(KUiaccelAalistSinglePaneT18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_single_pane_t1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneT18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_t1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneT28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_t2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoublePaneT18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane_t1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoublePaneT28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane_t2(aVariety);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPaneT18) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane_t1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneT18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_t1(aVariety);
-        }
-    else if ( !aLayout.Compare(KCellHcAppsPaneT18))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_t1( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare(KListSingleHcAppsPaneT18))
-		{
-		return AknLayoutScalable_Avkon::list_single_hc_apps_pane_t1( aVariety );
-		}
-    else if ( !aLayout.Compare(KCellAppsPaneT18))
-		{
-		return AknLayoutScalable_Avkon::cell_app_pane_t1( aVariety, 0, 0 );
-		}
-    else
-        {
-        User::Panic(KMLID, -1);
-        }
-    return TAknTextComponentLayout();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TAknWindowComponentLayout MmLCTUtils::GraphicLayout( const TDesC8& aLayout, TInt aVariety )
-    {
-    if ( aLayout.Compare(KUiaccelAalistSinglePaneG18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_single_pane_g1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistSinglePaneG28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_single_pane_g2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG1) == 0 )
-        {
-	    return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g1(aVariety);
-	    }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG38) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g3(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoublePaneG18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane_g1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoublePaneG28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane_g2(aVariety);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPane8) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane(aVariety, 0,0);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPaneG18) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane_g1(aVariety);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPaneG2Cp28) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane_g2_cp2(aVariety);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPaneG4Cp28) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane_g4_cp2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneG18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneG28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneG38) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g3(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneG48) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g4(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAagridCellImagePane8))
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane(aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoubleGraphicPane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG68))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g6(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG78))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g7(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistGeneAdPaneG18))
-        {
-        return AknLayoutScalable_UiAccel::aalist_gene_ad_pane_g1(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistGeneAdPaneG18))
-        {
-        return AknLayoutScalable_UiAccel::aalist_gene_ad_pane_g1(aVariety);
-        }
-    else if ( !aLayout.Compare( KCellHcAppsPaneG18))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_g1( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare( KCellHcAppsPaneG28))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_g2( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare( KCellHcAppsPaneG38))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_g3( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare( KListSingleHcAppsPaneG18))
-        {
-        return AknLayoutScalable_Avkon::list_single_hc_apps_pane_g1( aVariety );
-        }
-    else if ( !aLayout.Compare( KListSingleHcAppsPaneG28))
-        {
-        return AknLayoutScalable_Avkon::list_single_hc_apps_pane_g2( aVariety );
-        }
-    else if ( !aLayout.Compare( KCellAppsPaneG18))
-        {
-        return AknLayoutScalable_Avkon::cell_app_pane_g1( aVariety, 0, 0 );
-        }
-    else if ( !aLayout.Compare( KCellAppsPaneG28))
-        {
-        return AknLayoutScalable_Avkon::cell_app_pane_g2( aVariety, 0, 0 );
-        }
-    else
-        {
-        User::Panic(KMLID, -1);
-        }
-    return TAknWindowComponentLayout();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TAknLayoutScalableParameterLimits MmLCTUtils::LCTParameterLimits( const TDesC8& aLayout, TInt aVariety )
-	{
-    if ( aLayout.Compare(KCellHcAppsPane8) == 0 )
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_ParamLimits( aVariety );
-        }
-    else if ( aLayout.Compare(KCellAppPane8) == 0 )
-        {
-        return AknLayoutScalable_Avkon::cell_app_pane_ParamLimits( aVariety );
-        }
-    else
-        {
-        User::Panic(KMLID, -1);
-        }
-    return TAknLayoutScalableParameterLimits();
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void MmLCTUtils::SetupTextSubCellTemplate( TSize aItemSize,
-                              TTemplateChild& aSubCellTemplate )
-    {
-    TAknTextComponentLayout textLayout = TextLayout( aSubCellTemplate.iLct, aSubCellTemplate.iVariety);
-    TAknTextLineLayout textlineLayout = textLayout.LayoutLine();
-    TAknLayoutText t;
-    t.LayoutText( aItemSize, textlineLayout );
-    aSubCellTemplate.iTextAlign = AknLayoutUtils::TextAlignFromId( textlineLayout.iJ );
-    aSubCellTemplate.iRectAccordingToParent = t.TextRect();
-    aSubCellTemplate.iFontId =  (TAknLogicalFontId)textlineLayout.FontId();
-    aSubCellTemplate.iIsImage = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void MmLCTUtils::SetupGraphicSubCellTemplate( TSize aItemSize,
-                              TTemplateChild& aSubCellTemplate )
-    {
-    TAknWindowComponentLayout graphicLayout = GraphicLayout (
-			aSubCellTemplate.iLct, aSubCellTemplate.iVariety);
-	TAknLayoutRect r;
-    r.LayoutRect( aItemSize, graphicLayout.LayoutLine() );
-    aSubCellTemplate.iTextAlign = CGraphicsContext::ECenter ;
-    aSubCellTemplate.iRectAccordingToParent = r.Rect();
-    aSubCellTemplate.iIsImage = ETrue;
-    aSubCellTemplate.iFontId = EAknLogicalFontSecondaryFont;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSize MmLCTUtils::GetLCTSize (const TDesC8& aLCTTemplate, TInt aVariety,
-		const TRect aParentRect, TAknWindowLineLayout& aWindowLayout)
-	{
-    aWindowLayout = MmLCTUtils::ItemLayout( aLCTTemplate, aVariety);
-    TAknLayoutRect layRect;
-    layRect.LayoutRect(aParentRect, aWindowLayout);
-    return layRect.Rect().Size();
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSize MmLCTUtils::GetLayoutSize( const TDesC8& aLCTTemplate, TInt aVariety )
-	{
-    TInt cols(0);
-    TInt rows(0);
-    cols = MmLCTUtils::LCTParameterLimits( aLCTTemplate, aVariety ).LastColumn() + 1;
-    rows = MmLCTUtils::LCTParameterLimits( aLCTTemplate, aVariety ).LastRow() + 1;
-    return TSize( cols, rows);
-	}
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmlistbox.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,982 +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:
-*
-*/
-
-
-#include <aknlists.h>
-#include <eikspmod.h>
-#include <eikclb.h>
-#include <eikfrlb.h>
-#include <eikslb.h>
-#include <AknUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistboxtfxinternal.h>
-#include <akntransitionutils.h>
-#include <aknlistloadertfx.h>
-#endif
-
-#include "mmlistboxmodel.h"
-#include "mmlistbox.h"
-#include "mmlistboxview.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmmarqueeadapter.h"
-#include "mmwidgetcontainer.h"
-#include "mmwidgetsconstants.h"
-#include "mmdraweranimator.h"
-#include "mmtemplatelibrary.h"
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBox::CMmListBox() : AKNDOUBLELISTBOXNAME(R_LIST_PANE_LINES_AB_COLUMN)
-	{
-	// No implementation required
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBox::~CMmListBox()
-	{
-	delete iRedrawTimer;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBox* CMmListBox::NewLC( const CCoeControl* aParent, TInt aFlags,
-    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	CMmListBox* self = new (ELeave)CMmListBox();
-	CleanupStack::PushL(self);
-	self->ConstructL( aParent, aFlags, aTemplateLibrary );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetListFlag( TInt aFlag )
-	{
-	iListBoxFlags = iListBoxFlags | aFlag;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::ClearListFlag( TInt aFlag )
-	{
-	iListBoxFlags = iListBoxFlags & !aFlag;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBox* CMmListBox::NewL( const CCoeControl* aParent, TInt aFlags,
-    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	CMmListBox* self = CMmListBox::NewLC( aParent, aFlags, aTemplateLibrary );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::ConstructL( const CCoeControl* aParent, TInt aFlags,
-    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	iDisableChildComponentDrawing = EFalse;
-	iModel = iMmModel = CMmListBoxModel::NewL();
-    CreateItemDrawerL( aTemplateLibrary );
-
-    EnableExtendedDrawingL();
-
-    iItemDrawer->SetDrawMark(EFalse);
-    CEikListBox::ConstructL(aParent,aFlags);
-    iMmDrawer->SetView( this );
-    iRedrawTimer = CPeriodic::NewL( EPriorityRealTime );
-	}
-
-// -----------------------------------------------------------------------------
-// Clearing ELeftDownInViewRect flag before invoking the base class
-// HandlePointerEventL method effectively prevents that method from doing most
-// of the things it would normally do in response to EButton1Down event.
-// This flag is explicitly cleared to achieve two things:
-// 1. Prevent kinetic scrolling (flick) in edit mode.
-// 2. Prevent highlight removal when popup menu is displayed.
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandlePointerEventInEditModeL(
-        const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        iButton1DownPos = aPointerEvent.iPosition;
-        }
-    else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-        {
-        CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-        TPoint dragDelta = iButton1DownPos - aPointerEvent.iPosition;
-        if ( Abs( dragDelta.iY ) > KDragTreshold || parent->LongTapInProgress() )
-            {
-            iListBoxFlags &= ~ELeftDownInViewRect;
-            }
-        }
-    
-    TInt itemUnderPointerIndex = KErrNotFound;
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Up ||
-            aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        CEikFormattedCellListBoxTypedef::HandlePointerEventL( aPointerEvent );
-        }
-    else if ( View()->XYPosToItemIndex(
-            aPointerEvent.iPosition, itemUnderPointerIndex ) )
-        {
-        TInt currentItemIndex = CurrentItemIndex();
-        if ( currentItemIndex != itemUnderPointerIndex )
-            {
-            View()->SetCurrentItemIndex( itemUnderPointerIndex );
-            // remove hightlight from the previously highlighted item
-            }
-        }
-    HandleScrollingInEditMode( aPointerEvent );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandleScrollingInEditMode( const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EDrag
-            || aPointerEvent.iType == TPointerEvent::EButtonRepeat )
-        {
-        TInt nextScrollDelay = ScrollIfNeeded( aPointerEvent );
-        if ( nextScrollDelay )
-            {
-            TRect ignoreDragRect(
-                TPoint(aPointerEvent.iParentPosition.iX - MmEffects::KDragIgnoreRectValue,
-                    aPointerEvent.iParentPosition.iY - MmEffects::KDragIgnoreRectValue),
-                TPoint(aPointerEvent.iParentPosition.iX + MmEffects::KDragIgnoreRectValue,
-                    aPointerEvent.iParentPosition.iY + MmEffects::KDragIgnoreRectValue));
-
-            Window().CancelPointerRepeatEventRequest();
-            Window().RequestPointerRepeatEvent( nextScrollDelay, ignoreDragRect );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::IsPointerInTopScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const
-    {
-    TInt topScrollingTreshold = Rect().iTl.iY
-        + ( MmEffects::KFocusScrollingThreshold
-            * TReal( View()->ItemSize().iHeight ) );
-
-    return ( aPointerEvent.iPosition.iY < topScrollingTreshold );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::IsPointerInBottomScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const
-    {
-    TInt bottomScrollingTreshold = Rect().iBr.iY
-        - ( MmEffects::KFocusScrollingThreshold
-            * TReal( View()->ItemSize().iHeight ) );
-
-    return ( aPointerEvent.iPosition.iY > bottomScrollingTreshold );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::ScrollIfNeeded( const TPointerEvent& aPointerEvent )
-    {
-    TInt nextScrollDelay = 0;
-    
-	TBool readyForScrolling =
-			iMmDrawer->GetAnimator()->IsReadyForNewAnimation()
-					&& iMmDrawer->GetFloatingItemCount() != 0;
-	
-	if ( IsPointerInTopScrollingThreshold( aPointerEvent ) )
-		{
-		// scroll up by one row
-		TInt newCurrentItemIndex = CurrentItemIndex() - 1;
-
-		if ( newCurrentItemIndex >= 0 )
-			{
-			nextScrollDelay = MmEffects::KEditModeScrollingDelayFactor *
-				Max( 1, aPointerEvent.iPosition.iY - Rect().iTl.iY );
-			if (readyForScrolling)
-				{
-				View()->VScrollTo( View()->CalcNewTopItemIndexSoItemIsVisible(
-                        newCurrentItemIndex ) );
-                View()->SetCurrentItemIndex( newCurrentItemIndex );
-                UpdateScrollBarThumbs();
-				}
-			}
-		}
-	else if ( IsPointerInBottomScrollingThreshold( aPointerEvent) )
-		{
-		// scroll down by one row
-		TInt lastItemIndex = iModel->NumberOfItems() - 1;
-		TInt newCurrentItemIndex = CurrentItemIndex() + 1;
-		
-		
-		if ( newCurrentItemIndex <= lastItemIndex )
-			{
-			nextScrollDelay = MmEffects::KEditModeScrollingDelayFactor *
-				Max( 1, Rect().iBr.iY - aPointerEvent.iPosition.iY );
-
-			if (readyForScrolling)
-				{
-				View()->VScrollTo( View()->CalcNewTopItemIndexSoItemIsVisible(
-						newCurrentItemIndex ) );
-				View()->SetCurrentItemIndex( newCurrentItemIndex );
-                UpdateScrollBarThumbs();
-				}
-			}
-		}
-
-    return nextScrollDelay;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-//    if ( aPointerEvent.iType == TPointerEvent::EButton1Down &&
-//            iMmDrawer->CachedDataUseIsEnabled() )
-//        {
-//        // Touching the screen stops flick but avkon does not send us
-//        // MEikListBoxObserver::EEventFlickStopped event in such case.
-//        // Thus this little hack:
-//        iMmDrawer->EnableCachedDataUse( EFalse );
-//        DrawView();
-//        }
-
-    CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-
-    if ( parent->IsEditMode() )
-        {
-        HandlePointerEventInEditModeL( aPointerEvent );
-        }
-    else
-    	{
-        CEikFormattedCellListBoxTypedef::HandlePointerEventL( aPointerEvent );
-    	}
-
-    if ( iMmDrawer->GetAnimator()->IsActive() )
-    	{
-    	iMmDrawer->GetAnimator()->CancelNextRedrawL();
-    	}
-
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::FixViewForMirroredLayout()
-    {
-    TInt scrollbarWidth =
-            ScrollBarFrame()->VerticalScrollBar()->Rect().Width();
-    TRect r( View()->ViewRect() );
-    TInt currentShift = r.iTl.iX;
-    TBool scrollbarVisible = ScrollBarFrame()->VerticalScrollBar()->IsVisible();
-    TBool layoutMirrored = AknLayoutUtils::LayoutMirrored();
-
-    if ( layoutMirrored && scrollbarVisible && currentShift != scrollbarWidth )
-        {
-        // shift view rect to the right
-        r.Move( scrollbarWidth - currentShift, 0 );
-        View()->SetViewRect( r );
-        }
-    else if ( ( !layoutMirrored || !scrollbarVisible ) && currentShift != 0 )
-        {
-        // restore view rect to its normal position
-        r.Move( -currentShift, 0 );
-        View()->SetViewRect( r );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::RedrawScrollbarBackground() const
-    {
-    TRect viewRect( View()->ViewRect() );
-    if ( viewRect.iTl.iX > 0 )
-        {
-        TRect scrollbarRect( TPoint( 0, 0 ),
-                TSize( viewRect.iTl.iX, viewRect.Height() ) );
-
-        CWindowGc* gc = iItemDrawer->Gc();
-        CMmListBoxItemDrawer* itemDrawer =
-                static_cast<CMmListBoxItemDrawer*>( iItemDrawer );
-        MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-        CCoeControl* control = itemDrawer->FormattedCellData()->Control();
-        MAknsControlContext *cc = AknsDrawUtils::ControlContext( control );
-        if( gc )
-            {
-            if ( control )
-                {
-                AknsDrawUtils::Background( skin, cc, control, *gc, scrollbarRect );
-                }
-            else
-                {
-                gc->SetBrushColor( BackColor() );
-                gc->Clear( scrollbarRect );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::ProcessScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType )
-    {
-    CEikFormattedCellListBoxTypedef::HandleScrollEventL(
-            aScrollBar, aEventType );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandleRedrawTimerEvent()
-    {
-    if ( iSkippedScrollbarEventsCount )
-        {
-        ProcessScrollEventL( ScrollBarFrame()->VerticalScrollBar(),
-                EEikScrollThumbDragVert );
-        }
-    iSkippedScrollbarEventsCount = 0;
-    }
-    
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::RedrawTimerCallback( TAny* aPtr )
-    {
-    CMmListBox* self = static_cast<CMmListBox*>( aPtr );
-    self->HandleRedrawTimerEvent();
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMmListBox::OfferKeyEventL(
-        const TKeyEvent& aKeyEvent,TEventCode aType )
-    {
-    TInt itemIndex = CurrentItemIndex();
-    TInt previousItemIndex = CurrentItemIndex();
-    TKeyResponse ret = CEikFormattedCellListBoxTypedef::OfferKeyEventL(
-        aKeyEvent, aType );
-    TInt currentItemIndex = CurrentItemIndex();
-
-    TInt itemY = View()->ItemPos( currentItemIndex ).iY
-               + View()->ItemSize( currentItemIndex ).iHeight;
-
-    if ( currentItemIndex == BottomItemIndex()
-    		&& currentItemIndex != previousItemIndex
-    		&& itemY > View()->ViewRect().iBr.iY )
-    	{
-    	if( aType == EEventKey )
-    		{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    		MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal(
-    		    View()->ItemDrawer()->Gc() );
-    		TBool effects = transApi && !transApi->EffectsDisabled();
-    		if ( effects )
-    			{
-    			transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollDown );
-    			}
-#endif
-			iView->VScrollTo(
-				iView->CalcNewTopItemIndexSoItemIsVisible( currentItemIndex ) );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( effects )
-				{
-				transApi->Draw( Rect() );
-				}
-#endif
-			}
-    	SetCurrentItemIndex( currentItemIndex );
-    	}
-
-    RedrawIfNecessary( itemIndex, CurrentItemIndex());
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::RedrawIfNecessary( TInt aPreviousCurrent, TInt aCurrent )
-    {
-    TBool redrawConsumed( EFalse );
-    if( aCurrent == KErrNotFound )
-        {
-        return redrawConsumed;
-        }
-
-    CMmListBoxView * view = static_cast<CMmListBoxView *>(iView);
-    TInt differenceIndex = Abs( aPreviousCurrent - aCurrent );
-    if ( aPreviousCurrent == KErrNotFound  || differenceIndex == 0 )
-        {
-        //TODO: It should be checked if this is really necessary
-        view->RedrawBackground();
-        return redrawConsumed;
-        }
-
-    TInt sizePrevBefore = iMmDrawer->GetItemHeight(aPreviousCurrent, ETrue);
-    TInt sizeCurBefore = iMmDrawer->GetItemHeight(aCurrent, EFalse);
-    TInt sizePrevAfter = iMmDrawer->GetItemHeight(aPreviousCurrent, EFalse);
-    TInt sizeCurAfter = iMmDrawer->GetItemHeight(aCurrent, ETrue);
-
-    if ( ( sizePrevBefore == sizePrevAfter ) && (sizeCurBefore == sizeCurAfter) )
-        {
-        return redrawConsumed;
-        }
-     else
-        {
-        TInt sizeAllBefore = sizePrevBefore + sizePrevAfter;
-        TInt sizeAllAfter = sizeCurBefore + sizeCurAfter;
-
-        TInt lastPotentialItemIndex = Min( iModel->NumberOfItems(),
-                iView->TopItemIndex() + iView->NumberOfItemsThatFitInRect(
-                        iView->ViewRect() ) );
-        TInt redrawIndex = lastPotentialItemIndex;
-
-        if ( differenceIndex == 1 )
-            {
-            if( sizeAllBefore != sizeAllAfter )
-            	{
-                redrawIndex = Min( aPreviousCurrent, aCurrent );
-            	}
-            else
-            	{
-            	return redrawConsumed;
-            	}
-            }
-        else if ( differenceIndex > 1 && sizeAllBefore == sizeAllAfter  )
-            {
-            redrawIndex = Min( aPreviousCurrent, aCurrent );
-            lastPotentialItemIndex = Max( aPreviousCurrent, aCurrent );
-            }
-        else if ( differenceIndex > 1 )
-            {
-            redrawIndex = Min( aPreviousCurrent, aCurrent );
-            }
-
-        if (redrawIndex < iView->TopItemIndex())
-            redrawIndex = iView->TopItemIndex();
-
-        if (lastPotentialItemIndex > iView->BottomItemIndex())
-            lastPotentialItemIndex = iView->BottomItemIndex();
-
-        if ( aPreviousCurrent < TopItemIndex() )
-        	{
-        	lastPotentialItemIndex = BottomItemIndex() ;
-        	}
-        else if ( BottomItemIndex() < aPreviousCurrent )
-        	{
-        	lastPotentialItemIndex = BottomItemIndex() + 1;
-        	}
-        
-        while ( redrawIndex < lastPotentialItemIndex +1 )
-            {
-            view->DrawSingleItem( redrawIndex++ );
-            redrawConsumed = ETrue;
-            }
-
-        view->RedrawBackground();
-        }
-    return redrawConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::CreateItemDrawerL( CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CFormattedCellListBoxData* cellData=CFormattedCellListBoxData::NewL();
-    CleanupStack::PushL( cellData );
-    iItemDrawer = iMmDrawer = CMmListBoxItemDrawer::NewL( MmModel(),
-            iEikonEnv->NormalFont(), cellData, EListbox, aTemplateLibrary );
-    CleanupStack::Pop( cellData );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxModel* CMmListBox::MmModel()
-	{
-	return iMmModel;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetMmModel( CMmListBoxModel* aMmModel )
-	{
-	if ( iMmModel != aMmModel )
-		{
-		delete iMmModel;
-		iMmModel = aMmModel;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CListBoxView* CMmListBox::MakeViewClassInstanceL()
-    {
-    return CMmListBoxView::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::AdjustRectHeightToWholeNumberOfItems(TRect& /*aRect*/) const
-    {
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetItemDrawerAndViewBgContext (CAknsBasicBackgroundControlContext * aBgContext)
-	{
-	iMmDrawer->SetBgContext (aBgContext);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::HandleScrollbarVisibilityChangeL()
-	{
-	TBool ret = EFalse;
-	if ( AllItemsFitInViewRect() )
-		{
-		if ( ScrollBarFrame()->VerticalScrollBar()->IsVisible()
-            || iMmDrawer->TemplateLibrary()->GetScrollbarVisibility() )
-			{
-			ScrollBarFrame()->VerticalScrollBar()->MakeVisible( EFalse );
-			iMmDrawer->SetScrollbarVisibilityL( EFalse );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			MAknListBoxTfxInternal *trans = CAknListLoader::TfxApiInternal( ItemDrawer()->Gc() );
-				if ( trans )
-					{
-					trans->Remove( MAknListBoxTfxInternal::EListEverything );
-					}
-#endif
-
-			ret = ETrue; //redraw is needed
-			}
-		}
-	else if ( !ScrollBarFrame()->VerticalScrollBar()->IsVisible()
-	          || !iMmDrawer->TemplateLibrary()->GetScrollbarVisibility() )
-		{
-		ScrollBarFrame()->VerticalScrollBar()->MakeVisible( ETrue );
-		iMmDrawer->SetScrollbarVisibilityL( ETrue );
-		ret = ETrue; //redraw is needed
-		}
-	return ret;
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::AllItemsFitInViewRect()
-	{
-	CMmListBoxView* view = static_cast< CMmListBoxView* >(iView);
-	TInt totalHeight = view->GetTotalHeight( view->TopItemIndex(), view->BottomItemIndex());
-	if ( view->TopItemIndex() == 0 && iMmModel->NumberOfItems() <= view->BottomItemIndex() + 1
-	        && totalHeight <= iView->ViewRect().Height() )
-		{
-		return ETrue;
-		}
-	else
-		{
-		return EFalse;
-		}
-	}
-
-/**
- * Helper class whose only purpose is to ensure that
- * ScrollToItem method will be always re-enabled. 
- */
-struct TScrollToItemEnabler
-    {
-    CMmListBoxView* iV;
-    void Close() { iV->DisableScrollToItem( EFalse ); }
-    };
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::UpdateScrollBarsL()
-	{
-	TBool redrawNeeded = HandleScrollbarVisibilityChangeL();
-	if (ScrollBarFrame()->VerticalScrollBar()->IsVisible())
-		{
-		CMmListBoxView* view = static_cast<CMmListBoxView*>( View() );
-		view->DisableScrollToItem( ETrue );
-		TScrollToItemEnabler reverter = { view };
-		CleanupClosePushL( reverter );
-		CEikFormattedCellListBoxTypedef::UpdateScrollBarsL();
-		CleanupStack::PopAndDestroy( &reverter );
-		}
-	iMmDrawer->TemplateLibrary()->SetScrollbarWidthL(
-        ScrollBarFrame()->VerticalScrollBar()->Rect().Width() );
-	FixViewForMirroredLayout();
-	if ( redrawNeeded )
-		{
-		DrawNow();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::UpdateScrollBarsNoRedrawL()
-	{
-	HandleScrollbarVisibilityChangeL();
-	if ( ScrollBarFrame()->VerticalScrollBar()->IsVisible() )
-		{
-		CMmListBoxView* view = static_cast<CMmListBoxView*>( View() );
-		view->DisableScrollToItem( ETrue );
-		TScrollToItemEnabler reverter = { view };
-		CleanupClosePushL( reverter );
-		CEikFormattedCellListBoxTypedef::UpdateScrollBarsL();
-		CleanupStack::PopAndDestroy( &reverter );
-		iMmDrawer->TemplateLibrary()->SetScrollbarWidthL(
-		        ScrollBarFrame()->VerticalScrollBar()->Rect().Width() );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter )
-	{
-	iMarqueeAdapter = aAdapter;
-	iMarqueeAdapter->SetControl( const_cast< CMmListBox *>(this) );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetMarqueeDrawing( TBool aIsMarqueeBeingDrawn )
-	{
-	iMmDrawer->SetMarqueeDrawing( aIsMarqueeBeingDrawn );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandleItemRemovalL()
-	{
-	CEikFormattedCellListBoxTypedef::HandleItemRemovalL();
-    DrawNow();
-    //avkon does not redraw the items for listbox when item is
-    //removed. This needs to be forced here.
-    UpdateScrollBarsL();
-	}
-
-// -----------------------------------------------------------------------------
-// If a parent to the supplied control has its Gc set, this function will find
-// it and return it. (Copied from EIKLBX.CPP, needed by CMmListBox::Draw)
-// -----------------------------------------------------------------------------
-//
-LOCAL_C CWindowGc* ReplaceGcWithCustomGc( const CEikListBox* aListBox )
-    {
-    const CCoeControl* parent = aListBox;
-    CWindowGc* customGc;
-    while(parent)
-        {
-        customGc = parent->GetGc();
-        if ( customGc )
-            {
-            CListItemDrawer* itemDrawer = aListBox->View()->ItemDrawer();
-            CWindowGc* originalGc = itemDrawer->Gc();
-            if ( customGc == originalGc )
-            {
-                return NULL;
-                }
-            else
-                {
-                itemDrawer->SetGc( customGc );
-                return originalGc;
-                }
-            }
-        parent = parent->Parent();
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::Draw(const TRect& aRect) const
-    {
-//    if (!iResized)
-//        {
-//        return;
-//        }
-
-    CWindowGc* gc = this->iItemDrawer->Gc();
-
-    // If a parent has a custom gc, draw listbox using that gc
-    CWindowGc* replacedGc = ReplaceGcWithCustomGc(
-                                    static_cast<const CEikListBox*>( this ) );
-
-    if (this->iModel->NumberOfItems() == 0)
-        {
-        this->iView->DrawEmptyList(this->Rect());
-
-        if ( replacedGc )
-            {
-            // Stop using the custom gc
-            this->iItemDrawer->SetGc( replacedGc );
-            }
-        return;
-        }
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( gc );
-    
-    if ( transApi )
-        {
-        transApi->SetListType( MAknListBoxTfxInternal::EListBoxTypeMainPane );
-        // ViewRect might have been moved to the right to prevent grid items
-        // from overlapping the scrollbar in mirrored layout.
-        // However, we still have to draw scrollbar background, thus the
-        // rectangle object passed to MAknListBoxTfxInternal::BeginRedraw must
-        // be placed at (0, 0) so that it covers the area where scrollbar is
-        // drawn.
-        TRect r( View()->ViewRect().Size() );
-        transApi->BeginRedraw( MAknListBoxTfxInternal::EListView, r );
-        }
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-    if (!this->iView->RedrawDisabled())
-        {
-        MAknsControlContext *cc = AknsDrawUtils::ControlContext( this );
-        if (!cc) cc = ItemDrawer()->FormattedCellData()->SkinBackgroundContext();
-
-        if (gc)
-            {
-            TRect clientRect;
-            this->RestoreClientRectFromViewRect(clientRect);
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST           
-            if ( transApi )
-                {
-                transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
-                }
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-            gc->SetBrushColor(this->BackColor());
-            AknsDrawUtils::BackgroundBetweenRects( AknsUtils::SkinInstance(), cc, this, *gc, clientRect, this->iView->ViewRect() );
-            RedrawScrollbarBackground();
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-            if ( transApi )
-                {
-                transApi->StopDrawing();
-        }
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-            }
-        }
-    if ( this->iModel->NumberOfItems() )
-        {
-        // finally, draw the actual list
-        this->iView->Draw(&aRect);
-        }
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if ( transApi )
-        {
-        CMmListBoxView* view = static_cast<CMmListBoxView*>( View() );
-        view->DisableScrollToItem( ETrue );
-        transApi->EndViewRedraw( aRect );
-        view->DisableScrollToItem( EFalse );
-        }
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-    if ( replacedGc )
-        {
-        // Stop using the custom gc
-        this->iItemDrawer->SetGc( replacedGc );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBox::DrawView()
-    {
-    iDisableChildComponentDrawing = ETrue;
-    DrawNow(Rect());
-    iDisableChildComponentDrawing = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetVerticalItemOffset( TInt aOffset )
-	{
-	static_cast<CMmListBoxView*>( View() )->SetItemOffsetInPixels( aOffset );
-	UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::VerticalItemOffset() const
-	{
-	return static_cast<CMmListBoxView*>( View() )->VerticalItemOffset();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetItemHeight( TInt aItemHeight )
-	{
-	if ( aItemHeight != iItemHeight )
-	    {
-	    iItemHeight = aItemHeight;
-	    TRAP_IGNORE( UpdateScrollBarsNoRedrawL() );
-	    }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::UpdateScrollBarThumbs()
-	{
-	CEikFormattedCellListBox::UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::CountComponentControls() const
-    {
-    TInt componentControls(0);
-    if ( !iDisableChildComponentDrawing )
-		{
-        componentControls = CEikFormattedCellListBoxTypedef::CountComponentControls();
-    	}
-    return componentControls;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetDisableChildComponentDrawing( TBool aDisable )
-    {
-    iDisableChildComponentDrawing = aDisable;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandleScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType )
-    {
-    if ( aEventType == EEikScrollThumbDragVert && !iScrollbarThumbIsBeingDragged )
-        {
-        iScrollbarThumbIsBeingDragged = ETrue;
-        static_cast<CMmListBoxItemDrawer*>(
-                View()->ItemDrawer() )->EnableCachedDataUse( ETrue );
-        iRedrawTimer->Start( KScrollingRedrawInterval, KScrollingRedrawInterval,
-                TCallBack( &CMmListBox::RedrawTimerCallback, static_cast<TAny*>( this ) ) );
-        }
-    else if ( aEventType == EEikScrollThumbReleaseVert )
-        {
-        iScrollbarThumbIsBeingDragged = EFalse;
-        static_cast<CMmListBoxItemDrawer*>(
-                View()->ItemDrawer() )->EnableCachedDataUse( EFalse );
-        // The view will be redrawn with cache disabled when ProcessScrollEventL
-        // calls the base class's HandleScrollEventL method -- no need to
-        // explicitly redraw the view.
-        iRedrawTimer->Cancel();
-        }
-
-    if ( !iScrollbarThumbIsBeingDragged )
-        {
-        ProcessScrollEventL( aScrollBar, aEventType );
-        }
-    else
-        {
-        __ASSERT_DEBUG( aEventType == EEikScrollThumbDragVert, User::Invariant() );
-        ++iSkippedScrollbarEventsCount;
-        }
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmlistboxcontainer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +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:   
-*  Version     : %version: MM_65 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include <aknlists.h> 
-#include <barsread.h> 
-
-#include <eikclb.h> 
-#include <StringLoader.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-
-#include "mmlistbox.h"
-#include "mmlistboxmodel.h"
-#include "mmmarqueeadapter.h"
-#include "hnsuitemodel.h"
-#include "mmlistboxcontainer.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmwidgetsconstants.h"
-#include "mmtemplatelibrary.h"
-#include "mmpostevaluationprocessor.h"
-#include "mmdraweranimator.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CListboxNumberContainer::CListboxNumberContainer()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CMmListBoxContainer* CMmListBoxContainer::NewLC( const TRect& aRect, 
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary )
-    {        
-    CMmListBoxContainer* self = new( ELeave ) CMmListBoxContainer();
-    CleanupStack::PushL( self );	
-    self->ConstructL( aRect, aObjectProvider, aTemplateLibrary );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListboxNumberContainer::CListboxNumberContainer()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CMmListBoxContainer* CMmListBoxContainer::NewL( const TRect& aRect, 
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary )
-    {        
-    CMmListBoxContainer* self = NewLC( aRect, aObjectProvider, aTemplateLibrary );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListboxNumberContainer::CListboxNumberContainer()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CMmListBoxContainer::CMmListBoxContainer()
-    {       
-    }
-
-// -----------------------------------------------------------------------------
-// CListboxNumberContainer::~CListboxNumberContainer()
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CMmListBoxContainer::~CMmListBoxContainer()
-    {  
-    delete iListBox;
-    delete iMarqueeAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CMmListBoxContainer::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//    
-void CMmListBoxContainer::ConstructL( const TRect& aRect, 
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CMmWidgetContainer::ConstructL();
-    
-    SetMopParent( aObjectProvider );
-    CreateWindowL(); // Creates window.
-    iWidget = CreateListboxL( aTemplateLibrary );
-    iWidget->SetListBoxObserver( this );
-    SetRect( aRect ); // Sets rectangle of frame.
-    ActivateL(); // Activates window. ( Ready to draw )       
-    SetupDrawer();
-//    SetHighlightVisibilityL( ETrue );
-    iMarqueeAdapter = CMmMarqueeAdapter::NewL();
-    iDrawer->SetMarqueeAdapter( iMarqueeAdapter );
-    iListBox->SetMarqueeAdapter( iMarqueeAdapter );
-    iPostProcessor = CMmPostEvaluationProcessor::NewL( *iDrawer );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmListBoxContainer::DrawView()
-    {
-    iListBox->DrawView();
-    }
-
-// -----------------------------------------------------------------------------
-// CMmListBoxContainer::CreateListboxL()
-// Constructs listbox from resource, creates scroll bar and sets empty
-// list background text. 
-// -----------------------------------------------------------------------------
-//
-CMmListBox* CMmListBoxContainer::CreateListboxL( 
-    CMmTemplateLibrary* aTemplateLibrary  )
-    {
-    iListBox = CMmListBox::NewL( this, EAknListBoxSelectionList 
-    		| EAknListBoxLoopScrolling, aTemplateLibrary );
-    iListBox->SetContainerWindowL( *this );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
-    		CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto );  
-    iListBox->ScrollBarFrame()->DrawBackground( EFalse, EFalse );
-    return iListBox;
-    }
- 
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-THnSuiteWidgetType CMmListBoxContainer::WidgetType()
-	{
-	return EListWidget;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmListBoxContainer::SetDefaultHighlightL(  TBool aRedraw )
-    {  
-    TInt defaultHighlight = Widget()->TopItemIndex();
-    if ( !ItemIsFullyVisible( defaultHighlight ) 
-    		&& defaultHighlight < NumberOfItems() - 1 )
-    	{
-    	defaultHighlight++;
-    	}
-    	
-    if (defaultHighlight >= 0 )
-    	{
-    	SetManualHighlightL( defaultHighlight, aRedraw );
-    	}
-    }
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmListBoxContainer::SetEmptyTextL(const TDesC& aText)
-    {
-    iListBox->View()->SetListEmptyTextL( aText );  
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetEditModeL( TBool aIsEditMode )
-    {
-	if (aIsEditMode && !AknLayoutUtils::PenEnabled() )
-		{
-		iListBox->ClearListFlag( EAknListBoxLoopScrolling );
-        }
-    else
-    	{
-		iListBox->SetListFlag( EAknListBoxLoopScrolling ); 
-    	}
-    CMmWidgetContainer::SetEditModeL( aIsEditMode );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel* CMmListBoxContainer::GetMmModel()
-    {
-    return iListBox->MmModel();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxContainer::SetupWidgetLayoutL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetItemDrawerAndViewBgContext(
-		CAknsBasicBackgroundControlContext * aBgContext )
-	{
-	iListBox->SetItemDrawerAndViewBgContext (aBgContext);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetSuiteModelL( CHnSuiteModel* aModel )
-    {
-    CMmWidgetContainer::SetSuiteModelL( aModel );
-    // highlight always active
-    aModel->SetActiveL( ETrue );
-	iMarqueeAdapter->StopMarqueeDrawing();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetHighlightVisibilityL( TBool aVisible )
-    {
-        CMmWidgetContainer::SetHighlightVisibilityL( aVisible );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CMmListBoxContainer::PointInItemReorderAreaL(
-            TInt aItemIndex, TPoint aPoint )
-    {
-    TRect itemRect = GetItemRectL( aItemIndex );
-    itemRect.Shrink( 0, MmEffects::KShiftRatio * itemRect.Height() );
-    return itemRect.Contains( aPoint );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmListBoxContainer::HandleItemAdditionL()
-	{
-	iListBox->HandleItemAdditionL();
-	}
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmListBoxContainer::HandleItemRemovalL()
-	{
-	GetMmModel()->HandleSuiteEventL( ESuiteItemsRemoved, GetMmModel()->GetSuiteModel() );
-	iCurrentHighlight = GetSuiteModelL()->GetSuiteHighlight();
-	ValidateWidgetCurrentItemIndex();
-	
-	iDrawer->RemoveFloatingItems();
-	if( IsEditMode() )
-		{
-		iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
-		}
-	
-	iListBox->HandleItemRemovalL();
-    
-    CHnSuiteModel* suiteModel = GetSuiteModelL();
-	suiteModel->SetSuiteHighlightL( iCurrentHighlight );
-	static_cast<CMmListBoxItemDrawer*>( iListBox->ItemDrawer() )->TrimCacheSize(
-	        GetMmModel()->NumberOfItems() );
-	}
-	
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmListBoxContainer::ColumnsInCurrentView()
-	{
-	return 1;
-	}
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmListBoxContainer::RowsInCurrentView()
-    {
-    return iListBox->View()->NumberOfItemsThatFitInRect(
-            iListBox->View()->ViewRect());
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetVerticalItemOffset( TInt aOffset )
-	{
-	iListBox->SetVerticalItemOffset( aOffset );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxContainer::VerticalItemOffset() const
-	{
-	return iListBox->VerticalItemOffset();
-	}
-
-//----------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmListBoxContainer::UpdateViewScrollBarThumbs()
-	{
-	iListBox->UpdateScrollBarThumbs();
-	}
-// End of File
--- a/menufw/menufwui/mmwidgets/src/mmlistboxitemdrawer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1551 +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:
-*
-*/
-
-
-#include <eikfrlb.h>
-#include "mmwidgetsconstants.h"
-#include "hnconvutils.h"
-#include <gdi.h>
-#include <AknIconArray.h>
-#include <AknsConstants.h>
-#include <AknFontAccess.h>
-#include <aknlistboxtfx.h>
-#include <layoutmetadata.cdl.h>
-#include <AknIconUtils.h>
-#include <AknBidiTextUtils.h>
-#include <AknDef.hrh>
-#include <AknLayoutFont.h>
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#endif
-
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include "bitmaptransforms.h"
-#include "mmwidgetsconstants.h"
-#include "mmlistbox.h"
-#include "mmtemplatelibrary.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmlistboxmodel.h"
-#include "mmdraweranimator.h"
-#include "mmmarqueeadapter.h"
-#include "mmfloatingitem.h"
-#include "mmgridview.h"
-#include "mmcacheforitem.h"
-#include "mmitemsdatacache.h"
-#include "mmwidgetcontainer.h"
-#include "hnsuitemodel.h"
-#include "menudebug.h"
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxItemDrawer::CMmListBoxItemDrawer(
-        CMmListBoxModel* aMmListBoxModel,
-	    const CFont* aFont,
-	    CFormattedCellListBoxData* aFormattedCellData,
-	    TMmWidgetType aWidgetType,
-	    CMmTemplateLibrary* aTemplateLibrary )
-	: CFormattedCellListBoxItemDrawer( aMmListBoxModel , aFont, aFormattedCellData),
-	iFont(aFont), iLeftOverAreaUnderAnimatedItem(EFalse)
-	{
-	iWidgetType = aWidgetType;
-	iTemplateLibrary = aTemplateLibrary;
-	iMmModel = aMmListBoxModel;
-	iRedrawBackground = ETrue;
-	iZoomIconIndex = -1;
-	iIconAnimationZoomRatio = 1;
-	// this is needed to get iColors initialized on first use:
-	iLastDrawnItemWasFloating = ETrue;
-    SetFlags( CListItemDrawer::EDisableHighlight );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxItemDrawer::~CMmListBoxItemDrawer()
-	{
-	iFloatingItems.Close();
-	delete iItemsDataCache;
-	delete iAnimator;
-	delete iSubcellText;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::EnableCachedDataUse( TBool aEnable )
-    {
-    iUseCache = aEnable;
-    if ( aEnable )
-        {
-        RemoveFloatingItems();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::CachedDataUseIsEnabled() const
-    {
-    return iUseCache;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::TrimCacheSize( TInt aItemCount )
-    {
-    iItemsDataCache->Trim( aItemCount );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::InvalidateCache()
-    {
-    iItemsDataCache->Invalidate();
-    // this is needed to get iColors initialized on first use:
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxItemDrawer* CMmListBoxItemDrawer::NewLC(
-        CMmListBoxModel* aMmListBoxModel,
-	    const CFont* aFont,
-	    CFormattedCellListBoxData* aFormattedCellData,
-	    TMmWidgetType aWidgetType,
-	    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	CMmListBoxItemDrawer* self = new (ELeave)CMmListBoxItemDrawer(
-			aMmListBoxModel, aFont, aFormattedCellData, aWidgetType,
-			aTemplateLibrary );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxItemDrawer* CMmListBoxItemDrawer::NewL(
-        CMmListBoxModel* aMmListBoxModel,
-	    const CFont* aFont,
-	    CFormattedCellListBoxData* aFormattedCellData,
-	    TMmWidgetType aWidgetType,
-	    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	CMmListBoxItemDrawer* self = CMmListBoxItemDrawer::NewLC(
-	    aMmListBoxModel, aFont, aFormattedCellData, aWidgetType,
-        aTemplateLibrary );
-	CleanupStack::Pop( self );
-	return self;
-
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetView(CEikListBox * aView)
-    {
-    iWidget = aView;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CEikListBox* CMmListBoxItemDrawer::Widget() const
-    {
-    return iWidget;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::ConstructL()
-	{
-	iAnimator = CMmDrawerAnimator::NewL( *this );
-	iItemsDataCache = CMmItemsDataCache::NewL();
-	iIsEditMode = EFalse;
-	iHighlightShown = EFalse;
-	iDrawMoveIndicators = ETrue;
-	}
-
-// ----xm-------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawEmptyItem( TInt aItemIndex,
-        TPoint aItemRectPos,  TBool aViewIsDimmed ) const
-    {
-    TRect r( aItemRectPos, iItemCellSize );
-
-    CFormattedCellListBoxItemDrawer::DrawEmptyItem( aItemIndex, aItemRectPos,
-        aViewIsDimmed );
-
-    const_cast<CMmListBoxItemDrawer*>(this)->DrawFloatingItems(r);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxItemDrawer::GetFloatingItemIndex(TMmFloatingItemType aType) const
-    {
-    TInt ret (KErrNotFound);
-    TInt i(iFloatingItems.Count()-1);
-    for(; i >= 0; i--)
-        {
-        if (iFloatingItems[i].GetFloatingItemType() == aType)
-            {
-            ret = i;
-            break;
-            }
-        }
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TMmFloatingItem& CMmListBoxItemDrawer::GetFloatingItemL(TMmFloatingItemType aType)
-    {
-    TInt index = GetFloatingItemIndex(aType);
-    User::LeaveIfError( index );
-    return iFloatingItems[ index ];
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AnimateDragItemTransitionL()
-    {
-    iAnimator->AnimateDragItemTransitionL();
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AnimateItemSwapL( TInt aItemFrom, TInt aItemTo )
-    {
-    iAnimator->AnimateItemSwapL( aItemFrom, aItemTo );
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AnimateItemZoomInL( TInt aItemIndex )
-    {
-    iAnimator->AnimateItemZoomL( aItemIndex, ETrue );
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AnimateItemZoomOutL( TInt aItemIndex )
-    {
-    iAnimator->AnimateItemZoomL( aItemIndex, EFalse );
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawFloatingItems(TRect currentlyDrawnRect)
-    {
-    SetRedrawItemBackground( EFalse );
-    for(TInt i(iFloatingItems.Count()-1); i >= 0 ; i--)
-        {
-        TMmFloatingItemType type = iFloatingItems[i].GetFloatingItemType();
-        if ( iFloatingItems[i].IsFloatingItemValid() )
-            {
-            TInt drawnItemIndex = iFloatingItems[i].GetDrawnItemIndex();
-            TSize size = iWidget->View()->ItemSize( drawnItemIndex );
-            TRect rect( iFloatingItems[i].GetItemPosition(), iFloatingItems[i].GetItemPosition() + size);
-
-            if (rect.Intersects(currentlyDrawnRect))
-				{
-				TInt tempZoomIconIndex = iZoomIconIndex;
-				TInt tempZoomRatio = iIconAnimationZoomRatio;
-
-				iZoomIconIndex = iFloatingItems[i].GetDrawnItemIndex();
-				iIconAnimationZoomRatio = iFloatingItems[i].GetCurrentZoomRatio();
-
-				if ( ItemHasFloatingType( drawnItemIndex, EDrag) ||
-						ItemHasFloatingType( drawnItemIndex, EDragTransition) )
-					{
-					ClearFlags( CListItemDrawer::EPressedDownState );
-					}
-
-				DrawActualItem( drawnItemIndex, rect, ETrue, EFalse, EFalse, EFalse );
-				iIconAnimationZoomRatio = tempZoomRatio;
-				iZoomIconIndex = tempZoomIconIndex;
-				}
-            }
-        else
-        	{
-            iFloatingItems.Remove(i);
-        	}
-        }
-    SetRedrawItemBackground( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxItemDrawer::GetValidFloatingItemCount(TMmFloatingItemType aType)
-    {
-    TInt count (0);
-
-    for(TInt i(iFloatingItems.Count()-1); i >= 0; i--)
-        {
-        if (iFloatingItems[i].GetFloatingItemType() == aType
-                && iFloatingItems[i].IsFloatingItemValid() )
-            count++;
-        }
-    return count;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawItem(TInt aItemIndex, TPoint aItemRectPos,
-        TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized,
-        TBool aViewIsDimmed) const
-        {
-        if ( !Widget()->View()->RedrawDisabled() )
-            {
-            TBool highlightVisible =
-                !( Flags() & CListItemDrawer::ESingleClickDisabledHighlight );
-            aItemIsCurrent = aItemIsCurrent && highlightVisible;
-            DoDrawItem( aItemIndex, aItemRectPos, aItemIsSelected,
-                    aItemIsCurrent, aViewIsEmphasized, aViewIsDimmed);
-            }
-        }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DoDrawItem(TInt aItemIndex, TPoint aItemRectPos,
-        TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized,
-        TBool aViewIsDimmed) const
-    {
-    TSize itemCellSize = TSize( GetItemSize( aItemIndex, aItemIsCurrent ));
-    TRect actualItemRect(aItemRectPos, itemCellSize);
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal( iGc );
-	if ( transApi )
-		{
-		transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
-		transApi->StopDrawing();
-		transApi->BeginRedraw( MAknListBoxTfxInternal::EListItem,
-				actualItemRect, aItemIndex );
-		}
-#endif
-
-    const_cast<CMmListBoxItemDrawer*>(this)->iLeftOverAreaUnderAnimatedItem = EFalse;
-    for(TInt i(iFloatingItems.Count()-1); i >= 0; i--)
-        {
-        if ( iFloatingItems[i].GetDrawnItemIndex() == aItemIndex
-        		&& iFloatingItems[i].IsFloatingItemValid() )
-            {
-            const_cast<CMmListBoxItemDrawer*>(this)->iLeftOverAreaUnderAnimatedItem = ETrue;
-            break;
-            }
-        }
-
-    DrawActualItem(aItemIndex, actualItemRect, aItemIsCurrent, aViewIsEmphasized,
-    		aViewIsDimmed, aItemIsSelected);
-    const_cast<CMmListBoxItemDrawer*>(this)->iLeftOverAreaUnderAnimatedItem = EFalse;
-
-    const_cast<CMmListBoxItemDrawer*>(this)->DrawFloatingItems(actualItemRect);
-
-    if (!AknLayoutUtils::PenEnabled() && IsEditMode())
-        {
-        const_cast<CMmListBoxItemDrawer*>(this)->DrawActualIndicatorItem(
-        		aItemIndex, actualItemRect );
-        }
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	if ( transApi )
-		{
-	    transApi->EndRedraw( MAknListBoxTfxInternal::EListItem, aItemIndex );
-		}
-#endif
-
-
-
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawItemText(TInt aItemIndex,
-		const TRect &aItemTextRect, TBool aItemIsCurrent,
-		TBool aViewIsEmphasized, TBool aItemIsSelected ) const
-    {
-    TRAP_IGNORE( DoDrawItemTextL( aItemIndex, aItemTextRect, aItemIsCurrent,
-    		aViewIsEmphasized, aItemIsSelected ) );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DoDrawItemTextL( TInt aItemIndex, const TRect
-		&aItemTextRect, TBool aItemIsCurrent, TBool aViewIsEmphasized,
-		TBool /* aItemIsSelected */) const
-    {
-    CMmCacheForItem* cache = iItemsDataCache->GetItemCacheL( aItemIndex );
-    cache->InvalidateIfCacheMayNotBeUsed(
-            aItemIsCurrent, iLastSubcellsSetupCode );
-
-    if ( IsRedrawItemBackgroundEnabled() )
-        {
-        DrawBackgroundAndSeparatorLines( aItemTextRect );
-        }
-
-    if ( !iUseCache || !cache->IsValid() )
-        {
-        SetupSubCellsL( aItemIsCurrent, aItemIndex );
-        }
-    __ASSERT_DEBUG( cache->IsValid(), User::Invariant() );
-
-    FormattedCellData()->SetIconArray( cache->GetIconListL() );
-
-	TBool isFloating = !iUseCache && IsFloating( aItemIndex );
-	if ( !!isFloating != !!iLastDrawnItemWasFloating ) // Ex-OR
-	    {
-	    iLastDrawnItemWasFloating = isFloating;
-	    iColors = SetupColors( isFloating );
-	    }
-
-	CFormattedCellListBoxData* data = static_cast<CFormattedCellListBoxData*>(iData);
-	data->EnableMarqueeL( EFalse );
-
-    TBool highlightShown = ETrue;
-	if (FormattedCellData()->RespectFocus() && !aViewIsEmphasized)
-		{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-		MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iGc );
-		if ( transApi )
-			 {
-			 transApi->Remove( MAknListBoxTfxInternal::EListHighlight );
-			 }
-#endif
-		highlightShown = EFalse;
-		}
-
-    data->Draw( Properties(aItemIndex), *iGc, &( cache->GetItemText() ), aItemTextRect,
-    		GetHighlightVisibility( aItemIndex, aItemIsCurrent, highlightShown ), iColors );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iGc );
-	if ( transApi )
-		{
-		transApi->StartDrawing( MAknListBoxTfxInternal::EListItem );
-		}
-#endif
-
-	if ( iMarqueeAdapter && aItemIsCurrent )
-		{
-		DEBUG(("CMmListBoxItemDrawer::DoDrawItemTextL - DrawMarquee"));
-		iMarqueeAdapter->DrawMarqueeL( *iGc );
-		}
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	if ( transApi )
-		{
-		transApi->StopDrawing();
-		}
-#endif
-
-	ColumnData()->SetIconArray( NULL );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetRedrawItemBackground( TBool aRedraw )
-    {
-    iRedrawBackground = aRedraw;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsRedrawItemBackgroundEnabled() const
-    {
-    return iRedrawBackground;
-    }
-
-void CMmListBoxItemDrawer::DrawBackgroundAndSeparatorLines( const TRect& aItemTextRect ) const
-    {
-    MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-    CCoeControl* control = FormattedCellData()->Control();
-
-    if ( IsRedrawItemBackgroundEnabled() )
-        {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-  	    MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iGc );
-        if ( transApi )
-            {
-            transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
-            }
-#endif
-        TBool bgDrawn( EFalse );
-        if ( control )
-            {
-	        if ( CAknEnv::Static()->TransparencyEnabled() )
-                {
-                bgDrawn = AknsDrawUtils::Background(
-                    skin, iBgContext, control, *iGc, aItemTextRect,
-                    KAknsDrawParamNoClearUnderImage );
-                }
-            else
-                {
-                bgDrawn = AknsDrawUtils::Background(
-                    skin, iBgContext, control, *iGc, aItemTextRect,
-                    KAknsDrawParamNoClearUnderImage |
-                    KAknsDrawParamBottomLevelRGBOnly );
-                }
-            }
-        if ( !bgDrawn )
-            {
-            iGc->Clear( aItemTextRect );
-            }
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-        if ( transApi )
-            {
-            transApi->StopDrawing();
-            }
-#endif
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupSubNoCellL( TInt aIndex,
-        TInt aItemIndex ) const
-    {
-    TTemplateChild child;
-    child.iFontId = EAknLogicalFontSecondaryFont;
-    child.iIsImage = EFalse;
-    const_cast<CMmListBoxItemDrawer*>(this)->
-        ReplaceSubCellText( KNullDesC() );
-    SetupSubCellL( child, aIndex, aItemIndex );
-    iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::ENoSubcell );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupSubIcondDragHighlightCellL(
-        TTemplateChild aSubCellTemplate, TInt aIndex, TInt aItemIndex ) const
-    {
-    aSubCellTemplate.iRectAccordingToParent.iBr
-		= TPoint(ItemCellSize().iWidth * iIconAnimationZoomRatio,
-				ItemCellSize().iHeight * iIconAnimationZoomRatio);
-
-    aSubCellTemplate.iRectAccordingToParent.iTl = TPoint(0, 0);
-    SetupSubCellL( aSubCellTemplate, aIndex , aItemIndex);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupSubCellL( TTemplateChild aSubCellTemplate,
-        TInt aIndex, TInt aItemIndex  ) const
-	{
-    CFormattedCellListBoxData* data = static_cast<CFormattedCellListBoxData*>(iData);
-    TInt width = aSubCellTemplate.iRectAccordingToParent.iBr.iX - aSubCellTemplate.iRectAccordingToParent.iTl.iX;
-    TInt height = aSubCellTemplate.iRectAccordingToParent.iBr.iY - aSubCellTemplate.iRectAccordingToParent.iTl.iY;
-    data->SetTransparentSubCellL(aIndex, ETrue);
-    data->SetSubCellSizeL( aIndex, TSize(width,height));
-    data->SetSubCellIconSize( aIndex, TSize(width,height) );
-	data->SetSubCellPositionL( aIndex, aSubCellTemplate.iRectAccordingToParent.iTl);
-	data->SetGraphicsSubCellL( aIndex, aSubCellTemplate.iIsImage );
-	data->SetSubCellAlignmentL( aIndex, aSubCellTemplate.iTextAlign );
-	const CFont* font = AknLayoutUtils::FontFromId(aSubCellTemplate.iFontId);
-	data->SetSubCellFontL (aIndex, font);
-	data->SetSubCellBaselinePosL( aIndex,
-			CAknLayoutFont::AsCAknLayoutFontOrNull( font )->TextPaneTopToBaseline()
-			+ aSubCellTemplate.iRectAccordingToParent.iTl.iY );
-
-//	If some text is clipped then marquee will do the drawing right after the subcell is drawn by ListBoxData.
-//	Setting the subcell size to zero prevents ListBoxData from drawing the text.
-	if (!aSubCellTemplate.iIsImage
-			&& !iIsMarqueeBeingDrawn
-			&& ( aItemIndex == iWidget->View()->CurrentItemIndex() )
-			&& !IsEditMode()
-			&& iWidgetType == EListbox
-			&& iSubcellText
-            && iMarqueeAdapter->IsMarqueeEnabled() )
-
-		{
-		if (iMarqueeAdapter && IsTextClippedL( aSubCellTemplate, *iSubcellText )
-			&& STATIC_CAST(CMmWidgetContainer*,Widget()->Parent())->IsHighlightVisible() )
-		    {
-		    data->SetSubCellSizeL( aIndex, TSize(0,0));
-    		const_cast<CMmListBoxItemDrawer*>(this)->AddSubcellMarqueeElementL(
-    				aSubCellTemplate, aIndex, aItemIndex);
-		    }
-		else if (iMarqueeAdapter)
-            {
-            iMarqueeAdapter->StopMarqueeDrawing(aIndex);
-            }
-		}
-
-	if ( iMarqueeAdapter && iIsMarqueeBeingDrawn
-    		&& iMarqueeAdapter->SubcellMarqueeElementExists( aIndex ) )
-    	{
-    	if (aItemIndex != iWidget->View()->CurrentItemIndex() )
-            {
-            iMarqueeAdapter->StopMarqueeDrawing(aIndex);
-            }
-    	else
-    	    {
-    	    data->SetSubCellSizeL(aIndex, TSize(0, 0));
-    	    }
-        }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CFormattedCellListBoxData::TColors CMmListBoxItemDrawer::SetupColors(  TBool aDragged ) const
-	{
-	CFormattedCellListBoxData::TColors colors;
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-	if ( !aDragged )
-	    {
-        AknsUtils::GetCachedColor( skin, colors.iText, KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG9 );
-        AknsUtils::GetCachedColor( skin, colors.iBack , KAknsIIDQsnTextColors,
-                EAknsCIQsnOtherColorsCG6 );
-        AknsUtils::GetCachedColor( skin, colors.iHighlightedText,
-                KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );
-        AknsUtils::GetCachedColor( skin, colors.iHighlightedBack,
-                KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
-	    }
-	else
-	    {
-        AknsUtils::GetCachedColor( skin, colors.iText, KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG11 );
-        AknsUtils::GetCachedColor( skin, colors.iBack , KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG6 );
-        AknsUtils::GetCachedColor( skin, colors.iHighlightedText,
-                KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );
-        AknsUtils::GetCachedColor( skin, colors.iHighlightedBack,
-                KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
-	    }
-
-	return colors;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxItemDrawer::GetItemHeight( TInt aItemIndex, TBool aItemIsCurrent ) const
-    {
-    TSize ret(TInt(0),TInt(0));
-    ret = GetItemSize(aItemIndex, aItemIsCurrent);
-    return ret.iHeight;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxItemDrawer::GetFloatingItemCount()
-    {
-	for( TInt i=0; i< iFloatingItems.Count(); i++)
-		{
-		TMmFloatingItem& current = GetFloatingItemAtIndex(i);
-		if (current.GetDrawnItemIndex() == KErrNotFound)
-			{
-			RemoveFloatingItem(i);
-			}
-		}
-
-    return iFloatingItems.Count();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TMmFloatingItem& CMmListBoxItemDrawer::GetFloatingItemAtIndex( TInt aIndex )
-    {
-    return iFloatingItems[ aIndex ];
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::RemoveFloatingItem( TInt aPosition )
-    {
-    if (aPosition != KErrNotFound)
-    	{
-    	iFloatingItems.Remove( aPosition );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::RemoveFloatingItems()
-    {
-    iFloatingItems.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AddFloatingItemL( TMmFloatingItem& aFloatingItem,
-        TInt aPosition )
-    {
-    EnableCachedDataUse( EFalse );
-    if (aPosition != KErrNotFound)
-        {
-        iFloatingItems.InsertL( aFloatingItem, aPosition );
-        }
-    else
-        {
-        iFloatingItems.AppendL( aFloatingItem );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TSize CMmListBoxItemDrawer::GetItemSize( TInt aItemIndex, TBool aItemIsCurrent ) const
-    {
-    if ( aItemIndex < 0 )
-        {
-        return TSize( 1, 1 );
-        }
-
-	TSize size;
-
-	CMmCacheForItem* cache = NULL;
-	TRAPD( cacheError, cache = iItemsDataCache->GetItemCacheL( aItemIndex ) );
-	if ( cacheError != KErrNone )
-	    {
-	    cache = NULL;
-	    }
-
-	if ( cache )
-	    {
-	    cache->InvalidateIfCacheMayNotBeUsed(
-	            aItemIsCurrent, iLastSubcellsSetupCode );
-	    }
-
-    if ( !iUseCache || !cache || !cache->IsValid() )
-        {
-        const TDesC8& mm_template = iMmModel->GetAttributeAsText (aItemIndex,
-                KMmTemplate8);
-        TRect viewRect = iWidget->View()->ViewRect();
-
-        TBool landscapeOrientation = viewRect.Width() > viewRect.Height();
-        // Layout_Meta_Data::IsLandscapeOrientation cannot be used here because it
-        // might happen that GetSize (this method) gets called immediately after
-        // layout change but before AppUi calls SetRect on the container of iWidget
-        // (Layout_Meta_Data::IsLandscapeOrientation always reflects the current state,
-        // whereas ViewRect might sometimes be out of date).
-        // In such situation iTemplateLibrary->GetSize (called just below) would
-        // cause the template library to fill the internal cache for landscape mode
-        // with parameters calculated according to the outdated ViewRect.
-
-
-        if ( iTemplateLibrary->GetSize( size, iWidgetType, mm_template,
-                landscapeOrientation, aItemIsCurrent, viewRect )
-                != KErrNone )
-            {
-            size = TSize( 1, 1 );
-            }
-        if ( cache )
-            {
-            cache->SetSize( size );
-            }
-        }
-    else
-        {
-        size = cache->GetSize();
-        }
-    return size;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TRect CMmListBoxItemDrawer::GetIndicatorRect() const
-    {
-    TBool landscapeOrientation = Layout_Meta_Data::IsLandscapeOrientation();
-    const TDesC8& mm_template = iMmModel->GetAttributeAsText(
-            iWidget->View()->CurrentItemIndex(), KMmTemplate8 );
-    TRect indicatorRect( iTemplateLibrary->GetMoveIndicatorRect(
-            iWidgetType, mm_template, landscapeOrientation, ETrue ) );
-    return indicatorRect;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetDraggableL( TBool aDraggable )
-    {
-
-	iDraggable = aDraggable;
-
-    if (!iDraggable)
-        {
-        for(int i=0; i< iFloatingItems.Count(); i++)
-            {
-            if (iFloatingItems[i].GetFloatingItemType() == EZoomTransition
-                    && iFloatingItems[i].GetZoomingStatus() > 0)
-                {
-                AnimateItemZoomOutL( iFloatingItems[i].GetDrawnItemIndex() );
-                }
-            else if (iFloatingItems[i].GetFloatingItemType() == EDrag
-                    || iFloatingItems[i].IsManualDelete())
-                {
-                iFloatingItems[i].InvalidateFloatingItem();
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetEditModeL( TBool aEditMode )
-    {
-    if ( aEditMode )
-        {
-        EnableCachedDataUse( EFalse );
-        }
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    MAknListBoxTfxInternal *trans = CAknListLoader::TfxApiInternal( iGc );
-    if( trans )
-        {
-        trans->Remove( MAknListBoxTfxInternal::EListEverything );
-        trans->Draw( iViewRect );
-        }
-#endif
-    iIsEditMode = aEditMode;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsEditMode() const
-	{
-	return iIsEditMode;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmDrawerAnimator* CMmListBoxItemDrawer::GetAnimator()
-    {
-    return iAnimator;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetDraggedPointL( TPoint aPoint )
-	{
-	TInt dragFloatingItem = GetFloatingItemIndex(EDrag);
-	if (dragFloatingItem != KErrNotFound )
-		{
-		TMmFloatingItem & item = GetFloatingItemAtIndex( dragFloatingItem );
-		TMmFloatingItem floatingItem( item.GetDrawnItemIndex(),
-				aPoint,	EDrag, MmEffects::KNoAnimationFramesCount, NULL );
-		floatingItem.SetManualDelete( ETrue );
-
-		TMmFloatingItem postDragRefresh( item.GetDrawnItemIndex(),
-						item.GetItemPosition(),	EPostDragRefreshItem,
-						MmEffects::KNoAnimationFramesCount, iWidget->View() );
-
-		iFloatingItems.Remove(dragFloatingItem);
-
-		if (postDragRefresh.GetItemPosition() != floatingItem.GetItemPosition())
-			{
-			iFloatingItems.Append( postDragRefresh );
-			}
-		iFloatingItems.Insert( floatingItem, 0 );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetDraggedIndexL(TInt aDraggedItemIndex,
-		TPoint aPoint)
-    {
-    TInt dragFloatingItem = KErrNotFound;
-    do
-    	{
-	    dragFloatingItem = GetFloatingItemIndex(EDrag);
-	    if (dragFloatingItem != KErrNotFound)
-	    	{
-	    	TMmFloatingItem & item = GetFloatingItemAtIndex( dragFloatingItem );
-
-	    	TMmFloatingItem postDragRefresh( item.GetDrawnItemIndex(),
-				item.GetItemPosition(),	EPostDragRefreshItem,
-				MmEffects::KNoAnimationFramesCount, iWidget->View() );
-
-	    	if (postDragRefresh.GetItemPosition() != aPoint)
-	    		{
-	    		iFloatingItems.Append( postDragRefresh );
-	    		}
-	    	}
-
-		RemoveFloatingItem( dragFloatingItem );
-
-    	}
-	while ( dragFloatingItem != KErrNotFound );
-
-    if ( aDraggedItemIndex != KErrNotFound )
-    	{
-		TMmFloatingItem floatingItem( aDraggedItemIndex, aPoint, EDrag,
-				MmEffects::KNoAnimationFramesCount, iWidget->View() );
-		floatingItem.SetManualDelete( ETrue );
-		AddFloatingItemL(floatingItem, 0);
-
-	    ClearFlags( CListItemDrawer::EPressedDownState );
-    	}
-
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsDraggable() const
-    {
-    return iDraggable && iWidget->View();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetBgContext(
-		CAknsBasicBackgroundControlContext * aBgContext )
-	{
-	iBgContext = aBgContext;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetScrollbarVisibilityL( TBool aIsScrollbarVisible )
-	{
-	iTemplateLibrary->SetScrollbarVisibilityL( aIsScrollbarVisible );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TRect CMmListBoxItemDrawer::AdjustItemRect( TInt aItemIndex ) const
-	{
-	TSize size = iWidget->View()->ItemSize (iWidget->View()->CurrentItemIndex () );
-	TRect rect(iWidget->View()->ItemPos (iWidget->View()->CurrentItemIndex () ),
-			iWidget->View()->ItemPos (iWidget->View()->CurrentItemIndex () ) + size);
-	if ( !AknLayoutUtils::PenEnabled () && iIsIndicatorItem)
-		{
-		TBool landscapeOrientation =
-				Layout_Meta_Data::IsLandscapeOrientation ();
-		const TDesC8& mm_template = iMmModel->GetAttributeAsText (
-				0, KMmTemplate8);
-		TRect relativeToParentRect = TRect (TPoint (0, 0), TPoint (0, 0));
-		relativeToParentRect = iTemplateLibrary->GetMoveIndicatorRect(
-						iWidgetType, mm_template, landscapeOrientation,
-						aItemIndex == iWidget->View()->CurrentItemIndex () );
-		rect.Move (relativeToParentRect.iTl);
-		rect.iBr.iX = rect.iBr.iX + relativeToParentRect.Width ();
-		rect.iBr.iY = rect.iBr.iY + relativeToParentRect.Height ();
-		}
-	return rect;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawActualIndicatorItem( TInt aItemIndex, TRect /*actualItemRect*/ )
-	{
-	if ( iDrawMoveIndicators )
-		{
-		iIsIndicatorItem = ETrue;
-		SetRedrawItemBackground( EFalse );
-
-		DrawActualItem( aItemIndex, AdjustItemRect( aItemIndex ) , EFalse, EFalse, EFalse, EFalse);
-
-		SetRedrawItemBackground( ETrue );
-		iIsIndicatorItem = EFalse;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::ReplaceSubCellText( const TDesC& aText )
-	{
-	delete iSubcellText;
-	iSubcellText = NULL;
-	if( aText.Compare( KNullDesC() ) )
-		{
-		iSubcellText = aText.Alloc();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AddSubcellMarqueeElementL( TTemplateChild aSubCellTemplate, TInt aIndex, TInt aItemIndex )
-	{
-	TRgb textColor;
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-	AknsUtils::GetCachedColor( skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG10 );
-	iMarqueeAdapter->AddMarqueeElementL( aSubCellTemplate.iRectAccordingToParent, *iSubcellText,
-			aSubCellTemplate.iFontId, textColor, aSubCellTemplate.iTextAlign, aIndex,
-			aSubCellTemplate.iRectAccordingToParent.iTl.iY,
-			aItemIndex);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter )
-	{
-	iMarqueeAdapter = aAdapter;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetMarqueeDrawing( TBool aIsMarqueeBeingDrawn )
-	{
-	iIsMarqueeBeingDrawn = aIsMarqueeBeingDrawn;
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsTextClippedL( TTemplateChild aTemplateChild,
-		const TDesC& aText ) const
-	{
-    TBuf< MmMarqueeConstants::KClippingBufLength > clipbuf
-		= aText.Left( MmMarqueeConstants::KTextTrimmingThreshold);
-	TInt maxClipWidth = aTemplateChild.iRectAccordingToParent.Width();
-	const CFont* font = AknLayoutUtils::FontFromId(aTemplateChild.iFontId);
-    return AknBidiTextUtils::ConvertToVisualAndClipL( clipbuf, *font,
-    		aTemplateChild.iRectAccordingToParent.Width(), maxClipWidth );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetNumberOfColsInView(TInt aNumberOfColumns)
-	{
-	iNumberOfColsInWidget = aNumberOfColumns;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupIconSubcellL(
-		RArray<TTemplateChild>& aTemplateChildArray, TInt aChildIndex, TInt aItemIndex,
-		RBuf& aItemText, TInt& aSubcellIncrement ) const
-		{
-		CGulIcon* icon = NULL;
-		TTemplateChild child = aTemplateChildArray[aChildIndex];
-		if ( !IsEditMode() &&
-		        child.iImageVisualId == EImageVisualIdEditMode )
-		    {
-		    child.iIsImage = EFalse;
-		    }
-
-		if ( IsDraggable() && aItemIndex == iZoomIconIndex )
-			{
-			const TReal KNormalZoomRatio = 1.0;
-			TReal zoomDelta = ( iIconAnimationZoomRatio - KNormalZoomRatio ) / 2.0;
-			TSize size = child.iRectAccordingToParent.Size();
-			TSize sizeDelta( size.iWidth * zoomDelta, size.iHeight * zoomDelta );
-			child.iRectAccordingToParent.Grow( sizeDelta );
-			}
-
-		TSize targetSize = child.iRectAccordingToParent.Size();
-
-		CHnIconHolder* iconHolder = iMmModel->GetAttributeAsRefCountedGraphics(
-                aItemIndex, child.iData, &targetSize );
-        icon = iconHolder ? iconHolder->GetGulIcon() : NULL;
-        if ( icon )
-            {
-            CFbsBitmap* bitmap = icon->Bitmap();
-            ASSERT( bitmap );
-            //resize the item if it is a move indicator
-            if( iIsIndicatorItem )
-                {
-                AknIconUtils::SetSize( bitmap, child.iRectAccordingToParent.Size(),
-                		EAspectRatioNotPreserved );
-                }
-            else
-                {
-                TSize bmpSize = bitmap->SizeInPixels();
-                TBool setSizeRequired = bitmap->DisplayMode() == ENone;
-                if ( targetSize.iWidth && targetSize.iHeight &&
-                        ( setSizeRequired || !BitmapFitsIntoTarget( bmpSize, targetSize ) ) )
-                    {
-                    CFbsBitmap* mask = icon->Mask();
-                    if ( mask )
-                        {
-                        __ASSERT_DEBUG( bmpSize == mask->SizeInPixels(), User::Invariant() );
-                        AknIconUtils::SetSize( mask, targetSize, EAspectRatioPreservedAndUnusedSpaceRemoved );
-                        }
-                    AknIconUtils::SetSize( bitmap, targetSize, EAspectRatioPreservedAndUnusedSpaceRemoved );
-                    }
-                }
-
-            TInt iconIndex = iItemsDataCache->GetItemCacheL( aItemIndex )->AppendIconL( iconHolder );
-
-            HBufC8* number = HnConvUtils::NumToStr8LC( iconIndex );
-            const TInt newLength = aItemText.Length() + number->Length();
-            if( aItemText.MaxLength() < newLength )
-                {
-                aItemText.ReAllocL( newLength );
-                }
-            CleanupStack::PopAndDestroy( number );
-            aItemText.AppendNum( iconIndex );
-
-    	    SetupSubCellL( child, aSubcellIncrement, aItemIndex );
-
-        	if ( aChildIndex < aTemplateChildArray.Count() - 1 )
-        	    {
-	            const TInt newLength = aItemText.Length() + KTab().Length();
-                if( aItemText.MaxLength() < newLength )
-                    {
-                    aItemText.ReAllocL( newLength );
-                    }
-        	    aItemText.Append( KTab );
-        	    }
-
-        	aSubcellIncrement++;
-        	iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::EGraphicsSubcell );
-        	}
-        else
-            {
-            // Mark the fact that subcell was not set to ensure that TMmSubcellsSetupCode
-            // works properly.
-            iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::ESkippedSubcell );
-            }
-		}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::BitmapFitsIntoTarget(
-        TSize aBmpSize, TSize aTargetSize ) const
-    {
-    TBool widthLessOrEqual = aBmpSize.iWidth <= aTargetSize.iWidth;
-    TBool heightLessOrEqual = aBmpSize.iHeight <= aTargetSize.iHeight;
-    TBool widthAlmostEqual = Abs( aBmpSize.iWidth - aTargetSize.iWidth ) < 2;
-    TBool heightAlmostEqual = Abs( aBmpSize.iHeight - aTargetSize.iHeight ) < 2;
-    return ( widthLessOrEqual && heightAlmostEqual ) ||
-           ( widthAlmostEqual && heightLessOrEqual );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupTextSubcellL(
-		RArray<TTemplateChild>& aTemplateChildArray, TInt aChildIndex,
-		TInt aItemIndex, RBuf& aItemText, TInt& aSubcellIncrement ) const
-		{
-		TTemplateChild child = aTemplateChildArray[aChildIndex];
-		RBuf itemChildText;
-		CleanupClosePushL( itemChildText );
-		const TDesC8& mmTitleDes8 = iMmModel->GetAttributeAsText( aItemIndex,
-				child.iData  );
-		itemChildText.Assign( HnConvUtils::Str8ToStr( mmTitleDes8 ) );
-
-		AppendText( aItemText, itemChildText );
-
-		const_cast<CMmListBoxItemDrawer*>(this)->ReplaceSubCellText(
-				itemChildText );
-		CleanupStack::PopAndDestroy( &itemChildText );
-
-	    SetupSubCellL( child, aSubcellIncrement, aItemIndex );
-
-    	if ( aChildIndex < aTemplateChildArray.Count() - 1 )
-    	    {
-    	    AppendText( aItemText, KTab );
-    	    }
-
-    	aSubcellIncrement++;
-    	iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::ETextSubcell );
-		}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AppendText( RBuf& aBuffer, const TDesC& aTextToAppend ) const
-	{
-		TInt newLength = aBuffer.Length() + aTextToAppend.Length();
-		TInt error = KErrNone;
-
-   		if( aBuffer.MaxLength() < newLength )
-   		    {
-   		    error = aBuffer.ReAlloc( newLength );
-   		    }
-   		if ( error == KErrNone )
-   			{
-   			aBuffer.Append( aTextToAppend );
-   			}
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupBackdropSubcellL(
-		RArray<TTemplateChild>& aTemplateChildArray, TInt aItemIndex,
-		RBuf& aItemText, TInt& aSubcellIncrement ) const
-	{
-    CGulIcon* icon = NULL;
-    for ( TInt i = 0; i < aTemplateChildArray.Count() /*&&
-            aItemIndex != iWidget->View()->CurrentItemIndex()*/; ++i )
-        {
-        TTemplateChild child = aTemplateChildArray[i];
-        if( child.iImageVisualId == EImageVisualIdEditMode  &&
-                child.iIsImage )
-            {
-            TSize itemSize = GetItemSize( aItemIndex,
-            		aItemIndex == iWidget->View()->CurrentItemIndex() );
-            CHnIconHolder* iconHolder = iMmModel->GetAttributeAsRefCountedGraphics( aItemIndex, child.iData, &itemSize );
-            icon = iconHolder ? iconHolder->GetGulIcon() : NULL;
-            if ( icon )
-                {
-                CFbsBitmap* bitmap = icon->Bitmap();
-				child.iRectAccordingToParent = TRect( TPoint( 0, 0 ),
-						TPoint( itemSize.iWidth, itemSize.iHeight ) );
-				AknIconUtils::SetSize( bitmap, itemSize,
-						EAspectRatioNotPreserved );
-				TInt iconIndex = iItemsDataCache->GetItemCacheL( aItemIndex )->AppendIconL( iconHolder );
-
-                HBufC8* number = HnConvUtils::NumToStr8LC( iconIndex );
-                TInt newLength = aItemText.Length() + number->Length();
-                if( aItemText.MaxLength() < newLength )
-                    {
-                    aItemText.ReAllocL( newLength );
-                    }
-                CleanupStack::PopAndDestroy( number );
-                aItemText.AppendNum( iconIndex );
-
-                newLength = aItemText.Length() + KTab().Length();
-                if( aItemText.MaxLength() < newLength )
-                    {
-                    aItemText.ReAllocL( newLength );
-                    }
-                aItemText.Append( KTab );
-                SetupSubCellL( child, aSubcellIncrement, aItemIndex );
-                aSubcellIncrement++;
-                iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::EBackdropSubcell );
-                }
-            }
-        }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupSubCellsL( TBool aItemIsCurrent,
-        TInt aItemIndex ) const
-    {
-    CMmCacheForItem* cache = iItemsDataCache->GetItemCacheL( aItemIndex );
-    cache->SetValidL( EFalse );
-
-    const TDesC8& mmTemplate = iMmModel->GetAttributeAsText( aItemIndex, KMmTemplate8 );
-    if ( !mmTemplate.Compare( KNullDesC8 ) || !mmTemplate.Compare( KEmpty8 ) )
-        {
-        User::Leave( KErrNotFound );
-        }
-    cache->SetTemplateL( mmTemplate );
-
-    cache->ClearIconArray();
-    cache->SetCurrent( aItemIsCurrent );
-
-    TBool landscapeOrientation = Layout_Meta_Data::IsLandscapeOrientation();
-
-    RBuf& itemText = cache->GetItemTextForModifications();
-    itemText.Close();
-    itemText.CreateL( MmTemplateContants::KItemSubCellsText );
-
-    RArray<TTemplateChild> templateChildArray;
-    CleanupClosePushL( templateChildArray );
-    if ( !iIsIndicatorItem )
-		{
-		iTemplateLibrary->GetChildrenL( iWidgetType, templateChildArray, mmTemplate,
-				landscapeOrientation, aItemIsCurrent,	IsEditMode() );
-		}
-    else if ( !AknLayoutUtils::PenEnabled() )
-		{
-		iTemplateLibrary->GetMoveIndicatorChildrenL( iWidgetType, templateChildArray,
-	    		mmTemplate, landscapeOrientation, aItemIsCurrent );
-		}
-
-    iLastSubcellsSetupCode.Clear();
-
-    //Backdrop icon as first element to draw
-    TInt subcellIncrement( 0 );
-    if ( GetBackdropVisibility( aItemIndex, aItemIsCurrent ) )
-        {
-        SetupBackdropSubcellL( templateChildArray, aItemIndex, itemText, subcellIncrement );
-        iItemHasBackdrop = ETrue;
-        }
-    else
-    	{
-    	iItemHasBackdrop = EFalse;
-    	}
-
-	for ( TInt i( 0 ) ; i < templateChildArray.Count() && !iLeftOverAreaUnderAnimatedItem; i++ )
-		{
-		TTemplateChild child = templateChildArray[i];
-        if ( child.iImageVisualId == EImageVisualIdEditMode && child.iIsImage )
-            {
-            continue;
-            }
-        else if( !child.iIsImage )
-    		{
-    		SetupTextSubcellL( templateChildArray, i, aItemIndex, itemText, subcellIncrement );
-    		}
-    	else
-    		{
-    		SetupIconSubcellL( templateChildArray, i, aItemIndex, itemText, subcellIncrement );
-    		}
-		}
-	TInt subcellsJustSet = subcellIncrement;
-	iCurrentNumberOfSubcellsSet = Max( iCurrentNumberOfSubcellsSet, subcellsJustSet );
-	__ASSERT_DEBUG( iCurrentNumberOfSubcellsSet <= MmTemplateContants::KSubCellsCount,
-	        User::Invariant() );
-
-	for ( TInt i = subcellIncrement; i < iCurrentNumberOfSubcellsSet; i++ )
-	    {
-	    SetupSubNoCellL( i, aItemIndex );
-	    }
-
-	iLastSubcellsSetupCode.AddTemplateInfo(
-	        iItemsDataCache->GetTemplateIdentifierL( mmTemplate ) );
-	iLastSubcellsSetupCode.AddIsCurrentInfo( aItemIsCurrent );
-
-	CleanupStack::PopAndDestroy( &templateChildArray );
-
-	cache->SetSubcellsSetupCode( iLastSubcellsSetupCode );
-	// the line below is here only to make the cached information complete
-	GetItemSize( aItemIndex, aItemIsCurrent );
-	cache->SetValidL( ETrue );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmTemplateLibrary* CMmListBoxItemDrawer::TemplateLibrary()
-    {
-    return iTemplateLibrary;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetHighlightShown( TBool aDrawn )
-	{
-	iHighlightShown = aDrawn;
-	iDrawMoveIndicators = aDrawn;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsFloating( TInt aItemIndex ) const
-    {
-    TBool isFloating( EFalse );
-
-    TInt index = GetFloatingItemIndex( EDrag );
-    if (index == KErrNotFound)
-    	{
-    	index = GetFloatingItemIndex( EDragTransition );
-    	}
-
-    if ( KErrNotFound != index )
-        {
-        TMmFloatingItem& current = const_cast<CMmListBoxItemDrawer*>(this)->GetFloatingItemAtIndex( index );
-        TInt drawnIndex = current.GetDrawnItemIndex();
-        if ( drawnIndex == aItemIndex )
-            {
-            isFloating = ETrue;
-            }
-        }
-    return isFloating;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawActualItem(TInt aItemIndex,
-		const TRect& aActualItemRect, TBool aItemIsCurrent,
-		TBool aViewIsEmphasized, TBool /*aViewIsDimmed*/,
-		TBool aItemIsSelected) const
-		{
-		if (Properties(aItemIndex).IsSelectionHidden())
-			{
-			aItemIsSelected = EFalse;
-			}
-		DrawItemText(aItemIndex,aActualItemRect,aItemIsCurrent,
-				aViewIsEmphasized,aItemIsSelected);
-		}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::GetHighlightVisibility( TInt aItemIndex,
-		TBool aItemIsCurrent, TBool aAllowHighlightForNonDraggedItem ) const
-	{
-	TBool highlightVisibility(EFalse);
-	if (!iItemHasBackdrop && !iLeftOverAreaUnderAnimatedItem ) //never draw highlight when item has backdrop or when left over area under animated item
-		{
-		TBool currentlyDraggedItem =
-			ItemHasFloatingType( aItemIndex, EDrag ) ||
-			ItemHasFloatingType( aItemIndex, EDragTransition );
-
-		if ( ( STATIC_CAST(CMmWidgetContainer*,Widget()->Parent())->IsHighlightVisible()
-				&& aItemIsCurrent && aAllowHighlightForNonDraggedItem )
-				|| currentlyDraggedItem )
-			{
-			highlightVisibility = ETrue;
-			}
-		}
-	return highlightVisibility;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::GetBackdropVisibility( TInt aItemIndex,
-		TBool aItemIsCurrent ) const
-	{
-	TBool currentlyDraggedItem =
-		ItemHasFloatingType( aItemIndex, EDrag ) ||
-		ItemHasFloatingType( aItemIndex, EDragTransition );
-
-    return 	IsEditMode() /* draw the backdrop only in edit mode */
-    		&& !currentlyDraggedItem /* backdrop is disabled for dragged items */
-    		&& !iIsIndicatorItem /* in non-touch backdrop is not drawn, just "move indicators" */
-    		&& !iLeftOverAreaUnderAnimatedItem /* is the currently drawn item the area left over behind dragged item*/
-    		&& !( STATIC_CAST( CMmWidgetContainer*,Widget()->Parent() )->IsHighlightVisible()
-    				&& aItemIsCurrent );/*if the timer is active then we want to draw highlight (not backdrop) on the current index*/
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::ItemHasFloatingType( TInt aItemIndex,
-		TMmFloatingItemType aFloatingType) const
-	{
-	TBool hasFloatingType( EFalse );
-	for ( TInt i = iFloatingItems.Count() - 1 ; i >= 0; i-- )
-        {
-		const TMmFloatingItem& item = iFloatingItems[i];
-        if ( item.GetFloatingItemType() == aFloatingType
-        		&& item.GetDrawnItemIndex() == aItemIndex )
-            {
-            hasFloatingType = ETrue;
-            break;
-            }
-        }
-	return hasFloatingType;
-	}
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmlistboxmodel.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +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:  
-*
-*/
-
-
-#include "mmlistboxmodel.h"
-#include "mmwidgetsconstants.h"
-#include <eiktxlbm.h> 
-#include "hnconvutils.h"
-#include "hnsuiteobserver.h"
-#include "hnsuitemodel.h"
-#include "hnitemmodel.h"
-#include "hnattributebase.h"
-#include "hnattributeimage.h"
-#include "hnmenuitemmodel.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//    
-CMmListBoxModel::CMmListBoxModel() 
-    : iSuiteModel( NULL )
-	{
-	
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel::~CMmListBoxModel()
-	{
-    if (iSuiteModel)
-    	{
-        iSuiteModel->UnregisterSuiteObserver( this );
-    	}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel* CMmListBoxModel::NewLC()
-	{
-	CMmListBoxModel* self = new (ELeave) CMmListBoxModel();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel* CMmListBoxModel::NewL()
-	{
-	CMmListBoxModel* self = CMmListBoxModel::NewLC();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::SetSuiteModelL( CHnSuiteModel * aSuiteModel )
-    {   
-    if (iSuiteModel)
-        iSuiteModel->UnregisterSuiteObserver( this );
-    
-    iSuiteModel = aSuiteModel;
-    UpdateDummyArrayDataL();
-    
-    if (iSuiteModel)
-        iSuiteModel->RegisterSuiteObserverL( this, EPriorityNormal );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CHnAttributeBase* CMmListBoxModel::GetAttribute( TInt aIndex,
-        const TDesC8 & aAttributeName )
-    {
-    CHnItemModel* item = (iSuiteModel) ? iSuiteModel->GetItemModel( iSuiteModel->IdByIndex( aIndex ) ) : NULL;
-    return (item) ? item->GetAttribute( aAttributeName ) : NULL;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-const TDesC8& CMmListBoxModel::GetAttributeAsText( TInt aIndex,
-		const TDesC8 & aAttributeName )
-    {
-    CHnAttributeBase* attribute = GetAttribute( aIndex, aAttributeName );
-    return (attribute) ? attribute->Value() : KNullDesC8;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CHnIconHolder* CMmListBoxModel::GetAttributeAsRefCountedGraphics( TInt aIndex,
-        const TDesC8 & aAttributeName, TSize* aDesiredIconSize)
-    {
-    CHnAttributeBase* attribute = GetAttribute( aIndex, aAttributeName );
-    if ( !attribute || attribute->Type() != EImageAttribute )
-        {
-        return NULL;
-        }
-    return attribute->GetIconHolder( aDesiredIconSize );
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::ConstructL()
-	{
-	CTextListBoxModel::ConstructL();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::UpdateDummyArrayDataL( )
-    {
-    CDesCArrayFlat* dataArray = static_cast<CDesC16ArrayFlat*>( ItemTextArray() );
-    dataArray->Reset();
-    for( TInt i(0); iSuiteModel && i < iSuiteModel->GetItemModelsCount(); i++ )
-        {
-        CHnItemModel* itemModel = iSuiteModel->GetItemModel( iSuiteModel->IdByIndex( i ) );
-        CHnItemModel* emptyItem = iSuiteModel->GetItemModel( iSuiteModel->IdByIndex( -1 ) );
-        if (!itemModel || itemModel == emptyItem )
-            {
-            continue;
-            }
-        dataArray->AppendL( KNullDesC16() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::ReorderModelL(TInt aFromIndex, TInt aToIndex)
-    {
-    iSuiteModel->ReorderItemsL( aFromIndex, aToIndex );
-    UpdateDummyArrayDataL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CHnSuiteModel* CMmListBoxModel::GetSuiteModel()
-    {
-    return iSuiteModel;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::HandleSuiteEventL( THnCustomSuiteEvent aCustomSuiteEvent,
-        CHnSuiteModel* aModel)
-    {
-    if (iSuiteModel == aModel)
-        {
-        switch ( aCustomSuiteEvent )
-    	    {
-    	    case ESuiteModelDestroyed:
-    		    iSuiteModel = NULL;
-    		    break;
-    	    case ESuiteItemsAdded:
-    	    case ESuiteItemsRemoved:
-    	    case ESuiteItemsUpdated:
-    	        UpdateDummyArrayDataL( );
-    	    default:
-    	    	break;
-    	    }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmListBoxModel::GetNumberOfSpecificMenuItemsL( TInt aItemIndex )
-    {
-    TInt itemSpecificMenuItemCount = KErrNotFound;
-    if ( iSuiteModel )
-        {
-        TInt itemId = iSuiteModel->IdByIndex( aItemIndex );
-        if ( itemId != KErrNotFound )
-            {
-            itemSpecificMenuItemCount = 0;
-            MHnMenuItemModelIterator* menuItemModelIter =
-                    iSuiteModel->GetMenuStructureL( itemId );
-            while ( menuItemModelIter && menuItemModelIter->HasNextSpecific() )
-                {
-                menuItemModelIter->GetNextSpecific();
-                ++itemSpecificMenuItemCount;
-                }
-            }
-        }
-    return itemSpecificMenuItemCount;
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmlistboxview.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,663 +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:
- *  Version     : %version: MM_50 % << Don't touch! Updated by Synergy at check-out.
- *
-*/
-
-
-
-#include "mmlistboxview.h"
-#include "mmlistbox.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmlistboxmodel.h"
-#include "hnsuitemodel.h"
-#include "hnitemsorder.h"
-#include <eikfrlb.h>
-#include <AknUtils.h>
-#include <eikfrlbd.h>
-#include <eikspmod.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknsDrawUtils.h>
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistboxtfx.h>
-#include <aknlistboxtfxinternal.h>
-#include <akntransitionutils.h>
-#include <aknlistloadertfx.h>
-#endif
-
-CMmListBoxView::CMmListBoxView ()
-	{
-	// No implementation required
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxView::~CMmListBoxView ()
-	{
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxView* CMmListBoxView::NewLC ()
-	{
-	CMmListBoxView* self = new (ELeave)CMmListBoxView();
-	CleanupStack::PushL (self);
-	self->ConstructL ();
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxView* CMmListBoxView::NewL ()
-	{
-	CMmListBoxView* self=CMmListBoxView::NewLC ();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::ConstructL ()
-	{
-	iScrollbarIsVisible = ETrue;
-	iPreviouslyDrawnCurrentItemIndex = KErrNotFound;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::UpdateAverageItemHeight ()
-	{
-	TInt count( iModel->NumberOfItems() );
-	if ( !count )
-	    {
-	    SetItemHeight( 2 );
-	    }
-	else
-	    {
-	    TInt totalHeight = GetTotalHeight( 0, count - 1 );
-	    TInt averageItemHeight = totalHeight / count;
-	    if ( totalHeight % count )
-	        {
-	        ++averageItemHeight;
-	        // this ensures that it is always possible to
-	        // scroll to the very bottom of the view by
-	        // using scrollbar.
-	        }
-	    SetItemHeight( averageItemHeight );
-	    }
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::GetTotalHeight (const TInt aStartIndex, TInt aEndIndex) const
-	{
-	TInt totalHeight = 0;
-
-	if ( aEndIndex >= 0)
-		{
-		TInt itemCount = iModel->NumberOfItems ();
-		aEndIndex = (aEndIndex >= itemCount ) ? itemCount-1 : aEndIndex;
-		CMmListBoxItemDrawer* drawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer);
-		for (TInt i(aStartIndex); i <= aEndIndex; i++)
-			{
-			totalHeight += drawer->GetItemHeight (i, CurrentItemIndex () == i);
-			}
-		}
-
-	return totalHeight;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::GetLastIndexInHeight (const TInt aStartIndex, TInt aHeight) const
-	{
-	TInt i = aStartIndex;
-	TInt totalHeight = 0;
-
-	TInt itemCount(iModel->NumberOfItems () );
-	CMmListBoxItemDrawer* drawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer);
-
-	for (; (i > -1) && (i < itemCount); i++)
-		{
-		totalHeight += drawer->GetItemHeight (i, CurrentItemIndex () == i);
-		if ( totalHeight > aHeight)
-			break;
-		}
-
-	TInt ret(i - aStartIndex);
-	
-	if ( !AknLayoutUtils::PenEnabled() && totalHeight > aHeight )
-		{
-		ret--; // exclude partial item
-		}
-
-	return ret;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::NumberOfItemsThatFitInRect(const TRect& aRect) const
-	{
-	return GetNumberOfItemsThatFitInRect( aRect, EFalse );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::GetNumberOfItemsThatFitInRect (const TRect& aRect,
-		TBool aIncludePartialItem ) const
-	{
-	TInt i = iTopItemIndex;
-	TInt totalHeight = iVerticalOffset;
-
-	TInt itemCount( iModel->NumberOfItems () );
-	CMmListBoxItemDrawer* drawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer);
-	while (totalHeight < aRect.Height ())
-		{
-		totalHeight += ((i > -1) && (i < itemCount )) ? drawer->GetItemHeight (
-				i, CurrentItemIndex () == i) : iItemHeight;
-		++i;
-		}
-
-	TInt ret(i - iTopItemIndex);
-
-	if ( !AknLayoutUtils::PenEnabled() && !aIncludePartialItem && totalHeight > aRect.Height() )
-		{
-		ret--; // exclude partial item
-		}
-
-	return ret;
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::CalcBottomItemIndex ()
-	{
-
-	TInt numberOfVisibleItems = NumberOfItemsThatFitInRect( iViewRect );
-	iBottomItemIndex = Min( iTopItemIndex + numberOfVisibleItems - 1,
-	        iModel->NumberOfItems() );
-
-	// The next piece of code removes filtering from find box when
-	// new list items are added.
-	if ( Flags () & CListBoxView::EItemCountModified)
-		{
-		CAknFilteredTextListBoxModel *model= STATIC_CAST(CAknFilteredTextListBoxModel*,iModel);
-		CAknListBoxFilterItems *filter = model ? model->Filter () : 0;
-		if ( filter)
-			{
-			TRAP_IGNORE(filter->ResetFilteringL());
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::Draw (const TRect* aClipRect) const
-	{
-    TBool drawingInitiated(EFalse);
-    if ( CAknEnv::Static()->TransparencyEnabled() &&
-    		iWin && iWin->GetDrawRect() == TRect::EUninitialized )
-    	{
-    	TRect a(ViewRect());
-    	if (!aClipRect || *aClipRect == TRect(0,0,0,0) )
-    		{
-    		aClipRect = &a;
-    		}
-    	drawingInitiated=ETrue;
-		iWin->Invalidate( *aClipRect );
-		iWin->BeginRedraw( *aClipRect );
-    	}
-
-	DoDraw(aClipRect);
-
-	CMmListBoxItemDrawer* itemDrawer =
-			static_cast<CMmListBoxItemDrawer*>(iItemDrawer );
-    if (aClipRect)
-        {
-        TRect rect(*aClipRect);
-        rect.iTl.iY = ItemPos( BottomItemIndex() ).iY + ItemSize( BottomItemIndex() ).iHeight;
-
-//      iGc->SetClippingRect( rect );
-//		removed to prevent non-redraw drawing. Was present to prevent out of view drawing when effects are on.
-//      could be removed because effects were disabled at some point in edit mode to enhance performance.
-        itemDrawer->DrawFloatingItems( rect );
-//      iGc->CancelClippingRect();
-        }
-
-    if ( CAknEnv::Static()->TransparencyEnabled() &&
-    		iWin && drawingInitiated )
-    	{
-    	drawingInitiated = EFalse;
-    	iWin->EndRedraw( );
-    	}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::DoDraw(const TRect* aClipRect) const
-	{
-	CMmListBoxView* view= CONST_CAST( CMmListBoxView*, this );
-	view->UpdateAverageItemHeight ();
-
-	CMmListBoxModel* model = static_cast< CMmListBoxModel* > ( iModel );
-	if ( model && model->GetSuiteModel()
-			&& !model->GetSuiteModel()->GetItemsOrder()->IsSuiteReadyToShow() )
-		{
-		return;
-		}
-
-	if ( RedrawDisabled () || !IsVisible () )
-		{
-		return;
-		}
-
-	TInt i = iTopItemIndex;
-	CMmListBoxItemDrawer* itemDrawer =
-			static_cast<CMmListBoxItemDrawer*>(iItemDrawer );
-	MAknsSkinInstance *skin = AknsUtils::SkinInstance ();
-	CCoeControl* control = itemDrawer->FormattedCellData()->Control ();
-	MAknsControlContext *cc = AknsDrawUtils::ControlContext (control);
-
-	if ( !cc)
-		{
-		cc = itemDrawer->FormattedCellData()->SkinBackgroundContext ();
-		}
-	
-	itemDrawer->SetTopItemIndex (iTopItemIndex);
-
-	if ( iModel->NumberOfItems () > 0)
-		{
-		TBool drawingInitiated = ETrue;
-		if ( CAknEnv::Static()->TransparencyEnabled () )
-			{
-			if ( iWin && iWin->GetDrawRect () == TRect::EUninitialized)
-				{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-								MAknListBoxTfxInternal* transApi =
-									CAknListLoader::TfxApiInternal( iGc );
-								drawingInitiated = transApi && !transApi->EffectsDisabled();
-#else
-				drawingInitiated = EFalse;
-#endif
-				}
-
-			if ( !drawingInitiated)
-				{
-				iWin->Invalidate ( *aClipRect);
-				iWin->BeginRedraw ( *aClipRect);
-				}
-			}
-
-		TInt lastPotentialItemIndex = Min (iModel->NumberOfItems (),
-				iTopItemIndex + GetNumberOfItemsThatFitInRect( ViewRect (), ETrue ) );
-		while (i < lastPotentialItemIndex)
-			{
-            DrawItem(i++);
-            }
-
-		RedrawBackground();
-
-		if ( CAknEnv::Static()->TransparencyEnabled () && !drawingInitiated)
-			{
-			iWin->EndRedraw ();
-			}
-		}
-
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::DrawItem (TInt aItemIndex) const
-	{
-	CMmListBoxItemDrawer* itemDrawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-	TBool currentChanged( CurrentItemIndex() != iPreviouslyDrawnCurrentItemIndex );
-	TBool redrawConsumed(EFalse);
-	if ( currentChanged )
-		{
-		CMmListBoxView* view= CONST_CAST( CMmListBoxView*, this );
-		redrawConsumed =
-			static_cast<CMmListBox*> (itemDrawer->Widget())->RedrawIfNecessary(
-								iPreviouslyDrawnCurrentItemIndex,
-								CurrentItemIndex());
-		view->SetPreviouslyDrawnCurrentItemIndex( CurrentItemIndex() );
-		}
-	
-	if ( !redrawConsumed )
-		{
-		DrawSingleItem ( aItemIndex );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TSize CMmListBoxView::ItemSize (TInt aItemIndex) const
-	{
-	CMmListBoxView* view= CONST_CAST( CMmListBoxView*, this );
-	view->UpdateAverageItemHeight ();
-
-    CMmListBoxItemDrawer* itemDrawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-    TSize size(CFormattedCellListBoxView::ItemSize(aItemIndex).iWidth, itemDrawer->GetItemHeight (aItemIndex,
-            CurrentItemIndex () == aItemIndex) );
-
-    if ( size.iHeight < 2)
-        size.iHeight = 2;
-
-    return size;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TPoint CMmListBoxView::ItemPos (TInt aItemIndex) const
-	{
-	TInt vRealPos = CFormattedCellListBoxView::ItemPos(TopItemIndex()).iY;
-	TInt totalHeight = 0;
-	if ( aItemIndex > iTopItemIndex )
-	    {
-	    totalHeight = GetTotalHeight( iTopItemIndex, aItemIndex - 1 );
-	    }
-	else if ( aItemIndex < iTopItemIndex )
-	    {
-	    totalHeight = -GetTotalHeight( aItemIndex, iTopItemIndex - 1 );
-	    }
-
-	return TPoint (-iHScrollOffset + iViewRect.iTl.iX, iViewRect.iTl.iY
-			+ totalHeight + vRealPos);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxView::XYPosToItemIndex (TPoint aPosition, TInt& aItemIndex) const
-	{
-	// returns ETrue and sets aItemIndex to the index of the item whose bounding box contains aPosition
-	// returns EFalse if no such item exists
-	TBool itemFound = EFalse;
-	if ( iViewRect.Contains (aPosition))
-		{
-		TInt vRealPos = CFormattedCellListBoxView::ItemPos(TopItemIndex()).iY;
-		// aPosition is inside the display area
-		TInt numberOfVisibleItems = GetLastIndexInHeight (iTopItemIndex,
-				aPosition.iY - iViewRect.iTl.iY - vRealPos );
-		TInt itemAtSpecifiedPos = iTopItemIndex + numberOfVisibleItems;
-		aItemIndex = itemAtSpecifiedPos;
-		itemFound = ( GetTotalHeight( iTopItemIndex, iBottomItemIndex )
-            >= aPosition.iY ) && ( iModel->NumberOfItems() > itemAtSpecifiedPos );
-//        if ( itemFound )
-//            {
-//            // aPosition is inside the display area
-//            TInt numberOfVisibleItems = GetLastIndexInHeight (iTopItemIndex,
-//                    aPosition.iY - iViewRect.iTl.iY);
-//            TInt itemAtSpecifiedPos = iTopItemIndex + numberOfVisibleItems;
-//            aItemIndex = itemAtSpecifiedPos;
-//            }
-		}
-	return itemFound;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::SetItemHeight (TInt aItemHeight)
-	{
-	//	we need to update the iItemHeight member in widget also (there are two different item height value holders - in widget and here in widget view)
-	iItemHeight = aItemHeight;
-	
-	CMmListBoxItemDrawer* itemDrawer =
-			STATIC_CAST( CMmListBoxItemDrawer*, ItemDrawer() );
-	static_cast<CMmListBox*>(itemDrawer->Widget())->SetItemHeight( aItemHeight );
-		
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::CalcNewTopItemIndexSoItemIsVisible (TInt aItemIndex) const
-	{
-	CMmListBoxItemDrawer* itemDrawer =
-            static_cast<CMmListBoxItemDrawer*>( iItemDrawer );
-
-	TInt newTopItemIndex = iTopItemIndex;
-
-	TInt itemHeight = itemDrawer->
-		GetItemHeight( aItemIndex, aItemIndex == CurrentItemIndex() );
-	
-	// ItemIsPartiallyVisible uses fixed iItemHeight, but we have to support
-	// variable item height in lists, unfortunately ItemIsPartiallyVisible
-	// is not virtual
-    TPoint itemPosition( ItemPos( aItemIndex ) );
-    TBool itemPartiallyVisible =
-        ( itemPosition.iY < iViewRect.iTl.iY &&
-          itemPosition.iY + itemHeight >= iViewRect.iTl.iY ) ||
-        ( itemPosition.iY <= iViewRect.iBr.iY &&
-          itemPosition.iY + itemHeight > iViewRect.iBr.iY );
-		
-	TBool itemIsFullyVisible = ItemIsVisible( aItemIndex ) &&
-            !itemPartiallyVisible;
-
-	TBool itemIsAboveVisibleArea = !itemIsFullyVisible &&
-            ItemPos( aItemIndex ).iY < ViewRect().iTl.iY;
-		
-	TBool itemIsBeneathVisibleArea = !itemIsFullyVisible &&
-            !itemIsAboveVisibleArea && ItemPos( aItemIndex ).iY + itemDrawer->
-            GetItemHeight( aItemIndex, aItemIndex == CurrentItemIndex() ) >
-            ViewRect().iBr.iY;
-
-	if ( itemIsAboveVisibleArea )
-	    {
-	    newTopItemIndex = aItemIndex;
-	    const_cast<CMmListBoxView*>( this )->SetItemOffsetInPixels( 0 );
-	    }
-
-	if ( itemIsBeneathVisibleArea )
-        {
-        const TInt viewHeight = ViewRect().Height(); 
-        newTopItemIndex = aItemIndex;
-        for ( ;; )
-            {
-            TInt totalHeight = GetTotalHeight( newTopItemIndex, aItemIndex );
-            if ( totalHeight >= viewHeight || newTopItemIndex == 0 )
-                {
-                const_cast<CMmListBoxView*>( this )->SetItemOffsetInPixels(
-                        viewHeight - totalHeight );
-                break;
-                }
-            --newTopItemIndex;
-            }
-        }
-
-	return newTopItemIndex;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::RedrawBackground (TRect aUsedPortionOfViewRect,
-		TRect aSmallerViewRect) const
-	{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-        MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal(iGc);
-    if (transApi)
-        {
-        transApi->StartDrawing(MAknListBoxTfxInternal::EListView);
-        }
-#endif
-
-	CMmListBoxItemDrawer* itemDrawer = STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-    MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-    CCoeControl* control = itemDrawer->FormattedCellData()->Control();
-    MAknsControlContext *cc = AknsDrawUtils::ControlContext(control);
-
-	if (control)
-        {
-        AknsDrawUtils::BackgroundBetweenRects(skin, cc, control, *iGc,
-                aSmallerViewRect, aUsedPortionOfViewRect);
-        }
-    else
-        {
-        iGc->SetBrushColor(BackColor());
-        DrawUtils::ClearBetweenRects(*iGc, aSmallerViewRect,
-                aUsedPortionOfViewRect);
-        }
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if (transApi)
-        {
-        transApi->StopDrawing();
-        }
-#endif
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::RedrawBackground () const
-    {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    CMmListBoxItemDrawer* drawer =
-            static_cast<CMmListBoxItemDrawer*>( iItemDrawer );
-    CMmTemplateLibrary* templateLib = drawer->TemplateLibrary();
-
-    TInt usedPortionHeight = GetTotalHeight(iTopItemIndex, iBottomItemIndex );
-    TInt usedPortionWidth = iViewRect.Width();
-    if (templateLib->GetScrollbarVisibility())
-        {
-        usedPortionWidth -= templateLib->ScrollbarWidth();
-        }
-
-    TRect usedPortionOfViewRect(iViewRect.iTl, TSize(usedPortionWidth,
-            usedPortionHeight));
-    usedPortionOfViewRect.Move(0,
-            CFormattedCellListBoxView::ItemPos(iTopItemIndex).iY);
-    
-    RedrawBackground(usedPortionOfViewRect, iViewRect);
-#endif
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::SetPreviouslyDrawnCurrentItemIndex( TBool aIndex )
-	{
-	iPreviouslyDrawnCurrentItemIndex = aIndex;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::DrawSingleItem (TInt aItemIndex) const
-	{
-	CMmListBoxItemDrawer* itemDrawer =
-            STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-	TBool highlightVisible = !( itemDrawer->Flags()
-	        & CListItemDrawer::ESingleClickDisabledHighlight );
-	TSize size = itemDrawer->GetItemSize( aItemIndex, highlightVisible &&
-	        CurrentItemIndex() == aItemIndex );
-	itemDrawer->SetItemCellSize( size );
-	
-	// CMmListBoxView* view= CONST_CAST( CMmListBoxView*, this );
-	// view->SetItemHeight( size.iHeight );
-	// The above line (currently commented-out) was originaly needed to correct
-	// some drawing-related error which used to occur when moving highlight with
-	// rocker keys. It seems that this is no longer needed. If anything should
-	// change, please note that now the SetItemHeight method does much more than
-	// it used to, so simply uncommenting this line would be a bad idea (consider
-	// setting the iItemHeight member variable directly). 
-	
-	CFormattedCellListBoxView::DrawItem (aItemIndex);
-
-	//To eliminate the effect of undrawn fragment of background, when the last
-	//is drawn, background is refreshed
-	if ( aItemIndex == ( iModel->NumberOfItems()-1 ) && ItemIsVisible( iModel->NumberOfItems()-1 ) )
-		{
-		CMmListBoxItemDrawer* itemDrawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-		if ( !itemDrawer->IsEditMode() )
-			{
-			RedrawBackground();
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::VerticalItemOffset() const
-	{
-	return iVerticalOffset;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxView::ScrollToMakeItemVisible(TInt aItemIndex)
-    {
-    TBool scrollConsumed(EFalse);
-    if ( !iScrollToItemDisabled )
-        {
-        scrollConsumed = CFormattedCellListBoxView::ScrollToMakeItemVisible(
-                aItemIndex);
-        }
-    return scrollConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::DisableScrollToItem( TBool aDisable )
-    {
-    iScrollToItemDisabled = aDisable;
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmmarqueeadapter.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +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:  
-*
-*/
-
-
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknUtils.h>
-#include <eikfrlb.h>
-#include <AknBidiTextUtils.h>
-#include <gdi.h>
-#include <AknLayoutFont.h>
-
-#include "mmlistbox.h"
-#include "mmmarqueeadapter.h"
-#include "mmwidgetsconstants.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::CMmMarqueeAdapter ()
-	{
-	// No implementation required
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::~CMmMarqueeAdapter ()
-	{
-	iMarqueeElements.ResetAndDestroy();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter* CMmMarqueeAdapter::NewLC ()
-	{
-	CMmMarqueeAdapter* self = new (ELeave)CMmMarqueeAdapter();
-	CleanupStack::PushL (self);
-	self->ConstructL ();
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter* CMmMarqueeAdapter::NewL ()
-	{
-	CMmMarqueeAdapter* self = CMmMarqueeAdapter::NewLC ();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::ConstructL ()
-	{
-	iMarqueeEnabled = ETrue;
-	iCurrentMarqueeItemIndex = -1;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::AddMarqueeElementL(
-	    const TRect& aRect,
-	    const TDesC& aText,
-	    TAknLogicalFontId aFont,
-	    TRgb  aColor,
-		CGraphicsContext::TTextAlign aAlign,
-		TInt aIndex,
-		TInt aBaselineOffset,
-		TInt aCurrentlyDrawnItemIndex
-	    )
-	{
-	if( !iMarqueeEnabled )
-		{
-		return;
-		}
-	
-	if ( aCurrentlyDrawnItemIndex != iCurrentMarqueeItemIndex )
-		{
-		StopMarqueeDrawing();
-		iCurrentMarqueeItemIndex = aCurrentlyDrawnItemIndex;
-		}
-
-	CMmMarqueeElement* element = NULL;
-	TInt elementIndex(0);
-	for (TInt i = 0; i < iMarqueeElements.Count() ; i++)
-		{
-		if (iMarqueeElements[i]->iSubcellIndex == aIndex)
-			{
-			element = iMarqueeElements[i];
-			elementIndex = i;
-			break;
-			}
-		}
-
-	if ( element )
-		{
-		const TDesC& previousText = *(element->iText);
-		TBool textChanged = previousText.Compare( aText );
-	
-		if ( textChanged )
-			{
-			CAknMarqueeControl * control = element->iMarqueeControl;
-			control->Stop();
-			control->Reset();
-			iMarqueeElements.Remove(elementIndex );
-			delete element;
-			}
-		}
-	
-	if( SubcellMarqueeElementExists( aIndex ) )
-		{
-		return;
-		}
-		
-	CMmMarqueeElement* newElement = 
-		CMmMarqueeElement::NewL( aRect, aAlign, aText, aFont, aColor, aIndex, aBaselineOffset );
-	CleanupStack::PushL( newElement );
-	newElement->SetupMarqueeControlL( MmMarqueeConstants::KLoops,
-			MmMarqueeConstants::KScrollAmount, MmMarqueeConstants::KScrollDelay);
-    TCallBack callBack(CMmMarqueeAdapter::RedrawEvent, iListbox);
-    if ( newElement->iMarqueeControl ) 
-    	{
-        newElement->iMarqueeControl->SetRedrawCallBack(callBack);
-    	}
-    iMarqueeElements.AppendL( newElement );
-    CleanupStack::Pop( newElement );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::StopMarqueeDrawing(TInt aIndex)
-	{
-    for (TInt elementIndex = iMarqueeElements.Count() - 1;
-            elementIndex >= 0; elementIndex--)
-        {
-        if ((aIndex < 0) ||
-                (iMarqueeElements[elementIndex]->iSubcellIndex == aIndex))
-            {
-            CMmMarqueeElement* element = iMarqueeElements[elementIndex];
-            CAknMarqueeControl * control = element->iMarqueeControl;
-            control->Stop();
-            control->Reset();
-            iMarqueeElements.Remove(elementIndex);
-            delete element;
-            if (iMarqueeElements.Count() == 0 || (aIndex >= 0))
-                {
-                iCurrentMarqueeItemIndex = -1;
-                break;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::EnableMarquee( TBool aEnable )
-	{
-	iMarqueeEnabled = aEnable;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::DrawMarqueeL(CWindowGc & aGc )
-	{
-	if ( iCurrentMarqueeItemIndex != iListbox->View()->CurrentItemIndex() )
-		{
-		StopMarqueeDrawing();
-		return;
-		}
-	else if ( iMarqueeEnabled )
-		{
-		for (TInt i = 0; i < iMarqueeElements.Count() ; i++)
-			{
-			CMmMarqueeElement* element = iMarqueeElements[i];
-			CAknMarqueeControl* control = element->iMarqueeControl;
-			control->EnableMarquee( ETrue );
-			
-//			Setup graphical context ( font, colors ) for marquee
-			const CFont* font = AknLayoutUtils::FontFromId( element->iFont );
-            TInt baseLineOffset = CAknLayoutFont::AsCAknLayoutFontOrNull( font )->TextPaneTopToBaseline();
-            aGc.UseFont(font);
-            aGc.SetPenColor( element->iColor );
-            aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-            
-//			Let marquee know if it needs to do bidi conversion
-            control->UseLogicalToVisualConversion( ETrue );
-            
-            TRect subcellRectOnScreen = element->iElementRect;
-            TPoint currentItemPositionOnScreen 
-				= iListbox->View()->ItemPos( iListbox->View()->CurrentItemIndex() );
-            subcellRectOnScreen.Move( currentItemPositionOnScreen.iX , currentItemPositionOnScreen.iY );
-            if ( control->DrawText(aGc, subcellRectOnScreen, *(element->iText),
-            		baseLineOffset, element->iAlign, *font) )
-            	
-                {
-//              All the loops have been executed, the text needs to be truncated.
-                TBuf< MmMarqueeConstants::KClippingBufLength > clipbuf 
-					= (element->iText)->Left( MmMarqueeConstants::KTextTrimmingThreshold );
-//              Get the clipping buffer and draw it
-            	TInt maxClipWidth = element->iElementRect.Width();
-                AknBidiTextUtils::ConvertToVisualAndClipL( clipbuf, *font,
-                		element->iElementRect.Width(), maxClipWidth );
-                aGc.DrawText(clipbuf, subcellRectOnScreen, baseLineOffset , element->iAlign, 0);
-                }
-//          Clean the font cache in graphical context after marquee drawing
-            aGc.DiscardFont();
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmMarqueeAdapter::RedrawEvent(TAny* aControl )
-    {
-    if ( !((CCoeControl*)aControl)->IsVisible() )
-        {
-        return EFalse;
-        }
-    
-    CMmListBox* listBox = 
-            (CMmListBox*)aControl;
-    if (listBox->CurrentItemIndex() >= 0 
-    		&& listBox->CurrentItemIndex() <= listBox->View()->BottomItemIndex()
-    		&& listBox->CurrentItemIndex() >= listBox->View()->TopItemIndex()
-    		)
-        {
-        listBox->SetMarqueeDrawing( ETrue ); //redraw the item without using marquee in the last loop
-        listBox->View()->DrawItem( listBox->CurrentItemIndex() );
-        listBox->SetMarqueeDrawing(EFalse);
-        }
-    
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::SetControl( CEikListBox * aControl )
-	{
-	iListbox = aControl;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TBool CMmMarqueeAdapter::SubcellMarqueeElementExists( TInt aIndex )
-	{
-	TBool ret = EFalse;
-	for (TInt i = 0; i < iMarqueeElements.Count() ; i++)
-		{
-		if (iMarqueeElements[i]->iSubcellIndex == aIndex)
-			{
-			ret = ETrue;
-			}
-		}
-	return ret;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::RemoveSubcellMarqueeElement(TInt aSubcellIndex)
-	{
-	for (TInt i = 0; i < iMarqueeElements.Count() ; i++)
-		{
-		if (iMarqueeElements[i]->iSubcellIndex == aSubcellIndex)
-			{
-			iMarqueeElements.Remove(i);
-			break;
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TBool CMmMarqueeAdapter::IsMarqueeEnabled() const
-    {
-    return iMarqueeEnabled;
-    }
-
-//class CMmMarqueeElement
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::CMmMarqueeElement::CMmMarqueeElement (
-		TRect aElementRect,
-		CGraphicsContext::TTextAlign aAlign,
-		TAknLogicalFontId aFont,
-		TRgb aColor, TInt aIndex,
-		TInt aBaselineOffset ):iElementRect(aElementRect),
-		iAlign(aAlign),
-		iFont(aFont),iColor(aColor),
-		iSubcellIndex(aIndex),
-		iBaselineOffset(aBaselineOffset)
-	{
-
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::CMmMarqueeElement::~CMmMarqueeElement ()
-	{
-	delete iMarqueeControl;
-	delete iText;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::CMmMarqueeElement* CMmMarqueeAdapter::CMmMarqueeElement::NewL (
-		TRect aElementRect, CGraphicsContext::TTextAlign aAlign,
-		const TDesC& aText, TAknLogicalFontId aFont, TRgb aColor,TInt aIndex,
-		TInt aBaselineOffset )
-	{
-	CMmMarqueeAdapter::CMmMarqueeElement* self 
-		= new (ELeave)CMmMarqueeAdapter::CMmMarqueeElement( aElementRect, aAlign,
-				aFont, aColor, aIndex, aBaselineOffset );
-	CleanupStack::PushL( self ); 
-	self->ConstructL( aText );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 		
-void CMmMarqueeAdapter::CMmMarqueeElement::ConstructL ( const TDesC& aText )
-	{
-	iText = aText.AllocL();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::CMmMarqueeElement::SetupMarqueeControlL( 
-		TInt aLoops, 
-		TInt aScrollAmount, 
-		TInt aScrollDelay )
-	{
-	iMarqueeControl = CAknMarqueeControl::NewL( aLoops, aScrollAmount, aScrollDelay );
-	iMarqueeControl->SetLoops(aLoops);
-	iLoops = aLoops;
-	iScrollAmount = aScrollAmount;
-	iScrollDelay = aScrollDelay;
-	}
-// End of file
-
-		
-
-
--- a/menufw/menufwui/mmwidgets/src/mmpostevaluationprocessor.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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:
-*
-*/
-
-#include "mmpostevaluationprocessor.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmlistboxmodel.h"
-#include <layoutmetadata.cdl.h>
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmPostEvaluationProcessor::CMmPostEvaluationProcessor(CMmListBoxItemDrawer& aDrawer) :
-    CActive(EPriorityLess), iDrawer(aDrawer), iIndexToProcess(0)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmPostEvaluationProcessor* CMmPostEvaluationProcessor::NewLC(CMmListBoxItemDrawer& aDrawer)
-    {
-    CMmPostEvaluationProcessor* self = new ( ELeave ) CMmPostEvaluationProcessor(aDrawer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmPostEvaluationProcessor* CMmPostEvaluationProcessor::NewL(CMmListBoxItemDrawer& aDrawer)
-    {
-    CMmPostEvaluationProcessor* self = CMmPostEvaluationProcessor::NewLC(aDrawer);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmPostEvaluationProcessor::ConstructL()
-    {
-    CActiveScheduler::Add( this); // Add to scheduler
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmPostEvaluationProcessor::~CMmPostEvaluationProcessor()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    // Delete instance variables if any
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmPostEvaluationProcessor::DoCancel()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmPostEvaluationProcessor::RunL()
-    {      
-    const TDesC8& mm_template = iDrawer.iMmModel->GetAttributeAsText( 
-    		iIndexToProcess, KMmTemplate8 );      
-    
-    if ( mm_template.Compare( KNullDesC8 ) && mm_template.Compare( KEmpty8 ) )
-    	{
-        iDrawer.SetupSubCellsL( EFalse, iIndexToProcess );
-    	}
-    
-    if ( ++iIndexToProcess < iDrawer.iMmModel->NumberOfItems() )
-    	{
-    	SetActive();
-    	TRequestStatus* status = &iStatus;
-    	User::RequestComplete( status, KErrNone );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmPostEvaluationProcessor::RunError(TInt aError)
-    {
-    return aError;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmPostEvaluationProcessor::StartAt( TInt aIndex )
-	{
-	Cancel();
-	iIndexToProcess = aIndex;
-	SetActive();
-	TRequestStatus* status = &iStatus;
-	User::RequestComplete( status, KErrNone );
-	}
-
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mmtemplatelibrary.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1168 +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:
-*
-*/
-
-
-
-#include "mmtemplatelibrary.h"
-#include "mmlctutils.h"
-#include "mmwidgetsconstants.h"
-#include <hnutils.h>
-#include <gdi.h>
-#include <hnconvutils.h>
-#include "menudebug.h"
-#include <hnglobals.h>
-#include <AknUtils.h>
-#include <AknDef.hrh>
-
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TUint32 HBuf16Hash( HBufC8* const &  aBuf )
-    {
-    return DefaultHash::Des8(*aBuf);
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HBuf16Ident( HBufC8* const & aL, HBufC8* const & aR )
-    {
-    return DefaultIdentity::Des8(*aL, *aR);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//:
-CMmTemplateLibrary::CMmTemplateLibrary()
-	: iWidgetType(EWidgetTypeNone),
-	iTemplateSizesMap( &HBuf16Hash, &HBuf16Ident ),
-	iTemplateChildrenMap( &HBuf16Hash, &HBuf16Ident ),
-	iMoveIndicatorRectsMap( &HBuf16Hash, &HBuf16Ident )
-	{
-	// No implementation required
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmTemplateLibrary::~CMmTemplateLibrary()
-	{
-	CleanAndClearCache();
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::CleanAndClearCache( )
-    {
-
-	THashMapIter<HBufC8*, TSize> iter( iTemplateSizesMap );
-	while ( HBufC8* const * ptr = iter.NextKey() )
-		{
-		delete *ptr;
-		}
-	iTemplateSizesMap.Close();
-
-	THashMapIter<HBufC8*, RArray<TTemplateChild> > iter2( iTemplateChildrenMap );
-	while ( HBufC8* const * ptr = iter2.NextKey() )
-		{
-		iter2.CurrentValue()->Close();
-		delete *ptr;
-		}
-	iTemplateChildrenMap.Close();
-
-	THashMapIter<HBufC8*, TRect> iter4( iMoveIndicatorRectsMap );
-	while ( HBufC8* const * ptr = iter4.NextKey() )
-		{
-		delete *ptr;
-		}
-	iMoveIndicatorRectsMap.Close();
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMmTemplateLibrary* CMmTemplateLibrary::NewL()
-	{
-	CMmTemplateLibrary* self = CMmTemplateLibrary::NewLC();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMmTemplateLibrary* CMmTemplateLibrary::NewLC()
-    {
-    CMmTemplateLibrary* self = new( ELeave ) CMmTemplateLibrary();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::ConstructL()
-	{
-	//No implementation needed.
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSize CMmTemplateLibrary::GetSize(  TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation, TBool aHighlighted, TRect aParentRect )
-	{
-	TSize result;
-	GetSize(result, aWidgetType, aTemplate, aLandscapeOrientation,
-			aHighlighted, aParentRect );
-	return result;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmTemplateLibrary::GetSize(  TSize& aItemSize,
-        TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-        TBool aLandscapeOrientation, TBool aHighlighted, TRect aParentRect )
-    {
-    if ( KNullDesC8()== aTemplate || aParentRect == TRect(TPoint(0,0), TPoint(0,0))
-    		|| !aTemplate.Compare( KEmpty8 ) )
-        {
-        return KErrNotFound;
-        }
-    UpdateParentRect( aParentRect, aLandscapeOrientation );
-
-    TInt err( KErrNone );
-    HBufC8* lookup_string = LookupText( aTemplate, aWidgetType,
-        aLandscapeOrientation, aHighlighted );
-
-    TSize* itemSize = iTemplateSizesMap.Find( lookup_string );
-    if ( !itemSize )
-        {
-        TRAP( err, LoadTemplateL( aWidgetType, aTemplate, aLandscapeOrientation ) );
-        if ( err == KErrNone )
-            {
-            itemSize = iTemplateSizesMap.Find( lookup_string );
-        	if( !itemSize )
-        		{
-                User::Panic( KMtlPanic, KErrNotFound );
-        		}
-            aItemSize = *itemSize;
-            }
-        }
-    else
-        {
-        iWidgetType = aWidgetType;
-        TSize layoutSize;
-        TInt err( KErrNone );
-        TRAP( err, layoutSize = GetLayoutSizeL( iWidgetType, aTemplate,
-                aLandscapeOrientation ) );
-        if( err == KErrNone )
-            {
-            AdjustItemSize( *itemSize, layoutSize, aLandscapeOrientation );
-            }
-        aItemSize = *itemSize;
-        }
-	delete lookup_string;
-
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSize CMmTemplateLibrary::GetLayoutSizeL( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation )
-	{
-	if ( KNullDesC8()== aTemplate )
-		{
-		User::Leave( -1 );
-		}
-	TSize* layoutSize = NULL;
-	switch ( aWidgetType )
-		{
-		case EGrid:
-			{
-		    HBufC8* lookup_string = LookupLayoutText( aWidgetType,
-                aTemplate, aLandscapeOrientation );
-			CleanupStack::PushL( lookup_string );
-		    layoutSize = iTemplateSizesMap.Find( lookup_string );
-		    if (!layoutSize)
-		        {
-		        LoadTemplateL( aWidgetType, aTemplate, aLandscapeOrientation );
-		        layoutSize = iTemplateSizesMap.Find( lookup_string );
-		        if( !layoutSize )
-		            User::Panic( KMtlPanic, -1);
-		        }
-			CleanupStack::PopAndDestroy( lookup_string );
-			}
-
-			break;
-		case EListbox:
-			return TSize( MmListBox::KCols,0 );
-		default:
-			User::Panic( KMtlPanic, -1);
-		}
-	return *layoutSize;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TRect CMmTemplateLibrary::GetMoveIndicatorRect(TMmWidgetType aWidgetType,
-		const TDesC8& aTemplate, TBool aLandscapeOrientation,
-		TBool aHighlighted)
-	{
-	ASSERT( KNullDesC8() != aTemplate && aTemplate.Compare( KEmpty8 ) );
-
-	HBufC8* lookup_string = LookupText(aTemplate, aWidgetType,
-        aLandscapeOrientation, aHighlighted );
-	HBufC8* lookup_indicator_string = LookupIndicatorText( *lookup_string );
-
-	TRect* itemRect = iMoveIndicatorRectsMap.Find( lookup_indicator_string );
-    if (!itemRect)
-        {
-    	TSize itemSize;
-    	GetSize( itemSize, aWidgetType, aTemplate, aLandscapeOrientation, EFalse, GetParentRect( aLandscapeOrientation ) );
-    	TRAPD( err, SetupMoveIndicatorTemplateChildrenL(
-    	        *lookup_indicator_string, itemSize ) );
-    	if ( KErrNone == err )
-    	    {
-            itemRect = iMoveIndicatorRectsMap.Find( lookup_indicator_string );
-            if (!itemRect)
-                {
-                User::Panic( KMtlPanic, -1);
-                }
-    	    }
-        }
-
-    delete lookup_indicator_string;
-    delete lookup_string;
-    return *itemRect;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::GetChildrenL(TMmWidgetType aWidgetType, RArray<
-		TTemplateChild>& aArray, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation, TBool aHighlighted, TBool aIsEditMode)
-	{
-	ASSERT( KNullDesC8() != aTemplate && aTemplate.Compare( KEmpty8 ) );
-
-	HBufC8* lookup_string = LookupText( aTemplate, aWidgetType,
-        aLandscapeOrientation, aHighlighted );
-	CleanupStack::PushL( lookup_string );
-    RArray<TTemplateChild>* children = iTemplateChildrenMap.Find( lookup_string );
-    if ( !children )
-        {
-        LoadTemplateL( aWidgetType, aTemplate, aLandscapeOrientation );
-        children = iTemplateChildrenMap.Find( lookup_string );
-        if (!children)
-        	{
-            User::Panic( KMtlPanic, -1);
-        	}
-        }
-    CleanupStack::PopAndDestroy( lookup_string );
-    for (TInt i = 0; i < children->Count(); i++)
-    	aArray.AppendL((*children)[i]);
-    if ( aIsEditMode )
-    	{
-    	TSize size = GetSize( aWidgetType, aTemplate, aLandscapeOrientation, aHighlighted, GetParentRect(aLandscapeOrientation) );
-        AppendEditModeTemplateL( aArray, size );
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::GetMoveIndicatorChildrenL(TMmWidgetType aWidgetType,
-		RArray<TTemplateChild>& aArray, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation, TBool aHighlighted)
-	{
-	ASSERT( KNullDesC8() != aTemplate && aTemplate.Compare( KEmpty8 ) );
-
-	HBufC8* lookup_string = LookupText(aTemplate, aWidgetType,
-        aLandscapeOrientation, aHighlighted );
-	CleanupStack::PushL( lookup_string );
-	HBufC8* lookup_indicator_string = LookupIndicatorText( *lookup_string );
-	CleanupStack::PushL( lookup_indicator_string );
-
-    RArray<TTemplateChild>* children = iTemplateChildrenMap.Find( lookup_indicator_string );
-    if ( !children )
-    	{
-    	TSize itemSize;
-    	GetSize( itemSize, aWidgetType, aTemplate, aLandscapeOrientation, EFalse, GetParentRect( aLandscapeOrientation ) );
-        SetupMoveIndicatorTemplateChildrenL( *lookup_indicator_string, itemSize );
-        children = iTemplateChildrenMap.Find( lookup_indicator_string );
-        if (!children)
-        	User::Panic( KMtlPanic, -1);
-    	}
-
-    CleanupStack::PopAndDestroy( lookup_indicator_string );
-	CleanupStack::PopAndDestroy( lookup_string );
-
-    for (TInt i = 0; i < children->Count(); i++)
-    	{
-    	aArray.AppendL((*children)[i]);
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-HBufC8* CMmTemplateLibrary::LookupText( const TDesC8& aTemplate,
-    TMmWidgetType aWidgetType, TBool aLandscapeOrientation, TBool aHighlighted )
-    {
-    HBufC8* lookup_string = HBufC8::New( MmTemplateContants::KTemplateChildTextLength );
-    if (lookup_string)
-    	{
-		TPtr8 lookup_string_ptr( lookup_string->Des() );
-		lookup_string_ptr.Append( aTemplate );
-		lookup_string_ptr.Append( KColon8 );
-		switch ( aWidgetType )
-			{
-			case EListbox:
-				lookup_string_ptr.Append( KListbox8 );
-				break;
-			case EGrid:
-				lookup_string_ptr.Append( KGrid8 );
-				break;
-			}
-		lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.AppendNum( aLandscapeOrientation );
-		lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.AppendNum( aHighlighted );
-		lookup_string_ptr.Append( KColon8 );
-    	}
-    return lookup_string;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC8* CMmTemplateLibrary::LookupLayoutText( TMmWidgetType aWidgetType,
-        const TDesC8& aTemplate, TBool aLandscapeOrientation )
-	{
-    HBufC8* lookup_string = HBufC8::New( MmTemplateContants::KTemplateChildTextLength );
-    if (lookup_string)
-    	{
-		TPtr8 lookup_string_ptr( lookup_string->Des() );
-		switch ( aWidgetType )
-			{
-			case EListbox:
-				lookup_string_ptr.Append( KListbox8 );
-				break;
-			case EGrid:
-				lookup_string_ptr.Append( KGrid8 );
-				break;
-			}
-		lookup_string_ptr.Append( KColon8 );
-        lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.Append( aTemplate );
-		lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.AppendNum( aLandscapeOrientation );
-    	}
-    return lookup_string;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC8* CMmTemplateLibrary::LookupIndicatorText( const TDesC8& aLookupText )
-	{
-	HBufC8* lookup_string = HBufC8::New( MmTemplateContants::KTemplateChildTextLength );
-	if (lookup_string)
-		{
-		TPtr8 lookup_string_ptr( lookup_string->Des() );
-		lookup_string_ptr.Append( KMI8 );
-		lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.Append( aLookupText );
-		}
-
-	return lookup_string;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::LoadTemplateL( TMmWidgetType aWidgetType,
-		const TDesC8& aTemplate, TBool aLandscapeOrientation )
-	{
-	iWidgetType = aWidgetType;
-	DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL IN"));
-	TMmTemplateType mmTemplateType;
-	HBufC8* content = GetTemplateContentL( aTemplate, aWidgetType, mmTemplateType );
-	CleanupStack::PushL( content );
-    RXmlEngDOMImplementation domImpl;
-    CleanupClosePushL( domImpl );
-    RXmlEngDOMParser domParser;
-    CleanupClosePushL( domParser );
-    DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL Opening domImpl"));
-    domImpl.OpenL();
-    User::LeaveIfError( domParser.Open( domImpl ) );
-    DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL parsing content..."));
-    RXmlEngDocument xmlDoc = domParser.ParseL( *content );
-    CleanupClosePushL( xmlDoc );
-
-    // first orientation
-    RXmlEngNodeList<TXmlEngElement> orientElements;
-    CleanupClosePushL( orientElements );
-    xmlDoc.DocumentElement().GetChildElements( orientElements );
-    TXmlEngElement orientationElement;
-    while ( orientElements.HasNext() )
-        {
-        orientationElement = orientElements.Next();
-        DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL Reading orientation"));
-        TPtrC8 name = orientationElement.Name();
-        DEBUG8(("\t_Mm_:orientation: %S", &name));
-        if ( !name.Compare( KOrientation8 ) )
-            {
-            TBool landscapeOrientation(EFalse);
-            if (orientationElement.AttributeValueL(KId8) == KLandscape8)
-                landscapeOrientation = ETrue;
-            if ( landscapeOrientation != aLandscapeOrientation )
-            	{
-            	continue;
-            	}
-            RXmlEngNodeList<TXmlEngElement> elements;
-            orientationElement.GetChildElements( elements );
-            CleanupClosePushL( elements );
-            TXmlEngElement element;
-            while ( elements.HasNext() )
-                {
-                element = elements.Next();
-            	DEBUG(("_Mm_:iMmTemplateType != EMmTemplateMoveIndicator"));
-            	if (element.AttributeValueL(KId8) == KHighlight8)
-                    {
-                    DEBUG(("_Mm_:AttributeValueL - id == highlight"));
-                    ProcessElementL( mmTemplateType, element, aTemplate, landscapeOrientation, ETrue );
-                    DEBUG(("ProcesElementL END"));
-                    }
-                else if (element.AttributeValueL(KId8) == KNoHighlight8)
-                    {
-                    DEBUG(("_Mm_:AttributeValueL - id == nohighlight"));
-                    ProcessElementL( mmTemplateType, element, aTemplate, landscapeOrientation, EFalse );
-                    DEBUG(("ProcesElementL END"));
-                    if ( aWidgetType == EGrid )
-                        {
-                        DEBUG(("_Mm_:aWidgetType == EGrid"));
-                        ProcessElementL( mmTemplateType, element, aTemplate, landscapeOrientation, ETrue );
-                        DEBUG(("ProcesElementL END"));
-                        }
-                    }
-                }
-            CleanupStack::PopAndDestroy( &elements );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &orientElements );
-    CleanupStack::PopAndDestroy( &xmlDoc );
-    CleanupStack::PopAndDestroy( &domParser );
-    CleanupStack::PopAndDestroy( &domImpl );
-    CleanupStack::PopAndDestroy(content);
-    DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL OUT"));
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::ProcessElementL(TMmTemplateType aMmTemplateType,
-										 TXmlEngElement aElement,
-                                         const TDesC8& aTemplate,
-                                         TBool aLandscapeOrientation,
-                                         TBool aHighlighted )
-    {
-    switch ( aMmTemplateType )
-	    {
-	    case ETemplateTypeLCT:
-	    	ProcessLCTTemplateElementL(aElement, aTemplate, aLandscapeOrientation, aHighlighted );
-	    	break;
-	    case ETemplateTypeCustom:
-	    	ProcessCustomTemplateElementL(aElement, aTemplate, aLandscapeOrientation, aHighlighted );
-	    	break;
-	    }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::ProcessLCTTemplateElementL(TXmlEngElement aElement,
-                                         const TDesC8& aTemplate,
-                                         TBool aLandscapeOrientation,
-                                         TBool aHighlighted )
-	{
-	RXmlEngNodeList<TXmlEngElement> layoutElements;
-	CleanupClosePushL( layoutElements );
-	aElement.GetChildElements( layoutElements );
-	TXmlEngElement layoutElement;
-	TSize itemSize;
-	while ( layoutElements.HasNext() )
-		{
-		layoutElement = layoutElements.Next();
-
-		if ( !layoutElement.Name().Compare( KLayout8 ) )
-			{
-			TPtrC8 lctAtt = layoutElement.AttributeValueL(KLct8);
-
-			// set layout for grid
-			TInt variety;
-			HnConvUtils::Str8ToInt(layoutElement.AttributeValueL(KVariety8), variety);
-
-			TSize layoutSize;
-			if ( iWidgetType == EGrid )
-				{
-				layoutSize = MmLCTUtils::GetLayoutSize( lctAtt, variety );
-				CacheLayoutSizeL( layoutSize, aTemplate, aLandscapeOrientation );
-				}
-			else
-				{
-				layoutSize = GetLayoutSizeL( iWidgetType, aTemplate, aLandscapeOrientation );
-				}
-
-			TAknWindowLineLayout layout;
-			TSize itemSize = GetLCTSize( lctAtt, variety, layout, aLandscapeOrientation );
-
-			AdjustItemSize( itemSize, layoutSize, aLandscapeOrientation );
-			HBufC8* lookup_string = LookupText( aTemplate, iWidgetType,
-                aLandscapeOrientation, aHighlighted );
-			iTemplateSizesMap.InsertL( lookup_string, itemSize );
-
-			// setup children
-			RArray< TTemplateChild > childrenDefinition;
-			CleanupClosePushL( childrenDefinition );
-			RXmlEngNodeList<TXmlEngElement> childrenElements;
-			CleanupClosePushL( childrenElements );
-			layoutElement.GetChildElements( childrenElements );
-			TXmlEngElement childElement;
-			while ( childrenElements.HasNext() )
-				{
-				childElement = childrenElements.Next();
-				TPtrC8 name = childElement.Name();
-				if ( !name.Compare( KTextVisual8 ) ||
-						!name.Compare( KImageVisual8 ) )
-					{
-					TTemplateChild childTemplate;
-					childTemplate.iLct = childElement.AttributeValueL(KLct8);
-					TInt variety;
-					HnConvUtils::Str8ToInt(childElement.AttributeValueL(KVariety8), variety);
-					childTemplate.iVariety = variety;
-
-					TPtrC8 ptr = childElement.AttributeValueL(KHAlign8);
-                    if (!ptr.Compare(KNullDesC8))
-                        {
-                        childTemplate.iHAlign = EManualAlignUndefined;
-                        }
-                    else if (!ptr.Compare(KLeft8))
-                        {
-                        childTemplate.iHAlign = EManualAlignLeft;
-                        }
-                    else if (!ptr.Compare(KCenter8))
-                        {
-                        childTemplate.iHAlign = EManualAlignCenter;
-                        }
-                    else if (!ptr.Compare(KRight8))
-                        {
-                        childTemplate.iHAlign = EManualAlignRight;
-                        }
-
-					SetupLCTTemplateL( childTemplate, childElement, itemSize );
-					childrenDefinition.AppendL( childTemplate );
-					}
-				}
-			CleanupStack::PopAndDestroy( &childrenElements );
-			// save children defintion in map
-			lookup_string = LookupText(aTemplate, iWidgetType,
-                aLandscapeOrientation, aHighlighted );
-			iTemplateChildrenMap.InsertL(lookup_string, childrenDefinition);
-			CleanupStack::Pop( &childrenDefinition );
-			break;
-	        }
-        }
-    CleanupStack::PopAndDestroy( &layoutElements );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::ProcessCustomTemplateElementL(TXmlEngElement aElement,
-                                         const TDesC8& aTemplate,
-                                         TBool aLandscapeOrientation,
-                                         TBool aHighlighted )
-	{
-    RXmlEngNodeList<TXmlEngElement> layoutElements;
-    CleanupClosePushL( layoutElements );
-    aElement.GetChildElements( layoutElements );
-    TXmlEngElement layoutElement;
-    while ( layoutElements.HasNext() )
-        {
-        layoutElement = layoutElements.Next();
-        if ( !layoutElement.Name().Compare( KLayout8 ) )
-            {
-            TSize itemSize;
-            // set sizes
-        	TInt height;
-            TInt width;
-            HBufC8* lookup_string;
-
-            HnConvUtils::Str8ToInt(layoutElement.AttributeValueL(KHeight8), height);
-            HnConvUtils::Str8ToInt(layoutElement.AttributeValueL(KWidth8), width);
-        	lookup_string = LookupText( aTemplate, iWidgetType,
-                aLandscapeOrientation, aHighlighted );
-        	itemSize = TSize( width, height );
-
-
-            TSize layoutSize = ( aLandscapeOrientation ) ?
-            		TSize( MmGrid::KColsLandscapeZoomNormal, MmGrid::KRowsLandscapeZoomNormal ):
-            		TSize( MmGrid::KColsPortraitZoomNormal, MmGrid::KRowsPortraitZoomNormal ) ;
-            layoutSize = ( iWidgetType == EGrid ) ? layoutSize: TSize(MmListBox::KCols,0);
-            CacheLayoutSizeL( layoutSize, aTemplate, aLandscapeOrientation );
-
-            AdjustItemWidth( itemSize, layoutSize, aLandscapeOrientation );
-        	iTemplateSizesMap.InsertL(lookup_string, itemSize);
-
-            // set children
-            RArray< TTemplateChild > childrenDefinition;
-            CleanupClosePushL( childrenDefinition );
-
-            RXmlEngNodeList<TXmlEngElement> childrenElements;
-            CleanupClosePushL( childrenElements );
-            layoutElement.GetChildElements( childrenElements );
-            TXmlEngElement childElement;
-            while ( childrenElements.HasNext() )
-                {
-                childElement = childrenElements.Next();
-                TPtrC8 name = childElement.Name();
-                if ( !name.Compare( KTextVisual8 ) ||
-                        !name.Compare( KImageVisual8 ) )
-                    {
-                    TTemplateChild childTemplate;
-                    SetupCustomTemplateL( childTemplate, childElement );
-                    childrenDefinition.AppendL( childTemplate );
-                    }
-                }
-            CleanupStack::PopAndDestroy( &childrenElements );
-            // save children defintion in map
-        	lookup_string = LookupText(aTemplate, iWidgetType,
-                aLandscapeOrientation, aHighlighted );
-        	iTemplateChildrenMap.InsertL(lookup_string, childrenDefinition);
-        	CleanupStack::Pop( &childrenDefinition );
-            // we found first layout, it is enough
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &layoutElements );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC8* CMmTemplateLibrary::GetTemplateContentL(const TDesC8& aTemplate,
-		TMmWidgetType aWidgetType, TMmTemplateType& aMmTemplateType)
-	{
-	HBufC8* content;
-	TRAPD( err , GetTemplateFileContentL( content, aTemplate, aWidgetType, aMmTemplateType ) );
-	if ( KErrNone != err || !content )
-		{
-//		if LCT template was not loaded try to load a custom template
-		TRAPD( err , GetTemplateFileContentL( content, aTemplate, aWidgetType, aMmTemplateType, ETrue ) );
-		if ( KErrNoMemory == err )
-		    {
-		    User::Leave( KErrNoMemory );
-		    }
-		if ( KErrNone != err || !content )
-			{
-			User::Panic(KMtlPanic, -1);
-			}
-		}
-	return content;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::GetTemplateFileContentL( HBufC8*& aContent,
-		const TDesC8& aTemplate, TMmWidgetType aWidgetType,
-		TMmTemplateType& aMmTemplateType, TBool aLoadCustomTemplate )
-	{
-    DEBUG(("_Mm_:CMmTemplateLibrary::GetTemplateContentL IN"));
-    TFileName filename;
-//  create filename  egz: akn_logical_template_3.xml
-	filename.Copy(aTemplate);
-	filename.Insert(0, KUnderline );
-	filename.Insert(0, KAkn );
-	filename.Append( KXmlExt );
-
-//  append path egz: z:\\resource\\grid\\lct\\akn_logical_template_3.xml
-
-	if ( !aLoadCustomTemplate )
-		{
-		filename.Insert(0, KBslash );
-		filename.Insert(0, KLct );
-		}
-	else
-		{
-		filename.Insert(0, KBslash );
-		filename.Insert(0, KCustom );
-		}
-
-	switch (aWidgetType)
-		{
-		case EGrid:
-			filename.Insert(0, KBslash );
-			filename.Insert(0, KWidgetTypeGrid);
-			break;
-		case EListbox:
-			filename.Insert(0, KBslash );
-			filename.Insert(0, KWidgetTypeList );
-			break;
-		}
-
-	filename.Insert(0, KZResource );
-
-	DEBUG(("\t_Mm_:tail: %S", &filename));
-    DEBUG(("_Mm_:CMmTemplateLibrary::GetTemplateContentL OUT"));
-
-//  load LCT Template or if it does not exist then load custom template
-    aContent =  HnUtils::ReadFileLC(filename);
-	CleanupStack::Pop( aContent );
-
-	if ( aLoadCustomTemplate )
-		{
-		aMmTemplateType = ETemplateTypeCustom;
-		}
-	else
-		{
-		aMmTemplateType = ETemplateTypeLCT;
-		}
-	return;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TSize CMmTemplateLibrary::GetLCTSize( const TDesC8& aLCTTemplate, TInt aVariety,
-		TAknWindowLineLayout& aWindowLayout, TBool aLandscapeOrientation )
-	{
-	TSize size = MmLCTUtils::GetLCTSize( aLCTTemplate, aVariety,
-			GetParentRect( aLandscapeOrientation ), aWindowLayout );
-	return size;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetupLCTTemplateL(TTemplateChild& aChildTemplate,
-		TXmlEngElement& aChildElement, TSize aItemSize )
-	{
-    TPtrC8 name = aChildElement.Name();
-    aChildTemplate.iData = aChildElement.AttributeValueL(KId8);
-    SetupTemplateVisualId( aChildTemplate );
-
-    // read attribute name (mm_title, mm_icon)
-    RXmlEngNodeList<TXmlEngElement> attributeElements;
-    CleanupClosePushL( attributeElements );
-    aChildElement.GetChildElements( attributeElements );
-    TXmlEngElement attElement;
-    while ( attributeElements.HasNext() )
-        {
-        attElement = attributeElements.Next();
-        TPtrC8 nameAtt = attElement.AttributeValueL(KName8);
-        if ( !name.Compare( KTextVisual8 ) &&
-                !nameAtt.Compare( KText8 ) )
-            {
-            MmLCTUtils::SetupTextSubCellTemplate( aItemSize, aChildTemplate );
-            }
-        else if ( !name.Compare( KImageVisual8 )  &&
-                !nameAtt.Compare( KImagePath8 ) )
-            {
-            MmLCTUtils::SetupGraphicSubCellTemplate(aItemSize, aChildTemplate);
-            AdjustIconPosition(aItemSize, aChildTemplate);
-            }
-        }
-    CleanupStack::PopAndDestroy( &attributeElements );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetupCustomTemplateL(TTemplateChild& aChildTemplate,
-		TXmlEngElement& aChildElement)
-	{
-    TPtrC8 name = aChildElement.Name();
-	TInt positionx; TInt positiony;
-    TInt height; TInt width;
-
-    HnConvUtils::Str8ToInt(aChildElement.AttributeValueL(KPositionX8), positionx);
-    HnConvUtils::Str8ToInt(aChildElement.AttributeValueL(KPositionY8), positiony);
-    HnConvUtils::Str8ToInt(aChildElement.AttributeValueL(KHeight8), height);
-    HnConvUtils::Str8ToInt(aChildElement.AttributeValueL(KWidth8), width);
-    aChildTemplate.iRectAccordingToParent = TRect( TPoint(positionx,positiony), TSize(width, height) );
-
-    aChildTemplate.iData = aChildElement.AttributeValueL(KId8);
-    SetupTemplateVisualId( aChildTemplate );
-
-    // read attribute name (mm_title, mm_icon)
-    RXmlEngNodeList<TXmlEngElement> attributeElements;
-    CleanupClosePushL( attributeElements );
-    aChildElement.GetChildElements( attributeElements );
-    TXmlEngElement attElement;
-    while ( attributeElements.HasNext() )
-        {
-        attElement = attributeElements.Next();
-        TPtrC8 nameAtt = attElement.AttributeValueL(KName8);
-        if ( !name.Compare( KTextVisual8 ) &&
-                !nameAtt.Compare( KText8 ) )
-            {
-            aChildTemplate.iIsImage = EFalse;
-            }
-        else if ( !name.Compare( KImageVisual8 )  &&
-                !nameAtt.Compare( KImagePath8 ) )
-            {
-            aChildTemplate.iIsImage = ETrue;
-            aChildTemplate.iFontId = EAknLogicalFontSecondaryFont;
-            aChildTemplate.iTextAlign = CGraphicsContext::ELeft ;
-            }
-        else if ( !name.Compare( KTextVisual8 )  &&
-                !nameAtt.Compare( KStyle8 ) )
-            {
-            TPtrC8 font = attElement.AttributeValueL(KTargetValue8);
-            if ( !font.Compare( KQfnPrimarySmall8 ) )
-                {
-                aChildTemplate.iFontId = EAknLogicalFontPrimarySmallFont;
-                }
-            else
-                {
-                aChildTemplate.iFontId = EAknLogicalFontSecondaryFont;
-                }
-            }
-        else if ( !name.Compare( KTextVisual8 )  &&
-                !nameAtt.Compare( KHorizontalAlign8 ) )
-            {
-            TInt textAlign;
-            HnConvUtils::Str8ToInt(attElement.AttributeValueL(KTargetValue8), textAlign);
-            aChildTemplate.iTextAlign = static_cast<CGraphicsContext::TTextAlign>(textAlign);
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &attributeElements );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetupTemplateVisualId(TTemplateChild& aChildTemplate )
-	{
-	if( !aChildTemplate.iData.Compare( KMmBackdropIcon8 ))
-        {
-        aChildTemplate.iImageVisualId = EImageVisualIdEditMode;
-        }
-	else
-		{
-		aChildTemplate.iImageVisualId = EImageVisualIdNormalMode;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::AppendEditModeTemplateL(
-		RArray<TTemplateChild>& aTemplateArray, TSize aSize)
-	{
-    //setup backdrop icon
-    TTemplateChild childTemplate;
-    childTemplate.iIsImage = ETrue;
-    childTemplate.iFontId = EAknLogicalFontSecondaryFont;
-    childTemplate.iTextAlign = CGraphicsContext::ELeft;
-    childTemplate.iRectAccordingToParent = TRect( TPoint( 0,0 ),
-    		TPoint( aSize.iWidth, aSize.iHeight ) );
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength >( KMmBackdropIcon8 );
-    SetupTemplateVisualId( childTemplate );
-    aTemplateArray.AppendL( childTemplate );
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetupMoveIndicatorTemplateChildrenL(
-		const TDesC8& aLookupString, TSize aItemSize )
-	{
-	RArray< TTemplateChild > childrenDefinition;
-    TTemplateChild childTemplate;
-    childTemplate.iIsImage = ETrue;
-    childTemplate.iImageVisualId = EImageVisualIdNormalMode;
-    childTemplate.iFontId = EAknLogicalFontSecondaryFont;
-    childTemplate.iTextAlign = CGraphicsContext::ELeft;
-	TPoint startingPosition = TPoint(
-			MmTemplateContants::KMoveIndicatorStartingPos,
-			MmTemplateContants::KMoveIndicatorStartingPos);
-
-    //setup move_indicator_arrow_left
-    childTemplate.iRectAccordingToParent = TRect(TPoint(0,aItemSize.iHeight/2 + startingPosition.iY/2),
-    		TPoint(startingPosition.iX,
-    				startingPosition.iY*3/2 + aItemSize.iHeight/2));
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength>(
-    		KMmMoveIndicatorArrowLeft8 );
-    childrenDefinition.AppendL( childTemplate );
-
-    //setup move_indicator_arrow_right
-    childTemplate.iRectAccordingToParent = TRect(
-    		TPoint(startingPosition.iX + aItemSize.iWidth , aItemSize.iHeight/2 + startingPosition.iY/2),
-    		TPoint(startingPosition.iX*2 + aItemSize.iWidth,
-    				startingPosition.iY*3/2 + aItemSize.iHeight/2));
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength>(
-    		KMmMoveIndicatorArrowRight8 );
-    childrenDefinition.AppendL( childTemplate );
-
-    //setup move_indicator_arrow_top
-    childTemplate.iRectAccordingToParent = TRect(TPoint( aItemSize.iWidth/2 + startingPosition.iX/2, 0 ),
-    		TPoint(aItemSize.iWidth/2 + startingPosition.iX*3/2, startingPosition.iY));
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength >(
-    		KMmMoveIndicatorArrowTop8 );
-    childrenDefinition.AppendL( childTemplate );
-
-    //setup move_indicator_arrow_bottom
-    childTemplate.iRectAccordingToParent = TRect( TPoint( aItemSize.iWidth/2 + startingPosition.iX/2,
-    		aItemSize.iHeight + startingPosition.iY + 2 ),
-    		TPoint(aItemSize.iWidth/2 + startingPosition.iX*3/2,
-    				aItemSize.iHeight + 2 *startingPosition.iY));
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength>(
-    		KMmMoveIndicatorArrowBottom8 );
-    childrenDefinition.AppendL( childTemplate );
-
-	HBufC8* lookup_string = aLookupString.AllocLC();
-	iTemplateChildrenMap.InsertL(lookup_string, childrenDefinition);
-	CleanupStack::Pop( lookup_string );
-	lookup_string = NULL;
-
-    lookup_string = aLookupString.AllocLC();
-	TRect rectAccordingToParent = TRect(
-			TPoint( -startingPosition.iX, -startingPosition.iY),
-			TPoint(2*startingPosition.iX + aItemSize.iWidth ,
-					2*startingPosition.iY + aItemSize.iHeight) );
-
-	iMoveIndicatorRectsMap.InsertL( lookup_string, rectAccordingToParent );
-	CleanupStack::Pop( lookup_string );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetScrollbarVisibilityL( TBool aIsScrollbarVisible )
-	{
-	if ( iIsScrollbarVisible != aIsScrollbarVisible )
-		{
-		iIsScrollbarVisible = aIsScrollbarVisible;
-		CleanAndClearCache();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmTemplateLibrary::GetScrollbarVisibility()
-    {
-    return iIsScrollbarVisible;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetScrollbarWidthL( TInt aScrollbarWidth )
-	{
-	if ( iIsScrollbarVisible )
-		{
-		if ( iScrollbarWidth != aScrollbarWidth )
-			{
-			iScrollbarWidth = aScrollbarWidth;
-			CleanAndClearCache();
-			}
-		}
-	else
-		{
-		if ( iScrollbarWidth != 0 )
-			{
-			iScrollbarWidth = 0;
-			CleanAndClearCache();
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmTemplateLibrary::ScrollbarWidth()
-    {
-    return iScrollbarWidth;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::AdjustItemWidth(TSize& aItemSize, TSize aLayoutSize,
-		TBool aLandscapeOrientation)
-	{
-	if ( iIsScrollbarVisible )
-		{
-		aItemSize.iWidth = ( GetParentRect(aLandscapeOrientation).Width() - iScrollbarWidth ) / aLayoutSize.iWidth;
-		}
-	else
-		{
-		aItemSize.iWidth = GetParentRect(aLandscapeOrientation).Width() / aLayoutSize.iWidth;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::UpdateParentRect( TRect aParentRect, TBool aLandscapeOrientation )
-	{
-    if( GetParentRect( aLandscapeOrientation ) != aParentRect )
-	    {
-    	SetParentRect( aLandscapeOrientation, aParentRect );
-	    }
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TRect CMmTemplateLibrary::GetParentRect( TBool aLandscapeOrientation )
-	{
-	if ( aLandscapeOrientation )
-		return iParentRectLandscape;
-	else
-		return iParentRectPortrait;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetParentRect( TBool aLandscapeOrientation, TRect aParentRect)
-	{
-	if ( aLandscapeOrientation )
-		iParentRectLandscape = aParentRect;
-	else
-		iParentRectPortrait = aParentRect;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::AdjustItemSize(TSize& aItemSize, TSize aLayoutSize,
-		TBool aLandscapeOrientation)
-	{
-	switch ( iWidgetType )
-		{
-		case EGrid:
-			aItemSize.iHeight = GetParentRect( aLandscapeOrientation ).Height() / aLayoutSize.iHeight;
-			break;
-		case EListbox:
-			break;
-		}
-	AdjustItemWidth( aItemSize, aLayoutSize, aLandscapeOrientation );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::CacheLayoutSizeL(TSize aLayoutSize,
-		const TDesC8& aTemplate, TBool aLandscapeOrientation)
-	{
-	HBufC8* lookup_layout_text = LookupLayoutText( iWidgetType,
-        aTemplate, aLandscapeOrientation );
-
-	if ( iTemplateSizesMap.Find( lookup_layout_text ) )
-		{
-		delete lookup_layout_text;
-		}
-	else
-		{
-		iTemplateSizesMap.InsertL( lookup_layout_text, aLayoutSize );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::AdjustIconPosition(TSize aParentSize,
-        TTemplateChild& aTemplateChild)
-    {
-    switch (aTemplateChild.iHAlign)
-        {
-        case EManualAlignLeft:
-            break;
-        case EManualAlignCenter:
-            {
-            TInt rectWidth =
-                    aTemplateChild.iRectAccordingToParent.Size().iWidth;
-            TInt lX = (aParentSize.iWidth - rectWidth) / 2;
-            aTemplateChild.iRectAccordingToParent.Move(lX
-                    - aTemplateChild.iRectAccordingToParent.iTl.iX, 0);
-            break;
-            }
-        case EManualAlignRight:
-            break;
-        default:
-            break;
-        }
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1957 +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:
-*  Version     : %version: MM_71.1.17.1.51 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include <e32keys.h>
-#include <e32math.h>
-#include <AknsDrawUtils.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlongtapdetector.h>
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#include <aknlistboxtfx.h>
-#endif
-
-#include "mmwidgetcontainer.h"
-#include "mmlistboxmodel.h"
-#include "mmmarqueeadapter.h"
-#include "mmwidgetobserver.h"
-#include "mmvisibilityobserver.h"
-#include "mmlistboxcontainer.h"
-#include "mmgridcontainer.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmmarqueeadapter.h"
-#include "mmfloatingitem.h"
-#include "hnsuitemodel.h"
-#include "hnitemsorder.h"
-#include "menudebug.h"
-#include "mmdraweranimator.h"
-#include "hnglobals.h"
-#include "mmpostevaluationprocessor.h"
-#include "mmgrid.h"
-#include "mmlongtapobserver.h"
-
-class CMmTemplateLibrary;
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TMmWidgetPosition::TMmWidgetPosition()
-    : iVerticalItemOffset( 0 )
-    , iTopItemIndex( KErrNotFound )
-    , iValid( EFalse )
-    , iLandscape( EFalse )
-    , iHighlightedItemId( KErrNotFound )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMmWidgetContainer* CMmWidgetContainer::NewGridContainerL( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aLibrary )
-    {
-    return CMmGridContainer::NewL( aRect, aObjectProvider, aLibrary );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMmWidgetContainer* CMmWidgetContainer::NewListBoxContainerL( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary )
-    {
-    return CMmListBoxContainer::NewL( aRect, aObjectProvider, aTemplateLibrary );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ConstructL()
-	{
-    iBgContext = CAknsBasicBackgroundControlContext::NewL(
-    	KAknsIIDQsnBgAreaMainAppsGrid, Rect(), EFalse);
-    iLongTapDetector = CAknLongTapDetector::NewL( this );
-    iLongTapDetector->EnableLongTapAnimation(ETrue);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmWidgetContainer::CMmWidgetContainer()
-    : iIsFaded( EFalse )
-    , iHasFocus( ETrue )
-    , iInForeground( ETrue )
-    {
-    iMarqueeAdapter = NULL;
-    iBgContext = NULL;
-    iWidgetPositionCache.iValid = EFalse;
-    iLongTapInProgress = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmWidgetContainer::~CMmWidgetContainer()
-    {
-    AknsUtils::DeregisterControlPosition( this );
-    AknsUtils::DeregisterControlPosition( this->iWidget );
-    delete iBgContext;
-    delete iPostProcessor;
-    delete iLongTapDetector;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::EnableLongTapAnimation( TBool aEnable )
-    {
-    if ( iLongTapDetector )
-        {
-        iLongTapDetector->EnableLongTapAnimation( aEnable );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SizeChanged()
-    {
-    if ( iWidget && iWidgetRect != Rect() )
-        {
-    	CMmTemplateLibrary * templateLibrary =
-    	static_cast<CMmListBoxItemDrawer*> (
-    			Widget()->View()->ItemDrawer() )->TemplateLibrary();
-        if ( Rect() != templateLibrary->GetParentRect(
-        		Layout_Meta_Data::IsLandscapeOrientation() ) )
-        	{
-        	templateLibrary->CleanAndClearCache();
-        	}
-        iWidget->View()->SetViewRect( Rect() );
-        iWidget->SetRect( Rect() );
-        iWidgetRect = Rect();
-        }
-
-    if ( iBgContext )
-        {
-        TRect rect = iCoeEnv->ScreenDevice()->SizeInPixels();
-        iBgContext->SetRect( rect );
-        SetItemDrawerAndViewBgContext( iBgContext );
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    AknsUtils::RegisterControlPosition( this->iWidget );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::Draw( const TRect& /*aRect*/ ) const
-    {
-    // do nothing
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CMmWidgetContainer::MopSupplyObject(TTypeUid aId)
-    {
-    if (aId.iUid == MAknsControlContext::ETypeId && iBgContext )
-        {
-        return MAknsControlContext::SupplyMopObject(aId, iBgContext );
-        }
-
-    return CCoeControl::MopSupplyObject(aId);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleButtonDownL(const TPointerEvent& aPointerEvent )
-    {
-    iTapPoint = aPointerEvent.iPosition;
-    iLastDragPoint = aPointerEvent.iPosition;
-    iLastDragHighlight = GetHighlight();
-    if( !iWidget->View()->XYPosToItemIndex(
-    		aPointerEvent.iPosition, iDraggedIndex ) )
-        {
-        iDraggedIndex = KErrNotFound;
-        }
-    iItemRelativeTapPoint = aPointerEvent.iPosition - iWidget->View()->ItemPos(
-    		iDraggedIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleButtonUpL(const TPointerEvent& /*aPointerEvent*/ )
-    {
-    iTapPoint = TPoint( 0, 0 );
-    CancelDragL( EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KEikDynamicLayoutVariantSwitch ||
-            aType == KAknsMessageSkinChange )
-        {
-        static_cast<CMmListBoxItemDrawer*>( iDrawer )->InvalidateCache();
-        CMmTemplateLibrary * templateLibrary =
-        static_cast<CMmListBoxItemDrawer*>( iDrawer )->TemplateLibrary();
-        templateLibrary->CleanAndClearCache();
-        }
-
-    CCoeControl::HandleResourceChange( aType );
-
-	if ( aType == KEikDynamicLayoutVariantSwitch && !IsHighlightVisible() )
-		{
-		SetDefaultHighlightL( EFalse );
-		}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::ItemIconZoomL( TInt /*aItemIndex */)
-    {
-    TInt index = GetHighlight();
-    if (index != iDraggedIndex)
-        {
-        iDrawer->AnimateItemZoomInL( index );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CMmWidgetContainer::GetSuiteModelL()
-	{
-	return GetMmModel()->GetSuiteModel();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleDragL(const TPointerEvent& aPointerEvent,
-        TBool aAbortAnimation )
-    {
-    DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: iLastDragHighlight = %d ",
-    		iLastDragHighlight ));
-
-    TInt highlight = GetHighlight();
-    DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: highlight = %d ", highlight ));
-
-    TPoint dragDelta ( iLastDragPoint - aPointerEvent.iPosition);
-    TInt dragSpeed = dragDelta.iX * dragDelta.iX + dragDelta.iY * dragDelta.iY;
-    TBool tooFast = (dragSpeed > MmEffects::KDragSpeedIgnoreThreshold);
-
-    if (iLastDragHighlight != highlight )
-        {
-       	iDragAndDropObserver->HandleDragOverL( GetHighlight() );
-        }
-
-    if (!tooFast)
-    	{
-		TSize itemSize = iWidget->View()->ItemSize( highlight );
-		TPoint itemPos = iWidget->View()->ItemPos( highlight );
-
-		if ( PointInItemReorderAreaL( highlight, aPointerEvent.iPosition ) )
-		   {
-		   CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-		   CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( highlight ));
-		   if (iDrawer->GetAnimator()->IsReadyForNewAnimation() && !aAbortAnimation
-				   && onItemModel->GetItemType() != EItemTypeParentFolder
-				   && iDraggedIndex != highlight)
-				   {
-				   GetMmModel()->ReorderModelL( iDraggedIndex, highlight );
-				   AnimateShiftL( highlight );
-				   iDrawer->SetDraggedIndexL( highlight,
-						   aPointerEvent.iPosition - iItemRelativeTapPoint );
-				   iDraggedIndex = highlight;
-				   iDragAndDropObserver->HandleDraggedIndexUpdatedL( highlight );
-				   }
-		   }
-    	}
-
-    if ( DeltaSquare( iTapPoint, aPointerEvent.iPosition ) > KDragDelta &&
-				!iDrawer->IsDraggable() )
-		{
-		iDrawer->SetDraggedIndexL( iDraggedIndex, iTapPoint - iItemRelativeTapPoint );
-		iDrawer->SetDraggableL( ETrue );
-		}
-	else if ( iDrawer->IsDraggable() )
-		{
-		iDrawer->SetDraggedPointL( aPointerEvent.iPosition - iItemRelativeTapPoint );
-		}
-
-    DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: iLastDragHighlight = %d ", iLastDragHighlight ));
-    DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: highlight = %d ", highlight ));
-    iLastDragPoint = aPointerEvent.iPosition;
-    iLastDragHighlight = highlight;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::AnimateShiftL(TInt aHighlight)
-	{
-    TInt lowerVal =  (iDraggedIndex < aHighlight)? iDraggedIndex : aHighlight;
-    TInt higherVal = (iDraggedIndex < aHighlight)? aHighlight : iDraggedIndex;
-    TInt switchOperation = (iDraggedIndex < aHighlight) ? EFalse : ETrue;
-
-       for(TInt iter(lowerVal); iter < higherVal; iter++ )
-           {
-           TInt from = iter + 1;
-           TInt to = iter;
-           if (switchOperation)
-               {
-               from = iter;
-               to = iter + 1;
-               }
-           iDrawer->AnimateItemSwapL( from, to );
-        }
-     }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::CancelDragL( TBool aAnimate )
-    {
-    if (aAnimate)
-        {
-        iDrawer->AnimateDragItemTransitionL();
-        }
-
-    SetHighlightAfterDrag();
-
-    iDraggedIndex = -1;
-    iDrawer->SetDraggedIndexL( iDraggedIndex, TPoint(0,0) );
-    SetDraggableL( EFalse );
-
-    TInt dragFloatingItem;
-    do
-        {
-        dragFloatingItem = iDrawer->GetFloatingItemIndex( EDrag );
-        iDrawer->RemoveFloatingItem( dragFloatingItem );
-        }
-    while ( dragFloatingItem != KErrNotFound );
-
-    iDrawer->GetAnimator()->CancelNextRedrawL();
-
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-
-TBool CMmWidgetContainer::IsFolderL(TInt aItemIndex)
-	{
-	TBool result = EFalse;
-
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if (model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( aItemIndex ));
-	    if (onItemModel)
-	    	{
-	    	result = onItemModel->GetItemType() == EItemTypeParentFolder ||
-	      		onItemModel->GetItemType() == EItemTypeFolder;
-	    	}
-		}
-
-	return result;
-
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-
-TBool CMmWidgetContainer::IsNoItemDragged()
-	{
-	TBool noItemDragged = EFalse;
-	noItemDragged = ( KErrNotFound == iDraggedIndex ) ? ETrue : noItemDragged;
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if ( !noItemDragged && model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( iDraggedIndex ));
-	    if (onItemModel)
-	    	{
-	    	noItemDragged = ( onItemModel->GetItemType() == EItemTypeParentFolder );
-	    	}
-		}
-	return noItemDragged;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetHasFocusL( TBool aHasFocus )
-    {
-    if ( !!aHasFocus != !!iHasFocus ) // logical Ex-OR
-        {
-        iHasFocus = aHasFocus;
-        StartOrStopMarquee();
-        }
-    if ( !aHasFocus )
-    	{
-    	SetHighlightVisibilityL( EFalse );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetIsFaded( TBool aIsFaded )
-    {
-    if ( !!aIsFaded != !!iIsFaded ) // logical Ex-OR
-        {
-        iIsFaded = aIsFaded;
-        StartOrStopMarquee();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::LongTapInProgress() const
-    {
-    return iLongTapInProgress;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::IsDeleteLockedL( TInt aItemIndex )
-	{
-	TBool result = ETrue;
-
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if (model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel(model->IdByIndex(
-				aItemIndex));
-		if (onItemModel)
-			{
-			result = onItemModel->IsDeleteLocked();
-			}
-		}
-
-	return result;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ManageFolderZoomingL( TBool aDraggedItemOverIcons )
-	{
-	TBool isAnimated;
-
-	isAnimated = EFalse;
-	for(int i=0; i< iDrawer->GetFloatingItemCount(); i++)
-		{
-	    TMmFloatingItem& current = iDrawer->GetFloatingItemAtIndex(i);
-	    if (/*current.GetFloatingItemType() != EZoomTransition &&*/
-	    		current.GetFloatingItemType() != EPostHighlightChangeRefreshItem &&
- 				current.GetDrawnItemIndex() == GetHighlight() )
-	    	{
-	        isAnimated = ETrue;
-	        break;
-	        }
-	    }
-
-	if (!isAnimated)
-		{
-		if ( GetHighlight() != iDraggedIndex &&
-			 IsFolderL( GetHighlight() ) &&
-			 !IsDeleteLockedL( GetHighlight() ) &&
-			 iDrawer->IsDraggable() )
-			{
-			iDrawer->AnimateItemZoomInL( GetHighlight() );
-			}
-		}
-
-	isAnimated = EFalse;
-	for(int i=0; i< iDrawer->GetFloatingItemCount(); i++)
-		{
-	    TMmFloatingItem& current = iDrawer->GetFloatingItemAtIndex(i);
-	    if (current.GetFloatingItemType() != EZoomTransition &&
-	    		current.GetFloatingItemType() != EPostHighlightChangeRefreshItem &&
-				current.GetDrawnItemIndex() == iLastDragHighlight )
-	    	{
-	        isAnimated = ETrue;
-	        break;
-	        }
-	    }
-
-	if (!isAnimated)
-		{
-		if ( ( !aDraggedItemOverIcons && IsFolderL( iLastDragHighlight ) ) ||
-				iLastDragHighlight != Widget()->CurrentItemIndex() )
-			{
-			iDrawer->AnimateItemZoomOutL( iLastDragHighlight );
-			}
-		}
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandlePointerEventsInEditModeL(
-		const TPointerEvent& aPointerEvent, TBool aAbortAnimations )
-	{
-
-	TInt pointedItem = KErrNotFound;
-	TBool draggedItemOverIcons = iWidget->View()->XYPosToItemIndex(
-			aPointerEvent.iPosition, pointedItem );
-
-	if (aPointerEvent.iType == TPointerEvent::EButton1Down)
-        {
-//TODO: PROTO OF 2PHASE HIGHLIGHT EDITMODE BEHAVIOUR
-//        if (!IsFolderL(pointedItem))
-//        	{
-//        	iDrawer->ClearFlags( CListItemDrawer::EPressedDownState );
-//        	}
-        HandleButtonDownL(aPointerEvent);
-        iDragAndDropObserver->HandleDragStartL( GetHighlight() );
-        }
-    else if ( (aPointerEvent.iType == TPointerEvent::EDrag ||
-            aPointerEvent.iType == TPointerEvent::EButtonRepeat) &&
-            iDraggedIndex != KErrNotFound)
-        {
-//TODO: PROTO OF 2PHASE HIGHLIGHT EDITMODE BEHAVIOUR
-//        if (!IsFolderL(pointedItem))
-//        	{
-//        	iDrawer->SetFlags( CListItemDrawer::EPressedDownState );
-//        	}
-
-        TPointerEvent pointerEvent = aPointerEvent;
-        if( WidgetType() == EListWidget )
-        	{
-        	pointerEvent.iPosition.iX =
-                    iWidget->View()->ItemPos( pointedItem ).iX +
-                    iItemRelativeTapPoint.iX;
-        	}
-
-        if (GetHighlight() !=  Widget()->CurrentItemIndex() )
-        	{
-        	SetHighlightL( Widget()->CurrentItemIndex() );
-        	}
-
-        ManageFolderZoomingL( draggedItemOverIcons );
-
-        HandleDragL(pointerEvent, aAbortAnimations);
-
-        }
-    else if (aPointerEvent.iType == TPointerEvent::EButton1Up && iDrawer->IsDraggable())
-        {
-        if ( !draggedItemOverIcons )
-        	{
-        	SetManualHighlightL( iDraggedIndex );
-        	}
-
-        iDragAndDropObserver->HandleDragStopL( GetHighlight() );
-        HandleButtonUpL(aPointerEvent);
-        }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent )
-    {
-    if ( iMarqueeAdapter && aPointerEvent.iType == TPointerEvent::EButton1Down )
-    	{
-    	iMarqueeAdapter->StopMarqueeDrawing();
-    	}
-
-    TInt index = KErrNotFound;
-    TBool itemExists = iWidget->View()->XYPosToItemIndex( aPointerEvent.iPosition, index );
-    
-    if ( iLongTapDetector )
-        {
-        if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-            {
-            iLongTapDetector->EnableLongTapAnimation( itemExists &&
-                    GetMmModel()->GetNumberOfSpecificMenuItemsL( index ) > 0 );
-            }
-        TPointerEvent longTapPointerEvent = aPointerEvent;
-        if ( aPointerEvent.iType == TPointerEvent::EButtonRepeat )
-            {
-            longTapPointerEvent.iType = TPointerEvent::EDrag;
-            }
-        iLongTapDetector->PointerEventL( longTapPointerEvent );
-        }
-
-    CCoeControl::HandlePointerEventL(aPointerEvent);
-
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down
-            && itemExists  )
-        {
-        SetHighlightL( index );
-        }
-    else if ( aPointerEvent.iType == TPointerEvent::EDrag
-              // the line below is needed to enable edit mode in the list widget
-    		  // because behaviour in the grid and list is different
-    		  || (aPointerEvent.iType == TPointerEvent::EButtonRepeat && WidgetType() == EGridWidget ))
-    	{
-    	if ( itemExists )
-    		{
-        	if ( GetHighlight() != index )
-        	    {
-        	    SetHighlightVisibilityL( EFalse );
-        	    if ( IsEditMode() )
-        	    	{
-        		    SetHighlightL( index );
-        	    	}
-        	    }
-    		}
-    	else
-    		{
-    		SetHighlightVisibilityL( EFalse );
-    		}
-    	}
-
-	TInt lastTopItemIndex = Widget()->TopItemIndex();
-
-    TBool abortAnimation = lastTopItemIndex != Widget()->TopItemIndex();
-
-    if (abortAnimation)
-        {
-        iDrawer->GetAnimator()->CancelAnimationsL();
-        }
-
-    if ( IsEditMode() && iDragAndDropObserver )
-    	{
-		HandlePointerEventsInEditModeL(aPointerEvent, abortAnimation);
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CMmWidgetContainer::GetItemRectL( TInt aItemIndex )
-	{
-	User::LeaveIfNull( iWidget );
-	TPoint pos = iWidget->View()->ItemPos( aItemIndex );
-	TSize size = iDrawer->GetItemSize( aItemIndex, EFalse );
-	return TRect( pos.iX, pos.iY, pos.iX + size.iWidth, pos.iY + size.iHeight );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetDraggableL( TBool aDraggable )
-    {
-
-    iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
-    iDrawer->SetDraggableL( aDraggable );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::IsEditMode() const
-	{
-	return iIsEditMode;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetEditModeL( TBool aIsEditMode )
-    {
-    iIsEditMode = aIsEditMode;
-    StartOrStopMarquee();
-
-    ASSERT(iDrawer);
-    iDrawer->SetEditModeL( aIsEditMode );
-    if ( !AknLayoutUtils::PenEnabled() && aIsEditMode )
-    	{
-        iDraggedIndex = iWidget->CurrentItemIndex();
-        ScrollViewIfNeededL(); //only edit mode non-touch
-    	}
-
-    // scrollbar does not work when scrolling is disabled
-    // iWidget->DisableScrolling( aIsEditMode );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetHighlightVisibilityL( TBool aEnable )
-    {
-    // activate the model
-    CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-
-    if ( suiteModel )
-        {
-        suiteModel->SetActiveL( aEnable );
-        }
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	    MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-	    		iDrawer->Gc() );
-#endif
-    if ( !aEnable )
-        {
-        iWidget->View()->ItemDrawer()->SetFlags(
-            CListItemDrawer::ESingleClickDisabledHighlight );
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	    if ( transApi )
-	        {
-           	transApi->Remove( MAknListBoxTfxInternal::EListHighlight );
-  	        }
-#endif
-        }
-    else
-        {
-        iWidget->View()->ItemDrawer()->ClearFlags(
-            CListItemDrawer::ESingleClickDisabledHighlight );
-        }
-    
-    if ( IsVisible() )
-        {
-        TInt highlight = GetHighlight();
-        CListBoxView* view = Widget()->View();
-        Widget()->DrawNow( TRect( view->ItemPos( highlight ),
-                view->ItemSize( highlight ) ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMmWidgetContainer::IsHighlightVisible()
-    {
-    return !( iWidget->View()->ItemDrawer()->Flags() & 
-    		CListItemDrawer::ESingleClickDisabledHighlight );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMmWidgetContainer::IsDraggable()
-	{
-    iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
-    return iDrawer->IsDraggable();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CMmWidgetContainer::ComponentControl(TInt aIndex) const
-    {
-    switch( aIndex )
-        {
-        case 0:
-            return iWidget;
-        default:
-            return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMmWidgetContainer::NumberOfItems()
-    {
-    return GetMmModel()->NumberOfItems();
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetObserver( MMmWidgetObserver*  aObserver )
-    {
-    //iWidget->SetListBoxObserver( aObserver );
-    iListBoxObserver = aObserver;
-    iKeyEventObserver = aObserver;
-	iDragAndDropObserver = aObserver;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMmWidgetContainer::GetPreviousHighlight()
-    {
-    return iPreviousHighlight;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMmWidgetContainer::GetHighlight( )
-    {
-    return iCurrentHighlight;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetManualHighlightL( TInt aItemIndex,
-		TBool aRedraw )
-	{
-	SetHighlightL( aItemIndex );
-
-	if ( aItemIndex >= 0 && aItemIndex < GetMmModel()->NumberOfItems() )
-		{
-		if ( aItemIndex != iWidget->CurrentItemIndex() )
-			{
-			iWidget->View()->SetCurrentItemIndex( aItemIndex );
-			}
-
-		if ( aRedraw )
-			{
-			iWidget->SetCurrentItemIndex( aItemIndex );
-			iWidget->DrawNow();
-			}
-		}
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetHighlightL( TInt aItemIndex )
-    {
-    ASSERT( aItemIndex >= KErrNotFound );
-
-    if (aItemIndex == KErrNotFound)
-        {
-        iCurrentHighlight =	 iPreviousHighlight = KErrNotFound;
-        SetDefaultHighlightL( EFalse );
-        }
-    else if (aItemIndex >= 0 && aItemIndex < GetMmModel()->NumberOfItems())
-        {
-        iPreviousHighlight = iCurrentHighlight;
-        iCurrentHighlight = aItemIndex;
-
-        if ( iPreviousHighlight != iCurrentHighlight )
-            {
-            HideOptionsMenuIfDisplayed();
-            }
-
-        CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-
-        if (suiteModel)
-            {
-            suiteModel->SetSuiteHighlightL( iCurrentHighlight );
-            }
-        }
-
-
-	if ( IsEditMode() )
-    	{
-    	TMmFloatingItem postDragCurrent( GetHighlight(),
-    			Widget()->View()->ItemPos( GetHighlight() ),
-    			EPostHighlightChangeRefreshItem,
-				MmEffects::KNoAnimationFramesCount, Widget()->View() );
-
-    	iDrawer->AddFloatingItemL( postDragCurrent );
-
-    	if ( GetPreviousHighlight() != GetHighlight() )
-    		{
-    		TMmFloatingItem postDragPrevious( GetPreviousHighlight(),
-    				Widget()->View()->ItemPos( GetPreviousHighlight() ),
-    				EPostHighlightChangeRefreshItem,
-    				MmEffects::KNoAnimationFramesCount, Widget()->View() );
-
-    		iDrawer->AddFloatingItemL( postDragPrevious );
-    		}
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::PointInItemReorderAreaL(
-            TInt aItemIndex, TPoint aPoint )
-    {
-    TRect itemRect = GetItemRectL( aItemIndex );
-    itemRect.Shrink( MmEffects::KShiftRatio * itemRect.Width(),
-            MmEffects::KShiftRatio * itemRect.Height() );
-    return itemRect.Contains( aPoint );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HideOptionsMenuIfDisplayed()
-    {
-    CEikMenuBar* menuBar = CEikonEnv::Static()->AppUiFactory()->MenuBar();
-    if ( menuBar && menuBar->IsDisplayed() )
-        {
-        menuBar->StopDisplayingMenuBar();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetFlag(TInt /*Flag*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-CEikListBox* CMmWidgetContainer::Widget()
-    {
-    return iWidget;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMmWidgetContainer::OfferKeyEventL(const TKeyEvent &aKeyEvent,
-                                                   TEventCode aType)
-    {
-    TKeyResponse resp = EKeyWasNotConsumed;
-
-    TBool highlightVisibleWhenEventReceived = IsHighlightVisible();
-
-    if ( IsEditMode() && IsDraggable() )
-    	return resp;
-
-    resp = HandleKeyEventL( aKeyEvent, aType );
-    if ( iMarqueeAdapter && ( aType == EEventKeyDown ) )
-    	{
-    	iMarqueeAdapter->StopMarqueeDrawing();
-    	}
-
-    if (!AknLayoutUtils::PenEnabled() && iIsEditMode )
-        {
-		if ((GetHighlight() + ColumnsInCurrentView() > NumberOfItems() - 1)
-						&& aKeyEvent.iScanCode == EStdKeyDownArrow)
-			// the second condition is needed to block moving item down when there is no item below the moved item.
-			{
-			return resp;
-			}
-
-        if (aType == EEventKey )
-            {
-            TInt prevIndex = GetHighlight();
-            static_cast<CMmListBoxItemDrawer*>(iDrawer)->SetHighlightShown( EFalse );
-            resp = iWidget->OfferKeyEventL( aKeyEvent, aType );
-            static_cast<CMmListBoxItemDrawer*>(iDrawer)->SetHighlightShown( ETrue );
-            SetHighlightL( iWidget->CurrentItemIndex() );
-            ScrollViewIfNeededL(); //only edit mode non-touch
-
-            if ( prevIndex != GetHighlight()
-            		&& KErrNotFound != prevIndex  )
-            	{
-            	iDraggedIndex = prevIndex;
-                iDragAndDropObserver->HandleDragStartL( iDraggedIndex );
-                GetMmModel()->ReorderModelL( iDraggedIndex, GetHighlight() );
-                iDrawer->AnimateItemSwapL( iDraggedIndex , GetHighlight() );
-                AnimateShiftL( GetHighlight() );
-            	}
-            return resp;
-            }
-        }
-
-    if ( resp == EKeyWasNotConsumed )
-        {
-        resp = iWidget->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    if ( iKeyEventObserver )
-    	{
-    	resp = iKeyEventObserver->HandleKeyPressedL( aKeyEvent, aType );
-    	}
-
-    if ( ( aKeyEvent.iScanCode == EStdKeyDevice3 ||
-    		aKeyEvent.iScanCode == EStdKeyEnter ||
-    		aKeyEvent.iScanCode == EStdKeyNkpEnter ) && aType == EEventKeyDown )
-    	{
-    	if ( highlightVisibleWhenEventReceived )
-    		{
-    		iAllowLongPress = EFalse;
-    		}
-    	else
-    		{
-    		iAllowLongPress = ETrue;
-
-			SetHighlightVisibilityL( ETrue );
-			SetDefaultHighlightL( ETrue );
-			HandleForegroundGainedL();
-			}
-    	}
-    return resp;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::ColumnsInCurrentView()
-	{
-	//should be overridden by deriving classes
-	return NumberOfItems();
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::RowsInCurrentView()
-    {
-    //should be overridden by deriving classes
-    CListBoxView *view = ((CListBoxView*) Widget()->View());
-    return view->NumberOfItemsThatFitInRect( Rect());//Widget()->View()->ViewRect());
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleRockerPressL()
-	{
-    TKeyEvent ke;
-    ke.iScanCode = EStdKeyNull;
-    ke.iCode = EStdKeyNull;
-    ke.iModifiers = 0;
-    ke.iRepeats = 0;
-    if( iKeyEventObserver )
-        {
-        iKeyEventObserver->HandleKeyPressedL( ke, EEventUser );
-        }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMmWidgetContainer::HandleKeyEventL( const TKeyEvent &aKeyEvent,
-        TEventCode aType )
-    {
-    TKeyResponse resp = EKeyWasNotConsumed;
-    TBool arrowKeyPressed = aKeyEvent.iScanCode == EStdKeyRightArrow ||
-        aKeyEvent.iScanCode == EStdKeyLeftArrow ||
-        aKeyEvent.iScanCode == EStdKeyUpArrow ||
-        aKeyEvent.iScanCode == EStdKeyDownArrow;
-    TBool arrowHasHandling = ( aKeyEvent.iScanCode == EStdKeyRightArrow
-									&& WidgetType() != EListWidget )
-							|| ( aKeyEvent.iScanCode == EStdKeyLeftArrow
-									&& WidgetType() != EListWidget )
-							|| aKeyEvent.iScanCode == EStdKeyUpArrow
-							|| aKeyEvent.iScanCode == EStdKeyDownArrow;
-
-    // handle arrow: draw highlight when arrow used
-    if ( arrowHasHandling )
-        {
-        if ( !IsHighlightVisible() )
-            {
-            if ( aType == EEventKey  || aType == EEventKeyUp )
-                {
-                SetHighlightVisibilityL( ETrue );
-                SetDefaultHighlightL( ETrue );
-                }
-           	// override avkon's default highlight setting
-         	resp = EKeyWasConsumed;
-            }
-        else
-            {
-            // this block is used to set the highlight only once for each event
-            if ( aKeyEvent.iRepeats > 0 )
-                {
-                // if repeated key events we move focus on EEventKey
-                if ( aType == EEventKey )
-                    {
-                    SetHighlightL( iWidget->CurrentItemIndex() );
-                    }
-                }
-            else
-                {
-                // if single event we move focus on EEventKeyUp
-                if ( aType == EEventKeyUp )
-                    {
-                    SetHighlightL( iWidget->CurrentItemIndex() );
-                    }
-                }
-            }
-    	}
-    else if( arrowKeyPressed )
-        {
-        // ignore left and right arrows in list
-        resp = EKeyWasConsumed;
-        }
-    // rocker select (short press)
-    else if ( ( aKeyEvent.iScanCode == EStdKeyDevice3 ) && ( aType == EEventKeyDown  ) )
-    	{
-		HandleRockerPressL();
-		resp = EKeyWasConsumed;
-    	}
-    else if ( iAllowLongPress && aType == EEventKey && aKeyEvent.iRepeats > 0 &&
-    		( aKeyEvent.iScanCode == EStdKeyDevice3
-				|| aKeyEvent.iScanCode == EStdKeyEnter
-				|| aKeyEvent.iScanCode == EStdKeyNkpEnter ) )
-    	{
-    	HandleRockerPressL();
-    	resp = EKeyWasConsumed;
-    	iAllowLongPress = EFalse;
-    	}
-
-    return resp;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetSuiteModelL(CHnSuiteModel* aModel)
-    {
-    CHnSuiteModel* prevModel = GetMmModel()->GetSuiteModel();
-
-    TInt numberOfItemsBefore (0);
-    numberOfItemsBefore = GetMmModel()->NumberOfItems();
-
-    GetMmModel()->SetSuiteModelL( aModel );
-
-    // This needs to be in place (disabling redraw)
-    // to udpate widget internal state, however to wait for
-    // drawing until all highlight set matters are solved.
-    iWidget->MakeVisible(EFalse);
-    if ( GetMmModel()->NumberOfItems() >= numberOfItemsBefore )
-        {
-        HandleItemAdditionL();
-        }
-    else
-        {
-        HandleItemRemovalL();
-        }
-    if ( prevModel && aModel )
-        {
-        SetupWidgetLayoutL();
-        }
-    iWidget->MakeVisible(ETrue);
-
-    Widget()->View()->ItemDrawer()->ClearFlags(
-    		CListItemDrawer::EPressedDownState );
-	iPostProcessor->StartAt( iWidget->BottomItemIndex() + 1 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetupDrawer()
-	{
-	iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C THnSuiteWidgetType CMmWidgetContainer::WidgetType()
-	{
-	return EUnspecified;
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::RemoveLiwObjects()
-    {
-    // there is only one place where LIW objects can be (co)owned in mmwidgets
-    // and that place is item drawer's cache
-    iDrawer->TrimCacheSize( 0 );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::HandleBackgroundGainedL()
-    {
-    iInForeground = EFalse;
-    StartOrStopMarquee();
-
-    CancelDragL();
-
-    // Fix for EMWK-7NYKRJ
-    // Matrix Menu: Scrollbar highligted when App Key is pressed while it is held
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        CEikScrollBar* scrollBar =
-                iWidget->ScrollBarFrame()->VerticalScrollBar();
-        if ( scrollBar && scrollBar->IsVisible() )
-            {
-            TPointerEvent fakeButton1UpEvent;
-            fakeButton1UpEvent.iType = TPointerEvent::EButton1Up;
-            fakeButton1UpEvent.iModifiers = 0;
-            scrollBar->HandlePointerEventL( fakeButton1UpEvent );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::HandleForegroundGainedL()
-    {
-    iInForeground = ETrue;
-    StartOrStopMarquee();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::DeltaSquare( const TPoint aTapPoint,
-		const TPoint aPos )
-	{
-	TInt delta( KErrNotFound );
-	TInt height = aTapPoint.iY - aPos.iY;
-	TInt width = aTapPoint.iX - aPos.iX;
-    if( WidgetType() == EListWidget )
-    	{
-    	delta = height * height + height * height;
-    	}
-    else
-    	{
-    	delta = height * height + width * width;
-    	}
-	return delta;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::CancelDragL()
-    {
-    if( iIsEditMode && iDrawer )
-        {
-        if( iDrawer->GetFloatingItemIndex( EDrag ) != KErrNotFound )
-            {
-            CancelDragL( EFalse );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::HandleItemAdditionL()
-	{
-	// only the the descended method should be invoked.
-	// this is needed to avoid codescanner warning
-	User::Leave( KErrNotSupported );
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::HandleItemRemovalL()
-	{
-	// only the the descended method should be invoked.
-	// this is needed to avoid codescanner warning
-	User::Leave( KErrNotSupported );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::StopMovingL()
-	{
-	if ( !AknLayoutUtils::PenEnabled() && iDragAndDropObserver )
-		iDragAndDropObserver->HandleDragStopL( GetHighlight() );
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ScrollViewIfNeededL()
-	{
-	if ((iWidget->BottomItemIndex() / ColumnsInCurrentView()
-			-  iWidget->TopItemIndex() / ColumnsInCurrentView() ) <= 1 )
-		{
-		return;
-		}
-
-	TBool needToScrollUp =
-		GetHighlight() - iWidget->TopItemIndex() < ColumnsInCurrentView()
-		&& iWidget->TopItemIndex() != 0;
-
-	TBool needToScrollDown =
-		iWidget->BottomItemIndex() - GetHighlight() < ColumnsInCurrentView()
-		&& iWidget->BottomItemIndex() / ColumnsInCurrentView()
-			!= ( NumberOfItems() - 1 )  / ColumnsInCurrentView();
-
-	if ( WidgetType() == EGridWidget )
-		{
-		// TODO: temporary - invisible partial items in MCL grid :/
-		needToScrollDown =
-			iWidget->BottomItemIndex() - ColumnsInCurrentView() - GetHighlight() < ColumnsInCurrentView()
-		    && ( iWidget->BottomItemIndex() / ColumnsInCurrentView() ) - 1
-				!= ( NumberOfItems() - 1 ) / ColumnsInCurrentView()
-			&& iWidget->BottomItemIndex() - iWidget->TopItemIndex()
-				> ColumnsInCurrentView() * RowsInCurrentView();
-		}
-
-	if ( needToScrollUp )
-		{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iDrawer->Gc() );
-			if ( transApi )
-				{
-				transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollUp );
-				}
-#endif
-		iDrawer->RemoveFloatingItems();
-		iWidget->View()->VScrollTo(
-				iWidget->TopItemIndex() - ColumnsInCurrentView() );
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( transApi )
-				{
-				transApi->Draw( Rect() );
-				}
-#endif
-		UpdateViewScrollBarThumbs();
-		}
-	else if ( needToScrollDown )
-		{
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iDrawer->Gc() );
-			if ( transApi )
-				{
-				transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollDown );
-				}
-#endif
-		iDrawer->RemoveFloatingItems();
-		iWidget->View()->VScrollTo(
-				iWidget->TopItemIndex() + ColumnsInCurrentView() );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( transApi )
-				{
-				transApi->Draw( Rect() );
-				}
-#endif
-
-		UpdateViewScrollBarThumbs();
-		}
-	}
-
-//----------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::UpdateViewScrollBarThumbs()
-	{
-
-	}
-
-//----------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::StartOrStopMarquee()
-    {
-    if ( iMarqueeAdapter )
-        {
-        TBool marqueeShouldBeEnabled = iHasFocus && iInForeground
-                && !iIsFaded && !IsEditMode();
-
-         // logical Ex-OR
-        if ( !!marqueeShouldBeEnabled != !!iMarqueeAdapter->IsMarqueeEnabled() )
-            {
-            if ( !marqueeShouldBeEnabled )
-                {
-                iMarqueeAdapter->StopMarqueeDrawing();
-                }
-
-            iMarqueeAdapter->EnableMarquee( marqueeShouldBeEnabled );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetHighlightAfterDrag()
-	{
-    if ( AknLayoutUtils::PenEnabled() &&
-    		iDraggedIndex != KErrNotFound &&
-			iDraggedIndex != Widget()->CurrentItemIndex()
-			&& iDraggedIndex < NumberOfItems() )
-    	{
-    	TBool isFolder(EFalse);
-    	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-		CHnItemModel* onItemModel = model->GetItemModel(
-				model->IdByIndex( Widget()->CurrentItemIndex() ));
-	    if (onItemModel)
-	    	{
-	    	isFolder = onItemModel->GetItemType() == EItemTypeParentFolder ||
-				onItemModel->GetItemType() == EItemTypeFolder;
-	    	}
-	    if (!isFolder)
-	    	{
-	    	Widget()->View()->SetCurrentItemIndex( iDraggedIndex );
-	    	}
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ValidateWidgetCurrentItemIndex()
-	{
-	if (Widget()->CurrentItemIndex() >= GetMmModel()->NumberOfItems()
-			|| Widget()->CurrentItemIndex() == KErrNotFound )
-		{
-		iCurrentHighlight = GetMmModel()->NumberOfItems();
-		if( iCurrentHighlight > 0 )
-			{
-			Widget()->View()->SetCurrentItemIndex( --iCurrentHighlight );
-			}
-		else
-			{
-			iCurrentHighlight = KErrNotFound ;
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::CacheWidgetPosition()
-	{
-	iWidgetPositionCache.iVerticalItemOffset = VerticalItemOffset();
-	iWidgetPositionCache.iTopItemIndex = Widget()->TopItemIndex();
-	iWidgetPositionCache.iLandscape
-			= Layout_Meta_Data::IsLandscapeOrientation();
-	iWidgetPositionCache.iHighlightedItemId = KErrNotFound;
-
-	TInt highlightedItemIndex = Widget()->CurrentItemIndex();
-	CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-	if ( suiteModel && highlightedItemIndex != KErrNotFound
-	        && suiteModel->GetSuiteHighlight() == highlightedItemIndex
-	        && ItemIsVisible( highlightedItemIndex ) )
-	    {
-	    iWidgetPositionCache.iHighlightedItemId =
-            suiteModel->IdByIndex( highlightedItemIndex );
-	    }
-
-	iWidgetPositionCache.iValid = ETrue;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::RestoreWidgetPosition()
-	{
-	if (iWidgetPositionCache.iValid)
-		{
-	   if ( iWidgetPositionCache.iLandscape
-				== Layout_Meta_Data::IsLandscapeOrientation() )
-			{
-            // If view position was cached during boundary effect, correct the
-            // cached position.
-            if ( iWidgetPositionCache.iTopItemIndex == 0 &&
-                    iWidgetPositionCache.iVerticalItemOffset > 0 )
-                {
-                iWidgetPositionCache.iVerticalItemOffset = 0;
-                // This corrects the position cached during the upper boundary
-                // effect. AlignBottomOfViewL will take care of lower boundary
-                // effect.
-                }
-
-			Widget()->View()->SetTopItemIndex(iWidgetPositionCache.iTopItemIndex);
-			SetVerticalItemOffset(iWidgetPositionCache.iVerticalItemOffset);
-			TRAP_IGNORE( AlignBottomOfViewL() );
-
-			// Important: If an item that was previously highlighted and visible is
-			// still highlighted and yet somehow is not visible after the position
-			// has been restored, fix the problem by scrolling the view until that
-			// item is visible again:
-			CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-			if ( suiteModel && IsHighlightVisible() )
-			    {
-			    TInt highlightedItemIndex = suiteModel->GetSuiteHighlight();
-			    TInt highlightedItemId = highlightedItemIndex != KErrNotFound ?
-			        suiteModel->IdByIndex( highlightedItemIndex ) : KErrNotFound;
-			    if ( highlightedItemId != KErrNotFound
-			            && highlightedItemId == iWidgetPositionCache.iHighlightedItemId
-			            && !ItemIsVisible( highlightedItemIndex ) )
-			        {
-			        TRAP_IGNORE( ScrollToItemL( highlightedItemIndex ) );
-			        }
-			    }
-			}
-		else
-			{
-			TRAP_IGNORE( ScrollToItemL(Widget()->CurrentItemIndex()) );
-			}
-
-		iWidgetPositionCache.iValid = EFalse;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::MakeVisible(TBool aVisible)
-	{
-	if ( !aVisible )
-		{
-		RestoreWidgetPosition();
-		CacheWidgetPosition();
-		iDrawer->RemoveFloatingItems();
-		}
-	else if ( aVisible )
-		{
-		RestoreWidgetPosition();
-		}
-	CCoeControl::MakeVisible(aVisible);
-	iWidget->MakeVisible(aVisible);
-	if ( !aVisible )
-        {
-        SetHighlightVisibilityL( EFalse );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::ResetWidgetPosition()
-	{
-	iWidgetPositionCache.iVerticalItemOffset = 0;
-	iWidgetPositionCache.iTopItemIndex = 0;
-	iWidgetPositionCache.iValid = EFalse;
-	iWidgetPositionCache.iHighlightedItemId = KErrNotFound;
-	Widget()->SetTopItemIndex(0);
-	SetVerticalItemOffset(0);
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::NumberOfItemsChangedL( TItemsChangeType aChange )
-	{
-	if ( AknLayoutUtils::PenEnabled() )
-		{
-		CacheWidgetPosition();
-		Widget()->View()->SetDisableRedraw( ETrue );
-
-		HandleNumberOfItemsChangedL( aChange );
-
-		Widget()->View()->SetDisableRedraw( EFalse );
-		RestoreWidgetPosition();
-		}
-	else
-		{
-		// there is no need to cache and restore widget position in non-touch;
-		// moreover, it can cause some problems with scrolling when adding
-		// new folder
-		HandleNumberOfItemsChangedL( aChange );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleNumberOfItemsChangedL( TItemsChangeType aChange )
-	{
-	SetHighlightVisibilityL( EFalse );
-	if ( aChange == EItemsAdded )
-		{
-		HandleItemAdditionL();
-		}
-	else if ( aChange == EItemsRemoved )
-		{
-		HandleItemRemovalL();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::AlignBottomOfViewL()
-	{
-	TInt scrollConsumed( EFalse );
-	TInt pixelsToScroll( 0 );
-
-	if ( NumberOfItems() > 0 )
-		{
-		pixelsToScroll = CalcBottomPixelsToScroll();
-		}
-
-	if ( pixelsToScroll != 0 )
-		{
-		ScrollInPixelsL( pixelsToScroll );
-		scrollConsumed = ETrue;
-		}
-
-	return scrollConsumed;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::CalcBottomPixelsToScroll()
-    {
-    const TInt firstItemIndex( 0 );
-    TInt lastItemIndex = NumberOfItems() - 1;
-    TInt viewHeight = Widget()->View()->ViewRect().Height();
-    TInt lastItemBottomY = Widget()->View()->ItemPos(lastItemIndex).iY
-                + Widget()->ItemHeight();
-    TInt pixelsToScroll( 0 );
-
-    if ( Widget()->ScrollBarFrame()->VerticalScrollBar()->IsVisible() )
-        {
-        pixelsToScroll = Min( 0, lastItemBottomY - viewHeight );
-        }
-    else
-        {
-        pixelsToScroll = Widget()->View()->ItemPos( firstItemIndex ).iY;
-        }
-
-    return pixelsToScroll;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::ItemIsVisible( TInt aItemIndex ) const
-    {
-    return iWidget->View()->ItemIsVisible( aItemIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMmWidgetContainer::ItemIsFullyVisible(TInt aIndex)
-	{
-	return ItemIsVisible( aIndex )
-			&& !Widget()->View()->ItemIsPartiallyVisible(aIndex);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ScrollInPixelsL(TInt aPixels)
-	{
-	SetupScrollingEffectsL( aPixels > 0 );
-
-	if ( AknLayoutUtils::PenEnabled() )
-		{
-		Widget()->HandlePhysicsScrollEventL(aPixels);
-		}
-	else
-		{
-		// non-touch avkon doesn't seem to support scrolling by given
-		// amount of pixels
-		TInt delta = aPixels / Widget()->View()->ItemHeight();
-
-		Widget()->View()->VScrollTo( Widget()->TopItemIndex() +
-				delta * ColumnsInCurrentView() );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMmWidgetContainer::ScrollToItemL(TInt aIndex)
-	{
-	TInt scrollConsumed(EFalse);
-	if (aIndex >= 0 && aIndex <= NumberOfItems())
-		{
-		scrollConsumed = AlignBottomOfViewL();
-		if ( !scrollConsumed && Widget()->View()->ItemIsPartiallyVisible(aIndex))
-			{
-//			the case when the item is partially visible at top or
-//			bottom of screen. Th e view is scrolled the offset to
-//			make the item entirely visible.
-			TInt offsetBottom = Widget()->View()->ItemPos(aIndex).iY
-					+ Widget()->ItemHeight()
-					- Widget()->View()->ViewRect().Height();
-			TInt offsetTop = Widget()->View()->ItemPos(aIndex).iY;
-			TBool takeTop = Abs(offsetTop) < Abs(offsetBottom);
-			TInt offset = (takeTop) ? offsetTop : offsetBottom;
-			if (offset != 0)
-				{
-				ScrollInPixelsL( offset );
-				scrollConsumed = ETrue;
-				}
-
-			}
-		else if (!Widget()->View()->ItemIsVisible(aIndex))
-			{
-//			the case when the item is not visible on screen
-			SetupScrollingEffectsL( aIndex > Widget()->BottomItemIndex() );
-			Widget()->ScrollToMakeItemVisible(aIndex);
-			AlignBottomOfViewL();
-			scrollConsumed = ETrue;
-			}
-		}
-	return scrollConsumed;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetupScrollingEffectsL(TBool aDown)
-	{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-			iDrawer->Gc());
-	if (transApi)
-		{
-		MAknListBoxTfxInternal::TMovementType movementType;
-		movementType = (aDown == (TInt)ETrue ) ? MAknListBoxTfxInternal::EListScrollDown
-				: MAknListBoxTfxInternal::EListScrollUp;
-		transApi->SetMoveType(movementType);
-		}
-#endif
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::PrepareForGarbage()
-	{
-//	This is called when the suite model is destoyed and the container is set to be destroyed
-//	by the garbage collector. There should be no redraws done to the widget in this period
-//	because this will cause the screen to be redrawn only containing the balnk background.
-//	Before garbage cleanup an asynchronous redraw event may intend to redraw the widget.
-//	SetDisableRedraw() prevents redrawing. Animator is also prepared for garbage so there is
-//	no instance which can enable redraw of the widget.
-	Widget()->View()->SetDisableRedraw( ETrue );
-	iDrawer->RemoveFloatingItems();
-//	Prapares the animator for garbage, which means it blocks any animator drawing.
-	iDrawer->GetAnimator()->PrepareForGarbage();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleLongTapEventL( const TPoint& aPenEventLocation,
-                                      const TPoint& aPenEventScreenLocation )
-	{
-	TInt index( KErrNotFound );
-	if ( iWidget->View()->XYPosToItemIndex( aPenEventLocation, index ) )
-		{
-		SetHighlightVisibilityL( ETrue );
-	    iLongTapInProgress = ETrue;
-		if ( iLongTapObserver )
-			{
-			iLongTapObserver->HandleLongTapEventL( aPenEventScreenLocation );
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetLongTapObserver( MMmLongTapObserver* aObserver )
-	{
-	iLongTapObserver = aObserver;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::EndLongTapL( TBool aStopTimer )
-	{
-	if ( iLongTapInProgress )
-		{
-		iLongTapInProgress = EFalse;
-		if( aStopTimer )
-			{
-			SetHighlightVisibilityL( EFalse );
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleListBoxEventL( CEikListBox* aListBox,
-        TListBoxEvent aEventType )
-    {
-//    handle same behaviour in edit mode and normal mode
-    switch ( aEventType )
-		{
-		case MEikListBoxObserver::EEventPenDownOnItem:
-			{
-			iDragOccured = EFalse;
-			if ( !iLongTapInProgress )
-				{
-				SetHighlightVisibilityL( ETrue );
-				}
-			break;
-			}
-		case MEikListBoxObserver::EEventItemSingleClicked:
-			{
-			if ( !iDragOccured && !iLongTapInProgress )
-				{
-				SetHighlightL( Widget()->CurrentItemIndex() );
-				SetHighlightVisibilityL( EFalse );
-				}
-			iDragOccured = EFalse;
-			break;
-			}
-		case MEikListBoxObserver::EEventItemDraggingActioned:
-			{
-			SetHighlightVisibilityL( EFalse );
-			iDragOccured = ETrue;
-			break;
-			}
-		case MEikListBoxObserver::EEventPanningStarted:
-		case MEikListBoxObserver::EEventPanningStopped:
-		case MEikListBoxObserver::EEventFlickStarted:
-		case MEikListBoxObserver::EEventFlickStopped:
-			{
-			SetHighlightVisibilityL( EFalse );
-			break;
-			}
-		}
-
-//    handle different behaviour in edit mode and normal mode
-	if ( !IsEditMode() )
-		{
-		switch ( aEventType )
-			{
-			case MEikListBoxObserver::EEventFlickStarted:
-				{
-				static_cast<CMmListBoxItemDrawer*>(
-						Widget()->View()->ItemDrawer() )->
-						EnableCachedDataUse( ETrue );
-				break;
-				}
-			case MEikListBoxObserver::EEventFlickStopped:
-				{
-				static_cast<CMmListBoxItemDrawer*>(
-						Widget()->View()->ItemDrawer() )->
-						EnableCachedDataUse( EFalse );
-				DrawView();
-				break;
-				}
-			}
-		}
-	else
-		{
-		switch ( aEventType )
-			{
-			case MEikListBoxObserver::EEventFlickStopped:
-				{
-				// this fixes some problems with messed edit mode
-				// caused by kinetic scrolling
-				iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
-				break;
-				}
-			}
-		}
-
-    if ( iListBoxObserver && !iLongTapInProgress && !iDrawer->IsDraggable() )
-        {
-        iListBoxObserver->HandleListBoxEventL( aListBox, aEventType );
-        }
-    }
-
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mymenudebug.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "mmtimediawidgets.txt");
-
-#endif // MYMENUDEBUG_H
-
-// End of File
--- a/menufw/menusuites/data/mmenuschema.xsd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,597 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<xs:schema xmlns:mmenu="http://nokia.com/mmenu" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://nokia.com/mmenu" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:element name="content">
-    <xs:annotation>
-      <xs:documentation>This Tag is the root element of configuration and defines namespaces for XML needs</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="localization" type="mmenu:localizationType">
-          <xs:annotation>
-            <xs:documentation>Localization tag should be used in order to map resource sources to namespaces. It enables use of resources in context of namespaces. Namespace are not only limited to single xml file – they have global scope, and once defined, are available in all definition files.</xs:documentation>
-          </xs:annotation>
-        </xs:element>
-        <xs:element minOccurs="0" name="suite" type="mmenu:suiteType">
-          <xs:annotation>
-            <xs:documentation>This tag defines single suite</xs:documentation>
-          </xs:annotation>
-          <xs:unique name="uniqueEventNameSuite">
-            <xs:selector xpath="mmenu:event" />
-            <xs:field xpath="@event" />
-          </xs:unique>
-        </xs:element>
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
-          <xs:annotation>
-            <xs:documentation>This tag defines suite’s single or multiple items. It contains information about graphical representation, menu structure, actions, and queries. </xs:documentation>
-          </xs:annotation>
-          <xs:complexType>
-            <xs:complexContent mixed="false">
-              <xs:extension base="mmenu:itemType" />
-            </xs:complexContent>
-          </xs:complexType>
-          <xs:unique name="uniqueEventNameItem">
-            <xs:selector xpath="mmenu:event" />
-            <xs:field xpath="@event" />
-          </xs:unique>
-        </xs:element>
-      </xs:sequence>
-      <xs:attribute name="genre" type="xs:string" use="optional">
-        <xs:annotation>
-          <xs:documentation>This defines the suite name, for which the contents of the tag should relate to. It should be specified, for xml files containing items for a suite. Xml configuration files for suites do not require this, since they define the suite.</xs:documentation>
-        </xs:annotation>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-  <xs:complexType name="menuItemType">
-    <xs:sequence>
-      <xs:annotation>
-        <xs:documentation>Menu item may contain nested menu items.</xs:documentation>
-      </xs:annotation>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="menuitem" type="mmenu:menuItemType">
-        <xs:annotation>
-          <xs:documentation>A nested menu item.</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Localized name of the menu item, which will be displayed in the menu.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="position" type="xs:integer">
-      <xs:annotation>
-        <xs:documentation>Position in the menu (used to control the order in which the items are displayed). Predefined menu items have their position defined at 100, 200 etc, so it is easy to position custom menu items between the predefined ones.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="event" type="mmenu:eventTypeType">
-      <xs:annotation>
-        <xs:documentation>Event related with the item. Mapped to specific action in mmenu:event section. Parameter should start with custom:” string followed with event name to indicate creation of a new event related to menu item and not to a predefined event. For list of predefined event see event Tag description (3.7)
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attributeGroup ref="mmenu:conditionGroup" />
-  </xs:complexType>
-  <xs:complexType name="keySeqType">
-    <xs:annotation>
-      <xs:documentation>Defines a key structure. A key, may contain nested keys. Keys are store information.</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="key">
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:keySeqType" />
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="name" use="optional">
-      <xs:annotation>
-        <xs:documentation>name of the parameter</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:minLength value="1" />
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="type" use="optional">
-      <xs:annotation>
-        <xs:documentation>type of the parameter Values: 
-- string 
-- string16
-- formatted_string
-- integer
-- uid
-- boolean</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="string" />
-          <xs:enumeration value="string8" />
-          <xs:enumeration value="string16" />
-          <xs:enumeration value="integer64" />
-          <xs:enumeration value="integer" />
-          <xs:enumeration value="uid" />
-          <xs:enumeration value="boolean" />
-          <xs:enumeration value="list" />
-          <xs:enumeration value="map" />
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="value" type="xs:string" use="optional">
-      <xs:annotation>
-        <xs:documentation>value of the parameter</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:simpleType name="logicalTemplateType">
-    <xs:annotation>
-      <xs:documentation>Describes the logicla template to be used for widget's presentation. Logical templates are specific for widgets, so configuration should be consulted with documentation. If suite allows multiple widget types, multiple tempaltes may be specified using the "|" character.</xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="(list_single_hc_apps_pane|single_large_graphic_pane|(logical_template_([0-9])*([0-9a-z]))+[|]{0,1})+|empty" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="widgetTypeType">
-    <xs:annotation>
-      <xs:documentation>Desribes the type of a widget. If a suite allows multiple widgets, the values should be separated by "|" character.</xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="((grid|list|coverflow)[|]{0,1})+" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:complexType name="serviceType">
-    <xs:annotation>
-      <xs:documentation>Type defines the structure to access liw services.</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element xmlns:q1="http://nokia.com/mmenu" minOccurs="0" name="constructor" type="q1:keySeqType">
-        <xs:annotation>
-          <xs:documentation>Element defines the parameters needed to fetch the service interface. In this section service specific parameters may be defined. The section should contain a series of mmenu:key elements</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element name="command">
-        <xs:annotation>
-          <xs:documentation>Defines command name (to be invoked on the interface) and invocation method (synchronous or asynchronous)</xs:documentation>
-        </xs:annotation>
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element xmlns:q2="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="key" type="q2:keySeqType">
-              <xs:annotation>
-                <xs:documentation>This tak contains xml structured data (mmenu:key) as it will be passed to the service</xs:documentation>
-              </xs:annotation>
-            </xs:element>
-          </xs:sequence>
-          <xs:attribute name="name">
-            <xs:annotation>
-              <xs:documentation>name of the command to invoke on the interface</xs:documentation>
-            </xs:annotation>
-            <xs:simpleType>
-              <xs:restriction base="xs:string">
-                <xs:minLength value="1" />
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="mode" use="optional">
-            <xs:annotation>
-              <xs:documentation>mode definition. Either “sync” for synchronous invocation or “async” 
-asynchronous invocation
-</xs:documentation>
-            </xs:annotation>
-            <xs:simpleType>
-              <xs:restriction base="xs:string">
-                <xs:enumeration value="sync" />
-                <xs:enumeration value="async" />
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="service">
-      <xs:annotation>
-        <xs:documentation>name of the service producing output: e.g. “Service.TestMatrixDataService”.</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:minLength value="1" />
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="interface" type="xs:string" use="optional">
-      <xs:annotation>
-        <xs:documentation>interface used for the query: e.g. “ITestMatrixDataSource”.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="eventType">
-    <xs:annotation>
-      <xs:documentation>Type defines the configuration of a specific event handling.</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="action">
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:serviceType">
-              <xs:attributeGroup ref="mmenu:conditionGroup" />
-            </xs:extension>
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="event" use="required">
-      <xs:simpleType>
-        <xs:restriction base="mmenu:eventTypeType" />
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="imageType">
-    <xs:annotation>
-      <xs:documentation>Type defines the configuration of an image.</xs:documentation>
-    </xs:annotation>
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute name="application_uid" type="xs:string" use="optional" />
-        <xs:attribute name="file" type="xs:string" use="optional" />
-        <xs:attribute name="effect">
-          <xs:simpleType>
-            <xs:restriction base="xs:string">
-              <xs:enumeration value="backdrop" />
-            </xs:restriction>
-          </xs:simpleType>
-        </xs:attribute>
-        <xs:attributeGroup ref="mmenu:imageBitmapBufferType" />
-        <xs:attributeGroup ref="mmenu:imageResourceAttributeGroup" />
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:simpleType name="eventTypeType">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="(custom:[_a-zA-Z0-9]+)|(key:select)|(key:select2)|(key:select3)|(key:call)|(item:focus)|(item:unfocus)|(suite:load)|(suite:unload)|(key:clear)|(key:move_into)|(key:move)" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:complexType name="textType">
-    <xs:annotation>
-      <xs:documentation>Type defines the configuration of text value.</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="param">
-        <xs:complexType>
-          <xs:attribute name="value" type="xs:string" />
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attributeGroup ref="mmenu:textResourceAttributeGroup" />
-    <xs:attribute name="value" type="xs:string" />
-  </xs:complexType>
-  <xs:complexType name="toolbarType">
-    <xs:annotation>
-      <xs:documentation>This type defines the configuration of a toolbar.
-</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="1" maxOccurs="3" name="button">
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:buttonType" />
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="buttonType">
-    <xs:annotation>
-      <xs:documentation>This type defines the configuration of a button in a toolbar.
-</xs:documentation>
-    </xs:annotation>
-    <xs:all>
-      <xs:element minOccurs="0" maxOccurs="1" name="text">
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:textType" />
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="1" name="image" type="mmenu:imageType" />
-    </xs:all>
-    <xs:attribute name="index" type="xs:integer" use="required" />
-    <xs:attribute name="condition" type="xs:string" use="optional" />
-    <xs:attribute name="dimm" type="xs:string" use="optional" />
-    <xs:attribute name="event" type="mmenu:eventTypeType">
-      <xs:annotation>
-        <xs:documentation>Event related with the item. Mapped to specific action in mmenu:event section. Parameter should start with custom:” string followed with event name to indicate creation of a new event related to menu item and not to a predefined event. For list of predefined event see event Tag description (3.7)
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="itemType">
-    <xs:annotation>
-      <xs:documentation>This type defines the configuration of an item.
-</xs:documentation>
-    </xs:annotation>
-    <xs:choice minOccurs="1" maxOccurs="unbounded">
-      <xs:element xmlns:q1="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="menuitem" type="q1:menuItemType">
-        <xs:annotation>
-          <xs:documentation>The tag is used to describe user menu appearance when item is focused, and which events will occur when menu item is selected. </xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element xmlns:q1="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="menuitem_specific" type="q1:menuItemType">
-        <xs:annotation>
-          <xs:documentation>This tag is the same as menuitem but describes menu items displayed only which have specific relation to the item</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element xmlns:q1="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="menuitem_action" type="q1:menuItemType">
-        <xs:annotation>
-          <xs:documentation>This tag is the same as menuitem but describes action commands - such functions that happen via touch-down and release on the item (e.g. Open)</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="1" name="toolbar" type="mmenu:toolbarType">
-        <xs:annotation>
-          <xs:documentation>This element describes the layout of toolbar, for the highlighted item.</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="query">
-        <xs:annotation>
-          <xs:documentation>Defines parameters used to construct queries to services and display dynamically modifiable data.</xs:documentation>
-        </xs:annotation>
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension xmlns:q2="http://nokia.com/mmenu" base="q2:serviceType">
-              <xs:attribute name="namespace" type="xs:string" />
-            </xs:extension>
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-      <xs:element xmlns:q3="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="notify_request" type="q3:serviceType">
-        <xs:annotation>
-          <xs:documentation>Registers for notifications in a liw service.
-</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="output">
-        <xs:annotation>
-          <xs:documentation>Configures layout of graphical items.</xs:documentation>
-        </xs:annotation>
-        <xs:complexType mixed="true">
-          <xs:choice>
-            <xs:element minOccurs="0" name="image" type="mmenu:imageType" />
-            <xs:element minOccurs="0" name="text" type="mmenu:textType" />
-          </xs:choice>
-          <xs:attribute name="alias" use="required">
-            <xs:annotation>
-              <xs:documentation>Defines UI graphical element to which content will be linked to. Some UI  elements:
-- mul_name is the main item shown in graphical list item,
-- mul_detail represents secondary line,
-- mul_icon is the icon for the list item.
-
-The complete definition of all aliases can be obtained from [3]. Aliases are dependant of the presentation type, thus one should be well acquainted with [3] to achieve expected result.
-</xs:documentation>
-            </xs:annotation>
-            <xs:simpleType>
-              <xs:restriction base="xs:string">
-                <xs:enumeration value="mul_title" />
-                <xs:enumeration value="mul_detail" />
-                <xs:enumeration value="mul_icon" />
-                <xs:enumeration value="mul_icon_2" />
-                <xs:enumeration value="mul_icon_3" />
-                <xs:enumeration value="mul_indicator_1" />
-                <xs:enumeration value="mul_indicator_2" />
-                <xs:enumeration value="mul_move_indicator_arrow_top" />
-                <xs:enumeration value="mul_move_indicator_arrow_bottom" />
-                <xs:enumeration value="mul_move_indicator_arrow_left" />
-                <xs:enumeration value="mul_move_indicator_arrow_right" />
-                <xs:enumeration value="mul_move_indicator_frame" />
-                <xs:enumeration value="mul_icon_backdrop" />
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="type" use="optional">
-            <xs:annotation>
-              <xs:documentation>Content type. Values: 
-- string 
-- string16
-- formatted_string
-- integer
-- uid
-- boolean
-
-Use “string” type for icons and constant texts and “formatted_string” type for texts with parameters
-
-</xs:documentation>
-            </xs:annotation>
-            <xs:simpleType>
-              <xs:restriction base="xs:string">
-                <xs:enumeration value="string" />
-                <xs:enumeration value="string8" />
-                <xs:enumeration value="string16" />
-                <xs:enumeration value="formatted_string" />
-                <xs:enumeration value="integer" />
-                <xs:enumeration value="uid" />
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="value" type="xs:string" use="optional">
-            <xs:annotation>
-              <xs:documentation>Hard coded value for the parameter or a reference.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attributeGroup ref="mmenu:conditionGroup" />
-        </xs:complexType>
-      </xs:element>
-      <xs:element xmlns:q4="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="event" type="q4:eventType">
-        <xs:annotation>
-          <xs:documentation>Used to specify event handling, for predefined and custom events.
-</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="1" name="edit_mode" type="mmenu:itemType" />
-      <xs:element minOccurs="0" maxOccurs="1" name="msk" type="mmenu:mskType" />
-    </xs:choice>
-    <xs:attribute xmlns:q5="http://nokia.com/mmenu" name="template" type="q5:logicalTemplateType" use="optional">
-      <xs:annotation>
-        <xs:documentation>Logical template which will be used to represent data. The attribute is optional. When not specified a default value from suite definition is used. For more details see 2.3</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="count" use="required" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Number of items current section refers to. If all the available elements are to be retrieved a “*” sing should be used to indicate quantity</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="type" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Type of an item (MCS).</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="id" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Unique id of the item in the scope of the suite.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="remove_locked" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Information if item can be to move to other position</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="running" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Information if item is currently running</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="custom_id" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Item's custom id, can be set using a value from liw variant or simple number.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="uid" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Item's uid, can be set using a value from liw variant or simple uid.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attributeGroup ref="mmenu:conditionGroup" />
-    <xs:attribute name="drm_protection" type="xs:string" />
-  </xs:complexType>
-  <xs:complexType name="suiteType">
-    <xs:annotation>
-      <xs:documentation>This type defines the configuration of a suite
-</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="query">
-        <xs:annotation>
-          <xs:documentation>Defines parameters used to construct queries to services and display dynamically modifiable data.</xs:documentation>
-        </xs:annotation>
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:serviceType">
-              <xs:attribute name="namespace" type="xs:string" />
-            </xs:extension>
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="event" type="mmenu:eventType">
-        <xs:annotation>
-          <xs:documentation>Used to specify event handling, for predefined and custom events.
-</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="genre" use="required">
-      <xs:annotation>
-        <xs:documentation>Unique string identification of a suite</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="xs:string" />
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="type" use="required">
-      <xs:annotation>
-        <xs:documentation>Ttype of presentation. Available types are:
-- grid
-- list
-- coverflow
-
-If a suite allows multiple types, they should be separated with "|" character.
-</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="mmenu:widgetTypeType" />
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute xmlns:q2="http://nokia.com/mmenu" name="template" type="q2:logicalTemplateType" use="required">
-      <xs:annotation>
-        <xs:documentation>Logical template to specify the layout of a specific presentation type. 
-This parameter is strictly dependant on the values defined in [3]. One should be aware that although values of logical template may seem similar for different presentation types, they are different in their specification and count. Usually they are in form logical_template_x, where x is a number. For more details please consult [3].
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="title" type="xs:string" use="required">
-      <xs:annotation>
-        <xs:documentation>Suite title, should contain localized value
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="emptytext" type="xs:string" />
-    <xs:attribute name="custom_id" type="xs:string" use="optional">
-      <xs:annotation>
-        <xs:documentation>Suite's custom id, can be set using a value from liw variant or simple number.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="localizationType">
-    <xs:attribute name="namespace" type="xs:string" use="required">
-      <xs:annotation>
-        <xs:documentation>identifier used to access the resource</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="source" type="xs:string" use="required">
-      <xs:annotation>
-        <xs:documentation>binary file with resources. File extension should be:
-- RSC file for logical names, 
-- MBM for images and
-- MIF for icons. </xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="mskType">
-    <xs:all>
-      <xs:element minOccurs="0" maxOccurs="1" name="text" type="mmenu:textType" />
-    </xs:all>
-    <xs:attribute name="event" use="optional">
-      <xs:simpleType>
-        <xs:restriction xmlns:q1="http://nokia.com/mmenu" base="q1:eventTypeType" />
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:attributeGroup name="imageBitmapBufferType">
-    <xs:annotation>
-      <xs:documentation>Group of attributes, used to configure image from resource from liw bitmap buffer.</xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="mask" type="xs:string" use="optional" />
-    <xs:attribute name="bitmap" type="xs:string" use="optional" />
-  </xs:attributeGroup>
-  <xs:attributeGroup name="textResourceAttributeGroup">
-    <xs:annotation>
-      <xs:documentation>Group of attributes, used to configure text from resource.</xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="resource" type="xs:string" />
-    <xs:attribute name="id" type="xs:string" />
-  </xs:attributeGroup>
-  <xs:attributeGroup name="imageResourceAttributeGroup">
-    <xs:annotation>
-      <xs:documentation>Group of attributes, used to configure image from resource and/or skin.</xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="skinid_minor" type="xs:string" use="optional" />
-    <xs:attribute name="skinid_major" type="xs:string" use="optional" />
-    <xs:attribute name="mif_file" type="xs:string" use="optional" />
-    <xs:attribute name="bitmap_id" type="xs:string" use="optional" />
-    <xs:attribute name="mask_id" type="xs:string" use="optional" />
-  </xs:attributeGroup>
-  <xs:attributeGroup name="conditionGroup">
-    <xs:attribute name="condition" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>If condition is fulfilled the menu is added to the item. May contain query reference which will be checked against specified condition. More about condition definition in mmenu:action section.
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:attributeGroup>
-</xs:schema>
\ No newline at end of file
--- a/menufw/menusuites/foldersuite/bwins/dummyCu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?E32Main@@YAHXZ @ 1 NONAME ; int E32Main(void)
-
--- a/menufw/menusuites/foldersuite/data/foldersuite.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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:  Resource definitions for folder suite.
-*
-*/
-
-
-NAME FLDR	// 4 letter ID
-
-#include <eikon.rh>
-
-#ifdef LANGUAGE_SC
-	#include <sc/avkon.loc>
-#else
-	#include <avkon.loc>
-#endif
-
-#include <matrix_menu.loc>
-
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf=""; }
-
-RESOURCE TBUF R_ROOTSUITE_MENU_TITLE	{ buf = qtn_menu_title; }
-RESOURCE TBUF R_MENU_FOLDER_EMPTY_TEXT { buf = qtn_menu_empty_folder; }
-RESOURCE TBUF R_MENU_FOLDER_EDIT { buf = qtn_menu_organize; }
-RESOURCE TBUF R_MENU_FOLDER_EDIT_NON_TOUCH { buf = qtn_menu_organize; }
-
-RESOURCE TBUF R_SKINS_LIST_APPSHELL_LIST { buf=qtn_skins_list_appshell_list; }
-RESOURCE TBUF R_SKINS_LIST_APPSHELL_GRID { buf=qtn_skins_list_appshell_grid; }
-RESOURCE TBUF R_OPTIONS_HELP { buf=qtn_options_help; }
-RESOURCE TBUF R_MENU_OPEN { buf=qtn_menu_open; }
-RESOURCE TBUF R_OPTIONS_ORG_NEW_FOLDER { buf=qtn_options_org_new_folder; }
-RESOURCE TBUF R_OPTIONS_ORG_MOVE { buf=qtn_options_org_move; }
-RESOURCE TBUF R_OPTIONS_ORG_MOVE_TO_FOLDER { buf=qtn_options_org_move_to_folder; }
-RESOURCE TBUF R_OPTIONS_SUB_RENAME { buf=qtn_options_sub_rename; }
-RESOURCE TBUF R_OPTIONS_SUB_DELETE { buf=qtn_options_sub_delete; }
-RESOURCE TBUF R_FLDR_DELETE { buf=qtn_fldr_delete; }
-RESOURCE TBUF R_FLDR_RENAME { buf=qtn_fldr_rename; }
-
-
-
-// end of file
--- a/menufw/menusuites/foldersuite/data/items_nontouch.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,411 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd" genre="foldersuite">
-    <mm:item count="1" template="empty" id="emptyitem">
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="82" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="82" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/>
-        <mm:menuitem name="foldersuite_rsc:R_MENU_FOLDER_EDIT_NON_TOUCH" position="83" condition="params:remove_locked != true" >
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="84" condition="params:remove_locked != true" />
-        </mm:menuitem>
-        <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-		
-        <mm:msk/>
-        
-        <mm:event event="custom:add_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79">
-                <mm:command name="MMCreateNewFolderCommand">
-					<mm:key name="item_lock" type="string" value="params:remove_locked" />
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <!-- Change widget type to next list. -->
-        <mm:event event="custom:change_widget_to_list">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="list" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-
-        <mm:event event="custom:change_widget_to_grid">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="grid" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:help">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-    </mm:item>
-
-    <mm:item count="folder_items:ReturnValue/[$count]" template="logical_template_3|list_single_hc_apps_pane" id="folder_suite_items" remove_locked="folder_items:ReturnValue/[$index]/delete_locked" type="folder_items:ReturnValue/[$index]/type" running="folder_items:ReturnValue/[$index]/running" custom_id="folder_items:ReturnValue/[$index]/id" drm_protection="folder_items:ReturnValue/[$index]/drm_protection" uid="folder_items:ReturnValue/[$index]/uid" >
-
-       <mm:menuitem name="foldersuite_rsc:R_MENU_OPEN" event="key:select" position="81" />
-       <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="82" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-       <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="82" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/>    
-       <mm:menuitem name="foldersuite_rsc:R_MENU_FOLDER_EDIT_NON_TOUCH" position="83" condition="params:remove_locked != true" >
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_MOVE" event="custom:edit_mode" position="84" condition="params:remove_locked != true" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_MOVE_TO_FOLDER" event="custom:move_to_folder" position="85" condition="params:remove_locked != true" />
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="86" condition="params:remove_locked != true" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_SUB_DELETE" event="custom:delete_folder" position="87" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_SUB_DELETE" event="custom:delete_application" position="87" condition="folder_items:ReturnValue/[$index]/type = menu:application &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_SUB_RENAME" event="custom:rename_folder" position="88" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true" />
-        </mm:menuitem>
-        <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-		
-        <mm:query namespace="folder_items" service="Service.MenuContent" interface="IDataSource">
-            <mm:constructor>
-                <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-            </mm:constructor>
-            <mm:command mode="async" name="GetList">
-                <mm:key name="InData">
-                    <mm:key name="id" type="integer" value="params:folder_id"/>
-                    <mm:key name="recursive_search" type="boolean" value="FALSE"/>
-                    <mm:key name="flat_result" type="boolean" value="TRUE"/>
-                </mm:key>
-                <mm:key name="Filter">
-                    <mm:key name="missing" type="boolean" value="FALSE"/>
-                    <mm:key name="hidden" type="boolean" value="FALSE"/>
-                    <mm:key name="required_attributes" type="string" value="title_name:long_name:short_name:children_count:bitmap_buffer:mask_buffer:drm_protection:suite_name:widget_type:template:running:uid" />
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        
-        <mm:notify_request service="Service.MenuContent" interface="IDataSource">
-            <mm:constructor>
-                <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-            </mm:constructor>
-            <mm:command mode="async" name="RequestNotification">
-                <mm:key name="InData" type="map">
-                    <mm:key name="add_remove" type="boolean" value="TRUE" />
-                    <mm:key name="reorder" type="boolean" value="TRUE" />
-                    <mm:key name="attribute_change" type="boolean" value="TRUE" />
-                    <mm:key name="id" type="integer" value="params:folder_id" />
-                </mm:key>
-            </mm:command>
-        </mm:notify_request>
-        
-        <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/long_name" condition="mm:suite/type = list" />
-        <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/short_name" condition="mm:suite/type = grid" />
-      
-        <mm:output alias="mul_icon">
-			<mm:image bitmap="folder_items:ReturnValue/[$index]/bitmap_buffer" mask="folder_items:ReturnValue/[$index]/mask_buffer" />
-        </mm:output>
-		
-        <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/running = true">
-		    <mm:image skinid_major="0x101F86E3" skinid_minor="0x1417" mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_indi_app_open" mask_id="EMbmGridrootQgn_indi_app_open_mask" />
-        </mm:output>
-        
-        <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/drm_protection = expired">
-            <mm:image mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_prop_drm_rights_exp_super" mask_id="EMbmGridrootQgn_prop_drm_rights_exp_super_mask" />
-        </mm:output>
-        
-        <mm:msk>
-            <mm:text value="foldersuite_rsc:R_MENU_OPEN"/>
-        </mm:msk>
-        
-        <mm:event event="key:select">
-            
-			<mm:action service="MultimediaMenu" condition="folder_items:ReturnValue/[$index]/type = menu:suite">
-                <mm:command name="OpenSuite" >
-            		<mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/suite_name" />
-                    <mm:key name="params" type="map">
-                        <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                        <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>                            
-                    </mm:key>                    
-                </mm:command>
-            </mm:action>
-
-			<mm:action service="MultimediaMenu"
-                            condition="folder_items:ReturnValue/[$index]/type = menu:folder">
-                <mm:command name="OpenSuite">
-                    <mm:key name="suite_name" type="string" value="foldersuite" />
-                    <mm:key name="params" type="map">
-                        <mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/title_name"/>
-                        <mm:key name="folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                        <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                        <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>
-						<mm:key name="remove_locked" type="boolean" value="folder_items:ReturnValue/[$index]/delete_locked"/>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-			
-            <mm:action service="Service.MenuContent" interface="IMenuContent" condition="folder_items:ReturnValue/[$index]/type != menu:suite 
-                &amp; folder_items:ReturnValue/[$index]/type != menu:folder">
-                <mm:constructor>
-                    <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-                </mm:constructor>
-                <mm:command name="ExecuteAction" mode="async">
-                        <mm:key name="InData">
-                            <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                            <mm:key name="action" type="string8" value="open"/>
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>        
-
-        <mm:event event="key:clear">
-            <!-- action for folders -->
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0 &amp; mm:suite/type = grid">
-                <mm:command name="MMDeleteFolderCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                    <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0 &amp; mm:suite/type = list">
-                <mm:command name="MMDeleteFolderCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                    <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                </mm:command>
-            </mm:action>
-            <!-- action for application, links ...  -->
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:application &amp; folder_items:ReturnValue/[$index]/delete_locked != true">
-                <mm:command name="MMDeleteAppCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                </mm:command>
-            </mm:action>
-			<!-- action for suites  -->
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:suite &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; mm:suite/type = grid" >
-                <mm:command name="MMDeleteSuiteCommand">
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:suite &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; mm:suite/type = list" >
-                <mm:command name="MMDeleteSuiteCommand">
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:help">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <!-- Change widget type to next list. -->
-        <mm:event event="custom:change_widget_to_list">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="list" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        <!-- Change widget type to next possible grid. -->
-        <mm:event event="custom:change_widget_to_grid">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="grid" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-                
-		<mm:event event="custom:edit_mode">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="StartEditMode" />
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:move_mode">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79">
-                <mm:command name="MMMoveCommand">
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:move_to_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                <mm:command name="MMMoveToFolderCommand">
-                    <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-					<mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-					<mm:key name="widget" type="string" value="mm:suite/type" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                <mm:command name="MMMoveToFolderCommand">
-                    <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-					<mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-					<mm:key name="widget" type="string" value="mm:suite/type" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:add_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79">
-                <mm:command name="MMCreateNewFolderCommand">
-					<mm:key name="item_lock" type="string" value="params:remove_locked" />
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:delete_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                <mm:command name="MMDeleteFolderCommand">
-                    <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                    <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                <mm:command name="MMDeleteFolderCommand">
-                    <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                    <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:delete_application">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" >
-                <mm:command name="MMDeleteAppCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:rename_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                <mm:command name="MMRenameFolderCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                <mm:command name="MMRenameFolderCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-
-		<mm:edit_mode count="folder_items:ReturnValue/[$count]" template="logical_template_3|list_single_hc_apps_pane" id="folder_suite_items" remove_locked="folder_items:ReturnValue/[$index]/delete_locked" type="folder_items:ReturnValue/[$index]/type" custom_id="folder_items:ReturnValue/[$index]/id" uid="folder_items:ReturnValue/[$index]/uid">
-			
-            <mm:menuitem name="Help" event="custom:help" position="91" />
-			
-			<mm:query namespace="folder_items" service="Service.MenuContent" interface="IDataSource">
-				<mm:constructor>
-					<mm:key name="ContentName" type="string" value="matrixmenudata"/>
-				</mm:constructor>
-				<mm:command mode="async" name="GetList">
-					<mm:key name="InData">
-						<mm:key name="id" type="integer" value="params:folder_id"/>
-						<mm:key name="recursive_search" type="boolean" value="FALSE"/>
-						<mm:key name="flat_result" type="boolean" value="TRUE"/>
-					</mm:key>
-					<mm:key name="Filter">
-						<mm:key name="missing" type="boolean" value="FALSE"/>
-                        <mm:key name="hidden" type="boolean" value="FALSE"/>
-                        <mm:key name="required_attributes" type="string" value="title_name:long_name:short_name:children_count:bitmap_buffer:mask_buffer:drm_protection:suite_name:widget_type:template:running:uid" />
-					</mm:key>
-				</mm:command>
-			</mm:query>
-            
-			<mm:notify_request service="Service.MenuContent" interface="IDataSource">
-				<mm:constructor>
-					<mm:key name="ContentName" type="string" value="matrixmenudata"/>
-				</mm:constructor>
-				<mm:command mode="async" name="RequestNotification">
-					<mm:key name="InData" type="map">
-						<mm:key name="add_remove" type="boolean" value="TRUE" />
-                        <mm:key name="reorder" type="boolean" value="TRUE" />
-                        <mm:key name="attribute_change" type="boolean" value="TRUE" />
-						<mm:key name="id" type="integer" value="params:folder_id" />
-					</mm:key>
-				</mm:command>
-			</mm:notify_request>
-			
-            <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/long_name" condition="mm:suite/type = list" />
-            <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/short_name" condition="mm:suite/type = grid" />
-
-			
-      
-	        <mm:output alias="mul_icon">
-				<mm:image bitmap="folder_items:ReturnValue/[$index]/bitmap_buffer"  mask="folder_items:ReturnValue/[$index]/mask_buffer" />
-	        </mm:output>
-
-		
-		    <mm:output alias="mul_move_indicator_arrow_top" >
-	            <mm:image mif_file="move_indicator_icons.mif" 
-	                      bitmap_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_up"
-	                      mask_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_up_mask" />            
-	        </mm:output>
-	        
-	        <mm:output alias="mul_move_indicator_arrow_bottom" >
-	            <mm:image mif_file="move_indicator_icons.mif" 
-	                      bitmap_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_down"
-	                      mask_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_down_mask" />            
-	        </mm:output>
-	        
-	        <mm:output alias="mul_move_indicator_arrow_left" >
-	            <mm:image mif_file="move_indicator_icons.mif" 
-	                      bitmap_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_left"
-	                      mask_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_left_mask" />            
-	        </mm:output>
-	        
-	        <mm:output alias="mul_move_indicator_arrow_right" >
-	            <mm:image mif_file="move_indicator_icons.mif" 
-	                      bitmap_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_right"
-	                      mask_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_right_mask" />            
-	        </mm:output>
-
-            <mm:event event="key:select">
-                <mm:action service="MultimediaMenu">
-                    <mm:command name="StopEditMode" />
-                </mm:action>
-            </mm:event>            
-            
-            <mm:event event="key:move">
-                <mm:action service="Service.MenuContent" interface="IMenuContent">
-                    <mm:constructor>
-                        <mm:key name="ContentName" type="string" value="matrixmenudata" />
-                    </mm:constructor>
-                    <mm:command name="Organize" mode="async">
-                        <mm:key name="InData">
-                            <mm:key name="item_ids" type="list">
-                                <mm:key name="id" type="boolean" value="event_data:dragged_custom_id" />
-                                </mm:key>
-                            <mm:key name="before_item_id" type="boolean" value="event_data:dropped_before_custom_id" />
-                        </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-           
-            <mm:event event="custom:help">
-                <mm:action service="Service.ActionHandler" interface="IDataAction">
-                    <mm:command name="Execute">
-                            <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                            <mm:key name="data">
-                                <mm:key name="help_uid" type="integer" value="270486738" />
-                                <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                            </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-		   
-		</mm:edit_mode>
-    </mm:item>
-</mm:content>
--- a/menufw/menusuites/foldersuite/data/items_touch.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,480 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd" genre="foldersuite">
-    <mm:item count="1" template="empty" id="emptyitem">
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="82" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="82" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/>
-        <mm:menuitem name="foldersuite_rsc:R_MENU_FOLDER_EDIT" event="custom:edit_mode" position="83" condition="params:remove_locked != true" />
-        <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-        
-        <mm:event event="custom:help">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:edit_mode">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="StartEditMode" />
-            </mm:action>
-        </mm:event>
-
-        <mm:event event="custom:change_widget_to_list">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="list" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-
-        <mm:event event="custom:change_widget_to_grid">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="grid" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-		
-		<mm:edit_mode count="1" template="empty" id="emptyitem">
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="82" condition="params:remove_locked != true"/>
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-			
-			<mm:event event="custom:add_folder">
-				<mm:action service="MultimediaMenu" interface="0x2001CB79">
-					<mm:command name="MMCreateNewFolderCommand">
-						<mm:key name="item_lock" type="string" value="params:remove_locked" />
-						<mm:key name="folder" type="integer" value="params:folder_id" />
-					</mm:command>
-				</mm:action>
-			</mm:event>
-			
-            <mm:event event="custom:help">
-                <mm:action service="Service.ActionHandler" interface="IDataAction">
-                    <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-		</mm:edit_mode>
-    </mm:item>
-    
-    <mm:item count="0" template="logical_template_3|list_single_hc_apps_pane" id="parent_item" remove_locked="true" type="custom:parent_folder">
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="82" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="82" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/>
-		
-        <mm:edit_mode count="1" template="logical_template_3|list_single_hc_apps_pane" id="parent_item" type="custom:parent_folder" condition="params:folder_id != 1">
-            <mm:menuitem_action name="foldersuite_rsc:R_MENU_OPEN" event="key:select" position="80" />
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="82" condition="params:remove_locked != true" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-       
-            <mm:output alias="mul_title" type="string" value=""/>
-            
-			<mm:output alias="mul_icon">
-                <mm:image bitmap_id="EMbmGridrootQgn_prop_folder_parent" mask_id="EMbmGridrootQgn_prop_folder_parent_mask" mif_file="gridroot.mif" />
-            </mm:output>
-            
-            <mm:event event="key:select">
-                <mm:action service="MultimediaMenu">
-                    <mm:command name="Back" />
-                </mm:action>
-            </mm:event>
-
-			<mm:event event="custom:add_folder">
-				<mm:action service="MultimediaMenu" interface="0x2001CB79">
-					<mm:command name="MMCreateNewFolderCommand">
-						<mm:key name="item_lock" type="string" value="params:remove_locked" />
-						<mm:key name="folder" type="integer" value="params:folder_id" />
-					</mm:command>
-				</mm:action>
-			</mm:event>
-            
-			<mm:event event="key:move_into">
-				<mm:action service="Service.MenuContent" interface="IMenuContent">
-					<mm:constructor>
-						<mm:key name="ContentName" type="string" value="matrixmenudata" />
-					</mm:constructor>
-					<mm:command name="Organize" mode="async">
-						<mm:key name="InData">
-							<mm:key name="item_ids" type="list">
-								<mm:key name="id" type="boolean" value="event_data:dragged_custom_id" />
-							</mm:key>
-							<mm:key name="folder_id" type="boolean" value="params:parent_folder_id" />
-						</mm:key>
-					</mm:command>
-				</mm:action>
-			</mm:event>
-            
-            <mm:event event="custom:help">
-                <mm:action service="Service.ActionHandler" interface="IDataAction">
-                    <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-
-        </mm:edit_mode>    
-    </mm:item>
-   
-    <mm:item count="folder_items:ReturnValue/[$count]" template="logical_template_3|list_single_hc_apps_pane" id="folder_suite_items" remove_locked="folder_items:ReturnValue/[$index]/delete_locked" type="folder_items:ReturnValue/[$index]/type" running="folder_items:ReturnValue/[$index]/running" custom_id="folder_items:ReturnValue/[$index]/id" drm_protection="folder_items:ReturnValue/[$index]/drm_protection" uid="folder_items:ReturnValue/[$index]/uid" >
-		<mm:menuitem_action name="foldersuite_rsc:R_MENU_OPEN" event="key:select" position="80" />
-	    <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="81" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="81" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/> 
-        <mm:menuitem name="foldersuite_rsc:R_MENU_FOLDER_EDIT" event="custom:edit_mode" position="82" condition="params:remove_locked != true" />
-        <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-     
-		<mm:query namespace="folder_items" service="Service.MenuContent" interface="IDataSource">
-            <mm:constructor>
-                <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-            </mm:constructor>
-            <mm:command mode="async" name="GetList">
-                <mm:key name="InData">
-                    <mm:key name="id" type="integer" value="params:folder_id"/>
-                    <mm:key name="recursive_search" type="boolean" value="FALSE"/>
-                    <mm:key name="flat_result" type="boolean" value="TRUE"/>
-                </mm:key>
-                <mm:key name="Filter">
-                    <mm:key name="missing" type="boolean" value="FALSE"/>
-                    <mm:key name="hidden" type="boolean" value="FALSE"/>
-                    <mm:key name="required_attributes" type="string" value="title_name:long_name:short_name:children_count:bitmap_buffer:mask_buffer:drm_protection:suite_name:widget_type:template:running:uid" />
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        
-        <mm:notify_request service="Service.MenuContent" interface="IDataSource">
-            <mm:constructor>
-                <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-            </mm:constructor>
-            <mm:command mode="async" name="RequestNotification">
-                <mm:key name="InData" type="map">
-                    <mm:key name="add_remove" type="boolean" value="TRUE" />
-                    <mm:key name="reorder" type="boolean" value="TRUE" />
-                    <mm:key name="attribute_change" type="boolean" value="TRUE" />
-                    <mm:key name="id" type="integer" value="params:folder_id" />
-                </mm:key>
-            </mm:command>
-        </mm:notify_request>
-        
-        <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/long_name" condition="mm:suite/type = list" />
-        <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/short_name" condition="mm:suite/type = grid" />
-        
-        <mm:output alias="mul_icon">
-            <mm:image bitmap="folder_items:ReturnValue/[$index]/bitmap_buffer" mask="folder_items:ReturnValue/[$index]/mask_buffer" />
-        </mm:output>
-		
-        <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/running = true">
-		    <mm:image skinid_major="0x101F86E3" skinid_minor="0x1417" mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_indi_app_open" mask_id="EMbmGridrootQgn_indi_app_open_mask" />
-        </mm:output>
-		
-        <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/drm_protection = expired">
-            <mm:image mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_prop_drm_rights_exp_super" mask_id="EMbmGridrootQgn_prop_drm_rights_exp_super_mask" />
-        </mm:output>
-     
-        <mm:event event="key:select">
-			
-            <mm:action service="MultimediaMenu" condition="folder_items:ReturnValue/[$index]/type = menu:suite">
-                <mm:command name="OpenSuite" >
-                    <mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/suite_name" />
-                    <mm:key name="params" type="map">
-                        <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                        <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>                            
-                    </mm:key>
-                </mm:command>
-            </mm:action> 
-			
-			<mm:action service="MultimediaMenu" condition="folder_items:ReturnValue/[$index]/type = menu:folder">
-                <mm:command name="OpenSuite">
-                    <mm:key name="suite_name" type="string" value="foldersuite" />
-                    <mm:key name="params" type="map">
-                        <mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/title_name"/>
-                        <mm:key name="folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                        <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                        <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>
-						<mm:key name="remove_locked" type="boolean" value="folder_items:ReturnValue/[$index]/delete_locked"/>
-                        <mm:key name="parent_folder_id" type="integer" value="params:tmp_parent_folder_id"/>
-                        <mm:key name="tmp_parent_folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count"/>
-                        <mm:key name="applicationgroup_name" type="string" value="folder_items:ReturnValue/[$index]/applicationgroup_name"/>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-			
-            <mm:action service="Service.MenuContent" interface="IMenuContent" condition="folder_items:ReturnValue/[$index]/type != menu:suite 
-                &amp; folder_items:ReturnValue/[$index]/type != menu:folder">
-                <mm:constructor>
-                    <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-                </mm:constructor>
-                <mm:command name="ExecuteAction" mode="async">
-                        <mm:key name="InData">
-                            <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                            <mm:key name="action" type="string8" value="open"/>
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-            
-        </mm:event>
-
-        <mm:event event="custom:help">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:change_widget_to_list">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="list" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-
-        <mm:event event="custom:change_widget_to_grid">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="grid" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-    
-		<mm:event event="custom:edit_mode">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="StartEditMode" />
-            </mm:action>
-        </mm:event>
-
-		<mm:edit_mode count="folder_items:ReturnValue/[$count]"  template="logical_template_3|list_single_hc_apps_pane" id="folder_suite_items" remove_locked="folder_items:ReturnValue/[$index]/delete_locked" type="folder_items:ReturnValue/[$index]/type" custom_id="folder_items:ReturnValue/[$index]/id" uid="folder_items:ReturnValue/[$index]/uid">
-		    <mm:menuitem_action name="foldersuite_rsc:R_MENU_OPEN" event="key:select" position="80" condition="folder_items:ReturnValue/[$index]/type = menu:folder" />
-            <mm:menuitem_specific name="foldersuite_rsc:R_OPTIONS_ORG_MOVE_TO_FOLDER" event="custom:move_to_folder" position="81" condition="params:remove_locked != true" />
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="82" condition="params:remove_locked != true" />    
-            <mm:menuitem_specific name="foldersuite_rsc:R_FLDR_DELETE" event="custom:delete_folder" position="83" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0" />
-            <mm:menuitem_specific name="foldersuite_rsc:R_FLDR_DELETE" event="custom:delete_application" position="83" condition="folder_items:ReturnValue/[$index]/type = menu:application &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true" />
-			<mm:menuitem_specific name="foldersuite_rsc:R_FLDR_RENAME" event="custom:rename_folder" position="84" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true" />          
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-			
-			<mm:query namespace="folder_items" service="Service.MenuContent" interface="IDataSource">
-				<mm:constructor>
-					<mm:key name="ContentName" type="string" value="matrixmenudata"/>
-				</mm:constructor>
-				<mm:command mode="async" name="GetList">
-					<mm:key name="InData">
-						<mm:key name="id" type="integer" value="params:folder_id"/>
-						<mm:key name="recursive_search" type="boolean" value="FALSE"/>
-						<mm:key name="flat_result" type="boolean" value="TRUE"/>
-					</mm:key>
-					<mm:key name="Filter">
-						<mm:key name="missing" type="boolean" value="FALSE"/>
-                        <mm:key name="hidden" type="boolean" value="FALSE"/>
-                        <mm:key name="required_attributes" type="string" value="title_name:long_name:short_name:children_count:bitmap_buffer:mask_buffer:drm_protection:suite_name:widget_type:template:running:uid" />
-					</mm:key>
-				</mm:command>
-			</mm:query>
-        
-			<mm:notify_request service="Service.MenuContent" interface="IDataSource">
-				<mm:constructor>
-					<mm:key name="ContentName" type="string" value="matrixmenudata"/>
-				</mm:constructor>
-				<mm:command mode="async" name="RequestNotification">
-					<mm:key name="InData" type="map">
-						<mm:key name="add_remove" type="boolean" value="TRUE" />
-                        <mm:key name="reorder" type="boolean" value="TRUE" />
-                        <mm:key name="attribute_change" type="boolean" value="TRUE" />
-						<mm:key name="id" type="integer" value="params:folder_id" />
-					</mm:key>
-				</mm:command>
-			</mm:notify_request>
-        
-            <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/long_name" condition="mm:suite/type = list" />
-            <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/short_name" condition="mm:suite/type = grid" />
-
-			<mm:output alias="mul_icon">
-				<mm:image bitmap="folder_items:ReturnValue/[$index]/bitmap_buffer"  mask="folder_items:ReturnValue/[$index]/mask_buffer" />
-			</mm:output>
-            
-            <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/delete_locked = true &amp; folder_items:ReturnValue/[$index]/type = menu:folder">
-                <mm:image mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_indi_org_icon_locked" mask_id="EMbmGridrootQgn_indi_org_icon_locked_mask" />
-            </mm:output>
-   
-            <mm:output alias="mul_icon_backdrop">
-                <mm:image skinid_major="0x101F86E3" skinid_minor="0x1EBA"/>
-            </mm:output>
-			
-			<mm:event event="key:select">
-                <mm:action service="MultimediaMenu" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true">
-                    <mm:command name="OpenSuite">
-                        <mm:key name="suite_name" type="string" value="foldersuite" />
-                        <mm:key name="params" type="map">
-                            <mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/title_name"/>
-                            <mm:key name="folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                            <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                            <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>
-							<mm:key name="remove_locked" type="boolean" value="folder_items:ReturnValue/[$index]/delete_locked"/>
-                            <mm:key name="parent_folder_id" type="integer" value="params:tmp_parent_folder_id"/>
-                            <mm:key name="tmp_parent_folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                            <mm:key name="applicationgroup_name" type="string" value="folder_items:ReturnValue/[$index]/applicationgroup_name"/>
-                        </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-                        
-            <mm:event event="key:clear">
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0 &amp; mm:suite/type = grid">
-	                <mm:command name="MMDeleteFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-	                </mm:command>
-	            </mm:action>
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0 &amp; mm:suite/type = list">
-	                <mm:command name="MMDeleteFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-	                </mm:command>
-	            </mm:action>
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:application &amp; folder_items:ReturnValue/[$index]/delete_locked != true">
-	                <mm:command name="MMDeleteAppCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-	                </mm:command>
-	            </mm:action>
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:suite &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; mm:suite/type = grid" >
-	                <mm:command name="MMDeleteSuiteCommand">
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-	                </mm:command>
-	            </mm:action>
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:suite &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; mm:suite/type = list" >
-	                <mm:command name="MMDeleteSuiteCommand">
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-	                </mm:command>
-	            </mm:action>
-	        </mm:event>
-           
-            <mm:event event="custom:help">
-                <mm:action service="Service.ActionHandler" interface="IDataAction">
-                    <mm:command name="Execute">
-                            <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                            <mm:key name="data">
-                                <mm:key name="help_uid" type="integer" value="270486738" />
-                                <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                            </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-
-            <mm:event event="custom:move_to_folder">
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                    <mm:command name="MMMoveToFolderCommand">
-                        <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-					    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                        <mm:key name="folder" type="integer" value="params:folder_id" />
-					    <mm:key name="widget" type="string" value="mm:suite/type" />
-                    </mm:command>
-                </mm:action>
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                    <mm:command name="MMMoveToFolderCommand">
-                        <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-					    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                        <mm:key name="folder" type="integer" value="params:folder_id" />
-					    <mm:key name="widget" type="string" value="mm:suite/type" />
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-								
-			<mm:event event="custom:add_folder">
-				<mm:action service="MultimediaMenu" interface="0x2001CB79">
-					<mm:command name="MMCreateNewFolderCommand">
-                        <mm:key name="item_lock" type="string" value="params:remove_locked" />
-						<mm:key name="folder" type="integer" value="params:folder_id" />
-					</mm:command>
-				</mm:action>
-			</mm:event>
-            
-            <mm:event event="custom:delete_folder">
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                    <mm:command name="MMDeleteFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                    </mm:command>
-                </mm:action>
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                    <mm:command name="MMDeleteFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-            
-            <mm:event event="custom:delete_application">
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" >
-                    <mm:command name="MMDeleteAppCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-
-			<mm:event event="custom:rename_folder">
-				<mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-					<mm:command name="MMRenameFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                    </mm:command>
-				</mm:action>
-				<mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-					<mm:command name="MMRenameFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                    </mm:command>
-				</mm:action>
-			</mm:event>
-			<mm:event event="key:move">
-				<mm:action service="Service.MenuContent" interface="IMenuContent">
-					<mm:constructor>
-						<mm:key name="ContentName" type="string" value="matrixmenudata" />
-					</mm:constructor>
-					<mm:command name="Organize" mode="async">
-						<mm:key name="InData">
-							<mm:key name="item_ids" type="list">
-								<mm:key name="id" type="boolean" value="event_data:dragged_custom_id" />
-							</mm:key>
-							<mm:key name="before_item_id" type="boolean" value="event_data:dropped_before_custom_id" />
-						</mm:key>
-					</mm:command>
-				</mm:action>
-			</mm:event>
-			<mm:event event="key:move_into">
-				<mm:action service="Service.MenuContent" interface="IMenuContent">
-					<mm:constructor>
-						<mm:key name="ContentName" type="string" value="matrixmenudata" />
-					</mm:constructor>
-					<mm:command name="Organize" mode="async">
-						<mm:key name="InData">
-							<mm:key name="item_ids" type="list">
-								<mm:key name="id" type="boolean" value="event_data:dragged_custom_id" />
-							</mm:key>
-							<mm:key name="folder_id" type="boolean" value="folder_items:ReturnValue/[$index]/id" />
-						</mm:key>
-					</mm:command>
-				</mm:action>
-			</mm:event>
-		</mm:edit_mode>
-	</mm:item>
-</mm:content>
\ No newline at end of file
--- a/menufw/menusuites/foldersuite/data/matrixmenudata.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,300 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "matrixmenudata.dtd">
-<PartOf  : "menu content service">
-
-<FileDescription: "Localization strings for matrix menu content definition">
-<FileVersion    : "1.0">
-
-<Copyright:
-"Copyright © 2005 Nokia Corporation.
-This material, including documentation and any related 
-computer programs, is protected by copyright controlled by 
-Nokia Corporation. All rights are reserved. Copying, 
-including reproducing, storing,  adapting or translating, any 
-or all of this material requires the prior written consent of 
-Nokia Corporation. This material also contains confidential 
-information which may not be disclosed to others without the 
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!--
-qtn_fldr_root_level.attributes
-qtn_fldr_root_level.recycled "Avkon.loc"
-qtn_fldr_root_level.layout "list_single_large_graphic_pane_t1"
-qtn_fldr_root_level.release "3.1"
-qtn_fldr_root_level.description "Application Shell root level folder name shown in "Move to folder" dialogs"
-qtn_fldr_root_level.parents "Folder selection list dialog"
-qtn_fldr_root_level.islocalisable "FALSE"
--->
-<!ENTITY qtn_fldr_root_level "Root level">
-
-
-<!--
-qtn_apps_internet_grid.attributes
-qtn_apps_internet_grid.layout "cell_app_pane_1"
-qtn_apps_internet_grid.release "5.0"
-qtn_apps_internet_grid.description "Internet folder caption title"
-qtn_apps_internet_grid.parents "Title pane"
-qtn_apps_internet_grid.grammar "Internet folder contains e.g. bookmarks"
-qtn_apps_internet_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_internet_grid "Internet">
-
-<!--
-qtn_apps_photos_grid.attributes
-qtn_apps_photos_grid.layout "cell_app_pane_1"
-qtn_apps_photos_grid.release "5.0"
-qtn_apps_photos_grid.description "Photos folder caption title"
-qtn_apps_photos_grid.parents "Title pane"
-qtn_apps_photos_grid.grammar "Photos folder contains e.g. galleries"
-qtn_apps_photos_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_photos_grid "Photos">
-
-<!--
-qtn_apps_music_grid.attributes
-qtn_apps_music_grid.layout "cell_app_pane_1"
-qtn_apps_music_grid.release "5.0"
-qtn_apps_music_grid.description "Music folder caption title"
-qtn_apps_music_grid.parents "Title pane"
-qtn_apps_music_grid.grammar "Music folder contains e.g. tracks list"
-qtn_apps_music_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_music_grid "Music">
-
-<!--
-qtn_apps_videotv_grid.attributes
-qtn_apps_videotv_grid.layout "cell_app_pane_1"
-qtn_apps_videotv_grid.release "5.0"
-qtn_apps_videotv_grid.description "Video & TV folder caption title"
-qtn_apps_videotv_grid.parents "Title pane"
-qtn_apps_videotv_grid.grammar "Video & TV folder contains e.g. movies"
-qtn_apps_videotv_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_videotv_grid "Video & TV">
-
-<!--
-qtn_apps_games_grid.attributes
-qtn_apps_games_grid.layout "cell_app_pane_1"
-qtn_apps_games_grid.release "5.0"
-qtn_apps_games_grid.description "Games folder caption title"
-qtn_apps_games_grid.parents "Title pane"
-qtn_apps_games_grid.grammar "Games folder contains e.g. games list"
-qtn_apps_games_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_games_grid "Games">
-
-<!--
-qtn_apps_applications_grid.attributes
-qtn_apps_applications_grid.layout "cell_app_pane_1"
-qtn_apps_applications_grid.release "5.0"
-qtn_apps_applications_grid.description "Applications folder caption title"
-qtn_apps_applications_grid.parents "Title pane"
-qtn_apps_applications_grid.grammar "Applications folder contains all available apps"
-qtn_apps_applications_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_applications_grid "Applications">
-
-<!--
-qtn_apps_contacts_grid.attributes
-qtn_apps_contacts_grid.layout "cell_app_pane_1"
-qtn_apps_contacts_grid.release "5.0"
-qtn_apps_contacts_grid.description "Contacts suite title"
-qtn_apps_contacts_grid.parents "Title pane"
-qtn_apps_contacts_grid.grammar "Contacts suite contains e.g. phonebook"
-qtn_apps_contacts_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_contacts_grid "Contacts">
-
-<!--
-qtn_apps_office_grid.attributes
-qtn_apps_office_grid.layout "cell_app_pane_1"
-qtn_apps_office_grid.release "5.0"
-qtn_apps_office_grid.description "Office suite title"
-qtn_apps_office_grid.parents "Title pane"
-qtn_apps_office_grid.grammar "Office suite"
-qtn_apps_office_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_office_grid "Office">
-
-<!--
-qtn_apps_internet_list.attributes
-qtn_apps_internet_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_internet_list.release "5.0"
-qtn_apps_internet_list.description "Internet folder caption title"
-qtn_apps_internet_list.parents "Title pane"
-qtn_apps_internet_list.grammar "Internet folder contains e.g. bookmarks"
-qtn_apps_internet_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_internet_list "Internet">
-
-<!--
-qtn_apps_photos_list.attributes
-qtn_apps_photos_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_photos_list.release "5.0"
-qtn_apps_photos_list.description "Photos folder caption title"
-qtn_apps_photos_list.parents "Title pane"
-qtn_apps_photos_list.grammar "Photos folder contains e.g. galleries"
-qtn_apps_photos_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_photos_list "Photos">
-
-<!--
-qtn_apps_music_list.attributes
-qtn_apps_music_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_music_list.release "5.0"
-qtn_apps_music_list.description "Music folder caption title"
-qtn_apps_music_list.parents "Title pane"
-qtn_apps_music_list.grammar "Music folder contains e.g. tracks list"
-qtn_apps_music_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_music_list "Music">
-
-<!--
-qtn_apps_videotv_list.attributes
-qtn_apps_videotv_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_videotv_list.release "5.0"
-qtn_apps_videotv_list.description "Video & TV folder caption title"
-qtn_apps_videotv_list.parents "Title pane"
-qtn_apps_videotv_list.grammar "Video & TV folder contains e.g. movies"
-qtn_apps_videotv_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_videotv_list "Video & TV">
-
-<!--
-qtn_apps_games_list.attributes
-qtn_apps_games_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_games_list.release "5.0"
-qtn_apps_games_list.description "Games folder caption title"
-qtn_apps_games_list.parents "Title pane"
-qtn_apps_games_list.grammar "Games folder contains e.g. games list"
-qtn_apps_games_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_games_list "Games">
-
-<!--
-qtn_apps_applications_list.attributes
-qtn_apps_applications_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_applications_list.release "5.0"
-qtn_apps_applications_list.description "Applications folder caption title"
-qtn_apps_applications_list.parents "Title pane"
-qtn_apps_applications_list.grammar "Applications folder contains all available apps"
-qtn_apps_applications_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_applications_list "Applications">
-
-<!--
-qtn_apps_contacts_list.attributes
-qtn_apps_contacts_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_contacts_list.release "5.0"
-qtn_apps_contacts_list.description "Contacts suite title"
-qtn_apps_contacts_list.parents "Title pane"
-qtn_apps_contacts_list.grammar "Contacts suite contains e.g. phonebook"
-qtn_apps_contacts_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_contacts_list "Contacts">
-
-<!--
-qtn_apps_office_list.attributes
-qtn_apps_office_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_office_list.release "5.0"
-qtn_apps_office_list.description "Office suite title"
-qtn_apps_office_list.parents "Title pane"
-qtn_apps_office_list.grammar "Office suite"
-qtn_apps_office_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_office_list "Office">
-
-<!--
-qtn_apps_browserng_title.attributes
-qtn_apps_browserng_title.layout "title_pane_t1"
-qtn_apps_browserng_title.release "5.0"
-qtn_apps_browserng_title.description "Internet folder caption title"
-qtn_apps_browserng_title.parents "Title pane"
-qtn_apps_browserng_title.grammar "Internet folder contains e.g. bookmarks"
-qtn_apps_browserng_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_browserng_title "Internet">
-
-<!--
-qtn_apps_photos_title.attributes
-qtn_apps_photos_title.layout "title_pane_t1"
-qtn_apps_photos_title.release "5.0"
-qtn_apps_photos_title.description "Photos folder caption title"
-qtn_apps_photos_title.parents "Title pane"
-qtn_apps_photos_title.grammar "Photos folder contains e.g. galleries"
-qtn_apps_photos_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_photos_title "Photos">
-
-<!--
-qtn_apps_music_title.attributes
-qtn_apps_music_title.layout "title_pane_t1"
-qtn_apps_music_title.release "5.0"
-qtn_apps_music_title.description "Music folder caption title"
-qtn_apps_music_title.parents "Title pane"
-qtn_apps_music_title.grammar "Music folder contains e.g. tracks list"
-qtn_apps_music_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_music_title "Music">
-
-<!--
-qtn_apps_videotv_title.attributes
-qtn_apps_videotv_title.layout "title_pane_t1"
-qtn_apps_videotv_title.release "5.0"
-qtn_apps_videotv_title.description "Video & TV folder caption title"
-qtn_apps_videotv_title.parents "Title pane"
-qtn_apps_videotv_title.grammar "Video & TV folder contains e.g. movies"
-qtn_apps_videotv_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_videotv_title "Video & TV">
-
-<!--
-qtn_apps_games_title.attributes
-qtn_apps_games_title.layout "title_pane_t1"
-qtn_apps_games_title.release "5.0"
-qtn_apps_games_title.description "Games folder caption title"
-qtn_apps_games_title.parents "Title pane"
-qtn_apps_games_title.grammar "Games folder contains e.g. games list"
-qtn_apps_games_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_games_title "Games">
-
-<!--
-qtn_apps_appsfolder_title.attributes
-qtn_apps_appsfolder_title.layout "title_pane_t1"
-qtn_apps_appsfolder_title.release "5.0"
-qtn_apps_appsfolder_title.description "Applications folder caption title"
-qtn_apps_appsfolder_title.parents "Title pane"
-qtn_apps_appsfolder_title.grammar "Applications folder contains all available apps"
-qtn_apps_appsfolder_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_appsfolder_title "Applications">
-
-<!--
-qtn_apps_phonebook_title.attributes
-qtn_apps_phonebook_title.layout "title_pane_t1"
-qtn_apps_phonebook_title.release "5.0"
-qtn_apps_phonebook_title.description "Contacts suite title"
-qtn_apps_phonebook_title.parents "Title pane"
-qtn_apps_phonebook_title.grammar "Contacts suite contains e.g. phonebook"
-qtn_apps_phonebook_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_phonebook_title "Contacts">
-
-<!--
-qtn_apps_office_title.attributes
-qtn_apps_office_title.layout "title_pane_t1"
-qtn_apps_office_title.release "5.0"
-qtn_apps_office_title.description "Office suite title"
-qtn_apps_office_title.parents "Title pane"
-qtn_apps_office_title.grammar "Office suite"
-qtn_apps_office_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_office_title "Office">
-
-
-<!-- End of File-->
--- a/menufw/menusuites/foldersuite/data/matrixmenudata.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xcfwml SYSTEM "matrixmenudata.dtd">
-<menu:data xmlns:menu="http:://www.s60.com/xml/applicationshell/1" version="5.0">
-    <menu:folder title_name="&qtn_fldr_root_level;" long_name="&qtn_fldr_root_level;" short_name="&qtn_fldr_root_level;">  
-        <!--Office folder-->
-        <!-- <menu:folder title_name="&qtn_apps_office_title;"
-                    long_name="&qtn_apps_office_list;" 
-                    short_name="&qtn_apps_office_grid;"
-                    applicationgroup_name="Office"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16398" 
-                    mask_id="16399" 
-                    icon_skin_minor_id="0x1ead" 
-                    icon_skin_major_id="0x101F86E3"> -->
-            <!--Calendar-->
-            <menu:application uid="0x10005901"/>
-        <!-- </menu:folder> -->
-        <!--Contacts application-->
-        <menu:application uid="0x101F4CCE"/>
-        <!--Internet folder-->
-        <!--  now using qgnmenugroupweb available in skin -->
-        <menu:folder title_name="&qtn_apps_browserng_title;" 
-                    long_name="&qtn_apps_internet_list;" 
-                    short_name="&qtn_apps_internet_grid;"
-                    applicationgroup_name="internet"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16386" 
-                    mask_id="16387"
-                    icon_skin_minor_id="0x2005" 
-                    icon_skin_major_id="0x101F86E3" >
-            <!--Browser-->
-            <menu:application uid="0x10008D39"/>
-            <!--Online Search-->
-            <menu:application uid="0x20000907"/>
-        </menu:folder>
-        <!--Messaging application-->
-        <menu:application uid="0x100058C5"/>
-        <!--Photos suite-->
-        <menu:suite title_name="&qtn_apps_photos_title;" 
-                    long_name="&qtn_apps_photos_list;" 
-                    short_name="&qtn_apps_photos_grid;" 
-                    suite_name="photossuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16398" 
-                    mask_id="16399" 
-                    icon_skin_minor_id="0x217c" 
-                    icon_skin_major_id="0x101F86E3" />
-        <!-- application used in photos suite should be hidden from menu -->
-        <menu:folder flags="hidden">
-            <menu:application uid="0x200009EE"/> <!--Photos-->
-            <menu:application uid="0x2000BB53"/> <!--Share Online-->
-        </menu:folder>
-        <!--Download! application-->                         
-        <menu:application uid="0x20007803" />
-        <!--Maps application-->
-        <menu:application uid="0x20001F63"/>
-        <!--Video & TV suite-->
-        <menu:suite title_name="&qtn_apps_videotv_title;" 
-                    long_name="&qtn_apps_videotv_list;" 
-                    short_name="&qtn_apps_videotv_grid;" 
-                    suite_name="tvvideosuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16402" 
-                    mask_id="16403" 
-                    icon_skin_minor_id="0x217d" 
-                    icon_skin_major_id="0x101F86E3"/>
-        <!-- application used in video suite should be hidden from menu -->
-        <menu:folder flags="hidden">
-            <menu:application uid="0x102750E2"/> <!--VideoCenter-->
-        </menu:folder>
-        <!--Settings/Control Panel-->           
-        <menu:application uid="0x100058EC"/>
-        <!--Games folder-->
-        <menu:folder title_name="&qtn_apps_games_title;"
-                    long_name="&qtn_apps_games_list;" 
-                    short_name="&qtn_apps_games_grid;"
-                    applicationgroup_name="Games"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16396" 
-                    mask_id="16397" 
-                    icon_skin_minor_id="0x2184" 
-                    icon_skin_major_id="0x101F86E3" >
-            <!--Games/N-Gage application-->
-            <!-- <menu:application uid="0x20007B39" /> -->
-        </menu:folder>
-        <!--Application folder-->
-        <menu:folder applicationgroup_name="applications" 
-                    default="1" 
-                    title_name="&qtn_apps_appsfolder_title;" 
-                    long_name="&qtn_apps_applications_list;" 
-                    short_name="&qtn_apps_applications_grid;"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16392" 
-                    mask_id="16393" 
-                    icon_skin_minor_id="0x2174" 
-                    icon_skin_major_id="0x101F86E3">
-            <menu:application uid="0x20001BB9"/>
-            <!--Adobe PDF-->
-            <menu:application uid="0x10005902"/>
-            <!--Calculator-->
-            <menu:application uid="0x10005903"/>
-            <!--Clock-->
-            <menu:application uid="0x101F4668"/>
-            <!--Converter-->
-            <menu:application uid="0x10275458"/>
-            <!-- Service configurator -->
-            <menu:application uid="0x10208A0A"/>
-            <!--Home media ?? Home Connect ??--> 
-            <menu:application uid="0x10005907"/>
-            <!--Notepad-->            
-            <menu:application uid="0x1028190B"/>
-            <!--Podcasting-->            
-            <menu:application uid="0x100058CA"/>
-            <!--Voice recorder-->
-            <menu:application uid="0x10282411"/>
-            <!--Search application-->
-        </menu:folder>
-        <menu:folder flags="hidden" long_name="mcsplugin_folder">
-          <menu:application uid="0x100058EC"
-                            view="0x10207250"
-                            long_name="Connectivity"
-                            presenceicon="SKIN ( 270501603 8586 ): mif ( c:\\data\\Installs\\TemplateData\\templateIcons.mif 16386  16387)"/>
-          
-          <menu:application uid="0x100058EC"
-                            view="0x10283321"
-                            long_name="Installations"/>
-          
-          <menu:shortcut    uid="0x99999999"
-                            long_name="New message"
-                            icon_file="z:\resource\apps\matrixmenudata.mif"
-                            icon_id="16392"
-                            mask_id="16393"
-                            icon_skin_minor_id="0x1327"
-                            icon_skin_major_id="0x101F86E3"
-                            param="messaging:msg"/>
-                            
-          <menu:shortcut    uid="0x99999998"
-                            long_name="Sel. message type"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:seltype"/>
-                            
-          <menu:shortcut    uid="0x99999997"
-                            long_name="New email"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:email"/>
-                            
-          <menu:shortcut    uid="0x99999996"
-                            long_name="New SyncML" 
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16390"
-                            mask_id="16391"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:syncmlmail"/>
-                            
-          <menu:shortcut    uid="0x99999995"
-                            long_name="New postcard"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:postcard"/>
-          
-          <menu:shortcut    uid="0x99999994"
-                            long_name="New audio message"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:audiomsg"/>
-               
-               <menu:url    uid="0x99999993"
-                            long_name="Google search"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16386"
-                            mask_id="16387"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            url="www.google.com"/>
-                             
-                <menu:url   uid="0x99999992"
-                            long_name="Nokia OVI"
-                            icon_file="ovi_brand_graphics.mif"
-                            icon_id="16384"
-                            mask_id="16385"
-                            presenceicon="SKIN ( 0x101F86E3 0x1af5 )"
-                            url="www.ovi.com"/>
-         
-          <menu:shortcut    uid="0x99999991"
-                            long_name="Undefined"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id="0x1af5"
-                            icon_skin_major_id="0x101F86E3"/>
-                            
-          <menu:shortcut    uid="0x99999989"
-                            long_name="Dialed calls"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16398"
-                            mask_id="16399"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="logs:dialed"/>
-          <!-- Photos Suite launcher -->      
-		  <menu:application uid="0x200104E4"/>
-          <!-- Video Suite launcher -->      
-		  <menu:application uid="0x200211FA"/>			
-			
-        </menu:folder>
-    </menu:folder>
-</menu:data>
--- a/menufw/menusuites/foldersuite/data/matrixmenudatatestcontent.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xcfwml SYSTEM "matrixmenudata.dtd">
-<menu:data xmlns:menu="http:://www.s60.com/xml/applicationshell/1" version="5.0">
-    <menu:folder title_name="&qtn_fldr_root_level;" long_name="&qtn_fldr_root_level;" short_name="&qtn_fldr_root_level;">  
-        <!--Office folder-->
-        <!-- <menu:folder title_name="&qtn_apps_office_title;"
-                    long_name="&qtn_apps_office_list;" 
-                    short_name="&qtn_apps_office_grid;"
-                    applicationgroup_name="Office"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16398" 
-                    mask_id="16399" 
-                    icon_skin_minor_id="0x1ead" 
-                    icon_skin_major_id="0x101F86E3"> -->
-            <!--Calendar-->
-            <menu:application uid="0x10005901"/>
-        <!-- </menu:folder> -->
-        <!--Contacts application-->
-        <menu:application uid="0x101F4CCE"/>  
-        <!--music folder-->
-        <menu:folder title_name="&qtn_apps_music_title;"
-                    long_name="&qtn_apps_music_list;" 
-                    short_name="&qtn_apps_music_grid;"
-                    applicationgroup_name="Music"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16384" 
-                    mask_id="16385" 
-                    icon_skin_minor_id="0x217e" 
-                    icon_skin_major_id="0x101F86E3">
-          <!-- Music Player (MusicPlayer)-->
-          <menu:application uid="0x102072C3"/>
-          <!-- Radio -->
-          <menu:application uid="0x10207A89"/>
-          <!-- Music Store -->
-          <menu:application uid="0x101FFB51"/>
-          <!-- Podcasting -->
-          <menu:application uid="0x1028190B"/>
-        </menu:folder>
-        <!--Internet folder-->
-        <!--  now using qgnmenugroupweb available in skin -->
-        <menu:folder title_name="&qtn_apps_browserng_title;" 
-                    long_name="&qtn_apps_internet_list;" 
-                    short_name="&qtn_apps_internet_grid;"
-                    applicationgroup_name="internet"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16386" 
-                    mask_id="16387"
-                    icon_skin_minor_id="0x2005" 
-                    icon_skin_major_id="0x101F86E3" >
-            <!--Browser-->
-            <menu:application uid="0x10008D39"/>
-            <!--Share Online-->
-            <menu:application uid="0x2000BB53"/>
-            <!--Online Search-->
-            <menu:application uid="0x20000907"/>
-        </menu:folder>
-        <!--Messaging application-->
-        <menu:application uid="0x100058C5"/>
-        <!--Photos suite-->
-        <menu:suite title_name="&qtn_apps_photos_title;" 
-                    long_name="&qtn_apps_photos_list;" 
-                    short_name="&qtn_apps_photos_grid;" 
-                    suite_name="photossuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16398" 
-                    mask_id="16399" 
-                    icon_skin_minor_id="0x217c" 
-                    icon_skin_major_id="0x101F86E3" />
-        <!--Download! application-->                         
-        <menu:application uid="0x20007803" />
-        <!--Maps application-->
-        <menu:application uid="0x20001F63"/>
-        <!--Video & TV suite-->
-        <menu:suite title_name="&qtn_apps_videotv_title;" 
-                    long_name="&qtn_apps_videotv_list;" 
-                    short_name="&qtn_apps_videotv_grid;" 
-                    suite_name="tvvideosuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16402" 
-                    mask_id="16403" 
-                    icon_skin_minor_id="0x217d" 
-                    icon_skin_major_id="0x101F86E3"/>
-        <!--Settings/Control Panel-->           
-        <menu:application uid="0x100058EC"/>
-        <!--Games folder-->
-        <menu:folder title_name="&qtn_apps_games_title;"
-                    long_name="&qtn_apps_games_list;" 
-                    short_name="&qtn_apps_games_grid;"
-                    applicationgroup_name="Games"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16396" 
-                    mask_id="16397" 
-                    icon_skin_minor_id="0x2184" 
-                    icon_skin_major_id="0x101F86E3" >
-            <!--Games/N-Gage application-->
-            <!-- <menu:application uid="0x20007B39" /> -->
-        </menu:folder>
-        <!--Application folder-->
-        <menu:folder applicationgroup_name="applications" 
-                    default="1" 
-                    title_name="&qtn_apps_appsfolder_title;" 
-                    long_name="&qtn_apps_applications_list;" 
-                    short_name="&qtn_apps_applications_grid;"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16392" 
-                    mask_id="16393" 
-                    icon_skin_minor_id="0x2174" 
-                    icon_skin_major_id="0x101F86E3">
-            <menu:application uid="0x20001BB9"/>
-            <!--Adobe PDF-->
-            <menu:application uid="0x10005902"/>
-            <!--Calculator-->
-            <menu:application uid="0x10005903"/>
-            <!--Clock-->
-            <menu:application uid="0x101F4668"/>
-            <!--Converter-->
-            <menu:application uid="0x10275458"/>
-            <!-- Service configurator -->
-            <menu:application uid="0x10208A0A"/>
-            <!--Home media ?? Home Connect ??--> 
-            <menu:application uid="0x10005907"/>
-            <!--Notepad-->            
-            <menu:application uid="0x1028190B"/>
-            <!--Podcasting-->            
-            <menu:application uid="0x100058CA"/>
-            <!--Voice recorder-->
-            <menu:application uid="0x10282411"/>
-            <!--Search application-->
-        </menu:folder>
-
-        <!-- Test suites -->        
-        <menu:suite title_name="Base" 
-                    long_name="Base" 
-                    short_name="Base"
-                    suite_name="basicsuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16394" 
-                    mask_id="16395" 
-                    icon_skin_minor_id="0x13fc" 
-                    icon_skin_major_id="0x101F86E3"/>        
-        <menu:suite title_name="Demo" 
-                    long_name="Demo" 
-                    short_name="Demo"
-                    suite_name="demosuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16394" 
-                    mask_id="16395" 
-                    icon_skin_minor_id="0x13fc" 
-                    icon_skin_major_id="0x101F86E3"/> 
-        <menu:suite title_name="&qtn_apps_office_title;" 
-                    long_name="&qtn_apps_office_list;" 
-                    short_name="&qtn_apps_office_grid;"
-                    suite_name="ziadromsuite"
-                    icon_file="z:\resource\apps\iadromsuite.mif" 
-                    icon_id="16384" 
-                    mask_id="16385" 
-                    icon_skin_minor_id="0x13fc" 
-                    icon_skin_major_id="0x101F86E3"/>        
-    </menu:folder>
-</menu:data>
\ No newline at end of file
--- a/menufw/menusuites/foldersuite/data/suite.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd">
-    <mm:localization namespace="foldersuite_rsc" source="foldersuite.rsc"/>
-    <mm:suite template="logical_template_3|list_single_hc_apps_pane" type="grid|list" genre="foldersuite" title="params:suite_name" custom_id="params:folder_id" emptytext="foldersuite_rsc:R_MENU_FOLDER_EMPTY_TEXT"/>
-</mm:content>
-
--- a/menufw/menusuites/foldersuite/eabi/dummyCu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z7E32Mainv @ 1 NONAME
-
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_arrow_bottom.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.0"
-   width="29.999998"
-   height="17"
-   id="svg2">
-  <defs
-     id="defs4" />
-  <g
-     transform="matrix(1,0,0,-1,5.5146966e-2,952.38437)"
-     id="layer1">
-    <path
-       d="M 8.0180856,5.3832459 L 13.390995,14.908102 L 2.4557733,14.79875 L 8.0180856,5.3832459 z"
-       transform="matrix(1.6313301,-1.0632413e-2,1.2696974e-2,1.0866093,1.8504061,933.62447)"
-       id="path3203"
-       style="opacity:0.5;fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:3.7553103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_arrow_left.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="17"
-   height="30"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   version="1.0"
-   sodipodi:docname="arrow_left.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape">
-  <defs
-     id="defs4">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective10" />
-  </defs>
-  <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="15.839192"
-     inkscape:cx="7.6537826"
-     inkscape:cy="14.270458"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="1280"
-     inkscape:window-height="938"
-     inkscape:window-x="-4"
-     inkscape:window-y="-4"
-     showborder="true" />
-  <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:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-7.3183197,-933.11487)">
-    <path
-       sodipodi:type="star"
-       style="opacity:0.5;fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:3.7553103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3203"
-       sodipodi:sides="3"
-       sodipodi:cx="7.9549513"
-       sodipodi:cy="11.696699"
-       sodipodi:r1="6.3137689"
-       sodipodi:r2="3.1568844"
-       sodipodi:arg1="-1.5607967"
-       sodipodi:arg2="-0.51359911"
-       inkscape:flatsided="true"
-       inkscape:rounded="0"
-       inkscape:randomized="0"
-       d="M 8.0180856,5.3832459 L 13.390995,14.908102 L 2.4557733,14.79875 L 8.0180856,5.3832459 z"
-       transform="matrix(-1.0632413e-2,1.6313301,1.0866093,1.2696974e-2,5.4858753,935.10512)" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_arrow_right.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="17"
-   height="30"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   version="1.0"
-   sodipodi:docname="arrow_right.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape">
-  <defs
-     id="defs4">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective10" />
-  </defs>
-  <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="15.839192"
-     inkscape:cx="7.6537826"
-     inkscape:cy="14.270458"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="1280"
-     inkscape:window-height="938"
-     inkscape:window-x="-4"
-     inkscape:window-y="-4"
-     showborder="true" />
-  <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:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-7.3183197,-933.11487)">
-    <path
-       sodipodi:type="star"
-       style="opacity:0.5;fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:3.7553103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3203"
-       sodipodi:sides="3"
-       sodipodi:cx="7.9549513"
-       sodipodi:cy="11.696699"
-       sodipodi:r1="6.3137689"
-       sodipodi:r2="3.1568844"
-       sodipodi:arg1="-1.5607967"
-       sodipodi:arg2="-0.51359911"
-       inkscape:flatsided="true"
-       inkscape:rounded="0"
-       inkscape:randomized="0"
-       d="M 8.0180856,5.3832459 L 13.390995,14.908102 L 2.4557733,14.79875 L 8.0180856,5.3832459 z"
-       transform="matrix(1.0632413e-2,1.6313301,-1.0866093,1.2696974e-2,26.107456,935.16825)" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_arrow_top.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.0"
-   width="29.999998"
-   height="17"
-   id="svg2">
-  <defs
-     id="defs4" />
-  <g
-     transform="translate(-8.9406967e-8,-935.36218)"
-     id="layer1">
-    <path
-       d="M 8.0180856,5.3832459 L 13.390995,14.908102 L 2.4557733,14.79875 L 8.0180856,5.3832459 z"
-       transform="matrix(1.6313301,-1.0632413e-2,1.2696974e-2,1.0866093,1.8504061,933.62447)"
-       id="path3203"
-       style="opacity:0.5;fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:3.7553103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_frame.svg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.0"
-   width="108"
-   height="106.99999"
-   id="svg3758">
-  <defs
-     id="defs3760" />
-  <g
-     transform="translate(-152.14287,-506.79071)"
-     id="layer1">
-    <rect
-       width="98"
-       height="96.999992"
-       x="157.14287"
-       y="511.79071"
-       id="rect3768"
-       style="opacity:0.5;fill:none;fill-opacity:1;stroke:#00ffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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:  Build information file for project foldersuite
-*
-*/
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// exports for HW & emulator
-// touch
-../data/suite.xml z:/private/101F4CD2/import/suites/foldersuite_touch/suite.xml
-../data/items_touch.xml z:/private/101F4CD2/import/suites/foldersuite_touch/items.xml
-// non-touch
-../data/suite.xml z:/private/101F4CD2/import/suites/foldersuite_nontouch/suite.xml
-../data/items_nontouch.xml z:/private/101F4CD2/import/suites/foldersuite_nontouch/items.xml
-
-// default
-../data/suite.xml z:/private/101F4CD2/import/suites/foldersuite/suite.xml
-#ifdef __PEN_SUPPORT
-../data/items_touch.xml z:/private/101F4CD2/import/suites/foldersuite/items.xml
-#else 
-../data/items_nontouch.xml z:/private/101F4CD2/import/suites/foldersuite/items.xml
-#endif
-
-../loc/matrixmenudata.loc          APP_LAYER_LOC_EXPORT_PATH(matrixmenudata.loc)
-// MCS root folder configuration
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-../data/matrixmenudatatestcontent.xml Z:/private/200113DD/content/matrixmenudata.xml
-#else
-../data/matrixmenudata.xml Z:/private/200113DD/content/matrixmenudata.xml
-#endif
-../data/matrixmenudata.dtd Z:/private/200113DD/content/01/matrixmenudata.dtd
-
-./copyheaderfile.xml                 /epoc32/tools/makefile_templates/general/copyheaderfile.xml
-./copyheaderfile.flm                 /epoc32/tools/makefile_templates/general/copyheaderfile.flm
-./copyheaderfile.meta                /epoc32/tools/makefile_templates/general/copyheaderfile.meta
-
-PRJ_MMPFILES
-foldersuite.mmp
-#ifndef SBSV2
-gnumakefile exportfoldersuite.mk
-#ifndef __PEN_SUPPORT
-gnumakefile exportmoveindicatoricons.mk
-#endif
-#endif
-
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME matrixmenudata
-OPTION DTD_TYPE dtd
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE gridroot.mif
-OPTION HEADERFILE gridroot.mbg
-OPTION SOURCES 	-c8,8 qgn_prop_folder_large -c8,8 qgn_prop_folder_empty -c8,8 qgn_prop_drm_rights_valid_super -c8,8 qgn_prop_drm_rights_exp_super -c8,8 qgn_indi_org_icon_locked -c8,8 qgn_indi_app_open -c8,8 qgn_prop_folder_parent -c8,8 qgn_prop_folder_medium
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE matrixmenudata.mif
-OPTION HEADERFILE matrixmenudata.mbg
-OPTION SOURCES 	-c8,8 qgn_menu_music -c8,8 qgn_menu_group_web -c8,8 qgn_menu_photos -c8,8 qgn_menu_video -c8,8 qgn_menu_group_apps -c8,8 qgn_menu_group_extras -c8,8 qgn_menu_games -c8,8 qgn_menu_group_organiser
-END
-
-#ifndef __PEN_SUPPORT
-START EXTENSION s60/mifconv
-OPTION TARGETFILE move_indicator_icons.mif
-OPTION HEADERFILE move_indicator_icons.mbg
-OPTION SOURCES 	-c8,8 qgn_indi_org_arrow_down -c8,8 qgn_indi_org_arrow_left -c8,8 qgn_indi_org_arrow_right -c8,8 qgn_indi_org_arrow_up
-END
-#endif
-
-#if defined(SBSV2) && defined(WINSCW)
-START EXTENSION general/copyheaderfile
-  SRCFILE foldersuite.rsg
-END
-
-START EXTENSION general/copyheaderfile
-  SRCFILE gridroot.mbg
-END
-
-START EXTENSION general/copyheaderfile
-  SRCFILE matrixmenudata.mbg
-END
-#ifndef __PEN_SUPPORT
-START EXTENSION general/copyheaderfile
-  SRCFILE move_indicator_icons.mbg
-END
-#endif
-#endif
\ No newline at end of file
--- a/menufw/menusuites/foldersuite/group/copyheaderfile.flm	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-# copyheaderfile.flm
-#
-# Copyright (c) 2008-2009 Nokia Ltd. All rights reserved.
-#
-# Header file exporting Function Like Makefile (FLM)
-# The file destinations  relative to EPOCROOT
-
-## Inputs
-# SRCFILE
-
-CLEANTARGETS:=
-RELEASEABLES:=
-CREATABLEPATHS:=
-
-# Check if all the inputs are present
-$(if $(SRCFILE),,$(error Must define SRCFILE))
-
-ifeq ($(PLATFORM),WINSCW)
-TRGDIR:=$(EPOCROOT)/epoc32/release/winscw/$(CFG)/z/resource/apps
-TARGET:=$(TRGDIR)/$(SRCFILE)
-RSGFILE:=$(EPOCROOT)/epoc32/include/$(SRCFILE)
-CREATABLEPATHS:=$(TRGDIR)
-RELEASEABLES:=$(TARGET)
-CLEANTARGETS:=$(RELEASEABLES)
-
-define copyheaderfile
-$(GUARD)_$(CFG):=1
-ALL:: $(TARGET)
-
-$(TARGET) : $(RSGFILE)
-	$(call startrule,copyheaderfile,FORCESUCCESS) \
-	$(GNUCP) $$< $$@ && \
-	$(GNUCHMOD) a+rw "$$@" \
-	$(call endrule,copyheaderfile)
-endef
-
-ifeq ($($(GUARD)_$(CFG)),)
-$(eval -$(copyheaderfile))
-$(eval $(call makepath,$(CREATABLEPATHS)))
-$(eval $(call whatmacro,$(RELEASEABLES),WHATMAKEFILE))
-$(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS)))
-endif
-
-endif  
--- a/menufw/menusuites/foldersuite/group/copyheaderfile.meta	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-# ============================================================================
-#  Name        : copyheaderfile.meta
-#  Part of     : foldersuite
-#  Description : 
-#  Version     : %version: 1 %
-#
-#  Copyright (c) 2008 Nokia Corporation.
-#  This material, including documentation and any related 
-#  computer programs, is protected by copyright controlled by 
-#  Nokia Corporation. All rights are reserved. Copying, 
-#  including reproducing, storing, adapting or translating, any 
-#  or all of this material requires the prior written consent of 
-#  Nokia Corporation. This material also contains confidential 
-#  information which may not be disclosed to others without the 
-#  prior written consent of Nokia Corporation.
-# ============================================================================
-
-platform	win32
-makefile 	gnumake
-techstream	s60
-
-
--- a/menufw/menusuites/foldersuite/group/copyheaderfile.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-# ============================================================================
-#  Name        : copyheaderfile.xml
-#  Part of     : mifconv_templates
-#  Description : 
-#  Version     : %version: 1 %
-#
-#  Copyright (c) 2008 Nokia Corporation.
-#  This material, including documentation and any related 
-#  computer programs, is protected by copyright controlled by 
-#  Nokia Corporation. All rights are reserved. Copying, 
-#  including reproducing, storing, adapting or translating, any 
-#  or all of this material requires the prior written consent of 
-#  Nokia Corporation. This material also contains confidential 
-#  information which may not be disclosed to others without the 
-#  prior written consent of Nokia Corporation.
-# ============================================================================
--->
-
-<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build ../../schema/build/2_0.xsd">
-    <interface name="general.copyheaderfile" extends="Symbian.UserFLM" flm="copyheaderfile.flm">
-      <param name='SRCFILE' default=''/>
-    </interface>
-    
-</build>
--- a/menufw/menusuites/foldersuite/group/exportfoldersuite.mk	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  resource makefile for folder suite.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32/release/$(PLATFORM)/$(CFG)/Z
-else
-ZDIR=$(EPOCROOT)epoc32/data/z
-endif
-
-FINAL :
-	echo Exporting .rsg files...
-	perl -S $(EPOCROOT)epoc32/tools/ecopyfile.pl "$(EPOCROOT)epoc32/include/foldersuite.rsg" "$(ZDIR)/resource/apps/foldersuite.rsg"
-	echo Exporting .mbg files...
-	perl -S $(EPOCROOT)epoc32/tools/ecopyfile.pl "$(EPOCROOT)epoc32/include/gridroot.mbg" "$(ZDIR)/resource/apps/gridroot.mbg"
-	perl -S $(EPOCROOT)epoc32/tools/ecopyfile.pl "$(EPOCROOT)epoc32/include/matrixmenudata.mbg" "$(ZDIR)/resource/apps/matrixmenudata.mbg"
-  
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/menufw/menusuites/foldersuite/group/exportmoveindicatoricons.mk	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:  resource makefile for folder suite.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32/release/$(PLATFORM)/$(CFG)/Z
-else
-ZDIR=$(EPOCROOT)epoc32/data/z
-endif
-
-FINAL :
-	echo Exporting mbg file...
-	perl -S $(EPOCROOT)epoc32/tools/ecopyfile.pl "$(EPOCROOT)epoc32/include/move_indicator_icons.mbg" "$(ZDIR)/resource/apps/move_indicator_icons.mbg"
-  
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/menufw/menusuites/foldersuite/group/foldersuite.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:  Project definition file for project folder suite.
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          dummyC.dll
-TARGETTYPE      dll
-
-UID             0x0 0x02349823
-CAPABILITY      CAP_GENERAL_DLL
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-SOURCE          dummyC.cpp
-
-SOURCEPATH      .
-USERINCLUDE     ../../../menufwui/matrixmenu/loc
-
-
-START RESOURCE  ../data/foldersuite.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-// End of file
--- a/menufw/menusuites/foldersuite/loc/matrixmenudata.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +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:  Localization strings for project Menu Framework.
-*
-*/
-
-
-CHARACTER_SET UTF8
-
-//d: Name of the root level.
-//d: Displayed in move to folder popup.
-//l: list_single_graphic_pane_t1_cp2
-//r: 1.0
-#define qtn_fldr_root_level "Root level"
-
-//d: Title of the Photos suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_photos_grid "Photos"
-
-//d: Title of the Music suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_music_grid "Music"
-
-//d: Title of the Video & TV suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_videotv_grid "Video & TV"
-
-//d: Title of the Games suite.
-//d: Displayed as an item title in grid.
-//l: aagrid_cell_image_pane_t1/opt2
-//r: 1.0
-#define qtn_apps_games_grid "Games"
-
-//d: Title of the Contacts suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_contacts_grid "Contacts"
-
-//d: Title of the Office suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_office_grid "Office"
-
-//d: Title of the Internet folder.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_internet_grid "Internet"
-
-//d: Title of the Applications folder.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_applications_grid "Applications"
-
-//d: Title of the Photos suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_photos_list "Photos"
-
-//d: Title of the Music suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_music_list "Music"
-
-//d: Title of the Video & TV suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_videotv_list "Video & TV"
-
-//d: Title of the Games suite.
-//d: Displayed as an item title in list.
-//l: aalist_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_games_list "Games"
-
-//d: Title of the Contacts suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_contacts_list "Contacts"
-
-//d: Title of the Office suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_office_list "Office"
-
-//d: Title of the Internet folder.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_internet_list "Internet"
-
-//d: Title of the Applications folder.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_applications_list "Applications"
-
-//d: Title of the Photos suite.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_photos_title "Photos"
-
-//d: Title of the Music suite.
-//d: Displayed as an item title in grid.
-//l: aagrid_cell_image_pane_t1/opt2
-//r: 1.0
-#define qtn_apps_music_title "Music"
-
-//d: Title of the Video & TV suite.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_videotv_title "Video & TV"
-
-//d: Title of the Games suite.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_games_title "Games"
-
-//d: Title of the Contacts suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_phonebook_title "Contacts"
-
-//d: Title of the Office suite.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_office_title "Office"
-
-//d: Title of the Internet folder.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_browserng_title "Internet"
-
-//d: Title of the Applications folder.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_appsfolder_title "Applications"
-
-// end of file
--- a/menufw/menusuites/foldersuite/src/dummyC.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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 <e32def.h>
-
-EXPORT_C int E32Main()
-{
-	return 0;
-}
--- a/menufw/menusuites/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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:  Build information file for project menusuites
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../foldersuite/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/menusuites.iby           CORE_APP_LAYER_IBY_EXPORT_PATH(menusuites.iby)
-../rom/menusuites_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(menusuites_resources.iby)
-
-../data/mmenuschema.xsd z:/private/101F4CD2/import/suites/mmenuschema.xsd
-
-PRJ_MMPFILES
-#ifndef SBSV2
-#ifdef WINSCW
-gnumakefile validateNewMenuFw.mk
-#endif
-#endif
-
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/menusuites/group/build.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<project name="menufw" default="validate" basedir=".">
-    <description>
-        this script validates MenuFw suites definitiona against XML Scheme 
-    </description>
-    
-  <echo>VALIDATION SCRIPT: This script validates files in ${xmllocation} againsts XML shema</echo>
-
-  <target name="validate" >
-    <xmlvalidate  failonerror="true">
-        <attribute name="http://xml.org/sax/features/validation" value="true"/>
-        <attribute name="http://apache.org/xml/features/validation/schema" value="true"/>
-        <attribute name="http://xml.org/sax/features/namespaces" value="true"/>
-        
-        <fileset dir="${xmllocation}" includes="**/*.xml" excludes="*.xml"/>
-    </xmlvalidate >
-  </target>
-
-</project>
\ No newline at end of file
--- a/menufw/menusuites/group/validate.mk	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +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:  scalable icon makefile for project
-#
-	
-
-FINAL :
-	echo VALIDATE
-	ant -q -Dxmllocation="\epoc32\release\winscw\udeb\Z\private\20012474\import\suites\"
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/menufw/menusuites/group/validateNewMenuFw.mk	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +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:  scalable icon makefile for project
-#
-
-FINAL :
-	echo VALIDATE
-	ant -q -Dxmllocation="\epoc32\release\winscw\udeb\Z\private\101F4CD2\import\suites\"
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/menufw/menusuites/rom/menusuites.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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:  IBY file for the menusuites subsystem
-*
-*/
-
-
-#ifndef MENUSUITES_IBY
-#define MENUSUITES_IBY
-
-
-data=\epoc32\data\z\resource\apps\gridroot.mif        resource\apps\gridroot.mif 
-data=\epoc32\include\gridroot.mbg                     resource\apps\gridroot.mbg
-
-data=\epoc32\data\z\resource\apps\matrixmenudata.mif        resource\apps\matrixmenudata.mif 
-data=\epoc32\include\matrixmenudata.mbg                     resource\apps\matrixmenudata.mbg
-
-data=\epoc32\data\Z\private\200113DD\content\matrixmenudata.xml private\200113DD\content\matrixmenudata.xml
-
-#ifndef __PEN_SUPPORT
-data=\epoc32\data\z\resource\apps\move_indicator_icons.mif       resource\apps\move_indicator_icons.mif
-data=\epoc32\data\z\resource\apps\move_indicator_icons.mbg       resource\apps\move_indicator_icons.mbg
-#endif
-
-// FOLDER SUITE
-
-#ifdef __PEN_SUPPORT
-data=/epoc32/data/z/private/101F4CD2/import/suites/foldersuite_touch\suite.xml private\101F4CD2\import\suites\foldersuite\suite.xml
-data=/epoc32/data/z/private/101F4CD2/import/suites/foldersuite_touch\items.xml private\101F4CD2\import\suites\foldersuite\items.xml
-#else 
-data=/epoc32/data/z/private/101F4CD2/import/suites/foldersuite_nontouch\suite.xml private\101F4CD2\import\suites\foldersuite\suite.xml
-data=/epoc32/data/z/private/101F4CD2/import/suites/foldersuite_nontouch\items.xml private\101F4CD2\import\suites\foldersuite\items.xml
-#endif
-
-/* File containing localization strings */
-data=\epoc32\include\foldersuite.rsg                     resource\apps\foldersuite.rsg
-
-#endif // MENUSUITES_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/menusuites/rom/menusuites_resources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:  IBY file for the menusuites subsystem
-*
-*/
-
-
-#ifndef MENUSUITES_RESOURCES_IBY
-#define MENUSUITES_RESOURCES_IBY
-
-data=\epoc32\data\z\resource\apps\foldersuite.rsc        resource\apps\foldersuite.rsc
-data=\epoc32\data\Z\private\200113DD\content\01\matrixmenudata.dtd private\200113DD\content\01\matrixmenudata.dtd
-
-#endif // MENUSUITES_RESOURCES_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/rom/menufw_stub.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:  
-*
-*/
-
-
-#ifndef MENUFW_STUB_IBY
-#define MENUFW_STUB_IBY
-
-data=\epoc32\data\z\system\install\menufw_stub.sis system\install\menufw_stub.sis
-
-#endif // MENUFW_STUB_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/sis/menufw_SA_RU.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-;
-; Copyright (c) 2002-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:  
-;
-
-;Languages
-&EN
-
-;Header
-#{"MenuFW"},(0x101f4cd2),2,0,0, TYPE=SA, RU
-; Supports Series 60 v5.0
-(0x1028315F), 0, 0, 0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files to install
-
-;hierarchynavigator
-"\epoc32\release\armv5\urel\hnengine.dll" -"!:\sys\bin\hnengine.dll"
-"\epoc32\release\armv5\urel\hnpresentationmodel.dll" -"!:\sys\bin\hnpresentationmodel.dll"
-"\epoc32\release\armv5\urel\hnmetadatamodel.dll" -"!:\sys\bin\hnmetadatamodel.dll"
-"\epoc32\release\armv5\urel\hnutilities.dll" -"!:\sys\bin\hnutilities.dll"
-
-;menufwui
-"\epoc32\release\armv5\urel\mmextensionmanager.dll" -"!:\sys\bin\mmextensionmanager.dll"
-"\epoc32\release\armv5\urel\mmfolderuiextensionplugin.dll" -"!:\sys\bin\mmfolderuiextensionplugin.dll"
-"\epoc32\data\z\resource\plugins\mmfolderuiextensionplugin.rsc" -"!:\resource\plugins\mmfolderuiextensionplugin.rsc"
-"\epoc32\data\z\resource\apps\mmfolderuiextplugin.rsc" -"!:\resource\apps\mmfolderuiextplugin.rsc"
-
-;matrixmenu
-"\epoc32\release\armv5\urel\matrixmenu.exe" -"!:\sys\bin\matrixmenu.exe"
-"\epoc32\data\z\private\10003a3f\apps\matrixmenu_reg.rsc" -"c:\private\10003a3f\import\apps\matrixmenu_reg.rsc"
-"\epoc32\data\z\resource\apps\matrixmenu.mif" -"!:\resource\apps\matrixmenu.mif"
-"\epoc32\data\z\resource\apps\matrixmenu.rsc" -"!:\resource\apps\matrixmenu.rsc"
-
-"\epoc32\data\z\resource\apps\matrixmenu.r01" -"!:\resource\apps\matrixmenu.r01"
-"\epoc32\data\z\resource\apps\gridroot.mbg" -"!:\resource\apps\gridroot.mbg"
-"\epoc32\data\z\resource\apps\gridroot.mif" -"!:\resource\apps\gridroot.mif"
-
-"\epoc32\data\z\resource\apps\move_indicator_icons.mbg" -"!:\resource\apps\move_indicator_icons.mbg"
-"\epoc32\data\z\resource\apps\move_indicator_icons.mif" -"!:\resource\apps\move_indicator_icons.mif"
-
-;mmwidgets
-"\epoc32\release\armv5\urel\mmwidgets.dll" -"!:\sys\bin\mmwidgets.dll"
-
-;tamplates
-
-"\epoc32\data\z\resource\list\custom\akn_single_large_graphic_pane.xml" -"!:\resource\list\custom\akn_single_large_graphic_pane.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_1.xml" -"!:\resource\list\custom\akn_logical_template_1.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_2.xml" -"!:\resource\list\custom\akn_logical_template_2.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_3.xml" -"!:\resource\list\custom\akn_logical_template_3.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_4.xml" -"!:\resource\list\custom\akn_logical_template_4.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_5.xml" -"!:\resource\list\custom\akn_logical_template_5.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_6.xml" -"!:\resource\list\custom\akn_logical_template_6.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_7.xml" -"!:\resource\list\custom\akn_logical_template_7.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_8.xml" -"!:\resource\list\custom\akn_logical_template_8.xml"
-;"\epoc32\data\z\resource\list\custom\akn_logical_template_10.xml" -"!:\resource\list\custom\akn_logical_template_10.xml"
-;"\epoc32\data\z\resource\list\custom\akn_logical_template_11.xml" -"!:\resource\list\custom\akn_logical_template_11.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_12.xml" -"!:\resource\list\custom\akn_logical_template_12.xml"
-;"\epoc32\data\z\resource\list\custom\akn_logical_template_13.xml" -"!:\resource\list\custom\akn_logical_template_13.xml"
- 
-"\epoc32\data\z\resource\grid\custom\akn_single_large_graphic_pane.xml" -"!:\resource\grid\custom\akn_single_large_graphic_pane.xml"
-"\epoc32\data\z\resource\grid\custom\akn_logical_template_1.xml" -"!:\resource\grid\custom\akn_logical_template_1.xml"
-"\epoc32\data\z\resource\grid\custom\akn_logical_template_2.xml" -"!:\resource\grid\custom\akn_logical_template_2.xml"
-"\epoc32\data\z\resource\grid\custom\akn_logical_template_3.xml" -"!:\resource\grid\custom\akn_logical_template_3.xml"
-"\epoc32\data\z\resource\grid\custom\akn_logical_template_4.xml" -"!:\resource\grid\custom\akn_logical_template_4.xml"
- 
-
-;lct
-"\epoc32\data\z\resource\list\lct\akn_single_large_graphic_pane.xml" -"!:\resource\list\lct\akn_single_large_graphic_pane.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_1.xml" -"!:\resource\list\lct\akn_logical_template_1.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_2.xml" -"!:\resource\list\lct\akn_logical_template_2.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_3.xml" -"!:\resource\list\lct\akn_logical_template_3.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_4.xml" -"!:\resource\list\lct\akn_logical_template_4.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_5.xml" -"!:\resource\list\lct\akn_logical_template_5.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_6.xml" -"!:\resource\list\lct\akn_logical_template_6.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_7.xml" -"!:\resource\list\lct\akn_logical_template_7.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_8.xml" -"!:\resource\list\lct\akn_logical_template_8.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_12.xml" -"!:\resource\list\lct\akn_logical_template_12.xml"
-;suites
-"\epoc32\data\Z\private\101f4cd2\import\suites\foldersuite\suite.xml" -"!:\private\101f4cd2\import\suites\foldersuite\suite.xml"
-"\epoc32\data\Z\private\101f4cd2\import\suites\foldersuite\items.xml" -"!:\private\101f4cd2\import\suites\foldersuite\items.xml"
-"\epoc32\data\Z\resource\apps\foldersuite.rsc" -"!:\resource\apps\foldersuite.rsc"
-"\epoc32\data\Z\resource\apps\foldersuite.rsg" -"!:\resource\apps\foldersuite.rsg"
-
-
-;TEST CONTENT
-;removed
\ No newline at end of file
--- a/menufw/sis/menufw_stub.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /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:
-;
-
-;Languages
-&EN
-
-;Header
-#{"MenuFW"},(0x101f4cd2),1,0,0, TYPE=SA
-; Supports Series 60 v5.0
-(0x1028315F), 0, 0, 0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files
-
-;hierarchynavigator
-"" -"z:\sys\bin\hnengine.dll"
-"" -"z:\sys\bin\hnpresentationmodel.dll"
-"" -"z:\sys\bin\hnmetadatamodel.dll"
-"" -"z:\sys\bin\hnutilities.dll"
-
-;menufwui
-"" -"z:\sys\bin\mmextensionmanager.dll"
-"" -"z:\sys\bin\mmfolderuiextensionplugin.dll"
-"" -"z:\resource\plugins\mmfolderuiextensionplugin.rsc"
-"" -"z:\resource\apps\mmfolderuiextplugin.rsc"
-
-;matrixmenu
-"" -"z:\sys\bin\matrixmenu.exe"
-"" -"z:\private\10003a3f\import\apps\matrixmenu_reg.rsc"
-"" -"z:\resource\apps\matrixmenu.mif"
-"" -"z:\resource\apps\matrixmenu.r*"
-
-
-"" -"z:\resource\apps\gridroot.mbg"
-"" -"z:\resource\apps\gridroot.mif"
-
-"" -"z:\resource\apps\move_indicator_icons.mbg"
-"" -"z:\resource\apps\move_indicator_icons.mif"
-
-;mmwidgets
-"" -"z:\sys\bin\mmwidgets.dll"
-
-;tamplates
-
-"" -"z:\resource\list\custom\akn_single_large_graphic_pane.xml"
-"" -"z:\resource\list\custom\akn_logical_template_1.xml"
-"" -"z:\resource\list\custom\akn_logical_template_2.xml"
-"" -"z:\resource\list\custom\akn_logical_template_3.xml"
-"" -"z:\resource\list\custom\akn_logical_template_4.xml"
-"" -"z:\resource\list\custom\akn_logical_template_5.xml"
-"" -"z:\resource\list\custom\akn_logical_template_6.xml"
-"" -"z:\resource\list\custom\akn_logical_template_7.xml"
-"" -"z:\resource\list\custom\akn_logical_template_8.xml"
-"" -"z:\resource\list\custom\akn_logical_template_10.xml"
-"" -"z:\resource\list\custom\akn_logical_template_11.xml"
-"" -"z:\resource\list\custom\akn_logical_template_12.xml"
-"" -"z:\resource\list\custom\akn_logical_template_13.xml"
-
-"" -"z:\resource\grid\custom\akn_single_large_graphic_pane.xml"
-"" -"z:\resource\grid\custom\akn_logical_template_1.xml"
-"" -"z:\resource\grid\custom\akn_logical_template_2.xml"
-"" -"z:\resource\grid\custom\akn_logical_template_3.xml"
-"" -"z:\resource\grid\custom\akn_logical_template_4.xml"
-
-;lct
-"" -"z:\resource\list\lct\akn_single_large_graphic_pane.xml"
-"" -"z:\resource\list\lct\akn_logical_template_1.xml"
-"" -"z:\resource\list\lct\akn_logical_template_2.xml"
-"" -"z:\resource\list\lct\akn_logical_template_3.xml"
-"" -"z:\resource\list\lct\akn_logical_template_4.xml"
-"" -"z:\resource\list\lct\akn_logical_template_5.xml"
-"" -"z:\resource\list\lct\akn_logical_template_6.xml"
-"" -"z:\resource\list\lct\akn_logical_template_7.xml"
-"" -"z:\resource\list\lct\akn_logical_template_8.xml"
-"" -"z:\resource\list\lct\akn_logical_template_12.xml"
-;suites
-"" -"z:\private\101f4cd2\import\suites\foldersuite\suite.xml"
-"" -"z:\private\101f4cd2\import\suites\foldersuite\items.xml"
-"" -"z:\resource\apps\foldersuite.rsc"
-"" -"z:\resource\apps\foldersuite.rsg"
-
-
-;TEST CONTENT:
-;removed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/bwins/snsrutilsu.def	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,17 @@
+EXPORTS
+	?qt_metacall@SnsrLabel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1 NONAME ; int SnsrLabel::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0SnsrLabel@@QAE@PAVQGraphicsItem@@@Z @ 2 NONAME ; SnsrLabel::SnsrLabel(class QGraphicsItem *)
+	?tr@SnsrLabel@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString SnsrLabel::tr(char const *, char const *, int)
+	?tr@SnsrLabel@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString SnsrLabel::tr(char const *, char const *)
+	?getStaticMetaObject@SnsrLabel@@SAABUQMetaObject@@XZ @ 5 NONAME ; struct QMetaObject const & SnsrLabel::getStaticMetaObject(void)
+	?changeEvent@SnsrLabel@@MAEXPAVQEvent@@@Z @ 6 NONAME ; void SnsrLabel::changeEvent(class QEvent *)
+	?staticMetaObject@SnsrLabel@@2UQMetaObject@@B @ 7 NONAME ; struct QMetaObject const SnsrLabel::staticMetaObject
+	??1SnsrLabel@@UAE@XZ @ 8 NONAME ; SnsrLabel::~SnsrLabel(void)
+	?trUtf8@SnsrLabel@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString SnsrLabel::trUtf8(char const *, char const *)
+	?metaObject@SnsrLabel@@UBEPBUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const * SnsrLabel::metaObject(void) const
+	??0SnsrLabel@@QAE@ABVQString@@PAVQGraphicsItem@@@Z @ 11 NONAME ; SnsrLabel::SnsrLabel(class QString const &, class QGraphicsItem *)
+	?setThemedTextColor@SnsrLabel@@AAEXXZ @ 12 NONAME ; void SnsrLabel::setThemedTextColor(void)
+	?trUtf8@SnsrLabel@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString SnsrLabel::trUtf8(char const *, char const *, int)
+	?qt_metacast@SnsrLabel@@UAEPAXPBD@Z @ 14 NONAME ; void * SnsrLabel::qt_metacast(char const *)
+	??_ESnsrLabel@@UAE@I@Z @ 15 NONAME ; SnsrLabel::~SnsrLabel(unsigned int)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/common.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,136 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: screensaverapp project - common QMake settings
+#
+
+CONFIG += debug_and_release
+
+# On win32 and mac, debug and release libraries are named differently.
+# We must follow the debug and release settings Qt was compiled with:
+# build debug iff Qt built debug, build release iff Qt built release.
+win32|mac {
+    !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
+        CONFIG -= debug_and_release debug release
+        contains(QT_CONFIG,debug):  CONFIG+=debug
+        contains(QT_CONFIG,release):CONFIG+=release
+    }
+}
+
+CONFIG(debug, debug|release) {
+    SUBDIRPART = debug
+} else {
+    SUBDIRPART = release
+}
+
+win32: OUTPUT_DIR = $$PWD/../../bin/$$SUBDIRPART
+symbian: OUTPUT_DIR = $$PWD/bin
+
+SOURCE_DIR = $$PWD/inc
+
+#test whether we have a unit test
+!testcase {
+    OBJECTS_DIR = $$OUTPUT_DIR/tmp/$$TARGET
+    DESTDIR = $$OUTPUT_DIR
+    MOC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/moc
+    RCC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/rcc
+    UI_DIR = $$OUTPUT_DIR/tmp/$$TARGET/ui
+} else { # test part is NOT DONE
+    QT *= testlib
+    CONFIG += console
+    CONFIG -= app_bundle
+    OBJECTS_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET
+    DESTDIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART
+    MOC_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/moc
+    RCC_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/rcc
+    UI_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/ui
+    LIBS += -L$$OUTPUT_DIR/bin/$$SUBDIRPART/bin  #link against library that we test
+}
+
+# Add the output dirs to the link path too
+LIBS += -L$$DESTDIR
+
+DEPENDPATH += . $$SOURCE_DIR
+INCLUDEPATH += . $$SOURCE_DIR
+#For some reason the default include path doesn't include MOC_DIR on symbian
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += $$MOC_DIR
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.EPOCALLOWDLLDATA=1
+}
+
+win32 {
+    # add platfrom API for windows
+    INCLUDEPATH += \
+                $$PWD/../../homescreensrv/homescreensrv_plat/appruntimemodel_api \
+                $$PWD/../../homescreensrv/homescreensrv_plat/servicemodel_api \
+                $$PWD/../../homescreensrv/homescreensrv_plat/statemodel_api \
+                $$PWD/../../homescreensrv/screensavermodel/inc
+}
+
+plugin: !isEmpty(PLUGIN_SUBDIR): DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR
+
+win32: plugin { # copy manifiers
+    manifest.path = $$DESTDIR
+    manifest.files = ./resource/*.manifest
+    manifest.CONFIG += no_build
+
+    INSTALLS += manifest
+    PRE_TARGETDEPS += install_manifest
+}
+
+symbian: plugin { # copy qtstub and manifest
+    pluginstub.sources = $${TARGET}.dll
+    pluginstub.path = $$PLUGIN_SUBDIR
+
+    DEPLOYMENT += pluginstub
+
+    qtplugins.path = $$PLUGIN_SUBDIR
+    qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
+    qtplugins.sources += resource/$${TARGET}.manifest
+
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)"
+}
+
+defineTest(exportResources) {
+symbian {
+    for(subdirs, 1) {
+        entries = $$files($$subdirs)
+        for(entry, entries) : BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)"
+    }
+    export ( BLD_INF_RULES.prj_exports)
+}
+win32 {
+    name = $$replace(1, [/\\\\\.\*], _)
+    eval ($${name}.path = $${OUTPUT_DIR}/$${2})
+    eval ($${name}.files = $$1)
+    eval ($${name}.CONFIG += no_build)
+
+    INSTALLS += $$name
+    PRE_TARGETDEPS += install_$${name}
+
+    export ( $${name}.path )
+    export ( $${name}.files )
+    export ( $${name}.CONFIG )
+    export ( INSTALLS )
+    export ( PRE_TARGETDEPS )
+}
+}
+
+# support for NFT
+nft:DEFINES += NFT
+nft_ram {
+    DEFINES += NFT NFT_RAM
+    LIBS += -lhal
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/eabi/snsrutilsu.def	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,22 @@
+EXPORTS
+	_ZN9SnsrLabel11changeEventEP6QEvent @ 1 NONAME
+	_ZN9SnsrLabel11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN9SnsrLabel11qt_metacastEPKc @ 3 NONAME
+	_ZN9SnsrLabel16staticMetaObjectE @ 4 NONAME DATA 16
+	_ZN9SnsrLabel18setThemedTextColorEv @ 5 NONAME
+	_ZN9SnsrLabel19getStaticMetaObjectEv @ 6 NONAME
+	_ZN9SnsrLabelC1EP13QGraphicsItem @ 7 NONAME
+	_ZN9SnsrLabelC1ERK7QStringP13QGraphicsItem @ 8 NONAME
+	_ZN9SnsrLabelC2EP13QGraphicsItem @ 9 NONAME
+	_ZN9SnsrLabelC2ERK7QStringP13QGraphicsItem @ 10 NONAME
+	_ZN9SnsrLabelD0Ev @ 11 NONAME
+	_ZN9SnsrLabelD1Ev @ 12 NONAME
+	_ZN9SnsrLabelD2Ev @ 13 NONAME
+	_ZNK9SnsrLabel10metaObjectEv @ 14 NONAME
+	_ZTI9SnsrLabel @ 15 NONAME
+	_ZTV9SnsrLabel @ 16 NONAME
+	_ZThn16_N9SnsrLabelD0Ev @ 17 NONAME
+	_ZThn16_N9SnsrLabelD1Ev @ 18 NONAME
+	_ZThn8_N9SnsrLabelD0Ev @ 19 NONAME
+	_ZThn8_N9SnsrLabelD1Ev @ 20 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/inc/snsrtest_global.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Global Screensaver macros for testing purposes.
+*
+*/
+
+#ifndef SNSRTEST_GLOBAL_H
+#define SNSRTEST_GLOBAL_H
+
+#ifndef SCREENSAVER_TEST
+    #define SCREENSAVER_TEST_CLASS(aClassName)
+    #define SCREENSAVER_TEST_FRIEND_CLASS(aClassName)
+#else
+    #define SCREENSAVER_TEST_CLASS(aClassName) class aClassName;
+    #define SCREENSAVER_TEST_FRIEND_CLASS(aClassName) friend class aClassName;
+#endif //SCREENSAVER_TEST
+
+/*!    
+To enable logging of function entry and exit use the following flag for qmake:
+-config nft
+To enable logging of function entry and exit aswell as RAM usage (Symbian only!)
+use the following flag for qmake:
+-config nft_ram
+*/
+
+#ifdef NFT
+    #include <QDebug>
+    #include <QTime>
+
+#ifdef NFT_RAM && Q_OS_SYMBIAN
+    #include <hal.h>
+    #include <e32std.h>
+
+    #define SCREENSAVER_TEST_FREERAM_ENTRY(function) \
+    TInt gEntryFreeRam(0); \
+    TInt gEntryFreeHeap(0); \
+    TInt gEntryTotalHeap(0); \
+    { \
+        HAL::Get(HAL::EMemoryRAMFree, gEntryFreeRam); \
+        RHeap &heap = User::Heap(); \
+        TInt biggestBlock(0); \
+        gEntryFreeHeap = heap.Available(biggestBlock); \
+        gEntryTotalHeap = heap.Size(); \
+        qDebug("(snsr nft RAM in) " function \
+            " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \
+            gEntryFreeRam >> 10, \
+            gEntryTotalHeap >> 10, \
+            gEntryFreeHeap >> 10); \
+    }
+    
+    #define SCREENSAVER_TEST_FREERAM_EXIT(function) \
+    { \
+        TInt freeRAM(0); \
+        HAL::Get(HAL::EMemoryRAMFree, freeRAM); \
+        RHeap &heap = User::Heap(); \
+        TInt biggestBlock(0); \
+        TInt freeHeap = heap.Available(biggestBlock); \
+        TInt totalHeap = heap.Size(); \
+        qDebug("(snsr nft RAM out) " function \
+            " - Memory (kB) - Free RAM: %d (%+d), Heap size: %d (%+d), Free heap: %d (%+d)", \
+            freeRAM >> 10, (freeRAM-gEntryFreeRam) >> 10, \
+            totalHeap >> 10, (totalHeap-gEntryTotalHeap) >> 10, \
+            freeHeap >> 10, (freeHeap-gEntryFreeHeap) >> 10); \
+    }
+#else // NFT_RAM && Q_OS_SYMBIAN
+    #define SCREENSAVER_TEST_FREERAM_ENTRY(function)
+    #define SCREENSAVER_TEST_FREERAM_EXIT(function)
+#endif // NFT_RAM && Q_OS_SYMBIAN
+
+    #define SCREENSAVER_TEST_TIME_ENTRY(function) \
+    QTime _ENTRY_TIME; \
+    _ENTRY_TIME.start(); \
+    { \
+        qDebug() << "(snsr nft time in)" << function << "-" << \
+            _ENTRY_TIME.toString("hh:mm:ss.zzz"); \
+    }
+        
+    #define SCREENSAVER_TEST_TIME_EXIT(function) \
+    { \
+        qDebug() << "(snsr nft time out)" << function << "-" << \
+            QTime::currentTime().toString("hh:mm:ss.zzz") << \
+            "elapsed:" << _ENTRY_TIME.elapsed() << "ms"; \
+    }
+
+    #define SCREENSAVER_TEST_FUNC_ENTRY(function)   SCREENSAVER_TEST_TIME_ENTRY(function) \
+        SCREENSAVER_TEST_FREERAM_ENTRY(function)
+    #define SCREENSAVER_TEST_FUNC_EXIT(function)    SCREENSAVER_TEST_TIME_EXIT(function) \
+        SCREENSAVER_TEST_FREERAM_EXIT(function)
+#else //NFT
+    #define SCREENSAVER_TEST_FUNC_ENTRY(function)
+    #define SCREENSAVER_TEST_FUNC_EXIT(function)
+#endif //NFT
+
+#endif // SNSRTEST_GLOBAL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/misc/cmt/cmtsnsr.cmd	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+@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
+
+call collectsnsrfiles.cmd
+cmt -c snsrconf.ini -o snsrcmt.txt < snsrfiles.txt 
+cmt2html -i snsrcmt.txt
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/misc/cmt/collectsnsrfiles.cmd	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+@rem
+rem dir ..\..\screensaverapp\*.cpp /s /b >snsrfiles.txt
+dir ..\..\screensaverproviders\snsrbigclockscreensaverprovider\src\*.cpp /s /b >snsrfiles.txt
+dir ..\..\runtimeproviders\snsrdefaultruntimeprovider\src\*.cpp /s /b >>snsrfiles.txt
+dir ..\..\snsrapplication\src\*.cpp /s /b >>snsrfiles.txt
+dir ..\..\stateproviders\snsrdefaultstateprovider\src\*.cpp /s /b >>snsrfiles.txt
+dir ..\..\..\..\homescreensrv\bagetmodel\src\*.cpp /s /b >>snsrfiles.txt
+dir ..\..\..\..\homescreensrv\screensavermodel\src\*.cpp /s /b >>snsrfiles.txt
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/misc/cmt/snsrconf.ini	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+MCCABE_FUNCTION_MAX=20
+V_FUNCTION_MIN=1
+V_FUNCTION_MAX=2000
+V_FILE_MIN=1
+V_FILE_MAX=20000
+LOC_FUNCTION_MIN=1  
+LOC_FUNCTION_MAX=100
+LOC_FILE_MIN=1
+LOC_FILE_MAX=2000
+B_FILE_MIN=0
+B_FILE_MAX=10
+COMMENT_RATIO_FILE_MIN=0
+COMMENT_RATIO_FILE_MAX=100
+COMMENT_RATIO_FUNCTION_MIN=0
+COMMENT_RATIO_FUNCTION_MAX=100
+COMMENT_FUNCTION_MIN=0
Binary file screensaverapp/misc/screensaver_uids.xls has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/rom/screensaverapp.iby	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef __SCREENSAVERAPP_IBY__
+#define __SCREENSAVERAPP_IBY__
+
+
+// ---- hsapplication --------------------------------------------
+
+file=ABI_DIR\BUILD_DIR\snsrapplication.exe                            PROGRAMS_DIR\snsrapplication.exe
+data=ZPRIVATE\10003a3f\import\apps\snsrapplication_reg.rsc            private\10003a3f\import\apps\snsrapplication_reg.rsc
+
+// ---- runtimeproviders --------------------------------------------
+
+// -------- snsrdefaultruntimeprovider
+file=ABI_DIR\BUILD_DIR\snsrdefaultruntimeprovider.dll                 SHARED_LIB_DIR\snsrdefaultruntimeprovider.dll
+data=\epoc32\data\z\snsrresources\plugins\runtimeproviders\snsrdefaultruntimeprovider.qtplugin    snsrresources\plugins\runtimeproviders\snsrdefaultruntimeprovider.qtplugin
+data=\epoc32\data\z\snsrresources\plugins\runtimeproviders\snsrdefaultruntimeprovider.manifest    snsrresources\plugins\runtimeproviders\snsrdefaultruntimeprovider.manifest
+
+// ---- stateproviders --------------------------------------------
+
+// -------- snsrdefaultstateprovider
+file=ABI_DIR\BUILD_DIR\snsrdefaultstateprovider.dll                                            SHARED_LIB_DIR\snsrdefaultstateprovider.dll
+data=\epoc32\data\z\snsrresources\plugins\stateproviders\snsrdefaultstateprovider.qtplugin       snsrresources\plugins\stateproviders\snsrdefaultstateprovider.qtplugin
+data=\epoc32\data\z\snsrresources\plugins\stateproviders\snsrdefaultstateprovider.manifest       snsrresources\plugins\stateproviders\snsrdefaultstateprovider.manifest
+
+// ---- screensaverproviders --------------------------------------------
+
+// -------- snsrbigclockscreensaverprovider
+file=ABI_DIR\BUILD_DIR\snsrbigclockscreensaverprovider.dll                                            SHARED_LIB_DIR\snsrbigclockscreensaverprovider.dll
+data=\epoc32\data\z\snsrresources\plugins\screensaverproviders\snsrbigclockscreensaverprovider.qtplugin       snsrresources\plugins\screensaverproviders\snsrbigclockscreensaverprovider.qtplugin
+data=\epoc32\data\z\snsrresources\plugins\screensaverproviders\snsrbigclockscreensaverprovider.manifest       snsrresources\plugins\screensaverproviders\snsrbigclockscreensaverprovider.manifest
+
+// ---- style plugins --------------------------------------------------
+
+// -------- snsranalogclockstyleplugin
+file=ABI_DIR\BUILD_DIR\snsranalogclockstyleplugin.dll                                            SHARED_LIB_DIR\snsranalogclockstyleplugin.dll
+data=\epoc32\data\z\snsrresources\plugins\snsrstyleplugins\snsranalogclockstyleplugin.qtplugin       snsrresources\plugins\snsrstyleplugins\snsranalogclockstyleplugin.qtplugin
+data=\epoc32\data\z\snsrresources\plugins\snsrstyleplugins\snsranalogclockstyleplugin.manifest       snsrresources\plugins\snsrstyleplugins\snsranalogclockstyleplugin.manifest
+
+// -------- snsroledclockstyleplugin
+file=ABI_DIR\BUILD_DIR\snsroledclockstyleplugin.dll                                            SHARED_LIB_DIR\snsroledclockstyleplugin.dll
+data=\epoc32\data\z\snsrresources\plugins\snsrstyleplugins\snsroledclockstyleplugin.qtplugin       snsrresources\plugins\snsrstyleplugins\snsroledclockstyleplugin.qtplugin
+data=\epoc32\data\z\snsrresources\plugins\snsrstyleplugins\snsroledclockstyleplugin.manifest       snsrresources\plugins\snsrstyleplugins\snsroledclockstyleplugin.manifest
+
+// ---- serviceproviders --------------------------------------------
+
+// -------- snsruseractivityservice
+file=ABI_DIR\BUILD_DIR\snsruseractivityservice.dll                    SHARED_LIB_DIR\snsruseractivityservice.dll
+
+// ---- snsrutils --------------------------------------------
+
+file=ABI_DIR\BUILD_DIR\snsrutils.dll                                  SHARED_LIB_DIR\snsrutils.dll
+
+#endif //__SCREENSAVERAPP_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/runtimeproviders/runtimeproviders.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: runtimeproviders.pro
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  = snsrdefaultruntimeprovider
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/inc/snsrdefaultruntime.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Default Screensaver runtime.
+*
+*/
+
+#ifndef SNSRDEFAULTRUNTIME_H
+#define SNSRDEFAULTRUNTIME_H
+
+#include <hsruntime.h>
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrDefaultRuntimeProvider)
+
+class QStateMachine;
+class HbMainWindow;
+
+class SnsrDefaultRuntime : public HsRuntime
+{
+
+    Q_OBJECT
+
+public:
+
+    SnsrDefaultRuntime(QObject *parent = 0);
+    ~SnsrDefaultRuntime();
+
+public slots:
+
+    void start();
+    void stop();
+
+private:
+
+    Q_DISABLE_COPY(SnsrDefaultRuntime)
+
+    void initializeUserInterface();
+    void initializeStateMachine();
+
+    void createStates();
+
+private:
+
+    QStateMachine *mStateMachine;
+    HbMainWindow *mWindow;
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrDefaultRuntimeProvider)
+
+};
+
+#endif // SNSRDEFAULTRUNTIME_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/inc/snsrdefaultruntimeprovider.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Default runtime provider.
+*
+*/
+
+#ifndef SNSRDEFAULTRUNTIMEPROVIDER_H
+#define SNSRDEFAULTRUNTIMEPROVIDER_H
+
+#include <hsiruntimeprovider.h>
+
+class SnsrDefaultRuntimeProvider : public QObject, 
+    public IHsRuntimeProvider
+{
+
+    Q_OBJECT
+    Q_INTERFACES(IHsRuntimeProvider)
+
+public:
+
+    SnsrDefaultRuntimeProvider(QObject *parent = 0);
+    ~SnsrDefaultRuntimeProvider();
+
+    QList<HsRuntimeToken> runtimes();
+    HsRuntime *createRuntime(const HsRuntimeToken& token);
+
+};
+
+#endif // SNSRDEFAULTRUNTIMEPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/resource/snsrdefaultruntimeprovider.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<runtimeprovider>
+    <runtime library="snsrdefaultruntimeprovider.dll"
+             uri="screensaver.nokia.com/runtime/defaultruntime"/>
+</runtimeprovider>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/snsrdefaultruntimeprovider.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: snsrdefaultruntimeprovider.pri
+#
+
+HEADERS += ./inc/*.h
+
+SOURCES += ./src/*.cpp
+
+DEPENDPATH +=   ./inc \
+                ./src
+
+INCLUDEPATH += ./inc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/snsrdefaultruntimeprovider.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  snsrdefaultruntimeprovider.pro
+#
+
+TEMPLATE = lib
+CONFIG += plugin
+PLUGIN_SUBDIR = /snsrresources/plugins/runtimeproviders
+
+include (../../common.pri)
+
+LIBS += -lappruntimemodel \
+        -lstatemodel
+
+CONFIG += hb
+
+symbian: {
+TARGET.UID3 = 0x2002704F
+}
+
+include(snsrdefaultruntimeprovider.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/src/snsrdefaultruntime.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Default Screensaver runtime.
+*
+*/
+
+#include "snsrdefaultruntime.h"
+
+#include <QStateMachine>
+#include <QState>
+
+#include <hbmainwindow.h>
+
+#include <hsistateprovider.h>
+#include <hsstatefactory.h>
+
+/*!
+    \class SnsrDefaultRuntime
+    \ingroup group_snsrdefaultruntimeprovider
+    \brief Default implementation of the screensaver runtime.
+*/
+
+const char factoryManifestDir [] = "snsrresources/plugins/stateproviders";
+const char factoryPluginDir [] = "snsrresources/plugins/stateproviders";
+const char stateLibrary[] = "snsrdefaultstateprovider.dll";
+
+const char rootStateUri [] = "screensaver.nokia.com/state/root";
+
+/*!
+    Constructs a new SnsrDefaultRuntime with parent.
+*/
+SnsrDefaultRuntime::SnsrDefaultRuntime(QObject *parent) :
+    HsRuntime(parent),
+    mStateMachine(0),
+    mWindow(0)
+{
+    initializeUserInterface();
+    initializeStateMachine();
+}
+
+/*!
+    Destructs the class.
+*/
+SnsrDefaultRuntime::~SnsrDefaultRuntime()
+{
+    delete mWindow;
+}
+
+/*!
+    Starts the runtime.
+*/
+void SnsrDefaultRuntime::start()
+{
+    mStateMachine->start();
+}
+
+/*!
+    Stops the runtime.
+*/
+void SnsrDefaultRuntime::stop()
+{
+    mStateMachine->stop();
+}
+
+/*!
+    Function initializes objects required to UI creation.
+*/
+void SnsrDefaultRuntime::initializeUserInterface()
+{
+    mWindow = new HbMainWindow();
+    mWindow->show();
+}
+
+/*!
+    Function initialize state machine.
+*/
+void SnsrDefaultRuntime::initializeStateMachine()
+{
+    // Ownership transfered to application.
+    // State machine instance will be removed after runtime destruction.
+    mStateMachine = new QStateMachine(this);
+
+    // Forward signals emited by statemachine.
+    connect(mStateMachine, SIGNAL(started()), SIGNAL(started()));
+    connect(mStateMachine, SIGNAL(stopped()), SIGNAL(stopped()));
+
+    createStates();
+}
+
+/*!
+    Function creates and initializes UI states. 
+*/
+void SnsrDefaultRuntime::createStates()
+{
+    HsStateToken token;
+    HsStateFactory factory(factoryManifestDir, factoryPluginDir);
+
+    token.mLibrary = stateLibrary;
+    token.mUri = rootStateUri;
+    QState *snsrRootState = factory.createState(token);
+    snsrRootState->setParent(mStateMachine);
+    snsrRootState->setObjectName(token.mUri);
+
+    mStateMachine->setInitialState(snsrRootState);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/src/snsrdefaultruntimeprovider.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Default runtime provider.
+*
+*/
+
+#include "snsrdefaultruntimeprovider.h"
+
+#include <QList>
+
+#include "snsrdefaultruntime.h"
+
+/*!
+    \class SnsrDefaultRuntimeProvider
+    \ingroup group_snsrdefaultruntimeprovider
+    \brief Provides a default implementation of the screensaver runtime.
+
+    This provider includes a default implementation of the screensaver runtime.
+    The runtime is described in the snsrdefaultruntimeprovider.manifest file.
+*/
+
+// Constants
+const char gFileName [] = "snsrdefaultruntimeprovider.dll";
+const char gFileUri [] = "screensaver.nokia.com/runtime/defaultruntime";
+
+/*!
+    Constructs a new SnsrDefaultRuntimeProvider with parent.
+*/
+SnsrDefaultRuntimeProvider::SnsrDefaultRuntimeProvider(QObject *parent) :
+    QObject(parent)
+{
+}
+
+/*!
+    Destructs the class.
+*/
+SnsrDefaultRuntimeProvider::~SnsrDefaultRuntimeProvider()
+{
+}
+
+/*!
+    Returns contained runtimes as a list of tokens.
+*/
+QList<HsRuntimeToken> SnsrDefaultRuntimeProvider::runtimes()
+{
+    HsRuntimeToken token = {gFileName, gFileUri};
+    return QList<HsRuntimeToken>() << token;
+}
+
+/*!
+    Creates a runtime based on the given token.
+*/
+HsRuntime *SnsrDefaultRuntimeProvider::createRuntime(const HsRuntimeToken& token)
+{
+    if ((token.mLibrary == gFileName) && (token.mUri == gFileUri)) {
+        return new SnsrDefaultRuntime();
+    }
+    else {
+        return 0;
+    }
+}
+
+#ifndef COVERAGE_MEASUREMENT
+Q_EXPORT_PLUGIN2(snsrdefaultruntimeprovider, SnsrDefaultRuntimeProvider)
+#endif // COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverapp.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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 "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: screensaverapp.pro
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS = snsrutils\
+          serviceproviders \
+          stateproviders \
+          runtimeproviders \
+          snsrapplication \
+          screensaverproviders 
+
+CONFIG += ordered
+
+symbian:include(screensaverapp_exports_to_rom.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverapp_exports_to_rom.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+BLD_INF_RULES.prj_exports += \
+    "$${LITERAL_HASH}include <platform_paths.hrh>" \
+     "rom/screensaverapp.iby CORE_APP_LAYER_IBY_EXPORT_PATH(screensaverapp.iby)"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/screensaverproviders.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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: screensaverproviders.pro
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS += snsrbigclockscreensaverprovider/snsranalogclockstyleplugin
+SUBDIRS += snsrbigclockscreensaverprovider/snsroledclockstyleplugin
+SUBDIRS += snsrbigclockscreensaverprovider
+
+CONFIG += ordered
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsranalogclockcontainer.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Container for analog clock.
+*
+*/
+
+#ifndef SNSRANALOGCLOCKCONTAINER_H
+#define SNSRANALOGCLOCKCONTAINER_H
+
+#include "snsrbigclockcontainer.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrBigClockScreensaverProvider)
+
+class HbLabel;
+class SnsrAnalogClockWidget;
+
+class SnsrAnalogClockContainer : public SnsrBigClockContainer
+{
+    Q_OBJECT
+
+public:
+
+    SnsrAnalogClockContainer();
+    ~SnsrAnalogClockContainer();
+
+public slots:
+
+    virtual void update();
+    virtual void changeLayout(Qt::Orientation orientation);
+
+private:
+    
+    HbLabel *mDateLabel;
+    SnsrAnalogClockWidget *mAnalogClockWidget;
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrBigClockScreensaverProvider)
+};
+
+#endif // SNSRANALOGCLOCKCONTAINER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockcontainer.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Base class container.
+*
+*/
+
+#ifndef SNSRBIGCLOCKCONTAINER_H
+#define SNSRBIGCLOCKCONTAINER_H
+
+#include <hbwidget.h>
+
+#include "snsrtest_global.h"
+#include "snsrdocumentloader.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrBigClockScreensaverProvider)
+
+class QGraphicsLinearLayout;
+
+class SnsrBigClockContainer : public HbWidget
+{
+    Q_OBJECT
+
+public:
+
+    SnsrBigClockContainer();
+    ~SnsrBigClockContainer();
+
+public slots:
+
+    virtual void update() = 0;
+    virtual void changeLayout(Qt::Orientation orientation) = 0;
+
+protected:
+
+    virtual void changeEvent(QEvent * event);
+
+private:
+
+    void setBackgroundColor(); 
+    void paint(
+            QPainter *painter,
+            const QStyleOptionGraphicsItem *option,
+            QWidget *widget = 0
+            );
+
+protected:
+
+    QGraphicsWidget *mMainContainer;
+    QGraphicsLinearLayout *mBackgroundContainerLayout;
+
+    SnsrDocumentLoader mDocumentLoader;
+    QObjectList mDocumentObjects;
+
+    int mCurrentOrientation;
+
+private:
+
+    QColor mBackgroundColor;
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrBigClockScreensaverProvider)
+};
+
+#endif // SNSRBIGCLOCKCONTAINER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockscreensaver.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Big clock Screensaver.
+*
+*/
+
+#ifndef SNSRBIGCLOCKSCREENSAVER_H
+#define SNSRBIGCLOCKSCREENSAVER_H
+
+#include <QTimer>
+
+#include <screensaver.h>
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrBigClockScreensaverProvider)
+
+class HbMainWindow;
+class SnsrBigClockContainer;
+
+class SnsrBigClockScreensaver : public Screensaver
+{
+    Q_OBJECT
+
+public:
+
+    enum ClockFormat
+    {
+        ClockFormatUndefined,
+        ClockFormatAnalog,
+        ClockFormatDigital
+    };
+
+    SnsrBigClockScreensaver();
+    ~SnsrBigClockScreensaver();
+
+private:
+
+    ClockFormat clockFormat();
+
+    virtual bool onInitialize();
+    virtual bool onForeground();
+    virtual bool onPartialForeground();
+    virtual bool onBackground();
+    virtual bool onPowerSave();
+    virtual bool onClose();
+
+private:
+
+    QTimer mTimer;
+    HbMainWindow *mMainWindow;
+    SnsrBigClockContainer *mCurrentContainer;
+    
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrBigClockScreensaverProvider)
+
+};
+
+#endif // SNSRBIGCLOCKSCREENSAVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockscreensaverprovider.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Big clock Screensaver provider.
+*
+*/
+
+#ifndef SNSRBIGCLOCKSCREENSAVERPROVIDER_H
+#define SNSRBIGCLOCKSCREENSAVERPROVIDER_H
+
+#include <iscreensaverprovider.h>
+#include <screensaver.h>
+
+class SnsrBigClockScreensaverProvider : public QObject, public IScreensaverProvider
+{
+    Q_OBJECT
+    Q_INTERFACES(IScreensaverProvider)
+
+public:
+
+    SnsrBigClockScreensaverProvider();
+    virtual ~SnsrBigClockScreensaverProvider();
+
+    QList<ScreensaverToken> screensavers();
+    Screensaver *createScreensaver(const ScreensaverToken& token);
+
+private:
+
+    ScreensaverToken mClockScreensaverToken;
+
+};
+
+#endif // SNSRBIGCLOCKSCREENSAVERPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrdigitalclockcontainer.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Container for digital clock.
+*
+*/
+
+#ifndef SNSRDIGITALCLOCKCONTAINER_H
+#define SNSRDIGITALCLOCKCONTAINER_H
+
+#include "snsrbigclockcontainer.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrBigClockScreensaverProvider)
+
+class HbLabel;
+
+class SnsrDigitalClockContainer : public SnsrBigClockContainer
+{
+    Q_OBJECT
+
+public:
+
+    SnsrDigitalClockContainer();
+    ~SnsrDigitalClockContainer();
+
+public slots:
+
+    virtual void update();
+    virtual void changeLayout(Qt::Orientation orientation);
+
+private:
+
+    HbLabel *mTimeLabel;
+    HbLabel *mAmPmLabel;
+    HbLabel *mDateLabel;
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrBigClockScreensaverProvider)
+};
+
+#endif // SNSRDIGITALCLOCKCONTAINER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrdocumentloader.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Screensaver custom document loader.
+*
+*/
+
+#ifndef SNSRDOCUMENTLOADER_H
+#define SNSRDOCUMENTLOADER_H
+
+#include <hbdocumentloader.h>
+
+#include "snsrtest_global.h"
+
+class SnsrDocumentLoader : public HbDocumentLoader
+{
+
+private:
+
+    virtual QObject *createObject(const QString &type, const QString &name);
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrBigClockScreensaverProvider)
+    
+};
+
+#endif // SNSRDOCUMENTLOADER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsroledanalogclockcontainer.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Container for oled analog clock.
+*
+*/
+
+#ifndef SNSROLEDANALOGCLOCKCONTAINER_H
+#define SNSROLEDANALOGCLOCKCONTAINER_H
+
+#include "snsrbigclockcontainer.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrBigClockScreensaverProvider)
+
+class SnsrOledClockWidget;
+
+class SnsrOledAnalogClockContainer : public SnsrBigClockContainer
+{
+    Q_OBJECT
+
+public:
+
+    SnsrOledAnalogClockContainer();
+    ~SnsrOledAnalogClockContainer();
+
+public slots:
+
+    virtual void update();
+    virtual void changeLayout(Qt::Orientation orientation);
+
+private:
+
+    SnsrOledClockWidget *mOledClockWidget;
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrBigClockScreensaverProvider)
+};
+
+#endif // SNSROLEDANALOGCLOCKCONTAINER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsroleddigitalclockcontainer.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Container for oled digital clock.
+*
+*/
+
+#ifndef SNSROLEDDIGITALCLOCKCONTAINER_H
+#define SNSROLEDDIGITALCLOCKCONTAINER_H
+
+#include "snsrbigclockcontainer.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrBigClockScreensaverProvider)
+
+class HbLabel;
+
+class SnsrOledDigitalClockContainer : public SnsrBigClockContainer
+{
+    Q_OBJECT
+
+public:
+
+    SnsrOledDigitalClockContainer();
+    ~SnsrOledDigitalClockContainer();
+
+public slots:
+
+    virtual void update();
+    virtual void changeLayout(Qt::Orientation orientation);
+
+private:
+
+    HbLabel *mTimeLabel;
+    HbLabel *mAmPmLabel;
+    HbLabel *mDateLabel;
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrBigClockScreensaverProvider)
+};
+
+#endif // SNSROLEDDIGITALCLOCKCONTAINER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/resource/snsrbigclockscreensaverprovider.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<screensaverprovider>
+    <screensaver library="snsrbigclockscreensaverprovider.dll"
+                 uri="screensaver.nokia.com/screensaver/bigclock"/>
+</screensaverprovider>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/inc/snsranalogclockstyleplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Analog clock style plugin.
+*
+*/
+
+#ifndef SNSRANALOGCLOCKSTYLEPLUGIN_H
+#define SNSRANALOGCLOCKSTYLEPLUGIN_H
+
+#include <QtPlugin>
+
+#include <hbstyleinterface.h>
+#include <hbglobal.h>
+
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrACStylePlugin)
+
+class SnsrAnalogClockStylePlugin: public QObject, public HbStyleInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(HbStyleInterface)
+
+public:
+    int primitiveCount() const;
+    HbWidgetBase *createPrimitive(HbStyle::Primitive primitive, QGraphicsItem *parent = 0) const;
+    void updatePrimitive(QGraphicsItem *item, HbStyle::Primitive primitive, const QStyleOption *option) const;
+    QString layoutPath() const;
+	
+	SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrACStylePlugin)
+
+};
+
+#endif // SNSRANALOGCLOCKSTYLEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockstyleplugin.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<snsranalogclockstyleplugin>
+    <screensaver library="snsranalogclockstyleplugin.dll"
+                 uri="screensaver.nokia.com/screensaver/analogclock"/>
+</snsranalogclockstyleplugin>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockwidget.css	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,21 @@
+HbWidget {
+    margin-left: 0un;
+    margin-top: 0un;
+}
+
+SnsrAnalogClockWidget {
+    layout: layout_1;
+}
+
+SnsrAnalogClockWidget::analog_clock_background {
+    pref-width: 40.0un;
+    pref-height: 40.0un;
+}
+
+SnsrAnalogClockWidget::analog_clock_hour_hand {
+    pref-height: 28.0un;
+}
+
+SnsrAnalogClockWidget::analog_clock_minute_hand {
+    pref-height: 34.0un;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockwidget.widgetml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,10 @@
+<hbwidget version="0.1">
+    <layout name="layout_1" type="mesh">
+        <meshitem src="analog_clock_background" srcEdge="CENTERV" dst="" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="analog_clock_background" srcEdge="CENTERH" dst="" dstEdge="CENTERH" spacing="0.0un" />
+        <meshitem src="analog_clock_hour_hand" srcEdge="CENTERV" dst="analog_clock_background" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="analog_clock_hour_hand" srcEdge="CENTERH" dst="analog_clock_background" dstEdge="CENTERH" spacing="0.0un" />
+        <meshitem src="analog_clock_minute_hand" srcEdge="CENTERV" dst="analog_clock_background" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="analog_clock_minute_hand" srcEdge="CENTERH" dst="analog_clock_background" dstEdge="CENTERH" spacing="0.0un" />
+    </layout>
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  snsranalogclockstyleplugin.pri
+#
+
+HEADERS += ./inc/*.h \
+           ./../snsrclockwidgets/inc/snsrstyleoptionanalogclock.h
+
+SOURCES += ./src/*.cpp
+
+DEPENDPATH += ./inc \
+              ./src \
+              ./resource
+
+INCLUDEPATH += ./inc \
+               ./../snsrclockwidgets/inc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  snsranalogclockstyleplugin.pro
+#
+
+TEMPLATE = lib
+
+CONFIG += plugin hb
+
+PLUGIN_SUBDIR = /snsrresources/plugins/snsrstyleplugins
+
+include (../../../common.pri)
+
+symbian: {
+    TARGET.UID3 = 0x20027054
+}
+
+include(snsranalogclockstyleplugin.pri)
+
+RESOURCES += snsranalogclockstyleplugin.qrc
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource>
+        <file alias="snsranalogclockwidget.css">resource/snsranalogclockwidget.css</file>
+        <file alias="snsranalogclockwidget.widgetml">resource/snsranalogclockwidget.widgetml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/src/snsranalogclockstyleplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  Analog clock style plugin.
+*
+*/
+
+#include "snsranalogclockstyleplugin.h"
+
+#include <QGraphicsDropShadowEffect>
+#include <hbiconitem.h>
+
+#include "snsrstyleoptionanalogclock.h"
+
+const int gDropShadowOffset(2);
+
+/*!
+    \class SnsrAnalogClockStylePlugin
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Screensaver analog clock style plugin.
+ */
+
+/*!
+    @copydoc HbStyleInterface::primitiveCount()
+ */
+int SnsrAnalogClockStylePlugin::primitiveCount() const
+{
+    return SnsrStyleOptionAnalogClock::LastItemIndex; // first index = 0, index of LastItemIndex = number of primitives;
+}
+
+/*!
+    @copydoc HbStyleInterface::createPrimitive()
+ */
+HbWidgetBase* SnsrAnalogClockStylePlugin::createPrimitive(HbStyle::Primitive primitive,
+                                                          QGraphicsItem *parent) const
+{
+    if (primitive == (int)SnsrStyleOptionAnalogClock::BackgroundItemIndex) {
+        HbIconItem *item = new HbIconItem("analog-clock-background", parent);
+        HbStyle::setItemName(item, "analog_clock_background");
+        item->setZValue(1);
+        return item;
+    }
+    else if (primitive == (int)SnsrStyleOptionAnalogClock::HourHandItemIndex) {
+        HbIconItem *item = new HbIconItem("analog-clock-hour-hand", parent);
+        HbStyle::setItemName(item, "analog_clock_hour_hand");
+        item->setZValue(2);
+        QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect();
+        effect->setOffset(gDropShadowOffset);
+        item->setGraphicsEffect(effect);
+        return item;
+    }
+    else if (primitive == (int)SnsrStyleOptionAnalogClock::MinuteHandItemIndex) {
+        HbIconItem *item = new HbIconItem("analog-clock-minute-hand", parent);
+        HbStyle::setItemName(item, "analog_clock_minute_hand");
+        item->setZValue(3);
+        QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect();
+        effect->setOffset(gDropShadowOffset);
+        item->setGraphicsEffect(effect);
+        return item;
+    }
+    return 0;
+}
+
+/*!
+    @copydoc HbStyleInterface::updatePrimitive()
+ */
+void SnsrAnalogClockStylePlugin::updatePrimitive(QGraphicsItem *item,
+                                                 HbStyle::Primitive primitive,
+                                                 const QStyleOption *option ) const
+{
+    const SnsrStyleOptionAnalogClock *opt =
+            qstyleoption_cast<const SnsrStyleOptionAnalogClock *>(option);
+    if (!opt || !item) {
+        return;
+    }
+
+    HbIconItem *iconItem = static_cast<HbIconItem *>(item);
+
+    int x = iconItem->iconItemSize().width()/2;
+    int y = iconItem->iconItemSize().height()/2;
+
+    if (primitive == (int)SnsrStyleOptionAnalogClock::HourHandItemIndex) {
+        iconItem->setTransform(QTransform().translate(x, y).rotate(opt->mH).translate(-x, -y));
+    }
+    else if (primitive == (int)SnsrStyleOptionAnalogClock::MinuteHandItemIndex) {
+        iconItem->setTransform(QTransform().translate(x, y).rotate(opt->mM).translate(-x, -y));
+    }
+}
+
+/*!
+    @copydoc HbStyleInterface::layoutPath()
+ */
+QString SnsrAnalogClockStylePlugin::layoutPath() const
+{
+    return QString(":/");
+}
+
+#ifndef COVERAGE_MEASUREMENT
+Q_EXPORT_PLUGIN2(snsranalogclockstyleplugin, SnsrAnalogClockStylePlugin)
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaver.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,8 @@
+<RCC>
+    <qresource prefix="/xml" >
+        <file alias="snsrbigclockscreensaverdigital.docml">resource/snsrbigclockscreensaverdigital.docml</file>
+        <file alias="snsrbigclockscreensaveranalog.docml">resource/snsrbigclockscreensaveranalog.docml</file>
+        <file alias="snsrbigclockscreensaveroledanalog.docml">resource/snsrbigclockscreensaveroledanalog.docml</file>
+        <file alias="snsrbigclockscreensaveroleddigital.docml">resource/snsrbigclockscreensaveroleddigital.docml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaverprovider.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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 "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  snsrbigclockscreensaverprovider.pri
+#
+
+HEADERS += ./inc/*.h \
+           ./snsrclockwidgets/inc/*.h
+
+SOURCES += ./src/*.cpp \
+           ./snsrclockwidgets/src/*.cpp
+
+DEPENDPATH += ./inc \
+              ./src \
+              ./resource
+
+INCLUDEPATH += ./inc \
+               ./snsrclockwidgets/inc
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaverprovider.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  snsrbigclockscreensaverprovider.pro
+#
+
+TEMPLATE = lib
+
+CONFIG += plugin
+PLUGIN_SUBDIR = /snsrresources/plugins/screensaverproviders
+
+include (../../common.pri)
+
+LIBS += -lscreensavermodel \
+        -lsnsrutils
+
+INCLUDEPATH += ../../snsrutils/inc
+        
+CONFIG += hb
+
+symbian: {
+    TARGET.UID3 = 0x20027052
+    # TODO: temporary until screensavermodel goes to platform API
+    INCLUDEPATH += ../../../../homescreensrv/screensavermodel/inc
+}
+
+include(snsrbigclockscreensaverprovider.pri)
+
+RESOURCES = snsrbigclockscreensaver.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsranalogclockwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Analog Clock Widget.
+*
+*/
+
+#ifndef SNSRANALOGCLOCKWIDGET_H
+#define SNSRANALOGCLOCKWIDGET_H
+
+#include <hbwidget.h>
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrClockWidgets)
+
+class QGraphicsItem;
+
+class SnsrAnalogClockWidget: public HbWidget
+{
+    Q_OBJECT
+
+public:
+
+    explicit SnsrAnalogClockWidget(QGraphicsItem *parent = 0);
+    virtual ~SnsrAnalogClockWidget();
+
+public slots:
+
+    void tick();
+
+private:
+
+    void resizeEvent (QGraphicsSceneResizeEvent *event);
+    void createPrimitives();
+    void updatePrimitives();
+
+private:
+
+    QString mStylePluginName;
+
+    QGraphicsItem *mClockBackground;
+    QGraphicsItem *mClockHourHand;
+    QGraphicsItem *mClockMinuteHand;
+
+    Q_DISABLE_COPY(SnsrAnalogClockWidget)
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrClockWidgets)
+
+};
+
+#endif // SNSRANALOGCLOCKWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsroledclockwidget.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Oled Clock Widget.
+*
+*/
+
+#ifndef SNSROLEDCLOCKWIDGET_H
+#define SNSROLEDCLOCKWIDGET_H
+
+#include <hbwidget.h>
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrClockWidgets)
+
+class QGraphicsItem;
+
+class SnsrOledClockWidget: public HbWidget
+{
+    Q_OBJECT
+
+public:
+
+    explicit SnsrOledClockWidget(QGraphicsItem *parent = 0);
+    virtual ~SnsrOledClockWidget();
+
+public slots:
+
+    void tick();
+
+private:
+
+    void resizeEvent (QGraphicsSceneResizeEvent *event);
+    void createPrimitives();
+    void updatePrimitives();
+
+private:
+
+    QString mStylePluginName;
+
+    QGraphicsItem *mClockBackground;
+    QGraphicsItem *mClockHourHand;
+    QGraphicsItem *mClockMinuteHand;
+    QGraphicsItem *mClockDateFrame;
+    QGraphicsItem *mClockDateLabel;
+
+    Q_DISABLE_COPY(SnsrOledClockWidget)
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrClockWidgets)
+
+};
+
+#endif // SNSROLEDCLOCKWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsrstyleoptionanalogclock.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Style option for analog clock widget.
+*
+*/
+
+#ifndef SNSRSTYLEOPTIONANALOGCLOCK_H
+#define SNSRSTYLEOPTIONANALOGCLOCK_H
+
+#include <hbstyleoption.h>
+
+class SnsrStyleOptionAnalogClock : public HbStyleOption
+{
+
+public:
+
+    enum ItemIndex
+    {
+        BackgroundItemIndex = 0,
+        HourHandItemIndex,
+        MinuteHandItemIndex,
+        LastItemIndex
+    };
+
+public:
+    SnsrStyleOptionAnalogClock();
+    SnsrStyleOptionAnalogClock(const SnsrStyleOptionAnalogClock &other);
+    ~SnsrStyleOptionAnalogClock();
+
+    enum StyleOptionType { Type = HbSO_Widget+1000};
+    enum StyleOptionVersion { Version = 1 };
+
+    qreal mM;
+    qreal mH;
+};
+
+#endif // SNSRSTYLEOPTIONANALOGCLOCK_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsrstyleoptionoledanalogclock.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Style option for oled analog clock widget.
+*
+*/
+
+#ifndef SNSRSTYLEOPTIONOLEDANALOGCLOCK_H
+#define SNSRSTYLEOPTIONOLEDANALOGCLOCK_H
+
+#include <hbstyleoption.h>
+
+class SnsrStyleOptionOledAnalogClock : public HbStyleOption
+{
+
+public:
+
+    enum ItemIndex
+    {
+        BackgroundItemIndex = 0,
+        HourHandItemIndex,
+        MinuteHandItemIndex,
+        DateFrameItemIndex,
+        DateLabelItemIndex,
+        LastItemIndex
+    };
+
+public:
+    SnsrStyleOptionOledAnalogClock();
+    SnsrStyleOptionOledAnalogClock(const SnsrStyleOptionOledAnalogClock &other);
+    ~SnsrStyleOptionOledAnalogClock();
+
+    enum StyleOptionType { Type = HbSO_Widget+1000};
+    enum StyleOptionVersion { Version = 1 };
+
+    qreal mM;
+    qreal mH;
+    QString mShortDate;
+};
+
+#endif // SNSRSTYLEOPTIONOLEDANALOGCLOCK_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsranalogclockwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Analog Clock Widget.
+*
+*/
+
+#include "snsranalogclockwidget.h"
+
+#include <QGraphicsSvgItem>
+#include <QTime>
+
+#include "snsrstyleoptionanalogclock.h"
+
+#ifdef Q_OS_SYMBIAN
+const char *gAnalogClockPluginPath("../../snsrresources/plugins/snsrstyleplugins/snsranalogclockstyleplugin.dll");
+#else
+const char *gAnalogClockPluginPath("snsrresources/plugins/snsrstyleplugins/snsranalogclockstyleplugin.dll");
+#endif
+
+/*!
+    \class SnsrAnalogClockWidget
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Screensaver analog clock widget.
+ */
+
+/*!
+    Constructs a new SnsrAnalogClockWidget.
+    \param stylePluginPath Style plugin path.
+    \param parent Parent object.
+ */
+SnsrAnalogClockWidget::SnsrAnalogClockWidget(QGraphicsItem* parent):
+    HbWidget(parent), mStylePluginName(gAnalogClockPluginPath),
+    mClockBackground(0), mClockHourHand(0), mClockMinuteHand(0)
+{
+    setPluginBaseId(style()->registerPlugin(mStylePluginName));
+    
+    createPrimitives();
+    updatePrimitives();
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrAnalogClockWidget::~SnsrAnalogClockWidget()
+{
+    delete mClockBackground;
+    delete mClockHourHand;
+    delete mClockMinuteHand;
+
+    style()->unregisterPlugin(mStylePluginName);
+}
+
+/*!
+    @copydoc HbWidget::resizeEvent()
+ */
+void SnsrAnalogClockWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+    QGraphicsWidget::resizeEvent(event);
+    updatePrimitives();    
+}
+
+/*!
+    Creates all widget primitives.
+ */
+void SnsrAnalogClockWidget::createPrimitives()
+{
+    if (pluginBaseId()==-1) {
+        return;
+    }
+    if (!mClockBackground) {
+        mClockBackground = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()), this);
+    }
+    if (!mClockHourHand) {
+        mClockHourHand = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionAnalogClock::HourHandItemIndex), this);
+    }
+    if (!mClockMinuteHand) {
+        mClockMinuteHand = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionAnalogClock::MinuteHandItemIndex), this);
+    }
+}
+
+/*!
+    @copydoc HbWidget::updatePrimitives()
+ */
+void SnsrAnalogClockWidget::updatePrimitives()
+{
+    if (pluginBaseId()==-1) {
+        return;
+    }
+
+    // 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);
+
+    SnsrStyleOptionAnalogClock option;
+    initStyleOption(&option);
+    option.mM = m;
+    option.mH = h;
+
+    if (mClockBackground) {
+        style()->updatePrimitive(mClockBackground, (HbStyle::Primitive)(pluginBaseId()), &option);
+    }
+    if (mClockHourHand) {
+        style()->updatePrimitive(mClockHourHand, (HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionAnalogClock::HourHandItemIndex), &option);
+    }
+    if (mClockMinuteHand) {
+        style()->updatePrimitive(mClockMinuteHand, (HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionAnalogClock::MinuteHandItemIndex), &option);
+    }
+}
+
+/*!
+    Updates primitives when time change.
+ */
+void SnsrAnalogClockWidget::tick()
+{
+    updatePrimitives();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsroledclockwidget.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Oled Clock Widget.
+*
+*/
+
+#include "snsroledclockwidget.h"
+
+#include <QGraphicsSvgItem>
+#include <QTime>
+
+#include "snsrstyleoptionoledanalogclock.h"
+
+#ifdef Q_OS_SYMBIAN
+const char *gOledClockPluginPath("../../snsrresources/plugins/snsrstyleplugins/snsroledclockstyleplugin.dll");
+#else
+const char *gOledClockPluginPath("snsrresources/plugins/snsrstyleplugins/snsroledclockstyleplugin.dll");
+#endif
+
+/*!
+    \class SnsrOledClockWidget
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Screensaver oled clock widget.
+ */
+
+/*!
+    Constructs a new SnsrOledClockWidget.
+    \param stylePluginPath Style plugin path.
+    \param parent Parent object.
+ */
+SnsrOledClockWidget::SnsrOledClockWidget(QGraphicsItem* parent):
+    HbWidget(parent), mStylePluginName(gOledClockPluginPath),
+    mClockBackground(0), mClockHourHand(0), mClockMinuteHand(0),
+    mClockDateFrame(0), mClockDateLabel(0)
+{
+    setPluginBaseId(style()->registerPlugin(mStylePluginName));
+
+    createPrimitives();
+    updatePrimitives();
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrOledClockWidget::~SnsrOledClockWidget()
+{
+    delete mClockBackground;
+    delete mClockHourHand;
+    delete mClockMinuteHand;
+    delete mClockDateFrame;
+    delete mClockDateLabel;
+
+    style()->unregisterPlugin(mStylePluginName);
+}
+
+/*!
+    @copydoc HbWidget::resizeEvent()
+ */
+void SnsrOledClockWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+    QGraphicsWidget::resizeEvent(event);
+    updatePrimitives();
+}
+
+/*!
+    Creates all widget primitives.
+ */
+void SnsrOledClockWidget::createPrimitives()
+{
+    if (pluginBaseId()==-1) {
+        return;
+    }
+    if (!mClockBackground) {
+        mClockBackground = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()), this);
+    }
+    if (!mClockHourHand) {
+        mClockHourHand = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionOledAnalogClock::HourHandItemIndex), this);
+    }
+    if (!mClockMinuteHand) {
+        mClockMinuteHand = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionOledAnalogClock::MinuteHandItemIndex), this);
+    }
+    if (!mClockDateFrame) {
+        mClockDateFrame = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionOledAnalogClock::DateFrameItemIndex), this);
+    }
+    if (!mClockDateLabel) {
+        mClockDateLabel = style()->createPrimitive((HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionOledAnalogClock::DateLabelItemIndex), this);
+    }
+}
+
+/*!
+    @copydoc HbWidget::updatePrimitives()
+ */
+void SnsrOledClockWidget::updatePrimitives()
+{
+    if (pluginBaseId()==-1) {
+        return;
+    }
+
+    // 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);
+
+    SnsrStyleOptionOledAnalogClock option;
+    initStyleOption(&option);
+    option.mM = m;
+    option.mH = h;
+
+    QDate currentdate = QDate::currentDate();
+    option.mShortDate = QDate::shortDayName(currentdate.dayOfWeek())+" "+QString::number(currentdate.day());
+
+    if (mClockBackground) {
+        style()->updatePrimitive(mClockBackground, (HbStyle::Primitive)(pluginBaseId()), &option);
+    }
+    if (mClockHourHand) {
+        style()->updatePrimitive(mClockHourHand, (HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionOledAnalogClock::HourHandItemIndex), &option);
+    }
+    if (mClockMinuteHand) {
+        style()->updatePrimitive(mClockMinuteHand, (HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionOledAnalogClock::MinuteHandItemIndex), &option);
+    }
+    if (mClockDateFrame) {
+        style()->updatePrimitive(mClockDateFrame, (HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionOledAnalogClock::DateFrameItemIndex), &option);
+    }
+    if (mClockDateLabel) {
+        style()->updatePrimitive(mClockDateLabel, (HbStyle::Primitive)(pluginBaseId()+SnsrStyleOptionOledAnalogClock::DateLabelItemIndex), &option);
+    }
+}
+
+/*!
+    Updates primitives when time change.
+ */
+void SnsrOledClockWidget::tick()
+{
+    updatePrimitives();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsrstyleoptionanalogclock.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Style option for analog clock widget.
+*
+*/
+
+#include "snsrstyleoptionanalogclock.h"
+
+/*!
+    \class SnsrStyleOptionAnalogClock
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Style option for analog clock widget.
+ */
+
+/*!
+    Constructs a new SnsrStyleOptionAnalogClock.
+ */
+SnsrStyleOptionAnalogClock::SnsrStyleOptionAnalogClock():
+    HbStyleOption(), mM(0), mH(0)
+{
+    type = Type;
+    version = Version;
+}
+
+/*!
+    Copy constructor - constructs a new SnsrStyleOptionAnalogClock.
+ */
+SnsrStyleOptionAnalogClock::SnsrStyleOptionAnalogClock(const SnsrStyleOptionAnalogClock &other) :
+    HbStyleOption(other), mM(other.mM), mH(other.mH)
+{
+    type = Type;
+    version = Version;
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrStyleOptionAnalogClock::~SnsrStyleOptionAnalogClock()
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsrstyleoptionoledanalogclock.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Style option for oled analog clock widget.
+*
+*/
+
+#include "snsrstyleoptionoledanalogclock.h"
+
+/*!
+    \class SnsrStyleOptionOledAnalogClock
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Style option for analog clock widget.
+ */
+
+/*!
+    Constructs a new SnsrStyleOptionOledAnalogClock.
+ */
+SnsrStyleOptionOledAnalogClock::SnsrStyleOptionOledAnalogClock():
+    HbStyleOption(), mM(0), mH(0), mShortDate(QString())
+{
+    type = Type;
+    version = Version;
+}
+
+/*!
+    Copy constructor - constructs a new SnsrStyleOptionOledAnalogClock.
+ */
+SnsrStyleOptionOledAnalogClock::SnsrStyleOptionOledAnalogClock(const SnsrStyleOptionOledAnalogClock &other) :
+    HbStyleOption(other), mM(other.mM), mH(other.mH), mShortDate(other.mShortDate)
+{
+    type = Type;
+    version = Version;
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrStyleOptionOledAnalogClock::~SnsrStyleOptionOledAnalogClock()
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/inc/snsroledclockstyleplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Analog clock style plugin.
+*
+*/
+
+#ifndef SNSROLEDCLOCKSTYLEPLUGIN_H
+#define SNSROLEDCLOCKSTYLEPLUGIN_H
+
+#include <QtPlugin>
+
+#include <hbstyleinterface.h>
+#include <hbglobal.h>
+
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrOCStylePlugin)
+
+class SnsrOledClockStylePlugin: public QObject, public HbStyleInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(HbStyleInterface)
+
+public:
+    int primitiveCount() const;
+    HbWidgetBase *createPrimitive(HbStyle::Primitive primitive, QGraphicsItem *parent = 0) const;
+    void updatePrimitive(QGraphicsItem *item, HbStyle::Primitive primitive, const QStyleOption *option) const;
+    QString layoutPath() const;
+	
+        SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrOCStylePlugin)
+
+};
+
+#endif // SNSROLEDCLOCKSTYLEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockstyleplugin.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<snsroledclockstyleplugin>
+    <screensaver library="snsroledclockstyleplugin.dll"
+                 uri="screensaver.nokia.com/screensaver/oledclock"/>
+</snsroledclockstyleplugin>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockwidget.css	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,29 @@
+HbWidget {
+    margin-left: 0un;
+    margin-top: 0un;
+}
+
+SnsrOledClockWidget {
+    layout: layout_1;
+}
+
+SnsrOledClockWidget::oled_clock_background {
+    pref-width: 40.0un;
+    pref-height: 40.0un;
+}
+
+SnsrOledClockWidget::oled_clock_hour_hand {
+    pref-height: 28.0un;
+}
+
+SnsrOledClockWidget::oled_clock_minute_hand {
+    pref-height: 34.0un;
+}
+
+SnsrOledClockWidget::oled_clock_date_frame {
+    pref-height: 10.0un;
+}
+
+SnsrOledClockWidget::oled_clock_date_label {
+    pref-height: 10.0un;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockwidget.widgetml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,14 @@
+<hbwidget version="0.1">
+    <layout name="layout_1" type="mesh">
+        <meshitem src="oled_clock_background" srcEdge="CENTERV" dst="" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="oled_clock_background" srcEdge="CENTERH" dst="" dstEdge="CENTERH" spacing="0.0un" />
+        <meshitem src="oled_clock_hour_hand" srcEdge="CENTERV" dst="oled_clock_background" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="oled_clock_hour_hand" srcEdge="CENTERH" dst="oled_clock_background" dstEdge="CENTERH" spacing="0.0un" />
+        <meshitem src="oled_clock_minute_hand" srcEdge="CENTERV" dst="oled_clock_background" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="oled_clock_minute_hand" srcEdge="CENTERH" dst="oled_clock_background" dstEdge="CENTERH" spacing="0.0un" />
+        <meshitem src="oled_clock_date_frame" srcEdge="CENTERV" dst="oled_clock_background" dstEdge="CENTERV" spacing="0.0un" />
+        <meshitem src="oled_clock_date_frame" srcEdge="CENTERH" dst="oled_clock_background" dstEdge="CENTERH" spacing="-10.0un" />
+        <meshitem src="oled_clock_date_label" srcEdge="CENTERV" dst="oled_clock_date_frame" dstEdge="CENTERV" spacing="-3.5un" />
+        <meshitem src="oled_clock_date_label" srcEdge="CENTERH" dst="oled_clock_date_frame" dstEdge="CENTERH" spacing="0.0un" />
+    </layout>
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  snsroledclockstyleplugin.pri
+#
+
+HEADERS += ./inc/*.h \
+           ./../snsrclockwidgets/inc/snsrstyleoptionoledanalogclock.h
+
+SOURCES += ./src/*.cpp
+
+DEPENDPATH += ./inc \
+              ./src \
+              ./resource
+
+INCLUDEPATH += ./inc \
+               ./../snsrclockwidgets/inc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  snsroledclockstyleplugin.pro
+#
+
+TEMPLATE = lib
+
+CONFIG += plugin hb
+PLUGIN_SUBDIR = /snsrresources/plugins/snsrstyleplugins
+
+include (../../../common.pri)
+
+LIBS += -lsnsrutils
+
+INCLUDEPATH += ../../../snsrutils/inc
+
+symbian: {
+    TARGET.UID3 = 0x20027055
+}
+
+include(snsroledclockstyleplugin.pri)
+
+RESOURCES += snsroledclockstyleplugin.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource>
+        <file alias="snsroledclockwidget.css">resource/snsroledclockwidget.css</file>
+        <file alias="snsroledclockwidget.widgetml">resource/snsroledclockwidget.widgetml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/src/snsroledclockstyleplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  Analog clock style plugin.
+*
+*/
+
+#include "snsroledclockstyleplugin.h"
+
+#include <QGraphicsDropShadowEffect>
+
+#include <hbiconitem.h>
+
+#include "snsrstyleoptionoledanalogclock.h"
+#include "snsrlabel.h"
+
+/*!
+    \class SnsrOledClockStylePlugin
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Screensaver oled clock style plugin.
+ */
+
+/*!
+    @copydoc HbStyleInterface::primitiveCount()
+ */
+int SnsrOledClockStylePlugin::primitiveCount() const
+{
+    return SnsrStyleOptionOledAnalogClock::LastItemIndex; // first index = 0, index of LastItemIndex = number of primitives;
+}
+
+/*!
+    @copydoc HbStyleInterface::createPrimitive()
+ */
+HbWidgetBase* SnsrOledClockStylePlugin::createPrimitive(HbStyle::Primitive primitive,
+                                                        QGraphicsItem *parent) const
+{
+    if (primitive == (int)SnsrStyleOptionOledAnalogClock::BackgroundItemIndex) {
+        HbIconItem *item = new HbIconItem("oled-clock-background", parent);
+        HbStyle::setItemName(item, "oled_clock_background");
+        item->setZValue(1);
+        return item;
+    }
+    else if (primitive == (int)SnsrStyleOptionOledAnalogClock::DateFrameItemIndex) {
+        HbIconItem *item = new HbIconItem("oled-clock-date-frame", parent);
+        HbStyle::setItemName(item, "oled_clock_date_frame");
+        item->setZValue(2);
+        return item;
+    }
+    else if (primitive == (int)SnsrStyleOptionOledAnalogClock::DateLabelItemIndex) {
+        SnsrLabel *item = new SnsrLabel(parent);
+        HbStyle::setItemName(item, "oled_clock_date_label");
+        item->setZValue(3);
+        return item;
+    }
+    else if (primitive == (int)SnsrStyleOptionOledAnalogClock::HourHandItemIndex) {
+        HbIconItem *item = new HbIconItem("oled-clock-hour-hand", parent);
+        HbStyle::setItemName(item, "oled_clock_hour_hand");
+        item->setZValue(4);
+        return item;
+    }
+    else if (primitive == (int)SnsrStyleOptionOledAnalogClock::MinuteHandItemIndex) {
+        HbIconItem *item = new HbIconItem("oled-clock-minute-hand", parent);
+        HbStyle::setItemName(item, "oled_clock_minute_hand");
+        item->setZValue(5);
+        return item;
+    }
+
+    return 0;
+}
+
+/*!
+    @copydoc HbStyleInterface::updatePrimitive()
+ */
+void SnsrOledClockStylePlugin::updatePrimitive(QGraphicsItem *item,
+                                               HbStyle::Primitive primitive,
+                                               const QStyleOption *option ) const
+{
+    const SnsrStyleOptionOledAnalogClock *opt =
+            qstyleoption_cast<const SnsrStyleOptionOledAnalogClock *>(option);
+    if (!opt || !item) {
+        return;
+    }
+
+    if (primitive == (int)SnsrStyleOptionOledAnalogClock::HourHandItemIndex) {
+        HbIconItem *iconItem = static_cast<HbIconItem *>(item);
+        int x = iconItem->iconItemSize().width()/2;
+        int y = iconItem->iconItemSize().height()/2;
+
+        iconItem->setTransform(QTransform().translate(x, y).rotate(opt->mH).translate(-x, -y));
+    }
+    else if (primitive == (int)SnsrStyleOptionOledAnalogClock::MinuteHandItemIndex) {
+        HbIconItem *iconItem = static_cast<HbIconItem *>(item);
+        int x = iconItem->iconItemSize().width()/2;
+        int y = iconItem->iconItemSize().height()/2;
+
+        iconItem->setTransform(QTransform().translate(x, y).rotate(opt->mM).translate(-x, -y));
+    }
+    else if (primitive == (int)SnsrStyleOptionOledAnalogClock::DateLabelItemIndex) {
+        HbLabel *dateLabel = static_cast<HbLabel *>(item);
+        dateLabel->setPlainText(opt->mShortDate);
+    }
+}
+
+/*!
+    @copydoc HbStyleInterface::layoutPath()
+ */
+QString SnsrOledClockStylePlugin::layoutPath() const
+{
+    return QString(":/");
+}
+
+#ifndef COVERAGE_MEASUREMENT
+Q_EXPORT_PLUGIN2(snsroledclockstyleplugin, SnsrOledClockStylePlugin)
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsranalogclockcontainer.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Container for analog clock.
+*
+*/
+
+#include "snsranalogclockcontainer.h"
+
+#include <QDebug>
+#include <QTime>
+#include <QGraphicsLinearLayout>
+
+#include <hblabel.h>
+#include <hbextendedlocale.h>
+
+#include "snsranalogclockwidget.h"
+
+/*!
+    \class SnsrAnalogClockContainer
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Container used for preparing layout for analog clock.
+ */
+
+const char *gAnalogLayoutDocml = ":/xml/snsrbigclockscreensaveranalog.docml";
+
+const char *gPortraitSectionName = "portrait";
+const char *gLandscapeSectionName = "landscape";
+
+const char *gMainViewName = "view";
+
+const char *gDateLabelName = "dateLabel";
+const char *gAnalogClockWidgetName = "analogClockWidget";
+
+const char *gDateFormatVerticalStr = "%E%,% %*D%*N%/0%4%/1%5";
+const char *gDateFormatHorizontalStr = "%E%,% %*D%N%/0%4%/1%5";
+
+/*!
+    Constructs a new SnsrAnalogClockContainer.
+ */
+SnsrAnalogClockContainer::SnsrAnalogClockContainer() :
+    SnsrBigClockContainer(),
+    mDateLabel(0),
+    mAnalogClockWidget(0)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrAnalogClockContainer::SnsrAnalogClockContainer")
+
+    bool ok(true);
+
+    // load analog clock
+    qDebug() << gAnalogLayoutDocml;
+    mDocumentObjects = mDocumentLoader.load(gAnalogLayoutDocml, &ok);
+    Q_ASSERT_X(ok, gAnalogLayoutDocml, "Invalid DocML file.");
+    if (ok) {
+        mMainContainer = mDocumentLoader.findWidget(gMainViewName);
+        mDateLabel = qobject_cast<HbLabel *>(
+            mDocumentLoader.findWidget(gDateLabelName));
+        mAnalogClockWidget = qobject_cast<SnsrAnalogClockWidget *>(
+            mDocumentLoader.findWidget(gAnalogClockWidgetName));
+        Q_ASSERT_X(
+                mMainContainer && mDateLabel && mAnalogClockWidget,
+                gAnalogLayoutDocml, "Objects not found in DocML file."
+                );
+
+        mBackgroundContainerLayout->addItem(mMainContainer);
+    }
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrAnalogClockContainer::SnsrAnalogClockContainer")
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrAnalogClockContainer::~SnsrAnalogClockContainer()
+{
+    //mDateLabel, mAnalogClockWidget - deleted by the parent
+}
+
+/*!
+    Updates displayed time and date.
+ */
+void SnsrAnalogClockContainer::update()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrAnalogClockContainer::update")
+
+    // time
+    mAnalogClockWidget->tick();
+
+    // date
+    if (mCurrentOrientation == Qt::Vertical) {
+        mDateLabel->setPlainText(
+            HbExtendedLocale().format(QDate::currentDate(), gDateFormatVerticalStr)
+            );
+    } else {
+        mDateLabel->setPlainText(
+            HbExtendedLocale().format(QDate::currentDate(), gDateFormatHorizontalStr)
+            );
+    }
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrAnalogClockContainer::update")
+}
+
+/*!
+    Changes screensaver layout basing on orientation changes.
+    \param orientation Current orientation.
+ */
+void SnsrAnalogClockContainer::changeLayout(Qt::Orientation orientation)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrAnalogClockContainer::changeLayout")
+
+    if (mCurrentOrientation != orientation) {
+        mCurrentOrientation = orientation;
+        bool ok;
+        // hide controls to avoid screen flickering
+        mMainContainer->hide();
+
+        QString sectionToLoad("");
+        if (mCurrentOrientation == Qt::Vertical) {
+            sectionToLoad = gPortraitSectionName;
+        } else {
+            sectionToLoad = gLandscapeSectionName;
+        }
+        qDebug() << "loading: " << gAnalogLayoutDocml << ", section: " << sectionToLoad;
+        mDocumentLoader.load(gAnalogLayoutDocml, sectionToLoad, &ok);
+        // view is rebuilt and ready to show
+        mMainContainer->show();
+        Q_ASSERT_X(ok, gAnalogLayoutDocml, "Invalid section in DocML file.");
+    }
+    // update anyway - this is needed in situations when screensaver goes to
+    // foreground but layout change did not occur
+    update();
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrAnalogClockContainer::changeLayout")
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockcontainer.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  Base class container.
+*
+*/
+
+#include "snsrbigclockcontainer.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <e32std.h>
+#endif // Q_OS_SYMBIAN
+
+#include <QPainter>
+#include <QDebug>
+#include <QGraphicsLinearLayout>
+
+#include <hbevent.h>
+#include <hbcolorscheme.h>
+
+#include "snsrbigclockcontainer.h"
+
+/*!
+    \class SnsrBigClockContainer
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Base class. Container used for drawing background and for preparing layout.
+ */
+
+const QString popupBackgroundColorRole("popupbackground");
+const QString snsrBackgroundColorRole("snsrbackground");
+
+/*!
+    Constructs a new SnsrBigClockContainer.
+ */
+SnsrBigClockContainer::SnsrBigClockContainer() :
+    mMainContainer(0),
+    mBackgroundContainerLayout(0),
+    mCurrentOrientation(-1)
+{
+    setBackgroundColor();
+    mBackgroundContainerLayout = new QGraphicsLinearLayout(Qt::Vertical);
+    setLayout(mBackgroundContainerLayout);
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrBigClockContainer::~SnsrBigClockContainer()
+{
+    mDocumentLoader.reset();
+    qDeleteAll(mDocumentObjects);
+    mDocumentObjects.clear();
+
+    //mMainContainer, mBackgroundContainerLayout - deleted by the parent
+}
+
+/*!
+    \fn virtual void update() = 0;
+
+    Slot for members update in container e.g. when time or date changed.
+ */
+
+/*!
+    \fn virtual void changeLayout(Qt::Orientation orientation) = 0;
+
+    Slot for members update in container when orientation changed.
+ */
+
+/*!
+    \reimp
+ */
+void SnsrBigClockContainer::changeEvent(QEvent *event)
+{
+    if (event->type() == HbEvent::ThemeChanged) {
+        setBackgroundColor();
+    }
+    return QGraphicsWidget::changeEvent(event);
+}
+
+/*!
+    Set background color.
+ */
+void SnsrBigClockContainer::setBackgroundColor()
+{
+    QColor backgroundColor = HbColorScheme::color(snsrBackgroundColorRole);
+    if (backgroundColor.isValid()) {
+        mBackgroundColor = backgroundColor;
+    }
+    else {
+        backgroundColor = HbColorScheme::color(popupBackgroundColorRole);
+        if (backgroundColor.isValid()) {
+            mBackgroundColor = backgroundColor;
+        }
+        else {
+            mBackgroundColor = Qt::black;
+        }
+    }
+}
+
+/*!
+    Paints the contents of an item in local coordinates.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void SnsrBigClockContainer::paint(
+        QPainter *painter,
+        const QStyleOptionGraphicsItem *option, 
+        QWidget *widget
+        )
+{
+    Q_UNUSED(option)
+    Q_UNUSED(widget)
+
+    painter->fillRect(rect(), mBackgroundColor);
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockscreensaver.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,237 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Big clock Screensaver.
+*
+*/
+
+#include "snsrbigclockscreensaver.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <e32std.h>
+#endif // Q_OS_SYMBIAN
+
+#include <QDebug>
+#include <QTime>
+#include <QTimer>
+
+#include <hbinstance.h>
+#include <hbmainwindow.h>
+
+#include "snsranalogclockcontainer.h"
+#include "snsrdigitalclockcontainer.h"
+#include "snsroledanalogclockcontainer.h"
+#include "snsroleddigitalclockcontainer.h"
+
+/*!
+    \class SnsrBigClockScreensaver
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Screensaver with big digital clock.
+ */
+
+/*!
+    Constructs a new SnsrBigClockScreensaver.
+ */
+SnsrBigClockScreensaver::SnsrBigClockScreensaver() :
+    mMainWindow(0),
+    mCurrentContainer(0)
+{
+    mMainWindow = HbInstance::instance()->allMainWindows().at(0);
+    // for nice looking clock hand transformations
+    mMainWindow->setRenderHint(QPainter::SmoothPixmapTransform);
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrBigClockScreensaver::~SnsrBigClockScreensaver()
+{
+    // mCurrentContainer - deleted by the parent
+}
+
+/*!
+    @copydoc Screensaver::onInitialize()
+*/
+bool SnsrBigClockScreensaver::onInitialize()
+{
+    qDebug() << "SnsrBigClockScreensaver::onInitialize()";
+    return true;
+}
+
+/*!
+    @copydoc Screensaver::onForeground()
+ */
+bool SnsrBigClockScreensaver::onForeground()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onForeground")
+    qDebug() << "SnsrBigClockScreensaver::onForeground()";
+
+    bool ret(false);
+
+    if (mCurrentContainer) {
+        disconnect(
+            mMainWindow, SIGNAL(orientationChanged(Qt::Orientation)),
+            mCurrentContainer, SLOT(changeLayout(Qt::Orientation))
+            );
+        disconnect(
+            &mTimer, SIGNAL(timeout()),
+            mCurrentContainer, SLOT(update())
+            );
+        emit viewChanged(0);
+        delete mCurrentContainer;
+        mCurrentContainer = 0;
+    }
+
+    if (clockFormat() == ClockFormatAnalog) {
+        mCurrentContainer = new SnsrAnalogClockContainer();
+    }
+    else {
+        mCurrentContainer = new SnsrDigitalClockContainer();
+    }
+    connect(
+            mMainWindow, SIGNAL(orientationChanged(Qt::Orientation)),
+            mCurrentContainer, SLOT(changeLayout(Qt::Orientation))
+        );
+    connect(&mTimer, SIGNAL(timeout()), mCurrentContainer, SLOT(update()));
+
+    mCurrentContainer->changeLayout(mMainWindow->orientation());
+    mTimer.start(1000);
+    emit viewChanged(mCurrentContainer);
+
+    ret = true;
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onForeground")
+    return ret;
+}
+
+/*!
+    @copydoc Screensaver::onPartialForeground()
+ */
+bool SnsrBigClockScreensaver::onPartialForeground()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onPartialForeground")
+    qDebug() << "SnsrBigClockScreensaver::onPartialForeground()";
+
+    bool ret(false);
+
+    if (mCurrentContainer) {
+        disconnect(
+            mMainWindow, SIGNAL(orientationChanged(Qt::Orientation)),
+            mCurrentContainer, SLOT(changeLayout(Qt::Orientation))
+            );
+        disconnect(
+            &mTimer, SIGNAL(timeout()),
+            mCurrentContainer, SLOT(update())
+            );
+        emit viewChanged(0);
+        delete mCurrentContainer;
+        mCurrentContainer = 0;
+    }
+
+    if (clockFormat() == ClockFormatAnalog) {
+        mCurrentContainer = new SnsrOledAnalogClockContainer();
+    }
+    else {
+        mCurrentContainer = new SnsrOledDigitalClockContainer();
+    }
+    connect(
+        mMainWindow, SIGNAL(orientationChanged(Qt::Orientation)),
+        mCurrentContainer, SLOT(changeLayout(Qt::Orientation))
+        );
+    connect(&mTimer, SIGNAL(timeout()), mCurrentContainer, SLOT(update()));
+
+    mCurrentContainer->changeLayout(mMainWindow->orientation());
+    mTimer.start(1000);
+    emit viewChanged(mCurrentContainer);
+
+    ret = true;
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onPartialForeground")
+    return ret;
+}
+
+/*!
+    @copydoc Screensaver::onBackground()
+ */
+bool SnsrBigClockScreensaver::onBackground()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onBackground")
+    qDebug() << "SnsrBigClockScreensaver::onBackground()";
+
+    disconnect(
+        mMainWindow, SIGNAL(orientationChanged(Qt::Orientation)),
+        mCurrentContainer, SLOT(changeLayout(Qt::Orientation))
+        );
+    disconnect(
+        &mTimer, SIGNAL(timeout()),
+        mCurrentContainer, SLOT(update())
+        );
+    mTimer.stop();
+    emit viewChanged(0);
+    
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onBackground")
+    return true;
+}
+
+/*!
+    @copydoc Screensaver::onPowerSave()
+ */
+bool SnsrBigClockScreensaver::onPowerSave()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onPowerSave")
+    qDebug() << "SnsrBigClockScreensaver::onPowerSave()";
+    
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onPowerSave")
+    return false;
+}
+
+/*!
+    @copydoc Screensaver::onClose()
+ */
+bool SnsrBigClockScreensaver::onClose()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onClose")
+    qDebug() << "SnsrBigClockScreensaver::onClose()";
+
+    bool ret(false);
+    if (onBackground()) {
+        delete mCurrentContainer;
+        mCurrentContainer = 0;
+        ret = true;
+    }
+    
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onClose")
+    return ret;
+}
+
+/*!
+    Determines the curent clock format settings.
+    \retval ClockFormat.
+ */
+SnsrBigClockScreensaver::ClockFormat SnsrBigClockScreensaver::clockFormat()
+{
+#ifdef Q_OS_SYMBIAN
+    if (TLocale().ClockFormat() == EClockAnalog) {
+        return ClockFormatAnalog;
+    } else {
+        return ClockFormatDigital;
+    }
+#else
+    // windows build - change the format every 30 seconds for testing purposes
+    if (QTime::currentTime().second() < 30) {
+        return ClockFormatAnalog;
+    } else {
+        return ClockFormatDigital;
+    }
+#endif // Q_OS_SYMBIAN
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockscreensaverprovider.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Big clock Screensaver provider.
+*
+*/
+
+#include "snsrbigclockscreensaverprovider.h"
+
+#include "snsrbigclockscreensaver.h"
+
+/*!
+    \class SnsrBigClockScreensaverProvider
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Screensaver big clock screensaver provider collects ready-made screensaver clock.
+ */
+
+/*!
+    Constructs a new SnsrBigClockScreensaverProvider.
+ */
+SnsrBigClockScreensaverProvider::SnsrBigClockScreensaverProvider()
+{
+    mClockScreensaverToken.mLibrary = 
+        QString("snsrbigclockscreensaverprovider.dll");
+    mClockScreensaverToken.mUri = 
+        QString("screensaver.nokia.com/screensaver/bigclock");
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrBigClockScreensaverProvider::~SnsrBigClockScreensaverProvider()
+{
+}
+
+/*!
+    Returns list of loadable screensavers' tokens.
+    \return ScreensaverToken info about loadable screensavers.
+ */
+QList<ScreensaverToken> SnsrBigClockScreensaverProvider::screensavers()
+{
+    return QList<ScreensaverToken>() << mClockScreensaverToken;
+}
+
+/*!
+    Creates a screensaver based to given token.
+    \param token Reference to ScreensaverToken.
+ */
+Screensaver *SnsrBigClockScreensaverProvider::
+                createScreensaver(const ScreensaverToken &token)
+{
+    if (token.mLibrary == mClockScreensaverToken.mLibrary &&
+        token.mUri == mClockScreensaverToken.mUri) {
+        return new SnsrBigClockScreensaver();
+    }
+    return 0;
+}
+
+#ifndef COVERAGE_MEASUREMENT
+Q_EXPORT_PLUGIN2(snsrbigclockscreensaverprovider, SnsrBigClockScreensaverProvider)
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrdigitalclockcontainer.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Container for digital clock.
+*
+*/
+
+#include "snsrdigitalclockcontainer.h"
+
+#include <QDebug>
+#include <QTime>
+#include <QGraphicsLinearLayout>
+
+#include <hblabel.h>
+#include <hbextendedlocale.h>
+
+/*!
+    \class SnsrDigitalClockContainer
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Container used for preparing layout for digital clock.
+ */
+
+const char *gDigitalLayoutDocml = ":/xml/snsrbigclockscreensaverdigital.docml";
+extern const char *gPortraitSectionName;
+extern const char *gLandscapeSectionName;
+
+extern const char *gMainViewName;
+
+const char *gTimeLabelName = "timeLabel";
+const char *gAmPmLabelName = "amPmLabel";
+extern const char *gDateLabelName;
+
+extern const char *gDateFormatVerticalStr;
+extern const char *gDateFormatHorizontalStr;
+
+const char *gTimeFormatStr = "%:0%J%:1%T%:3";
+const char *gAmPmFormatStr = "%B";
+
+/*!
+    Constructs a new SnsrDigitalClockContainer.
+ */
+SnsrDigitalClockContainer::SnsrDigitalClockContainer() :
+    SnsrBigClockContainer(),
+    mTimeLabel(0),
+    mAmPmLabel(0),
+    mDateLabel(0)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrDigitalClockContainer::SnsrDigitalClockContainer")
+
+    bool ok(true);
+
+    // load digital clock
+    qDebug() << gDigitalLayoutDocml;
+    mDocumentObjects = mDocumentLoader.load(gDigitalLayoutDocml, &ok);
+    Q_ASSERT_X(ok, gDigitalLayoutDocml, "Invalid DocML file.");
+
+    if (ok) {
+        mMainContainer = mDocumentLoader.findWidget(gMainViewName);
+        mDateLabel = qobject_cast<HbLabel *>(
+                mDocumentLoader.findWidget(gDateLabelName));
+        mTimeLabel = qobject_cast<HbLabel *>(
+                mDocumentLoader.findWidget(gTimeLabelName));
+        mAmPmLabel = qobject_cast<HbLabel *>(
+                mDocumentLoader.findWidget(gAmPmLabelName));
+        Q_ASSERT_X(
+                mMainContainer && mDateLabel && mTimeLabel && mAmPmLabel,
+                gDigitalLayoutDocml, "Objects not found in DocML file."
+                );
+
+        mBackgroundContainerLayout->addItem(mMainContainer);
+    }
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrDigitalClockContainer::SnsrDigitalClockContainer")
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrDigitalClockContainer::~SnsrDigitalClockContainer()
+{
+    //mTimeLabel, mAmPmLabel, mDateLabel - deleted by the parent
+}
+
+/*!
+    Updates displayed time and date.
+ */
+void SnsrDigitalClockContainer::update()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrDigitalClockContainer::update")
+
+    // time
+    mTimeLabel->setPlainText(
+        HbExtendedLocale().format(QTime::currentTime(), gTimeFormatStr)
+        );
+    mAmPmLabel->setPlainText(
+        HbExtendedLocale().format(QTime::currentTime(), gAmPmFormatStr)
+        );
+
+    // date
+    if (mCurrentOrientation == Qt::Vertical) {
+        mDateLabel->setPlainText(
+            HbExtendedLocale().format(QDate::currentDate(), gDateFormatVerticalStr)
+            );
+    } else {
+        mDateLabel->setPlainText(
+            HbExtendedLocale().format(QDate::currentDate(), gDateFormatHorizontalStr)
+            );
+    }
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrDigitalClockContainer::update")
+}
+
+/*!
+    Changes screensaver layout basing on orientation changes.
+    \param orientation Current orientation.
+ */
+void SnsrDigitalClockContainer::changeLayout(Qt::Orientation orientation)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrDigitalClockContainer::changeLayout")
+
+    if (mCurrentOrientation != orientation) {
+        mCurrentOrientation = orientation;
+        bool ok;
+        // hide controls to avoid screen flickering
+        mMainContainer->hide();
+
+        QString sectionToLoad("");
+        if (mCurrentOrientation == Qt::Vertical) {
+            sectionToLoad = gPortraitSectionName;
+        } else {
+            sectionToLoad = gLandscapeSectionName;
+        }
+        qDebug() << "loading: " << gDigitalLayoutDocml << ", section: " << sectionToLoad;
+        mDocumentLoader.load(gDigitalLayoutDocml, sectionToLoad, &ok);
+        // view is rebuilt and ready to show
+        mMainContainer->show();
+        Q_ASSERT_X(ok, gDigitalLayoutDocml, "Invalid section in DocML file.");
+    }
+    // update anyway - this is needed in situations when screensaver goes to
+    // foreground but layout change did not occur
+    update();
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrDigitalClockContainer::changeLayout")
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrdocumentloader.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Screensaver custom document loader.
+*
+*/
+
+#include "snsrdocumentloader.h"
+
+#include "snsranalogclockwidget.h"
+#include "snsroledclockwidget.h"
+#include "snsrlabel.h"
+
+/*!
+    \class SnsrDocumentLoader
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Custom screensaver docml layout loader.
+    
+    Used mainly to create the analog clock widget from docml.
+ */
+
+/*!
+    Creates the analog clock.
+    \param type Static type name.
+    \param name Object name.
+    \retval Created object.
+ */
+QObject *SnsrDocumentLoader::createObject(const QString &type, const QString &name)
+{
+    if (type == SnsrAnalogClockWidget::staticMetaObject.className()) {
+        QObject *object = new SnsrAnalogClockWidget();
+        object->setObjectName(name);
+        return object;
+    }
+	
+    if (type == SnsrOledClockWidget::staticMetaObject.className()) {
+        QObject *object = new SnsrOledClockWidget();
+        object->setObjectName(name);
+        return object;
+    }
+
+    if (type == SnsrLabel::staticMetaObject.className()) {
+        QObject *object = new SnsrLabel();
+        object->setObjectName(name);
+        return object;
+    }
+
+    return HbDocumentLoader::createObject(type, name);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsroledanalogclockcontainer.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Container for oled analog clock.
+*
+*/
+
+#include "snsroledanalogclockcontainer.h"
+
+#include <QDebug>
+#include <QGraphicsLinearLayout>
+
+#include <hblabel.h>
+
+#include "snsroledclockwidget.h"
+
+/*!
+    \class SnsrOledAnalogClockContainer
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Container used for preparing layout for oled analog clock.
+ */
+
+const char *gOledAnalogLayoutDocml = ":/xml/snsrbigclockscreensaveroledanalog.docml";
+extern const char *gPortraitSectionName;
+extern const char *gLandscapeSectionName;
+
+extern const char *gMainViewName;
+
+const char *gOledAnalogClockWidgetName = "oledAnalogClockWidget";
+
+/*!
+    Constructs a new SnsrOledAnalogClockContainer.
+ */
+SnsrOledAnalogClockContainer::SnsrOledAnalogClockContainer() :
+    SnsrBigClockContainer(),
+    mOledClockWidget(0)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrOledAnalogClockContainer::SnsrOledAnalogClockContainer")
+
+    bool ok(true);
+
+    // load oled analog clock
+    qDebug() << gOledAnalogLayoutDocml;
+    mDocumentObjects = mDocumentLoader.load(gOledAnalogLayoutDocml, &ok);
+    Q_ASSERT_X(ok, gOledAnalogLayoutDocml, "Invalid DocML file.");
+    if (ok) {
+        mMainContainer = mDocumentLoader.findWidget(gMainViewName);
+        mOledClockWidget = qobject_cast<SnsrOledClockWidget *>(
+                mDocumentLoader.findWidget(gOledAnalogClockWidgetName));
+        Q_ASSERT_X(
+                mMainContainer && mOledClockWidget, gOledAnalogLayoutDocml,
+                "Objects not found in DocML file."
+                );
+
+        mBackgroundContainerLayout->addItem(mMainContainer);
+    }
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrOledAnalogClockContainer::SnsrOledAnalogClockContainer")
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrOledAnalogClockContainer::~SnsrOledAnalogClockContainer()
+{
+    //mOledClockWidget - deleted by the parent
+}
+
+/*!
+    Updates displayed time.
+ */
+void SnsrOledAnalogClockContainer::update()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrOledAnalogClockContainer::update")
+
+    // time
+    mOledClockWidget->tick();
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrOledAnalogClockContainer::update")
+}
+
+/*!
+    Changes screensaver layout basing on orientation changes.
+    \param orientation Current orientation.
+ */
+void SnsrOledAnalogClockContainer::changeLayout(Qt::Orientation orientation)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrOledAnalogClockContainer::changeLayout")
+
+    if (mCurrentOrientation != orientation) {
+        mCurrentOrientation = orientation;
+        bool ok;
+        // hide controls to avoid screen flickering
+        mMainContainer->hide();
+
+        QString sectionToLoad("");
+        if (mCurrentOrientation == Qt::Vertical) {
+            sectionToLoad = gPortraitSectionName;
+        } else {
+            sectionToLoad = gLandscapeSectionName;
+        }
+        qDebug() << "loading: " << gOledAnalogLayoutDocml << ", section: " << sectionToLoad;
+        mDocumentLoader.load(gOledAnalogLayoutDocml, sectionToLoad, &ok);
+        // view is rebuilt and ready to show
+        mMainContainer->show();
+        Q_ASSERT_X(ok, gOledAnalogLayoutDocml, "Invalid section in DocML file.");
+    }
+    // update anyway - this is needed in situations when screensaver goes to
+    // foreground but layout change did not occur
+    update();
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrOledAnalogClockContainer::changeLayout")
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsroleddigitalclockcontainer.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Container for oled digital clock.
+*
+*/
+
+#include "snsroleddigitalclockcontainer.h"
+
+#include <QDebug>
+#include <QTime>
+#include <QGraphicsLinearLayout>
+
+#include <hblabel.h>
+#include <hbextendedlocale.h>
+
+/*!
+    \class SnsrOledDigitalClockContainer
+    \ingroup group_snsrbigclockscreensaverprovider
+    \brief Container used for preparing layout for oled digital clock.
+ */
+
+const char *gOledDigitalLayoutDocml = ":/xml/snsrbigclockscreensaveroleddigital.docml";
+extern const char *gPortraitSectionName;
+extern const char *gLandscapeSectionName;
+
+extern const char *gMainViewName;
+
+extern const char *gTimeLabelName;
+extern const char *gAmPmLabelName;
+extern const char *gDateLabelName;
+
+extern const char *gDateFormatVerticalStr;
+extern const char *gDateFormatHorizontalStr;
+
+extern const char *gTimeFormatStr;
+extern const char *gAmPmFormatStr;
+
+/*!
+    Constructs a new SnsrOledDigitalClockContainer.
+ */
+SnsrOledDigitalClockContainer::SnsrOledDigitalClockContainer() :
+    SnsrBigClockContainer(),
+    mTimeLabel(0),
+    mAmPmLabel(0),
+    mDateLabel(0)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrOledDigitalClockContainer::SnsrOledDigitalClockContainer")
+
+    bool ok(true);
+    qDebug() << gOledDigitalLayoutDocml;
+
+    // load digital clock
+    mDocumentObjects = mDocumentLoader.load(gOledDigitalLayoutDocml, &ok);
+    Q_ASSERT_X(ok, gOledDigitalLayoutDocml, "Invalid DocML file.");
+
+    if (ok) {
+        mMainContainer = mDocumentLoader.findWidget(gMainViewName);
+        mDateLabel = qobject_cast<HbLabel *>(
+                mDocumentLoader.findWidget(gDateLabelName));
+        mTimeLabel = qobject_cast<HbLabel *>(
+                mDocumentLoader.findWidget(gTimeLabelName));
+        mAmPmLabel = qobject_cast<HbLabel *>(
+                mDocumentLoader.findWidget(gAmPmLabelName));
+        Q_ASSERT_X(
+                mMainContainer && mDateLabel && mTimeLabel && mAmPmLabel,
+                gOledDigitalLayoutDocml, "Objects not found in DocML file."
+                );
+
+        mBackgroundContainerLayout->addItem(mMainContainer);
+    }
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrOledDigitalClockContainer::SnsrOledDigitalClockContainer")
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrOledDigitalClockContainer::~SnsrOledDigitalClockContainer()
+{
+    //mTimeLabel, mAmPmLabel, mDateLabel - deleted by the parent
+}
+
+/*!
+    Updates displayed time and date.
+ */
+void SnsrOledDigitalClockContainer::update()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrOledDigitalClockContainer::update")
+
+    // time
+    mTimeLabel->setPlainText(
+        HbExtendedLocale().format(QTime::currentTime(), gTimeFormatStr)
+        );
+    mAmPmLabel->setPlainText(
+        HbExtendedLocale().format(QTime::currentTime(), gAmPmFormatStr)
+        );
+
+    // date
+    if (mCurrentOrientation == Qt::Vertical) {
+        mDateLabel->setPlainText(
+            HbExtendedLocale().format(QDate::currentDate(), gDateFormatVerticalStr)
+            );
+    } else {
+        mDateLabel->setPlainText(
+            HbExtendedLocale().format(QDate::currentDate(), gDateFormatHorizontalStr)
+            );
+    }
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrOledDigitalClockContainer::update")
+}
+
+/*!
+    Changes screensaver layout basing on orientation changes.
+    \param orientation Current orientation.
+ */
+void SnsrOledDigitalClockContainer::changeLayout(Qt::Orientation orientation)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrOledDigitalClockContainer::changeLayout")
+
+    if (mCurrentOrientation != orientation) {
+        mCurrentOrientation = orientation;
+        bool ok;
+        // hide controls to avoid screen flickering
+        mMainContainer->hide();
+
+        QString sectionToLoad("");
+        if (mCurrentOrientation == Qt::Vertical) {
+            sectionToLoad = gPortraitSectionName;
+        } else {
+            sectionToLoad = gLandscapeSectionName;
+        }
+        qDebug() << "loading: " << gOledDigitalLayoutDocml << ", section: " << sectionToLoad;
+        mDocumentLoader.load(gOledDigitalLayoutDocml, sectionToLoad, &ok);
+        // view is rebuilt and ready to show
+        mMainContainer->show();
+        Q_ASSERT_X(ok, gOledDigitalLayoutDocml, "Invalid section in DocML file.");
+    }
+    // update anyway - this is needed in situations when screensaver goes to
+    // foreground but layout change did not occur
+    update();
+
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrOledDigitalClockContainer::changeLayout")
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/bwins/snsruseractivityserviceu.def	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+EXPORTS
+	??0SnsrUserActivityService@@QAE@XZ @ 1 NONAME ; SnsrUserActivityService::SnsrUserActivityService(void)
+	??1SnsrUserActivityService@@UAE@XZ @ 2 NONAME ; SnsrUserActivityService::~SnsrUserActivityService(void)
+	??_ESnsrUserActivityService@@UAE@I@Z @ 3 NONAME ; SnsrUserActivityService::~SnsrUserActivityService(unsigned int)
+	?getStaticMetaObject@SnsrUserActivityService@@SAABUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const & SnsrUserActivityService::getStaticMetaObject(void)
+	?inactivityPeriod@SnsrUserActivityService@@UBEHXZ @ 5 NONAME ; int SnsrUserActivityService::inactivityPeriod(void) const
+	?metaObject@SnsrUserActivityService@@UBEPBUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const * SnsrUserActivityService::metaObject(void) const
+	?qt_metacall@SnsrUserActivityService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7 NONAME ; int SnsrUserActivityService::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacast@SnsrUserActivityService@@UAEPAXPBD@Z @ 8 NONAME ; void * SnsrUserActivityService::qt_metacast(char const *)
+	?setInactivityPeriod@SnsrUserActivityService@@UAEXH@Z @ 9 NONAME ; void SnsrUserActivityService::setInactivityPeriod(int)
+	?tr@SnsrUserActivityService@@SA?AVQString@@PBD0@Z @ 10 NONAME ; class QString SnsrUserActivityService::tr(char const *, char const *)
+	?tr@SnsrUserActivityService@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString SnsrUserActivityService::tr(char const *, char const *, int)
+	?trUtf8@SnsrUserActivityService@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString SnsrUserActivityService::trUtf8(char const *, char const *)
+	?trUtf8@SnsrUserActivityService@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString SnsrUserActivityService::trUtf8(char const *, char const *, int)
+	?staticMetaObject@SnsrUserActivityService@@2UQMetaObject@@B @ 14 NONAME ; struct QMetaObject const SnsrUserActivityService::staticMetaObject
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/eabi/snsruseractivityserviceu.def	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+EXPORTS
+	_ZN23SnsrUserActivityService11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN23SnsrUserActivityService11qt_metacastEPKc @ 2 NONAME
+	_ZN23SnsrUserActivityService16staticMetaObjectE @ 3 NONAME DATA 16
+	_ZN23SnsrUserActivityService19getStaticMetaObjectEv @ 4 NONAME
+	_ZN23SnsrUserActivityService19setInactivityPeriodEi @ 5 NONAME
+	_ZN23SnsrUserActivityServiceC1Ev @ 6 NONAME
+	_ZN23SnsrUserActivityServiceC2Ev @ 7 NONAME
+	_ZN23SnsrUserActivityServiceD0Ev @ 8 NONAME
+	_ZN23SnsrUserActivityServiceD1Ev @ 9 NONAME
+	_ZN23SnsrUserActivityServiceD2Ev @ 10 NONAME
+	_ZNK23SnsrUserActivityService10metaObjectEv @ 11 NONAME
+	_ZNK23SnsrUserActivityService16inactivityPeriodEv @ 12 NONAME
+	_ZTI23SnsrUserActivityService @ 13 NONAME
+	_ZTV23SnsrUserActivityService @ 14 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/serviceproviders.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: serviceproviders.pro
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  = snsruseractivityservice
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityservice.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: snsruseractivityservice.h
+*
+*/
+
+#ifndef SNSRSNSRUSERACTIVITYSERVICE_H
+#define SNSRSNSRUSERACTIVITYSERVICE_H
+
+#include "snsruseractivityserviceinterface.h"
+#include "snsruseractivityservice_global.h"
+
+#include "snsrtest_global.h"
+
+class SnsrUserActivityServicePrivate;
+
+class SNSRUSERACTIVITYSERVICE_EXPORT SnsrUserActivityService : public SnsrUserActivityServiceInterface
+{
+    Q_OBJECT
+
+public:
+
+    explicit SnsrUserActivityService(/*QObject *parent = 0*/);
+    ~SnsrUserActivityService();
+
+    virtual void setInactivityPeriod(int seconds);
+    virtual int inactivityPeriod() const;
+
+private:
+
+    //virtual void connectNotify(const char *signal);
+    //virtual void disconnectNotify(const char *signal);
+
+    //bool receiversConnected();
+
+    Q_DISABLE_COPY(SnsrUserActivityService)
+
+private:
+
+    SnsrUserActivityServicePrivate *m_d;
+    friend class SnsrUserActivityServicePrivate;
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrUserActivityService)
+
+};
+
+#endif // SNSRSNSRUSERACTIVITYSERVICE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityservice_global.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: snsruseractivityservice_global.h
+*
+*/
+
+
+#ifndef SNSRSNSRUSERACTIVITYSERVICE_GLOBAL_H
+#define SNSRSNSRUSERACTIVITYSERVICE_GLOBAL_H
+
+#include <qglobal.h>
+
+#ifdef SNSRUSERACTIVITYSERVICE_LIB
+    #define SNSRUSERACTIVITYSERVICE_EXPORT Q_DECL_EXPORT
+#else
+    #ifdef SNSRUSERACTIVITYSERVICE_TEST
+        #define SNSRUSERACTIVITYSERVICE_EXPORT
+    #else
+        #define SNSRUSERACTIVITYSERVICE_EXPORT Q_DECL_IMPORT
+    #endif
+#endif
+
+#endif // SNSRSNSRUSERACTIVITYSERVICE_GLOBAL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityserviceinterface.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: snsruseractivityserviceinterface.h
+*
+*/
+
+#ifndef SNSRUSERACTIVITYSERVICEINTERFACE_H
+#define SNSRUSERACTIVITYSERVICEINTERFACE_H
+
+#include <QObject>
+
+class SnsrUserActivityServiceInterface : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    virtual void setInactivityPeriod(int seconds) = 0;
+    virtual int inactivityPeriod() const = 0;
+
+signals:
+
+    void notActive();
+    void active();
+
+};
+
+#endif // SNSRUSERACTIVITYSERVICEINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/s60/inc/snsruseractivityservice_p.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: snsruseractivityservice_p.h
+*
+*/
+
+#ifndef SNSRUSERACTIVITYSERVICEPRIVATE_H
+#define SNSRUSERACTIVITYSERVICEPRIVATE_H
+
+#include "snsrtest_global.h"
+
+class CUserActivityManager;
+
+class SnsrUserActivityService;
+
+class SnsrUserActivityServicePrivate
+{
+
+public:
+
+    explicit SnsrUserActivityServicePrivate(SnsrUserActivityService *servicePublic);
+    ~SnsrUserActivityServicePrivate();
+
+    void setInactivityPeriod(int seconds);
+    int inactivityPeriod() const;
+
+    void watch(bool shouldWatch);
+    
+    void emitActive() const;
+    void emitNotActive() const;
+
+private:
+
+    bool isWatching() const;
+
+private:
+
+    SnsrUserActivityService *m_q;
+
+    CUserActivityManager *mActivityManager;
+    int mInactivityPeriod;
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrUserActivityService)
+
+};
+
+#endif // SNSRUSERACTIVITYSERVICEPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/s60/src/snsruseractivityservice_p.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: snsruseractivityservice_p.cpp
+*
+*/
+
+#include "snsruseractivityservice.h"
+#include "snsruseractivityservice_p.h"
+
+#include <activitymanager.h>
+
+const int lDefaultInactivityPeriod(5);
+
+// ======== LOCAL FUNCTIONS ========
+
+/*!
+    Called as callback to activity event.
+    \param pointer to activity callback object.
+    \retval error code.    
+*/
+TInt activityCallback(TAny *ptr)
+{
+    static_cast<SnsrUserActivityServicePrivate *>(ptr)->emitActive();
+    // activity manager doesn't care about the return value,
+    // we return a value indicating 'true' to be elegant (see CIdle)
+    return 1;
+}
+
+/*!
+    Called as callback to inactivity event.
+    \param pointer to inactivity callback object.
+    \retval error code.    
+*/
+TInt inactivityCallback(TAny *ptr)
+{
+    static_cast<SnsrUserActivityServicePrivate *>(ptr)->emitNotActive();
+    // activity manager doesn't care about the return value,
+    // we return a value indicating 'true' to be elegant (see CIdle)
+    return 1;
+}
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+    \param servicePublic public implementation.
+*/
+SnsrUserActivityServicePrivate::SnsrUserActivityServicePrivate(SnsrUserActivityService *servicePublic) :
+    m_q(servicePublic), mActivityManager(0), mInactivityPeriod(lDefaultInactivityPeriod)
+{
+    mActivityManager = CUserActivityManager::NewL(CActive::EPriorityStandard);
+}
+
+/*!
+    Destructor.
+*/
+SnsrUserActivityServicePrivate::~SnsrUserActivityServicePrivate()
+{
+    delete mActivityManager;
+}
+
+/*!
+    Sets the inactivity period after which to emit signal of inactivity.
+    \param seconds after which inactivity is detected.
+*/
+void SnsrUserActivityServicePrivate::setInactivityPeriod(int seconds)
+{
+    mInactivityPeriod = seconds;
+    // activity manager panics if timeout set before start
+    if (isWatching())
+    {
+        mActivityManager->SetInactivityTimeout(TTimeIntervalSeconds(mInactivityPeriod));   
+    }
+}
+
+/*!
+    Retrives the current inactivity period setting.
+    \retval inactivity period set.
+*/
+int SnsrUserActivityServicePrivate::inactivityPeriod() const
+{
+    return mInactivityPeriod;
+}
+
+/*!
+    Starts or stops activity manager user activity watching.
+    \param shouldWatch determines if we shoul start watching or stop watching.
+*/
+void SnsrUserActivityServicePrivate::watch(bool shouldWatch)
+{
+    if (shouldWatch && !isWatching()) {
+        mActivityManager->Start(
+                TTimeIntervalSeconds(mInactivityPeriod),
+                TCallBack(inactivityCallback, this),
+                TCallBack(activityCallback, this));
+    } else if (!shouldWatch && isWatching()) {
+        mActivityManager->Cancel();
+    }
+}
+
+/*!
+    Checks if activity service is currently watching for user activity.
+    \retval true if user acitivity service is active.
+*/
+bool SnsrUserActivityServicePrivate::isWatching() const
+{
+    return mActivityManager && mActivityManager->IsActive();
+}
+
+/*!
+    Emits signal that user is active.
+*/
+void SnsrUserActivityServicePrivate::emitActive() const
+{
+    emit m_q->active();
+}
+
+/*!
+    Emits signal that user is not active.
+*/
+void SnsrUserActivityServicePrivate::emitNotActive() const
+{
+    emit m_q->notActive();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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: snsruseractivityservice.pri
+#
+
+HEADERS += ./inc/*.h
+
+SOURCES += ./src/*.cpp
+
+INCLUDEPATH += . \
+               inc 
+               
+DEPENDPATH += . \
+              inc \
+              src
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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: snsruseractivityservice.pro
+#
+
+TEMPLATE = lib
+
+include(../../common.pri)
+
+DEFINES += SNSRUSERACTIVITYSERVICE_LIB
+
+symbian: {
+TARGET.UID3 = 0x2002704D
+LIBS += -lactivitymanager
+
+include(snsruseractivityservice_s60.pri)
+} else {
+include(snsruseractivityservice_stub.pri)
+}
+
+include(snsruseractivityservice.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice_s60.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: snsruseractivityservice_s60.pri
+#
+
+HEADERS += ./s60/inc/*.h
+
+SOURCES += ./s60/src/*.cpp
+
+INCLUDEPATH += ./s60/inc
+
+DEPENDPATH += ./s60/inc \
+              ./s60/src
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice_stub.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: snsruseractivityservice_stub.pri
+#
+
+HEADERS += ./stub/inc/*.h
+
+SOURCES += ./stub/src/*.cpp
+
+INCLUDEPATH += ./stub/inc
+
+DEPENDPATH += ./stub/inc \
+              ./stub/src
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/src/snsruseractivityservice.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: snsruseractivityservice.cpp
+*
+*/
+
+#include "snsruseractivityservice.h"
+#include "snsruseractivityservice_p.h"
+
+/*!
+    \class SnsrUserActivityService
+    \brief ?brier_description
+
+    ?Qt_style_documentation 
+*/
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+*/
+SnsrUserActivityService::SnsrUserActivityService() :
+    m_d(new SnsrUserActivityServicePrivate(this))
+{
+    m_d->watch(true);
+}
+
+/*!
+    Destructor.
+*/
+SnsrUserActivityService::~SnsrUserActivityService()
+{
+    delete m_d;
+}
+
+/*!
+    Sets the inactivity period after which to emit signal of inactivity.
+    \param seconds after which inactivity is detected.
+*/
+void SnsrUserActivityService::setInactivityPeriod(int seconds)
+{
+    m_d->setInactivityPeriod(seconds);
+}
+
+/*!
+    Retrives the current inactivity period setting.
+    \retval inactivity period set.
+*/
+int SnsrUserActivityService::inactivityPeriod() const
+{
+    return m_d->inactivityPeriod();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/stub/inc/snsruseractivityservice_p.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: snsruseractivityservice_p.h
+*
+*/
+
+#ifndef SNSRUSERACTIVITYSERVICEPRIVATE_H
+#define SNSRUSERACTIVITYSERVICEPRIVATE_H
+
+#include "snsrtest_global.h"
+
+class QTimer;
+
+class SnsrUserActivityService;
+
+class SnsrUserActivityServicePrivate
+{
+
+public:
+
+    explicit SnsrUserActivityServicePrivate(SnsrUserActivityService *servicePublic);
+    ~SnsrUserActivityServicePrivate();
+
+    void setInactivityPeriod(int seconds);
+    int inactivityPeriod() const;
+
+    void watch(bool shouldWatch);
+
+private:
+
+    bool isWatching() const;
+
+private:
+
+    SnsrUserActivityService *m_q;
+
+    QTimer *mActivityTimer;
+    QTimer *mInactivityTimer;
+
+    int mInactivityPeriod;
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrUserActivityService)
+};
+
+#endif // SNSRUSERACTIVITYSERVICEPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/serviceproviders/snsruseractivityservice/stub/src/snsruseractivityservice_p.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: snsruseractivityservice_p.cpp
+*
+*/
+
+#include "snsruseractivityservice.h"
+#include "snsruseractivityservice_p.h"
+
+#include <QTimer>
+#include <QObject>
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+    \param servicePublic public implementation.
+*/
+SnsrUserActivityServicePrivate::SnsrUserActivityServicePrivate(SnsrUserActivityService *servicePublic) :
+    m_q(servicePublic), mInactivityPeriod(9)
+{
+    mActivityTimer = new QTimer();
+    QObject::connect(mActivityTimer, SIGNAL(timeout()), m_q, SIGNAL(active()));
+
+    mInactivityTimer = new QTimer();
+    QObject::connect(mInactivityTimer, SIGNAL(timeout()), m_q, SIGNAL(notActive()));
+}
+
+/*!
+    Destructor.
+*/
+SnsrUserActivityServicePrivate::~SnsrUserActivityServicePrivate()
+{
+    delete mActivityTimer;
+    delete mInactivityTimer;
+}
+
+/*!
+    Sets the inactivity period after which to emit signal of inactivity.
+    \param seconds after which inactivity is detected.
+*/
+void SnsrUserActivityServicePrivate::setInactivityPeriod(int seconds)
+{
+    mInactivityPeriod = seconds;
+    if (isWatching()) {
+        mInactivityTimer->start(seconds * 1000);
+    }
+}
+
+/*!
+    Retrives the current inactivity period setting.
+    \retval inactivity period set.
+*/
+int SnsrUserActivityServicePrivate::inactivityPeriod() const
+{
+    return mInactivityPeriod;
+}
+
+/*!
+    Starts or stops activity manager user activity watching.
+    \param shouldWatch determines if we shoul start watching or stop watching.
+*/
+void SnsrUserActivityServicePrivate::watch(bool shouldWatch)
+{
+    if (shouldWatch && !isWatching()) {
+        mActivityTimer->start(5000);
+        mInactivityTimer->start(mInactivityPeriod * 1000);
+    } else if (!shouldWatch && isWatching()) {
+        mActivityTimer->stop();
+        mInactivityTimer->stop();
+    }
+}
+
+/*!
+    Checks if activity service is currently watching for user activity.
+    \retval true if user acitivity service is active.
+*/
+bool SnsrUserActivityServicePrivate::isWatching() const
+{
+    return (mActivityTimer->isActive() || mInactivityTimer->isActive());
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/sis/rd-key.pem	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQDLRF+r1FGGkCwTrb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW4
+6Y+LWaA8HMlDdoHRB0FgASisYcFagwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh
+7W7Dt9F5FZij8F7/9Pi6+FhhxZFIf1DD+yry9D7+Sp+BgdNALe4XOpf25QIBAwKB
+gQCHgupyjYuvCsgNHn7PNtnvVxInrB5MQNoPli+O+uNJWUK/Q+57Rl+yO8AoEzDX
+pFaLWiuVVhsdloDnAgabT/FXzYncs6uOHyEUV+dSXb78vtLPJqAX+Fg2i3hOXreB
+yskcZ13/OsKVOu5wgrJkx2baZufkqMwOSytf5y9nwjEIKwJBAP+inobagVNrN62j
+KQva3cC+UN/6XnKdTc0CA6bHyLOaJoH1xiMwG/VS2PGjHI0tiSMNtLn/QPpHJ003
+iabGhdUCQQDLjp/9UjFT6K6CF66Chqf30pZXhx+GTSQZmv/gvZiMly7X9fX9BGX3
+2MbJohBC4yI21XKTbisWywkF73Hwh+TRAkEAqmxprzxWN5zPyRdwspHpKymLP/w+
+9xOJM1atGdqFzRFvAU6EF3Vn+OHl9my9s3OwwgkjJqorUYTE3iUGby8D4wJBAIe0
+aqjhdjfwdFa6dFcEb/qMZDpaFQQzbWZnVUB+ZbMPdI/5TqitmU/l2dvBYCyXbCSO
+TGJJcg8yBgP09qBamIsCQFL7j1tM0XPVQJQ89WpKCld7O9ORxRGVj1eG0tWijrH8
+mGbYh8SGCVoWV3vrKSS8GBrFVgQnqUaHuEdtM7tpCAQ=
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/sis/rd.cer	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICzDCCAjWgAwIBAgIBADANBgkqhkiG9w0BAQUFADArMRAwDgYDVQQKEwdSRCBD
+ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZTAeFw0wNDExMTUxMjQyMDZaFw0z
+NzA5MjMxMjQyMDZaMCsxEDAOBgNVBAoTB1JEIENlcnQxFzAVBgNVBAMTDlJEIENl
+cnRpZmljYXRlMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDLRF+r1FGGkCwT
+rb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW46Y+LWaA8HMlDdoHRB0FgASisYcFa
+gwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh7W7Dt9F5FZij8F7/9Pi6+FhhxZFI
+f1DD+yry9D7+Sp+BgdNALe4XOpf25QIBA6OCAQAwgf0wDAYDVR0TBAUwAwEB/zAL
+BgNVHQ8EBAMCAoQwHQYDVR0OBBYEFFi/kuGzxhVpjGxe9ZwlxC3fH9jFMFMGA1Ud
+IwRMMEqAFFi/kuGzxhVpjGxe9ZwlxC3fH9jFoS+kLTArMRAwDgYDVQQKEwdSRCBD
+ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZYIBADBsBgNVHSAEZTBjMGEGBFUd
+IAAwWTATBggrBgEFBQcCARYHaHR0cDovLzBCBggrBgEFBQcCAjA2GjRGb3IgUiZE
+IHVzYWdlIG9ubHkuIFRoaXMgY2VydGlmaWNhdGUgaXMgbm90IHRydXN0ZWQuMA0G
+CSqGSIb3DQEBBQUAA4GBAHGB4RQMAgBdeT2hxfOr6f2nA/dZm+M5yX5daUtZnET9
+Ed0A9sazLawfN2G1KFQT9kxEParAyoAkpbMAsRrnRz/9cM3OHgFm/NiKRnf50DpT
+7oCx0I/65mVD2kt+xXE62/Ii5KPnTufIkPi2uLvURCia1tTS8JmJ8dtxDGyQt8BR
+-----END CERTIFICATE-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/sis/screensaverapp.pkg	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"screensaverapp"},(0x2002704E),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Supports S60 5th Edition
+[0x1028315F], 0, 0, 0, {"S60ProductID"}
+
+
+; ---- snsrapplication --------------------------------------------
+
+"/epoc32/release/armv5/urel/snsrapplication.exe" - "c:/sys/bin/snsrapplication.exe"
+"/epoc32/data/z/private/10003a3f/import/apps/snsrapplication_reg.rsc" - "c:/private/10003a3f/import/apps/snsrapplication_reg.rsc"
+
+;themes
+;color specific
+"\epoc32\winscw\c\resource\hb\apptheme\snsrapplication\style\hbdefault\variables\color\hbcolorgroup.css" - "c:\resource\hb\apptheme\snsrapplication\style\hbdefault\variables\color\hbcolorgroup.css"
+"\epoc32\winscw\c\resource\hb\apptheme\snsrapplication\style\redtheme\variables\color\hbcolorgroup.css"  - "c:\resource\hb\apptheme\snsrapplication\style\redtheme\variables\color\hbcolorgroup.css"
+"\epoc32\winscw\c\resource\hb\apptheme\snsrapplication\style\bluetheme\variables\color\hbcolorgroup.css" - "c:\resource\hb\apptheme\snsrapplication\style\bluetheme\variables\color\hbcolorgroup.css"
+
+;hbdefault theme
+;"\epoc32\winscw\c\resource\hb\themes\icons\hbdefault\scalable\oled-clock-background.svg"    - "c:\resource\hb\themes\icons\hbdefault\scalable\aoled-clock-background.svg"
+;"\epoc32\winscw\c\resource\hb\themes\icons\hbdefault\scalable\oled-clock-hour-hand.svg"    - "c:\resource\hb\themes\icons\hbdefault\scalable\oled-clock-hour-hand.svg"
+;"\epoc32\winscw\c\resource\hb\themes\icons\hbdefault\scalable\oled-clock-minute-hand.svg"    - "c:\resource\hb\themes\icons\hbdefault\scalable\oled-clock-minute-hand.svg"
+
+;icon specific (redtheme)
+"\epoc32\winscw\c\resource\hb\themes\icons\redtheme\pixmap\analog-clock-background.png"    - "c:\resource\hb\themes\icons\redtheme\pixmap\analog-clock-background.png"
+"\epoc32\winscw\c\resource\hb\themes\icons\redtheme\scalable\analog-clock-hour-hand.svg"   - "c:\resource\hb\themes\icons\redtheme\scalable\analog-clock-hour-hand.svg"
+"\epoc32\winscw\c\resource\hb\themes\icons\redtheme\scalable\analog-clock-minute-hand.svg" - "c:\resource\hb\themes\icons\redtheme\scalable\analog-clock-minute-hand.svg"
+
+;icon specific (bluetheme)
+"\epoc32\winscw\c\resource\hb\themes\icons\bluetheme\scalable\analog-clock-background.svg"  - "c:\resource\hb\themes\icons\bluetheme\scalable\analog-clock-background.svg"
+"\epoc32\winscw\c\resource\hb\themes\icons\bluetheme\scalable\analog-clock-hour-hand.svg"   - "c:\resource\hb\themes\icons\bluetheme\scalable\analog-clock-hour-hand.svg"
+"\epoc32\winscw\c\resource\hb\themes\icons\bluetheme\scalable\analog-clock-minute-hand.svg" - "c:\resource\hb\themes\icons\bluetheme\scalable\analog-clock-minute-hand.svg"
+
+; ---- runtimeproviders --------------------------------------------
+
+; -------- snsrdefaultruntimeprovider
+"/epoc32/release/armv5/urel/snsrdefaultruntimeprovider.dll"                                 - "c:/sys/bin/snsrdefaultruntimeprovider.dll"
+"/epoc32/data/z/snsrresources/plugins/runtimeproviders/snsrdefaultruntimeprovider.qtplugin" - "c:/snsrresources/plugins/runtimeproviders/snsrdefaultruntimeprovider.qtplugin"
+"/epoc32/data/z/snsrresources/plugins/runtimeproviders/snsrdefaultruntimeprovider.manifest" - "c:/snsrresources/plugins/runtimeproviders/snsrdefaultruntimeprovider.manifest"
+
+; ---- stateproviders --------------------------------------------
+
+; -------- snsrdefaultstateprovider
+"/epoc32/release/armv5/urel/snsrdefaultstateprovider.dll" - "c:/sys/bin/snsrdefaultstateprovider.dll"
+"/epoc32/data/z/snsrresources/plugins/stateproviders/snsrdefaultstateprovider.qtplugin" - "c:/snsrresources/plugins/stateproviders/snsrdefaultstateprovider.qtplugin"
+"/epoc32/data/z/snsrresources/plugins/stateproviders/snsrdefaultstateprovider.manifest" - "c:/snsrresources/plugins/stateproviders/snsrdefaultstateprovider.manifest"
+
+; ---- screensaverproviders --------------------------------------------
+
+; -------- snsrbigclockscreensaverprovider
+"/epoc32/release/armv5/urel/snsrbigclockscreensaverprovider.dll" - "c:/sys/bin/snsrbigclockscreensaverprovider.dll"
+"/epoc32/data/z/snsrresources/plugins/screensaverproviders/snsrbigclockscreensaverprovider.qtplugin" - "c:/snsrresources/plugins/screensaverproviders/snsrbigclockscreensaverprovider.qtplugin"
+"/epoc32/data/z/snsrresources/plugins/screensaverproviders/snsrbigclockscreensaverprovider.manifest" - "c:/snsrresources/plugins/screensaverproviders/snsrbigclockscreensaverprovider.manifest"
+
+; -------- snsranalogclockstyleplugin
+"/epoc32/release/armv5/urel/snsranalogclockstyleplugin.dll" - "c:/sys/bin/snsranalogclockstyleplugin.dll"
+"/epoc32/data/z/snsrresources/plugins/snsrstyleplugins/snsranalogclockstyleplugin.qtplugin" - "c:/snsrresources/plugins/snsrstyleplugins/snsranalogclockstyleplugin.qtplugin"
+"/epoc32/data/z/snsrresources/plugins/snsrstyleplugins/snsranalogclockstyleplugin.manifest" - "c:/snsrresources/plugins/snsrstyleplugins/snsranalogclockstyleplugin.manifest"
+
+; -------- snsroledclockstyleplugin
+"/epoc32/release/armv5/urel/snsroledclockstyleplugin.dll" - "c:/sys/bin/snsroledclockstyleplugin.dll"
+"/epoc32/data/z/snsrresources/plugins/snsrstyleplugins/snsroledclockstyleplugin.qtplugin" - "c:/snsrresources/plugins/snsrstyleplugins/snsroledclockstyleplugin.qtplugin"
+"/epoc32/data/z/snsrresources/plugins/snsrstyleplugins/snsroledclockstyleplugin.manifest" - "c:/snsrresources/plugins/snsrstyleplugins/snsroledclockstyleplugin.manifest"
+
+; ---- serviceproviders --------------------------------------------
+
+; -------- snsruseractivityservice
+"/epoc32/release/armv5/urel/snsruseractivityservice.dll" - "c:/sys/bin/snsruseractivityservice.dll"
+
+; ---- snsrutils --------------------------------------------
+
+"/epoc32/release/armv5/urel/snsrutils.dll" - "c:/sys/bin/snsrutils.dll"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/sis/screensaverapp_sisx.bat	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,30 @@
+@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 off
+
+if exist screensaverapp.sisx del screensaverapp.sisx
+
+makesis screensaverapp.pkg
+signsis screensaverapp.sis screensaverapp.sisx rd.cer rd-key.pem
+
+if exist screensaverapp.sisx (
+echo screensaverapp.sisx creation SUCCEEDED
+del screensaverapp.sis
+)
+
+if not exist screensaverapp.sisx (
+echo screensaverapp.sisx creation FAILED
+)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/inc/snsrscreensaver.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Main Screensaver application class, loads runtime.
+*
+*/
+
+#ifndef SNSRSCREENSAVER_H
+#define SNSRSCREENSAVER_H
+
+#include <QObject>
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrScreensaver)
+
+class HsRuntime;
+
+class SnsrScreensaver : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    SnsrScreensaver(QObject *parent = 0);
+    virtual ~SnsrScreensaver();
+
+signals:
+
+    void exit();
+
+public slots:
+
+    void start();
+    void stop();
+
+private:
+
+    Q_DISABLE_COPY (SnsrScreensaver)
+
+private slots:
+
+    void onRuntimeStarted();
+    void onRuntimeStopped();
+    void onRuntimeFaulted();
+
+private:
+
+    HsRuntime *mRuntime;
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrScreensaver)
+
+};
+
+#endif // SNSRSCREENSAVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/installs_symbian.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+deploy.path = c:
+
+#style
+
+styleexports1.path = /resource/hb/apptheme/snsrapplication/style/redtheme/variables/color
+styleexports1.sources += themes/style/theme1/hbcolorgroup.css
+for(styleexport1, styleexports1.sources):BLD_INF_RULES.prj_exports += "./$$styleexport1 $$deploy.path$$styleexports1.path/$$basename(styleexport1)"
+
+styleexports2.path = /resource/hb/apptheme/snsrapplication/style/bluetheme/variables/color
+styleexports2.sources += themes/style/theme2/hbcolorgroup.css
+for(styleexport2, styleexports2.sources):BLD_INF_RULES.prj_exports += "./$$styleexport2 $$deploy.path$$styleexports2.path/$$basename(styleexport2)"
+
+styleexports3.path = /resource/hb/apptheme/snsrapplication/style/hbdefault/variables/color
+styleexports3.sources += themes/style/defaulttheme/hbcolorgroup.css
+for(styleexport3, styleexports3.sources):BLD_INF_RULES.prj_exports += "./$$styleexport3 $$deploy.path$$styleexports3.path/$$basename(styleexport3)"
+
+#icons
+
+iconsexports11.path = /resource/hb/themes/icons/redtheme/scalable
+iconsexports11.sources += themes/icons/theme1/analog-clock-hour-hand.svg
+iconsexports11.sources += themes/icons/theme1/analog-clock-minute-hand.svg
+for(iconsexport11, iconsexports11.sources):BLD_INF_RULES.prj_exports += "./$$iconsexport11 $$deploy.path$$iconsexports11.path/$$basename(iconsexport11)"
+
+iconsexports12.path = /resource/hb/themes/icons/redtheme/pixmap
+iconsexports12.sources += themes/icons/theme1/analog-clock-background.png
+for(iconsexport12, iconsexports12.sources):BLD_INF_RULES.prj_exports += "./$$iconsexport12 $$deploy.path$$iconsexports12.path/$$basename(iconsexport12)"
+
+iconsexports2.path = /resource/hb/themes/icons/bluetheme/scalable
+iconsexports2.sources += themes/icons/theme2/analog-clock-background.svg
+iconsexports2.sources += themes/icons/theme2/analog-clock-hour-hand.svg
+iconsexports2.sources += themes/icons/theme2/analog-clock-minute-hand.svg
+for(iconsexport2, iconsexports2.sources):BLD_INF_RULES.prj_exports += "./$$iconsexport2 $$deploy.path$$iconsexports2.path/$$basename(iconsexport2)"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/installs_win.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+#
+
+stylefortheme1.path = "$$(USERPROFILE)/Application Data/hb/apptheme/snsrapplication/style/redtheme/variables/color"
+stylefortheme1.files = ./themes/style/theme1/hbcolorgroup.css
+
+stylefortheme2.path = "$$(USERPROFILE)/Application Data/hb/apptheme/snsrapplication/style/bluetheme/variables/color"
+stylefortheme2.files = ./themes/style/theme2/hbcolorgroup.css
+
+stylefortheme3.path = "$$(USERPROFILE)/Application Data/hb/apptheme/snsrapplication/style/hbdefault/variables/color"
+stylefortheme3.files = ./themes/style/defaulttheme/hbcolorgroup.css
+
+themeableimagesfortheme11.path = "$$(USERPROFILE)/Application Data/hb/themes/icons/redtheme/scalable"
+themeableimagesfortheme11.files = ./themes/icons/theme1/analog-clock-hour-hand.svg \
+                                  ./themes/icons/theme1/analog-clock-minute-hand.svg
+
+themeableimagesfortheme12.path = "$$(USERPROFILE)/Application Data/hb/themes/icons/redtheme/pixmap"
+themeableimagesfortheme12.files = ./themes/icons/theme1/analog-clock-background.png
+
+themeableimagesfortheme2.path = "$$(USERPROFILE)/Application Data/hb/themes/icons/bluetheme/scalable"
+themeableimagesfortheme2.files = ./themes/icons/theme2/analog-clock-background.svg \
+                                 ./themes/icons/theme2/analog-clock-hour-hand.svg \
+                                 ./themes/icons/theme2/analog-clock-minute-hand.svg
+								 
+INSTALLS += stylefortheme1 stylefortheme2 stylefortheme3 themeableimagesfortheme11 themeableimagesfortheme12 themeableimagesfortheme2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/screensaverapp_fallbacktheme.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,12 @@
+<RCC>
+    <qresource prefix="/" >
+        <file>themes/icons/hbdefault/scalable/analog-clock-hour-hand.svg</file>
+        <file>themes/icons/hbdefault/scalable/analog-clock-minute-hand.svg</file>
+        <file>themes/icons/hbdefault/pixmap/analog-clock-background.png</file>
+        
+        <file>themes/icons/hbdefault/scalable/oled-clock-hour-hand.svg</file>
+        <file>themes/icons/hbdefault/scalable/oled-clock-minute-hand.svg</file>
+        <file>themes/icons/hbdefault/scalable/oled-clock-background.svg</file>
+        <file>themes/icons/hbdefault/scalable/oled-clock-date-frame.svg</file>
+    </qresource>    
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/snsrapplication.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -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: snsrapplication.pri
+#
+
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
+
+DEPENDPATH += . \
+    ./inc \
+    ./src
+
+INCLUDEPATH += 	. \
+				./inc \
+				../inc
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/snsrapplication.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: snsrapplication.pro
+#
+
+TEMPLATE = app
+
+include(../common.pri)
+
+LIBS +=  -lappruntimemodel
+CONFIG += console hb
+
+RESOURCES += screensaverapp_fallbacktheme.qrc
+
+symbian: {
+    TARGET.UID3 = 0x2002704E
+    TARGET.CAPABILITY = CAP_APPLICATION
+
+    include(installs_symbian.pri)
+}
+
+win32: {
+    include(installs_win.pri)
+}
+
+include(snsrapplication.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/src/main.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Screensaver application.
+*
+*/
+
+#include <hbapplication.h>
+
+#include "snsrscreensaver.h"
+#include "snsrtest_global.h"
+
+int main(int argc, char *argv[])
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("main")
+    
+    HbApplication scsrApp(argc, argv);
+    scsrApp.setApplicationName("Screensaver");
+    SnsrScreensaver scsr;
+    QObject::connect(&scsrApp, SIGNAL(aboutToQuit()), &scsr, SLOT(stop()));
+    QObject::connect(&scsr, SIGNAL(exit()), &scsrApp, SLOT(quit()), Qt::QueuedConnection);
+    scsr.start();
+    int ret = scsrApp.exec();
+    
+    SCREENSAVER_TEST_FUNC_EXIT("main")
+    return ret;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/src/snsrscreensaver.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Main Screensaver application class, loads runtime.
+*
+*/
+
+#include "snsrscreensaver.h"
+
+#include <hsruntimefactory.h>
+#include <hsruntime.h>
+
+#include "snsrtest_global.h"
+
+/*!
+    \class SnsrScreensaver
+    \ingroup group_snsrapplication
+    \brief Main Screensaver application class.
+
+    Loads and manages the runtime.
+*/
+
+/*!
+    Constructs a new SnsrScreensaver with parent.
+*/
+SnsrScreensaver::SnsrScreensaver(QObject *parent):
+    QObject(parent)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrScreensaver::SnsrScreensaver")
+    
+    HsRuntimeFactory factory(
+        "snsrresources/plugins/runtimeproviders",
+        "snsrresources/plugins/runtimeproviders");
+
+    HsRuntimeToken token;
+    token.mLibrary = "snsrdefaultruntimeprovider.dll";
+    token.mUri = "screensaver.nokia.com/runtime/defaultruntime";
+
+    mRuntime = factory.createRuntime(token);
+    if (mRuntime) {
+        mRuntime->setParent(this);
+
+        connect(mRuntime, SIGNAL(started()), SLOT(onRuntimeStarted()));
+        connect(mRuntime, SIGNAL(stopped()), SLOT(onRuntimeStopped()));
+        connect(mRuntime, SIGNAL(faulted()), SLOT(onRuntimeFaulted()));
+    }
+    
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrScreensaver::SnsrScreensaver")
+}
+
+/*!
+    Destructs the class.
+*/
+SnsrScreensaver::~SnsrScreensaver()
+{
+}
+
+/*!
+    \fn void SnsrScreensaver::exit()
+
+    This signal is emitted when the runtime ends job.
+ */
+
+/*!
+    Starts the runtime.
+*/
+void SnsrScreensaver::start()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrScreensaver::start")
+    
+    if (mRuntime) {
+        mRuntime->start();
+    }
+    else {
+        emit exit();
+    }
+    
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrScreensaver::start")
+}
+
+/*!
+    Stops the runtime.
+*/
+void SnsrScreensaver::stop()
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrScreensaver::stop")
+    
+    if (mRuntime) {
+        mRuntime->stop();
+    }
+    
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrScreensaver::stop")
+}
+
+/*!
+    Called after the runtime has started.
+*/
+void SnsrScreensaver::onRuntimeStarted()
+{
+}
+ 
+/*!
+    Called after the runtime has stopped.
+*/
+void SnsrScreensaver::onRuntimeStopped()
+{
+    emit exit();
+}
+ 
+/*!
+     Called after the runtime has faulted.
+*/
+void SnsrScreensaver::onRuntimeFaulted()
+{
+    emit exit();
+}
Binary file screensaverapp/snsrapplication/themes/icons/hbdefault/pixmap/analog-clock-background.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/analog-clock-hour-hand.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<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"
+   version="1.0"
+   baseProfile="tiny"
+   id="Layer_1"
+   width="45"
+   height="240"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="analog-clock-hour-hand.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   xml:space="preserve"><metadata
+   id="metadata18"><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><defs
+   id="defs16"><inkscape:perspective
+     sodipodi:type="inkscape:persp3d"
+     inkscape:vp_x="0 : 18 : 1"
+     inkscape:vp_y="0 : 1000 : 0"
+     inkscape:vp_z="131 : 18 : 1"
+     inkscape:persp3d-origin="65.5 : 12 : 1"
+     id="perspective20" /></defs><sodipodi:namedview
+   inkscape:window-height="844"
+   inkscape:window-width="1440"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="true"
+   inkscape:zoom="2.6848739"
+   inkscape:cx="-52.463224"
+   inkscape:cy="119"
+   inkscape:window-x="18"
+   inkscape:window-y="71"
+   inkscape:current-layer="Layer_1"
+   showguides="true"
+   inkscape:guide-bbox="true"><inkscape:grid
+     type="xygrid"
+     id="grid2388"
+     visible="true"
+     enabled="true" /><sodipodi:guide
+     orientation="1,0"
+     position="22.719875,92.741784"
+     id="guide2385" /><sodipodi:guide
+     orientation="0,1"
+     position="-105.03286,119.93114"
+     id="guide2387" /></sodipodi:namedview>
+<g
+   id="g3"
+   transform="matrix(0,-0.968254,1,0,7.874,128.80784)">
+	
+		<image
+   width="126"
+   height="34"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAAiCAYAAACZb20EAAAACXBIWXMAAAsSAAALEgHS3X78AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA0hJREFUeNrsmvtvEkEQxzvAP+Ur GmOMMaa1qY9GTWPUtLTYhyDYFoQGpE0R2mJtocaEGKPxrdUYozE+o/5ZI2qjB707dtiZO1p3flyO vd35fuaxLNBlrCNsOhrG5rHZhSpIvQ+My/2zVGz4r9jo8ly+VAEj/DaxTCKCrZ6xPpAtrLBqFTIS eG+5qTFLpKMvazAR77HNpibQPqYtowQWkvkyGOE73OYzUexqWdSRMGr/wWRuEYzwHWKl7GVsHdH6 ottZfKYErsKvzk+jW92JXJkzoLRhS9cSCo0cksQldwZ12qLpIjQIv1ZMWWikNxvheN4A4WLLc5Po rgnN56j5wXiyAL8Fu72Qxnaoa/WawVjuvwKiUtjImEjxFa/PVTrFXyNQK2fIi+Wk9/yl7JaA41Yp hdwpGJmcjm00AaFgIEBOHe5nTyDVqVp5BnWY5vCdvABOPgS5SLeb3/JwKFAXnu4kEHISDSg+YGmw 6krzZ+8gDKz7/PWIB+LmOJyEDkPA4Gg5YLGtcxUIwaquhd0M5IjXaSq4nEE+79o5iQNWYWClYB0Y TUMoGAxoUudUXnSd4VbTwXdY6VwywEoGdvPo6ZGrsBHx4NgLqNYLfafazQHaSpKAZYFVuKaTfdv4 zv5wsvEHnPXadWKrhdrphr5ptm5LBFbyUjizq8LwicEpcETi1Z0ism7O5QcEno6NrwOQgNVRSBTd /qbF912YBFIOf323hN5FNIu6TNGIUsmFr6lUXHrvuQToFe+6vbm3iOob0XcTHSj0IaKpR1YhWJs2 1X02DsS2Ud3e3l9Cqehic4ZkfWXZEn8JOjIQ8/4+/t2Dslie9KXBYzuleAPs4TNRJU09uSB5//AG ykURyone4bBapzl0aoKkpe83Yx8eLSN7ZHjdsPkAa/MsB/vHt5bwrezj45soFtF+nBgEgD1wcoys 47b7o8SnJysoIRf6QIIKsPuPj5p/2XaSfX7aCCBf1v/3hX3HLratnxFe0L48W2WtAtb79719ES3t jPDC9vV5hT3x7+kd0dbNCO+BfXtRRZX8rkLI7qPDLJoZ4T2y7+tV1O0Hd/WE2fQywnsNwMs10nXl zp4hEY2M8D7aDzsI6raje0hcl58CDAA856IpWveJ7AAAAABJRU5ErkJggg=="
+   transform="translate(2.7529,1.3525)"
+   id="image5">
+	</image>
+	<path
+   d="M 102.457,2.182 C 97.374,2.873 93.998,6.657 91.807,10.626 C 65.705,14.422 39.322,14.508 12.465,9.214 C 6.546,8.044 3.421,9.383 3.04,14.554 C 2.654,19.783 5.286,18.916 13.199,21.079 C 46.57,30.197 88.088,27.713 88.088,27.713 C 88.431,27.717 88.757,27.706 89.083,27.686 C 91.598,32.689 98.175,36.957 107.247,33.139 C 112.039,31.122 114.781,26.138 116.952,24.064 C 119.338,21.787 128.957,16.525 128.476,11.992 C 128.177,9.171 117.227,6.249 108.641,5.65 C 107.431,3.313 105.461,1.773 102.457,2.182 z M 106.349,4.221 C 106.766,4.596 107.129,5.069 107.463,5.586 C 107.728,5.966 107.831,6.187 107.959,6.439 C 109.067,8.634 109.573,11.531 109.52,13.961 C 109.446,17.465 108.624,19.333 108.16,19.808 C 107.648,20.331 106.628,20.124 106.168,19.949 C 104.31,19.255 102.903,16.179 102.371,14.991 C 102.371,14.991 102.163,14.179 102.099,14.032 C 101.785,13.325 101.05,13.964 101.202,14.394 C 101.356,14.827 101.577,15.322 101.577,15.322 C 101.577,15.322 104.879,22.741 108.464,20.569 C 110.206,19.515 111.136,11.651 109.047,6.534 C 115.69,7.172 123.548,9.143 126.466,11.069 C 127.238,11.579 127.586,12.104 127.528,12.475 C 126.914,16.26 117.919,21.883 116.298,23.286 C 114.425,24.905 111.321,30.451 106.922,32.228 C 101.322,34.489 96.991,33.896 93.414,31.46 C 91.887,30.418 90.742,29.109 90.05,27.593 L 89.654,26.626 C 89.558,26.342 88.581,26.529 88.645,26.698 C 88.436,26.704 88.232,26.718 88.014,26.718 C 87.558,26.752 46.211,29.264 13.38,20.351 C 4.911,18.053 3.672,18.5 3.878,14.787 C 3.974,13.054 4.715,11.059 5.941,10.275 C 7.427,9.325 9.957,9.489 12.337,9.959 C 45.963,16.587 69.436,14.456 91.405,11.368 C 90.703,12.703 91.534,13.254 92.281,11.667 C 92.356,11.517 92.437,11.371 92.513,11.222 C 92.534,11.219 92.834,10.617 92.834,10.617 C 94.874,6.887 98.053,3.704 102.567,2.98 C 104.069,2.738 105.327,3.309 106.349,4.221 z"
+   id="path7"
+   style="fill:#534741" />
+	<path
+   d="M 109.672,16.708 C 112.999,16.003 113.687,17.167 114.319,17.608 C 114.632,17.826 115.493,17.327 114.772,16.757 C 113.543,15.782 112.191,15.302 109.818,15.649 C 109.818,15.648 109.543,16.736 109.672,16.708 z"
+   id="path9"
+   style="fill:#534741" />
+	<path
+   d="M 103.416,17.996 C 103.416,17.996 98.376,19.599 97.113,23.244 C 96.207,25.856 96.077,26.784 96.034,28.692 C 96.022,29.13 95.033,29.624 95.054,28.686 C 95.075,27.748 95.715,23.173 97.029,21.33 C 98.313,19.529 101.109,17.672 102.686,17.166 C 103.781,16.813 103.416,17.996 103.416,17.996 z"
+   id="path11"
+   style="fill:#534741" />
+	<path
+   d="M 102.902,13.834 C 102.902,13.834 103.563,16.602 105.257,17.822 C 106.953,19.043 107.945,19.165 108.297,15.01 C 108.65,10.858 107.184,5.131 103.628,4.012 C 100.074,2.894 94.053,12.05 93.081,13.105 C 92.111,14.161 90.677,13.425 88.908,12.918 C 87.851,12.616 82.874,13.799 81.547,14.014 C 79.489,14.345 62.844,15.75 45.36,15.276 C 25.688,14.745 18.796,12.787 9.555,10.793 C 6.136,10.052 5.265,13.528 5.181,14.189 C 5.099,14.853 4.612,17.395 8.823,18.007 C 14.265,18.796 17.4,21.935 42.783,23.769 C 68.308,25.615 89.75,24.95 89.75,24.95 C 89.75,24.95 91.942,30.263 97.813,31.671 C 103.686,33.076 111.006,27.954 114.931,22.392 C 116.565,20.078 125.66,15.843 126.201,12.889 C 126.74,9.93 110.552,7.737 110.552,7.737"
+   id="path13"
+   style="fill:none;stroke:#d5c6b2;stroke-dasharray:3" />
+</g>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/analog-clock-minute-hand.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<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"
+   version="1.0"
+   baseProfile="tiny"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="40"
+   height="285"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="analog-clock-minute-hand.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata18"><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><defs
+   id="defs16"><inkscape:perspective
+     sodipodi:type="inkscape:persp3d"
+     inkscape:vp_x="0 : 18 : 1"
+     inkscape:vp_y="0 : 1000 : 0"
+     inkscape:vp_z="153 : 18 : 1"
+     inkscape:persp3d-origin="76.5 : 12 : 1"
+     id="perspective20" /></defs><sodipodi:namedview
+   inkscape:window-height="844"
+   inkscape:window-width="1440"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="true"
+   inkscape:zoom="2.25"
+   inkscape:cx="17"
+   inkscape:cy="142"
+   inkscape:window-x="22"
+   inkscape:window-y="29"
+   inkscape:current-layer="Layer_1"
+   showguides="true"
+   inkscape:guide-bbox="true"><inkscape:grid
+     type="xygrid"
+     id="grid2408"
+     visible="true"
+     enabled="true" /><sodipodi:guide
+     orientation="1,0"
+     position="20,126.22222"
+     id="guide2410" /><sodipodi:guide
+     orientation="0,1"
+     position="-229.33333,142.66667"
+     id="guide2412" /></sodipodi:namedview>
+<g
+   id="g3"
+   transform="matrix(0,0.9666667,-1,0,35.2145,2.6649299)">
+	
+		<image
+   width="150"
+   height="34"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAiCAYAAAC9WiCBAAAACXBIWXMAAAsSAAALEgHS3X78AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtZJREFUeNrsmo9Lk0EYx73Nfyoz CQokIn9RSUSESDmdis7N6RyO5n64dJtiOgdWRGU/FGtFREQURfVnPTVjlnNbd+/dvXf33vOFwRjv vc9tz+f5vs/djrRJViwUgPrPMoVt0obytKQleGFmFP53TTpfQsAQLHolZoPAcv2du5sImMfkk3FT v9/H9ErOTwCmwnLHysSnfkPgnANoMXQhvY7OZQtYuUToLwpcvkI3OJosIlxeBCufDAOtw4iCqV7h RB7hMlzttTdrqVlhfQ4cAUXcYhGlo2NtZOe40wkglojJWA5dSzMVU5GmSZ6OrxzLF9nKxTgfdsAz mErBuSxC5pIamQyLadQMgZRX48xkiHYnHgUiaYSOUiwmwmMYwWiWHCZlp7AIMgOp7J3qw96eWTIe RCdm4KZhVIv9sHn3+0mLYNQ7E9qo1Q90v7gI+s5bVfGJX2z9AcvnE2suIOJLcq9JXJyzMhQFQSze NI7u+GRzCdRVqpl7DCr2+BTWPNPgY6g+K6XAjEpV6TBg4Jzd1wkPfFHO6NuDmNjAuOgSQh+VMpqR /Z1lEB0JdFkWWtU7qdHgSIw07doOHuTASA+21dk0WWxduTVPqJYDlYcrLvddippaIwtIHzseGI4S 5nXm20er4M1KBfPmrElr0DcUIcw9ViO9e1wArboQ2x7Rit3p0s0w02YX08XvnxbB3Gqzca/MuS7e CHHtmjIP/rC7Bva4hHlEsEa9cH1ayn91jm768fk6eBYmQ5unVo7cfW3K9T96HQf89HIDdKt02w6f nh+c1PZkANfEPu/dAzHVZm5TKyr0uasTnjpX1s5FJSHS6T57Ocgc5Ms+JfCkFmMcDwvq5FhVfT3Y klr3XQNjmHQbwarq26uSFLjO9I8iVDaDVdX31yfh4qGtsw+hQrD+Bayyze1ep3sDCBWC1Vg/KmVm wDp6RxAoBIteP980h+xUD8LkRf0SYAB1yg1o6fi76wAAAABJRU5ErkJggg=="
+   transform="translate(1.7949,0.8145)"
+   id="image5">
+	</image>
+	<path
+   d="M 22.749,4.884 C 14.146,5.218 3.113,7.81 2.728,10.614 C 2.107,15.133 11.566,20.688 13.88,23.04 C 15.985,25.176 18.573,30.242 23.306,32.407 C 32.255,36.495 38.963,32.432 41.626,27.511 C 41.948,27.538 42.277,27.56 42.616,27.566 C 42.616,27.566 106.848,29.618 140.496,21.58 C 150.479,19.19 151.108,18.526 150.848,15.365 C 150.411,10.14 147.545,8.752 141.598,9.74 C 114.583,14.215 65.398,14.963 39.424,10.373 C 37.355,6.334 34.096,2.452 29.036,1.604 C 26.044,1.106 24.027,2.583 22.749,4.884 z M 28.869,2.428 C 33.391,3.182 36.471,6.541 38.399,10.328 C 38.399,10.328 38.681,10.938 38.703,10.944 C 38.774,11.096 38.851,11.243 38.918,11.397 C 39.618,13.004 40.547,12.626 39.886,11.272 C 61.749,15.026 107.885,16.116 141.701,10.514 C 144.093,10.118 146.689,9.996 148.024,11.15 C 149.253,12.212 149.793,12.879 149.991,15.464 C 150.175,17.851 149.543,18.737 140.338,20.844 C 107.177,28.435 43.178,26.621 42.725,26.572 C 42.508,26.568 42.302,26.55 42.094,26.534 C 42.165,26.368 41.197,26.151 41.088,26.427 L 40.663,27.384 C 39.925,28.884 38.695,30.171 37.139,31.163 C 33.486,33.489 28.466,33.736 23.705,31.539 C 19.745,29.714 15.234,22.715 14.589,22.06 C 13.951,21.413 12.823,20.677 11.576,19.722 C 8.408,17.289 3.678,13.813 3.7,11.03 C 3.7,10.937 3.701,10.846 3.718,10.753 C 3.738,10.613 3.982,10.242 4.77,9.757 C 7.745,7.922 15.66,6.192 22.318,5.752 C 20.07,10.802 20.763,18.695 22.473,19.802 C 25.992,22.082 29.516,14.766 29.516,14.766 C 29.516,14.766 29.75,14.281 29.917,13.85 C 30.085,13.42 29.371,12.76 29.033,13.459 C 28.966,13.601 28.731,14.413 28.731,14.413 C 28.164,15.584 26.665,18.613 24.784,19.253 C 24.323,19.409 23.306,19.589 22.806,19.024 C 22.345,18.502 21.587,16.668 21.615,13.164 C 21.635,10.733 22.233,7.851 23.409,5.696 C 23.539,5.444 23.651,5.226 23.927,4.851 C 24.274,4.349 24.654,3.886 25.083,3.522 C 26.132,2.648 27.371,2.173 28.869,2.428 z"
+   id="path7"
+   style="fill:#534741" />
+	<path
+   d="M 21.346,15.69 C 17.543,14.596 17.311,15.712 16.6,15.9 C 15.889,16.088 15.436,15.466 16.307,14.912 C 17.45,14.183 18.904,13.871 21.272,14.724 C 21.271,14.724 21.473,15.73 21.346,15.69 z"
+   id="path9"
+   style="fill:#534741" />
+	<path
+   d="M 27.671,17.255 C 27.671,17.255 31.934,19.105 33.395,21.474 C 34.878,23.879 34.735,27.889 34.731,28.328 C 34.729,28.764 35.619,29.263 35.628,28.322 C 35.634,27.388 35.684,23.03 34.25,20.999 C 32.944,19.149 30.197,17.04 28.389,16.503 C 27.542,16.253 27.671,17.255 27.671,17.255 z"
+   id="path11"
+   style="fill:#534741" />
+	<path
+   d="M 28.233,13.238 C 28.233,13.238 27.491,15.984 25.759,17.154 C 24.027,18.322 23.033,18.413 22.806,14.252 C 22.579,10.086 24.181,4.258 27.807,3.399 C 32.389,2.313 37.131,11.728 38.071,12.809 C 39.009,13.893 40.409,12.823 42.25,12.753 C 43.484,12.706 47.135,13.441 48.467,13.611 C 50.334,13.854 69.743,15.963 87.237,16.023 C 106.913,16.088 135.151,13.116 144.449,11.403 C 147.89,10.769 148.653,14.27 148.718,14.935 C 148.779,15.599 149.039,17.423 144.968,18.637 C 138.241,20.644 113.452,23.946 88.021,25.007 C 62.453,26.071 41.041,24.751 41.041,24.751 C 41.041,24.751 38.688,29.994 32.777,31.223 C 26.867,32.452 19.705,27.106 15.95,21.429 C 14.386,19.064 5.425,14.549 4.975,11.581 C 4.527,8.609 20.773,6.911 20.773,6.911"
+   id="path13"
+   style="fill:none;stroke:#d5c6b2;stroke-dasharray:3" />
+</g>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-background.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,182 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="350"
+   height="350"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="background_simple_clock.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+  </defs>
+  <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="0.98994949"
+     inkscape:cx="205.94631"
+     inkscape:cy="184.91651"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="977"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2383"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <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:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-160,-132.36218)">
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3197"
+       width="10"
+       height="22.761906"
+       x="330"
+       y="154.93361" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3199"
+       width="10"
+       height="25.190475"
+       x="302.36218"
+       y="-487.85715"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3203"
+       width="10"
+       height="25.190472"
+       x="302.36218"
+       y="-207.33334"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3231"
+       sodipodi:cx="335"
+       sodipodi:cy="197.36218"
+       sodipodi:rx="5"
+       sodipodi:ry="5"
+       d="M 340,197.36218 A 5,5 0 1 1 330,197.36218 A 5,5 0 1 1 340,197.36218 z"
+       transform="matrix(0.8660254,-0.5,0.5,0.8660254,-125.2996,181.09989)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3233"
+       sodipodi:cx="335"
+       sodipodi:cy="417.36218"
+       sodipodi:rx="5"
+       sodipodi:ry="5"
+       d="M 340,417.36218 A 5,5 0 1 1 330,417.36218 A 5,5 0 1 1 340,417.36218 z"
+       transform="matrix(0.8660254,-0.5,0.5,0.8660254,-92.299602,238.25756)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3239"
+       sodipodi:cx="335"
+       sodipodi:cy="197.36218"
+       sodipodi:rx="5"
+       sodipodi:ry="5"
+       d="M 340,197.36218 A 5,5 0 1 1 330,197.36218 A 5,5 0 1 1 340,197.36218 z"
+       transform="matrix(0.5,-0.8660254,0.8660254,0.5,-127.09242,428.64123)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3241"
+       sodipodi:cx="335"
+       sodipodi:cy="417.36218"
+       sodipodi:rx="5"
+       sodipodi:ry="5"
+       d="M 340,417.36218 A 5,5 0 1 1 330,417.36218 A 5,5 0 1 1 340,417.36218 z"
+       transform="matrix(0.5,-0.8660254,0.8660254,0.5,-69.93475,461.64123)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3243"
+       sodipodi:cx="335"
+       sodipodi:cy="197.36218"
+       sodipodi:rx="5"
+       sodipodi:ry="5"
+       d="M 340,197.36218 A 5,5 0 1 1 330,197.36218 A 5,5 0 1 1 340,197.36218 z"
+       transform="matrix(-0.5,-0.8660254,0.8660254,-0.5,207.56784,768.32015)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3245"
+       sodipodi:cx="335"
+       sodipodi:cy="417.36218"
+       sodipodi:rx="5"
+       sodipodi:ry="5"
+       d="M 340,417.36218 A 5,5 0 1 1 330,417.36218 A 5,5 0 1 1 340,417.36218 z"
+       transform="matrix(-0.5,-0.8660254,0.8660254,-0.5,264.72551,735.32015)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3247"
+       sodipodi:cx="335"
+       sodipodi:cy="197.36218"
+       sodipodi:rx="5"
+       sodipodi:ry="5"
+       d="M 340,197.36218 A 5,5 0 1 1 330,197.36218 A 5,5 0 1 1 340,197.36218 z"
+       transform="matrix(-0.8660254,-0.5,0.5,-0.8660254,455.1073,770.96611)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3249"
+       sodipodi:cx="335"
+       sodipodi:cy="417.36218"
+       sodipodi:rx="5"
+       sodipodi:ry="5"
+       d="M 340,417.36218 A 5,5 0 1 1 330,417.36218 A 5,5 0 1 1 340,417.36218 z"
+       transform="matrix(-0.8660254,-0.5,0.5,-0.8660254,488.10729,713.80843)" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3251"
+       width="10"
+       height="22.761906"
+       x="330"
+       y="438.36218" />
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-date-frame.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   baseProfile="tiny"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="40"
+   height="20"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="oled-clock-date-frame.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata18"><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><defs
+   id="defs16"><inkscape:perspective
+     sodipodi:type="inkscape:persp3d"
+     inkscape:vp_x="0 : 18 : 1"
+     inkscape:vp_y="0 : 1000 : 0"
+     inkscape:vp_z="153 : 18 : 1"
+     inkscape:persp3d-origin="76.5 : 12 : 1"
+     id="perspective20" /></defs><sodipodi:namedview
+   inkscape:window-height="844"
+   inkscape:window-width="1280"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="true"
+   inkscape:zoom="20.2"
+   inkscape:cx="10.693069"
+   inkscape:cy="10"
+   inkscape:window-x="154"
+   inkscape:window-y="172"
+   inkscape:current-layer="Layer_1"
+   showguides="true"
+   inkscape:guide-bbox="true"><inkscape:grid
+     type="xygrid"
+     id="grid2408"
+     visible="true"
+     enabled="true" /><sodipodi:guide
+     orientation="1,0"
+     position="20,126.22222"
+     id="guide2410" /><sodipodi:guide
+     orientation="0,1"
+     position="-229.33333,142.66667"
+     id="guide2412" /></sodipodi:namedview>
+
+<rect
+   style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:3.4000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+   id="rect5496"
+   width="10"
+   height="124.99615"
+   x="15"
+   y="30" /><rect
+   style="opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2.73845792000000010;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+   id="rect2384"
+   width="35.895233"
+   height="15.873453"
+   x="2.0634999"
+   y="2.0335598" /></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-hour-hand.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   baseProfile="tiny"
+   id="Layer_1"
+   width="45"
+   height="240"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="analog-clock-hour-hand.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   xml:space="preserve"><metadata
+   id="metadata18"><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><defs
+   id="defs16"><inkscape:perspective
+     sodipodi:type="inkscape:persp3d"
+     inkscape:vp_x="0 : 18 : 1"
+     inkscape:vp_y="0 : 1000 : 0"
+     inkscape:vp_z="131 : 18 : 1"
+     inkscape:persp3d-origin="65.5 : 12 : 1"
+     id="perspective20" /></defs><sodipodi:namedview
+   inkscape:window-height="977"
+   inkscape:window-width="1280"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="true"
+   inkscape:zoom="1.8984925"
+   inkscape:cx="-151.22579"
+   inkscape:cy="119"
+   inkscape:window-x="-4"
+   inkscape:window-y="-4"
+   inkscape:current-layer="Layer_1"
+   showguides="true"
+   inkscape:guide-bbox="true"><inkscape:grid
+     type="xygrid"
+     id="grid2388"
+     visible="true"
+     enabled="true" /><sodipodi:guide
+     orientation="1,0"
+     position="22.719875,92.741784"
+     id="guide2385" /><sodipodi:guide
+     orientation="0,1"
+     position="-105.03286,119.93114"
+     id="guide2387" /></sodipodi:namedview>
+
+<rect
+   style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#ffffff;stroke-width:7.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+   id="rect5442"
+   width="7.3333335"
+   height="58.601177"
+   x="18.666666"
+   y="71.398819" /></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-minute-hand.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   baseProfile="tiny"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="40"
+   height="285"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="analog-clock-minute-hand.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata18"><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><defs
+   id="defs16"><inkscape:perspective
+     sodipodi:type="inkscape:persp3d"
+     inkscape:vp_x="0 : 18 : 1"
+     inkscape:vp_y="0 : 1000 : 0"
+     inkscape:vp_z="153 : 18 : 1"
+     inkscape:persp3d-origin="76.5 : 12 : 1"
+     id="perspective20" /></defs><sodipodi:namedview
+   inkscape:window-height="844"
+   inkscape:window-width="1280"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="true"
+   inkscape:zoom="2.25"
+   inkscape:cx="-66.333333"
+   inkscape:cy="177.55556"
+   inkscape:window-x="0"
+   inkscape:window-y="88"
+   inkscape:current-layer="Layer_1"
+   showguides="true"
+   inkscape:guide-bbox="true"><inkscape:grid
+     type="xygrid"
+     id="grid2408"
+     visible="true"
+     enabled="true" /><sodipodi:guide
+     orientation="1,0"
+     position="20,126.22222"
+     id="guide2410" /><sodipodi:guide
+     orientation="0,1"
+     position="-229.33333,142.66667"
+     id="guide2412" /></sodipodi:namedview>
+
+<rect
+   style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:3.4000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+   id="rect5496"
+   width="10"
+   height="124.99615"
+   x="15"
+   y="30" /></svg>
\ No newline at end of file
Binary file screensaverapp/snsrapplication/themes/icons/theme1/analog-clock-background.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/theme1/analog-clock-hour-hand.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<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"
+   version="1.0"
+   baseProfile="tiny"
+   id="Layer_1"
+   width="45"
+   height="240"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="analog-clock-hour-hand.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   xml:space="preserve"><metadata
+   id="metadata18"><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><defs
+   id="defs16"><inkscape:perspective
+     sodipodi:type="inkscape:persp3d"
+     inkscape:vp_x="0 : 18 : 1"
+     inkscape:vp_y="0 : 1000 : 0"
+     inkscape:vp_z="131 : 18 : 1"
+     inkscape:persp3d-origin="65.5 : 12 : 1"
+     id="perspective20" /></defs><sodipodi:namedview
+   inkscape:window-height="844"
+   inkscape:window-width="1440"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="true"
+   inkscape:zoom="2.6848739"
+   inkscape:cx="-52.463224"
+   inkscape:cy="119"
+   inkscape:window-x="18"
+   inkscape:window-y="71"
+   inkscape:current-layer="Layer_1"
+   showguides="true"
+   inkscape:guide-bbox="true"><inkscape:grid
+     type="xygrid"
+     id="grid2388"
+     visible="true"
+     enabled="true" /><sodipodi:guide
+     orientation="1,0"
+     position="22.719875,92.741784"
+     id="guide2385" /><sodipodi:guide
+     orientation="0,1"
+     position="-105.03286,119.93114"
+     id="guide2387" /></sodipodi:namedview>
+<g
+   id="g3"
+   transform="matrix(0,-0.968254,1,0,7.874,128.80784)">
+	
+		<image
+   width="126"
+   height="34"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAAiCAYAAACZb20EAAAACXBIWXMAAAsSAAALEgHS3X78AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA0hJREFUeNrsmvtvEkEQxzvAP+Ur GmOMMaa1qY9GTWPUtLTYhyDYFoQGpE0R2mJtocaEGKPxrdUYozE+o/5ZI2qjB707dtiZO1p3flyO vd35fuaxLNBlrCNsOhrG5rHZhSpIvQ+My/2zVGz4r9jo8ly+VAEj/DaxTCKCrZ6xPpAtrLBqFTIS eG+5qTFLpKMvazAR77HNpibQPqYtowQWkvkyGOE73OYzUexqWdSRMGr/wWRuEYzwHWKl7GVsHdH6 ottZfKYErsKvzk+jW92JXJkzoLRhS9cSCo0cksQldwZ12qLpIjQIv1ZMWWikNxvheN4A4WLLc5Po rgnN56j5wXiyAL8Fu72Qxnaoa/WawVjuvwKiUtjImEjxFa/PVTrFXyNQK2fIi+Wk9/yl7JaA41Yp hdwpGJmcjm00AaFgIEBOHe5nTyDVqVp5BnWY5vCdvABOPgS5SLeb3/JwKFAXnu4kEHISDSg+YGmw 6krzZ+8gDKz7/PWIB+LmOJyEDkPA4Gg5YLGtcxUIwaquhd0M5IjXaSq4nEE+79o5iQNWYWClYB0Y TUMoGAxoUudUXnSd4VbTwXdY6VwywEoGdvPo6ZGrsBHx4NgLqNYLfafazQHaSpKAZYFVuKaTfdv4 zv5wsvEHnPXadWKrhdrphr5ptm5LBFbyUjizq8LwicEpcETi1Z0ism7O5QcEno6NrwOQgNVRSBTd /qbF912YBFIOf323hN5FNIu6TNGIUsmFr6lUXHrvuQToFe+6vbm3iOob0XcTHSj0IaKpR1YhWJs2 1X02DsS2Ud3e3l9Cqehic4ZkfWXZEn8JOjIQ8/4+/t2Dslie9KXBYzuleAPs4TNRJU09uSB5//AG ykURyone4bBapzl0aoKkpe83Yx8eLSN7ZHjdsPkAa/MsB/vHt5bwrezj45soFtF+nBgEgD1wcoys 47b7o8SnJysoIRf6QIIKsPuPj5p/2XaSfX7aCCBf1v/3hX3HLratnxFe0L48W2WtAtb79719ES3t jPDC9vV5hT3x7+kd0dbNCO+BfXtRRZX8rkLI7qPDLJoZ4T2y7+tV1O0Hd/WE2fQywnsNwMs10nXl zp4hEY2M8D7aDzsI6raje0hcl58CDAA856IpWveJ7AAAAABJRU5ErkJggg=="
+   transform="translate(2.7529,1.3525)"
+   id="image5">
+	</image>
+	<path
+   d="M 102.457,2.182 C 97.374,2.873 93.998,6.657 91.807,10.626 C 65.705,14.422 39.322,14.508 12.465,9.214 C 6.546,8.044 3.421,9.383 3.04,14.554 C 2.654,19.783 5.286,18.916 13.199,21.079 C 46.57,30.197 88.088,27.713 88.088,27.713 C 88.431,27.717 88.757,27.706 89.083,27.686 C 91.598,32.689 98.175,36.957 107.247,33.139 C 112.039,31.122 114.781,26.138 116.952,24.064 C 119.338,21.787 128.957,16.525 128.476,11.992 C 128.177,9.171 117.227,6.249 108.641,5.65 C 107.431,3.313 105.461,1.773 102.457,2.182 z M 106.349,4.221 C 106.766,4.596 107.129,5.069 107.463,5.586 C 107.728,5.966 107.831,6.187 107.959,6.439 C 109.067,8.634 109.573,11.531 109.52,13.961 C 109.446,17.465 108.624,19.333 108.16,19.808 C 107.648,20.331 106.628,20.124 106.168,19.949 C 104.31,19.255 102.903,16.179 102.371,14.991 C 102.371,14.991 102.163,14.179 102.099,14.032 C 101.785,13.325 101.05,13.964 101.202,14.394 C 101.356,14.827 101.577,15.322 101.577,15.322 C 101.577,15.322 104.879,22.741 108.464,20.569 C 110.206,19.515 111.136,11.651 109.047,6.534 C 115.69,7.172 123.548,9.143 126.466,11.069 C 127.238,11.579 127.586,12.104 127.528,12.475 C 126.914,16.26 117.919,21.883 116.298,23.286 C 114.425,24.905 111.321,30.451 106.922,32.228 C 101.322,34.489 96.991,33.896 93.414,31.46 C 91.887,30.418 90.742,29.109 90.05,27.593 L 89.654,26.626 C 89.558,26.342 88.581,26.529 88.645,26.698 C 88.436,26.704 88.232,26.718 88.014,26.718 C 87.558,26.752 46.211,29.264 13.38,20.351 C 4.911,18.053 3.672,18.5 3.878,14.787 C 3.974,13.054 4.715,11.059 5.941,10.275 C 7.427,9.325 9.957,9.489 12.337,9.959 C 45.963,16.587 69.436,14.456 91.405,11.368 C 90.703,12.703 91.534,13.254 92.281,11.667 C 92.356,11.517 92.437,11.371 92.513,11.222 C 92.534,11.219 92.834,10.617 92.834,10.617 C 94.874,6.887 98.053,3.704 102.567,2.98 C 104.069,2.738 105.327,3.309 106.349,4.221 z"
+   id="path7"
+   style="fill:#534741" />
+	<path
+   d="M 109.672,16.708 C 112.999,16.003 113.687,17.167 114.319,17.608 C 114.632,17.826 115.493,17.327 114.772,16.757 C 113.543,15.782 112.191,15.302 109.818,15.649 C 109.818,15.648 109.543,16.736 109.672,16.708 z"
+   id="path9"
+   style="fill:#534741" />
+	<path
+   d="M 103.416,17.996 C 103.416,17.996 98.376,19.599 97.113,23.244 C 96.207,25.856 96.077,26.784 96.034,28.692 C 96.022,29.13 95.033,29.624 95.054,28.686 C 95.075,27.748 95.715,23.173 97.029,21.33 C 98.313,19.529 101.109,17.672 102.686,17.166 C 103.781,16.813 103.416,17.996 103.416,17.996 z"
+   id="path11"
+   style="fill:#534741" />
+	<path
+   d="M 102.902,13.834 C 102.902,13.834 103.563,16.602 105.257,17.822 C 106.953,19.043 107.945,19.165 108.297,15.01 C 108.65,10.858 107.184,5.131 103.628,4.012 C 100.074,2.894 94.053,12.05 93.081,13.105 C 92.111,14.161 90.677,13.425 88.908,12.918 C 87.851,12.616 82.874,13.799 81.547,14.014 C 79.489,14.345 62.844,15.75 45.36,15.276 C 25.688,14.745 18.796,12.787 9.555,10.793 C 6.136,10.052 5.265,13.528 5.181,14.189 C 5.099,14.853 4.612,17.395 8.823,18.007 C 14.265,18.796 17.4,21.935 42.783,23.769 C 68.308,25.615 89.75,24.95 89.75,24.95 C 89.75,24.95 91.942,30.263 97.813,31.671 C 103.686,33.076 111.006,27.954 114.931,22.392 C 116.565,20.078 125.66,15.843 126.201,12.889 C 126.74,9.93 110.552,7.737 110.552,7.737"
+   id="path13"
+   style="fill:none;stroke:#d5c6b2;stroke-dasharray:3" />
+</g>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/theme1/analog-clock-minute-hand.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<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"
+   version="1.0"
+   baseProfile="tiny"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="40"
+   height="285"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="analog-clock-minute-hand.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata18"><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><defs
+   id="defs16"><inkscape:perspective
+     sodipodi:type="inkscape:persp3d"
+     inkscape:vp_x="0 : 18 : 1"
+     inkscape:vp_y="0 : 1000 : 0"
+     inkscape:vp_z="153 : 18 : 1"
+     inkscape:persp3d-origin="76.5 : 12 : 1"
+     id="perspective20" /></defs><sodipodi:namedview
+   inkscape:window-height="844"
+   inkscape:window-width="1440"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="true"
+   inkscape:zoom="2.25"
+   inkscape:cx="17"
+   inkscape:cy="142"
+   inkscape:window-x="22"
+   inkscape:window-y="29"
+   inkscape:current-layer="Layer_1"
+   showguides="true"
+   inkscape:guide-bbox="true"><inkscape:grid
+     type="xygrid"
+     id="grid2408"
+     visible="true"
+     enabled="true" /><sodipodi:guide
+     orientation="1,0"
+     position="20,126.22222"
+     id="guide2410" /><sodipodi:guide
+     orientation="0,1"
+     position="-229.33333,142.66667"
+     id="guide2412" /></sodipodi:namedview>
+<g
+   id="g3"
+   transform="matrix(0,0.9666667,-1,0,35.2145,2.6649299)">
+	
+		<image
+   width="150"
+   height="34"
+   xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAiCAYAAAC9WiCBAAAACXBIWXMAAAsSAAALEgHS3X78AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtZJREFUeNrsmo9Lk0EYx73Nfyoz CQokIn9RSUSESDmdis7N6RyO5n64dJtiOgdWRGU/FGtFREQURfVnPTVjlnNbd+/dvXf33vOFwRjv vc9tz+f5vs/djrRJViwUgPrPMoVt0obytKQleGFmFP53TTpfQsAQLHolZoPAcv2du5sImMfkk3FT v9/H9ErOTwCmwnLHysSnfkPgnANoMXQhvY7OZQtYuUToLwpcvkI3OJosIlxeBCufDAOtw4iCqV7h RB7hMlzttTdrqVlhfQ4cAUXcYhGlo2NtZOe40wkglojJWA5dSzMVU5GmSZ6OrxzLF9nKxTgfdsAz mErBuSxC5pIamQyLadQMgZRX48xkiHYnHgUiaYSOUiwmwmMYwWiWHCZlp7AIMgOp7J3qw96eWTIe RCdm4KZhVIv9sHn3+0mLYNQ7E9qo1Q90v7gI+s5bVfGJX2z9AcvnE2suIOJLcq9JXJyzMhQFQSze NI7u+GRzCdRVqpl7DCr2+BTWPNPgY6g+K6XAjEpV6TBg4Jzd1wkPfFHO6NuDmNjAuOgSQh+VMpqR /Z1lEB0JdFkWWtU7qdHgSIw07doOHuTASA+21dk0WWxduTVPqJYDlYcrLvddippaIwtIHzseGI4S 5nXm20er4M1KBfPmrElr0DcUIcw9ViO9e1wArboQ2x7Rit3p0s0w02YX08XvnxbB3Gqzca/MuS7e CHHtmjIP/rC7Bva4hHlEsEa9cH1ayn91jm768fk6eBYmQ5unVo7cfW3K9T96HQf89HIDdKt02w6f nh+c1PZkANfEPu/dAzHVZm5TKyr0uasTnjpX1s5FJSHS6T57Ocgc5Ms+JfCkFmMcDwvq5FhVfT3Y klr3XQNjmHQbwarq26uSFLjO9I8iVDaDVdX31yfh4qGtsw+hQrD+Bayyze1ep3sDCBWC1Vg/KmVm wDp6RxAoBIteP980h+xUD8LkRf0SYAB1yg1o6fi76wAAAABJRU5ErkJggg=="
+   transform="translate(1.7949,0.8145)"
+   id="image5">
+	</image>
+	<path
+   d="M 22.749,4.884 C 14.146,5.218 3.113,7.81 2.728,10.614 C 2.107,15.133 11.566,20.688 13.88,23.04 C 15.985,25.176 18.573,30.242 23.306,32.407 C 32.255,36.495 38.963,32.432 41.626,27.511 C 41.948,27.538 42.277,27.56 42.616,27.566 C 42.616,27.566 106.848,29.618 140.496,21.58 C 150.479,19.19 151.108,18.526 150.848,15.365 C 150.411,10.14 147.545,8.752 141.598,9.74 C 114.583,14.215 65.398,14.963 39.424,10.373 C 37.355,6.334 34.096,2.452 29.036,1.604 C 26.044,1.106 24.027,2.583 22.749,4.884 z M 28.869,2.428 C 33.391,3.182 36.471,6.541 38.399,10.328 C 38.399,10.328 38.681,10.938 38.703,10.944 C 38.774,11.096 38.851,11.243 38.918,11.397 C 39.618,13.004 40.547,12.626 39.886,11.272 C 61.749,15.026 107.885,16.116 141.701,10.514 C 144.093,10.118 146.689,9.996 148.024,11.15 C 149.253,12.212 149.793,12.879 149.991,15.464 C 150.175,17.851 149.543,18.737 140.338,20.844 C 107.177,28.435 43.178,26.621 42.725,26.572 C 42.508,26.568 42.302,26.55 42.094,26.534 C 42.165,26.368 41.197,26.151 41.088,26.427 L 40.663,27.384 C 39.925,28.884 38.695,30.171 37.139,31.163 C 33.486,33.489 28.466,33.736 23.705,31.539 C 19.745,29.714 15.234,22.715 14.589,22.06 C 13.951,21.413 12.823,20.677 11.576,19.722 C 8.408,17.289 3.678,13.813 3.7,11.03 C 3.7,10.937 3.701,10.846 3.718,10.753 C 3.738,10.613 3.982,10.242 4.77,9.757 C 7.745,7.922 15.66,6.192 22.318,5.752 C 20.07,10.802 20.763,18.695 22.473,19.802 C 25.992,22.082 29.516,14.766 29.516,14.766 C 29.516,14.766 29.75,14.281 29.917,13.85 C 30.085,13.42 29.371,12.76 29.033,13.459 C 28.966,13.601 28.731,14.413 28.731,14.413 C 28.164,15.584 26.665,18.613 24.784,19.253 C 24.323,19.409 23.306,19.589 22.806,19.024 C 22.345,18.502 21.587,16.668 21.615,13.164 C 21.635,10.733 22.233,7.851 23.409,5.696 C 23.539,5.444 23.651,5.226 23.927,4.851 C 24.274,4.349 24.654,3.886 25.083,3.522 C 26.132,2.648 27.371,2.173 28.869,2.428 z"
+   id="path7"
+   style="fill:#534741" />
+	<path
+   d="M 21.346,15.69 C 17.543,14.596 17.311,15.712 16.6,15.9 C 15.889,16.088 15.436,15.466 16.307,14.912 C 17.45,14.183 18.904,13.871 21.272,14.724 C 21.271,14.724 21.473,15.73 21.346,15.69 z"
+   id="path9"
+   style="fill:#534741" />
+	<path
+   d="M 27.671,17.255 C 27.671,17.255 31.934,19.105 33.395,21.474 C 34.878,23.879 34.735,27.889 34.731,28.328 C 34.729,28.764 35.619,29.263 35.628,28.322 C 35.634,27.388 35.684,23.03 34.25,20.999 C 32.944,19.149 30.197,17.04 28.389,16.503 C 27.542,16.253 27.671,17.255 27.671,17.255 z"
+   id="path11"
+   style="fill:#534741" />
+	<path
+   d="M 28.233,13.238 C 28.233,13.238 27.491,15.984 25.759,17.154 C 24.027,18.322 23.033,18.413 22.806,14.252 C 22.579,10.086 24.181,4.258 27.807,3.399 C 32.389,2.313 37.131,11.728 38.071,12.809 C 39.009,13.893 40.409,12.823 42.25,12.753 C 43.484,12.706 47.135,13.441 48.467,13.611 C 50.334,13.854 69.743,15.963 87.237,16.023 C 106.913,16.088 135.151,13.116 144.449,11.403 C 147.89,10.769 148.653,14.27 148.718,14.935 C 148.779,15.599 149.039,17.423 144.968,18.637 C 138.241,20.644 113.452,23.946 88.021,25.007 C 62.453,26.071 41.041,24.751 41.041,24.751 C 41.041,24.751 38.688,29.994 32.777,31.223 C 26.867,32.452 19.705,27.106 15.95,21.429 C 14.386,19.064 5.425,14.549 4.975,11.581 C 4.527,8.609 20.773,6.911 20.773,6.911"
+   id="path13"
+   style="fill:none;stroke:#d5c6b2;stroke-dasharray:3" />
+</g>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-background.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,241 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="354.33069"
+   height="354.33069"
+   id="svg2493"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="mouse-clock-face.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2495">
+    <linearGradient
+       id="linearGradient4099">
+      <stop
+         style="stop-color:#000d38;stop-opacity:1;"
+         offset="0"
+         id="stop4101" />
+      <stop
+         style="stop-color:#001e81;stop-opacity:0;"
+         offset="1"
+         id="stop4103" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4081">
+      <stop
+         style="stop-color:#25137b;stop-opacity:1;"
+         offset="0"
+         id="stop4083" />
+      <stop
+         style="stop-color:#f2f2f2;stop-opacity:0;"
+         offset="1"
+         id="stop4085" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2501" />
+    <inkscape:perspective
+       id="perspective2510"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3455"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3468"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3566"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3917"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3968"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3981"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <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="1.4142136"
+     inkscape:cx="197.15386"
+     inkscape:cy="125.15219"
+     inkscape:document-units="px"
+     inkscape:current-layer="g2477"
+     showgrid="false"
+     units="cm"
+     inkscape:window-width="1067"
+     inkscape:window-height="789"
+     inkscape:window-x="411"
+     inkscape:window-y="48" />
+  <metadata
+     id="metadata2498">
+    <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:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3906"
+       sodipodi:cx="207.18228"
+       sodipodi:cy="122.04612"
+       sodipodi:rx="4.9497476"
+       sodipodi:ry="9.5459414"
+       d="M 212.13203,122.04612 A 4.9497476,9.5459414 0 1 1 202.23253,122.04612 A 4.9497476,9.5459414 0 1 1 212.13203,122.04612 z" />
+    <g
+       id="g4010"
+       transform="matrix(1.0938885,0,0,1.0938885,-404.21086,-53.859896)">
+      <path
+         style="fill:#fcf200"
+         d="M 522.98504,368.31402 C 521.0279,368.07255 517.52437,367.84618 515.19941,367.81099 C 507.88469,367.70027 494.99055,364.80597 480.76889,360.08252 C 468.04701,355.85719 460.86704,352.4847 448.88692,345.1073 C 428.02463,332.26023 409.85592,314.13244 396.68189,293.01985 C 390.00125,282.3135 382.85,266.15449 380.08588,255.51941 C 379.42069,252.96007 378.44327,249.38795 377.91384,247.58136 C 377.3844,245.77477 376.56738,241.95629 376.09824,239.09586 C 375.6291,236.23542 374.93549,232.04742 374.55689,229.78918 C 373.62734,224.24471 373.62734,197.01202 374.55689,191.46756 C 374.93549,189.20932 375.6291,185.02132 376.09824,182.16088 C 376.56738,179.30045 377.3844,175.48197 377.91384,173.67538 C 378.44327,171.86879 379.42069,168.29667 380.08588,165.73733 C 381.67704,159.61524 386.02819,148.39711 389.85347,140.55455 C 399.33144,121.12288 416.33142,100.25535 433.832,86.570814 C 441.72729,80.397103 454.11508,72.590859 463.25044,68.032592 C 466.83624,66.243385 474.27696,63.330385 480.76889,61.174213 C 500.10895,54.750782 512.49744,52.703037 532.01799,52.703037 C 551.53855,52.703037 563.92704,54.750782 583.2671,61.174213 C 595.98898,65.399545 603.16895,68.772033 615.14907,76.149436 C 636.01135,88.996504 654.18006,107.12429 667.35409,128.23689 C 674.03474,138.94323 681.18599,155.10224 683.95011,165.73733 C 684.61529,168.29667 685.59271,171.86879 686.12215,173.67538 C 686.65159,175.48197 687.46861,179.30045 687.93775,182.16088 C 688.40688,185.02132 689.10049,189.20932 689.4791,191.46756 C 690.40865,197.01202 690.40865,224.24471 689.4791,229.78918 C 689.10049,232.04742 688.40688,236.23542 687.93775,239.09586 C 687.46861,241.95629 686.65159,245.77477 686.12215,247.58136 C 685.59271,249.38795 684.61529,252.96007 683.95011,255.51941 C 682.35894,261.6415 678.00779,272.85963 674.18252,280.70218 C 664.70455,300.13386 647.70456,321.00138 630.20399,334.68592 C 622.3087,340.85963 609.92091,348.66587 600.78555,353.22414 C 593.79677,356.71133 574.85926,363.22646 566.78117,364.92277 C 563.92074,365.52343 560.22544,366.30871 558.5694,366.66784 C 552.63637,367.95446 528.95144,369.05016 522.98504,368.31402 z"
+         id="path3999" />
+      <path
+         style="fill:#0091db"
+         d="M 522.98504,368.31402 C 521.0279,368.07255 517.52437,367.84618 515.19941,367.81099 C 507.88469,367.70027 494.99055,364.80597 480.76889,360.08252 C 468.04701,355.85719 460.86704,352.4847 448.88692,345.1073 C 428.02463,332.26023 409.85592,314.13244 396.68189,293.01985 C 390.00125,282.3135 382.85,266.15449 380.08588,255.51941 C 379.42069,252.96007 378.44327,249.38795 377.91384,247.58136 C 377.3844,245.77477 376.56738,241.95629 376.09824,239.09586 C 375.6291,236.23542 374.93549,232.04742 374.55689,229.78918 C 373.62734,224.24471 373.62734,197.01202 374.55689,191.46756 C 374.93549,189.20932 375.6291,185.02132 376.09824,182.16088 C 376.56738,179.30045 377.3844,175.48197 377.91384,173.67538 C 378.44327,171.86879 379.42069,168.29667 380.08588,165.73733 C 381.67704,159.61524 386.02819,148.39711 389.85347,140.55455 C 399.33144,121.12288 416.33142,100.25535 433.832,86.570814 C 441.72729,80.397103 454.11508,72.590859 463.25044,68.032592 C 466.83624,66.243385 474.27696,63.330385 480.76889,61.174213 C 500.10895,54.750782 512.49744,52.703037 532.01799,52.703037 C 551.53855,52.703037 563.92704,54.750782 583.2671,61.174213 C 595.98898,65.399545 603.16895,68.772033 615.14907,76.149436 C 636.01135,88.996504 654.18006,107.12429 667.35409,128.23689 C 674.03474,138.94323 681.18599,155.10224 683.95011,165.73733 C 684.61529,168.29667 685.59271,171.86879 686.12215,173.67538 C 686.65159,175.48197 687.46861,179.30045 687.93775,182.16088 C 688.40688,185.02132 689.10049,189.20932 689.4791,191.46756 C 690.40865,197.01202 690.40865,224.24471 689.4791,229.78918 C 689.10049,232.04742 688.40688,236.23542 687.93775,239.09586 C 687.46861,241.95629 686.65159,245.77477 686.12215,247.58136 C 685.59271,249.38795 684.61529,252.96007 683.95011,255.51941 C 682.35894,261.6415 678.00779,272.85963 674.18252,280.70218 C 664.70455,300.13386 647.70456,321.00138 630.20399,334.68592 C 622.3087,340.85963 609.92091,348.66587 600.78555,353.22414 C 593.79677,356.71133 574.85926,363.22646 566.78117,364.92277 C 563.92074,365.52343 560.22544,366.30871 558.5694,366.66784 C 552.63637,367.95446 528.95144,369.05016 522.98504,368.31402 z M 544.93293,306.9247 C 551.95382,306.00565 564.68926,302.31826 571.70824,299.17223 C 584.28263,293.53617 598.92524,282.45781 607.2204,272.30429 C 610.6997,268.04553 617.20027,258.10037 619.57904,253.39694 C 621.5367,249.52616 624.61346,241.42728 625.94793,236.63232 C 632.14719,214.3574 629.69313,187.85794 619.57904,167.8598 C 617.20027,163.15636 610.6997,153.2112 607.2204,148.95245 C 598.92524,138.79893 584.28263,127.72057 571.70824,122.08451 C 564.68926,118.93848 551.95382,115.25108 544.93293,114.33203 C 539.01284,113.55708 525.02314,113.55708 519.10306,114.33203 C 512.08216,115.25108 499.34672,118.93848 492.32775,122.08451 C 479.75336,127.72057 465.11075,138.79893 456.81559,148.95245 C 453.33629,153.2112 446.83571,163.15636 444.45695,167.8598 C 434.34286,187.85794 431.88879,214.3574 438.08806,236.63232 C 439.42252,241.42728 442.49929,249.52616 444.45695,253.39694 C 446.83571,258.10037 453.33629,268.04553 456.81559,272.30429 C 465.10737,282.45367 479.74616,293.53026 492.32775,299.17492 C 499.25611,302.2833 510.29235,305.57664 517.51052,306.68976 C 523.34444,307.58941 538.84079,307.72218 544.93293,306.9247 z"
+         id="path3997" />
+      <path
+         style="fill:#0e5fa6"
+         d="M 522.98504,368.31402 C 521.0279,368.07255 517.52437,367.84618 515.19941,367.81099 C 507.88469,367.70027 494.99055,364.80597 480.76889,360.08252 C 468.04701,355.85719 460.86704,352.4847 448.88692,345.1073 C 428.02463,332.26023 409.85592,314.13244 396.68189,293.01985 C 390.00125,282.3135 382.85,266.15449 380.08588,255.51941 C 379.42069,252.96007 378.44327,249.38795 377.91384,247.58136 C 377.3844,245.77477 376.56738,241.95629 376.09824,239.09586 C 375.6291,236.23542 374.93549,232.04742 374.55689,229.78918 C 373.62734,224.24471 373.62734,197.01202 374.55689,191.46756 C 374.93549,189.20932 375.6291,185.02132 376.09824,182.16088 C 376.56738,179.30045 377.3844,175.48197 377.91384,173.67538 C 378.44327,171.86879 379.42069,168.29667 380.08588,165.73733 C 381.67704,159.61524 386.02819,148.39711 389.85347,140.55455 C 399.33144,121.12288 416.33142,100.25535 433.832,86.570814 C 441.72729,80.397103 454.11508,72.590859 463.25044,68.032592 C 466.83624,66.243385 474.27696,63.330385 480.76889,61.174213 C 500.10895,54.750782 512.49744,52.703037 532.01799,52.703037 C 551.53855,52.703037 563.92704,54.750782 583.2671,61.174213 C 595.98898,65.399545 603.16895,68.772033 615.14907,76.149436 C 636.01135,88.996504 654.18006,107.12429 667.35409,128.23689 C 674.03474,138.94323 681.18599,155.10224 683.95011,165.73733 C 684.61529,168.29667 685.59271,171.86879 686.12215,173.67538 C 686.65159,175.48197 687.46861,179.30045 687.93775,182.16088 C 688.40688,185.02132 689.10049,189.20932 689.4791,191.46756 C 690.40865,197.01202 690.40865,224.24471 689.4791,229.78918 C 689.10049,232.04742 688.40688,236.23542 687.93775,239.09586 C 687.46861,241.95629 686.65159,245.77477 686.12215,247.58136 C 685.59271,249.38795 684.61529,252.96007 683.95011,255.51941 C 682.35894,261.6415 678.00779,272.85963 674.18252,280.70218 C 664.70455,300.13386 647.70456,321.00138 630.20399,334.68592 C 622.3087,340.85963 609.92091,348.66587 600.78555,353.22414 C 593.79677,356.71133 574.85926,363.22646 566.78117,364.92277 C 563.92074,365.52343 560.22544,366.30871 558.5694,366.66784 C 552.63637,367.95446 528.95144,369.05016 522.98504,368.31402 z M 554.18979,363.65422 C 575.90409,360.74803 593.76823,354.19214 613.84397,341.76195 C 633.7532,329.43487 652.45896,310.85936 663.9919,291.96324 C 674.98273,273.95532 682.61921,253.06264 685.61658,232.80016 C 687.36497,220.98091 687.36497,200.27583 685.61658,188.45658 C 682.61921,168.1941 674.98273,147.30141 663.9919,129.2935 C 652.45896,110.39737 633.7532,91.821869 613.84397,79.494782 C 587.43328,63.142222 563.164,56.247024 532.01799,56.247024 C 500.87199,56.247024 476.60271,63.142222 450.19202,79.494782 C 430.28279,91.821869 411.57702,110.39737 400.04409,129.2935 C 389.05326,147.30141 381.41677,168.1941 378.4194,188.45658 C 376.67101,200.27583 376.67101,220.98091 378.4194,232.80016 C 381.41677,253.06264 389.05326,273.95532 400.04409,291.96324 C 411.57702,310.85936 430.28279,329.43487 450.19202,341.76195 C 464.91897,350.88035 478.10545,356.63334 493.42265,360.62259 C 510.64002,365.10671 534.45852,366.29501 554.18979,363.65422 z M 530.90732,350.65858 C 530.74992,350.2484 530.68907,345.85742 530.77211,340.90085 C 530.91613,332.30421 530.97355,331.88892 532.01799,331.88892 C 533.07115,331.88892 533.1129,332.25389 533.1129,341.46182 C 533.1129,350.14992 533.02419,351.05181 532.1532,351.21955 C 531.62537,351.3212 531.06472,351.06877 530.90732,350.65858 z M 516.62304,347.24218 C 516.11414,345.916 516.67497,339.89609 517.37239,339.19867 C 517.70898,338.86208 518.37047,338.73483 518.84235,338.91591 C 519.74717,339.26312 519.93253,342.78996 519.22075,346.11598 C 518.83442,347.92128 517.16189,348.64639 516.62304,347.24218 z M 545.1761,347.52246 C 544.98,347.20516 544.67543,345.22648 544.49928,343.12541 C 544.22409,339.84289 544.31078,339.2547 545.11531,338.94597 C 546.7263,338.32777 547.34664,339.6802 547.34664,343.81056 C 547.34664,347.03214 547.18312,347.77301 546.43964,347.92002 C 545.9408,348.01866 545.3722,347.83975 545.1761,347.52246 z M 502.38422,345.03913 C 501.89865,343.77377 503.13285,338.09393 504.1045,337.12228 C 504.82571,336.40105 505.01275,336.40124 505.73541,337.12391 C 506.45881,337.8473 506.44323,338.37415 505.59855,341.75424 C 504.91688,344.482 504.37208,345.61978 503.68572,345.74907 C 503.15788,345.8485 502.57221,345.52903 502.38422,345.03913 z M 559.43227,345.36894 C 559.26911,345.10494 558.76959,343.31995 558.32224,341.40229 C 557.60695,338.33615 557.60582,337.81867 558.31285,337.11163 C 559.01988,336.4046 559.2151,336.40589 559.93149,337.12228 C 560.88733,338.07811 562.14065,343.76515 561.6673,344.99867 C 561.31484,345.91717 559.91448,346.14917 559.43227,345.36894 z M 488.68338,341.16909 C 488.32097,340.22465 489.81556,334.45585 490.63495,333.63646 C 491.43156,332.83985 492.8752,333.6297 492.8752,334.86218 C 492.8752,335.46253 492.36479,337.31792 491.74096,338.98525 C 490.61927,341.98324 489.34505,342.89334 488.68338,341.16909 z M 572.28018,338.94559 C 570.89547,335.24459 570.97433,333.53127 572.52942,333.53127 C 573.37384,333.53127 573.84659,334.2201 574.59589,336.54226 C 575.71762,340.01855 575.64522,341.65976 574.35933,341.90469 C 573.6976,342.03074 573.1348,341.22975 572.28018,338.94559 z M 475.49361,336.72714 C 475.11724,336.57527 474.82363,336.04042 474.84116,335.5386 C 474.89989,333.85692 477.80782,328.60651 478.77997,328.42688 C 480.52692,328.1041 480.50901,329.99271 478.73093,333.59848 C 477.02376,337.06043 476.81635,337.26088 475.49361,336.72714 z M 585.33016,333.64938 C 583.52846,329.99572 583.50159,328.10272 585.25601,328.42688 C 586.6612,328.68652 590.28322,336.54226 588.99774,336.54226 C 588.87182,336.54226 588.38811,336.68834 587.92283,336.86688 C 587.29828,337.10655 586.6197,336.26444 585.33016,333.64938 z M 460.90114,331.82665 C 460.59976,331.04128 465.7628,321.30472 468.92392,316.69713 C 470.07949,315.01279 472.07204,314.65306 472.07204,316.12877 C 472.07204,317.11129 464.89696,330.09635 463.43918,331.75205 C 462.38498,332.94937 461.34371,332.97998 460.90114,331.82665 z M 600.59681,331.75205 C 599.13903,330.09635 591.96395,317.11129 591.96395,316.12877 C 591.96395,314.65306 593.9565,315.01279 595.11207,316.69713 C 598.27319,321.30472 603.43623,331.04128 603.13485,331.82665 C 602.69228,332.97998 601.651,332.94937 600.59681,331.75205 z M 450.38181,321.51304 C 450.08168,320.73091 450.98154,319.11605 453.70236,315.55412 C 454.57839,314.40727 456.38335,314.52617 456.60572,315.74538 C 456.80244,316.82389 452.8568,321.97756 451.65755,322.20851 C 451.14086,322.30802 450.56677,321.99506 450.38181,321.51304 z M 610.77962,321.09517 C 607.35646,317.26752 606.53715,314.62819 608.78091,314.65649 C 609.90938,314.67072 613.58829,319.54144 613.58829,321.02127 C 613.58829,322.49006 612.06299,322.5302 610.77962,321.09517 z M 439.23711,312.74277 C 438.68628,312.07907 439.02547,311.40052 441.15266,308.91061 C 443.83156,305.77492 444.67508,305.35749 445.7399,306.64052 C 446.23406,307.23595 445.83581,308.04812 443.86077,310.47268 C 441.25709,313.66898 440.36805,314.10547 439.23711,312.74277 z M 620.17521,310.47268 C 618.20018,308.04812 617.80193,307.23595 618.29609,306.64052 C 619.36091,305.35749 620.20443,305.77492 622.88333,308.91061 C 625.01052,311.40052 625.3497,312.07907 624.79888,312.74277 C 623.66794,314.10547 622.7789,313.66898 620.17521,310.47268 z M 517.78425,310.27541 C 485.43316,305.47942 456.23687,284.48701 441.7218,255.58577 C 427.69694,227.66061 427.69694,193.59613 441.7218,165.67096 C 449.62855,149.92769 461.51001,136.77254 476.94667,126.67002 C 497.35251,113.31541 521.40298,107.6666 544.6979,110.75706 C 577.61014,115.12342 607.57517,136.32382 622.31419,165.67096 C 636.33905,193.59613 636.33905,227.66061 622.31419,255.58577 C 614.40744,271.32905 602.52597,284.48419 587.08932,294.58672 C 566.26291,308.21656 541.58264,313.80347 517.78425,310.27541 z M 544.93293,306.9247 C 551.95382,306.00565 564.68926,302.31826 571.70824,299.17223 C 584.28263,293.53617 598.92524,282.45781 607.2204,272.30429 C 610.6997,268.04553 617.20027,258.10037 619.57904,253.39694 C 621.5367,249.52616 624.61346,241.42728 625.94793,236.63232 C 632.14719,214.3574 629.69313,187.85794 619.57904,167.8598 C 617.20027,163.15636 610.6997,153.2112 607.2204,148.95245 C 598.92524,138.79893 584.28263,127.72057 571.70824,122.08451 C 564.68926,118.93848 551.95382,115.25108 544.93293,114.33203 C 539.01284,113.55708 525.02314,113.55708 519.10306,114.33203 C 512.08216,115.25108 499.34672,118.93848 492.32775,122.08451 C 479.75336,127.72057 465.11075,138.79893 456.81559,148.95245 C 453.33629,153.2112 446.83571,163.15636 444.45695,167.8598 C 434.34286,187.85794 431.88879,214.3574 438.08806,236.63232 C 439.42252,241.42728 442.49929,249.52616 444.45695,253.39694 C 446.83571,258.10037 453.33629,268.04553 456.81559,272.30429 C 465.10737,282.45367 479.74616,293.53026 492.32775,299.17492 C 499.25611,302.2833 510.29235,305.57664 517.51052,306.68976 C 523.34444,307.58941 538.84079,307.72218 544.93293,306.9247 z M 428.98266,302.22576 C 428.72802,301.56217 429.46154,300.56681 431.60024,298.67378 C 434.70286,295.92755 435.21195,295.77312 436.16769,297.28828 C 436.64309,298.04196 436.25704,298.64589 434.017,300.65274 C 431.1215,303.24681 429.56152,303.73424 428.98266,302.22576 z M 630.1487,300.77942 C 627.355,298.26085 627.09153,297.63889 628.36917,296.57855 C 629.05187,296.01195 629.70148,296.33423 632.2288,298.49339 C 635.32637,301.13972 635.90588,302.76185 633.83841,302.99884 C 633.20218,303.07177 631.66752,302.14865 630.1487,300.77942 z M 419.88657,291.4307 C 419.5016,290.42747 420.32231,289.47371 423.45463,287.28422 C 426.02571,285.48704 427.72845,285.35905 427.72845,286.96296 C 427.72845,287.92904 422.26679,292.19867 421.03099,292.19867 C 420.56365,292.19867 420.04866,291.85309 419.88657,291.4307 z M 639.18166,289.975 C 637.60089,288.76182 636.30754,287.40317 636.30754,286.95577 C 636.30754,285.35876 638.01442,285.48994 640.58135,287.28422 C 643.71368,289.47371 644.53439,290.42747 644.14941,291.4307 C 643.65627,292.71581 642.19495,292.2876 639.18166,289.975 z M 409.85751,280.96807 C 409.34928,279.64365 410.75109,278.52834 418.4109,274.16278 C 425.32102,270.22448 426.90727,269.74993 426.90727,271.62092 C 426.90727,272.36175 424.90133,273.84387 419.7904,276.87931 C 411.56575,281.76403 410.35431,282.26271 409.85751,280.96807 z M 650.48595,280.49842 C 642.71057,276.30543 637.12871,272.59748 637.12871,271.62541 C 637.12871,269.74962 638.71077,270.22209 645.62509,274.16278 C 653.21493,278.48846 654.68455,279.64928 654.19296,280.93032 C 653.75169,282.08026 653.32767,282.03086 650.48595,280.49842 z M 405.47823,266.7352 C 405.00914,265.51276 405.97169,264.64845 409.37136,263.23936 C 414.75361,261.00855 415.96623,263.44601 410.75172,266.01397 C 407.29171,267.7179 405.92696,267.90455 405.47823,266.7352 z M 653.27854,266.02192 C 651.14686,264.96463 650.26755,264.21224 650.26755,263.44553 C 650.26755,261.85054 652.00308,261.90726 655.46834,263.61551 C 657.61959,264.67599 658.47933,265.41244 658.47933,266.19471 C 658.47933,267.80305 656.75402,267.74572 653.27854,266.02192 z M 400.93147,253.89445 C 400.55564,253.66217 400.33469,253.02267 400.44049,252.47333 C 400.66309,251.31742 406.78097,249.11484 408.22735,249.66987 C 409.39973,250.11975 409.36019,251.51864 408.15706,252.15719 C 406.2026,253.19448 401.5924,254.30293 400.93147,253.89445 z M 658.71249,253.13861 C 655.95213,252.21456 655.19462,251.7252 655.19462,250.86607 C 655.19462,249.36395 656.75703,249.25038 660.39541,250.48802 C 662.57411,251.22914 663.45223,251.81983 663.5722,252.62497 C 663.82272,254.30617 662.58962,254.4365 658.71249,253.13861 z M 396.70756,239.33278 C 396.2099,238.0359 397.17841,237.40964 400.87451,236.63833 C 403.76821,236.03448 404.34913,236.05045 405.0519,236.75322 C 406.2449,237.94622 405.19587,238.90639 401.93553,239.60561 C 398.2247,240.40144 397.09502,240.34249 396.70756,239.33278 z M 661.67538,239.56199 C 658.82232,238.92149 657.8405,237.89681 658.98409,236.75322 C 659.68686,236.05045 660.26778,236.03448 663.16148,236.63833 C 666.85758,237.40964 667.82609,238.0359 667.32843,239.33278 C 666.9617,240.28846 665.22503,240.35888 661.67538,239.56199 z M 394.54569,225.17183 C 393.98016,223.69809 394.98037,223.19365 399.16335,222.84296 C 402.52869,222.56082 403.11696,222.64486 403.42667,223.45196 C 404.00443,224.95756 402.87602,225.53212 398.76346,225.82637 C 395.47544,226.06163 394.84988,225.96455 394.54569,225.17183 z M 662.03776,225.46718 C 661.17445,225.22703 660.66913,224.69133 660.66913,224.01626 C 660.66913,223.04439 661.03852,222.95317 664.68845,223.0237 C 668.85433,223.1042 670.08139,223.63146 669.51824,225.09904 C 669.27276,225.73872 668.45336,225.94313 666.29769,225.90245 C 664.70748,225.87243 662.79051,225.67656 662.03776,225.46718 z M 392.69155,211.8103 C 390.72339,211.22053 391.00702,209.95936 393.239,209.37601 C 395.97931,208.6598 409.46893,209.12087 410.30746,209.9594 C 410.83446,210.48639 410.83268,210.77212 410.29911,211.30569 C 409.52574,212.07906 394.9796,212.49593 392.69155,211.8103 z M 655.19462,211.81503 C 652.82498,211.27219 653.1232,209.9485 655.74207,209.38511 C 658.9952,208.68527 671.68651,209.10802 672.52194,209.94405 C 673.06861,210.49111 673.06867,210.76563 672.52221,211.31268 C 671.76061,212.07511 658.06337,212.47221 655.19462,211.81503 z M 396.24998,198.10369 C 395.09294,197.85628 394.60763,197.43055 394.60763,196.66297 C 394.60763,195.67198 394.9673,195.57664 398.58461,195.60877 C 402.67919,195.64514 404.03009,196.23231 403.45673,197.72645 C 403.10928,198.63188 399.58321,198.81646 396.24998,198.10369 z M 660.60931,197.80478 C 660.03156,196.29918 661.15996,195.72462 665.27252,195.43037 C 668.56055,195.19511 669.18611,195.29219 669.4903,196.08491 C 670.05583,197.55864 669.05562,198.06309 664.87264,198.41377 C 661.50729,198.69591 660.91903,198.61188 660.60931,197.80478 z M 400.72477,184.59904 C 397.19973,183.86939 396.21313,183.2124 396.70756,181.92396 C 397.08729,180.93439 398.52879,180.86094 401.97667,181.65548 C 404.82084,182.31089 405.87849,183.04087 405.48179,184.07466 C 405.04341,185.21705 404.17363,185.31293 400.72477,184.59904 z M 658.98409,184.50351 C 657.79109,183.31052 658.84012,182.35034 662.10046,181.65113 C 665.81129,180.8553 666.94097,180.91425 667.32843,181.92396 C 667.82609,183.22084 666.85758,183.8471 663.16148,184.6184 C 660.26778,185.22226 659.68686,185.20628 658.98409,184.50351 z M 403.36685,170.72627 C 401.43828,170.04142 400.58061,169.42407 400.46379,168.63665 C 400.21362,166.95047 401.44342,166.81925 405.3235,168.11813 C 408.08386,169.04218 408.84137,169.53154 408.84137,170.39067 C 408.84137,171.85774 406.88997,171.97737 403.36685,170.72627 z M 655.10474,170.90132 C 654.6349,169.67694 655.43665,169.08274 659.07934,167.95568 C 662.6926,166.83771 663.81388,167.00766 663.5722,168.63665 C 663.45506,169.42623 662.603,170.03604 660.66913,170.71435 C 657.19736,171.93207 655.52188,171.98837 655.10474,170.90132 z M 408.56764,157.64123 C 406.42673,156.58584 405.55666,155.84271 405.55666,155.06952 C 405.55666,153.43869 406.97097,153.4717 410.54682,155.18602 C 412.86945,156.29952 413.76843,157.03239 413.76843,157.81234 C 413.76843,159.40612 412.03191,159.34899 408.56764,157.64123 z M 650.17551,158.30428 C 649.75223,157.20124 650.67036,156.40531 654.19549,154.81933 C 659.41006,152.47325 660.60655,155.11583 655.46834,157.63056 C 651.97619,159.33968 650.63818,159.50999 650.17551,158.30428 z M 418.4109,147.09396 C 410.75109,142.7284 409.34928,141.61308 409.85751,140.28867 C 410.35431,138.99403 411.56575,139.4927 419.7904,144.37742 C 424.90133,147.41287 426.90727,148.89499 426.90727,149.63582 C 426.90727,151.50681 425.32102,151.03225 418.4109,147.09396 z M 637.03667,150.09251 C 636.8544,149.61751 637.0469,148.92283 637.46444,148.54877 C 638.65201,147.48488 651.21876,140.19055 652.59692,139.76518 C 654.29258,139.2418 654.88294,140.84642 653.49147,142.19661 C 652.13412,143.51369 639.06383,150.95614 638.10816,150.95614 C 637.70111,150.95614 637.21894,150.5675 637.03667,150.09251 z M 423.101,133.70969 C 420.05302,131.53431 419.4937,130.84984 419.89963,129.79203 C 420.37743,128.54689 421.75869,128.96593 424.83665,131.28982 C 426.70376,132.6995 427.72804,133.8567 427.61737,134.43138 C 427.32338,135.95792 425.9417,135.73713 423.101,133.70969 z M 636.67251,135.26252 C 635.80866,134.39868 636.48884,133.33627 639.2314,131.26561 C 642.27929,128.96444 643.65965,128.54974 644.13636,129.79203 C 644.54262,130.85072 643.98144,131.53631 640.93674,133.70102 C 638.2258,135.62842 637.35667,135.94669 636.67251,135.26252 z M 431.60024,122.58296 C 429.46154,120.68992 428.72802,119.69456 428.98266,119.03098 C 429.56152,117.5225 431.1215,118.00993 434.017,120.604 C 436.25704,122.61085 436.64309,123.21478 436.16769,123.96845 C 435.21195,125.48361 434.70286,125.32919 431.60024,122.58296 z M 628.20525,124.56896 C 627.12024,123.48395 627.42418,122.86973 630.25057,120.4357 C 633.14056,117.94691 634.48629,117.55331 635.05332,119.03098 C 635.30796,119.69455 634.5744,120.69008 632.43575,122.58337 C 629.14798,125.49393 629.13589,125.4996 628.20525,124.56896 z M 441.15266,112.34612 C 439.02547,109.85622 438.68628,109.17766 439.23711,108.51396 C 440.36805,107.15126 441.25709,107.58775 443.86077,110.78405 C 445.83581,113.20862 446.23406,114.02078 445.7399,114.61622 C 444.67508,115.89925 443.83156,115.48181 441.15266,112.34612 z M 618.29609,114.61622 C 617.80193,114.02078 618.20018,113.20862 620.17521,110.78405 C 622.7789,107.58775 623.66794,107.15126 624.79888,108.51396 C 625.3497,109.17766 625.01052,109.85622 622.88333,112.34612 C 620.20443,115.48181 619.36091,115.89925 618.29609,114.61622 z M 452.36378,103.92572 C 450.19407,100.87769 449.89693,99.221947 451.51963,99.221947 C 452.76376,99.221947 456.83325,104.25857 456.60642,105.51764 C 456.27151,107.37666 454.29142,106.6337 452.36378,103.92572 z M 607.50212,105.82148 C 607.19719,105.02683 609.73816,100.87362 611.34531,99.539802 C 612.33381,98.71942 613.86202,99.113575 613.86202,100.18891 C 613.86202,100.58909 612.93819,102.19087 611.80907,103.7484 C 609.78077,106.54631 608.09216,107.35909 607.50212,105.82148 z M 468.92392,104.5596 C 465.7628,99.952011 460.59976,90.215454 460.90114,89.430081 C 461.34371,88.276753 462.38498,88.307359 463.43918,89.50468 C 464.89696,91.160384 472.07204,104.14545 472.07204,105.12796 C 472.07204,106.60367 470.07949,106.24394 468.92392,104.5596 z M 591.96395,105.12796 C 591.96395,104.14545 599.13903,91.160384 600.59681,89.50468 C 601.651,88.307359 602.69228,88.276753 603.13485,89.430081 C 603.43623,90.215454 598.27319,99.952011 595.11207,104.5596 C 593.9565,106.24394 591.96395,106.60367 591.96395,105.12796 z M 477.68333,92.241938 C 476.91415,91.275691 474.8093,86.35613 474.8093,85.524635 C 474.8093,84.79114 476.29007,84.002545 476.92756,84.396538 C 477.78865,84.92872 480.41232,91.254292 480.10458,92.056232 C 479.70529,93.096769 478.441,93.193738 477.68333,92.241938 z M 583.94693,92.096692 C 583.6259,91.260084 586.21794,84.94689 587.10843,84.396538 C 587.83349,83.948423 589.22642,84.839397 589.19483,85.731089 C 589.1773,86.225797 588.49983,87.985501 587.68934,89.641543 C 586.19323,92.69846 584.58317,93.754712 583.94693,92.096692 z M 530.90732,88.976672 C 530.74992,88.566488 530.68907,84.17551 530.77211,79.218945 C 530.91613,70.622302 530.97355,70.207008 532.01799,70.207008 C 533.07115,70.207008 533.1129,70.571976 533.1129,79.779915 C 533.1129,88.468007 533.02419,89.369905 532.1532,89.537643 C 531.62537,89.639294 531.06472,89.386858 530.90732,88.976672 z M 490.25904,87.074175 C 489.33035,85.234194 488.36161,80.926184 488.68629,80.080086 C 488.8636,79.618017 489.36824,79.239961 489.8077,79.239961 C 490.74073,79.239961 493.0097,84.871426 492.76454,86.578681 C 492.55502,88.037756 490.90963,88.363153 490.25904,87.074175 z M 571.35155,87.159231 C 571.0081,86.264211 572.30548,81.383033 573.29574,79.844502 C 574.01101,78.733225 575.54784,79.541519 575.49651,81.001997 C 575.47237,81.688918 575.04125,83.480433 574.53847,84.98314 C 573.59123,87.814227 572.01572,88.890019 571.35155,87.159231 z M 503.8678,83.945801 C 502.83401,82.700154 501.87073,76.594873 502.59388,75.871713 C 503.79891,74.666693 504.81783,75.902965 505.659,79.59063 C 506.2667,82.254829 506.34001,83.500527 505.91896,84.007867 C 505.1658,84.915373 504.65977,84.90006 503.8678,83.945801 z M 558.11575,84.006324 C 557.65176,83.447255 557.73361,82.317261 558.44418,79.471615 C 559.22067,76.36196 559.58714,75.681525 560.48548,75.681525 C 561.45819,75.681525 561.56676,76.005798 561.4583,78.587134 C 561.2717,83.028258 559.58012,85.77078 558.11575,84.006324 z M 516.96467,81.160237 C 516.06618,78.797022 516.2656,73.788648 517.2736,73.401845 C 518.73993,72.839159 519.26841,74.064776 519.34894,78.214842 C 519.41507,81.622646 519.28449,82.246125 518.47016,82.410857 C 517.84171,82.537989 517.32543,82.109119 516.96467,81.160237 z M 544.51837,81.663726 C 544.07504,80.508431 544.75886,74.218167 545.39717,73.579855 C 545.67615,73.300869 546.2905,73.220764 546.76239,73.401845 C 547.7624,73.785582 547.97251,78.789929 547.08646,81.120402 C 546.49242,82.682853 545.02831,82.992609 544.51837,81.663726 z"
+         id="path3995" />
+      <path
+         style="fill:#0b4c6d"
+         d="M 524.07994,368.2955 C 522.12281,368.06421 518.6192,367.84618 516.29416,367.81099 C 512.44235,367.75268 509.95781,367.3443 497.25481,364.68146 C 489.36568,363.02772 471.39079,356.86431 464.10175,353.31361 C 454.19961,348.48999 440.573,339.81301 432.28297,333.05245 C 424.24853,326.50033 413.30304,315.62684 409.02417,309.94663 C 407.41814,307.81462 404.90952,304.53743 403.44947,302.66399 C 399.85034,298.0458 392.61592,286.01899 389.41565,279.33355 C 386.52271,273.29014 382.03263,262.19012 381.44345,259.62529 C 381.23594,258.722 380.24497,255.1379 379.24128,251.66063 C 377.45921,245.48662 375.94635,238.07647 374.55248,228.69427 C 373.63861,222.54296 373.63861,198.71377 374.55248,192.56246 C 375.94635,183.18026 377.45921,175.77012 379.24128,169.59611 C 380.24497,166.11884 381.23594,162.53474 381.44345,161.63144 C 382.03263,159.06662 386.52271,147.96659 389.41565,141.92318 C 392.61592,135.23775 399.85034,123.21093 403.44947,118.59275 C 404.90952,116.71931 407.41814,113.44211 409.02417,111.3101 C 413.30304,105.6299 424.24853,94.756406 432.28297,88.204285 C 440.573,81.443721 454.19961,72.766743 464.10175,67.943125 C 471.38416,64.395655 489.34821,58.234748 497.25481,56.573035 C 515.09499,52.823603 524.6958,52.133007 544.33566,53.186459 C 551.13,53.550898 555.63742,54.230976 566.78117,56.573035 C 574.68778,58.234748 592.65183,64.395655 599.93423,67.943125 C 609.83638,72.766743 623.46298,81.443721 631.75302,88.204285 C 639.78746,94.756406 650.73295,105.6299 655.01182,111.3101 C 656.61785,113.44211 659.12647,116.71931 660.58651,118.59275 C 664.18565,123.21093 671.42007,135.23775 674.62034,141.92318 C 677.51328,147.96659 682.00336,159.06662 682.59254,161.63144 C 682.80004,162.53474 683.79102,166.11884 684.79471,169.59611 C 686.57678,175.77012 688.08964,183.18026 689.4835,192.56246 C 690.39737,198.71377 690.39737,222.54296 689.4835,228.69427 C 688.08964,238.07647 686.57678,245.48662 684.79471,251.66063 C 683.79102,255.1379 682.80004,258.722 682.59254,259.62529 C 682.00336,262.19012 677.51328,273.29014 674.62034,279.33355 C 671.42007,286.01899 664.18565,298.0458 660.58651,302.66399 C 659.12647,304.53743 656.61785,307.81462 655.01182,309.94663 C 650.73295,315.62684 639.78746,326.50033 631.75302,333.05245 C 623.46298,339.81301 609.83638,348.48999 599.93423,353.31361 C 595.50686,355.47031 588.73081,358.08801 581.86833,360.29276 C 571.15275,363.73541 568.47413,364.42129 557.20077,366.60902 C 549.67578,368.06934 530.45003,369.04829 524.07994,368.2955 z M 553.95586,364.19525 C 575.93618,361.30618 594.26198,354.58693 614.40947,342.02965 C 634.08307,329.76773 653.11879,310.76397 664.57315,291.95017 C 675.54451,273.92971 683.25252,252.72653 686.17549,232.52644 C 687.93306,220.38016 687.93306,200.87658 686.17549,188.7303 C 683.25252,168.53021 675.54451,147.32702 664.57315,129.30657 C 653.11879,110.49277 634.08307,91.489 614.40947,79.227079 C 588.08622,62.820645 563.1487,55.699538 532.01799,55.699538 C 500.88729,55.699538 475.94977,62.820645 449.62652,79.227079 C 429.95292,91.489 410.9172,110.49277 399.46283,129.30657 C 388.49147,147.32702 380.78347,168.53021 377.8605,188.7303 C 376.10292,200.87658 376.10292,220.38016 377.8605,232.52644 C 379.5214,244.00463 383.26719,257.52417 388.03234,269.2393 C 395.38266,287.31009 404.83241,301.98331 418.2973,316.23363 C 438.97984,338.1226 465.32002,353.8753 493.42265,361.1622 C 510.65223,365.62976 534.10255,366.80476 553.95586,364.19525 z M 531.56179,349.86358 C 531.36105,349.66285 531.19682,345.7212 531.19682,341.10435 C 531.19682,334.00776 531.32376,332.71009 532.01799,332.71009 C 532.71371,332.71009 532.83917,334.04831 532.83917,341.46932 C 532.83917,349.47137 532.61866,350.92046 531.56179,349.86358 z M 517.16239,344.4039 C 517.35386,343.00693 517.51052,341.40563 517.51052,340.84546 C 517.51052,340.28529 517.88854,339.82697 518.35056,339.82697 C 519.04173,339.82697 519.13092,340.33631 518.85386,342.70109 C 518.42372,346.37237 518.23508,346.94384 517.45329,346.94384 C 517.008,346.94384 516.9198,346.17375 517.16239,344.4039 z M 545.73126,346.25952 C 545.61444,345.88315 545.36733,344.28185 545.18213,342.70109 C 544.90507,340.33631 544.99426,339.82697 545.68543,339.82697 C 546.14745,339.82697 546.52546,340.28529 546.52546,340.84546 C 546.52546,341.40563 546.68213,343.00693 546.8736,344.4039 C 547.11619,346.17375 547.02799,346.94384 546.58269,346.94384 C 546.23122,346.94384 545.84807,346.6359 545.73126,346.25952 z M 503.15808,344.45285 C 502.65772,343.95249 504.11803,337.99543 504.7965,337.76928 C 505.61753,337.4956 505.62683,337.93101 504.87483,341.43745 C 504.31093,344.06679 503.75264,345.04741 503.15808,344.45285 z M 559.73184,343.5552 C 559.46902,342.85962 559.07333,341.21409 558.85253,339.89849 C 558.2275,336.17431 559.76811,337.28644 560.53459,341.11274 C 561.16435,344.25645 560.62121,345.90901 559.73184,343.5552 z M 489.23939,340.10491 C 489.44335,339.57341 489.88138,338.06167 490.2128,336.7455 C 490.57721,335.29829 491.12883,334.35245 491.60845,334.35245 C 492.18114,334.35245 492.29348,334.69474 492.01271,335.58422 C 490.81045,339.39292 490.24905,340.61111 489.5957,340.82889 C 489.09403,340.99611 488.98355,340.77163 489.23939,340.10491 z M 573.61627,340.23755 C 572.79041,337.95339 571.70824,334.73175 571.70824,334.55734 C 571.70824,334.44465 572.04852,334.35245 572.46443,334.35245 C 572.90048,334.35245 573.47571,335.36555 573.82319,336.7455 C 574.1546,338.06167 574.57974,339.53979 574.76793,340.03021 C 574.96061,340.53232 574.83782,340.92187 574.48689,340.92187 C 574.14413,340.92187 573.75235,340.61393 573.61627,340.23755 z M 475.9042,335.18827 C 475.9042,334.0869 478.20657,329.42538 478.75055,329.42538 C 479.45212,329.42538 479.26861,330.40577 478.02659,333.29292 C 476.8933,335.92733 475.9042,336.81062 475.9042,335.18827 z M 586.0094,333.29292 C 584.76738,330.40577 584.58386,329.42538 585.28544,329.42538 C 585.82942,329.42538 588.13179,334.0869 588.13179,335.18827 C 588.13179,336.81062 587.14269,335.92733 586.0094,333.29292 z M 461.67046,331.19792 C 461.67046,330.32009 469.96482,316.28654 470.48366,316.28654 C 471.49914,316.28654 470.82865,317.83435 466.93941,324.46836 C 463.37612,330.54638 461.67046,332.72487 461.67046,331.19792 z M 599.46829,328.46734 C 593.33172,318.20116 592.40182,316.28654 593.55233,316.28654 C 594.05429,316.28654 602.36553,330.30562 602.36553,331.1523 C 602.36553,332.41472 601.16004,331.29755 599.46829,328.46734 z M 451.26887,321.02202 C 451.26887,320.05427 454.40185,315.73909 455.10447,315.73909 C 456.05138,315.73909 455.70437,316.60335 453.70733,319.2188 C 451.64328,321.92201 451.26887,322.19888 451.26887,321.02202 z M 610.40648,319.32071 C 609.29604,317.86642 608.3875,316.44509 608.3875,316.1622 C 608.3875,315.12075 609.79932,316.16074 611.32593,318.32673 C 613.63202,321.59867 612.81786,322.47881 610.40648,319.32071 z M 439.77239,312.14806 C 439.77239,311.44569 443.89351,306.97986 444.54166,306.97986 C 445.60239,306.97986 445.4317,307.37144 443.2149,310.02344 C 441.46654,312.11504 439.77239,313.16062 439.77239,312.14806 z M 620.82109,310.02344 C 618.60428,307.37144 618.43359,306.97986 619.49433,306.97986 C 620.14248,306.97986 624.2636,311.44569 624.2636,312.14806 C 624.2636,313.16062 622.56945,312.11504 620.82109,310.02344 z M 517.78425,309.72924 C 493.68639,306.16151 469.92262,292.83628 454.87465,274.4535 C 443.92132,261.07278 437.94675,249.12205 434.31421,233.32716 C 428.25276,206.97092 433.29659,177.77471 447.59715,156.439 C 455.55546,144.56561 464.6602,135.48281 476.5819,127.52411 C 510.54015,104.85423 553.49584,104.85423 587.45409,127.52411 C 596.39915,133.49567 603.24496,139.57573 609.16134,146.80324 C 620.11467,160.18395 626.08924,172.13469 629.72178,187.92958 C 635.78323,214.28582 630.73939,243.48203 616.43883,264.81774 C 608.48053,276.69113 599.37579,285.77392 587.45409,293.73262 C 566.74309,307.55889 541.80306,313.28528 517.78425,309.72924 z M 544.93293,306.9247 C 551.95382,306.00565 564.68926,302.31826 571.70824,299.17223 C 584.28263,293.53617 598.92524,282.45781 607.2204,272.30429 C 610.6997,268.04553 617.20027,258.10037 619.57904,253.39694 C 621.5367,249.52616 624.61346,241.42728 625.94793,236.63232 C 632.14719,214.3574 629.69313,187.85794 619.57904,167.8598 C 617.20027,163.15636 610.6997,153.2112 607.2204,148.95245 C 598.92524,138.79893 584.28263,127.72057 571.70824,122.08451 C 564.68926,118.93848 551.95382,115.25108 544.93293,114.33203 C 539.01284,113.55708 525.02314,113.55708 519.10306,114.33203 C 512.08216,115.25108 499.34672,118.93848 492.32775,122.08451 C 479.75336,127.72057 465.11075,138.79893 456.81559,148.95245 C 453.33629,153.2112 446.83571,163.15636 444.45695,167.8598 C 434.34286,187.85794 431.88879,214.3574 438.08806,236.63232 C 439.42252,241.42728 442.49929,249.52616 444.45695,253.39694 C 446.83571,258.10037 453.33629,268.04553 456.81559,272.30429 C 465.10737,282.45367 479.74616,293.53026 492.32775,299.17492 C 499.25611,302.2833 510.29235,305.57664 517.51052,306.68976 C 523.34444,307.58941 538.84079,307.72218 544.93293,306.9247 z M 429.91826,301.84804 C 429.91826,301.09732 434.22458,297.12573 435.03857,297.12573 C 436.01822,297.12573 435.14578,298.68091 433.32996,300.17142 C 430.4411,302.54273 429.91826,302.79967 429.91826,301.84804 z M 631.23266,300.58648 C 629.81078,299.43582 628.64648,298.18642 628.64532,297.81005 C 628.64193,296.70848 629.31432,296.99929 631.8736,299.20624 C 635.19786,302.07286 634.61647,303.32485 631.23266,300.58648 z M 422.80139,288.8921 C 425.18895,286.79388 426.63355,286.17309 426.63355,287.2453 C 426.63355,287.92297 422.00101,291.11081 421.06039,291.08042 C 420.663,291.06759 421.44644,290.08284 422.80139,288.8921 z M 639.72911,289.40701 C 638.44944,288.50064 637.40244,287.52621 637.40244,287.24161 C 637.40244,286.173 638.84995,286.79644 641.2346,288.8921 C 644.12822,291.43505 643.09255,291.78927 639.72911,289.40701 z M 410.86333,280.11082 C 411.13919,279.28324 424.2733,271.41717 425.40178,271.40368 C 427.07637,271.38367 425.63849,272.52295 419.37981,276.17508 C 411.65642,280.68192 410.49388,281.21916 410.86333,280.11082 z M 645.19967,276.48805 C 638.45693,272.56865 636.92625,271.38328 638.63421,271.40368 C 639.69081,271.41631 652.88792,279.2566 653.14358,280.02358 C 653.53878,281.20918 652.61225,280.79682 645.19967,276.48805 z M 406.37784,266.03008 C 406.37784,265.4861 411.03935,263.18373 412.14072,263.18373 C 413.65379,263.18373 412.95082,264.05873 410.46908,265.26445 C 407.91095,266.50729 406.37784,266.79419 406.37784,266.03008 z M 653.4154,265.23172 C 651.06163,264.04931 650.41915,263.18373 651.89526,263.18373 C 652.99664,263.18373 657.65815,265.4861 657.65815,266.03008 C 657.65815,266.78851 655.82942,266.4444 653.4154,265.23172 z M 401.54707,252.76697 C 401.76188,252.12254 402.98716,251.55984 406.78843,250.35993 C 408.7537,249.73957 408.26184,251.09469 406.21066,251.95174 C 403.07866,253.26037 401.27766,253.5752 401.54707,252.76697 z M 659.04001,252.4557 C 656.75436,251.61903 655.62345,250.80221 656.09618,250.32947 C 656.54798,249.87768 662.22674,251.98045 662.46216,252.68671 C 662.73821,253.51485 661.75145,253.44824 659.04001,252.4557 z M 397.61861,238.95706 C 397.61861,238.41629 398.64176,237.94663 400.73604,237.52604 C 404.40397,236.78941 406.1127,237.59641 402.75217,238.47822 C 397.81122,239.77475 397.61861,239.79271 397.61861,238.95706 z M 664.5013,239.35585 C 664.2002,239.24529 662.87551,238.87728 661.55754,238.53804 C 660.07516,238.15649 659.35598,237.72649 659.67187,237.41061 C 660.43156,236.65092 666.41738,237.97054 666.41738,238.89771 C 666.41738,239.61054 665.67703,239.78756 664.5013,239.35585 z M 395.55615,224.75131 C 395.83874,223.90058 401.50593,223.08139 402.22663,223.78709 C 402.85321,224.40062 402.04086,224.67235 398.24862,225.11775 C 395.97941,225.38426 395.37331,225.30177 395.55615,224.75131 z M 664.77502,225.02713 C 662.08709,224.73645 661.21305,224.37098 661.80936,223.78709 C 662.51556,223.09558 668.19556,223.89549 668.47115,224.72525 C 668.69942,225.41258 668.49424,225.42934 664.77502,225.02713 z M 392.69155,210.62837 C 392.69155,210.28773 395.79377,210.08092 400.90332,210.08092 C 406.01287,210.08092 409.1151,210.28773 409.1151,210.62837 C 409.1151,210.969 406.01287,211.17582 400.90332,211.17582 C 395.79377,211.17582 392.69155,210.969 392.69155,210.62837 z M 654.92089,210.62837 C 654.92089,210.28773 658.02312,210.08092 663.13267,210.08092 C 668.24221,210.08092 671.34444,210.28773 671.34444,210.62837 C 671.34444,210.969 668.24221,211.17582 663.13267,211.17582 C 658.02312,211.17582 654.92089,210.969 654.92089,210.62837 z M 398.20857,197.54417 C 396.87701,197.36357 395.68239,196.89613 395.55387,196.50543 C 395.37284,195.95511 395.97999,195.87255 398.24862,196.13899 C 399.85925,196.32816 401.5006,196.5845 401.89606,196.70864 C 402.7555,196.97842 402.21597,198.07259 401.2816,197.95476 C 400.923,197.90953 399.54013,197.72477 398.20857,197.54417 z M 661.75316,197.47192 C 661.34511,196.81169 662.04619,196.57815 665.73306,196.1462 C 667.61314,195.92592 668.60718,196.01127 668.60718,196.39295 C 668.60718,197.10238 667.99087,197.30704 664.66198,197.70301 C 663.21227,197.87546 661.94009,197.77439 661.75316,197.47192 z M 400.21901,183.67929 C 398.51317,183.32378 397.61861,182.8548 397.61861,182.31603 C 397.61861,181.46311 397.7975,181.47889 402.69906,182.76421 C 403.83726,183.06268 404.62337,183.54174 404.44597,183.82879 C 404.07535,184.42846 403.76012,184.41731 400.21901,183.67929 z M 659.61744,183.87315 C 659.41611,183.54738 660.14639,183.07641 661.33693,182.76421 C 666.23664,181.47937 666.41738,181.46337 666.41738,182.31433 C 666.41738,182.83032 665.65688,183.27175 664.36443,183.50596 C 663.23531,183.71058 661.78407,184.00431 661.13944,184.1587 C 660.49483,184.31309 659.80992,184.18459 659.61744,183.87315 z M 404.49538,170.17537 C 401.50112,169.12146 400.16989,167.48696 402.85458,168.16077 C 405.49272,168.82291 408.02019,170.03423 408.02019,170.63646 C 408.02019,171.36407 407.78528,171.33334 404.49538,170.17537 z M 656.0158,170.67335 C 656.0158,170.03925 658.48792,168.83679 661.18141,168.16077 C 663.45029,167.59132 662.7567,169.03203 660.36459,169.85745 C 656.4437,171.21041 656.0158,171.29069 656.0158,170.67335 z M 408.70451,156.83629 C 406.35074,155.65388 405.70825,154.7883 407.18437,154.7883 C 408.28574,154.7883 412.94726,157.09067 412.94726,157.63465 C 412.94726,158.39307 411.11852,158.04896 408.70451,156.83629 z M 651.08873,157.63465 C 651.08873,157.09067 655.75024,154.7883 656.85162,154.7883 C 658.36469,154.7883 657.66171,155.66329 655.17997,156.86901 C 652.62184,158.11185 651.08873,158.39876 651.08873,157.63465 z M 417.91804,145.87831 C 414.17835,143.69671 411.00373,141.56713 410.86333,141.14592 C 410.67806,140.59011 410.89128,140.48817 411.64079,140.77421 C 413.61858,141.52899 426.0861,148.99804 426.0861,149.4281 C 426.0861,150.39338 424.40627,149.66334 417.91804,145.87831 z M 637.94989,149.4281 C 637.94989,148.99804 650.41741,141.52899 652.3952,140.77421 C 653.14471,140.48817 653.35793,140.59011 653.17266,141.14592 C 652.8968,141.9735 639.76269,149.83957 638.63421,149.85305 C 638.25783,149.85755 637.94989,149.66632 637.94989,149.4281 z M 422.80139,132.36464 C 421.44644,131.1739 420.663,130.18915 421.06039,130.17631 C 422.00101,130.14593 426.63355,133.33377 426.63355,134.01143 C 426.63355,135.08365 425.18895,134.46286 422.80139,132.36464 z M 637.40244,134.01143 C 637.40244,133.33377 642.03497,130.14593 642.9756,130.17631 C 643.37299,130.18915 642.58954,131.1739 641.2346,132.36464 C 638.84704,134.46286 637.40244,135.08365 637.40244,134.01143 z M 432.16238,122.05049 C 428.83813,119.18388 429.41952,117.93189 432.80333,120.67026 C 434.2252,121.82092 435.38951,123.07032 435.39067,123.44669 C 435.39406,124.54825 434.72167,124.25745 432.16238,122.05049 z M 628.64532,123.44669 C 628.64648,123.07032 629.81078,121.82092 631.23266,120.67026 C 634.61647,117.93189 635.19786,119.18388 631.8736,122.05049 C 629.31432,124.25745 628.64193,124.54825 628.64532,123.44669 z M 441.8044,111.84593 C 439.58759,109.19392 439.4169,108.80235 440.47764,108.80235 C 441.12579,108.80235 445.24691,113.26818 445.24691,113.97055 C 445.24691,114.98311 443.55276,113.93753 441.8044,111.84593 z M 618.78908,113.97055 C 618.78908,113.26818 622.9102,108.80235 623.55835,108.80235 C 624.61909,108.80235 624.4484,109.19392 622.23159,111.84593 C 620.48323,113.93753 618.78908,114.98311 618.78908,113.97055 z M 452.91466,103.2457 C 451.45482,101.23044 450.8085,99.495673 451.51752,99.495673 C 451.90733,99.495673 455.64849,104.5249 455.64849,105.04891 C 455.64849,106.15148 454.44416,105.35711 452.91466,103.2457 z M 608.3875,105.09454 C 608.3875,104.81164 609.29604,103.39031 610.40648,101.93602 C 612.81786,98.777921 613.63202,99.658062 611.32593,102.93 C 609.79932,105.09599 608.3875,106.13599 608.3875,105.09454 z M 465.83032,97.768759 C 461.64255,90.51901 461.13828,89.372908 462.30779,89.762745 C 463.0377,90.006051 470.92248,103.24802 470.95542,104.28588 C 471.01331,106.11027 469.63995,104.36388 465.83032,97.768759 z M 593.08057,104.28588 C 593.11351,103.24802 600.99828,90.006051 601.7282,89.762745 C 602.89771,89.372908 602.39344,90.51901 598.20567,97.768759 C 594.39604,104.36388 593.02267,106.11027 593.08057,104.28588 z M 477.10819,89.353172 C 475.84285,86.748716 475.57976,85.261929 476.38424,85.261929 C 476.87603,85.261929 479.18891,90.198776 479.18891,91.248522 C 479.18891,92.550361 478.2428,91.68854 477.10819,89.353172 z M 584.84708,91.248522 C 584.84708,90.198776 587.15995,85.261929 587.65175,85.261929 C 588.45623,85.261929 588.19314,86.748716 586.9278,89.353172 C 585.79319,91.68854 584.84708,92.550361 584.84708,91.248522 z M 531.31978,79.969291 C 531.4299,73.704342 531.65503,71.330611 532.15486,71.164443 C 532.68337,70.988738 532.83917,72.941548 532.83917,79.741792 C 532.83917,87.268498 532.71795,88.546639 532.00409,88.546639 C 531.28474,88.546639 531.18991,87.357984 531.31978,79.969291 z M 490.2128,84.511238 C 489.88138,83.195062 489.44335,81.683327 489.23939,81.151828 C 488.98355,80.485103 489.09403,80.260618 489.5957,80.427841 C 490.24905,80.645624 490.81045,81.863808 492.01271,85.672518 C 492.29348,86.561989 492.18114,86.904284 491.60845,86.904284 C 491.12883,86.904284 490.57721,85.958439 490.2128,84.511238 z M 572.02328,85.672518 C 573.22554,81.863808 573.78694,80.645624 574.44029,80.427841 C 574.94196,80.260618 575.05244,80.485103 574.79659,81.151828 C 574.59264,81.683327 574.1546,83.195062 573.82319,84.511238 C 573.45878,85.958439 572.90715,86.904284 572.42754,86.904284 C 571.85485,86.904284 571.7425,86.561989 572.02328,85.672518 z M 504.11636,82.93526 C 502.84615,79.001416 503.01519,74.290164 504.30415,77.701526 C 505.21635,80.115767 505.59878,83.619574 504.95007,83.619574 C 504.61306,83.619574 504.23789,83.311633 504.11636,82.93526 z M 558.85253,81.358245 C 559.38616,78.178628 560.10206,76.370292 560.68466,76.730356 C 561.382,77.161334 560.0367,83.221716 559.18033,83.507174 C 558.60828,83.697854 558.53762,83.234606 558.85253,81.358245 z M 517.27382,78.087511 C 517.06584,76.249269 517.03813,74.602808 517.21223,74.428708 C 517.86803,73.772909 518.47715,75.238172 518.81403,78.28192 C 519.08846,80.761275 519.00206,81.429767 518.4072,81.429767 C 517.88893,81.429767 517.5333,80.381034 517.27382,78.087511 z M 545.22195,78.28192 C 545.55884,75.238172 546.16796,73.772909 546.82376,74.428708 C 546.99786,74.602808 546.97015,76.249269 546.76217,78.087511 C 546.50269,80.381034 546.14706,81.429767 545.62879,81.429767 C 545.03393,81.429767 544.94753,80.761275 545.22195,78.28192 z"
+         id="path3993" />
+      <path
+         style="fill:#162f60"
+         d="M 524.6274,368.27427 C 522.36916,368.04218 518.30433,367.71565 515.59444,367.54867 C 512.88456,367.38169 508.94291,366.88471 506.83522,366.44426 C 504.72753,366.00382 500.78588,365.21487 498.07599,364.69105 C 490.4989,363.22638 470.46671,356.27892 462.93659,352.50419 C 454.45235,348.25117 442.06331,340.48282 435.12383,335.06465 C 421.15039,324.15452 405.75853,306.98593 396.69393,292.19867 C 390.79529,282.57609 382.81477,264.78244 380.95673,257.11042 C 380.48958,255.18152 379.59989,251.87885 378.97962,249.77116 C 377.74365,245.57131 375.60718,234.89843 374.54132,227.59937 C 374.15827,224.97628 373.8618,217.57185 373.8618,210.62837 C 373.8618,203.68489 374.15827,196.28046 374.54132,193.65737 C 375.60718,186.3583 377.74365,175.68543 378.97962,171.48557 C 379.59989,169.37788 380.48958,166.07522 380.95673,164.14632 C 382.05464,159.61298 386.99096,147.40611 390.82908,139.73338 C 395.7453,129.90539 399.1386,124.65639 408.39091,112.56748 C 413.18271,106.3066 427.67584,92.007304 435.12383,86.192087 C 442.06331,80.773914 454.45235,73.005561 462.93659,68.752543 C 470.4612,64.980572 490.49044,58.033033 498.07599,56.563747 C 500.78588,56.038855 504.78397,55.24449 506.96064,54.798493 C 509.13732,54.352495 512.95579,53.867576 515.44614,53.720894 C 517.9365,53.574213 522.29059,53.23228 525.12191,52.961044 C 528.25067,52.661315 533.29665,52.67203 537.98703,52.988363 C 542.23152,53.274623 547.41228,53.625446 549.49982,53.767969 C 551.58737,53.910492 555.03632,54.383118 557.16415,54.818249 C 559.29198,55.253381 563.25011,56.038855 565.96,56.563747 C 573.54555,58.033033 593.57479,64.980572 601.0994,68.752543 C 609.58363,73.005561 621.97268,80.773914 628.91215,86.192087 C 642.88559,97.102215 658.27746,114.27081 667.34206,129.05807 C 673.2407,138.68064 681.22121,156.4743 683.07925,164.14632 C 683.54641,166.07522 684.4361,169.37788 685.05637,171.48557 C 686.29234,175.68543 688.4288,186.3583 689.49467,193.65737 C 689.87772,196.28046 690.17419,203.68489 690.17419,210.62837 C 690.17419,217.57185 689.87772,224.97628 689.49467,227.59937 C 688.4288,234.89843 686.29234,245.57131 685.05637,249.77116 C 684.4361,251.87885 683.54641,255.18152 683.07925,257.11042 C 681.98135,261.64376 677.04502,273.85062 673.20691,281.52336 C 668.29069,291.35135 664.89739,296.60035 655.64508,308.68925 C 650.85328,314.95014 636.36015,329.24943 628.91215,335.06465 C 621.97268,340.48282 609.58363,348.25117 601.0994,352.50419 C 593.57479,356.27616 573.54555,363.2237 565.96,364.69299 C 563.25011,365.21788 559.29198,366.00335 557.16415,366.43848 C 555.03632,366.87361 551.58737,367.34624 549.49982,367.48876 C 547.41228,367.63129 542.13216,367.99161 537.76624,368.28949 C 533.40031,368.58736 529.58183,368.80074 529.28074,368.76367 C 528.97964,368.7266 526.88563,368.50637 524.6274,368.27427 z M 552.87929,364.75009 C 568.98048,362.64895 584.15472,358.22544 598.53337,351.44127 C 607.89864,347.02252 622.97036,337.27275 631.62452,330.03488 C 647.41808,316.82602 659.57204,302.05187 670.03663,283.34177 C 673.72406,276.74886 680.05424,260.47703 682.67055,250.86607 C 686.45361,236.96912 687.84313,226.15997 687.84313,210.62837 C 687.84313,199.62538 687.63988,196.39166 686.44907,188.44864 C 683.29759,167.4275 675.76117,146.74415 664.81835,129.08417 C 656.42261,115.53476 644.68032,102.141 631.62452,91.22185 C 622.97036,83.983977 607.89864,74.234209 598.53337,69.815466 C 557.00015,50.219154 507.03584,50.219154 465.50262,69.815466 C 456.13735,74.234209 441.06563,83.983977 432.41146,91.22185 C 416.6179,104.43071 404.46395,119.20486 393.99935,137.91497 C 390.31193,144.50788 383.98174,160.77971 381.36543,170.39067 C 377.58238,184.28762 376.19286,195.09676 376.19286,210.62837 C 376.19286,221.63136 376.39611,224.86508 377.58692,232.8081 C 380.73839,253.82924 388.27482,274.51259 399.21763,292.17257 C 411.55117,312.07694 429.3261,329.75124 449.94054,342.60831 C 460.91479,349.45286 467.83964,352.9013 478.47926,356.82004 C 501.5396,365.31351 527.42168,368.07219 552.87929,364.75009 z M 531.76104,341.46932 C 531.76104,335.43783 531.93737,332.70923 532.29172,333.25755 C 532.5836,333.70919 532.8224,337.40449 532.8224,341.46932 C 532.8224,345.53415 532.5836,349.22945 532.29172,349.6811 C 531.93737,350.22941 531.76104,347.50082 531.76104,341.46932 z M 517.41758,346.66841 C 516.97626,346.22709 517.56921,340.7232 518.12219,340.12806 C 518.73178,339.472 518.75733,345.30949 518.14906,346.26775 C 517.90728,346.64865 517.57812,346.82894 517.41758,346.66841 z M 545.76165,346.07474 C 545.236,344.70491 545.36812,339.54079 545.9138,340.12806 C 546.54123,340.80334 547.04081,346.35161 546.50404,346.68335 C 546.27782,346.82316 545.94375,346.54928 545.76165,346.07474 z M 503.50951,342.04577 C 503.91309,338.88749 504.56965,337.17624 505.06828,337.98303 C 505.44755,338.59671 504.26277,343.96028 503.61284,344.57192 C 503.33281,344.83544 503.28922,343.76969 503.50951,342.04577 z M 559.9705,344.06972 C 558.71382,339.91317 558.54493,336.20384 559.70689,338.28016 C 560.29753,339.33557 560.99384,344.75403 560.53883,344.75403 C 560.34004,344.75403 560.08429,344.44609 559.9705,344.06972 z M 489.63515,340.04552 C 489.58072,338.64393 490.63265,335.37667 491.37996,334.62617 C 492.11327,333.88974 491.53214,336.95095 490.48166,339.35814 C 489.85952,340.78378 489.6698,340.93784 489.63515,340.04552 z M 573.1715,338.48751 C 572.1621,335.52509 572.00405,334.13231 572.72805,334.57976 C 573.37296,334.97834 574.6215,339.57269 574.3259,340.45949 C 574.19467,340.85316 573.67519,339.96577 573.1715,338.48751 z M 475.99544,335.0342 C 476.09581,334.80697 476.64251,333.45202 477.21034,332.02322 C 478.1421,329.67865 479.18891,328.5861 479.18891,329.95819 C 479.18891,330.90582 476.7962,335.44735 476.29694,335.44735 C 476.03075,335.44735 475.89507,335.26143 475.99544,335.0342 z M 586.05107,332.96918 C 584.75518,330.30184 584.57441,329.42538 585.32015,329.42538 C 585.58035,329.42538 586.25782,330.59441 586.82565,332.02322 C 587.39347,333.45202 587.94018,334.80697 588.04055,335.0342 C 588.14092,335.26143 588.00524,335.44735 587.73905,335.44735 C 587.47285,335.44735 586.71327,334.33217 586.05107,332.96918 z M 462.03915,331.2046 C 461.84659,330.87976 465.29476,324.54881 469.86366,316.83856 C 470.1298,316.38942 470.51493,316.18931 470.71948,316.39386 C 471.05352,316.7279 463.01052,331.61519 462.49602,331.61519 C 462.37859,331.61519 462.173,331.43043 462.03915,331.2046 z M 597.14183,324.20164 C 594.83334,320.11192 593.09347,316.61689 593.27545,316.43492 C 593.73083,315.97953 593.6733,315.89708 597.18245,322.03479 C 598.90395,325.04577 600.78242,328.29045 601.35685,329.24517 C 601.97257,330.26855 602.18326,331.11577 601.87017,331.30927 C 601.57806,331.4898 599.45031,328.29137 597.14183,324.20164 z M 451.26887,320.89252 C 451.26887,320.29243 454.7368,315.73909 455.19384,315.73909 C 455.91374,315.73909 455.75871,316.09815 453.90075,318.73407 C 452.34687,320.93857 451.26887,321.82266 451.26887,320.89252 z M 610.13524,318.73407 C 608.27728,316.09815 608.12225,315.73909 608.84215,315.73909 C 609.29919,315.73909 612.76711,320.29243 612.76711,320.89252 C 612.76711,321.82266 611.68912,320.93857 610.13524,318.73407 z M 440.31984,311.85541 C 440.31984,311.40377 441.30525,310.072 442.50965,308.89595 C 443.87076,307.56685 444.69945,307.06842 444.69945,307.57883 C 444.69945,308.03048 443.71404,309.36224 442.50965,310.5383 C 441.14853,311.86739 440.31984,312.36583 440.31984,311.85541 z M 621.32064,310.33424 C 620.16086,309.14652 619.30453,307.89705 619.41767,307.55765 C 619.5308,307.21823 620.57227,307.9123 621.73205,309.10001 C 622.89182,310.28773 623.74815,311.53719 623.63501,311.8766 C 623.52188,312.21602 622.48041,311.52195 621.32064,310.33424 z M 516.96307,309.19259 C 502.98694,307.03342 489.64077,301.82433 477.12428,293.6433 C 446.14179,273.39251 429.72882,239.8837 432.50753,202.55346 C 434.79805,171.78174 450.88478,144.76212 477.12428,127.6142 C 511.1873,105.35348 552.84869,105.35348 586.91171,127.6142 C 613.15121,144.76212 629.23794,171.78174 631.52846,202.55346 C 634.30717,239.88378 617.89227,273.39626 586.91171,293.64254 C 574.14195,301.98777 559.7413,307.48086 545.5486,309.42037 C 537.42919,310.52992 524.97726,310.43071 516.96307,309.19259 z M 544.93293,306.9247 C 551.95382,306.00565 564.68926,302.31826 571.70824,299.17223 C 584.28263,293.53617 598.92524,282.45781 607.2204,272.30429 C 610.6997,268.04553 617.20027,258.10037 619.57904,253.39694 C 621.5367,249.52616 624.61346,241.42728 625.94793,236.63232 C 632.14719,214.3574 629.69313,187.85794 619.57904,167.8598 C 617.20027,163.15636 610.6997,153.2112 607.2204,148.95245 C 598.92524,138.79893 584.28263,127.72057 571.70824,122.08451 C 564.68926,118.93848 551.95382,115.25108 544.93293,114.33203 C 539.01284,113.55708 525.02314,113.55708 519.10306,114.33203 C 512.08216,115.25108 499.34672,118.93848 492.32775,122.08451 C 479.75336,127.72057 465.11075,138.79893 456.81559,148.95245 C 453.33629,153.2112 446.83571,163.15636 444.45695,167.8598 C 434.34286,187.85794 431.88879,214.3574 438.08806,236.63232 C 439.42252,241.42728 442.49929,249.52616 444.45695,253.39694 C 446.83571,258.10037 453.33629,268.04553 456.81559,272.30429 C 465.10737,282.45367 479.74616,293.53026 492.32775,299.17492 C 499.25611,302.2833 510.29235,305.57664 517.51052,306.68976 C 523.34444,307.58941 538.84079,307.72218 544.93293,306.9247 z M 429.92813,301.64221 C 429.94507,300.9372 434.29131,297.57976 434.91702,297.78833 C 435.24375,297.89724 434.49834,298.9013 433.26054,300.01958 C 431.12104,301.95249 429.90646,302.5439 429.92813,301.64221 z M 630.77544,300.01958 C 629.53764,298.9013 628.79223,297.89724 629.11897,297.78833 C 629.74467,297.57976 634.09091,300.9372 634.10786,301.64221 C 634.12953,302.5439 632.91495,301.95249 630.77544,300.01958 z M 421.15903,290.58261 C 421.15903,290.08853 425.66052,286.72415 426.3216,286.72415 C 427.24285,286.72415 426.35018,287.80802 424.15401,289.35603 C 421.47112,291.2471 421.15903,291.37492 421.15903,290.58261 z M 639.86597,289.38902 C 637.79441,287.8378 636.8762,286.72415 637.66877,286.72415 C 638.36273,286.72415 642.87696,290.0685 642.87696,290.58261 C 642.87696,291.40909 642.2112,291.14517 639.86597,289.38902 z M 410.75745,280.18775 C 410.75745,279.69118 424.88806,271.39551 425.73392,271.39551 C 426.83392,271.39551 424.96478,272.72139 418.4787,276.54206 C 411.15737,280.85472 410.75745,281.04355 410.75745,280.18775 z M 646.43539,277.08932 C 638.45453,272.3441 637.80246,271.9079 638.1581,271.55227 C 638.57013,271.14023 653.27854,279.5404 653.27854,280.18775 C 653.27854,281.06675 652.63444,280.77512 646.43539,277.08932 z M 406.64193,265.93657 C 406.99224,265.36977 411.64549,263.18373 412.50171,263.18373 C 413.59889,263.18373 412.2329,264.30123 409.84401,265.35795 C 407.08507,266.57836 406.13971,266.74919 406.64193,265.93657 z M 654.20508,265.40722 C 651.91386,264.33814 650.48714,263.18373 651.4571,263.18373 C 652.37177,263.18373 657.02665,265.34211 657.39406,265.93657 C 657.88173,266.72565 656.56076,266.50637 654.20508,265.40722 z M 401.45077,252.7686 C 401.45077,252.09977 403.28109,251.35199 406.18253,250.83544 C 409.00733,250.33253 408.02401,251.26836 404.5011,252.43566 C 401.31197,253.49236 401.45077,253.47721 401.45077,252.7686 z M 659.20236,252.32913 C 655.86187,251.13516 655.14609,250.33923 657.85346,250.82921 C 660.76598,251.35633 662.58522,252.10197 662.58522,252.7686 C 662.58522,253.47881 662.32394,253.44487 659.20236,252.32913 z M 397.84789,238.62031 C 398.00954,238.35877 399.11113,237.98977 400.29588,237.80032 C 401.48062,237.61087 402.84103,237.3058 403.31899,237.12239 C 403.79696,236.93897 404.18803,237.05004 404.18803,237.3692 C 404.18803,238.00647 400.81856,239.08797 398.81807,239.0928 C 398.12282,239.09448 397.68625,238.88186 397.84789,238.62031 z M 661.62717,238.48338 C 660.64861,238.20083 659.84796,237.70398 659.84796,237.37928 C 659.84796,237.05457 660.23902,236.93897 660.71699,237.12239 C 661.19496,237.3058 662.55536,237.61087 663.74011,237.80032 C 664.92485,237.98977 666.02645,238.35877 666.18809,238.62031 C 666.56408,239.22867 663.935,239.14974 661.62717,238.48338 z M 395.67643,224.81989 C 395.54701,224.61048 395.99264,224.29132 396.66673,224.11065 C 398.37562,223.65263 402.8112,223.68417 402.34434,224.15103 C 401.80138,224.69399 395.96072,225.27987 395.67643,224.81989 z M 664.94548,224.87538 C 663.38318,224.7043 661.92559,224.38498 661.70639,224.16576 C 661.18349,223.64287 666.38119,223.7228 667.74967,224.2587 C 669.42091,224.91317 668.04788,225.21511 664.94548,224.87538 z M 394.3339,210.62837 C 394.3339,210.29382 396.88868,210.08092 400.90332,210.08092 C 404.91796,210.08092 407.47274,210.29382 407.47274,210.62837 C 407.47274,210.96292 404.91796,211.17582 400.90332,211.17582 C 396.88868,211.17582 394.3339,210.96292 394.3339,210.62837 z M 656.56325,210.62837 C 656.56325,210.29382 659.11802,210.08092 663.13267,210.08092 C 667.14731,210.08092 669.70209,210.29382 669.70209,210.62837 C 669.70209,210.96292 667.14731,211.17582 663.13267,211.17582 C 659.11802,211.17582 656.56325,210.96292 656.56325,210.62837 z M 396.24998,196.94208 C 395.64778,196.6833 395.40143,196.43142 395.70253,196.38233 C 397.10823,196.15317 401.26324,196.54434 401.99822,196.97503 C 403.0888,197.6141 397.74253,197.58345 396.24998,196.94208 z M 662.03776,196.97503 C 662.77274,196.54434 666.92776,196.15317 668.33346,196.38233 C 668.63456,196.43142 668.3882,196.6833 667.78601,196.94208 C 666.29346,197.58345 660.94719,197.6141 662.03776,196.97503 z M 400.8086,183.60134 C 397.86589,182.889 396.82573,182.15947 398.75913,182.16394 C 400.72464,182.16847 404.18803,183.23069 404.18803,183.82897 C 404.18803,184.42584 404.22485,184.42832 400.8086,183.60134 z M 659.84796,183.88754 C 659.84796,183.25027 663.21742,182.16876 665.21792,182.16394 C 667.18498,182.15918 666.14064,183.07256 663.74011,183.45642 C 662.55536,183.64587 661.19496,183.95093 660.71699,184.13435 C 660.23902,184.31776 659.84796,184.2067 659.84796,183.88754 z M 404.18803,170.02471 C 402.18161,169.45828 401.05409,168.68879 401.53129,168.21158 C 401.86639,167.87649 406.97342,169.50911 407.71909,170.18971 C 408.39387,170.80559 406.66845,170.72497 404.18803,170.02471 z M 656.28952,170.25611 C 656.72784,169.82289 661.70901,167.92714 662.40901,167.92714 C 662.50592,167.92714 662.58522,168.17959 662.58522,168.48814 C 662.58522,169.15697 660.7549,169.90475 657.85346,170.4213 C 656.46082,170.66924 655.92843,170.613 656.28952,170.25611 z M 409.49419,157.01178 C 407.20296,155.9427 405.77624,154.7883 406.74621,154.7883 C 407.66087,154.7883 412.31576,156.94667 412.68317,157.54114 C 413.17084,158.33022 411.84987,158.11094 409.49419,157.01178 z M 651.35282,157.54114 C 651.70313,156.97433 656.35638,154.7883 657.2126,154.7883 C 658.30979,154.7883 656.94379,155.9058 654.5549,156.96252 C 651.79596,158.18292 650.8506,158.35376 651.35282,157.54114 z M 418.01119,145.71552 C 411.82755,142.18779 409.63629,140.55455 411.08689,140.55455 C 411.64256,140.55455 425.52085,148.8421 425.8459,149.36802 C 426.48301,150.3989 425.04718,149.72951 418.01119,145.71552 z M 638.19009,149.36802 C 638.51513,148.8421 652.39343,140.55455 652.9491,140.55455 C 654.40842,140.55455 652.19971,142.19678 645.99871,145.72233 C 638.90467,149.7556 637.56359,150.38172 638.19009,149.36802 z M 423.4857,132.83582 C 421.4977,131.42776 420.51462,130.15297 421.41675,130.15297 C 421.96911,130.15297 426.63355,133.67361 426.63355,134.09052 C 426.63355,134.83961 425.90449,134.54901 423.4857,132.83582 z M 637.40244,134.09052 C 637.40244,133.67361 642.06687,130.15297 642.61924,130.15297 C 643.54743,130.15297 642.51482,131.44443 640.45165,132.86393 C 637.90724,134.61453 637.40244,134.81759 637.40244,134.09052 z M 431.87998,121.64467 C 430.70068,120.60335 429.87894,119.60823 430.05387,119.43329 C 430.52818,118.95899 432.17802,119.99051 433.98971,121.89408 C 436.21789,124.23528 434.59681,124.04363 431.87998,121.64467 z M 630.04628,121.89408 C 631.85797,119.99051 633.50781,118.95899 633.98212,119.43329 C 634.41969,119.87087 630.19951,123.53254 629.2251,123.56076 C 628.7288,123.57514 629.03194,122.95987 630.04628,121.89408 z M 442.30394,112.15672 C 441.14417,110.96901 440.28784,109.71954 440.40097,109.38013 C 440.51411,109.04072 441.55558,109.73478 442.71535,110.92249 C 443.87512,112.11021 444.73146,113.35968 444.61832,113.69909 C 444.50518,114.0385 443.46371,113.34444 442.30394,112.15672 z M 619.33653,113.6779 C 619.33653,113.22625 620.32195,111.89449 621.52634,110.71843 C 622.88745,109.38934 623.71615,108.8909 623.71615,109.40132 C 623.71615,109.85297 622.73073,111.18473 621.52634,112.36079 C 620.16523,113.68988 619.33653,114.18832 619.33653,113.6779 z M 453.00403,103.10147 C 451.19837,100.58714 450.96836,100.04313 451.71094,100.04313 C 452.12785,100.04313 455.64849,104.70756 455.64849,105.25992 C 455.64849,106.12469 454.50469,105.1911 453.00403,103.10147 z M 608.3875,105.25992 C 608.3875,104.70756 611.90814,100.04313 612.32505,100.04313 C 613.06763,100.04313 612.83761,100.58714 611.03196,103.10147 C 609.5313,105.1911 608.3875,106.12469 608.3875,105.25992 z M 466.61192,98.811358 C 464.69038,95.424001 462.77908,92.121044 462.36459,91.471454 C 461.89106,90.729349 461.81277,90.165658 462.15394,89.954803 C 462.60814,89.67409 470.97713,103.59322 470.97713,104.62935 C 470.97713,105.93069 469.63807,104.14598 466.61192,98.811358 z M 593.05885,104.62935 C 593.05885,103.59322 601.42785,89.67409 601.88205,89.954803 C 602.22322,90.165658 602.14493,90.729349 601.6714,91.471454 C 601.2569,92.121044 599.3456,95.424001 597.42407,98.811358 C 594.39792,104.14598 593.05885,105.93069 593.05885,104.62935 z M 477.21034,89.233517 C 476.64251,87.804709 476.09581,86.449766 475.99544,86.222533 C 475.89507,85.995299 476.03075,85.809381 476.29694,85.809381 C 476.7962,85.809381 479.18891,90.35091 479.18891,91.298543 C 479.18891,92.670631 478.1421,91.578087 477.21034,89.233517 z M 584.84708,91.298543 C 584.84708,90.35091 587.23979,85.809381 587.73905,85.809381 C 588.00524,85.809381 588.14092,85.995299 588.04055,86.222533 C 587.94018,86.449766 587.39347,87.804709 586.82565,89.233517 C 585.89388,91.578087 584.84708,92.670631 584.84708,91.298543 z M 531.76104,79.787412 C 531.76104,73.755917 531.93737,71.027319 532.29172,71.575637 C 532.5836,72.027285 532.8224,75.722584 532.8224,79.787412 C 532.8224,83.852241 532.5836,87.54754 532.29172,87.999188 C 531.93737,88.547505 531.76104,85.818908 531.76104,79.787412 z M 490.7026,85.535655 C 489.91777,83.584904 489.32159,80.334864 489.74859,80.334864 C 489.91434,80.334864 490.45944,81.567729 490.95993,83.074563 C 491.96544,86.101868 491.75193,88.14384 490.7026,85.535655 z M 572.25569,86.212938 C 572.25569,85.797158 572.66781,84.247486 573.1715,82.769223 C 574.27216,79.538947 574.84912,80.496394 573.88244,83.949023 C 573.20902,86.354246 572.25569,87.680977 572.25569,86.212938 z M 504.19039,82.841863 C 503.58943,81.275772 503.11481,76.216138 503.61284,76.684817 C 504.35148,77.379938 505.44439,82.737569 504.95122,83.245783 C 504.71244,83.491847 504.37006,83.310082 504.19039,82.841863 z M 558.96771,83.273702 C 558.58843,82.660026 559.77321,77.296457 560.42315,76.684817 C 560.70317,76.42129 560.74677,77.48704 560.52648,79.21097 C 560.1229,82.369243 559.46633,84.080494 558.96771,83.273702 z M 517.94611,80.882316 C 517.75403,80.430668 517.48409,78.887068 517.34625,77.452093 C 517.08185,74.699776 517.79737,73.357667 518.35167,75.566184 C 518.77038,77.234439 518.40905,81.970817 517.94611,80.882316 z M 545.43056,78.846774 C 545.43056,75.824687 545.84691,74.167252 546.50404,74.573381 C 547.04081,74.905122 546.54123,80.453397 545.9138,81.128669 C 545.62965,81.434481 545.43056,80.494364 545.43056,78.846774 z"
+         id="path3991" />
+      <path
+         style="fill:#191f1f"
+         d="M 524.07994,367.75466 C 522.12281,367.51974 518.55068,367.30043 516.1419,367.26732 C 513.73311,367.23421 509.5451,366.73237 506.83522,366.1521 C 504.12533,365.57183 499.81415,364.69293 497.25481,364.19899 C 489.85737,362.77131 470.65448,356.09762 463.15843,352.34928 C 454.19258,347.86597 440.43236,339.1439 433.28252,333.4121 C 425.72093,327.35021 414.30977,316.09348 410.0949,310.5383 C 408.2673,308.12951 405.97434,305.17327 404.99944,303.96888 C 395.73525,292.52384 384.54471,270.02119 380.63333,254.97196 C 379.96814,252.41262 378.99072,248.8405 378.46129,247.03391 C 377.54859,243.91954 376.68923,239.23068 375.10001,228.69427 C 374.16751,222.51183 374.16751,198.74491 375.10001,192.56246 C 376.68923,182.02605 377.54859,177.3372 378.46129,174.22283 C 378.99072,172.41624 379.96814,168.84412 380.63333,166.28478 C 384.54471,151.23555 395.73525,128.7329 404.99944,117.28786 C 405.97434,116.08346 408.2673,113.12722 410.0949,110.71843 C 414.30977,105.16325 425.72093,93.90652 433.28252,87.844635 C 440.43236,82.112833 454.19258,73.390767 463.15843,68.907458 C 470.65448,65.159117 489.85737,58.48542 497.25481,57.05774 C 499.81415,56.563798 504.12533,55.705684 506.83522,55.150821 C 518.51198,52.759943 545.524,52.759943 557.20077,55.150821 C 559.91066,55.705684 564.22184,56.563798 566.78117,57.05774 C 574.17861,58.48542 593.38151,65.159117 600.87755,68.907458 C 609.8434,73.390767 623.60362,82.112833 630.75347,87.844635 C 638.31506,93.90652 649.72622,105.16325 653.94108,110.71843 C 655.76869,113.12722 658.06165,116.08346 659.03655,117.28786 C 668.30074,128.7329 679.49128,151.23555 683.40266,166.28478 C 684.06784,168.84412 685.04526,172.41624 685.5747,174.22283 C 686.48739,177.3372 687.34676,182.02605 688.93597,192.56246 C 689.36111,195.38108 689.63784,202.50412 689.63784,210.62837 C 689.63784,218.75262 689.36111,225.87566 688.93597,228.69427 C 687.34676,239.23068 686.48739,243.91954 685.5747,247.03391 C 685.04526,248.8405 684.06784,252.41262 683.40266,254.97196 C 679.49128,270.02119 668.30074,292.52384 659.03655,303.96888 C 658.06165,305.17327 655.76869,308.12951 653.94108,310.5383 C 649.72622,316.09348 638.31506,327.35021 630.75347,333.4121 C 623.60362,339.1439 609.8434,347.86597 600.87755,352.34928 C 593.38151,356.09762 574.17861,362.77131 566.78117,364.19899 C 564.22184,364.69293 559.91066,365.55098 557.20077,366.10575 C 550.41347,367.49527 530.27256,368.49797 524.07994,367.75466 z M 553.59519,364.958 C 564.03286,363.63993 575.68544,360.77975 585.64328,357.09167 C 607.87769,348.8567 629.76443,334.27759 646.20609,316.7498 C 663.9537,297.8298 675.98989,276.19465 683.0112,250.59234 C 686.95743,236.20288 687.98698,227.93389 687.98698,210.62837 C 687.98698,198.28735 687.80042,194.89461 686.73771,187.90912 C 683.66429,167.70675 675.70798,146.09665 664.96665,128.77682 C 647.10119,99.96972 617.73723,76.051714 585.64328,64.16507 C 568.51484,57.821209 552.63415,55.152087 532.01799,55.152087 C 511.40183,55.152087 495.52114,57.821209 478.39271,64.16507 C 456.1583,72.400035 434.27156,86.979144 417.8299,104.50694 C 400.08229,123.42694 388.0461,145.06209 381.02479,170.6644 C 377.07855,185.05386 376.049,193.32285 376.049,210.62837 C 376.049,227.93389 377.07855,236.20288 381.02479,250.59234 C 383.85614,260.91649 389.90933,276.54058 393.74121,283.41512 C 407.83185,308.69428 426.03502,328.03142 449.5553,342.7062 C 469.10102,354.90116 487.64249,361.80018 508.7513,364.7322 C 521.45188,366.49631 540.64815,366.59297 553.59519,364.958 z M 516.6638,308.8762 C 494.14953,305.58821 469.81372,291.71156 455.18707,273.82123 C 449.66786,267.0705 447.73776,264.23158 443.97466,257.32922 C 432.8532,236.92997 429.56808,210.85634 435.14989,187.28779 C 440.97321,162.69949 455.79378,141.88316 477.58547,127.68463 C 489.8698,119.68069 503.93338,114.22935 517.14295,112.35133 C 524.31993,111.33097 539.71606,111.33097 546.89304,112.35133 C 569.80557,115.60883 594.0552,129.34084 608.84892,147.43551 C 614.36813,154.18624 616.29823,157.02516 620.06133,163.92752 C 627.53216,177.63069 631.52999,193.90999 631.52999,210.62837 C 631.52999,244.82608 615.22708,274.82253 586.45052,293.57211 C 574.16619,301.57605 560.1026,307.02738 546.89304,308.90541 C 539.98842,309.88704 523.47624,309.87109 516.6638,308.8762 z M 544.93293,306.9247 C 551.95382,306.00565 564.68926,302.31826 571.70824,299.17223 C 584.28263,293.53617 598.92524,282.45781 607.2204,272.30429 C 610.6997,268.04553 617.20027,258.10037 619.57904,253.39694 C 621.5367,249.52616 624.61346,241.42728 625.94793,236.63232 C 632.14719,214.3574 629.69313,187.85794 619.57904,167.8598 C 617.20027,163.15636 610.6997,153.2112 607.2204,148.95245 C 598.92524,138.79893 584.28263,127.72057 571.70824,122.08451 C 564.68926,118.93848 551.95382,115.25108 544.93293,114.33203 C 539.01284,113.55708 525.02314,113.55708 519.10306,114.33203 C 512.08216,115.25108 499.34672,118.93848 492.32775,122.08451 C 479.75336,127.72057 465.11075,138.79893 456.81559,148.95245 C 453.33629,153.2112 446.83571,163.15636 444.45695,167.8598 C 434.34286,187.85794 431.88879,214.3574 438.08806,236.63232 C 439.42252,241.42728 442.49929,249.52616 444.45695,253.39694 C 446.83571,258.10037 453.33629,268.04553 456.81559,272.30429 C 465.10737,282.45367 479.74616,293.53026 492.32775,299.17492 C 499.25611,302.2833 510.29235,305.57664 517.51052,306.68976 C 523.34444,307.58941 538.84079,307.72218 544.93293,306.9247 z"
+         id="path3989" />
+    </g>
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3904"
+       sodipodi:cx="176.06958"
+       sodipodi:cy="116.38926"
+       sodipodi:rx="19.091883"
+       sodipodi:ry="19.445436"
+       d="M 195.16146,116.38926 A 19.091883,19.445436 0 1 1 156.9777,116.38926 A 19.091883,19.445436 0 1 1 195.16146,116.38926 z" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3899"
+       sodipodi:cx="209.65715"
+       sodipodi:cy="209.02025"
+       sodipodi:rx="19.445436"
+       sodipodi:ry="18.738329"
+       d="M 229.10259,209.02025 A 19.445436,18.738329 0 1 1 190.21171,209.02025 A 19.445436,18.738329 0 1 1 229.10259,209.02025 z"
+       transform="translate(-0.7071068,-0.7071068)" />
+    <g
+       id="g2477"
+       transform="matrix(0.7800864,0,0,0.7800864,25.182028,-182.99659)">
+      <g
+         id="g3474"
+         transform="translate(527.55697,229.25933)">
+        <path
+           style="fill:#f2d3b0"
+           d="M -421.57354,441.79688 C -425.7559,441.09099 -431.10732,439.52909 -433.46557,438.326 C -439.79953,435.09466 -447.08923,427.80019 -450.06713,421.71358 C -455.90139,409.78878 -450.93598,392.52662 -438.30885,380.83612 C -434.92345,377.70184 -431.08881,374.65229 -429.78743,374.05934 C -428.48605,373.46639 -427.13589,371.8209 -426.78708,370.40269 C -426.43826,368.98448 -425.51136,366.8331 -424.72731,365.62185 C -423.21113,363.27957 -414.18445,358.32413 -411.43401,358.32413 C -410.5306,358.32413 -404.88146,352.38269 -398.88035,345.12094 C -383.92249,327.02091 -380.47437,322.30416 -380.43814,319.89352 C -380.42103,318.75536 -376.93353,313.91362 -372.68814,309.1341 C -364.48085,299.89424 -360.63119,294.32413 -362.45254,294.32413 C -364.61355,294.32413 -372.08762,298.68902 -378.69983,303.81262 C -382.40166,306.68105 -393.09724,316.16194 -402.46778,324.88127 C -427.37327,348.05593 -440.87542,357.45444 -455.40074,361.72662 C -465.63205,364.73585 -477.59298,362.69847 -480.39126,357.46983 C -481.97995,354.50134 -480.45208,354.20008 -475.42498,356.4906 C -469.26241,359.29848 -460.629,359.23123 -453.02839,356.31614 C -439.52487,351.13708 -430.43367,344.21775 -403.86031,318.89421 C -384.77643,300.70791 -377.35958,294.66608 -366.85094,288.74604 L -360.73264,285.2993 L -359.64164,276.84765 C -359.04159,272.19924 -357.63233,266.4953 -356.50994,264.17223 C -355.38756,261.84916 -354.46924,259.33565 -354.46924,258.58664 C -354.46924,256.06071 -357.57774,251.18873 -362.84495,245.45933 C -365.72572,242.32576 -370.05246,237.07593 -372.45992,233.79303 C -380.29313,223.11139 -388.43574,214.62908 -394.37625,210.96239 C -402.9387,205.67734 -411.96221,195.52138 -416.58034,185.97167 C -418.71923,181.54871 -420.46924,177.34362 -420.46924,176.62703 C -420.46924,174.64825 -421.22238,175.0106 -425.036,178.82422 C -426.96105,180.74927 -430.88355,183.55961 -433.75266,185.06942 C -438.37911,187.50398 -440.04393,187.81459 -448.46924,187.81513 C -456.93401,187.81568 -458.61759,187.49833 -463.91894,184.90284 C -471.54048,181.17143 -477.81027,174.71315 -480.28469,168.04511 C -483.12053,160.4031 -483.9659,145.36433 -481.97938,137.89745 C -477.9087,122.59672 -463.01283,112.28424 -446.85571,113.58118 C -443.41383,113.85746 -438.63826,115.03207 -436.24334,116.19144 C -430.97828,118.74021 -424.16591,125.29404 -420.77354,131.07413 C -419.40165,133.41163 -417.97429,135.32413 -417.60162,135.32413 C -417.22896,135.32413 -416.03422,133.64097 -414.94664,131.58378 C -413.85907,129.52659 -409.68388,124.39016 -405.66845,120.16949 L -398.36765,112.49555 L -404.48938,109.23271 C -418.50501,101.76246 -425.00491,86.785003 -421.0097,71.165607 C -416.99605,55.474106 -406.3164,48.276589 -387.17045,48.359749 C -371.2558,48.428873 -360.97071,53.091612 -354.67736,63.090471 C -350.38607,69.908458 -349.20553,74.499665 -349.64608,82.657558 C -350.00037,89.218029 -350.69942,91.47413 -355.54946,101.71006 C -355.78034,102.19732 -353.49424,103.21444 -350.46924,103.97033 C -329.24491,109.27385 -310.94566,127.54166 -307.28483,147.08054 C -305.60317,156.05602 -305.50028,156.19822 -303.49164,152.32308 C -301.12401,147.75538 -298.52355,145.47653 -294.90362,144.79719 C -291.11462,144.08613 -286.1466,147.11503 -283.86061,151.52991 C -281.65993,155.78004 -281.72231,164.65488 -283.98939,169.85048 C -285.13874,172.4845 -285.76474,176.68973 -285.84626,182.32413 C -285.95442,189.7996 -286.32241,191.42503 -288.89933,195.8095 C -290.51088,198.55146 -293.85021,202.95526 -296.32006,205.59574 C -300.23709,209.78335 -300.86703,211.07578 -301.25164,215.7137 C -302.02022,224.98179 -299.52642,228.8204 -287.33152,237.14041 C -266.65771,251.24519 -259.56415,262.17024 -259.49369,280.01453 C -259.46935,286.17747 -262.9917,298.328 -266.09806,302.79664 C -267.03863,304.14969 -267.46924,307.9367 -267.46924,314.85551 C -267.46924,321.6257 -267.90273,325.53471 -268.78774,326.74503 C -269.51292,327.73677 -272.99694,329.77523 -276.53001,331.27495 L -282.95377,334.00171 L -287.64571,343.41292 C -290.22627,348.58909 -292.36725,353.54189 -292.40344,354.41914 C -292.43963,355.2964 -291.56796,356.8298 -290.46641,357.8267 C -288.52929,359.57976 -288.12733,359.56161 -278.21641,357.27342 C -258.7562,352.78054 -245.09864,354.42644 -238.38429,362.07367 C -233.28374,367.88287 -231.516,372.84282 -231.4912,381.41441 C -231.47236,387.92684 -231.90933,389.88538 -234.56839,395.20664 C -240.3451,406.76685 -251.73074,415.2557 -268.46924,420.48227 C -274.93702,422.50182 -278.03368,422.82356 -290.96924,422.82001 C -303.4263,422.8166 -307.37231,422.43284 -314.24553,420.55633 C -331.14558,415.94233 -344.25673,407.34937 -346.45123,399.44892 C -348.94444,390.47309 -346.56482,381.7803 -339.49524,374.03863 C -336.87626,371.17065 -334.41592,367.37379 -334.02782,365.60116 C -333.22079,361.91498 -328.82619,357.83471 -322.95035,355.31603 C -319.38724,353.7887 -318.33596,352.46648 -313.94284,343.98695 L -308.96924,334.387 L -311.33024,332.72112 C -313.43714,331.23451 -313.62283,330.5396 -313.05564,326.2639 C -312.70606,323.62867 -312.80686,321.2335 -313.27964,320.94131 C -315.4005,319.63054 -321.77579,322.84948 -323.98263,326.34533 C -325.2376,328.33334 -327.45662,330.74107 -328.91378,331.69584 C -332.39127,333.97437 -347.48402,337.27509 -354.55059,337.30249 L -360.13193,337.32413 L -366.62884,344.57413 C -370.20214,348.56163 -374.56571,353.47297 -376.32566,355.48822 L -379.52557,359.15231 L -376.90195,362.98822 C -374.71614,366.18403 -374.36614,367.58551 -374.80449,371.38683 L -375.33064,375.94953 L -368.37253,380.24319 C -354.62519,388.7263 -349.46924,396.38549 -349.46924,408.32413 C -349.46924,420.7557 -356.32859,430.53425 -369.64887,437.0918 C -381.44245,442.89776 -403.31043,444.8793 -421.57354,441.79688 z M -301.86894,279.55882 C -298.54156,277.33706 -297.1059,267.03505 -299.31459,261.22931 C -300.53118,258.03139 -303.14455,255.32413 -305.01499,255.32413 C -308.20475,255.32413 -310.99395,265.34475 -309.54438,271.5967 C -307.96687,278.40047 -304.89952,281.58239 -301.86894,279.55882 z M -272.95585,275.28196 C -271.57791,270.94042 -275.44712,257.32413 -278.05877,257.32413 C -281.16661,257.32413 -280.48526,267.5249 -276.91644,274.42623 C -275.1543,277.83385 -273.8549,278.1146 -272.95585,275.28196 z M -294.99492,163.37379 C -292.45372,158.45965 -293.22746,153.04866 -296.12723,155.45525 C -297.3579,156.47662 -298.14405,166.32413 -296.99492,166.32413 C -296.73404,166.32413 -295.83404,164.99648 -294.99492,163.37379 z M -333.68598,150.53903 C -334.57907,138.0569 -339.78899,132.05847 -343.02027,139.79201 C -343.8172,141.69934 -344.46924,145.57313 -344.46924,148.40042 C -344.46924,153.35041 -344.37881,153.51825 -342.02955,152.92862 C -340.2683,152.48658 -338.80837,153.00381 -336.77955,154.78861 C -335.23388,156.14839 -333.79627,157.27515 -333.58487,157.29253 C -333.37347,157.30991 -333.41897,154.27084 -333.68598,150.53903 z M -315.46924,151.29201 C -315.46924,148.01749 -318.30673,142.10566 -319.51884,142.85478 C -320.52021,143.47366 -319.99324,150.54833 -318.79487,152.57413 C -317.86115,154.15255 -315.46924,153.2304 -315.46924,151.29201 z"
+           id="path3488" />
+        <path
+           style="fill:#a39f9c"
+           d="M -420.74766,441.74164 C -430.16669,439.86703 -435.56052,437.25428 -441.52066,431.67926 C -450.93687,422.8715 -453.91716,414.61887 -451.45508,404.17012 C -448.91528,393.39148 -441.33833,382.66341 -431.40228,375.77772 C -429.03602,374.1379 -426.68143,371.33158 -425.577,368.83485 C -423.54958,364.25152 -419.54445,361.27755 -412.66252,359.24533 C -410.19816,358.51761 -407.56959,356.87214 -406.51792,355.39885 C -405.50709,353.98275 -399.45254,346.52413 -393.06337,338.82413 C -386.32607,330.70457 -380.97499,323.28264 -380.32367,321.15418 C -379.70014,319.11658 -375.94387,313.77913 -371.87857,309.15418 C -367.85144,304.57265 -363.60808,299.13663 -362.44889,297.07413 C -360.53555,293.6698 -360.50038,293.32413 -362.0674,293.32413 C -366.8435,293.32413 -380.06555,303.2361 -399.46924,321.36258 C -425.91059,346.06349 -436.3468,353.80225 -450.76069,359.3967 C -460.3424,363.11565 -469.84706,363.73147 -475.17111,360.9783 C -481.57258,357.66797 -480.78988,355.45694 -474.02911,357.75228 C -465.52377,360.63992 -456.14411,359.28021 -444.86086,353.52392 C -437.12599,349.57788 -424.8151,339.49282 -407.46924,322.89277 C -386.82519,303.13633 -378.72637,296.42373 -367.81898,290.02917 L -359.75627,285.30233 L -359.19413,277.86961 C -358.82239,272.95437 -357.72985,268.42664 -355.96845,264.50173 L -353.30491,258.56656 L -355.34002,254.57742 C -356.45933,252.38339 -359.56712,248.16634 -362.24623,245.2062 C -364.92533,242.24606 -369.06888,237.12413 -371.45411,233.82413 C -379.68362,222.4385 -386.48572,215.49758 -394.9023,209.89738 C -406.54589,202.15001 -415.29271,190.79238 -419.41027,178.07413 C -420.07801,176.01163 -420.92695,174.32414 -421.29679,174.32416 C -421.66664,174.32418 -423.20128,175.86829 -424.70711,177.75552 C -426.23232,179.66705 -430.37155,182.62761 -434.05244,184.4397 C -439.80497,187.27167 -441.67428,187.69255 -448.49955,187.69255 C -455.52647,187.69255 -457.11651,187.30838 -463.83723,183.98682 C -472.01322,179.94603 -476.05702,175.77092 -479.64006,167.67087 C -481.43284,163.61798 -481.78457,160.80446 -481.869,149.84137 C -481.96355,137.56323 -481.81751,136.53663 -479.29692,131.76067 C -476.24515,125.97822 -470.51313,120.42171 -464.2643,117.18832 C -457.8355,113.86181 -444.45656,113.35145 -438.04382,116.18811 C -431.02704,119.29197 -425.94918,123.74511 -421.84551,130.39358 C -419.83221,133.65538 -417.91143,136.3152 -417.5771,136.30428 C -417.24278,136.29337 -415.61924,133.96886 -413.96924,131.1387 C -412.31924,128.30855 -407.88648,122.88773 -404.11867,119.09245 C -400.35085,115.29717 -397.42585,112.10918 -397.61867,112.00804 C -397.81148,111.90689 -400.57166,110.52365 -403.7524,108.93417 C -416.10958,102.75906 -422.30702,91.277322 -421.25083,76.515613 C -420.36268,64.102597 -411.96272,53.063042 -400.97548,49.868965 C -394.45188,47.972503 -381.93016,47.926749 -374.21225,49.771174 C -363.30877,52.376882 -354.236,61.438885 -350.84206,73.113624 C -348.72668,80.390252 -349.60654,87.994901 -353.48385,95.946842 C -355.12581,99.314335 -356.46924,102.30695 -356.46924,102.5971 C -356.46924,102.88725 -354.10674,103.66869 -351.21924,104.33363 C -336.05793,107.825 -320.08198,119.92052 -313.11157,133.18523 C -309.12903,140.76401 -306.46924,149.73687 -306.46924,155.59325 C -306.46924,160.0363 -305.01974,159.82662 -304.10465,155.25119 C -303.2234,150.84495 -297.43925,145.32413 -293.7041,145.32413 C -284.91534,145.32413 -279.78709,157.96874 -284.17323,168.82413 C -285.09042,171.0941 -285.88585,176.28938 -286.01235,180.83614 C -286.29128,190.8619 -288.55998,196.01567 -296.59957,204.88704 C -302.19845,211.06519 -302.46823,211.60527 -302.44728,216.59406 C -302.40831,225.8731 -300.06416,229.20933 -287.80344,237.43534 C -269.43341,249.76022 -262.79688,258.65368 -260.41968,274.13165 C -259.09347,282.76663 -260.09306,288.31428 -264.77873,298.32413 C -267.39531,303.91386 -267.90178,306.36458 -268.39533,315.82413 L -268.96924,326.82413 L -274.02425,329.32413 C -276.80451,330.69913 -280.1443,332.27413 -281.44601,332.82413 C -283.1297,333.53552 -285.24768,336.92457 -288.78462,344.56687 L -293.75648,355.30961 L -291.13183,357.93426 L -288.50718,360.55891 L -279.73821,358.27861 C -268.77238,355.42704 -255.12416,354.60086 -248.69929,356.39971 C -245.44577,357.31064 -242.51516,359.18297 -239.28151,362.41662 C -227.8489,373.84923 -229.42997,392.5871 -242.94416,405.82413 C -249.2715,412.0217 -257.33786,416.38846 -268.99613,419.92749 C -276.85041,422.31176 -279.59017,422.64498 -290.96924,422.59994 C -301.52251,422.55816 -305.77038,422.07628 -313.53907,420.03961 C -325.18894,416.98543 -336.19792,411.59545 -341.38908,406.40429 C -349.82911,397.96426 -348.63316,384.56861 -338.48036,373.82413 C -336.4015,371.62413 -334.16853,368.15136 -333.51818,366.10686 C -332.17559,361.88611 -328.7691,358.66279 -322.815,355.97915 C -319.28826,354.38958 -318.01197,352.83814 -313.59542,344.77194 C -310.77602,339.62271 -308.46924,335.14387 -308.46924,334.81895 C -308.46924,334.49404 -309.70063,333.169 -311.20566,331.87443 C -313.82958,329.61742 -313.88711,329.36864 -312.60501,325.82305 C -311.69107,323.29561 -311.59262,321.80075 -312.29389,321.09948 C -313.7627,319.63067 -320.27967,321.07606 -322.12502,323.27991 C -330.42445,333.19169 -334.51293,335.033 -350.46921,336.04518 C -361.19614,336.72564 -358.71334,335.08969 -373.14639,350.98742 L -380.67974,359.28525 L -378.00858,362.45975 C -375.75185,365.14172 -375.38261,366.42471 -375.62866,370.72918 L -375.9199,375.82413 L -369.52626,380.04202 C -358.48789,387.32405 -355.36203,390.31878 -352.64096,396.21902 C -347.2218,407.96963 -350.04314,421.44484 -359.67926,429.83521 C -365.77113,435.13954 -377.15371,440.32066 -386.22992,441.92055 C -395.82469,443.61184 -411.76591,443.52922 -420.74766,441.74164 z M -300.52064,279.14893 C -294.72515,272.9282 -297.63929,256.37027 -304.67905,255.52113 C -311.15981,254.73942 -312.72501,272.96408 -306.74465,279.5723 C -304.64254,281.8951 -302.97331,281.78156 -300.52064,279.14893 z M -272.34009,275.94001 C -270.26532,271.3864 -275.06234,255.91214 -278.35552,256.53537 C -281.57823,257.14526 -280.58064,270.36438 -276.88102,276.07413 C -275.01072,278.96062 -273.69871,278.92187 -272.34009,275.94001 z M -350.61471,220.9125 C -344.45482,217.17056 -342.47565,214.60048 -346.71924,215.85397 C -347.95674,216.21951 -350.72579,217.65192 -352.87269,219.0371 C -358.51635,222.67839 -363.17287,223.03692 -367.41517,220.1568 C -373.94382,215.72447 -374.90272,212.73013 -375.52766,194.82413 C -376.1654,176.5515 -376.99088,173.77846 -381.52268,174.68482 C -383.18289,175.01686 -384.68595,174.78251 -385.09009,174.12859 C -386.10489,172.48661 -379.89403,167.32413 -376.9038,167.32413 C -371.44611,167.32413 -364.1777,173.50755 -367.93885,174.95084 C -368.79457,175.27921 -370.16398,174.99244 -370.98197,174.31356 C -373.3128,172.37915 -372.89778,176.30739 -370.11225,182.54562 C -362.36427,199.8973 -344.23823,213.32413 -328.56165,213.32413 C -311.95909,213.32413 -294.65816,200.81671 -291.39178,186.45279 C -290.38444,182.02303 -291.14235,180.32413 -294.12589,180.32413 C -296.7518,180.32413 -302.46604,177.73976 -302.47421,176.54845 C -302.47694,176.15007 -303.48944,174.57055 -304.72421,173.0384 C -306.96378,170.25946 -306.98092,170.25621 -311.7697,171.70572 C -314.40995,172.50489 -318.95151,174.99597 -321.86207,177.24145 C -330.31056,183.75941 -331.89385,182.57109 -325.51427,174.50031 C -321.90594,169.93544 -321.643,169.20506 -322.51427,166.16712 C -323.0395,164.33574 -323.46924,157.60196 -323.46924,151.20318 C -323.46924,138.76542 -322.64475,136.52196 -318.47457,137.61248 C -315.97535,138.26604 -315.97593,137.85838 -318.48003,133.80668 C -320.86751,129.94365 -325.1127,128.62541 -326.01459,131.46701 C -326.98282,134.51764 -328.80005,133.56952 -331.85684,128.41888 C -335.20763,122.77288 -340.8703,116.32413 -342.47727,116.32413 C -343.08777,116.32413 -343.30916,116.77413 -342.96924,117.32413 C -342.62614,117.87928 -343.37837,118.33094 -344.66022,118.33944 C -347.82005,118.3604 -349.5688,119.63128 -351.05108,122.98392 C -352.10013,125.35667 -352.33912,125.49496 -352.50318,123.82413 C -353.04141,118.34236 -351.04344,114.73 -347.11481,114.08191 C -345.33135,113.7877 -345.62273,113.44074 -348.84136,112.02605 C -356.37838,108.71329 -361.42429,110.79998 -365.05531,118.73116 C -369.8635,129.23362 -368.91942,143.35411 -362.49053,157.09234 C -357.37136,168.03173 -358.63486,169.30867 -367.67378,162.33072 C -371.21353,159.59807 -376.10309,156.63963 -378.53946,155.7564 C -384.39742,153.63279 -393.88773,153.66752 -399.24208,155.83216 C -406.94075,158.94455 -412.46924,167.68878 -412.46924,176.7531 C -412.46924,185.06258 -402.26247,199.06004 -390.99093,206.20824 C -385.04188,209.98101 -383.46924,210.10979 -383.46924,206.82413 C -383.46924,202.11243 -380.95551,204.32839 -376.96341,212.55929 C -370.21687,226.46928 -363.34727,228.64712 -350.61471,220.9125 z M -343.85569,170.27671 C -351.42593,161.27999 -351.1299,140.4236 -343.33892,133.86793 C -339.70663,130.81156 -337.10352,131.16084 -333.70705,135.16031 C -330.53437,138.89625 -329.16133,144.52266 -329.15243,153.82413 C -329.13705,169.89034 -336.88535,178.56049 -343.85569,170.27671 z M -333.30962,148.03412 C -334.37361,140.86544 -336.83701,136.08868 -339.76738,135.51194 C -342.22387,135.02847 -344.61757,140.8011 -344.80358,147.65716 L -344.96924,153.76332 L -341.23881,153.79373 C -338.46826,153.81631 -337.08082,154.43443 -335.84675,156.19598 C -333.11875,160.09003 -332.03684,156.60958 -333.30962,148.03412 z M -293.61718,160.99953 C -293.05183,158.89601 -292.8354,156.53351 -293.13624,155.74953 C -293.91662,153.7159 -296.21926,153.98853 -297.43406,156.25839 C -298.59895,158.43501 -298.83668,165.62335 -297.77876,166.68127 C -296.67197,167.78807 -294.72861,165.13484 -293.61718,160.99953 z M -314.93784,150.57413 C -316.45009,142.36945 -319.70958,139.10597 -320.29292,145.2125 C -320.89202,151.48408 -319.67657,153.59281 -315.10795,154.20813 C -314.63424,154.27193 -314.55769,152.63663 -314.93784,150.57413 z"
+           id="path3486" />
+        <path
+           style="fill:#edb814"
+           d="M -418.96924,441.67998 C -432.52676,438.8114 -442.48363,432.25796 -448.28989,422.38165 C -450.56434,418.51285 -450.96454,416.69075 -450.93811,410.32413 C -450.91202,404.03678 -450.39705,401.73706 -447.75313,396.1008 C -444.23991,388.61137 -437.44665,380.75878 -430.89512,376.61397 C -427.79226,374.65096 -426.10831,372.66756 -424.93411,369.59297 C -423.18387,365.01004 -417.98024,361.14663 -411.83603,359.86837 C -409.35932,359.3531 -406.42591,356.45857 -397.83603,346.05392 C -382.55374,327.54295 -380.38725,324.60316 -379.37449,321.00274 C -378.88274,319.2545 -375.47164,314.44913 -371.79427,310.32413 C -365.43655,303.19249 -359.46924,294.86696 -359.46924,293.12835 C -359.46924,291.5747 -363.21948,292.34971 -367.99923,294.89113 C -375.33569,298.79197 -385.0681,306.71787 -403.10664,323.48197 C -418.40548,337.69993 -430.66438,347.81531 -435.78567,350.44691 C -438.78922,351.99029 -437.22023,350.46891 -429.46924,344.32214 C -425.89424,341.48706 -414.64424,331.20038 -404.46924,321.46285 C -384.68547,302.52967 -378.50738,297.44667 -366.55476,290.26885 L -358.96924,285.71357 L -358.26439,277.99451 C -357.81636,273.08795 -356.60227,268.14235 -354.93223,264.42101 L -352.30491,258.56656 L -354.36462,254.5292 C -355.49746,252.30865 -358.73327,247.8666 -361.55531,244.65798 C -364.37734,241.44936 -368.13606,236.57413 -369.908,233.82413 C -376.15747,224.12517 -385.41149,214.44714 -392.3216,210.38354 C -403.88965,203.58078 -414.09279,191.12048 -418.06477,178.94543 C -418.98369,176.12872 -419.95608,173.43987 -420.22563,172.97022 C -420.49518,172.50056 -422.7557,174.24521 -425.24901,176.8472 C -435.18,187.21109 -449.67039,189.84326 -462.46924,183.60823 C -469.9401,179.96877 -470.95411,179.18337 -474.75798,174.09007 C -479.59802,167.60934 -480.73432,162.99528 -480.85703,149.32413 C -480.96536,137.256 -480.86744,136.64036 -478.02284,131.50527 C -472.1026,120.81805 -462.14082,115.06097 -449.56837,115.06097 C -443.36353,115.06097 -440.98393,115.53829 -436.94565,117.59294 C -430.71031,120.76544 -425.11696,126.28616 -421.26079,133.07413 C -419.62043,135.96163 -418.11808,138.32413 -417.92223,138.32413 C -417.72638,138.32413 -415.5733,135.28663 -413.13762,131.57413 C -410.70193,127.86163 -405.95513,122.13821 -402.58917,118.85543 C -399.22321,115.57265 -396.46924,112.59692 -396.46924,112.24271 C -396.46924,111.88849 -399.37055,110.17037 -402.9166,108.42466 C -411.60287,104.14842 -416.73352,98.221606 -419.00122,89.844058 C -425.13723,67.1758 -411.06048,48.324127 -387.99784,48.324127 C -371.34204,48.324127 -358.02652,56.553183 -352.39942,70.324127 C -351.58192,72.324735 -350.98021,77.068401 -350.99485,81.397166 C -351.01676,87.877779 -351.48558,89.91501 -354.24485,95.519881 C -356.01826,99.122203 -357.46924,102.48394 -357.46924,102.99041 C -357.46924,103.49687 -354.96607,104.4363 -351.90665,105.07802 C -326.85928,110.33176 -307.46924,133.69347 -307.46924,158.61756 C -307.46924,167.12117 -305.62477,167.31535 -303.96174,158.98682 C -303.33407,155.84345 -301.90802,152.04593 -300.79274,150.54787 C -296.53704,144.8316 -289.85996,145.1367 -285.75018,151.23521 C -282.81816,155.58603 -282.67995,163.98855 -285.44038,170.06981 C -286.86046,173.19828 -287.31721,176.2244 -287.17616,181.56981 C -286.93312,190.77986 -289.52566,196.47191 -297.66095,204.58966 C -303.93812,210.8533 -305.05439,213.39146 -304.00113,219.00582 C -302.31669,227.98469 -300.78604,229.96711 -290.16435,236.92653 C -270.86366,249.57251 -263.53405,259.04687 -261.27464,274.26978 C -260.05099,282.51425 -261.2399,289.21727 -265.53779,298.30516 C -268.13286,303.79243 -268.60206,306.09571 -268.98765,315.24017 C -269.48518,327.03971 -269.50889,327.08128 -277.38256,329.96098 C -283.64609,332.2518 -284.53713,333.32045 -290.02932,345.12847 L -294.8221,355.4328 L -291.74113,358.51378 L -288.66016,361.59475 L -280.3147,359.32435 C -269.80969,356.46645 -255.24072,355.56822 -248.77114,357.37959 C -242.00462,359.2741 -236.05911,365.48724 -233.89757,372.92267 C -227.76715,394.01056 -245.20573,414.29884 -274.69197,420.38345 C -285.09631,422.53043 -291.71388,422.74921 -301.96924,421.28527 C -325.56589,417.91685 -342.51451,408.61636 -345.46907,397.4149 C -347.47427,389.81274 -344.08388,380.12317 -337.05853,373.37796 C -335.08442,371.48257 -333.46756,369.23257 -333.4655,368.37796 C -333.4571,364.88495 -329.37867,360.3072 -323.73843,357.46002 C -318.27363,354.7014 -317.63865,353.98269 -312.70459,344.97133 C -309.82515,339.71244 -307.46924,335.06986 -307.46924,334.65448 C -307.46924,334.23911 -308.70156,332.91664 -310.20773,331.71567 C -312.84287,329.61447 -312.89554,329.39193 -311.60328,325.81826 C -310.44337,322.6106 -310.46719,321.8976 -311.77807,320.58673 C -313.82446,318.54034 -320.03934,319.72271 -322.56194,322.63835 C -329.25545,330.37475 -330.40821,331.25087 -336.07141,332.90581 C -339.31521,333.85374 -346.18991,334.90572 -351.34851,335.24356 L -360.72777,335.8578 L -364.34851,339.92491 C -366.33991,342.16182 -371.07326,347.45443 -374.86705,351.68628 L -381.76487,359.38054 L -379.68367,361.60234 C -376.49816,365.00303 -375.42734,368.69123 -376.51967,372.49998 C -377.04193,374.321 -377.46924,375.89443 -377.46924,375.99649 C -377.46924,376.09855 -374.11176,378.27468 -370.00817,380.83233 C -355.29968,389.99973 -351.07224,396.12667 -351.03951,408.32413 C -351.004,421.5532 -356.39001,428.76814 -371.96924,436.36099 C -385.63414,443.02086 -403.22385,445.01148 -418.96924,441.67998 z M -299.99006,279.93586 C -297.15972,277.10552 -296.04449,272.09643 -296.70777,265.19346 C -297.35323,258.47604 -300.12471,254.82413 -304.57716,254.82413 C -307.45412,254.82413 -308.23476,255.35564 -309.71769,258.32413 C -311.68424,262.26073 -312.03113,270.71093 -310.40263,275.00903 C -309.08787,278.47906 -305.59074,282.32413 -303.74947,282.32413 C -302.99534,282.32413 -301.30361,281.24941 -299.99006,279.93586 z M -271.3333,276.57413 C -270.53921,274.56412 -270.56803,272.22067 -271.4404,267.86521 C -273.35564,258.30318 -276.98894,252.8507 -279.8585,255.23222 C -282.89327,257.75086 -282.31753,266.35733 -278.54354,274.88906 C -276.19136,280.20655 -273.05769,280.93891 -271.3333,276.57413 z M -348.48519,220.77238 C -340.51613,216.06662 -340.32809,215.87118 -342.93396,215.00256 C -345.14218,214.26648 -346.88068,214.75803 -352.52309,217.71381 C -360.49776,221.89134 -362.48249,222.09709 -367.12545,219.22759 C -372.98195,215.60807 -373.85497,212.71017 -374.47723,194.82413 C -375.11669,176.44335 -376.21988,172.63003 -380.75851,173.11198 C -384.156,173.47276 -384.24951,171.88149 -380.95756,169.72452 C -379.26338,168.61445 -377.4229,168.2834 -375.30287,168.7074 C -370.13182,169.74161 -366.98695,173.56335 -371.71924,173.06234 C -374.87882,172.72783 -374.37383,175.95728 -369.80911,185.2778 C -364.92469,195.25107 -354.54419,205.73042 -344.90952,210.41447 C -338.52134,213.5202 -337.20939,213.79002 -328.41738,213.80637 C -319.36183,213.82321 -318.47851,213.6298 -311.41738,210.08425 C -299.64371,204.17242 -292.57697,196.38325 -290.50444,187.03337 C -289.11726,180.77535 -290.24072,178.49021 -294.40415,179.10127 C -296.86509,179.46246 -298.06834,178.90135 -300.70747,176.16188 C -302.50144,174.29969 -304.43517,171.93939 -305.00464,170.91676 C -305.99124,169.14508 -306.30063,169.1332 -311.56844,170.66459 C -314.60906,171.54852 -319.02249,173.66667 -321.37606,175.37159 C -326.74096,179.2579 -327.91113,178.40699 -323.48366,173.839 C -320.26455,170.51773 -320.18001,170.23287 -321.30201,166.48796 C -321.94399,164.34523 -322.43878,159.7193 -322.40156,156.20811 C -322.34501,150.87429 -322.15538,150.19425 -321.24875,152.07413 C -320.65192,153.31163 -319.55127,154.32413 -318.80286,154.32413 C -318.05444,154.32413 -316.56867,154.8696 -315.50115,155.53628 C -312.71533,157.27605 -312.17663,156.12452 -313.49167,151.24084 C -314.1263,148.88399 -314.3868,145.66192 -314.07055,144.08068 C -313.35584,140.50713 -316.99543,132.9474 -321.2498,129.16877 C -322.89412,127.70833 -324.43023,125.94116 -324.66337,125.24172 C -325.4052,123.01625 -327.46924,125.32713 -327.46924,128.38314 C -327.46924,132.33174 -328.60658,132.08704 -330.99184,127.62525 C -335.67374,118.86739 -347.83833,109.39816 -354.46924,109.34983 C -358.81764,109.31813 -363.40025,112.97662 -365.97604,118.53621 C -371.46024,130.37328 -370.01924,143.05936 -360.80344,164.07413 C -359.81437,166.32949 -362.0206,165.39041 -367.53863,161.20729 C -375.61983,155.08109 -380.60545,153.13693 -388.33105,153.09924 C -396.08937,153.06138 -401.48337,155.01576 -406.34135,159.62481 C -413.79131,166.69302 -415.49955,176.85714 -410.81684,186.25412 C -407.23017,193.45163 -398.05982,203.02198 -390.42609,207.53431 C -383.86609,211.41193 -382.46924,211.52987 -382.46924,208.2061 C -382.46924,205.00072 -380.57165,207.03554 -377.87547,213.13208 C -375.06311,219.49133 -373.27533,221.77786 -368.96924,224.52298 C -364.1355,227.60447 -358.22133,226.52159 -348.48519,220.77238 z M -342.77611,170.53753 C -346.90321,165.97714 -349.56344,152.91486 -347.60552,146.82413 C -346.74519,144.14778 -346.63187,144.45646 -346.55519,149.68542 L -346.46924,155.54671 L -342.86886,154.87128 C -339.11244,154.16657 -335.46924,156.16001 -335.46924,158.9201 C -335.46924,159.6274 -334.96893,160.51531 -334.35744,160.89323 C -329.81318,163.70174 -330.8844,143.48144 -335.62587,136.9503 C -336.96542,135.10515 -337.2213,134.22977 -336.34073,134.50476 C -331.84686,135.90811 -328.90815,153.03993 -331.43268,163.1173 C -333.44953,171.16815 -338.94949,174.76591 -342.77611,170.53753 z M -320.66924,139.12413 C -319.73591,138.19079 -319.20257,138.19079 -318.26924,139.12413 C -317.33591,140.05746 -317.60257,140.32413 -319.46924,140.32413 C -321.33591,140.32413 -321.60257,140.05746 -320.66924,139.12413 z M -349.47838,116.83514 C -348.79871,116.01619 -347.79557,115.62244 -347.24917,115.96014 C -346.64571,116.3331 -346.78833,116.91161 -347.61248,117.43381 C -349.76951,118.80058 -350.82776,118.46104 -349.47838,116.83514 z M -292.70485,159.4244 C -292.30735,155.2875 -292.53054,154.23784 -293.92117,153.7042 C -294.89875,153.32907 -296.2777,153.70402 -297.158,154.58432 C -299.25424,156.68056 -300.10127,164.85765 -298.43069,166.87058 C -296.28905,169.4511 -293.29404,165.55623 -292.70485,159.4244 z"
+           id="path3484" />
+        <path
+           style="fill:#625e5b"
+           d="M -418.96924,441.67998 C -432.52676,438.8114 -442.48363,432.25796 -448.28989,422.38165 C -450.56434,418.51285 -450.96454,416.69075 -450.93811,410.32413 C -450.91202,404.03678 -450.39705,401.73706 -447.75313,396.1008 C -444.23991,388.61137 -437.44665,380.75878 -430.89512,376.61397 C -427.79226,374.65096 -426.10831,372.66756 -424.93411,369.59297 C -423.18387,365.01004 -417.98024,361.14663 -411.83603,359.86837 C -409.35932,359.3531 -406.42591,356.45857 -397.83603,346.05392 C -382.55374,327.54295 -380.38725,324.60316 -379.37449,321.00274 C -378.88274,319.2545 -375.47164,314.44913 -371.79427,310.32413 C -365.43655,303.19249 -359.46924,294.86696 -359.46924,293.12835 C -359.46924,291.5747 -363.21948,292.34971 -367.99923,294.89113 C -375.33569,298.79197 -385.0681,306.71787 -403.10664,323.48197 C -418.40548,337.69993 -430.66438,347.81531 -435.78567,350.44691 C -438.78922,351.99029 -437.22023,350.46891 -429.46924,344.32214 C -425.89424,341.48706 -414.64424,331.20038 -404.46924,321.46285 C -384.68547,302.52967 -378.50738,297.44667 -366.55476,290.26885 L -358.96924,285.71357 L -358.26439,277.99451 C -357.81636,273.08795 -356.60227,268.14235 -354.93223,264.42101 L -352.30491,258.56656 L -354.36462,254.5292 C -355.49746,252.30865 -358.73327,247.8666 -361.55531,244.65798 C -364.37734,241.44936 -368.13606,236.57413 -369.908,233.82413 C -376.15747,224.12517 -385.41149,214.44714 -392.3216,210.38354 C -403.88965,203.58078 -414.09279,191.12048 -418.06477,178.94543 C -418.98369,176.12872 -419.95608,173.43987 -420.22563,172.97022 C -420.49518,172.50056 -422.7557,174.24521 -425.24901,176.8472 C -435.18,187.21109 -449.67039,189.84326 -462.46924,183.60823 C -469.9401,179.96877 -470.95411,179.18337 -474.75798,174.09007 C -479.59802,167.60934 -480.73432,162.99528 -480.85703,149.32413 C -480.96536,137.256 -480.86744,136.64036 -478.02284,131.50527 C -472.1026,120.81805 -462.14082,115.06097 -449.56837,115.06097 C -443.36353,115.06097 -440.98393,115.53829 -436.94565,117.59294 C -430.71031,120.76544 -425.11696,126.28616 -421.26079,133.07413 C -419.62043,135.96163 -418.11808,138.32413 -417.92223,138.32413 C -417.72638,138.32413 -415.5733,135.28663 -413.13762,131.57413 C -410.70193,127.86163 -405.95513,122.13821 -402.58917,118.85543 C -399.22321,115.57265 -396.46924,112.59692 -396.46924,112.24271 C -396.46924,111.88849 -399.37055,110.17037 -402.9166,108.42466 C -411.60287,104.14842 -416.73352,98.221606 -419.00122,89.844058 C -425.13723,67.1758 -411.06048,48.324127 -387.99784,48.324127 C -371.34204,48.324127 -358.02652,56.553183 -352.39942,70.324127 C -351.58192,72.324735 -350.98021,77.068401 -350.99485,81.397166 C -351.01676,87.877779 -351.48558,89.91501 -354.24485,95.519881 C -356.01826,99.122203 -357.46924,102.48394 -357.46924,102.99041 C -357.46924,103.49687 -354.96607,104.4363 -351.90665,105.07802 C -326.85928,110.33176 -307.46924,133.69347 -307.46924,158.61756 C -307.46924,167.12117 -305.62477,167.31535 -303.96174,158.98682 C -303.33407,155.84345 -301.90802,152.04593 -300.79274,150.54787 C -296.53704,144.8316 -289.85996,145.1367 -285.75018,151.23521 C -282.81816,155.58603 -282.67995,163.98855 -285.44038,170.06981 C -286.86046,173.19828 -287.31721,176.2244 -287.17616,181.56981 C -286.93312,190.77986 -289.52566,196.47191 -297.66095,204.58966 C -303.93812,210.8533 -305.05439,213.39146 -304.00113,219.00582 C -302.31669,227.98469 -300.78604,229.96711 -290.16435,236.92653 C -270.86366,249.57251 -263.53405,259.04687 -261.27464,274.26978 C -260.05099,282.51425 -261.2399,289.21727 -265.53779,298.30516 C -268.13286,303.79243 -268.60206,306.09571 -268.98765,315.24017 C -269.48518,327.03971 -269.50889,327.08128 -277.38256,329.96098 C -283.64609,332.2518 -284.53713,333.32045 -290.02932,345.12847 L -294.8221,355.4328 L -291.74113,358.51378 L -288.66016,361.59475 L -280.3147,359.32435 C -269.80969,356.46645 -255.24072,355.56822 -248.77114,357.37959 C -242.00462,359.2741 -236.05911,365.48724 -233.89757,372.92267 C -227.76715,394.01056 -245.20573,414.29884 -274.69197,420.38345 C -285.09631,422.53043 -291.71388,422.74921 -301.96924,421.28527 C -325.56589,417.91685 -342.51451,408.61636 -345.46907,397.4149 C -347.47427,389.81274 -344.08388,380.12317 -337.05853,373.37796 C -335.08442,371.48257 -333.46756,369.23257 -333.4655,368.37796 C -333.4571,364.88495 -329.37867,360.3072 -323.73843,357.46002 C -318.27363,354.7014 -317.63865,353.98269 -312.70459,344.97133 C -309.82515,339.71244 -307.46924,335.06986 -307.46924,334.65448 C -307.46924,334.23911 -308.70156,332.91664 -310.20773,331.71567 C -312.84287,329.61447 -312.89554,329.39193 -311.60328,325.81826 C -310.44337,322.6106 -310.46719,321.8976 -311.77807,320.58673 C -313.82446,318.54034 -320.03934,319.72271 -322.56194,322.63835 C -329.25545,330.37475 -330.40821,331.25087 -336.07141,332.90581 C -339.31521,333.85374 -346.18991,334.90572 -351.34851,335.24356 L -360.72777,335.8578 L -364.34851,339.92491 C -366.33991,342.16182 -371.07326,347.45443 -374.86705,351.68628 L -381.76487,359.38054 L -379.68367,361.60234 C -376.49816,365.00303 -375.42734,368.69123 -376.51967,372.49998 C -377.04193,374.321 -377.46924,375.89443 -377.46924,375.99649 C -377.46924,376.09855 -374.11176,378.27468 -370.00817,380.83233 C -355.29968,389.99973 -351.07224,396.12667 -351.03951,408.32413 C -351.004,421.5532 -356.39001,428.76814 -371.96924,436.36099 C -385.63414,443.02086 -403.22385,445.01148 -418.96924,441.67998 z M -385.30485,436.31484 C -364.37646,431.26016 -354.46924,421.71501 -354.46924,406.60615 C -354.46924,396.88991 -360.74722,389.03528 -373.81428,382.40278 C -379.76093,379.38442 -380.59452,379.21037 -383.89192,380.29861 C -388.76243,381.90603 -390.72151,381.03702 -386.80754,379.00531 C -380.07608,375.51106 -377.41213,368.49576 -381.43442,364.85564 C -383.33377,363.13675 -383.43941,363.16456 -384.58821,365.6859 C -386.53365,369.95568 -393.67347,372.7734 -402.22904,372.64785 C -410.93715,372.52005 -414.93604,370.54637 -414.2076,366.73576 C -413.61219,363.62108 -415.50874,363.59388 -419.08014,366.66587 C -424.84385,371.6236 -421.55061,378.73469 -412.20329,381.51505 L -407.96924,382.77447 L -411.84788,383.11733 C -416.2568,383.50707 -420.52203,382.02827 -423.05193,379.23275 C -425.48469,376.54459 -426.62407,376.79802 -432.3092,381.29186 C -443.99152,390.5262 -450.37355,407.43737 -446.06641,417.74581 C -444.17248,422.27863 -438.04348,428.9033 -433.02012,431.84718 C -420.80779,439.00408 -403.24714,440.64832 -385.30485,436.31484 z M -419.46924,392.84445 C -419.46924,390.50023 -401.12861,385.32413 -392.82225,385.32413 C -387.33375,385.32413 -389.80083,386.96935 -396.30945,387.64964 C -399.55571,387.98894 -405.75717,389.39876 -410.09048,390.78257 C -418.24606,393.387 -419.46924,393.65591 -419.46924,392.84445 z M -269.47636,415.30496 C -258.85369,412.29595 -251.21338,407.89521 -245.04525,401.23288 C -230.24437,385.24617 -234.93614,363.27539 -253.99587,359.3186 C -258.28917,358.42732 -261.15354,358.51616 -268.17275,359.75833 C -282.36003,362.26903 -287.46536,364.09013 -287.4912,366.64935 C -287.52602,370.09715 -291.07699,377.02101 -293.68772,378.73163 C -296.53817,380.59932 -302.48231,381.93591 -302.43763,380.69913 C -302.42025,380.21788 -300.42383,378.62174 -298.00115,377.15215 C -292.57104,373.85827 -290.36877,368.39511 -292.44779,363.37592 C -294.24304,359.04181 -296.74882,359.49086 -299.04805,364.55873 C -300.10471,366.88776 -302.09424,369.35613 -303.46924,370.04399 C -311.11388,373.86832 -326.01429,368.62906 -322.67955,363.28929 C -320.82045,360.3124 -322.97213,360.09975 -325.84849,362.97611 C -329.97801,367.10563 -329.40353,370.8143 -323.8304,376.00424 C -319.49551,380.04109 -319.35532,380.32413 -321.69086,380.32413 C -323.06547,380.32413 -325.84793,379.19913 -327.8741,377.82413 C -332.71314,374.54027 -333.67164,374.65168 -337.43264,378.93522 C -341.30256,383.34282 -342.46924,386.23918 -342.46924,391.43889 C -342.46924,396.43095 -340.57988,400.14179 -335.98341,404.17755 C -321.92269,416.52302 -291.65455,421.58724 -269.47636,415.30496 z M -299.99006,279.93586 C -297.15972,277.10552 -296.04449,272.09643 -296.70777,265.19346 C -297.35323,258.47604 -300.12471,254.82413 -304.57716,254.82413 C -307.45412,254.82413 -308.23476,255.35564 -309.71769,258.32413 C -311.68424,262.26073 -312.03113,270.71093 -310.40263,275.00903 C -309.08787,278.47906 -305.59074,282.32413 -303.74947,282.32413 C -302.99534,282.32413 -301.30361,281.24941 -299.99006,279.93586 z M -271.3333,276.57413 C -270.53921,274.56412 -270.56803,272.22067 -271.4404,267.86521 C -273.35564,258.30318 -276.98894,252.8507 -279.8585,255.23222 C -282.89327,257.75086 -282.31753,266.35733 -278.54354,274.88906 C -276.19136,280.20655 -273.05769,280.93891 -271.3333,276.57413 z M -348.48519,220.77238 C -340.51613,216.06662 -340.32809,215.87118 -342.93396,215.00256 C -345.14218,214.26648 -346.88068,214.75803 -352.52309,217.71381 C -360.49776,221.89134 -362.48249,222.09709 -367.12545,219.22759 C -372.98195,215.60807 -373.85497,212.71017 -374.47723,194.82413 C -375.11669,176.44335 -376.21988,172.63003 -380.75851,173.11198 C -384.156,173.47276 -384.24951,171.88149 -380.95756,169.72452 C -379.26338,168.61445 -377.4229,168.2834 -375.30287,168.7074 C -370.13182,169.74161 -366.98695,173.56335 -371.71924,173.06234 C -374.87882,172.72783 -374.37383,175.95728 -369.80911,185.2778 C -364.92469,195.25107 -354.54419,205.73042 -344.90952,210.41447 C -338.52134,213.5202 -337.20939,213.79002 -328.41738,213.80637 C -319.36183,213.82321 -318.47851,213.6298 -311.41738,210.08425 C -299.64371,204.17242 -292.57697,196.38325 -290.50444,187.03337 C -289.11726,180.77535 -290.24072,178.49021 -294.40415,179.10127 C -296.86509,179.46246 -298.06834,178.90135 -300.70747,176.16188 C -302.50144,174.29969 -304.43517,171.93939 -305.00464,170.91676 C -305.99124,169.14508 -306.30063,169.1332 -311.56844,170.66459 C -314.60906,171.54852 -319.02249,173.66667 -321.37606,175.37159 C -326.74096,179.2579 -327.91113,178.40699 -323.48366,173.839 C -320.26455,170.51773 -320.18001,170.23287 -321.30201,166.48796 C -321.94399,164.34523 -322.43878,159.7193 -322.40156,156.20811 C -322.34501,150.87429 -322.15538,150.19425 -321.24875,152.07413 C -320.65192,153.31163 -319.55127,154.32413 -318.80286,154.32413 C -318.05444,154.32413 -316.56867,154.8696 -315.50115,155.53628 C -312.71533,157.27605 -312.17663,156.12452 -313.49167,151.24084 C -314.1263,148.88399 -314.3868,145.66192 -314.07055,144.08068 C -313.35584,140.50713 -316.99543,132.9474 -321.2498,129.16877 C -322.89412,127.70833 -324.43023,125.94116 -324.66337,125.24172 C -325.4052,123.01625 -327.46924,125.32713 -327.46924,128.38314 C -327.46924,132.33174 -328.60658,132.08704 -330.99184,127.62525 C -335.67374,118.86739 -347.83833,109.39816 -354.46924,109.34983 C -358.81764,109.31813 -363.40025,112.97662 -365.97604,118.53621 C -371.46024,130.37328 -370.01924,143.05936 -360.80344,164.07413 C -359.81437,166.32949 -362.0206,165.39041 -367.53863,161.20729 C -375.61983,155.08109 -380.60545,153.13693 -388.33105,153.09924 C -396.08937,153.06138 -401.48337,155.01576 -406.34135,159.62481 C -413.79131,166.69302 -415.49955,176.85714 -410.81684,186.25412 C -407.23017,193.45163 -398.05982,203.02198 -390.42609,207.53431 C -383.86609,211.41193 -382.46924,211.52987 -382.46924,208.2061 C -382.46924,205.00072 -380.57165,207.03554 -377.87547,213.13208 C -375.06311,219.49133 -373.27533,221.77786 -368.96924,224.52298 C -364.1355,227.60447 -358.22133,226.52159 -348.48519,220.77238 z M -342.77611,170.53753 C -346.90321,165.97714 -349.56344,152.91486 -347.60552,146.82413 C -346.74519,144.14778 -346.63187,144.45646 -346.55519,149.68542 L -346.46924,155.54671 L -342.86886,154.87128 C -339.11244,154.16657 -335.46924,156.16001 -335.46924,158.9201 C -335.46924,159.6274 -334.96893,160.51531 -334.35744,160.89323 C -329.81318,163.70174 -330.8844,143.48144 -335.62587,136.9503 C -336.96542,135.10515 -337.2213,134.22977 -336.34073,134.50476 C -331.84686,135.90811 -328.90815,153.03993 -331.43268,163.1173 C -333.44953,171.16815 -338.94949,174.76591 -342.77611,170.53753 z M -320.66924,139.12413 C -319.73591,138.19079 -319.20257,138.19079 -318.26924,139.12413 C -317.33591,140.05746 -317.60257,140.32413 -319.46924,140.32413 C -321.33591,140.32413 -321.60257,140.05746 -320.66924,139.12413 z M -349.47838,116.83514 C -348.79871,116.01619 -347.79557,115.62244 -347.24917,115.96014 C -346.64571,116.3331 -346.78833,116.91161 -347.61248,117.43381 C -349.76951,118.80058 -350.82776,118.46104 -349.47838,116.83514 z M -292.70485,159.4244 C -292.30735,155.2875 -292.53054,154.23784 -293.92117,153.7042 C -294.89875,153.32907 -296.2777,153.70402 -297.158,154.58432 C -299.25424,156.68056 -300.10127,164.85765 -298.43069,166.87058 C -296.28905,169.4511 -293.29404,165.55623 -292.70485,159.4244 z"
+           id="path3482" />
+        <path
+           style="fill:#e41e12"
+           d="M -412.46924,442.70017 C -414.39424,442.4597 -416.86924,441.87626 -417.96924,441.40365 C -419.06924,440.93103 -421.99424,439.99466 -424.46924,439.32282 C -434.97301,436.47158 -443.74584,429.54598 -448.08293,420.68129 C -450.35842,416.03035 -450.66559,414.35899 -450.2337,408.97858 C -449.31409,397.52218 -442.08426,385.64764 -431.47199,378.16367 C -427.46014,375.33443 -425.15915,372.91458 -424.45662,370.78589 C -422.99864,366.36816 -419.753,363.63735 -413.40841,361.49019 C -407.60339,359.52562 -408.51916,360.47955 -386.36903,333.32413 C -382.55573,328.64913 -379.02114,323.33112 -378.51438,321.50633 C -378.00763,319.68154 -374.70107,314.95654 -371.16648,311.00633 C -364.28682,303.31772 -358.46924,294.83741 -358.46924,292.49751 C -358.46924,290.21044 -364.91929,291.74913 -371.19333,295.5329 C -374.19486,297.34308 -379.64734,301.26544 -383.30995,304.24926 C -386.97256,307.23309 -389.06924,308.62594 -387.96924,307.34449 C -385.16635,304.07924 -371.70565,294.16799 -364.77349,290.26523 C -361.58115,288.46796 -358.75873,286.82295 -358.50144,286.60966 C -358.24415,286.39637 -357.73083,282.69823 -357.36073,278.39156 C -356.91614,273.21819 -355.77456,268.52628 -353.99636,264.56391 L -351.30491,258.56656 L -353.36523,254.528 C -354.49841,252.30679 -357.80441,247.63975 -360.7119,244.15679 C -363.6194,240.67383 -367.62532,235.32474 -369.61396,232.26993 C -371.60259,229.21512 -375.9364,223.57862 -379.24464,219.74437 L -385.25962,212.773 L -382.8377,211.63003 C -380.53596,210.54378 -380.26873,210.77838 -377.45229,216.35772 C -375.18484,220.8495 -373.41779,222.85601 -369.92888,224.90065 C -363.7582,228.51691 -358.76479,227.91582 -349.56284,222.44904 C -345.74405,220.18034 -341.93311,218.32413 -341.0941,218.32413 C -340.25509,218.32413 -339.15537,217.58569 -338.65029,216.68316 C -337.90944,215.35934 -335.91887,215.01762 -328.3506,214.91503 C -319.99486,214.80176 -318.21497,214.43264 -312.06991,211.53865 C -308.27528,209.75159 -305.00019,208.45984 -304.79193,208.6681 C -304.58368,208.87636 -304.87507,210.26135 -305.43948,211.74586 C -306.57428,214.7306 -304.37687,226.56437 -302.17264,229.33887 C -301.51077,230.17197 -295.79236,234.28204 -289.46507,238.47235 C -271.16228,250.59354 -264.51784,259.3336 -262.19446,274.34397 C -260.93372,282.48903 -262.04291,288.79671 -266.33329,297.88038 C -268.65231,302.79024 -269.25658,305.72752 -269.80719,314.76651 C -270.52988,326.63035 -270.37632,326.3457 -277.46924,328.96993 C -283.81176,331.31652 -285.60043,333.44775 -291.03205,345.13021 L -295.82374,355.43629 L -292.26798,358.99205 L -288.71223,362.54781 L -279.34073,360.32821 C -267.10615,357.43049 -254.95236,356.64896 -248.82086,358.36567 C -236.37065,361.85152 -230.18095,377.46036 -235.55403,391.8212 C -239.97284,403.63154 -252.79508,413.55877 -270.01431,418.50103 C -280.95288,421.64062 -301.11601,421.60961 -312.96924,418.43497 C -323.54476,415.60253 -335.09063,410.06085 -339.65257,405.62775 C -344.15382,401.25361 -346.03624,394.80283 -344.63339,388.55918 C -343.39526,383.0487 -339.16156,375.9533 -335.59733,373.41533 C -333.60748,371.99844 -332.54484,370.19837 -332.11634,367.51869 C -331.40245,363.05426 -329.91146,361.52524 -322.79512,357.95974 C -318.16929,355.64205 -317.09792,354.43783 -312.68476,346.59574 C -305.97624,334.67481 -305.81331,333.98525 -309.09513,331.40377 C -311.5938,329.43831 -311.71149,329.0201 -310.69657,325.71319 C -310.09409,323.75011 -309.8461,321.50562 -310.14549,320.72541 C -311.04845,318.37235 -315.26977,317.97624 -320.03776,319.79715 C -323.41843,321.08824 -324.86254,322.32966 -325.91561,324.85003 C -326.68345,326.68772 -328.67482,328.8962 -330.34088,329.75775 C -334.76761,332.0469 -345.1504,334.29033 -351.46924,334.323 C -354.49424,334.33864 -357.98266,334.62302 -359.22129,334.95495 C -361.57677,335.58618 -382.46924,357.99126 -382.46924,359.88605 C -382.46924,360.48525 -381.30985,362.06469 -379.89283,363.39592 C -377.62674,365.5248 -377.35573,366.47677 -377.64283,371.29954 L -377.96924,376.78275 L -370.17219,381.90288 C -355.68334,391.41734 -351.9452,397.05805 -351.99994,409.32413 C -352.03455,417.07953 -354.17092,422.06638 -359.79832,427.52758 C -364.20624,431.80533 -377.65544,438.90743 -383.25965,439.91679 C -385.29992,440.28426 -387.4567,440.96906 -388.05249,441.43857 C -389.30072,442.42225 -407.26404,443.3504 -412.46924,442.70017 z M -384.17689,436.37724 C -363.97197,431.20969 -354.46924,421.95452 -354.46924,407.44351 C -354.46924,395.96958 -358.85841,390.04576 -372.78037,382.72998 C -379.56246,379.16609 -381.19062,378.94896 -386.96924,380.8378 C -388.6288,381.38026 -388.54369,381.13129 -386.46924,379.37522 C -380.39052,374.22941 -379.46924,373.01571 -379.46924,370.15343 C -379.46924,364.14065 -383.04874,361.16732 -384.98211,365.57413 C -386.65911,369.39659 -393.93016,372.32413 -401.74687,372.32413 C -410.77816,372.32413 -415.12677,370.0839 -413.87902,366.07413 C -413.0094,363.2795 -416.24906,363.9501 -419.54616,367.24721 C -421.15386,368.8549 -422.46924,371.07037 -422.46924,372.17048 C -422.46924,375.10624 -417.86578,380.07813 -414.45368,380.82755 C -410.6604,381.66069 -409.58865,383.32413 -412.84512,383.32413 C -416.28091,383.32413 -420.54264,381.59051 -423.18009,379.11998 C -425.13196,377.29165 -425.74112,377.19411 -428.38025,378.28727 C -432.83305,380.13168 -441.21449,389.53311 -444.23499,396.07149 C -447.85292,403.90309 -448.45271,413.47605 -445.66752,418.93547 C -443.00212,424.16008 -434.53324,431.96593 -428.75915,434.52009 C -417.47993,439.50942 -399.37283,440.2637 -384.17689,436.37724 z M -269.96924,415.81541 C -249.17563,410.06966 -236.17959,396.63829 -236.24475,380.96122 C -236.25878,377.58582 -236.72076,373.67376 -237.27138,372.26776 C -238.85852,368.215 -243.36748,363.42503 -247.84503,361.03512 C -253.57444,357.97703 -265.64951,358.16406 -277.96924,361.50172 L -286.96924,363.94 L -288.10898,368.49897 C -289.70927,374.90019 -291.9659,377.90557 -296.54893,379.73934 C -301.19589,381.59869 -301.46924,381.6326 -301.46924,380.34981 C -301.46924,379.81393 -300.09934,378.66709 -298.42502,377.80126 C -292.19423,374.5792 -289.54673,365.9199 -293.35462,361.21735 C -294.94341,359.25528 -295.48597,359.09312 -296.80347,360.18655 C -297.66338,360.90021 -298.87744,363.03094 -299.50138,364.92151 C -301.08541,369.72116 -305.27911,371.72677 -312.23083,371.00929 C -315.19716,370.70314 -318.766,369.70448 -320.16158,368.79006 C -322.296,367.39154 -322.61134,366.58719 -322.147,363.7258 C -321.4909,359.68278 -322.63792,359.4019 -326.01469,362.77868 C -330.00967,366.77365 -329.40015,371.37146 -324.29642,375.74006 C -322.00138,377.70453 -320.40542,379.59364 -320.74985,379.93808 C -321.84125,381.02947 -326.20492,379.41742 -329.37129,376.7531 C -332.22281,374.3537 -332.57646,374.28582 -334.65198,375.73958 C -342.20848,381.03235 -344.96044,392.47866 -340.44602,399.83888 C -336.3652,406.49216 -322.49623,413.65526 -307.46924,416.87085 C -299.02936,418.67688 -278.20355,418.09073 -269.96924,415.81541 z M -301.31848,282.24345 C -298.47016,280.71907 -295.51714,273.64604 -295.4912,268.28602 C -295.44914,259.59381 -301.9998,250.93216 -306.70942,253.45267 C -312.36212,256.4779 -314.33915,268.6093 -310.5422,276.97132 C -307.95325,282.67297 -305.13306,284.28495 -301.31848,282.24345 z M -271.35093,277.57413 C -269.83304,273.66866 -270.94422,264.94931 -273.65621,259.48478 C -277.65726,251.42285 -282.50801,253.23749 -282.42535,262.76526 C -282.31915,275.00514 -274.44488,285.53473 -271.35093,277.57413 z M -366.57136,218.06093 C -372.4913,214.11789 -373.56853,210.43435 -373.24903,195.22694 L -372.96924,181.9097 L -369.1204,188.49603 C -364.45222,196.48444 -356.03726,204.97047 -348.02807,209.76648 C -344.00959,212.17279 -342.76913,213.32413 -344.19502,213.32413 C -345.35448,213.32413 -349.27197,214.89913 -352.90055,216.82413 C -360.66038,220.9408 -362.05781,221.06723 -366.57136,218.06093 z M -395.52346,207.49815 C -404.96137,201.49889 -416.19376,185.63996 -418.06334,175.67424 C -418.42548,173.74386 -419.29355,171.94504 -419.99238,171.67688 C -420.69121,171.40871 -423.35069,173.42124 -425.90235,176.14916 C -433.90251,184.70198 -444.84379,187.88095 -456.23573,184.96246 C -473.20101,180.61616 -481.01809,167.72959 -480.58393,144.82413 C -480.44675,137.58645 -476.13886,127.91437 -471.18697,123.72603 C -461.66988,115.67641 -446.92752,113.45692 -436.92909,118.56845 C -430.86449,121.66887 -424.0111,128.84492 -421.33334,134.89846 C -420.25661,137.33257 -418.76467,139.32413 -418.0179,139.32413 C -417.27114,139.32413 -415.20211,136.73663 -413.42004,133.57413 C -411.63798,130.41163 -406.87002,124.51082 -402.82458,120.46122 C -398.77914,116.41163 -395.46924,112.55693 -395.46924,111.89524 C -395.46924,111.23354 -397.96892,109.6561 -401.02408,108.3898 C -408.99409,105.08642 -415.59992,98.281158 -417.86688,91.038531 C -420.14438,83.762205 -419.75681,71.586572 -417.07242,66.080336 C -414.62272,61.0555 -408.91227,55.32142 -402.90298,51.85226 C -398.46134,49.288098 -397.01199,48.995039 -388.37191,48.914068 C -382.94429,48.863204 -377.7307,49.328082 -376.37191,49.984069 C -375.05044,50.622037 -371.84692,52.11733 -369.25298,53.306942 C -366.64499,54.502996 -362.36256,57.848753 -359.67306,60.791499 C -350.40695,70.930093 -349.05166,83.377508 -355.78494,96.501115 C -359.73865,104.20714 -359.66139,104.3821 -351.51071,106.18067 C -343.16615,108.02202 -332.62014,113.57488 -325.96924,119.62918 C -320.4452,124.6577 -314.48644,132.96752 -312.92211,137.82413 C -312.56779,138.92413 -313.43227,137.88978 -314.84316,135.52559 C -317.32475,131.36726 -326.22767,121.69396 -326.87619,122.45132 C -327.05177,122.65636 -327.6242,124.15061 -328.14825,125.77186 L -329.10106,128.7196 L -332.20054,124.21467 C -338.46631,115.10769 -348.20456,108.39351 -355.21636,108.34609 C -359.77595,108.31525 -365.87955,114.00115 -367.87308,120.13664 C -371.49405,131.28087 -370.78535,141.41384 -365.41578,155.27124 C -363.82867,159.36714 -362.67087,162.8591 -362.84291,163.03113 C -363.01495,163.20317 -365.26585,161.73271 -367.84492,159.76344 C -374.91064,154.36837 -380.47919,152.25758 -387.79451,152.20143 C -396.57088,152.13407 -402.18096,154.03585 -406.78376,158.63865 C -420.83923,172.69412 -414.793,192.3235 -391.41882,208.52168 C -387.2949,211.37954 -390.7874,210.50865 -395.52346,207.49815 z M -297.96924,202.32413 C -296.97375,201.22413 -295.93426,200.32413 -295.65926,200.32413 C -295.38426,200.32413 -295.97375,201.22413 -296.96924,202.32413 C -297.96473,203.42413 -299.00422,204.32413 -299.27922,204.32413 C -299.55422,204.32413 -298.96473,203.42413 -297.96924,202.32413 z M -291.84331,194.0806 C -290.9208,192.29667 -289.82292,189.70917 -289.40358,188.3306 C -288.89045,186.64371 -288.61304,186.40938 -288.55519,187.61397 C -288.4678,189.43372 -292.09201,197.32413 -293.01524,197.32413 C -293.29319,197.32413 -292.76582,195.86454 -291.84331,194.0806 z M -298.2313,177.63597 C -298.92543,177.36837 -300.86951,175.14926 -302.55146,172.70463 C -305.46362,168.47194 -305.78517,168.29168 -309.2894,168.92718 C -311.31331,169.29423 -314.57668,170.402 -316.54133,171.38889 L -320.11342,173.18325 L -320.20902,170.00369 C -320.26161,168.25493 -320.62239,164.23663 -321.01076,161.07413 C -321.70581,155.41443 -321.6775,155.32413 -319.20808,155.32413 C -316.33357,155.32413 -313.80437,158.54087 -313.30112,162.83687 C -312.87486,166.47558 -310.72878,167.20639 -309.92099,163.98792 C -309.29645,161.49954 -310.93903,144.96837 -312.14394,141.61587 C -312.49812,140.63041 -312.43695,140.14088 -312.008,140.52803 C -310.57362,141.82264 -308.50066,152.75335 -308.48486,159.10551 C -308.47286,163.93258 -308.09858,165.52913 -306.86832,166.00123 C -304.848,166.7765 -303.50431,164.70553 -303.48455,160.78602 C -303.46168,156.24833 -299.43667,148.98654 -296.35967,147.93155 C -286.84734,144.6701 -280.94911,157.96965 -286.4912,170.18333 C -287.57912,172.5809 -288.46924,175.33633 -288.46924,176.30651 C -288.46924,177.71103 -289.33529,178.07578 -292.71924,178.0965 C -295.05674,178.1108 -297.53717,177.90356 -298.2313,177.63597 z M -294.95692,167.66895 C -292.74733,165.45937 -291.46924,161.90107 -291.46924,157.95903 C -291.46924,151.61326 -296.65273,150.12569 -299.02027,155.79201 C -300.72002,159.8601 -300.89151,164.66659 -299.43406,167.38987 C -298.16687,169.75764 -297.11139,169.82343 -294.95692,167.66895 z M -378.7037,171.94345 C -380.73587,170.4003 -380.02325,169.32413 -376.96924,169.32413 C -374.11649,169.32413 -373.22479,170.32466 -374.60036,171.98212 C -375.96482,173.6262 -376.49425,173.62121 -378.7037,171.94345 z M -342.1564,169.07413 C -344.12604,166.89725 -346.46924,161.31317 -346.46924,158.79623 C -346.46924,157.20528 -340.96391,154.92033 -338.97219,155.68462 C -338.12906,156.00816 -336.98669,157.52191 -336.4336,159.0485 C -335.8805,160.5751 -334.92213,162.81623 -334.30389,164.02879 C -333.41188,165.7783 -333.52412,166.75894 -334.84758,168.77879 C -336.90753,171.92268 -339.48482,172.02682 -342.1564,169.07413 z"
+           id="path3480" />
+        <path
+           style="fill:#552113"
+           d="M -412.46924,442.70017 C -414.39424,442.4597 -416.86924,441.87626 -417.96924,441.40365 C -419.06924,440.93103 -421.99424,439.99466 -424.46924,439.32282 C -434.97301,436.47158 -443.74584,429.54598 -448.08293,420.68129 C -450.35842,416.03035 -450.66559,414.35899 -450.2337,408.97858 C -449.31409,397.52218 -442.08426,385.64764 -431.47199,378.16367 C -427.46014,375.33443 -425.15915,372.91458 -424.45662,370.78589 C -422.99864,366.36816 -419.753,363.63735 -413.40841,361.49019 C -407.60339,359.52562 -408.51916,360.47955 -386.36903,333.32413 C -382.55573,328.64913 -379.02114,323.33112 -378.51438,321.50633 C -378.00763,319.68154 -374.70107,314.95654 -371.16648,311.00633 C -364.28682,303.31772 -358.46924,294.83741 -358.46924,292.49751 C -358.46924,290.21044 -364.91929,291.74913 -371.19333,295.5329 C -374.19486,297.34308 -379.64734,301.26544 -383.30995,304.24926 C -386.97256,307.23309 -389.06924,308.62594 -387.96924,307.34449 C -385.16635,304.07924 -371.70565,294.16799 -364.77349,290.26523 C -361.58115,288.46796 -358.75873,286.82295 -358.50144,286.60966 C -358.24415,286.39637 -357.73083,282.69823 -357.36073,278.39156 C -356.91614,273.21819 -355.77456,268.52628 -353.99636,264.56391 L -351.30491,258.56656 L -353.36523,254.528 C -354.49841,252.30679 -357.80441,247.63975 -360.7119,244.15679 C -363.6194,240.67383 -367.62532,235.32474 -369.61396,232.26993 C -371.60259,229.21512 -375.9364,223.57862 -379.24464,219.74437 L -385.25962,212.773 L -382.8377,211.63003 C -380.53596,210.54378 -380.26873,210.77838 -377.45229,216.35772 C -375.18484,220.8495 -373.41779,222.85601 -369.92888,224.90065 C -363.7582,228.51691 -358.76479,227.91582 -349.56284,222.44904 C -345.74405,220.18034 -341.93311,218.32413 -341.0941,218.32413 C -340.25509,218.32413 -339.15537,217.58569 -338.65029,216.68316 C -337.90944,215.35934 -335.91887,215.01762 -328.3506,214.91503 C -319.99486,214.80176 -318.21497,214.43264 -312.06991,211.53865 C -308.27528,209.75159 -305.00019,208.45984 -304.79193,208.6681 C -304.58368,208.87636 -304.87507,210.26135 -305.43948,211.74586 C -306.57428,214.7306 -304.37687,226.56437 -302.17264,229.33887 C -301.51077,230.17197 -295.79236,234.28204 -289.46507,238.47235 C -271.16228,250.59354 -264.51784,259.3336 -262.19446,274.34397 C -260.93372,282.48903 -262.04291,288.79671 -266.33329,297.88038 C -268.65231,302.79024 -269.25658,305.72752 -269.80719,314.76651 C -270.52988,326.63035 -270.37632,326.3457 -277.46924,328.96993 C -283.81176,331.31652 -285.60043,333.44775 -291.03205,345.13021 L -295.82374,355.43629 L -292.26798,358.99205 L -288.71223,362.54781 L -279.34073,360.32821 C -267.10615,357.43049 -254.95236,356.64896 -248.82086,358.36567 C -236.37065,361.85152 -230.18095,377.46036 -235.55403,391.8212 C -239.97284,403.63154 -252.79508,413.55877 -270.01431,418.50103 C -280.95288,421.64062 -301.11601,421.60961 -312.96924,418.43497 C -323.54476,415.60253 -335.09063,410.06085 -339.65257,405.62775 C -344.15382,401.25361 -346.03624,394.80283 -344.63339,388.55918 C -343.39526,383.0487 -339.16156,375.9533 -335.59733,373.41533 C -333.60748,371.99844 -332.54484,370.19837 -332.11634,367.51869 C -331.40245,363.05426 -329.91146,361.52524 -322.79512,357.95974 C -318.16929,355.64205 -317.09792,354.43783 -312.68476,346.59574 C -305.97624,334.67481 -305.81331,333.98525 -309.09513,331.40377 C -311.5938,329.43831 -311.71149,329.0201 -310.69657,325.71319 C -310.09409,323.75011 -309.8461,321.50562 -310.14549,320.72541 C -311.04845,318.37235 -315.26977,317.97624 -320.03776,319.79715 C -323.41843,321.08824 -324.86254,322.32966 -325.91561,324.85003 C -326.68345,326.68772 -328.67482,328.8962 -330.34088,329.75775 C -334.76761,332.0469 -345.1504,334.29033 -351.46924,334.323 C -354.49424,334.33864 -357.98266,334.62302 -359.22129,334.95495 C -361.57677,335.58618 -382.46924,357.99126 -382.46924,359.88605 C -382.46924,360.48525 -381.30985,362.06469 -379.89283,363.39592 C -377.62674,365.5248 -377.35573,366.47677 -377.64283,371.29954 L -377.96924,376.78275 L -370.17219,381.90288 C -355.68334,391.41734 -351.9452,397.05805 -351.99994,409.32413 C -352.03455,417.07953 -354.17092,422.06638 -359.79832,427.52758 C -364.20624,431.80533 -377.65544,438.90743 -383.25965,439.91679 C -385.29992,440.28426 -387.4567,440.96906 -388.05249,441.43857 C -389.30072,442.42225 -407.26404,443.3504 -412.46924,442.70017 z M -384.17689,436.37724 C -363.97197,431.20969 -354.46924,421.95452 -354.46924,407.44351 C -354.46924,395.96958 -358.85841,390.04576 -372.78037,382.72998 C -379.56246,379.16609 -381.19062,378.94896 -386.96924,380.8378 C -388.6288,381.38026 -388.54369,381.13129 -386.46924,379.37522 C -380.39052,374.22941 -379.46924,373.01571 -379.46924,370.15343 C -379.46924,364.14065 -383.04874,361.16732 -384.98211,365.57413 C -386.65911,369.39659 -393.93016,372.32413 -401.74687,372.32413 C -410.77816,372.32413 -415.12677,370.0839 -413.87902,366.07413 C -413.0094,363.2795 -416.24906,363.9501 -419.54616,367.24721 C -421.15386,368.8549 -422.46924,371.07037 -422.46924,372.17048 C -422.46924,375.10624 -417.86578,380.07813 -414.45368,380.82755 C -410.6604,381.66069 -409.58865,383.32413 -412.84512,383.32413 C -416.28091,383.32413 -420.54264,381.59051 -423.18009,379.11998 C -425.13196,377.29165 -425.74112,377.19411 -428.38025,378.28727 C -432.83305,380.13168 -441.21449,389.53311 -444.23499,396.07149 C -447.85292,403.90309 -448.45271,413.47605 -445.66752,418.93547 C -443.00212,424.16008 -434.53324,431.96593 -428.75915,434.52009 C -417.47993,439.50942 -399.37283,440.2637 -384.17689,436.37724 z M -269.96924,415.81541 C -249.17563,410.06966 -236.17959,396.63829 -236.24475,380.96122 C -236.25878,377.58582 -236.72076,373.67376 -237.27138,372.26776 C -238.85852,368.215 -243.36748,363.42503 -247.84503,361.03512 C -253.57444,357.97703 -265.64951,358.16406 -277.96924,361.50172 L -286.96924,363.94 L -288.10898,368.49897 C -289.70927,374.90019 -291.9659,377.90557 -296.54893,379.73934 C -301.19589,381.59869 -301.46924,381.6326 -301.46924,380.34981 C -301.46924,379.81393 -300.09934,378.66709 -298.42502,377.80126 C -292.19423,374.5792 -289.54673,365.9199 -293.35462,361.21735 C -294.94341,359.25528 -295.48597,359.09312 -296.80347,360.18655 C -297.66338,360.90021 -298.87744,363.03094 -299.50138,364.92151 C -301.08541,369.72116 -305.27911,371.72677 -312.23083,371.00929 C -315.19716,370.70314 -318.766,369.70448 -320.16158,368.79006 C -322.296,367.39154 -322.61134,366.58719 -322.147,363.7258 C -321.4909,359.68278 -322.63792,359.4019 -326.01469,362.77868 C -330.00967,366.77365 -329.40015,371.37146 -324.29642,375.74006 C -322.00138,377.70453 -320.40542,379.59364 -320.74985,379.93808 C -321.84125,381.02947 -326.20492,379.41742 -329.37129,376.7531 C -332.22281,374.3537 -332.57646,374.28582 -334.65198,375.73958 C -342.20848,381.03235 -344.96044,392.47866 -340.44602,399.83888 C -336.3652,406.49216 -322.49623,413.65526 -307.46924,416.87085 C -299.02936,418.67688 -278.20355,418.09073 -269.96924,415.81541 z M -335.46924,329.69614 C -331.25778,328.26271 -329.89516,327.30299 -329.65304,325.59969 C -329.26103,322.84198 -333.74357,319.86548 -339.79305,318.86651 C -343.93279,318.1829 -344.01943,318.23189 -349.71924,324.47909 C -352.88174,327.9453 -355.46924,331.18761 -355.46924,331.68422 C -355.46924,333.13348 -341.48373,331.74327 -335.46924,329.69614 z M -279.34249,327.61596 C -273.17874,324.77475 -272.68623,324.30851 -272.29329,320.94273 C -272.06094,318.9525 -272.05885,315.71374 -272.28863,313.74549 C -272.66877,310.48931 -272.93282,310.22366 -275.21892,310.79744 L -277.73143,311.42804 L -275.52959,308.12609 C -274.31858,306.31001 -271.67209,301.44913 -269.6485,297.32413 C -266.15015,290.1929 -265.96988,289.33244 -265.98232,279.82413 C -266.00006,266.27186 -268.29681,260.51244 -277.33925,251.34519 C -285.65832,242.91128 -291.77477,240.32413 -303.39489,240.32413 C -318.47223,240.32413 -338.05794,247.73608 -345.83361,256.38451 C -351.73579,262.94914 -354.44127,270.3409 -355.38495,282.48004 C -356.27977,293.99078 -358.80916,299.78875 -367.06631,309.25654 C -372.4596,315.44058 -373.7838,318.04255 -370.99261,316.97147 C -370.18046,316.65982 -365.58849,315.88218 -360.78823,315.24339 C -349.00433,313.67524 -341.42877,314.57937 -333.70793,318.47535 C -330.26421,320.21307 -327.23145,321.41967 -326.96846,321.15668 C -326.70547,320.8937 -325.45309,318.71713 -324.18539,316.31987 C -321.35742,310.9721 -319.22432,309.84951 -320.08702,314.16301 L -320.68694,317.16261 L -316.82809,316.26722 C -311.41887,315.01211 -294.18609,315.05697 -294.96924,316.32413 C -295.30916,316.87413 -296.63076,317.32413 -297.90613,317.32413 C -302.83013,317.32413 -307.03784,320.01187 -308.23854,323.92411 C -308.86817,325.97562 -309.1316,328.06142 -308.82395,328.55921 C -307.57311,330.58311 -303.51181,331.2961 -294.96924,330.9915 C -287.46415,330.72389 -284.86853,330.16321 -279.34249,327.61596 z M -312.49617,275.07413 C -313.5572,272.73663 -314.41545,269.24913 -314.40339,267.32413 C -314.3605,260.47921 -310.11353,252.32413 -306.59175,252.32413 C -305.45061,252.32413 -305.63033,252.74866 -307.25245,253.88483 C -308.47796,254.74322 -310.15309,256.74587 -310.97495,258.33517 C -312.87717,262.01366 -312.90133,271.35424 -311.02027,275.85625 C -308.94941,280.8125 -310.18979,280.1552 -312.49617,275.07413 z M -280.51508,275.23848 C -281.12899,274.09138 -281.44292,272.96448 -281.2127,272.73426 C -280.98248,272.50404 -280.28067,273.44258 -279.65312,274.8199 C -278.27505,277.84444 -278.94603,278.17028 -280.51508,275.23848 z M -282.39029,269.90746 C -282.43371,268.8533 -282.19737,268.26267 -281.86507,268.59496 C -281.53278,268.92726 -281.49726,269.78975 -281.78613,270.51163 C -282.10535,271.30936 -282.34231,271.07241 -282.39029,269.90746 z M -366.57136,218.06093 C -372.4913,214.11789 -373.56853,210.43435 -373.24903,195.22694 L -372.96924,181.9097 L -369.1204,188.49603 C -364.45222,196.48444 -356.03726,204.97047 -348.02807,209.76648 C -344.00959,212.17279 -342.76913,213.32413 -344.19502,213.32413 C -345.35448,213.32413 -349.27197,214.89913 -352.90055,216.82413 C -360.66038,220.9408 -362.05781,221.06723 -366.57136,218.06093 z M -358.66924,218.12413 C -355.68047,215.13536 -359.6434,207.56393 -362.81766,210.19833 C -363.9446,211.13361 -364.31386,210.66905 -364.79367,207.71231 C -365.74102,201.87449 -370.3924,198.07554 -371.87196,201.93122 C -372.63297,203.91439 -370.84857,210.81556 -368.74445,214.02686 C -367.21074,216.3676 -362.987,219.20525 -360.91924,219.28409 C -360.34174,219.30611 -359.32924,218.78413 -358.66924,218.12413 z M -395.52346,207.49815 C -404.96137,201.49889 -416.19376,185.63996 -418.06334,175.67424 C -418.42548,173.74386 -419.29355,171.94504 -419.99238,171.67688 C -420.69121,171.40871 -423.35069,173.42124 -425.90235,176.14916 C -433.90251,184.70198 -444.84379,187.88095 -456.23573,184.96246 C -473.20101,180.61616 -481.01809,167.72959 -480.58393,144.82413 C -480.44675,137.58645 -476.13886,127.91437 -471.18697,123.72603 C -461.66988,115.67641 -446.92752,113.45692 -436.92909,118.56845 C -430.86449,121.66887 -424.0111,128.84492 -421.33334,134.89846 C -420.25661,137.33257 -418.76467,139.32413 -418.0179,139.32413 C -417.27114,139.32413 -415.20211,136.73663 -413.42004,133.57413 C -411.63798,130.41163 -406.87002,124.51082 -402.82458,120.46122 C -398.77914,116.41163 -395.46924,112.55693 -395.46924,111.89524 C -395.46924,111.23354 -397.96892,109.6561 -401.02408,108.3898 C -408.99409,105.08642 -415.59992,98.281158 -417.86688,91.038531 C -420.14438,83.762205 -419.75681,71.586572 -417.07242,66.080336 C -414.62272,61.0555 -408.91227,55.32142 -402.90298,51.85226 C -398.46134,49.288098 -397.01199,48.995039 -388.37191,48.914068 C -382.94429,48.863204 -377.7307,49.328082 -376.37191,49.984069 C -375.05044,50.622037 -371.84692,52.11733 -369.25298,53.306942 C -366.64499,54.502996 -362.36256,57.848753 -359.67306,60.791499 C -350.40695,70.930093 -349.05166,83.377508 -355.78494,96.501115 C -359.73865,104.20714 -359.66139,104.3821 -351.51071,106.18067 C -343.16615,108.02202 -332.62014,113.57488 -325.96924,119.62918 C -320.4452,124.6577 -314.48644,132.96752 -312.92211,137.82413 C -312.56779,138.92413 -313.43227,137.88978 -314.84316,135.52559 C -317.32475,131.36726 -326.22767,121.69396 -326.87619,122.45132 C -327.05177,122.65636 -327.6242,124.15061 -328.14825,125.77186 L -329.10106,128.7196 L -332.20054,124.21467 C -338.46631,115.10769 -348.20456,108.39351 -355.21636,108.34609 C -359.77595,108.31525 -365.87955,114.00115 -367.87308,120.13664 C -371.49405,131.28087 -370.78535,141.41384 -365.41578,155.27124 C -363.82867,159.36714 -362.67087,162.8591 -362.84291,163.03113 C -363.01495,163.20317 -365.26585,161.73271 -367.84492,159.76344 C -374.91064,154.36837 -380.47919,152.25758 -387.79451,152.20143 C -396.57088,152.13407 -402.18096,154.03585 -406.78376,158.63865 C -420.83923,172.69412 -414.793,192.3235 -391.41882,208.52168 C -387.2949,211.37954 -390.7874,210.50865 -395.52346,207.49815 z M -297.96924,202.32413 C -296.97375,201.22413 -295.93426,200.32413 -295.65926,200.32413 C -295.38426,200.32413 -295.97375,201.22413 -296.96924,202.32413 C -297.96473,203.42413 -299.00422,204.32413 -299.27922,204.32413 C -299.55422,204.32413 -298.96473,203.42413 -297.96924,202.32413 z M -291.84331,194.0806 C -290.9208,192.29667 -289.82292,189.70917 -289.40358,188.3306 C -288.89045,186.64371 -288.61304,186.40938 -288.55519,187.61397 C -288.4678,189.43372 -292.09201,197.32413 -293.01524,197.32413 C -293.29319,197.32413 -292.76582,195.86454 -291.84331,194.0806 z M -298.2313,177.63597 C -298.92543,177.36837 -300.86951,175.14926 -302.55146,172.70463 C -305.46362,168.47194 -305.78517,168.29168 -309.2894,168.92718 C -311.31331,169.29423 -314.57668,170.402 -316.54133,171.38889 L -320.11342,173.18325 L -320.20902,170.00369 C -320.26161,168.25493 -320.62239,164.23663 -321.01076,161.07413 C -321.70581,155.41443 -321.6775,155.32413 -319.20808,155.32413 C -316.33357,155.32413 -313.80437,158.54087 -313.30112,162.83687 C -312.87486,166.47558 -310.72878,167.20639 -309.92099,163.98792 C -309.29645,161.49954 -310.93903,144.96837 -312.14394,141.61587 C -312.49812,140.63041 -312.43695,140.14088 -312.008,140.52803 C -310.57362,141.82264 -308.50066,152.75335 -308.48486,159.10551 C -308.47286,163.93258 -308.09858,165.52913 -306.86832,166.00123 C -304.848,166.7765 -303.50431,164.70553 -303.48455,160.78602 C -303.46168,156.24833 -299.43667,148.98654 -296.35967,147.93155 C -286.84734,144.6701 -280.94911,157.96965 -286.4912,170.18333 C -287.57912,172.5809 -288.46924,175.33633 -288.46924,176.30651 C -288.46924,177.71103 -289.33529,178.07578 -292.71924,178.0965 C -295.05674,178.1108 -297.53717,177.90356 -298.2313,177.63597 z M -294.95692,167.66895 C -292.74733,165.45937 -291.46924,161.90107 -291.46924,157.95903 C -291.46924,151.61326 -296.65273,150.12569 -299.02027,155.79201 C -300.72002,159.8601 -300.89151,164.66659 -299.43406,167.38987 C -298.16687,169.75764 -297.11139,169.82343 -294.95692,167.66895 z M -378.7037,171.94345 C -380.73587,170.4003 -380.02325,169.32413 -376.96924,169.32413 C -374.11649,169.32413 -373.22479,170.32466 -374.60036,171.98212 C -375.96482,173.6262 -376.49425,173.62121 -378.7037,171.94345 z M -342.1564,169.07413 C -344.12604,166.89725 -346.46924,161.31317 -346.46924,158.79623 C -346.46924,157.20528 -340.96391,154.92033 -338.97219,155.68462 C -338.12906,156.00816 -336.98669,157.52191 -336.4336,159.0485 C -335.8805,160.5751 -334.92213,162.81623 -334.30389,164.02879 C -333.41188,165.7783 -333.52412,166.75894 -334.84758,168.77879 C -336.90753,171.92268 -339.48482,172.02682 -342.1564,169.07413 z"
+           id="path3478" />
+        <path
+           style="fill:#070605"
+           d="M -412.21924,442.65363 C -414.55674,442.40916 -416.46924,441.84389 -416.46924,441.39747 C -416.46924,440.95106 -417.93174,440.34338 -419.71924,440.04707 C -432.69675,437.89582 -446.29811,427.30119 -448.89088,417.32413 C -449.26618,415.87997 -448.6663,416.51348 -447.47051,418.82413 C -444.69468,424.18789 -437.2805,431.57103 -431.59881,434.62937 C -415.96311,443.04574 -389.1084,441.99045 -368.96924,432.16825 C -365.66924,430.55879 -363.86924,429.98654 -364.96924,430.89658 C -367.96856,433.37795 -378.30682,438.06652 -383.96924,439.51337 C -386.71924,440.21605 -389.20611,441.11217 -389.49562,441.50474 C -390.16408,442.41117 -406.59463,443.24189 -412.21924,442.65363 z M -360.46924,427.06902 C -360.46924,426.79402 -359.79424,426.00882 -358.96924,425.32413 C -358.14424,424.63944 -357.46924,424.30424 -357.46924,424.57924 C -357.46924,424.85424 -358.14424,425.63944 -358.96924,426.32413 C -359.79424,427.00882 -360.46924,427.34402 -360.46924,427.06902 z M -283.19841,419.71996 C -282.86611,419.38767 -282.00362,419.35215 -281.28174,419.64102 C -280.48401,419.96024 -280.72096,420.1972 -281.88591,420.24518 C -282.94007,420.2886 -283.5307,420.05225 -283.19841,419.71996 z M -328.31525,412.3204 C -331.80556,410.66921 -335.84573,408.38654 -337.2934,407.2478 C -340.12535,405.02019 -343.46249,400.45108 -343.4458,398.82413 C -343.44016,398.27413 -342.51469,399.26175 -341.3892,401.01884 C -339.17497,404.47564 -331.15918,410.21361 -324.27131,413.27238 C -321.90517,414.32314 -320.41924,415.21429 -320.96924,415.2527 C -321.51924,415.29112 -324.82495,413.97158 -328.31525,412.3204 z M -379.80257,377.65746 C -380.75827,376.70177 -380.62463,375.32413 -379.57623,375.32413 C -379.08507,375.32413 -378.4242,375.99913 -378.10761,376.82413 C -377.52269,378.34841 -378.58791,378.87212 -379.80257,377.65746 z M -424.88629,375.45834 C -425.31706,374.76134 -425.39945,373.92101 -425.06938,373.59093 C -424.17442,372.69597 -423.19861,374.01223 -423.68199,375.46238 C -424.02071,376.47855 -424.25626,376.47776 -424.88629,375.45834 z M -329.46924,374.82413 C -330.15393,373.99913 -331.29494,373.32413 -332.00482,373.32413 C -333.29998,373.32413 -332.93733,371.44274 -330.29331,364.4449 C -328.9798,360.96849 -328.26946,362.45258 -329.52417,366.05184 C -330.34585,368.40893 -330.24464,369.9259 -329.0797,372.714 C -327.44254,376.63229 -327.53826,377.15082 -329.46924,374.82413 z M -409.25734,370.19548 C -412.39875,369.28951 -412.51557,369.08163 -411.876,365.53567 C -411.04864,360.94859 -410.70335,360.32413 -408.99425,360.32413 C -408.24793,360.32413 -406.14668,358.41163 -404.32481,356.07413 C -402.50295,353.73663 -396.92176,346.87413 -391.92218,340.82413 C -381.05708,327.67627 -378.49768,324.07722 -377.58437,320.66221 C -376.97588,318.38698 -376.30971,318.04838 -371.93191,317.78919 C -369.20244,317.62759 -361.81377,317.17021 -355.51263,316.77279 L -344.05602,316.0502 L -350.75156,323.43717 C -354.4341,327.5 -357.45208,331.56285 -357.45817,332.46572 C -357.46426,333.3686 -358.48174,334.36843 -359.71924,334.68757 C -362.09228,335.29956 -381.61306,356.37749 -382.46924,359.25231 C -382.97053,360.93552 -384.13805,362.51056 -388.09151,366.83706 C -391.76748,370.85988 -401.56377,372.41428 -409.25734,370.19548 z M -315.13118,369.1756 C -320.45277,367.98092 -322.32824,365.92926 -320.61154,363.18038 C -319.93099,362.09064 -319.63397,360.38047 -319.95151,359.38001 C -320.29715,358.29099 -319.95271,357.3399 -319.09324,357.01009 C -317.289,356.31774 -306.46925,337.17441 -306.4692,334.67444 C -306.46916,332.99628 -305.50569,332.81961 -296.11329,332.7755 L -285.75741,332.72688 L -288.12976,338.09119 C -289.43456,341.04156 -291.61972,345.66098 -292.98568,348.35657 C -294.35164,351.05216 -295.46924,354.34946 -295.46924,355.6839 C -295.46924,357.01834 -296.16719,358.37798 -297.02025,358.70533 C -297.8733,359.03268 -299.45017,361.28745 -300.52441,363.71594 C -301.95239,366.94412 -303.32324,368.42619 -305.62263,369.22776 C -309.17207,370.4651 -309.39264,370.46389 -315.13118,369.1756 z M -290.46924,363.32413 C -290.46924,362.77413 -290.2708,362.32413 -290.02826,362.32413 C -289.78572,362.32413 -289.30916,362.77413 -288.96924,363.32413 C -288.62932,363.87413 -288.82776,364.32413 -289.41022,364.32413 C -289.99268,364.32413 -290.46924,363.87413 -290.46924,363.32413 z M -323.96924,319.32413 C -323.62932,318.77413 -322.92776,318.32413 -322.41022,318.32413 C -321.89268,318.32413 -321.46924,318.77413 -321.46924,319.32413 C -321.46924,319.87413 -322.1708,320.32413 -323.02826,320.32413 C -323.88572,320.32413 -324.30916,319.87413 -323.96924,319.32413 z M -312.35238,318.41752 C -313.36701,317.77492 -312.88171,317.354 -310.53087,316.83767 C -307.08293,316.08037 -305.87641,316.55589 -306.92812,318.2576 C -307.72216,319.54238 -310.44933,319.62278 -312.35238,318.41752 z M -272.31353,309.01175 C -273.45624,307.63487 -273.33386,306.94274 -271.48977,304.35296 C -263.55305,293.20687 -261.6168,276.67774 -266.8013,264.3292 C -268.30108,260.75698 -270.94037,256.03198 -272.66639,253.8292 L -275.80459,249.82413 L -272.58119,252.81461 C -270.80832,254.45937 -267.94994,258.66483 -266.22924,262.16008 C -260.66476,273.46315 -261.22069,286.94925 -267.78185,299.82413 C -268.90299,302.02413 -270.0793,305.3552 -270.39586,307.22651 C -270.90481,310.23508 -271.12677,310.44171 -272.31353,309.01175 z M -364.46924,291.02989 C -364.46924,290.75038 -362.89424,289.59241 -360.96924,288.45663 C -357.52274,286.42315 -357.46924,286.42164 -357.46924,288.35786 C -357.46924,289.62952 -358.14687,290.32413 -359.38745,290.32413 C -360.44247,290.32413 -362.01747,290.59727 -362.88745,290.93112 C -363.75744,291.26496 -364.46924,291.30941 -364.46924,291.02989 z M -352.72447,255.04723 C -353.68985,252.69905 -356.42161,248.53824 -358.79505,245.80097 C -362.31962,241.73613 -367.33929,234.62039 -373.76744,224.57657 C -374.20659,223.89041 -372.45212,224.45291 -369.86862,225.82657 C -367.28513,227.20023 -364.00088,228.31973 -362.5703,228.31436 C -359.58151,228.30314 -351.30412,224.64306 -345.78314,220.89146 C -343.70515,219.47943 -341.02193,218.32413 -339.82044,218.32413 C -338.61895,218.32413 -337.44846,217.76163 -337.21936,217.07413 C -336.93761,216.22866 -334.24074,215.78546 -328.88602,215.70465 C -321.68198,215.59592 -317.29689,214.55698 -308.0585,210.77003 C -306.41293,210.09549 -306.2349,210.32001 -306.77566,212.38787 C -307.4026,214.78529 -305.40427,224.17785 -303.27125,228.85932 C -302.65109,230.22043 -299.40444,232.89627 -296.05646,234.80564 C -292.70849,236.71501 -288.84424,239.18854 -287.46924,240.30237 L -284.96924,242.32752 L -289.37064,240.81676 C -299.87626,237.21078 -310.21012,237.9082 -326.03705,243.29136 C -336.61685,246.88982 -342.07486,250.03832 -346.80028,255.26879 C -348.81535,257.49923 -350.57771,259.32244 -350.71664,259.32038 C -350.85557,259.31832 -351.75909,257.3954 -352.72447,255.04723 z M -379.88517,217.84546 C -382.33205,214.63744 -382.61559,212.32413 -380.56191,212.32413 C -379.72012,212.32413 -376.25086,220.43908 -376.84054,221.02877 C -377.03293,221.22116 -378.40302,219.78867 -379.88517,217.84546 z M -356.05168,213.93909 C -356.58042,212.1492 -358.33012,209.98359 -360.18072,208.82855 C -361.94703,207.72612 -363.40953,206.22701 -363.43072,205.49721 C -363.49199,203.38658 -369.11095,198.32413 -371.39232,198.32413 C -373.28186,198.32413 -373.46924,197.73771 -373.46924,191.82413 C -373.46924,188.24913 -373.0832,185.32413 -372.61138,185.32413 C -372.13955,185.32413 -370.12002,187.97059 -368.12353,191.20516 C -364.09116,197.73812 -353.97258,207.63959 -348.81566,210.09876 C -346.97513,210.97645 -345.47985,211.94871 -345.49281,212.25934 C -345.50577,212.56998 -347.68037,213.77387 -350.32525,214.93467 L -355.13413,217.04521 L -356.05168,213.93909 z M -457.46924,184.389 C -472.27825,179.86798 -479.80696,167.43696 -479.91718,147.32413 C -479.96159,139.22018 -479.62275,137.16284 -477.61144,133.32413 C -472.04185,122.69422 -463.51035,117.26899 -451.20326,116.53099 C -444.01468,116.09993 -442.95714,116.30168 -436.97941,119.2445 C -429.83955,122.75945 -424.78327,128.09931 -421.44157,135.65379 C -420.30531,138.22247 -418.78102,140.32413 -418.05425,140.32413 C -417.32748,140.32413 -414.98604,137.31062 -412.85104,133.62745 C -410.71605,129.94427 -405.70674,123.70743 -401.71924,119.76778 C -397.73174,115.82814 -394.46924,112.17445 -394.46924,111.64848 C -394.46924,111.1225 -397.05674,109.6221 -400.21924,108.31425 C -408.0885,105.05993 -415.60696,97.46119 -417.5246,90.824127 C -419.73547,83.17214 -419.28416,71.817228 -416.54206,66.103448 C -413.97831,60.761315 -408.16559,55.074493 -402.67521,52.536953 C -400.63693,51.594899 -398.66282,50.397863 -398.28831,49.876873 C -397.38543,48.620854 -377.4582,48.743372 -376.62111,50.010089 C -376.26258,50.552629 -374.51202,51.494988 -372.73096,52.10422 C -365.24782,54.663928 -356.65543,62.821495 -354.06655,69.824127 C -350.959,78.229691 -351.94144,88.936436 -356.57463,97.157433 C -358.22778,100.09075 -359.42446,102.95846 -359.23391,103.53013 C -359.04335,104.10179 -355.09636,105.66401 -350.46281,107.00171 C -341.24005,109.66434 -334.64747,112.90426 -329.02933,117.53521 C -325.95693,120.06774 -325.61484,120.72036 -326.85546,121.68241 C -327.66522,122.31035 -328.47209,123.81441 -328.6485,125.02476 C -328.92467,126.9196 -329.597,126.43326 -333.48697,121.52476 C -341.56938,111.32607 -352.17482,105.92079 -358.72937,108.65945 C -371.07866,113.81932 -374.32476,137.03765 -365.48936,157.01154 C -364.44015,159.38346 -363.85142,161.32413 -364.18108,161.32413 C -364.51074,161.32413 -366.17293,160.26406 -367.87485,158.96842 C -380.64505,149.24665 -397.47081,148.79649 -406.87026,157.92512 C -412.62313,163.51224 -414.8894,168.75458 -414.93225,176.57413 C -414.9526,180.28663 -415.06917,183.32413 -415.19131,183.32413 C -415.31344,183.32413 -416.15076,180.73663 -417.05202,177.57413 C -417.95327,174.41163 -419.09196,171.39552 -419.58243,170.87166 C -420.12985,170.28696 -422.30733,171.90166 -425.22171,175.05343 C -431.80977,182.17813 -438.85093,185.32765 -447.96924,185.22841 C -451.81924,185.18651 -456.09424,184.80877 -457.46924,184.389 z M -299.57997,175.57413 C -303.27363,171.02435 -305.37015,167.38092 -304.57671,166.89055 C -304.09617,166.59356 -303.39585,163.89232 -303.02046,160.88781 C -301.77634,150.93021 -295.51206,145.10037 -289.96321,148.73612 C -284.01019,152.63669 -283.16329,161.44644 -287.72132,172.05706 C -289.90635,177.1436 -290.0838,177.29047 -294.06425,177.30706 C -296.77219,177.31835 -298.64049,176.73136 -299.57997,175.57413 z M -294.1838,167.56122 C -292.18212,165.34938 -289.93385,157.16173 -290.74659,155.04375 C -291.08191,154.16991 -292.2847,152.95808 -293.41944,152.35078 C -295.1348,151.43275 -295.90295,151.66693 -297.97593,153.73991 C -299.96393,155.72791 -300.46924,157.23919 -300.46924,161.19689 C -300.46924,163.9269 -300.1961,166.87236 -299.86225,167.74234 C -299.05579,169.84394 -296.16622,169.75177 -294.1838,167.56122 z M -377.96924,171.32413 C -378.30916,170.77413 -377.63416,170.32413 -376.46924,170.32413 C -375.30432,170.32413 -374.62932,170.77413 -374.96924,171.32413 C -375.30916,171.87413 -375.98416,172.32413 -376.46924,172.32413 C -376.95432,172.32413 -377.62932,171.87413 -377.96924,171.32413 z M -319.9975,164.85781 C -322.09509,157.10866 -321.29418,153.68521 -317.94614,156.08944 C -315.91897,157.54515 -313.46924,162.30547 -313.46924,164.78895 C -313.46924,167.34282 -311.2045,168.32282 -309.95916,166.30782 C -309.25321,165.16558 -307.46924,165.93603 -307.46924,167.38315 C -307.46924,167.90069 -308.31428,168.32413 -309.34712,168.32413 C -310.37995,168.32413 -312.80859,168.9858 -314.74409,169.7945 L -318.26318,171.26487 L -319.9975,164.85781 z M -342.32752,167.77717 C -345.38806,163.88633 -346.10431,159.26167 -343.89642,157.64722 C -341.00337,155.53177 -338.52871,156.06898 -337.32329,159.07413 C -336.7166,160.58663 -335.78031,162.78038 -335.24265,163.94913 C -333.99014,166.67177 -335.81729,170.32413 -338.43184,170.32413 C -339.47257,170.32413 -341.22563,169.178 -342.32752,167.77717 z M -322.50503,125.15977 C -323.65015,122.92692 -323.62333,122.90009 -321.89558,124.55032 C -320.90157,125.49972 -320.36254,126.55076 -320.69774,126.88596 C -321.03294,127.22116 -321.84623,126.44438 -322.50503,125.15977 z"
+           id="path3476" />
+      </g>
+      <path
+         id="path5785"
+         d="M 106.46675,670.8859 C 102.28439,670.18001 96.932967,668.61811 94.574717,667.41502 C 88.240757,664.18368 80.951057,656.88921 77.973157,650.8026 C 72.138897,638.8778 77.104307,621.61564 89.731437,609.92514 C 93.116837,606.79086 96.951477,603.74131 98.252857,603.14836 C 99.554237,602.55541 100.9044,600.90992 101.25321,599.49171 C 101.60203,598.0735 102.52893,595.92212 103.31298,594.71087 C 104.82916,592.36859 113.85584,587.41315 116.60628,587.41315 C 117.50969,587.41315 123.15883,581.47171 129.15994,574.20996 C 144.1178,556.10993 147.56592,551.39318 147.60215,548.98254 C 147.61926,547.84438 151.10676,543.00264 155.35215,538.22312 C 163.55944,528.98326 167.4091,523.41315 165.58775,523.41315 C 163.42674,523.41315 155.95267,527.77804 149.34046,532.90164 C 145.63863,535.77007 134.94305,545.25096 125.57251,553.97029 C 100.66702,577.14495 87.164867,586.54346 72.639547,590.81564 C 62.408237,593.82487 50.447307,591.78749 47.649027,586.55885 C 46.060337,583.59036 47.588207,583.2891 52.615307,585.57962 C 58.777877,588.3875 67.411287,588.32025 75.011897,585.40516 C 88.515417,580.2261 97.606617,573.30677 124.17998,547.98323 C 143.26386,529.79693 150.68071,523.7551 161.18935,517.83506 L 167.30765,514.38832 L 168.39865,505.93667 C 168.9987,501.28826 170.40796,495.58432 171.53035,493.26125 C 172.65273,490.93818 173.57105,488.42467 173.57105,487.67566 C 173.57105,485.14973 170.46255,480.27775 165.19534,474.54835 C 162.31457,471.41478 157.98783,466.16495 155.58037,462.88205 C 147.74716,452.20041 139.60455,443.7181 133.66404,440.05141 C 125.10159,434.76636 116.07808,424.6104 111.45995,415.06069 C 109.32106,410.63773 107.57105,406.43264 107.57105,405.71605 C 107.57105,403.73727 106.81791,404.09962 103.00429,407.91324 C 101.07924,409.83829 97.156737,412.64863 94.287627,414.15844 C 89.661177,416.593 87.996357,416.90361 79.571047,416.90415 C 71.106277,416.9047 69.422697,416.58735 64.121347,413.99186 C 56.499807,410.26045 50.230017,403.80217 47.755597,397.13413 C 44.919757,389.49212 44.074387,374.45335 46.060907,366.98647 C 50.131587,351.68574 65.027457,341.37326 81.184577,342.6702 C 84.626457,342.94648 89.402027,344.12109 91.796947,345.28046 C 97.062007,347.82923 103.87438,354.38306 107.26675,360.16315 C 108.63864,362.50065 110.066,364.41315 110.43867,364.41315 C 110.81133,364.41315 112.00607,362.72999 113.09365,360.6728 C 114.18122,358.61561 118.35641,353.47918 122.37184,349.25851 L 129.67264,341.58457 L 123.55091,338.32173 C 109.53528,330.85148 103.03538,315.87402 107.03059,300.25463 C 111.04424,284.56313 121.72389,277.36561 140.86984,277.44877 C 156.78449,277.51789 167.06958,282.18063 173.36293,292.17949 C 177.65422,298.99748 178.83476,303.58869 178.39421,311.74658 C 178.03992,318.30705 177.34087,320.56315 172.49083,330.79908 C 172.25995,331.28634 174.54605,332.30346 177.57105,333.05935 C 198.79538,338.36287 217.09463,356.63068 220.75546,376.16956 C 222.43712,385.14504 222.54001,385.28724 224.54865,381.4121 C 226.91628,376.8444 229.51674,374.56555 233.13667,373.88621 C 236.92567,373.17515 241.89369,376.20405 244.17968,380.61893 C 246.38036,384.86906 246.31798,393.7439 244.0509,398.9395 C 242.90155,401.57352 242.27555,405.77875 242.19403,411.41315 C 242.08587,418.88862 241.71788,420.51405 239.14096,424.89852 C 237.52941,427.64048 234.19008,432.04428 231.72023,434.68476 C 227.8032,438.87237 227.17326,440.1648 226.78865,444.80272 C 226.02007,454.07081 228.51387,457.90942 240.70877,466.22943 C 261.38258,480.33421 268.47614,491.25926 268.5466,509.10355 C 268.57094,515.26649 265.04859,527.41702 261.94223,531.88566 C 261.00166,533.23871 260.57105,537.02572 260.57105,543.94453 C 260.57105,550.71472 260.13756,554.62373 259.25255,555.83405 C 258.52737,556.82579 255.04335,558.86425 251.51028,560.36397 L 245.08652,563.09073 L 240.39458,572.50194 C 237.81402,577.67811 235.67304,582.63091 235.63685,583.50816 C 235.60066,584.38542 236.47233,585.91882 237.57388,586.91572 C 239.511,588.66878 239.91296,588.65063 249.82388,586.36244 C 269.28409,581.86956 282.94165,583.51546 289.656,591.16269 C 294.75655,596.97189 296.52429,601.93184 296.54909,610.50343 C 296.56793,617.01586 296.13096,618.9744 293.4719,624.29566 C 287.69519,635.85587 276.30955,644.34472 259.57105,649.57129 C 253.10327,651.59084 250.00661,651.91258 237.07105,651.90903 C 224.61399,651.90562 220.66798,651.52186 213.79476,649.64535 C 196.89471,645.03135 183.78356,636.43839 181.58906,628.53794 C 179.09585,619.56211 181.47547,610.86932 188.54505,603.12765 C 191.16403,600.25967 193.62437,596.46281 194.01247,594.69018 C 194.8195,591.004 199.2141,586.92373 205.08994,584.40505 C 208.65305,582.87772 209.70433,581.5555 214.09745,573.07597 L 219.07105,563.47602 L 216.71005,561.81014 C 214.60315,560.32353 214.41746,559.62862 214.98465,555.35292 C 215.33423,552.71769 215.23343,550.32252 214.76065,550.03033 C 212.63979,548.71956 206.2645,551.9385 204.05766,555.43435 C 202.80269,557.42236 200.58367,559.83009 199.12651,560.78486 C 195.64902,563.06339 180.55627,566.36411 173.4897,566.39151 L 167.90836,566.41315 L 161.41145,573.66315 C 157.83815,577.65065 153.47458,582.56199 151.71463,584.57724 L 148.51472,588.24133 L 151.13834,592.07724 C 153.32415,595.27305 153.67415,596.67453 153.2358,600.47585 L 152.70965,605.03855 L 159.66776,609.33221 C 173.4151,617.81532 178.57105,625.47451 178.57105,637.41315 C 178.57105,649.84472 171.7117,659.62327 158.39142,666.18082 C 146.59784,671.98678 124.72986,673.96832 106.46675,670.8859 z M 226.17135,508.64784 C 229.49873,506.42608 230.93439,496.12407 228.7257,490.31833 C 227.50911,487.12041 224.89574,484.41315 223.0253,484.41315 C 219.83554,484.41315 217.04634,494.43377 218.49591,500.68572 C 220.07342,507.48949 223.14077,510.67141 226.17135,508.64784 z M 255.08444,504.37098 C 256.46238,500.02944 252.59317,486.41315 249.98152,486.41315 C 246.87368,486.41315 247.55503,496.61392 251.12385,503.51525 C 252.88599,506.92287 254.18539,507.20362 255.08444,504.37098 z M 233.04537,392.46281 C 235.58657,387.54867 234.81283,382.13768 231.91306,384.54427 C 230.68239,385.56564 229.89624,395.41315 231.04537,395.41315 C 231.30625,395.41315 232.20625,394.0855 233.04537,392.46281 z M 194.35431,379.62805 C 193.46122,367.14592 188.2513,361.14749 185.02002,368.88103 C 184.22309,370.78836 183.57105,374.66215 183.57105,377.48944 C 183.57105,382.43943 183.66148,382.60727 186.01074,382.01764 C 187.77199,381.5756 189.23192,382.09283 191.26074,383.87763 C 192.80641,385.23741 194.24402,386.36417 194.45542,386.38155 C 194.66682,386.39893 194.62132,383.35986 194.35431,379.62805 z M 212.57105,380.38103 C 212.57105,377.10651 209.73356,371.19468 208.52145,371.9438 C 207.52008,372.56268 208.04705,379.63735 209.24542,381.66315 C 210.17914,383.24157 212.57105,382.31942 212.57105,380.38103 z"
+         style="fill:#ffffff;fill-opacity:0.19900498" />
+    </g>
+    <path
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.53553390999999980;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 149.04328,169.78066 C 147.81001,169.02867 145.93228,166.88202 144.87055,165.01033 C 139.36428,155.30354 137.49703,153.28841 137.49703,157.0528 C 137.49703,162.67494 122.18044,150.31338 117.58801,140.98483 C 115.87286,137.50081 115.35727,135.54851 115.42041,132.77667 C 115.534,127.79006 118.54991,122.01315 122.48265,119.24911 C 125.14186,117.38015 126.19317,117.10725 131.75917,116.84113 C 139.47646,116.47216 141.66017,117.1403 148.94133,122.0982 C 154.30351,125.74943 156.58891,126.67927 156.58891,125.20967 C 156.58891,124.83089 155.59737,122.04665 154.38548,119.02249 C 150.18568,108.54217 149.13935,102.64197 150.24892,95.696271 C 151.78318,86.092397 156.31047,81.142395 162.09485,82.744381 C 165.87669,83.791761 166.96102,84.597644 165.20599,85.056598 C 163.12687,85.6003 161.40719,88.672933 161.66866,91.376874 L 161.89571,93.725013 L 163.14424,91.437169 C 163.90099,90.050519 165.15372,88.967599 166.32449,88.688009 C 167.38691,88.434299 168.66325,87.905687 169.16079,87.513321 C 170.37091,86.559016 172.69223,88.786841 176.8914,94.932539 C 180.24524,99.841041 181.47729,100.62385 182.62398,98.574825 C 183.57291,96.879183 186.39981,97.830659 187.88552,100.34575 C 189.48029,103.04547 189.46021,103.13654 187.21214,103.40077 C 184.46898,103.72316 183.91851,106.69218 184.40849,118.52229 L 184.82053,128.47033 L 182.37198,132.10621 C 178.35998,138.06368 179.21364,138.70716 185.48192,134.45045 C 189.78577,131.52775 194.20423,129.4339 196.06784,129.4339 C 196.68517,129.4339 198.48253,130.84141 200.06193,132.56171 C 201.70449,134.35078 203.83527,135.88205 205.0403,136.13936 C 209.89974,137.17699 210.30429,138.16365 208.18864,143.81823 C 205.3405,151.43062 196.81482,158.48192 187.44112,160.97785 C 176.9811,163.76303 167.04551,160.3627 157.25528,150.64711 C 153.44155,146.86246 151.16357,143.84857 149.30033,140.12228 C 146.18011,133.8822 145.99775,132.26233 148.41545,132.26233 C 151.5847,132.26233 151.06678,130.2121 147.27404,127.74403 C 144.45664,125.91064 141.4719,126.10253 138.58762,128.30247 C 135.3523,130.77017 135.30842,132.26233 138.47111,132.26233 C 139.78467,132.26233 141.23862,132.71926 141.70211,133.27774 C 142.19511,133.87178 142.95508,139.74923 143.53346,147.44132 C 144.62629,161.97519 145.21606,163.9825 149.30563,167.08734 C 152.87809,169.7996 156.08851,169.65776 162.33589,166.51163 C 165.0884,165.12549 167.50169,164.15261 167.69876,164.34968 C 168.09925,164.75015 161.56555,168.97621 158.50019,170.29944 C 155.59114,171.55519 151.59394,171.33592 149.04329,169.78066 L 149.04328,169.78066 z M 174.57642,130.73938 C 175.56898,130.28714 177.08077,128.47503 177.96846,126.67351 C 179.36277,123.84383 179.56988,122.32605 179.56988,114.93822 C 179.56988,107.18584 179.41619,106.17844 177.79051,103.27492 C 174.47117,97.346468 169.93517,97.24388 166.73445,103.02485 C 164.77185,106.56961 164.15017,109.64869 164.25012,115.32942 C 164.39689,123.67183 167.65434,129.95251 172.64232,131.5104 C 172.72126,131.53506 173.5916,131.18809 174.57643,130.73937 L 174.57642,130.73938 z"
+       id="path5266" />
+    <path
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 204.95502,121.83261 C 204.95502,118.66468 206.55782,115.74906 207.27373,117.61469 C 207.77475,118.92034 206.61624,123.54093 205.63594,124.14678 C 205.24429,124.38884 204.95502,123.40578 204.95502,121.83261 z"
+       id="path5777" />
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-hour-hand.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,105 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="354.33069"
+   height="354.33069"
+   id="svg2493"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="mouse-clock-hour-hand.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2495">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2501" />
+    <inkscape:perspective
+       id="perspective2510"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4078"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <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="1.4"
+     inkscape:cx="103.27881"
+     inkscape:cy="122.61408"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4084"
+     showgrid="false"
+     units="cm"
+     inkscape:window-width="1680"
+     inkscape:window-height="990"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4" />
+  <metadata
+     id="metadata2498">
+    <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:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g4084"
+       transform="matrix(-0.1729112,0.6174197,-0.6174197,-0.1729112,161.54732,181.34073)"
+       style="fill:#000000">
+      <path
+         style="fill:#000000;fill-opacity:1"
+         d="M -184.9402,-14.123469 C -185.4383,-11.653333 -185.25159,-8.6857426 -184.46026,-6.4952357 C -183.74788,-4.5233312 -183.44956,-2.5371694 -183.79728,-2.081539 C -184.14501,-1.6259169 -185.16855,-0.43278806 -186.07179,0.5698477 C -187.82563,2.516692 -187.80057,7.5721204 -186.02111,10.798854 C -185.19115,12.303847 -185.35191,12.783061 -186.8459,13.257433 C -195.23789,15.922091 -198.28499,19.473431 -197.64037,25.838191 C -196.99997,32.161169 -192.77446,35.110907 -184.96055,34.689681 C -178.25706,34.328307 -164.92369,31.142901 -160.62362,28.875467 C -158.03558,27.510787 -153.95802,26.529199 -149.9588,26.308141 C -142.54482,25.898331 -138.98091,23.959461 -135.08697,18.217452 C -132.6217,14.582157 -132.43263,14.456928 -130.94792,15.475862 C -128.32662,17.274822 -125.29908,16.201145 -123.1113,12.696734 C -121.24033,9.6997643 -120.53612,9.3690514 -105.61469,4.4799411 C -97.063742,1.6781737 -81.07556,-2.4981774 -70.085396,-4.8008329 C -59.095232,-7.1034884 -48.049618,-9.4853717 -45.539584,-10.09392 C -39.473775,-11.564546 -26.201356,-12.63258 -19.970115,-12.15149 C -15.910127,-11.838032 -14.229086,-12.258259 -11.11753,-14.364417 C -7.6857213,-16.687349 -7.2243973,-17.405907 -6.7864072,-21.110499 C -5.8776346,-28.797102 -8.7677052,-33.647799 -14.632325,-34.27911 C -16.607367,-34.491716 -22.770515,-33.616735 -28.32821,-32.3347 C -33.885911,-31.052674 -40.670536,-29.711286 -43.405161,-29.353847 C -46.139782,-28.996399 -52.82847,-27.680884 -58.268908,-26.43047 C -63.709343,-25.180057 -70.225288,-23.946722 -72.748779,-23.689717 C -80.366347,-22.913897 -92.156488,-20.233777 -108.62135,-15.535209 L -124.24174,-11.077626 L -127.14533,-14.382267 C -131.30541,-19.116964 -134.38124,-19.899931 -137.49602,-17.017079 C -139.91021,-14.782645 -140.04974,-14.794767 -142.4513,-17.447567 C -146.29638,-21.694907 -153.6037,-23.10945 -157.62802,-20.385462 C -158.33801,-19.904883 -160.44506,-19.950748 -162.31033,-20.487385 C -167.0063,-21.838408 -177.26245,-21.360662 -181.00998,-19.616324 C -183.70247,-18.363066 -184.23551,-17.618077 -184.9402,-14.123469 z M -173.08739,-18.100647 C -167.40573,-18.764556 -162.4179,-17.835778 -159.27924,-15.529432 C -156.90499,-13.784792 -156.74161,-13.456372 -157.03878,-11.025557 C -157.31201,-8.7904275 -157.99623,-8.0635647 -161.67602,-6.0993306 C -165.55233,-4.0302005 -174.65174,-2.7753793 -179.22555,-3.679227 C -181.32522,-4.0941493 -183.22831,-8.3343208 -182.99494,-12.0776 C -182.81494,-14.96471 -182.39114,-15.611559 -180.07932,-16.527721 C -178.59157,-17.117311 -175.4452,-17.825124 -173.08739,-18.100647 z M -148.21315,-19.006947 C -145.79329,-18.212505 -144.66847,-17.093295 -142.3386,-13.161719 C -140.75372,-10.487259 -139.35185,-8.1430853 -139.22336,-7.9524526 C -139.09485,-7.7618117 -138.71786,-8.8922533 -138.38558,-10.464535 C -137.3652,-15.29284 -135.65145,-16.75315 -132.29771,-15.652124 C -129.14102,-14.615785 -126.23532,-10.705969 -127.82309,-9.631235 C -130.26811,-7.9762393 -129.45266,0.86427064 -126.26358,7.2756834 C -124.60931,10.601461 -124.53452,11.397839 -125.76704,12.562261 C -127.46955,14.170714 -129.94796,13.814572 -132.34221,11.617426 C -134.25929,9.8581831 -135.88241,10.330598 -134.78127,12.327318 C -134.38717,13.041948 -134.4923,13.916063 -135.0149,14.269799 C -135.53749,14.623534 -136.64915,16.244481 -137.48523,17.871889 C -140.35483,23.457448 -151.0093,26.06884 -156.25987,22.47353 C -158.25315,21.108631 -158.82723,20.136146 -160.02286,16.098906 C -162.11856,9.0225273 -163.02576,-0.61086403 -161.72326,-1.9570895 C -157.90276,-5.9058005 -153.56207,-3.4279293 -151.6283,3.8055793 C -150.69073,7.312684 -150.31609,7.973008 -149.55578,7.4583699 C -149.04534,7.112865 -149.03894,5.592587 -149.54155,4.0799711 C -150.4232,1.4267048 -150.30173,1.2239578 -146.09504,-1.6725985 C -143.69686,-3.3239075 -141.94085,-5.0039662 -142.19281,-5.4060555 C -142.87713,-6.4981017 -147.11338,-4.5683685 -148.92651,-2.3386442 C -150.27097,-0.68529243 -150.66099,-0.65089726 -151.46813,-2.114512 C -151.99253,-3.0654116 -153.14592,-4.3604369 -154.03121,-4.9923373 C -155.30486,-5.9014381 -155.5215,-6.8445315 -155.06913,-9.5105523 C -154.7547,-11.363666 -155.00879,-13.807098 -155.63377,-14.940397 C -156.25877,-16.073697 -156.71109,-17.348849 -156.63894,-17.774063 C -156.39171,-19.231103 -151.20683,-19.989776 -148.21315,-19.006947 z M -177.39426,-0.01085863 C -175.89498,0.21953122 -172.56615,0.16567231 -169.99685,-0.13055662 L -165.32538,-0.66915866 L -164.73177,4.1664136 C -164.40529,6.825977 -164.62961,9.3372169 -165.23027,9.7469461 C -167.54172,11.32365 -179.07813,12.775103 -181.69296,11.818191 C -183.95947,10.988749 -184.54794,10.322901 -185.06207,8.0061015 C -186.23269,2.7310049 -182.81368,-0.84367298 -177.39426,-0.01085863 z M -183.98489,15.369869 C -181.90259,15.27943 -178.68019,15.191388 -176.824,15.17422 C -174.9678,15.157059 -171.21627,14.584413 -168.48724,13.901673 C -163.85946,12.743914 -163.4726,12.827892 -162.74173,15.148982 C -162.31073,16.517733 -161.223,19.449728 -160.32456,21.664518 L -158.69101,25.691414 L -161.75685,26.983146 C -165.65498,28.625549 -182.03423,32.391494 -185.78958,32.508783 C -192.38285,32.714731 -196.31822,29.01621 -195.54057,23.344649 C -195.01649,19.522425 -189.33611,15.602289 -183.98489,15.369869 z"
+         id="path4092" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M -158.51076,-14.741593 C -162.46585,-18.153258 -168.77614,-19.024725 -176.50359,-17.226447 C -180.81045,-16.224189 -181.63064,-15.861353 -182.30431,-14.660368 C -183.41576,-12.678906 -182.68342,-7.3217365 -181.01607,-5.2365003 C -179.9866,-3.9490258 -179.22589,-3.6663598 -176.55034,-3.5770856 C -170.71583,-3.3824242 -163.41659,-4.9513254 -160.19698,-7.0920994 C -159.30695,-7.6839121 -158.32594,-8.4726271 -158.01697,-8.8448107 C -157.41158,-9.5740704 -156.87285,-12.157376 -157.12873,-13.104077 C -157.21507,-13.423524 -157.83698,-14.160407 -158.51075,-14.741597 L -158.51076,-14.741593 z"
+         id="path4659" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M -165.89843,-0.43856362 C -166.13559,-0.45089521 -166.9083,-0.38144149 -167.61555,-0.2842283 C -170.33139,0.089094265 -174.4825,0.27403217 -176.95745,0.13196729 C -181.91619,-0.15266267 -184.59409,1.4739286 -185.06857,5.0587391 C -185.25696,6.4820865 -184.78089,9.149255 -184.17707,10.053297 C -183.59542,10.924156 -181.69976,11.794048 -180.12444,11.912978 C -176.66076,12.174489 -167.49998,10.87895 -165.85737,9.8952983 C -165.12034,9.4539438 -165.00382,9.2100944 -164.83411,7.753931 C -164.72851,6.8479017 -164.80364,4.7284232 -165.00158,3.0297466 C -165.43153,-0.66008357 -165.36711,-0.41093601 -165.89843,-0.43856362 L -165.89843,-0.43856362 z"
+         id="path4661" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M -161.04636,19.853843 C -163.35356,13.8313 -163.38417,13.766906 -164.07473,13.483378 C -164.49042,13.312697 -165.93464,13.491137 -168.69881,14.054701 C -173.70386,15.07514 -175.21474,15.243417 -180.35417,15.352785 C -183.75951,15.425264 -184.89754,15.564404 -187.04504,16.170862 C -192.95616,17.840163 -196.15068,21.702411 -195.33859,26.197993 C -195.02887,27.912602 -194.18136,29.307466 -192.79265,30.388219 C -190.65805,32.049461 -187.61655,32.636046 -183.79126,32.124231 C -178.48318,31.414055 -164.967,28.101611 -161.01328,26.542002 C -158.88657,25.703089 -158.88199,25.69936 -159.11335,24.997642 C -159.24091,24.610752 -160.11075,22.296047 -161.04636,19.853843 z"
+         id="path4663" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M -128.51606,-12.733022 C -130.2038,-14.882679 -133.06581,-16.181401 -134.95153,-15.653298 C -136.61998,-15.18604 -137.31554,-14.040497 -138.38998,-9.9904754 C -138.69771,-8.8305686 -139.01919,-7.8620263 -139.10438,-7.8381693 C -139.18958,-7.8143067 -140.24992,-9.4370551 -141.46069,-11.444284 C -143.97563,-15.613587 -144.98649,-16.95945 -146.27043,-17.847971 C -148.31802,-19.264997 -151.68548,-19.643535 -154.70952,-18.796641 C -156.50708,-18.293224 -156.82941,-17.766605 -156.17262,-16.406217 C -155.13828,-14.263862 -154.76347,-12.105329 -154.9716,-9.4895212 C -155.08068,-8.1186224 -155.10437,-6.7628414 -155.02422,-6.4766968 C -154.94409,-6.1905481 -154.36139,-5.4790479 -153.72933,-4.8955865 C -153.09728,-4.3121251 -152.1397,-3.22882 -151.60137,-2.4882427 C -151.06306,-1.7476762 -150.53139,-1.1673139 -150.4199,-1.1985352 C -150.30841,-1.2297576 -149.65331,-1.8148935 -148.96412,-2.4988334 C -146.29304,-5.1495759 -142.44786,-6.6536181 -142.04252,-5.2062353 C -141.94185,-4.846798 -143.75587,-3.2422599 -146.6789,-1.1052281 C -148.15321,-0.02736369 -149.49024,1.1433135 -149.65012,1.4962389 C -149.8676,1.9763884 -149.83524,2.5271402 -149.52162,3.6835883 C -148.91265,5.929178 -148.9723,7.1954874 -149.70196,7.5122192 C -150.41333,7.8210244 -150.48418,7.6934945 -151.7826,3.7661537 C -153.27256,-0.74056983 -154.65456,-2.6763974 -156.92485,-3.4368513 C -157.75888,-3.7162209 -158.20743,-3.6870044 -159.30941,-3.2815323 C -161.78551,-2.3704739 -162.35721,-1.1939129 -162.16188,2.5889204 C -161.92702,7.1375311 -161.45116,9.9349425 -160.05925,14.949834 C -158.82273,19.404848 -158.65698,19.854071 -157.92709,20.728604 C -155.38634,23.772881 -150.87963,24.711982 -145.72175,23.271981 C -141.36916,22.056794 -139.23675,20.525617 -137.14985,17.116914 C -136.59117,16.204368 -135.79998,15.01425 -135.39168,14.472187 C -134.71023,13.567517 -134.67306,13.37997 -134.93892,12.187361 C -135.20556,10.991263 -135.18054,10.867303 -134.62379,10.626026 C -134.12417,10.40951 -133.66896,10.603105 -132.00524,11.739712 C -130.89766,12.496405 -129.59631,13.19318 -129.11336,13.288126 C -127.28393,13.647788 -125.23411,12.467802 -125.09601,10.975512 C -125.04934,10.47117 -125.39286,9.4782462 -126.42577,7.1318693 C -128.08436,3.3642209 -128.64989,1.4485793 -129.07035,-1.826288 C -129.57991,-5.7950812 -129.22104,-8.2987773 -127.94237,-9.6958785 C -127.34031,-10.353703 -127.55963,-11.514835 -128.51605,-12.733025 L -128.51606,-12.733022 z"
+         id="path4665" />
+    </g>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-minute-hand.svg	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,105 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="354.33069"
+   height="354.33069"
+   id="svg2493"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="mouse-clock-minute-hand.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2495">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2501" />
+    <inkscape:perspective
+       id="perspective2510"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4078"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <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="1.4"
+     inkscape:cx="103.27881"
+     inkscape:cy="122.61408"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4084"
+     showgrid="false"
+     units="cm"
+     inkscape:window-width="1680"
+     inkscape:window-height="990"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4" />
+  <metadata
+     id="metadata2498">
+    <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:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g4084"
+       transform="matrix(-0.1729112,0.6174197,-0.6174197,-0.1729112,161.54732,181.34073)"
+       style="fill:#000000">
+      <path
+         style="fill:#000000;fill-opacity:1"
+         d="M -196.95918,66.959164 C -198.87867,65.166084 -200.37463,62.565154 -200.80456,60.273434 C -201.19158,58.210414 -202.01392,56.371004 -202.63197,56.185844 C -203.25002,56.000694 -204.98502,55.580104 -206.48751,55.251204 C -209.40492,54.612564 -212.2557,50.348494 -212.2557,46.623414 C -212.2557,44.885984 -212.69426,44.574614 -214.5057,45.025944 C -224.68087,47.561104 -229.84567,46.309544 -232.8022,40.592244 C -235.73932,34.912474 -233.05785,30.028404 -224.7557,25.936254 C -217.63336,22.425643 -202.06331,17.516513 -196.33625,16.975803 C -192.88936,16.650373 -188.12355,15.155333 -183.87134,13.065543 C -175.98834,9.1913634 -171.20781,8.7933334 -163.92271,11.404603 C -159.31048,13.057813 -159.04414,13.055503 -158.09199,11.354113 C -156.41095,8.3502634 -152.67617,7.5301234 -148.42473,9.2312034 C -144.78892,10.685973 -143.87412,10.563273 -125.69607,6.1827234 C -115.27887,3.6723734 -96.4057,-1.9143566 -83.7557,-6.2322366 C -71.1057,-10.550117 -58.353404,-14.832947 -55.417254,-15.749627 C -48.321686,-17.964904 -34.019356,-24.619304 -27.863656,-28.569414 C -23.852886,-31.143124 -21.879256,-31.746404 -17.470286,-31.746404 C -12.607526,-31.746404 -11.722656,-31.404854 -9.1627563,-28.539834 C -3.8512663,-22.595244 -4.0731363,-16.873034 -9.7650763,-13.005257 C -11.681966,-11.702697 -18.539036,-8.9313066 -25.003016,-6.8466166 C -31.466996,-4.7619166 -39.230706,-2.0289766 -42.255706,-0.77340661 C -45.280706,0.48215339 -52.930704,3.1822534 -59.255704,5.2268034 C -65.5807,7.2713534 -73.0057,9.9422434 -75.7557,11.162103 C -84.05703,14.844443 -97.74724,19.300213 -117.4094,24.719183 L -136.0631,29.860214 L -137.17865,34.290434 C -138.77693,40.637784 -141.50508,43.046184 -146.35933,42.395094 C -150.12174,41.890444 -150.25882,41.980034 -151.22728,45.576624 C -152.77786,51.335044 -159.51272,56.682164 -165.21504,56.682164 C -166.22107,56.682164 -168.36904,57.919664 -169.9883,59.432164 C -174.06489,63.239984 -184.91912,68.674294 -189.77841,69.340334 C -193.26967,69.818864 -194.24358,69.495904 -196.95918,66.959164 z M -182.46625,63.558094 C -176.22609,60.883244 -171.6081,57.264314 -169.68195,53.539544 C -168.22491,50.721934 -168.24321,50.352884 -169.933,48.478524 C -171.48676,46.755054 -172.60634,46.533354 -177.52086,46.975994 C -182.69785,47.442284 -192.80071,51.565144 -197.0057,54.927534 C -198.93606,56.471084 -198.48696,61.118454 -196.11617,64.132424 C -194.28763,66.457034 -193.48228,66.759654 -190.57561,66.214354 C -188.70505,65.863434 -185.05584,64.668114 -182.46625,63.558094 z M -156.2851,50.166104 C -154.24031,48.121314 -153.71656,46.540414 -153.54972,41.909624 C -153.43623,38.759524 -153.32365,35.991224 -153.29954,35.757854 C -153.27543,35.524474 -152.2432,36.260254 -151.0057,37.392914 C -147.20547,40.871184 -144.60627,41.123634 -141.77235,38.289724 C -139.10495,35.622324 -138.33157,30.682164 -140.58139,30.682164 C -144.04591,30.682164 -148.23492,22.786433 -148.5926,15.582073 C -148.77814,11.844973 -149.15412,11.132943 -151.08842,10.855403 C -153.76032,10.472023 -156.11492,12.181673 -157.33512,15.391063 C -158.31214,17.960813 -160.2557,18.487263 -160.2557,16.182163 C -160.2557,15.357163 -160.86156,14.682163 -161.60206,14.682163 C -162.34256,14.682163 -164.41192,13.952073 -166.20063,13.059753 C -172.33978,9.9971334 -184.81909,13.864463 -188.19088,19.874503 C -189.47092,22.156113 -189.50989,23.300283 -188.4463,27.374504 C -186.58207,34.515704 -182.03657,43.130174 -179.92661,43.520724 C -173.7377,44.666254 -170.66888,40.113314 -172.7896,32.932164 C -173.81781,29.450444 -173.80698,28.682164 -172.72965,28.682164 C -172.00638,28.682164 -171.13471,29.956534 -170.79261,31.514104 C -170.19254,34.246224 -169.95184,34.347544 -163.96316,34.388844 C -160.54906,34.412394 -157.78121,34.825524 -157.8124,35.306914 C -157.89709,36.614324 -163.36614,37.402604 -166.5057,36.559904 C -168.83371,35.935044 -169.2557,36.128054 -169.2557,37.817714 C -169.2557,38.915474 -169.70888,40.660424 -170.26277,41.695374 C -171.05964,43.184334 -170.74654,44.100414 -168.76277,46.084184 C -167.38388,47.463074 -166.2557,49.661714 -166.2557,50.970044 C -166.2557,52.278374 -165.99683,53.607704 -165.68043,53.924104 C -164.59625,55.008274 -158.81475,52.695764 -156.2851,50.166104 z M -197.20352,50.801704 C -195.78765,49.754914 -192.32228,47.906024 -189.5027,46.693074 L -184.37617,44.487704 L -186.5152,40.084934 C -187.69167,37.663414 -189.35206,35.679994 -190.20497,35.677344 C -193.48712,35.667154 -206.21639,41.011414 -208.3699,43.303724 C -210.23654,45.290674 -210.46485,46.185264 -209.67703,48.425414 C -207.88326,53.525994 -202.32145,54.585554 -197.20352,50.801704 z M -212.7557,41.622174 C -210.5557,40.513334 -207.1807,38.753744 -205.2557,37.711974 C -203.3307,36.670194 -199.13398,35.016894 -195.92966,34.037974 C -190.49588,32.377944 -190.14451,32.087224 -190.71113,29.720134 C -191.04526,28.324254 -191.59129,25.240554 -191.92452,22.867473 L -192.53039,18.552773 L -196.42877,19.211403 C -201.38544,20.048823 -220.42859,26.203084 -224.37013,28.241344 C -231.29032,31.819904 -233.24634,37.168334 -229.21674,41.493604 C -226.50108,44.408524 -218.40938,44.471724 -212.7557,41.622174 z"
+         id="path4092" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M -169.33731,52.439968 C -171.47692,57.558485 -177.49205,61.881741 -186.48856,64.767085 C -191.50271,66.375215 -192.55546,66.536908 -193.93393,65.910631 C -196.20822,64.877362 -198.50092,59.957182 -197.96706,57.255484 C -197.63744,55.58739 -197.01337,54.916909 -194.30352,53.319431 C -188.39419,49.835855 -179.97003,47.001345 -175.42987,46.96896 C -174.17478,46.960022 -172.71377,47.064838 -172.18319,47.201901 C -171.14358,47.47047 -169.11777,49.335565 -168.84311,50.27701 C -168.75042,50.594677 -168.97281,51.568009 -169.3373,52.439966 L -169.33731,52.439968 z"
+         id="path4659" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M -185.09866,44.619931 C -185.33634,44.765242 -186.17315,45.146542 -186.95822,45.467262 C -189.97286,46.698782 -194.36125,48.905371 -196.83409,50.433088 C -201.78861,53.493973 -205.47725,53.650361 -208.00664,50.906798 C -209.01093,49.817465 -210.03738,47.304432 -209.92877,46.200872 C -209.82415,45.137818 -208.36317,43.327883 -206.80542,42.331524 C -203.38037,40.140794 -193.19101,36.017237 -190.93643,35.909462 C -189.92482,35.861103 -189.66584,35.999792 -188.66215,37.127339 C -188.03764,37.828896 -186.90915,39.653379 -186.1468,41.193988 C -184.49086,44.540477 -184.56615,44.29437 -185.09866,44.619931 L -185.09866,44.619931 z"
+         id="path4661" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M -191.63897,24.800321 C -190.59264,31.175979 -190.58758,31.247528 -191.13877,31.878813 C -191.47056,32.258829 -193.06226,32.930613 -196.23503,34.029715 C -201.97993,36.019848 -203.63462,36.738103 -208.99977,39.570593 C -212.55467,41.44736 -213.80807,41.97795 -216.36897,42.690103 C -223.41798,44.650346 -228.9118,43.221306 -230.63194,38.980028 C -231.288,37.36241 -231.20724,35.707581 -230.38933,34.008856 C -229.1321,31.397715 -226.32763,29.173939 -222.08943,27.427538 C -216.2084,25.004152 -200.37745,20.097799 -195.41052,19.159138 C -192.73881,18.654233 -192.73196,18.65476 -192.57139,19.376304 C -192.48286,19.774124 -192.06327,22.214926 -191.63897,24.800321 z"
+         id="path4663" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M -139.53143,33.683974 C -140.04966,36.451422 -142.26372,39.171723 -144.50992,39.800782 C -146.49732,40.357362 -147.86684,39.790155 -151.27999,36.996903 C -152.25751,36.196935 -153.14033,35.565661 -153.24181,35.594083 C -153.3433,35.622504 -153.51399,37.590007 -153.62113,39.966324 C -153.84366,44.902267 -154.12085,46.608853 -154.94005,48.08637 C -156.24646,50.442699 -159.50565,52.677063 -163.10777,53.685853 C -165.24897,54.285505 -165.88121,54.026219 -165.9776,52.508884 C -166.1294,50.119371 -166.97091,48.091539 -168.67411,46.011011 C -169.56672,44.920638 -170.36262,43.794386 -170.44275,43.508238 C -170.52289,43.22209 -170.32651,42.292405 -170.00635,41.442272 C -169.68619,40.592138 -169.31457,39.136585 -169.18052,38.207705 C -169.04648,37.278843 -168.82813,36.488433 -168.69533,36.45124 C -168.56253,36.414049 -167.55364,36.533177 -166.45336,36.715969 C -162.18899,37.424405 -157.36567,36.500794 -157.77102,35.053413 C -157.87168,34.693975 -160.65641,34.377337 -164.88843,34.24411 C -167.02296,34.176918 -169.06866,33.953592 -169.43444,33.747877 C -169.93205,33.467992 -170.21205,32.986594 -170.5465,31.835982 C -171.19593,29.601721 -171.97803,28.571147 -172.91113,28.72008 C -173.82084,28.865264 -173.82137,29.012783 -172.92637,33.053104 C -171.89932,37.689468 -172.22376,40.103191 -174.13356,42.0343 C -174.83515,42.743726 -175.31459,42.974396 -176.68235,43.260588 C -179.75562,43.903656 -181.01498,43.239889 -182.96594,39.94873 C -185.31185,35.991329 -186.41263,33.36893 -187.83,28.361167 C -189.08913,23.912486 -189.17372,23.440533 -188.91824,22.290043 C -188.02892,18.28516 -183.91322,14.931313 -177.77189,13.20692 C -172.58939,11.751763 -169.51788,11.825557 -165.42498,13.503577 C -164.32927,13.952801 -162.83573,14.503075 -162.10599,14.726423 C -160.88809,15.09917 -160.74303,15.235686 -160.33873,16.389524 C -159.93325,17.546738 -159.8369,17.636709 -159.12515,17.522737 C -158.48643,17.420453 -158.1269,16.998688 -157.05701,15.09652 C -156.34477,13.830178 -155.3985,12.503947 -154.95421,12.149322 C -153.27125,10.806001 -150.48479,10.631564 -149.49316,11.807469 C -149.15802,12.204881 -148.94748,13.235047 -148.67812,15.795261 C -148.24561,19.906278 -147.73909,21.838444 -146.30947,24.830692 C -144.57693,28.456985 -142.782,30.3575 -140.66768,30.804378 C -139.67215,31.014789 -139.23775,32.115689 -139.53142,33.683972 L -139.53143,33.683974 z"
+         id="path4665" />
+    </g>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/style/defaulttheme/hbcolorgroup.css	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+/* Colors for different states for different parts of UI */
+
+/* Each CSS variable here referes to a color group having colors for enabled, disabled, focused and non-focused states in that order */
+
+@variables
+{
+snsrforeground:#FFFFFF,#FFFFFF,#FFFFFF,#FFFFFF;
+snsrbackground:#000000,#000000,#000000,#000000;
+}
+
+SnsrLabel
+{
+background:var(snsrbackground);
+foreground:var(snsrforeground);
+text:var(snsrforeground);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/style/theme1/hbcolorgroup.css	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+/* Colors for different states for different parts of UI */
+
+/* Each CSS variable here referes to a color group having colors for enabled, disabled, focused and non-focused states in that order */
+
+@variables
+{
+snsrforeground:#BB0000,#BB0000,#BB0000,#BB0000;
+snsrbackground:#FFE100,#FFE100,#FFE100,#FFE100;
+}
+
+SnsrLabel
+{
+background:var(snsrbackground);
+foreground:var(snsrforeground);
+text:var(snsrforeground);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrapplication/themes/style/theme2/hbcolorgroup.css	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,16 @@
+/* Colors for different states for different parts of UI */
+
+/* Each CSS variable here referes to a color group having colors for enabled, disabled, focused and non-focused states in that order */
+
+@variables
+{
+snsrforeground:#0000BB,#0000BB,#0000BB,#0000BB;
+snsrbackground:#880088,#880088,#880088,#880088;
+}
+
+SnsrLabel
+{
+background:var(snsrbackground);
+foreground:var(snsrforeground);
+text:var(snsrforeground);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrutils/inc/snsrlabel.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Screensaver label.
+*
+*/
+
+#ifndef SNSRLABEL_H
+#define SNSRLABEL_H
+
+#include <hblabel.h>
+
+#include "snsrutils_global.h"
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrUtils)
+
+class SNSRUTILS_EXPORT SnsrLabel : public HbLabel
+{
+
+    Q_OBJECT
+    
+public:
+    
+    SnsrLabel(QGraphicsItem *parent = 0);
+    SnsrLabel(const QString &displayText, QGraphicsItem *parent = 0);
+    ~SnsrLabel();
+    
+protected:
+
+    virtual void changeEvent(QEvent *event);
+
+private:
+
+    void setThemedTextColor();
+
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrUtils)
+
+};
+
+#endif // SNSRLABEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrutils/inc/snsrutils_global.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,33 @@
+/*
+* 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: snsrutils_global.h
+*
+*/
+
+#ifndef SNSRUTILS_GLOBAL_H
+#define SNSRUTILS_GLOBAL_H
+
+#include <qglobal.h>
+
+#ifdef SNSRUTILS_LIB
+    #define SNSRUTILS_EXPORT Q_DECL_EXPORT
+#else
+    #ifdef SNSRUTILS_TEST
+        #define SNSRUTILS_EXPORT
+    #else
+        #define SNSRUTILS_EXPORT Q_DECL_IMPORT
+    #endif
+#endif
+
+#endif // SNSRUTILS_GLOBAL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrutils/snsrutils.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,26 @@
+#
+# 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:
+#
+
+HEADERS += ./inc/*.h
+
+SOURCES += ./src/*.cpp
+
+DEPENDPATH += . \
+              inc \
+              src
+
+INCLUDEPATH += . \
+               inc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrutils/snsrutils.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,29 @@
+#
+# 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:
+#
+
+TEMPLATE = lib
+
+include (../common.pri)
+
+CONFIG += hb 
+
+DEFINES += SNSRUTILS_LIB
+
+symbian: {
+    TARGET.UID3 = 0x20027056
+}
+
+include(snsrutils.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/snsrutils/src/snsrlabel.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  Screensaver label.
+*
+*/
+
+#include "snsrlabel.h"
+
+#include <hbevent.h>
+#include <hbcolorscheme.h>
+
+const QString snsrForegroundColorRole("snsrforeground");
+
+/*!
+    \class SnsrLabel
+    \ingroup group_snsrutils
+    \brief Screensaver label.
+ */
+
+/*!
+    Constructs a new SnsrLabel.
+    \param parent Graphics parent item.
+ */
+SnsrLabel::SnsrLabel(QGraphicsItem *parent)
+    : HbLabel(parent)
+{
+    setThemedTextColor();
+}
+
+/*!
+    Constructs a new SnsrLabel.
+    \param displayText Text the label should display.
+    \param parent Graphics parent item.
+ */
+SnsrLabel::SnsrLabel(const QString &displayText, QGraphicsItem *parent)
+    : HbLabel(displayText, parent)
+{
+    setThemedTextColor();
+}
+
+/*!
+    Destructs the class.
+ */
+SnsrLabel::~SnsrLabel()
+{
+}
+
+/*!
+    \reimp
+ */
+void SnsrLabel::changeEvent(QEvent * event)
+{
+    if (event->type() == HbEvent::ThemeChanged) {
+        setThemedTextColor();
+    }
+    return HbLabel::changeEvent(event);
+}
+
+/*!
+    Sets the label's color to follow the theme.
+ */
+void SnsrLabel::setThemedTextColor()
+{
+    QColor textColor(HbColorScheme::color(snsrForegroundColorRole));
+    if (textColor.isValid()) {
+        setTextColor(textColor);
+    } else {
+        // fallback mechanism when color definition is missing in default theme
+        setTextColor(Qt::white);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/stateproviders/snsrdefaultstateprovider/inc/snsrdefaultstateprovider.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: Default Screensaver provider.
+*
+*/
+
+#ifndef SNSRDEFAULTSTATEPROVIDER_H
+#define SNSRDEFAULTSTATEPROVIDER_H
+
+#include <hsistateprovider.h>
+
+class QState;
+
+class SnsrDefaultStateProvider : public QObject,
+    public IHsStateProvider
+{
+
+    Q_OBJECT
+    Q_INTERFACES(IHsStateProvider)
+
+public:
+
+    SnsrDefaultStateProvider();
+    virtual ~SnsrDefaultStateProvider();
+
+    QList<HsStateToken> states();
+    QState *createState(const HsStateToken &token);
+
+private:
+
+    HsStateToken mSnsrRootStateToken;
+
+};
+
+#endif // SNSRDEFAULTSTATEPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/stateproviders/snsrdefaultstateprovider/inc/snsrrootstate.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Root Screensaver state.
+*
+*/
+
+#ifndef SNSRROOTSTATE_H
+#define SNSRROOTSTATE_H
+
+#include <screensaver.h>
+
+#include <QState>
+#include "snsrtest_global.h"
+
+SCREENSAVER_TEST_CLASS(T_SnsrDefaultStateProvider)
+
+class QGraphicsWidget;
+class HbMainWindow;
+class SnsrUserActivityServiceInterface;
+
+class SnsrRootState : public QState
+{
+    Q_OBJECT
+
+public:
+
+    SnsrRootState(QState *parent = 0);
+    virtual ~SnsrRootState();
+
+protected:
+
+    void onEntry(QEvent *event);
+    void onExit(QEvent *event);
+
+private slots:
+
+    void changeView(QGraphicsWidget *widget);
+    void screensaverFaulted();
+
+private:
+
+    Screensaver *mScreensaver;
+    QGraphicsWidget *mCurrentView;
+    HbMainWindow *mMainWindow;
+    SnsrUserActivityServiceInterface *mUserActivity;
+    SCREENSAVER_TEST_FRIEND_CLASS(T_SnsrDefaultStateProvider)
+
+};
+
+#endif // SNSRROOTSTATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/stateproviders/snsrdefaultstateprovider/resource/snsrdefaultstateprovider.manifest	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<stateprovider>
+    <state library="snsrdefaultstateprovider.dll" uri="screensaver.nokia.com/state/foreground"/>
+    <state library="snsrdefaultstateprovider.dll" uri="screensaver.nokia.com/state/background"/>
+</stateprovider>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/stateproviders/snsrdefaultstateprovider/snsrdefaultstateprovider.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: snsrdefaultstateprovider.pri
+#
+
+HEADERS += ./inc/*.h
+
+SOURCES += ./src/*.cpp
+
+DEPENDPATH += ./inc \
+              ./src
+
+INCLUDEPATH += ./inc
+INCLUDEPATH += ../../serviceproviders/snsruseractivityservice/inc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/stateproviders/snsrdefaultstateprovider/snsrdefaultstateprovider.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: snsrdefaultstateprovider.pro
+#
+
+TEMPLATE = lib
+CONFIG += plugin
+PLUGIN_SUBDIR = /snsrresources/plugins/stateproviders
+
+include(../../common.pri)
+
+LIBS += -lstatemodel \
+        -lscreensavermodel \
+        -lsnsruseractivityservice
+CONFIG += hb
+
+symbian: {
+TARGET.UID3 = 0x20027050
+# TODO: temporary until screensavermodel goes to platform API
+INCLUDEPATH += ../../../../homescreensrv/screensavermodel/inc
+}
+
+include(snsrdefaultstateprovider.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/stateproviders/snsrdefaultstateprovider/src/snsrdefaultstateprovider.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Default Screensaver provider.
+*
+*/
+
+#include "snsrdefaultstateprovider.h"
+
+#include <QState>
+
+#include "snsrrootstate.h"
+
+/*!
+    \class SnsrDefaultStateProvider
+    \ingroup group_snsrdefaultstateprovider
+    \brief Provides a default implementation for each screensaver state.
+
+    States are described in the snsrdefaultstateprovider.manifest file.
+*/
+
+/*!
+    Constructs a new SnsrDefaultStateProvider.
+*/
+SnsrDefaultStateProvider::SnsrDefaultStateProvider()
+{
+    mSnsrRootStateToken.mLibrary = "snsrdefaultstateprovider.dll";
+    mSnsrRootStateToken.mUri = "screensaver.nokia.com/state/root";
+}
+
+/*!
+    Destructs the class.
+*/
+SnsrDefaultStateProvider::~SnsrDefaultStateProvider()
+{
+}
+
+/*!
+    Returns contained states as a list of tokens.
+*/
+QList<HsStateToken> SnsrDefaultStateProvider::states()
+{
+    return QList<HsStateToken>() << mSnsrRootStateToken;
+}
+
+/*!
+    Creates a state based on the given token.
+    \param token - Identifies the state to be created.
+*/
+QState *SnsrDefaultStateProvider::createState(const HsStateToken& token)
+{
+    if ((token.mLibrary == mSnsrRootStateToken.mLibrary) &&
+        (token.mUri == mSnsrRootStateToken.mUri)) {
+            return new SnsrRootState();
+    }
+    return 0;
+}
+
+#ifndef COVERAGE_MEASUREMENT
+Q_EXPORT_PLUGIN2(snsrdefaultstateprovider, SnsrDefaultStateProvider)
+#endif // COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/stateproviders/snsrdefaultstateprovider/src/snsrrootstate.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  Root Screensaver state.
+*
+*/
+
+#include "snsrrootstate.h"
+
+#include <QDebug>
+#include <QEventTransition>
+
+#include <hbinstance.h>
+#include <hbmainwindow.h>
+#include <hbview.h>
+
+#include <screensaverfactory.h>
+
+#include "snsrtest_global.h"
+#include "snsruseractivityservice.h"
+
+/*!
+    \class SnsrRootState
+    \ingroup group_snsrdefaultstateprovider
+    \brief Root Screensaver state.
+ */
+
+/*!
+    Constructs a new SnsrRootState with parent.
+*/
+SnsrRootState::SnsrRootState(QState *parent) : 
+    QState(parent), mScreensaver(0), mCurrentView(0), mMainWindow(0)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrRootState::SnsrRootState")
+    
+    mMainWindow = HbInstance::instance()->allMainWindows().at(0);
+    // TODO: consider if this should be Screensaver's responsibility
+    mMainWindow->hideItems(Hb::AllItems);
+    // load screensaver plugin
+    mUserActivity = new SnsrUserActivityService();
+    mUserActivity->setInactivityPeriod(5); // 5 seconds inactivity period
+
+    ScreensaverFactory factory(QString("snsrresources/plugins/screensaverproviders"));
+    ScreensaverToken bigClockToken;
+    bigClockToken.mLibrary = QString("snsrbigclockscreensaverprovider.dll");
+    bigClockToken.mUri = QString("screensaver.nokia.com/screensaver/bigclock");
+    mScreensaver = factory.createScreensaver(bigClockToken);
+    if (mScreensaver) {
+        mScreensaver->setParent(this);
+    } else {
+        // TODO: error state
+    }
+    connect(mScreensaver, SIGNAL(viewChanged(QGraphicsWidget*)), SLOT(changeView(QGraphicsWidget*)));
+    connect(mScreensaver, SIGNAL(faulted()), SLOT(screensaverFaulted()));
+
+    // foreground state
+    QState *foregroundState = new QState(this);
+    connect(foregroundState, SIGNAL(entered()), mScreensaver, SLOT(foreground()));
+
+    // background state
+    QState *backgroundState = new QState(this);
+    connect(backgroundState, SIGNAL(entered()), mScreensaver, SLOT(background()));
+
+    // partial foreground state
+    QState *partialForegroundState = new QState(this);
+    connect(partialForegroundState, SIGNAL(entered()), mScreensaver, SLOT(partialForeground()));
+
+    //setup user inactivity behaviour
+    partialForegroundState->addTransition(mUserActivity, SIGNAL(active()), foregroundState);
+    foregroundState->addTransition(mUserActivity, SIGNAL(notActive()), partialForegroundState);
+
+    // power save state
+
+    // set up transitions
+    QEventTransition *toPartialForegroundTransition =
+        new QEventTransition(qApp, QEvent::ApplicationActivate);
+    toPartialForegroundTransition->setTargetState(partialForegroundState);
+    backgroundState->addTransition(toPartialForegroundTransition);
+
+    QEventTransition *toBackgroundTransition = 
+        new QEventTransition(qApp, QEvent::ApplicationDeactivate);
+    toBackgroundTransition->setTargetState(backgroundState);
+    partialForegroundState->addTransition(toBackgroundTransition);
+
+    QEventTransition *toBackgroundTransition2 =
+        new QEventTransition(qApp, QEvent::ApplicationDeactivate);
+    toBackgroundTransition2->setTargetState(backgroundState);
+    foregroundState->addTransition(toBackgroundTransition2);
+
+    setInitialState(partialForegroundState);
+    
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrRootState::SnsrRootState")
+}
+
+/*!
+    Destructs the class.
+*/
+SnsrRootState::~SnsrRootState()
+{
+    // mScreensaver deleted by parent
+}
+
+/*!
+    This function is called when the state is entered.
+*/
+void SnsrRootState::onEntry(QEvent *event)
+{
+    QState::onEntry(event);
+    qDebug() << objectName() << "- onEntry()";
+
+    mScreensaver->initialize();
+}
+
+/*!
+    This function is called when the state is exited.
+*/
+void SnsrRootState::onExit(QEvent *event)
+{
+    if (mCurrentView) {
+        mMainWindow->removeView(mCurrentView);
+    }
+
+    mScreensaver->close();
+
+    qDebug() << objectName() << "- onExit()";
+    QState::onExit(event);
+}
+
+/*!
+    Changes view in main window on widget.
+    \param widget Widget with new view.
+*/
+void SnsrRootState::changeView(QGraphicsWidget *widget)
+{
+    SCREENSAVER_TEST_FUNC_ENTRY("SnsrRootState::changeView")
+    
+    qDebug("SnsrRootState::changeView() - widget: 0x%X", (int)widget);
+
+    if (mCurrentView) {
+        mCurrentView->hide();
+        mMainWindow->removeView(mCurrentView);
+    }
+    mCurrentView = widget;
+    if (mCurrentView) {
+        mCurrentView->show();
+        mMainWindow->addView(mCurrentView);
+        mMainWindow->currentView()->setContentFullScreen(true);
+    }
+    
+    SCREENSAVER_TEST_FUNC_EXIT("SnsrRootState::changeView")
+}
+
+/*!
+    Invoked when screensaver faulted.
+*/
+void SnsrRootState::screensaverFaulted()
+{
+    qWarning() << "SnsrRootState::screensaverFaulted()";
+    // TODO: some error handling
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/screensaverapp/stateproviders/stateproviders.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: stateproviders.pro
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  = snsrdefaultstateprovider
--- a/sysdef_1_4_0.dtd	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
-  name CDATA #REQUIRED
-  level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
-  unitID ID #REQUIRED
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  bldFile CDATA #REQUIRED
-  priority CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
-  name CDATA #REQUIRED
-  version CDATA #REQUIRED
-  late (Y|N) #IMPLIED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y | N | y | n) #REQUIRED
-  targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  command CDATA #REQUIRED>  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_5_1.dtd	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,88 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED
+  span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+  name CDATA #REQUIRED
+  level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+  unitID ID #REQUIRED
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  bldFile CDATA #REQUIRED
+  priority CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  proFile CDATA #IMPLIED
+  qmakeArgs CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+  name CDATA #REQUIRED
+  version CDATA #REQUIRED
+  late (Y|N) #IMPLIED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+  name ID #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+  name ID #REQUIRED
+  abldTarget CDATA #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+  name ID #REQUIRED
+  abldOption CDATA #REQUIRED
+  description CDATA #REQUIRED
+  enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+  command CDATA #REQUIRED
+  targetList IDREFS #IMPLIED
+  unitParallel (Y | N | y | n) #REQUIRED
+  targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+  name CDATA #REQUIRED
+  cwd CDATA #REQUIRED
+  command CDATA #REQUIRED>  
--- a/taskswitcher/contextengine/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  Build info file for Context Services.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-
-// stub sis files
-../sis/stubs/tsctxsrv_stub.sis                          /epoc32/release/winscw/udeb/z/system/install/tsctxsrv_stub.sis
-
-// iby files
-../rom/tscontextservices.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(tscontextservices.iby)
-
-#include "../tsfswpreviewprovider/group/bld.inf"
-#include "../tsfswserver/group/bld.inf"
-
-#include "../tsctxutils/group/bld.inf"
--- a/taskswitcher/contextengine/rom/tscontextservices.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  Iby file for Context Services
-*
-*/
-
-#ifndef TSCONTEXTSERVICES_IBY
-#define TSCONTEXTSERVICES_IBY
-
-// Context Services binaries
-file=ABI_DIR/BUILD_DIR/tscontextservicesutils.dll    SHARED_LIB_DIR/tscontextservicesutils.dll
-
-// backup registration
-data=DATAZ_/private/20011417/backup_registration.xml    private/20011417/backup_registration.xml
-
-// stub sis
-data=ZSYSTEM/install/tsctxsrv_stub.sis    system/install/tsctxsrv_stub.sis
-
-#endif // TSCONTEXTSERVICES
--- a/taskswitcher/contextengine/sis/stubs/createstubs.bat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +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
-
-for %%f in (*.pkg) do makesis -s %%f
--- a/taskswitcher/contextengine/sis/stubs/tsctxsrv_stub.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /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: 
-;
-; ------------------------------------------------------------------------------
-; TS Context Services stub SIS package file.
-; Used to enable TS Context Services to be updated from ROM with a SIS package.
-; When you add new files into this stub, please remember to update
-; SIS stub with "makesis -s" command.
-; ------------------------------------------------------------------------------
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"tsctxutils"},(0x20019569),1,0,0,TYPE=SA
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-""-"Z:\sys\bin\tscontextservicesutils.dll"
Binary file taskswitcher/contextengine/sis/stubs/tsctxsrv_stub.sis has changed
--- a/taskswitcher/contextengine/trace/tslogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +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:  Defines all available logging macros.
-*
-*/
-
-
-#ifndef TSLOGLOGUTILS_H
-#define TSLOGLOGUTILS_H
-
-/**
- * @file
- * 
- * TAKING LOGGING INTO USE:
- * 
- * This step is needed to do once per component.
- * 
- * For each component that uses these common logging macros should specify
- * their own logging configuration file, which includes this file. In that
- * configuration file, following constants and macros must be defined.
- *  For example:
- * @code
- * 
- * _LIT( KTsLogFile, "text_file_for_logging.txt" );
- * _LIT( KTsLogPath, "folder_for_text_file" );
- * #define _TSLOG_LOG_COMPONENT_ID <some unique number here>
- * 
- * #include "tslogging.h"
- * 
- * @/code
- * 
- * KTsLogFile   : This is the name of the file, where all the logs for
- *                this components are being written.
- * 
- * KTsLogPath   : This is the folder name under c:\logs, where the file
- *                is to be stored. For example, if KTsLogPath is "test",
- *                log file is created into folder c:\logs\test.
- * 
- * _TSLOG_LOG_COMPONENT_ID  : Unique number id of the component. This is 
- *                            for filtering purposes.
- * 
- * _TSLOG_RDEBUG    : When defined tracing instead of file logging. 
- *                    Default is for file logging.
- * 
- * --------------------------------------------------------------------------
- * 
- * USING LOGGING:
- * 
- * Basically the use is simple, register function use with TSLOG_CONTEXT, 
- * then log function enter by any TSLOG_IN -macro, then possibly use TSLOG
- * -macros for function logging and finally TSLOG_OUT -macros for returning
- * from the function.
- * 
- * @code
- * TInt CGood::Example( TInt aSomething )
- *     {
- *     // Create log context class, which is maintained for lifetime of the 
- *     // method. 
- *     TSLOG_CONTEXT( Example, TSLOG_LOCAL );
- * 
- *     // Indicate we are entering the function. 
- *     TSLOG_IN1( "aSomething contains value %d", aSomething );
- * 
- *     // Your buggy code...
- * 
- *     // Before leaving, indicate function execution has ended.
- *     TSLOG_OUT();
- * 
- *     return 0;
- *     }
- * @/code
- */
-
-#include <e32def.h>
-#include <e32std.h>
-
-#include "tslogutils.h"
-
-#define TSLOG_API 0
-#define TSLOG_LOCAL 1
-
-#define TSLOG_INFO 0
-#define TSLOG_WARNING 1
-#define TSLOG_ERROR 2
-
-#define TSLOG_ASSERT(_assertion)  __TSLOG_ASSERT_DBG(_assertion) 
-#define TSLOG_TRACE_ASSERT(_assertion) __ASSERT_DEBUG((_assertion), User::Invariant() )
-
-#ifdef _DEBUG
-            
-/*****************************************************************************
- LOGGING MACROS - LOGGING ON
-*****************************************************************************/             
-
-    /** 
-     * Context initialization 
-     * NOTE: TSLOG_STATIC_CONTEXT is meant for static methods.
-     * 
-     * @param _fn   Name of the function.
-     * @param _vis  Visibility for the client, use values TSLOG_API or TSLOG_LOCAL
-     * @param _thdId For static functions, thread id can be given here.
-     */
-    #define TSLOG_CONTEXT(_fn, _vis ) _TTsLogContext _dc((TText*)L ## #_fn, _TSLOG_LOG_COMPONENT_ID, _vis, (TUint)this, RProcess().SecureId().iId )
-    #define TSLOG_STATIC_CONTEXT(_fn, _vis, _thdId) _TTsLogContext _dc((TText*)L ## #_fn, _TSLOG_LOG_COMPONENT_ID, _vis, _thdId, RProcess().SecureId().iId )
-
-    /** 
-     * Entering function 
-     * 
-     * @param string    Custom text. Example: TSLOG_IN0( "Yeah!!!" );
-     * @param p1 - p5   For multiple variables in same string.
-     */
-    #define TSLOG_IN() do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s "), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_ENTRY(); } while(0)
-    #define TSLOG0_IN(string) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_ENTRY(); } while(0)
-    #define TSLOG1_IN(string, p1) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); _MARK_ENTRY(); } while(0)
-    #define TSLOG2_IN(string, p1, p2) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); _MARK_ENTRY(); } while(0)
-    #define TSLOG3_IN(string, p1, p2, p3) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); _MARK_ENTRY(); } while(0)
-    #define TSLOG4_IN(string, p1, p2, p3, p4) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); _MARK_ENTRY(); } while(0)
-    #define TSLOG5_IN(string, p1, p2, p3, p4, p5) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); _MARK_ENTRY(); } while(0)
-
-    /** Leaving function */
-    #define TSLOG_OUT() do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s "), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_EXIT(); } while(0)
-    #define TSLOG0_OUT(string) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_EXIT(); } while(0)
-    #define TSLOG1_OUT(string, p1) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); _MARK_EXIT(); } while(0)
-    #define TSLOG2_OUT(string, p1, p2) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); _MARK_EXIT(); } while(0)
-    #define TSLOG3_OUT(string, p1, p2, p3) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); _MARK_EXIT(); } while(0)
-    #define TSLOG4_OUT(string, p1, p2, p3, p4) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); _MARK_EXIT(); } while(0)
-    #define TSLOG5_OUT(string, p1, p2, p3, p4, p5) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); _MARK_EXIT(); } while(0)
-
-    /** Leaving function with return value */
-    #define TSLOG0_RET(val, fmtstr) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG1_RET(val, fmtstr, p1) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG2_RET(val, fmtstr, p1, p2) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG3_RET(val, fmtstr, p1, p2, p3) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG4_RET(val, fmtstr, p1, p2, p3, p4) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3, p4); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG5_RET(val, fmtstr, p1, p2, p3, p4, p5) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3, p4, p5); _MARK_EXIT(); } while(0); return val;} while(0)
-
-    /** 
-     * General log lines 
-     * 
-     * @param level     This can be used as internal information 
-     *                  field, such as info, error, warning etc.
-     * @param string    Custom string
-     * @param p1 - p5   For multiple variables in same string.
-     */
-    #define TSLOG0(level, string) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); } while(0)
-    #define TSLOG1(level, string, p1) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); } while(0)
-    #define TSLOG2(level, string, p1, p2) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); } while(0)
-    #define TSLOG3(level, string, p1, p2, p3) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); } while(0)
-    #define TSLOG4(level, string, p1, p2, p3, p4) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); } while(0)
-    #define TSLOG5(level, string, p1, p2, p3, p4, p5) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); } while(0)
-
-    /** Error logging */
-    #define __TSLOG_ASSERT_DBG( _assertion ) do { if( _assertion ) { break; } TFileName file; file.Copy( _L8( __FILE__ ) );   _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s Assert:%S:%d:" L ## #_assertion) , _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, &file, __LINE__ ); User::Invariant(); } while( 0 )
-    #define __TSLOG_TRACE_ASSERT_DBG(_assertion, _textToPrint, _panicCode)  do { if (_assertion) { break; } _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s ASSERTION FAILED!!! %s file: %s, line: %s"), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, _textToPrint, __FILE__, __LINE__); User::Panic(_L("AssertionFailed"), _panicCode} while(0)
-    #define TSLOG_TRAPHANDLER() _TTsLogTrapHandler _traceTrapHandler; _traceTrapHandler.oldHandler = User::SetTrapHandler(&_traceTrapHandler)
-
-/*****************************************************************************
- LOGGING MACROS - NO LOGGING
-*****************************************************************************/ 
-#else // _DEBUG
-
-    #define TSLOG_CONTEXT(_fn, _vis )
-    #define TSLOG_STATIC_CONTEXT(_fn, _vis, _thdId)
-
-    #define TSLOG_IN()
-    #define TSLOG0_IN(string)
-    #define TSLOG1_IN(string, p1)
-    #define TSLOG2_IN(string, p1, p2)
-    #define TSLOG3_IN(string, p1, p2, p3)
-    #define TSLOG4_IN(string, p1, p2, p3, p4)
-    #define TSLOG5_IN(string, p1, p2, p3, p4, p5)
-
-    #define TSLOG_OUT()
-    #define TSLOG0_OUT(string)
-    #define TSLOG1_OUT(string, p1)
-    #define TSLOG2_OUT(string, p1, p2)
-    #define TSLOG3_OUT(string, p1, p2, p3)
-    #define TSLOG4_OUT(string, p1, p2, p3, p4)
-    #define TSLOG5_OUT(string, p1, p2, p3, p4, p5)
-
-    #define TSLOG0_RET(val, fmtstr) return val
-    #define TSLOG1_RET(val, fmtstr, p1) return val
-    #define TSLOG2_RET(val, fmtstr, p1, p2) return val
-    #define TSLOG3_RET(val, fmtstr, p1, p2, p3) return val
-    #define TSLOG4_RET(val, fmtstr, p1, p2, p3, p4) return val
-    #define TSLOG5_RET(val, fmtstr, p1, p2, p3, p4, p5) return val
-
-    #define TSLOG0(level, string)
-    #define TSLOG1(level, string, p1)
-    #define TSLOG2(level, string, p1, p2)
-    #define TSLOG3(level, string, p1, p2, p3)
-    #define TSLOG4(level, string, p1, p2, p3, p4)
-    #define TSLOG5(level, string, p1, p2, p3, p4, p5)
-    
-    #define BIND_TRACE_TRAPHANDLER()
-    #define TRACE_DECL() TInt _iTraceThreadId
-    #define TRACE_FAST_CREATE(_thdId) _thdId++;
-    #define TRACE_CREATE()
-
-    #define __TSLOG_ASSERT_DBG(_assertion)
-    #define __TRACE_ASSERT_DBG(_assertion, _message, _panicCode )
-
-#endif // _DEBUG
-
-#endif      // TSLOGLOGUTILS_H
-            
-// End of File
--- a/taskswitcher/contextengine/trace/tslogutils.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +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:  Logging behavior
-*
-*/
-
-
-#ifndef TSLOGUTILS_H
-#define TSLOGUTILS_H
-
-/**
- * NOTE: This file contains the logic related to logging. Change only if you
- * know what you're doing.
- */
-
-
-
-
-
-
-
-
-
-
-#ifdef _DEBUG
-
-#include <e32debug.h>
-#include <e32std.h>
-
-static const TUint TSLOGERR   = 2;  /**< Used to create an error message */
-
-// These macros are real macros, that should be used. For temporary purposes, these
-// are left out and the logging is done by simple entry logging
-#define _TSLOG_UNCONTROLLED_INPUT_MSG  L"%s%d[%x:%x:%x]>%s UNCONTROLLED ENTRY!"
-#define _TSLOG_MULTIPLE_ENTRY_MSG      L"%s%d[%x:%x:%x]%s  ADDITIONAL ENTRY!"
-#define _TSLOG_UNCONTROLLER_EXIT_MSG   L"%s%d[%x:%x:%x]<%s UNCONTROLLED EXIT!"
-#define _TSLOG_MULTIPLE_EXIT_MSG       L"%s%d[%x:%x:%x]%s  ADDITIONAL EXIT!"
-#define _TSLOG_TRAP_HARNESS_ENTRY      L"_D%d[%x:%x:%x]TraceFramework: Entering trap harness"
-#define _TSLOG_TRAP_HARNESS_EXIT       L"_D%d[%x:%x:%x]TraceFramework: Exiting trap harness"
-#define _TSLOG_TRAP_HARNESS_LEAVE      L"_D%d[%x:%x:%x]TraceFramework: ---------- LEAVE OCCURRED !!! ---------- "
-#define _TSLOG_API_PREFIX              L"_A"
-#define _TSLOG_LOCAL_PREFIX            L"_L"
-
-/**
-* @file 
-* trace_utils.h contains definitions needed for advanced tracing features.
-* Tracing can be customized using the following compile time flags:
-* - <b>_DEBUG</b>
-*   - With this flag undefined, all traces are disabled
-* - <b>__KERNEL_MODE__</b>
-*   - if kernel mode flag is defined, kernel macro variants are used (no unicode or shared heap related stuff, faster)
-* - <b>DISABLE_SYNTAX_CHECK</b>
-*   - If this flag is defined, runtime syntax checking features are disabled from traces
-*/
-#ifndef DISABLE_SYNTAX_CHECK
-    #define _MARK_ENTRY() _dc.inOk=ETrue
-    #define _DOINCHK() _dc.DoInChk()
-    #define _CHK_MULTIIN() _dc.ChkMultiIn()
-    #define _CHK_MULTIOUT() _dc.ChkMultiOut()
-    #define _MARK_EXIT() _dc.outOk=ETrue
-#else
-    #define _MARK_ENTRY()
-    #define _DOINCHK()
-    #define _CHK_MULTIIN()
-    #define _CHK_MULTIOUT()
-    #define _MARK_EXIT()
-#endif // DISABLE_SYNTAX_CHECK
-    
-/** For tracing */
-#ifdef _TSLOG_RDEBUG
-    #define _IT(a) (TPtrC((const TText *)(a)))
-    #define _TSLOGPRINTER RDebug::Print        
-        
-/** For filedebug */
-#else   // _TSLOG_RDEBUG
-
-    /** Includes */
-    #include <e32base.h>
-    #include <e32std.h>
-    #include <e32def.h>
-    #include <e32svr.h>
-
-// both of headers defines KLogBufferSize
-#ifndef __COMMSDEBUGUTILITY_H__
-    #include <flogger.h>
-#endif
-
-    #define _IT(a) KTsLogPath, KTsLogFile, EFileLoggingModeAppend, (TPtrC((const TText *)(a)))    
-    #define _TSLOGPRINTER RFileLogger::WriteFormat    
-#endif // _TSLOG_RDEBUG    
-
-class _TTsLogContext
-    {
-    public:
-        _TTsLogContext(
-            const TText* _fn, 
-            const TUint _id, 
-            const TUint _vis, 
-            const TUint _addr, 
-            const TUint _thdId, 
-            const TUint _category=0 )
-            : 
-            iFn(_fn), 
-            iId(_id), 
-            iApi((TBool)_vis), 
-            iAddr(_addr), 
-            iThdId(_thdId), 
-            iVis((_vis == 0 ? (TText*)_TSLOG_API_PREFIX : (TText*)_TSLOG_LOCAL_PREFIX)),
-            iCategory(_category)            
-        #ifndef DISABLE_SYNTAX_CHECK
-            ,outOk(EFalse), inOk(EFalse)
-        #endif
-            {
-            }
-        ~_TTsLogContext() 
-            {
-            #ifndef DISABLE_SYNTAX_CHECK
-                do
-                    {                   
-                    DoInChk();
-                    if (!outOk)
-                        {
-                        _TSLOGPRINTER(_IT(_TSLOG_UNCONTROLLER_EXIT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);
-                        }
-                    } while (0);
-            #endif // DISABLE_SYNTAX_CHECK
-            }
-
-        const TText* iFn;
-        const TUint iId;
-        const TText* iVis;
-        const TUint iAddr;
-        const TInt iThdId;
-        const TBool iApi;
-        const TUint iCategory;
-        
-        #ifndef DISABLE_SYNTAX_CHECK
-            inline void DoInChk()
-                {
-                if (!inOk)
-                    {
-                    _TSLOGPRINTER(_IT(_TSLOG_UNCONTROLLED_INPUT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);
-                    inOk = ETrue;
-                    }
-                }
-                        
-            inline void ChkMultiIn()
-                {
-                if (inOk)
-                    {
-                    _TSLOGPRINTER(_IT(_TSLOG_MULTIPLE_ENTRY_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);                
-                    }
-                }
-    
-            inline void ChkMultiOut()
-                {
-                if (outOk)
-                    {           
-                    _TSLOGPRINTER(_IT(_TSLOG_MULTIPLE_EXIT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);                                        
-                    }
-                }
-
-            TBool inOk;
-            TBool outOk;
-        #endif // DISABLE_SYNTAX_CHECK
-    };
-    
-class _TTsLogTrapHandler: public TTrapHandler
-    {
-    public:
-
-        _TTsLogTrapHandler(_TTsLogContext& _context) : _dc( _context ) 
-            {
-            RThread me;
-            iThdId = (TInt)me.Id();
-            }
-    	void Trap() 
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_ENTRY), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->Trap();
-    	    } 
-    	void UnTrap()
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_EXIT), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->UnTrap();
-    	    }	
-    	void Leave(TInt aValue)
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_LEAVE), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->Leave(aValue);
-    	    }	
-    	TTrapHandler* oldHandler;
-    private:
-        _TTsLogContext& _dc;
-        TInt iThdId;
-    };
-    
-#endif // _DEBUG    
-
-#endif // TSLOGUTILS_H
--- a/taskswitcher/contextengine/tsctxutils/bwins/tscontextservicesutilsu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	?NewLC@CTsCenrepListener@@SAPAV1@ABVTUid@@KAAVMTsCenrepChangeObserver@@@Z @ 1 NONAME ; class CTsCenrepListener * CTsCenrepListener::NewLC(class TUid const &, unsigned long, class MTsCenrepChangeObserver &)
-	??0CTsPropertyListener@@QAE@VTUid@@IAAVMTsPropertyChangeObserver@@@Z @ 2 NONAME ; CTsPropertyListener::CTsPropertyListener(class TUid, unsigned int, class MTsPropertyChangeObserver &)
-	??1CTsCenrepListener@@UAE@XZ @ 3 NONAME ; CTsCenrepListener::~CTsCenrepListener(void)
-	?Value@CTsCenrepListener@@QAEHXZ @ 4 NONAME ; int CTsCenrepListener::Value(void)
-	?NewL@CTsCenrepListener@@SAPAV1@ABVTUid@@KAAVMTsCenrepChangeObserver@@@Z @ 5 NONAME ; class CTsCenrepListener * CTsCenrepListener::NewL(class TUid const &, unsigned long, class MTsCenrepChangeObserver &)
-	??1CTsPropertyListener@@UAE@XZ @ 6 NONAME ; CTsPropertyListener::~CTsPropertyListener(void)
-
--- a/taskswitcher/contextengine/tsctxutils/eabi/tscontextservicesutilsu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	_ZN17CTsCenrepListener4NewLERK4TUidmR23MTsCenrepChangeObserver @ 1 NONAME
-	_ZN17CTsCenrepListener5NewLCERK4TUidmR23MTsCenrepChangeObserver @ 2 NONAME
-	_ZN17CTsCenrepListener5ValueEv @ 3 NONAME
-	_ZN17CTsCenrepListenerD0Ev @ 4 NONAME
-	_ZN17CTsCenrepListenerD1Ev @ 5 NONAME
-	_ZN17CTsCenrepListenerD2Ev @ 6 NONAME
-	_ZN19CTsPropertyListenerC1E4TUidjR25MTsPropertyChangeObserver @ 7 NONAME
-	_ZN19CTsPropertyListenerC2E4TUidjR25MTsPropertyChangeObserver @ 8 NONAME
-	_ZN19CTsPropertyListenerD0Ev @ 9 NONAME
-	_ZN19CTsPropertyListenerD1Ev @ 10 NONAME
-	_ZN19CTsPropertyListenerD2Ev @ 11 NONAME
-
--- a/taskswitcher/contextengine/tsctxutils/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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 <platform_paths.hrh>
-
-PRJ_EXPORTS
-../inc/tsproplistener.h         |../../inc/tsproplistener.h
-../inc/tscenreplistener.h       |../../inc/tscenreplistener.h
-
-PRJ_MMPFILES
-tscontextservicesutils.mmp
-
-PRJ_TESTMMPFILES
-
--- a/taskswitcher/contextengine/tsctxutils/group/tscontextservicesutils.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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 <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          tscontextservicesutils.dll
-TARGETTYPE      dll
-UID             0x1000008d
-
-CAPABILITY       CAP_GENERAL_DLL  
-VENDORID         VID_DEFAULT
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../trace
-
-SOURCEPATH      ../src
-SOURCE          tsproplistener.cpp
-SOURCE          tscenreplistener.cpp
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib  
-LIBRARY         centralrepository.lib
-
-DEBUGLIBRARY    flogger.lib
-
--- a/taskswitcher/contextengine/tsctxutils/inc/tscenreplistener.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +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 CTSCENREPLISTENER_H
-#define CTSCENREPLISTENER_H
-
-#include <e32base.h>
-
-class CRepository;
-
-/**
- * Observer interface for getting notifications about a cenrep key change.
- */
-class MTsCenrepChangeObserver
-    {
-public:
-    virtual void CenrepChanged( TUint32 aKey, TInt aNewValue ) = 0;
-    };
-
-/**
- * Class to get notifications about changes to a cenrep key.
- */
-NONSHARABLE_CLASS( CTsCenrepListener ) : public CActive
-    {
-public:
-    /**
-     * Fist step constructor
-     */
-    IMPORT_C static CTsCenrepListener* NewL(const TUid& aRep, TUint32 aKey,
-                                            MTsCenrepChangeObserver& aObserver);
-    
-    /**
-     * Fist step constructor
-     */
-    IMPORT_C static CTsCenrepListener* NewLC(const TUid& aRep, TUint32 aKey,
-                                             MTsCenrepChangeObserver& aObserver);
-    
-    /**
-     * Destructor.
-     */
-    IMPORT_C ~CTsCenrepListener();
-    
-    /**
-     * Returns the current value of the watched key.
-     */
-    IMPORT_C TInt Value();
-    
-private:
-    /**
-     * Constructor.
-     * Starts listening for the key.
-     */
-    CTsCenrepListener(TUint32 aKey,
-        MTsCenrepChangeObserver& aObserver );
-    
-    /**
-     * Second step constructor 
-     */
-    void ConstructL(const TUid& aRep);
-    
-    void DoCancel();
-    void RunL(); 
-    TInt RunError( TInt aError );
-    
-    MTsCenrepChangeObserver& iObserver;
-    CRepository* iRep;
-    TUint32 iKey;
-    };
-    
-#endif /*CTSCENREPLISTENER_H*/
--- a/taskswitcher/contextengine/tsctxutils/inc/tsproplistener.h	Tue Feb 02 00:04:13 2010 +0200
+++ /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 CTSPROPERTYLISTENER_H
-#define CTSPROPERTYLISTENER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-/**
- * Observer interface for getting notifications about a P&S property change.
- */
-class MTsPropertyChangeObserver
-    {
-public:
-    virtual void PropertyChanged( TUid aCategory, TUint aKey ) = 0;
-    };
-
-/**
- * Class to get notifications about changes to a P&S property.
- */
-NONSHARABLE_CLASS( CTsPropertyListener ) : public CActive
-    {
-public:
-    /**
-     * Constructor.
-     * Starts listening for the property with the given category/key.
-     */
-    IMPORT_C CTsPropertyListener( TUid aCategory,
-        TUint aKey, MTsPropertyChangeObserver& aObserver );
-        
-    /**
-     * Destructor.
-    */
-    IMPORT_C ~CTsPropertyListener();
-    
-private:
-    void DoCancel();
-    void RunL(); 
-    TInt RunError( TInt aError );
-
-    MTsPropertyChangeObserver& iObserver;
-    RProperty iProperty;
-    TUid iCategory;
-    TUint iKey;
-    };
-
-#endif /*CTSPROPERTYLISTENER_H*/
-
-// End of file
--- a/taskswitcher/contextengine/tsctxutils/src/tscenreplistener.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +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 <e32cmn.h>
-#include <centralrepository.h>
-
-#include "tscenreplistener.h"
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::NewL
-// -----------------------------------------------------------------------------
-EXPORT_C CTsCenrepListener* CTsCenrepListener::NewL(const TUid& aRep, TUint32 aKey,
-                                   MTsCenrepChangeObserver& aObserver)
-    {
-    CTsCenrepListener* self = CTsCenrepListener::NewLC(aRep, aKey, aObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::NewLC
-// -----------------------------------------------------------------------------
-EXPORT_C CTsCenrepListener* CTsCenrepListener::NewLC(const TUid& aRep, TUint32 aKey,
-                                       MTsCenrepChangeObserver& aObserver)
-    {
-    CTsCenrepListener *self = new(ELeave) CTsCenrepListener(aKey, aObserver);
-    CleanupStack::PushL(self);
-    self->ConstructL(aRep);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::CTsCenrepListener
-// -----------------------------------------------------------------------------
-CTsCenrepListener::CTsCenrepListener(TUint32 aKey, 
-                                     MTsCenrepChangeObserver& aObserver)
-: CActive( CActive::EPriorityStandard ), iObserver( aObserver ), iKey( aKey )
-    {
-    CActiveScheduler::Add(this);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::ConstructL
-// -----------------------------------------------------------------------------
-void CTsCenrepListener::ConstructL(const TUid& aRep)
-    {
-    iRep = CRepository::NewL( aRep );
-    iRep->NotifyRequest( iKey, iStatus );
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::~CTsCenrepListener
-// -----------------------------------------------------------------------------
-EXPORT_C CTsCenrepListener::~CTsCenrepListener()
-    {
-    Cancel();
-    delete iRep;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::DoCancel
-// -----------------------------------------------------------------------------
-void CTsCenrepListener::DoCancel()
-    {
-    iRep->NotifyCancelAll();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::RunL
-// -----------------------------------------------------------------------------
-void CTsCenrepListener::RunL()
-    {
-    if ( iStatus.Int() != KErrCancel )
-        {
-        iObserver.CenrepChanged( iKey, Value() );
-        iRep->NotifyRequest( iKey, iStatus );
-        SetActive();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::RunError
-// -----------------------------------------------------------------------------
-TInt CTsCenrepListener::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::Value
-// -----------------------------------------------------------------------------
-EXPORT_C TInt CTsCenrepListener::Value()
-    {
-    TInt val = 0;
-    iRep->Get( iKey, val );
-    return val;
-    }
-
-// end of file
--- a/taskswitcher/contextengine/tsctxutils/src/tsproplistener.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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 <e32cmn.h>
-#include "tsproplistener.h"
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::CTsPropertyListener
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsPropertyListener::CTsPropertyListener(
-        TUid aCategory, TUint aKey, MTsPropertyChangeObserver& aObserver )
-    : CActive( CActive::EPriorityStandard),
-        iObserver( aObserver ), iCategory( aCategory ), iKey( aKey )
-    {
-    CActiveScheduler::Add( this );
-    TInt err = iProperty.Attach( iCategory, iKey );
-    if ( err == KErrNone )
-        {
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::~CTsPropertyListener
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsPropertyListener::~CTsPropertyListener()
-    {
-    Cancel();
-    iProperty.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::DoCancel
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-    
-// --------------------------------------------------------------------------
-// CTsPropertyListener::RunL
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::RunL()
-    {
-    if ( iStatus.Int() != KErrCancel ) // when cancelling the subscribe it completes with KErrCancel
-        {
-        iObserver.PropertyChanged( iCategory, iKey );
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        }
-    }    
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::RunError
-// --------------------------------------------------------------------------
-//
-TInt CTsPropertyListener::RunError( TInt /*aError*/ )
-    {
-    iProperty.Subscribe( iStatus );
-    SetActive();
-    return KErrNone;
-    }
-    
-// end of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/bwins/tspreviewprovideru.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	??1CTsFastSwapPreviewProvider@@UAE@XZ @ 1 NONAME ; CTsFastSwapPreviewProvider::~CTsFastSwapPreviewProvider(void)
-	?TakePreview@CTsFastSwapPreviewProvider@@QAEHXZ @ 2 NONAME ; int CTsFastSwapPreviewProvider::TakePreview(void)
-	?AckPreview@CTsFastSwapPreviewProvider@@QAEXH@Z @ 3 NONAME ; void CTsFastSwapPreviewProvider::AckPreview(int)
-	?ChangeScreen@CTsFastSwapPreviewProvider@@QAEHH@Z @ 4 NONAME ; int CTsFastSwapPreviewProvider::ChangeScreen(int)
-	?NewL@CTsFastSwapPreviewProvider@@SAPAV1@AAVMTsFastSwapPreviewObserver@@@Z @ 5 NONAME ; class CTsFastSwapPreviewProvider * CTsFastSwapPreviewProvider::NewL(class MTsFastSwapPreviewObserver &)
-	?Register@CTsFastSwapPreviewProvider@@QAEHH@Z @ 6 NONAME ; int CTsFastSwapPreviewProvider::Register(int)
-	?SetPreviewParam@CTsFastSwapPreviewProvider@@QAEHABVTSize@@W4TDisplayMode@@@Z @ 7 NONAME ; int CTsFastSwapPreviewProvider::SetPreviewParam(class TSize const &, enum TDisplayMode)
-	?Unregister@CTsFastSwapPreviewProvider@@QAEHH@Z @ 8 NONAME ; int CTsFastSwapPreviewProvider::Unregister(int)
-
--- a/taskswitcher/contextengine/tsfswpreviewprovider/eabi/tspreviewprovideru.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
-	_ZN26CTsFastSwapPreviewProvider10AckPreviewEi @ 1 NONAME
-	_ZN26CTsFastSwapPreviewProvider10UnregisterEi @ 2 NONAME
-	_ZN26CTsFastSwapPreviewProvider11TakePreviewEv @ 3 NONAME
-	_ZN26CTsFastSwapPreviewProvider12ChangeScreenEi @ 4 NONAME
-	_ZN26CTsFastSwapPreviewProvider15SetPreviewParamERK5TSize12TDisplayMode @ 5 NONAME
-	_ZN26CTsFastSwapPreviewProvider4NewLER26MTsFastSwapPreviewObserver @ 6 NONAME
-	_ZN26CTsFastSwapPreviewProvider8RegisterEi @ 7 NONAME
-	_ZN26CTsFastSwapPreviewProviderD0Ev @ 8 NONAME
-	_ZN26CTsFastSwapPreviewProviderD1Ev @ 9 NONAME
-	_ZN26CTsFastSwapPreviewProviderD2Ev @ 10 NONAME
-
--- a/taskswitcher/contextengine/tsfswpreviewprovider/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  bld.inf
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/tsfastswappreviewprovider.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(tsfastswappreviewprovider.iby)
-../inc/tspreviewprovider.h |../../inc/tspreviewprovider.h
-../inc/tspreviewobserver.h |../../inc/tspreviewobserver.h
-
-PRJ_MMPFILES
-previewprovider.mmp
-
-#include "../wsplugin/group/bld.inf"
--- a/taskswitcher/contextengine/tsfswpreviewprovider/group/previewprovider.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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:  MMP file for tspreviewprovider dll
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <defaultcaps.hrh>
-
-TARGET         tspreviewprovider.dll
-TARGETTYPE     DLL 
-UID            0x1000008D 0x20016BEB
-CAPABILITY     CAP_CLIENT_DLL
-VENDORID       VID_DEFAULT
-
-USERINCLUDE    ../inc
-USERINCLUDE    ../../trace
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH     ../src
-SOURCE         tspreviewprovider.cpp
-SOURCE         tspreviewproviderclient.cpp
-SOURCE         tspropertylistener.cpp
-
-LIBRARY        euser.lib
-LIBRARY        ws32.lib
-LIBRARY        estor.lib 
-DEBUGLIBRARY   flogger.lib
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/previewmsg.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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:  Message types for preview plugin
-*
-*/
-
-
-#ifndef PREVIEWMSG_H
-#define PREVIEWMSG_H
-
-namespace NPreviewMsg
-    {
-    /**
-     * Messages that are sent between PreviewProviderClient and PreviewProvider
-     * ECOM plugin via window server. 
-     */
-    enum 
-        {
-        // From PreviewProviderClient to PreviewProvider ECOM plugin. 
-        ENone,
-        ERegister,
-        EUnregister,
-        EChangeScreen,
-        ESetPreviewParam,
-        ETakePreview,
-        
-        // From PreviewProvider ECOM plugin to PreviewProviderClient. 
-        EPreviewReady,
-        EAckPreviewReady,
-        EUnregisterReady
-        };
-    }
-
-#endif // PREVIEWMSG_H
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/previewproviderlogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  Header file used for logging
-*
-*/
-
-
-#ifndef PREVIEWPROVIDERLOGGING_H
-#define PREVIEWPROVIDERLOGGING_H
-
-_LIT( KTsLogFile, "tspreviewprovider.txt" );
-_LIT( KTsLogPath, "tspreviewprovider" );
-#define _TSLOG_LOG_COMPONENT_ID 6715359
-//#define _TSLOG_RDEBUG
-
-#include <e32debug.h>
-#include "tslogging.h"
-
-#endif // PREVIEWPROVIDERLOGGING_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tsfastswappreviewproviderlogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for tsfastswappreviewprovider
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfastswappreviewprovider.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x20016BEC
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Preview provider API
-*
-*/
-
-
-#ifndef TSPREVIEWOBSERVER_H
-#define TSPREVIEWOBSERVER_H
-
-// INCLUDES
-#include <e32base.h>
-
-/**
- * Observer for preview screenshot changes. Client must implement this and 
- * register itself when calling CTsFastSwapPreviewProvider::NewL. Callback
- * methods are called whenever there is a new preview screenshot taken from
- * the applications or when an application is exited.
- *
- * @see CTsFastSwapPreviewProvider
- */
-class MTsFastSwapPreviewObserver
-    {
-public:
-
-    /**
-     * Called when application has changed and screenshot has been taken. 
-     * New sceenshots will be taken and provided to the client via this 
-     * callback every time the application goes to background.
-     *
-     * @param aWgId Window group id of the application.
-     * @param aFbsHandle Handle to screenshot CFbsBitmap.
-     */         
-    virtual void HandleFswPpApplicationChange( TInt aWgId, TInt aFbsHandle ) = 0;
-    
-    /**
-     * Called when application has been exited. Client can free the resources
-     * related to aWgId (for example a copied bitmap) since the application is
-     * no more running.
-     *
-     * @param aWgId Window group id of the application.
-     */         
-    virtual void HandleFswPpApplicationUnregistered( TInt aWgId ) = 0;    
-    };
-
-#endif // TSPREVIEWOBSERVER_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewprovider.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  Preview provider API
-*
-*/
-
-
-#ifndef TSFASTSWAPPREVIEWPROVIDER_H
-#define TSFASTSWAPPREVIEWPROVIDER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <gdi.h>
-
-// FORWARD DECLARATIONS
-class CTsFastSwapPreviewProviderClient;
-class MTsFastSwapPreviewObserver;
-
-/**
- * Preview provider API class. Applications (window groups) must be
- * registered before screenshots can be received. Also, closed apps
- * should be unregistered to save resources.
- * TakePreview() can be called to take a screenshot right away.
- * A client needing notifications has to create an instance
- * so that screenshots can be delivered to it via MTsFastSwapPreviewObserver.
- *
- * @see MTsFastSwapPreviewObserver
- * @lib tspreviewprovider.lib
- */
-NONSHARABLE_CLASS( CTsFastSwapPreviewProvider ) : public CBase
-    {
-public:
-
-    /**
-     * Two phased constructor.
-     * @see MTsFastSwapPreviewObserver
-     *
-     * @param aObs Observer.     
-     */   
-    IMPORT_C static CTsFastSwapPreviewProvider* NewL(
-        MTsFastSwapPreviewObserver& aObs );
-    
-    /**
-     * Destructor.
-     */   
-    IMPORT_C ~CTsFastSwapPreviewProvider();
-    
-    /**
-     * Registers window group for screenshots.
-     *
-     * @param aWgId Window group id.
-     * @return Error code.     
-     */       
-    IMPORT_C TInt Register( TInt aWgId );
-    
-    /**
-     * Unregisters window group.
-     *
-     * @param aWgId Window group id.
-     * @return Error code.     
-     */       
-    IMPORT_C TInt Unregister( TInt aWgId );
-    
-    /**
-     * Change screen.
-     *
-     * @param aScreenId Screen id.
-     * @return Error code.     
-     */       
-    IMPORT_C TInt ChangeScreen( TInt aScreenId );
-    
-    /**
-     * Defines the dimensions and format of the screenshots.
-     * @see TDisplayMode.
-     *
-     * @param aSize Size to be used for the preview screenshots.
-     * @param aMode Color depth to be used for the preview screenshots.
-     * @return Error code.
-     */       
-    IMPORT_C TInt SetPreviewParam( const TSize& aSize, TDisplayMode aMode );
-    
-    /**
-     * Takes a screenshot.
-     * 
-     * @return Error code.     
-     */       
-    IMPORT_C TInt TakePreview();
-    
-    /**
-     * Ack preview ready message
-     */
-    IMPORT_C void AckPreview( TInt aPreviewId );
-    
-private:
-
-    /**
-     * C++ constructor.
-     */   
-    CTsFastSwapPreviewProvider();
-    
-    /**
-     * 2nd phase constructor.
-     *
-     * @param aObs Observer.
-     */       
-    void ConstructL( MTsFastSwapPreviewObserver& aObs );
-       
-private:    
-
-    /**
-     * Implementation class.
-     */   
-    CTsFastSwapPreviewProviderClient* iClient;
-    };
-
-#endif // TSFASTSWAPPREVIEWPROVIDER_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewproviderclient.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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".
-*/
-
-#ifndef TSFASTSWAPPREVIEWPROVIDERCLIENT_H
-#define TSFASTSWAPPREVIEWPROVIDERCLIENT_H
-
-#include <e32base.h>
-#include <w32std.h>
-#include "tspreviewobserver.h"
-
-class CTsPropertyListener;
-
-/**
- * CTsFastSwapPreviewProviderClient
- */
-NONSHARABLE_CLASS( CTsFastSwapPreviewProviderClient ) : public CWsGraphic
-    {
-public:
-    CTsFastSwapPreviewProviderClient( MTsFastSwapPreviewObserver& aObs );
-    void ConstructL();
-    void Register( TInt aWgId );
-    void Unregister( TInt aWgId );
-    void ChangeScreen( TInt aScreenNo );
-    void SetPreviewParam( const TSize& aSize, TDisplayMode aMode );
-    void TakePreview();
-    void AckPreview( TInt aPreviewId );
-    virtual ~CTsFastSwapPreviewProviderClient();
-private:
-    void HandleMessage( const TDesC8& aData );
-    void OnReplace();
-private:
-    void DoHandleMessageL( const TDesC8& aData );
-    void SetProperties( TInt aHandle, TInt aWgId, TInt aOp );
-private:
-    MTsFastSwapPreviewObserver& iObs;
-    CTsPropertyListener* iListener;
-    };
-
-#endif // TSPREVIEWPROVIDERCLIENT_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspropertylistener.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +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".
-*/
-
-
-#ifndef TSPROPERTYLISTENER_H
-#define TSPROPERTYLISTENER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-#include "tspreviewobserver.h"
-
-// Publish & subscribe UID (akncapserver.exe SID so that it can define the keys)
-const TUid KPSUidPreviewProvider = { 0x10207218 };
-
-// P&S keys
-const TUint32 KPSKeyWgId = 0x20016BE1;
-const TUint32 KPSKeyFbsBitmapId = 0x20016BE2;
-const TUint32 KPSKeyOperation = 0x20016BE3;
-/**
- * Operation which will be done after P&S keys have changed.
- */
-enum TPreviewOperation
-    {
-    EOperationNone,
-    EOperationUnregister,
-    EOperationBitmapUpdated
-    };
-
-/**
- * CPropertyListener
- */
-NONSHARABLE_CLASS( CTsPropertyListener ) : public CActive
-    {
-public:
-    static CTsPropertyListener* NewL( MTsFastSwapPreviewObserver& aObs );
-    virtual ~CTsPropertyListener();
-    
-protected:
-    CTsPropertyListener( MTsFastSwapPreviewObserver& aObs );
-    void ConstructL();  
-
-private: // From CActive
-    void RunL();
-    void DoCancel();
-    
-private:    
-    void ReadPropertiesL();
-    void DefinePropertyL( TInt aPSKey ); 
-    void Subscribe();
-
-private:
-    MTsFastSwapPreviewObserver& iObs;
-    RProperty iProperty;
-   
-    TInt iWgId;
-    TInt iFbsBitmapId;
-    
-    TPreviewOperation iOperation;
-    };
-
-#endif // TSPROPERTYLISTENER_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/rom/tsfastswappreviewprovider.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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:  IBY file
-*
-*/
-
-
-#ifndef TSFASTSWAPPREVIEWPROVIDER_IBY
-#define TSFASTSWAPPREVIEWPROVIDER_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-// fsw preview
-ECOM_PLUGIN( 20016BEC.DLL, 20016BEC.rsc )
-file=ABI_DIR/BUILD_DIR/tspreviewprovider.dll    SHARED_LIB_DIR/tspreviewprovider.dll
-
-#endif // TSFASTSWAPPREVIEWPROVIDER_IBY
--- a/taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewprovider.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +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:  Preview provider API
-*
-*/
-
-
-#include "tspreviewprovider.h"
-#include "previewproviderlogging.h"
-#include "tspreviewproviderclient.h"
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::NewL
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFastSwapPreviewProvider* CTsFastSwapPreviewProvider::NewL(
-        MTsFastSwapPreviewObserver& aObs)
-    {
-    CTsFastSwapPreviewProvider* p = new (ELeave) CTsFastSwapPreviewProvider();
-    CleanupStack::PushL( p );
-    p->ConstructL( aObs );
-    CleanupStack::Pop( p );
-    return p;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::~CTsFastSwapPreviewProvider
-// --------------------------------------------------------------------------
-//    
-EXPORT_C CTsFastSwapPreviewProvider::~CTsFastSwapPreviewProvider()
-    {
-    if ( iClient )
-        {
-        iClient->Destroy();
-        }
-    delete iClient;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::Register
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TInt CTsFastSwapPreviewProvider::Register( TInt aWgId )
-    {
-    iClient->Register( aWgId );
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::Unregister
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TInt CTsFastSwapPreviewProvider::Unregister( TInt aWgId )    
-    {
-    iClient->Unregister( aWgId );
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::ChangeScreen
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TInt CTsFastSwapPreviewProvider::ChangeScreen( TInt aScreenId )
-    {
-    iClient->ChangeScreen( aScreenId );
-    return KErrNone;
-    }    
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::SetPreviewParam
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFastSwapPreviewProvider::SetPreviewParam(const TSize& aSize,
-        TDisplayMode aMode)
-    {
-    TSLOG_CONTEXT( SetPreviewParam, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt error( KErrNone );
-    
-    if ( aMode == ENone || aMode == EColor64K )
-        {
-        iClient->SetPreviewParam( aSize, aMode );        
-        }
-    else
-        {
-        error = KErrNotSupported;
-        }
-   
-    TSLOG_OUT();
-    return error;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::TakePreview
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TInt CTsFastSwapPreviewProvider::TakePreview()
-    {
-    // Reset timer for screensaver (dismiss screensaver)
-    User::ResetInactivityTime(); 
-           
-    iClient->TakePreview();
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::AckPreview
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFastSwapPreviewProvider::AckPreview( TInt aPreviewId )
-    {
-    iClient->AckPreview( aPreviewId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::CTsFastSwapPreviewProvider
-// --------------------------------------------------------------------------
-//    
-CTsFastSwapPreviewProvider::CTsFastSwapPreviewProvider()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProvider::ConstructL( MTsFastSwapPreviewObserver& aObs )
-    {
-    TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    iClient = new ( ELeave ) CTsFastSwapPreviewProviderClient( aObs );
-    iClient->ConstructL();
-    
-    TSLOG_OUT();
-    }
-
-// End of file
-
--- a/taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewproviderclient.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +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".
-*
-*/
-
-#include "tspreviewproviderclient.h"
-#include "previewproviderlogging.h"
-#include "tspropertylistener.h"
-#include "previewmsg.h"
-
-#include <s32mem.h>
-
-#define SZ( x ) ( sizeof( x ) / sizeof( TInt ) )
-
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::CTsFastSwapPreviewProviderClient
-// --------------------------------------------------------------------------
-//
-CTsFastSwapPreviewProviderClient::CTsFastSwapPreviewProviderClient(
-        MTsFastSwapPreviewObserver& aObs ) : iObs( aObs )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::~CTsFastSwapPreviewProviderClient
-// --------------------------------------------------------------------------
-//
-CTsFastSwapPreviewProviderClient::~CTsFastSwapPreviewProviderClient()
-    {
-    delete iListener;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::ConstructL()
-    {
-    TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    const TUid id = { 0x20016BEC };
-    BaseConstructL( id, KNullDesC8 );
-    iListener = CTsPropertyListener::NewL( iObs );
-    
-    TSLOG_OUT();        
-    }    
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::Register
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::Register( TInt aWgId )
-    {
-    TSLOG_CONTEXT( Register, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-        NPreviewMsg::ERegister,
-        aWgId
-        };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::Unregister
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::Unregister( TInt aWgId )
-    {
-    TSLOG_CONTEXT( Unregister, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    const TInt msg[] = {
-        NPreviewMsg::EUnregister,
-        aWgId
-        };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::ChangeScreen
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::ChangeScreen( TInt aScreenNo )
-    {
-    TSLOG_CONTEXT( ChangeScreen, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-        NPreviewMsg::EChangeScreen,
-        aScreenNo
-        };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-    
-    TSLOG_OUT();     
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::SetPreviewParam
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::SetPreviewParam(const TSize& aSize,
-        TDisplayMode aMode)
-    {
-    TSLOG_CONTEXT( SetPreviewParam, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-        NPreviewMsg::ESetPreviewParam,
-        aSize.iWidth,
-        aSize.iHeight,
-        static_cast<TInt>(aMode)
-        };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::TakePreview 
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::TakePreview()
-    {
-    TSLOG_CONTEXT( TakePreview, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TPckgC<TInt> buf(NPreviewMsg::ETakePreview);
-    SendMessage(buf);
-    Flush();
-    
-    TSLOG_OUT();      
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::AckPreview 
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::AckPreview( TInt aPreviwId )
-    {
-    TSLOG_CONTEXT( TakePreview, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = { NPreviewMsg::EAckPreviewReady,
-                         aPreviwId };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::HandleMessage
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::HandleMessage( const TDesC8& aData )
-    {
-    TRAP_IGNORE(DoHandleMessageL(aData));
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::DoHandleMessageL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::DoHandleMessageL( const TDesC8& aData )
-    {
-    TSLOG_CONTEXT( DoHandleMessageL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    RDesReadStream in( aData );
-    TInt message = in.ReadInt32L();
-    switch ( message )
-        {
-        case NPreviewMsg::EPreviewReady:
-            {
-            const TInt id = in.ReadInt32L();
-            const TInt handle = in.ReadInt32L();    
-            SetProperties( handle, id, EOperationBitmapUpdated );
-            }
-            break;
-        case NPreviewMsg::EUnregisterReady:
-            {
-            const TInt id = in.ReadInt32L();
-            const TInt handle = in.ReadInt32L();
-            SetProperties( handle, id, EOperationUnregister );
-            }
-            break;
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::SetProperties
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::SetProperties(TInt aHandle, TInt aWgId,
-        TInt aOp)
-    {
-    // Notify CPropertyListener via P&S
-    RProperty::Set( KPSUidPreviewProvider, KPSKeyFbsBitmapId, aHandle );
-    RProperty::Set( KPSUidPreviewProvider, KPSKeyOperation, aOp );
-    // KPSKeyWgId should be notified first since that is being listened 
-    // by CPropertyListener 
-    RProperty::Set( KPSUidPreviewProvider, KPSKeyWgId, aWgId );    
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::OnReplace
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::OnReplace()
-    {
-    }
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/src/tspropertylistener.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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".
-*/
-
-#include "tspropertylistener.h"
-#include "previewproviderlogging.h"
-
-
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::~CTsPropertyListener
-// --------------------------------------------------------------------------
-//
-CTsPropertyListener::~CTsPropertyListener()
-    {
-    Cancel();
-    iProperty.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::CTsPropertyListener
-// --------------------------------------------------------------------------
-//
-CTsPropertyListener::CTsPropertyListener( MTsFastSwapPreviewObserver& aObs ) : 
-    CActive( CActive::EPriorityHigh ), iObs( aObs )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::NewL
-// --------------------------------------------------------------------------
-//
-CTsPropertyListener* CTsPropertyListener::NewL( MTsFastSwapPreviewObserver& aObs )
-    {
-    CTsPropertyListener* self = new ( ELeave ) CTsPropertyListener( aObs );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;    
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::RunL
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::RunL()
-    {
-    // Resubscribe before processing new value to prevent missing updates
-    Subscribe();
-    
-    // Read all properties to member variables
-    ReadPropertiesL();
-    
-    // Do the callback
-    switch( iOperation )
-        {
-        case EOperationUnregister:
-            {
-            iObs.HandleFswPpApplicationUnregistered( iWgId );
-            break;            
-            }        
-        case EOperationBitmapUpdated:
-            {
-            iObs.HandleFswPpApplicationChange( iWgId, iFbsBitmapId );
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::DoCancel
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::ReadProperties
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::ReadPropertiesL()
-    {
-    // Read all properties
-    User::LeaveIfError( iProperty.Get( KPSUidPreviewProvider, KPSKeyWgId, iWgId ) );
-    User::LeaveIfError( iProperty.Get( KPSUidPreviewProvider, KPSKeyFbsBitmapId, iFbsBitmapId ) );
-    TInt operation( 0 );
-    User::LeaveIfError( iProperty.Get( KPSUidPreviewProvider, KPSKeyOperation, operation ) );
-    iOperation = static_cast<TPreviewOperation>( operation );    
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::DefinePropertyL
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::DefinePropertyL( TInt aPSKey )
-    {
-    TInt err = RProperty::Define( KPSUidPreviewProvider, aPSKey, RProperty::EInt );
-    // Don't mind the already exists error
-    if ( err != KErrAlreadyExists && err != KErrPermissionDenied )
-        {
-        User::LeaveIfError( err );
-        }    
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::Subscribe
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::Subscribe()
-    {
-    iProperty.Subscribe( iStatus );
-    SetActive();  
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::ConstructL()
-    {
-    TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    DefinePropertyL( KPSKeyWgId );
-    DefinePropertyL( KPSKeyFbsBitmapId );
-    DefinePropertyL( KPSKeyOperation );
-    
-    User::LeaveIfError( iProperty.Attach( KPSUidPreviewProvider, KPSKeyWgId ) );
-    CActiveScheduler::Add( this );
-    
-    // initial subscription
-    Subscribe();
-    
-    TSLOG_OUT();
-    }
-
-// End of file
-
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  bld.inf
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-previewprovidercrp.mmp
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/group/previewprovidercrp.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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:  MMP file for preview provider ECOM plugin
-*
-*/
-
-#include <platform_paths.hrh>
-#include <defaultcaps.hrh>
-
-TARGET          20016BEC.DLL
-TARGETTYPE      PLUGIN 
-UID             0x10009D8D 0x20016BEC
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-OPTION_REPLACE  ARMCC --arm -O3 --cpu 6
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../../trace
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-SOURCE          previewprovidercrp.cpp
-
-RESOURCE        20016BEC.rss
-
-LIBRARY         ecom.lib
-LIBRARY         euser.lib
-LIBRARY         wsgraphicdrawer.lib
-LIBRARY         fbscli.lib
-LIBRARY         estor.lib 
-LIBRARY         gdi.lib 
-DEBUGLIBRARY    flogger.lib
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrp.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +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:  Preview provider ECOM plugin
-*
-*/
-
-
-#ifndef PREVIEWPROVIDERCRP_H
-#define PREVIEWPROVIDERCRP_H
-
-// INCLUDES
-#include <w32std.h>
-#include <graphics/wsgraphicdrawerinterface.h>
-#include <graphics/wsgraphicdrawer.h>
-
-// Number of screenshots used at the same time,
-// each window group change will cause a screenshot
-// to one of these, the index for the current one is
-// switched after each screenshot capture. (this is needed
-// to prevent overwriting screenshots before the client could
-// make a copy of them)
-const TInt KMaxShots = 4;
-
-/**
- * Preview provider window server ECOM plugin class.
- */
-NONSHARABLE_CLASS( CPreviewProviderCRP ) : public CWsGraphicDrawer, 
-                                           public MWsEventHandler 
-    {
-public:
-
-    /**
-     * Creates a new instance of the plguin.
-     *
-     * @return Created instance.
-     */ 
-    static CWsGraphicDrawer* CreateL();
-    
-    /**
-     * Destructor
-     */ 
-    ~CPreviewProviderCRP();
-    
-private:
-
-    /**
-     * From CWsGraphicDrawer.
-     *
-     * @param aGc
-     * @param aRect
-     * @param aData
-     */ 
-    void DoDraw( MWsGc& aGc, const TRect& aRect, const TDesC8& aData ) const;
-    
-    /**
-     * Handles message from PreviewProviderClient.
-     *
-     * @param aData Message data.
-     */ 
-    void HandleMessage( const TDesC8& aData );
-
-    /**
-     * 2nd phase constructor.
-     *
-     * @param aEnv
-     * @param aId
-     * @param aOwner
-     * @param aData
-     */     
-    void ConstructL( MWsGraphicDrawerEnvironment& aEnv, 
-                     const TGraphicDrawerId& aId, 
-                     MWsClient& aOwner, 
-                     const TDesC8& aData );
-    
-    /**
-     * From MWsEventHandler.
-     * 
-     * Observer for TWservCrEvent::EWindowGroupChanged to take the screenshot
-     * when application changes.
-     *
-     * @param aEvent
-     */     
-    void DoHandleEvent( const TWservCrEvent& aEvent );
-    
-private:
-
-    /**
-     * 2nd phase constructor.
-     */ 
-    void ConstructL();
-    
-    /**
-     * Handles application registration.
-     *
-     * @param aWgId Window group id.
-     */ 
-    void Register( TInt aWgId );
-    
-    /**
-     * Handler application unregistration.
-     *
-     * @param aWgId Window group id.
-     */     
-    void Unregister( TInt aWgId );
-    
-    /*
-     * Allocate resources and take screenshot
-     */
-    void ScreenshotL();
-    
-    /**
-     * Takes the screenshot.
-     */     
-    void ScreenshotL( CFbsBitmap& aBitmap );
-    
-    /**
-     * Remove bitmap reference fom list
-     */
-    void RemoveScreenshot( TInt aBitmapHandle );
-    
-    /**
-     * Remove all bitmaps overflow
-     */
-    void CheckOverflow();
-    
-    /**
-     * Handles message from PreviewProviderClient.
-     *
-     * @param aData Message data.
-     */     
-    void DoHandleMessageL( const TDesC8& aData );
-    
-    /**
-     * Notifies the PreviewProviderClient when screenshot is ready for copying.
-     */     
-    void ScaleCompleteL(const CFbsBitmap& aBitmap);
-    
-    /**
-     * Notifies the PreviewProviderClient when an application has been exited.
-     */
-    void UnregisterComplete( TInt aWgId );
-    
-    /**
-     * Uses window server front buffer to create a screenshot.
-     * @param aFront preallocated destination bitmap
-     * @param aFront Front buffer. 
-     * @param aSrcSize Size of the source front buffer in pixels.
-     * @param aSrcStride Source stride.
-     */
-    void FrontBufferScreenShot(
-        CFbsBitmap& aBitmap,
-        MWsFrontBuffer& aFront, const TSize& aSrcSize, TInt aSrcStride );  
-    
-private:
-    TInt iScreen;
-    TInt iPrevId;
-    TInt iPrevReg; // to work around the problem with wgid not set when app brought 
-                   // to foreground first time
-    RPointerArray<CFbsBitmap> iScreenshots;
-    TSize iScreenshotSize;
-    TDisplayMode iScreenshotMode;
-    RArray<TInt> iWgIds;
-    };
-
-#endif // PREVIEWPROVIDERCRP_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrplogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  Header file used for logging
-*
-*/
-
-
-#ifndef PREVIEWPROVIDERCRPLOGGING_H
-#define PREVIEWPROVIDERCRPLOGGING_H
-
-_LIT( KTsLogFile, "tspreviewprovidercrp.txt" );
-_LIT( KTsLogPath, "tspreviewprovider" );
-#define _TSLOG_LOG_COMPONENT_ID 6715358
-//#define _TSLOG_RDEBUG
-
-#include <e32debug.h>
-#include "tslogging.h"
-
-#endif // PREVIEWPROVIDERCRPLOGGING_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/20016BEC.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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:  ECOM registration file
-*
-*/
-
-
-#include <ecom/registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	dll_uid = 0x20016BEC;
-	interfaces =
-		{
-		INTERFACE_INFO
-			{
-			interface_uid = 0x10281924;
-			implementations =
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x20016BEC;
-					version_no = 1;
-					display_name = "previewprovider";
-					default_data = "";
-					opaque_data = "";
-					}
-				};
-			}
-		};
-	}
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/previewprovidercrp.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,436 +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:  Preview provider ECOM plugin
-*
-*/
-
-
-#include <bldvariant.hrh>
-#ifdef SYMBIAN_BUILD_GCE
-#define NGA
-#endif
-
-#include "previewprovidercrp.h"
-#include "previewmsg.h"
-#include "previewprovidercrplogging.h"
-#include <ecom/implementationproxy.h>
-#include <s32mem.h> //RDesReadStream
-
-#ifdef NGA
-#include <graphics/wsscreendevice.h>
-#endif
-
-// CONSTANTS
-const TInt KImpId( 0x20016BEC );
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::CreateL
-// --------------------------------------------------------------------------
-//
-CWsGraphicDrawer* CPreviewProviderCRP::CreateL()
-    {
-    CPreviewProviderCRP* crp = new (ELeave) CPreviewProviderCRP();
-    CleanupStack::PushL( crp );
-    crp->ConstructL();
-    CleanupStack::Pop( crp );
-    return crp;
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::ConstructL()
-    { 
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::~CPreviewProviderCRP
-// --------------------------------------------------------------------------
-//    
-CPreviewProviderCRP::~CPreviewProviderCRP()    
-    {
-    Env().UnregisterEventHandler( this );
-    iScreenshots.ResetAndDestroy();
-    iWgIds.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::DoDraw
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::DoDraw( MWsGc& /*aGc*/, const TRect& /*aRect*/, 
-    const TDesC8& /*aData*/) const
-    {
-    //draws nothing
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::HandleMessage
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::HandleMessage( const TDesC8& aData )
-    {
-    TRAP_IGNORE( DoHandleMessageL( aData ) );
-    }
-    
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::DoHandleMessageL
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::DoHandleMessageL( const TDesC8& aData )
-    {  
-    TSLOG_CONTEXT( DoHandleMessageL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    RDesReadStream in( aData );
-    switch( in.ReadInt32L() )
-        {
-        case NPreviewMsg::ERegister:
-            {
-            const TInt id = in.ReadInt32L();
-            Register( id );
-            }
-            break;
-        case NPreviewMsg::EUnregister:
-            {
-            const TInt id = in.ReadInt32L();
-            Unregister( id );
-            }
-            break;
-        case NPreviewMsg::EChangeScreen:
-            {
-            const TInt screen = in.ReadInt32L();
-            if ( Env().ScreenCount() )
-                {
-                iScreen = screen;
-                }
-            }
-            break;
-        case NPreviewMsg::ESetPreviewParam:
-            iScreenshotSize.iWidth = in.ReadInt32L();
-            iScreenshotSize.iHeight = in.ReadInt32L();
-            iScreenshotMode = static_cast<TDisplayMode>( in.ReadInt32L() );
-            break;
-        case NPreviewMsg::ETakePreview:
-            ScreenshotL();
-            break;
-        case NPreviewMsg::EAckPreviewReady:
-            RemoveScreenshot( in.ReadInt32L() );
-            break;
-        }
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::ConstructL( MWsGraphicDrawerEnvironment& aEnv,
-    const TGraphicDrawerId& aId, MWsClient& aOwner, const TDesC8& /*aData*/ )
-    {
-    TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    BaseConstructL( aEnv, aId, aOwner );
-    aEnv.RegisterEventHandler( this, this, TWservCrEvent::EWindowGroupChanged );
-    
-    TSLOG_OUT();
-    }
-    
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::DoHandleEvent
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::DoHandleEvent( const TWservCrEvent& aEvent )
-    {
-    TSLOG_CONTEXT( DoHandleEvent, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    if ( aEvent.Type() == TWservCrEvent::EWindowGroupChanged )
-        {
-        const TInt wgId = aEvent.WindowGroupIdentifier();
-        if ( iWgIds.FindInOrder( iPrevId ) >= 0 ||
-            ( iPrevId == 0 &&  iPrevReg != 0 ) )
-            {
-            TRAP_IGNORE( ScreenshotL() );
-            iPrevReg = 0;
-            }
-        iPrevId = wgId;
-        }
-    
-    TSLOG_OUT();
-    }
-    
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ScaleComplete
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::ScaleCompleteL( const CFbsBitmap& aBitmap )
-    {
-    TSLOG_CONTEXT( ScaleComplete, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-            NPreviewMsg::EPreviewReady,
-            iPrevId?iPrevId:iPrevReg,
-            aBitmap.Handle()
-            };
-    TPckgC<TInt[sizeof(msg) / sizeof(TInt)]> buf(msg);
-    User::LeaveIfError( SendMessage( buf ) );
-    TSLOG3( TSLOG_INFO, "size = %dx%d handle = %d",
-        aBitmap.SizeInPixels().iWidth,
-        aBitmap.SizeInPixels().iHeight,
-        aBitmap.Handle() );
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::UnregisterComplete
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::UnregisterComplete( TInt aWgId )
-    {
-    TSLOG_CONTEXT( UnregisterComplete, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-            NPreviewMsg::EUnregisterReady,
-            aWgId,
-            0
-            };
-    TPckgC<TInt[sizeof(msg) / sizeof(TInt)]> buf(msg);
-    SendMessage(buf);
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::Register
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::Register( TInt aWgId )
-    {
-    TSLOG_CONTEXT( Register, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    iPrevReg = aWgId;
-    iWgIds.InsertInOrder( aWgId );
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::Unregister
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::Unregister( TInt aWgId )
-    {
-    TSLOG_CONTEXT( Unregister, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt index = iWgIds.FindInOrder( aWgId );
-    if ( index >= 0 )
-        {
-        iWgIds.Remove( index );
-        }
-    
-    UnregisterComplete( aWgId );
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ScreenShotL
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::ScreenshotL()
-    {
-    CFbsBitmap* screenshot = new (ELeave)CFbsBitmap();
-    CleanupStack::PushL( screenshot );
-    ScreenshotL( *screenshot );
-    ScaleCompleteL( *screenshot );
-    iScreenshots.InsertL( screenshot, iScreenshots.Count() );
-    CleanupStack::Pop( screenshot );
-    CheckOverflow();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ScreenShotL
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::ScreenshotL(CFbsBitmap& aBitmap)
-    {
-    TSLOG_CONTEXT( ScreenShot, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    if( 0 > iScreen || Env().ScreenCount() <= iScreen )
-        {
-        //screen offset out of range. skip request
-        User::Leave(KErrArgument);
-        }
-    // Find the screen resolution
-    MWsScreenConfig* screenConfig = 
-        Env().Screen( iScreen )->ObjectInterface<MWsScreenConfig>();    
-    
-    const TSize sz = screenConfig->ScreenModeSizeInPixels();
-
-    // Get the screen buffer (containing screenshot data)
-    MWsFrontBuffer* screenFront = 
-        Env().Screen( iScreen )->ObjectInterface<MWsFrontBuffer>();
-    
-    // With NGA we do not support downscaling of the screenshots.
-    // So use the size of the screen if no screenshot size has been explicitly
-    // set or if the old method for taking screenshots is not available.
-    if ( iScreenshotSize.iWidth == 0 || 
-         iScreenshotSize.iHeight == 0 || 
-         !screenFront )
-        {
-        iScreenshotSize = sz;
-        }
-    // Use the the same DisplayMode as for the source image
-    // so override the display mode, ignoring any requests.
-    iScreenshotMode = screenConfig->DisplayMode();
-    
-    TSLOG3( TSLOG_INFO, "iShotSize: %dx%d mode: %d",
-        iScreenshotSize.iWidth, iScreenshotSize.iHeight, iScreenshotMode );
-    
-    aBitmap.Reset();
-    User::LeaveIfError( aBitmap.Create( iScreenshotSize, iScreenshotMode ) );
-  
-    // Check if front buffer is available.
-    // Will always be NULL with NGA.
-    if ( screenFront )
-        {
-        TSLOG0( TSLOG_INFO, "non-NGA, using front buffer" );
-        FrontBufferScreenShot( aBitmap, *screenFront, sz, screenConfig->Stride() );
-        }
-#ifdef NGA
-    else
-        {
-        TSLOG0( TSLOG_INFO, "NGA, using CopyScreenToBitmapL" );
-        MWsScreenDevice* screenDevice = static_cast<MWsScreenDevice*>(
-            Env().Screen( iScreen )->ResolveObjectInterface(
-                MWsScreenDevice::EWsObjectInterfaceId ) );
-        User::LeaveIfNull( screenDevice );
-        screenDevice->CopyScreenToBitmapL( &aBitmap, iScreenshotSize );
-        }
-#endif
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::RemoveScreenshot
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::RemoveScreenshot( TInt aBitmapHandle )
-    {
-    for( int iter(0); iter < iScreenshots.Count(); ++iter )
-        {
-        if( iScreenshots[iter]->Handle() == aBitmapHandle )
-            {
-            delete iScreenshots[iter];
-            iScreenshots.Remove(iter);
-            break;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::CheckOverflow
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::CheckOverflow()
-    {
-    TInt overflow( iScreenshots.Count() - KMaxShots);
-    while( 0 < overflow-- )
-        {
-        delete iScreenshots[0];
-        iScreenshots.Remove(0);
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::FrontBufferScreenShot
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::FrontBufferScreenShot( CFbsBitmap& aBitmap, 
-                                                 MWsFrontBuffer& aFront, 
-                                                 const TSize& aSrcSize, 
-                                                 TInt aSrcStride )
-    {
-    TSLOG_CONTEXT( CPreviewProviderCRP::FrontBufferScreenShot, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TUint8* src = static_cast<const TUint8*> ( aFront.GetBits() );
-    TSLOG1( TSLOG_INFO, "src address = [%d]", src );
-        
-    TInt srcstride( aSrcStride );
-    TInt srcwidth( aSrcSize.iWidth );
-    TInt srcheight( aSrcSize.iHeight ); 
-    TInt dststride( aBitmap.DataStride() );
-    TInt dstheight( iScreenshotSize.iHeight );
-    TInt dstwidth( iScreenshotSize.iWidth );
-    TInt stepdst( dststride / dstwidth );
-    TInt stepsrc( srcstride / srcwidth );
-    // scale must be TInt type
-    TInt scaleX( aSrcSize.iWidth / iScreenshotSize.iWidth );
-    TInt scaleY( aSrcSize.iHeight / iScreenshotSize.iHeight );
-    
-    aBitmap.LockHeap();
-    
-    TUint8* dst = ( TUint8* ) aBitmap.DataAddress();
-    
-    TInt minWidth = Min( srcwidth, dstwidth );
-    TInt minHeight = Min( srcheight, dstheight );
-    TInt minStep = Min( stepsrc, stepdst );
-    
-    for ( TInt y = minHeight; y > 0; y-- )
-         {
-         for ( TInt x = minWidth; x > 0; x-- )
-             {
-             Mem::Copy( dst, src, minStep );
-             dst += stepdst;
-             src += scaleX*stepdst;
-             }
-         src += srcstride - scaleX * stepdst * minWidth;
-         src += ( scaleY - 1 ) * srcstride;
-         }
-         
-    aBitmap.UnlockHeap();
-    TSLOG_OUT();
-    }
-    
-// --------------------------------------------------------------------------
-// KImplementationTable
-// --------------------------------------------------------------------------
-//    
-LOCAL_C const TImplementationProxy KImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY(KImpId, CPreviewProviderCRP::CreateL)
-    };
-
-// --------------------------------------------------------------------------
-// ImplementationGroupProxy
-// --------------------------------------------------------------------------
-//    
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = (sizeof(KImplementationTable) / sizeof(TImplementationProxy));
-    return KImplementationTable;
-    }
-
-
-// End of file
--- a/taskswitcher/contextengine/tsfswserver/client/bwins/tsfswclientu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	?SwitchToApp@CTsFswClient@@QAEXH@Z @ 1 NONAME ; void CTsFswClient::SwitchToApp(int)
-	?GetContentL@CTsFswClient@@QAEXAAV?$RPointerArray@VCTsFswEntry@@@@@Z @ 2 NONAME ; void CTsFswClient::GetContentL(class RPointerArray<class CTsFswEntry> &)
-	?ForegroundAppUid@CTsFswClient@@QAE?AVTUid@@W4TTsFswFgAppType@1@@Z @ 3 NONAME ; class TUid CTsFswClient::ForegroundAppUid(enum CTsFswClient::TTsFswFgAppType)
-	?Subscribe@CTsFswClient@@QAEXAAVMTsFswObserver@@@Z @ 4 NONAME ; void CTsFswClient::Subscribe(class MTsFswObserver &)
-	?NewLC@CTsFswClient@@SAPAV1@XZ @ 5 NONAME ; class CTsFswClient * CTsFswClient::NewLC(void)
-	?CloseApp@CTsFswClient@@QAEXH@Z @ 6 NONAME ; void CTsFswClient::CloseApp(int)
-	?NewL@CTsFswClient@@SAPAV1@XZ @ 7 NONAME ; class CTsFswClient * CTsFswClient::NewL(void)
-	?CancelSubscribe@CTsFswClient@@QAEXXZ @ 8 NONAME ; void CTsFswClient::CancelSubscribe(void)
-
--- a/taskswitcher/contextengine/tsfswserver/client/eabi/tsfswclientu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	_ZN12CTsFswClient11GetContentLER13RPointerArrayI11CTsFswEntryE @ 1 NONAME
-	_ZN12CTsFswClient11SwitchToAppEi @ 2 NONAME
-	_ZN12CTsFswClient15CancelSubscribeEv @ 3 NONAME
-	_ZN12CTsFswClient16ForegroundAppUidENS_15TTsFswFgAppTypeE @ 4 NONAME
-	_ZN12CTsFswClient4NewLEv @ 5 NONAME
-	_ZN12CTsFswClient5NewLCEv @ 6 NONAME
-	_ZN12CTsFswClient8CloseAppEi @ 7 NONAME
-	_ZN12CTsFswClient9SubscribeER14MTsFswObserver @ 8 NONAME
-
--- a/taskswitcher/contextengine/tsfswserver/client/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  build info file for client dll
- *
-*/
-
-
-PRJ_EXPORTS
-../inc/tsfswclient.h |../../../inc/tsfswclient.h
-../inc/tsfswclientobserver.h |../../../inc/tsfswclientobserver.h
-
-PRJ_MMPFILES
-tsfswclient.mmp
--- a/taskswitcher/contextengine/tsfswserver/client/group/tsfswclient.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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:  client dll
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET  tsfswclient.dll
-TARGETTYPE DLL
-CAPABILITY CAP_GENERAL_DLL
-
-SOURCEPATH ../src
-SOURCE          tsfswclient.cpp
-SOURCE          tsfswclientimpl.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../trace
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-
-LIBRARY tsfswutils.lib
-
-DEBUGLIBRARY flogger.lib
--- a/taskswitcher/contextengine/tsfswserver/client/inc/clientlogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for client
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfswclient.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x0000000
-#endif
-
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswserver/client/inc/tsfswclient.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:  Client API
- *
-*/
-
-
-#ifndef TSFSWCLIENT_H
-#define TSFSWCLIENT_H
-
-#include <e32std.h>
-#include "tsfswentry.h"
-
-class MTsFswObserver;
-class CTsFswClientImpl;
-
-/**
- * Client API for the Huriganes Fast Swap Server.
- */    
-NONSHARABLE_CLASS( CTsFswClient ) : public CBase
-    {
-public:
-    /**
-     * Possible values for aType argument of ForegroundAppUid().
-     */
-    enum TTsFswFgAppType
-        {
-        /**
-         * Means that even when the foreground app has another app embedded
-         * into it the uid of the container application will be returned.
-         */
-        EUseStandaloneUid,
-        /**
-         * Means that if the foreground app has another app embedded
-         * into it then the returned uid will be the uid of the embedded
-         * app.
-         */
-        EUseEmbeddedUid
-        };
-
-    /**
-     * Creates a new instance.
-     * @capability LocalServices
-     */
-    IMPORT_C static CTsFswClient* NewL();
-    
-    /**
-     * Creates a new instance.
-     * @capability LocalServices
-     */
-    IMPORT_C static CTsFswClient* NewLC();
-    
-    /**
-     * Destructor.
-     */
-    ~CTsFswClient();
-    
-    /**
-     * Queries the fast swap content from the server and
-     * copies it into the given array.
-     * Previous content of the array is removed (by using ResetAndDestroy).
-     * @param   aDst    array to which data is stored
-     * @capability LocalServices
-     */
-    IMPORT_C void GetContentL( RTsFswArray& aDst );
-    
-    /**
-     * Subscribes for continuous notifications about changes in the
-     * fast swap content.
-     * The notifications are generated until CancelSubscribe is called
-     * or the instance is destroyed.
-     * @capability LocalServices
-     */
-    IMPORT_C void Subscribe( MTsFswObserver& aObserver );
-    
-    /**
-     * Cancels the subscription for change notifications.
-     * @capability LocalServices
-     */
-    IMPORT_C void CancelSubscribe();
-    
-    /**
-     * Tries to close the application with the given id.
-     * @capability LocalServices
-     */
-    IMPORT_C void CloseApp( TInt aWgId );
-    
-    /**
-     * Brings the application with the given id into foreground.
-     * @capability LocalServices
-     */
-    IMPORT_C void SwitchToApp( TInt aWgId );
-
-    /**
-     * Returns the uid of the foreground app or KNullUid if something goes wrong.
-     *
-     * Will never return hidden apps, only those which can also be seen in the
-     * array returned by GetContentL.
-     *
-     * However the handling of embedded applications might be different:
-     * (as opposed to GetContentL)
-     * If aType == EUseEmbeddedUid:
-     *   This function will always return the embedded application's uid, unlike
-     *   GetContentL which will always refer to the container app (except for the
-     *   screenshot of course). This means that the returned uid is simply the
-     *   uid belonging to the first (non-hidden, etc.) window group from the window group list.
-     * If aType == EUseStandaloneUid:
-     *   Embedded applications are ignored and the returned uid is the app uid belonging
-     *   to the first parentless window group.
-     */
-    IMPORT_C TUid ForegroundAppUid( TTsFswFgAppType aType );
-
-private:
-    CTsFswClient();
-    void ConstructL();
-
-    CTsFswClientImpl* iImpl;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/client/inc/tsfswclientimpl.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  Client API, private implementation
- *
-*/
-
-
-#ifndef TSFSWCLIENTIMPL_H
-#define TSFSWCLIENTIMPL_H
-
-#include <e32std.h>
-#include "tsfswentry.h"
-
-class MTsFswObserver;
-    
-NONSHARABLE_CLASS( CTsFswClientImpl ) : public CActive
-    {
-public:
-    static CTsFswClientImpl* NewL();
-    static CTsFswClientImpl* NewLC();
-    ~CTsFswClientImpl();
-    
-    void GetContentL( RTsFswArray& aDst );
-    
-    void Subscribe( MTsFswObserver& aObserver );
-    void CancelSubscribe();
-    
-    void CloseApp( TInt aWgId );
-    void SwitchToApp( TInt aWgId );
-
-    TUid ForegroundAppUid( TInt aType );
-
-private:
-    void RunL();
-    void DoCancel();
-
-private:
-    CTsFswClientImpl();
-    void ConstructL();
-
-    NONSHARABLE_CLASS( RTsFswClient ) : public RSessionBase
-        {
-    public:
-        TInt Connect();
-        void Subscribe( TRequestStatus& aStatus );
-        void CancelSubscribe();
-        void GetContentL( RTsFswArray& aDst );
-        void CloseApp( TInt aWgId );
-        void SwitchToApp( TInt aWgId );
-        TUid ForegroundAppUid( TInt aType );
-        };
-    RTsFswClient iClient;
-    
-    MTsFswObserver* iObserver; // not own
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/client/inc/tsfswclientobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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:  Client API
- *
-*/
-
-
-#ifndef TSFSWCLIENTOBSERVER_H
-#define TSFSWCLIENTOBSERVER_H
-
-#include <e32base.h>
-
-/**
- * Observer interface for getting notifications about fast swap content changes.
- */
-class MTsFswObserver
-    {
-public:
-    /**
-     * Called when there is a change in the fast swap content.
-     * The data can be queried via CTsFswClient::GetContentL
-     */
-    virtual void HandleFswContentChanged() = 0;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/client/src/tsfswclient.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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:  Client API
- *
-*/
-
-
-#include "tsfswclient.h"
-#include "tsfswclientimpl.h"
-
-// --------------------------------------------------------------------------
-// CTsFswClient::NewL
-// --------------------------------------------------------------------------
-//    
-EXPORT_C CTsFswClient* CTsFswClient::NewL()
-    {
-    CTsFswClient* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::NewLC
-// --------------------------------------------------------------------------
-//    
-EXPORT_C CTsFswClient* CTsFswClient::NewLC()
-    {
-    CTsFswClient* self = new ( ELeave ) CTsFswClient;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::CTsFswClient
-// --------------------------------------------------------------------------
-//    
-CTsFswClient::CTsFswClient()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::~CTsFswClient
-// --------------------------------------------------------------------------
-//    
-CTsFswClient::~CTsFswClient()
-    {
-    delete iImpl;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CTsFswClient::ConstructL()
-    {
-    iImpl = CTsFswClientImpl::NewL();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::GetContentL
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::GetContentL( RTsFswArray& aDst )
-    {
-    iImpl->GetContentL( aDst );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::Subscribe
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::Subscribe( MTsFswObserver& aObserver )
-    {
-    iImpl->Subscribe( aObserver );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::CancelSubscribe
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::CancelSubscribe()
-    {
-    iImpl->CancelSubscribe();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::CloseApp
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::CloseApp( TInt aWgId )
-    {
-    iImpl->CloseApp( aWgId );
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClient::SwitchToApp
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::SwitchToApp( TInt aWgId )
-    {
-    iImpl->SwitchToApp( aWgId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::ForegroundAppUid
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TUid CTsFswClient::ForegroundAppUid( TTsFswFgAppType aType )
-    {
-    return iImpl->ForegroundAppUid( aType );
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/client/src/tsfswclientimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +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:  Client API, private implementation
- *
-*/
-
-
-#include "tsfswclientimpl.h"
-#include "tsfswclientobserver.h"
-#include "tsfswcommon.h"
-#include <s32mem.h>
-
-#include "clientlogging.h"
-
-// --------------------------------------------------------------------------
-// StartServer
-// --------------------------------------------------------------------------
-//   
-static TInt StartServer()
-    {
-    RProcess server;
-    const TUidType uid( KNullUid, KNullUid, KTsFswServerUid );
-    TInt err = server.Create( KTsFswServerImg, KNullDesC, uid );
-    if ( err != KErrNone )
-        {
-        return err;
-        }
-    TRequestStatus stat;
-    server.Rendezvous( stat );
-    if ( stat != KRequestPending )
-        {
-        server.Kill( 0 );
-        }
-    else
-        {
-        server.Resume();
-        }
-    User::WaitForRequest( stat );
-    err = server.ExitType() == EExitPanic ? KErrGeneral : stat.Int();
-    server.Close();
-    return err;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::Connect
-// --------------------------------------------------------------------------
-//
-TInt CTsFswClientImpl::RTsFswClient::Connect()
-    {
-    const TInt KAsyncMessageSlots = 4;
-    const TInt KMaxRetry = 4;
-    
-    TInt retry = KMaxRetry;
-    for ( ; ; )
-        {
-        TInt err = CreateSession( KTsFswServerName, TVersion( 0, 0, 0 ), KAsyncMessageSlots );
-        if ( err != KErrNotFound && err != KErrServerTerminated )
-            {
-            return err;
-            }
-        if ( !--retry )
-            {
-            return err;
-            }
-        err = StartServer();
-        if ( err != KErrNone && err != KErrAlreadyExists )
-            {
-            return err;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::Subscribe
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::Subscribe( TRequestStatus& aStatus )
-    {
-    SendReceive( ETsFswSubscribe, aStatus );
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::CancelSubscribe
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::CancelSubscribe()
-    {
-    SendReceive( ETsFswCancel );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::GetContentL
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::GetContentL( RTsFswArray& aDst )
-    {
-    TSLOG_CONTEXT( GetContentL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    for ( ; ; )
-        {
-        TPckgBuf<TInt> bufSize;
-        User::LeaveIfError( SendReceive( ETsFswGetBufferSize,
-            TIpcArgs( &bufSize ) ) );
-        HBufC8* buf = HBufC8::NewLC( bufSize() );
-        TPtr8 p( buf->Des() );
-        TInt err = SendReceive( ETsFswGetBuffer,
-            TIpcArgs( &p, bufSize() ) );
-        if ( err == KErrNone )
-            {
-            RDesReadStream strm( p );
-            CleanupClosePushL( strm );
-            CTsFswEntry::InternalizeArrayL( strm, aDst );
-            CleanupStack::PopAndDestroy( &strm );
-            }
-        else if ( err != KErrArgument )
-            {
-            User::Leave( err );
-            }
-        CleanupStack::PopAndDestroy( buf );
-        if ( err == KErrNone )
-            {
-            break;
-            }
-        // If result was KErrArgument then the size received from GetBufferSize is
-        // not valid anymore so restart the whole procedure.
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::CloseApp
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::CloseApp( TInt aWgId )
-    {
-    SendReceive( ETsFswCloseApp, TIpcArgs( aWgId ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::SwitchToApp
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::SwitchToApp( TInt aWgId )
-    {
-    SendReceive( ETsFswSwitchToApp, TIpcArgs( aWgId ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::ForegroundAppUid
-// --------------------------------------------------------------------------
-//   
-TUid CTsFswClientImpl::RTsFswClient::ForegroundAppUid( TInt aType )
-    {
-    TUid result = KNullUid;
-    TPckgBuf<TInt> uidBuf;
-    if ( SendReceive( ETsFswForegroundAppUid,
-            TIpcArgs( &uidBuf, &aType ) ) == KErrNone )
-        {
-        result = TUid::Uid( uidBuf() );
-        }
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::NewL
-// --------------------------------------------------------------------------
-//   
-CTsFswClientImpl* CTsFswClientImpl::NewL()
-    {
-    CTsFswClientImpl* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::NewLC()
-// --------------------------------------------------------------------------
-//   
-CTsFswClientImpl* CTsFswClientImpl::NewLC()
-    {
-    CTsFswClientImpl* self = new ( ELeave ) CTsFswClientImpl;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::CTsFswClientImpl()
-// --------------------------------------------------------------------------
-//   
-CTsFswClientImpl::CTsFswClientImpl()
-        : CActive( CActive::EPriorityStandard )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::~CTsFswClientImpl()
-// --------------------------------------------------------------------------
-//   
-CTsFswClientImpl::~CTsFswClientImpl()
-    {
-    Cancel();
-    iClient.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::ConstructL()
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::ConstructL()
-    {
-    User::LeaveIfError( iClient.Connect() );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::GetContentL
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::GetContentL( RTsFswArray& aDst )
-    {
-    iClient.GetContentL( aDst );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::Subscribe
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::Subscribe( MTsFswObserver& aObserver )
-    {
-    Cancel();
-    iObserver = &aObserver;
-    iClient.Subscribe( iStatus );
-    SetActive();
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::CancelSubscribe
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::CancelSubscribe()
-    {
-    Cancel();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::CloseApp
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::CloseApp( TInt aWgId )
-    {
-    iClient.CloseApp( aWgId );
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::SwitchToApp
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::SwitchToApp( TInt aWgId )
-    {
-    iClient.SwitchToApp( aWgId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::ForegroundAppUid
-// --------------------------------------------------------------------------
-//   
-TUid CTsFswClientImpl::ForegroundAppUid( TInt aType )
-    {
-    return iClient.ForegroundAppUid( aType );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RunL
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RunL()
-    {
-    TSLOG_CONTEXT( RunL, TSLOG_LOCAL );
-    TSLOG1_IN( "%d", iStatus.Int() );
-
-    if ( iStatus == KErrNone && iObserver )
-        {
-        iClient.Subscribe( iStatus );
-        SetActive();
-        iObserver->HandleFswContentChanged();
-        }
-
-    TSLOG_OUT();
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::DoCancel
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::DoCancel()
-    {
-    iClient.CancelSubscribe();
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/bwins/tsfswengineu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	?NewLC@CTsFswEngine@@SAPAV1@AAVMTsFswEngineObserver@@@Z @ 1 NONAME ; class CTsFswEngine * CTsFswEngine::NewLC(class MTsFswEngineObserver &)
-	?FswDataL@CTsFswEngine@@QAEABV?$RPointerArray@VCTsFswEntry@@@@XZ @ 2 NONAME ; class RPointerArray<class CTsFswEntry> const & CTsFswEngine::FswDataL(void)
-	?CloseAppL@CTsFswEngine@@QAEXH@Z @ 3 NONAME ; void CTsFswEngine::CloseAppL(int)
-	?NewL@CTsFswEngine@@SAPAV1@AAVMTsFswEngineObserver@@@Z @ 4 NONAME ; class CTsFswEngine * CTsFswEngine::NewL(class MTsFswEngineObserver &)
-	?ForegroundAppUidL@CTsFswEngine@@QAE?AVTUid@@H@Z @ 5 NONAME ; class TUid CTsFswEngine::ForegroundAppUidL(int)
-	?SwitchToAppL@CTsFswEngine@@QAEXH@Z @ 6 NONAME ; void CTsFswEngine::SwitchToAppL(int)
-
--- a/taskswitcher/contextengine/tsfswserver/engine/eabi/tsfswengineu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN12CTsFswEngine12SwitchToAppLEi @ 1 NONAME
-	_ZN12CTsFswEngine17ForegroundAppUidLEi @ 2 NONAME
-	_ZN12CTsFswEngine4NewLER20MTsFswEngineObserver @ 3 NONAME
-	_ZN12CTsFswEngine5NewLCER20MTsFswEngineObserver @ 4 NONAME
-	_ZN12CTsFswEngine8FswDataLEv @ 5 NONAME
-	_ZN12CTsFswEngine9CloseAppLEi @ 6 NONAME
-
--- a/taskswitcher/contextengine/tsfswserver/engine/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  build info file for engine component
- *
-*/
-
-
-PRJ_EXPORTS
-../inc/tsfswengine.h        |../../../inc/tsfswengine.h
-../inc/tsfswobservers.h     |../../../inc/tsfswobservers.h
-
-PRJ_MMPFILES
-tsfswengine.mmp
--- a/taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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:  engine component
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET  tsfswengine.dll
-TARGETTYPE DLL
-CAPABILITY CAP_GENERAL_DLL
-
-SOURCEPATH ../src
-SOURCE          tsfswengine.cpp
-SOURCE          tsfshiddenapplist.cpp
-SOURCE          tsfsalwaysshownapplist.cpp
-SOURCE          tsfswidgetlist.cpp
-SOURCE          tsfswiconcache.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../trace
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-LIBRARY eikcore.lib
-LIBRARY cone.lib
-LIBRARY apparc.lib
-LIBRARY ws32.lib
-LIBRARY apgrfx.lib
-LIBRARY fbscli.lib
-LIBRARY bitgdi.lib
-LIBRARY aknicon.lib
-LIBRARY aknskins.lib
-LIBRARY egul.lib
-LIBRARY widgetregistryclient.lib
-LIBRARY featmgr.lib
-
-LIBRARY tspreviewprovider.lib
-LIBRARY tsfswutils.lib
-
-DEBUGLIBRARY    flogger.lib
-
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/enginelogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for engine
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfswengine.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x0000000
-#endif
-
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfsalwaysshownapplist.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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:  Non-closeable app list class
- *
-*/
-
-
-#ifndef TSFSALWAYSSHOWNAPPLIST_H
-#define TSFSALWAYSSHOWNAPPLIST_H
-
-#include <e32base.h>
-#include <apgcli.h>
-
-/**
- * List of always shown applications.
- */
-NONSHARABLE_CLASS( CTsFsAlwaysShownAppList ) : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @param aParent
-     */
-    static CTsFsAlwaysShownAppList* NewL();
-
-    /*
-     * Default C++ constructor
-     */
-    CTsFsAlwaysShownAppList();
-
-    /*
-     * Destructor
-     */
-    ~CTsFsAlwaysShownAppList();
-
-    /**
-     * Initializes the list that stores applications that are always
-     * shown in the fast swap provided they have been installed
-     * in the phone rom
-     * @return   -
-     */
-    void InitializeAlwaysShownListL();
-
-    /**
-     * If application uid exists in the always shown application list
-     * @return   ETrue  application uid exists in the list
-     *           EFalse application uid doesn't exist in the list
-     * @param    TUid aAppUid the application uid
-     */
-    TBool IsAlwaysShownApp( TUid aAppUid );
-
-    /**
-     * Returning reference to iAppList
-     */
-    RArray<TUid>& AppList() { return iAppList; }
-
-private:    
-    void ConstructL();
-    RArray<TUid> iAppList;
-    RApaLsSession iAppArcSession;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfshiddenapplist.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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:  Class that checks if chosen applications should be hidden
-*                from the task swap.
-*
-*/
-
-
-#ifndef TSFSHIDDENAPPLIST_H_
-#define TSFSHIDDENAPPLIST_H_
-
-#include <e32base.h>    // For CActive, link against: euser.lib
-#include <e32std.h>     // For RTimer, link against: euser.lib
-#include <e32property.h>// For RProperty
-#include "tsfswobservers.h"
-
-//FORWARD DECLARATIONS
-class RWsSession;
-
-/**
- * This class is handling the application which are hidden
- * from fast swap feature.
- */
-NONSHARABLE_CLASS( CTsFsHiddenAppList ) : public CActive
-    {
-public:
-
-    /**
-     * Symbian based two phased constructor.
-     */
-    static CTsFsHiddenAppList* NewL( MTsFsHiddenAppListObserver& aObserver );
-
-    /**
-     * Symbian based two phased constructor.
-     */
-    static CTsFsHiddenAppList* NewLC( MTsFsHiddenAppListObserver& aObserver );
-
-    /**
-     * Destructor
-     */
-    ~CTsFsHiddenAppList();
-
-    /**
-     * Whether application is hidden from FSW.
-     */
-    TBool IsHiddenL( TUid aAppUid, const RWsSession& aWsSession, TInt aWgId );
-
-    /**
-     * Updating application list
-     */
-    void UpdateListL();
-
-protected:
-    /**
-     * Default constructor.
-     */
-    CTsFsHiddenAppList( MTsFsHiddenAppListObserver& aObserver );
-
-    /**
-     * Second phase construction
-     */
-    void ConstructL();
-
-    /**
-     * Reset application array list.
-     */
-    void ResetArray();
-
-    /**
-     * Derived from CActive
-     */
-    virtual void DoCancel();
-
-    /**
-     * Derived from CActive
-     */
-    virtual void RunL();
-
-private:
-    /**
-     * Property reader for reading Hiden app list from FSW
-     */
-    RProperty iProperty;
-
-    /**
-     * Hidden App list
-     */
-    CArrayFixFlat<TInt>* iHiddenAppList;
-
-    /**
-     * hidden apps list observer
-     */
-    MTsFsHiddenAppListObserver& iObserver;
-    };
-
-#endif /*TSFSHIDDENAPPLIST_H_*/
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +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:  Task monitor engine
- *
-*/
-
-
-#ifndef TSFSWENGINE_H
-#define TSFSWENGINE_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include <s32strm.h>
-#include <fbs.h>
-#include <eikenv.h>
-#include <w32std.h>
-#include <e32hashtab.h>
-#include <apgcli.h>
-#include <e32property.h>
-#include "tspreviewobserver.h"
-#include "tsfswentry.h"
-#include "tsfswobservers.h"
-
-class CTsFsAlwaysShownAppList;
-class CTsFsHiddenAppList;
-class CTsFsWidgetList;
-class MTsFswEngineObserver;
-class CTsFswIconCache;
-class CTsFastSwapPreviewProvider;
-class CApaWindowGroupName;
-
-// descriptor big enough to store hex repr of 32-bit integer plus 0x prefix
-typedef TBuf<10> TAppUidHexString;
-
-/**
- * Engine for fast swap server.
- * Performs task monitoring, notifications about wg changes are
- * received from the appui.
- */
-NONSHARABLE_CLASS( CTsFswEngine ) : public CActive,
-        public MTsFswTaskListObserver,
-        public MTsFswResourceObserver,
-        public MTsFsHiddenAppListObserver,
-        public MTsFastSwapPreviewObserver
-    {
-public:
-    /**
-     * Creates a new instance.
-     * @param   aObserver   ref to observer
-     */
-    IMPORT_C static CTsFswEngine* NewL( MTsFswEngineObserver& aObserver );
-    
-    /**
-     * @copydoc NewL
-     */
-    IMPORT_C static CTsFswEngine* NewLC( MTsFswEngineObserver& aObserver );
-    
-    /**
-     * Destructor.
-     */
-    ~CTsFswEngine();
-
-    /**
-     * Returns a reference to the current content.
-     * Also performs sanity checks, e.g. associates application icons
-     * when no screenshot has been received.
-     * @return  ref to content array
-     */
-    IMPORT_C const RTsFswArray& FswDataL();
-    
-    /**
-     * Tries to close the given app.
-     * @param   aWgId   value given by WgId() for an entry in iData
-     */
-    IMPORT_C void CloseAppL( TInt aWgId );
-    
-    /**
-     * Brings the given app to foreground.
-     * @param   aWgId   value given by WgId() for an entry in iData
-     */
-    IMPORT_C void SwitchToAppL( TInt aWgId );
-
-    /**
-     * Returns the uid of the foreground app or KNullUid.
-     * Will never return hidden apps, only those which can
-     * also be seen in the array returned by FswDataL.
-     *
-     * In case of embedded apps the behaviour is controlled
-     * by aType: it will return either the uid of the embedded
-     * application or the container app.
-     *
-     * @param   aType   @see CTsFswClient::TTsFswFgAppType
-     */
-    IMPORT_C TUid ForegroundAppUidL( TInt aType );
-
-private:
-    // from CActive
-    void RunL();
-    TInt RunError( TInt aError );
-    void DoCancel();
-
-    // from MTsFswTaskListObserver
-    void UpdateTaskList();
-    
-    // from MTsFswResourceObserver
-    void HandleResourceChange( TInt aType );
-
-    // from MTsFsHiddenAppListObserver
-    void HiddenAppListUpdated();
-
-    // from MTsFastSwapPreviewObserver
-    void HandleFswPpApplicationChange( TInt aWgId, TInt aFbsHandle );
-    void HandleFswPpApplicationUnregistered( TInt aWgId );
-
-private:
-    /**
-     * Constructor.
-     */
-    CTsFswEngine( MTsFswEngineObserver& aObserver );
-    
-    /**
-     * Performs 2nd phase construction.
-     */
-    void ConstructL();
-    
-    /**
-     * Gets the window group list and reconstructs the fsw content.
-     * @return   TBool   ETrue if the list has been modified
-     */
-    TBool CollectTasksL();
-    
-    /**
-     * Called from CollectTasksL for each entry in the task list.
-     * @param   aWgId       window group id
-     * @param   aAppUid     application uid
-     * @param   aWgName     window group name or NULL
-     * @param   aNewList    list to add to
-     * @param   aIsWidget   true if the entry corresponds to a web widget
-     * @return  TBool   ETrue if it was really a new entry in the list
-     */
-    TBool AddEntryL( TInt aWgId, const TUid& aAppUid,
-        CApaWindowGroupName* aWgName, RTsFswArray& aNewList,
-        TBool aIsWidget );
-
-    /**
-     * Checks if there is an entry for same app in the content list.
-     * If yes then it takes some of the data for the entry that
-     * will correspond to the same app in the refreshed content list.
-     * @param   aEntry      new entry in content list
-     * @param   aAppUid     application uid
-     * @param   aChanged    ref to change-flag, set to ETrue if it is sure
-     * that the new content list will be different from the previous one
-     * @param   aNewList    ref to new content list
-     * @return  ETrue if app was found
-     */
-    TBool CheckIfExistsL( CTsFswEntry& aEntry,
-        const TUid& aAppUid,
-        TBool& aChanged,
-        RTsFswArray& aNewList );
-
-    /**
-     * Adds running widgets to the list.
-     * @param   aNewList    array to add to
-     */
-    void CheckWidgetsL( RTsFswArray& aNewList );
-
-    /**
-     * Finds out the app uid for the given window group id.
-     * @param   aWgId   a valid window group id
-     * @return  application uid
-     */
-    TUid AppUidForWgIdL( TInt aWgId );
-    
-    /**
-     * Returns the parent's wg id or KErrNotFound.
-     * @param   aWgId   a valid window group id
-     * @return parent wg id or KErrNotFound if there is no parent
-     */
-    TInt FindParentWgId( TInt aWgId );
-    
-    /**
-     * Finds out the application name.
-     * @param   aWindowName window group name or NULL
-     * @param   aAppUId     application uid
-     * @param   aWgId       window group id
-     * @return  application name, ownership transferred to caller
-     */
-    HBufC* FindAppNameLC( CApaWindowGroupName* aWindowName,
-        const TUid& aAppUid, TInt aWgId );
-
-    /**
-     * Makes a copy of the bitmap with the given handle.
-     * @param   aFbsHandle          bitmap handle
-     * @param   aKeepAspectRatio    if true then aspect ratio is kept
-     * @return  CFbsBitmap*     the copy, ownership transferred to caller
-     */
-    CFbsBitmap* CopyBitmapL( TInt aFbsHandle, TBool aKeepAspectRatio );
-    
-    /**
-     * Checks if the app to which the screenshot belongs is in the task list
-     * and updates the entry when found. Also triggers change notification
-     * to observer when data is modified.
-     * @param   aWgIdForScreenshot  wgid for the screenshot 
-     * @param   aBitmapHandle       handle for screenshot bitmap
-     */
-    void AssignScreenshotHandle( TInt aWgIdForScreenshot, TInt aBitmapHandle );
-    
-    /**
-     * Returns the bitmap handle for the screenshot belonging to the given app
-     * or 0 if not (yet) found.
-     * @param   aWgIdForApp     a window group id (from the window group list)
-     * @return  bitmap handle or 0
-     */
-    TInt LookupScreenshotHandle( TInt aWgIdForApp );
-    
-    /**
-     * Callback for the iUpdateStarter timer.
-     * Calls CollectTasksL and notifies the observer if the task list
-     * has really been modified.
-     */
-    static TInt UpdateStarterCallback( TAny* aParam );
-
-    /**
-     * Brings the given web widget to foreground.
-     * @param   aWidgetIndex    index in the list of running widgets
-     */
-    void SwitchToWidgetL( TInt aWidgetIndex );
-
-    /**
-     * Configues the preview provider with current screen size.
-     */
-    void SetPreviewParams();
-
-    /**
-     * Registers and unregisters window groups to iPreviewProvider
-     * if the window group list has been changed.
-     */
-    void UpdatePreviewContent();
-
-    /**
-     * Gets and publishes the foreground app uid to CFW.
-     */
-    void PublishFgAppUidL();
-
-    /**
-     * Helper function to publish something to CFW.
-     * @param   aType   context type
-     * @param   aValue  value to publish
-     */
-    //void PublishContextL( const TDesC& aType, const TDesC& aValue );
-
-private: // data    
-    MTsFswEngineObserver& iObserver;
-    RTsFswArray iData; // current fsw content, i.e. the task list
-    CEikonEnv* iEnv; // not own
-
-    // always shown app list, own    
-    CTsFsAlwaysShownAppList* iAlwaysShownAppList;
-    
-    // hidden app list, own
-    CTsFsHiddenAppList* iHiddenAppList;
-    
-    // web widget list, own
-    CTsFsWidgetList* iWidgetList;
-
-    // window server session
-    RWsSession iWsSession;
-    
-    // apparc session
-    RApaLsSession iAppArcSession;
-
-    /**
-     * Hash table storing the screenshots.
-     * Key: window group id for the screenshot
-     * (the one received in ApplicationChange)
-     * Value: CFbsBitmap*, pointers owned
-     */    
-    RHashMap<TInt, CFbsBitmap*> iScreenshots;
-    
-    // preview provider instance, own
-    CTsFastSwapPreviewProvider* iPreviewProvider;
-    
-    // timer to defer content refresh
-    CPeriodic* iUpdateStarter;
-    
-    // app icon provider/container instance, own
-    CTsFswIconCache* iAppIcons;
-    
-    // true if web widgets are supported by the system
-    TBool iWidgetsSupported;
-    // wgid of widget appui is saved here
-    TInt iWidgetAppUiWgId;
-
-    // PS property to listen for swi status changes
-    RProperty iSwiProp;
-    // when true CollectTasksL will call GetAllApps etc.
-    // which is slow and need not be done normally, except
-    // during startup and perhaps when new applications are installed
-    TBool iAppDataRefreshNeeded;
-
-    // window group ids returned by last WindowGroupList call
-    RArray<TInt> iWgIds;
-    
-    // Dirty flag, indicates that iData is not up-to-date because
-    // there were no subscribed clients during a previous possible
-    // change of the task list.
-    TBool iTaskListDirty;
-
-    // For publishing the foreground app uid to Context Framework    
-    TAppUidHexString iFgAppUidStr;
-    TUid iFgAppUid;
-
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswiconcache.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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:  Icon cache
-*
-*/
-
-
-#ifndef TSFSWICONCACHE_H_
-#define TSFSWICONCACHE_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-
-class CFbsBitmap;
-class CGulIcon;
-
-/**
- * App icon cache.
- */
-NONSHARABLE_CLASS( CTsFswIconCache ) : public CBase
-    {
-public:
-
-    /**
-     * Two phased constructor.
-     */
-    static CTsFswIconCache* NewL();
-
-    /**
-     * Two phased constructor.
-     */
-    static CTsFswIconCache* NewLC();
-
-    /**
-     * Destructor
-     */
-    ~CTsFswIconCache();
-
-    /**
-     * Gets the bitmaps associated with the given app from the cache.
-     * If not found then creates the app icon, stores it to the cache,
-     * and returns that.
-     * @param   aAppUid application uid
-     * @param   aBitmap bitmap ptr, ownership NOT transferred to caller, or NULL
-     * @param   aMask   mask ptr, ownership NOT transferred to caller, or NULL
-     */
-    void GetIconL( const TUid& aAppUid,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-    /**
-     * Sets the ptrs to the default icon.
-     * Ownership not transferred to caller.
-     */
-    void DefaultIcon( CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-private:
-    /**
-     * Default constructor.
-     */
-    CTsFswIconCache();
-
-    /**
-     * Second phase construction
-     */
-    void ConstructL();
-
-    /**
-     * Retrieves the bitmap/mask for the icon of the given app.
-     * @param   aAppUid application uid
-     * @param   aBitmap bitmap ptr, ownership transferred to caller, or NULL
-     * @param   aMask   mask ptr, ownership transferred to caller, or NULL
-     */
-    void GetAppIconL( const TUid& aAppUid,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-private:
-    struct STsBitmapPair
-        {
-        STsBitmapPair( CFbsBitmap* aBitmap, CFbsBitmap* aMask )
-            : iBitmap( aBitmap ), iMask( aMask ) { }
-        CFbsBitmap* iBitmap;
-        CFbsBitmap* iMask;
-        };
-    RHashMap<TInt, STsBitmapPair> iAppIcons;
-    
-    CGulIcon* iDefaultIcon;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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:  web widget list
- *
-*/
-
-
-#ifndef TSFSWIDGETLIST_H_
-#define TSFSWIDGETLIST_H_
-
-#include <e32base.h>
-#include <widgetregistryclient.h>
-
-const TUint32 KWidgetAppUidValue = 0x10282822;
-
-/**
- * class handling the list of running wrt widgets
- */
-NONSHARABLE_CLASS(CTsFsWidgetList) : public CBase
-    {
-public:
-    static CTsFsWidgetList* NewL();
-
-    /** Destructor */
-    ~CTsFsWidgetList();
-
-    /**
-     * Initializes the list that stores widgets.
-     * @return   -
-     */        
-    void InitializeWidgetListL();
-
-    /**
-     * Returns a ref to the list of running widgets.
-     */
-    const RWidgetInfoArray& RunningWidgets() const { return iRunningWidgets; }
-
-private:
-    /** Constructor */
-    CTsFsWidgetList();
-    void ResetArrayOfWidgetInfo( RWidgetInfoArray& aWidgetInfoArr );
-    
-    static void CleanupConnect( TAny* aThis );
-
-private:
-    /** Contains list of widgets that are currently running */
-    RWidgetInfoArray iRunningWidgets;
-    RWidgetRegistryClientSession iWidgetRegistryClientSession;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswobservers.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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:  Observer interfaces to get notifications from appui and from engine
- *
-*/
-
-
-#ifndef TSFSWOBSERVERS_H
-#define TSFSWOBSERVERS_H
-
-/**
- * Interface to get notifications from appui when window groups
- * have changed.
- */
-class MTsFswTaskListObserver
-    {
-public:
-    /**
-     * Function called by AppUi to notify about possible
-     * changes in task list
-     */
-    virtual void UpdateTaskList() = 0;
-    };
-
-/**
- * Interface to get notifications from appui's HandleResourceChangeL.
- */
-class MTsFswResourceObserver
-    {
-public:
-    /**
-     * Function called by AppUi to notify about resource changes.
-     */
-    virtual void HandleResourceChange( TInt aType ) = 0;
-    };
-
-/**
- * Observer interface to get notifications from engine
- * when fsw content has changed.
- */
-class MTsFswEngineObserver
-    {
-public:
-    /**
-     * Called when there is a change in the task list.
-     */
-    virtual void FswDataChanged() = 0;
-
-    /**
-     * Called to find out how many clients are subscribed
-     * for fsw content change notifications.
-     */
-    virtual TInt FswDataListenerCount() = 0;
-    };
-
-/**
- * This class is interface for CTsFsHiddenAppList
- * to notify about list change
- */
-class MTsFsHiddenAppListObserver
-    {
-public:
-    /**
-     * This function is called by CTsFsHiddenAppList when list is changed.
-     */
-    virtual void HiddenAppListUpdated() = 0;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfsalwaysshownapplist.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +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:  File containing application list classes
- *
-*/
-
-
-//INCLUDES:
-#include <apaid.h>
-#include "tsfsalwaysshownapplist.h"
-
-//CONSTANTS:
-/* Array for all application uid that need to be always displayed (if they are running).
-   Also, there will be no Close option for such apps. */
-const TUint32 KTsFsUidArray[] =
-    {
-    0x102750F0 // Idle App Uid
-    ,0x0EFC346A //Search App Uid
-/* never show menu app */    //,0x101F4CD2 // Menu App Uid
-    };
-
-// ================= MEMBER FUNCTIONS =======================
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::NewL
-// --------------------------------------------------------------------------
-//
-CTsFsAlwaysShownAppList* CTsFsAlwaysShownAppList::NewL()
-    {
-    CTsFsAlwaysShownAppList* self =
-        new (ELeave) CTsFsAlwaysShownAppList;
-    CleanupStack::PushL (self );
-    self->ConstructL ( );
-    CleanupStack::Pop ( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::CTsFsAlwaysShownAppList
-// --------------------------------------------------------------------------
-//
-CTsFsAlwaysShownAppList::CTsFsAlwaysShownAppList()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::~CTsFsAlwaysShownAppList
-// --------------------------------------------------------------------------
-//
-CTsFsAlwaysShownAppList::~CTsFsAlwaysShownAppList( )
-    {
-    iAppList.Close();
-    iAppArcSession.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFsAlwaysShownAppList::ConstructL( )
-    {
-    User::LeaveIfError( iAppArcSession.Connect() );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::InitializeAlwaysShownListL
-// Applications that are always shown in fast swap are stored
-// in different their own list whether they exist
-// in the phone rom or not
-// --------------------------------------------------------------------------
-//
-void CTsFsAlwaysShownAppList::InitializeAlwaysShownListL( )
-    {
-    iAppList.Reset();
-    // order of always shown applications
-    TApaAppInfo applicationInfo;
-    for (TInt index = 0,
-            sizeOfArray = ( sizeof(KTsFsUidArray) / sizeof( TUint32 ) );
-            index < sizeOfArray; index++ )
-        {
-        // if exists in phone rom
-        if ( iAppArcSession.GetAppInfo( applicationInfo,
-                TUid::Uid( KTsFsUidArray[index] ) )!= KErrNotFound )
-            {
-            iAppList.AppendL( TUid::Uid( KTsFsUidArray[index] ) );
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::IsAlwaysShownApp
-// If application uid exists in the always shown application list
-// --------------------------------------------------------------------------
-//
-TBool CTsFsAlwaysShownAppList::IsAlwaysShownApp( TUid aAppUid )
-    {
-    for ( TInt index = 0, count = iAppList.Count ( ); index < count; index++ )
-        {
-        if ( iAppList[index] == aAppUid )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfshiddenapplist.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +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:  Class that checks if chosen applications should be hidden
-*                from the task swap.
-*
-*/
-
-
-// INCLUDES
-#include "tsfshiddenapplist.h"
-#include <apgwgnam.h>
-
-#include <eikenv.h>
-
-// the maximum size of array (25 32-bit UIDs equal 100 bytes)
-const TInt KMaxHiddenApps = 25;
-
-/**
- * Category id for the hidden application list.
- */
-const TUid KPSUidUikon = { 0x101F8773 };
-const TUint32 KUikAppHiddenList  = 0x00000010;
-
-/**
- * Apps that are always hidden, no matter what settings the system reports.
- */
-const TUint32 KTsFsAlwaysHiddenUidArray[] =
-    {
-    0x100056CF // screensaver
-    };
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::NewL
-// -----------------------------------------------------------------------------
-//
-CTsFsHiddenAppList* CTsFsHiddenAppList::NewL(
-        MTsFsHiddenAppListObserver& aObserver )
-    {
-    CTsFsHiddenAppList* self =
-        new ( ELeave ) CTsFsHiddenAppList( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsFsHiddenAppList* CTsFsHiddenAppList::NewLC(
-        MTsFsHiddenAppListObserver& aObserver )
-    {
-    CTsFsHiddenAppList* self = CTsFsHiddenAppList::NewL( aObserver );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::~CTsFsHiddenAppList
-// -----------------------------------------------------------------------------
-//
-CTsFsHiddenAppList::~CTsFsHiddenAppList()
-    {
-    Cancel();
-
-    ResetArray();
-    delete iHiddenAppList;
-
-    iProperty.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::IsHiddenL
-// -----------------------------------------------------------------------------
-//
-TBool CTsFsHiddenAppList::IsHiddenL( TUid aAppUid,
-                                     const RWsSession& aWsSession,
-                                     TInt aWgId )
-    {
-    TBool ret = EFalse;
-
-    CApaWindowGroupName* windowName =
-                        CApaWindowGroupName::NewLC( aWsSession, aWgId );
-
-    if ( windowName->Hidden() )
-        {
-        ret = ETrue;
-        }
-    else
-        {
-        for ( TInt i = 0, ie = iHiddenAppList->Count(); i != ie; ++i )
-            {
-            if ( aAppUid.iUid == iHiddenAppList->At( i ) )
-                {
-                ret = ETrue;
-                break;
-                }
-            }
-        if ( !ret )
-            {
-            for ( TInt i = 0,
-                    arrCnt = sizeof( KTsFsAlwaysHiddenUidArray ) / sizeof( TUint32 );
-                    i != arrCnt; ++i )
-                {
-                if ( KTsFsAlwaysHiddenUidArray[i] == aAppUid.iUid )
-                    {
-                    ret = ETrue;
-                    break;
-                    }
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy( windowName );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::CTsFsHiddenAppList
-// -----------------------------------------------------------------------------
-//
-CTsFsHiddenAppList::CTsFsHiddenAppList(
-        MTsFsHiddenAppListObserver& aObserver )
-            :CActive( CActive::EPriorityHigh ), iObserver( aObserver )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::ConstructL()
-    {
-    const TInt KMaxGranularity = 4;
-    CActiveScheduler::Add( this );
-
-    iHiddenAppList = new (ELeave) CArrayFixFlat<TInt>( KMaxGranularity );
-    User::LeaveIfError( iProperty.Attach( KPSUidUikon, KUikAppHiddenList, EOwnerThread ) );
-
-    // must not call RunL directly from here as things are not fully initialized yet
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::ResetArray
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::ResetArray()
-    {
-    if ( iHiddenAppList )
-        {
-        iHiddenAppList->Reset();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::UpdateListL
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::UpdateListL()
-    {
-    ResetArray();
-
-    // hidden list array
-    TBuf16 <2*KMaxHiddenApps> hiddenList;
-    iProperty.Get( hiddenList );
-
-    for ( TInt i = 0; i < hiddenList.Length(); i = i + 2 )
-        {
-        TUint32 uid = 0x00000000;
-        uid = hiddenList[i];
-        uid = uid << 16; // codescanner::magicnumbers
-        uid |= hiddenList[i+1];
-
-        if ( uid != 0 )
-            {
-            iHiddenAppList->AppendL( uid );
-            }
-        else
-            {
-            break;
-            }
-        }
-
-    iObserver.HiddenAppListUpdated();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::RunL
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::RunL()
-    {
-    if ( !IsActive() )
-        {
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        }
-    UpdateListL();
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1043 +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:  Task monitor engine
- *
-*/
-
-
-#include "tsfswengine.h"
-#include "tsfsalwaysshownapplist.h"
-#include "tsfshiddenapplist.h"
-#include "tsfswidgetlist.h"
-#include "tsfswiconcache.h"
-#include "tspreviewprovider.h"
-#include "tsfswclient.h"
-#include <apgtask.h>
-#include <AknDef.h>
-#include <apgwgnam.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h> // for CleanupResetAndDestroyPushL
-#include <featmgr.h>
-#include <swi/swispubsubdefs.h>
-
-#include "enginelogging.h"
-
-// time to wait before refreshing content
-const TInt KContentRefreshDelay = 500000; // 0.5 sec
-
-// for screenshots, they are scaled down to (screensize/this_factor).
-const TInt KScreenSizeFactor = 2;
-
-// format to get a lowercase hex string prefixed with 0x
-_LIT( KHexFmt, "0x%x" );
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::NewL
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFswEngine* CTsFswEngine::NewL( MTsFswEngineObserver& aObserver )
-    {
-    CTsFswEngine* self = NewLC( aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::NewLC
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFswEngine* CTsFswEngine::NewLC( MTsFswEngineObserver& aObserver )
-    {
-    CTsFswEngine* self = new ( ELeave ) CTsFswEngine( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CTsFswEngine
-// --------------------------------------------------------------------------
-//
-CTsFswEngine::CTsFswEngine( MTsFswEngineObserver& aObserver )
-        : CActive( EPriorityStandard ), iObserver( aObserver )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::ConstructL()
-    {
-    iEnv = CEikonEnv::Static();
-
-    User::LeaveIfError( iWsSession.Connect() );
-    User::LeaveIfError( iAppArcSession.Connect() );
-
-    iHiddenAppList = CTsFsHiddenAppList::NewL( *this );
-    iAlwaysShownAppList = CTsFsAlwaysShownAppList::NewL();
-
-    iWidgetsSupported = FeatureManager::FeatureSupported( KFeatureIdWebWidgets );
-    if ( iWidgetsSupported )
-        {
-        iWidgetList = CTsFsWidgetList::NewL();
-        }
-
-    // create app icon retriever instance
-    iAppIcons = CTsFswIconCache::NewL();
-
-    // get an initial list of tasks
-    iAppDataRefreshNeeded = ETrue;
-    CollectTasksL();
-
-    // listen for app screenshots
-    iPreviewProvider = CTsFastSwapPreviewProvider::NewL( *this );
-    SetPreviewParams();
-    UpdatePreviewContent();
-
-    iUpdateStarter = CPeriodic::NewL( CActive::EPriorityStandard );
-    
-    // start listening for swi ps property
-    if ( iSwiProp.Attach( KUidSystemCategory,
-            Swi::KUidSoftwareInstallKey ) == KErrNone )
-        {
-        iSwiProp.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::~CTsFswEngine
-// --------------------------------------------------------------------------
-//
-CTsFswEngine::~CTsFswEngine()
-    {
-    Cancel();
-    iSwiProp.Close();
-
-    delete iUpdateStarter;
-    delete iPreviewProvider;
-
-    // delete the bitmaps as the hash map cannot do that
-    THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
-    while ( const TInt* key = iter.NextKey() )
-        {
-        CFbsBitmap** value = iter.CurrentValue();
-        delete *value;
-        }
-    iScreenshots.Close();
-    delete iAppIcons;
-
-    iData.ResetAndDestroy();
-    iWgIds.Close();
-
-    delete iHiddenAppList;
-    delete iAlwaysShownAppList;
-    delete iWidgetList;
-    iAppArcSession.Close();
-    iWsSession.Close();
-
-//    delete iContextUtility;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::FswDataL
-// --------------------------------------------------------------------------
-//
-EXPORT_C const RTsFswArray& CTsFswEngine::FswDataL()
-    {
-    TSLOG_CONTEXT( FswDataL, TSLOG_LOCAL );
-    TSLOG1_IN( "dirty flag = %d", iTaskListDirty );
-
-    // check the dirty flag and refresh if needed
-    if ( iTaskListDirty )
-        {
-        CollectTasksL();
-        // dirty flag is cleared in the above call
-        }
-
-    // Get app icon for entries without screenshot,
-    // do this only here as the app icon is not needed in case a screenshot
-    // is already available.
-    for ( TInt i = 0, ie = iData.Count(); i != ie; ++i )
-        {
-        if ( !iData[i]->ScreenshotHandle() )
-            {
-            CFbsBitmap* bmp;
-            CFbsBitmap* mask;
-            TUid appUid = iData[i]->AppUid();
-            // this will leave with -46 in case of widgets if we do not have AllFiles cap
-            TRAPD( err, iAppIcons->GetIconL( appUid, bmp, mask ) );
-            if ( err == KErrNone && bmp )
-                {
-                iData[i]->SetAppIconHandles( bmp->Handle(),
-                    mask ? mask->Handle() : 0 );
-                }
-            else
-                {
-                iAppIcons->DefaultIcon( bmp, mask );
-                iData[i]->SetAppIconHandles( bmp->Handle(),
-                    mask ? mask->Handle() : 0 );
-                }
-            }
-        }
-
-    TSLOG_OUT();
-    return iData;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CloseAppL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEngine::CloseAppL( TInt aWgId )
-    {
-    TSLOG_CONTEXT( CloseAppL, TSLOG_LOCAL );
-    TSLOG1_IN( "aWgId = %d", aWgId );
-
-    if ( iWidgetsSupported && aWgId < 0 && iWidgetAppUiWgId )
-        {
-        // for widgets clients see a wgid that is -1*(index+1)
-        const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
-        // convert aWgId to an index in the list of running widgets
-        TInt idx = -aWgId - 1;
-        // if index is valid then handle the widget specially
-        if ( idx >= 0 && idx < arr.Count() )
-            {
-            TWsEvent event;
-            event.SetType( EEventUser );
-            TUint8* eventData = event.EventData();
-            // Fill bits 0-31 with widget application uid.
-            reinterpret_cast<TUint32&>( *eventData ) = KWidgetAppUidValue;
-            eventData += sizeof( TUint32 );
-            // Fill bits 32-63 with uid of the widget that should be closed.
-            reinterpret_cast<TUint32&>( *eventData ) = arr[idx]->iUid.iUid;
-            // Send the event to Widget AppUi.
-            iEnv->WsSession().SendEventToWindowGroup(
-                iWidgetAppUiWgId, event );
-            // closing a widget may not cause a window group change so trigger
-            // the update manually
-            UpdateTaskList();
-            TSLOG0_OUT( "widget processing finished" );
-            return;
-            }
-        }
-
-    TUid appUid = AppUidForWgIdL( aWgId );
-    if ( !iAlwaysShownAppList->IsAlwaysShownApp( appUid ) )
-        {
-        // send window group event to kill the app
-        TWsEvent event;
-        event.SetTimeNow();
-        event.SetType( KAknShutOrHideApp );
-        iEnv->WsSession().SendEventToWindowGroup( aWgId, event );
-        TSLOG0( TSLOG_INFO, "event sent to wg" );
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::SwitchToAppL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEngine::SwitchToAppL( TInt aWgId )
-    {
-    TSLOG_CONTEXT( SwitchToAppL, TSLOG_LOCAL );
-    TSLOG1_IN( "aWgId = %d", aWgId );
-
-    if ( iWidgetsSupported && aWgId < 0 )
-        {
-        // for widgets clients see a wgid that is -1*(index+1)
-        const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
-        // convert aWgId to an index in the list of running widgets
-        TInt idx = -aWgId - 1;
-        // if index is valid then handle the widget specially
-        if ( idx >= 0 && idx < arr.Count() )
-            {
-            SwitchToWidgetL( idx );
-            TSLOG1_OUT( "switched to widget %d", idx );
-            return;
-            }
-        }
-
-    TApaTask task( iEnv->WsSession() );
-    task.SetWgId( aWgId );
-    task.BringToForeground();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::SwitchToWidgetL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::SwitchToWidgetL( TInt aWidgetIndex )
-    {
-    const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
-    RApaLsSession ls;
-    User::LeaveIfError( ls.Connect() );
-    CleanupClosePushL( ls );
-    CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
-    cmdLine->SetCommandL( EApaCommandRun );
-    TApaAppInfo info;
-    iAppArcSession.GetAppInfo( info, arr[aWidgetIndex]->iUid ); // codescanner::accessArrayElementWithoutCheck2 (aWidgetIndex checked in SwitchToAppL())
-    cmdLine->SetExecutableNameL( info.iFullName );
-    ls.StartApp( *cmdLine );
-    CleanupStack::PopAndDestroy( 2, &ls );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::UpdateTaskList
-// Callback from appui
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::UpdateTaskList()
-    {
-    TSLOG_CONTEXT( UpdateTaskList, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // If no clients are subscribed for fsw content change notifications
-    // then there is no need to waste time with rebuilding the task list,
-    // just set the dirty flag.
-    TInt listenerCount = iObserver.FswDataListenerCount();
-    TSLOG1( TSLOG_INFO, "listener count = %d", listenerCount );
-    if ( listenerCount > 0 )
-        {
-        // There can be many calls in a row, use a timer to prevent degrading
-        // device performance.
-        if ( !iUpdateStarter->IsActive() )
-            {
-            iUpdateStarter->Start( KContentRefreshDelay, 0,
-                TCallBack( UpdateStarterCallback, this ) );
-            }
-        }
-    else
-        {
-        iTaskListDirty = ETrue;
-        }
-
-    // screenshot taking support - call Register and Unregister when needed
-    UpdatePreviewContent();
-
-    // get the foreground app uid and publish it to CFW if different than before
-    TRAP_IGNORE( PublishFgAppUidL() );
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::ForegroundAppUidL
-// --------------------------------------------------------------------------
-//
-EXPORT_C TUid CTsFswEngine::ForegroundAppUidL( TInt aType )
-    {
-    // Do not use GetFocusWindowGroup or others.
-    // We want to see only "real" application uids in FgApp,
-    // i.e. stuff that would also be shown in the task swapper
-    // area of Taskswitcher.
-
-    TUid result = KNullUid;
-    RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
-    CleanupClosePushL( allWgIds );
-    User::LeaveIfError( iWsSession.WindowGroupList( 0, &allWgIds ) );
-    TInt count = allWgIds.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        // Depending on aType we may not need to bother with iParentId here.
-        // If aType == EUseEmbeddedUid => embedded apps are treated as others.
-        // If aType == EUseStandaloneUid => embedded apps must be ignored.
-        if ( allWgIds[i].iParentId > 0
-                && aType == CTsFswClient::EUseStandaloneUid )
-            {
-            continue;
-            }
-
-        CApaWindowGroupName* wgn = CApaWindowGroupName::NewLC(
-            iWsSession, allWgIds[i].iId );
-        TUid newUid = wgn->AppUid();
-        TBool hidden = wgn->Hidden() || iHiddenAppList->IsHiddenL(
-            newUid, iWsSession, allWgIds[i].iId );
-        CleanupStack::PopAndDestroy( wgn );
-
-        if ( !hidden && newUid.iUid )
-            {
-            result = newUid;
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &allWgIds );
-    
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::PublishFgAppUidL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::PublishFgAppUidL()
-    {
-    TSLOG_CONTEXT( PublishFgAppUidL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TUid newUid = ForegroundAppUidL( CTsFswClient::EUseEmbeddedUid );
-    TSLOG2( TSLOG_INFO, "ws says: %x we have: %x", newUid.iUid, iFgAppUid.iUid );
-    if ( iFgAppUid != newUid && newUid.iUid )
-        {
-        iFgAppUid = newUid;
-        iFgAppUidStr.Format( KHexFmt, iFgAppUid.iUid );
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::UpdateStarterCallback
-// Callback for the timer
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::UpdateStarterCallback( TAny* aParam )
-    {
-    CTsFswEngine* self = static_cast<CTsFswEngine*>( aParam );
-    self->iUpdateStarter->Cancel();
-    // get list of tasks and notify observer if there is a change in the list
-    TBool changed = EFalse;
-    TRAPD( err, changed = self->CollectTasksL() );
-    if ( err == KErrNone && changed )
-        {
-        self->iObserver.FswDataChanged();
-        }
-    return 0;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CollectTasksL
-// --------------------------------------------------------------------------
-//
-TBool CTsFswEngine::CollectTasksL()
-    {
-    TSLOG_CONTEXT( CollectTasksL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // clear dirty flag
-    iTaskListDirty = EFalse;
-
-    TBool changed = EFalse;
-    RTsFswArray newList;
-    CleanupResetAndDestroyPushL( newList );
-
-    // update app data if needed
-    // (usually on startup and when new apps might have been installed)
-    if ( iAppDataRefreshNeeded )
-        {
-        TSLOG0( TSLOG_INFO, "refreshing app data" );
-        iAppArcSession.GetAllApps();
-        iAlwaysShownAppList->InitializeAlwaysShownListL();
-        iAppDataRefreshNeeded = EFalse;
-        }
-
-    // get all window groups
-    RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
-    CleanupClosePushL( allWgIds );
-    User::LeaveIfError( iWsSession.WindowGroupList( 0, &allWgIds ) );
-    TInt count = allWgIds.Count();
-
-    for ( TInt i = 0; i < count; ++i )
-        {
-        // ignore uninteresting entries (e.g. embedded apps)
-        if ( allWgIds[i].iParentId > 0 )
-            {
-            continue;
-            }
-
-        // get window group name
-        TInt wgId = allWgIds[i].iId;
-        CApaWindowGroupName* windowName =
-            CApaWindowGroupName::NewLC( iWsSession, wgId );
-        TUid appUid = windowName->AppUid();
-
-        // ignore entries with null uid
-        if ( !appUid.iUid )
-            {
-            CleanupStack::PopAndDestroy( windowName );
-            continue;
-            }
-
-        // will append the task to our own list only if it is not hidden
-        TBool onHiddenList = iHiddenAppList->IsHiddenL(
-            appUid, iWsSession, wgId );
-
-        // if this is the widget app then save wgid for later use
-        // and ignore it, but include running widgets instead
-        if ( iWidgetsSupported && appUid.iUid == KWidgetAppUidValue )
-            {
-            iWidgetAppUiWgId = wgId;
-            onHiddenList = ETrue;
-            CheckWidgetsL( newList );
-            }
-
-        // get screen number (-1=console, 0=main screen, 1=cover ui)
-        TInt appScreen = 0;
-        TInt scrNumErr = iAppArcSession.GetDefaultScreenNumber( appScreen, appUid );
-
-        // check if it is on always-shown list
-        TBool mustShow = iAlwaysShownAppList->IsAlwaysShownApp( appUid );
-
-#ifdef _DEBUG
-        const TDesC& captionDbg( windowName->Caption() );
-        TSLOG4( TSLOG_INFO, "[%d] wgid=%d appuid=%x (%S)", i, wgId,
-            appUid.iUid, &captionDbg );
-        TSLOG4( TSLOG_INFO, "hidden=%d onhiddenlist=%d mustshow=%d scrno=%d",
-            windowName->Hidden(), onHiddenList, mustShow, appScreen );
-#endif
-
-        // add item to task list if it is always-shown OR it is not hidden
-        // and it is not on cover ui
-        if ( mustShow
-                || ( !onHiddenList
-                    && !windowName->Hidden()
-                    && ( appScreen == 0 || appScreen == -1 )
-                    && scrNumErr == KErrNone ) )
-            {
-            if ( AddEntryL( wgId, appUid, windowName, newList, EFalse ) )
-                {
-                changed = ETrue;
-                }
-            }
-        CleanupStack::PopAndDestroy( windowName );
-        }
-    CleanupStack::PopAndDestroy( &allWgIds );    
-
-    // if counts for old and new lists do not match then there is a change for sure,
-    // probably an app has been closed
-    if ( iData.Count() != newList.Count() )
-        {
-        changed = ETrue;
-        }
-
-    // move pointers from the temporary list into the real one
-    iData.ResetAndDestroy();
-    TInt newListCount = newList.Count();
-    TSLOG1( TSLOG_INFO, "new list count = %d", newListCount );
-    for ( TInt i = 0; i < newListCount; ++i )
-        {
-        TSLOG3( TSLOG_INFO, "[%d] %S wgid=%d",
-            i, &newList[i]->AppName(), newList[i]->WgId() );
-        iData.AppendL( newList[i] );
-        newList[i] = 0;
-        }
-    CleanupStack::PopAndDestroy( &newList );
-    
-    TSLOG1_OUT( "change flag = %d", changed );
-    return changed;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::AddEntryL
-// --------------------------------------------------------------------------
-//
-TBool CTsFswEngine::AddEntryL( TInt aWgId, const TUid& aAppUid,
-        CApaWindowGroupName* aWgName, RTsFswArray& aNewList,
-        TBool aIsWidget )
-    {
-    TBool changed = EFalse;
-    CTsFswEntry* entry = CTsFswEntry::NewLC();
-    entry->SetWgId( aWgId );
-    entry->SetAppUid( aAppUid );
-    entry->SetWidget( aIsWidget );
-
-    // check if present in old list and if yes then take some of the old data
-    TBool found = CheckIfExistsL( *entry, aAppUid, changed, aNewList );
-
-    // if not present previously then find out app name
-    // and check if screenshot is already available
-    if ( !found )
-        {
-        // when adding a new entry to the list it is changed for sure
-        changed = ETrue;
-        HBufC* name = FindAppNameLC( aWgName, aAppUid, aWgId );
-        if ( name )
-            {
-            entry->SetAppNameL( *name );
-            }
-        CleanupStack::PopAndDestroy( name );
-        TInt h = LookupScreenshotHandle( aWgId );
-        if ( h )
-            {
-            entry->SetScreenshotHandle( h );
-            }
-        entry->SetAlwaysShown( iAlwaysShownAppList->IsAlwaysShownApp( aAppUid ) );
-        if ( aWgName )
-            {
-            entry->SetSystemApp( aWgName->IsSystem() );
-            }
-        }
-
-    // add to new list, ownership is transferred
-    aNewList.AppendL( entry );
-    CleanupStack::Pop( entry );
-    return changed;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CheckIfExistsL
-// --------------------------------------------------------------------------
-//
-TBool CTsFswEngine::CheckIfExistsL( CTsFswEntry& aEntry,
-        const TUid& aAppUid,
-        TBool& aChanged,
-        RTsFswArray& aNewList )
-    {
-    for ( TInt entryIdx = 0, oldCount = iData.Count();
-            entryIdx < oldCount; ++entryIdx )
-        {
-        // Enough to check appuid, no need to bother with wgid as the
-        // screenshot handle is up-to-date or will be updated later anyway.
-        if ( iData[entryIdx]->AppUid() == aAppUid )
-            {
-            // if positions do not match then the list is different than before
-            if ( entryIdx != aNewList.Count() )
-                {
-                aChanged = ETrue;
-                }
-            CTsFswEntry* oldEntry = iData[entryIdx];
-            aEntry.SetAppNameL( oldEntry->AppName() );
-            aEntry.SetScreenshotHandle( oldEntry->ScreenshotHandle() );
-            aEntry.SetAlwaysShown( oldEntry->AlwaysShown() );
-            aEntry.SetSystemApp( oldEntry->SystemApp() );
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswEngine::CheckWidgetsL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::CheckWidgetsL( RTsFswArray& aNewList )
-    {
-    if ( iWidgetsSupported )
-        {
-        iWidgetList->InitializeWidgetListL();
-        const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
-        for ( TInt i = 0, ie = arr.Count(); i != ie; ++i )
-            {
-            // wgid will be a special negative value
-            // windowgroupname is not needed here so pass NULL
-            AddEntryL( -(i+1), arr[i]->iUid, 0, aNewList, ETrue );
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::HiddenAppListUpdated
-// Callback from the hidden app list watcher
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::HiddenAppListUpdated()
-    {
-    UpdateTaskList();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::AppUidForWgIdL
-// --------------------------------------------------------------------------
-//
-TUid CTsFswEngine::AppUidForWgIdL( TInt aWgId )
-    {
-    CApaWindowGroupName* windowName =
-        CApaWindowGroupName::NewLC( iWsSession, aWgId );
-    TUid appUid = windowName->AppUid();
-    CleanupStack::PopAndDestroy( windowName );
-    return appUid;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::FindParentWgId
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::FindParentWgId( TInt aWgId )
-    {
-    TInt parent( KErrNotFound );
-    RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
-    // Ask for window group list from RWsSession
-    TInt error = iWsSession.WindowGroupList( 0, &allWgIds );
-    if ( !error )
-        {
-        TInt count( allWgIds.Count() );
-        for ( TInt i( 0 ); i < count; i++ )
-            {
-            RWsSession::TWindowGroupChainInfo info = allWgIds[i];
-            if ( info.iId == aWgId )
-                {
-                parent = info.iParentId;
-                break;
-                }
-            }
-        }
-    allWgIds.Close();
-    return parent;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::FindAppNameLC
-// --------------------------------------------------------------------------
-//
-HBufC* CTsFswEngine::FindAppNameLC( CApaWindowGroupName* aWindowName,
-                                  const TUid& aAppUid,
-                                  TInt aWgId )
-    {
-    //Retrieve the app name
-    TApaAppInfo info;
-    iAppArcSession.GetAppInfo( info, aAppUid );
-    TPtrC caption = info.iShortCaption;
-
-    HBufC* tempName = 0;
-    if ( !caption.Length() && aWindowName ) // if not set - use thread name instead
-        {
-        if ( aWindowName->Caption().Length() )
-            {
-            tempName = aWindowName->Caption().AllocL();
-            //put on cleanupstack after the if
-            }
-        else
-            {
-            TThreadId threadId;
-            TInt err = iWsSession.GetWindowGroupClientThreadId(
-                    aWgId, threadId );
-            if ( err == KErrNone )
-                {
-                RThread thread;
-                CleanupClosePushL( thread );
-                err = thread.Open ( threadId );
-                if ( err==KErrNone )
-                    {
-                    tempName = thread.Name().AllocL(); // codescanner::forgottoputptroncleanupstack
-                    // tempName put on cleanupstack after the if
-                    }
-                CleanupStack::PopAndDestroy( &thread );
-                }
-            }
-        }
-    else
-        {
-        tempName = caption.AllocL();
-        //put on cleanupstack after the if
-        }
-    CleanupStack::PushL( tempName );
-    return tempName;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CopyBitmapL
-// --------------------------------------------------------------------------
-//
-CFbsBitmap* CTsFswEngine::CopyBitmapL( TInt aFbsHandle, TBool aKeepAspectRatio )
-    {
-    CFbsBitmap* ret = new (ELeave) CFbsBitmap;
-    CleanupStack::PushL( ret );
-    CFbsBitmap* bmp = new (ELeave) CFbsBitmap;
-    CleanupStack::PushL( bmp );
-    User::LeaveIfError( bmp->Duplicate( aFbsHandle ) );
-
-    //Make bitmap width and height equal so that it will look better in FSW control.
-    TSize size  = bmp->SizeInPixels();
-
-    if ( !aKeepAspectRatio )
-        {
-        if ( size.iHeight > size.iWidth )
-            {
-            size.iHeight = size.iWidth;
-            }
-        else
-            {
-            size.iWidth = size.iHeight;
-            }
-        }
-
-    // preserve size and mode
-    User::LeaveIfError( ret->Create( size, EColor64K ) );
-
-    CFbsBitmapDevice* doubleBufferDev = CFbsBitmapDevice::NewL( ret );
-    CleanupStack::PushL( doubleBufferDev );
-
-    CFbsBitGc* doubleBufferGc = 0;
-    User::LeaveIfError( doubleBufferDev->CreateContext( doubleBufferGc ) );
-    CleanupStack::PushL( doubleBufferGc );
-
-    // preserve size
-    doubleBufferGc->BitBlt( TPoint( 0, 0 ), bmp, TRect(size) );
-
-    CleanupStack::PopAndDestroy( doubleBufferGc );
-    CleanupStack::PopAndDestroy( doubleBufferDev );
-    CleanupStack::PopAndDestroy( bmp );
-    CleanupStack::Pop( ret );
-
-    return ret;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::UpdatePreviewContent
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::UpdatePreviewContent()
-    {
-    TSLOG_CONTEXT( UpdatePreviewContent, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
-    if ( iWsSession.WindowGroupList( 0, &allWgIds ) == KErrNone )
-        {
-        // check window groups that do not exist anymore
-        for ( TInt i = 0, ie = iWgIds.Count(); i != ie; ++i )
-            {
-            TInt wgid = iWgIds[i];
-            TBool present = EFalse;
-            for ( TInt j = 0, je = allWgIds.Count(); j != je; ++j )
-                {
-                if ( allWgIds[j].iId == wgid )
-                    {
-                    present = ETrue;
-                    break;
-                    }
-                }
-            if ( !present )
-                {
-                TSLOG1( TSLOG_INFO, "unregister: %d", wgid );
-                iPreviewProvider->Unregister( wgid );
-                }
-            }
-        // check topmost window group
-        if ( allWgIds.Count() )
-            {
-            if ( !iWgIds.Count() || allWgIds[0].iId != iWgIds[0] )
-                {
-                TInt wgid = allWgIds[0].iId;
-                TSLOG1( TSLOG_INFO, "registering %d", wgid );
-                iPreviewProvider->Register( wgid );
-                }
-            }
-        // store the new list
-        iWgIds.Reset();
-        for ( TInt i = 0, ie = allWgIds.Count(); i != ie; ++i )
-            {
-            iWgIds.Append( allWgIds[i].iId );
-            }
-        }
-    allWgIds.Close();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::HandleFswPpApplicationChange
-// Callback from CTsFastSwapPreviewProvider
-// Note: aWgId is for the window group for which the screenshot is taken,
-// it may not be the same as the application's wgid (in case of embedded apps)
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::HandleFswPpApplicationChange( TInt aWgId, TInt aFbsHandle )
-    {
-    TSLOG_CONTEXT( HandleFswPpApplicationChange, TSLOG_LOCAL );
-    TSLOG2_IN( "aWgId = %d aFbsHandle = %d", aWgId, aFbsHandle );
-
-    CFbsBitmap* bmp = 0;
-    TRAPD( err, bmp = CopyBitmapL( aFbsHandle, EFalse ) );
-    iPreviewProvider->AckPreview(aFbsHandle);
-    if ( err == KErrNone )
-        {
-        CFbsBitmap** oldbmp = iScreenshots.Find( aWgId );
-        if ( oldbmp )
-            {
-            delete *oldbmp;
-            }
-        if ( iScreenshots.Insert( aWgId, bmp ) != KErrNone )
-            {
-            delete bmp;
-            iScreenshots.Remove( aWgId );
-            }
-        else
-            {
-            AssignScreenshotHandle( aWgId, bmp->Handle() );
-            }
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::HandleFswPpApplicationUnregistered
-// Callback from CTsFastSwapPreviewProvider
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::HandleFswPpApplicationUnregistered( TInt aWgId )
-    {
-    TSLOG_CONTEXT( HandleFswPpApplicationUnregistered, TSLOG_LOCAL );
-    TSLOG1_IN( "aWgId = %d", aWgId );
-
-    CFbsBitmap** bmp = iScreenshots.Find( aWgId );
-    if ( bmp )
-        {
-        delete *bmp;
-        iScreenshots.Remove( aWgId );
-        AssignScreenshotHandle( aWgId, 0 );
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::AssignScreenshotHandle
-// Called when a screenshot arrives to check if there is a corresponding
-// application in the task list.
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::AssignScreenshotHandle( TInt aWgIdForScreenshot,
-        TInt aBitmapHandle )
-    {
-    TBool changed = EFalse;
-    TInt parentWgId = FindParentWgId( aWgIdForScreenshot );
-    // now parentWgId is a valid wgid or KErrNotFound (-1)
-    for ( TInt i = 0, ie = iData.Count(); i != ie; ++i )
-        {
-        if ( iData[i]->Widget() )
-            {
-            // Do not do anything for now => no screenshot for widgets.
-            continue;
-            }
-        TInt appWgId = iData[i]->WgId();
-        if ( appWgId == aWgIdForScreenshot || appWgId == parentWgId )
-            {
-            iData[i]->SetScreenshotHandle( aBitmapHandle );
-            changed = ETrue;
-            break;
-            }
-        }
-    if ( changed )
-        {
-        iObserver.FswDataChanged();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::LookupScreenshotHandle
-// Called to check if there is a screenshot already stored for the given
-// app. (or a screenshot with a wgid for which aWgIdForApp is the parent)
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::LookupScreenshotHandle( TInt aWgIdForApp )
-    {
-    CFbsBitmap** bmp = iScreenshots.Find( aWgIdForApp );
-    if ( bmp )
-        {
-        // there is a screenshot stored for this wgid
-        return (*bmp)->Handle();
-        }
-    else if ( aWgIdForApp > 0 )
-        {
-        // must check if there is a screenshot for which aWgIdForApp is the parent
-        THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
-        while ( const TInt* wgid = iter.NextKey() )
-            {
-            if ( FindParentWgId( *wgid ) == aWgIdForApp )
-                {
-                CFbsBitmap** bmp = iter.CurrentValue();
-                return (*bmp)->Handle();
-                }
-            }
-        }
-    else if ( aWgIdForApp < 0 )
-        {
-        // Must be a widget, wgid is useless in this case.
-        // Do not do anything for now => no screenshot for widgets.
-        }
-    return 0;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::RunL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::RunL()
-    {
-    if ( iStatus != KErrCancel ) // when cancelling the subscribe it completes with KErrCancel
-        {
-        TInt value = 0;
-        if ( iSwiProp.Get( value ) == KErrNone )
-            {
-            TInt operationStatus( value & Swi::KSwisOperationStatusMask );
-            // When an (un)installation has finished change the flag to
-            // refresh the app list during the next task list update.
-            if ( operationStatus == Swi::ESwisStatusSuccess )
-                {
-                iAppDataRefreshNeeded = ETrue;
-                }
-            }
-        iSwiProp.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::DoCancel
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::DoCancel()
-    {
-    iSwiProp.Cancel();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::RunError
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::HandleResourceChange
-// callback from appui's HandleResourceChangeL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::HandleResourceChange( TInt aType )
-    {
-    TSLOG_CONTEXT( HandleResourceChange, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    if ( iPreviewProvider && aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetPreviewParams();
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::SetPreviewParams
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::SetPreviewParams()
-    {
-    TSize screenSize = iEnv->ScreenDevice()->SizeInPixels();
-    iPreviewProvider->SetPreviewParam(
-        TSize( screenSize.iWidth / KScreenSizeFactor,
-            screenSize.iHeight / KScreenSizeFactor ),
-        EColor64K ); // displaymode is ignored
-    }
-
-    
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswiconcache.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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:  Icon cache
- *
-*/
-
-
-#include "tsfswiconcache.h"
-#include <fbs.h>
-#include <AknsUtils.h>
-#include <gulicon.h>
-#include <avkon.mbg>
-
-// size for the created app icons
-const TInt KAppIconWidth = 96;
-const TInt KAppIconHeight = 96;
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::NewL
-// --------------------------------------------------------------------------
-//
-CTsFswIconCache* CTsFswIconCache::NewL()
-    {
-    CTsFswIconCache* self = new (ELeave) CTsFswIconCache;
-    CleanupStack::PushL (self );
-    self->ConstructL ( );
-    CleanupStack::Pop ( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::CTsFswIconCache
-// --------------------------------------------------------------------------
-//
-CTsFswIconCache::CTsFswIconCache()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::~CTsFswIconCache
-// --------------------------------------------------------------------------
-//
-CTsFswIconCache::~CTsFswIconCache( )
-    {
-    THashMapIter<TInt, STsBitmapPair> iter( iAppIcons );
-    while ( const TInt* key = iter.NextKey() )
-        {
-        STsBitmapPair* value = iter.CurrentValue();
-        delete value->iBitmap;
-        delete value->iMask;
-        }
-    iAppIcons.Close();
-    delete iDefaultIcon;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFswIconCache::ConstructL()
-    {
-    iDefaultIcon = AknsUtils::CreateGulIconL( 
-        AknsUtils::SkinInstance(),
-        KAknsIIDQgnMenuUnknownCxt,
-        AknIconUtils::AvkonIconFileName(),
-        EMbmAvkonQgn_menu_unknown_cxt,
-        EMbmAvkonQgn_menu_unknown_cxt_mask );
-    TSize sz( KAppIconWidth, KAppIconHeight );
-    AknIconUtils::SetSize( iDefaultIcon->Bitmap(), sz );
-    AknIconUtils::SetSize( iDefaultIcon->Mask(), sz );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::GetAppIconL
-// --------------------------------------------------------------------------
-//
-void CTsFswIconCache::GetAppIconL( const TUid& aAppUid,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask )
-    {
-    aBitmap = aMask = 0;
-    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-    if ( skinInstance )
-        {
-        AknsUtils::CreateAppIconLC( skinInstance, aAppUid, EAknsAppIconTypeList,
-            aBitmap, aMask );
-        // The CreateAppIconLC method leaves both the bitmaps in the cleanup stack.
-        // The order in which they are pushed into the stack and types of 
-        // the items in the stack are both undefined.
-        CleanupStack::Pop( 2 ); // codescanner::cleanup
-        TSize sz( KAppIconWidth, KAppIconHeight );
-        AknIconUtils::SetSize( aBitmap, sz );
-        AknIconUtils::SetSize( aMask, sz );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::GetIconL
-// --------------------------------------------------------------------------
-//
-void CTsFswIconCache::GetIconL( const TUid& aAppUid,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask )
-    {
-    aBitmap = aMask = 0;
-    STsBitmapPair* bp = iAppIcons.Find( aAppUid.iUid );
-    if ( bp )
-        {
-        // ownership stays with the hash table
-        aBitmap = bp->iBitmap;
-        aMask = bp->iMask;
-        }
-    else
-        {
-        GetAppIconL( aAppUid, aBitmap, aMask ); // ownership of the bitmap is ours
-        // insert to hash table and pass ownership
-        iAppIcons.InsertL( aAppUid.iUid, STsBitmapPair( aBitmap, aMask ) );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::DefaultIcon
-// --------------------------------------------------------------------------
-//
-void CTsFswIconCache::DefaultIcon( CFbsBitmap*& aBitmap, CFbsBitmap*& aMask )
-    {
-    aBitmap = iDefaultIcon->Bitmap();
-    aMask = iDefaultIcon->Mask();
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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:  web widget list
- *
-*/
-
-
-#include "tsfswidgetlist.h"
-#include <widgetregistrydata.h>
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::NewL
-// --------------------------------------------------------------------------
-//
-CTsFsWidgetList* CTsFsWidgetList::NewL()
-    {
-    return new (ELeave) CTsFsWidgetList;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::CTsFsWidgetList
-// --------------------------------------------------------------------------
-//   
-CTsFsWidgetList::CTsFsWidgetList()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::~CTsFsWidgetList
-// --------------------------------------------------------------------------
-//
-CTsFsWidgetList::~CTsFsWidgetList()
-    {
-    ResetArrayOfWidgetInfo( iRunningWidgets );        
-    iRunningWidgets.Reset();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::CleanupConnect
-// --------------------------------------------------------------------------
-//
-void CTsFsWidgetList::CleanupConnect( TAny* aThis )
-    {
-    CTsFsWidgetList* self = static_cast<CTsFsWidgetList*>( aThis );
-    self->iWidgetRegistryClientSession.Disconnect();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::InitializeWidgetListL
-// --------------------------------------------------------------------------
-//
-void CTsFsWidgetList::InitializeWidgetListL()
-    {
-    ResetArrayOfWidgetInfo( iRunningWidgets );
-    iRunningWidgets.Reset();
-    User::LeaveIfError( iWidgetRegistryClientSession.Connect() );
-    CleanupStack::PushL( TCleanupItem( CleanupConnect, this) );
-    iWidgetRegistryClientSession.RunningWidgetsL(iRunningWidgets);
-    CleanupStack::Pop(); // clean WidgetRegistryClientSession item
-    iWidgetRegistryClientSession.Disconnect();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::ResetArrayOfWidgetInfo
-// --------------------------------------------------------------------------
-//
-void CTsFsWidgetList::ResetArrayOfWidgetInfo( 
-        RWidgetInfoArray& aWidgetInfoArr )
-    {
-    for ( TInt i = 0; i < aWidgetInfoArr.Count(); i++ )
-        {
-        CWidgetInfo *item = aWidgetInfoArr[i];
-        delete item;
-        }
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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:  main build info file
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../rom/tsfswserver.iby CORE_MW_LAYER_IBY_EXPORT_PATH(tsfswserver.iby)
-
-#include "../utils/group/bld.inf"
-#include "../engine/group/bld.inf"
-#include "../server/group/bld.inf"
-#include "../client/group/bld.inf"
-
--- a/taskswitcher/contextengine/tsfswserver/inc/tsfswclient.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:  Client API
- *
-*/
-
-
-#ifndef TSFSWCLIENT_H
-#define TSFSWCLIENT_H
-
-#include <e32std.h>
-#include "tsfswentry.h"
-
-class MTsFswObserver;
-class CTsFswClientImpl;
-
-/**
- * Client API for the Huriganes Fast Swap Server.
- */    
-NONSHARABLE_CLASS( CTsFswClient ) : public CBase
-    {
-public:
-    /**
-     * Possible values for aType argument of ForegroundAppUid().
-     */
-    enum TTsFswFgAppType
-        {
-        /**
-         * Means that even when the foreground app has another app embedded
-         * into it the uid of the container application will be returned.
-         */
-        EUseStandaloneUid,
-        /**
-         * Means that if the foreground app has another app embedded
-         * into it then the returned uid will be the uid of the embedded
-         * app.
-         */
-        EUseEmbeddedUid
-        };
-
-    /**
-     * Creates a new instance.
-     * @capability LocalServices
-     */
-    IMPORT_C static CTsFswClient* NewL();
-    
-    /**
-     * Creates a new instance.
-     * @capability LocalServices
-     */
-    IMPORT_C static CTsFswClient* NewLC();
-    
-    /**
-     * Destructor.
-     */
-    ~CTsFswClient();
-    
-    /**
-     * Queries the fast swap content from the server and
-     * copies it into the given array.
-     * Previous content of the array is removed (by using ResetAndDestroy).
-     * @param   aDst    array to which data is stored
-     * @capability LocalServices
-     */
-    IMPORT_C void GetContentL( RTsFswArray& aDst );
-    
-    /**
-     * Subscribes for continuous notifications about changes in the
-     * fast swap content.
-     * The notifications are generated until CancelSubscribe is called
-     * or the instance is destroyed.
-     * @capability LocalServices
-     */
-    IMPORT_C void Subscribe( MTsFswObserver& aObserver );
-    
-    /**
-     * Cancels the subscription for change notifications.
-     * @capability LocalServices
-     */
-    IMPORT_C void CancelSubscribe();
-    
-    /**
-     * Tries to close the application with the given id.
-     * @capability LocalServices
-     */
-    IMPORT_C void CloseApp( TInt aWgId );
-    
-    /**
-     * Brings the application with the given id into foreground.
-     * @capability LocalServices
-     */
-    IMPORT_C void SwitchToApp( TInt aWgId );
-
-    /**
-     * Returns the uid of the foreground app or KNullUid if something goes wrong.
-     *
-     * Will never return hidden apps, only those which can also be seen in the
-     * array returned by GetContentL.
-     *
-     * However the handling of embedded applications might be different:
-     * (as opposed to GetContentL)
-     * If aType == EUseEmbeddedUid:
-     *   This function will always return the embedded application's uid, unlike
-     *   GetContentL which will always refer to the container app (except for the
-     *   screenshot of course). This means that the returned uid is simply the
-     *   uid belonging to the first (non-hidden, etc.) window group from the window group list.
-     * If aType == EUseStandaloneUid:
-     *   Embedded applications are ignored and the returned uid is the app uid belonging
-     *   to the first parentless window group.
-     */
-    IMPORT_C TUid ForegroundAppUid( TTsFswFgAppType aType );
-
-private:
-    CTsFswClient();
-    void ConstructL();
-
-    CTsFswClientImpl* iImpl;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/inc/tsfswclientobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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:  Client API
- *
-*/
-
-
-#ifndef TSFSWCLIENTOBSERVER_H
-#define TSFSWCLIENTOBSERVER_H
-
-#include <e32base.h>
-
-/**
- * Observer interface for getting notifications about fast swap content changes.
- */
-class MTsFswObserver
-    {
-public:
-    /**
-     * Called when there is a change in the fast swap content.
-     * The data can be queried via CTsFswClient::GetContentL
-     */
-    virtual void HandleFswContentChanged() = 0;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/inc/tsfswcommon.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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:  common constants
- *
-*/
-
-
-#ifndef TSFSWCOMMON_H
-#define TSFSWCOMMON_H
-
-#include <e32std.h>
-
-_LIT( KTsFswServerName, "tsfswserver" );
-_LIT( KTsFswServerImg, "tsfswserver" );
-
-const TUid KTsFswServerUid = { 0x2001CBE1 };
-
-enum TTsFswServerMessages
-    {
-    ETsFswSubscribe,
-    ETsFswCancel,
-    ETsFswGetBufferSize,
-    ETsFswGetBuffer, // there must be a GetBufferSize request before GetBuffer
-    ETsFswCloseApp,
-    ETsFswSwitchToApp,
-    ETsFswForegroundAppUid
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/rom/tsfswserver.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:  Iby file for fast swap server
-*
-*/
-
-
-#ifndef TSFSWSERVER_IBY
-#define TSFSWSERVER_IBY
-
-file=ABI_DIR/BUILD_DIR/tsfswclient.dll                                     SHARED_LIB_DIR/tsfswclient.dll
-file=ABI_DIR/BUILD_DIR/tsfswutils.dll                                      SHARED_LIB_DIR/tsfswutils.dll
-file=ABI_DIR/BUILD_DIR/tsfswengine.dll                                     SHARED_LIB_DIR/tsfswengine.dll
-file=ABI_DIR/BUILD_DIR/tsfswserver.exe                                     SHARED_LIB_DIR/tsfswserver.exe
-
-#endif 
--- a/taskswitcher/contextengine/tsfswserver/server/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +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:  server component build info file
- *
-*/
-
-
-PRJ_MMPFILES
-tsfswserver.mmp
--- a/taskswitcher/contextengine/tsfswserver/server/group/tsfswserver.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  server component
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET tsfswserver.exe
-TARGETTYPE EXE
-UID 0x0 0x2001CBE1
-// AllFiles cap needed to get icon for wrt widgets
-CAPABILITY CAP_SERVER AllFiles
-
-SOURCEPATH ../src
-SOURCE          tsfswserver.cpp
-SOURCE          tsfswsession.cpp
-SOURCE          tsfswappui.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDe     ../../../inc
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-LIBRARY eikcore.lib
-LIBRARY cone.lib
-LIBRARY ws32.lib
-LIBRARY apgrfx.lib
-LIBRARY fbscli.lib
-LIBRARY avkon.lib
-
-LIBRARY tsfswengine.lib
-LIBRARY tsfswutils.lib
--- a/taskswitcher/contextengine/tsfswserver/server/inc/serverlogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for server
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfswserver.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x2001CBE1
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswserver/server/inc/tsfswappui.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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:  appui for server
- *
-*/
-
-
-#ifndef TSFSWAPPUI_H
-#define TSFSWAPPUI_H
-
-#include <aknappui.h>
-
-class MTsFswTaskListObserver;
-class MTsFswResourceObserver;
-
-/**
- * Appui for the fsw server.
- * Reimplements HandleWsEventL from base class to get notifications about
- * window group changes.
- */
-class CTsFswAppUi : public CAknAppUi
-    {
-public:
-    ~CTsFswAppUi();
-    void ConstructL();
-
-    /**
-     * Setter function.
-     *
-     * @param aTaskListObserver Observer to be notified if task list
-     *                     has changed
-     */
-    void SetTaskListObserver( MTsFswTaskListObserver& aTaskListObserver );
-
-    /**
-     * Setter function.
-     *
-     * @param aResourceObserver Observer to be notified when resources are changed.
-     */
-    void SetResourceObserver( MTsFswResourceObserver& aResourceObserver );
-
-private:
-    // from CEikAppUi
-    void HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination );
-    void HandleResourceChangeL( TInt aType );
-            
-private:
-    MTsFswTaskListObserver* iTaskListObserver; // not own
-    MTsFswResourceObserver* iResourceObserver; // not own
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/server/inc/tsfswserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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:  server class
- *
-*/
-
-
-#ifndef TSFSWSERVER_H
-#define TSFSWSERVER_H
-
-#include <e32base.h>
-#include "tsfswcommon.h"
-#include "tsfswobservers.h"
-
-/**
- * Possible panic reasons.
- */
-enum TTsFswPanic
-    {
-    EPanicBadDescriptor,
-    EPanicIllegalFunction,
-    EPanicAccessDenied
-    };
-
-/**
- * Panic name.
- */
-_LIT( KTsFswPanicName, "tsfsw" );
-
-class CTsFswEngine;
-class CTsFswAppUi;
-
-/**
- * Ts FastSwap Server.
- */
-class CTsFswServer : public CServer2, public MTsFswEngineObserver
-    {
-public:
-    static CTsFswServer* NewLC( CTsFswAppUi& aAppUi );
-    ~CTsFswServer();
-    void AddSession();
-    void DropSession();
-
-    void SerializeAndGetBufferSizeL( const RMessage2& aMessage );
-    void GetBufferL( const RMessage2& aMessage );
-    void CloseAppL( TInt aWgId );
-    void SwitchToAppL( TInt aWgId );
-    void ForegroundAppUidL( const RMessage2& aMessage );
-
-private:
-    CTsFswServer( TInt aPriority, CTsFswAppUi& aAppUi );
-    void ConstructL();
-    CSession2* NewSessionL( const TVersion& aVersion,
-        const RMessage2& aMessage ) const;
-        
-    // from MTsFswEngineObserver
-    void FswDataChanged();
-    TInt FswDataListenerCount();
-
-private:
-    TInt iSessionCount;
-    CTsFswEngine* iEngine;
-    CBufFlat* iBuffer;
-    CTsFswAppUi& iAppUi;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/server/inc/tsfswsession.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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:  session class for server
- *
-*/
-
-
-#ifndef TSFSWSESSION_H
-#define TSFSWSESSION_H
-
-#include "tsfswserver.h"
-#include "tsfswentry.h"
-
-/**
- * Session class.
- */
-class CTsFswSession : public CSession2
-    {
-public:
-    CTsFswSession();
-    void CreateL();
-    
-    /**
-     * Called from the server when fsw content has changed.
-     */
-    void FswDataChanged();
-    
-    /**
-     * Returns true if there is a pending subscribe request to this session.
-     */
-    TBool IsListening();
-
-private:
-    ~CTsFswSession();
-    CTsFswServer& Server();
-    void ServiceL( const RMessage2& aMessage );
-    void ServiceError( const RMessage2& aMessage, TInt aError );
-    void CompleteSubscribe( TInt aError );
-
-    RArray<RMessage2> iSubscribeRequests; // non-completed ETsFswSubscribe messages
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/server/src/tsfswappui.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +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:  appui implementation
- *
-*/
-
-
-#include "tsfswappui.h"
-#include "tsfswobservers.h"
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::~CTsFswAppUi
-// --------------------------------------------------------------------------
-//
-CTsFswAppUi::~CTsFswAppUi()
-    {
-    // empty
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::ConstructL()
-    {
-    CAknAppUi::BaseConstructL( ENoAppResourceFile | EAknEnableSkin );
-    RWindowGroup& windowGroup = CCoeEnv::Static()->RootWin();
-    windowGroup.EnableFocusChangeEvents();
-    windowGroup.EnableGroupListChangeEvents();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::SetTaskListObserver
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::SetTaskListObserver( MTsFswTaskListObserver& aTaskListObserver )
-    {
-    iTaskListObserver = &aTaskListObserver;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::SetResourceObserver
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::SetResourceObserver( MTsFswResourceObserver& aResourceObserver )
-    {
-    iResourceObserver = &aResourceObserver;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::HandleWsEventL
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination )
-    {
-    TInt eventType = aEvent.Type();
-
-    if ( eventType == EEventFocusGroupChanged
-            || eventType == EEventWindowGroupListChanged )
-        {
-        if ( iTaskListObserver )
-            {
-            iTaskListObserver->UpdateTaskList();
-            }
-        }
-
-    CAknAppUi::HandleWsEventL( aEvent, aDestination );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::HandleResourceChangeL
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::HandleResourceChangeL( TInt aType ) // codescanner::LFunctionCantLeave (virtual)
-    {
-    if ( iResourceObserver )
-        {
-        iResourceObserver->HandleResourceChange( aType );
-        }
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/server/src/tsfswserver.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +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:  server implementation
- *
-*/
-
-
-#include "tsfswserver.h"
-#include "tsfswsession.h"
-#include "tsfswappui.h"
-#include "tsfswengine.h"
-
-#include <s32mem.h>
-#include <eikenv.h>
-#include <apgwgnam.h>
-
-// --------------------------------------------------------------------------
-// CTsFswServer::CTsFswServer
-// --------------------------------------------------------------------------
-//
-CTsFswServer::CTsFswServer( TInt aPriority, CTsFswAppUi& aAppUi )
-        : CServer2( aPriority ), iAppUi( aAppUi )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::NewLC
-// --------------------------------------------------------------------------
-//
-CTsFswServer* CTsFswServer::NewLC( CTsFswAppUi& aAppUi )
-    {
-    CTsFswServer* self = new ( ELeave ) CTsFswServer(
-        EPriorityNormal, aAppUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::ConstructL()
-    {
-    StartL( KTsFswServerName );
-    iEngine = CTsFswEngine::NewL( *this );
-    iAppUi.SetTaskListObserver( *iEngine );
-    iAppUi.SetResourceObserver( *iEngine );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::~CTsFswServer
-// --------------------------------------------------------------------------
-//
-CTsFswServer::~CTsFswServer()
-    {
-    delete iBuffer;
-    delete iEngine;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::NewSessionL
-// --------------------------------------------------------------------------
-//
-CSession2* CTsFswServer::NewSessionL( const TVersion&,
-        const RMessage2& ) const
-    {
-    return new ( ELeave ) CTsFswSession;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::AddSession
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::AddSession()
-    {
-    ++iSessionCount;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::DropSession
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::DropSession()
-    {
-    --iSessionCount;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::SerializeAndGetBufferSizeL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::SerializeAndGetBufferSizeL( const RMessage2& aMessage )
-    {
-    const TInt KBufferExpandSize = 128;
-    const RTsFswArray& array( iEngine->FswDataL() );
-    delete iBuffer; iBuffer = NULL;
-    iBuffer = CBufFlat::NewL( KBufferExpandSize );
-    RBufWriteStream ws;
-    CleanupClosePushL( ws );
-    ws.Open( *iBuffer );
-    CTsFswEntry::ExternalizeArrayL( ws, array );
-    CleanupStack::PopAndDestroy( &ws );
-    TPtr8 p( iBuffer->Ptr( 0 ) );
-    TPckg<TInt> size( p.Length() );
-    aMessage.WriteL( 0, size );
-    aMessage.Complete( KErrNone );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::GetBufferL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::GetBufferL( const RMessage2& aMessage )
-    {
-    if ( !iBuffer )
-        {
-        User::Leave( KErrGeneral );
-        }
-    TPtr8 p( iBuffer->Ptr( 0 ) );
-    // If the size expected by the client does not match indicate it with a leave
-    // so the client can recognize it by checking the return value of SendReceive
-    // and can request the buffer size again.
-    if ( p.Length() != aMessage.Int1() )
-        {
-        User::Leave( KErrArgument );
-        }
-    aMessage.WriteL( 0, p );
-    aMessage.Complete( KErrNone );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::CloseAppL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::CloseAppL( TInt aWgId )
-    {
-    iEngine->CloseAppL( aWgId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::SwitchToAppL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::SwitchToAppL( TInt aWgId )
-    {
-    iEngine->SwitchToAppL( aWgId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::ForegroundAppUidL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::ForegroundAppUidL( const RMessage2& aMessage )
-    {
-    TUid uid = iEngine->ForegroundAppUidL( aMessage.Int1() );
-    TPckg<TInt> uidPckg( uid.iUid );
-    aMessage.WriteL( 0, uidPckg );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::FswDataChanged
-// callback from engine
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::FswDataChanged()
-    {
-    // notify all sessions about the change
-    iSessionIter.SetToFirst();
-    while ( CTsFswSession* session = static_cast<CTsFswSession*>( iSessionIter++ ) )
-        {
-        if ( session->IsListening() )
-            {
-            session->FswDataChanged();
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::FswDataListenersCount
-// callback from engine
-// --------------------------------------------------------------------------
-//
-TInt CTsFswServer::FswDataListenerCount()
-    {
-    TInt n = 0;
-    iSessionIter.SetToFirst();
-    while ( CTsFswSession* session = static_cast<CTsFswSession*>( iSessionIter++ ) )
-        {
-        if ( session->IsListening() )
-            {
-            ++n;
-            }
-        }
-    return n;
-    }
-
-// --------------------------------------------------------------------------
-// RunServerL
-// --------------------------------------------------------------------------
-//
-static void RunServerL( CTsFswAppUi& aAppUi, CEikonEnv& aEnv )
-    {
-    // change thread name
-    User::LeaveIfError( RThread::RenameMe( KTsFswServerName ) );
-
-    // set app as hidden
-    CApaWindowGroupName* wgName =
-        CApaWindowGroupName::NewL( aEnv.WsSession(),
-            aEnv.RootWin().Identifier() );
-    wgName->SetHidden( ETrue );
-    wgName->SetWindowGroupName( aEnv.RootWin() );
-    delete wgName;
-
-    // start server
-    CTsFswServer* server = CTsFswServer::NewLC( aAppUi );
-    RProcess::Rendezvous( KErrNone );
-    CActiveScheduler::Start();
-    CleanupStack::PopAndDestroy( server );
-    }
-
-// --------------------------------------------------------------------------
-// E32Main
-// --------------------------------------------------------------------------
-//
-TInt E32Main()
-    {
-    __UHEAP_MARK;
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-    TInt err = KErrNoMemory;
-    if ( cleanup )
-        {
-        CEikonEnv* env = new CEikonEnv;
-        if ( env )
-            {
-            TRAP( err, env->ConstructL() );
-            if ( err == KErrNone )
-                {
-                env->DisableExitChecks( ETrue );
-                CTsFswAppUi* ui = new CTsFswAppUi;
-                if ( ui )
-                    {
-                    TRAP( err, ui->ConstructL() );
-                    if ( err == KErrNone )
-                        {
-                        // hide from tasklist and prevent from coming foreground
-                        env->RootWin().SetOrdinalPosition( 0,
-                            ECoeWinPriorityNeverAtFront );
-                        // set as system app so will not be closed when memory is low
-                        env->SetSystem( ETrue );
-                        
-                        RFbsSession::Connect();
-                        
-                        TRAP( err, RunServerL( *ui, *env ) );
-                        
-                        RFbsSession::Disconnect();
-                        
-                        ui->PrepareToExit();
-                        }
-                    }
-                }
-            env->DestroyEnvironment();
-            }
-        delete cleanup;
-        }
-    __UHEAP_MARKEND;
-    return err;
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/server/src/tsfswsession.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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:  session implementation
- *
-*/
-
-
-#include "tsfswsession.h"
-
-// --------------------------------------------------------------------------
-// CTsFswSession::CTsFswSession
-// --------------------------------------------------------------------------
-//
-CTsFswSession::CTsFswSession()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::Server
-// --------------------------------------------------------------------------
-//
-CTsFswServer& CTsFswSession::Server()
-    {
-    return *static_cast<CTsFswServer*>(
-        const_cast<CServer2*>( CSession2::Server() ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::CreateL
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::CreateL() // codescanner::LFunctionCantLeave (virtual)
-    {
-    Server().AddSession();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::~CTsFswSession
-// --------------------------------------------------------------------------
-//
-CTsFswSession::~CTsFswSession()
-    {
-    CompleteSubscribe( KErrCancel );
-    iSubscribeRequests.Close();
-    Server().DropSession();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::CompleteSubscribe
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::CompleteSubscribe( TInt aError )
-    {
-    for ( TInt i = 0, ie = iSubscribeRequests.Count(); i != ie; ++i )
-        {
-        iSubscribeRequests[i].Complete( aError );
-        }
-    iSubscribeRequests.Reset();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::ServiceL
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::ServiceL( const RMessage2& aMessage )
-    {
-    if ( !aMessage.HasCapability( ECapabilityLocalServices ) )
-        {
-        aMessage.Panic( KTsFswPanicName, EPanicAccessDenied );
-        return;
-        }
-
-    switch ( aMessage.Function() )
-        {
-    case ETsFswSubscribe:
-        iSubscribeRequests.AppendL( aMessage );
-        break;
-
-    case ETsFswCancel:
-        CompleteSubscribe( KErrCancel );
-        aMessage.Complete( KErrNone );
-        break;
-
-    case ETsFswGetBufferSize:
-        Server().SerializeAndGetBufferSizeL( aMessage );
-        break;
-
-    case ETsFswGetBuffer:
-        Server().GetBufferL( aMessage );
-        break;
-
-    case ETsFswCloseApp:
-        Server().CloseAppL( aMessage.Int0() );
-        aMessage.Complete( KErrNone );
-        break;
-
-    case ETsFswSwitchToApp:
-        Server().SwitchToAppL( aMessage.Int0() );
-        aMessage.Complete( KErrNone );
-        break;
-        
-    case ETsFswForegroundAppUid:
-        Server().ForegroundAppUidL( aMessage );
-        aMessage.Complete( KErrNone );
-        break;
-
-    default:
-        aMessage.Panic( KTsFswPanicName, EPanicIllegalFunction );
-        break;
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::ServiceError
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::ServiceError( const RMessage2& aMessage,
-        TInt aError )
-    {
-    if ( aError == KErrBadDescriptor )
-        {
-        aMessage.Panic( KTsFswPanicName, EPanicBadDescriptor );
-        }
-    CSession2::ServiceError( aMessage, aError );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::FswDataChanged
-// called by server when notification is received from engine
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::FswDataChanged()
-    {
-    CompleteSubscribe( KErrNone );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::IsListening
-// --------------------------------------------------------------------------
-//
-TBool CTsFswSession::IsListening()
-    {
-    return iSubscribeRequests.Count() > 0;
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/utils/bwins/tsfswutilsu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	?ScreenshotHandle@CTsFswEntry@@QBEHXZ @ 1 NONAME ; int CTsFswEntry::ScreenshotHandle(void) const
-	?AlwaysShown@CTsFswEntry@@QBEHXZ @ 2 NONAME ; int CTsFswEntry::AlwaysShown(void) const
-	?SystemApp@CTsFswEntry@@QBEHXZ @ 3 NONAME ; int CTsFswEntry::SystemApp(void) const
-	?SetAppNameL@CTsFswEntry@@QAEXABVTDesC16@@@Z @ 4 NONAME ; void CTsFswEntry::SetAppNameL(class TDesC16 const &)
-	?ExternalizeL@CTsFswEntry@@QAEXAAVRWriteStream@@@Z @ 5 NONAME ; void CTsFswEntry::ExternalizeL(class RWriteStream &)
-	?ExternalizeArrayL@CTsFswEntry@@SAXAAVRWriteStream@@ABV?$RPointerArray@VCTsFswEntry@@@@@Z @ 6 NONAME ; void CTsFswEntry::ExternalizeArrayL(class RWriteStream &, class RPointerArray<class CTsFswEntry> const &)
-	?AppName@CTsFswEntry@@QBEABVTDesC16@@XZ @ 7 NONAME ; class TDesC16 const & CTsFswEntry::AppName(void) const
-	?AppUid@CTsFswEntry@@QBE?AVTUid@@XZ @ 8 NONAME ; class TUid CTsFswEntry::AppUid(void) const
-	?AppIconMaskHandle@CTsFswEntry@@QBEHXZ @ 9 NONAME ; int CTsFswEntry::AppIconMaskHandle(void) const
-	?SetAppIconHandles@CTsFswEntry@@QAEXHH@Z @ 10 NONAME ; void CTsFswEntry::SetAppIconHandles(int, int)
-	?SetAlwaysShown@CTsFswEntry@@QAEXH@Z @ 11 NONAME ; void CTsFswEntry::SetAlwaysShown(int)
-	?NewLC@CTsFswEntry@@SAPAV1@XZ @ 12 NONAME ; class CTsFswEntry * CTsFswEntry::NewLC(void)
-	?NewL@CTsFswEntry@@SAPAV1@XZ @ 13 NONAME ; class CTsFswEntry * CTsFswEntry::NewL(void)
-	?WgId@CTsFswEntry@@QBEHXZ @ 14 NONAME ; int CTsFswEntry::WgId(void) const
-	?SetWidget@CTsFswEntry@@QAEXH@Z @ 15 NONAME ; void CTsFswEntry::SetWidget(int)
-	?SetAppUid@CTsFswEntry@@QAEXABVTUid@@@Z @ 16 NONAME ; void CTsFswEntry::SetAppUid(class TUid const &)
-	?SetWgId@CTsFswEntry@@QAEXH@Z @ 17 NONAME ; void CTsFswEntry::SetWgId(int)
-	?SetScreenshotHandle@CTsFswEntry@@QAEXH@Z @ 18 NONAME ; void CTsFswEntry::SetScreenshotHandle(int)
-	?InternalizeL@CTsFswEntry@@QAEXAAVRReadStream@@@Z @ 19 NONAME ; void CTsFswEntry::InternalizeL(class RReadStream &)
-	?AppIconBitmapHandle@CTsFswEntry@@QBEHXZ @ 20 NONAME ; int CTsFswEntry::AppIconBitmapHandle(void) const
-	?SetSystemApp@CTsFswEntry@@QAEXH@Z @ 21 NONAME ; void CTsFswEntry::SetSystemApp(int)
-	?Widget@CTsFswEntry@@QBEHXZ @ 22 NONAME ; int CTsFswEntry::Widget(void) const
-	?InternalizeArrayL@CTsFswEntry@@SAXAAVRReadStream@@AAV?$RPointerArray@VCTsFswEntry@@@@@Z @ 23 NONAME ; void CTsFswEntry::InternalizeArrayL(class RReadStream &, class RPointerArray<class CTsFswEntry> &)
-
--- a/taskswitcher/contextengine/tsfswserver/utils/eabi/tsfswutilsu.def	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	_ZN11CTsFswEntry11SetAppNameLERK7TDesC16 @ 1 NONAME
-	_ZN11CTsFswEntry12ExternalizeLER12RWriteStream @ 2 NONAME
-	_ZN11CTsFswEntry12InternalizeLER11RReadStream @ 3 NONAME
-	_ZN11CTsFswEntry12SetSystemAppEi @ 4 NONAME
-	_ZN11CTsFswEntry14SetAlwaysShownEi @ 5 NONAME
-	_ZN11CTsFswEntry17ExternalizeArrayLER12RWriteStreamRK13RPointerArrayIS_E @ 6 NONAME
-	_ZN11CTsFswEntry17InternalizeArrayLER11RReadStreamR13RPointerArrayIS_E @ 7 NONAME
-	_ZN11CTsFswEntry17SetAppIconHandlesEii @ 8 NONAME
-	_ZN11CTsFswEntry19SetScreenshotHandleEi @ 9 NONAME
-	_ZN11CTsFswEntry4NewLEv @ 10 NONAME
-	_ZN11CTsFswEntry5NewLCEv @ 11 NONAME
-	_ZN11CTsFswEntry7SetWgIdEi @ 12 NONAME
-	_ZN11CTsFswEntry9SetAppUidERK4TUid @ 13 NONAME
-	_ZN11CTsFswEntry9SetWidgetEi @ 14 NONAME
-	_ZNK11CTsFswEntry11AlwaysShownEv @ 15 NONAME
-	_ZNK11CTsFswEntry16ScreenshotHandleEv @ 16 NONAME
-	_ZNK11CTsFswEntry17AppIconMaskHandleEv @ 17 NONAME
-	_ZNK11CTsFswEntry19AppIconBitmapHandleEv @ 18 NONAME
-	_ZNK11CTsFswEntry4WgIdEv @ 19 NONAME
-	_ZNK11CTsFswEntry6AppUidEv @ 20 NONAME
-	_ZNK11CTsFswEntry6WidgetEv @ 21 NONAME
-	_ZNK11CTsFswEntry7AppNameEv @ 22 NONAME
-	_ZNK11CTsFswEntry9SystemAppEv @ 23 NONAME
-
--- a/taskswitcher/contextengine/tsfswserver/utils/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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:  build info file for utility component
- *
-*/
-
-
-PRJ_EXPORTS
-../inc/tsfswentry.h     |../../../inc/tsfswentry.h
-
-PRJ_MMPFILES
-tsfswutils.mmp
--- a/taskswitcher/contextengine/tsfswserver/utils/group/tsfswutils.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  utility component
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET  tsfswutils.dll
-TARGETTYPE DLL
-CAPABILITY CAP_GENERAL_DLL
-
-SOURCEPATH      ../src
-SOURCE          tsfswentry.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-USERINCLUDE     ../inc
-
-LIBRARY euser.lib
-LIBRARY estor.lib
--- a/taskswitcher/contextengine/tsfswserver/utils/inc/tsfswentry.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  Task list entry
- *
-*/
-
-
-#ifndef TSFSWENTRY_H
-#define TSFSWENTRY_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-
-class CTsFswEntry;
-class RReadStream;
-class RWriteStream;
-
-typedef RPointerArray<CTsFswEntry> RTsFswArray;
-
-/**
- * An entry in the task list.
- */
-NONSHARABLE_CLASS( CTsFswEntry ) : public CBase
-    {
-public:
-    IMPORT_C static CTsFswEntry* NewL();
-    IMPORT_C static CTsFswEntry* NewLC();
-    ~CTsFswEntry();
-
-    /**
-     * Window group id.
-     * In case of wrt widgets this is negative and is not a valid window group id.
-     * Use this when calling CloseApp or SwitchToApp. (these work with widgets too)
-     */
-    IMPORT_C TInt WgId() const;
-    
-    /**
-     * Application uid.
-     */
-    IMPORT_C TUid AppUid() const;
-    
-    /**
-     * Application name.
-     */
-    IMPORT_C const TDesC& AppName() const;
-    
-    /**
-     * Bitmap handle to the screenshot or 0 if not available.
-     */
-    IMPORT_C TInt ScreenshotHandle() const;
-    
-    /**
-     * ETrue if the application is always shown in the fast swapper.
-     * (no use to call CloseApp for such an application)
-     */
-    IMPORT_C TBool AlwaysShown() const;
-
-    /**
-     * ETrue if the application is a system application.
-     * (no use to call CloseApp for such an application)
-     */
-    IMPORT_C TBool SystemApp() const;
-
-    /**
-     * ETrue if this is a wrt widget.
-     */
-    IMPORT_C TBool Widget() const;
-    
-    /**
-     * Application icon bitmap handle or 0.
-     * If may not be set if the screenshot is available, i.e. it is
-     * only guaranteed to be non-zero when ScreenshotHandle() returns 0.
-     */
-    IMPORT_C TInt AppIconBitmapHandle() const;
-    
-    /**
-     * Application icon mask handle.
-     * @see AppIconBitmapHandle
-     * The mask handle may be 0 even when the bitmap handle is non-zero.
-     */
-    IMPORT_C TInt AppIconMaskHandle() const;
-
-
-    IMPORT_C void SetWgId( TInt aWgId );
-    IMPORT_C void SetAppUid( const TUid& aUid );
-    IMPORT_C void SetAppNameL( const TDesC& aAppName );
-    IMPORT_C void SetScreenshotHandle( TInt aHandle );
-    IMPORT_C void SetAlwaysShown( TBool aValue );
-    IMPORT_C void SetSystemApp( TBool aValue );
-    IMPORT_C void SetWidget( TBool aValue );
-    IMPORT_C void SetAppIconHandles( TInt aBitmapHandle, TInt aMaskHandle );
-
-    IMPORT_C void ExternalizeL( RWriteStream& aStream );
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-
-    IMPORT_C static void ExternalizeArrayL( RWriteStream& aStream,
-        const RTsFswArray& aArray );
-    IMPORT_C static void InternalizeArrayL( RReadStream& aStream,
-        RTsFswArray& aArray );
-
-private:
-    TInt iWgId;
-    TUid iAppUid;
-    HBufC* iAppName;
-    TInt iScreenshotHandle;
-    TBool iAlwaysShown;
-    TBool iSystemApp;
-    TBool iWidget;
-    TInt iAppIconBitmapHandle;
-    TInt iAppIconMaskHandle;
-    
-    TInt iReserved0;
-    TInt iReserved1;
-    TInt iReserved2;
-    TInt iReserved3;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/utils/inc/utilslogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for utils
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfswutils.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x0000000
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswserver/utils/src/tsfswentry.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +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:  Task list entry
- *
-*/
-
-
-#include "tsfswentry.h"
-#include <s32strm.h>
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::NewL
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFswEntry* CTsFswEntry::NewL()
-    {
-    CTsFswEntry* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::NewLC
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFswEntry* CTsFswEntry::NewLC()
-    {
-    CTsFswEntry* self = new ( ELeave ) CTsFswEntry;
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::~CTsFswEntry
-// --------------------------------------------------------------------------
-//
-CTsFswEntry::~CTsFswEntry()
-    {
-    delete iAppName;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetWgId
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetWgId( TInt aWgId )
-    {
-    iWgId = aWgId;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetAppUid
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetAppUid( const TUid& aUid )
-    {
-    iAppUid = aUid;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetAppNameL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetAppNameL( const TDesC& aAppName )
-    {
-    delete iAppName; iAppName = 0;
-    iAppName = aAppName.AllocL();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetScreenshotHandle
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetScreenshotHandle( TInt aHandle )
-    {
-    iScreenshotHandle = aHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetAlwaysShown
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetAlwaysShown( TBool aValue )
-    {
-    iAlwaysShown = aValue;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetSystemApp
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetSystemApp( TBool aValue )
-    {
-    iSystemApp = aValue;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetWidget
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetWidget( TBool aValue )
-    {
-    iWidget = aValue;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetAppIconHandles
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetAppIconHandles( TInt aBitmapHandle, TInt aMaskHandle )
-    {
-    iAppIconBitmapHandle = aBitmapHandle;
-    iAppIconMaskHandle = aMaskHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::WgId
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFswEntry::WgId() const
-    {
-    return iWgId;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AppUid
-// --------------------------------------------------------------------------
-//
-EXPORT_C TUid CTsFswEntry::AppUid() const
-    {
-    return iAppUid;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AppName
-// --------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CTsFswEntry::AppName() const
-    {
-    return iAppName ? *iAppName : KNullDesC();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::ScreenshotHandle
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFswEntry::ScreenshotHandle() const
-    {
-    return iScreenshotHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AlwaysShown
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CTsFswEntry::AlwaysShown() const
-    {
-    return iAlwaysShown;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SystemApp
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CTsFswEntry::SystemApp() const
-    {
-    return iSystemApp;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::Widget
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CTsFswEntry::Widget() const
-    {
-    return iWidget;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AppIconBitmapHandle
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFswEntry::AppIconBitmapHandle() const
-    {
-    return iAppIconBitmapHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AppIconMaskHandle
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFswEntry::AppIconMaskHandle() const
-    {
-    return iAppIconMaskHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::ExternalizeL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::ExternalizeL( RWriteStream& aStream )
-    {
-    aStream.WriteInt32L( iWgId );
-    aStream.WriteInt32L( iAppUid.iUid );
-    aStream << AppName();
-    aStream.WriteInt32L( iScreenshotHandle );
-    aStream.WriteInt32L( iAlwaysShown );
-    aStream.WriteInt32L( iSystemApp );
-    aStream.WriteInt32L( iWidget );
-    aStream.WriteInt32L( iAppIconBitmapHandle );
-    aStream.WriteInt32L( iAppIconMaskHandle );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::InternalizeL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::InternalizeL( RReadStream& aStream )
-    {
-    iWgId = aStream.ReadInt32L();
-    iAppUid = TUid::Uid( aStream.ReadInt32L() );
-    delete iAppName; iAppName = 0;
-    iAppName = HBufC::NewL( aStream, KMaxTInt );
-    iScreenshotHandle = aStream.ReadInt32L();
-    iAlwaysShown = aStream.ReadInt32L();
-    iSystemApp = aStream.ReadInt32L();
-    iWidget = aStream.ReadInt32L();
-    iAppIconBitmapHandle = aStream.ReadInt32L();
-    iAppIconMaskHandle = aStream.ReadInt32L();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::ExternalizeArrayL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::ExternalizeArrayL( RWriteStream& aStream,
-        const RTsFswArray& aArray )
-    {
-    TInt count = aArray.Count();
-    aStream.WriteInt32L( count );
-    for ( TInt i = 0; i < count; ++i )
-        {
-        aArray[i]->ExternalizeL( aStream );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::InternalizeArrayL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::InternalizeArrayL( RReadStream& aStream,
-        RTsFswArray& aArray )
-    {
-    aArray.ResetAndDestroy();
-    TInt count = aStream.ReadInt32L();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CTsFswEntry* entry = CTsFswEntry::NewLC();
-        entry->InternalizeL( aStream );
-        aArray.AppendL( entry );
-        CleanupStack::Pop( entry );
-        }
-    }
-
-
-// end of file
--- a/taskswitcher/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +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:  Build info file for Taskswitcher
-*
-*/
-
-
-#include "../contextengine/group/bld.inf"
-#include "../taskswitcherui/group/bld.inf"
-
--- a/taskswitcher/taskswitcherui/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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 <platform_paths.hrh>
-
-PRJ_EXPORTS
-// iby file
-../rom/taskswitcher.iby             CORE_MW_LAYER_IBY_EXPORT_PATH(taskswitcher.iby)
-../rom/taskswitcherresources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(taskswitcherresources.iby)
-
-// stub sis
-../sis/stubs/taskswitcher_stub.sis                  /epoc32/data/z/system/install/taskswitcher_stub.sis
-../sis/stubs/taskswitcher_stub.sis                  /epoc32/release/winscw/udeb/z/system/install/taskswitcher_stub.sis
-
-#include "../taskswitcherappecom/group/bld.inf"
-#include "../taskswitcherapp/group/bld.inf"
-
-PRJ_MMPFILES
--- a/taskswitcher/taskswitcherui/rom/taskswitcher.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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 TASKSWITCHER_IBY
-#define TASKSWITCHER_IBY
-
-// AknCapServer alternate fast swap plugin
-ECOM_PLUGIN( tsappecom.dll, tsappecom.rsc )
-
-data=DATAZ_/private/10003a3f/apps/tstaskswitcher_reg.rsc                          private/10003a3f/import/apps/tstaskswitcher_reg.rsc
-file=ABI_DIR/BUILD_DIR/taskswitcher.exe                                           PROGRAMS_DIR/hgteleport.exe
-
-// backup registration
-data=DATAZ_/private/20016BF0/backup_registration.xml                            private/20016BF0/backup_registration.xml
-
-// stub sis
-data=ZSYSTEM/install/taskswitcher_stub.sis                  system/install/taskswitcher_stub.sis
-
-#endif 
--- a/taskswitcher/taskswitcherui/rom/taskswitcherresources.iby	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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 TASKSWITCHERRES_IBY
-#define TASKSWITCHERRES_IBY
-
-// resources for taskswitcher app
-data=DATAZ_/APP_RESOURCE_DIR/tstaskswitcher.rsc    APP_RESOURCE_DIR/hgteleport.rsc
-
-#endif 
--- a/taskswitcher/taskswitcherui/sis/stubs/createstubs.bat	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +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
-
-for %%f in (*.pkg) do makesis -s %%f
--- a/taskswitcher/taskswitcherui/sis/stubs/taskswitcher_stub.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /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: 
-;
-; ------------------------------------------------------------------------------
-; Taskswitcher stub SIS package file.
-; Used to enable Taskswitcher to be updated from ROM with a SIS package.
-; When you add new files into this stub, please remember to update
-; SIS stub with "makesis -s" command.
-; ------------------------------------------------------------------------------
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"taskswitcher"},(0x20016BF0),1,0,0,TYPE=SA
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-""-"Z:\sys\bin\hgteleport.exe"
-""-"Z:\resource\apps\hgteleport.r??"
-""-"Z:\private\10003a3f\import\apps\tstaskswitcher_reg.rsc"
-
-""-"Z:\sys\bin\tsappecom.dll"
-""-"Z:\resource\plugins\tsappecom.rsc"
Binary file taskswitcher/taskswitcherui/sis/stubs/taskswitcher_stub.sis has changed
--- a/taskswitcher/taskswitcherui/sis/taskswitcher.pkg	Tue Feb 02 00:04:13 2010 +0200
+++ /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: 
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"taskswitcher"},(0x20016BF0),1,0,0,TYPE=SA, RU
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-"/epoc32/release/armv5/urel/taskswitcher.exe" - "!:\sys\bin\hgteleport.exe"
-"/epoc32/data/z/resource/apps/tstaskswitcher.rsc" - "!:\resource\apps\hgteleport.rsc"
-"/epoc32/data/z/private/10003a3f/apps/tstaskswitcher_reg.rsc" - "!:\private\10003a3f\import\apps\tstaskswitcher_reg.rsc"
-
-"/epoc32/release/armv5/urel/tsappecom.dll" - "!:\sys\bin\tsappecom.dll"
-"/epoc32/data/z/resource/plugins/tsappecom.rsc" - "!:\resource\plugins\tsappecom.rsc"
--- a/taskswitcher/taskswitcherui/taskswitcherapp/data/tstaskswitcher.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +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:  Resource files for task switcher app
-*
-*/
-
-
-NAME HGTL
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <appinfo.rh>
-
-#include <avkon.loc>
-#include <taskswitcher.loc>
-
-#include "tscommands.hrh"
-
-// ---------------------------------------------------------
-//   
-//    Define the resource file signature 
-//    This resource should be empty.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------
-//   
-//    Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name { buf=""; }
-
-// ---------------------------------------------------------
-//   
-//    Define default menu and CBA key.
-//
-// ---------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_ts_menubar;
-    cba = r_ts_cba_nontouch;
-    }
-
-// ---------------------------------------------------------
-//   
-//    CBA for non-touch.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_ts_cba_nontouch
-	{
-	flags = 0;
-	buttons = 
-    	{
-    	CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_select;}, // left softkey
-    	CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;}, // right softkey
-    	CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_select;} // middle softkey, same as lsk, label is not shown in touch
-    	};
-	}
-
-// ---------------------------------------------------------
-//   
-//    CBA for touch.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_ts_cba_touch
-	{
-	flags = 0;
-	buttons = 
-    	{
-    	CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_empty;}, // left softkey, no label
-    	CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;}, // right softkey
-    	CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_select;} // middle softkey, same as lsk, label is not shown in touch
-    	};
-	}
-
-
-// ---------------------------------------------------------
-//   
-//   r_ts_menubar
-//   Menubar for ts
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_ts_menubar
-    {
-    titles =
-        {
-        MENU_TITLE {menu_pane = r_ts_menu;}
-        };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//   r_ts_menu
-//   Menu for "Options"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_ts_menu
-    {
-    items = 
-        {
-        MENU_ITEM { command = ETsCmdHelp; 	 txt = qtn_options_help; },
-        MENU_ITEM { command = EAknSoftkeyExit;   	txt = text_softkey_exit; }
-        };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_panel__name
-//   task switcher panel name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_ts_panel_name
-    {
-    buf="Task Switcher";
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_message_dialog_okcancel
-//   message dialog with ok and cancel softkeys labels
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_ts_message_dialog_okcancel
-    {
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-	items =
-	    {
-		DLG_LINE
-		    {
-			type = EAknCtPopupHeadingPane;
-			id = EAknMessageQueryHeaderId;
-			control = AVKON_HEADING
-			    {
-			    headinglayout = 0;			
-			    };
-		    },
-		DLG_LINE
-	    	{
-			type = EAknCtMessageQuery;
-			id = EAknMessageQueryContentId;
-			control = AVKON_MESSAGE_QUERY { };
-		    }
-	    };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_message_dialog_yesno
-//   message dialog with yes and no softkeys labels
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_ts_message_dialog_yesno
-    {
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_YES_NO;
-	items =
-	    {
-		DLG_LINE
-		    {
-			type = EAknCtPopupHeadingPane;
-			id = EAknMessageQueryHeaderId;
-			control = AVKON_HEADING
-			    {
-			    headinglayout = 0;			
-			    };
-		    },
-		DLG_LINE
-	    	{
-			type = EAknCtMessageQuery;
-			id = EAknMessageQueryContentId;
-			control = AVKON_MESSAGE_QUERY { };
-		    }
-	    };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_message_dialog_ok
-//   message dialog with ok softkey label
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_ts_message_dialog_ok
-    {
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-	items =
-	    {
-		DLG_LINE
-		    {
-			type = EAknCtPopupHeadingPane;
-			id = EAknMessageQueryHeaderId;
-			control = AVKON_HEADING
-			    {
-			    headinglayout = 0;			
-			    };
-		    },
-		DLG_LINE
-	    	{
-			type = EAknCtMessageQuery;
-			id = EAknMessageQueryContentId;
-			control = AVKON_MESSAGE_QUERY { };
-		    }
-	    };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_fsw_confirm_close_query
-//   shown when Clear key is pressed in FSW
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_ts_fsw_confirm_close_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-
-
-
-RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
-	{
-	short_caption = "Task Switcher";
-	caption_and_icon =
-		{
-		CAPTION_AND_ICON_INFO 
-			{
-			caption="Task Switcher";
-			}
-		};
-	}
-
-
-RESOURCE TBUF r_ts_title { buf = "Task Switcher"; }
-
-RESOURCE TBUF r_ts_fsw_activate { buf = qtn_task_switcher_popup_open_app; }
-RESOURCE TBUF r_ts_fsw_close { buf = qtn_task_switcher_popup_close_app; }
-RESOURCE TBUF r_ts_fsw_close_all { buf = qtn_task_switcher_popup_close_all; }
-RESOURCE TBUF r_ts_fsw_confirm_close { buf = qtn_memlo_confirm_close; }
-
-RESOURCE TBUF r_task_switcher_heading_applications { buf = qtn_task_switcher_heading_applications; }
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/data/tstaskswitcher_reg.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2008-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:  task switcher application's registration resource file 
-*
-*/
-
-
-#include <appinfo.rh>
-#include <tstaskswitcher.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x20016BF0
-
-RESOURCE APP_REGISTRATION_INFO 
-	{
-	app_file="hgteleport";
-	localisable_resource_file="\\resource\\apps\\hgteleport";
-	localisable_resource_id = R_LOCALISABLE_APP_INFO;
-	}
--- a/taskswitcher/taskswitcherui/taskswitcherapp/group/backup_registration.xml	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration version="1.0">
-
-  <passive_backup>
-    <!-- backup all private data -->
-    <include_directory name = "\" />
-  </passive_backup>
-  
-  <!-- backup executables and resources from SIS files -->
-  <system_backup />
-
-  <!-- backup cenrep data -->  
-  <proxy_data_manager sid = "0x10202BE9" />
-
-  <!-- backup sqlite data -->
-  <proxy_data_manager sid = "0x10281E17" />
-  
-  <restore requires_reboot = "no"/>
-
-</backup_registration>
--- a/taskswitcher/taskswitcherui/taskswitcherapp/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  Build information file for task switcher
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../loc/taskswitcher.loc       MW_LAYER_LOC_EXPORT_PATH(taskswitcher.loc)
-backup_registration.xml     /epoc32/data/z/private/20016BF0/backup_registration.xml
-backup_registration.xml     /epoc32/release/winscw/udeb/z/private/20016BF0/backup_registration.xml
-../inc/tsuid.hrh    |../../inc/tsuid.hrh
-
-PRJ_MMPFILES
-tsapp.mmp
-
-PRJ_TESTMMPFILES
--- a/taskswitcher/taskswitcherui/taskswitcherapp/group/tsapp.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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:  mmp file for taskswitcher application
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-#include "../inc/tsuid.hrh"
-
-EPOCHEAPSIZE    0x100000 0xa00000  // 1 Mb - 10 Mb
-EPOCSTACKSIZE   0x5000 // 20KB
-
-TARGET          taskswitcher.exe
-TARGETTYPE      exe
-UID             0x100039CE KTsAppUidValue
-CAPABILITY      CAP_APPLICATION NetworkControl PowerMgmt
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          tsappui.cpp
-SOURCE          tsapplication.cpp
-SOURCE          tsdocument.cpp
-SOURCE          tstaskswitcher.cpp 
-SOURCE          tsappview.cpp
-SOURCE          tsfastswaparea.cpp
-SOURCE          tsfastswapgrid.cpp
-SOURCE          tsdevicestate.cpp
-SOURCE          tseventcontroler.cpp
-SOURCE          tsphysicsengine.cpp
-SOURCE          tsphysics.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../trace
-USERINCLUDE     ../../../contextengine/inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         apparc.lib
-LIBRARY         cone.lib
-LIBRARY         eikcore.lib
-LIBRARY         avkon.lib
-LIBRARY         apgrfx.lib
-LIBRARY         ws32.lib
-LIBRARY         aknskins.lib
-LIBRARY         egul.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         fbscli.lib
-LIBRARY         aknskinsrv.lib
-LIBRARY		    commonengine.lib
-LIBRARY		    efsrv.lib
-LIBRARY		    estor.lib
-LIBRARY         aknnotify.lib
-LIBRARY         hlplch.lib
-LIBRARY         aknicon.lib
-LIBRARY         bitgdi.lib
-LIBRARY         gdi.lib
-LIBRARY         cdlengine.lib
-LIBRARY         aknlayout2.lib
-LIBRARY         aknlayout2scalable.lib
-LIBRARY         oommonitor.lib
-LIBRARY         hal.lib
-LIBRARY         gfxtrans.lib
-LIBRARY         akntransitionutils.lib
-LIBRARY         bafl.lib
-LIBRARY         akntouchgesturefw.lib
-LIBRARY         aknphysics.lib
-LIBRARY         touchfeedback.lib
-
-DEBUGLIBRARY    flogger.lib
-
-LIBRARY         tscontextservicesutils.lib
-LIBRARY         tsfswclient.lib
-LIBRARY         tsfswutils.lib
-
-SOURCEPATH      ../data
-START RESOURCE  tstaskswitcher.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-SOURCEPATH      ../data
-START RESOURCE  tstaskswitcher_reg.rss
-DEPENDS tstaskswitcher.rsg
-TARGETPATH      /private/10003a3f/apps
-END
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsapplication.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  Application class
- *
-*/
-
-
-#ifndef TSAPPLICATION_H
-#define TSAPPLICATION_H
-
-#include <e32base.h> 
-#include <aknapp.h>
-
-class CTsApplication : public CAknApplication
-    {
-public:
-    // from CAknApplication
-    /**
-     * Returns the application DLL UID value
-     *
-     * @since S60 v5.0
-     * @return the UID of this Application/Dll
-     */
-    TUid AppDllUid( ) const;
-
-protected:
-    // from CAknApplication
-    /**
-     * Create a CApaDocument object and return a pointer to it
-     *
-     * @since S60 v5.0
-     * a pointer to the created document
-     */
-    CApaDocument* CreateDocumentL( );
-    };
-
-#endif // TSAPPLICATION_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsapplogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:  Defines logs for tsapp
-*
-*/
-
-
-#ifdef _DEBUG
-#include "../inc/tsuid.hrh"
-_LIT( KTsLogFile, "tsapp.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID KTsAppUidValue
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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:  appui
- *
-*/
-
-
-#ifndef TSAPPUI_H
-#define TSAPPUI_H
-
-#include <e32base.h> 
-#include <aknappui.h>
-
-#include <gfxtranseffect/gfxtranseffect.h>
-#include <akntransitionutils.h>
-
-#include "tsproplistener.h"
-#include "tscenreplistener.h"
-
-// FORWARD DECLARATIONS
-class CTsAppView;
-class CTsActionUtility;
-class CTsDeviceState;
-
-/**
- * CTsAppUi
- * Appui for tsak swicher app
- */
-class CTsAppUi : public CAknAppUi, 
-                         public MTsPropertyChangeObserver,
-                         public MTsCenrepChangeObserver,
-                         public MGfxTransEffectObserver
-    {
-
-public:
-    /**
-     * Perform the second phase construction of a CTsAppUi object
-     * this needs to be public due to the way the framework constructs the AppUi
-     */
-    void ConstructL();
-
-    /**
-     * Perform the first phase of two phase construction.
-     * This needs to be public due to the way the framework constructs the AppUi
-     */
-    CTsAppUi();
-
-    /**
-     * Destroy the object and release all memory objects
-     */
-    ~CTsAppUi();
-
-public: //effects
-    /**
-     * @return value of theme effects enabled flag
-     */
-    TBool EffectsEnabled() const;
-    
-    /**
-     * Function start transition  
-     */
-    void StartTransion( TUint aTransitionType );
-    
-    /**
-     * from MGfxTransEffectObserver
-     */
-    void TransitionFinished(const CCoeControl* aControl, TUint aAction);
-    
-    void MoveAppToForeground( TUint aTransitionType );
-    void MoveAppToBackground( TUint aTransitionType );
-    
-public:
-    /**
-     * From MTsCenrepChangeObserver
-     */
-    void CenrepChanged( TUint32 aKey, TInt aNewValue );
-    
-
-private:
-
-    // From MTsPropertyChangeObserver
-    void PropertyChanged( TUid aCategory, TUint aKey );
-
-    // From CEikAppUi
-    void HandleResourceChangeL( TInt aType );
-    void HandleForegroundEventL( TBool aForeground );
-    void HandleCommandL( TInt aCommand );
-    
-    void StartTransition( TUint aTranstionId,
-                          TBool aVisibility,
-                          TBool aLayers, 
-                          TUint aSubCom );
-
-private: // New functions
-    
-    /**
-     * Called from HandleForegroundEventL if the app came to foreground.
-     */
-    void HandleSwitchToForegroundEvent();
-    
-    /**
-     * Called from HandleForegroundEventL if the app went to background.
-     */
-    void HandleSwitchToBackgroundEvent();
-
-    /**
-     * Sets P&S property which is used to monitor and set Taskswitcher to 
-     * background/foreground and short/long app key press.
-     * 
-     * @param aValue Property value. 
-     */
-    void SetTaskswitcherStateProperty( TInt aValue );
-    
-    /**
-     * Sends request for close some 
-     * other apps to free memory for 
-     * task switcher app
-     */
-    void FreeMemoryRequest();
-
-    static TInt GoToBackgroundTimerCallback( TAny* aParam );
-
-private:
-
-    // Taskswitcher application view, owned
-    CTsAppView* iAppView;
-    
-    // Listener for app key long press P&S, owned
-    CTsPropertyListener* iPropListener;
-    
-    // Tells if Taskswitcher is in foreground or in background
-    TBool iForeground;
-    
-    // Application arch task which refers to our own app
-    TApaTask iApplicationTask;
-
-    // Device state
-    CTsDeviceState* iDeviceState;
-
-    // Buffer to keeping some memory allocation while being in background.    
-    TUint8* iMemAllocBuf;
-
-    CPeriodic* iGoToBackgroundTimer;
-    
-    TBool iEffectsEnabled;
-    
-    /**
-     * Cenrep listener for the tfxserver enabled/disabled key.
-     */    
-    CTsCenrepListener* iThemeEffectsEnabledWatcher;
-    };
-
-#endif // TSAPPUI_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappview.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +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:  appui
- *
-*/
-
-
-#ifndef TSAPPVIEW_H
-#define TSAPPVIEW_H
-
-#include <e32base.h> 
-#include <coecntrl.h>
-#include <AknPopupFader.h>
-#include "tsdevicestate.h"
-#include "tsdatachangeobserver.h"
-#include "tseventcontrolerobserver.h"
-
-// FORWARD DECLARATIONS
-class CAknsFrameBackgroundControlContext;
-class CTsFastSwapArea;
-class CAknPopupHeadingPane;
-class CTsEventControler;
-
-/**
- * Taskswitcher applicatio view class.
- */
-class CTsAppView : public CCoeControl, public MCoeControlObserver,
-        public MTsDeviceStateObserver,
-        public MAknFadedComponent,
-        public MTsDataChangeObserver,
-        public MTsEventControlerObserver
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     * 
-     * @param aRect Area where view should draw itself.
-     */
-    static CTsAppView* NewL(const TRect& aRect,
-            CTsDeviceState& aDeviceState);
-
-    /**
-     * @copydoc NewL
-     */
-    static CTsAppView* NewLC(const TRect& aRect,
-            CTsDeviceState& aDeviceState);
-
-    /**
-     * Destructor.
-     */
-    ~CTsAppView();
-
-    /**
-     * Called from appui if the app came to foreground.
-     */
-    void HandleSwitchToForegroundEvent();
-    
-    /**
-     * Called from appui if the app went to background.
-     */
-    void HandleSwitchToBackgroundEvent();
-
-    /**
-     * From CCoeControl      Method handling the pointer events while the fsw is used.
-     *
-     * @param aPointerEvent  Information about the event.
-     */
-    void HandlePointerEventL( const TPointerEvent &aPointerEvent );
-
-public:
-    // from CCoeControl
-    void Draw( const TRect& aRect ) const;
-    TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-    TInt CountComponentControls() const;
-    CCoeControl* ComponentControl(TInt aIndex) const;
-    void SizeChanged();
-    
-    //Own
-    /*
-     * Forward app key handling to fasswaparea control.
-     */
-    void HandleAppKey(TInt aType);
-
-protected:
-    // from MCoeControlObserver
-    void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
-
-    // from MTsDeviceStateObserver
-    void HandleDeviceStateChanged( TChangeType aChangeType );
-
-protected: // from MAknFadedComponent
-    TInt CountFadedComponents();
-    CCoeControl* FadedComponent( TInt aIndex );
-
-protected: // from MTsCenrepChangeObserver
-    void CenrepChanged( TUint32 aKey, TInt aNewValue );
-
-protected: // from MTsDataChangeObserver
-    void DataChanged( CCoeControl* aWhere, TInt aNewCount );
-
-private:
-
-    /**
-     * @copydoc NewL
-     */
-    void ConstructL( const TRect& aRect );
-
-    /**
-     * C++ constructor.
-     */
-    CTsAppView( CTsDeviceState& aDeviceState );
-
-    /**
-     * Updates the internal state for currently focused control.
-     * @param   aNewFocusedControl  ptr to new focused control, ownership not taken
-     */    
-    void ChangeFocus( CCoeControl* aNewFocusedControl );
-    
-    /**
-     * Creates components.
-     */
-    void CreateControlsL();
-    
-    /**
-     * Appends component rects to the given array.
-     * @param   aRects  array
-     */
-    void GetRects( RArray<TRect>& aRects );
-    
-    /**
-     * Handles key event according to the portrait-style (vertical) layout.
-     */
-    TKeyResponse OfferKeyEventPortraitStyleL( const TKeyEvent& aKeyEvent, TEventCode aType);
-
-    /**
-     * Calculates and returns the following:
-     *   - the rectangle for main_tport_pane
-     *   - the outer rectangle for the frame
-     *   - the inner rectangle for the frame
-     */
-    void UpdatePopupRects(  );
-
-    /**
-     * Updates the text in the applications and suggestions heading panes.
-     */
-    void UpdateHeadingsL();
-    
-    /**
-     * Disables transition animations for taskswitcher app.
-     * (the automatic effects that are applied when coming/leaving foreground)
-     */
-    void DisableAppSwitchEffects();
-    
-    
-public://From MTsEventControlerObserver
-    /**
-     * Declare drag gesture handling.
-     * @param aOffset - drag distance
-     */
-    virtual void MoveOffset(const TPoint& aOffset);
-    
-    /**
-     * Declare tap gesture handling.
-     * @param aPoint - tap position
-     */
-    virtual void TapL(const TPoint& aPoint);
-    
-    /**
-     * Declare long tap gesture handling.
-     * @param aPoint - tap position
-     */
-    virtual void LongTapL(const TPoint& aPoint);
-    
-    /**
-     * 
-     */
-    virtual void Drag(
-        const AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent);
-    
-    /**
-     * Declare animation stop handling
-     */
-    virtual void Stop();
-    
-    /**
-     * Declare getter for view position
-     */
-    virtual TPoint ViewPos() const;
-        
-private: // Data
-
-    // Ref to container for commonly used instances
-    CTsDeviceState& iDeviceState;
-
-    // Background context, owned
-    CAknsFrameBackgroundControlContext* iBgContext;
-    
-    // Fast Swap area, owned
-    CTsFastSwapArea* iFastSwapArea;
-
-    /**
-     * Heading pane, own
-     */
-    CAknPopupHeadingPane* iAppsHeading;
-
-    /**
-     * Currently focused control, not own
-     */
-    CCoeControl* iFocused;
-    
-    /**
-     * Rectangle of the control.
-     */
-    TRect iViewRect;
-    
-    /**
-     * Popup fader instance.
-     */
-    TAknPopupFader iPopupFader;
-    
-    /**
-     * Pointer for background image, owned
-     */
-    TRect iBgContextOuterRect;
-    TRect iBgContextInnerRect;
-    CTsEventControler* iEvtHandler; //own
-    };
-
-#endif // TSAPPVIEW_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tscommands.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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:  command ids
-*
-*/
-
-
-#ifndef __TSCOMMANDS_HRH__
-#define __TSCOMMANDS_HRH__
-
-enum
-	{
-	ETsCmdBase = 20000,
-	ETsCmdHelp
-	};
-
-#endif //__TSCOMMANDS_HRH__
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdatachangeobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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: 
- *
-*/
-
- 
-#ifndef TSDATACHANGEINTERFACE_H
-#define TSDATACHANGEINTERFACE_H
-
-#include <e32base.h>
-
-class CCoeControl;
-
-/**
- * Callback mixin class to move the whole app to background or foreground.
- */
-class MTsDataChangeObserver
-    {
-public:
-    virtual void DataChanged( CCoeControl* aWhere, TInt aNewCount ) = 0;
-    };
-
-#endif // TSDATACHANGEINTERFACE_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdevicestate.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +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:  Device state (touch mode, screen orientation) handler
- *
-*/
-
-
-#ifndef TSDEVICESTATE_H_
-#define TSDEVICESTATE_H_
-
-#include <e32base.h>
-#include "tsappui.h"
-#include "tsproplistener.h"
-
-/**
- * Interface for getting notifications about screen orientation
- * and/or touch state etc. changes.
- */
-class MTsDeviceStateObserver
-    {
-public:
-    /**
-     * Type of change.
-     */
-    enum TChangeType
-        {
-        // screen orientation (portrait <=> landscape) has changed
-        EOrientation = 0x01,
-        // touch enabled/disabled status has changed
-        ETouchState = 0x02,
-        // skin has changed
-        ESkin = 0x04,
-        // input device mode change
-        EDeviceType = 0x08,
-        // all of the above
-        EAny = 0xFF
-        };
-
-    /**
-     * Called when a change, to which the observer is registered,
-     * has happened.
-     */
-    virtual void HandleDeviceStateChanged( TChangeType aChangeType ) = 0;
-    };
-
-/**
- * Class for keeping track of screen orientation and touch enabled/disabled changes.
- */
-class CTsDeviceState :
-    public CBase,
-    public MTsPropertyChangeObserver
-    {
-public:
-    /**
-     * Enumeration for TouchState().
-     */
-    enum TTouchState
-        {
-        ETouchEnabled,
-        ETouchDisabled
-        };
-
-    /**
-     * Enumeration for Orientation().
-     */
-    enum TOrientation
-        {
-        EPortrait,
-        ELandscape
-        };
-
-    /**
-     * Enumeration for DeviceType().
-     */
-    enum TDeviceType
-        {
-        EHybrid = 0,
-        EFullTouch  = 1
-        };
-
-    /**
-     * Creates a new instance.
-     */
-    static CTsDeviceState* NewL();
-
-    /**
-     * Destructor.
-     */
-    ~CTsDeviceState();
-
-    /**
-     * Returns the current state of touch awareness.
-     */
-    TTouchState TouchState() const;
-
-    /**
-     * Returns the current screen orientation.
-     */
-    TOrientation Orientation() const;
-
-    /**
-     * Returns the current device input type.
-     */
-    TDeviceType DeviceType() const;
-
-    /**
-     * Registers an observer.
-     * @param   aObserver   ref to observer
-     * (same observer can be added several times with different mask if needed)
-     * @param   aMask       bitmask composed from TChangeType values
-     * (when to notify the observer)
-     */
-    void AddObserverL( MTsDeviceStateObserver& aObserver, TInt aMask );
-
-    /**
-     * Deregisters the given observer.
-     * @param   aObserver   ref to observer
-     */
-    void RemoveObserver( MTsDeviceStateObserver& aObserver );
-
-    /**
-     * Called from appui.
-     */
-    void HandleResourceChange( TInt aType );
-    
-    //From MTsPropertyChangeObserver
-public:
-    /**
-     * Observer interface for getting notifications about a P&S property change.
-     */
-	virtual void PropertyChanged( TUid aCategory, TUint aKey );
-private:
-    /**
-     * Constructor.
-     */
-    CTsDeviceState();
-    
-    /**
-     * Performs 2nd phase construction.
-     */
-    void ConstructL();
-
-    /**
-     * Checks if touch is enabled or not and performs
-     * appropriate actions.
-     */
-    void CheckTouchState();
-
-    /**
-     * Checks the screen orientation and performs
-     * appropriate actions.
-     */
-    void CheckOrientation();
-    
-    /**
-     * Checks the device input type.
-     */
-    void CheckDeviceType();
-    
-    /**
-     * Notifies all observers that are registered for the given type.
-     */
-    void NotifyObservers( MTsDeviceStateObserver::TChangeType aType );
-
-    class SObserver;
-
-    /**
-     * Identity function to perform comparison between observer array items.
-     */
-    static TBool ObserverIdentity( const SObserver& aA, const SObserver& aB );
-
-private:
-    /**
-     * Current touch enabled/disabled state.
-     */
-    TTouchState iTouchState;
-    
-    /**
-     * Current screen orientation.
-     */
-    TOrientation iOrientation;
-    
-    /**
-     * Current the device input type.
-     */
-    TDeviceType iDeviceType;
-    
-    /**
-     * Observer array entry struct.
-     */
-    struct SObserver
-        {
-        TInt iMask;
-        MTsDeviceStateObserver* iObserver; // not owned
-        SObserver( TInt aMask, MTsDeviceStateObserver* aObserver )
-            : iMask( aMask ), iObserver( aObserver ) { }
-        };
-        
-    /**
-     * Observer array.
-     */
-    RArray<SObserver> iObservers;
-
-    /**
-     * Counter to indicate that we have not yet returned
-     * from a previous HandleResourceChange.
-     */
-    TInt iResChangeActiveCount;
-    
-    /**
-     * Flip status change observer.
-     */
-    CTsPropertyListener* iFlipStatusObserver;
-    };
-
-#endif // TSDEVICESTATE_H_
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdocument.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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:  Document class
- *
-*/
-
-
-#ifndef TSDOCUMENT_H
-#define TSDOCUMENT_H
-
-#include <e32base.h> 
-#include <AknDoc.h>
-
-class CTsDocument : public CAknDocument
-    {
-public:
-    /**
-     * Construct a CTsDocument for the AVKON application aApp
-     * using two phase construction, and return a pointer to the created object
-     * aApp application creating this document
-     *
-     * @since S60 v5.0
-     * @return a pointer to the created instance of CTsDocument
-     */
-    static CTsDocument* NewL( CEikApplication& aApp );
-
-    /**
-     * Construct a CTsDocument for the AVKON application aApp
-     * using two phase construction, and return a pointer to the created object
-     *
-     * @since S60 v5.0
-     * @param aApp application creating this document
-     * @return a pointer to the created instance of CTsDocument
-     */
-    static CTsDocument* NewLC( CEikApplication& aApp );
-
-    /**
-     * Destroy the object and release all memory objects
-     *
-     * @since S60 v5.0
-     */
-    ~CTsDocument( );
-
-    /**
-     * Makes Startup-application hidden in menu shell and fastswap window
-     *
-     * @since S60 v5.0
-     * @param aWgName application windows group name
-     */
-    void UpdateTaskNameL( CApaWindowGroupName* aWgName );
-
-public:
-    // from CAknDocument
-    /**
-     * Create a CTsAppUi object and return a pointer to it
-     *
-     * @since S60 v5.0
-     * @return a pointer to the created instance of the AppUi created
-     */
-    CEikAppUi* CreateAppUiL( );
-
-private:
-    /**
-     * Perform the second phase construction of a CTsDocument object
-     *
-     * @since S60 v5.0
-     */
-    void ConstructL( );
-
-    /**
-     * Perform the first phase of two phase construction
-     *
-     * @since S60 v5.0
-     * @param aApp application creating this document
-     */
-    CTsDocument( CEikApplication& aApp );
-    };
-
-#endif // TSDOCUMENT_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +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:  Gesture and physics helper declaration
- *
-*/
-
-
-#ifndef TSEVENTCONTROLER_H
-#define TSEVENTCONTROLER_H
-
-#include "tseventcontrolerobserver.h"
-#include <akntouchgesturefw.h>
-#include <aknphysicsobserveriface.h>
-
-class CTsPhysicsEngine;
-using namespace AknTouchGestureFw;
-/**
- * CTsEventControler
- * Input events handler. Class analyse pointer events and translate it to gesture. Procerss animations physics
- */
-NONSHARABLE_CLASS(CTsEventControler): 
-    public CBase,
-    public MAknTouchGestureFwObserver,
-    public MAknPhysicsObserver
-    {
-public:
-    /**
-     * Two phase constructor. Instance is pushed on cleanup stack.
-     * @param aObs - reference to controler observer
-     * @param aEventSrc - reference to control which provide pointer events
-     * @return address of controler instance
-     */
-    static CTsEventControler* NewLC(MTsEventControlerObserver& aObs, 
-                                            CCoeControl& aEventSrc);
-    
-    /**
-     * Two phase constructor.
-     * @param aObs - reference to control observer
-     * @param aEventSrc - reference to control which provide pointer events
-     * @return address of controler instance
-     */
-    static CTsEventControler* NewL(MTsEventControlerObserver& aObs, 
-                                           CCoeControl& aEventSrc);
-    
-    /**
-     * Destructor
-     */
-    ~CTsEventControler();
-
-private:
-    /**
-     * First phase construction
-     */
-    CTsEventControler(MTsEventControlerObserver& aObserver);
-    
-    /**
-     * Second phase construction
-     * @param aEventSrc - control that provides pointer ivents to handler
-     */
-    void ConstructL(CCoeControl& aEventSrc);
-    
-    /**
-     * Implements gesture handling
-     * @param aEvent - gesture event
-     * @see MAknTouchGestureFwObserver
-     */
-    void HandleTouchGestureL(MAknTouchGestureFwEvent& aEvent);
-    
-    /**
-     * Implements tap gesture handling ( short tap, double tap, long tap )
-     * @param aEvent - tap event
-     */
-    void HandleTapEventL(MAknTouchGestureFwTapEvent& aEvent);
-    
-    /**
-     * Implements drag gesture handling
-     * @param aEvent - drag event
-     */
-    void HandleDragEventL(MAknTouchGestureFwDragEvent& aEvent);
-    
-    /**
-     * Implements flick gesture handling
-     * @param aEvent - drag event
-     */
-    void HandleFlickEventL(MAknTouchGestureFwFlickEvent& aEvent);
-    
-    //From MAknPhysicsObserver
-public:
-    /**
-     * Physics emulation has moved the view.
-     * 
-     * When this method is called client should update its visual and logical
-     * states to reflect the changes caused by view move. Note that if the
-     * parameter @c aDrawNow is @c EFalse client is not allowed to redraw the
-     * display but should only update its logical state.
-     * Physics engine will ensure that the last frame is always drawn.
-     *
-     * @since S60 v5.0
-     *
-     * @param  aNewPosition  The new position of the view.
-     * @param  aDrawNow      @c ETrue if client should redraw the screen,
-     *                       otherwise @c EFalse.
-     * @param  aFlags        Additional flags, not used currently.
-     */
-    virtual void ViewPositionChanged( const TPoint& aNewPosition,
-                              TBool aDrawNow,
-                              TUint aFlags );
-        
-    /**
-     * Physics emulation has stopped moving the view
-     *
-     * @since S60 v5.0
-     */
-    virtual void PhysicEmulationEnded();
-
-    /**
-     * Returns the observer's view position.
-     *
-     * @since S60 v5.0
-     *
-     * @return Physics observer's view position.
-     */
-    virtual TPoint ViewPosition() const;
-    
-public:
-    
-    /**
-     * Initialize animation between current position and destination point
-     * @param aPoint - destination point 
-     */
-    void Animate(const TPoint& aPoint);
-
-    /**
-     * 
-     * @param aWorldSize Physics world size.
-     * @param aViewSize Physics (visible) view size.
-     * @param aLandscape ETrue if physics should work in landscape.     
-     **/
-    void ReInitPhysicsL(const TSize& aWorldSize, 
-                        const TSize& aViewSize,
-                        TBool aLandscape);
-    
-    /**
-     * Stops currently ongoing animation
-     */
-    void StopAnimation();
-    
-private:
-    /**
-     * Controler observer. Not own
-     */
-    MTsEventControlerObserver& iObserver;
-    
-    /**
-     * Gesture recognition helper. Own
-     */
-    CAknTouchGestureFw* iGestureHelper;
-    
-    /**
-     * Physics helper. Own
-     */
-    CTsPhysicsEngine* iPhysicsHelper;
-    };
-
-#endif // TSEVENTCONTROLER_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontrolerobserver.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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:  Define gesture observer interface
- *
-*/
-
-
-#ifndef TSGESTUREOBSERVER_H
-#define TSGESTUREOBSERVER_H
-
-#include <e32base.h>
-#include <akntouchgesturefw.h>
-
-/**
- * MTsGestureObserver
- * Define gesture observer interface
- */
-NONSHARABLE_CLASS(MTsEventControlerObserver)
-    {
-public:
-    /**
-     * Declare drag gesture handling.
-     * @param aOffset - drag distance
-     */
-    virtual void MoveOffset(const TPoint& aOffset)=0;
-    
-    /**
-     * Declare tap gesture handling.
-     * @param aPoint - tap position
-     */
-    virtual void TapL(const TPoint& aPoint)=0;
-    
-    /**
-     * Declare long tap gesture handling.
-     * @param aPoint - tap position
-     */
-    virtual void LongTapL(const TPoint& aPoint)=0;
-    
-    /**
-     * Declare drag gesture handling.
-     * @param aEvent - drag event
-     */
-    virtual void Drag(const AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent) =0;
-    
-    /**
-     * Declare animation stop handling
-     */
-    virtual void Stop()=0;
-    
-    /**
-     * Declare getter for view position
-     */
-    virtual TPoint ViewPos() const =0;
-    };
-
-#endif // TSGESTUREOBSERVER_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +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:  Taskswitcher Fast Swap area UI
- *
-*/
-
-#ifndef TSFASTSWAPAREA_H
-#define TSFASTSWAPAREA_H
-
-#include <e32base.h>
-#include <eikmobs.h>
-#include "tsdevicestate.h"
-#include "tsfswclientobserver.h"
-#include "tsfastswapgrid.h"
-#include "tseventcontrolerobserver.h"
-
-
-// FORWARD DECLARATIONS
-class CTsFswClient;
-class CTsFswEntry;
-class CAknStylusPopUpMenu;
-class CAknQueryDialog;
-class CTsEventControler;
-class MTsDataChangeObserver;
-
-/**
- * Taskswitcher Fast Swap area UI.
- */
-class CTsFastSwapArea: public CCoeControl,
-                               public MEikMenuObserver,
-                               public MTsFswObserver,
-                               public MEikListBoxObserver,
-                               public MTsFastSwapGridObserver,
-                               private MTsEventControlerObserver,
-                               public MTsDeviceStateObserver,
-                               public MTsFastSwapTimerObserver
-    {
-public:
-    /**
-     * Two-phase constructor.
-     * 
-     * @param aRect Area where fast swap info & list should draw itself.
-     * @param aParent Parent CoeControl. 
-     */
-    static CTsFastSwapArea* NewL( const TRect& aRect,
-            CCoeControl& aParent, CTsDeviceState& aDeviceState,
-            CTsEventControler& aEventHandler);
-
-    /**
-     * @copydoc NewL
-     */
-    static CTsFastSwapArea* NewLC( const TRect& aRect,
-            CCoeControl& aParent, CTsDeviceState& aDeviceState,
-            CTsEventControler& aEventHandler);
-
-    /**
-     * Destructor.
-     */
-    ~CTsFastSwapArea();
-
-    /**
-     * Called from appview when coming to foreground.
-     */
-    void HandleSwitchToForegroundEvent();
-    
-    /**
-     * Called from appview when going to background.
-     */
-    void HandleSwitchToBackgroundEvent();
-
-    /**
-     * Called after construction to set up additional properties,
-     * like the control observer.
-     */
-    void Setup( MCoeControlObserver& aControlObserver );
-
-    /**
-     * Saves the index of the currently selected (highlighted) item.
-     */
-    void SaveSelectedIndex();
-    
-    /**
-     * Restores the selection (highlight) position.
-     */
-    void RestoreSelectedIndex();
-
-    // Functions to perform activate, close, close others operations.
-    // They are public so same functionality can be implemented in the
-    // Options menu (appui) for example.
-    
-    /**
-     * Index of highlighted item or KErrNotFound.
-     */
-    TInt SelectedIndex() const;
-    
-    /**
-     * Brings the app corresponding to the item at given index into foreground.
-     */
-    void SwitchToApp( TInt aIndex );
-    
-    /**
-     * Sends close msg to given app.
-     * @param   aIndex      index
-     * @param   aSuppressRendering  content is not refreshed if ETrue
-     */
-    void TryCloseAppL( TInt aIndex, TBool aSuppressRendering = EFalse );
-    
-    /**
-     * Tries to Close all applications that cn be closed
-     */
-    void TryCloseAllL();
-    
-    /**
-     * True if it is allowed to ask the given app to close.
-     * @param   aIndex  index
-     */
-    TBool CanClose( TInt aIndex ) const;
-    
-    /**
-     * @param  aSelectedItem  item for which pop up is shown
-     * 
-     * @return ETrue, when number of closable apps is >= 2 or there is at least
-     *                one closable item and non closable item is selected.
-     * @return EFalse, when number of closable apps is < 2.
-     */
-    TBool CanCloseAll( TInt aSelectedItem ) const;
-
-    /**
-     * Returns the number of items in the list.
-     */
-    TInt Count() const;
-
-    /**
-     * Returns the underlying Ganes control pointer.
-     */
-    CCoeControl* GetChildControl() { return iGrid; }
-
-    /**
-     * Sets the data-changed observer.
-     */
-    void SetDataChangeObserver( MTsDataChangeObserver* aDcObserver );
-
-    /*
-     * Handling short/long app key.
-     */
-    void HandleAppKey(TInt aType);
-
-private:
-
-    /**
-     * @copydoc NewL
-     */
-    void ConstructL( const TRect& aRect );
-
-    /**
-     * C++ constructor.
-     */
-    CTsFastSwapArea(CCoeControl& aParent,
-            CTsDeviceState& aDeviceState,
-            CTsEventControler& aEventHandler);
-    
-    // From MEikListBoxObserver
-    void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-    
-public:
-    /**
-     * Implements drag gesture handling
-     * @see MTsEventControlerObserver
-     */
-    void MoveOffset(const TPoint&);
-
-    /**
-     * Implements tap gesture handling
-     * @see MTsEventControlerObserver
-     */
-    void TapL(const TPoint&);
-
-    /**
-     * Implements long tap gesture handling
-     * @see MTsEventControlerObserver
-     */
-    void LongTapL(const TPoint&);
-
-    /**
-     * Implements drag gesture handling
-     * @see MTsEventControlerObserver
-     */
-    void Drag(const AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent);
-    
-    /**
-     * Implements animation stop handling
-     * @see MTsEventControlerObserver
-     */
-    void Stop();
-    
-    /**
-     * Implements view position getter. Returns point in the middle of the
-     * grid view window.
-     * 
-     * @see MTsEventControlerObserver
-     */
-    TPoint ViewPos()const;
-    
-public:    
-    // from CCoeControl    
-    TInt CountComponentControls() const;
-    CCoeControl* ComponentControl(TInt aIndex) const;
-    void FocusChanged( TDrawNow aDrawNow );
-    void SizeChanged();
-    void Draw( const TRect& aRect ) const;
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-    
-private:
-    // From MTsFswObserver     
-    void HandleFswContentChanged();
-    
-    // From MEikMenuObserver
-    void ProcessCommandL( TInt aCommandId );
-	void SetEmphasis( CCoeControl*, TBool ) { }
-	
-	// From MTsFastSwapGridObserver
-	void HandleCloseEventL(TInt aItemIdx);
-	
-	// From MTsDeviceStateObserver
-	void HandleDeviceStateChanged( TChangeType aChangeType );
-
-    // From MTsFastSwapTimerObserver
-    void TimerCompletedL( CTsFastSwapTimer* aSource );
-	
-// new functions    
-
-    /**
-     * Makes a copy of the given bitmap.
-     * Also scaled to the given size, but maintains aspect ratio,
-     * so the size of the returned bitmap may be less then aSize.
-     */
-    CFbsBitmap* CopyBitmapL( TInt aFbsHandle, TSize aSize );
-
-    /**
-     * Called from HandleFswContentChanged.
-     */    
-    void HandleFswContentChangedL();
-    
-    /**
-     * Shows the content from iArray on the screen.
-     */
-    void RenderContentL();
-    
-    /**
-     * Creates the ganes grid control.
-     */
-    void ReCreateGridL();
-    
-    /**
-     * Returns rectangles for fast swap area controls
-     */
-    void GetFastSwapAreaRects( RArray<TAknLayoutRect>& aRects );
-
-    /**
-     * Creates a stylus popup instance (iPopup) if not yet done.
-     */
-    void PreCreatePopupL();
-
-    /**
-     * Shows the stylus popup menu if not yet visible.
-     * @param   aIndex  index of item in the grid
-     * @param   aPoint  position for the popup
-     */
-    TBool ShowPopupL( TInt aIndex, const TPoint& aPoint );
-
-    /**
-     * Sends the data-changed notification.
-     */   
-    void NotifyChange();
-
-    /**
-     * Chage application order.
-     * move Homescreen to first left position.
-     */   
-    void SwapApplicationOrder( RPointerArray<CTsFswEntry>& aArray );
-    
-    /**
-     * Retrieves and returns size for image graphics.
-     */
-    TSize PreferredImageSize();
-    
-    /**
-     * Retrieves number of items in grid
-     */
-    TInt GridItemCount();
-    
-    /**
-     * Calculates the correct size if aspect ratio needs to be preserved.
-     */
-    TSize CalculateSizePreserveRatio(const TSize& aTargetAreaSize,
-            const TSize& aSourceSize);
-    
-    /**
-     * Selects next item in grid
-     */
-    void SelectNextItem();
-    
-    /**
-     * Highlight current grid'd item and redraw
-     */
-    void ShowHighlight();
-    
-    /**
-     * Centralise most centered item so it was most exposed on the view.
-     * Centered element is being selected by grid.
-     * Animation to the centered element is made after aRedrawDelay time.
-     * 
-     * @param aRedrawDelay - animation delay.
-     */
-    void CenterItem( TInt aRedrawDelay);
-    
-    /**
-     * Returns full grid view size.
-     */
-    TSize GridWorldSize();
-    
-    /**
-     * Updates grid, called for manual grid scroll update
-     * 
-     * @param  aForceRedraw    if set to ETrue - redraw will be forced
-     * @param  aAnimate        set to ETrue to enable animation
-     */
-    void UpdateGrid( TBool aForceRedraw = EFalse,
-                     TBool aAnimate = ETrue );
-    
-    /**
-     * Returns grid view size
-     */
-    TSize ViewSize();
-    
-    /**
-     * Returns the position of the given item inside grid world rect.
-     * Returns point in the middle of the view rectangle.
-     * 
-     * @param  aItemIdx  index of the item for which calculation will be done
-     */
-    TPoint ItemViewPosition( TInt aItemIdx );
-    
-    /**
-     * Returns index of the shown item, based on the logical
-     * position of the grids view. Item that is closest to the
-     * middle of screen is returned.
-     * 
-     * @param  aViewPos  grids view position. This must be point in
-     *                   the middle of the view rectangle
-     * @return  index of the item
-     */
-    TInt ViewToVisibleItem( const TPoint aViewPos );
-    
-    /**
-     * Launches increasing pop-up feedback.
-     */
-    void LaunchPopupFeedback();
-    
-    /**
-     * Show highlight when disabled and 
-     * consume EEventKeyUp that follows after event that swiched on the highlight.
-     */
-    TKeyResponse ShowHighlightOnKeyEvent(const TKeyEvent& aKeyEvent, TEventCode aType);
-
-private: // Data
-    
-    // parent control
-    CCoeControl& iParent;
-    
-    // device state
-    // not own 
-    CTsDeviceState& iDeviceState;
-
-    // grid, own
-    CTsFastSwapGrid* iGrid;
-        
-    // fsw client, own
-    CTsFswClient* iFSClient;
-    // fsw content, ptrs owned
-    RPointerArray<CTsFswEntry> iArray;
-    
-    // index of selected (highlighted) item in the grid
-    // when the fsw was last focused
-    TInt iSavedSelectedIndex;
-    
-    // fsw popup (activate, close, etc.), own
-    CAknStylusPopUpMenu* iPopup;
-    // the aIndex argument of ShowPopupL is stored here
-    TInt iAppIndexForPopup;
-
-    // Timestamp of the last application close operation
-    TTime iTimeOfLastClose;
-    
-    // Observer ptr, may be NULL, not owned
-    MTsDataChangeObserver* iDcObserver;
-    
-    //Input events handler
-    CTsEventControler& iEvtHandler;
-    
-    TInt iMaxItemsOnScreen;
-    TInt iPreviousNoOfItems;
-    
-    // Tap event
-    TPointerEvent iTapEvent;
-    CTsFastSwapTimer* iHighlightTimer;
-    
-    // Grid scrolling
-    TInt iGridItemWidth;
-    TInt iGridItemGap;
-    
-    CTsFastSwapTimer* iRedrawTimer; // owned
-    
-    CTsFastSwapTimer* iUpdateGridTimer;//owned
-    
-    // Key event handling
-    TBool iConsumeEvent;
-    TBool iKeyEvent;
-    };
-
-#endif // TSFASTSWAPAREA_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswapgrid.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +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:  Taskswitcher Fast Swap area UI
- *
-*/
-
-
-#ifndef TSFASTSWAPGRID_H_
-#define TSFASTSWAPGRID_H_
-
-#include <AknGrid.h>
-#include <aknconsts.h>
-#include "tsdevicestate.h"
-
-class CAknsFrameBackgroundControlContext;
-class CTsFastSwapTimer;
-
-/**
- * Observer for handling fast swap grid events
- */
-class MTsFastSwapGridObserver
-    {
-public:
-    /**
-     * Called when close icon is tapped on the grid item.
-     * 
-     * @param  aItemIdx  index of the the item for which close icon
-     *                   has been tapped
-     */
-    virtual void HandleCloseEventL( TInt aItemIdx ) = 0;
-    };
-
-
-class MTsFastSwapTimerObserver
-    {
-public:
-    /**
-     * Called when timer is completed
-     */
-    virtual void TimerCompletedL( CTsFastSwapTimer* aSource ) = 0;
-    };
-
-
-/**
- * Avkon grid implementing custom item drawer
- */
-class CTsFastSwapGrid: 
-    public CAknGrid,
-    public MTsDeviceStateObserver,
-    public MTsFastSwapTimerObserver
-    {
-public: // enums
-    enum TFastSwapGridBehaviour
-        {
-        // Highlight always visible
-        EHybrid,
-        
-        // Touch only highlight handling
-        ETouchOnly
-        };
-    
-public: // Constructor and destructor
-    CTsFastSwapGrid();
-    ~CTsFastSwapGrid();
-    void ConstructL( const CCoeControl* aParent );
-    
-public: // From CCoeControl
-    void HandlePointerEventL( const TPointerEvent &aPointerEvent );
-    TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-    void HandleResourceChange( TInt aType );
-    void SizeChanged();
-    
-public: //From MTsDeviceStateObserver
-    /**
-     * Called when a change, to which the observer is registered,
-     * has happened.
-     */
-    virtual void HandleDeviceStateChanged( TChangeType aChangeType );
-    
-public: // New functions
-
-    /**
-     * Sets fast swap grid observer
-     */
-    void SetFastSwapGridObserver( MTsFastSwapGridObserver* aObserver  );
-
-    /**
-     * Set indexes of items which can be closed.
-     * Copies item index array.
-     */
-    void SetCloseItemsL( RArray<TInt>& aItemIndex );
-
-    /**
-     * Checks if the item of given index is closable
-     */
-    TBool CanCloseItem( TInt aItemIndex );
-
-    /**
-     * Checks if the given item's close icon has been tapped.
-     */
-    TBool IsItemCloseHit( TInt aItemIndex );
-
-    /**
-     * Resets index of the item that has been close icon hit
-     */
-    void ResetCloseHit();
-    
-    /**
-     * Sets grid behaviour
-     * 
-     * @param  aBehaviour  behaviour to be set
-     */
-    void SetGridBehaviour( TFastSwapGridBehaviour aBehaviour );
-    
-    /**
-     * Getter for grid behaviour
-     * 
-     * @return  girds behaviour
-     */
-    TFastSwapGridBehaviour GridBehaviour();
-    
-    /**
-     * Shows highlight. In touch only behaviour highlight
-     * will be shown only for ammount of time.
-     */
-    void ShowHighlight();
-    
-    /**
-     * Hides highlight.
-     */
-    void HideHighlight();
-    
-    /**
-     * Checks if the highlight is currently visible.
-     * 
-     * @return  ETrue  if highlight is visible
-     *          EFalse if highlight is not visible
-     */
-    TBool IsHighlightVisible();
-    
-    /**
-     * Sets visible view, items outside of view will not be drawn
-     */
-    void SetVisibleViewRect( const TRect aRect );
-    
-    /**
-     * Returns visible view. Items outside of visible rectangle are not drawn.
-     */
-    TRect VisibleViewRect();
-    
-    /**
-     * Launch tactile ETouchFeedbackSensitive feedback.
-     */
-    void LaunchTactileFeedback();
-    
-    /**
-     * Set tactile feedback support.
-     * 
-     * @param aSupport new support value 
-     */
-    void SetTactileFeedbackSupport(TBool aSupport);
-    
-    /**
-     * Remove item from iFullyVisibleItems and iPartialVisibleItems arrays 
-     * 
-     * @param   aItem  idem index 
-     * @return  ETrue  if item was removed
-     *          EFalse if item was not found
-     */
-    TBool RemoveFromVisibleItems(TInt aItem) const;
-
-    /**
-     * Add item to iFullyVisibleItems array 
-     * 
-     * @param   aItem  idem index 
-     * @return  ETrue  if item was added
-     *          EFalse if item was not added because it was there before
-     */
-    TBool AddToFullyVisibleItems(TInt aItem) const;
-
-    /**
-     * Remove item from iPartialVisibleItems array 
-     * 
-     * @param   aItem  idem index 
-     * @return  ETrue  if item was removed
-     *          EFalse if item was not removed because it was not found
-     */
-    TBool MoveToPartialVisibleItems(TInt aItem) const;
-
-private: // From CAknGrid
-    virtual void CreateItemDrawerL();
-
-private: // From MTsFastSwapTimerObserver
-    void TimerCompletedL( CTsFastSwapTimer* aSource );
-    
-private: // New functions
-    
-    /**
-     * Loads close icon bitmap and mask
-     */
-    void LoadCloseIcon();
-    
-    /**
-     * Redraws grid and parent controls
-     */
-    void Redraw();
-    
-private: // Data
-    
-    // Grid's parent
-    const CCoeControl* iParent;
-    
-    // Background context for grid
-    CAknsFrameBackgroundControlContext* iBgContext;
-    
-    // Close icon handling
-    RArray<TInt> iCloseItems;
-    TInt iCloseIconHitIdx;
-    MTsFastSwapGridObserver* iFastSwapGridObserver;
-    CTsFastSwapTimer* iCloseIconRedrawTimer;
-
-    // Highlight handling
-    TFastSwapGridBehaviour iBehaviour;
-    TBool iHighlightVisible;
-    
-    // Visible view rectangle (horizontal scrolling support)
-    TRect iVisibleViewRect;
-    
-    // Feedback support
-    TBool iTactileFeedbackSupport;
-    
-    mutable RArray<TInt> iFullyVisibleItems;
-    mutable RArray<TInt> iPartialVisibleItems;
-    };
-
-
-
-/**
- * Custom item drawer for drawing grid items
- */
-class CTsGridItemDrawer: public CFormattedCellListBoxItemDrawer
-    {
-
-public: // Constructor and destructor
-    CTsGridItemDrawer( CTsFastSwapGrid* aGrid,
-                               CFormattedCellListBoxData* aData );
-    ~CTsGridItemDrawer();
-
-public: // New functions
-
-    /**
-     * Sets close icon drawn for items that can be closed.
-     * Ownership transferred.
-     */
-    void SetCloseIcon( CFbsBitmap* aBmp, CFbsBitmap* aMask );
-
-    /**
-     * Initializes close icon rectangles.
-     * 
-     * @param  aButtonRect  rectangle for the button, coordinates must be relative to the grid item
-     * @param  aIconRect    rectangle for the icon, coordinates must be relative to the grid item
-     */
-    void SetCloseIconRect( const TRect& aButtonRect, const TRect& aIconRect );
-    
-    /**
-     * Returns current close icon coordinates for the given item rectangle
-     * 
-     * @param  aItemRect  rectangle of the item for which close button coordinates
-     *                    are to be returned
-     */
-    TRect GetCloseButtonRect( const TRect& aItemRect ) const;
-    
-    /**
-     * Sets screen offset for the item drawer to not draw items on the
-     * grid edges
-     */
-    void SetEdgeOffset( TInt aLeftOffset, TInt aRightOffset );
-    
-    /**
-     * Enables/Disables item drawer background redrawing
-     * 
-     * @param  aEnable  if set to ETrue, background will be redrawn by item drawer
-     *                  if set to EFalse, background will not be redrawn
-     */
-    void SetRedrawBackground( TBool aEnable );
-
-private: // From CFormattedCellListBoxItemDrawer
-    void DrawActualItem( TInt aItemIndex, const TRect& aActualItemRect,
-                         TBool aItemIsCurrent, TBool aViewIsEmphasized,
-                         TBool aViewIsDimmed, TBool aItemIsSelected ) const;
-private: // New functions
-    /**
-     * Checks if the item rectangle is visible in the view.
-     * 
-     * @param   aItemRect  rectangle of the item to be checked 
-     * @return  ETrue      if rectangle is fully or partially visible
-     *          EFalse     if rectangle is not visible
-     */
-    TBool IsItemRectVisible( const TRect& aItemRect ) const;
-    
-    /**
-     * Checks if the aRectContained rectancle is contained by aRectContainig 
-     * 
-     * @param   aRectContained  rectangle that is suppose to be contained 
-     * @param   aRectContainig  rectangle that is suppose to be containing 
-     * @return  ETrue      if rectangle is fully contained 
-     *          EFalse     if rectangle is not fully contained
-     */
-    TBool IsRectContained(const TRect& aRectContained,
-            const TRect& aRectContainig) const;
-
-    /**
-     * Calculates current inner button rectangle for close icon
-     */
-    TRect CalculateInnerButtonRect( const TRect& aOuterRect ) const; 
-    
-private: // Data
-    // Not owned
-    CTsFastSwapGrid* iGrid;
-    // Owned
-    CFbsBitmap* iCloseIcon;
-    CFbsBitmap* iCloseIconMask;
-    
-    TRect iScreenRect;
-    TInt iLeftOffset;
-    TInt iRightOffset;
-    
-    // Layout data
-    TRect iCloseIconRect;
-    TRect iCloseButtonRect;
-	
-    TBool iRedrawBackground;
-    };
-
-
-
-/**
- * Timer class for handling highlight bevaiour
- */
-class CTsFastSwapTimer : public CTimer
-    {
-public:
-    // Constructor
-    CTsFastSwapTimer( MTsFastSwapTimerObserver& aObserver );
-    // Destructor
-    ~CTsFastSwapTimer();
-    // 2nd phase constructor
-    void ConstructL();
-    
-private: // From CTimer
-    void RunL();
-    
-private: // Data
-    MTsFastSwapTimerObserver* iObserver; // not own
-    };
-
-#endif /* TSFASTSWAPGRID_H_ */
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysics.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +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:  Application class
- *
-*/
-
-
-#ifndef TSPHYSICS_H
-#define TSPHYSICS_H
-
-#include <e32base.h>
-#include <e32std.h>
-
-class MAknPhysicsObserver;
-
-/**
- * Simple physics for grid animation
- */
-class CTsPhysics : public CActive
-    {
-public:
-    /*
-     * Destructor
-     */
-    ~CTsPhysics();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CTsPhysics* NewL( MAknPhysicsObserver& aObserver );
-
-    /**
-     * Two-phased constructor.
-     */
-    static CTsPhysics* NewLC( MAknPhysicsObserver& aObserver );
-
-public: // New functions
-    
-    /**
-     * Starts animation
-     * 
-     * @param  aDrag       next drag point
-     * @param  aStartTime  when animation should be started
-     */
-    void StartPhysics( const TPoint& aTarget );
-
-    /**
-     * Stops animation
-     */
-    void StopPhysics();
-    
-private:
-    
-    /**
-     * C++ constructor
-     */
-    CTsPhysics( MAknPhysicsObserver& aObserver );
-
-    /**
-     * Second-phase constructor
-     */
-    void ConstructL();
-
-private: // From CActive
-    
-    /**
-     * Handles completion
-     */
-    void RunL();
-
-    /**
-     * Called when cancelled
-     */
-    void DoCancel();
-
-    /**
-     * Hanldes error
-     */
-    TInt RunError( TInt aError );
-    
-private: // New functions
-    
-    /**
-     * Calculates animation steps
-     */
-    TInt CalculateAnimationSteps( const TPoint& aTarget );
-
-private:
-
-    enum TPhysicsStatus
-        {
-        EStopped,
-        ERunning,
-        EFinished
-        };
-    
-    /**
-     * Observer
-     */
-    MAknPhysicsObserver& iObserver;
-    
-    /**
-     * Animation timer
-     */
-    RTimer iTimer;
-    
-    /**
-     * Animation state
-     */
-    TPhysicsStatus iPhysicsState;
-    
-    /**
-     * Controls animation refresh rate
-     */
-    TTimeIntervalMicroSeconds32 iAnimationTickTime;
-    
-    /**
-     * Animation ticks counter
-     */
-    TInt iAnimationTicks;
-    
-    /**
-     * Offset of how much view should be moved
-     */
-    RArray<TPoint> iAnimationSteps;
-
-    };
-
-#endif // TSPHYSICS_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysicsengine.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +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:  Taskswitcher physic engine
- *
-*/
-
-
-#ifndef TSPHYSICSENGINE_H_
-#define TSPHYSICSENGINE_H_
-
-#include <e32base.h>
-#include <akntouchgesturefw.h>
-// CLASS DECLARATION
-class CAknPhysics;
-class CTsPhysics;
-/**
- * Taskswitcher physic engine implementation
- */
-class CTsPhysicsEngine: public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CTsPhysicsEngine();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CTsPhysicsEngine* NewL(MAknPhysicsObserver& aPhysicObserver,
-            CCoeControl& aViewControl);
-
-    /**
-     * Two-phased constructor.
-     */
-    static CTsPhysicsEngine* NewLC(MAknPhysicsObserver& aPhysicObserver,
-            CCoeControl& aViewControl);
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     */
-    CTsPhysicsEngine();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     */
-    void ConstructL(MAknPhysicsObserver& aPhysicObserver,
-            CCoeControl& aViewControl);
-    
-    
-public:
-    /**
-     * Implements drag gesture handling
-     * @param aEvent - drag event
-     */
-    void HandleDragEvent(AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent);
-    
-    /**
-     */
-    TBool IsRunning() const;
-    
-    /**
-     */
-    void Stop();
-    
-    /**
-     * Initialize animation between current position and destination point
-     * @param aPoint - destination point 
-     */
-    void AnimateToTarget(const TPoint& aPoint);
-    
-    /**
-     * 
-     * @param aWorldSize Physics world size.
-     * @param aViewSize Physics (visible) view size.
-     * @param aLandscape ETrue if physics should work in landscape.     
-     **/
-    void ReInitPhysicsL(const TSize& aWorldSize, 
-                        const TSize& aViewSize,
-                        TBool aLandscape);
-    
-private:
-    /**
-     * Physics. 
-     * Own.
-     */
-    CAknPhysics* iPhysics;
-
-    /**
-     * Drag start time
-     */
-    TTime iStartTime;
-    
-    /**
-     * Taskswitcher physics for item switch animation
-     */
-    CTsPhysics* iTaskswitcherPhysics;
-
-    };
-
-#endif /* TSPHYSICSENGINE_H_*/
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsuid.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  Taskswitcher application's UID3
- *
-*/
-
-
-#ifndef TSAPPUID_HRH
-#define TSAPPUID_HRH
-
-#define KTsAppUidValue      0x20016BF0
-
-#endif
--- a/taskswitcher/taskswitcherui/taskswitcherapp/loc/taskswitcher.loc	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Task Switcher application's localization texts
-*
-*/
-
-
-//d:Popup menu item text
-//d:Activate selected application
-//l:list_single_touch_menu_pane_t1
-//r:5.0
-//
-#define qtn_task_switcher_popup_open_app "Activate"
-
-//d:Popup menu item text
-//d:Close selected application
-//l:list_single_touch_menu_pane_t1
-//r:5.0
-//
-#define qtn_task_switcher_popup_close_app "Close"
-
-//d:Popup menu item text
-//d:Close all application
-//l:list_single_touch_menu_pane_t1
-//r:5.0
-//
-#define qtn_task_switcher_popup_close_all "Close all"
-
-//d:Text for heading pane above the task swapper
-//l:heading_pane_t1
-//r:5.0
-//
-#define qtn_task_switcher_heading_applications "Open applications"
-
-//d:Text for appliactions that has no name
-//l:none
-//r:5.0
-//
-#define qtn_task_switcher_default_task_name "No name"
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsapplication.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Application class
- *
-*/
-
-
-#include "tsdocument.h"
-#include "tsapplication.h"
-#include "tsuid.hrh"
-
-// UID for the application, this should correspond
-// to the uid defined in the mmp file
-static const TUid KUidTsApp = { KTsAppUidValue };
-
-// -----------------------------------------------------------------------------
-// CTsApplication::CreateDocumentL( )
-// Create a CApaDocument object and return a pointer to it
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CTsApplication::CreateDocumentL( )
-    {
-    CApaDocument* document = CTsDocument::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsApplication::AppDllUid( )
-// Returns the application DLL UID value
-// -----------------------------------------------------------------------------
-//
-TUid CTsApplication::AppDllUid( ) const
-    {
-    // Return the UID for the task switcher application
-    return KUidTsApp;
-    }
-
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,584 +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:  AppUi class
- *
-*/
-
-
-#include "tsappui.h"
-#include "tsappview.h"
-#include "tsapplogging.h"
-#include "tsdevicestate.h"
-#include "tsuid.hrh"
-#include "tscommands.hrh"
-#include <akntitle.h>
-#include <hlplch.h>
-#include <avkon.rsg>
-#include <bautils.h>
-#include <AknUtils.h>
-#include <tstaskswitcher.rsg>
-#include <pslninternalcrkeys.h>
-#include <oommonitorsession.h>
-#include <hal.h>
-#include <hal_data.h>
-#include <akntranseffect.h>
-
-
-// AknCapServer UID, used for P&S category
-const TUid KTaskswitcherStateCategory = { 0x10207218 };
-
-// Taskswitcher UI, used as P&S key
-const TInt KTaskswitcherStateKey = KTsAppUidValue;
-
-// Values for Taskswitcher launching P&S
-const TInt KTaskswitcherBackgroundValue = 1;
-const TInt KTaskswitcherForegroundValue = KTaskswitcherBackgroundValue << 1;
-const TInt KTaskswitcherShortAppKeyPressed = KTaskswitcherForegroundValue << 1;
-const TInt KTaskswitcherLongAppKeyPressed = KTaskswitcherShortAppKeyPressed << 1;
-
-//short/long App key values 
-const TInt KAppKeyTypeShort = 1;
-const TInt KAppKeyTypeLong = 2;
-
-//values for checking the OOM
-const TInt KMemoryRequestAmountInBytes = 524288;
-const TInt KMinMemoryAmountInBytes = 524288;
-const TInt KMemoryToBeReservedInBytes = 524288; // 512 KB
-
-// time to wait before sending the task to background
-// (must give time to animation)
-const TInt KWaitBeforeGoingToBackground = 100000;
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::ConstructL()
-// ConstructL is called by the application framework
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::ConstructL()
-    {
-    TSLOG_CONTEXT( CTsAppUi::ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-#ifdef _DEBUG
-    // create log folder
-	_LIT( KLogPath, "c:\\logs\\taskswitcher\\" );
-	RFs fs;
-	if ( fs.Connect() == KErrNone )
-		{
-		fs.MkDirAll( KLogPath );
-		fs.Close();
-		}
-#endif
-
-    // Initialise app UI with standard value.
-    BaseConstructL( CAknAppUi::EAknEnableSkin | CAknAppUi::EAknEnableMSK );
-
-#ifndef _DEBUG
-    // set as system application (in release build) so we never get closed
-    iEikonEnv->SetSystem( ETrue );
-#endif
-
-    //Initialize effects change observation
-    iThemeEffectsEnabledWatcher =
-        CTsCenrepListener::NewL( KCRUidThemes, KThemesTransitionEffects, *this );
-    CenrepChanged( KThemesTransitionEffects, iThemeEffectsEnabledWatcher->Value() );
-    
-    // Hide status pane
-    StatusPane()->MakeVisible( EFalse );
-
-    // Change CBA if needed, default is non-touch in rss
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        Cba()->SetCommandSetL( R_TS_CBA_TOUCH );
-        }
-    Cba()->MakeVisible(EFalse);
-
-    // Create timer
-    iGoToBackgroundTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-
-    // Create commonly used instances (device state only?)
-    iDeviceState = CTsDeviceState::NewL();
-
-    // Create UI
-    iAppView = CTsAppView::NewL( ApplicationRect(), *iDeviceState );
-    AddToStackL( iAppView );
-    
-    //Enable effects
-    GfxTransEffect::Enable();
-    GfxTransEffect::Register(iAppView,TUid::Uid(KTsAppUidValue));
-    GfxTransEffect::SetTransitionObserver(this);
-
-    // Listen for change in the value of the ts state property.
-    iPropListener = new ( ELeave ) CTsPropertyListener(
-            KTaskswitcherStateCategory, KTaskswitcherStateKey, *this );
-
-    // Initialise the application task object with the window group id of
-    // our application ( so that it represent our app )
-    iApplicationTask.SetWgId( iCoeEnv->RootWin().Identifier() );
-
-    // And finally, go to background.
-    MoveAppToBackground( AknTransEffect::ENone );
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::CTsAppUi()
-// Perform the first phase of two phase construction
-// -----------------------------------------------------------------------------
-//
-CTsAppUi::CTsAppUi(): iForeground( ETrue ),
-                                      iApplicationTask( iCoeEnv->WsSession() )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::~CTsAppUi()
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CTsAppUi::~CTsAppUi()
-    {
-    if( GfxTransEffect::IsRegistered( iAppView ) )
-        {
-        GfxTransEffect::Deregister(iAppView);
-        
-        }
-    GfxTransEffect::SetTransitionObserver(0);
-    
-    delete iGoToBackgroundTimer;
-    delete iPropListener;
-
-    // destroy UI first
-    if ( iAppView )
-        {
-        RemoveFromStack( iAppView );
-        delete iAppView;
-        }
-
-    delete iDeviceState;
-    delete iMemAllocBuf;
-    delete iThemeEffectsEnabledWatcher;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::EffectsEnabled
-// -----------------------------------------------------------------------------
-//
-TBool CTsAppUi::EffectsEnabled() const
-    {
-    return iEffectsEnabled;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::StartTransion
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::StartTransion( TUint aTransitionType )
-    {
-    if( !EffectsEnabled() )
-        {
-        return;
-        }
-    switch(aTransitionType)
-        {
-    case AknTransEffect::EApplicationStart:
-        StartTransition( aTransitionType, 
-                         ETrue, 
-                         EFalse, 
-                         CAknTransitionUtils::EForceVisible);
-        break;
-    case AknTransEffect::EApplicationExit:
-        StartTransition( aTransitionType, 
-                         EFalse, 
-                         EFalse, 
-                         CAknTransitionUtils::EForceInvisible );
-        break;
-    case AknTransEffect::EApplicationStartRect:
-        StartTransition( aTransitionType, 
-                         EFalse, 
-                         ETrue, 
-                         CAknTransitionUtils::EForceInvisible );
-        break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::StartTransition
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::StartTransition( TUint aTranstionId,
-                                TBool aVisibility,
-                                TBool /*aLayers*/, 
-                                TUint aSubCom )
-    {
-    const TDesC8* ptr = reinterpret_cast<const TDesC8*>(iAppView);
-    GfxTransEffect::Abort(iAppView);
-    GfxTransEffect::Begin( iAppView, aTranstionId );
-    GfxTransEffect::SetDemarcation( iAppView, iAppView->Rect() );
-    GfxTransEffect::NotifyExternalState( ECaptureComponentsBegin, ptr );
-    iAppView->MakeVisible( aVisibility );
-    CAknTransitionUtils::MakeVisibleSubComponents( 
-        iAppView,
-        static_cast<CAknTransitionUtils::TMakeVisibleSubComponentsInfo>(aSubCom) );
-    GfxTransEffect::NotifyExternalState( ECaptureComponentsEnd, ptr );
-    GfxTransEffect::End( iAppView );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::TransitionFinished
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::TransitionFinished(const CCoeControl* /*aControl*/, 
-                                  TUint /*aAction*/)
-    {
-    /*if( aControl == iAppView )
-        {
-		@TODO IMPLEMENT
-        }*/
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleCommandL()
-// Takes care of command handling.
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EAknCmdExit:
-        case EEikCmdExit:
-            Exit();
-            break;
-
-        case EAknSoftkeyExit:
-        case EAknSoftkeyBack:
-            // RSK => just hide
-            MoveAppToBackground( AknTransEffect::EApplicationExit );
-            break;
-
-        case ETsCmdHelp:
-            {
-            MoveAppToBackground( AknTransEffect::EApplicationExit );
-            CArrayFix<TCoeHelpContext>* buf = CCoeAppUi::AppHelpContextL();
-            HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(), buf );
-            }
-            break;
-
-        case EAknSoftkeySelect:
-            {
-            // select is generated by lsk and msk (see the resource file)
-            // Simulate a middle key press to the controls.
-            // Note that SimulateKeyEventL must not be used here or else it
-            // will end up in an infinite loop.
-            TKeyEvent keyEvent;
-            keyEvent.iCode = EKeyOK;
-            keyEvent.iScanCode = EStdKeyDevice3;
-            keyEvent.iModifiers = keyEvent.iRepeats = 0;
-            iAppView->OfferKeyEventL( keyEvent, EEventKeyDown );
-            iAppView->OfferKeyEventL( keyEvent, EEventKey );
-            iAppView->OfferKeyEventL( keyEvent, EEventKeyUp );
-            }
-            break;
-
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleForegroundEventL
-// Called by the system when the app is moved to foreground or background.
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleForegroundEventL( TBool aForeground )
-    {
-    TSLOG_CONTEXT( HandleForegroundEventL, TSLOG_LOCAL );
-    TSLOG1_IN( "aForeground = %d", aForeground );
-
-    // These calls may be redundant but the functions will do nothing if the
-    // state has already been changed.
-    // Both this function and the 'manual' MoveAppTo functions must fire the events
-    // because in some cases only one of them will run (e.g. when bringing to foreground
-    // not with the hw key but by other means etc.)
-    if ( aForeground )
-        {
-        HandleSwitchToForegroundEvent();
-        }
-    else
-        {
-        HandleSwitchToBackgroundEvent();
-        }
-
-    // Call Base class method
-    CAknAppUi::HandleForegroundEventL( aForeground );
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::PropertyChanged
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::PropertyChanged( TUid aCategory, TUint aKey )
-    {
-    TSLOG_CONTEXT( PropertyChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TInt value( 0 );
-
-    if ( RProperty::Get( aCategory, aKey, value ) == KErrNone )
-        {
-        if ( iForeground && (value & KTaskswitcherBackgroundValue) )
-            {
-            MoveAppToBackground( AknTransEffect::EApplicationExit );
-            }
-        else if ( !iForeground && (value & KTaskswitcherForegroundValue) )
-            {
-            MoveAppToForeground( AknTransEffect::EApplicationStart );
-            }
-        else if( value & KTaskswitcherLongAppKeyPressed )
-            {
-            if(!iForeground)
-                {
-                MoveAppToBackground( AknTransEffect::EApplicationExit );
-                }
-            else
-                {
-                iAppView->HandleAppKey(KAppKeyTypeLong);
-                }
-            }
-        else if(  value & KTaskswitcherShortAppKeyPressed )
-            {
-            iAppView->HandleAppKey(KAppKeyTypeShort);
-            }
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleResourceChangeL
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleResourceChangeL( TInt aType )
-    {
-    // Must call base class implementation first,
-    // sizes from LayoutMetricsRect etc. will only be correct after this.
-    CAknAppUi::HandleResourceChangeL( aType );
-    if( aType == KEikDynamicLayoutVariantSwitch && iAppView )
-        {
-        iAppView->SetRect( ApplicationRect() );
-        }
-    // forward event
-    iDeviceState->HandleResourceChange( aType );
-    if ( iAppView )
-        {
-        iAppView->HandleResourceChange( aType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::MoveAppToBackground()
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::MoveAppToBackground( TUint aTransitionType )
-    {
-    TSLOG_CONTEXT( MoveAppToBackground, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    if ( AknTransEffect::ENone == aTransitionType || !EffectsEnabled() )
-        {
-        GoToBackgroundTimerCallback( this );
-        }
-    else
-        {
-        StartTransion(AknTransEffect::EApplicationExit);
-        iGoToBackgroundTimer->Cancel();
-        iGoToBackgroundTimer->Start( 
-                KWaitBeforeGoingToBackground, 
-                0,
-                TCallBack( GoToBackgroundTimerCallback, this ) );
-        }
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::CenrepChanged
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::CenrepChanged( TUint32 /*aKey*/, TInt aNewValue )
-    {
-    iEffectsEnabled = !(aNewValue & AknTransEffect::EFullScreenTransitionsOff);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::GoToBackgroundTimerCallback
-// -----------------------------------------------------------------------------
-//
-TInt CTsAppUi::GoToBackgroundTimerCallback( TAny* aParam )
-    {
-    CTsAppUi* self = static_cast<CTsAppUi*>( aParam );
-    if ( self->iGoToBackgroundTimer )
-        {
-        self->iGoToBackgroundTimer->Cancel();
-        }
-
-    // Request window server to bring our application
-    // to background
-    self->iApplicationTask.SendToBackground();
-
-    // Notify
-    self->HandleSwitchToBackgroundEvent();
-
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::MoveAppToForeground()
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::MoveAppToForeground( TUint  /*aTransitionType*/ )
-    {
-    TSLOG_CONTEXT( MoveAppToForeground, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // Request window server to bring our application
-    // to foreground
-    iApplicationTask.BringToForeground();
-
-    // Notify
-    HandleSwitchToForegroundEvent();
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleSwitchToBackgroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleSwitchToBackgroundEvent()
-    {
-    TSLOG_CONTEXT( HandleSwitchToBackgroundEvent, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // must not do anything if iForeground is already up-to-date
-    // exclude cases with dialogs like power menu, memory card
-    if( iForeground && !IsFaded() )  
-        {
-        iForeground = EFalse;
-        SetTaskswitcherStateProperty( KTaskswitcherBackgroundValue );
-
-        //allocating extra memory space
-        if ( !iMemAllocBuf )
-            {
-            iMemAllocBuf =
-                (TUint8*) User::Alloc( KMemoryToBeReservedInBytes );
-            }
-
-        // notify view
-        iAppView->HandleSwitchToBackgroundEvent();
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleSwitchToForegroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleSwitchToForegroundEvent()
-    {
-    TSLOG_CONTEXT( HandleSwitchToForegroundEvent, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // must not do anything if iForeground is already up-to-date
-    if ( !iForeground )
-        {
-        //freeing extra memory space
-        delete iMemAllocBuf;
-        iMemAllocBuf = NULL;
-
-        TInt freeRamMemory;
-        HAL::Get( HALData::EMemoryRAMFree, freeRamMemory );
-        if ( freeRamMemory <= KMinMemoryAmountInBytes )
-            {
-            FreeMemoryRequest();
-            }
-
-        iForeground = ETrue;
-        SetTaskswitcherStateProperty( KTaskswitcherForegroundValue );
-
-        // notify view
-        iAppView->HandleSwitchToForegroundEvent();
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::SetTaskswitcherShowProperty
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::SetTaskswitcherStateProperty( TInt aValue )
-    {
-    TSLOG_CONTEXT( CTsAppUi::SetTaskswitcherShowProperty, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    if ( RProperty::Set(
-            KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue ) != KErrNone )
-        {
-        TInt error = RProperty::Define(
-                KTaskswitcherStateCategory, KTaskswitcherStateKey, RProperty::EInt );
-        if ( error != KErrNone )
-            {
-            TSLOG1( TSLOG_INFO, "RProperty::Define Error: %d", error );
-            }
-
-        error = RProperty::Set( KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue );
-        if ( error != KErrNone )
-            {
-            TSLOG1( TSLOG_INFO, "RProperty::Set Error: %d", error );
-            }
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::FreeMemoryRequest
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::FreeMemoryRequest()
-    {
-    TSLOG_CONTEXT( CTsAppUi::FreeMemoryRequest, TSLOG_LOCAL );
-    TSLOG_IN();
-    ROomMonitorSession oomMs;
-    TInt error = oomMs.Connect();
-    if ( error != KErrNone)
-        {
-        TSLOG1( TSLOG_INFO, "Could not connect to ROomMonitorSession, %d", error );
-        }
-    else
-        {
-        oomMs.RequestFreeMemory( KMemoryRequestAmountInBytes );
-        oomMs.Close();
-        }
-    TSLOG_OUT();
-    }
-
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,731 +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:  Taskswitcher view class
- *
-*/
-
-
-#include <AknUtils.h>
-#include <AknsUtils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <eikmenub.h>
-#include <gfxtranseffect/gfxtranseffect.h>
-#include <akntransitionutils.h>
-#include <akntranseffect.h>
-#include <aknPopupHeadingPane.h>
-#include <StringLoader.h>
-#include <tstaskswitcher.rsg>
-#include <touchfeedback.h>
-
-#include "tsappview.h"
-#include "tsappui.h"
-#include "tsapplogging.h"
-#include "tsfastswaparea.h"
-#include "tseventcontroler.h"
-#include "tsuid.hrh"
-
-// -----------------------------------------------------------------------------
-// CTsAppView::NewL
-// -----------------------------------------------------------------------------
-//
-CTsAppView* CTsAppView::NewL( const TRect& aRect,
-        CTsDeviceState& aDeviceState )
-    {
-    CTsAppView* self = CTsAppView::NewLC( aRect, aDeviceState );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsAppView* CTsAppView::NewLC( const TRect& aRect,
-        CTsDeviceState& aDeviceState )
-    {
-    CTsAppView* self = new (ELeave) CTsAppView( aDeviceState );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::CTsAppView
-// -----------------------------------------------------------------------------
-//
-CTsAppView::CTsAppView(CTsDeviceState& aDeviceState)
-        : iDeviceState( aDeviceState )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// InvalidateWindows
-// -----------------------------------------------------------------------------
-//
-static void InvalidateWindows( CCoeControl* aControl )
-    {
-    if ( aControl )
-        {
-        if ( aControl->OwnsWindow() )
-            {
-            static_cast<RWindow*>( aControl->DrawableWindow() )->ClearRedrawStore();
-            }
-
-        for ( TInt i = aControl->CountComponentControls() - 1; i >= 0; --i )
-            {
-            InvalidateWindows( aControl->ComponentControl( i ) );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::~CTsAppView
-// -----------------------------------------------------------------------------
-//
-CTsAppView::~CTsAppView()
-    {
-    GfxTransEffect::SetTransitionObserver( 0 );
-    if ( GfxTransEffect::IsRegistered( this ) )
-        {
-        MakeVisible( EFalse ); 
-        CAknTransitionUtils::MakeVisibleSubComponents( this,
-            CAknTransitionUtils::EForceInvisible );
-        GfxTransEffect::Deregister( this );
-        }
-    delete iBgContext;
-    delete iFastSwapArea;
-    delete iAppsHeading;
-    
-    delete iEvtHandler;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::ConstructL( const TRect& aRect )
-    {
-    TSLOG_CONTEXT( CTsAppView::ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Store rect
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    TAknLayoutRect mainView;
-    mainView.LayoutRect( aRect,
-            AknLayoutScalable_Apps::main_tport_pane( variety ) );
-    iViewRect = mainView.Rect();
-
-    // Background control context is for a frame
-    UpdatePopupRects();
-    iBgContext = CAknsFrameBackgroundControlContext::NewL(
-               KAknsIIDQsnFrPopup,
-               iBgContextOuterRect,
-               iBgContextInnerRect,
-               ETrue );
-    iBgContext->SetFrameRects(iBgContextOuterRect, iBgContextInnerRect);
-    iBgContext->SetCenter( KAknsIIDQsnFrPopupCenter );
-
-    TSLOG4( TSLOG_INFO, "view rect = %d %d %d %d",
-        iViewRect.iTl.iX, iViewRect.iTl.iY,
-        iViewRect.iBr.iX, iViewRect.iBr.iY );
-
-    // Create components
-    CreateControlsL();
-
-    // Hide 'active applications' item in Options menu
-    CEikMenuBar* menub = iEikonEnv->AppUiFactory()->MenuBar();
-    if ( menub )
-        {
-        menub->SetMenuType( CEikMenuBar::EMenuOptionsNoTaskSwapper );
-        }
-
-    // Register for notifications about orientation etc. changes
-    iDeviceState.AddObserverL( *this, MTsDeviceStateObserver::EAny );
-    SetRect( iViewRect );
-    //SetExtentToWholeScreen();
-    iViewRect = Rect();
-    // try to enable window transparency
-    if( CAknEnv::Static()->TransparencyEnabled() )
-        {
-        Window().SetRequiredDisplayMode( EColor16MA );
-        if ( Window().SetTransparencyAlphaChannel() == KErrNone )
-            {
-            Window().SetBackgroundColor( ~0 );
-            }
-        }
-    
-    DrawableWindow()->EnableBackup(EWindowBackupFullScreen);
-    Window().SetOrdinalPosition( 0, ECoeWinPriorityNormal );
-    SetComponentsToInheritVisibility(ETrue);
-    MakeVisible(ETrue);
-    // Ready to be drawn
-    ActivateL();
-    
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::DisableAppSwitchEffects
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::DisableAppSwitchEffects()
-    {
-    TInt flags = AknTransEffect::TParameter::ENoEffects;
-    GfxTransEffect::BeginFullScreen(
-        AknTransEffect::ENone,
-        TRect(0,0,0,0),
-        AknTransEffect::EParameterType,
-        AknTransEffect::GfxTransParam( TUid::Uid(KTsAppUidValue), flags ) );
-    }
-        
-// -----------------------------------------------------------------------------
-// CTsAppView::GetPopupRects
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::UpdatePopupRects(  )
-    {
-    TSLOG_CONTEXT( UpdatePopupRects, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    
-    TAknLayoutRect bgTport;
-    bgTport.LayoutRect( iViewRect,
-        AknLayoutScalable_Apps::bg_popup_window_pane_cp01( variety ) );
-    iBgContextOuterRect = bgTport.Rect();
-    bgTport.LayoutRect( iBgContextOuterRect,
-        AknLayoutScalable_Avkon::aid_inside_area_window_primary( variety ) );
-    iBgContextInnerRect = bgTport.Rect();
-    TSLOG4( TSLOG_INFO, "outer rect for popup = %d %d %d %d",
-            iBgContextOuterRect.iTl.iX, iBgContextOuterRect.iTl.iY,
-            iBgContextOuterRect.iBr.iX, iBgContextOuterRect.iBr.iY );
-    TSLOG4( TSLOG_INFO, "inner rect for popup = %d %d %d %d",
-            iBgContextInnerRect.iTl.iX, iBgContextInnerRect.iTl.iY,
-            iBgContextInnerRect.iBr.iX, iBgContextInnerRect.iBr.iY );
-   
-#ifdef TASKSWITCHER_USE_CUSTOM_LAYOUT
-    if ( iFastSwapArea )
-        {
-        iBgContextOuterRect = iFastSwapArea->Rect();
-        iBgContextInnerRect = iFastSwapArea->Rect();
-        }
-#endif
-    
-    TSLOG_OUT();
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsAppView::CreateControlsL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::CreateControlsL()
-    {
-    RArray<TRect> rects;
-    CleanupClosePushL( rects );
-    rects.ReserveL( 2 ); // so appending in GetRects cannot fail
-    GetRects( rects );
-
-    iEvtHandler = CTsEventControler::NewL(*this, *this);
-    iFastSwapArea = CTsFastSwapArea::NewL(rects[1], *this,
-            iDeviceState, *iEvtHandler);
-    iAppsHeading = new ( ELeave ) CAknPopupHeadingPane;
-
-    iFastSwapArea->SetMopParent( this );
-    iFastSwapArea->SetFocusing( ETrue );
-    iFastSwapArea->Setup( *this );
-    iFastSwapArea->SetDataChangeObserver( this );
-    
-    iAppsHeading->SetContainerWindowL( *this );
-    iAppsHeading->ConstructL( KNullDesC() );
-    iAppsHeading->SetLayout( CAknPopupHeadingPane::EListHeadingPane ); 
-
-    //TODO: check why we need to set rect (set already in contructL)
-    iFastSwapArea->SetRect( rects[1] ); // cannot be before iAppsHeading constructL
-    iAppsHeading->SetRect( rects[0] );
-    
-    CleanupStack::PopAndDestroy( &rects );
-    
-    UpdateHeadingsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::GetRects
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::GetRects( RArray<TRect>& aRects )
-    {
-    TSLOG_CONTEXT( CTsAppView::GetRects, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-#ifndef TASKSWITCHER_USE_CUSTOM_LAYOUT
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    
-    TAknLayoutRect appsLabel;
-    TAknLayoutRect fastSwapAreaPane;
-
-    appsLabel.LayoutRect( iViewRect,
-            AknLayoutScalable_Apps::heading_pane_cp07( variety ) );
-    TSLOG4( TSLOG_INFO, "apps heading rect = %d %d %d %d",
-            appsLabel.Rect().iTl.iX, appsLabel.Rect().iTl.iY,
-            appsLabel.Rect().iBr.iX, appsLabel.Rect().iBr.iY );
-
-    
-    fastSwapAreaPane.LayoutRect( iViewRect,
-            AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
-    TSLOG4( TSLOG_INFO, "fsw rect = %d %d %d %d",
-            fastSwapAreaPane.Rect().iTl.iX, fastSwapAreaPane.Rect().iTl.iY,
-            fastSwapAreaPane.Rect().iBr.iX, fastSwapAreaPane.Rect().iBr.iY );
-
-    aRects.Append( appsLabel.Rect() );
-    aRects.Append( fastSwapAreaPane.Rect() );
-#else
-    TRect tempRect;
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, tempRect);
-    tempRect.iTl = TPoint(0,0);
-    TRect fastSwapRect, headingRect;
-    fastSwapRect.iTl = TPoint(KFswBorderSize, (tempRect.Height() - KFswItemHeight - KFswHeadingHeight) / 2 + KFswHeadingHeight);
-    fastSwapRect.iBr = TPoint(tempRect.iBr.iX - KFswBorderSize, fastSwapRect.iTl.iY + KFswItemHeight);
-    headingRect.iTl = TPoint(KFswBorderSize, fastSwapRect.iTl.iY - KFswHeadingHeight);
-    headingRect.iBr = TPoint(fastSwapRect.iBr.iX, fastSwapRect.iTl.iY);
-    aRects.Append( headingRect );
-    aRects.Append( fastSwapRect );
-#endif
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::SizeChanged()
-    {
-    TSLOG_CONTEXT( CTsAppView::SizeChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-    UpdatePopupRects();
-    iBgContext->SetFrameRects(iBgContextOuterRect, iBgContextInnerRect);
-    if ( iFastSwapArea && iAppsHeading  )
-        {
-        RArray<TRect> rects;
-        // make sure that appending in GetRect cannot fail
-        if ( rects.Reserve( 2 ) == KErrNone )
-            {
-            GetRects( rects );
-            iAppsHeading->SetRect( rects[0] );
-            iFastSwapArea->SetRect( rects[1] );
-            
-            DrawDeferred();
-            }
-        rects.Close();
-
-        // Focus jumps back to fsw
-        ChangeFocus( iFastSwapArea );
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::Draw
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsDrawUtils::DrawFrame( skin,
-           gc,
-           iBgContextOuterRect,
-           iBgContextInnerRect,
-           KAknsIIDQsnFrPopup,
-           KAknsIIDQsnFrPopupCenter );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CTsAppView::MopSupplyObject( TTypeUid aId )
-    {
-    if ( aId.iUid == MAknsControlContext::ETypeId )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CTsAppView::OfferKeyEventL(
-        const TKeyEvent& aKeyEvent,
-        TEventCode aType )
-    {
-    TSLOG_CONTEXT( OfferKeyEventL, TSLOG_LOCAL );
-    TSLOG2_IN( "iCode = %d type = %d", aKeyEvent.iCode, aType );
-
-    TKeyResponse result = EKeyWasNotConsumed;
-
-    // Always use the portrait version, the layout in landscape is now
-    // similar to portrait.
-    result = OfferKeyEventPortraitStyleL( aKeyEvent, aType );
-
-    // handle some other keys
-    if ( result == EKeyWasNotConsumed && aType == EEventKey )
-        {
-        switch ( aKeyEvent.iCode )
-            {
-            case EKeyYes: // send (green) key
-                result = EKeyWasConsumed;
-                break;
-            }
-        }
-
-    // forward to focused control if not yet handled
-    if ( result == EKeyWasNotConsumed && iFocused )
-        {
-        result = iFocused->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    TSLOG1_OUT( "response = %d", result );
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::OfferKeyEventPortraitStyleL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CTsAppView::OfferKeyEventPortraitStyleL(
-        const TKeyEvent& /*aKeyEvent*/, TEventCode /*aType*/)
-    {
-    TKeyResponse result = EKeyWasNotConsumed;
-    return result;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsAppView::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CTsAppView::CountComponentControls() const
-    {
-    return 2;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CTsAppView::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iFastSwapArea;
-        case 1:
-            return iAppsHeading;
-        default:
-            return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleSwitchToBackgroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleSwitchToBackgroundEvent()
-    {
-    // Stop animation and unfade
-    GfxTransEffect::Abort();
-    iPopupFader.FadeBehindPopup( this, NULL, EFalse );
-    
-    GfxTransEffect::Begin( this, 5);
-    // Forward event to interested controls
-    iFastSwapArea->HandleSwitchToBackgroundEvent();
-
-    // Hide
-    MakeVisible( EFalse );
-    //GfxTransEffect::NotifyExternalState( ENotifyGlobalAbort );
-    CAknTransitionUtils::MakeVisibleSubComponents( this,
-        CAknTransitionUtils::EForceInvisible );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleSwitchToForegroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleSwitchToForegroundEvent()
-    {
-    Window().Invalidate(Rect());
-    
-    // Fade behind the pop-up
-    iPopupFader.FadeBehindPopup( this, NULL, ETrue );
-
-    DrawDeferred(); // otherwise some parts may not be drawn properly
-
-    // Focus jumps back to fsw
-    ChangeFocus( iFastSwapArea );
-
-    // Forward event to interested controls
-    iFastSwapArea->HandleSwitchToForegroundEvent();
-
-    // Start animation
-    CTsAppUi* appui =
-        static_cast<CTsAppUi*>( iEikonEnv->AppUi() );
-    if ( appui->EffectsEnabled() )
-        {
-        InvalidateWindows( this );
-        appui->StartTransion(AknTransEffect::EApplicationStart);
-        }
-    else
-        {
-        CAknTransitionUtils::MakeVisibleSubComponents( this,
-            CAknTransitionUtils::EForceVisible );
-        MakeVisible( ETrue );
-        }
-    
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::ChangeFocus
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::ChangeFocus( CCoeControl* aNewFocusedControl )
-    {
-    if ( iFocused != aNewFocusedControl )
-        {
-        if ( iFocused )
-            {
-            iFocused->SetFocus( EFalse, EDrawNow );
-            }
-        iFocused = aNewFocusedControl;
-        if ( iFocused )
-            {
-            iFocused->SetFocus( ETrue, EDrawNow );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleControlEventL
-// EEventRequestFocus must be handled to have proper focus change also with
-// pointer events.
-// Observed controls are the ganes list and grid.
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleControlEventL( CCoeControl* aControl,
-        TCoeEvent aEventType )
-    {
-    switch ( aEventType )
-        {
-        case EEventRequestFocus:
-            // must use the parent because aControl is the ganes control
-            ChangeFocus( aControl->Parent() );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleDeviceStateChanged
-// Called when screen orientation, touch awareness, or the skin has been changed.
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleDeviceStateChanged( TChangeType /*aChangeType*/ )
-    {
-    TSLOG_CONTEXT( HandleDeviceStateChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // Just set all the sizes, even when there is a skin change, because this will
-    // guarantee proper redraw also with the ganes controls.
-
-    iViewRect = Rect();
-    TSLOG4( TSLOG_INFO, "setting rect %d %d %d %d",
-        iViewRect.iTl.iX, iViewRect.iTl.iY,
-        iViewRect.iBr.iX, iViewRect.iBr.iY );
-    SetRect( iViewRect );
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::CountFadedComponents
-// -----------------------------------------------------------------------------
-//
-TInt CTsAppView::CountFadedComponents()
-    {
-    return 3;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::FadedComponent
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CTsAppView::FadedComponent( TInt aIndex )
-    {
-    // well, these are in fact the components that will _not_ be faded...
-    // Must return the bottom-level controls here, e.g. the ganes controls, not the wrappers over them.
-    switch ( aIndex )
-        {
-        case 0:
-            return this;
-        case 1:
-            return iFastSwapArea->GetChildControl();
-        case 2:
-            return iAppsHeading;
-//        case 3:
-//            return iEikonEnv->AppUiFactory()->Cba();
-        default:
-            return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandlePointerEventL( const TPointerEvent &aPointerEvent )
-    {
-    MTouchFeedback* feedback = MTouchFeedback::Instance();
-    if(0 != feedback &&
-       (TPointerEvent::EButton1Down == aPointerEvent.iType || 
-       TPointerEvent::EButton1Up == aPointerEvent.iType))
-        {
-        feedback->InstantFeedback(this,
-                                  ETouchFeedbackBasic, 
-                                  ETouchFeedbackVibra, 
-                                  aPointerEvent);
-        } 
-    iFastSwapArea->HandlePointerEventL(aPointerEvent);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::DataChanged
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::DataChanged( CCoeControl* /*aWhere*/, TInt /*aNewCount*/ )
-    {
-    TRAP_IGNORE( UpdateHeadingsL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::UpdateHeadingsL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::UpdateHeadingsL()
-    {
-#ifndef TASKSWITCHER_USE_CUSTOM_LAYOUT
-    HBufC* text = StringLoader::LoadLC(
-        R_TASK_SWITCHER_HEADING_APPLICATIONS );
-#else
-    _LIT( KTitle, "Task switcher" );
-    HBufC* text = KTitle().AllocLC();
-#endif
-    iAppsHeading->SetTextL( *text );
-    iAppsHeading->DrawDeferred();
-    CleanupStack::PopAndDestroy( text );
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleAppKey
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleAppKey(TInt aType)
-    {
-    iFastSwapArea->HandleAppKey(aType);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::MoveOffset
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::MoveOffset(const TPoint& aOffset)
-    {
-    iFastSwapArea->MoveOffset(aOffset);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::TapL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::TapL(const TPoint& aPoint)
-    {
-    if(iFastSwapArea->Rect().Contains(aPoint))
-        {
-        iFastSwapArea->TapL(aPoint);
-        DrawNow();
-        }
-    else if( !iAppsHeading->Rect().Contains(aPoint))
-        {
-        //move task switcher to background
-        iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::LongTapL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::LongTapL(const TPoint& aPoint)
-    {
-    if(iFastSwapArea->Rect().Contains(aPoint))
-        {
-        iFastSwapArea->LongTapL(aPoint);
-        }
-    else if( !iAppsHeading->Rect().Contains(aPoint))
-        {
-        //move task switcher to background
-        iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::Drag()
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::Drag(const MAknTouchGestureFwDragEvent& aEvent)
-    {
-    iFastSwapArea->Drag(aEvent);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::Stop
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::Stop()
-    {
-    iFastSwapArea->Stop();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::ViewPos
-// -----------------------------------------------------------------------------
-//
-TPoint CTsAppView::ViewPos() const
-    {
-    return iFastSwapArea->ViewPos();
-    }
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsdevicestate.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +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:  Device state (touch mode, screen orientation) handler
- *
-*/
-
-
-#include "tsdevicestate.h"
-#include "tsapplogging.h"
-
-#include <AknUtils.h>
-#include <hwrmdomainpskeys.h>
-
-// -----------------------------------------------------------------------------
-// CTsDeviceState::NewL
-// -----------------------------------------------------------------------------
-//
-CTsDeviceState* CTsDeviceState::NewL()
-    {
-    CTsDeviceState* self = new ( ELeave ) CTsDeviceState;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDeviceState::CTsDeviceState
-// -----------------------------------------------------------------------------
-//
-CTsDeviceState::CTsDeviceState()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDeviceState::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsDeviceState::ConstructL()
-    {
-    iFlipStatusObserver = new ( ELeave ) CTsPropertyListener(KPSUidHWRM,	
-		KHWRMFlipStatus, *this);
-    // check if touch is enabled or not
-    CheckTouchState();
-    // are we in portrait or landscape
-    CheckOrientation();
-    // checks the qwerty input mode.
-    CheckDeviceType();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDeviceState::~CTsDeviceState
-// -----------------------------------------------------------------------------
-//
-CTsDeviceState::~CTsDeviceState()
-    {
-    iObservers.Close();
-    delete iFlipStatusObserver;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::HandleResourceChange
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::HandleResourceChange( TInt aType )
-    {
-    TSLOG_CONTEXT( HandleResourceChange, TSLOG_LOCAL );
-    TSLOG2_IN( "aType = %d (active count = %d)", aType, iResChangeActiveCount );
-
-    // increase function entrance count
-    ++iResChangeActiveCount;
-    // if we are still in a previous call then do nothing else
-    if ( iResChangeActiveCount == 1 )
-        {
-        // the active count may increase during execution of the body of the loop
-        // (if some observers have active scheduler waits, for example)
-        while ( iResChangeActiveCount > 0 )
-            {
-            if ( aType == KEikDynamicLayoutVariantSwitch )
-                {
-                TSLOG0( TSLOG_INFO, "dyn layout var switch" );
-                // This might be a screen orientation or touch-nontouch switch,
-                // so let's check the situation and notify observers if needed.
-                CheckTouchState();
-                CheckOrientation();
-                }
-            else if ( aType == KAknsMessageSkinChange )
-                {
-                TSLOG0( TSLOG_INFO, "skin change" );
-                NotifyObservers( MTsDeviceStateObserver::ESkin );
-                }
-            --iResChangeActiveCount;
-            }
-        }
-        
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::PropertyChanged
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::PropertyChanged(TUid aCategory, TUint aKey)
-    {
-    TSLOG_CONTEXT( PropertyChanged, TSLOG_LOCAL );
-    TSLOG2_IN( "aKey = %d aNewValue = %d", aCategory, aKey );
-    CheckDeviceType();
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::CheckTouchState
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::CheckTouchState()
-    {
-    TSLOG_CONTEXT( CheckTouchState, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TTouchState oldValue = iTouchState;
-    iTouchState = AknLayoutUtils::PenEnabled() ? ETouchEnabled : ETouchDisabled;
-    if ( iTouchState != oldValue )
-        {
-        NotifyObservers( MTsDeviceStateObserver::ETouchState );
-        }
-
-    TSLOG1_OUT( "new value for iTouchState: %d", iTouchState );
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::CheckOrientation
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::CheckOrientation()
-    {
-    TSLOG_CONTEXT( CheckOrientation, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TRect rect;
-    AknLayoutUtils::LayoutMetricsRect ( AknLayoutUtils::EScreen, rect );
-    TOrientation oldValue = iOrientation;
-    iOrientation = rect.Width() > rect.Height() ? ELandscape : EPortrait;
-    if ( iOrientation != oldValue )
-        {
-        NotifyObservers( MTsDeviceStateObserver::EOrientation );
-        }
-
-    TSLOG1_OUT( "new value for iOrientation: %d", iOrientation );
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::DeviceType
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::CheckDeviceType()
-    {
-    TSLOG_CONTEXT( CheckQwerty, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TInt oldDeviceType = iDeviceType;
-    TInt value( 0 );
-    if( RProperty::Get( KPSUidHWRM, KHWRMFlipStatus, value ) == KErrNone )
-    	{
-    	iDeviceType = (value == EPSHWRMFlipOpen ? EHybrid : EFullTouch);
-    	}
-    
-    if( iDeviceType != oldDeviceType )
-        {
-        NotifyObservers( MTsDeviceStateObserver::EDeviceType);
-        }
-
-    TSLOG1_OUT( "new value for iDeviceType: %d", iDeviceType );
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::TouchState
-// --------------------------------------------------------------------------
-//
-CTsDeviceState::TTouchState CTsDeviceState::TouchState() const
-    {
-    return iTouchState;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::Orientation
-// --------------------------------------------------------------------------
-//
-CTsDeviceState::TOrientation CTsDeviceState::Orientation() const
-    {
-    return iOrientation;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::Qwerty
-// --------------------------------------------------------------------------
-//
-CTsDeviceState::TDeviceType CTsDeviceState::DeviceType() const
-    {
-    return iDeviceType;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::ObserverIdentity
-// --------------------------------------------------------------------------
-//
-TBool CTsDeviceState::ObserverIdentity( const SObserver& aA,
-        const SObserver& aB )
-    {
-    return aA.iObserver == aB.iObserver;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::AddDeviceStateObserverL
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::AddObserverL( MTsDeviceStateObserver& aObserver,
-        TInt aMask )
-    {
-    iObservers.AppendL( SObserver( aMask, &aObserver ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::RemoveObserver
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::RemoveObserver( MTsDeviceStateObserver& aObserver )
-    {
-    for ( ; ; )
-        {
-        TInt pos = iObservers.Find( SObserver( MTsDeviceStateObserver::EAny,
-            &aObserver ), ObserverIdentity );
-        if ( pos >= 0 )
-            {
-            iObservers.Remove( pos );
-            }
-        else
-            {
-            break;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::NotifyObservers
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::NotifyObservers(
-        MTsDeviceStateObserver::TChangeType aType )
-    {
-    for ( TInt i = 0, ie = iObservers.Count(); i != ie; ++i )
-        {
-        const SObserver& obs( iObservers[i] );
-        if ( obs.iMask & aType )
-            {
-            obs.iObserver->HandleDeviceStateChanged( aType );
-            }
-        }
-    }
-
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsdocument.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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:  Document class
- *
-*/
-
-
-#include <apgwgnam.h>
-
-#include "tsappui.h"
-#include "tsdocument.h"
-
-// -----------------------------------------------------------------------------
-// CTsDocument::NewLC( )
-// Create a CTsDocument object and return a pointer to it
-// -----------------------------------------------------------------------------
-//
-CTsDocument* CTsDocument::NewL( CEikApplication& aApp )
-    {
-    CTsDocument* self = NewLC ( aApp );
-    CleanupStack::Pop ( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::NewLC( )
-// Create a CTsDocument object and return a pointer to it
-// -----------------------------------------------------------------------------
-//
-CTsDocument* CTsDocument::NewLC( CEikApplication& aApp )
-    {
-    CTsDocument* self = new ( ELeave ) CTsDocument( aApp );
-    CleanupStack::PushL ( self );
-    self->ConstructL ( );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::ConstructL( )
-// Second phase constructor
-// -----------------------------------------------------------------------------
-//
-void CTsDocument::ConstructL( )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::~CTsDocument( )
-// First phase constructor
-// -----------------------------------------------------------------------------
-//
-CTsDocument::CTsDocument( CEikApplication& aApp ) :
-    CAknDocument( aApp )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::~CTsDocument( )
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CTsDocument::~CTsDocument( )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::CreateAppUiL( )
-// Create a CTsAppUi object and return a pointer to it
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CTsDocument::CreateAppUiL( )
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new ( ELeave ) CTsAppUi;
-    return appUi;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::UpdateTaskNameL( )
-// Makes app hidden in fastswap window
-// -----------------------------------------------------------------------------
-//
-void CTsDocument::UpdateTaskNameL( CApaWindowGroupName* aWgName )
-    {
-    CEikDocument::UpdateTaskNameL ( aWgName );
-    aWgName->SetHidden ( ETrue );
-    }
-
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +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:  Gesture and physics helper declaration
- *
-*/
-
-#include "tseventcontroler.h"
-#include "tsphysicsengine.h"
-
-// -----------------------------------------------------------------------------
-// NewLC
-// -----------------------------------------------------------------------------
-//
-CTsEventControler* CTsEventControler::NewLC(
-    MTsEventControlerObserver& aObserver,
-    CCoeControl& aEventSrc)
-    {
-    CTsEventControler* self = 
-        new(ELeave)CTsEventControler(aObserver);
-    CleanupStack::PushL(self);
-    self->ConstructL(aEventSrc);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// NewL
-// -----------------------------------------------------------------------------
-//
-CTsEventControler* CTsEventControler::NewL(
-    MTsEventControlerObserver& aObserver,
-    CCoeControl& aEventSrc)
-    {
-    CTsEventControler* self = 
-        CTsEventControler::NewLC(aObserver, aEventSrc);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// ~CTsPointerHandler
-// -----------------------------------------------------------------------------
-//
-CTsEventControler::~CTsEventControler()
-    {
-    delete iGestureHelper;
-    delete iPhysicsHelper;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPointerHandler
-// -----------------------------------------------------------------------------
-//
-CTsEventControler::CTsEventControler(
-    MTsEventControlerObserver& aObserver)
-    :
-    CBase(),
-    iObserver(aObserver)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::ConstructL(CCoeControl& aEventSrc)
-    {
-    iGestureHelper = 
-        AknTouchGestureFw::CAknTouchGestureFw::NewL(*this, aEventSrc);
-    iGestureHelper->SetGestureInterestL(EAknTouchGestureFwAll);
-    iPhysicsHelper = CTsPhysicsEngine::NewL(*this, aEventSrc);
-    }
-
-// -----------------------------------------------------------------------------
-// HandleTouchGestureL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::HandleTouchGestureL(
-    AknTouchGestureFw::MAknTouchGestureFwEvent& aEvent)
-    {
-    if (AknTouchGestureFwEventDrag(aEvent))
-        {
-        HandleDragEventL(*AknTouchGestureFwEventDrag(aEvent));
-        }
-    else if (AknTouchGestureFwEventTap(aEvent))
-        {
-        HandleTapEventL(*AknTouchGestureFwEventTap(aEvent));
-        }
-    //ignore flick and pinch events
-    }
-
-// -----------------------------------------------------------------------------
-// HandleTapEventL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::HandleTapEventL(
-    MAknTouchGestureFwTapEvent& aEvent)
-    {
-    if(EAknTouchGestureFwLongTap == aEvent.Type())
-        {
-        iObserver.LongTapL(aEvent.Position());
-        }
-    else if(EAknTouchGestureFwTap == aEvent.Type())
-        {
-        if( iPhysicsHelper->IsRunning())
-            {
-            iPhysicsHelper->Stop();
-            }
-        else
-            {
-            iObserver.TapL(aEvent.Position());
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// HandleDragEventL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::HandleDragEventL(
-    MAknTouchGestureFwDragEvent& aEvent)
-    {
-    iObserver.Drag(aEvent);
-    iPhysicsHelper->HandleDragEvent(aEvent);
-    }
-
-// -----------------------------------------------------------------------------
-// PhysicEmulationEnded
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::ViewPositionChanged(const TPoint& aNewPosition,
-    TBool /*aDrawNow*/,
-    TUint /*aFlags*/)
-    {
-    iObserver.MoveOffset(aNewPosition);
-    }
-
-// -----------------------------------------------------------------------------
-// PhysicEmulationEnded
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::PhysicEmulationEnded()
-    {
-    iObserver.Stop();
-    }
-
-// -----------------------------------------------------------------------------
-// ViewPosition
-// -----------------------------------------------------------------------------
-//
-TPoint CTsEventControler::ViewPosition() const
-    {
-    return iObserver.ViewPos();
-    }
-
-// -----------------------------------------------------------------------------
-// Animate
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::Animate(const TPoint& aPoint)
-    {
-    iPhysicsHelper->AnimateToTarget(aPoint);
-    }
-
-// -----------------------------------------------------------------------------
-// ReInitPhysicL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::ReInitPhysicsL(const TSize& aWorldSize,
-        const TSize& aViewSize, TBool aLandscape)
-    {
-    iPhysicsHelper->ReInitPhysicsL( aWorldSize, aViewSize, aLandscape);
-    }
-
-// -----------------------------------------------------------------------------
-// StopAnimation
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::StopAnimation()
-    {
-    iPhysicsHelper->Stop();
-    }
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1599 +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:  Taskswitcher Fast Swap area UI
- *
-*/
-
-
-#include <gulicon.h>
-#include <eikenv.h>
-#include <AknUtils.h>
-#include <AknIconUtils.h>
-#include <AknIconArray.h>
-#include <aknstyluspopupmenu.h>
-#include <AknQueryDialog.h>
-#include <StringLoader.h>
-#include <tstaskswitcher.rsg>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlists.h>
-#include <touchfeedback.h>
-#include <akntransitionutils.h>
-#include <akntranseffect.h>
-
-#include "tsfastswaparea.h"
-#include "tsapplogging.h"
-#include "tsfswclient.h"
-#include "tsappui.h"
-#include "tsdatachangeobserver.h"
-#include "tseventcontroler.h"
-
-/** command ids for the fsw popup */
-enum TPopupCommands
-    {
-    EFswCmdClose = 10000,
-    EFswCmdCloseAll
-    };
-
-/** Number of closable applications, to show "close all" option. */
-const TInt KTsMaxClosableApps = 2;
-
-/** Interval until which no change in the fsw content is rendered
-    after starting the closing of an application. */
-const TInt KRefreshDelayAfterClose = 2; // seconds
-
-/** Uid of Active Idle application. 
-    Used when movind Ai to specified position.*/
-const TUid KAiUid = TUid::Uid( 0x102750F0 );
-    
-/** Position of Ai in fsw grid.*/
-const TInt KAiPosition = 0;
-
-/** Default grid item to highlight.*/
-const TInt KItemToHighlight = 3;
-
-const TInt KAppKeyTypeShort = 1;
-const TInt KAppKeyTypeLong = 2;
-
-const TInt KLayoutItemCount = 4;
-
-const TInt KRedrawTime = 250000; // 0.25 sec
-const TInt KHighlighActivationTime = 100000; // 100 ms
-const TInt KUpdateGridTime = 1000000; // 1 s
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::NewL
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapArea* CTsFastSwapArea::NewL( const TRect& aRect,
-    CCoeControl& aParent, CTsDeviceState& aDeviceState, 
-    CTsEventControler& aEventHandler )
-    {
-    CTsFastSwapArea* self = CTsFastSwapArea::NewLC(aRect,
-            aParent, aDeviceState, aEventHandler);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapArea* CTsFastSwapArea::NewLC( const TRect& aRect,
-    CCoeControl& aParent, CTsDeviceState& aDeviceState,
-    CTsEventControler& aEventHandler)
-    {
-    CTsFastSwapArea* self = new (ELeave) CTsFastSwapArea(
-            aParent, aDeviceState, aEventHandler);
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::CTsFastSwapArea
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapArea::CTsFastSwapArea(CCoeControl& aParent,
-    CTsDeviceState& aDeviceState,
-    CTsEventControler& aEventHandler) :
-    iParent(aParent), iDeviceState(aDeviceState), iEvtHandler(aEventHandler),
-    iPreviousNoOfItems(0)
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::~CTsFastSwapArea
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapArea::~CTsFastSwapArea()
-    {
-    iArray.ResetAndDestroy();
-    delete iGrid;
-    delete iFSClient;
-    delete iPopup;
-    delete iHighlightTimer;
-    delete iRedrawTimer;
-    delete iUpdateGridTimer;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::ConstructL( const TRect& aRect )
-    {
-    SetContainerWindowL( iParent );
-
-    SetRect( aRect );
-
-    // setup ganes grid
-    ReCreateGridL();
-
-    // create stylus popup instance
-    PreCreatePopupL();
-
-    // connect to fsw server
-    iFSClient = CTsFswClient::NewL();
-    
-    iEvtHandler.ReInitPhysicsL(GridWorldSize(), ViewSize(), ETrue);
-    
-    // add self to device state observer
-    iDeviceState.AddObserverL( *this, EDeviceType );
-    
-    iHighlightTimer = new (ELeave) CTsFastSwapTimer( *this );
-    iHighlightTimer->ConstructL();
-    
-    iRedrawTimer = new (ELeave) CTsFastSwapTimer( *this );
-    iRedrawTimer->ConstructL();
-
-    iUpdateGridTimer = new (ELeave) CTsFastSwapTimer( *this );
-    iUpdateGridTimer->ConstructL();
-    
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ReCreateGridL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::ReCreateGridL()
-    {
-    MCoeControlObserver* obs = NULL;
-    TBool wasHighlight = iDeviceState.DeviceType() == 
-                             CTsDeviceState::EHybrid ? ETrue : EFalse;
-    if ( iGrid )
-        {
-        obs = iGrid->Observer();
-        iDeviceState.RemoveObserver(*iGrid);
-        wasHighlight = iGrid->IsHighlightVisible();
-        delete iGrid;
-        iGrid = NULL;
-        }
-    
-    iGrid = new( ELeave ) CTsFastSwapGrid;
-    iGrid->ConstructL( this );
-    iDeviceState.AddObserverL(*iGrid, MTsDeviceStateObserver::ESkin);
-    
-    AknListBoxLayouts::SetupStandardGrid( *iGrid );
-    
-    RArray<TAknLayoutRect> rects;
-    CleanupClosePushL(rects);
-    rects.ReserveL(KLayoutItemCount);
-    GetFastSwapAreaRects(rects);
-    TAknLayoutRect gridAppPane = rects[0];
-    TAknLayoutRect gridItem = rects[1];
-    TAknLayoutRect gridImage = rects[2];
-    TAknLayoutRect gridNextItem = rects[3];
-    CleanupStack::PopAndDestroy(&rects);
-    
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    iGrid->SetRect(gridAppPane.Rect());
-    iGrid->SetVisibleViewRect(gridAppPane.Rect());
-    TAknLayoutScalableParameterLimits gridParams = 
-        AknLayoutScalable_Apps::cell_tport_appsw_pane_ParamLimits( variety );
-    TPoint empty( ELayoutEmpty, ELayoutEmpty );
-    
-    AknListBoxLayouts::SetupFormGfxCell( *iGrid, iGrid->ItemDrawer(), 0,
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_g1( variety ).LayoutLine(),
-            empty, empty );
-
-    // Setup text layout
-    TAknLayoutText textLayout;
-    textLayout.LayoutText(
-            Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_t1( variety ).LayoutLine() );
-    
-    // Because textLayout.BaselineOffset() does not work (missing lib entry),
-    // we need to calculate offset ourselves
-    TInt baselineOffset = textLayout.TextRect().iBr.iY - textLayout.TextRect().iTl.iY;
-    AknListBoxLayouts::SetupFormTextCell( *iGrid, iGrid->ItemDrawer(), 1 /*Column index*/,
-                                          textLayout.Font() /*Font type*/,
-                                          NULL /*color*/,
-                                          textLayout.TextRect().iTl.iX /*Left margin*/, 0 /*unused*/,
-                                          baselineOffset /*Baseline*/, 0 /*Text width*/,
-                                          textLayout.Align() /*Text alignment*/,
-                                          TPoint(0,0) /*Start pos*/,
-                                          TPoint(0,0) /*End pos*/);
-    // Text colors
-    TRgb textColor;
-    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), textColor,
-            KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
-    TRgb highlightTextColor;
-    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), highlightTextColor,
-            KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );
-    CFormattedCellListBoxData::TColors colors;
-    colors.iText = textColor;
-    colors.iBack = iGrid->ItemDrawer()->BackColor();
-    colors.iHighlightedText = highlightTextColor;
-    colors.iHighlightedBack = iGrid->ItemDrawer()->HighlightedBackColor();
-    iGrid->ItemDrawer()->FormattedCellData()->SetSubCellColorsL(1, colors);
-    
-    // Setup grid observers
-    if ( obs )
-        {
-        iGrid->SetObserver( obs );
-        }
-    iGrid->SetListBoxObserver(this);
-    iGrid->SetFastSwapGridObserver(this);
-    iGrid->SetContainerWindowL(*this);
-    
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        iGridItemGap = gridItem.Rect().iTl.iX - gridNextItem.Rect().iBr.iX;
-        }
-    else
-        {
-        iGridItemGap = gridNextItem.Rect().iTl.iX - gridItem.Rect().iBr.iX;
-        }
-    iMaxItemsOnScreen = Rect().Width() / gridItem.Rect().Width();
-    if ( iMaxItemsOnScreen > 1 )
-        {
-        TInt widthWithGaps =
-            (iMaxItemsOnScreen - 1) * iGridItemGap + iMaxItemsOnScreen * gridItem.Rect().Width();
-        if ( widthWithGaps > Rect().Width() )
-            {
-            iMaxItemsOnScreen--;
-            }
-        }
-    iGridItemWidth = gridItem.Rect().Width();
-    
-    iGrid->ItemDrawer()->ColumnData()->SetDrawBackground(EFalse);
-    
-    // Update state
-    HandleDeviceStateChanged( EDeviceType );
-    if( wasHighlight )
-        {
-        iGrid->ShowHighlight();
-        }
-    else
-        {
-        iGrid->HideHighlight();
-        }
-    
-    // Make sure that there is an ActivateL call even when we are not
-    // called from ConstructL. (in order to have the grid's parent ptr set properly)
-    ActivateL();
-    }
-
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::GetFastSwapAreaRects
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::GetFastSwapAreaRects( RArray<TAknLayoutRect>& aRects )
-    {
-    TAknLayoutRect gridAppPane;
-    TAknLayoutRect gridItem;
-    TAknLayoutRect gridImage;
-    TAknLayoutRect gridNextItem;
-    
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    
-    gridAppPane.LayoutRect( Rect(), 
-            AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
-    aRects.Append(gridAppPane);
-    
-    gridItem.LayoutRect( gridAppPane.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane( variety, 0, 0 ) );
-    aRects.Append(gridItem);
-    
-    gridImage.LayoutRect( gridItem.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_g1( variety ) ); 
-    aRects.Append(gridImage);
-    gridNextItem.LayoutRect( gridAppPane.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_cp03( variety ) );
-    aRects.Append(gridNextItem);
-    }
-
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::Setup
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::Setup( MCoeControlObserver& aControlObserver )
-    {
-    iGrid->SetObserver( &aControlObserver );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SizeChanged()
-    {
-    TSLOG_CONTEXT( CTsFastSwapArea::SizeChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    if ( iGrid )
-        {
-        // Grid needs to be recreated to proper reinitilize
-        // data with new layout values
-        TInt selIdx = SelectedIndex();
-        TRAPD(err, 
-              ReCreateGridL();
-              iEvtHandler.ReInitPhysicsL(GridWorldSize(), ViewSize(), ETrue););
-        if ( err != KErrNone )
-            {
-            TSLOG1( TSLOG_INFO, "ReCreateGridL leaves with %d", err );
-            }
-        HandleFswContentChanged();
-        iGrid->SetCurrentDataIndex(selIdx);
-        UpdateGrid(ETrue, EFalse);
-        DrawDeferred();
-        }
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::Draw
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    AknsDrawUtils::Background( skin,
-           cc,
-           this,
-           gc,
-           Rect() );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::SwitchToApp
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SwitchToApp( TInt aIndex )
-    {
-    if ( aIndex >= 0 && aIndex < iArray.Count() )
-        {
-        TInt wgId = iArray[aIndex]->WgId();
-        // Move other app to foreground and then move ourselves to background.
-        // Order is important and cannot be reversed.
-        iFSClient->SwitchToApp( wgId );
-        // We do not want to come back to ts if the activated app is closed.
-        // Therefore ts must be moved to background.
-        CTsAppUi* appui =
-            static_cast<CTsAppUi*>( iEikonEnv->AppUi() );
-        appui->MoveAppToBackground( AknTransEffect::EApplicationStartRect );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::TryCloseAppL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::TryCloseAppL( TInt aIndex,
-        TBool aSuppressRendering )
-    {
-    TSLOG_CONTEXT( TryCloseAppL, TSLOG_LOCAL );
-    TSLOG2_IN( "%d %d", aIndex, aSuppressRendering );
-
-    if ( aIndex >= 0 && aIndex < iArray.Count() && CanClose( aIndex ) )
-        {
-        TInt wgId = iArray[aIndex]->WgId();
-        iFSClient->CloseApp( wgId );
-        // The fsw content will change sooner or later
-        // but the updated content (without the closed app) will not
-        // come very fast. It looks better to the user if the item
-        // in the grid is removed right here, right now.
-        // If the app does not close for some reason then this is
-        // not fully correct but the app will then reappear on the next
-        // content-changed notification anyway.
-        delete iArray[aIndex];
-        iArray.Remove( aIndex );
-        NotifyChange();
-        if ( !aSuppressRendering )
-            {
-            RenderContentL();
-            }
-        // Update item selection on the screen if last item was deleted
-        TInt newItemCount = GridItemCount();
-        if ( aIndex == newItemCount )
-            {
-            newItemCount--;
-            iGrid->SetCurrentDataIndex(newItemCount);
-            }
-        iTimeOfLastClose.HomeTime();
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::TryCloseAllL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::TryCloseAllL()
-    {
-    // note the direction of the loop, this is needed because
-    // TryCloseAppL may modify the array
-    TBool changed = EFalse;
-    for ( TInt i = iArray.Count() - 1; i >= 0; --i )
-        {
-        if ( CanClose( i ) )
-            {
-            TryCloseAppL( i, ETrue );
-            changed = ETrue;
-            }
-        }
-    if ( changed )
-        {
-        RenderContentL();
-        RestoreSelectedIndex();
-        iGrid->DrawNow();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CanClose
-// --------------------------------------------------------------------------
-//
-TBool CTsFastSwapArea::CanClose( TInt aIndex ) const
-    {
-    CTsFswEntry* e = iArray[aIndex];
-    return !e->AlwaysShown() && !e->SystemApp();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CanCloseOthers
-// --------------------------------------------------------------------------
-//
-TBool CTsFastSwapArea::CanCloseAll( TInt aSelectedItem ) const
-    {
-    TInt count( 0 );
-
-    // Count number of closable applications and if number exceeds 2 finish
-    // counting, because it is already enough to show the option.
-    for ( TInt i = iArray.Count(); --i >= 0 && count < KTsMaxClosableApps; )
-        {
-        if ( CanClose( i ) )
-            {
-            count++;
-            }
-        }
-    return ( count >= KTsMaxClosableApps ) ||
-           ( count && !CanClose( aSelectedItem ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::HandleFswContentChanged
-// From MTsFswObserver
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleFswContentChanged()
-    {
-    TSLOG_CONTEXT( HandleFswContentChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TRAPD( err, HandleFswContentChangedL() );
-    if ( err != KErrNone )
-        {
-        TSLOG1( TSLOG_INFO, "leave occured: %d", err );
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::HandleFswContentChangedL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleFswContentChangedL()
-    {
-    TSLOG_CONTEXT( HandleFswContentChangedL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // If there was an app close operation started during the last
-    // few seconds then stop, to prevent flickering.
-    TTime now;
-    now.HomeTime();
-    TTimeIntervalSeconds iv;
-    if ( now.SecondsFrom( iTimeOfLastClose, iv ) == KErrNone
-            && iv.Int() <= KRefreshDelayAfterClose )
-        {
-        TSLOG1_OUT( "difference since last close is only %d sec, stop", iv.Int() );
-        return;
-        }
-
-    // get current content from fastswap server
-    iFSClient->GetContentL( iArray );
-    SwapApplicationOrder( iArray );
-
-#ifdef _DEBUG
-    for ( TInt i = 0, ie = iArray.Count(); i != ie; ++i )
-        {
-        CTsFswEntry* e = iArray[i];
-        const TDesC& name( e->AppName() );
-        TSLOG4( TSLOG_INFO, "[%d]: %d %d %S", i, e->WgId(), e->AppUid(), &name );
-        }
-#endif
-
-    // draw
-    RenderContentL();
-
-    // notify observer, if present
-    NotifyChange();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::RenderContentL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::RenderContentL()
-    {
-    TSLOG_CONTEXT( RenderContentL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    _LIT(KSeparator, "\t");
-    
-    CArrayPtr<CGulIcon>* iconArray = new ( ELeave ) CAknIconArray( iArray.Count() );
-    CleanupStack::PushL( iconArray );
-    CDesCArrayFlat* textArray = new ( ELeave ) CDesCArrayFlat( iArray.Count() );
-    CleanupStack::PushL( textArray );
-    RArray<TInt> closeItemArray;
-    CleanupClosePushL(closeItemArray);
-    
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    RArray<TAknLayoutRect> rects;
-    CleanupClosePushL(rects);
-    rects.ReserveL(KLayoutItemCount);
-    GetFastSwapAreaRects(rects);
-    TAknLayoutRect gridItem = rects[1];
-    CleanupStack::PopAndDestroy(&rects);
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        iGrid->SetLayoutL( EFalse, EFalse, ETrue, iArray.Count(), 1, gridItem.Rect().Size(), iGridItemGap );
-        }
-    else
-        {
-        iGrid->SetLayoutL( EFalse, ETrue, ETrue, iArray.Count(), 1, gridItem.Rect().Size(), iGridItemGap );
-        }
-    
-    for ( TInt i = 0, ie = iArray.Count(); i != ie; ++i )
-        {
-        const TDesC& appName( iArray[i]->AppName() );
-        const TInt formatLen = 3 + 2;
-        RBuf formAppName;
-        CleanupClosePushL(formAppName);
-        formAppName.CreateL(appName.Length() + formatLen);
-        formAppName.AppendNum(i);
-        formAppName.Append(KSeparator);
-        formAppName.Append(appName);
-        textArray->AppendL(formAppName);
-        CleanupStack::PopAndDestroy(&formAppName);
-        TSize sz = PreferredImageSize();
-
-        // take the screenshot or appicon+mask and make a copy and scale
-        CFbsBitmap* bitmap = 0;
-        TInt h = iArray[i]->ScreenshotHandle();
-        TSLOG2( TSLOG_INFO, "'%S' screenshot handle %d", &appName, h );
-        TInt maskh = 0;
-        CFbsBitmap* mask = 0;
-        if ( !h )
-            {
-            h = iArray[i]->AppIconBitmapHandle();
-            maskh = iArray[i]->AppIconMaskHandle();
-            TSLOG1( TSLOG_INFO, "using appicon, handle = %d", h );
-            }
-        __ASSERT_DEBUG( h, User::Invariant() );
-        bitmap = CopyBitmapL( h, sz );
-        CleanupStack::PushL( bitmap );
-        if ( maskh )
-            {
-            mask = CopyBitmapL( maskh, sz );
-            }
-        CleanupStack::PushL( mask );
-
-        CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
-        CleanupStack::PushL(icon);
-        iconArray->AppendL(icon);
-        CleanupStack::Pop( 3, bitmap ); // mask, bitmap, icon
-        
-        // Check if item can be closed
-        if ( CanClose(i) && AknLayoutUtils::PenEnabled() )
-            {
-            closeItemArray.AppendL(i);
-            }
-        }
-    // Setup grid
-    iGrid->Model()->SetItemTextArray(textArray);
-    CArrayPtr<CGulIcon>* oldIconArray =
-        iGrid->ItemDrawer()->FormattedCellData()->IconArray();
-    if(oldIconArray)
-        {
-        delete oldIconArray;
-        oldIconArray = NULL;
-        }
-    iGrid->ItemDrawer()->FormattedCellData()->SetIconArrayL(iconArray);
-    iGrid->SetCloseItemsL(closeItemArray);
-    
-    // Cleanup
-    CleanupStack::PopAndDestroy(&closeItemArray);
-    CleanupStack::Pop(textArray);
-    CleanupStack::Pop(iconArray);
-    
-    iGrid->ScrollBarFrame()->SetScrollBarVisibilityL(
-                CEikScrollBarFrame::EOff, CEikScrollBarFrame::EOff);
-    
-    // refresh the items in the grid
-    if(iPreviousNoOfItems < iArray.Count())
-        {
-        iGrid->HandleItemAdditionL();
-        }
-    else if(iPreviousNoOfItems > iArray.Count())
-        {
-        iGrid->HandleItemRemovalL();
-        }
-    iPreviousNoOfItems = iArray.Count();
-    iEvtHandler.ReInitPhysicsL( GridWorldSize(), ViewSize(), ETrue );
-    UpdateGrid( ETrue );
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CopyBitmapL
-// Copy and scale.
-// --------------------------------------------------------------------------
-//
-CFbsBitmap* CTsFastSwapArea::CopyBitmapL( TInt aFbsHandle, TSize aSize )
-    {
-    CFbsBitmap* ret = new (ELeave) CFbsBitmap();
-    CleanupStack::PushL( ret );
-
-    CFbsBitmap* bmp = new (ELeave) CFbsBitmap();
-    CleanupStack::PushL( bmp );
-    User::LeaveIfError( bmp->Duplicate( aFbsHandle ) );
-
-    // do not always use aSize, preserving the aspect ratio is quite
-    // important when showing app icons instead of screenshots
-    TSize sz = CalculateSizePreserveRatio( aSize, bmp->SizeInPixels() );
-
-    User::LeaveIfError( ret->Create( sz, bmp->DisplayMode() ) );
-
-    AknIconUtils::ScaleBitmapL( sz, ret, bmp );
-
-    CleanupStack::PopAndDestroy( bmp );
-    CleanupStack::Pop( ret );
-
-    return ret;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CountComponentControls
-// --------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::ComponentControl
-// --------------------------------------------------------------------------
-//
-CCoeControl* CTsFastSwapArea::ComponentControl( TInt aIndex ) const
-    {
-    if ( aIndex == 0 )
-        {
-        return iGrid;
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleSwitchToBackgroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleSwitchToBackgroundEvent()
-    {
-    // stop listening for changes in fsw content
-    iFSClient->CancelSubscribe();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleSwitchToForegroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleSwitchToForegroundEvent()
-    {
-    TSLOG_CONTEXT( CTsFastSwapArea::HandleSwitchToForegroundEvent, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    // get the current task list
-    HandleFswContentChanged();
-    // and then start listening for changes
-    iFSClient->Subscribe( *this );
-    
-    if ( iDeviceState.DeviceType() == CTsDeviceState::EFullTouch )
-        {
-        iGrid->HideHighlight();
-        }
-    else
-        {
-        iGrid->ShowHighlight();
-        }
-    
-    RestoreSelectedIndex();
-    UpdateGrid(ETrue, EFalse);
-    
-    iRedrawTimer->Cancel();
-    iRedrawTimer->After(KRedrawTime);
-    
-    // give feedback
-    LaunchPopupFeedback();
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::FocusChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    if ( IsFocused() )
-        {
-        // if in non-touch mode then select (highlight) some item
-        if ( !AknLayoutUtils::PenEnabled()
-            && SelectedIndex() == KErrNotFound
-            && GridItemCount() )
-            {
-            RestoreSelectedIndex();
-            }
-        }
-    else
-        {
-        // store the currently selected index if there is one
-        SaveSelectedIndex();
-        }
-    iGrid->DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CTsFastSwapArea::OfferKeyEventL(
-        const TKeyEvent& aKeyEvent,
-        TEventCode aType )
-    {
-    iKeyEvent = ETrue;
-    iGrid->SetTactileFeedbackSupport(EFalse);
-    // handle the 'clear' key
-    if ( aType == EEventKey && aKeyEvent.iCode == EKeyBackspace )
-        {
-        TInt idx = SelectedIndex();
-        if ( idx >= 0 )
-            {
-            TryCloseAppL( idx );
-            }
-        return EKeyWasConsumed;
-        }
-    
-    //do not forward the event until item is higlighted
-    TKeyResponse response = ShowHighlightOnKeyEvent(aKeyEvent, aType);
-    if( response == EKeyWasConsumed )
-    	{
-    	return EKeyWasConsumed;
-    	}
-    
-    // pass the event to grid
-    // do not pass down and up arrow key events
-    if ( aKeyEvent.iScanCode != EStdKeyUpArrow &&
-         aKeyEvent.iScanCode != EStdKeyDownArrow )
-        {
-        TBool animate(ETrue);
-        TBool redraw(EFalse);
-        TInt prevItem = SelectedIndex();
-        TKeyResponse response = iGrid->OfferKeyEventL( aKeyEvent, aType );
-        if ( prevItem != SelectedIndex() && // item changed
-             ( ( prevItem == 0 &&
-                 SelectedIndex() == GridItemCount() - 1 &&
-                 GridItemCount() > iMaxItemsOnScreen + 1 ) || // loop from first to last item
-               ( prevItem == GridItemCount() - 1 &&
-                 SelectedIndex() == 0 &&
-                 GridItemCount() > iMaxItemsOnScreen + 1) // loop from last to first item
-              ) // loop
-            )
-            {
-            // Loop occured
-            animate = EFalse;
-            }
-        if ( prevItem != SelectedIndex() )
-            {
-            redraw = ETrue;
-            iGrid->ShowHighlight();
-            }
-        UpdateGrid( redraw, animate );
-        return response;
-        }
-    
-    return EKeyWasNotConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::CatchKeyEvent
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CTsFastSwapArea::ShowHighlightOnKeyEvent(
-		const TKeyEvent& aKeyEvent, TEventCode aType)
-	{
-	TKeyResponse retVal(EKeyWasNotConsumed);
-	
-	if (aKeyEvent.iScanCode == EStdKeyLeftArrow ||
-		aKeyEvent.iScanCode == EStdKeyRightArrow)
-		{
-		if (!iGrid->IsHighlightVisible())
-			{
-			if (aType == EEventKey)
-				{
-				ShowHighlight();
-				iConsumeEvent = ETrue;
-				}
-			retVal = EKeyWasConsumed;
-			}
-		else if (iConsumeEvent)
-			{
-			if (aType == EEventKeyUp)
-				{
-				retVal = EKeyWasConsumed;
-				}
-			else
-				{
-				iConsumeEvent = EFalse;
-				}
-			}
-		}
-	return retVal;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    iKeyEvent = EFalse;
-    iGrid->SetTactileFeedbackSupport(ETrue);
-    if(aPointerEvent.iType == TPointerEvent::EButton1Down)
-        {
-        iTapEvent = aPointerEvent;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SelectedIndex
-// -----------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::SelectedIndex() const
-    {
-    return iGrid->CurrentDataIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SaveSelectedIndex
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SaveSelectedIndex()
-    {
-    iSavedSelectedIndex = SelectedIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::RestoreSelectedIndex
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::RestoreSelectedIndex()
-    {
-    iSavedSelectedIndex = KErrNotFound;
-    if ( GridItemCount() )
-        {
-        // highlight second recent item (that has index 2) if possible
-        TInt highlightItem = 0;
-        TInt count = GridItemCount();
-        while( highlightItem < count 
-            && highlightItem < KItemToHighlight )
-            {
-            ++highlightItem;
-            }
-        iSavedSelectedIndex = highlightItem - 1;//count from 0
-        iGrid->SetCurrentDataIndex( iSavedSelectedIndex );
-        TBool forceRedraw(ETrue);
-        UpdateGrid(forceRedraw);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ProcessCommandL
-// Handle fsw popup commands
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::ProcessCommandL( TInt aCommandId )
-    {
-    switch ( aCommandId )
-        {
-        case EFswCmdClose:
-            TryCloseAppL( iAppIndexForPopup );
-            break;
-
-        case EFswCmdCloseAll:
-            TryCloseAllL();
-            break;
-
-        case KErrCancel:
-            // popup dismisses automatically when tapping outside or when switching to other app
-            break;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleCloseEventL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleCloseEventL(TInt aItemIdx)
-    {
-    TryCloseAppL( aItemIdx );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleDeviceStateChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleDeviceStateChanged( TChangeType aChangeType )
-    {
-    if ( aChangeType == EDeviceType )
-        {
-        CTsDeviceState::TDeviceType state = iDeviceState.DeviceType();
-        switch ( state )
-            {
-            case CTsDeviceState::EHybrid:
-                {
-                iGrid->SetGridBehaviour( CTsFastSwapGrid::EHybrid );
-                }
-                break;
-            case CTsDeviceState::EFullTouch:
-                {
-                iGrid->SetGridBehaviour( CTsFastSwapGrid::ETouchOnly );
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::TimerCompletedL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::TimerCompletedL( CTsFastSwapTimer* aSource )
-    {
-    if(aSource == iHighlightTimer)
-        {
-        iTapEvent.iType = TPointerEvent::EButton1Up;
-        iGrid->HandlePointerEventL(iTapEvent);
-        }
-    else if(aSource == iRedrawTimer)
-        {
-        DrawNow();
-        }
-    else if( aSource == iUpdateGridTimer )
-        {
-        UpdateGrid(ETrue, ETrue);
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::PreCreatePopupL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::PreCreatePopupL()
-    {
-    if ( !iPopup )
-        {
-        iPopup = CAknStylusPopUpMenu::NewL( this, Rect().iTl );
-        HBufC* text = StringLoader::LoadLC( R_TS_FSW_CLOSE );
-        iPopup->AddMenuItemL( *text, EFswCmdClose );
-        CleanupStack::PopAndDestroy( text );
-        text = StringLoader::LoadLC( R_TS_FSW_CLOSE_ALL );
-        iPopup->AddMenuItemL( *text, EFswCmdCloseAll );
-        CleanupStack::PopAndDestroy( text );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ShowPopupL
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapArea::ShowPopupL( TInt aIndex, const TPoint& aPoint )
-    {
-    TBool showPopUp(EFalse);
-    TBool showPopupItem;
-    // hide 'close' if app cannot be closed
-    showPopupItem = CanClose( aIndex );
-    iPopup->SetItemDimmed( EFswCmdClose, !showPopupItem );
-    showPopUp = showPopUp || showPopupItem;
-    // hide 'close all' if there are no applications to close.
-    showPopupItem = CanCloseAll( aIndex );
-    iPopup->SetItemDimmed( EFswCmdCloseAll, !showPopupItem );
-    showPopUp = showPopUp || showPopupItem;
-
-    if(showPopUp)
-        {
-        // give feedback
-        LaunchPopupFeedback();
-        // save index for later use & show popup
-        iAppIndexForPopup = aIndex;
-        iPopup->SetPosition( aPoint, CAknStylusPopUpMenu::EPositionTypeLeftBottom );
-        iPopup->ShowMenu();
-        }
-    return showPopUp;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::Count
-// -----------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::Count() const
-    {
-    return iArray.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SetDataChangeObserver
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SetDataChangeObserver(
-        MTsDataChangeObserver* aDcObserver )
-    {
-    iDcObserver = aDcObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::NotifyChange
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::NotifyChange()
-    {
-    if ( iDcObserver )
-        {
-        iDcObserver->DataChanged( this, Count() );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SwapApplicationOrder
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SwapApplicationOrder( 
-    RPointerArray<CTsFswEntry>& aArray )
-    {
-    for ( TInt i = 0; i < aArray.Count(); ++i )
-        {
-        if( aArray[i]->AppUid() == KAiUid )
-            {
-            CTsFswEntry* homescreenEntry(0);
-            homescreenEntry = aArray[i];
-            aArray.Remove(i);
-            aArray.Insert(homescreenEntry, KAiPosition);
-            break;
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::PreferredImageSize
-// -----------------------------------------------------------------------------
-//
-TSize CTsFastSwapArea::PreferredImageSize()
-    {
-    TAknLayoutRect gridImage;
-    TRAP_IGNORE(
-        RArray<TAknLayoutRect> rects;
-        CleanupClosePushL(rects);
-        rects.ReserveL(KLayoutItemCount);
-        GetFastSwapAreaRects(rects);
-        gridImage = rects[2];
-        CleanupStack::PopAndDestroy(&rects);
-        );
-    return gridImage.Rect().Size();
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::GridItemCount
-// -----------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::GridItemCount()
-    {
-    return iGrid->Model()->ItemTextArray()->MdcaCount();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleListBoxEventL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType)
-    {
-    if ( aListBox == iGrid )
-        {
-        switch ( aEventType )
-            {
-            case EEventEnterKeyPressed:
-            case EEventItemClicked:
-                {
-                SwitchToApp(SelectedIndex());
-                }
-                break;
-            case EEventPenDownOnItem:
-                {
-                iGrid->ShowHighlight();
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CalculateSizePreserveRatio
-// --------------------------------------------------------------------------
-//
-TSize CTsFastSwapArea::CalculateSizePreserveRatio(
-        const TSize& aTargetAreaSize,
-        const TSize& aSourceSize )
-    {
-    TSize sz;
-    if ( aSourceSize.iWidth > aSourceSize.iHeight )
-        {
-        sz.iWidth = aTargetAreaSize.iWidth;
-        TReal ratio = aSourceSize.iWidth / (TReal) aSourceSize.iHeight;
-        sz.iHeight = sz.iWidth / ratio;
-        }
-    else
-        {
-        sz.iHeight = aTargetAreaSize.iHeight;
-        TReal ratio = aSourceSize.iHeight / (TReal) aSourceSize.iWidth;
-        sz.iWidth = sz.iHeight / ratio;
-        }
-    return sz;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::SelectNextItem
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SelectNextItem()
-    {
-    iKeyEvent = ETrue;
-    iGrid->SetTactileFeedbackSupport(EFalse);
-    TBool forceRedraw(ETrue);
-    TBool animate(ETrue);
-    TInt selectedItem = SelectedIndex();
-    selectedItem++;
-    if ( selectedItem == GridItemCount() )
-        {
-        // Last item is selected, move to first one
-        selectedItem = 0;
-        animate = EFalse;
-        }
-    iGrid->SetCurrentDataIndex(selectedItem);
-    UpdateGrid(forceRedraw, animate);
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::ShowHiglight
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::ShowHighlight()
-    {
-    iGrid->ShowHighlight();
-    UpdateGrid(ETrue, EFalse);
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CenterItem
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::CenterItem(TInt aRedrawDelay)
-    {
-    if( iMaxItemsOnScreen < GridItemCount() )
-        {
-        TInt visibleItem = ViewToVisibleItem( ViewPos() );
-        if(iKeyEvent)
-            {
-            visibleItem = SelectedIndex();
-            }
-        if(visibleItem != SelectedIndex())
-            {
-            iGrid->SetCurrentDataIndex( visibleItem );
-            DrawNow();
-            }
-        }
-
-    iUpdateGridTimer->Cancel();
-    iUpdateGridTimer->After(aRedrawDelay);
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::GridWorldSize
-// --------------------------------------------------------------------------
-//
-TSize CTsFastSwapArea::GridWorldSize()
-    {
-    return TSize( GridItemCount() * iGridItemWidth + (GridItemCount() - 1) * iGridItemGap, Rect().Height() );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::UpdateGrid
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::UpdateGrid( TBool aForceRedraw, TBool aAnimate )
-    {
-    TPoint targetPoint = ItemViewPosition( SelectedIndex() );
-    if ( aForceRedraw || targetPoint.iX != ViewPos().iX )
-        {
-        if ( aAnimate )
-            {
-            iEvtHandler.Animate( targetPoint );
-            }
-        else
-            {
-            MoveOffset(targetPoint);
-            iEvtHandler.StopAnimation();
-            }
-        if ( aForceRedraw )
-            {
-            iGrid->DrawNow();
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::HandleAppKey
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleAppKey(TInt aType)
-    {
-    if( aType == KAppKeyTypeShort )
-        {
-        if(iGrid->IsHighlightVisible())
-            {
-            SelectNextItem();
-            }
-        else
-            {
-            ShowHighlight();
-            }
-        }
-    else if( aType == KAppKeyTypeLong )
-        {
-        SwitchToApp( SelectedIndex() );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::MoveOffset
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::MoveOffset(const TPoint& aPoint)
-    {
-    TSLOG_CONTEXT( CTsFastSwapArea::MoveOffset, TSLOG_LOCAL );
-    TSLOG2_IN("Old position x: %d, y:%d", ViewPos().iX, ViewPos().iY);
-    TSLOG2_IN("New position x: %d, y:%d", aPoint.iX, aPoint.iY);
-    TSLOG_OUT();
-    
-    TInt currentXPos = aPoint.iX;
-    currentXPos -= Rect().Width() / 2;
-    TRect gridViewRect = Rect();
-    gridViewRect.iTl.iX = -currentXPos;
-    // Take edge offset into account
-    gridViewRect.iTl.iX += Rect().iTl.iX;
-    if(GridItemCount() <= iMaxItemsOnScreen)
-        {
-        // Center view
-        gridViewRect.iTl.iX += ( Rect().Width() - GridItemCount() * iGridItemWidth ) / 2;
-        }
-    iGrid->SetRect( gridViewRect );
-    DrawNow();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::Tap
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::TapL(const TPoint& aPoint)
-    {
-    if(iGrid->Rect().Contains(aPoint))
-        {
-        //provide tap pointer event to grid
-        iGrid->HandlePointerEventL(iTapEvent);
-        iHighlightTimer->Cancel();
-        iHighlightTimer->After(KHighlighActivationTime);
-        }
-    else
-        {
-        //move task switcher to background
-        iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit);
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::LongTap
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::LongTapL(const TPoint& aPoint)
-    {
-    TInt index(KErrNotFound);
-    if( iGrid->GridView()->XYPosToItemIndex(aPoint,index) )
-        {
-        iGrid->SetCurrentItemIndex(index);
-        SaveSelectedIndex();
-        if ( !ShowPopupL(iSavedSelectedIndex, aPoint) )
-            {
-            TapL(aPoint);
-            }
-        else
-            {
-            iGrid->ShowHighlight();
-            DrawNow();
-            }
-        }
-    else
-        {
-        TapL(aPoint);
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::Drag
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::Drag(
-    const MAknTouchGestureFwDragEvent& /*aEvent*/)
-    {
-    iGrid->SetTactileFeedbackSupport(ETrue);
-    iGrid->HideHighlight();
-    CenterItem( KUpdateGridTime );
-    DrawNow();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ViewSize
-// -----------------------------------------------------------------------------
-//
-TSize CTsFastSwapArea::ViewSize()
-    {
-    return TSize(Rect().Width(), Rect().Height());  
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::Stop
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::Stop()
-    {    
-    CenterItem( KUpdateGridTime );
-    DrawNow();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ViewSize
-// -----------------------------------------------------------------------------
-//
-TPoint CTsFastSwapArea::ViewPos() const
-    {
-    TPoint retVal;
-    retVal.iY = iGrid->Rect().iTl.iY + Rect().Height() / 2;
-    retVal.iX = - (iGrid->Rect().iTl.iX - Rect().iTl.iX) + Rect().Width() / 2 ;
-    TInt gridItemCount = iGrid->Model()->ItemTextArray()->MdcaCount();
-    if( gridItemCount <= iMaxItemsOnScreen)
-        {
-        // View centered
-        retVal.iX += ( Rect().Width() - gridItemCount * iGridItemWidth ) / 2;
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ItemPosition
-// -----------------------------------------------------------------------------
-//
-TPoint CTsFastSwapArea::ItemViewPosition( TInt aItemIdx )
-    {
-    TPoint retVal = Rect().iTl;
-    if ( aItemIdx == 0 )
-        {
-        // First item
-        if( AknLayoutUtils::LayoutMirrored() )
-            {
-            if ( GridItemCount() > iMaxItemsOnScreen )
-                {
-                retVal.iX = GridWorldSize().iWidth - Rect().Width();
-                }
-            else
-                {
-                retVal.iX = 0;
-                }
-            }
-        else // normal layout
-            {
-            retVal.iX = 0;
-            }
-        }
-    else if ( aItemIdx == GridItemCount() - 1 )
-        {
-        // Last item selected
-        if( AknLayoutUtils::LayoutMirrored() )
-            {
-            retVal.iX = 0;
-            }
-        else // normal layout
-            {
-            if ( GridItemCount() > iMaxItemsOnScreen )
-                {
-                retVal.iX = GridWorldSize().iWidth - Rect().Width();
-                }
-            else
-                {
-                retVal.iX = 0;
-                }
-            }
-        }
-    else
-        {
-        // Middle item
-        TInt screenMiddleItemOffset = ( Rect().Width() - iGridItemWidth ) / 2;
-        if( AknLayoutUtils::LayoutMirrored() )
-            {
-            retVal.iX = iGridItemWidth * ( GridItemCount() - 1 - aItemIdx ) - screenMiddleItemOffset;
-            retVal.iX += ( GridItemCount() - 1 - aItemIdx ) * iGridItemGap;
-            }
-        else // normal layout
-            {
-            retVal.iX = iGridItemWidth * aItemIdx - screenMiddleItemOffset;
-            retVal.iX += iGridItemGap * aItemIdx;
-            }
-        if ( retVal.iX < 0 )
-            {
-            retVal.iX = 0;
-            }
-        else if ( retVal.iX + Rect().Width() > GridWorldSize().iWidth )
-            {
-            retVal.iX = GridWorldSize().iWidth - Rect().Width();
-            }
-        }
-    
-    // Return middle of the view rectangle
-    retVal.iX += Rect().Width() / 2;
-    
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ViewToVisibleItem
-// -----------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::ViewToVisibleItem( const TPoint aViewPos )
-    {
-    TInt retVal(0);
-    TPoint absViewPos = aViewPos;
-    absViewPos.iX -= Rect().Width() / 2;
-    if ( absViewPos.iX < 0 )
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            // View crossed left border of grid world rect, last item selected
-            retVal = GridItemCount() - 1;
-            }
-        else // normal layout
-            {
-            // View crossed left border of grid world rect, first item selected
-            retVal = 0;
-            }
-        }
-    else if ( absViewPos.iX + Rect().Width() > GridWorldSize().iWidth )
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            // View crossed right border of grid world rect, first item selected
-            retVal = 0;
-            }
-        else // normal layout
-            {
-            // View crossed right border of grid world rect, last item selected
-            retVal = GridItemCount() - 1;
-            }
-        }
-    else
-        {
-        TInt offsetCheck = GridWorldSize().iWidth;
-        // View inside of grid world rect
-        for ( TInt i = 0 ; i < GridItemCount(); i++ )
-            {
-            TInt offset = aViewPos.iX - ItemViewPosition( i ).iX;
-            if ( Abs( offset ) <= offsetCheck )
-                {
-                offsetCheck = Abs( offset );
-                retVal = i;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    return retVal;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::LaunchPopupFeedback
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::LaunchPopupFeedback()
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        MTouchFeedback* feedback = MTouchFeedback::Instance();
-        if ( feedback )
-            {
-            TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp;
-            if ( CAknTransitionUtils::TransitionsEnabled(
-                 AknTransEffect::EComponentTransitionsOff ) )
-                {
-                fbLogicalType = ETouchFeedbackIncreasingPopUp;
-                }
-            feedback->InstantFeedback( this,
-                                       fbLogicalType,
-                                       ETouchFeedbackVibra,
-                                       TPointerEvent() );
-            }
-        }
-    }
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswapgrid.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,863 +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:  Taskswitcher Fast Swap area UI
- *
-*/
-
-
-#include <avkon.mbg>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <touchfeedback.h>
-
-#include "tsfastswapgrid.h"
-
- /* ================================================================================
-  * CTsFastSwapGrid
-  * ================================================================================
-  */
-
-const TInt KCloseIconRedrawTime = 300000; // 0.3 second
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::CTsFastSwapGrid
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapGrid::CTsFastSwapGrid()
-: CAknGrid(),
-  iCloseIconHitIdx( KErrNotFound ),
-  iBehaviour( ETouchOnly ),
-  iHighlightVisible( EFalse )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::~CTsFastSwapGrid
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapGrid::~CTsFastSwapGrid()
-    {
-    iCloseItems.Close();
-    delete iBgContext;
-    delete iCloseIconRedrawTimer;
-    iFullyVisibleItems.Close();
-    iPartialVisibleItems.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::ConstructL( const CCoeControl* aParent )
-    {
-    iParent = aParent;
-    CAknGrid::ConstructL( aParent, EAknListBoxSelectionGrid );
-    SetPrimaryScrollingType(CAknGridView::EScrollFollowsItemsAndLoops);
-    SetSecondaryScrollingType(CAknGridView::EScrollFollowsItemsAndLoops);
-    iBgContext = CAknsFrameBackgroundControlContext::NewL(
-               KAknsIIDQsnFrPopup,
-               TRect(),
-               TRect(),
-               ETrue );
-    iBgContext->SetCenter( KAknsIIDQsnFrPopupCenter );
-    iVisibleViewRect = TRect( 0, 0, 0, 0 );
-    iCloseIconRedrawTimer = new (ELeave) CTsFastSwapTimer( *this );
-    iCloseIconRedrawTimer->ConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::HandlePointerEventL( const TPointerEvent &aPointerEvent )
-    {
-    TBool eventHandled( EFalse );
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Up ||
-         aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        // Check if close icon has been hit
-        // Find hit item
-        TInt hitItem( KErrNotFound );
-        for ( TInt i = 0; i < Model()->NumberOfItems(); i++ )
-            {
-            if ( GridView()->XYPosToItemIndex( aPointerEvent.iParentPosition, i ) )
-                {
-                hitItem = i;
-                break;
-                }
-            }
-        if ( hitItem != KErrNotFound )
-            {
-            // Item found, check if close icon has been hit
-            TPoint itemPos = GridView()->ItemPos( hitItem );
-            TSize itemSize = GridView()->ItemSize( hitItem );
-            TRect itemRect( itemPos, itemSize );
-            CTsGridItemDrawer* itemDrawer =
-                static_cast<CTsGridItemDrawer*>( ItemDrawer() );
-            TRect closeIconRect = itemDrawer->GetCloseButtonRect( itemRect );
-            if ( closeIconRect.Contains( aPointerEvent.iParentPosition ) )
-                {
-                // Close icon hit
-                if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-                    {
-                    // pointer down - finish processing but do not forward to grid
-                    eventHandled = ETrue;
-                    }
-                else
-                    {
-                    // Pointer up
-                    TInt hitDataIdx(hitItem);
-                    if ( AknLayoutUtils::LayoutMirrored() )
-                        {
-                        // Calculate logical item index
-                        hitDataIdx = Model()->ItemTextArray()->MdcaCount() - 1 - hitItem;
-                        }
-                    iCloseIconHitIdx = hitDataIdx;
-                    eventHandled = ETrue;
-                    // Hide highlight to mark close icon
-                    HideHighlight();
-                    // Update current item and redraw grid
-                    SetCurrentItemIndex( hitItem );
-                    DrawNow();
-                    if ( iFastSwapGridObserver )
-                        {
-                        MTouchFeedback* feedback = MTouchFeedback::Instance();
-                        feedback->InstantFeedback(this,
-                                                  ETouchFeedbackBasicButton, 
-                                                  ETouchFeedbackVibra, 
-                                                  aPointerEvent);
-                        iCloseIconRedrawTimer->Cancel();
-                        iCloseIconRedrawTimer->After(KCloseIconRedrawTime);
-                        }
-                    if ( GridBehaviour() == EHybrid )
-                        {
-                        ShowHighlight();
-                        }
-                    else
-                        {
-                        Redraw();
-                        }
-                    }
-                }
-            }
-        }
-    
-    if ( !eventHandled )
-        {
-        CTsGridItemDrawer* itemDrawer =
-            static_cast<CTsGridItemDrawer*>( ItemDrawer() );
-        if( aPointerEvent.iType == TPointerEvent::EButton1Down )
-            {
-            itemDrawer->SetRedrawBackground( ETrue );
-            }
-        else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-            {
-            itemDrawer->SetRedrawBackground( EFalse );
-            }
-        CAknGrid::HandlePointerEventL( aPointerEvent );
-        Redraw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::HandleDeviceStateChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::HandleDeviceStateChanged( TChangeType aChangeType )
-    {
-    if ( aChangeType == ESkin )
-        {
-        LoadCloseIcon();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CTsFastSwapGrid::MopSupplyObject( TTypeUid aId )
-    {
-    if ( aId.iUid == MAknsControlContext::ETypeId )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::HandleResourceChange( TInt aType )
-    {
-    if ( aType != KEikDynamicLayoutVariantSwitch )
-        {
-        CAknGrid::HandleResourceChange( aType );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SizeChanged()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetFastSwapGridObserver
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetFastSwapGridObserver( MTsFastSwapGridObserver* aObserver )
-    {
-    iFastSwapGridObserver = aObserver;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::CreateItemDrawerL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::CreateItemDrawerL()
-    {
-    TRect availableRect;
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, availableRect);
-    TAknLayoutRect fastSwapAreaPane;
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    fastSwapAreaPane.LayoutRect( availableRect,
-            AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
-    const TInt leftOffset = fastSwapAreaPane.Rect().iTl.iX;
-    const TInt rightOffset = availableRect.Width() - fastSwapAreaPane.Rect().iBr.iX;
-    
-    CFormattedCellGridData* data = CFormattedCellGridData::NewL();
-    CleanupStack::PushL( data );
-    CTsGridItemDrawer* itemDrawer =
-        new ( ELeave ) CTsGridItemDrawer( this, data );
-    CleanupStack::PushL( itemDrawer );
-    itemDrawer->SetEdgeOffset( leftOffset, rightOffset );
-    iItemDrawer = itemDrawer;
-    CleanupStack::Pop( itemDrawer );
-    CleanupStack::Pop( data );
-    LoadCloseIcon();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::TimerCompletedL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::TimerCompletedL( CTsFastSwapTimer* aSource )
-    {
-    if ( aSource == iCloseIconRedrawTimer )
-        {
-        iFastSwapGridObserver->HandleCloseEventL( iCloseIconHitIdx );
-        ResetCloseHit();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetCloseItemsL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetCloseItemsL( RArray<TInt>& aItemIndex )
-    {
-    iCloseItems.Close();
-    for ( TInt i = 0; i < aItemIndex.Count(); i++ )
-        {
-        iCloseItems.AppendL( aItemIndex[i] );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::CanCloseItem
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::CanCloseItem( TInt aItemIndex )
-    {
-    return iCloseItems.Find(aItemIndex) != KErrNotFound;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::ItemCloseHit
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::IsItemCloseHit( TInt aItemIndex )
-    {
-    return iCloseIconHitIdx == aItemIndex;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::ResetCloseHit
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::ResetCloseHit()
-    {
-    iCloseIconHitIdx = KErrNotFound;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetBehaviour
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetGridBehaviour( TFastSwapGridBehaviour aBehaviour )
-    {
-    iBehaviour = aBehaviour;
-    switch ( iBehaviour )
-        {
-        case ETouchOnly:
-            {
-            HideHighlight();
-            }
-            break;
-        default:
-            {
-            ShowHighlight();
-            }
-            break;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::GridBehaviour
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapGrid::TFastSwapGridBehaviour CTsFastSwapGrid::GridBehaviour()
-    {
-    return iBehaviour;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::ShowHighlight
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::ShowHighlight()
-    {
-    if ( !iHighlightVisible )
-        {
-        // Draw highlight
-        iHighlightVisible = ETrue;
-        Redraw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::HideHighlight
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::HideHighlight()
-    {
-    if ( iHighlightVisible )
-        {
-        iHighlightVisible = EFalse;
-        Redraw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::IsHighlightVisible
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::IsHighlightVisible()
-    {
-    return iHighlightVisible;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetVisibleViewRect
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetVisibleViewRect( const TRect aRect )
-    {
-    iVisibleViewRect = aRect;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::VisibleViewRect
-// -----------------------------------------------------------------------------
-//
-TRect CTsFastSwapGrid::VisibleViewRect()
-    {
-    TRect retVal;
-    TRect emptyRect = TRect( 0, 0, 0, 0 );
-    if ( iVisibleViewRect == emptyRect )
-        {
-        retVal = Rect();
-        }
-    else
-        {
-        retVal = iVisibleViewRect;
-        }
-    return retVal;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::LoadCloseIconL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::LoadCloseIcon()
-    {
-    // Load and set close icon
-    CFbsBitmap* icon = NULL;
-    CFbsBitmap* mask = NULL;
-
-    TRAP_IGNORE(AknsUtils::CreateColorIconLC( AknsUtils::SkinInstance(),
-                KAknsIIDQgnIndiItutListCollapse,
-                KAknsIIDQsnTextColors,    // we use text color here, eventhough this is an icon
-                EAknsCIQsnTextColorsCG13, // softkey text color
-                icon,
-                mask,
-                KAvkonBitmapFile,
-                EMbmAvkonQgn_indi_button_preview_close,
-                EMbmAvkonQgn_indi_button_preview_close_mask,
-                KRgbWhite
-                );
-                CleanupStack::Pop( 2 ); // codescanner::cleanup
-                );
-
-    TAknLayoutRect gridAppPane;
-    TAknLayoutRect gridItem;
-    TAknLayoutRect gridCloseButton;
-    TAknLayoutRect gridCloseIcon;
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    TRect source = iParent ? iParent->Rect() : Rect();
-    gridAppPane.LayoutRect( source,
-            AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
-    gridItem.LayoutRect( gridAppPane.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane( variety, 0, 0 ) );
-    gridCloseButton.LayoutRect( gridItem.Rect(),
-            AknLayoutScalable_Apps::bg_button_pane_cp16( variety, 0, 0 ));
-    gridCloseIcon.LayoutRect( gridItem.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_g3( variety, 0, 0 ));
-    AknIconUtils::SetSize( icon, gridCloseIcon.Rect().Size(), EAspectRatioPreserved );
-    AknIconUtils::SetSize( mask, gridCloseIcon.Rect().Size(), EAspectRatioPreserved );
-    CTsGridItemDrawer* itemDrawer =
-        static_cast<CTsGridItemDrawer*>(iItemDrawer);
-    itemDrawer->SetCloseIcon( icon, mask );
-    TRect relGridCloseButton = TRect( TPoint( gridCloseButton.Rect().iTl.iX - gridItem.Rect().iTl.iX,
-                                              gridCloseButton.Rect().iTl.iY - gridItem.Rect().iTl.iY),
-                                      gridCloseButton.Rect().Size() );
-    TRect relGridCloseIconRect = TRect( TPoint( gridCloseIcon.Rect().iTl.iX - gridItem.Rect().iTl.iX,
-                                                gridCloseIcon.Rect().iTl.iY - gridItem.Rect().iTl.iY),
-                                        gridCloseIcon.Rect().Size() );
-    itemDrawer->SetCloseIconRect( relGridCloseButton, relGridCloseIconRect );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::Redraw
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::Redraw()
-    {
-    DrawDeferred();
-    CCoeControl* ctrlToRedraw = Parent();
-    if ( ctrlToRedraw )
-        {
-        ctrlToRedraw->DrawDeferred();
-        ctrlToRedraw = ctrlToRedraw->Parent();
-        if ( ctrlToRedraw )
-            {
-            ctrlToRedraw->DrawNow();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::LaunchTactileFeedback
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::LaunchTactileFeedback()
-    {
-    if( !iTactileFeedbackSupport )
-        {
-        return;
-        }
-    
-    MTouchFeedback* feedback = MTouchFeedback::Instance();
-    if (feedback)
-        {
-        feedback->InstantFeedback(ETouchFeedbackSensitive);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetTactileFeedbackSupport
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetTactileFeedbackSupport(TBool aSupport)
-    {
-    iTactileFeedbackSupport = aSupport;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::RemoveFromVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::RemoveFromVisibleItems(TInt aItem) const
-    {
-    TBool retVal(EFalse);
-    TInt idx(0);
-    idx = iFullyVisibleItems.Find(aItem); 
-    if(  idx >= 0)
-        {
-        iFullyVisibleItems.Remove(idx);
-        retVal = ETrue;
-        }
-    idx = iPartialVisibleItems.Find( aItem );
-    if( idx >= 0)
-        {
-        iPartialVisibleItems.Remove(idx);
-        retVal = ETrue;
-        }
-    return retVal;    
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::AddToFullyVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::AddToFullyVisibleItems( TInt aItem ) const
-    {
-    TBool retVal(EFalse);
-    TInt idx(0);
-
-    idx = iPartialVisibleItems.Find(aItem); 
-    if(  idx >= 0)
-        {
-        iPartialVisibleItems.Remove(idx);
-        }
-    idx = iFullyVisibleItems.Find( aItem );
-    if( idx == KErrNotFound )
-        {
-        iFullyVisibleItems.Append(aItem);
-        retVal = ETrue; 
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::MoveToPartialVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::MoveToPartialVisibleItems( TInt aItem ) const
-    {
-    TInt idx(0);
-    idx = iFullyVisibleItems.Find(aItem); 
-    if(  idx >= 0)
-        {
-        iFullyVisibleItems.Remove(idx);
-        }
-    idx = iPartialVisibleItems.Find( aItem );
-    if( idx == KErrNotFound )
-        {
-        iPartialVisibleItems.Append(aItem);
-        }
-    return EFalse;
-    }
-
-/* ================================================================================
- * CTsGridItemDrawer
- * ================================================================================
- */
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::CTsGridItemDrawer
-// -----------------------------------------------------------------------------
-//
-CTsGridItemDrawer::CTsGridItemDrawer(
-        CTsFastSwapGrid* aGrid,
-        CFormattedCellListBoxData* aData )
-: CFormattedCellListBoxItemDrawer( aGrid->Model(),
-        NULL,
-        aData ),
-  iGrid( aGrid )
-    {
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, iScreenRect);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::~CTsGridItemDrawer
-// -----------------------------------------------------------------------------
-//
-CTsGridItemDrawer::~CTsGridItemDrawer()
-    {
-    delete iCloseIcon;
-    delete iCloseIconMask;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::SetCloseIcon
-// -----------------------------------------------------------------------------
-//
-void CTsGridItemDrawer::SetCloseIcon( CFbsBitmap* aBmp, CFbsBitmap* aMask )
-    {
-    delete iCloseIcon;
-    iCloseIcon = aBmp;
-    delete iCloseIconMask;
-    iCloseIconMask = aMask;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::SetCloseIconRect
-// -----------------------------------------------------------------------------
-//
-void CTsGridItemDrawer::SetCloseIconRect( const TRect& aButtonRect, const TRect& aIconRect )
-    {
-    iCloseButtonRect = aButtonRect;
-    iCloseIconRect = aIconRect;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::GetCloseButtonRect
-// -----------------------------------------------------------------------------
-//
-TRect CTsGridItemDrawer::GetCloseButtonRect( const TRect& aItemRect ) const
-    {
-    TRect retVal;
-    retVal = TRect( TPoint(aItemRect.iTl.iX + iCloseButtonRect.iTl.iX,
-                           aItemRect.iTl.iY + iCloseButtonRect.iTl.iY),
-                    iCloseButtonRect.Size() );
-    return retVal;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::SetEdgeOffset
-// -----------------------------------------------------------------------------
-//
-void CTsGridItemDrawer::SetEdgeOffset( TInt aLeftOffset, TInt aRightOffset )
-    {
-    iLeftOffset = aLeftOffset;
-    iRightOffset = aRightOffset;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsTeleportGridItemDrawer::SetRedrawBackground
-// -----------------------------------------------------------------------------
-//
-void CTsGridItemDrawer::SetRedrawBackground( TBool aEnable )
-    {
-    iRedrawBackground = aEnable;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::DrawActualItem
-// -----------------------------------------------------------------------------
-//
- void CTsGridItemDrawer::DrawActualItem( TInt aItemIndex, const TRect& aActualItemRect,
-                                                 TBool aItemIsCurrent, TBool aViewIsEmphasized,
-                                                 TBool aViewIsDimmed, TBool aItemIsSelected ) const
-    {
-    TBool feedbackNeed(EFalse);//feedback when item disappear or fully appear
-    
-    if (IsItemRectVisible(aActualItemRect))
-        {
-        // Calculate offset of the visible rectangle
-        TRect drawRect = aActualItemRect;
-        if ( drawRect.iTl.iX < iLeftOffset )
-            {
-            drawRect.iTl.iX = iLeftOffset;
-            }
-        if ( iScreenRect.Width() - drawRect.iBr.iX < iRightOffset )
-            {
-            drawRect.iBr.iX = iScreenRect.Width() - iRightOffset;
-            }
-        iGc->SetClippingRect(drawRect);
-                
-		if(IsRectContained( aActualItemRect, drawRect ))
-            {
-            feedbackNeed = iGrid->AddToFullyVisibleItems( aItemIndex );
-            }
-        else
-            {
-            feedbackNeed = iGrid->MoveToPartialVisibleItems( aItemIndex );
-            }
-			
-        // Check for item highlight
-        TBool itemIsCurrent = !iGrid->IsHighlightVisible() ? EFalse : aItemIsCurrent;
-        
-        // Draw background if necessary
-        if ( iRedrawBackground )
-            {
-            CCoeControl* targetCtrlCtx = iGrid->Parent();
-            if(targetCtrlCtx)
-                {
-                MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-                MAknsControlContext* cc = AknsDrawUtils::ControlContext( targetCtrlCtx );
-                AknsDrawUtils::Background( skin,
-                       cc,
-                       targetCtrlCtx,
-                       *iGc,
-                       drawRect );
-                }
-            }
-        
-        // Draw item
-        CFormattedCellListBoxItemDrawer::DrawActualItem(aItemIndex, aActualItemRect,
-                itemIsCurrent, aViewIsEmphasized, aViewIsDimmed, aItemIsSelected );
-        
-        if ( iGrid->CanCloseItem( aItemIndex ) && iCloseIcon && iCloseIconMask )
-            {
-            TRect closeIconRect = GetCloseButtonRect( aActualItemRect );
-            // Draw frame
-            TRect outerRect = closeIconRect;
-            TRect innerRect = CalculateInnerButtonRect( outerRect );
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            if ( iGrid->IsItemCloseHit( aItemIndex ) )
-                {
-                AknsDrawUtils::DrawFrame(skin, *iGc, outerRect, innerRect,
-                        KAknsIIDQgnFrSctrlButtonPressed, KAknsIIDQgnFrSctrlButtonCenterPressed);
-                }
-            else
-                {
-                AknsDrawUtils::DrawFrame(skin, *iGc, outerRect, innerRect,
-                        KAknsIIDQgnFrSctrlButton, KAknsIIDQgnFrSctrlButtonCenter);
-                }
-            // Draw close icon
-            TRect sourceRect( TPoint(0,0), iCloseIcon->SizeInPixels() );
-            iGc->DrawBitmapMasked( innerRect, iCloseIcon, sourceRect, iCloseIconMask, ETrue );
-            }
-        }
-    else
-        {
-        feedbackNeed = iGrid->RemoveFromVisibleItems(aItemIndex);
-        }
-    if(feedbackNeed)
-        {
-        iGrid->LaunchTactileFeedback();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::DrawActualItem
-// -----------------------------------------------------------------------------
-//
-TBool CTsGridItemDrawer::IsItemRectVisible( const TRect& aItemRect ) const
-    {
-    TBool retVal( EFalse );
-    TRect viewRect = iGrid->VisibleViewRect();
-    if ( // left edge of item rectangle on screen
-         ( aItemRect.iTl.iX >= viewRect.iTl.iX && aItemRect.iTl.iX <= viewRect.iBr.iX ) ||
-         // right edge of item rectangle on screen
-         ( aItemRect.iBr.iX >= viewRect.iTl.iX && aItemRect.iBr.iX <= viewRect.iBr.iX )
-        )
-        {
-        retVal = ETrue;
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::IsRectContained
-// -----------------------------------------------------------------------------
-//
-TBool CTsGridItemDrawer::IsRectContained(
-        const TRect& aRectContained, const TRect& aRectContainig) const
-    {
-    TBool retVal(EFalse);
-    TRect intersectionRect(aRectContainig);
-    intersectionRect.Intersection( aRectContained );
-    if( intersectionRect == aRectContained)
-        {
-        retVal = ETrue;
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::CalculateInnerButtonRect
-// -----------------------------------------------------------------------------
-//
-TRect CTsGridItemDrawer::CalculateInnerButtonRect( const TRect& aOuterRect ) const
-    {
-    TRect retVal(aOuterRect);
-    retVal.iTl.iX += iCloseIconRect.iTl.iX - iCloseButtonRect.iTl.iX;
-    retVal.iTl.iY += iCloseIconRect.iTl.iY - iCloseButtonRect.iTl.iY;
-    retVal.iBr.iX -= iCloseButtonRect.iBr.iX - iCloseIconRect.iBr.iX;
-    retVal.iBr.iY -= iCloseButtonRect.iBr.iY - iCloseIconRect.iBr.iY;
-    return retVal;
-    }
- 
- 
- 
- /* ================================================================================
-  * CTsGridHighlightTimer
-  * ================================================================================
-  */
-
-// -----------------------------------------------------------------------------
-// CTsGridHighlightTimer::CTsGridHighlightTimer
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapTimer::CTsFastSwapTimer( MTsFastSwapTimerObserver& aObserver )
-: CTimer( EPriorityStandard ),
-  iObserver( &aObserver )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridHighlightTimer::CTsGridHighlightTimer
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapTimer::~CTsFastSwapTimer()
-    {
-    Cancel();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridHighlightTimer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapTimer::ConstructL()
-    {
-    CTimer::ConstructL();
-    CActiveScheduler::Add( this );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridHighlightTimer::CTsGridHighlightTimer
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapTimer::RunL()
-    {
-    iObserver->TimerCompletedL(this);
-    }
- 
- // End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysics.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +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:  Application class
- *
-*/
-
-
-#include <aknphysicsobserveriface.h>
-
-#include "tsphysics.h"
-
-const TInt KSingleItemChangeAnimTime = 1000000; // 1 second
-const TInt KAnimationFrameCount = 15; // 15 frames per second
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::CTsPhysics
-// -----------------------------------------------------------------------------
-//
-CTsPhysics::CTsPhysics( MAknPhysicsObserver& aObserver ) :
-    CActive( EPriorityStandard ), iObserver( aObserver )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsPhysics* CTsPhysics::NewLC( MAknPhysicsObserver& aObserver )
-    {
-    CTsPhysics* self = new ( ELeave ) CTsPhysics( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::NewL
-// -----------------------------------------------------------------------------
-//
-CTsPhysics* CTsPhysics::NewL( MAknPhysicsObserver& aObserver )
-    {
-    CTsPhysics* self = CTsPhysics::NewLC( aObserver );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::ConstructL()
-    {
-    User::LeaveIfError( iTimer.CreateLocal() );
-    CActiveScheduler::Add( this );
-    // Animation parameters
-    const TInt KInitValue = 0;
-    iAnimationTickTime = KSingleItemChangeAnimTime / KSingleItemChangeAnimTime;
-    iPhysicsState = EStopped;
-    iAnimationTicks = KInitValue;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::~CTsPhysics
-// -----------------------------------------------------------------------------
-//
-CTsPhysics::~CTsPhysics()
-    {
-    Cancel();
-    iTimer.Close();
-    iAnimationSteps.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::StartPhysics
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::StartPhysics( const TPoint& aTarget )
-    {
-    Cancel();
-    // Setup animation
-    TPoint currentPoint = iObserver.ViewPosition();
-    if ( currentPoint.iX != aTarget.iX )
-        {
-        iAnimationTicks = 0;
-        if ( CalculateAnimationSteps( aTarget ) == KErrNone )
-            {
-            // Request
-            iTimer.After( iStatus, 0 );
-            SetActive();
-            }
-        else
-            {
-            // If calculation failes (no memory) or there is
-            // only a small step, set view to target
-            iObserver.ViewPositionChanged( aTarget, ETrue, 0);
-            iObserver.PhysicEmulationEnded();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::StopPhysics
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::StopPhysics()
-    {
-    Cancel();
-    if ( iPhysicsState == ERunning || iPhysicsState == EFinished )
-        {
-        iObserver.PhysicEmulationEnded();
-        }
-    iPhysicsState = EStopped;
-    iAnimationTicks = 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::RunL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::RunL()
-    {
-    if ( iPhysicsState == EStopped )
-        {
-        // Start animation
-        iPhysicsState = ERunning;
-        iTimer.After( iStatus, iAnimationTickTime );
-        SetActive();
-        }
-    else if ( iPhysicsState == ERunning )
-        {
-        // Ongoing animation
-        if ( iAnimationTicks >= 0 && iAnimationTicks < KAnimationFrameCount )
-            {
-            iObserver.ViewPositionChanged( iObserver.ViewPosition()+iAnimationSteps[iAnimationTicks], ETrue, 0 );
-            }
-        iAnimationTicks++;
-        if ( iAnimationTicks >= KAnimationFrameCount )
-            {
-            iPhysicsState = EFinished;
-            }
-        iTimer.After( iStatus, iAnimationTickTime );
-        SetActive();
-        }
-    else if ( iPhysicsState == EFinished )
-        {
-        iAnimationTicks = 0;
-        iPhysicsState = EStopped;
-        iObserver.PhysicEmulationEnded();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CTsPhysics::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::CalculateAnimationSteps
-// -----------------------------------------------------------------------------
-//
-TInt CTsPhysics::CalculateAnimationSteps( const TPoint& aTarget )
-    {
-    TInt retVal( KErrNone );
-    iAnimationSteps.Reset();
-    retVal = iAnimationSteps.Reserve( KAnimationFrameCount );
-    if ( retVal == KErrNone )
-        {
-        TInt yValue = aTarget.iY;
-        TPoint currentPos = iObserver.ViewPosition();
-        TInt moveLen = aTarget.iX - currentPos.iX;
-        if ( moveLen > KAnimationFrameCount || moveLen < -KAnimationFrameCount )
-            {
-            TInt singleStep = moveLen / KAnimationFrameCount;
-            for ( TInt i = 0; i < KAnimationFrameCount - 1; i++ )
-                {
-                iAnimationSteps.Append( TPoint( singleStep, yValue ) );
-                }
-            TInt lastStep = moveLen - ( ( KAnimationFrameCount - 1 ) * singleStep );
-            iAnimationSteps.Append( TPoint( lastStep, yValue ) );
-            }
-        else
-            {
-            retVal = KErrArgument;
-            }
-        }
-    return retVal;
-    }
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysicsengine.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +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:  Taskswitcher physics
- *
-*/
-
-#include <aknphysics.h>
-
-#include "tsphysicsengine.h"
-#include "tsphysics.h"
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsHandler::CTsPhysicsHandler
-// -----------------------------------------------------------------------------
-//
-CTsPhysicsEngine::CTsPhysicsEngine()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::~CTsPhysicsEngine
-// -----------------------------------------------------------------------------
-//
-CTsPhysicsEngine::~CTsPhysicsEngine()
-    {
-    delete iTaskswitcherPhysics;
-    delete iPhysics;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsPhysicsEngine* CTsPhysicsEngine::NewLC(
-        MAknPhysicsObserver& aPhysicObserver, CCoeControl& aViewControl)
-    {
-    CTsPhysicsEngine* self = new (ELeave) CTsPhysicsEngine();
-    CleanupStack::PushL(self);
-    self->ConstructL(aPhysicObserver, aViewControl);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::NewL
-// -----------------------------------------------------------------------------
-//
-CTsPhysicsEngine* CTsPhysicsEngine::NewL(
-        MAknPhysicsObserver& aPhysicObserver, CCoeControl& aViewControl)
-    {
-    CTsPhysicsEngine* self = CTsPhysicsEngine::NewLC(
-            aPhysicObserver, aViewControl);
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::ConstructL(MAknPhysicsObserver& aPhysicObserver,
-        CCoeControl& aViewControl)
-    {
-    iPhysics = CAknPhysics::NewL(aPhysicObserver, &aViewControl);//TODO:
-    iTaskswitcherPhysics = CTsPhysics::NewL(aPhysicObserver);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::IsRunning
-// -----------------------------------------------------------------------------
-//
-TBool CTsPhysicsEngine::IsRunning() const
-    {
-    return iPhysics->OngoingPhysicsAction() != CAknPhysics::EAknPhysicsActionNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::HandleDragEvent
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::HandleDragEvent(
-        AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent)
-    {
-    if (AknTouchGestureFw::EAknTouchGestureFwStart == aEvent.State())
-        {
-        iPhysics->StopPhysics();
-        iStartTime.HomeTime();
-        }
-    else if (AknTouchGestureFw::EAknTouchGestureFwOn == aEvent.State())
-        {
-        TPoint deltaPoint(aEvent.PreviousPosition() - aEvent.CurrentPosition());
-        iPhysics->RegisterPanningPosition(deltaPoint);
-        }
-    else //AknTouchGestureFw::EAknTouchGestureFwStop
-        {
-        TPoint drag(aEvent.PreviousPosition() - aEvent.CurrentPosition());
-        iPhysics->StartPhysics(drag, iStartTime);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::Stop
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::Stop()
-    {
-    iPhysics->StopPhysics();
-    iTaskswitcherPhysics->StopPhysics();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::AnimateToTargetL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::AnimateToTarget(const TPoint& aPoint)
-    {
-    iTaskswitcherPhysics->StartPhysics(aPoint);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::ReInitPhysicsL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::ReInitPhysicsL(const TSize& aWorldSize,
-        const TSize& aViewSize, TBool aLandscape)
-    {
-    iPhysics->InitPhysicsL(aWorldSize, aViewSize, aLandscape);
-    }
-
-//End file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tstaskswitcher.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  Main cpp of application. Definition of start function
- *
-*/
-
-
-#include <eikstart.h>
-
-#include "tsapplication.h"
-
-// -----------------------------------------------------------------------------
-// NewApplication
-// Create main class of application
-// -----------------------------------------------------------------------------
-//
-CApaApplication* NewApplication( )
-    {
-    return new CTsApplication;
-    }
-
-// -----------------------------------------------------------------------------
-// E32Main
-// Application enty point.
-// -----------------------------------------------------------------------------
-//
-TInt E32Main( )
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/data/tsappecom.rss	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Ecom registration file for alternate fast swap plugin
-*
-*/
-
-
-#include <ecom/registryinfo.rh>
-#include "tsappecomconst.hrh"
-#include "akncapserveralternatefspluginconst.hrh"
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    // UID for the DLL
-    dll_uid = KTsAppPluginDllUid;
-    // Declare array of interface info
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            // UID of interface that is implemented
-            interface_uid = KAknCapServerAlternateFsPluginInterfaceUid;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KTsAppPluginImplementationUid;
-                    version_no         = 1;
-                    display_name       = "";
-                    default_data       = "";
-                    opaque_data        = "";
-                    }
-                };
-            }
-        };
-    }
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Taskswitcher application ecom plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-tsappecom.mmp
-
-PRJ_TESTMMPFILES
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/group/tsappecom.mmp	Tue Feb 02 00:04:13 2010 +0200
+++ /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:  Taskswitcher application ecom plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "../inc/tsappecomconst.hrh"
-
-TARGET          tsappecom.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D KTsAppPluginDllUid
-CAPABILITY      CAP_ECOM_PLUGIN
-
-SOURCEPATH      ../src
-SOURCE          proxy.cpp
-SOURCE          tsappecom.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../trace
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../data
-START RESOURCE tsappecom.rss
-	TARGET tsappecom.rsc
-	TARGETPATH /resource/plugins
-END
-
-LIBRARY         euser.lib 
-LIBRARY         ecom.lib
-LIBRARY         apgrfx.lib
-LIBRARY         cone.lib
-
-DEBUGLIBRARY    flogger.lib
-
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecom.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  Taskswitcher application ecom plugin
-*
-*/
-
-
-#ifndef TSAPPECOM_H
-#define TSAPPECOM_H
-
-#include <e32base.h>
-#include <akncapserveralternatefsplugin.h>
-
-/**
- * Taskswitcher ecom plugin which is loaded by AknCapServer as an alternate Fast 
- * Swap. Uses P&S to show/dismiss the Taskswitcher application. 
- */
-class CTsEcomPlugin : public CAknCapAppServerAlternateFs
-    {
-public:
-    
-    /**
-     * Symbian two phased constructors.
-     *
-     * @return CTsEcomPlugin pointer.
-     */
-    static CTsEcomPlugin* NewL();
-    
-    /**
-     * Destructor.
-     */
-    ~CTsEcomPlugin();
-    
-public: 
-    
-    // From CAknCapAppServerAlternateFs
-    /**
-     * Shows the alternate fast swap.
-     */
-    virtual void Show();
-
-    /**
-     * Dismisses the alternate fast swap.
-     */
-    virtual void Dismiss();
-
-    /**
-     * Checks if alternate fast swap is currently visible.
-     * 
-     * @return ETrue If alternate FS is visible.
-     */    
-    virtual TBool IsVisible();
-
-    /**
-     * Checks if alternate fast swap is ready to be shown.
-     * 
-     * @return ETrue If alternate FS is ready.
-     */    
-    virtual TBool IsReady();
-
-    /**
-     * Forward long app key to the alternate fast swap.
-     */
-    virtual void HandleLongAppKeyPress();
-
-    /**
-     * Forward short app key to the alternate fast swap.
-     */
-    virtual void HandleShortAppKeyPress();
-
-private:
-
-    /**
-     * Default constructor, implicitly called by NewL().
-     */
-    CTsEcomPlugin();
-    
-    /**
-     * 2nd phase construction, called by NewL().
-     */
-    void ConstructL();
-    
-    /**
-     * Sets the P&S property to given value.
-     * 
-     * @param aValue Value
-     */
-    void SetTaskswitcherStateProperty( TInt aValue );
-    
-    /**
-     * Defines the P&S property.
-     */
-    void DefineTaskswitcherStateProperty();
-
-    };
-    
-#endif // TSAPPECOM_H
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecomconst.hrh	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Taskswitcher application ecom plugin UIDs
-*
-*/
-
-
-#ifndef TSAPPECOMCONST_HRH
-#define TSAPPECOMCONST_HRH
-                          
-#define KTsAppPluginDllUid 0x2001FD72
-#define KTsAppPluginImplementationUid 0x2001FD72
-
-#endif // TSAPPECOMCONST_HRH
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecomlogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for tsappecom
-*
-*/
-
-
-#ifdef _DEBUG
-_LIT( KTsLogFile, "tsappecom.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID KTsAppPluginDllUid
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/src/proxy.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  Taskswitcher application ecom plugin
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "tsappecom.h"
-#include "tsappecomconst.hrh"
-
-// Provides a key value pair table, this is used to identify
-// the correct construction function for the requested interface.
-const TImplementationProxy ImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY( 
-        KTsAppPluginImplementationUid,
-        CTsEcomPlugin::NewL )
-    };
-
-// Function used to return an instance of the proxy table.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-    TInt& aTableCount )
-    {
-    aTableCount 
-        = sizeof ( ImplementationTable ) / sizeof( TImplementationProxy );
-    return ImplementationTable;
-    }
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/src/tsappecom.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +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:  Taskswitcher application ecom plugin
- *
-*/
-
- 
-#include <e32property.h>
-#include <apgtask.h>
-#include <eikenv.h>
-
-#include "tsappecomconst.hrh"
-#include "tsappecom.h"
-
-#include "tsappecomlogging.h"
-
-// AknCapServer UID, used for P&S category
-const TUid KTaskswitcherStateCategory = { 0x10207218 };
-
-// Taskswitcher UI, used as P&S key
-const TInt KTaskswitcherStateKey = 0x20016BF0;
-
-// Values for Taskswitcher launching P&S
-const TInt KTaskswitcherBackgroundValue = 1;
-const TInt KTaskswitcherForegroundValue = KTaskswitcherBackgroundValue << 1;
-const TInt KTaskswitcherShortAppKeyPressed = KTaskswitcherForegroundValue << 1;
-const TInt KTaskswitcherLongAppKeyPressed = KTaskswitcherShortAppKeyPressed << 1;
-
-// Taskswitcher application UID, for checking if taskswitcher is running
-const TUid KTaskswitcherAppUidValue = { 0x20016BF0 };
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::CTsEcomPlugin()
-// Default constructor for first phase construction.
-// ---------------------------------------------------------------------------
-//
-CTsEcomPlugin::CTsEcomPlugin()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::NewL()
-// Standard NewL.
-// ---------------------------------------------------------------------------
-//
-CTsEcomPlugin* CTsEcomPlugin::NewL()
-    {
-    CTsEcomPlugin* self = new ( ELeave ) CTsEcomPlugin;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::ConstructL()
-// 2nd phase construction.
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::ConstructL()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    DefineTaskswitcherStateProperty();
-    
-    TSLOG_OUT();
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::~CTsEcomPlugin()
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CTsEcomPlugin::~CTsEcomPlugin()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::Show
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::Show()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::Show, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    value &= ~KTaskswitcherBackgroundValue;
-    value |= KTaskswitcherForegroundValue;
-    SetTaskswitcherStateProperty( value );  
-    
-    TSLOG_OUT();    
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::Dismiss
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::Dismiss()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::Dismiss, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    value &= ~KTaskswitcherForegroundValue;
-    value |= KTaskswitcherBackgroundValue;
-    SetTaskswitcherStateProperty( value );  
-    
-    TSLOG_OUT();     
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::HandleLongAppKeyPress
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::HandleLongAppKeyPress()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::Show, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    value &= ~KTaskswitcherShortAppKeyPressed;
-    value |= KTaskswitcherLongAppKeyPressed;
-    SetTaskswitcherStateProperty( value );    
-    
-    TSLOG_OUT();    
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::HandleShortAppKeyPress
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::HandleShortAppKeyPress()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::Dismiss, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    value &= ~KTaskswitcherLongAppKeyPressed;
-    value |= KTaskswitcherShortAppKeyPressed;
-    SetTaskswitcherStateProperty( value ); 
-    
-    TSLOG_OUT();     
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::IsVisible
-// ---------------------------------------------------------------------------
-//
-TBool CTsEcomPlugin::IsVisible()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::IsVisible, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    if ( value & KTaskswitcherForegroundValue )
-        {
-        TSLOG_OUT();
-        return ETrue;
-        }
-    TSLOG_OUT();
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::IsReady
-// ---------------------------------------------------------------------------
-//
-TBool CTsEcomPlugin::IsReady()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::IsReady, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TBool ret = EFalse;    
-    CEikonEnv* eikonEnv = CEikonEnv::Static();
-    
-    if ( eikonEnv )
-        {
-        TApaTaskList taskList( eikonEnv->WsSession() );
-        TApaTask task = taskList.FindApp( KTaskswitcherAppUidValue ); 
-    
-        if ( task.Exists() )
-            {
-            ret = ETrue;
-            }
-        }
-    
-    TSLOG1_OUT( "IsReady returns: %d", ret );
-    return ret;
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsEcomPlugin::SetTaskswitcherStateProperty
-// -----------------------------------------------------------------------------
-//
-void CTsEcomPlugin::SetTaskswitcherStateProperty( TInt aValue )
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::SetTaskswitcherShowProperty, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    if ( RProperty::Set( 
-            KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue ) != KErrNone )
-        {
-        DefineTaskswitcherStateProperty();
-        TInt error = 
-            RProperty::Set( KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue );
-        if ( error != KErrNone )
-            {
-            TSLOG1( TSLOG_INFO, "RProperty::Set Error: %d", error ); 
-            }        
-        }
-    
-    TSLOG_OUT();    
-    }
-
-// -----------------------------------------------------------------------------
-// CTsEcomPlugin::DefineTaskswitcherStateProperty
-// -----------------------------------------------------------------------------
-//
-void CTsEcomPlugin::DefineTaskswitcherStateProperty()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::DefineTaskswitcherShowProperty, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt error = RProperty::Define( 
-            KTaskswitcherStateCategory, KTaskswitcherStateKey, RProperty::EInt );
-    if ( error != KErrNone )
-        {
-        TSLOG1( TSLOG_INFO, "RProperty::Define Error: %d", error );
-        }              
-    
-    TSLOG_OUT();
-    }
-
-// End of file 
--- a/taskswitcher/taskswitcherui/trace/tslogging.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +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:  Defines all available logging macros.
-*
-*/
-
-
-#ifndef TSLOGLOGUTILS_H
-#define TSLOGLOGUTILS_H
-
-/**
- * @file
- * 
- * TAKING LOGGING INTO USE:
- * 
- * This step is needed to do once per component.
- * 
- * For each component that uses these common logging macros should specify
- * their own logging configuration file, which includes this file. In that
- * configuration file, following constants and macros must be defined.
- *  For example:
- * @code
- * 
- * _LIT( KTsLogFile, "text_file_for_logging.txt" );
- * _LIT( KTsLogPath, "folder_for_text_file" );
- * #define _TSLOG_LOG_COMPONENT_ID <some unique number here>
- * 
- * #include "tslogging.h"
- * 
- * @/code
- * 
- * KTsLogFile   : This is the name of the file, where all the logs for
- *                this components are being written.
- * 
- * KTsLogPath   : This is the folder name under c:\logs, where the file
- *                is to be stored. For example, if KTsLogPath is "test",
- *                log file is created into folder c:\logs\test.
- * 
- * _TSLOG_LOG_COMPONENT_ID  : Unique number id of the component. This is 
- *                            for filtering purposes.
- * 
- * _TSLOG_RDEBUG    : When defined tracing instead of file logging. 
- *                    Default is for file logging.
- * 
- * --------------------------------------------------------------------------
- * 
- * USING LOGGING:
- * 
- * Basically the use is simple, register function use with TSLOG_CONTEXT, 
- * then log function enter by any TSLOG_IN -macro, then possibly use TSLOG
- * -macros for function logging and finally TSLOG_OUT -macros for returning
- * from the function.
- * 
- * @code
- * TInt CGood::Example( TInt aSomething )
- *     {
- *     // Create log context class, which is maintained for lifetime of the 
- *     // method. 
- *     TSLOG_CONTEXT( Example, TSLOG_LOCAL );
- * 
- *     // Indicate we are entering the function. 
- *     TSLOG_IN1( "aSomething contains value %d", aSomething );
- * 
- *     // Your buggy code...
- * 
- *     // Before leaving, indicate function execution has ended.
- *     TSLOG_OUT();
- * 
- *     return 0;
- *     }
- * @/code
- */
-
-#include <e32def.h>
-#include <e32std.h>
-
-#include "tslogutils.h"
-
-#define TSLOG_API 0
-#define TSLOG_LOCAL 1
-
-#define TSLOG_INFO 0
-#define TSLOG_WARNING 1
-#define TSLOG_ERROR 2
-
-#define TSLOG_ASSERT(_assertion)  __TSLOG_ASSERT_DBG(_assertion) 
-#define TSLOG_TRACE_ASSERT(_assertion) __ASSERT_DEBUG((_assertion), User::Invariant() )
-
-#ifdef _DEBUG
-            
-/*****************************************************************************
- LOGGING MACROS - LOGGING ON
-*****************************************************************************/             
-
-    /** 
-     * Context initialization 
-     * NOTE: TSLOG_STATIC_CONTEXT is meant for static methods.
-     * 
-     * @param _fn   Name of the function.
-     * @param _vis  Visibility for the client, use values TSLOG_API or TSLOG_LOCAL
-     * @param _thdId For static functions, thread id can be given here.
-     */
-    #define TSLOG_CONTEXT(_fn, _vis ) _TTsLogContext _dc((TText*)L ## #_fn, _TSLOG_LOG_COMPONENT_ID, _vis, (TUint)this, RProcess().SecureId().iId )
-    #define TSLOG_STATIC_CONTEXT(_fn, _vis, _thdId) _TTsLogContext _dc((TText*)L ## #_fn, _TSLOG_LOG_COMPONENT_ID, _vis, _thdId, RProcess().SecureId().iId )
-
-    /** 
-     * Entering function 
-     * 
-     * @param string    Custom text. Example: TSLOG_IN0( "Yeah!!!" );
-     * @param p1 - p5   For multiple variables in same string.
-     */
-    #define TSLOG_IN() do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s "), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_ENTRY(); } while(0)
-    #define TSLOG0_IN(string) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_ENTRY(); } while(0)
-    #define TSLOG1_IN(string, p1) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); _MARK_ENTRY(); } while(0)
-    #define TSLOG2_IN(string, p1, p2) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); _MARK_ENTRY(); } while(0)
-    #define TSLOG3_IN(string, p1, p2, p3) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); _MARK_ENTRY(); } while(0)
-    #define TSLOG4_IN(string, p1, p2, p3, p4) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); _MARK_ENTRY(); } while(0)
-    #define TSLOG5_IN(string, p1, p2, p3, p4, p5) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); _MARK_ENTRY(); } while(0)
-
-    /** Leaving function */
-    #define TSLOG_OUT() do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s "), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_EXIT(); } while(0)
-    #define TSLOG0_OUT(string) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_EXIT(); } while(0)
-    #define TSLOG1_OUT(string, p1) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); _MARK_EXIT(); } while(0)
-    #define TSLOG2_OUT(string, p1, p2) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); _MARK_EXIT(); } while(0)
-    #define TSLOG3_OUT(string, p1, p2, p3) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); _MARK_EXIT(); } while(0)
-    #define TSLOG4_OUT(string, p1, p2, p3, p4) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); _MARK_EXIT(); } while(0)
-    #define TSLOG5_OUT(string, p1, p2, p3, p4, p5) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); _MARK_EXIT(); } while(0)
-
-    /** Leaving function with return value */
-    #define TSLOG0_RET(val, fmtstr) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG1_RET(val, fmtstr, p1) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG2_RET(val, fmtstr, p1, p2) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG3_RET(val, fmtstr, p1, p2, p3) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG4_RET(val, fmtstr, p1, p2, p3, p4) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3, p4); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG5_RET(val, fmtstr, p1, p2, p3, p4, p5) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3, p4, p5); _MARK_EXIT(); } while(0); return val;} while(0)
-
-    /** 
-     * General log lines 
-     * 
-     * @param level     This can be used as internal information 
-     *                  field, such as info, error, warning etc.
-     * @param string    Custom string
-     * @param p1 - p5   For multiple variables in same string.
-     */
-    #define TSLOG0(level, string) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); } while(0)
-    #define TSLOG1(level, string, p1) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); } while(0)
-    #define TSLOG2(level, string, p1, p2) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); } while(0)
-    #define TSLOG3(level, string, p1, p2, p3) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); } while(0)
-    #define TSLOG4(level, string, p1, p2, p3, p4) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); } while(0)
-    #define TSLOG5(level, string, p1, p2, p3, p4, p5) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); } while(0)
-
-    /** Error logging */
-    #define __TSLOG_ASSERT_DBG( _assertion ) do { if( _assertion ) { break; } TFileName file; file.Copy( _L8( __FILE__ ) );   _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s Assert:%S:%d:" L ## #_assertion) , _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, &file, __LINE__ ); User::Invariant(); } while( 0 )
-    #define __TSLOG_TRACE_ASSERT_DBG(_assertion, _textToPrint, _panicCode)  do { if (_assertion) { break; } _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s ASSERTION FAILED!!! %s file: %s, line: %s"), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, _textToPrint, __FILE__, __LINE__); User::Panic(_L("AssertionFailed"), _panicCode} while(0)
-    #define TSLOG_TRAPHANDLER() _TTsLogTrapHandler _traceTrapHandler; _traceTrapHandler.oldHandler = User::SetTrapHandler(&_traceTrapHandler)
-
-/*****************************************************************************
- LOGGING MACROS - NO LOGGING
-*****************************************************************************/ 
-#else // _DEBUG
-
-    #define TSLOG_CONTEXT(_fn, _vis )
-    #define TSLOG_STATIC_CONTEXT(_fn, _vis, _thdId)
-
-    #define TSLOG_IN()
-    #define TSLOG0_IN(string)
-    #define TSLOG1_IN(string, p1)
-    #define TSLOG2_IN(string, p1, p2)
-    #define TSLOG3_IN(string, p1, p2, p3)
-    #define TSLOG4_IN(string, p1, p2, p3, p4)
-    #define TSLOG5_IN(string, p1, p2, p3, p4, p5)
-
-    #define TSLOG_OUT()
-    #define TSLOG0_OUT(string)
-    #define TSLOG1_OUT(string, p1)
-    #define TSLOG2_OUT(string, p1, p2)
-    #define TSLOG3_OUT(string, p1, p2, p3)
-    #define TSLOG4_OUT(string, p1, p2, p3, p4)
-    #define TSLOG5_OUT(string, p1, p2, p3, p4, p5)
-
-    #define TSLOG0_RET(val, fmtstr) return val
-    #define TSLOG1_RET(val, fmtstr, p1) return val
-    #define TSLOG2_RET(val, fmtstr, p1, p2) return val
-    #define TSLOG3_RET(val, fmtstr, p1, p2, p3) return val
-    #define TSLOG4_RET(val, fmtstr, p1, p2, p3, p4) return val
-    #define TSLOG5_RET(val, fmtstr, p1, p2, p3, p4, p5) return val
-
-    #define TSLOG0(level, string)
-    #define TSLOG1(level, string, p1)
-    #define TSLOG2(level, string, p1, p2)
-    #define TSLOG3(level, string, p1, p2, p3)
-    #define TSLOG4(level, string, p1, p2, p3, p4)
-    #define TSLOG5(level, string, p1, p2, p3, p4, p5)
-    
-    #define BIND_TRACE_TRAPHANDLER()
-    #define TRACE_DECL() TInt _iTraceThreadId
-    #define TRACE_FAST_CREATE(_thdId) _thdId++;
-    #define TRACE_CREATE()
-
-    #define __TSLOG_ASSERT_DBG(_assertion)
-    #define __TRACE_ASSERT_DBG(_assertion, _message, _panicCode )
-
-#endif // _DEBUG
-
-#endif      // TSLOGLOGUTILS_H
-            
-// End of File
--- a/taskswitcher/taskswitcherui/trace/tslogutils.h	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +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:  Logging behavior
-*
-*/
-
-
-#ifndef TSLOGUTILS_H
-#define TSLOGUTILS_H
-
-/**
- * NOTE: This file contains the logic related to logging. Change only if you
- * know what you're doing.
- */
-
-
-
-
-
-
-
-
-
-
-#ifdef _DEBUG
-
-#include <e32debug.h>
-#include <e32std.h>
-
-static const TUint TSLOGERR   = 2;  /**< Used to create an error message */
-
-// These macros are real macros, that should be used. For temporary purposes, these
-// are left out and the logging is done by simple entry logging
-#define _TSLOG_UNCONTROLLED_INPUT_MSG  L"%s%d[%x:%x:%x]>%s UNCONTROLLED ENTRY!"
-#define _TSLOG_MULTIPLE_ENTRY_MSG      L"%s%d[%x:%x:%x]%s  ADDITIONAL ENTRY!"
-#define _TSLOG_UNCONTROLLER_EXIT_MSG   L"%s%d[%x:%x:%x]<%s UNCONTROLLED EXIT!"
-#define _TSLOG_MULTIPLE_EXIT_MSG       L"%s%d[%x:%x:%x]%s  ADDITIONAL EXIT!"
-#define _TSLOG_TRAP_HARNESS_ENTRY      L"_D%d[%x:%x:%x]TraceFramework: Entering trap harness"
-#define _TSLOG_TRAP_HARNESS_EXIT       L"_D%d[%x:%x:%x]TraceFramework: Exiting trap harness"
-#define _TSLOG_TRAP_HARNESS_LEAVE      L"_D%d[%x:%x:%x]TraceFramework: ---------- LEAVE OCCURRED !!! ---------- "
-#define _TSLOG_API_PREFIX              L"_A"
-#define _TSLOG_LOCAL_PREFIX            L"_L"
-
-/**
-* @file 
-* trace_utils.h contains definitions needed for advanced tracing features.
-* Tracing can be customized using the following compile time flags:
-* - <b>_DEBUG</b>
-*   - With this flag undefined, all traces are disabled
-* - <b>__KERNEL_MODE__</b>
-*   - if kernel mode flag is defined, kernel macro variants are used (no unicode or shared heap related stuff, faster)
-* - <b>DISABLE_SYNTAX_CHECK</b>
-*   - If this flag is defined, runtime syntax checking features are disabled from traces
-*/
-#ifndef DISABLE_SYNTAX_CHECK
-    #define _MARK_ENTRY() _dc.inOk=ETrue
-    #define _DOINCHK() _dc.DoInChk()
-    #define _CHK_MULTIIN() _dc.ChkMultiIn()
-    #define _CHK_MULTIOUT() _dc.ChkMultiOut()
-    #define _MARK_EXIT() _dc.outOk=ETrue
-#else
-    #define _MARK_ENTRY()
-    #define _DOINCHK()
-    #define _CHK_MULTIIN()
-    #define _CHK_MULTIOUT()
-    #define _MARK_EXIT()
-#endif // DISABLE_SYNTAX_CHECK
-    
-/** For tracing */
-#ifdef _TSLOG_RDEBUG
-    #define _IT(a) (TPtrC((const TText *)(a)))
-    #define _TSLOGPRINTER RDebug::Print        
-        
-/** For filedebug */
-#else   // _TSLOG_RDEBUG
-
-    /** Includes */
-    #include <e32base.h>
-    #include <e32std.h>
-    #include <e32def.h>
-    #include <e32svr.h>
-
-// both of headers defines KLogBufferSize
-#ifndef __COMMSDEBUGUTILITY_H__
-    #include <flogger.h>
-#endif
-
-    #define _IT(a) KTsLogPath, KTsLogFile, EFileLoggingModeAppend, (TPtrC((const TText *)(a)))    
-    #define _TSLOGPRINTER RFileLogger::WriteFormat    
-#endif // _TSLOG_RDEBUG    
-
-class _TTsLogContext
-    {
-    public:
-        _TTsLogContext(
-            const TText* _fn, 
-            const TUint _id, 
-            const TUint _vis, 
-            const TUint _addr, 
-            const TUint _thdId, 
-            const TUint _category=0 )
-            : 
-            iFn(_fn), 
-            iId(_id), 
-            iApi((TBool)_vis), 
-            iAddr(_addr), 
-            iThdId(_thdId), 
-            iVis((_vis == 0 ? (TText*)_TSLOG_API_PREFIX : (TText*)_TSLOG_LOCAL_PREFIX)),
-            iCategory(_category)            
-        #ifndef DISABLE_SYNTAX_CHECK
-            ,outOk(EFalse), inOk(EFalse)
-        #endif
-            {
-            }
-        ~_TTsLogContext() 
-            {
-            #ifndef DISABLE_SYNTAX_CHECK
-                do
-                    {                   
-                    DoInChk();
-                    if (!outOk)
-                        {
-                        _TSLOGPRINTER(_IT(_TSLOG_UNCONTROLLER_EXIT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);
-                        }
-                    } while (0);
-            #endif // DISABLE_SYNTAX_CHECK
-            }
-
-        const TText* iFn;
-        const TUint iId;
-        const TText* iVis;
-        const TUint iAddr;
-        const TInt iThdId;
-        const TBool iApi;
-        const TUint iCategory;
-        
-        #ifndef DISABLE_SYNTAX_CHECK
-            inline void DoInChk()
-                {
-                if (!inOk)
-                    {
-                    _TSLOGPRINTER(_IT(_TSLOG_UNCONTROLLED_INPUT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);
-                    inOk = ETrue;
-                    }
-                }
-                        
-            inline void ChkMultiIn()
-                {
-                if (inOk)
-                    {
-                    _TSLOGPRINTER(_IT(_TSLOG_MULTIPLE_ENTRY_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);                
-                    }
-                }
-    
-            inline void ChkMultiOut()
-                {
-                if (outOk)
-                    {           
-                    _TSLOGPRINTER(_IT(_TSLOG_MULTIPLE_EXIT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);                                        
-                    }
-                }
-
-            TBool inOk;
-            TBool outOk;
-        #endif // DISABLE_SYNTAX_CHECK
-    };
-    
-class _TTsLogTrapHandler: public TTrapHandler
-    {
-    public:
-
-        _TTsLogTrapHandler(_TTsLogContext& _context) : _dc( _context ) 
-            {
-            RThread me;
-            iThdId = (TInt)me.Id();
-            }
-    	void Trap() 
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_ENTRY), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->Trap();
-    	    } 
-    	void UnTrap()
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_EXIT), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->UnTrap();
-    	    }	
-    	void Leave(TInt aValue)
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_LEAVE), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->Leave(aValue);
-    	    }	
-    	TTrapHandler* oldHandler;
-    private:
-        _TTsLogContext& _dc;
-        TInt iThdId;
-    };
-    
-#endif // _DEBUG    
-
-#endif // TSLOGUTILS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/common.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,142 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: taskswitcherapp project - common QMake settings
+#
+
+CONFIG += debug_and_release
+
+# On win32 and mac, debug and release libraries are named differently.
+# We must follow the debug and release settings Qt was compiled with:
+# build debug iff Qt built debug, build release iff Qt built release.
+win32|mac {
+    !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
+        CONFIG -= debug_and_release debug release
+        contains(QT_CONFIG,debug):  CONFIG+=debug
+        contains(QT_CONFIG,release):CONFIG+=release
+    }
+}
+
+CONFIG(debug, debug|release) {
+    SUBDIRPART = debug
+} else {
+    SUBDIRPART = release
+}
+
+win32: OUTPUT_DIR = $$PWD/../../bin/$$SUBDIRPART
+symbian: OUTPUT_DIR = $$PWD/bin
+
+SOURCE_DIR = $$PWD/inc
+
+#test whether we have a unit test
+!testcase {
+    OBJECTS_DIR = $$OUTPUT_DIR/tmp/$$TARGET
+    DESTDIR = $$OUTPUT_DIR
+    MOC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/moc
+    RCC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/rcc
+    UI_DIR = $$OUTPUT_DIR/tmp/$$TARGET/ui
+} else { # test part is NOT DONE
+    QT *= testlib
+    CONFIG += console
+    CONFIG -= app_bundle
+    OBJECTS_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET
+    DESTDIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART
+    MOC_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/moc
+    RCC_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/rcc
+    UI_DIR = $$OUTPUT_DIR/bin/tests/$$SUBDIRPART/tmp/$$TARGET/ui
+    LIBS += -L$$OUTPUT_DIR/bin/$$SUBDIRPART/bin  #link against library that we test
+}
+
+# Add the output dirs to the link path too
+LIBS += -L$$DESTDIR
+
+DEPENDPATH += . $$SOURCE_DIR
+INCLUDEPATH += . $$SOURCE_DIR
+#For some reason the default include path doesn't include MOC_DIR on symbian
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += $$MOC_DIR
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.EPOCALLOWDLLDATA=1
+}
+
+win32 {
+    # add platfrom API for windows
+    INCLUDEPATH += \
+                $$PWD/../../homescreensrv/homescreensrv_plat/appruntimemodel_api \
+                $$PWD/../../homescreensrv/homescreensrv_plat/contentstorage_api \
+                $$PWD/../../homescreensrv/homescreensrv_plat/hswidgetmodel_api \
+                $$PWD/../../homescreensrv/homescreensrv_plat/servicemodel_api \
+                $$PWD/../../homescreensrv/homescreensrv_plat/statemodel_api
+}
+
+plugin: !isEmpty(PLUGIN_SUBDIR): DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR
+
+win32: plugin { # copy manifiers
+    manifest.path = $$DESTDIR
+    manifest.files = ./resource/*.manifest
+    manifest.CONFIG += no_build
+
+    INSTALLS += manifest
+    PRE_TARGETDEPS += install_manifest
+
+}
+
+symbian: plugin { # copy qtstub and manifest
+
+    pluginstub.sources = $${TARGET}.dll
+    pluginstub.path = $$PLUGIN_SUBDIR
+
+    manifest.sources = resource/$${TARGET}.manifest
+    manifest.path = $$PLUGIN_SUBDIR
+    
+    DEPLOYMENT += pluginstub manifest
+
+    qtplugins.path = $$PLUGIN_SUBDIR
+    qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
+    qtplugins.sources += resource/$${TARGET}.manifest
+
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)"
+
+}
+
+defineTest(exportResources) {
+symbian {
+    for(subdirs, 1) {
+        entries = $$files($$subdirs)
+        for(entry, entries) : BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)"
+    }
+    export ( BLD_INF_RULES.prj_exports)
+}
+win32 {
+    name = $$replace(1, [/\\\\\.\*], _)
+    eval ($${name}.path = $${OUTPUT_DIR}/$${2})
+    eval ($${name}.files = $$1)
+    eval ($${name}.CONFIG += no_build)
+
+    INSTALLS += $$name
+    PRE_TARGETDEPS += install_$${name}
+
+    export ( $${name}.path )
+    export ( $${name}.files )
+    export ( $${name}.CONFIG )
+    export ( INSTALLS )
+    export ( PRE_TARGETDEPS )
+}
+}
+
+# support for NFT
+nft:DEFINES += NFT
+
+#ONLY FOR DEVELOPMENT! REMOVE THIS AFTER SPRINTS ENDS AT WK43 2009!
+symbian: MMP_RULES += EXPORTUNFROZEN
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/rom.pri	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,21 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>"
+BLD_INF_RULES.prj_exports += "rom/tsapplication_core.iby  CORE_APP_LAYER_IBY_EXPORT_PATH(tsapplication_core.iby)"
+BLD_INF_RULES.prj_exports += "rom/tsapplication_resources.iby  LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(tsapplication_resources.iby)"
+BLD_INF_RULES.prj_exports += "./sis/stubs/taskswitcher_stub.sis  /epoc32/release/winscw/udeb/z/system/install/taskswitcher_stub.sis"
+BLD_INF_RULES.prj_exports += "./sis/stubs/taskswitcher_stub.sis  /epoc32/data/z/system/install/taskswitcher_stub.sis"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/rom/tsapplication_core.iby	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#ifndef __TSAPP_CORE_IBY__
+#define __TSAPP_CORE_IBY__
+
+file=ABI_DIR\BUILD_DIR\tsapplication.exe                            PROGRAMS_DIR\tsapplication.exe
+data=ZPRIVATE\10003a3f\import\apps\tsapplication_reg.rsc            private\10003a3f\import\apps\tsapplication_reg.rsc
+data=\epoc32\data\z\resource\apps\tsapplication.rsc                 resource\apps\tsapplication.rsc
+
+ECOM_PLUGIN( tsappecom.dll, tsappecom.rsc )
+
+file=ABI_DIR\BUILD_DIR\tsserviceplugin.dll					       SHARED_LIB_DIR\tsserviceplugin.dll
+data=\epoc32\data\z\resource\qt\plugins\tsserviceplugin.qtplugin    resource\qt\plugins\tsserviceplugin.qtplugin
+
+file=ABI_DIR\BUILD_DIR\tsdefaultruntimeplugin.dll					       SHARED_LIB_DIR\tsdefaultruntimeplugin.dll
+data=\epoc32\data\z\resource\qt\plugins\tsdefaultruntimeplugin.qtplugin    resource\qt\plugins\tsdefaultruntimeplugin.qtplugin
+
+// stub sis
+data=ZSYSTEM/install/taskswitcher_stub.sis                  system/install/taskswitcher_stub.sis
+
+#endif //__TSAPP_CORE_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/rom/tsapplication_resources.iby	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#ifndef __TSAPP_LANGUAGE_IBY__
+#define __TSAPP_LANGUAGE_IBY__
+
+// -------- hsapplication
+data=DATAZ_\resource\qt\translations\taskswitcher.qm resource\qt\translations\taskswitcher.qm 
+
+#endif //__TSAPP_LANGUAGE_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/runtimeplugins.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: runtimeplugins.pro
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  = tsdefaultruntimeplugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/inc/tsdefaultruntime.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Default Screensaver runtime.
+*
+*/
+
+#ifndef TSDEFAULTRUNTIME_H
+#define TSDEFAULTRUNTIME_H
+
+#include <QStateMachine>
+#include <qservicemanager.h>
+
+QTM_USE_NAMESPACE
+
+class TsDefaultRuntime : public QStateMachine
+{
+    Q_OBJECT
+
+public:
+    TsDefaultRuntime(QObject *parent = 0);
+
+signals:
+    void event_exit();
+
+private:
+    Q_DISABLE_COPY(TsDefaultRuntime)
+    QObject *createCriticalInterface(QServiceManager *serviceManager, const QString &name);
+
+};
+
+#endif // TSDEFAULTRUNTIME_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/inc/tsdefaultruntimeplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Default runtime provider.
+*
+*/
+
+#ifndef TSDEFAULTRUNTIMEPLUGIN_H
+#define TSDEFAULTRUNTIMEPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class TsDefaultRuntimePlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, QServiceContext *context, QAbstractSecuritySession *session);
+    
+};
+
+#endif // TSDEFAULTRUNTIMEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/serviceinstaller.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+#
+
+TEMPLATE = subdirs
+SUBDIRS = tsdefaultruntimeinstaller
+
+symbian {
+    load(data_caging_paths) 
+
+    plugin.sources = tsdefaultruntimeplugin.dll
+    plugin.path = $$QT_PLUGINS_BASE_DIR 
+    
+    installer.pkg_postrules += "\"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/tsdefaultruntimeinstaller.exe\" \  
+                                         - \"!:\sys\bin\tsdefaultruntimeinstaller.exe\",FR,RI,RW"
+    
+    DEPLOYMENT += plugin installer
+} else {
+    message("You might need to run tsdefaultruntimeinstaller.exe before running any application that uses task switcher service")
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/bld.inf	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,34 @@
+// ============================================================================
+// * Makefile for building: tsdefaultruntimeinstaller
+// * Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-02-08T12:01:04
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// * Project:  tsdefaultruntimeinstaller.pro
+// * Template: app
+// ============================================================================
+
+#define BLD_INF_TSDEFAULTRUNTIMEINSTALLER_0DCA8979
+
+
+prj_platforms
+
+WINSCW GCCE ARMV5 ARMV6
+
+
+prj_mmpfiles
+
+tsdefaultruntimeinstaller_0xE2e19c9c.mmp
+
+prj_extensions
+
+START EXTENSION qt/qmake_extra_pre_targetdep
+OPTION PREDEP_TARGET X:/HS/homescreen/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/qrc_tsdefaultruntimeinstaller.cpp
+OPTION DEPS X:/HS/homescreen/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.qrc 
+OPTION COMMAND /epoc32/tools/qt/rcc -name tsdefaultruntimeinstaller x:/HS/homescreen/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.qrc -o x:/HS/homescreen/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/qrc_tsdefaultruntimeinstaller.cpp
+END
+
+#if defined(WINSCW)
+#else
+#endif
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+
+#include <qservicemanager.h>
+#include <QCoreApplication>
+
+QTM_USE_NAMESPACE
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+
+    QServiceManager manager;
+    bool success = manager.addService(":/tsdefaultruntimeplugin.xml");
+    if (!success) {
+        qDebug("Service adding failed: %d", manager.error());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+#
+
+TEMPLATE = app
+
+QT = core
+#TODO - temporarily disabled, until the installer issues on HW are resolved
+#CONFIG += no_icon
+
+CONFIG += console
+CONFIG += mobility
+MOBILITY = serviceframework
+
+SOURCES += tsdefaultruntimeinstaller.cpp
+
+RESOURCES += tsdefaultruntimeinstaller.qrc
+
+symbian {
+    TARGET.CAPABILITY = ALL -TCB
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/" >
+        <file alias="tsdefaultruntimeplugin.xml">../../tsdefaultruntimeplugin.xml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/src/tsdefaultruntime.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Default TaskSwitcher runtime.
+*
+*/
+
+#include <QAbstractItemModel>
+#include <QState>
+#include <QFinalState>
+#include <qservicemanager.h>
+
+#include "tsdefaultruntime.h"
+
+QTM_USE_NAMESPACE
+
+/*!
+    \class TsDefaultRuntime
+    \ingroup group_tsdefaultruntimeprovider
+    \brief Default implementation of the taskswitcher runtime.
+*/
+
+/*!
+    Constructs a new TsDefaultRuntime with parent.
+*/
+TsDefaultRuntime::TsDefaultRuntime(QObject *parent) : QStateMachine(parent)
+{
+    // load services
+    // FIXME: workaround for bug in QtSF - can't destroy QServiceManager
+    QServiceManager *serviceManager = new QServiceManager;  
+    QObject *itemProvider = createCriticalInterface(serviceManager, "com.nokia.taskswitcher.itemprovider");
+    QObject *activation = createCriticalInterface(serviceManager, "com.nokia.taskswitcher.activation");
+    QObject *deactivation = createCriticalInterface(serviceManager, "com.nokia.taskswitcher.deactivation");
+    QObject *presentation = createCriticalInterface(serviceManager, "com.nokia.taskswitcher.presentation");
+
+    // create states
+    QState *taskSwitcherStates = new QState(this);
+    QState *backgroundState = new QState(taskSwitcherStates);
+    QState *activeState = new QState(taskSwitcherStates);
+    QFinalState *finalState = new QFinalState(this);
+    setInitialState(taskSwitcherStates);
+    taskSwitcherStates->setInitialState(backgroundState);
+
+    // Forward signals emited by statemachine.
+    backgroundState->addTransition(activation, SIGNAL(activated()), activeState);
+    activeState->addTransition(deactivation, SIGNAL(deactivated()), backgroundState);
+    taskSwitcherStates->addTransition(this, SIGNAL(event_exit()), finalState);
+
+    // exchange model between itemprovider and presentation service
+    QAbstractItemModel *model;
+    QMetaObject::invokeMethod(itemProvider, "model", Q_RETURN_ARG(QAbstractItemModel*, model));
+    QMetaObject::invokeMethod(presentation, "setModel", Q_ARG(QAbstractItemModel*, model));
+
+    // connect all services
+    connect(presentation, SIGNAL(openApplication(QModelIndex)), itemProvider, SLOT(openApplication(QModelIndex)));
+    connect(presentation, SIGNAL(closeApplication(QModelIndex)), itemProvider, SLOT(closeApplication(QModelIndex)));
+    connect(presentation, SIGNAL(closeAllApplications()), itemProvider, SLOT(closeAllApplications()));
+
+    connect(presentation, SIGNAL(hideTaskSwitcher()), deactivation, SIGNAL(deactivated()));
+
+    connect(activeState, SIGNAL(exited()), presentation, SLOT(hide()));
+    connect(activeState, SIGNAL(entered()), presentation, SLOT(show()));
+
+    connect(activeState, SIGNAL(exited()), itemProvider, SLOT(clearClosedApplicationList()));
+}
+
+/*!
+    Creates critical interface with /a name using passed /a serviceManager.
+*/
+QObject *TsDefaultRuntime::createCriticalInterface(QServiceManager *serviceManager, const QString &name)
+{
+    QObject *interface = serviceManager->loadInterface(name);
+    if (!interface) {
+        qFatal("Cannot initialize critical %s interafce.", qPrintable(name));
+    }
+    interface->setParent(this);
+    return interface;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/src/tsdefaultruntimeplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Default runtime provider.
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "tsdefaultruntimeplugin.h"
+#include "tsdefaultruntime.h"
+
+/*!
+    \class TsDefaultRuntimePlugin
+    \ingroup group_tsdefaultruntimeprovider
+    \brief Provides a default implementation of the taskswitcher runtime.
+
+    This provider includes a default implementation of the taskswitcher runtime.
+    The runtime is described in the tsdefaultruntimeplugin.xml file.
+*/
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+    Creates a runtime based on the given descriptor.
+*/
+QObject *TsDefaultRuntimePlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, QServiceContext *context, QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == "com.nokia.taskswitcher.runtime.defaultruntime") {
+        return new TsDefaultRuntime(this);
+    } else {
+        return NULL;
+    }
+}
+
+Q_EXPORT_PLUGIN2(tsdefaultruntimeplugin, TsDefaultRuntimePlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/tsdefaultruntimeplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  snsrdefaultruntimeplugin.pro
+#
+
+TEMPLATE = lib
+CONFIG += plugin mobility
+MOBILITY = serviceframework
+
+INCLUDEPATH += inc
+
+HEADERS +=  inc/tsdefaultruntime.h \
+            inc/tsdefaultruntimeplugin.h \
+
+SOURCES +=  src/tsdefaultruntime.cpp \
+            src/tsdefaultruntimeplugin.cpp \
+
+symbian {
+    load(data_caging_paths) 
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL -TCB
+
+    plugin.sources = tsdefaultruntimeplugin.dll
+    plugin.path = $$QT_PLUGINS_BASE_DIR     
+    DEPLOYMENT += plugin 
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/tsdefaultruntimeplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>TaskSwitcher</name>
+    <filepath>tsdefaultruntimeplugin</filepath>
+    <description>TaskSwitcher Runtime Plugin</description>
+    <interface>
+        <name>com.nokia.taskswitcher.runtime.defaultruntime</name>
+        <version>1.0</version>
+        <description>Default implementation for taskswitcher runtime</description>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/sis/buildSis.cmd	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,39 @@
+@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 off
+setlocal EnableDelayedExpansion
+set openpar=(
+set closepar=)
+
+if exist *.sis* ( del *.sis* )
+if exist tmp.pkg ( del tmp.pkg )
+
+copy /Y taskswitcher.pkg tmp.pkg > NUL
+
+echo Creating sis for each component:
+for /R .. %%i IN (*_template.pkg) DO set tmpname=%%~ni && set modulename=!tmpname:~0,-10!&& call createpackage %%i release-armv5 cert.cer key.pem > NUL && set sisname=%%~dpi!modulename!_release-armv5.sis && if exist !sisname! ( echo [SUCCEEDED] !modulename! [SUCCEEDED] && move !sisname! . && FOR /F "eol=( tokens=4 delims=({}" %%j IN (%%i) DO FOR /F "tokens=1 delims=)" %%k IN ("%%j") DO echo @"!modulename!_release-armv5.sis",!openpar!%%k!closepar! >> tmp.pkg ) else ( echo [FAILED] !modulename! [FAILED] )
+
+REM echo.
+
+echo Embedding all sis files into single sis
+makesis tmp.pkg taskswitcher.sis >NUL
+signsis taskswitcher.sis taskswitcher.sisx cert.cer key.pem >NUL
+
+echo Cleaning up
+del tmp.pkg
+del taskswitcher.sis
+del *_release-armv5.sis*
+pause
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/sis/edit_pkg.pl	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,225 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#Options:
+# -version  -adds Qt version (4,6,0) intp pkg files
+# -target  -replaces $(PLATFORM)/$(TARGET) into armv5/urel
+# -module  -creates script for module tests sis
+# -module  -delete module tests pkg
+# default -version
+
+use strict;
+use File::Find;
+my $base = `cd`;
+$base =~ s/\\\w+\s+$//; #move one dir upper 
+my $modulebase = `cd`;
+$modulebase =~s/(\s+)$//; #remove linefeed from end
+print $base;;
+my $qtversion = "\, 4\, 6\, 0\,";
+my $target = "armv5\/urel";
+
+my $qtversionchnage = 0;
+my $qtversionarg = "-version";
+my $targetchnage = 0;
+my $targetarg = "-target";
+my $module = 0;
+my $modulearg = "-module";
+my $delmodule = 0;
+my $delmodulearg = "-delmodule";
+my $moduledir = "modulesis";
+my $modulepath = $base."\\".$moduledir;
+my $ccert = $modulebase."\\"."cert.cer";
+my $ckey = $modulebase."\\"."key.pem";
+my $modulebatpath = $modulebase."\\".$moduledir."\\createmodulesis.bat"; 
+
+checkCmdLine();
+
+if ( $qtversionchnage == 1 || $targetchnage == 1 )
+	{
+	find( \&edits, $base );
+	}
+if ( $module == 1 )
+	{
+	system "mkdir $moduledir";
+	if ( not ( open (FWM, ">$modulebatpath") ) )
+		{
+		print "\n***Error: Couldn't open $modulebatpath file to write\n";
+		return;
+		}
+	binmode FWM;
+	print FWM "del /S/Q *.SIS\r\n";
+	print FWM "del /S/Q *.SISX\r\n";
+	close FWM;	
+	find( \&moduleSis, $base );
+	}	
+if ( $delmodule == 1 )
+	{
+	find( \&delModuleSis, $base );
+	}	
+
+sub edits() 
+	{
+	my $file=$_;
+	my $winpath=$File::Find::name;
+	$winpath=~s/\//\\/g;
+	if( -f $file  && $file=~/(_template\.pkg)$/i ) 
+		{
+		print "$winpath ";
+		system "attrib -R $winpath";
+		if ( not ( open (FR, $winpath) ) )
+			{
+			print "Error: Couldn't open $winpath file to read\n";
+			return;
+			}
+		binmode FR;
+		my $buf="";
+		my $length = 0;
+		$length = -s $winpath;
+		read( FR, $buf, $length );
+		close FR;
+		if ( $qtversionchnage == 1 )
+			{
+			$buf =~s/\,\s*\,\s*\,\s*\,\s*\{\"Qt\"\}/$qtversion \{\"Qt\"\}/si;
+			}
+		if ( $targetchnage == 1 )
+			{
+			$buf =~s/\$\(PLATFORM\)\/\$\(TARGET\)/$target/si;
+			}
+	    
+	    if ( not ( open (FW, ">$winpath") ) )
+			{
+			print "\n***Error: Couldn't open $winpath file to write\n";
+			return;
+			}
+		binmode FW;		
+		print FW $buf;
+	    close FW;		
+		
+		print "\r\n";
+		}
+	}
+
+sub checkCmdLine()
+	{
+	my $numArgs = $#ARGV + 1;
+	if ( $numArgs == 0 )
+		{
+		$qtversionchnage = 1;
+		}
+	else
+		{
+		foreach my $argnum ( 0 .. $#ARGV ) 
+			{
+			my $argName = lc $ARGV[$argnum];
+			if ( $argName eq $qtversionarg )
+				{
+				$qtversionchnage = 1;
+				}
+			elsif ( $argName eq $targetarg )
+				{
+				$targetchnage = 1;
+				}
+			elsif ( $argName eq $modulearg )
+				{
+				$module = 1;
+				}
+			elsif ( $argName eq $delmodulearg )
+				{
+				$delmodule = 1;
+				}
+			else
+				{
+				die "\n***Error: Bad arguments\n";
+				}
+			}
+		}
+	}
+	
+sub moduleSis()
+	{
+	my $file=$_;
+	my $winpath=$File::Find::name;
+	$winpath=~s/\//\\/g;	
+
+	
+	if( -f $file  && $file=~/(_template\.pkg)$/i && ( $file=~/^(t_)/i || $file=~/test/i ) ) 
+		{
+		print "$winpath ";
+		system "attrib -R $winpath";
+		if ( not ( open (FR, $winpath) ) )
+			{
+			print "Error: Couldn't open $winpath file to read\n";
+			return;
+			}
+		binmode FR;
+		my $buf="";
+		my $length = 0;
+		$length = -s $winpath;
+		read( FR, $buf, $length );
+		close FR;
+		$buf =~s/\,\s*\,\s*\,\s*\,\s*\{\"Qt\"\}/$qtversion \{\"Qt\"\}/si;
+		$buf =~s/\$\(PLATFORM\)\/\$\(TARGET\)/$target/si;
+	    
+	    if ( not ( open (FW, ">$winpath") ) )
+			{
+			print "Error: Couldn't open $winpath file to write\n";
+			return;
+			}
+		binmode FW;		
+		print FW $buf;
+	    close FW;				
+		print "\r\n";
+		
+		my $pkgname = sisName( $winpath );
+		
+		if ( not ( open (FWM2, ">>$modulebatpath") ) )
+			{			
+			print "Error: Couldn't open $modulebatpath file to append\n";
+			return;
+			}
+		binmode FWM2;		
+		print FWM2 "makesis $winpath $pkgname\.SIS\r\n";
+		print FWM2 "signsis $pkgname\.SIS $pkgname\.SISX $ccert $ckey\r\n";
+		close FWM2;	
+		}	
+	}
+		
+sub sisName()
+	{
+	my $path = shift;
+	my $name = "";
+	if ( $path =~ /\\(\w+)\.pkg/i )
+		{
+		$name = $1;
+		}
+	return $name;
+	}
+	
+sub delModuleSis()
+	{
+	my $file=$_;
+	my $winpath=$File::Find::name;
+	$winpath=~s/\//\\/g;	
+
+	
+	if( -f $file  && $file=~/(_template\.pkg)$/i && ( $file=~/^(t_)/i || $file=~/test/i ) ) 
+		{
+		print "Deleting: ";
+		print "$winpath ";
+		system "attrib -R $winpath";
+		system "del /S/Q $winpath";
+		print "\r\n";
+		}	
+	}	
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/sis/stubs/createstubs.bat	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,17 @@
+@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
+
+for %%f in (*.pkg) do makesis -s %%f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/sis/stubs/taskswitcher_stub.pkg	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+;
+; ------------------------------------------------------------------------------
+; Taskswitcher stub SIS package file.
+; Used to enable Taskswitcher to be updated from ROM with a SIS package.
+; When you add new files into this stub, please remember to update
+; SIS stub with "makesis -s" command.
+; ------------------------------------------------------------------------------
+;
+;Language - standard language definitions
+&EN
+
+; standard SIS file header
+#{"taskswitcher"},(0x2002677D),1,0,0,TYPE=SA
+
+;Localized Vendor Name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+""-"Z:\sys\bin\tsapplication.exe"
+""-"Z:\resource\apps\tsapplication.r??"
+""-"Z:\private\10003a3f\import\apps\tsapplication_reg.rsc"
+
+""-"Z:\sys\bin\tsappecom.dll"
+""-"Z:\resource\plugins\tsappecom.rsc"
+
+""-"Z:\sys\bin\tsserviceplugin.dll"
+""-"Z:\resource\qt\plugins\tsserviceplugin.qtplugin"
+
+""-"Z:\sys\bin\tsdefaultruntimeplugin.dll"
+""-"Z:\resource\qt\plugins\tsdefaultruntimeplugin.qtplugin"
+
+""-"Z:\resource\qt\translations\taskswitcher.qm"
Binary file taskswitcherapp/sis/stubs/taskswitcher_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/sis/taskswitcher.pkg	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+;
+
+;Language - standard language definitions
+&EN
+
+; standard SIS file header
+#{"taskswitcher"},(0x2002677D),1,0,0,TYPE=SA, RU
+
+;Localized Vendor Name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+"/epoc32/release/armv5/urel/tsapplication.exe"-"!:\sys\bin\tsapplication.exe"
+"/epoc32/data/z/resource/apps/tsapplication.rsc" -"!:\resource\apps\tsapplication.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/tsapplication_reg.rsc"-"!:\private\10003a3f\import\apps\tsapplication_reg.rsc"
+
+"/epoc32/release/armv5/urel/tsappecom.dll"-"!:\sys\bin\tsappecom.dll"
+"/epoc32/data/z/resource/plugins/tsappecom.rsc"-"!:\resource\plugins\tsappecom.rsc"
+
+"/epoc32/release/armv5/urel/tsserviceplugin.dll"-"!:\sys\bin\tsserviceplugin.dll"
+"/epoc32/data/z/resource/qt/plugins/tsserviceplugin.qtplugin"-"!:\resource\qt\plugins\tsserviceplugin.qtplugin"
+
+"/epoc32/release/armv5/urel/tsdefaultruntimeplugin.dll"-"!:\sys\bin\tsdefaultruntimeplugin.dll"
+"/epoc32/data/z/resource/qt/plugins/tsdefaultruntimeplugin.qtplugin"-"!:\resource\qt\plugins\tsdefaultruntimeplugin.qtplugin"
+
+"/epoc32/data/z/resource/qt/translations/taskswitcher.qm"-"!:\resource\qt\translations\taskswitcher.qm"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/taskswitcherapp.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS += taskswitcherappecom
+SUBDIRS += tsserviceplugin
+SUBDIRS += runtimeplugins
+SUBDIRS += tsapplication
+
+tests {
+    SUBDIRS += taskswitcherappecom\tsrc
+    SUBDIRS += tsserviceplugin\tsrc
+    SUBDIRS += runtimeplugins\tsdefaultruntimeplugin\tsrc
+    SUBDIRS += tsapplication\tsrc
+    SUBDIRS += internal\tstestrunner    
+}
+
+symbian:include(rom.pri)
+
+CONFIG += ordered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/taskswitcherappecom/data/tsappecom.rss	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Ecom registration file for alternate fast swap plugin
+*
+*/
+
+
+#include <ecom/registryinfo.rh>
+#include "tsappecomconst.hrh"
+#include "akncapserveralternatefspluginconst.hrh"
+
+RESOURCE REGISTRY_INFO theInfo
+    {
+    // UID for the DLL
+    dll_uid = KTsAppPluginDllUid;
+    // Declare array of interface info
+    interfaces = 
+        {
+        INTERFACE_INFO
+            {
+            // UID of interface that is implemented
+            interface_uid = KAknCapServerAlternateFsPluginInterfaceUid;
+            implementations = 
+                {
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = KTsAppPluginImplementationUid;
+                    version_no         = 1;
+                    display_name       = "";
+                    default_data       = "";
+                    opaque_data        = "";
+                    }
+                };
+            }
+        };
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/taskswitcherappecom/group/tsappecom.mmp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:  Taskswitcher application ecom plugin
+*
+*/
+
+
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+#include "../inc/tsappecomconst.hrh"
+
+TARGET          tsappecom.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D KTsAppPluginDllUid
+CAPABILITY      CAP_ECOM_PLUGIN
+
+SOURCEPATH      ../src
+SOURCE          proxy.cpp
+SOURCE          tsappecom.cpp
+
+USERINCLUDE     ../inc
+USERINCLUDE     ../../trace
+
+APP_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH      ../data
+START RESOURCE tsappecom.rss
+	TARGET tsappecom.rsc
+	TARGETPATH /resource/plugins
+END
+
+LIBRARY         euser.lib 
+LIBRARY         ecom.lib
+LIBRARY         apgrfx.lib
+LIBRARY         cone.lib
+
+DEBUGLIBRARY    flogger.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/taskswitcherappecom/inc/tsappecom.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Taskswitcher application ecom plugin
+*
+*/
+
+
+#ifndef TSAPPECOM_H
+#define TSAPPECOM_H
+
+#include <e32base.h>
+#include <akncapserveralternatefsplugin.h>
+
+/**
+ * Taskswitcher ecom plugin which is loaded by AknCapServer as an alternate Fast 
+ * Swap. Uses P&S to show/dismiss the Taskswitcher application. 
+ */
+class CTsEcomPlugin : public CAknCapAppServerAlternateFs
+    {
+public:
+    
+    /**
+     * Symbian two phased constructors.
+     *
+     * @return CTsEcomPlugin pointer.
+     */
+    static CTsEcomPlugin* NewL();
+    
+    /**
+     * Destructor.
+     */
+    ~CTsEcomPlugin();
+    
+public: 
+    
+    // From CAknCapAppServerAlternateFs
+    /**
+     * Shows the alternate fast swap.
+     */
+    virtual void Show();
+
+    /**
+     * Dismisses the alternate fast swap.
+     */
+    virtual void Dismiss();
+
+    /**
+     * Checks if alternate fast swap is currently visible.
+     * 
+     * @return ETrue If alternate FS is visible.
+     */    
+    virtual TBool IsVisible();
+
+    /**
+     * Checks if alternate fast swap is ready to be shown.
+     * 
+     * @return ETrue If alternate FS is ready.
+     */    
+    virtual TBool IsReady();
+
+    /**
+     * Forward long app key to the alternate fast swap.
+     */
+    virtual void HandleLongAppKeyPress();
+
+    /**
+     * Forward short app key to the alternate fast swap.
+     */
+    virtual void HandleShortAppKeyPress();
+
+private:
+
+    /**
+     * Default constructor, implicitly called by NewL().
+     */
+    CTsEcomPlugin();
+    
+    /**
+     * 2nd phase construction, called by NewL().
+     */
+    void ConstructL();
+    
+    /**
+     * Sets the P&S property to given value.
+     * 
+     * @param aValue Value
+     */
+    void SetTaskswitcherStateProperty( TInt aValue );
+    
+    /**
+     * Defines the P&S property.
+     */
+    void DefineTaskswitcherStateProperty();
+
+    };
+    
+#endif // TSAPPECOM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/taskswitcherappecom/inc/tsappecomconst.hrh	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Taskswitcher application ecom plugin UIDs
+*
+*/
+
+
+#ifndef TSAPPECOMCONST_HRH
+#define TSAPPECOMCONST_HRH
+                          
+#define KTsAppPluginDllUid 0x2001FD72
+#define KTsAppPluginImplementationUid 0x2001FD72
+
+#endif // TSAPPECOMCONST_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/taskswitcherappecom/src/proxy.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,44 @@
+/*
+* 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:  Taskswitcher application ecom plugin
+*
+*/
+
+
+// INCLUDE FILES
+#include <e32std.h>
+#include <ecom/implementationproxy.h>
+
+#include "tsappecom.h"
+#include "tsappecomconst.hrh"
+
+// Provides a key value pair table, this is used to identify
+// the correct construction function for the requested interface.
+const TImplementationProxy ImplementationTable[] = 
+    {
+    IMPLEMENTATION_PROXY_ENTRY( 
+        KTsAppPluginImplementationUid,
+        CTsEcomPlugin::NewL )
+    };
+
+// Function used to return an instance of the proxy table.
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
+    TInt& aTableCount )
+    {
+    aTableCount 
+        = sizeof ( ImplementationTable ) / sizeof( TImplementationProxy );
+    return ImplementationTable;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/taskswitcherappecom/src/tsappecom.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,192 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Taskswitcher application ecom plugin
+ *
+*/
+
+ 
+#include <e32property.h>
+#include <apgtask.h>
+#include <eikenv.h>
+
+#include "tsappecomconst.hrh"
+#include "tsappecom.h"
+
+// AknCapServer UID, used for P&S category
+const TUid KTaskswitcherStateCategory = { 0x10207218 };
+
+// Taskswitcher UI, used as P&S key
+const TUint KTaskswitcherStateKey = 0x2002677D;
+
+// Values for Taskswitcher launching P&S
+const TInt KTaskswitcherBackgroundValue = 1;
+const TInt KTaskswitcherForegroundValue = KTaskswitcherBackgroundValue << 1;
+const TInt KTaskswitcherLongAppKeyPressed = KTaskswitcherForegroundValue << 1;
+
+// Taskswitcher application UID, for checking if taskswitcher is running
+const TUid KTaskswitcherAppUidValue = { 0x2002677D };
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::CTsEcomPlugin()
+// Default constructor for first phase construction.
+// ---------------------------------------------------------------------------
+//
+CTsEcomPlugin::CTsEcomPlugin()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::NewL()
+// Standard NewL.
+// ---------------------------------------------------------------------------
+//
+CTsEcomPlugin* CTsEcomPlugin::NewL()
+    {
+    CTsEcomPlugin* self = new ( ELeave ) CTsEcomPlugin;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::ConstructL()
+// 2nd phase construction.
+// ---------------------------------------------------------------------------
+//
+void CTsEcomPlugin::ConstructL()
+    {    
+    DefineTaskswitcherStateProperty();
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::~CTsEcomPlugin()
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CTsEcomPlugin::~CTsEcomPlugin()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::Show
+// ---------------------------------------------------------------------------
+//
+void CTsEcomPlugin::Show()
+    {
+    TInt value( 0 );
+    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
+    value &= ~KTaskswitcherBackgroundValue;
+    value |= KTaskswitcherForegroundValue;
+    value |= KTaskswitcherLongAppKeyPressed;
+    SetTaskswitcherStateProperty( value );  
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::Dismiss
+// ---------------------------------------------------------------------------
+//
+void CTsEcomPlugin::Dismiss()
+    {
+    TInt value( 0 );
+    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
+    value &= ~KTaskswitcherForegroundValue;
+    value |= KTaskswitcherBackgroundValue;
+    SetTaskswitcherStateProperty( value );  
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::HandleLongAppKeyPress
+// ---------------------------------------------------------------------------
+//
+void CTsEcomPlugin::HandleLongAppKeyPress()
+    {
+    TInt value( 0 );
+    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
+    value |= KTaskswitcherLongAppKeyPressed;
+    SetTaskswitcherStateProperty( value );    
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::HandleShortAppKeyPress
+// ---------------------------------------------------------------------------
+//
+void CTsEcomPlugin::HandleShortAppKeyPress()
+    { 
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::IsVisible
+// ---------------------------------------------------------------------------
+//
+TBool CTsEcomPlugin::IsVisible()
+    {
+    TInt value( 0 );
+    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
+    if ( value & KTaskswitcherForegroundValue )
+        {
+        return ETrue;
+        }
+    return EFalse;
+    }
+
+// ---------------------------------------------------------------------------
+// CTsEcomPlugin::IsReady
+// ---------------------------------------------------------------------------
+//
+TBool CTsEcomPlugin::IsReady()
+    {
+    TBool ret = EFalse;    
+    CEikonEnv* eikonEnv = CEikonEnv::Static();
+    
+    if ( eikonEnv )
+        {
+        TApaTaskList taskList( eikonEnv->WsSession() );
+        TApaTask task = taskList.FindApp( KTaskswitcherAppUidValue ); 
+    
+        if ( task.Exists() )
+            {
+            ret = ETrue;
+            }
+        }
+    
+    return ret;
+    }
+    
+// -----------------------------------------------------------------------------
+// CTsEcomPlugin::SetTaskswitcherStateProperty
+// -----------------------------------------------------------------------------
+//
+void CTsEcomPlugin::SetTaskswitcherStateProperty( TInt aValue )
+    {
+    if ( RProperty::Set( 
+            KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue ) != KErrNone )
+        {
+        DefineTaskswitcherStateProperty();
+        RProperty::Set( KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue );      
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CTsEcomPlugin::DefineTaskswitcherStateProperty
+// -----------------------------------------------------------------------------
+//
+void CTsEcomPlugin::DefineTaskswitcherStateProperty()
+    {
+    RProperty::Define( 
+        KTaskswitcherStateCategory, KTaskswitcherStateKey, RProperty::EInt );
+            
+    }
+
+// End of file 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/taskswitcherappecom/taskswitcherappecom.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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 "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = subdirs
+BLD_INF_RULES.prj_mmpfiles = "./group/tsappecom.mmp"
+
+load(data_caging_paths) 
+
+ecomplugindll.sources = tsappecom.dll
+ecomplugindll.path = $$SHARED_LIB_DIR
+
+ecompluginresource.sources = /epoc32/data/z/resource/plugins/tsappecom.rsc
+ecompluginresource.path = $$ECOM_RESOURCE_DIR
+
+DEPLOYMENT += ecomplugindll ecompluginresource
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsapplication/inc/tstaskswitcher.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TSTASKSWITCHER_H
+#define TSTASKSWITCHER_H
+
+#include <QObject>
+
+class T_TsTaskSwitcher;
+
+class QStateMachine;
+
+/**
+ * @ingroup group_tsapplication
+ * @brief TaskSwitcher application main class.
+ *
+ * Loads a runtime from a runtime provider plugin. Manages
+ * the runtime execution.
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+ 
+class TsTaskSwitcher : public QObject
+{
+    Q_OBJECT
+
+public:
+    /**
+     * Constructor.
+     * @since S60 ?S60_version.
+     * @param aParent Parent object.
+     */
+    TsTaskSwitcher(QObject* parent = 0);
+
+private:
+
+    Q_DISABLE_COPY(TsTaskSwitcher)
+
+signals:
+    /**
+     * Emitted when the teleport application needs to exit.
+     * @since S60 ?S60_version.
+     */
+    void exit();
+
+public slots:
+    /**
+     * Starts the runtime.
+     * @since S60 ?S60_version.
+     */
+    void start();
+
+    /**
+     * Stops the runtime.
+     * @since S60 ?S60_version.
+     */
+    void stop();
+
+private:
+    /**
+     * Runtime.
+     */
+    QStateMachine* mRuntime;
+
+    friend class T_TsTaskSwitcher;
+};
+
+#endif // TSTASKSWITCHER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsapplication/src/main.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#include <QTranslator>
+#include <QLocale>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+#include "tstaskswitcher.h"
+
+int main(int argc, char *argv[])
+{
+    HbApplication tsApp(argc, argv);
+    tsApp.setApplicationName("Task Switcher");
+
+    HbMainWindow mainWindow(NULL, Hb::WindowFlagTransparent);
+    mainWindow.hideItems(Hb::AllItems);    
+    
+    QString locale = QLocale::system().name();
+    QTranslator translator;
+
+    QString path = "resource/qt/translations/";
+    QString tsTrFile = QString("taskswitcher_") + locale;
+#ifdef Q_OS_SYMBIAN
+    // TRAP is must here, otherwise it crashes
+    TRAP_IGNORE(
+        bool tsLoaded(false);
+        tsLoaded = translator.load(tsTrFile, QString("z:/") + path);
+        if (!tsLoaded)
+        translator.load(tsTrFile, QString("c:/") + path);
+    );
+#else
+    translator.load(tsTrFile, QString(path));
+#endif //Q_OS_SYMBIAN  
+    tsApp.installTranslator(&translator);
+
+    TsTaskSwitcher ts;
+    QObject::connect(&tsApp, SIGNAL(aboutToQuit()), &ts, SLOT(stop()));
+    QObject::connect(&ts, SIGNAL(exit()), &tsApp, SLOT(quit()), Qt::QueuedConnection);
+    ts.start();
+
+    return tsApp.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsapplication/src/tstaskswitcher.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "tstaskswitcher.h"
+
+#include <QStateMachine>
+#include <QEventLoop>
+
+#include <qservicemanager.h>
+
+QTM_USE_NAMESPACE
+
+TsTaskSwitcher::TsTaskSwitcher(QObject* aParent) : QObject(aParent)
+{
+    // FIXME: we're leaking service manager to prevent crash caused by QServiceManager deletion
+    QServiceManager *serviceManager = new QServiceManager;
+            
+    // FIXME: temporary workaround for bug in QtSF database - this process have to add services
+    QList<QServiceInterfaceDescriptor> tsServiceInterfaces = serviceManager->findInterfaces("TaskSwitcher");
+    QStringList requiredInterfaces;
+    requiredInterfaces << "com.nokia.taskswitcher.itemprovider";
+    requiredInterfaces << "com.nokia.taskswitcher.activation";
+    requiredInterfaces << "com.nokia.taskswitcher.deactivation";
+    requiredInterfaces << "com.nokia.taskswitcher.presentation";
+    requiredInterfaces << "com.nokia.taskswitcher.runtime.defaultruntime";
+
+    foreach (const QServiceInterfaceDescriptor &interface, tsServiceInterfaces) {
+        QString interfaceName = interface.interfaceName();
+        if (requiredInterfaces.contains(interfaceName)) {
+            requiredInterfaces.removeAll(interfaceName);
+        }
+    }
+    
+    if (!requiredInterfaces.isEmpty()) {
+        // clean old entries
+        serviceManager->removeService("TaskSwitcher");
+        
+        bool servicesAdded = serviceManager->addService(":/tsserviceplugin.xml");
+        Q_ASSERT_X(servicesAdded, "Adding Ts Services", qPrintable(QString("addService returned false, error %1").arg(serviceManager->error())));
+
+        bool runtimeAdded = serviceManager->addService(":/tsdefaultruntimeplugin.xml");
+        Q_ASSERT_X(runtimeAdded, "Adding Ts Runtime", qPrintable(QString("addService returned false, error %1").arg(serviceManager->error())));
+    }
+    // FIXME
+    
+    mRuntime = serviceManager->loadLocalTypedInterface<QStateMachine>("com.nokia.taskswitcher.runtime.defaultruntime");
+    if (mRuntime) {
+        mRuntime->setParent(this);
+        connect(mRuntime, SIGNAL(stopped()), this, SIGNAL(exit()));
+    } else {
+        qCritical("Failed to create runtime");
+    }
+}
+
+void TsTaskSwitcher::start()
+{
+    if (mRuntime) {
+        mRuntime->start();
+    } else {
+        emit exit();
+    }
+}
+
+void TsTaskSwitcher::stop()
+{
+    if (mRuntime) {
+        if (mRuntime->isRunning()) {
+            QEventLoop eventLoop;
+            connect(mRuntime, SIGNAL(finished()), &eventLoop, SLOT(quit()));
+            QMetaObject::invokeMethod(mRuntime, "event_exit", Qt::QueuedConnection);
+            eventLoop.exec(); 
+        }        
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsapplication/tsapplication.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = app
+TARGET = tsapplication
+
+CONFIG += hb console mobility
+MOBILITY = serviceframework
+
+INCLUDEPATH += inc
+
+SOURCES +=  src/main.cpp \
+            src/tstaskswitcher.cpp \
+            
+HEADERS +=  inc/tstaskswitcher.h \
+
+#temporary workaround for epoc bug in QtSF
+RESOURCES += tsapplication.qrc 
+
+symbian {
+    TARGET.UID3 = 0x2002677D
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL -TCB
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsapplication/tsapplication.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource prefix="/" >
+        <file alias="tsserviceplugin.xml">../tsserviceplugin/tsserviceplugin.xml</file>
+        <file alias="tsdefaultruntimeplugin.xml">../runtimeplugins/tsdefaultruntimeplugin/tsdefaultruntimeplugin.xml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/s60/tslongpresswatcher_p.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#ifndef TSLONGPRESSWATCHERPRIVATE_H
+#define TSLONGPRESSWATCHERPRIVATE_H
+
+#include <e32base.h>
+#include <e32property.h>
+
+class TsLongPressWatcher;
+
+class TsLongPressWatcherPrivate : public CActive
+{
+public:
+    TsLongPressWatcherPrivate(TsLongPressWatcher *parent);
+    virtual ~TsLongPressWatcherPrivate();
+
+public: //From CActive
+    /**
+    * Implements cancellation of an outstanding request.
+    */
+    virtual void DoCancel();
+
+    /**
+    Handles an active object's request completion event.
+    */
+    void RunL();
+
+private:
+    bool checkLongPressFlag();
+    void setBackgroundState();
+
+private:
+    TsLongPressWatcher *mParent;
+    RProperty mProperty;
+
+};
+
+#endif // TSLONGPRESSWATCHERPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsactivation.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+#ifndef TSACTIVATION_H
+#define TSACTIVATION_H
+
+#include "tsactivationinterface.h"
+
+class TsActivation : public TsActivationInterface
+{
+
+    Q_OBJECT
+
+public:
+    TsActivation(QObject *parent = 0);
+
+};
+
+#endif // TSACTIVATION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsactivationinterface.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TSACTIVATIONINTERFACE_H
+#define TSACTIVATIONINTERFACE_H
+
+#include <QObject>
+
+class TsActivationInterface : public QObject
+{
+
+    Q_OBJECT
+
+public:
+    TsActivationInterface(QObject *parent = 0) : QObject(parent) {}
+    virtual ~TsActivationInterface() {};
+
+signals:
+    void activated();
+
+};
+
+#endif // TSACTIVATIONINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsclosedapplicationsfiltermodel.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef TSCLOSEDAPPLICATIONSFILTERMODEL_H
+#define TSCLOSEDAPPLICATIONSFILTERMODEL_H
+
+#include <QSortFilterProxyModel>
+
+/**
+ * @ingroup group_tsserviceprovider
+ * @brief TsClosedApplicationsFilterModel filtering model to hide closed apps.
+ *
+ * Filter closed apps by task switcher from currently presented.
+ *
+ * @lib tsserviceprovider.lib
+ * @since S60 ?S60_version
+ */
+class TsClosedApplicationsFilterModel : public QSortFilterProxyModel
+{
+    Q_OBJECT
+
+public:
+    explicit TsClosedApplicationsFilterModel(QObject *parent = 0);
+
+public:
+    void addId(int id);
+    void clearIds();
+
+protected:
+    bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
+
+private:
+    /*
+     * List containing result
+     */
+    QList<int> mClosedIds;
+};
+
+#endif // TSCLOSEDAPPLICATIONSFILTERMODEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsdataroles.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+#ifndef TSDATAROLES_H
+#define TSDATAROLES_H
+
+namespace TsDataRoles {
+    enum EntryAttributes {
+        Closable = Qt::UserRole + 1,
+        EntryId
+    };
+}
+
+#endif // TSDATAROLES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsdeactivation.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+#ifndef TSDEACTIVATION_H
+#define TSDEACTIVATION_H
+
+#include "tsdeactivationinterface.h"
+
+class TsDeactivation : public TsDeactivationInterface
+{
+
+    Q_OBJECT
+
+public:
+    TsDeactivation(QObject *parent = 0);
+
+};
+
+#endif // TSDEACTIVATION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsdeactivationinterface.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TSDEACTIVATIONINTERFACE_H
+#define TSDEACTIVATIONINTERFACE_H
+
+#include <QObject>
+
+class TsDeactivationInterface : public QObject
+{
+
+    Q_OBJECT
+
+public:
+    TsDeactivationInterface(QObject *parent = 0) : QObject(parent) {}
+    virtual ~TsDeactivationInterface() {};
+
+signals:
+    void deactivated();
+
+};
+
+#endif // TSDEACTIVATIONINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsdocumentloader.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Screensaver custom document loader.
+*
+*/
+
+#ifndef TSDOCUMENTLOADER_H
+#define TSDOCUMENTLOADER_H
+
+#include <hbdocumentloader.h>
+
+class TsDocumentLoader : public HbDocumentLoader
+{
+
+private:
+    virtual QObject *createObject(const QString &type, const QString &name);
+
+};
+
+#endif // TSDOCUMENTLOADER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsitemprovider.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+#ifndef TSITEMPROVIDER_H
+#define TSITEMPROVIDER_H
+
+#include "tsitemproviderinterface.h"
+
+#include <QSharedPointer>
+
+class TsClosedApplicationsFilterModel;
+class CaService;
+
+class TsItemProvider : public TsItemProviderInterface
+{
+
+    Q_OBJECT
+
+public:
+    TsItemProvider(QObject *parent = 0);
+    virtual ~TsItemProvider();
+
+public:
+    virtual QAbstractItemModel *model();
+
+public slots:
+    virtual void openApplication(const QModelIndex &index);
+    virtual void closeApplication(const QModelIndex &index);
+    virtual void closeAllApplications();
+    virtual void clearClosedApplicationList();
+
+private:
+    TsClosedApplicationsFilterModel *mModel;
+    QSharedPointer<CaService> mService;
+
+};
+
+#endif // TSITEMPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsitemproviderinterface.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+#ifndef TSITEMPROVIDERINTERFACE_H
+#define TSITEMPROVIDERINTERFACE_H
+
+#include <QObject>
+
+class QAbstractItemModel;
+class QModelIndex;
+
+class TsItemProviderInterface : public QObject
+{
+
+    Q_OBJECT
+
+public:
+    TsItemProviderInterface(QObject *parent = 0) : QObject(parent) {}
+    virtual ~TsItemProviderInterface() {};
+
+public:
+    Q_INVOKABLE virtual QAbstractItemModel *model() = 0;
+
+public slots:
+    virtual void openApplication(const QModelIndex &index) = 0;
+    virtual void closeApplication(const QModelIndex &index) = 0;
+    virtual void closeAllApplications() = 0;
+    virtual void clearClosedApplicationList() = 0;
+
+};
+
+#endif // TSITEMPROVIDERINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tslongpresswatcher.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#ifndef TSLONGPRESSWATCHER_H
+#define TSLONGPRESSWATCHER_H
+
+#include <QObject>
+
+class TsLongPressWatcherPrivate;
+
+class TsLongPressWatcher : public QObject
+{
+
+    Q_OBJECT
+
+public:
+    TsLongPressWatcher(QObject *parent = 0);
+    ~TsLongPressWatcher();
+
+signals:
+    void applicationKeyLongPress();
+
+private:
+    TsLongPressWatcherPrivate *d_ptr;
+
+    friend class TsLongPressWatcherPrivate;
+
+};
+
+#endif // TSLONGPRESSWATCHER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tspresentation.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+#ifndef TSPRESENTATION_H
+#define TSPRESENTATION_H
+
+#include "tspresentationinterface.h"
+#include "tsdocumentloader.h"
+
+class HbDialog;
+class TsTasksGrid;
+
+class TsPresentation : public TsPresentationInterface
+{
+    Q_OBJECT
+
+public:
+    TsPresentation(QObject *parent = 0);
+
+public:
+    virtual void setModel(QAbstractItemModel *model);
+
+public slots:
+    virtual void hide();
+    virtual void show();
+
+private slots:
+    void loadOrientationSpecificLayoutData(Qt::Orientation orientation);
+
+private:
+    TsDocumentLoader mLoader;
+    HbDialog *mDialog;
+    TsTasksGrid *mGrid;
+
+};
+
+#endif // TSPRESENTATION_H
+ 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tspresentationinterface.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+#ifndef TSPRESENTATIONINTERFACE_H
+#define TSPRESENTATIONINTERFACE_H
+
+#include <QObject>
+
+class QAbstractItemModel;
+class QModelIndex;
+
+class TsPresentationInterface : public QObject
+{
+    Q_OBJECT
+
+public:
+    TsPresentationInterface(QObject *parent = 0) : QObject(parent) {}
+    virtual ~TsPresentationInterface() {};
+
+public:
+    Q_INVOKABLE virtual void setModel(QAbstractItemModel *model) = 0;
+
+public slots:
+    virtual void hide() = 0;
+    virtual void show() = 0;
+
+signals:
+    void openApplication(const QModelIndex &index);
+    void closeApplication(const QModelIndex &index);
+    void closeAllApplications();
+    void hideTaskSwitcher();
+
+};
+
+#endif // TSPRESENTATIONINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsrecentapplicationsmodel.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: recentapplicationsmodel.h
+*
+*/
+
+#ifndef TSRECENTAPPLICATIONSMODEL_H
+#define TSRECENTAPPLICATIONSMODEL_H
+
+#include <QAbstractItemModel>
+#include <QList>
+#include <QSize>
+#include <QSharedPointer>
+#include <caquery.h>
+#include <caentry.h>
+
+class CaService;
+class CaNotifier;
+
+/**
+ * @ingroup group_tsserviceprovider
+ * @brief TsRecentApplicationsModel model with recent application.
+ *
+ * Loads recent aplications from content arsenal.
+ *
+ * @lib tsserviceprovider.lib
+ * @since S60 ?S60_version
+ */
+class TsRecentApplicationsModel : public QAbstractListModel
+{
+    Q_OBJECT
+
+public:
+    explicit TsRecentApplicationsModel(QObject *parent = 0);
+    ~TsRecentApplicationsModel();
+
+    int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+
+public slots:
+    void updateModel();
+    void entryChanged(CaEntry, ChangeType);
+
+private:
+    bool closeable(const QModelIndex &index) const;
+    QVariant entryId(const QModelIndex &index) const;
+    CaEntry *entry(const QModelIndex &index) const;
+
+public:
+    /*
+     * List containing result
+     */
+    QList<CaEntry *> mEntries;
+
+    /*
+     * Query
+     */
+    CaQuery mQuery;
+
+    /*
+     * Content Arsenal Service
+     */
+    QSharedPointer<CaService> mService;
+
+    /*
+     * Content Arsenal Notifier
+     */
+    CaNotifier *mNotifier;
+
+    /*
+     * Icon size in model
+     */
+    QSize mSize;
+};
+
+#endif // TSRECENTAPPLICATIONSMODEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tsserviceplugin.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+#ifndef TSSERVICEPLUGIN_H
+#define TSSERVICEPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class TsServicePlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, QServiceContext *context, QAbstractSecuritySession *session);
+
+};
+
+#endif //TSSERVICEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tstaskpopuphandler.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#ifndef TSTASKPOPUPHANDLER_H
+#define TSTASKPOPUPHANDLER_H
+
+#include <QObject>
+#include <QPointF>
+#include <QAbstractItemModel>
+
+class HbAbstractViewItem;
+class T_TsTaskPopupHandler;
+
+class TsTaskPopupHandler : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit TsTaskPopupHandler(QObject *parent = 0);
+
+signals:
+    void closeTask(const QModelIndex &index);
+    void closeAllTasks();
+
+public slots:
+    void showTaskPopup(HbAbstractViewItem *item, const QPointF &coords);
+
+private:
+    bool isClosable(const QModelIndex &index) const;
+    bool containsClosableItems(const QAbstractItemModel &model) const;
+
+    friend class T_TsTaskPopupHandler;
+
+};
+
+#endif // TSTASKPOPUPHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tstasksgrid.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#ifndef TSTASKSGRID_H
+#define TSTASKSGRID_H
+
+#include <hbgridview.h>
+
+class TsTasksGrid : public HbGridView
+{
+
+    Q_OBJECT
+
+signals:
+    void deleteButtonClicked(const QModelIndex &index);
+
+};
+
+#endif // TSTASKSGRID_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/tstasksgriditem.h	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#ifndef TSTASKSGRIDITEM_H
+#define TSTASKSGRIDITEM_H
+
+#include <hbabstractviewitem.h>
+
+class HbLabel;
+class HbPushButton;
+
+class TsTasksGridItem : public HbAbstractViewItem
+{
+
+    Q_OBJECT
+
+public:
+    TsTasksGridItem();
+    ~TsTasksGridItem();
+
+    HbAbstractViewItem *createItem();
+    void updateChildItems();
+
+private slots:
+    void handleDeleteClicked();
+
+signals:
+    void deleteClicked(const QModelIndex &index);
+
+private:
+    HbLabel *mScreenshotLabel;
+    HbLabel *mApplicationNameLabel;
+    HbPushButton *mDeleteButton;
+
+};
+
+#endif //TSTASKSGRIDITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/inc/win/tslongpresswatcher_p.h	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TSLONGPRESSWATCHERPRIVATE_H
+#define TSLONGPRESSWATCHERPRIVATE_H
+
+#include <QObject>
+
+class TsLongPressWatcher;
+
+class TsLongPressWatcherPrivate : public QObject
+{
+
+    Q_OBJECT
+
+public:
+    TsLongPressWatcherPrivate(TsLongPressWatcher *parent);
+    virtual ~TsLongPressWatcherPrivate();
+
+    static bool hotKeyFilter(void *message);
+    static TsLongPressWatcherPrivate *instance;
+
+signals:
+    void applicationKeyLongPress();
+
+};
+
+#endif // TSLONGPRESSWATCHERPRIVATE_H
Binary file taskswitcherapp/tsserviceplugin/resource/delete.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/serviceinstaller/serviceinstaller.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+#
+
+TEMPLATE = subdirs
+SUBDIRS = tsserviceinstaller
+
+symbian {
+    load(data_caging_paths) 
+
+    plugin.sources = tsserviceplugin.dll
+    plugin.path = $$QT_PLUGINS_BASE_DIR 
+    
+    installer.pkg_postrules += "\"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/tsserviceinstaller.exe\" \  
+                                         - \"!:\sys\bin\tsserviceinstaller.exe\",FR,RI,RW"
+    
+    DEPLOYMENT += plugin installer
+} else {
+    message("You might need to run tsserviceinstaller.exe before running any application that uses task switcher service")
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+
+#include <qservicemanager.h>
+#include <QCoreApplication>
+
+QTM_USE_NAMESPACE
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+
+    QServiceManager manager;
+    bool success = manager.addService(":/tsserviceplugin.xml");
+    if (!success) {
+        qDebug("Service adding failed: %d", manager.error());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+#
+
+TEMPLATE = app
+
+QT = core
+#TODO - temporarily disabled, until the installer issues on HW are resolved
+#CONFIG += no_icon
+
+CONFIG += console
+CONFIG += mobility
+MOBILITY = serviceframework
+
+SOURCES += tsserviceinstaller.cpp
+
+RESOURCES += tsserviceinstaller.qrc
+
+symbian {
+    TARGET.CAPABILITY = ALL -TCB
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/" >
+        <file alias="tsserviceplugin.xml">../../tsserviceplugin.xml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/s60/tslongpresswatcher_p.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "tslongpresswatcher_p.h"
+#include "tslongpresswatcher.h"
+
+// AknCapServer UID, used for P&S category
+const TUid KTaskswitcherStateCategory = { 0x10207218 };
+// Taskswitcher UI, used as P&S key
+const TUint KTaskswitcherStateKey = 0x2002677D;
+// Values for Taskswitcher launching P&S
+const TInt KTaskswitcherBackgroundValue = 1;
+const TInt KTaskswitcherForegroundValue = KTaskswitcherBackgroundValue << 1;
+const TInt KTaskswitcherLongAppKeyPressed = KTaskswitcherForegroundValue << 1;
+
+TsLongPressWatcherPrivate::TsLongPressWatcherPrivate(TsLongPressWatcher *parent) : CActive(CActive::EPriorityStandard), mParent(parent)
+{
+    CActiveScheduler::Add(this);
+    TInt err = mProperty.Attach(KTaskswitcherStateCategory, KTaskswitcherStateKey);
+    if (err == KErrNone) {
+        mProperty.Subscribe(iStatus);
+        SetActive();
+    }
+}
+
+TsLongPressWatcherPrivate::~TsLongPressWatcherPrivate()
+{
+    Cancel();
+    mProperty.Close();
+}
+
+void TsLongPressWatcherPrivate::setBackgroundState()
+{
+    TInt value(0);
+    mProperty.Get(value);
+    value &= ~KTaskswitcherForegroundValue;
+    value &= ~KTaskswitcherLongAppKeyPressed;
+    value |= KTaskswitcherBackgroundValue;
+    mProperty.Set(value);
+}
+
+void TsLongPressWatcherPrivate::DoCancel()
+{
+    mProperty.Cancel();
+}
+
+void TsLongPressWatcherPrivate::RunL()
+{
+    if (iStatus.Int() != KErrCancel) {
+        if (checkLongPressFlag()) {
+            setBackgroundState();
+            QT_TRYCATCH_LEAVING(emit mParent->applicationKeyLongPress());
+        }
+        mProperty.Subscribe(iStatus);
+        SetActive();
+    }
+}
+
+bool TsLongPressWatcherPrivate::checkLongPressFlag()
+{
+    TInt value(0);
+    bool res = false;
+    mProperty.Get(KTaskswitcherStateCategory, KTaskswitcherStateKey, value);
+    if (value & KTaskswitcherLongAppKeyPressed) {
+        res = true;
+    }
+    return res;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tsactivation.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+
+#include "tsactivation.h"
+
+#include "tslongpresswatcher.h"
+
+TsActivation::TsActivation(QObject *parent) : TsActivationInterface(parent)
+{
+    TsLongPressWatcher *watcher = new TsLongPressWatcher(this);
+    connect(watcher, SIGNAL(applicationKeyLongPress()), this, SIGNAL(activated()));
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tsclosedapplicationsfiltermodel.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#include "tsclosedapplicationsfiltermodel.h"
+#include "tsdataroles.h"
+
+/*!
+    Constructor
+    \param pointer to parent object
+*/
+TsClosedApplicationsFilterModel::TsClosedApplicationsFilterModel(QObject *parent) : QSortFilterProxyModel(parent)
+{
+}
+
+/*!
+    Add id that should be filtered
+    \param id that should be added to list
+*/
+void TsClosedApplicationsFilterModel::addId(int id)
+{
+    mClosedIds.append(id);
+    invalidateFilter();
+}
+
+/*!
+    Clear filtered ids list
+*/
+void TsClosedApplicationsFilterModel::clearIds()
+{
+    mClosedIds.clear();
+    invalidateFilter();
+}
+
+/*!
+    Function to compare items
+    \param sourceRow row to check
+    \param sourceParent parent of source index
+    \return true if row is accepted
+*/
+bool TsClosedApplicationsFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
+{
+    Q_UNUSED(sourceParent);
+    bool res = true;
+    if (mClosedIds.contains(sourceModel()->data(sourceModel()->index(sourceRow,0), TsDataRoles::EntryId).toInt())) {
+        res = false;
+    }
+    return res;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tsdeactivation.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "tsdeactivation.h"
+
+TsDeactivation::TsDeactivation(QObject *parent) : TsDeactivationInterface(parent)
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tsdocumentloader.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: Screensaver custom document loader.
+*
+*/
+
+#include "tsdocumentloader.h"
+#include "tstasksgrid.h"
+#include "tstasksgriditem.h"
+
+QObject *TsDocumentLoader::createObject(const QString &type, const QString &name)
+{
+    if (type == TsTasksGrid::staticMetaObject.className()) {
+        QObject *object = new TsTasksGrid();
+        object->setObjectName(name);
+        return object;
+    } else if (type == TsTasksGridItem::staticMetaObject.className()) {
+        QObject *object = new TsTasksGridItem();
+        object->setObjectName(name);
+        return object;
+    }
+
+    return HbDocumentLoader::createObject(type, name);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tsitemprovider.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+
+#include "tsitemprovider.h"
+
+#include <QModelIndex>
+#include <QAbstractItemModel>
+
+#include <caservice.h>
+
+#include "tsrecentapplicationsmodel.h"
+#include "tsclosedapplicationsfiltermodel.h"
+#include "tsdataroles.h"
+
+TsItemProvider::TsItemProvider(QObject *parent) : TsItemProviderInterface(parent), mService(CaService::instance())
+{
+    TsRecentApplicationsModel *recentAppModel = new TsRecentApplicationsModel(this);
+    mModel = new TsClosedApplicationsFilterModel(this);
+    mModel->setSourceModel(recentAppModel);
+}
+
+TsItemProvider::~TsItemProvider()
+{
+}
+
+QAbstractItemModel *TsItemProvider::model()
+{
+    return mModel;
+}
+
+void TsItemProvider::openApplication(const QModelIndex &index)
+{
+    QVariant entryId = index.data(TsDataRoles::EntryId);
+    if (entryId.isValid()) {
+        mService->executeCommand(entryId.toInt(), QString("open"));
+    }
+}
+
+void TsItemProvider::closeApplication(const QModelIndex &index)
+{
+    if (index.data(TsDataRoles::Closable).toBool()) {
+        QVariant entryId = index.data(TsDataRoles::EntryId);
+        if (entryId.isValid()) {
+            mModel->addId(entryId.toInt());
+            mService->executeCommand(entryId.toInt(), QString("close"));
+        }
+    }
+}
+
+void TsItemProvider::closeAllApplications()
+{
+    for (int row(0); row < mModel->rowCount(); ++row) {
+        closeApplication(mModel->index(row, 0));
+    }
+}
+
+void TsItemProvider::clearClosedApplicationList()
+{
+    mModel->clearIds();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tslongpresswatcher.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#include "tslongpresswatcher.h"
+#include "tslongpresswatcher_p.h"
+
+TsLongPressWatcher::TsLongPressWatcher(QObject *parent) : QObject(parent)
+{
+    d_ptr = new TsLongPressWatcherPrivate(this);
+}
+
+TsLongPressWatcher::~TsLongPressWatcher()
+{
+    delete d_ptr;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tspresentation.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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 "tspresentation.h"
+
+#include <hbinstance.h>
+#include <hbview.h>
+#include <hbdialog.h>
+
+#include "tstasksgrid.h"
+#include "tstasksgriditem.h"
+#include "tstaskpopuphandler.h"
+
+// FIXME: workaround for Orbit bug: not moving to foreground after QWidget::activateWindow();
+#ifdef Q_OS_SYMBIAN
+#include <APGTASK.H>
+#include <eikenv.h>
+#endif    
+
+TsPresentation::TsPresentation(QObject *parent) : TsPresentationInterface(parent), mDialog(NULL), mGrid(NULL)
+{
+    HbMainWindow *mainWindow = HbInstance::instance()->allMainWindows().first();
+
+    // load layout from XML
+    bool ok(true);
+    mLoader.load(":/xml/resource/layout.docml", &ok);
+    Q_ASSERT(ok);
+    loadOrientationSpecificLayoutData(mainWindow->orientation());
+
+    // get all items
+    HbView *view = qobject_cast<HbView*>(mLoader.findWidget("view"));
+    mGrid = qobject_cast<TsTasksGrid*>(mLoader.findWidget("taskgrid"));
+    mDialog = qobject_cast<HbDialog*>(mLoader.findWidget("dialog"));
+    Q_ASSERT(view);
+    Q_ASSERT(mGrid);
+    Q_ASSERT(mDialog);
+
+    mGrid->setItemPrototype(new TsTasksGridItem());
+
+    // forward grid signals
+    connect(mGrid, SIGNAL(activated(QModelIndex)), this, SIGNAL(openApplication(QModelIndex)));
+    connect(mGrid, SIGNAL(activated(QModelIndex)), this, SIGNAL(hideTaskSwitcher()));
+    qRegisterMetaType<QModelIndex>("QModelIndex");
+    connect(mGrid, SIGNAL(deleteButtonClicked(QModelIndex)), this, SIGNAL(closeApplication(QModelIndex)), Qt::QueuedConnection);
+
+    // task popup
+    TsTaskPopupHandler *popupHandler = new TsTaskPopupHandler(this);
+    connect(mGrid, SIGNAL(longPressed(HbAbstractViewItem*, QPointF)), popupHandler, SLOT(showTaskPopup(HbAbstractViewItem*, QPointF)));
+    connect(popupHandler, SIGNAL(closeTask(QModelIndex)), this, SIGNAL(closeApplication(QModelIndex)),Qt::QueuedConnection);
+    connect(popupHandler, SIGNAL(closeAllTasks()), this, SIGNAL(closeAllApplications()));
+
+    // dismiss
+    connect(mDialog, SIGNAL(aboutToHide()), this, SIGNAL(hideTaskSwitcher()));
+
+    // orientation change handling
+    connect(mainWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(loadOrientationSpecificLayoutData(Qt::Orientation)));
+
+    mainWindow->addView(view);
+}
+
+void TsPresentation::setModel(QAbstractItemModel *model)
+{
+    mGrid->setModel(model);
+}
+
+void TsPresentation::hide()
+{
+    mDialog->hide();
+    HbInstance::instance()->allMainWindows().first()->hide();
+}
+
+void TsPresentation::show()
+{
+    HbMainWindow *window = HbInstance::instance()->allMainWindows().first();
+    window->show();
+    window->activateWindow();
+    
+#ifdef Q_OS_SYMBIAN
+    // FIXME: workaround for Orbit bug: not moving to foreground after QWidget::activateWindow();
+    TApaTaskList taskList(CEikonEnv::Static()->WsSession());
+    TApaTask task = taskList.FindApp(RProcess().Type()[2]);
+    if (task.Exists()) {
+        task.BringToForeground();
+    } else {
+        qWarning("Can't bring TaskSwitcher to foreground: task not found");
+    }    
+#endif    
+   
+    mDialog->show();
+}
+
+void TsPresentation::loadOrientationSpecificLayoutData(Qt::Orientation orientation)
+{
+    bool ok(true);
+    if (orientation == Qt::Horizontal) {
+        mLoader.load(":/xml/resource/layout.docml", "landscape", &ok);
+    } else {
+        mLoader.load(":/xml/resource/layout.docml", "portrait", &ok);
+    }
+    Q_ASSERT(ok);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tsrecentapplicationsmodel.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,164 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: recentapplicationsmodel.cpp
+*
+*/
+#include "tsrecentapplicationsmodel.h"
+
+#include <HbIcon>
+#include <cadefs.h>
+#include <caservice.h>
+#include <canotifier.h>
+#include <canotifierfilter.h>
+
+#include "tsdataroles.h"
+
+/*!
+    Constructor
+    \param query used to create model
+    \param pointer to parent object
+*/
+TsRecentApplicationsModel::TsRecentApplicationsModel(QObject *parent) :
+    QAbstractListModel(parent),
+    mEntries(),
+    mService(CaService::instance()),
+    mNotifier(NULL),
+    mSize(240, 240)
+{
+    // creating query
+    mQuery.setEntryRoles(ItemEntryRole);
+    mQuery.addEntryTypeName(QString("application"));
+    mQuery.setFlagsOn(VisibleEntryFlag);
+    mQuery.setFlagsOff(MissingEntryFlag);
+    mQuery.setFlagsOn(UsedEntryFlag);
+    mQuery.setSort(LastUsedSortAttribute, Qt::DescendingOrder);
+    // requesting new data
+    updateModel();
+    // creating notyfication filter
+    CaNotifierFilter filter(mQuery);
+    mNotifier = mService->createNotifier(filter);
+    connect(mNotifier, SIGNAL(entryChanged(CaEntry,ChangeType)), this, SLOT(entryChanged(CaEntry, ChangeType)));
+    connect(mNotifier, SIGNAL(entryTouched(int)), this, SLOT(updateModel()));
+    if (mQuery.parentId() > 0) {
+        connect(mNotifier, SIGNAL(groupContentChanged(int)), this, SLOT(updateModel()));
+    }
+}
+
+/*!
+    Destructor
+*/
+TsRecentApplicationsModel::~TsRecentApplicationsModel()
+{
+    qDeleteAll(mEntries);
+    delete mNotifier;
+}
+
+/*!
+    Returns count of rows in model
+    \retval number of rows
+*/
+int TsRecentApplicationsModel::rowCount(
+    const QModelIndex &parent) const
+{
+    Q_UNUSED(parent);
+    return mEntries.count();
+}
+
+/*!
+    Returns appropiate model's data
+    \param index model index
+    \param role which data role to return
+    \retval models data
+*/
+QVariant TsRecentApplicationsModel::data(const QModelIndex &index,
+        int role) const
+{
+    if (!index.isValid()) {
+        return QVariant();
+    }
+
+    switch (role) {
+        case Qt::DisplayRole:
+            return QVariant(entry(index)->text());
+        case Qt::DecorationRole:
+            return QVariant(entry(index)->makeIcon(mSize));
+        case TsDataRoles::Closable:
+            return QVariant(closeable(index));
+        case TsDataRoles::EntryId:
+            return entryId(index);
+        default:
+            return QVariant(QVariant::Invalid);
+    }
+}
+
+/*!
+    Updates model with fresh entries
+*/
+void TsRecentApplicationsModel::updateModel()
+{
+    qDeleteAll(mEntries);
+    mEntries.clear();
+    mEntries = mService->getEntries(mQuery);
+    reset();
+}
+
+/*!
+    Called when some entry was changed
+    \param updatedEntry entry that was changed
+    \param change change type
+*/
+void TsRecentApplicationsModel::entryChanged(CaEntry updatedEntry,
+        ChangeType change)
+{
+    Q_UNUSED(updatedEntry);
+    Q_UNUSED(change)
+    updateModel();
+}
+
+/*!
+    Returns an entry from model
+    \param index of entry in model
+    \retval pointer to an entry
+*/
+CaEntry *TsRecentApplicationsModel::entry(const QModelIndex &index) const
+{
+    return mEntries.at(index.row());
+}
+
+/*!
+    Allows to check if item is closable
+    \param index item index to be checked
+    \retval true if item is closable
+*/
+bool TsRecentApplicationsModel::closeable(const QModelIndex &index) const
+{
+    CaEntry *caEntry = entry(index);
+    return (caEntry && caEntry->flags().testFlag(RunningEntryFlag) &&
+            !caEntry->flags().testFlag(SystemEntryFlag));
+}
+
+/*!
+    Allows to check entry id
+    \param index item index to be checked
+    \param entry id
+*/
+QVariant TsRecentApplicationsModel::entryId(const QModelIndex &index) const
+{
+    QVariant res;
+    CaEntry *caEntry = entry(index);
+    if (caEntry) {
+        res = QVariant(caEntry->id());
+    }
+    return res;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tsserviceplugin.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+*
+*/
+
+#include "tsserviceplugin.h"
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "tsitemprovider.h"
+#include "tsactivation.h"
+#include "tsdeactivation.h"
+#include "tspresentation.h"
+
+QObject *TsServicePlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, QServiceContext *context, QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == "com.nokia.taskswitcher.itemprovider") {
+        return new TsItemProvider(this);
+    } else if (descriptor.interfaceName() == "com.nokia.taskswitcher.activation") {
+        return new TsActivation(this);
+    } else if (descriptor.interfaceName() == "com.nokia.taskswitcher.deactivation") {
+        return new TsDeactivation(this);
+    } else if (descriptor.interfaceName() == "com.nokia.taskswitcher.presentation") {
+        return new TsPresentation(this);
+    } else {
+        return NULL;
+    }
+}
+
+Q_EXPORT_PLUGIN2(tsserviceplugin, TsServicePlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tstaskpopuphandler.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+#include "tstaskpopuphandler.h"
+
+#include <hbmenu.h>
+#include <hbabstractviewitem.h>
+
+#include "tsdataroles.h"
+
+TsTaskPopupHandler::TsTaskPopupHandler(QObject *parent) : QObject(parent)
+{
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void TsTaskPopupHandler::showTaskPopup(HbAbstractViewItem *item, const QPointF &coords)
+{
+    QModelIndex itemIndex(item->modelIndex());
+
+    //initialize popup menu
+    HbMenu taskPopup;
+    taskPopup.setTimeout(0);
+    taskPopup.setDismissPolicy(HbPopup::TapOutside);
+
+    HbAction *closeAction = NULL;
+    HbAction *closeAllAction = NULL;
+
+    if (isClosable(itemIndex)) {
+        closeAction = taskPopup.addAction(
+                hbTrId("txt_tsw_menu_clear_this_task"));
+    }
+    if (closeAction || containsClosableItems(*itemIndex.model())) {
+        closeAllAction = taskPopup.addAction(
+                hbTrId("txt_tsw_menu_clear_all_tasks"));
+    }
+
+    if (closeAllAction || closeAction) {
+        // show popup
+        HbAction *selectionAction = taskPopup.exec(coords);
+
+        //check selection and emit right signal
+        if (selectionAction == closeAction) {
+            emit closeTask(itemIndex);
+        } else if (selectionAction == closeAllAction) {
+            emit closeAllTasks();
+        }
+    }
+
+    //release resources
+    taskPopup.close();
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+bool TsTaskPopupHandler::isClosable(const QModelIndex &index) const
+{
+    const QVariant state(index.data(TsDataRoles::Closable));
+    return state.isValid() && state.toBool();
+}
+
+bool TsTaskPopupHandler::containsClosableItems(const QAbstractItemModel &model) const
+{
+    bool retVal(false);
+    for (int row(0); !retVal && row < model.rowCount(); ++row) {
+        for (int col(0); !retVal && col < model.columnCount(); ++col) {
+            retVal = isClosable(model.index(row, col));
+        }
+    }
+    return retVal;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/tstasksgriditem.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "tstasksgriditem.h"
+
+#include <hblabel.h>
+#include <hbpushbutton.h>
+#include <hbabstractitemview.h>
+#include <hbanchorlayout.h>
+#include "tsdataroles.h"
+
+TsTasksGridItem::TsTasksGridItem() : HbAbstractViewItem()
+{
+    // add screenshot
+    mScreenshotLabel = new HbLabel();
+    mScreenshotLabel->setAlignment(Qt::AlignHCenter);
+
+    // add application name label
+    mApplicationNameLabel = new HbLabel();
+    mApplicationNameLabel->setAlignment(Qt::AlignCenter);
+
+    // add close app button
+    HbIcon deleteIcon(":/resource/delete.png");
+    mDeleteButton = new HbPushButton();
+    mDeleteButton->setIcon(deleteIcon);
+    mDeleteButton->setPreferredSize(48, 48);
+    mDeleteButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
+    mDeleteButton->setEnabled(true);
+    connect(mDeleteButton, SIGNAL(clicked()), this, SLOT(handleDeleteClicked()));
+    mDeleteButton->hide();
+
+    setContentsMargins(5, 5, 5, 5);
+
+    // add all items to layout
+    HbAnchorLayout *anchorLayout = new HbAnchorLayout();
+    anchorLayout->setAnchor(mApplicationNameLabel, Hb::LeftEdge, anchorLayout, Hb::LeftEdge, 0);
+    anchorLayout->setAnchor(mApplicationNameLabel, Hb::TopEdge, anchorLayout, Hb::TopEdge, 0);
+    anchorLayout->setAnchor(mApplicationNameLabel, Hb::RightEdge, anchorLayout, Hb::RightEdge, 0);
+
+    anchorLayout->setAnchor(mScreenshotLabel, Hb::TopEdge, mApplicationNameLabel, Hb::BottomEdge, 0);
+    anchorLayout->setAnchor(mScreenshotLabel, Hb::LeftEdge, anchorLayout, Hb::LeftEdge, 0);
+    anchorLayout->setAnchor(mScreenshotLabel, Hb::RightEdge, anchorLayout, Hb::RightEdge, 0);
+    anchorLayout->setAnchor(mScreenshotLabel, Hb::BottomEdge, anchorLayout, Hb::BottomEdge, 0);
+
+    anchorLayout->setAnchor(mDeleteButton, Hb::RightEdge, mScreenshotLabel, Hb::RightEdge, 0);
+    anchorLayout->setAnchor(mDeleteButton, Hb::TopEdge, mScreenshotLabel, Hb::TopEdge, 0);
+
+    setLayout(anchorLayout);
+}
+
+TsTasksGridItem::~TsTasksGridItem()
+{
+}
+
+HbAbstractViewItem *TsTasksGridItem::createItem()
+{
+    TsTasksGridItem *newItem = new TsTasksGridItem();
+    connect(newItem, SIGNAL(deleteClicked(QModelIndex)), itemView(), SIGNAL(deleteButtonClicked(QModelIndex)));
+    return newItem;
+}
+
+void TsTasksGridItem::handleDeleteClicked()
+{
+    emit deleteClicked(modelIndex());
+}
+
+void TsTasksGridItem::updateChildItems()
+{
+    mScreenshotLabel->setIcon(modelIndex().data(Qt::DecorationRole).value<HbIcon>());
+    mApplicationNameLabel->setPlainText(modelIndex().data(Qt::DisplayRole).toString());
+    QVariant status(modelIndex().data(TsDataRoles::Closable));
+    const bool isRunning(status.isValid() && status.toBool());
+    if (isRunning) {
+        mDeleteButton->show();
+    } else {
+        mDeleteButton->hide();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/src/win/tslongpresswatcher_p.cpp	Fri Mar 19 09:27:44 2010 +0200
@@ -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:
+*
+*/
+
+#include "tslongpresswatcher_p.h"
+#include "tslongpresswatcher.h"
+
+#include <QAbstractEventDispatcher>
+#include <QDebug>
+
+#include <windows.h>
+
+TsLongPressWatcherPrivate *TsLongPressWatcherPrivate::instance = NULL;
+
+bool TsLongPressWatcherPrivate::hotKeyFilter(void *message)
+{
+    MSG *m = (MSG *)(message);
+    if (m->message == WM_HOTKEY) {
+        unsigned long key = (m->lParam & 0xFFFF0000) >> 16;
+        unsigned long mods = (m->lParam & 0x0000FFFF);
+        if (key == VK_OEM_3 && mods == (MOD_CONTROL | MOD_SHIFT)) {
+            emit TsLongPressWatcherPrivate::instance->applicationKeyLongPress();
+            return true;
+        }
+    }
+    return false;
+}
+
+TsLongPressWatcherPrivate::TsLongPressWatcherPrivate(TsLongPressWatcher *parent) : QObject(parent)
+{
+    connect(this, SIGNAL(applicationKeyLongPress()), parent, SIGNAL(applicationKeyLongPress()));
+    TsLongPressWatcherPrivate::instance = this;
+
+    QAbstractEventDispatcher::instance()->setEventFilter(&TsLongPressWatcherPrivate::hotKeyFilter);
+
+    if (!RegisterHotKey(NULL, 1, MOD_CONTROL | MOD_SHIFT, VK_OEM_3)) {
+        qCritical("Failed to register hot key, taskswitcher might not work as expected");
+    } else {
+        qDebug("To activate task switcher press Ctrl+Shift+~");
+    }
+}
+
+TsLongPressWatcherPrivate::~TsLongPressWatcherPrivate()
+{
+    UnregisterHotKey(NULL, 1);
+    TsLongPressWatcherPrivate::instance = NULL;
+}
Binary file taskswitcherapp/tsserviceplugin/taskswitcher.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/taskswitcher.ts	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,36 @@
+<?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_tsw_title_task_switcher">
+    <comment>Task switcher popup title text. Application allows user to swap between running and recently used applications and to clear them from the list.</comment>        
+    <source>Task switcher</source>
+    <translation variants="no">Task switcher</translation>
+    <extra-loc-layout_id>cell_tport_appsw_pane_t1</extra-loc-layout_id>    
+    <extra-loc-viewid>tsw_01</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>ts</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_tsw_menu_clear_this_task">
+    <comment>Task switcher context menu item, removes the task in focus from Task switcher and closes the application / task if it is running. Other command in same menu: “Clear all tasks”.</comment>        
+    <source>Clear this task</source>
+    <translation variants="no">Clear this task</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>tsw_01</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>ts</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_tsw_menu_clear_all_tasks">
+    <comment>Task switcher context menu item, empties the list of all tasks and closes the apps/tasks if running. Other command in same menu: “Clear this task”.</comment>        
+    <source>Clear all tasks</source>
+    <translation variants="no">Clear all tasks</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>tsw_01</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>ts</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/tspresentation.qrc	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,8 @@
+<RCC>
+    <qresource prefix="/xml">
+        <file>resource/layout.docml</file>
+    </qresource>
+    <qresource prefix="/" >
+        <file>resource/delete.png</file>
+    </qresource>
+</RCC>
Binary file taskswitcherapp/tsserviceplugin/tsrc/t_tsitemprovider/data/castoragedb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/tsserviceplugin.pro	Fri Mar 19 09:27:44 2010 +0200
@@ -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: 
+#
+
+TEMPLATE = lib
+TARGET = tsserviceplugin
+
+CONFIG += plugin hb mobility
+MOBILITY = serviceframework
+
+INCLUDEPATH += . inc
+
+HEADERS +=  inc/tsserviceplugin.h \
+            inc/tsdataroles.h \
+            inc/tsactivationinterface.h \
+            inc/tsactivation.h \
+            inc/tslongpresswatcher.h \
+            inc/tsdeactivationinterface.h \
+            inc/tsdeactivation.h \
+            inc/tsitemproviderinterface.h \
+            inc/tsitemprovider.h \
+            inc/tsclosedapplicationsfiltermodel.h \
+            inc/tsrecentapplicationsmodel.h \
+            inc/tspresentationinterface.h \
+            inc/tspresentation.h \
+            inc/tstasksgriditem.h \
+            inc/tstasksgrid.h \
+            inc/tstaskpopuphandler.h \
+            inc/tsdocumentloader.h \
+            
+SOURCES +=  src/tsserviceplugin.cpp \
+            src/tsactivation.cpp \
+            src/tslongpresswatcher.cpp \
+            src/tsdeactivation.cpp \
+            src/tsitemprovider.cpp \
+            src/tsclosedapplicationsfiltermodel.cpp \
+            src/tsrecentapplicationsmodel.cpp \
+            src/tspresentation.cpp \
+            src/tstasksgriditem.cpp \
+            src/tstaskpopuphandler.cpp \
+            src/tsdocumentloader.cpp \
+
+LIBS +=     -lcaclient           
+            
+TRANSLATIONS = taskswitcher.ts
+
+RESOURCES += tspresentation.qrc
+
+symbian {
+    load(data_caging_paths) 
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL -TCB
+
+    plugin.sources = tsserviceplugin.dll
+    plugin.path = $$QT_PLUGINS_BASE_DIR     
+
+    # ugly hack
+    translation.sources = ./*.qm
+    translation.path = $$QT_PLUGINS_BASE_DIR/../translations
+
+    DEPLOYMENT += plugin translation
+}
+
+symbian: {
+    INCLUDEPATH += inc/s60
+    HEADERS += inc/s60/tslongpresswatcher_p.h
+    SOURCES += src/s60/tslongpresswatcher_p.cpp
+    LIBS += -lcone -lapgrfx -lws32
+}
+
+win32: {
+    INCLUDEPATH +=  inc/win
+
+    HEADERS += inc/win/tslongpresswatcher_p.h
+    SOURCES += src/win/tslongpresswatcher_p.cpp                    
+    LIBS += -lUser32
+    
+    INCLUDEPATH += $$PWD/../../../../homescreensrv/homescreensrv_plat/contentstorage_api
+    LIBS += -L$$PWD/../../../../bin/debug    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsserviceplugin/tsserviceplugin.xml	Fri Mar 19 09:27:44 2010 +0200
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>TaskSwitcher</name>
+    <filepath>tsserviceplugin</filepath>
+    <description>Basic implementation of TaskSwitcher services</description>
+    <interface>
+        <name>com.nokia.taskswitcher.itemprovider</name>
+        <version>1.0</version>
+        <description>Default implementation of item provider for TaskSwitcher</description>
+    </interface>
+    <interface>
+        <name>com.nokia.taskswitcher.activation</name>
+        <version>1.0</version>
+        <description>Default implementation of activation triggers for TaskSwitcher</description>
+    </interface>
+    <interface>
+        <name>com.nokia.taskswitcher.deactivation</name>
+        <version>1.0</version>
+        <description>Default (empty) implementation of deactivation triggers for TaskSwitcher</description>
+    </interface>
+    <interface>
+        <name>com.nokia.taskswitcher.presentation</name>
+        <version>1.0</version>
+        <description>Default implementation of presentation layer of TaskSwitcher</description>
+    </interface>
+</service>
--- a/tsrc/group/bld.inf	Tue Feb 02 00:04:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  Includes all the Domain API test modules
-*
-*/
-
-
-#include "../../uishellservices_dom/ai_utilities_api/tsrc/group/bld.inf"
-#include "../../uishellservices_dom/menu_content_service_api/tsrc/group/bld.inf"
-#include "../../uishellservices_dom/action_handler_plugin_api/tsrc/group/bld.inf"
-#include "../../uishellservices_dom/content_harvester_plugin_api/tsrc/group/bld.inf"
-#include "../../uishellservices_dom/menu_sat_interface_api/tsrc/group/bld.inf"
-